Status for Dolphin Central

Recent events

2021-05-14T17:40:44.145996	{'level': 'INFO', 'pathname': '/home/central/sadm/central/github.py', 'lineno': 147, 'source': 'logging', 'args': "('dolphin-emu/trusted-developers', 'skidau,aldelaro5,smurf3tte,RachelBryk,JosJuice,archshift,Techjar,CookiePLMonster,skylersaleh,gwicks,rukai,moncefmechri,NanoByte011,leoetlino,Helios747,Dentomologist,shuffle2,MerryMage,Ryanel,spxtr,endrift,iwubcode,meffij,aroulin,shonumi,stenzek,FioraAeterna,mathieui,lioncash,ligfx,hrydgard,galop1n,hdcmeta,neobrain,EmptyChaos,rlnilsen,JMC47,magumagu,MayImilae,bentley,comex,orbea,Linktothepast,glennricster,delroth,jordan-woyak,unknownbrackets,LPFaint99,Zopieux,riking,AdmiralCurtiss,zackhow,jezze,Starsam80,Alcaro,Minty-Meeo,OrN,Tilka,Sintendo,Filoppi,yourWaifu,Parlane,jloehr,LAGonauta,nullgemm,BhaaLseN,adamdmoss,Stevoisiak,kamiyo,jjdelvalle,marcan,ColinDTaylor,hthh,CrystalGamma,booto,Buddybenj,kayru,Pokechu22,ShimmerGlass,Hydr8gon,degasus,sepalani,Phatcat,mmastrac,CrossVR,hackbar,Orphis,Tinob,mrgreywater,randomstuff,rohit-n,spycrab,Ziek,mimimi085181,vladfi1,Ebola16,phire,linkmauve,mahdihijazi,magcius,RisingFog')", 'type': 'internal_log', 'msg': 'New GH %s: %s'}
2021-05-14T17:40:43.884562	{'level': 'INFO', 'pathname': '/home/central/venv/lib/python3.5/site-packages/requests/packages/urllib3/connectionpool.py', 'lineno': 657, 'source': 'logging', 'args': '()', 'type': 'internal_log', 'msg': 'Starting new HTTPS connection (1): api.github.com'}
2021-05-14T17:40:43.501022	{'level': 'INFO', 'pathname': '/home/central/venv/lib/python3.5/site-packages/requests/packages/urllib3/connectionpool.py', 'lineno': 657, 'source': 'logging', 'args': '()', 'type': 'internal_log', 'msg': 'Starting new HTTPS connection (1): api.github.com'}
2021-05-14T17:40:43.149232	{'level': 'INFO', 'pathname': '/home/central/venv/lib/python3.5/site-packages/requests/packages/urllib3/connectionpool.py', 'lineno': 657, 'source': 'logging', 'args': '()', 'type': 'internal_log', 'msg': 'Starting new HTTPS connection (1): api.github.com'}
2021-05-14T17:40:42.759889	{'level': 'INFO', 'pathname': '/home/central/venv/lib/python3.5/site-packages/requests/packages/urllib3/connectionpool.py', 'lineno': 657, 'source': 'logging', 'args': '()', 'type': 'internal_log', 'msg': 'Starting new HTTPS connection (1): api.github.com'}
2021-05-14T17:40:42.585367	{'level': 'INFO', 'pathname': '/home/central/venv/lib/python3.5/site-packages/requests/packages/urllib3/connectionpool.py', 'lineno': 657, 'source': 'logging', 'args': '()', 'type': 'internal_log', 'msg': 'Starting new HTTPS connection (1): api.github.com'}
2021-05-14T17:40:42.583865	{'level': 'INFO', 'pathname': '/home/central/sadm/central/github.py', 'lineno': 132, 'source': 'logging', 'args': "('dolphin-emu', 'trusted-developers')", 'type': 'internal_log', 'msg': 'Refreshing list of trusted users (from %s/%s)'}
2021-05-14T17:37:12.212538	{'level': 'INFO', 'pathname': '/home/central/sadm/central/github.py', 'lineno': 147, 'source': 'logging', 'args': "('dolphin-emu/core-developers', 'Tilka,delroth,jordan-woyak,leoetlino,spycrab,lioncash,Helios747,phire,Parlane,skidau,JosJuice,CrossVR,hrydgard,linkmauve,stenzek,degasus')", 'type': 'internal_log', 'msg': 'New GH %s: %s'}
2021-05-14T17:37:11.916373	{'level': 'INFO', 'pathname': '/home/central/venv/lib/python3.5/site-packages/requests/packages/urllib3/connectionpool.py', 'lineno': 657, 'source': 'logging', 'args': '()', 'type': 'internal_log', 'msg': 'Starting new HTTPS connection (1): api.github.com'}
2021-05-14T17:37:11.736563	{'level': 'INFO', 'pathname': '/home/central/venv/lib/python3.5/site-packages/requests/packages/urllib3/connectionpool.py', 'lineno': 657, 'source': 'logging', 'args': '()', 'type': 'internal_log', 'msg': 'Starting new HTTPS connection (1): api.github.com'}
2021-05-14T17:37:11.735743	{'level': 'INFO', 'pathname': '/home/central/sadm/central/github.py', 'lineno': 132, 'source': 'logging', 'args': "('dolphin-emu', 'core-developers')", 'type': 'internal_log', 'msg': 'Refreshing list of trusted users (from %s/%s)'}
2021-05-14T17:36:26.278959	{'level': 'INFO', 'pathname': '/home/central/venv/lib/python3.5/site-packages/requests/packages/urllib3/connectionpool.py', 'lineno': 657, 'source': 'logging', 'args': '()', 'type': 'internal_log', 'msg': 'Starting new HTTPS connection (1): api.github.com'}
2021-05-14T17:36:26.278288	{'level': 'INFO', 'pathname': '/home/central/sadm/central/github.py', 'lineno': 196, 'source': 'logging', 'args': '()', 'type': 'internal_log', 'msg': "Watched repo 'dolphin-emu/netplay-index' has our hook installed"}
2021-05-14T17:36:26.064968	{'level': 'INFO', 'pathname': '/home/central/venv/lib/python3.5/site-packages/requests/packages/urllib3/connectionpool.py', 'lineno': 657, 'source': 'logging', 'args': '()', 'type': 'internal_log', 'msg': 'Starting new HTTPS connection (1): api.github.com'}
2021-05-14T17:36:25.803797	{'level': 'INFO', 'pathname': '/home/central/venv/lib/python3.5/site-packages/requests/packages/urllib3/connectionpool.py', 'lineno': 657, 'source': 'logging', 'args': '()', 'type': 'internal_log', 'msg': 'Starting new HTTPS connection (1): api.github.com'}
2021-05-14T17:36:25.802894	{'level': 'INFO', 'pathname': '/home/central/sadm/central/github.py', 'lineno': 196, 'source': 'logging', 'args': '()', 'type': 'internal_log', 'msg': "Watched repo 'dolphin-emu/gcdsp-ida' has our hook installed"}
2021-05-14T17:36:25.498441	{'level': 'INFO', 'pathname': '/home/central/venv/lib/python3.5/site-packages/requests/packages/urllib3/connectionpool.py', 'lineno': 657, 'source': 'logging', 'args': '()', 'type': 'internal_log', 'msg': 'Starting new HTTPS connection (1): api.github.com'}
2021-05-14T17:36:25.224806	{'level': 'INFO', 'pathname': '/home/central/venv/lib/python3.5/site-packages/requests/packages/urllib3/connectionpool.py', 'lineno': 657, 'source': 'logging', 'args': '()', 'type': 'internal_log', 'msg': 'Starting new HTTPS connection (1): api.github.com'}
2021-05-14T17:36:25.224092	{'level': 'INFO', 'pathname': '/home/central/sadm/central/github.py', 'lineno': 196, 'source': 'logging', 'args': '()', 'type': 'internal_log', 'msg': "Watched repo 'dolphin-emu/hwtests' has our hook installed"}
2021-05-14T17:36:24.999121	{'level': 'INFO', 'pathname': '/home/central/venv/lib/python3.5/site-packages/requests/packages/urllib3/connectionpool.py', 'lineno': 657, 'source': 'logging', 'args': '()', 'type': 'internal_log', 'msg': 'Starting new HTTPS connection (1): api.github.com'}
2021-05-14T17:36:24.737123	{'level': 'INFO', 'pathname': '/home/central/venv/lib/python3.5/site-packages/requests/packages/urllib3/connectionpool.py', 'lineno': 657, 'source': 'logging', 'args': '()', 'type': 'internal_log', 'msg': 'Starting new HTTPS connection (1): api.github.com'}
2021-05-14T17:36:24.735440	{'level': 'INFO', 'pathname': '/home/central/sadm/central/github.py', 'lineno': 196, 'source': 'logging', 'args': '()', 'type': 'internal_log', 'msg': "Watched repo 'dolphin-emu/www' has our hook installed"}
2021-05-14T17:36:24.468568	{'level': 'INFO', 'pathname': '/home/central/venv/lib/python3.5/site-packages/requests/packages/urllib3/connectionpool.py', 'lineno': 657, 'source': 'logging', 'args': '()', 'type': 'internal_log', 'msg': 'Starting new HTTPS connection (1): api.github.com'}
2021-05-14T17:36:24.163233	{'level': 'INFO', 'pathname': '/home/central/venv/lib/python3.5/site-packages/requests/packages/urllib3/connectionpool.py', 'lineno': 657, 'source': 'logging', 'args': '()', 'type': 'internal_log', 'msg': 'Starting new HTTPS connection (1): api.github.com'}
2021-05-14T17:36:24.162476	{'level': 'INFO', 'pathname': '/home/central/sadm/central/github.py', 'lineno': 196, 'source': 'logging', 'args': '()', 'type': 'internal_log', 'msg': "Watched repo 'dolphin-emu/sadm' has our hook installed"}

Recent 'build_status' events

2021-05-14T16:57:30.033558	{'hash': '7abab678ffb6db49f74b82c03efe09706e8ea3d1', 'url': 'https://dolphin.ci/#builders/21/builds/3785', 'success': True, 'description': 'Build succeeded on builder pr-win-x64', 'source': 'buildbot', 'service': 'pr-win-x64', 'shortrev': '7abab6', 'pending': False, 'pr': 9441, 'repo': 'dolphin-emu/dolphin', 'type': 'build_status'}
2021-05-14T16:52:43.670187	{'hash': '7abab678ffb6db49f74b82c03efe09706e8ea3d1', 'url': 'https://dolphin.ci/#builders/19/builds/3784', 'success': True, 'description': 'Build succeeded on builder pr-ubu-x64', 'source': 'buildbot', 'service': 'pr-ubu-x64', 'shortrev': '7abab6', 'pending': False, 'pr': 9441, 'repo': 'dolphin-emu/dolphin', 'type': 'build_status'}
2021-05-14T16:49:41.697518	{'hash': '7abab678ffb6db49f74b82c03efe09706e8ea3d1', 'url': 'https://dolphin.ci/#builders/19/builds/3784', 'success': False, 'description': 'Auto build in progress on builder pr-ubu-x64', 'source': 'buildbot', 'service': 'pr-ubu-x64', 'shortrev': '7abab6', 'pending': True, 'pr': 9441, 'repo': 'dolphin-emu/dolphin', 'type': 'build_status'}
2021-05-14T16:49:41.322124	{'hash': '7abab678ffb6db49f74b82c03efe09706e8ea3d1', 'url': 'https://dolphin.ci/#builders/15/builds/3788', 'success': True, 'description': 'Build succeeded on builder pr-android', 'source': 'buildbot', 'service': 'pr-android', 'shortrev': '7abab6', 'pending': False, 'pr': 9441, 'repo': 'dolphin-emu/dolphin', 'type': 'build_status'}
2021-05-14T16:49:01.871656	{'hash': '7abab678ffb6db49f74b82c03efe09706e8ea3d1', 'url': 'https://dolphin.ci/#builders/21/builds/3785', 'success': False, 'description': 'Auto build in progress on builder pr-win-x64', 'source': 'buildbot', 'service': 'pr-win-x64', 'shortrev': '7abab6', 'pending': True, 'pr': 9441, 'repo': 'dolphin-emu/dolphin', 'type': 'build_status'}
2021-05-14T16:48:56.383225	{'hash': '7abab678ffb6db49f74b82c03efe09706e8ea3d1', 'url': 'https://dolphin.ci/#builders/12/builds/3785', 'success': True, 'description': 'Build succeeded on builder pr-win-dbg-x64', 'source': 'buildbot', 'service': 'pr-win-dbg-x64', 'shortrev': '7abab6', 'pending': False, 'pr': 9441, 'repo': 'dolphin-emu/dolphin', 'type': 'build_status'}
2021-05-14T16:44:14.465945	{'hash': '7abab678ffb6db49f74b82c03efe09706e8ea3d1', 'url': 'https://dolphin.ci/#builders/18/builds/3784', 'success': True, 'description': 'Build succeeded on builder pr-deb-dbg-x64', 'source': 'buildbot', 'service': 'pr-deb-dbg-x64', 'shortrev': '7abab6', 'pending': False, 'pr': 9441, 'repo': 'dolphin-emu/dolphin', 'type': 'build_status'}
2021-05-14T16:43:26.449062	{'hash': '7abab678ffb6db49f74b82c03efe09706e8ea3d1', 'url': 'https://dolphin.ci/#builders/3/builds/3781', 'success': True, 'description': 'Build succeeded on builder pr-osx-x64', 'source': 'buildbot', 'service': 'pr-osx-x64', 'shortrev': '7abab6', 'pending': False, 'pr': 9441, 'repo': 'dolphin-emu/dolphin', 'type': 'build_status'}
2021-05-14T16:41:56.651504	{'hash': '7abab678ffb6db49f74b82c03efe09706e8ea3d1', 'url': 'https://dolphin.ci/#builders/18/builds/3784', 'success': False, 'description': 'Auto build in progress on builder pr-deb-dbg-x64', 'source': 'buildbot', 'service': 'pr-deb-dbg-x64', 'shortrev': '7abab6', 'pending': True, 'pr': 9441, 'repo': 'dolphin-emu/dolphin', 'type': 'build_status'}
2021-05-14T16:41:55.942021	{'hash': '7abab678ffb6db49f74b82c03efe09706e8ea3d1', 'url': 'https://dolphin.ci/#builders/4/builds/3789', 'success': True, 'description': 'Build succeeded on builder pr-deb-x64', 'source': 'buildbot', 'service': 'pr-deb-x64', 'shortrev': '7abab6', 'pending': False, 'pr': 9441, 'repo': 'dolphin-emu/dolphin', 'type': 'build_status'}
2021-05-14T16:41:43.057970	{'hash': '7abab678ffb6db49f74b82c03efe09706e8ea3d1', 'url': 'https://dolphin.ci/#builders/26/builds/21', 'success': True, 'description': 'Build succeeded on builder pr-osx-universal', 'source': 'buildbot', 'service': 'pr-osx-universal', 'shortrev': '7abab6', 'pending': False, 'pr': 9441, 'repo': 'dolphin-emu/dolphin', 'type': 'build_status'}
2021-05-14T16:39:43.677711	{'hash': '7abab678ffb6db49f74b82c03efe09706e8ea3d1', 'url': 'https://dolphin.ci/#builders/13/builds/3791', 'success': True, 'description': 'Build succeeded on builder pr-freebsd-x64', 'source': 'buildbot', 'service': 'pr-freebsd-x64', 'shortrev': '7abab6', 'pending': False, 'pr': 9441, 'repo': 'dolphin-emu/dolphin', 'type': 'build_status'}
2021-05-14T16:38:50.808081	{'hash': '7abab678ffb6db49f74b82c03efe09706e8ea3d1', 'url': 'https://dolphin.ci/#builders/15/builds/3788', 'success': False, 'description': 'Auto build in progress on builder pr-android', 'source': 'buildbot', 'service': 'pr-android', 'shortrev': '7abab6', 'pending': True, 'pr': 9441, 'repo': 'dolphin-emu/dolphin', 'type': 'build_status'}
2021-05-14T16:38:50.412388	{'hash': '7abab678ffb6db49f74b82c03efe09706e8ea3d1', 'url': 'https://dolphin.ci/#builders/10/builds/3786', 'success': True, 'description': 'Build succeeded on builder lint', 'source': 'buildbot', 'service': 'lint', 'shortrev': '7abab6', 'pending': False, 'pr': 9441, 'repo': 'dolphin-emu/dolphin', 'type': 'build_status'}
2021-05-14T16:38:48.110047	{'hash': '7abab678ffb6db49f74b82c03efe09706e8ea3d1', 'url': 'https://dolphin.ci/#builders/26/builds/21', 'success': False, 'description': 'Auto build in progress on builder pr-osx-universal', 'source': 'buildbot', 'service': 'pr-osx-universal', 'shortrev': '7abab6', 'pending': True, 'pr': 9441, 'repo': 'dolphin-emu/dolphin', 'type': 'build_status'}
2021-05-14T16:38:47.767420	{'hash': '7abab678ffb6db49f74b82c03efe09706e8ea3d1', 'url': 'https://dolphin.ci/#builders/12/builds/3785', 'success': False, 'description': 'Auto build in progress on builder pr-win-dbg-x64', 'source': 'buildbot', 'service': 'pr-win-dbg-x64', 'shortrev': '7abab6', 'pending': True, 'pr': 9441, 'repo': 'dolphin-emu/dolphin', 'type': 'build_status'}
2021-05-14T16:38:47.420372	{'hash': '7abab678ffb6db49f74b82c03efe09706e8ea3d1', 'url': 'https://dolphin.ci/#builders/4/builds/3789', 'success': False, 'description': 'Auto build in progress on builder pr-deb-x64', 'source': 'buildbot', 'service': 'pr-deb-x64', 'shortrev': '7abab6', 'pending': True, 'pr': 9441, 'repo': 'dolphin-emu/dolphin', 'type': 'build_status'}
2021-05-14T16:38:47.071773	{'hash': '7abab678ffb6db49f74b82c03efe09706e8ea3d1', 'url': 'https://dolphin.ci/#builders/13/builds/3791', 'success': False, 'description': 'Auto build in progress on builder pr-freebsd-x64', 'source': 'buildbot', 'service': 'pr-freebsd-x64', 'shortrev': '7abab6', 'pending': True, 'pr': 9441, 'repo': 'dolphin-emu/dolphin', 'type': 'build_status'}
2021-05-14T16:38:46.157642	{'hash': '7abab678ffb6db49f74b82c03efe09706e8ea3d1', 'url': 'https://dolphin.ci/#builders/10/builds/3786', 'success': False, 'description': 'Auto build in progress on builder lint', 'source': 'buildbot', 'service': 'lint', 'shortrev': '7abab6', 'pending': True, 'pr': 9441, 'repo': 'dolphin-emu/dolphin', 'type': 'build_status'}
2021-05-14T16:38:45.776288	{'hash': '7abab678ffb6db49f74b82c03efe09706e8ea3d1', 'url': 'https://dolphin.ci/#builders/3/builds/3781', 'success': False, 'description': 'Auto build in progress on builder pr-osx-x64', 'source': 'buildbot', 'service': 'pr-osx-x64', 'shortrev': '7abab6', 'pending': True, 'pr': 9441, 'repo': 'dolphin-emu/dolphin', 'type': 'build_status'}
2021-05-14T16:38:39.727827	{'hash': '7abab678ffb6db49f74b82c03efe09706e8ea3d1', 'url': '', 'success': True, 'description': 'Very basic checks passed, handed off to Buildbot.', 'source': 'prbuilder', 'service': 'default', 'shortrev': '7abab6', 'pending': False, 'pr': 9441, 'repo': 'dolphin-emu/dolphin', 'type': 'build_status'}
2021-05-14T14:58:05.415484	{'hash': '65c7eac8322b75031688b0a5fc2c3598160d36f4', 'url': 'https://dolphin.ci/#builders/18/builds/3783', 'success': True, 'description': 'Build succeeded on builder pr-deb-dbg-x64', 'source': 'buildbot', 'service': 'pr-deb-dbg-x64', 'shortrev': '65c7ea', 'pending': False, 'pr': 9709, 'repo': 'dolphin-emu/dolphin', 'type': 'build_status'}
2021-05-14T14:55:57.767931	{'hash': '65c7eac8322b75031688b0a5fc2c3598160d36f4', 'url': 'https://dolphin.ci/#builders/21/builds/3784', 'success': True, 'description': 'Build succeeded on builder pr-win-x64', 'source': 'buildbot', 'service': 'pr-win-x64', 'shortrev': '65c7ea', 'pending': False, 'pr': 9709, 'repo': 'dolphin-emu/dolphin', 'type': 'build_status'}
2021-05-14T14:52:44.290836	{'hash': '65c7eac8322b75031688b0a5fc2c3598160d36f4', 'url': 'https://dolphin.ci/#builders/18/builds/3783', 'success': False, 'description': 'Auto build in progress on builder pr-deb-dbg-x64', 'source': 'buildbot', 'service': 'pr-deb-dbg-x64', 'shortrev': '65c7ea', 'pending': True, 'pr': 9709, 'repo': 'dolphin-emu/dolphin', 'type': 'build_status'}
2021-05-14T14:52:43.947077	{'hash': '65c7eac8322b75031688b0a5fc2c3598160d36f4', 'url': 'https://dolphin.ci/#builders/4/builds/3788', 'success': True, 'description': 'Build succeeded on builder pr-deb-x64', 'source': 'buildbot', 'service': 'pr-deb-x64', 'shortrev': '65c7ea', 'pending': False, 'pr': 9709, 'repo': 'dolphin-emu/dolphin', 'type': 'build_status'}

Recent 'gh_issue_comment' events

2021-05-14T10:53:56.604180	{'safe_author': True, 'url': 'https://github.com/dolphin-emu/dolphin/pull/8983#issuecomment-663884405', 'source': 'ghhookparser', 'title': 'Audio backends refactor (just for testing, currently being split into more PRs)', 'action': 'edited', 'body': '**TESTING**\r\n1) I would be grateful if a few people could test the new audio stretching, it\'s 98% done.\r\nBoth on (very) low and high PCs and on Android.\r\nI need to find the best default value for a setting, which is the new "Emulation Speed Tolerance" in the Audio Panel.\r\nIt is how much time the audio needs to fall behind the target emulation speed before falling back to the ACTUAL emulation speed itself.\r\nBy target emulation speed I mean, the emulation speed the emulation tries to reach, whether 100%, 10% or 200%...\r\nBy actual emulation speed I mean the speed at which the emulation is actually going, which is calculated by the audio mixer, counted from DMA samples pushes as had the best balance between number of pushes per second and accuracy.\r\nA value of about 10ms will immediately make the audio playback speed fallback to the actual emulation speed if there is a smaller stutter,\r\nwhich might be undesirable if you don\'t have sound stretching on, especially because it happens when you alt tab and stuff...\r\nBut given that I have fixed the loss in quality from keeping the stretcher off, you might keep it on at all times now.\r\nValues too high will cause crackling in the first ms of a stutter, but it should never be as bad as before, for 2 reasons:\r\nWhen speed keeps going down, audio is slowed down dramatically so new sounds are always played, instead of padded silence,\r\nwhile is some other occasions, the last samples you had will play backwards, filling up the time with samples that sound good.\r\nIf you are debugging and you don\'t want to be bothered with the audio being linked to the actual elapsed time, you can just disable it by sliding the slider left.\r\n\r\n3) The changes in GC sample rates need testing, the main change is on the DVD Streaming sample rate, as they were still being pushed at 48kHz, not even the approximate GC value of 48043. While the DMA audio now uses the exact floating point sample rate from the GC. The difference from before is 1.000016, so 0.06 seconds per hour, not much, but still better than before.\r\n\r\n4) Please test whether cubeb reacts to the latency settings on Linux, Max OS or if it ignores it.\r\n\r\n5) Improved DPLII support for PulseAudio but I\'m unable to test it.\r\n\r\nThis is the latest Win build if you can\'t build yourself https://github.com/Filoppi/dolphin/releases/tag/v1 (OUTDATED)', 'author': 'Filoppi', 'raw': {'sender': {'organizations_url': 'https://api.github.com/users/Filoppi/orgs', 'repos_url': 'https://api.github.com/users/Filoppi/repos', 'html_url': 'https://github.com/Filoppi', 'url': 'https://api.github.com/users/Filoppi', 'node_id': 'MDQ6VXNlcjcwMTEzNjY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7011366?v=4', 'followers_url': 'https://api.github.com/users/Filoppi/followers', 'received_events_url': 'https://api.github.com/users/Filoppi/received_events', 'events_url': 'https://api.github.com/users/Filoppi/events{/privacy}', 'gists_url': 'https://api.github.com/users/Filoppi/gists{/gist_id}', 'following_url': 'https://api.github.com/users/Filoppi/following{/other_user}', 'gravatar_id': '', 'login': 'Filoppi', 'subscriptions_url': 'https://api.github.com/users/Filoppi/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/Filoppi/starred{/owner}{/repo}', 'id': 7011366}, 'changes': {'body': {'from': '**TESTING**\r\n1) I would be grateful if a few people could test the new audio stretching, it\'s 98% done.\r\nBoth on (very) low and high PCs and on Android.\r\nI need to find the best default value for a setting, which is the new "Emulation Speed Tolerance" in the Audio Panel.\r\nIt is how much time the audio needs to fall behind the target emulation speed before falling back to the ACTUAL emulation speed itself.\r\nBy target emulation speed I mean, the emulation speed the emulation tries to reach, whether 100%, 10% or 200%...\r\nBy actual emulation speed I mean the speed at which the emulation is actually going, which is calculated by the audio mixer, counted from DMA samples pushes as had the best balance between number of pushes per second and accuracy.\r\nA value of about 10ms will immediately make the audio playback speed fallback to the actual emulation speed if there is a smaller stutter,\r\nwhich might be undesirable if you don\'t have sound stretching on, especially because it happens when you alt tab and stuff...\r\nBut given that I have fixed the loss in quality from keeping the stretcher off, you might keep it on at all times now.\r\nValues too high will cause crackling in the first ms of a stutter, but it should never be as bad as before, for 2 reasons:\r\nWhen speed keeps going down, audio is slowed down dramatically so new sounds are always played, instead of padded silence,\r\nwhile is some other occasions, the last samples you had will play backwards, filling up the time with samples that sound good.\r\nIf you are debugging and you don\'t want to be bothered with the audio being linked to the actual elapsed time, you can just disable it by sliding the slider left.\r\n\r\n3) The changes in GC sample rates need testing, the main change is on the DVD Streaming sample rate, as they were still being pushed at 48kHz, not even the approximate GC value of 48043. While the DMA audio now uses the exact floating point sample rate from the GC. The difference from before is 1.000016, so 0.06 seconds per hour, not much, but still better than before.\r\n\r\n4) Please test whether cubeb reacts to the latency settings on Linux, Max OS or if it ignores it.\r\n\r\n5) Improved DPLII support for PulseAudio but I\'m unable to test it.\r\n\r\n6) XInput2 new relative mouse axis.\r\n\r\nThis is the latest Win build if you can\'t build yourself https://github.com/Filoppi/dolphin/releases/tag/v1 (OUTDATED)'}}, 'issue': {'locked': False, 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/8983/labels{/name}', 'comments': 18, 'milestone': None, 'assignees': [], 'title': 'Audio backends refactor (just for testing, currently being split into more PRs)', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/8983/events', 'pull_request': {'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/8983.patch', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/8983.diff', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/8983', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/8983'}, 'labels': [], 'body': '_Note: AUDIO CODE IS STILL WIP. Input has been moved to https://github.com/dolphin-emu/dolphin/pull/9489._\r\n\r\n**Audio:**\r\n-New audio mixer, capable of playing samples at any speed or sample rate, also has a lower latency overall.\r\n-Audio now slows down when falling behind the target speed by "Audio Emu Speed Tolerance".\r\n-Improved audio quality by changing from linear to cubic interpolation, I was able to tell the difference in multiple tests.\r\n-When missing samples, in some occasions Dolphin now plays the last ~0.3ms of samples backwards, which are generally better than crackling and silence you would get during a larger stutter.\r\n-New audio stretcher implementation, fixed quality loss at 100% speed, rarely ever crackles and is way more responsive than before. Also fixes the stretcher breaking at lower speeds like 20%.\r\n-Mixer latency is now adaptive, meaning it has a range, from 0 to 40ms it is accepted, when it goes above 40ms it will try to go back to 20ms. This increases the quality overall as before the audio speed was constantly fluctuating around the target latency, without ever reaching it. Setting the max latency to 20-25ms is very doable if your emulation is fast and stable. You can customize the setting from the ini. It might be particularly useful in musical games.\r\n-At higher emulation speeds, audio doesn\'t have an Aliasing filter applied (not even with stretching on), but you now can Mix at any sample rate, including up to 192kHz, fixing the problem.\r\n-Mixing at higher sample rates is possible with all the Windows backends and is very easy to implement for other platforms, it gives the advantage of having a whole resampling without any losses (on Wii), for example, if mixing at 96kHz, 32kHz sources should now sound perfect (yes, it\'s hard to notice, but it\'s an improvement). The new setting is "Mix at OS Mixer sample rate".\r\n-Fixed GC sample rates even more, they should now be exactly as they are on console, they were still using an approximated number and the DVD Stream audio rates were still wrong.\r\n-DPLII fixes, also added an ini only setting to enable LTE/bass redirection, plus fixed DPLII + sound stretching combo. Added ability to enable and disable it at runtime. DPLII now automatically selects its best latency to be aligned with the backend one, to minimize the overall latency.\r\n-New WASAPI implementation, fixed all the crashes, error checks/leaks, some compatibility problems, adding DPLII and loads of other stuff (like support for any sample rate).\r\n-Improvements to all audio backends, especially regarding pausing/unpausing the emulation and memory leaks. Uniquely defined all sound backends in themselves, as a lot of their settings/capabilities were spread around the UI code.\r\n-Added feature to cubeb and WASAPI to change all their settings while a game is running.\r\n-Wii mote speaker should now sound better as it\'s not always on the brink of finishing samples (thus slowed down).\r\n-4 emulated Wii mote speakers can now play at the same time.\r\n-Includes Wii mote speaker volume fix: https://github.com/dolphin-emu/dolphin/pull/8927/files\r\n-Removed any hardcoded references to output sample rate, AudioCommon::GetDefaultSampleRate() now holds the value (48kHz)\r\n-Audio panel refactor and fixes (added info for when a backend or surround has failed starting)\r\n\r\n_What does this all mean?_\r\nIf you have a machine that can play Dolphin games fine but struggles in some sections of the game, the audio quality should now be much better overall and be adaptive, meaning that when you lose frames it will follow the emulation speed, rarely ending up in cracking or missing samples/silence.\r\nIf you have an Android phone which plays game at a speed between 70 and 100%, this might improve the experience.\r\nSimilarly, if you want to play a game at 500% the game speed, you now can and it will sound great.\r\n\r\n**Porting to other Mac OS/Linux/Android is needed for:**\r\n-Get the OS mixer sample rate AudioCommon::GetOSMixerSampleRate()\r\n-Testing cubeb latency support', 'number': 8983, 'author_association': 'CONTRIBUTOR', 'performed_via_github_app': None, 'created_at': '2020-07-25T17:34:52Z', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/8983/comments', 'id': 665624720, 'updated_at': '2021-05-14T10:53:55Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/8983', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/8983', 'closed_at': None, 'state': 'open', 'active_lock_reason': None, 'assignee': None, 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'user': {'organizations_url': 'https://api.github.com/users/Filoppi/orgs', 'repos_url': 'https://api.github.com/users/Filoppi/repos', 'html_url': 'https://github.com/Filoppi', 'url': 'https://api.github.com/users/Filoppi', 'node_id': 'MDQ6VXNlcjcwMTEzNjY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7011366?v=4', 'followers_url': 'https://api.github.com/users/Filoppi/followers', 'received_events_url': 'https://api.github.com/users/Filoppi/received_events', 'events_url': 'https://api.github.com/users/Filoppi/events{/privacy}', 'gists_url': 'https://api.github.com/users/Filoppi/gists{/gist_id}', 'following_url': 'https://api.github.com/users/Filoppi/following{/other_user}', 'gravatar_id': '', 'login': 'Filoppi', 'subscriptions_url': 'https://api.github.com/users/Filoppi/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/Filoppi/starred{/owner}{/repo}', 'id': 7011366}, 'node_id': 'MDExOlB1bGxSZXF1ZXN0NDU2NjQzMTc0'}, 'organization': {'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': '', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'login': 'dolphin-emu', 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'id': 5050316}, 'comment': {'performed_via_github_app': None, 'updated_at': '2021-05-14T10:53:55Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/8983#issuecomment-663884405', 'created_at': '2020-07-25T18:09:01Z', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/663884405', 'author_association': 'CONTRIBUTOR', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/8983', 'user': {'organizations_url': 'https://api.github.com/users/Filoppi/orgs', 'repos_url': 'https://api.github.com/users/Filoppi/repos', 'html_url': 'https://github.com/Filoppi', 'url': 'https://api.github.com/users/Filoppi', 'node_id': 'MDQ6VXNlcjcwMTEzNjY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7011366?v=4', 'followers_url': 'https://api.github.com/users/Filoppi/followers', 'received_events_url': 'https://api.github.com/users/Filoppi/received_events', 'events_url': 'https://api.github.com/users/Filoppi/events{/privacy}', 'gists_url': 'https://api.github.com/users/Filoppi/gists{/gist_id}', 'following_url': 'https://api.github.com/users/Filoppi/following{/other_user}', 'gravatar_id': '', 'login': 'Filoppi', 'subscriptions_url': 'https://api.github.com/users/Filoppi/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/Filoppi/starred{/owner}{/repo}', 'id': 7011366}, 'node_id': 'MDEyOklzc3VlQ29tbWVudDY2Mzg4NDQwNQ==', 'body': '**TESTING**\r\n1) I would be grateful if a few people could test the new audio stretching, it\'s 98% done.\r\nBoth on (very) low and high PCs and on Android.\r\nI need to find the best default value for a setting, which is the new "Emulation Speed Tolerance" in the Audio Panel.\r\nIt is how much time the audio needs to fall behind the target emulation speed before falling back to the ACTUAL emulation speed itself.\r\nBy target emulation speed I mean, the emulation speed the emulation tries to reach, whether 100%, 10% or 200%...\r\nBy actual emulation speed I mean the speed at which the emulation is actually going, which is calculated by the audio mixer, counted from DMA samples pushes as had the best balance between number of pushes per second and accuracy.\r\nA value of about 10ms will immediately make the audio playback speed fallback to the actual emulation speed if there is a smaller stutter,\r\nwhich might be undesirable if you don\'t have sound stretching on, especially because it happens when you alt tab and stuff...\r\nBut given that I have fixed the loss in quality from keeping the stretcher off, you might keep it on at all times now.\r\nValues too high will cause crackling in the first ms of a stutter, but it should never be as bad as before, for 2 reasons:\r\nWhen speed keeps going down, audio is slowed down dramatically so new sounds are always played, instead of padded silence,\r\nwhile is some other occasions, the last samples you had will play backwards, filling up the time with samples that sound good.\r\nIf you are debugging and you don\'t want to be bothered with the audio being linked to the actual elapsed time, you can just disable it by sliding the slider left.\r\n\r\n3) The changes in GC sample rates need testing, the main change is on the DVD Streaming sample rate, as they were still being pushed at 48kHz, not even the approximate GC value of 48043. While the DMA audio now uses the exact floating point sample rate from the GC. The difference from before is 1.000016, so 0.06 seconds per hour, not much, but still better than before.\r\n\r\n4) Please test whether cubeb reacts to the latency settings on Linux, Max OS or if it ignores it.\r\n\r\n5) Improved DPLII support for PulseAudio but I\'m unable to test it.\r\n\r\nThis is the latest Win build if you can\'t build yourself https://github.com/Filoppi/dolphin/releases/tag/v1 (OUTDATED)', 'id': 663884405}, 'action': 'edited', 'repository': {'html_url': 'https://github.com/dolphin-emu/dolphin', 'open_issues': 200, 'size': 408384, 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'stargazers_count': 7343, 'pushed_at': '2021-05-14T10:41:13Z', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'forks_count': 1717, 'watchers_count': 7343, 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'has_pages': False, 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'archived': False, 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'has_wiki': True, 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'has_issues': False, 'open_issues_count': 200, 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'forks': 1717, 'license': {'node_id': 'MDc6TGljZW5zZTg=', 'key': 'gpl-2.0', 'name': 'GNU General Public License v2.0', 'spdx_id': 'GPL-2.0', 'url': 'https://api.github.com/licenses/gpl-2.0'}, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'mirror_url': None, 'has_downloads': True, 'fork': False, 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'has_projects': False, 'created_at': '2013-07-22T09:07:57Z', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'full_name': 'dolphin-emu/dolphin', 'name': 'dolphin', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'disabled': False, 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'watchers': 7343, 'id': 11577304, 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'updated_at': '2021-05-14T08:51:42Z', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'private': False, 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'owner': {'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'html_url': 'https://github.com/dolphin-emu', 'url': 'https://api.github.com/users/dolphin-emu', 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gravatar_id': '', 'login': 'dolphin-emu', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'site_admin': False, 'type': 'Organization', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'id': 5050316}, 'homepage': 'https://dolphin-emu.org/', 'default_branch': 'master', 'language': 'C++', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}'}}, 'type': 'gh_issue_comment', 'repo': 'dolphin-emu/dolphin', 'id': 8983}
2021-05-14T07:22:42.958883	{'safe_author': True, 'url': 'https://github.com/dolphin-emu/dolphin/pull/9708#issuecomment-841063470', 'source': 'ghhookparser', 'title': 'DSP: Change external_interrupt_waiting from volatile to atomic', 'action': 'edited', 'body': 'Wait, it\'s used there? Why didn\'t Visual Studio\'s "Find Usages" tell me about that :/\r\n\r\nI\'ll put a static assert on it to ensure that `std::atomic<bool>` is 8-bit and lock-free.', 'author': 'JosJuice', 'raw': {'sender': {'organizations_url': 'https://api.github.com/users/JosJuice/orgs', 'repos_url': 'https://api.github.com/users/JosJuice/repos', 'html_url': 'https://github.com/JosJuice', 'url': 'https://api.github.com/users/JosJuice', 'node_id': 'MDQ6VXNlcjY3MTY4MTg=', 'avatar_url': 'https://avatars.githubusercontent.com/u/6716818?v=4', 'followers_url': 'https://api.github.com/users/JosJuice/followers', 'received_events_url': 'https://api.github.com/users/JosJuice/received_events', 'events_url': 'https://api.github.com/users/JosJuice/events{/privacy}', 'gists_url': 'https://api.github.com/users/JosJuice/gists{/gist_id}', 'following_url': 'https://api.github.com/users/JosJuice/following{/other_user}', 'gravatar_id': '', 'login': 'JosJuice', 'subscriptions_url': 'https://api.github.com/users/JosJuice/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/JosJuice/starred{/owner}{/repo}', 'id': 6716818}, 'changes': {'body': {'from': 'Wait, it\'s used there? Why didn\'t Visual Studio\'s "Find Usages" tell me about that usage :/\r\n\r\nI\'ll put a static assert on it to ensure that `std::atomic<bool>` is 8-bit and lock-free.'}}, 'issue': {'locked': False, 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9708/labels{/name}', 'comments': 2, 'milestone': None, 'assignees': [], 'title': 'DSP: Change external_interrupt_waiting from volatile to atomic', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9708/events', 'pull_request': {'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/9708.patch', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/9708.diff', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9708', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9708'}, 'labels': [], 'body': 'Making this volatile accomplishes... Well, nothing in practice. Making it atomic, on the other hand, lets us enforce a memory ordering.', 'number': 9708, 'author_association': 'MEMBER', 'performed_via_github_app': None, 'created_at': '2021-05-13T18:17:33Z', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9708/comments', 'id': 891260088, 'updated_at': '2021-05-14T07:22:42Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9708', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9708', 'closed_at': None, 'state': 'open', 'active_lock_reason': None, 'assignee': None, 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'user': {'organizations_url': 'https://api.github.com/users/JosJuice/orgs', 'repos_url': 'https://api.github.com/users/JosJuice/repos', 'html_url': 'https://github.com/JosJuice', 'url': 'https://api.github.com/users/JosJuice', 'node_id': 'MDQ6VXNlcjY3MTY4MTg=', 'avatar_url': 'https://avatars.githubusercontent.com/u/6716818?v=4', 'followers_url': 'https://api.github.com/users/JosJuice/followers', 'received_events_url': 'https://api.github.com/users/JosJuice/received_events', 'events_url': 'https://api.github.com/users/JosJuice/events{/privacy}', 'gists_url': 'https://api.github.com/users/JosJuice/gists{/gist_id}', 'following_url': 'https://api.github.com/users/JosJuice/following{/other_user}', 'gravatar_id': '', 'login': 'JosJuice', 'subscriptions_url': 'https://api.github.com/users/JosJuice/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/JosJuice/starred{/owner}{/repo}', 'id': 6716818}, 'node_id': 'MDExOlB1bGxSZXF1ZXN0NjQ0MTU0ODU4'}, 'organization': {'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': '', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'login': 'dolphin-emu', 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'id': 5050316}, 'comment': {'performed_via_github_app': None, 'updated_at': '2021-05-14T07:22:41Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9708#issuecomment-841063470', 'created_at': '2021-05-14T07:16:37Z', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/841063470', 'author_association': 'MEMBER', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9708', 'user': {'organizations_url': 'https://api.github.com/users/JosJuice/orgs', 'repos_url': 'https://api.github.com/users/JosJuice/repos', 'html_url': 'https://github.com/JosJuice', 'url': 'https://api.github.com/users/JosJuice', 'node_id': 'MDQ6VXNlcjY3MTY4MTg=', 'avatar_url': 'https://avatars.githubusercontent.com/u/6716818?v=4', 'followers_url': 'https://api.github.com/users/JosJuice/followers', 'received_events_url': 'https://api.github.com/users/JosJuice/received_events', 'events_url': 'https://api.github.com/users/JosJuice/events{/privacy}', 'gists_url': 'https://api.github.com/users/JosJuice/gists{/gist_id}', 'following_url': 'https://api.github.com/users/JosJuice/following{/other_user}', 'gravatar_id': '', 'login': 'JosJuice', 'subscriptions_url': 'https://api.github.com/users/JosJuice/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/JosJuice/starred{/owner}{/repo}', 'id': 6716818}, 'node_id': 'MDEyOklzc3VlQ29tbWVudDg0MTA2MzQ3MA==', 'body': 'Wait, it\'s used there? Why didn\'t Visual Studio\'s "Find Usages" tell me about that :/\r\n\r\nI\'ll put a static assert on it to ensure that `std::atomic<bool>` is 8-bit and lock-free.', 'id': 841063470}, 'action': 'edited', 'repository': {'html_url': 'https://github.com/dolphin-emu/dolphin', 'open_issues': 202, 'size': 408326, 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'stargazers_count': 7343, 'pushed_at': '2021-05-13T18:17:34Z', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'forks_count': 1716, 'watchers_count': 7343, 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'has_pages': False, 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'archived': False, 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'has_wiki': True, 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'has_issues': False, 'open_issues_count': 202, 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'forks': 1716, 'license': {'node_id': 'MDc6TGljZW5zZTg=', 'key': 'gpl-2.0', 'name': 'GNU General Public License v2.0', 'spdx_id': 'GPL-2.0', 'url': 'https://api.github.com/licenses/gpl-2.0'}, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'mirror_url': None, 'has_downloads': True, 'fork': False, 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'has_projects': False, 'created_at': '2013-07-22T09:07:57Z', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'full_name': 'dolphin-emu/dolphin', 'name': 'dolphin', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'disabled': False, 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'watchers': 7343, 'id': 11577304, 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'updated_at': '2021-05-14T02:23:25Z', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'private': False, 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'owner': {'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'html_url': 'https://github.com/dolphin-emu', 'url': 'https://api.github.com/users/dolphin-emu', 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gravatar_id': '', 'login': 'dolphin-emu', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'site_admin': False, 'type': 'Organization', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'id': 5050316}, 'homepage': 'https://dolphin-emu.org/', 'default_branch': 'master', 'language': 'C++', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}'}}, 'type': 'gh_issue_comment', 'repo': 'dolphin-emu/dolphin', 'id': 9708}
2021-05-14T07:16:38.273466	{'safe_author': True, 'url': 'https://github.com/dolphin-emu/dolphin/pull/9708#issuecomment-841063470', 'source': 'ghhookparser', 'title': 'DSP: Change external_interrupt_waiting from volatile to atomic', 'action': 'created', 'body': 'Wait, it\'s used there? Why didn\'t Visual Studio\'s "Find Usages" tell me about that usage :/\r\n\r\nI\'ll put a static assert on it to ensure that `std::atomic<bool>` is 8-bit and lock-free.', 'author': 'JosJuice', 'raw': {'sender': {'organizations_url': 'https://api.github.com/users/JosJuice/orgs', 'repos_url': 'https://api.github.com/users/JosJuice/repos', 'html_url': 'https://github.com/JosJuice', 'url': 'https://api.github.com/users/JosJuice', 'node_id': 'MDQ6VXNlcjY3MTY4MTg=', 'avatar_url': 'https://avatars.githubusercontent.com/u/6716818?v=4', 'followers_url': 'https://api.github.com/users/JosJuice/followers', 'received_events_url': 'https://api.github.com/users/JosJuice/received_events', 'events_url': 'https://api.github.com/users/JosJuice/events{/privacy}', 'gists_url': 'https://api.github.com/users/JosJuice/gists{/gist_id}', 'following_url': 'https://api.github.com/users/JosJuice/following{/other_user}', 'gravatar_id': '', 'login': 'JosJuice', 'subscriptions_url': 'https://api.github.com/users/JosJuice/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/JosJuice/starred{/owner}{/repo}', 'id': 6716818}, 'issue': {'locked': False, 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9708/labels{/name}', 'comments': 2, 'milestone': None, 'assignees': [], 'title': 'DSP: Change external_interrupt_waiting from volatile to atomic', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9708/events', 'pull_request': {'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/9708.patch', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/9708.diff', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9708', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9708'}, 'labels': [], 'body': 'Making this volatile accomplishes... Well, nothing in practice. Making it atomic, on the other hand, lets us enforce a memory ordering.', 'number': 9708, 'author_association': 'MEMBER', 'performed_via_github_app': None, 'created_at': '2021-05-13T18:17:33Z', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9708/comments', 'id': 891260088, 'updated_at': '2021-05-14T07:16:37Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9708', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9708', 'closed_at': None, 'state': 'open', 'active_lock_reason': None, 'assignee': None, 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'user': {'organizations_url': 'https://api.github.com/users/JosJuice/orgs', 'repos_url': 'https://api.github.com/users/JosJuice/repos', 'html_url': 'https://github.com/JosJuice', 'url': 'https://api.github.com/users/JosJuice', 'node_id': 'MDQ6VXNlcjY3MTY4MTg=', 'avatar_url': 'https://avatars.githubusercontent.com/u/6716818?v=4', 'followers_url': 'https://api.github.com/users/JosJuice/followers', 'received_events_url': 'https://api.github.com/users/JosJuice/received_events', 'events_url': 'https://api.github.com/users/JosJuice/events{/privacy}', 'gists_url': 'https://api.github.com/users/JosJuice/gists{/gist_id}', 'following_url': 'https://api.github.com/users/JosJuice/following{/other_user}', 'gravatar_id': '', 'login': 'JosJuice', 'subscriptions_url': 'https://api.github.com/users/JosJuice/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/JosJuice/starred{/owner}{/repo}', 'id': 6716818}, 'node_id': 'MDExOlB1bGxSZXF1ZXN0NjQ0MTU0ODU4'}, 'organization': {'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': '', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'login': 'dolphin-emu', 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'id': 5050316}, 'comment': {'performed_via_github_app': None, 'updated_at': '2021-05-14T07:16:37Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9708#issuecomment-841063470', 'created_at': '2021-05-14T07:16:37Z', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/841063470', 'author_association': 'MEMBER', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9708', 'user': {'organizations_url': 'https://api.github.com/users/JosJuice/orgs', 'repos_url': 'https://api.github.com/users/JosJuice/repos', 'html_url': 'https://github.com/JosJuice', 'url': 'https://api.github.com/users/JosJuice', 'node_id': 'MDQ6VXNlcjY3MTY4MTg=', 'avatar_url': 'https://avatars.githubusercontent.com/u/6716818?v=4', 'followers_url': 'https://api.github.com/users/JosJuice/followers', 'received_events_url': 'https://api.github.com/users/JosJuice/received_events', 'events_url': 'https://api.github.com/users/JosJuice/events{/privacy}', 'gists_url': 'https://api.github.com/users/JosJuice/gists{/gist_id}', 'following_url': 'https://api.github.com/users/JosJuice/following{/other_user}', 'gravatar_id': '', 'login': 'JosJuice', 'subscriptions_url': 'https://api.github.com/users/JosJuice/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/JosJuice/starred{/owner}{/repo}', 'id': 6716818}, 'node_id': 'MDEyOklzc3VlQ29tbWVudDg0MTA2MzQ3MA==', 'body': 'Wait, it\'s used there? Why didn\'t Visual Studio\'s "Find Usages" tell me about that usage :/\r\n\r\nI\'ll put a static assert on it to ensure that `std::atomic<bool>` is 8-bit and lock-free.', 'id': 841063470}, 'action': 'created', 'repository': {'html_url': 'https://github.com/dolphin-emu/dolphin', 'open_issues': 202, 'size': 408326, 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'stargazers_count': 7343, 'pushed_at': '2021-05-13T18:17:34Z', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'forks_count': 1716, 'watchers_count': 7343, 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'has_pages': False, 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'archived': False, 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'has_wiki': True, 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'has_issues': False, 'open_issues_count': 202, 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'forks': 1716, 'license': {'node_id': 'MDc6TGljZW5zZTg=', 'key': 'gpl-2.0', 'name': 'GNU General Public License v2.0', 'spdx_id': 'GPL-2.0', 'url': 'https://api.github.com/licenses/gpl-2.0'}, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'mirror_url': None, 'has_downloads': True, 'fork': False, 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'has_projects': False, 'created_at': '2013-07-22T09:07:57Z', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'full_name': 'dolphin-emu/dolphin', 'name': 'dolphin', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'disabled': False, 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'watchers': 7343, 'id': 11577304, 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'updated_at': '2021-05-14T02:23:25Z', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'private': False, 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'owner': {'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'html_url': 'https://github.com/dolphin-emu', 'url': 'https://api.github.com/users/dolphin-emu', 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gravatar_id': '', 'login': 'dolphin-emu', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'site_admin': False, 'type': 'Organization', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'id': 5050316}, 'homepage': 'https://dolphin-emu.org/', 'default_branch': 'master', 'language': 'C++', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}'}}, 'type': 'gh_issue_comment', 'repo': 'dolphin-emu/dolphin', 'id': 9708}
2021-05-13T22:13:09.442061	{'safe_author': True, 'url': 'https://github.com/dolphin-emu/dolphin/pull/9708#issuecomment-840865489', 'source': 'ghhookparser', 'title': 'DSP: Change external_interrupt_waiting from volatile to atomic', 'action': 'created', 'body': "Will this work for the DSP JIT? Its offset is used in `M_SDSP_external_interrupt_waiting` to perform a CMP [here](https://github.com/dolphin-emu/dolphin/blob/5513d5f4f732fb1e436765ab87e7d60ba02b1ad6/Source/Core/Core/DSP/Jit/x64/DSPEmitter.cpp#L443), and isn't guaranteed to be 8 bits in size any longer", 'author': 'lioncash', 'raw': {'sender': {'organizations_url': 'https://api.github.com/users/lioncash/orgs', 'repos_url': 'https://api.github.com/users/lioncash/repos', 'html_url': 'https://github.com/lioncash', 'url': 'https://api.github.com/users/lioncash', 'node_id': 'MDQ6VXNlcjcxMjA2Nw==', 'avatar_url': 'https://avatars.githubusercontent.com/u/712067?v=4', 'followers_url': 'https://api.github.com/users/lioncash/followers', 'received_events_url': 'https://api.github.com/users/lioncash/received_events', 'events_url': 'https://api.github.com/users/lioncash/events{/privacy}', 'gists_url': 'https://api.github.com/users/lioncash/gists{/gist_id}', 'following_url': 'https://api.github.com/users/lioncash/following{/other_user}', 'gravatar_id': '', 'login': 'lioncash', 'subscriptions_url': 'https://api.github.com/users/lioncash/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/lioncash/starred{/owner}{/repo}', 'id': 712067}, 'issue': {'locked': False, 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9708/labels{/name}', 'comments': 1, 'milestone': None, 'assignees': [], 'title': 'DSP: Change external_interrupt_waiting from volatile to atomic', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9708/events', 'pull_request': {'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/9708.patch', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/9708.diff', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9708', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9708'}, 'labels': [], 'body': 'Making this volatile accomplishes... Well, nothing in practice. Making it atomic, on the other hand, lets us enforce a memory ordering.', 'number': 9708, 'author_association': 'MEMBER', 'performed_via_github_app': None, 'created_at': '2021-05-13T18:17:33Z', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9708/comments', 'id': 891260088, 'updated_at': '2021-05-13T22:13:08Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9708', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9708', 'closed_at': None, 'state': 'open', 'active_lock_reason': None, 'assignee': None, 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'user': {'organizations_url': 'https://api.github.com/users/JosJuice/orgs', 'repos_url': 'https://api.github.com/users/JosJuice/repos', 'html_url': 'https://github.com/JosJuice', 'url': 'https://api.github.com/users/JosJuice', 'node_id': 'MDQ6VXNlcjY3MTY4MTg=', 'avatar_url': 'https://avatars.githubusercontent.com/u/6716818?v=4', 'followers_url': 'https://api.github.com/users/JosJuice/followers', 'received_events_url': 'https://api.github.com/users/JosJuice/received_events', 'events_url': 'https://api.github.com/users/JosJuice/events{/privacy}', 'gists_url': 'https://api.github.com/users/JosJuice/gists{/gist_id}', 'following_url': 'https://api.github.com/users/JosJuice/following{/other_user}', 'gravatar_id': '', 'login': 'JosJuice', 'subscriptions_url': 'https://api.github.com/users/JosJuice/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/JosJuice/starred{/owner}{/repo}', 'id': 6716818}, 'node_id': 'MDExOlB1bGxSZXF1ZXN0NjQ0MTU0ODU4'}, 'organization': {'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': '', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'login': 'dolphin-emu', 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'id': 5050316}, 'comment': {'performed_via_github_app': None, 'updated_at': '2021-05-13T22:13:08Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9708#issuecomment-840865489', 'created_at': '2021-05-13T22:13:08Z', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/840865489', 'author_association': 'MEMBER', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9708', 'user': {'organizations_url': 'https://api.github.com/users/lioncash/orgs', 'repos_url': 'https://api.github.com/users/lioncash/repos', 'html_url': 'https://github.com/lioncash', 'url': 'https://api.github.com/users/lioncash', 'node_id': 'MDQ6VXNlcjcxMjA2Nw==', 'avatar_url': 'https://avatars.githubusercontent.com/u/712067?v=4', 'followers_url': 'https://api.github.com/users/lioncash/followers', 'received_events_url': 'https://api.github.com/users/lioncash/received_events', 'events_url': 'https://api.github.com/users/lioncash/events{/privacy}', 'gists_url': 'https://api.github.com/users/lioncash/gists{/gist_id}', 'following_url': 'https://api.github.com/users/lioncash/following{/other_user}', 'gravatar_id': '', 'login': 'lioncash', 'subscriptions_url': 'https://api.github.com/users/lioncash/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/lioncash/starred{/owner}{/repo}', 'id': 712067}, 'node_id': 'MDEyOklzc3VlQ29tbWVudDg0MDg2NTQ4OQ==', 'body': "Will this work for the DSP JIT? Its offset is used in `M_SDSP_external_interrupt_waiting` to perform a CMP [here](https://github.com/dolphin-emu/dolphin/blob/5513d5f4f732fb1e436765ab87e7d60ba02b1ad6/Source/Core/Core/DSP/Jit/x64/DSPEmitter.cpp#L443), and isn't guaranteed to be 8 bits in size any longer", 'id': 840865489}, 'action': 'created', 'repository': {'html_url': 'https://github.com/dolphin-emu/dolphin', 'open_issues': 202, 'size': 408326, 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'stargazers_count': 7343, 'pushed_at': '2021-05-13T18:17:34Z', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'forks_count': 1716, 'watchers_count': 7343, 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'has_pages': False, 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'archived': False, 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'has_wiki': True, 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'has_issues': False, 'open_issues_count': 202, 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'forks': 1716, 'license': {'node_id': 'MDc6TGljZW5zZTg=', 'key': 'gpl-2.0', 'name': 'GNU General Public License v2.0', 'spdx_id': 'GPL-2.0', 'url': 'https://api.github.com/licenses/gpl-2.0'}, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'mirror_url': None, 'has_downloads': True, 'fork': False, 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'has_projects': False, 'created_at': '2013-07-22T09:07:57Z', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'full_name': 'dolphin-emu/dolphin', 'name': 'dolphin', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'disabled': False, 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'watchers': 7343, 'id': 11577304, 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'updated_at': '2021-05-13T19:09:21Z', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'private': False, 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'owner': {'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'html_url': 'https://github.com/dolphin-emu', 'url': 'https://api.github.com/users/dolphin-emu', 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gravatar_id': '', 'login': 'dolphin-emu', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'site_admin': False, 'type': 'Organization', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'id': 5050316}, 'homepage': 'https://dolphin-emu.org/', 'default_branch': 'master', 'language': 'C++', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}'}}, 'type': 'gh_issue_comment', 'repo': 'dolphin-emu/dolphin', 'id': 9708}
2021-05-13T18:34:03.850335	{'safe_author': False, 'url': 'https://github.com/dolphin-emu/dolphin/pull/9441#issuecomment-840729769', 'source': 'ghhookparser', 'title': 'Apple M1 Support for MacOS', 'action': 'edited', 'body': "> I wonder if we should set `-DCMAKE_OSX_DEPLOYMENT_TARGET=10.12.0` on the x64 buildbot in that case? I suppose it's not too bad if people on 10.12 and 10.13 have to download universal builds in order to get Dolphin running, but it seems unintuitive for users.\r\n> \r\n> Unless we're planning on retiring the x64 buildbot soon...?\r\n\r\nI wouldn‘t mind having universal binaries, only, even though I‘m on x64. Two separate build systems would mean two separate chances of breaking stuff. Plus more confusion for users which build to download and more wasted hosting space. And more CPU cycles used for mainly redundant tasks.\r\n\r\nReminds me: Are you planning to notarize the builds? Or will this be the focus of a separate PR?", 'author': 'pizuz', 'raw': {'sender': {'organizations_url': 'https://api.github.com/users/pizuz/orgs', 'repos_url': 'https://api.github.com/users/pizuz/repos', 'html_url': 'https://github.com/pizuz', 'url': 'https://api.github.com/users/pizuz', 'node_id': 'MDQ6VXNlcjEyNTU3MDQw', 'avatar_url': 'https://avatars.githubusercontent.com/u/12557040?v=4', 'followers_url': 'https://api.github.com/users/pizuz/followers', 'received_events_url': 'https://api.github.com/users/pizuz/received_events', 'events_url': 'https://api.github.com/users/pizuz/events{/privacy}', 'gists_url': 'https://api.github.com/users/pizuz/gists{/gist_id}', 'following_url': 'https://api.github.com/users/pizuz/following{/other_user}', 'gravatar_id': '', 'login': 'pizuz', 'subscriptions_url': 'https://api.github.com/users/pizuz/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/pizuz/starred{/owner}{/repo}', 'id': 12557040}, 'changes': {'body': {'from': "> I wonder if we should set `-DCMAKE_OSX_DEPLOYMENT_TARGET=10.12.0` on the x64 buildbot in that case? I suppose it's not too bad if people on 10.12 and 10.13 have to download universal builds in order to get Dolphin running, but it seems unintuitive for users.\r\n> \r\n> Unless we're planning on retiring the x64 buildbot soon...?\r\n\r\nI wouldn‘t mind having universal binaries, only, even though I‘m on x64. Two separate build systems would mean two separate chances of breaking stuff. Plus less confusion for users which build to download and less wasted hosting space. And less CPU cycles used for mainly redundant tasks.\r\n\r\nReminds me: Are you planning to notarize the builds? Or will this be the focus of a separate PR?"}}, 'issue': {'locked': False, 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9441/labels{/name}', 'comments': 121, 'milestone': None, 'assignees': [], 'title': 'Apple M1 Support for MacOS', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9441/events', 'pull_request': {'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/9441.patch', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/9441.diff', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9441', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441'}, 'labels': [], 'body': 'This pull request adds support for compiling Dolphin for ARM on MacOS so that it can\r\nrun natively on the M1 processors without running through Rosseta2 emulation\r\nproviding a 30-50% performance speedup and less hitches from Rosseta2.\r\n\r\nIt consists of several key changes:\r\n\r\n- Adding support for W^X allocation(MAP_JIT) for the ARM JIT\r\n- Adding the machine context and config info to identify the M1 processor\r\n- Additions to the build system and docs to support building universal binaries\r\n- Adding code signing entitlements to access the MAP_JIT functionality\r\n- Updating the MoltenVK libvulkan.dylib to a newer version with M1 support\r\n\r\nThanks everyone on IRC for the help in making this change!', 'number': 9441, 'author_association': 'CONTRIBUTOR', 'performed_via_github_app': None, 'created_at': '2021-01-13T16:10:58Z', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9441/comments', 'id': 785238185, 'updated_at': '2021-05-13T18:34:02Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9441', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9441', 'closed_at': None, 'state': 'open', 'active_lock_reason': None, 'assignee': None, 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'user': {'organizations_url': 'https://api.github.com/users/skylersaleh/orgs', 'repos_url': 'https://api.github.com/users/skylersaleh/repos', 'html_url': 'https://github.com/skylersaleh', 'url': 'https://api.github.com/users/skylersaleh', 'node_id': 'MDQ6VXNlcjcxMTgyOTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7118296?v=4', 'followers_url': 'https://api.github.com/users/skylersaleh/followers', 'received_events_url': 'https://api.github.com/users/skylersaleh/received_events', 'events_url': 'https://api.github.com/users/skylersaleh/events{/privacy}', 'gists_url': 'https://api.github.com/users/skylersaleh/gists{/gist_id}', 'following_url': 'https://api.github.com/users/skylersaleh/following{/other_user}', 'gravatar_id': '', 'login': 'skylersaleh', 'subscriptions_url': 'https://api.github.com/users/skylersaleh/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/skylersaleh/starred{/owner}{/repo}', 'id': 7118296}, 'node_id': 'MDExOlB1bGxSZXF1ZXN0NTU0Mjk3NzQ0'}, 'organization': {'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': '', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'login': 'dolphin-emu', 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'id': 5050316}, 'comment': {'performed_via_github_app': None, 'updated_at': '2021-05-13T18:34:02Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9441#issuecomment-840729769', 'created_at': '2021-05-13T17:59:06Z', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/840729769', 'author_association': 'NONE', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9441', 'user': {'organizations_url': 'https://api.github.com/users/pizuz/orgs', 'repos_url': 'https://api.github.com/users/pizuz/repos', 'html_url': 'https://github.com/pizuz', 'url': 'https://api.github.com/users/pizuz', 'node_id': 'MDQ6VXNlcjEyNTU3MDQw', 'avatar_url': 'https://avatars.githubusercontent.com/u/12557040?v=4', 'followers_url': 'https://api.github.com/users/pizuz/followers', 'received_events_url': 'https://api.github.com/users/pizuz/received_events', 'events_url': 'https://api.github.com/users/pizuz/events{/privacy}', 'gists_url': 'https://api.github.com/users/pizuz/gists{/gist_id}', 'following_url': 'https://api.github.com/users/pizuz/following{/other_user}', 'gravatar_id': '', 'login': 'pizuz', 'subscriptions_url': 'https://api.github.com/users/pizuz/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/pizuz/starred{/owner}{/repo}', 'id': 12557040}, 'node_id': 'MDEyOklzc3VlQ29tbWVudDg0MDcyOTc2OQ==', 'body': "> I wonder if we should set `-DCMAKE_OSX_DEPLOYMENT_TARGET=10.12.0` on the x64 buildbot in that case? I suppose it's not too bad if people on 10.12 and 10.13 have to download universal builds in order to get Dolphin running, but it seems unintuitive for users.\r\n> \r\n> Unless we're planning on retiring the x64 buildbot soon...?\r\n\r\nI wouldn‘t mind having universal binaries, only, even though I‘m on x64. Two separate build systems would mean two separate chances of breaking stuff. Plus more confusion for users which build to download and more wasted hosting space. And more CPU cycles used for mainly redundant tasks.\r\n\r\nReminds me: Are you planning to notarize the builds? Or will this be the focus of a separate PR?", 'id': 840729769}, 'action': 'edited', 'repository': {'html_url': 'https://github.com/dolphin-emu/dolphin', 'open_issues': 202, 'size': 408326, 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'stargazers_count': 7342, 'pushed_at': '2021-05-13T18:17:34Z', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'forks_count': 1716, 'watchers_count': 7342, 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'has_pages': False, 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'archived': False, 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'has_wiki': True, 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'has_issues': False, 'open_issues_count': 202, 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'forks': 1716, 'license': {'node_id': 'MDc6TGljZW5zZTg=', 'key': 'gpl-2.0', 'name': 'GNU General Public License v2.0', 'spdx_id': 'GPL-2.0', 'url': 'https://api.github.com/licenses/gpl-2.0'}, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'mirror_url': None, 'has_downloads': True, 'fork': False, 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'has_projects': False, 'created_at': '2013-07-22T09:07:57Z', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'full_name': 'dolphin-emu/dolphin', 'name': 'dolphin', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'disabled': False, 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'watchers': 7342, 'id': 11577304, 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'updated_at': '2021-05-13T17:20:51Z', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'private': False, 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'owner': {'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'html_url': 'https://github.com/dolphin-emu', 'url': 'https://api.github.com/users/dolphin-emu', 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gravatar_id': '', 'login': 'dolphin-emu', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'site_admin': False, 'type': 'Organization', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'id': 5050316}, 'homepage': 'https://dolphin-emu.org/', 'default_branch': 'master', 'language': 'C++', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}'}}, 'type': 'gh_issue_comment', 'repo': 'dolphin-emu/dolphin', 'id': 9441}
2021-05-13T18:02:21.583770	{'safe_author': False, 'url': 'https://github.com/dolphin-emu/dolphin/pull/9441#issuecomment-840729769', 'source': 'ghhookparser', 'title': 'Apple M1 Support for MacOS', 'action': 'edited', 'body': "> I wonder if we should set `-DCMAKE_OSX_DEPLOYMENT_TARGET=10.12.0` on the x64 buildbot in that case? I suppose it's not too bad if people on 10.12 and 10.13 have to download universal builds in order to get Dolphin running, but it seems unintuitive for users.\r\n> \r\n> Unless we're planning on retiring the x64 buildbot soon...?\r\n\r\nI wouldn‘t mind having universal binaries, only, even though I‘m on x64. Two separate build systems would mean two separate chances of breaking stuff. Plus less confusion for users which build to download and less wasted hosting space. And less CPU cycles used for mainly redundant tasks.\r\n\r\nReminds me: Are you planning to notarize the builds? Or will this be the focus of a separate PR?", 'author': 'pizuz', 'raw': {'sender': {'organizations_url': 'https://api.github.com/users/pizuz/orgs', 'repos_url': 'https://api.github.com/users/pizuz/repos', 'html_url': 'https://github.com/pizuz', 'url': 'https://api.github.com/users/pizuz', 'node_id': 'MDQ6VXNlcjEyNTU3MDQw', 'avatar_url': 'https://avatars.githubusercontent.com/u/12557040?v=4', 'followers_url': 'https://api.github.com/users/pizuz/followers', 'received_events_url': 'https://api.github.com/users/pizuz/received_events', 'events_url': 'https://api.github.com/users/pizuz/events{/privacy}', 'gists_url': 'https://api.github.com/users/pizuz/gists{/gist_id}', 'following_url': 'https://api.github.com/users/pizuz/following{/other_user}', 'gravatar_id': '', 'login': 'pizuz', 'subscriptions_url': 'https://api.github.com/users/pizuz/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/pizuz/starred{/owner}{/repo}', 'id': 12557040}, 'changes': {'body': {'from': "> I wonder if we should set `-DCMAKE_OSX_DEPLOYMENT_TARGET=10.12.0` on the x64 buildbot in that case? I suppose it's not too bad if people on 10.12 and 10.13 have to download universal builds in order to get Dolphin running, but it seems unintuitive for users.\r\n> \r\n> Unless we're planning on retiring the x64 buildbot soon...?\r\n\r\nI wouldn‘t mind having universal binaries, only, even though I‘m on x64. Two separate build systems would mean two separate chances of breaking stuff. Plus less confusion for users which build to download and less wasted hosting space.\r\n\r\nReminds me: Are you planning to notarize the builds? Or will this be the focus of a separate PR?"}}, 'issue': {'locked': False, 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9441/labels{/name}', 'comments': 121, 'milestone': None, 'assignees': [], 'title': 'Apple M1 Support for MacOS', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9441/events', 'pull_request': {'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/9441.patch', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/9441.diff', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9441', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441'}, 'labels': [], 'body': 'This pull request adds support for compiling Dolphin for ARM on MacOS so that it can\r\nrun natively on the M1 processors without running through Rosseta2 emulation\r\nproviding a 30-50% performance speedup and less hitches from Rosseta2.\r\n\r\nIt consists of several key changes:\r\n\r\n- Adding support for W^X allocation(MAP_JIT) for the ARM JIT\r\n- Adding the machine context and config info to identify the M1 processor\r\n- Additions to the build system and docs to support building universal binaries\r\n- Adding code signing entitlements to access the MAP_JIT functionality\r\n- Updating the MoltenVK libvulkan.dylib to a newer version with M1 support\r\n\r\nThanks everyone on IRC for the help in making this change!', 'number': 9441, 'author_association': 'CONTRIBUTOR', 'performed_via_github_app': None, 'created_at': '2021-01-13T16:10:58Z', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9441/comments', 'id': 785238185, 'updated_at': '2021-05-13T18:02:20Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9441', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9441', 'closed_at': None, 'state': 'open', 'active_lock_reason': None, 'assignee': None, 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'user': {'organizations_url': 'https://api.github.com/users/skylersaleh/orgs', 'repos_url': 'https://api.github.com/users/skylersaleh/repos', 'html_url': 'https://github.com/skylersaleh', 'url': 'https://api.github.com/users/skylersaleh', 'node_id': 'MDQ6VXNlcjcxMTgyOTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7118296?v=4', 'followers_url': 'https://api.github.com/users/skylersaleh/followers', 'received_events_url': 'https://api.github.com/users/skylersaleh/received_events', 'events_url': 'https://api.github.com/users/skylersaleh/events{/privacy}', 'gists_url': 'https://api.github.com/users/skylersaleh/gists{/gist_id}', 'following_url': 'https://api.github.com/users/skylersaleh/following{/other_user}', 'gravatar_id': '', 'login': 'skylersaleh', 'subscriptions_url': 'https://api.github.com/users/skylersaleh/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/skylersaleh/starred{/owner}{/repo}', 'id': 7118296}, 'node_id': 'MDExOlB1bGxSZXF1ZXN0NTU0Mjk3NzQ0'}, 'organization': {'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': '', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'login': 'dolphin-emu', 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'id': 5050316}, 'comment': {'performed_via_github_app': None, 'updated_at': '2021-05-13T18:02:20Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9441#issuecomment-840729769', 'created_at': '2021-05-13T17:59:06Z', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/840729769', 'author_association': 'NONE', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9441', 'user': {'organizations_url': 'https://api.github.com/users/pizuz/orgs', 'repos_url': 'https://api.github.com/users/pizuz/repos', 'html_url': 'https://github.com/pizuz', 'url': 'https://api.github.com/users/pizuz', 'node_id': 'MDQ6VXNlcjEyNTU3MDQw', 'avatar_url': 'https://avatars.githubusercontent.com/u/12557040?v=4', 'followers_url': 'https://api.github.com/users/pizuz/followers', 'received_events_url': 'https://api.github.com/users/pizuz/received_events', 'events_url': 'https://api.github.com/users/pizuz/events{/privacy}', 'gists_url': 'https://api.github.com/users/pizuz/gists{/gist_id}', 'following_url': 'https://api.github.com/users/pizuz/following{/other_user}', 'gravatar_id': '', 'login': 'pizuz', 'subscriptions_url': 'https://api.github.com/users/pizuz/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/pizuz/starred{/owner}{/repo}', 'id': 12557040}, 'node_id': 'MDEyOklzc3VlQ29tbWVudDg0MDcyOTc2OQ==', 'body': "> I wonder if we should set `-DCMAKE_OSX_DEPLOYMENT_TARGET=10.12.0` on the x64 buildbot in that case? I suppose it's not too bad if people on 10.12 and 10.13 have to download universal builds in order to get Dolphin running, but it seems unintuitive for users.\r\n> \r\n> Unless we're planning on retiring the x64 buildbot soon...?\r\n\r\nI wouldn‘t mind having universal binaries, only, even though I‘m on x64. Two separate build systems would mean two separate chances of breaking stuff. Plus less confusion for users which build to download and less wasted hosting space. And less CPU cycles used for mainly redundant tasks.\r\n\r\nReminds me: Are you planning to notarize the builds? Or will this be the focus of a separate PR?", 'id': 840729769}, 'action': 'edited', 'repository': {'html_url': 'https://github.com/dolphin-emu/dolphin', 'open_issues': 201, 'size': 408326, 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'stargazers_count': 7342, 'pushed_at': '2021-05-13T16:59:17Z', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'forks_count': 1716, 'watchers_count': 7342, 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'has_pages': False, 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'archived': False, 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'has_wiki': True, 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'has_issues': False, 'open_issues_count': 201, 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'forks': 1716, 'license': {'node_id': 'MDc6TGljZW5zZTg=', 'key': 'gpl-2.0', 'name': 'GNU General Public License v2.0', 'spdx_id': 'GPL-2.0', 'url': 'https://api.github.com/licenses/gpl-2.0'}, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'mirror_url': None, 'has_downloads': True, 'fork': False, 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'has_projects': False, 'created_at': '2013-07-22T09:07:57Z', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'full_name': 'dolphin-emu/dolphin', 'name': 'dolphin', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'disabled': False, 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'watchers': 7342, 'id': 11577304, 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'updated_at': '2021-05-13T17:20:51Z', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'private': False, 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'owner': {'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'html_url': 'https://github.com/dolphin-emu', 'url': 'https://api.github.com/users/dolphin-emu', 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gravatar_id': '', 'login': 'dolphin-emu', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'site_admin': False, 'type': 'Organization', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'id': 5050316}, 'homepage': 'https://dolphin-emu.org/', 'default_branch': 'master', 'language': 'C++', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}'}}, 'type': 'gh_issue_comment', 'repo': 'dolphin-emu/dolphin', 'id': 9441}
2021-05-13T18:01:01.834633	{'safe_author': False, 'url': 'https://github.com/dolphin-emu/dolphin/pull/9441#issuecomment-840729769', 'source': 'ghhookparser', 'title': 'Apple M1 Support for MacOS', 'action': 'edited', 'body': "> I wonder if we should set `-DCMAKE_OSX_DEPLOYMENT_TARGET=10.12.0` on the x64 buildbot in that case? I suppose it's not too bad if people on 10.12 and 10.13 have to download universal builds in order to get Dolphin running, but it seems unintuitive for users.\r\n> \r\n> Unless we're planning on retiring the x64 buildbot soon...?\r\n\r\nI wouldn‘t mind having universal binaries, only, even though I‘m on x64. Two separate build systems would mean two separate chances of breaking stuff. Plus less confusion for users which build to download and less wasted hosting space.\r\n\r\nReminds me: Are you planning to notarize the builds? Or will this be the focus of a separate PR?", 'author': 'pizuz', 'raw': {'sender': {'organizations_url': 'https://api.github.com/users/pizuz/orgs', 'repos_url': 'https://api.github.com/users/pizuz/repos', 'html_url': 'https://github.com/pizuz', 'url': 'https://api.github.com/users/pizuz', 'node_id': 'MDQ6VXNlcjEyNTU3MDQw', 'avatar_url': 'https://avatars.githubusercontent.com/u/12557040?v=4', 'followers_url': 'https://api.github.com/users/pizuz/followers', 'received_events_url': 'https://api.github.com/users/pizuz/received_events', 'events_url': 'https://api.github.com/users/pizuz/events{/privacy}', 'gists_url': 'https://api.github.com/users/pizuz/gists{/gist_id}', 'following_url': 'https://api.github.com/users/pizuz/following{/other_user}', 'gravatar_id': '', 'login': 'pizuz', 'subscriptions_url': 'https://api.github.com/users/pizuz/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/pizuz/starred{/owner}{/repo}', 'id': 12557040}, 'changes': {'body': {'from': "> I wonder if we should set `-DCMAKE_OSX_DEPLOYMENT_TARGET=10.12.0` on the x64 buildbot in that case? I suppose it's not too bad if people on 10.12 and 10.13 have to download universal builds in order to get Dolphin running, but it seems unintuitive for users.\r\n> \r\n> Unless we're planning on retiring the x64 buildbot soon...?\r\n\r\nI wouldn‘t mind having universal binaries, only, even though I‘m on x64. Two separate build systems would mean two separate chances of breaking stuff.\r\n\r\nReminds me: Are you planning to notarize the builds? Or will this be the focus of a separate PR?"}}, 'issue': {'locked': False, 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9441/labels{/name}', 'comments': 121, 'milestone': None, 'assignees': [], 'title': 'Apple M1 Support for MacOS', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9441/events', 'pull_request': {'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/9441.patch', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/9441.diff', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9441', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441'}, 'labels': [], 'body': 'This pull request adds support for compiling Dolphin for ARM on MacOS so that it can\r\nrun natively on the M1 processors without running through Rosseta2 emulation\r\nproviding a 30-50% performance speedup and less hitches from Rosseta2.\r\n\r\nIt consists of several key changes:\r\n\r\n- Adding support for W^X allocation(MAP_JIT) for the ARM JIT\r\n- Adding the machine context and config info to identify the M1 processor\r\n- Additions to the build system and docs to support building universal binaries\r\n- Adding code signing entitlements to access the MAP_JIT functionality\r\n- Updating the MoltenVK libvulkan.dylib to a newer version with M1 support\r\n\r\nThanks everyone on IRC for the help in making this change!', 'number': 9441, 'author_association': 'CONTRIBUTOR', 'performed_via_github_app': None, 'created_at': '2021-01-13T16:10:58Z', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9441/comments', 'id': 785238185, 'updated_at': '2021-05-13T18:01:00Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9441', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9441', 'closed_at': None, 'state': 'open', 'active_lock_reason': None, 'assignee': None, 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'user': {'organizations_url': 'https://api.github.com/users/skylersaleh/orgs', 'repos_url': 'https://api.github.com/users/skylersaleh/repos', 'html_url': 'https://github.com/skylersaleh', 'url': 'https://api.github.com/users/skylersaleh', 'node_id': 'MDQ6VXNlcjcxMTgyOTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7118296?v=4', 'followers_url': 'https://api.github.com/users/skylersaleh/followers', 'received_events_url': 'https://api.github.com/users/skylersaleh/received_events', 'events_url': 'https://api.github.com/users/skylersaleh/events{/privacy}', 'gists_url': 'https://api.github.com/users/skylersaleh/gists{/gist_id}', 'following_url': 'https://api.github.com/users/skylersaleh/following{/other_user}', 'gravatar_id': '', 'login': 'skylersaleh', 'subscriptions_url': 'https://api.github.com/users/skylersaleh/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/skylersaleh/starred{/owner}{/repo}', 'id': 7118296}, 'node_id': 'MDExOlB1bGxSZXF1ZXN0NTU0Mjk3NzQ0'}, 'organization': {'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': '', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'login': 'dolphin-emu', 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'id': 5050316}, 'comment': {'performed_via_github_app': None, 'updated_at': '2021-05-13T18:01:00Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9441#issuecomment-840729769', 'created_at': '2021-05-13T17:59:06Z', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/840729769', 'author_association': 'NONE', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9441', 'user': {'organizations_url': 'https://api.github.com/users/pizuz/orgs', 'repos_url': 'https://api.github.com/users/pizuz/repos', 'html_url': 'https://github.com/pizuz', 'url': 'https://api.github.com/users/pizuz', 'node_id': 'MDQ6VXNlcjEyNTU3MDQw', 'avatar_url': 'https://avatars.githubusercontent.com/u/12557040?v=4', 'followers_url': 'https://api.github.com/users/pizuz/followers', 'received_events_url': 'https://api.github.com/users/pizuz/received_events', 'events_url': 'https://api.github.com/users/pizuz/events{/privacy}', 'gists_url': 'https://api.github.com/users/pizuz/gists{/gist_id}', 'following_url': 'https://api.github.com/users/pizuz/following{/other_user}', 'gravatar_id': '', 'login': 'pizuz', 'subscriptions_url': 'https://api.github.com/users/pizuz/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/pizuz/starred{/owner}{/repo}', 'id': 12557040}, 'node_id': 'MDEyOklzc3VlQ29tbWVudDg0MDcyOTc2OQ==', 'body': "> I wonder if we should set `-DCMAKE_OSX_DEPLOYMENT_TARGET=10.12.0` on the x64 buildbot in that case? I suppose it's not too bad if people on 10.12 and 10.13 have to download universal builds in order to get Dolphin running, but it seems unintuitive for users.\r\n> \r\n> Unless we're planning on retiring the x64 buildbot soon...?\r\n\r\nI wouldn‘t mind having universal binaries, only, even though I‘m on x64. Two separate build systems would mean two separate chances of breaking stuff. Plus less confusion for users which build to download and less wasted hosting space.\r\n\r\nReminds me: Are you planning to notarize the builds? Or will this be the focus of a separate PR?", 'id': 840729769}, 'action': 'edited', 'repository': {'html_url': 'https://github.com/dolphin-emu/dolphin', 'open_issues': 201, 'size': 408326, 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'stargazers_count': 7342, 'pushed_at': '2021-05-13T16:59:17Z', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'forks_count': 1716, 'watchers_count': 7342, 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'has_pages': False, 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'archived': False, 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'has_wiki': True, 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'has_issues': False, 'open_issues_count': 201, 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'forks': 1716, 'license': {'node_id': 'MDc6TGljZW5zZTg=', 'key': 'gpl-2.0', 'name': 'GNU General Public License v2.0', 'spdx_id': 'GPL-2.0', 'url': 'https://api.github.com/licenses/gpl-2.0'}, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'mirror_url': None, 'has_downloads': True, 'fork': False, 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'has_projects': False, 'created_at': '2013-07-22T09:07:57Z', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'full_name': 'dolphin-emu/dolphin', 'name': 'dolphin', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'disabled': False, 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'watchers': 7342, 'id': 11577304, 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'updated_at': '2021-05-13T17:20:51Z', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'private': False, 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'owner': {'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'html_url': 'https://github.com/dolphin-emu', 'url': 'https://api.github.com/users/dolphin-emu', 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gravatar_id': '', 'login': 'dolphin-emu', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'site_admin': False, 'type': 'Organization', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'id': 5050316}, 'homepage': 'https://dolphin-emu.org/', 'default_branch': 'master', 'language': 'C++', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}'}}, 'type': 'gh_issue_comment', 'repo': 'dolphin-emu/dolphin', 'id': 9441}
2021-05-13T17:59:07.678086	{'safe_author': False, 'url': 'https://github.com/dolphin-emu/dolphin/pull/9441#issuecomment-840729769', 'source': 'ghhookparser', 'title': 'Apple M1 Support for MacOS', 'action': 'created', 'body': "> I wonder if we should set `-DCMAKE_OSX_DEPLOYMENT_TARGET=10.12.0` on the x64 buildbot in that case? I suppose it's not too bad if people on 10.12 and 10.13 have to download universal builds in order to get Dolphin running, but it seems unintuitive for users.\r\n> \r\n> Unless we're planning on retiring the x64 buildbot soon...?\r\n\r\nI wouldn‘t mind having universal binaries, only, even though I‘m on x64. Two separate build systems would mean two separate chances of breaking stuff.\r\n\r\nReminds me: Are you planning to notarize the builds? Or will this be the focus of a separate PR?", 'author': 'pizuz', 'raw': {'sender': {'organizations_url': 'https://api.github.com/users/pizuz/orgs', 'repos_url': 'https://api.github.com/users/pizuz/repos', 'html_url': 'https://github.com/pizuz', 'url': 'https://api.github.com/users/pizuz', 'node_id': 'MDQ6VXNlcjEyNTU3MDQw', 'avatar_url': 'https://avatars.githubusercontent.com/u/12557040?v=4', 'followers_url': 'https://api.github.com/users/pizuz/followers', 'received_events_url': 'https://api.github.com/users/pizuz/received_events', 'events_url': 'https://api.github.com/users/pizuz/events{/privacy}', 'gists_url': 'https://api.github.com/users/pizuz/gists{/gist_id}', 'following_url': 'https://api.github.com/users/pizuz/following{/other_user}', 'gravatar_id': '', 'login': 'pizuz', 'subscriptions_url': 'https://api.github.com/users/pizuz/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/pizuz/starred{/owner}{/repo}', 'id': 12557040}, 'issue': {'locked': False, 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9441/labels{/name}', 'comments': 121, 'milestone': None, 'assignees': [], 'title': 'Apple M1 Support for MacOS', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9441/events', 'pull_request': {'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/9441.patch', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/9441.diff', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9441', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441'}, 'labels': [], 'body': 'This pull request adds support for compiling Dolphin for ARM on MacOS so that it can\r\nrun natively on the M1 processors without running through Rosseta2 emulation\r\nproviding a 30-50% performance speedup and less hitches from Rosseta2.\r\n\r\nIt consists of several key changes:\r\n\r\n- Adding support for W^X allocation(MAP_JIT) for the ARM JIT\r\n- Adding the machine context and config info to identify the M1 processor\r\n- Additions to the build system and docs to support building universal binaries\r\n- Adding code signing entitlements to access the MAP_JIT functionality\r\n- Updating the MoltenVK libvulkan.dylib to a newer version with M1 support\r\n\r\nThanks everyone on IRC for the help in making this change!', 'number': 9441, 'author_association': 'CONTRIBUTOR', 'performed_via_github_app': None, 'created_at': '2021-01-13T16:10:58Z', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9441/comments', 'id': 785238185, 'updated_at': '2021-05-13T17:59:06Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9441', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9441', 'closed_at': None, 'state': 'open', 'active_lock_reason': None, 'assignee': None, 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'user': {'organizations_url': 'https://api.github.com/users/skylersaleh/orgs', 'repos_url': 'https://api.github.com/users/skylersaleh/repos', 'html_url': 'https://github.com/skylersaleh', 'url': 'https://api.github.com/users/skylersaleh', 'node_id': 'MDQ6VXNlcjcxMTgyOTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7118296?v=4', 'followers_url': 'https://api.github.com/users/skylersaleh/followers', 'received_events_url': 'https://api.github.com/users/skylersaleh/received_events', 'events_url': 'https://api.github.com/users/skylersaleh/events{/privacy}', 'gists_url': 'https://api.github.com/users/skylersaleh/gists{/gist_id}', 'following_url': 'https://api.github.com/users/skylersaleh/following{/other_user}', 'gravatar_id': '', 'login': 'skylersaleh', 'subscriptions_url': 'https://api.github.com/users/skylersaleh/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/skylersaleh/starred{/owner}{/repo}', 'id': 7118296}, 'node_id': 'MDExOlB1bGxSZXF1ZXN0NTU0Mjk3NzQ0'}, 'organization': {'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': '', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'login': 'dolphin-emu', 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'id': 5050316}, 'comment': {'performed_via_github_app': None, 'updated_at': '2021-05-13T17:59:06Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9441#issuecomment-840729769', 'created_at': '2021-05-13T17:59:06Z', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/840729769', 'author_association': 'NONE', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9441', 'user': {'organizations_url': 'https://api.github.com/users/pizuz/orgs', 'repos_url': 'https://api.github.com/users/pizuz/repos', 'html_url': 'https://github.com/pizuz', 'url': 'https://api.github.com/users/pizuz', 'node_id': 'MDQ6VXNlcjEyNTU3MDQw', 'avatar_url': 'https://avatars.githubusercontent.com/u/12557040?v=4', 'followers_url': 'https://api.github.com/users/pizuz/followers', 'received_events_url': 'https://api.github.com/users/pizuz/received_events', 'events_url': 'https://api.github.com/users/pizuz/events{/privacy}', 'gists_url': 'https://api.github.com/users/pizuz/gists{/gist_id}', 'following_url': 'https://api.github.com/users/pizuz/following{/other_user}', 'gravatar_id': '', 'login': 'pizuz', 'subscriptions_url': 'https://api.github.com/users/pizuz/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/pizuz/starred{/owner}{/repo}', 'id': 12557040}, 'node_id': 'MDEyOklzc3VlQ29tbWVudDg0MDcyOTc2OQ==', 'body': "> I wonder if we should set `-DCMAKE_OSX_DEPLOYMENT_TARGET=10.12.0` on the x64 buildbot in that case? I suppose it's not too bad if people on 10.12 and 10.13 have to download universal builds in order to get Dolphin running, but it seems unintuitive for users.\r\n> \r\n> Unless we're planning on retiring the x64 buildbot soon...?\r\n\r\nI wouldn‘t mind having universal binaries, only, even though I‘m on x64. Two separate build systems would mean two separate chances of breaking stuff.\r\n\r\nReminds me: Are you planning to notarize the builds? Or will this be the focus of a separate PR?", 'id': 840729769}, 'action': 'created', 'repository': {'html_url': 'https://github.com/dolphin-emu/dolphin', 'open_issues': 201, 'size': 408326, 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'stargazers_count': 7342, 'pushed_at': '2021-05-13T16:59:17Z', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'forks_count': 1716, 'watchers_count': 7342, 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'has_pages': False, 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'archived': False, 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'has_wiki': True, 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'has_issues': False, 'open_issues_count': 201, 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'forks': 1716, 'license': {'node_id': 'MDc6TGljZW5zZTg=', 'key': 'gpl-2.0', 'name': 'GNU General Public License v2.0', 'spdx_id': 'GPL-2.0', 'url': 'https://api.github.com/licenses/gpl-2.0'}, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'mirror_url': None, 'has_downloads': True, 'fork': False, 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'has_projects': False, 'created_at': '2013-07-22T09:07:57Z', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'full_name': 'dolphin-emu/dolphin', 'name': 'dolphin', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'disabled': False, 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'watchers': 7342, 'id': 11577304, 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'updated_at': '2021-05-13T17:20:51Z', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'private': False, 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'owner': {'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'html_url': 'https://github.com/dolphin-emu', 'url': 'https://api.github.com/users/dolphin-emu', 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gravatar_id': '', 'login': 'dolphin-emu', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'site_admin': False, 'type': 'Organization', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'id': 5050316}, 'homepage': 'https://dolphin-emu.org/', 'default_branch': 'master', 'language': 'C++', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}'}}, 'type': 'gh_issue_comment', 'repo': 'dolphin-emu/dolphin', 'id': 9441}
2021-05-13T17:33:32.033382	{'safe_author': True, 'url': 'https://github.com/dolphin-emu/dolphin/pull/9441#issuecomment-840652507', 'source': 'ghhookparser', 'title': 'Apple M1 Support for MacOS', 'action': 'edited', 'body': "> I wonder if we should set `-DCMAKE_OSX_DEPLOYMENT_TARGET=10.12.0` on the x64 buildbot in that case? I suppose it's not too bad if people on 10.12 and 10.13 have to download universal builds in order to get Dolphin running, but it seems unintuitive for users.\r\n> \r\n> Unless we're planning on retiring the x64 buildbot soon...?\r\n\r\nI can submit a pull request for the x64 buildbot to add that. \r\n\r\nEDIT: Done. https://github.com/dolphin-emu/sadm/pull/137", 'author': 'skylersaleh', 'raw': {'sender': {'organizations_url': 'https://api.github.com/users/skylersaleh/orgs', 'repos_url': 'https://api.github.com/users/skylersaleh/repos', 'html_url': 'https://github.com/skylersaleh', 'url': 'https://api.github.com/users/skylersaleh', 'node_id': 'MDQ6VXNlcjcxMTgyOTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7118296?v=4', 'followers_url': 'https://api.github.com/users/skylersaleh/followers', 'received_events_url': 'https://api.github.com/users/skylersaleh/received_events', 'events_url': 'https://api.github.com/users/skylersaleh/events{/privacy}', 'gists_url': 'https://api.github.com/users/skylersaleh/gists{/gist_id}', 'following_url': 'https://api.github.com/users/skylersaleh/following{/other_user}', 'gravatar_id': '', 'login': 'skylersaleh', 'subscriptions_url': 'https://api.github.com/users/skylersaleh/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/skylersaleh/starred{/owner}{/repo}', 'id': 7118296}, 'changes': {'body': {'from': "> I wonder if we should set `-DCMAKE_OSX_DEPLOYMENT_TARGET=10.12.0` on the x64 buildbot in that case? I suppose it's not too bad if people on 10.12 and 10.13 have to download universal builds in order to get Dolphin running, but it seems unintuitive for users.\r\n> \r\n> Unless we're planning on retiring the x64 buildbot soon...?\r\n\r\nI can submit a pull request for the x64 buildbot to add that. "}}, 'issue': {'locked': False, 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9441/labels{/name}', 'comments': 120, 'milestone': None, 'assignees': [], 'title': 'Apple M1 Support for MacOS', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9441/events', 'pull_request': {'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/9441.patch', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/9441.diff', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9441', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441'}, 'labels': [], 'body': 'This pull request adds support for compiling Dolphin for ARM on MacOS so that it can\r\nrun natively on the M1 processors without running through Rosseta2 emulation\r\nproviding a 30-50% performance speedup and less hitches from Rosseta2.\r\n\r\nIt consists of several key changes:\r\n\r\n- Adding support for W^X allocation(MAP_JIT) for the ARM JIT\r\n- Adding the machine context and config info to identify the M1 processor\r\n- Additions to the build system and docs to support building universal binaries\r\n- Adding code signing entitlements to access the MAP_JIT functionality\r\n- Updating the MoltenVK libvulkan.dylib to a newer version with M1 support\r\n\r\nThanks everyone on IRC for the help in making this change!', 'number': 9441, 'author_association': 'CONTRIBUTOR', 'performed_via_github_app': None, 'created_at': '2021-01-13T16:10:58Z', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9441/comments', 'id': 785238185, 'updated_at': '2021-05-13T17:33:31Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9441', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9441', 'closed_at': None, 'state': 'open', 'active_lock_reason': None, 'assignee': None, 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'user': {'organizations_url': 'https://api.github.com/users/skylersaleh/orgs', 'repos_url': 'https://api.github.com/users/skylersaleh/repos', 'html_url': 'https://github.com/skylersaleh', 'url': 'https://api.github.com/users/skylersaleh', 'node_id': 'MDQ6VXNlcjcxMTgyOTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7118296?v=4', 'followers_url': 'https://api.github.com/users/skylersaleh/followers', 'received_events_url': 'https://api.github.com/users/skylersaleh/received_events', 'events_url': 'https://api.github.com/users/skylersaleh/events{/privacy}', 'gists_url': 'https://api.github.com/users/skylersaleh/gists{/gist_id}', 'following_url': 'https://api.github.com/users/skylersaleh/following{/other_user}', 'gravatar_id': '', 'login': 'skylersaleh', 'subscriptions_url': 'https://api.github.com/users/skylersaleh/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/skylersaleh/starred{/owner}{/repo}', 'id': 7118296}, 'node_id': 'MDExOlB1bGxSZXF1ZXN0NTU0Mjk3NzQ0'}, 'organization': {'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': '', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'login': 'dolphin-emu', 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'id': 5050316}, 'comment': {'performed_via_github_app': None, 'updated_at': '2021-05-13T17:33:30Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9441#issuecomment-840652507', 'created_at': '2021-05-13T15:50:09Z', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/840652507', 'author_association': 'CONTRIBUTOR', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9441', 'user': {'organizations_url': 'https://api.github.com/users/skylersaleh/orgs', 'repos_url': 'https://api.github.com/users/skylersaleh/repos', 'html_url': 'https://github.com/skylersaleh', 'url': 'https://api.github.com/users/skylersaleh', 'node_id': 'MDQ6VXNlcjcxMTgyOTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7118296?v=4', 'followers_url': 'https://api.github.com/users/skylersaleh/followers', 'received_events_url': 'https://api.github.com/users/skylersaleh/received_events', 'events_url': 'https://api.github.com/users/skylersaleh/events{/privacy}', 'gists_url': 'https://api.github.com/users/skylersaleh/gists{/gist_id}', 'following_url': 'https://api.github.com/users/skylersaleh/following{/other_user}', 'gravatar_id': '', 'login': 'skylersaleh', 'subscriptions_url': 'https://api.github.com/users/skylersaleh/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/skylersaleh/starred{/owner}{/repo}', 'id': 7118296}, 'node_id': 'MDEyOklzc3VlQ29tbWVudDg0MDY1MjUwNw==', 'body': "> I wonder if we should set `-DCMAKE_OSX_DEPLOYMENT_TARGET=10.12.0` on the x64 buildbot in that case? I suppose it's not too bad if people on 10.12 and 10.13 have to download universal builds in order to get Dolphin running, but it seems unintuitive for users.\r\n> \r\n> Unless we're planning on retiring the x64 buildbot soon...?\r\n\r\nI can submit a pull request for the x64 buildbot to add that. \r\n\r\nEDIT: Done. https://github.com/dolphin-emu/sadm/pull/137", 'id': 840652507}, 'action': 'edited', 'repository': {'html_url': 'https://github.com/dolphin-emu/dolphin', 'open_issues': 201, 'size': 408326, 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'stargazers_count': 7342, 'pushed_at': '2021-05-13T16:59:17Z', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'forks_count': 1716, 'watchers_count': 7342, 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'has_pages': False, 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'archived': False, 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'has_wiki': True, 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'has_issues': False, 'open_issues_count': 201, 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'forks': 1716, 'license': {'node_id': 'MDc6TGljZW5zZTg=', 'key': 'gpl-2.0', 'name': 'GNU General Public License v2.0', 'spdx_id': 'GPL-2.0', 'url': 'https://api.github.com/licenses/gpl-2.0'}, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'mirror_url': None, 'has_downloads': True, 'fork': False, 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'has_projects': False, 'created_at': '2013-07-22T09:07:57Z', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'full_name': 'dolphin-emu/dolphin', 'name': 'dolphin', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'disabled': False, 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'watchers': 7342, 'id': 11577304, 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'updated_at': '2021-05-13T17:20:51Z', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'private': False, 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'owner': {'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'html_url': 'https://github.com/dolphin-emu', 'url': 'https://api.github.com/users/dolphin-emu', 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gravatar_id': '', 'login': 'dolphin-emu', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'site_admin': False, 'type': 'Organization', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'id': 5050316}, 'homepage': 'https://dolphin-emu.org/', 'default_branch': 'master', 'language': 'C++', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}'}}, 'type': 'gh_issue_comment', 'repo': 'dolphin-emu/dolphin', 'id': 9441}
2021-05-13T17:06:23.157676	{'safe_author': True, 'url': 'https://github.com/dolphin-emu/dolphin/pull/9707#issuecomment-840698773', 'source': 'ghhookparser', 'title': 'Remove Atomic.h', 'action': 'created', 'body': "I've actually only removed 7 out of the 16 volatiles in `SCPFifoStruct`. The remaining ones shouldn't be hard to get rid of, but I'll handle them separately so the PR doesn't get too big.", 'author': 'JosJuice', 'raw': {'sender': {'organizations_url': 'https://api.github.com/users/JosJuice/orgs', 'repos_url': 'https://api.github.com/users/JosJuice/repos', 'html_url': 'https://github.com/JosJuice', 'url': 'https://api.github.com/users/JosJuice', 'node_id': 'MDQ6VXNlcjY3MTY4MTg=', 'avatar_url': 'https://avatars.githubusercontent.com/u/6716818?v=4', 'followers_url': 'https://api.github.com/users/JosJuice/followers', 'received_events_url': 'https://api.github.com/users/JosJuice/received_events', 'events_url': 'https://api.github.com/users/JosJuice/events{/privacy}', 'gists_url': 'https://api.github.com/users/JosJuice/gists{/gist_id}', 'following_url': 'https://api.github.com/users/JosJuice/following{/other_user}', 'gravatar_id': '', 'login': 'JosJuice', 'subscriptions_url': 'https://api.github.com/users/JosJuice/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/JosJuice/starred{/owner}{/repo}', 'id': 6716818}, 'issue': {'locked': False, 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9707/labels{/name}', 'comments': 2, 'milestone': None, 'assignees': [], 'title': 'Remove Atomic.h', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9707/events', 'pull_request': {'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/9707.patch', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/9707.diff', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9707', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9707'}, 'labels': [], 'body': "The STL has everything we need nowadays.\r\n\r\nI have tried to not alter any behavior or semantics with this change wherever possible. In particular, `WriteLow` and `WriteHigh` in  `CommandProcessor` retain the ability to accidentally undo another thread's write to the upper half or lower half respectively. If that should be fixed, it should be done in a separate commit for clarity. One thing did change: The places where we were using `+=` on a volatile variable (not an atomic operation) are now using `fetch_add` (actually an atomic operation).\r\n\r\nTested with single core and dual core on x86-64 and AArch64.", 'number': 9707, 'author_association': 'MEMBER', 'performed_via_github_app': None, 'created_at': '2021-05-13T16:59:17Z', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9707/comments', 'id': 891206568, 'updated_at': '2021-05-13T17:06:21Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9707', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9707', 'closed_at': None, 'state': 'open', 'active_lock_reason': None, 'assignee': None, 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'user': {'organizations_url': 'https://api.github.com/users/JosJuice/orgs', 'repos_url': 'https://api.github.com/users/JosJuice/repos', 'html_url': 'https://github.com/JosJuice', 'url': 'https://api.github.com/users/JosJuice', 'node_id': 'MDQ6VXNlcjY3MTY4MTg=', 'avatar_url': 'https://avatars.githubusercontent.com/u/6716818?v=4', 'followers_url': 'https://api.github.com/users/JosJuice/followers', 'received_events_url': 'https://api.github.com/users/JosJuice/received_events', 'events_url': 'https://api.github.com/users/JosJuice/events{/privacy}', 'gists_url': 'https://api.github.com/users/JosJuice/gists{/gist_id}', 'following_url': 'https://api.github.com/users/JosJuice/following{/other_user}', 'gravatar_id': '', 'login': 'JosJuice', 'subscriptions_url': 'https://api.github.com/users/JosJuice/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/JosJuice/starred{/owner}{/repo}', 'id': 6716818}, 'node_id': 'MDExOlB1bGxSZXF1ZXN0NjQ0MTEwNTYw'}, 'organization': {'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': '', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'login': 'dolphin-emu', 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'id': 5050316}, 'comment': {'performed_via_github_app': None, 'updated_at': '2021-05-13T17:06:21Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9707#issuecomment-840698773', 'created_at': '2021-05-13T17:06:21Z', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/840698773', 'author_association': 'MEMBER', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9707', 'user': {'organizations_url': 'https://api.github.com/users/JosJuice/orgs', 'repos_url': 'https://api.github.com/users/JosJuice/repos', 'html_url': 'https://github.com/JosJuice', 'url': 'https://api.github.com/users/JosJuice', 'node_id': 'MDQ6VXNlcjY3MTY4MTg=', 'avatar_url': 'https://avatars.githubusercontent.com/u/6716818?v=4', 'followers_url': 'https://api.github.com/users/JosJuice/followers', 'received_events_url': 'https://api.github.com/users/JosJuice/received_events', 'events_url': 'https://api.github.com/users/JosJuice/events{/privacy}', 'gists_url': 'https://api.github.com/users/JosJuice/gists{/gist_id}', 'following_url': 'https://api.github.com/users/JosJuice/following{/other_user}', 'gravatar_id': '', 'login': 'JosJuice', 'subscriptions_url': 'https://api.github.com/users/JosJuice/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/JosJuice/starred{/owner}{/repo}', 'id': 6716818}, 'node_id': 'MDEyOklzc3VlQ29tbWVudDg0MDY5ODc3Mw==', 'body': "I've actually only removed 7 out of the 16 volatiles in `SCPFifoStruct`. The remaining ones shouldn't be hard to get rid of, but I'll handle them separately so the PR doesn't get too big.", 'id': 840698773}, 'action': 'created', 'repository': {'html_url': 'https://github.com/dolphin-emu/dolphin', 'open_issues': 201, 'size': 408326, 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'stargazers_count': 7341, 'pushed_at': '2021-05-13T16:59:17Z', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'forks_count': 1716, 'watchers_count': 7341, 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'has_pages': False, 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'archived': False, 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'has_wiki': True, 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'has_issues': False, 'open_issues_count': 201, 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'forks': 1716, 'license': {'node_id': 'MDc6TGljZW5zZTg=', 'key': 'gpl-2.0', 'name': 'GNU General Public License v2.0', 'spdx_id': 'GPL-2.0', 'url': 'https://api.github.com/licenses/gpl-2.0'}, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'mirror_url': None, 'has_downloads': True, 'fork': False, 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'has_projects': False, 'created_at': '2013-07-22T09:07:57Z', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'full_name': 'dolphin-emu/dolphin', 'name': 'dolphin', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'disabled': False, 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'watchers': 7341, 'id': 11577304, 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'updated_at': '2021-05-13T12:54:31Z', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'private': False, 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'owner': {'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'html_url': 'https://github.com/dolphin-emu', 'url': 'https://api.github.com/users/dolphin-emu', 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gravatar_id': '', 'login': 'dolphin-emu', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'site_admin': False, 'type': 'Organization', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'id': 5050316}, 'homepage': 'https://dolphin-emu.org/', 'default_branch': 'master', 'language': 'C++', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}'}}, 'type': 'gh_issue_comment', 'repo': 'dolphin-emu/dolphin', 'id': 9707}
2021-05-13T17:03:18.888104	{'safe_author': True, 'url': 'https://github.com/dolphin-emu/dolphin/pull/9707#issuecomment-840696933', 'source': 'ghhookparser', 'title': 'Remove Atomic.h', 'action': 'created', 'body': 'You absolutely love to see it =). I think with this, we finally have most of the volatile occurrences removed from the codebase (aside from one in DSP code off the top of my head)', 'author': 'lioncash', 'raw': {'sender': {'organizations_url': 'https://api.github.com/users/lioncash/orgs', 'repos_url': 'https://api.github.com/users/lioncash/repos', 'html_url': 'https://github.com/lioncash', 'url': 'https://api.github.com/users/lioncash', 'node_id': 'MDQ6VXNlcjcxMjA2Nw==', 'avatar_url': 'https://avatars.githubusercontent.com/u/712067?v=4', 'followers_url': 'https://api.github.com/users/lioncash/followers', 'received_events_url': 'https://api.github.com/users/lioncash/received_events', 'events_url': 'https://api.github.com/users/lioncash/events{/privacy}', 'gists_url': 'https://api.github.com/users/lioncash/gists{/gist_id}', 'following_url': 'https://api.github.com/users/lioncash/following{/other_user}', 'gravatar_id': '', 'login': 'lioncash', 'subscriptions_url': 'https://api.github.com/users/lioncash/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/lioncash/starred{/owner}{/repo}', 'id': 712067}, 'issue': {'locked': False, 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9707/labels{/name}', 'comments': 1, 'milestone': None, 'assignees': [], 'title': 'Remove Atomic.h', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9707/events', 'pull_request': {'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/9707.patch', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/9707.diff', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9707', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9707'}, 'labels': [], 'body': "The STL has everything we need nowadays.\r\n\r\nI have tried to not alter any behavior or semantics with this change wherever possible. In particular, `WriteLow` and `WriteHigh` in  `CommandProcessor` retain the ability to accidentally undo another thread's write to the upper half or lower half respectively. If that should be fixed, it should be done in a separate commit for clarity. One thing did change: The places where we were using `+=` on a volatile variable (not an atomic operation) are now using `fetch_add` (actually an atomic operation).\r\n\r\nTested with single core and dual core on x86-64 and AArch64.", 'number': 9707, 'author_association': 'MEMBER', 'performed_via_github_app': None, 'created_at': '2021-05-13T16:59:17Z', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9707/comments', 'id': 891206568, 'updated_at': '2021-05-13T17:03:17Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9707', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9707', 'closed_at': None, 'state': 'open', 'active_lock_reason': None, 'assignee': None, 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'user': {'organizations_url': 'https://api.github.com/users/JosJuice/orgs', 'repos_url': 'https://api.github.com/users/JosJuice/repos', 'html_url': 'https://github.com/JosJuice', 'url': 'https://api.github.com/users/JosJuice', 'node_id': 'MDQ6VXNlcjY3MTY4MTg=', 'avatar_url': 'https://avatars.githubusercontent.com/u/6716818?v=4', 'followers_url': 'https://api.github.com/users/JosJuice/followers', 'received_events_url': 'https://api.github.com/users/JosJuice/received_events', 'events_url': 'https://api.github.com/users/JosJuice/events{/privacy}', 'gists_url': 'https://api.github.com/users/JosJuice/gists{/gist_id}', 'following_url': 'https://api.github.com/users/JosJuice/following{/other_user}', 'gravatar_id': '', 'login': 'JosJuice', 'subscriptions_url': 'https://api.github.com/users/JosJuice/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/JosJuice/starred{/owner}{/repo}', 'id': 6716818}, 'node_id': 'MDExOlB1bGxSZXF1ZXN0NjQ0MTEwNTYw'}, 'organization': {'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': '', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'login': 'dolphin-emu', 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'id': 5050316}, 'comment': {'performed_via_github_app': None, 'updated_at': '2021-05-13T17:03:17Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9707#issuecomment-840696933', 'created_at': '2021-05-13T17:03:17Z', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/840696933', 'author_association': 'MEMBER', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9707', 'user': {'organizations_url': 'https://api.github.com/users/lioncash/orgs', 'repos_url': 'https://api.github.com/users/lioncash/repos', 'html_url': 'https://github.com/lioncash', 'url': 'https://api.github.com/users/lioncash', 'node_id': 'MDQ6VXNlcjcxMjA2Nw==', 'avatar_url': 'https://avatars.githubusercontent.com/u/712067?v=4', 'followers_url': 'https://api.github.com/users/lioncash/followers', 'received_events_url': 'https://api.github.com/users/lioncash/received_events', 'events_url': 'https://api.github.com/users/lioncash/events{/privacy}', 'gists_url': 'https://api.github.com/users/lioncash/gists{/gist_id}', 'following_url': 'https://api.github.com/users/lioncash/following{/other_user}', 'gravatar_id': '', 'login': 'lioncash', 'subscriptions_url': 'https://api.github.com/users/lioncash/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/lioncash/starred{/owner}{/repo}', 'id': 712067}, 'node_id': 'MDEyOklzc3VlQ29tbWVudDg0MDY5NjkzMw==', 'body': 'You absolutely love to see it =). I think with this, we finally have most of the volatile occurrences removed from the codebase (aside from one in DSP code off the top of my head)', 'id': 840696933}, 'action': 'created', 'repository': {'html_url': 'https://github.com/dolphin-emu/dolphin', 'open_issues': 201, 'size': 408326, 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'stargazers_count': 7341, 'pushed_at': '2021-05-13T16:59:17Z', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'forks_count': 1716, 'watchers_count': 7341, 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'has_pages': False, 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'archived': False, 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'has_wiki': True, 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'has_issues': False, 'open_issues_count': 201, 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'forks': 1716, 'license': {'node_id': 'MDc6TGljZW5zZTg=', 'key': 'gpl-2.0', 'name': 'GNU General Public License v2.0', 'spdx_id': 'GPL-2.0', 'url': 'https://api.github.com/licenses/gpl-2.0'}, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'mirror_url': None, 'has_downloads': True, 'fork': False, 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'has_projects': False, 'created_at': '2013-07-22T09:07:57Z', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'full_name': 'dolphin-emu/dolphin', 'name': 'dolphin', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'disabled': False, 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'watchers': 7341, 'id': 11577304, 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'updated_at': '2021-05-13T12:54:31Z', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'private': False, 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'owner': {'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'html_url': 'https://github.com/dolphin-emu', 'url': 'https://api.github.com/users/dolphin-emu', 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gravatar_id': '', 'login': 'dolphin-emu', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'site_admin': False, 'type': 'Organization', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'id': 5050316}, 'homepage': 'https://dolphin-emu.org/', 'default_branch': 'master', 'language': 'C++', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}'}}, 'type': 'gh_issue_comment', 'repo': 'dolphin-emu/dolphin', 'id': 9707}
2021-05-13T15:50:10.525513	{'safe_author': True, 'url': 'https://github.com/dolphin-emu/dolphin/pull/9441#issuecomment-840652507', 'source': 'ghhookparser', 'title': 'Apple M1 Support for MacOS', 'action': 'created', 'body': "> I wonder if we should set `-DCMAKE_OSX_DEPLOYMENT_TARGET=10.12.0` on the x64 buildbot in that case? I suppose it's not too bad if people on 10.12 and 10.13 have to download universal builds in order to get Dolphin running, but it seems unintuitive for users.\r\n> \r\n> Unless we're planning on retiring the x64 buildbot soon...?\r\n\r\nI can submit a pull request for the x64 buildbot to add that. ", 'author': 'skylersaleh', 'raw': {'sender': {'organizations_url': 'https://api.github.com/users/skylersaleh/orgs', 'repos_url': 'https://api.github.com/users/skylersaleh/repos', 'html_url': 'https://github.com/skylersaleh', 'url': 'https://api.github.com/users/skylersaleh', 'node_id': 'MDQ6VXNlcjcxMTgyOTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7118296?v=4', 'followers_url': 'https://api.github.com/users/skylersaleh/followers', 'received_events_url': 'https://api.github.com/users/skylersaleh/received_events', 'events_url': 'https://api.github.com/users/skylersaleh/events{/privacy}', 'gists_url': 'https://api.github.com/users/skylersaleh/gists{/gist_id}', 'following_url': 'https://api.github.com/users/skylersaleh/following{/other_user}', 'gravatar_id': '', 'login': 'skylersaleh', 'subscriptions_url': 'https://api.github.com/users/skylersaleh/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/skylersaleh/starred{/owner}{/repo}', 'id': 7118296}, 'issue': {'locked': False, 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9441/labels{/name}', 'comments': 120, 'milestone': None, 'assignees': [], 'title': 'Apple M1 Support for MacOS', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9441/events', 'pull_request': {'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/9441.patch', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/9441.diff', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9441', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441'}, 'labels': [], 'body': 'This pull request adds support for compiling Dolphin for ARM on MacOS so that it can\r\nrun natively on the M1 processors without running through Rosseta2 emulation\r\nproviding a 30-50% performance speedup and less hitches from Rosseta2.\r\n\r\nIt consists of several key changes:\r\n\r\n- Adding support for W^X allocation(MAP_JIT) for the ARM JIT\r\n- Adding the machine context and config info to identify the M1 processor\r\n- Additions to the build system and docs to support building universal binaries\r\n- Adding code signing entitlements to access the MAP_JIT functionality\r\n- Updating the MoltenVK libvulkan.dylib to a newer version with M1 support\r\n\r\nThanks everyone on IRC for the help in making this change!', 'number': 9441, 'author_association': 'CONTRIBUTOR', 'performed_via_github_app': None, 'created_at': '2021-01-13T16:10:58Z', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9441/comments', 'id': 785238185, 'updated_at': '2021-05-13T15:50:09Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9441', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9441', 'closed_at': None, 'state': 'open', 'active_lock_reason': None, 'assignee': None, 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'user': {'organizations_url': 'https://api.github.com/users/skylersaleh/orgs', 'repos_url': 'https://api.github.com/users/skylersaleh/repos', 'html_url': 'https://github.com/skylersaleh', 'url': 'https://api.github.com/users/skylersaleh', 'node_id': 'MDQ6VXNlcjcxMTgyOTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7118296?v=4', 'followers_url': 'https://api.github.com/users/skylersaleh/followers', 'received_events_url': 'https://api.github.com/users/skylersaleh/received_events', 'events_url': 'https://api.github.com/users/skylersaleh/events{/privacy}', 'gists_url': 'https://api.github.com/users/skylersaleh/gists{/gist_id}', 'following_url': 'https://api.github.com/users/skylersaleh/following{/other_user}', 'gravatar_id': '', 'login': 'skylersaleh', 'subscriptions_url': 'https://api.github.com/users/skylersaleh/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/skylersaleh/starred{/owner}{/repo}', 'id': 7118296}, 'node_id': 'MDExOlB1bGxSZXF1ZXN0NTU0Mjk3NzQ0'}, 'organization': {'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': '', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'login': 'dolphin-emu', 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'id': 5050316}, 'comment': {'performed_via_github_app': None, 'updated_at': '2021-05-13T15:50:09Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9441#issuecomment-840652507', 'created_at': '2021-05-13T15:50:09Z', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/840652507', 'author_association': 'CONTRIBUTOR', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9441', 'user': {'organizations_url': 'https://api.github.com/users/skylersaleh/orgs', 'repos_url': 'https://api.github.com/users/skylersaleh/repos', 'html_url': 'https://github.com/skylersaleh', 'url': 'https://api.github.com/users/skylersaleh', 'node_id': 'MDQ6VXNlcjcxMTgyOTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7118296?v=4', 'followers_url': 'https://api.github.com/users/skylersaleh/followers', 'received_events_url': 'https://api.github.com/users/skylersaleh/received_events', 'events_url': 'https://api.github.com/users/skylersaleh/events{/privacy}', 'gists_url': 'https://api.github.com/users/skylersaleh/gists{/gist_id}', 'following_url': 'https://api.github.com/users/skylersaleh/following{/other_user}', 'gravatar_id': '', 'login': 'skylersaleh', 'subscriptions_url': 'https://api.github.com/users/skylersaleh/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/skylersaleh/starred{/owner}{/repo}', 'id': 7118296}, 'node_id': 'MDEyOklzc3VlQ29tbWVudDg0MDY1MjUwNw==', 'body': "> I wonder if we should set `-DCMAKE_OSX_DEPLOYMENT_TARGET=10.12.0` on the x64 buildbot in that case? I suppose it's not too bad if people on 10.12 and 10.13 have to download universal builds in order to get Dolphin running, but it seems unintuitive for users.\r\n> \r\n> Unless we're planning on retiring the x64 buildbot soon...?\r\n\r\nI can submit a pull request for the x64 buildbot to add that. ", 'id': 840652507}, 'action': 'created', 'repository': {'html_url': 'https://github.com/dolphin-emu/dolphin', 'open_issues': 200, 'size': 408326, 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'stargazers_count': 7341, 'pushed_at': '2021-05-13T12:54:25Z', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'forks_count': 1716, 'watchers_count': 7341, 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'has_pages': False, 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'archived': False, 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'has_wiki': True, 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'has_issues': False, 'open_issues_count': 200, 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'forks': 1716, 'license': {'node_id': 'MDc6TGljZW5zZTg=', 'key': 'gpl-2.0', 'name': 'GNU General Public License v2.0', 'spdx_id': 'GPL-2.0', 'url': 'https://api.github.com/licenses/gpl-2.0'}, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'mirror_url': None, 'has_downloads': True, 'fork': False, 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'has_projects': False, 'created_at': '2013-07-22T09:07:57Z', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'full_name': 'dolphin-emu/dolphin', 'name': 'dolphin', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'disabled': False, 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'watchers': 7341, 'id': 11577304, 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'updated_at': '2021-05-13T12:54:31Z', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'private': False, 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'owner': {'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'html_url': 'https://github.com/dolphin-emu', 'url': 'https://api.github.com/users/dolphin-emu', 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gravatar_id': '', 'login': 'dolphin-emu', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'site_admin': False, 'type': 'Organization', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'id': 5050316}, 'homepage': 'https://dolphin-emu.org/', 'default_branch': 'master', 'language': 'C++', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}'}}, 'type': 'gh_issue_comment', 'repo': 'dolphin-emu/dolphin', 'id': 9441}
2021-05-13T15:45:30.361316	{'safe_author': True, 'url': 'https://github.com/dolphin-emu/dolphin/pull/9441#issuecomment-840649548', 'source': 'ghhookparser', 'title': 'Apple M1 Support for MacOS', 'action': 'edited', 'body': "I wonder if we should set `-DCMAKE_OSX_DEPLOYMENT_TARGET=10.12.0` on the x64 buildbot in that case? I suppose it's not too bad if people on 10.12 and 10.13 have to download universal builds in order to get Dolphin running, but it seems unintuitive for users.\r\n\r\nUnless we're planning on retiring the x64 buildbot soon...?", 'author': 'JosJuice', 'raw': {'sender': {'organizations_url': 'https://api.github.com/users/JosJuice/orgs', 'repos_url': 'https://api.github.com/users/JosJuice/repos', 'html_url': 'https://github.com/JosJuice', 'url': 'https://api.github.com/users/JosJuice', 'node_id': 'MDQ6VXNlcjY3MTY4MTg=', 'avatar_url': 'https://avatars.githubusercontent.com/u/6716818?v=4', 'followers_url': 'https://api.github.com/users/JosJuice/followers', 'received_events_url': 'https://api.github.com/users/JosJuice/received_events', 'events_url': 'https://api.github.com/users/JosJuice/events{/privacy}', 'gists_url': 'https://api.github.com/users/JosJuice/gists{/gist_id}', 'following_url': 'https://api.github.com/users/JosJuice/following{/other_user}', 'gravatar_id': '', 'login': 'JosJuice', 'subscriptions_url': 'https://api.github.com/users/JosJuice/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/JosJuice/starred{/owner}{/repo}', 'id': 6716818}, 'changes': {'body': {'from': "I wonder if we should set `-DCMAKE_OSX_DEPLOYMENT_TARGET=10.12.0` on the x64 buildbot in that case? I suppose it's not too bad if people on 10.12 and 10.13 have to download universal builds in order to get Dolphin running, but it seems unintuitive for users."}}, 'issue': {'locked': False, 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9441/labels{/name}', 'comments': 119, 'milestone': None, 'assignees': [], 'title': 'Apple M1 Support for MacOS', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9441/events', 'pull_request': {'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/9441.patch', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/9441.diff', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9441', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441'}, 'labels': [], 'body': 'This pull request adds support for compiling Dolphin for ARM on MacOS so that it can\r\nrun natively on the M1 processors without running through Rosseta2 emulation\r\nproviding a 30-50% performance speedup and less hitches from Rosseta2.\r\n\r\nIt consists of several key changes:\r\n\r\n- Adding support for W^X allocation(MAP_JIT) for the ARM JIT\r\n- Adding the machine context and config info to identify the M1 processor\r\n- Additions to the build system and docs to support building universal binaries\r\n- Adding code signing entitlements to access the MAP_JIT functionality\r\n- Updating the MoltenVK libvulkan.dylib to a newer version with M1 support\r\n\r\nThanks everyone on IRC for the help in making this change!', 'number': 9441, 'author_association': 'CONTRIBUTOR', 'performed_via_github_app': None, 'created_at': '2021-01-13T16:10:58Z', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9441/comments', 'id': 785238185, 'updated_at': '2021-05-13T15:45:29Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9441', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9441', 'closed_at': None, 'state': 'open', 'active_lock_reason': None, 'assignee': None, 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'user': {'organizations_url': 'https://api.github.com/users/skylersaleh/orgs', 'repos_url': 'https://api.github.com/users/skylersaleh/repos', 'html_url': 'https://github.com/skylersaleh', 'url': 'https://api.github.com/users/skylersaleh', 'node_id': 'MDQ6VXNlcjcxMTgyOTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7118296?v=4', 'followers_url': 'https://api.github.com/users/skylersaleh/followers', 'received_events_url': 'https://api.github.com/users/skylersaleh/received_events', 'events_url': 'https://api.github.com/users/skylersaleh/events{/privacy}', 'gists_url': 'https://api.github.com/users/skylersaleh/gists{/gist_id}', 'following_url': 'https://api.github.com/users/skylersaleh/following{/other_user}', 'gravatar_id': '', 'login': 'skylersaleh', 'subscriptions_url': 'https://api.github.com/users/skylersaleh/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/skylersaleh/starred{/owner}{/repo}', 'id': 7118296}, 'node_id': 'MDExOlB1bGxSZXF1ZXN0NTU0Mjk3NzQ0'}, 'organization': {'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': '', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'login': 'dolphin-emu', 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'id': 5050316}, 'comment': {'performed_via_github_app': None, 'updated_at': '2021-05-13T15:45:29Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9441#issuecomment-840649548', 'created_at': '2021-05-13T15:45:06Z', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/840649548', 'author_association': 'MEMBER', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9441', 'user': {'organizations_url': 'https://api.github.com/users/JosJuice/orgs', 'repos_url': 'https://api.github.com/users/JosJuice/repos', 'html_url': 'https://github.com/JosJuice', 'url': 'https://api.github.com/users/JosJuice', 'node_id': 'MDQ6VXNlcjY3MTY4MTg=', 'avatar_url': 'https://avatars.githubusercontent.com/u/6716818?v=4', 'followers_url': 'https://api.github.com/users/JosJuice/followers', 'received_events_url': 'https://api.github.com/users/JosJuice/received_events', 'events_url': 'https://api.github.com/users/JosJuice/events{/privacy}', 'gists_url': 'https://api.github.com/users/JosJuice/gists{/gist_id}', 'following_url': 'https://api.github.com/users/JosJuice/following{/other_user}', 'gravatar_id': '', 'login': 'JosJuice', 'subscriptions_url': 'https://api.github.com/users/JosJuice/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/JosJuice/starred{/owner}{/repo}', 'id': 6716818}, 'node_id': 'MDEyOklzc3VlQ29tbWVudDg0MDY0OTU0OA==', 'body': "I wonder if we should set `-DCMAKE_OSX_DEPLOYMENT_TARGET=10.12.0` on the x64 buildbot in that case? I suppose it's not too bad if people on 10.12 and 10.13 have to download universal builds in order to get Dolphin running, but it seems unintuitive for users.\r\n\r\nUnless we're planning on retiring the x64 buildbot soon...?", 'id': 840649548}, 'action': 'edited', 'repository': {'html_url': 'https://github.com/dolphin-emu/dolphin', 'open_issues': 200, 'size': 408326, 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'stargazers_count': 7341, 'pushed_at': '2021-05-13T12:54:25Z', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'forks_count': 1716, 'watchers_count': 7341, 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'has_pages': False, 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'archived': False, 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'has_wiki': True, 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'has_issues': False, 'open_issues_count': 200, 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'forks': 1716, 'license': {'node_id': 'MDc6TGljZW5zZTg=', 'key': 'gpl-2.0', 'name': 'GNU General Public License v2.0', 'spdx_id': 'GPL-2.0', 'url': 'https://api.github.com/licenses/gpl-2.0'}, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'mirror_url': None, 'has_downloads': True, 'fork': False, 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'has_projects': False, 'created_at': '2013-07-22T09:07:57Z', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'full_name': 'dolphin-emu/dolphin', 'name': 'dolphin', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'disabled': False, 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'watchers': 7341, 'id': 11577304, 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'updated_at': '2021-05-13T12:54:31Z', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'private': False, 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'owner': {'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'html_url': 'https://github.com/dolphin-emu', 'url': 'https://api.github.com/users/dolphin-emu', 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gravatar_id': '', 'login': 'dolphin-emu', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'site_admin': False, 'type': 'Organization', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'id': 5050316}, 'homepage': 'https://dolphin-emu.org/', 'default_branch': 'master', 'language': 'C++', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}'}}, 'type': 'gh_issue_comment', 'repo': 'dolphin-emu/dolphin', 'id': 9441}
2021-05-13T15:45:07.118892	{'safe_author': True, 'url': 'https://github.com/dolphin-emu/dolphin/pull/9441#issuecomment-840649548', 'source': 'ghhookparser', 'title': 'Apple M1 Support for MacOS', 'action': 'created', 'body': "I wonder if we should set `-DCMAKE_OSX_DEPLOYMENT_TARGET=10.12.0` on the x64 buildbot in that case? I suppose it's not too bad if people on 10.12 and 10.13 have to download universal builds in order to get Dolphin running, but it seems unintuitive for users.", 'author': 'JosJuice', 'raw': {'sender': {'organizations_url': 'https://api.github.com/users/JosJuice/orgs', 'repos_url': 'https://api.github.com/users/JosJuice/repos', 'html_url': 'https://github.com/JosJuice', 'url': 'https://api.github.com/users/JosJuice', 'node_id': 'MDQ6VXNlcjY3MTY4MTg=', 'avatar_url': 'https://avatars.githubusercontent.com/u/6716818?v=4', 'followers_url': 'https://api.github.com/users/JosJuice/followers', 'received_events_url': 'https://api.github.com/users/JosJuice/received_events', 'events_url': 'https://api.github.com/users/JosJuice/events{/privacy}', 'gists_url': 'https://api.github.com/users/JosJuice/gists{/gist_id}', 'following_url': 'https://api.github.com/users/JosJuice/following{/other_user}', 'gravatar_id': '', 'login': 'JosJuice', 'subscriptions_url': 'https://api.github.com/users/JosJuice/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/JosJuice/starred{/owner}{/repo}', 'id': 6716818}, 'issue': {'locked': False, 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9441/labels{/name}', 'comments': 119, 'milestone': None, 'assignees': [], 'title': 'Apple M1 Support for MacOS', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9441/events', 'pull_request': {'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/9441.patch', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/9441.diff', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9441', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441'}, 'labels': [], 'body': 'This pull request adds support for compiling Dolphin for ARM on MacOS so that it can\r\nrun natively on the M1 processors without running through Rosseta2 emulation\r\nproviding a 30-50% performance speedup and less hitches from Rosseta2.\r\n\r\nIt consists of several key changes:\r\n\r\n- Adding support for W^X allocation(MAP_JIT) for the ARM JIT\r\n- Adding the machine context and config info to identify the M1 processor\r\n- Additions to the build system and docs to support building universal binaries\r\n- Adding code signing entitlements to access the MAP_JIT functionality\r\n- Updating the MoltenVK libvulkan.dylib to a newer version with M1 support\r\n\r\nThanks everyone on IRC for the help in making this change!', 'number': 9441, 'author_association': 'CONTRIBUTOR', 'performed_via_github_app': None, 'created_at': '2021-01-13T16:10:58Z', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9441/comments', 'id': 785238185, 'updated_at': '2021-05-13T15:45:06Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9441', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9441', 'closed_at': None, 'state': 'open', 'active_lock_reason': None, 'assignee': None, 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'user': {'organizations_url': 'https://api.github.com/users/skylersaleh/orgs', 'repos_url': 'https://api.github.com/users/skylersaleh/repos', 'html_url': 'https://github.com/skylersaleh', 'url': 'https://api.github.com/users/skylersaleh', 'node_id': 'MDQ6VXNlcjcxMTgyOTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7118296?v=4', 'followers_url': 'https://api.github.com/users/skylersaleh/followers', 'received_events_url': 'https://api.github.com/users/skylersaleh/received_events', 'events_url': 'https://api.github.com/users/skylersaleh/events{/privacy}', 'gists_url': 'https://api.github.com/users/skylersaleh/gists{/gist_id}', 'following_url': 'https://api.github.com/users/skylersaleh/following{/other_user}', 'gravatar_id': '', 'login': 'skylersaleh', 'subscriptions_url': 'https://api.github.com/users/skylersaleh/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/skylersaleh/starred{/owner}{/repo}', 'id': 7118296}, 'node_id': 'MDExOlB1bGxSZXF1ZXN0NTU0Mjk3NzQ0'}, 'organization': {'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': '', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'login': 'dolphin-emu', 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'id': 5050316}, 'comment': {'performed_via_github_app': None, 'updated_at': '2021-05-13T15:45:06Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9441#issuecomment-840649548', 'created_at': '2021-05-13T15:45:06Z', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/840649548', 'author_association': 'MEMBER', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9441', 'user': {'organizations_url': 'https://api.github.com/users/JosJuice/orgs', 'repos_url': 'https://api.github.com/users/JosJuice/repos', 'html_url': 'https://github.com/JosJuice', 'url': 'https://api.github.com/users/JosJuice', 'node_id': 'MDQ6VXNlcjY3MTY4MTg=', 'avatar_url': 'https://avatars.githubusercontent.com/u/6716818?v=4', 'followers_url': 'https://api.github.com/users/JosJuice/followers', 'received_events_url': 'https://api.github.com/users/JosJuice/received_events', 'events_url': 'https://api.github.com/users/JosJuice/events{/privacy}', 'gists_url': 'https://api.github.com/users/JosJuice/gists{/gist_id}', 'following_url': 'https://api.github.com/users/JosJuice/following{/other_user}', 'gravatar_id': '', 'login': 'JosJuice', 'subscriptions_url': 'https://api.github.com/users/JosJuice/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/JosJuice/starred{/owner}{/repo}', 'id': 6716818}, 'node_id': 'MDEyOklzc3VlQ29tbWVudDg0MDY0OTU0OA==', 'body': "I wonder if we should set `-DCMAKE_OSX_DEPLOYMENT_TARGET=10.12.0` on the x64 buildbot in that case? I suppose it's not too bad if people on 10.12 and 10.13 have to download universal builds in order to get Dolphin running, but it seems unintuitive for users.", 'id': 840649548}, 'action': 'created', 'repository': {'html_url': 'https://github.com/dolphin-emu/dolphin', 'open_issues': 200, 'size': 408326, 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'stargazers_count': 7341, 'pushed_at': '2021-05-13T12:54:25Z', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'forks_count': 1716, 'watchers_count': 7341, 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'has_pages': False, 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'archived': False, 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'has_wiki': True, 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'has_issues': False, 'open_issues_count': 200, 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'forks': 1716, 'license': {'node_id': 'MDc6TGljZW5zZTg=', 'key': 'gpl-2.0', 'name': 'GNU General Public License v2.0', 'spdx_id': 'GPL-2.0', 'url': 'https://api.github.com/licenses/gpl-2.0'}, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'mirror_url': None, 'has_downloads': True, 'fork': False, 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'has_projects': False, 'created_at': '2013-07-22T09:07:57Z', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'full_name': 'dolphin-emu/dolphin', 'name': 'dolphin', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'disabled': False, 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'watchers': 7341, 'id': 11577304, 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'updated_at': '2021-05-13T12:54:31Z', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'private': False, 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'owner': {'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'html_url': 'https://github.com/dolphin-emu', 'url': 'https://api.github.com/users/dolphin-emu', 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gravatar_id': '', 'login': 'dolphin-emu', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'site_admin': False, 'type': 'Organization', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'id': 5050316}, 'homepage': 'https://dolphin-emu.org/', 'default_branch': 'master', 'language': 'C++', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}'}}, 'type': 'gh_issue_comment', 'repo': 'dolphin-emu/dolphin', 'id': 9441}
2021-05-13T15:43:03.258994	{'safe_author': True, 'url': 'https://github.com/dolphin-emu/dolphin/pull/9441#issuecomment-840646607', 'source': 'ghhookparser', 'title': 'Apple M1 Support for MacOS', 'action': 'edited', 'body': "> If you do an x86-64 build the normal way (without BuildMacOSUniversalBinary.py), is the OS requirement 10.12 like before, or has it been changed to 10.14?\r\n\r\nIt has been changed to 10.14 by default, because the regular CMake based build is used for both ARM and Intel single architecture binaries (as it just builds for the native architecture of the machine building it) and the macOS SDK can't compile code that utilizes shared_ptr for deployment targets before 10.14 in ARM builds. \r\n\r\nTechnically, you can still build for Intel on 10.12 by overriding the deployment target by adding the command line option `-DCMAKE_OSX_DEPLOYMENT_TARGET=10.12.0` (like the BuildMacOSUniversalBinary.py script does). However, I couldn't figure out how to do this automatically for Intel targets in a clean way as the CMake variables for the SYSTEM_PROCESSOR are not initialized until the project command is called, and the deployment target must be specified before the project command is called. \r\n\r\n", 'author': 'skylersaleh', 'raw': {'sender': {'organizations_url': 'https://api.github.com/users/skylersaleh/orgs', 'repos_url': 'https://api.github.com/users/skylersaleh/repos', 'html_url': 'https://github.com/skylersaleh', 'url': 'https://api.github.com/users/skylersaleh', 'node_id': 'MDQ6VXNlcjcxMTgyOTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7118296?v=4', 'followers_url': 'https://api.github.com/users/skylersaleh/followers', 'received_events_url': 'https://api.github.com/users/skylersaleh/received_events', 'events_url': 'https://api.github.com/users/skylersaleh/events{/privacy}', 'gists_url': 'https://api.github.com/users/skylersaleh/gists{/gist_id}', 'following_url': 'https://api.github.com/users/skylersaleh/following{/other_user}', 'gravatar_id': '', 'login': 'skylersaleh', 'subscriptions_url': 'https://api.github.com/users/skylersaleh/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/skylersaleh/starred{/owner}{/repo}', 'id': 7118296}, 'changes': {'body': {'from': "> If you do an x86-64 build the normal way (without BuildMacOSUniversalBinary.py), is the OS requirement 10.12 like before, or has it been changed to 10.14?\r\n\r\nIt has been changed to 10.14 by default, because the regular CMake based build is used for both ARM and Intel single architecture binaries (as it just builds for the native architecture of the machine building it) and the macOS SDK can't compile code that utilizes shared_ptr for deployment targets before 10.14 in ARM builds. \r\n\r\nTechnically, you can still build for Intel on 10.12 by overriding the deployment target outside of CMake (like the BuildMacOSUniversalBinary.py script does). However, unfortunately, I couldn't figure out how to do this by default for Intel targets in a clean way as the CMake variables for the SYSTEM_PROCESSOR are not initialized until the project command is called, and the deployment target must be specified before the project command is called. \r\n\r\n"}}, 'issue': {'locked': False, 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9441/labels{/name}', 'comments': 118, 'milestone': None, 'assignees': [], 'title': 'Apple M1 Support for MacOS', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9441/events', 'pull_request': {'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/9441.patch', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/9441.diff', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9441', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441'}, 'labels': [], 'body': 'This pull request adds support for compiling Dolphin for ARM on MacOS so that it can\r\nrun natively on the M1 processors without running through Rosseta2 emulation\r\nproviding a 30-50% performance speedup and less hitches from Rosseta2.\r\n\r\nIt consists of several key changes:\r\n\r\n- Adding support for W^X allocation(MAP_JIT) for the ARM JIT\r\n- Adding the machine context and config info to identify the M1 processor\r\n- Additions to the build system and docs to support building universal binaries\r\n- Adding code signing entitlements to access the MAP_JIT functionality\r\n- Updating the MoltenVK libvulkan.dylib to a newer version with M1 support\r\n\r\nThanks everyone on IRC for the help in making this change!', 'number': 9441, 'author_association': 'CONTRIBUTOR', 'performed_via_github_app': None, 'created_at': '2021-01-13T16:10:58Z', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9441/comments', 'id': 785238185, 'updated_at': '2021-05-13T15:43:02Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9441', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9441', 'closed_at': None, 'state': 'open', 'active_lock_reason': None, 'assignee': None, 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'user': {'organizations_url': 'https://api.github.com/users/skylersaleh/orgs', 'repos_url': 'https://api.github.com/users/skylersaleh/repos', 'html_url': 'https://github.com/skylersaleh', 'url': 'https://api.github.com/users/skylersaleh', 'node_id': 'MDQ6VXNlcjcxMTgyOTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7118296?v=4', 'followers_url': 'https://api.github.com/users/skylersaleh/followers', 'received_events_url': 'https://api.github.com/users/skylersaleh/received_events', 'events_url': 'https://api.github.com/users/skylersaleh/events{/privacy}', 'gists_url': 'https://api.github.com/users/skylersaleh/gists{/gist_id}', 'following_url': 'https://api.github.com/users/skylersaleh/following{/other_user}', 'gravatar_id': '', 'login': 'skylersaleh', 'subscriptions_url': 'https://api.github.com/users/skylersaleh/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/skylersaleh/starred{/owner}{/repo}', 'id': 7118296}, 'node_id': 'MDExOlB1bGxSZXF1ZXN0NTU0Mjk3NzQ0'}, 'organization': {'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': '', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'login': 'dolphin-emu', 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'id': 5050316}, 'comment': {'performed_via_github_app': None, 'updated_at': '2021-05-13T15:43:02Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9441#issuecomment-840646607', 'created_at': '2021-05-13T15:40:12Z', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/840646607', 'author_association': 'CONTRIBUTOR', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9441', 'user': {'organizations_url': 'https://api.github.com/users/skylersaleh/orgs', 'repos_url': 'https://api.github.com/users/skylersaleh/repos', 'html_url': 'https://github.com/skylersaleh', 'url': 'https://api.github.com/users/skylersaleh', 'node_id': 'MDQ6VXNlcjcxMTgyOTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7118296?v=4', 'followers_url': 'https://api.github.com/users/skylersaleh/followers', 'received_events_url': 'https://api.github.com/users/skylersaleh/received_events', 'events_url': 'https://api.github.com/users/skylersaleh/events{/privacy}', 'gists_url': 'https://api.github.com/users/skylersaleh/gists{/gist_id}', 'following_url': 'https://api.github.com/users/skylersaleh/following{/other_user}', 'gravatar_id': '', 'login': 'skylersaleh', 'subscriptions_url': 'https://api.github.com/users/skylersaleh/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/skylersaleh/starred{/owner}{/repo}', 'id': 7118296}, 'node_id': 'MDEyOklzc3VlQ29tbWVudDg0MDY0NjYwNw==', 'body': "> If you do an x86-64 build the normal way (without BuildMacOSUniversalBinary.py), is the OS requirement 10.12 like before, or has it been changed to 10.14?\r\n\r\nIt has been changed to 10.14 by default, because the regular CMake based build is used for both ARM and Intel single architecture binaries (as it just builds for the native architecture of the machine building it) and the macOS SDK can't compile code that utilizes shared_ptr for deployment targets before 10.14 in ARM builds. \r\n\r\nTechnically, you can still build for Intel on 10.12 by overriding the deployment target by adding the command line option `-DCMAKE_OSX_DEPLOYMENT_TARGET=10.12.0` (like the BuildMacOSUniversalBinary.py script does). However, I couldn't figure out how to do this automatically for Intel targets in a clean way as the CMake variables for the SYSTEM_PROCESSOR are not initialized until the project command is called, and the deployment target must be specified before the project command is called. \r\n\r\n", 'id': 840646607}, 'action': 'edited', 'repository': {'html_url': 'https://github.com/dolphin-emu/dolphin', 'open_issues': 200, 'size': 408326, 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'stargazers_count': 7341, 'pushed_at': '2021-05-13T12:54:25Z', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'forks_count': 1716, 'watchers_count': 7341, 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'has_pages': False, 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'archived': False, 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'has_wiki': True, 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'has_issues': False, 'open_issues_count': 200, 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'forks': 1716, 'license': {'node_id': 'MDc6TGljZW5zZTg=', 'key': 'gpl-2.0', 'name': 'GNU General Public License v2.0', 'spdx_id': 'GPL-2.0', 'url': 'https://api.github.com/licenses/gpl-2.0'}, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'mirror_url': None, 'has_downloads': True, 'fork': False, 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'has_projects': False, 'created_at': '2013-07-22T09:07:57Z', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'full_name': 'dolphin-emu/dolphin', 'name': 'dolphin', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'disabled': False, 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'watchers': 7341, 'id': 11577304, 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'updated_at': '2021-05-13T12:54:31Z', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'private': False, 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'owner': {'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'html_url': 'https://github.com/dolphin-emu', 'url': 'https://api.github.com/users/dolphin-emu', 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gravatar_id': '', 'login': 'dolphin-emu', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'site_admin': False, 'type': 'Organization', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'id': 5050316}, 'homepage': 'https://dolphin-emu.org/', 'default_branch': 'master', 'language': 'C++', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}'}}, 'type': 'gh_issue_comment', 'repo': 'dolphin-emu/dolphin', 'id': 9441}
2021-05-13T15:40:13.596810	{'safe_author': True, 'url': 'https://github.com/dolphin-emu/dolphin/pull/9441#issuecomment-840646607', 'source': 'ghhookparser', 'title': 'Apple M1 Support for MacOS', 'action': 'created', 'body': "> If you do an x86-64 build the normal way (without BuildMacOSUniversalBinary.py), is the OS requirement 10.12 like before, or has it been changed to 10.14?\r\n\r\nIt has been changed to 10.14 by default, because the regular CMake based build is used for both ARM and Intel single architecture binaries (as it just builds for the native architecture of the machine building it) and the macOS SDK can't compile code that utilizes shared_ptr for deployment targets before 10.14 in ARM builds. \r\n\r\nTechnically, you can still build for Intel on 10.12 by overriding the deployment target outside of CMake (like the BuildMacOSUniversalBinary.py script does). However, unfortunately, I couldn't figure out how to do this by default for Intel targets in a clean way as the CMake variables for the SYSTEM_PROCESSOR are not initialized until the project command is called, and the deployment target must be specified before the project command is called. \r\n\r\n", 'author': 'skylersaleh', 'raw': {'sender': {'organizations_url': 'https://api.github.com/users/skylersaleh/orgs', 'repos_url': 'https://api.github.com/users/skylersaleh/repos', 'html_url': 'https://github.com/skylersaleh', 'url': 'https://api.github.com/users/skylersaleh', 'node_id': 'MDQ6VXNlcjcxMTgyOTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7118296?v=4', 'followers_url': 'https://api.github.com/users/skylersaleh/followers', 'received_events_url': 'https://api.github.com/users/skylersaleh/received_events', 'events_url': 'https://api.github.com/users/skylersaleh/events{/privacy}', 'gists_url': 'https://api.github.com/users/skylersaleh/gists{/gist_id}', 'following_url': 'https://api.github.com/users/skylersaleh/following{/other_user}', 'gravatar_id': '', 'login': 'skylersaleh', 'subscriptions_url': 'https://api.github.com/users/skylersaleh/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/skylersaleh/starred{/owner}{/repo}', 'id': 7118296}, 'issue': {'locked': False, 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9441/labels{/name}', 'comments': 118, 'milestone': None, 'assignees': [], 'title': 'Apple M1 Support for MacOS', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9441/events', 'pull_request': {'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/9441.patch', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/9441.diff', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9441', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441'}, 'labels': [], 'body': 'This pull request adds support for compiling Dolphin for ARM on MacOS so that it can\r\nrun natively on the M1 processors without running through Rosseta2 emulation\r\nproviding a 30-50% performance speedup and less hitches from Rosseta2.\r\n\r\nIt consists of several key changes:\r\n\r\n- Adding support for W^X allocation(MAP_JIT) for the ARM JIT\r\n- Adding the machine context and config info to identify the M1 processor\r\n- Additions to the build system and docs to support building universal binaries\r\n- Adding code signing entitlements to access the MAP_JIT functionality\r\n- Updating the MoltenVK libvulkan.dylib to a newer version with M1 support\r\n\r\nThanks everyone on IRC for the help in making this change!', 'number': 9441, 'author_association': 'CONTRIBUTOR', 'performed_via_github_app': None, 'created_at': '2021-01-13T16:10:58Z', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9441/comments', 'id': 785238185, 'updated_at': '2021-05-13T15:40:12Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9441', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9441', 'closed_at': None, 'state': 'open', 'active_lock_reason': None, 'assignee': None, 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'user': {'organizations_url': 'https://api.github.com/users/skylersaleh/orgs', 'repos_url': 'https://api.github.com/users/skylersaleh/repos', 'html_url': 'https://github.com/skylersaleh', 'url': 'https://api.github.com/users/skylersaleh', 'node_id': 'MDQ6VXNlcjcxMTgyOTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7118296?v=4', 'followers_url': 'https://api.github.com/users/skylersaleh/followers', 'received_events_url': 'https://api.github.com/users/skylersaleh/received_events', 'events_url': 'https://api.github.com/users/skylersaleh/events{/privacy}', 'gists_url': 'https://api.github.com/users/skylersaleh/gists{/gist_id}', 'following_url': 'https://api.github.com/users/skylersaleh/following{/other_user}', 'gravatar_id': '', 'login': 'skylersaleh', 'subscriptions_url': 'https://api.github.com/users/skylersaleh/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/skylersaleh/starred{/owner}{/repo}', 'id': 7118296}, 'node_id': 'MDExOlB1bGxSZXF1ZXN0NTU0Mjk3NzQ0'}, 'organization': {'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': '', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'login': 'dolphin-emu', 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'id': 5050316}, 'comment': {'performed_via_github_app': None, 'updated_at': '2021-05-13T15:40:12Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9441#issuecomment-840646607', 'created_at': '2021-05-13T15:40:12Z', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/840646607', 'author_association': 'CONTRIBUTOR', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9441', 'user': {'organizations_url': 'https://api.github.com/users/skylersaleh/orgs', 'repos_url': 'https://api.github.com/users/skylersaleh/repos', 'html_url': 'https://github.com/skylersaleh', 'url': 'https://api.github.com/users/skylersaleh', 'node_id': 'MDQ6VXNlcjcxMTgyOTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7118296?v=4', 'followers_url': 'https://api.github.com/users/skylersaleh/followers', 'received_events_url': 'https://api.github.com/users/skylersaleh/received_events', 'events_url': 'https://api.github.com/users/skylersaleh/events{/privacy}', 'gists_url': 'https://api.github.com/users/skylersaleh/gists{/gist_id}', 'following_url': 'https://api.github.com/users/skylersaleh/following{/other_user}', 'gravatar_id': '', 'login': 'skylersaleh', 'subscriptions_url': 'https://api.github.com/users/skylersaleh/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/skylersaleh/starred{/owner}{/repo}', 'id': 7118296}, 'node_id': 'MDEyOklzc3VlQ29tbWVudDg0MDY0NjYwNw==', 'body': "> If you do an x86-64 build the normal way (without BuildMacOSUniversalBinary.py), is the OS requirement 10.12 like before, or has it been changed to 10.14?\r\n\r\nIt has been changed to 10.14 by default, because the regular CMake based build is used for both ARM and Intel single architecture binaries (as it just builds for the native architecture of the machine building it) and the macOS SDK can't compile code that utilizes shared_ptr for deployment targets before 10.14 in ARM builds. \r\n\r\nTechnically, you can still build for Intel on 10.12 by overriding the deployment target outside of CMake (like the BuildMacOSUniversalBinary.py script does). However, unfortunately, I couldn't figure out how to do this by default for Intel targets in a clean way as the CMake variables for the SYSTEM_PROCESSOR are not initialized until the project command is called, and the deployment target must be specified before the project command is called. \r\n\r\n", 'id': 840646607}, 'action': 'created', 'repository': {'html_url': 'https://github.com/dolphin-emu/dolphin', 'open_issues': 200, 'size': 408326, 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'stargazers_count': 7341, 'pushed_at': '2021-05-13T12:54:25Z', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'forks_count': 1716, 'watchers_count': 7341, 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'has_pages': False, 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'archived': False, 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'has_wiki': True, 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'has_issues': False, 'open_issues_count': 200, 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'forks': 1716, 'license': {'node_id': 'MDc6TGljZW5zZTg=', 'key': 'gpl-2.0', 'name': 'GNU General Public License v2.0', 'spdx_id': 'GPL-2.0', 'url': 'https://api.github.com/licenses/gpl-2.0'}, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'mirror_url': None, 'has_downloads': True, 'fork': False, 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'has_projects': False, 'created_at': '2013-07-22T09:07:57Z', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'full_name': 'dolphin-emu/dolphin', 'name': 'dolphin', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'disabled': False, 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'watchers': 7341, 'id': 11577304, 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'updated_at': '2021-05-13T12:54:31Z', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'private': False, 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'owner': {'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'html_url': 'https://github.com/dolphin-emu', 'url': 'https://api.github.com/users/dolphin-emu', 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gravatar_id': '', 'login': 'dolphin-emu', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'site_admin': False, 'type': 'Organization', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'id': 5050316}, 'homepage': 'https://dolphin-emu.org/', 'default_branch': 'master', 'language': 'C++', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}'}}, 'type': 'gh_issue_comment', 'repo': 'dolphin-emu/dolphin', 'id': 9441}
2021-05-13T14:36:08.027198	{'safe_author': False, 'url': 'https://github.com/dolphin-emu/dolphin/pull/9706#issuecomment-840604215', 'source': 'ghhookparser', 'title': 'Netplay: Auto Pad Buffer Option', 'action': 'created', 'body': "@Techjar @mimimi085181 I appreciate the feedback on the calculations, I will talk to @JMC47 about what's been said and we will look at factoring in the extra considerations.\r\n\r\n> This should not be touching Host Input Authority at all. The buffer there is a client-side buffer akin to how video streaming sites buffer data, in order to smooth out the playback at the cost of additional latency. It should always be <=1 unless the user is on a high jitter connection.\r\n\r\nLike the standard pad buffer, my intention was only to assign that value automatically using the same method an experienced user would. For clarification, are you saying that with the exception of unique scenarios, the value should be 0? If this is the case I will remove it and leave it to manual configuration. If not, I would appreciate input on a better calculation.", 'author': 'SirMangler', 'raw': {'sender': {'organizations_url': 'https://api.github.com/users/SirMangler/orgs', 'repos_url': 'https://api.github.com/users/SirMangler/repos', 'html_url': 'https://github.com/SirMangler', 'url': 'https://api.github.com/users/SirMangler', 'node_id': 'MDQ6VXNlcjQyMzc4MzQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/4237834?v=4', 'followers_url': 'https://api.github.com/users/SirMangler/followers', 'received_events_url': 'https://api.github.com/users/SirMangler/received_events', 'events_url': 'https://api.github.com/users/SirMangler/events{/privacy}', 'gists_url': 'https://api.github.com/users/SirMangler/gists{/gist_id}', 'following_url': 'https://api.github.com/users/SirMangler/following{/other_user}', 'gravatar_id': '', 'login': 'SirMangler', 'subscriptions_url': 'https://api.github.com/users/SirMangler/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/SirMangler/starred{/owner}{/repo}', 'id': 4237834}, 'issue': {'locked': False, 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9706/labels{/name}', 'comments': 7, 'milestone': None, 'assignees': [], 'title': 'Netplay: Auto Pad Buffer Option', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9706/events', 'pull_request': {'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/9706.patch', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/9706.diff', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9706', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9706'}, 'labels': [], 'body': 'Automatically set the pad buffer for users who do not know how to configure it or would rather automate the calculation used to estimate the optimal buffer size.\r\n\r\nCalculation (No Host Input Authority):\r\n`((total_latency * (number_of_players - 1)) / 15) + 1`\r\n\r\nCalculation for Host Input Authority:\r\n`(client_latency / 8) + 1`\r\n\r\nThanks to JMC for the calculations!\r\n\r\n![image](https://user-images.githubusercontent.com/4237834/118002614-b3747f00-b33f-11eb-958c-e2d21229d3fb.png)', 'number': 9706, 'author_association': 'CONTRIBUTOR', 'performed_via_github_app': None, 'created_at': '2021-05-12T15:35:37Z', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9706/comments', 'id': 890221227, 'updated_at': '2021-05-13T14:36:07Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9706', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9706', 'closed_at': None, 'state': 'open', 'active_lock_reason': None, 'assignee': None, 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'user': {'organizations_url': 'https://api.github.com/users/SirMangler/orgs', 'repos_url': 'https://api.github.com/users/SirMangler/repos', 'html_url': 'https://github.com/SirMangler', 'url': 'https://api.github.com/users/SirMangler', 'node_id': 'MDQ6VXNlcjQyMzc4MzQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/4237834?v=4', 'followers_url': 'https://api.github.com/users/SirMangler/followers', 'received_events_url': 'https://api.github.com/users/SirMangler/received_events', 'events_url': 'https://api.github.com/users/SirMangler/events{/privacy}', 'gists_url': 'https://api.github.com/users/SirMangler/gists{/gist_id}', 'following_url': 'https://api.github.com/users/SirMangler/following{/other_user}', 'gravatar_id': '', 'login': 'SirMangler', 'subscriptions_url': 'https://api.github.com/users/SirMangler/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/SirMangler/starred{/owner}{/repo}', 'id': 4237834}, 'node_id': 'MDExOlB1bGxSZXF1ZXN0NjQzMjc1MTQ5'}, 'organization': {'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': '', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'login': 'dolphin-emu', 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'id': 5050316}, 'comment': {'performed_via_github_app': None, 'updated_at': '2021-05-13T14:36:06Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9706#issuecomment-840604215', 'created_at': '2021-05-13T14:36:06Z', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/840604215', 'author_association': 'CONTRIBUTOR', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9706', 'user': {'organizations_url': 'https://api.github.com/users/SirMangler/orgs', 'repos_url': 'https://api.github.com/users/SirMangler/repos', 'html_url': 'https://github.com/SirMangler', 'url': 'https://api.github.com/users/SirMangler', 'node_id': 'MDQ6VXNlcjQyMzc4MzQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/4237834?v=4', 'followers_url': 'https://api.github.com/users/SirMangler/followers', 'received_events_url': 'https://api.github.com/users/SirMangler/received_events', 'events_url': 'https://api.github.com/users/SirMangler/events{/privacy}', 'gists_url': 'https://api.github.com/users/SirMangler/gists{/gist_id}', 'following_url': 'https://api.github.com/users/SirMangler/following{/other_user}', 'gravatar_id': '', 'login': 'SirMangler', 'subscriptions_url': 'https://api.github.com/users/SirMangler/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/SirMangler/starred{/owner}{/repo}', 'id': 4237834}, 'node_id': 'MDEyOklzc3VlQ29tbWVudDg0MDYwNDIxNQ==', 'body': "@Techjar @mimimi085181 I appreciate the feedback on the calculations, I will talk to @JMC47 about what's been said and we will look at factoring in the extra considerations.\r\n\r\n> This should not be touching Host Input Authority at all. The buffer there is a client-side buffer akin to how video streaming sites buffer data, in order to smooth out the playback at the cost of additional latency. It should always be <=1 unless the user is on a high jitter connection.\r\n\r\nLike the standard pad buffer, my intention was only to assign that value automatically using the same method an experienced user would. For clarification, are you saying that with the exception of unique scenarios, the value should be 0? If this is the case I will remove it and leave it to manual configuration. If not, I would appreciate input on a better calculation.", 'id': 840604215}, 'action': 'created', 'repository': {'html_url': 'https://github.com/dolphin-emu/dolphin', 'open_issues': 200, 'size': 408326, 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'stargazers_count': 7341, 'pushed_at': '2021-05-13T12:54:25Z', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'forks_count': 1716, 'watchers_count': 7341, 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'has_pages': False, 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'archived': False, 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'has_wiki': True, 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'has_issues': False, 'open_issues_count': 200, 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'forks': 1716, 'license': {'node_id': 'MDc6TGljZW5zZTg=', 'key': 'gpl-2.0', 'name': 'GNU General Public License v2.0', 'spdx_id': 'GPL-2.0', 'url': 'https://api.github.com/licenses/gpl-2.0'}, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'mirror_url': None, 'has_downloads': True, 'fork': False, 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'has_projects': False, 'created_at': '2013-07-22T09:07:57Z', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'full_name': 'dolphin-emu/dolphin', 'name': 'dolphin', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'disabled': False, 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'watchers': 7341, 'id': 11577304, 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'updated_at': '2021-05-13T12:54:31Z', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'private': False, 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'owner': {'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'html_url': 'https://github.com/dolphin-emu', 'url': 'https://api.github.com/users/dolphin-emu', 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gravatar_id': '', 'login': 'dolphin-emu', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'site_admin': False, 'type': 'Organization', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'id': 5050316}, 'homepage': 'https://dolphin-emu.org/', 'default_branch': 'master', 'language': 'C++', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}'}}, 'type': 'gh_issue_comment', 'repo': 'dolphin-emu/dolphin', 'id': 9706}
2021-05-13T13:56:47.938364	{'safe_author': True, 'url': 'https://github.com/dolphin-emu/dolphin/pull/9441#issuecomment-840578876', 'source': 'ghhookparser', 'title': 'Apple M1 Support for MacOS', 'action': 'created', 'body': 'If you do an x86-64 build the normal way (without BuildMacOSUniversalBinary.py), is the OS requirement 10.12 like before, or has it been changed to 10.14?', 'author': 'JosJuice', 'raw': {'sender': {'organizations_url': 'https://api.github.com/users/JosJuice/orgs', 'repos_url': 'https://api.github.com/users/JosJuice/repos', 'html_url': 'https://github.com/JosJuice', 'url': 'https://api.github.com/users/JosJuice', 'node_id': 'MDQ6VXNlcjY3MTY4MTg=', 'avatar_url': 'https://avatars.githubusercontent.com/u/6716818?v=4', 'followers_url': 'https://api.github.com/users/JosJuice/followers', 'received_events_url': 'https://api.github.com/users/JosJuice/received_events', 'events_url': 'https://api.github.com/users/JosJuice/events{/privacy}', 'gists_url': 'https://api.github.com/users/JosJuice/gists{/gist_id}', 'following_url': 'https://api.github.com/users/JosJuice/following{/other_user}', 'gravatar_id': '', 'login': 'JosJuice', 'subscriptions_url': 'https://api.github.com/users/JosJuice/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/JosJuice/starred{/owner}{/repo}', 'id': 6716818}, 'issue': {'locked': False, 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9441/labels{/name}', 'comments': 117, 'milestone': None, 'assignees': [], 'title': 'Apple M1 Support for MacOS', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9441/events', 'pull_request': {'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/9441.patch', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/9441.diff', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9441', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441'}, 'labels': [], 'body': 'This pull request adds support for compiling Dolphin for ARM on MacOS so that it can\r\nrun natively on the M1 processors without running through Rosseta2 emulation\r\nproviding a 30-50% performance speedup and less hitches from Rosseta2.\r\n\r\nIt consists of several key changes:\r\n\r\n- Adding support for W^X allocation(MAP_JIT) for the ARM JIT\r\n- Adding the machine context and config info to identify the M1 processor\r\n- Additions to the build system and docs to support building universal binaries\r\n- Adding code signing entitlements to access the MAP_JIT functionality\r\n- Updating the MoltenVK libvulkan.dylib to a newer version with M1 support\r\n\r\nThanks everyone on IRC for the help in making this change!', 'number': 9441, 'author_association': 'CONTRIBUTOR', 'performed_via_github_app': None, 'created_at': '2021-01-13T16:10:58Z', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9441/comments', 'id': 785238185, 'updated_at': '2021-05-13T13:56:47Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9441', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9441', 'closed_at': None, 'state': 'open', 'active_lock_reason': None, 'assignee': None, 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'user': {'organizations_url': 'https://api.github.com/users/skylersaleh/orgs', 'repos_url': 'https://api.github.com/users/skylersaleh/repos', 'html_url': 'https://github.com/skylersaleh', 'url': 'https://api.github.com/users/skylersaleh', 'node_id': 'MDQ6VXNlcjcxMTgyOTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7118296?v=4', 'followers_url': 'https://api.github.com/users/skylersaleh/followers', 'received_events_url': 'https://api.github.com/users/skylersaleh/received_events', 'events_url': 'https://api.github.com/users/skylersaleh/events{/privacy}', 'gists_url': 'https://api.github.com/users/skylersaleh/gists{/gist_id}', 'following_url': 'https://api.github.com/users/skylersaleh/following{/other_user}', 'gravatar_id': '', 'login': 'skylersaleh', 'subscriptions_url': 'https://api.github.com/users/skylersaleh/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/skylersaleh/starred{/owner}{/repo}', 'id': 7118296}, 'node_id': 'MDExOlB1bGxSZXF1ZXN0NTU0Mjk3NzQ0'}, 'organization': {'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': '', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'login': 'dolphin-emu', 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'id': 5050316}, 'comment': {'performed_via_github_app': None, 'updated_at': '2021-05-13T13:56:46Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9441#issuecomment-840578876', 'created_at': '2021-05-13T13:56:46Z', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/840578876', 'author_association': 'MEMBER', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9441', 'user': {'organizations_url': 'https://api.github.com/users/JosJuice/orgs', 'repos_url': 'https://api.github.com/users/JosJuice/repos', 'html_url': 'https://github.com/JosJuice', 'url': 'https://api.github.com/users/JosJuice', 'node_id': 'MDQ6VXNlcjY3MTY4MTg=', 'avatar_url': 'https://avatars.githubusercontent.com/u/6716818?v=4', 'followers_url': 'https://api.github.com/users/JosJuice/followers', 'received_events_url': 'https://api.github.com/users/JosJuice/received_events', 'events_url': 'https://api.github.com/users/JosJuice/events{/privacy}', 'gists_url': 'https://api.github.com/users/JosJuice/gists{/gist_id}', 'following_url': 'https://api.github.com/users/JosJuice/following{/other_user}', 'gravatar_id': '', 'login': 'JosJuice', 'subscriptions_url': 'https://api.github.com/users/JosJuice/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/JosJuice/starred{/owner}{/repo}', 'id': 6716818}, 'node_id': 'MDEyOklzc3VlQ29tbWVudDg0MDU3ODg3Ng==', 'body': 'If you do an x86-64 build the normal way (without BuildMacOSUniversalBinary.py), is the OS requirement 10.12 like before, or has it been changed to 10.14?', 'id': 840578876}, 'action': 'created', 'repository': {'html_url': 'https://github.com/dolphin-emu/dolphin', 'open_issues': 200, 'size': 408326, 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'stargazers_count': 7341, 'pushed_at': '2021-05-13T12:54:25Z', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'forks_count': 1716, 'watchers_count': 7341, 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'has_pages': False, 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'archived': False, 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'has_wiki': True, 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'has_issues': False, 'open_issues_count': 200, 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'forks': 1716, 'license': {'node_id': 'MDc6TGljZW5zZTg=', 'key': 'gpl-2.0', 'name': 'GNU General Public License v2.0', 'spdx_id': 'GPL-2.0', 'url': 'https://api.github.com/licenses/gpl-2.0'}, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'mirror_url': None, 'has_downloads': True, 'fork': False, 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'has_projects': False, 'created_at': '2013-07-22T09:07:57Z', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'full_name': 'dolphin-emu/dolphin', 'name': 'dolphin', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'disabled': False, 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'watchers': 7341, 'id': 11577304, 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'updated_at': '2021-05-13T12:54:31Z', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'private': False, 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'owner': {'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'html_url': 'https://github.com/dolphin-emu', 'url': 'https://api.github.com/users/dolphin-emu', 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gravatar_id': '', 'login': 'dolphin-emu', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'site_admin': False, 'type': 'Organization', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'id': 5050316}, 'homepage': 'https://dolphin-emu.org/', 'default_branch': 'master', 'language': 'C++', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}'}}, 'type': 'gh_issue_comment', 'repo': 'dolphin-emu/dolphin', 'id': 9441}
2021-05-13T11:29:03.920828	{'safe_author': True, 'url': 'https://github.com/dolphin-emu/dolphin/pull/9703#issuecomment-839139059', 'source': 'ghhookparser', 'title': 'Fix serialization of control expressions with line breaks', 'action': 'edited', 'body': "> Why not just do the classic string escaping and escape `\\` using `\\\\`?\r\n\r\nIf the user writes `\\n` for some reason in the expression (I don't think \\ is an accepted operator for now, but it might be in the future), that will be serialized as `\\\\n` in the config.\r\nIf we also serialize any line break as `\\\\n` in the config, when we deserialize, we will need to turn every `\\\\n` into an `\\n` again, effectively losing (and changing) the `\\n` users had willingly put in the the expression for other reasons (not to get a line break).", 'author': 'Filoppi', 'raw': {'sender': {'organizations_url': 'https://api.github.com/users/Filoppi/orgs', 'repos_url': 'https://api.github.com/users/Filoppi/repos', 'html_url': 'https://github.com/Filoppi', 'url': 'https://api.github.com/users/Filoppi', 'node_id': 'MDQ6VXNlcjcwMTEzNjY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7011366?v=4', 'followers_url': 'https://api.github.com/users/Filoppi/followers', 'received_events_url': 'https://api.github.com/users/Filoppi/received_events', 'events_url': 'https://api.github.com/users/Filoppi/events{/privacy}', 'gists_url': 'https://api.github.com/users/Filoppi/gists{/gist_id}', 'following_url': 'https://api.github.com/users/Filoppi/following{/other_user}', 'gravatar_id': '', 'login': 'Filoppi', 'subscriptions_url': 'https://api.github.com/users/Filoppi/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/Filoppi/starred{/owner}{/repo}', 'id': 7011366}, 'changes': {'body': {'from': "> Why not just do the classic string escaping and escape `\\` using `\\\\`?\r\n\r\nIf the user writes `\\n` for some reason in the expression (I don't think \\ is an accepted operator for now, but it might be in the future), that will be serialized as `\\\\n` in the config.\r\nIf we also serialize any line break as `\\\\n` in the config, when we deserialize, we will need to turn every `\\\\n` into an `\\n` again, effectively losing (and changing) the `\\n` users had willingly put in the the expression for other reasons (not get a line break)."}}, 'issue': {'locked': False, 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9703/labels{/name}', 'comments': 5, 'milestone': None, 'assignees': [], 'title': 'Fix serialization of control expressions with line breaks', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9703/events', 'pull_request': {'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/9703.patch', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/9703.diff', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9703', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9703'}, 'labels': [], 'body': 'The control expression editor allows line breaks, but the serialization was losing anything after the first line break (/r /n).\r\n\r\nInstead of opting to encode them and decode them on serialization,\r\nwhich I tried but was not safe, as it would lose `\\n` written in the expression by users,\r\nI opted to replace them with a space, to at least maintain some of the spacing the user originally put in.\r\nCompletely removing them could also have caused the expression to be parsed differently.\r\nThis cannot cause any breaking differences on the expression, and its in any way better than before, as before part of the string could just get lost.\r\n\r\n![image](https://user-images.githubusercontent.com/7011366/117826705-0afbe780-b279-11eb-8b5a-e155d2bff001.png)', 'number': 9703, 'author_association': 'CONTRIBUTOR', 'performed_via_github_app': None, 'created_at': '2021-05-11T13:50:53Z', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9703/comments', 'id': 887350180, 'updated_at': '2021-05-13T11:29:02Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9703', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9703', 'closed_at': '2021-05-13T10:47:38Z', 'state': 'closed', 'active_lock_reason': None, 'assignee': None, 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'user': {'organizations_url': 'https://api.github.com/users/Filoppi/orgs', 'repos_url': 'https://api.github.com/users/Filoppi/repos', 'html_url': 'https://github.com/Filoppi', 'url': 'https://api.github.com/users/Filoppi', 'node_id': 'MDQ6VXNlcjcwMTEzNjY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7011366?v=4', 'followers_url': 'https://api.github.com/users/Filoppi/followers', 'received_events_url': 'https://api.github.com/users/Filoppi/received_events', 'events_url': 'https://api.github.com/users/Filoppi/events{/privacy}', 'gists_url': 'https://api.github.com/users/Filoppi/gists{/gist_id}', 'following_url': 'https://api.github.com/users/Filoppi/following{/other_user}', 'gravatar_id': '', 'login': 'Filoppi', 'subscriptions_url': 'https://api.github.com/users/Filoppi/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/Filoppi/starred{/owner}{/repo}', 'id': 7011366}, 'node_id': 'MDExOlB1bGxSZXF1ZXN0NjQwNTg3MzE0'}, 'organization': {'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': '', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'login': 'dolphin-emu', 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'id': 5050316}, 'comment': {'performed_via_github_app': None, 'updated_at': '2021-05-13T11:29:02Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9703#issuecomment-839139059', 'created_at': '2021-05-11T20:31:12Z', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/839139059', 'author_association': 'CONTRIBUTOR', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9703', 'user': {'organizations_url': 'https://api.github.com/users/Filoppi/orgs', 'repos_url': 'https://api.github.com/users/Filoppi/repos', 'html_url': 'https://github.com/Filoppi', 'url': 'https://api.github.com/users/Filoppi', 'node_id': 'MDQ6VXNlcjcwMTEzNjY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7011366?v=4', 'followers_url': 'https://api.github.com/users/Filoppi/followers', 'received_events_url': 'https://api.github.com/users/Filoppi/received_events', 'events_url': 'https://api.github.com/users/Filoppi/events{/privacy}', 'gists_url': 'https://api.github.com/users/Filoppi/gists{/gist_id}', 'following_url': 'https://api.github.com/users/Filoppi/following{/other_user}', 'gravatar_id': '', 'login': 'Filoppi', 'subscriptions_url': 'https://api.github.com/users/Filoppi/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/Filoppi/starred{/owner}{/repo}', 'id': 7011366}, 'node_id': 'MDEyOklzc3VlQ29tbWVudDgzOTEzOTA1OQ==', 'body': "> Why not just do the classic string escaping and escape `\\` using `\\\\`?\r\n\r\nIf the user writes `\\n` for some reason in the expression (I don't think \\ is an accepted operator for now, but it might be in the future), that will be serialized as `\\\\n` in the config.\r\nIf we also serialize any line break as `\\\\n` in the config, when we deserialize, we will need to turn every `\\\\n` into an `\\n` again, effectively losing (and changing) the `\\n` users had willingly put in the the expression for other reasons (not to get a line break).", 'id': 839139059}, 'action': 'edited', 'repository': {'html_url': 'https://github.com/dolphin-emu/dolphin', 'open_issues': 201, 'size': 408210, 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'stargazers_count': 7341, 'pushed_at': '2021-05-13T11:19:37Z', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'forks_count': 1716, 'watchers_count': 7341, 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'has_pages': False, 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'archived': False, 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'has_wiki': True, 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'has_issues': False, 'open_issues_count': 201, 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'forks': 1716, 'license': {'node_id': 'MDc6TGljZW5zZTg=', 'key': 'gpl-2.0', 'name': 'GNU General Public License v2.0', 'spdx_id': 'GPL-2.0', 'url': 'https://api.github.com/licenses/gpl-2.0'}, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'mirror_url': None, 'has_downloads': True, 'fork': False, 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'has_projects': False, 'created_at': '2013-07-22T09:07:57Z', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'full_name': 'dolphin-emu/dolphin', 'name': 'dolphin', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'disabled': False, 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'watchers': 7341, 'id': 11577304, 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'updated_at': '2021-05-13T10:47:42Z', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'private': False, 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'owner': {'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'html_url': 'https://github.com/dolphin-emu', 'url': 'https://api.github.com/users/dolphin-emu', 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gravatar_id': '', 'login': 'dolphin-emu', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'site_admin': False, 'type': 'Organization', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'id': 5050316}, 'homepage': 'https://dolphin-emu.org/', 'default_branch': 'master', 'language': 'C++', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}'}}, 'type': 'gh_issue_comment', 'repo': 'dolphin-emu/dolphin', 'id': 9703}
2021-05-13T10:23:49.805580	{'safe_author': True, 'url': 'https://github.com/dolphin-emu/dolphin/pull/9637#issuecomment-840466641', 'source': 'ghhookparser', 'title': 'JitArm64: Implement FPRF updates', 'action': 'created', 'body': 'LGTM', 'author': 'degasus', 'raw': {'sender': {'organizations_url': 'https://api.github.com/users/degasus/orgs', 'repos_url': 'https://api.github.com/users/degasus/repos', 'html_url': 'https://github.com/degasus', 'url': 'https://api.github.com/users/degasus', 'node_id': 'MDQ6VXNlcjI3ODcxNDE=', 'avatar_url': 'https://avatars.githubusercontent.com/u/2787141?v=4', 'followers_url': 'https://api.github.com/users/degasus/followers', 'received_events_url': 'https://api.github.com/users/degasus/received_events', 'events_url': 'https://api.github.com/users/degasus/events{/privacy}', 'gists_url': 'https://api.github.com/users/degasus/gists{/gist_id}', 'following_url': 'https://api.github.com/users/degasus/following{/other_user}', 'gravatar_id': '', 'login': 'degasus', 'subscriptions_url': 'https://api.github.com/users/degasus/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/degasus/starred{/owner}{/repo}', 'id': 2787141}, 'issue': {'locked': False, 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9637/labels{/name}', 'comments': 4, 'milestone': None, 'assignees': [], 'title': 'JitArm64: Implement FPRF updates', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9637/events', 'pull_request': {'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/9637.patch', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/9637.diff', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9637', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9637'}, 'labels': [], 'body': '', 'number': 9637, 'author_association': 'MEMBER', 'performed_via_github_app': None, 'created_at': '2021-04-11T13:53:44Z', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9637/comments', 'id': 855312750, 'updated_at': '2021-05-13T10:23:49Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9637', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9637', 'closed_at': None, 'state': 'open', 'active_lock_reason': None, 'assignee': None, 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'user': {'organizations_url': 'https://api.github.com/users/JosJuice/orgs', 'repos_url': 'https://api.github.com/users/JosJuice/repos', 'html_url': 'https://github.com/JosJuice', 'url': 'https://api.github.com/users/JosJuice', 'node_id': 'MDQ6VXNlcjY3MTY4MTg=', 'avatar_url': 'https://avatars.githubusercontent.com/u/6716818?v=4', 'followers_url': 'https://api.github.com/users/JosJuice/followers', 'received_events_url': 'https://api.github.com/users/JosJuice/received_events', 'events_url': 'https://api.github.com/users/JosJuice/events{/privacy}', 'gists_url': 'https://api.github.com/users/JosJuice/gists{/gist_id}', 'following_url': 'https://api.github.com/users/JosJuice/following{/other_user}', 'gravatar_id': '', 'login': 'JosJuice', 'subscriptions_url': 'https://api.github.com/users/JosJuice/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/JosJuice/starred{/owner}{/repo}', 'id': 6716818}, 'node_id': 'MDExOlB1bGxSZXF1ZXN0NjEzMDc4NjYz'}, 'organization': {'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': '', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'login': 'dolphin-emu', 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'id': 5050316}, 'comment': {'performed_via_github_app': None, 'updated_at': '2021-05-13T10:23:49Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9637#issuecomment-840466641', 'created_at': '2021-05-13T10:23:49Z', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/840466641', 'author_association': 'MEMBER', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9637', 'user': {'organizations_url': 'https://api.github.com/users/degasus/orgs', 'repos_url': 'https://api.github.com/users/degasus/repos', 'html_url': 'https://github.com/degasus', 'url': 'https://api.github.com/users/degasus', 'node_id': 'MDQ6VXNlcjI3ODcxNDE=', 'avatar_url': 'https://avatars.githubusercontent.com/u/2787141?v=4', 'followers_url': 'https://api.github.com/users/degasus/followers', 'received_events_url': 'https://api.github.com/users/degasus/received_events', 'events_url': 'https://api.github.com/users/degasus/events{/privacy}', 'gists_url': 'https://api.github.com/users/degasus/gists{/gist_id}', 'following_url': 'https://api.github.com/users/degasus/following{/other_user}', 'gravatar_id': '', 'login': 'degasus', 'subscriptions_url': 'https://api.github.com/users/degasus/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/degasus/starred{/owner}{/repo}', 'id': 2787141}, 'node_id': 'MDEyOklzc3VlQ29tbWVudDg0MDQ2NjY0MQ==', 'body': 'LGTM', 'id': 840466641}, 'action': 'created', 'repository': {'html_url': 'https://github.com/dolphin-emu/dolphin', 'open_issues': 208, 'size': 408210, 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'stargazers_count': 7341, 'pushed_at': '2021-05-13T09:51:51Z', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'forks_count': 1716, 'watchers_count': 7341, 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'has_pages': False, 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'archived': False, 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'has_wiki': True, 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'has_issues': False, 'open_issues_count': 208, 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'forks': 1716, 'license': {'node_id': 'MDc6TGljZW5zZTg=', 'key': 'gpl-2.0', 'name': 'GNU General Public License v2.0', 'spdx_id': 'GPL-2.0', 'url': 'https://api.github.com/licenses/gpl-2.0'}, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'mirror_url': None, 'has_downloads': True, 'fork': False, 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'has_projects': False, 'created_at': '2013-07-22T09:07:57Z', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'full_name': 'dolphin-emu/dolphin', 'name': 'dolphin', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'disabled': False, 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'watchers': 7341, 'id': 11577304, 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'updated_at': '2021-05-12T22:23:24Z', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'private': False, 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'owner': {'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'html_url': 'https://github.com/dolphin-emu', 'url': 'https://api.github.com/users/dolphin-emu', 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gravatar_id': '', 'login': 'dolphin-emu', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'site_admin': False, 'type': 'Organization', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'id': 5050316}, 'homepage': 'https://dolphin-emu.org/', 'default_branch': 'master', 'language': 'C++', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}'}}, 'type': 'gh_issue_comment', 'repo': 'dolphin-emu/dolphin', 'id': 9637}
2021-05-13T04:26:32.967742	{'safe_author': True, 'url': 'https://github.com/dolphin-emu/dolphin/pull/9706#issuecomment-840286400', 'source': 'ghhookparser', 'title': 'Netplay: Auto Pad Buffer Option', 'action': 'edited', 'body': "> Oh, and btw, does Dolphin support gamecube and wii inputs at the same time for netplay?\r\n\r\nYes it does actually, though to my knowledge that's rarely done beyond Dokapon Kingdom. While I'm fond of the idea of having the buffer settings as milliseconds instead of raw size, the fact that polling rates can be variable makes this impossible. I also kind of prefer exposing the raw value, just because it gives the player more direct control. I don't really like the idea of having two buffer settings either, but I'm not sure of a better solution. The fact that people rarely mix GC controllers and Wiimotes is probably why nothing has been done about it already.", 'author': 'Techjar', 'raw': {'sender': {'organizations_url': 'https://api.github.com/users/Techjar/orgs', 'repos_url': 'https://api.github.com/users/Techjar/repos', 'html_url': 'https://github.com/Techjar', 'url': 'https://api.github.com/users/Techjar', 'node_id': 'MDQ6VXNlcjUzMjgyMQ==', 'avatar_url': 'https://avatars.githubusercontent.com/u/532821?v=4', 'followers_url': 'https://api.github.com/users/Techjar/followers', 'received_events_url': 'https://api.github.com/users/Techjar/received_events', 'events_url': 'https://api.github.com/users/Techjar/events{/privacy}', 'gists_url': 'https://api.github.com/users/Techjar/gists{/gist_id}', 'following_url': 'https://api.github.com/users/Techjar/following{/other_user}', 'gravatar_id': '', 'login': 'Techjar', 'subscriptions_url': 'https://api.github.com/users/Techjar/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/Techjar/starred{/owner}{/repo}', 'id': 532821}, 'changes': {'body': {'from': "> Oh, and btw, does Dolphin support gamecube and wii inputs at the same time for netplay?\r\n\r\nYes it does actually, though to my knowledge that's rarely done beyond Dokapon Kingdom. While I'm fond of the idea of having the buffer settings as milliseconds instead of raw size, the fact that polling rates can be variable makes this impossible. I also kind of prefer exposing the raw value, just because it gives the player more direct control. I don't really like the idea of having two buffer settings either, but I'm not sure of a better solution."}}, 'issue': {'locked': False, 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9706/labels{/name}', 'comments': 6, 'milestone': None, 'assignees': [], 'title': 'Netplay: Auto Pad Buffer Option', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9706/events', 'pull_request': {'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/9706.patch', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/9706.diff', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9706', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9706'}, 'labels': [], 'body': 'Automatically set the pad buffer for users who do not know how to configure it or would rather automate the calculation used to estimate the optimal buffer size.\r\n\r\nCalculation (No Host Input Authority):\r\n`((total_latency * (number_of_players - 1)) / 15) + 1`\r\n\r\nCalculation for Host Input Authority:\r\n`(client_latency / 8) + 1`\r\n\r\nThanks to JMC for the calculations!\r\n\r\n![image](https://user-images.githubusercontent.com/4237834/118002614-b3747f00-b33f-11eb-958c-e2d21229d3fb.png)', 'number': 9706, 'author_association': 'CONTRIBUTOR', 'performed_via_github_app': None, 'created_at': '2021-05-12T15:35:37Z', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9706/comments', 'id': 890221227, 'updated_at': '2021-05-13T04:26:32Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9706', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9706', 'closed_at': None, 'state': 'open', 'active_lock_reason': None, 'assignee': None, 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'user': {'organizations_url': 'https://api.github.com/users/SirMangler/orgs', 'repos_url': 'https://api.github.com/users/SirMangler/repos', 'html_url': 'https://github.com/SirMangler', 'url': 'https://api.github.com/users/SirMangler', 'node_id': 'MDQ6VXNlcjQyMzc4MzQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/4237834?v=4', 'followers_url': 'https://api.github.com/users/SirMangler/followers', 'received_events_url': 'https://api.github.com/users/SirMangler/received_events', 'events_url': 'https://api.github.com/users/SirMangler/events{/privacy}', 'gists_url': 'https://api.github.com/users/SirMangler/gists{/gist_id}', 'following_url': 'https://api.github.com/users/SirMangler/following{/other_user}', 'gravatar_id': '', 'login': 'SirMangler', 'subscriptions_url': 'https://api.github.com/users/SirMangler/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/SirMangler/starred{/owner}{/repo}', 'id': 4237834}, 'node_id': 'MDExOlB1bGxSZXF1ZXN0NjQzMjc1MTQ5'}, 'organization': {'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': '', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'login': 'dolphin-emu', 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'id': 5050316}, 'comment': {'performed_via_github_app': None, 'updated_at': '2021-05-13T04:26:32Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9706#issuecomment-840286400', 'created_at': '2021-05-13T04:25:11Z', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/840286400', 'author_association': 'CONTRIBUTOR', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9706', 'user': {'organizations_url': 'https://api.github.com/users/Techjar/orgs', 'repos_url': 'https://api.github.com/users/Techjar/repos', 'html_url': 'https://github.com/Techjar', 'url': 'https://api.github.com/users/Techjar', 'node_id': 'MDQ6VXNlcjUzMjgyMQ==', 'avatar_url': 'https://avatars.githubusercontent.com/u/532821?v=4', 'followers_url': 'https://api.github.com/users/Techjar/followers', 'received_events_url': 'https://api.github.com/users/Techjar/received_events', 'events_url': 'https://api.github.com/users/Techjar/events{/privacy}', 'gists_url': 'https://api.github.com/users/Techjar/gists{/gist_id}', 'following_url': 'https://api.github.com/users/Techjar/following{/other_user}', 'gravatar_id': '', 'login': 'Techjar', 'subscriptions_url': 'https://api.github.com/users/Techjar/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/Techjar/starred{/owner}{/repo}', 'id': 532821}, 'node_id': 'MDEyOklzc3VlQ29tbWVudDg0MDI4NjQwMA==', 'body': "> Oh, and btw, does Dolphin support gamecube and wii inputs at the same time for netplay?\r\n\r\nYes it does actually, though to my knowledge that's rarely done beyond Dokapon Kingdom. While I'm fond of the idea of having the buffer settings as milliseconds instead of raw size, the fact that polling rates can be variable makes this impossible. I also kind of prefer exposing the raw value, just because it gives the player more direct control. I don't really like the idea of having two buffer settings either, but I'm not sure of a better solution. The fact that people rarely mix GC controllers and Wiimotes is probably why nothing has been done about it already.", 'id': 840286400}, 'action': 'edited', 'repository': {'html_url': 'https://github.com/dolphin-emu/dolphin', 'open_issues': 208, 'size': 408210, 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'stargazers_count': 7341, 'pushed_at': '2021-05-12T22:23:17Z', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'forks_count': 1716, 'watchers_count': 7341, 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'has_pages': False, 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'archived': False, 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'has_wiki': True, 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'has_issues': False, 'open_issues_count': 208, 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'forks': 1716, 'license': {'node_id': 'MDc6TGljZW5zZTg=', 'key': 'gpl-2.0', 'name': 'GNU General Public License v2.0', 'spdx_id': 'GPL-2.0', 'url': 'https://api.github.com/licenses/gpl-2.0'}, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'mirror_url': None, 'has_downloads': True, 'fork': False, 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'has_projects': False, 'created_at': '2013-07-22T09:07:57Z', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'full_name': 'dolphin-emu/dolphin', 'name': 'dolphin', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'disabled': False, 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'watchers': 7341, 'id': 11577304, 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'updated_at': '2021-05-12T22:23:24Z', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'private': False, 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'owner': {'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'html_url': 'https://github.com/dolphin-emu', 'url': 'https://api.github.com/users/dolphin-emu', 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gravatar_id': '', 'login': 'dolphin-emu', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'site_admin': False, 'type': 'Organization', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'id': 5050316}, 'homepage': 'https://dolphin-emu.org/', 'default_branch': 'master', 'language': 'C++', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}'}}, 'type': 'gh_issue_comment', 'repo': 'dolphin-emu/dolphin', 'id': 9706}
2021-05-13T04:25:12.660138	{'safe_author': True, 'url': 'https://github.com/dolphin-emu/dolphin/pull/9706#issuecomment-840286400', 'source': 'ghhookparser', 'title': 'Netplay: Auto Pad Buffer Option', 'action': 'created', 'body': "> Oh, and btw, does Dolphin support gamecube and wii inputs at the same time for netplay?\r\n\r\nYes it does actually, though to my knowledge that's rarely done beyond Dokapon Kingdom. While I'm fond of the idea of having the buffer settings as milliseconds instead of raw size, the fact that polling rates can be variable makes this impossible. I also kind of prefer exposing the raw value, just because it gives the player more direct control. I don't really like the idea of having two buffer settings either, but I'm not sure of a better solution.", 'author': 'Techjar', 'raw': {'sender': {'organizations_url': 'https://api.github.com/users/Techjar/orgs', 'repos_url': 'https://api.github.com/users/Techjar/repos', 'html_url': 'https://github.com/Techjar', 'url': 'https://api.github.com/users/Techjar', 'node_id': 'MDQ6VXNlcjUzMjgyMQ==', 'avatar_url': 'https://avatars.githubusercontent.com/u/532821?v=4', 'followers_url': 'https://api.github.com/users/Techjar/followers', 'received_events_url': 'https://api.github.com/users/Techjar/received_events', 'events_url': 'https://api.github.com/users/Techjar/events{/privacy}', 'gists_url': 'https://api.github.com/users/Techjar/gists{/gist_id}', 'following_url': 'https://api.github.com/users/Techjar/following{/other_user}', 'gravatar_id': '', 'login': 'Techjar', 'subscriptions_url': 'https://api.github.com/users/Techjar/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/Techjar/starred{/owner}{/repo}', 'id': 532821}, 'issue': {'locked': False, 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9706/labels{/name}', 'comments': 6, 'milestone': None, 'assignees': [], 'title': 'Netplay: Auto Pad Buffer Option', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9706/events', 'pull_request': {'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/9706.patch', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/9706.diff', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9706', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9706'}, 'labels': [], 'body': 'Automatically set the pad buffer for users who do not know how to configure it or would rather automate the calculation used to estimate the optimal buffer size.\r\n\r\nCalculation (No Host Input Authority):\r\n`((total_latency * (number_of_players - 1)) / 15) + 1`\r\n\r\nCalculation for Host Input Authority:\r\n`(client_latency / 8) + 1`\r\n\r\nThanks to JMC for the calculations!\r\n\r\n![image](https://user-images.githubusercontent.com/4237834/118002614-b3747f00-b33f-11eb-958c-e2d21229d3fb.png)', 'number': 9706, 'author_association': 'CONTRIBUTOR', 'performed_via_github_app': None, 'created_at': '2021-05-12T15:35:37Z', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9706/comments', 'id': 890221227, 'updated_at': '2021-05-13T04:25:11Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9706', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9706', 'closed_at': None, 'state': 'open', 'active_lock_reason': None, 'assignee': None, 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'user': {'organizations_url': 'https://api.github.com/users/SirMangler/orgs', 'repos_url': 'https://api.github.com/users/SirMangler/repos', 'html_url': 'https://github.com/SirMangler', 'url': 'https://api.github.com/users/SirMangler', 'node_id': 'MDQ6VXNlcjQyMzc4MzQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/4237834?v=4', 'followers_url': 'https://api.github.com/users/SirMangler/followers', 'received_events_url': 'https://api.github.com/users/SirMangler/received_events', 'events_url': 'https://api.github.com/users/SirMangler/events{/privacy}', 'gists_url': 'https://api.github.com/users/SirMangler/gists{/gist_id}', 'following_url': 'https://api.github.com/users/SirMangler/following{/other_user}', 'gravatar_id': '', 'login': 'SirMangler', 'subscriptions_url': 'https://api.github.com/users/SirMangler/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/SirMangler/starred{/owner}{/repo}', 'id': 4237834}, 'node_id': 'MDExOlB1bGxSZXF1ZXN0NjQzMjc1MTQ5'}, 'organization': {'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': '', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'login': 'dolphin-emu', 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'id': 5050316}, 'comment': {'performed_via_github_app': None, 'updated_at': '2021-05-13T04:25:11Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9706#issuecomment-840286400', 'created_at': '2021-05-13T04:25:11Z', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/840286400', 'author_association': 'CONTRIBUTOR', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9706', 'user': {'organizations_url': 'https://api.github.com/users/Techjar/orgs', 'repos_url': 'https://api.github.com/users/Techjar/repos', 'html_url': 'https://github.com/Techjar', 'url': 'https://api.github.com/users/Techjar', 'node_id': 'MDQ6VXNlcjUzMjgyMQ==', 'avatar_url': 'https://avatars.githubusercontent.com/u/532821?v=4', 'followers_url': 'https://api.github.com/users/Techjar/followers', 'received_events_url': 'https://api.github.com/users/Techjar/received_events', 'events_url': 'https://api.github.com/users/Techjar/events{/privacy}', 'gists_url': 'https://api.github.com/users/Techjar/gists{/gist_id}', 'following_url': 'https://api.github.com/users/Techjar/following{/other_user}', 'gravatar_id': '', 'login': 'Techjar', 'subscriptions_url': 'https://api.github.com/users/Techjar/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/Techjar/starred{/owner}{/repo}', 'id': 532821}, 'node_id': 'MDEyOklzc3VlQ29tbWVudDg0MDI4NjQwMA==', 'body': "> Oh, and btw, does Dolphin support gamecube and wii inputs at the same time for netplay?\r\n\r\nYes it does actually, though to my knowledge that's rarely done beyond Dokapon Kingdom. While I'm fond of the idea of having the buffer settings as milliseconds instead of raw size, the fact that polling rates can be variable makes this impossible. I also kind of prefer exposing the raw value, just because it gives the player more direct control. I don't really like the idea of having two buffer settings either, but I'm not sure of a better solution.", 'id': 840286400}, 'action': 'created', 'repository': {'html_url': 'https://github.com/dolphin-emu/dolphin', 'open_issues': 208, 'size': 408210, 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'stargazers_count': 7341, 'pushed_at': '2021-05-12T22:23:17Z', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'forks_count': 1716, 'watchers_count': 7341, 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'has_pages': False, 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'archived': False, 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'has_wiki': True, 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'has_issues': False, 'open_issues_count': 208, 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'forks': 1716, 'license': {'node_id': 'MDc6TGljZW5zZTg=', 'key': 'gpl-2.0', 'name': 'GNU General Public License v2.0', 'spdx_id': 'GPL-2.0', 'url': 'https://api.github.com/licenses/gpl-2.0'}, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'mirror_url': None, 'has_downloads': True, 'fork': False, 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'has_projects': False, 'created_at': '2013-07-22T09:07:57Z', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'full_name': 'dolphin-emu/dolphin', 'name': 'dolphin', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'disabled': False, 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'watchers': 7341, 'id': 11577304, 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'updated_at': '2021-05-12T22:23:24Z', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'private': False, 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'owner': {'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'html_url': 'https://github.com/dolphin-emu', 'url': 'https://api.github.com/users/dolphin-emu', 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gravatar_id': '', 'login': 'dolphin-emu', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'site_admin': False, 'type': 'Organization', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'id': 5050316}, 'homepage': 'https://dolphin-emu.org/', 'default_branch': 'master', 'language': 'C++', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}'}}, 'type': 'gh_issue_comment', 'repo': 'dolphin-emu/dolphin', 'id': 9706}
2021-05-13T04:17:17.736229	{'safe_author': True, 'url': 'https://github.com/dolphin-emu/dolphin/pull/9706#issuecomment-840262908', 'source': 'ghhookparser', 'title': 'Netplay: Auto Pad Buffer Option', 'action': 'edited', 'body': "This should not be touching Host Input Authority at all. The buffer there is a client-side buffer akin to how video streaming sites buffer data, in order to smooth out the playback at the cost of additional latency. It should always be <=1 unless the user is on a high jitter connection.\r\n\r\nAlso, to simplify mimimi085181's explanation: the total latency should be the sum of only the two highest latency values for players that have pads mapped (spectators have no impact on the session), except when there's only two players, then it should only be the highest latency with no summing. Multiplying by the number of players is also just completely wrong. In fact, it actually should be divided by 2, because only the one-way latency matters, not round-trip.\r\n\r\nAnother problem is it also has to take into account polling rate, and while usually it's twice per frame, we can't be sure until the game is started. Overall I'm not particularly happy with the way this works currently. I like the idea, but it needs a totally different approach to make it actually useful.", 'author': 'Techjar', 'raw': {'sender': {'organizations_url': 'https://api.github.com/users/Techjar/orgs', 'repos_url': 'https://api.github.com/users/Techjar/repos', 'html_url': 'https://github.com/Techjar', 'url': 'https://api.github.com/users/Techjar', 'node_id': 'MDQ6VXNlcjUzMjgyMQ==', 'avatar_url': 'https://avatars.githubusercontent.com/u/532821?v=4', 'followers_url': 'https://api.github.com/users/Techjar/followers', 'received_events_url': 'https://api.github.com/users/Techjar/received_events', 'events_url': 'https://api.github.com/users/Techjar/events{/privacy}', 'gists_url': 'https://api.github.com/users/Techjar/gists{/gist_id}', 'following_url': 'https://api.github.com/users/Techjar/following{/other_user}', 'gravatar_id': '', 'login': 'Techjar', 'subscriptions_url': 'https://api.github.com/users/Techjar/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/Techjar/starred{/owner}{/repo}', 'id': 532821}, 'changes': {'body': {'from': "This should not be touching Host Input Authority at all. The buffer there is a client-side buffer akin to how video streaming sites buffer data, in order to smooth out the playback at the cost of additional latency. It should always be <=1 unless the user is on a high jitter connection.\r\n\r\nAlso, to simplify mimimi085181's explanation: the total latency should be the sum of only the two highest latency values for players that have pads mapped (spectators have no impact on the session), except when there's only two players, then it should only be the highest latency with no summing. Multiplying by the number of players is also just completely wrong. In fact, it actually should be divided by 2, because only the one-way latency matters, not round-trip."}}, 'issue': {'locked': False, 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9706/labels{/name}', 'comments': 5, 'milestone': None, 'assignees': [], 'title': 'Netplay: Auto Pad Buffer Option', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9706/events', 'pull_request': {'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/9706.patch', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/9706.diff', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9706', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9706'}, 'labels': [], 'body': 'Automatically set the pad buffer for users who do not know how to configure it or would rather automate the calculation used to estimate the optimal buffer size.\r\n\r\nCalculation (No Host Input Authority):\r\n`((total_latency * (number_of_players - 1)) / 15) + 1`\r\n\r\nCalculation for Host Input Authority:\r\n`(client_latency / 8) + 1`\r\n\r\nThanks to JMC for the calculations!\r\n\r\n![image](https://user-images.githubusercontent.com/4237834/118002614-b3747f00-b33f-11eb-958c-e2d21229d3fb.png)', 'number': 9706, 'author_association': 'CONTRIBUTOR', 'performed_via_github_app': None, 'created_at': '2021-05-12T15:35:37Z', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9706/comments', 'id': 890221227, 'updated_at': '2021-05-13T04:17:16Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9706', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9706', 'closed_at': None, 'state': 'open', 'active_lock_reason': None, 'assignee': None, 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'user': {'organizations_url': 'https://api.github.com/users/SirMangler/orgs', 'repos_url': 'https://api.github.com/users/SirMangler/repos', 'html_url': 'https://github.com/SirMangler', 'url': 'https://api.github.com/users/SirMangler', 'node_id': 'MDQ6VXNlcjQyMzc4MzQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/4237834?v=4', 'followers_url': 'https://api.github.com/users/SirMangler/followers', 'received_events_url': 'https://api.github.com/users/SirMangler/received_events', 'events_url': 'https://api.github.com/users/SirMangler/events{/privacy}', 'gists_url': 'https://api.github.com/users/SirMangler/gists{/gist_id}', 'following_url': 'https://api.github.com/users/SirMangler/following{/other_user}', 'gravatar_id': '', 'login': 'SirMangler', 'subscriptions_url': 'https://api.github.com/users/SirMangler/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/SirMangler/starred{/owner}{/repo}', 'id': 4237834}, 'node_id': 'MDExOlB1bGxSZXF1ZXN0NjQzMjc1MTQ5'}, 'organization': {'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': '', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'login': 'dolphin-emu', 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'id': 5050316}, 'comment': {'performed_via_github_app': None, 'updated_at': '2021-05-13T04:17:16Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9706#issuecomment-840262908', 'created_at': '2021-05-13T03:21:04Z', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/840262908', 'author_association': 'CONTRIBUTOR', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9706', 'user': {'organizations_url': 'https://api.github.com/users/Techjar/orgs', 'repos_url': 'https://api.github.com/users/Techjar/repos', 'html_url': 'https://github.com/Techjar', 'url': 'https://api.github.com/users/Techjar', 'node_id': 'MDQ6VXNlcjUzMjgyMQ==', 'avatar_url': 'https://avatars.githubusercontent.com/u/532821?v=4', 'followers_url': 'https://api.github.com/users/Techjar/followers', 'received_events_url': 'https://api.github.com/users/Techjar/received_events', 'events_url': 'https://api.github.com/users/Techjar/events{/privacy}', 'gists_url': 'https://api.github.com/users/Techjar/gists{/gist_id}', 'following_url': 'https://api.github.com/users/Techjar/following{/other_user}', 'gravatar_id': '', 'login': 'Techjar', 'subscriptions_url': 'https://api.github.com/users/Techjar/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/Techjar/starred{/owner}{/repo}', 'id': 532821}, 'node_id': 'MDEyOklzc3VlQ29tbWVudDg0MDI2MjkwOA==', 'body': "This should not be touching Host Input Authority at all. The buffer there is a client-side buffer akin to how video streaming sites buffer data, in order to smooth out the playback at the cost of additional latency. It should always be <=1 unless the user is on a high jitter connection.\r\n\r\nAlso, to simplify mimimi085181's explanation: the total latency should be the sum of only the two highest latency values for players that have pads mapped (spectators have no impact on the session), except when there's only two players, then it should only be the highest latency with no summing. Multiplying by the number of players is also just completely wrong. In fact, it actually should be divided by 2, because only the one-way latency matters, not round-trip.\r\n\r\nAnother problem is it also has to take into account polling rate, and while usually it's twice per frame, we can't be sure until the game is started. Overall I'm not particularly happy with the way this works currently. I like the idea, but it needs a totally different approach to make it actually useful.", 'id': 840262908}, 'action': 'edited', 'repository': {'html_url': 'https://github.com/dolphin-emu/dolphin', 'open_issues': 208, 'size': 408210, 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'stargazers_count': 7341, 'pushed_at': '2021-05-12T22:23:17Z', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'forks_count': 1716, 'watchers_count': 7341, 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'has_pages': False, 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'archived': False, 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'has_wiki': True, 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'has_issues': False, 'open_issues_count': 208, 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'forks': 1716, 'license': {'node_id': 'MDc6TGljZW5zZTg=', 'key': 'gpl-2.0', 'name': 'GNU General Public License v2.0', 'spdx_id': 'GPL-2.0', 'url': 'https://api.github.com/licenses/gpl-2.0'}, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'mirror_url': None, 'has_downloads': True, 'fork': False, 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'has_projects': False, 'created_at': '2013-07-22T09:07:57Z', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'full_name': 'dolphin-emu/dolphin', 'name': 'dolphin', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'disabled': False, 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'watchers': 7341, 'id': 11577304, 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'updated_at': '2021-05-12T22:23:24Z', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'private': False, 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'owner': {'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'html_url': 'https://github.com/dolphin-emu', 'url': 'https://api.github.com/users/dolphin-emu', 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gravatar_id': '', 'login': 'dolphin-emu', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'site_admin': False, 'type': 'Organization', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'id': 5050316}, 'homepage': 'https://dolphin-emu.org/', 'default_branch': 'master', 'language': 'C++', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}'}}, 'type': 'gh_issue_comment', 'repo': 'dolphin-emu/dolphin', 'id': 9706}
2021-05-13T04:11:07.460183	{'safe_author': True, 'url': 'https://github.com/dolphin-emu/dolphin/pull/9706#issuecomment-840262908', 'source': 'ghhookparser', 'title': 'Netplay: Auto Pad Buffer Option', 'action': 'edited', 'body': "This should not be touching Host Input Authority at all. The buffer there is a client-side buffer akin to how video streaming sites buffer data, in order to smooth out the playback at the cost of additional latency. It should always be <=1 unless the user is on a high jitter connection.\r\n\r\nAlso, to simplify mimimi085181's explanation: the total latency should be the sum of only the two highest latency values for players that have pads mapped (spectators have no impact on the session), except when there's only two players, then it should only be the highest latency with no summing. Multiplying by the number of players is also just completely wrong. In fact, it actually should be divided by 2, because only the one-way latency matters, not round-trip.", 'author': 'Techjar', 'raw': {'sender': {'organizations_url': 'https://api.github.com/users/Techjar/orgs', 'repos_url': 'https://api.github.com/users/Techjar/repos', 'html_url': 'https://github.com/Techjar', 'url': 'https://api.github.com/users/Techjar', 'node_id': 'MDQ6VXNlcjUzMjgyMQ==', 'avatar_url': 'https://avatars.githubusercontent.com/u/532821?v=4', 'followers_url': 'https://api.github.com/users/Techjar/followers', 'received_events_url': 'https://api.github.com/users/Techjar/received_events', 'events_url': 'https://api.github.com/users/Techjar/events{/privacy}', 'gists_url': 'https://api.github.com/users/Techjar/gists{/gist_id}', 'following_url': 'https://api.github.com/users/Techjar/following{/other_user}', 'gravatar_id': '', 'login': 'Techjar', 'subscriptions_url': 'https://api.github.com/users/Techjar/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/Techjar/starred{/owner}{/repo}', 'id': 532821}, 'changes': {'body': {'from': "This should not be touching Host Input Authority at all. The buffer there is a client-side buffer akin to how video streaming sites buffer data, in order to smooth out the playback at the cost of additional latency. It should always be <=1 unless the user is on a high jitter connection.\r\n\r\nAlso, to simplify mimimi085181's explanation: the total latency should be the sum of only the two highest latency values for players that have pads mapped (spectators have no impact on the session), except when there's only two players, then it should only be the highest latency with no summing. Multiplying by the number of players is also just completely wrong."}}, 'issue': {'locked': False, 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9706/labels{/name}', 'comments': 5, 'milestone': None, 'assignees': [], 'title': 'Netplay: Auto Pad Buffer Option', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9706/events', 'pull_request': {'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/9706.patch', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/9706.diff', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9706', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9706'}, 'labels': [], 'body': 'Automatically set the pad buffer for users who do not know how to configure it or would rather automate the calculation used to estimate the optimal buffer size.\r\n\r\nCalculation (No Host Input Authority):\r\n`((total_latency * (number_of_players - 1)) / 15) + 1`\r\n\r\nCalculation for Host Input Authority:\r\n`(client_latency / 8) + 1`\r\n\r\nThanks to JMC for the calculations!\r\n\r\n![image](https://user-images.githubusercontent.com/4237834/118002614-b3747f00-b33f-11eb-958c-e2d21229d3fb.png)', 'number': 9706, 'author_association': 'CONTRIBUTOR', 'performed_via_github_app': None, 'created_at': '2021-05-12T15:35:37Z', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9706/comments', 'id': 890221227, 'updated_at': '2021-05-13T04:11:06Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9706', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9706', 'closed_at': None, 'state': 'open', 'active_lock_reason': None, 'assignee': None, 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'user': {'organizations_url': 'https://api.github.com/users/SirMangler/orgs', 'repos_url': 'https://api.github.com/users/SirMangler/repos', 'html_url': 'https://github.com/SirMangler', 'url': 'https://api.github.com/users/SirMangler', 'node_id': 'MDQ6VXNlcjQyMzc4MzQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/4237834?v=4', 'followers_url': 'https://api.github.com/users/SirMangler/followers', 'received_events_url': 'https://api.github.com/users/SirMangler/received_events', 'events_url': 'https://api.github.com/users/SirMangler/events{/privacy}', 'gists_url': 'https://api.github.com/users/SirMangler/gists{/gist_id}', 'following_url': 'https://api.github.com/users/SirMangler/following{/other_user}', 'gravatar_id': '', 'login': 'SirMangler', 'subscriptions_url': 'https://api.github.com/users/SirMangler/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/SirMangler/starred{/owner}{/repo}', 'id': 4237834}, 'node_id': 'MDExOlB1bGxSZXF1ZXN0NjQzMjc1MTQ5'}, 'organization': {'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': '', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'login': 'dolphin-emu', 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'id': 5050316}, 'comment': {'performed_via_github_app': None, 'updated_at': '2021-05-13T04:11:06Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9706#issuecomment-840262908', 'created_at': '2021-05-13T03:21:04Z', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/840262908', 'author_association': 'CONTRIBUTOR', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9706', 'user': {'organizations_url': 'https://api.github.com/users/Techjar/orgs', 'repos_url': 'https://api.github.com/users/Techjar/repos', 'html_url': 'https://github.com/Techjar', 'url': 'https://api.github.com/users/Techjar', 'node_id': 'MDQ6VXNlcjUzMjgyMQ==', 'avatar_url': 'https://avatars.githubusercontent.com/u/532821?v=4', 'followers_url': 'https://api.github.com/users/Techjar/followers', 'received_events_url': 'https://api.github.com/users/Techjar/received_events', 'events_url': 'https://api.github.com/users/Techjar/events{/privacy}', 'gists_url': 'https://api.github.com/users/Techjar/gists{/gist_id}', 'following_url': 'https://api.github.com/users/Techjar/following{/other_user}', 'gravatar_id': '', 'login': 'Techjar', 'subscriptions_url': 'https://api.github.com/users/Techjar/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/Techjar/starred{/owner}{/repo}', 'id': 532821}, 'node_id': 'MDEyOklzc3VlQ29tbWVudDg0MDI2MjkwOA==', 'body': "This should not be touching Host Input Authority at all. The buffer there is a client-side buffer akin to how video streaming sites buffer data, in order to smooth out the playback at the cost of additional latency. It should always be <=1 unless the user is on a high jitter connection.\r\n\r\nAlso, to simplify mimimi085181's explanation: the total latency should be the sum of only the two highest latency values for players that have pads mapped (spectators have no impact on the session), except when there's only two players, then it should only be the highest latency with no summing. Multiplying by the number of players is also just completely wrong. In fact, it actually should be divided by 2, because only the one-way latency matters, not round-trip.", 'id': 840262908}, 'action': 'edited', 'repository': {'html_url': 'https://github.com/dolphin-emu/dolphin', 'open_issues': 208, 'size': 408210, 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'stargazers_count': 7341, 'pushed_at': '2021-05-12T22:23:17Z', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'forks_count': 1716, 'watchers_count': 7341, 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'has_pages': False, 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'archived': False, 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'has_wiki': True, 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'has_issues': False, 'open_issues_count': 208, 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'forks': 1716, 'license': {'node_id': 'MDc6TGljZW5zZTg=', 'key': 'gpl-2.0', 'name': 'GNU General Public License v2.0', 'spdx_id': 'GPL-2.0', 'url': 'https://api.github.com/licenses/gpl-2.0'}, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'mirror_url': None, 'has_downloads': True, 'fork': False, 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'has_projects': False, 'created_at': '2013-07-22T09:07:57Z', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'full_name': 'dolphin-emu/dolphin', 'name': 'dolphin', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'disabled': False, 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'watchers': 7341, 'id': 11577304, 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'updated_at': '2021-05-12T22:23:24Z', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'private': False, 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'owner': {'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'html_url': 'https://github.com/dolphin-emu', 'url': 'https://api.github.com/users/dolphin-emu', 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gravatar_id': '', 'login': 'dolphin-emu', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'site_admin': False, 'type': 'Organization', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'id': 5050316}, 'homepage': 'https://dolphin-emu.org/', 'default_branch': 'master', 'language': 'C++', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}'}}, 'type': 'gh_issue_comment', 'repo': 'dolphin-emu/dolphin', 'id': 9706}
2021-05-13T04:10:08.617448	{'safe_author': True, 'url': 'https://github.com/dolphin-emu/dolphin/pull/9706#issuecomment-840249815', 'source': 'ghhookparser', 'title': 'Netplay: Auto Pad Buffer Option', 'action': 'edited', 'body': "The formulas need the input polling rate in them as a factor. And, as far as i remember, the 2 formulas would need to be one for 2 players and one for 3/4 players. In 2 player mode, both talk directly to each other, so the buffer just needs to factor in the latency between both players. In 3 and 4 player mode, all players send their inputs to the host, which then sends them to the other players. So, for example, they have the latencies 0(host), 10, 30 and 70, the buffer would need to factor in the latency of 100, the worst case: sending the inputs from player 3 to player 4 or from 4 to 3. The latency of player 2 is irrelevant here, because their latency doesn't affect the latency of the communication from player 3 to 4. Keep in mind, i haven't looked at the code in ages, and this is just out of memory.\r\n\r\n~~A suggestion for an alternative:\r\nInstead of setting a fixed buffer size, set a target buffer length in ms. A nice auto-option on top of that wouldn't hurt of course. Every time the inputs are polled, each client calculates the technical buffer size at that time, which would be really useful if the polling rate can change midgame or is not known until the game is started. And it would be way easier to understand for users to set: 2 players: Set it to the latency between the 2 computers. 3 or 4 players: Set it to the sum of the 2 worst latencies between host and players. Maybe with the option to set the buffer size the old way, for people being used to it, or if games do stupid things and constantly change the polling rate in transitions or something.~~\r\n\r\nEither way, the way i see it(like i said, i could be wrong), the formula would be:\r\nbuffersize = latency*pollingrate/1000\r\nThen you could discuss whether to always round up, or round down but add 1, so that the buffer always holds inputs for the target time or a little longer. Without my suggestion, you'd insert the sum of the 2 worst latencies as the latency in the formula.\r\n\r\nOh, and btw, does Dolphin support gamecube and wii inputs at the same time for netplay? If yes, you'd either need 2 different buffer sizes for it work nicely(different pr...)~~, or the suggested target buffer length in ms would just fix it as a side effect~~.", 'author': 'mimimi085181', 'raw': {'sender': {'organizations_url': 'https://api.github.com/users/mimimi085181/orgs', 'repos_url': 'https://api.github.com/users/mimimi085181/repos', 'html_url': 'https://github.com/mimimi085181', 'url': 'https://api.github.com/users/mimimi085181', 'node_id': 'MDQ6VXNlcjkzMDQ5Mzg=', 'avatar_url': 'https://avatars.githubusercontent.com/u/9304938?v=4', 'followers_url': 'https://api.github.com/users/mimimi085181/followers', 'received_events_url': 'https://api.github.com/users/mimimi085181/received_events', 'events_url': 'https://api.github.com/users/mimimi085181/events{/privacy}', 'gists_url': 'https://api.github.com/users/mimimi085181/gists{/gist_id}', 'following_url': 'https://api.github.com/users/mimimi085181/following{/other_user}', 'gravatar_id': '', 'login': 'mimimi085181', 'subscriptions_url': 'https://api.github.com/users/mimimi085181/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/mimimi085181/starred{/owner}{/repo}', 'id': 9304938}, 'changes': {'body': {'from': "The formulas need the input polling rate in them as a factor. And, as far as i remember, the 2 formulas would need to be one for 2 players and one for 3/4 players. In 2 player mode, both talk directly to each other, so the buffer just needs to factor in the latency between both players. In 3 and 4 player mode, all players send their inputs to the host, which then sends them to the other players. So, for example, they have the latencies 0(host), 10, 30 and 70, the buffer would need to factor in the latency of 100, the worst case: sending the inputs from player 3 to player 4 or from 4 to 3. The latency of player 2 is irrelevant here, because their latency doesn't affect the latency of the communication from player 3 to 4. Keep in mind, i haven't looked at the code in ages, and this is just out of memory.\r\n\r\nA suggestion for an alternative:\r\nInstead of setting a fixed buffer size, set a target buffer length in ms. A nice auto-option on top of that wouldn't hurt of course. Every time the inputs are polled, each client calculates the technical buffer size at that time, which would be really useful if the polling rate can change midgame or is not known until the game is started. And it would be way easier to understand for users to set: 2 players: Set it to the latency between the 2 computers. 3 or 4 players: Set it to the sum of the 2 worst latencies between host and players. Maybe with the option to set the buffer size the old way, for people being used to it, or if games do stupid things and constantly change the polling rate in transitions or something.\r\n\r\nEither way, the way i see it(like i said, i could be wrong), the formula would be:\r\nbuffersize = latency*pollingrate/1000\r\nThen you could discuss whether to always round up, or round down but add 1, so that the buffer always holds inputs for the target time or a little longer. Without my suggestion, you'd insert the sum of the 2 worst latencies as the latency in the formula.\r\n\r\nOh, and btw, does Dolphin support gamecube and wii inputs at the same time for netplay? If yes, you'd either need 2 different buffer sizes for it work nicely(different pr...), or the suggested target buffer length in ms would just fix it as a side effect."}}, 'issue': {'locked': False, 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9706/labels{/name}', 'comments': 5, 'milestone': None, 'assignees': [], 'title': 'Netplay: Auto Pad Buffer Option', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9706/events', 'pull_request': {'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/9706.patch', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/9706.diff', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9706', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9706'}, 'labels': [], 'body': 'Automatically set the pad buffer for users who do not know how to configure it or would rather automate the calculation used to estimate the optimal buffer size.\r\n\r\nCalculation (No Host Input Authority):\r\n`((total_latency * (number_of_players - 1)) / 15) + 1`\r\n\r\nCalculation for Host Input Authority:\r\n`(client_latency / 8) + 1`\r\n\r\nThanks to JMC for the calculations!\r\n\r\n![image](https://user-images.githubusercontent.com/4237834/118002614-b3747f00-b33f-11eb-958c-e2d21229d3fb.png)', 'number': 9706, 'author_association': 'CONTRIBUTOR', 'performed_via_github_app': None, 'created_at': '2021-05-12T15:35:37Z', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9706/comments', 'id': 890221227, 'updated_at': '2021-05-13T04:10:07Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9706', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9706', 'closed_at': None, 'state': 'open', 'active_lock_reason': None, 'assignee': None, 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'user': {'organizations_url': 'https://api.github.com/users/SirMangler/orgs', 'repos_url': 'https://api.github.com/users/SirMangler/repos', 'html_url': 'https://github.com/SirMangler', 'url': 'https://api.github.com/users/SirMangler', 'node_id': 'MDQ6VXNlcjQyMzc4MzQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/4237834?v=4', 'followers_url': 'https://api.github.com/users/SirMangler/followers', 'received_events_url': 'https://api.github.com/users/SirMangler/received_events', 'events_url': 'https://api.github.com/users/SirMangler/events{/privacy}', 'gists_url': 'https://api.github.com/users/SirMangler/gists{/gist_id}', 'following_url': 'https://api.github.com/users/SirMangler/following{/other_user}', 'gravatar_id': '', 'login': 'SirMangler', 'subscriptions_url': 'https://api.github.com/users/SirMangler/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/SirMangler/starred{/owner}{/repo}', 'id': 4237834}, 'node_id': 'MDExOlB1bGxSZXF1ZXN0NjQzMjc1MTQ5'}, 'organization': {'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': '', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'login': 'dolphin-emu', 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'id': 5050316}, 'comment': {'performed_via_github_app': None, 'updated_at': '2021-05-13T04:10:07Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9706#issuecomment-840249815', 'created_at': '2021-05-13T02:48:36Z', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/840249815', 'author_association': 'CONTRIBUTOR', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9706', 'user': {'organizations_url': 'https://api.github.com/users/mimimi085181/orgs', 'repos_url': 'https://api.github.com/users/mimimi085181/repos', 'html_url': 'https://github.com/mimimi085181', 'url': 'https://api.github.com/users/mimimi085181', 'node_id': 'MDQ6VXNlcjkzMDQ5Mzg=', 'avatar_url': 'https://avatars.githubusercontent.com/u/9304938?v=4', 'followers_url': 'https://api.github.com/users/mimimi085181/followers', 'received_events_url': 'https://api.github.com/users/mimimi085181/received_events', 'events_url': 'https://api.github.com/users/mimimi085181/events{/privacy}', 'gists_url': 'https://api.github.com/users/mimimi085181/gists{/gist_id}', 'following_url': 'https://api.github.com/users/mimimi085181/following{/other_user}', 'gravatar_id': '', 'login': 'mimimi085181', 'subscriptions_url': 'https://api.github.com/users/mimimi085181/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/mimimi085181/starred{/owner}{/repo}', 'id': 9304938}, 'node_id': 'MDEyOklzc3VlQ29tbWVudDg0MDI0OTgxNQ==', 'body': "The formulas need the input polling rate in them as a factor. And, as far as i remember, the 2 formulas would need to be one for 2 players and one for 3/4 players. In 2 player mode, both talk directly to each other, so the buffer just needs to factor in the latency between both players. In 3 and 4 player mode, all players send their inputs to the host, which then sends them to the other players. So, for example, they have the latencies 0(host), 10, 30 and 70, the buffer would need to factor in the latency of 100, the worst case: sending the inputs from player 3 to player 4 or from 4 to 3. The latency of player 2 is irrelevant here, because their latency doesn't affect the latency of the communication from player 3 to 4. Keep in mind, i haven't looked at the code in ages, and this is just out of memory.\r\n\r\n~~A suggestion for an alternative:\r\nInstead of setting a fixed buffer size, set a target buffer length in ms. A nice auto-option on top of that wouldn't hurt of course. Every time the inputs are polled, each client calculates the technical buffer size at that time, which would be really useful if the polling rate can change midgame or is not known until the game is started. And it would be way easier to understand for users to set: 2 players: Set it to the latency between the 2 computers. 3 or 4 players: Set it to the sum of the 2 worst latencies between host and players. Maybe with the option to set the buffer size the old way, for people being used to it, or if games do stupid things and constantly change the polling rate in transitions or something.~~\r\n\r\nEither way, the way i see it(like i said, i could be wrong), the formula would be:\r\nbuffersize = latency*pollingrate/1000\r\nThen you could discuss whether to always round up, or round down but add 1, so that the buffer always holds inputs for the target time or a little longer. Without my suggestion, you'd insert the sum of the 2 worst latencies as the latency in the formula.\r\n\r\nOh, and btw, does Dolphin support gamecube and wii inputs at the same time for netplay? If yes, you'd either need 2 different buffer sizes for it work nicely(different pr...)~~, or the suggested target buffer length in ms would just fix it as a side effect~~.", 'id': 840249815}, 'action': 'edited', 'repository': {'html_url': 'https://github.com/dolphin-emu/dolphin', 'open_issues': 208, 'size': 408210, 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'stargazers_count': 7341, 'pushed_at': '2021-05-12T22:23:17Z', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'forks_count': 1716, 'watchers_count': 7341, 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'has_pages': False, 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'archived': False, 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'has_wiki': True, 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'has_issues': False, 'open_issues_count': 208, 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'forks': 1716, 'license': {'node_id': 'MDc6TGljZW5zZTg=', 'key': 'gpl-2.0', 'name': 'GNU General Public License v2.0', 'spdx_id': 'GPL-2.0', 'url': 'https://api.github.com/licenses/gpl-2.0'}, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'mirror_url': None, 'has_downloads': True, 'fork': False, 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'has_projects': False, 'created_at': '2013-07-22T09:07:57Z', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'full_name': 'dolphin-emu/dolphin', 'name': 'dolphin', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'disabled': False, 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'watchers': 7341, 'id': 11577304, 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'updated_at': '2021-05-12T22:23:24Z', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'private': False, 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'owner': {'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'html_url': 'https://github.com/dolphin-emu', 'url': 'https://api.github.com/users/dolphin-emu', 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gravatar_id': '', 'login': 'dolphin-emu', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'site_admin': False, 'type': 'Organization', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'id': 5050316}, 'homepage': 'https://dolphin-emu.org/', 'default_branch': 'master', 'language': 'C++', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}'}}, 'type': 'gh_issue_comment', 'repo': 'dolphin-emu/dolphin', 'id': 9706}

Recent 'gh_pull_request' events

2021-05-14T16:38:38.913019	{'head_sha': '7abab678ffb6db49f74b82c03efe09706e8ea3d1', 'requested_reviewers': [{'organizations_url': 'https://api.github.com/users/BhaaLseN/orgs', 'repos_url': 'https://api.github.com/users/BhaaLseN/repos', 'html_url': 'https://github.com/BhaaLseN', 'url': 'https://api.github.com/users/BhaaLseN', 'node_id': 'MDQ6VXNlcjgyNjA1Mg==', 'avatar_url': 'https://avatars.githubusercontent.com/u/826052?v=4', 'followers_url': 'https://api.github.com/users/BhaaLseN/followers', 'received_events_url': 'https://api.github.com/users/BhaaLseN/received_events', 'events_url': 'https://api.github.com/users/BhaaLseN/events{/privacy}', 'gists_url': 'https://api.github.com/users/BhaaLseN/gists{/gist_id}', 'following_url': 'https://api.github.com/users/BhaaLseN/following{/other_user}', 'gravatar_id': '', 'login': 'BhaaLseN', 'subscriptions_url': 'https://api.github.com/users/BhaaLseN/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/BhaaLseN/starred{/owner}{/repo}', 'id': 826052}, {'organizations_url': 'https://api.github.com/users/MerryMage/orgs', 'repos_url': 'https://api.github.com/users/MerryMage/repos', 'html_url': 'https://github.com/MerryMage', 'url': 'https://api.github.com/users/MerryMage', 'node_id': 'MDQ6VXNlcjg2ODI4ODI=', 'avatar_url': 'https://avatars.githubusercontent.com/u/8682882?v=4', 'followers_url': 'https://api.github.com/users/MerryMage/followers', 'received_events_url': 'https://api.github.com/users/MerryMage/received_events', 'events_url': 'https://api.github.com/users/MerryMage/events{/privacy}', 'gists_url': 'https://api.github.com/users/MerryMage/gists{/gist_id}', 'following_url': 'https://api.github.com/users/MerryMage/following{/other_user}', 'gravatar_id': '', 'login': 'MerryMage', 'subscriptions_url': 'https://api.github.com/users/MerryMage/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/MerryMage/starred{/owner}{/repo}', 'id': 8682882}], 'safe_author': True, 'url': 'https://github.com/dolphin-emu/dolphin/pull/9441', 'base_sha': 'a6f6211ddeaa87fee5009df7ba467ef733fa3fcf', 'source': 'ghhookparser', 'base_ref_name': 'master', 'title': 'Apple M1 Support for MacOS', 'action': 'synchronize', 'head_ref_name': 'master', 'merged': False, 'repo': 'dolphin-emu/dolphin', 'type': 'gh_pull_request', 'author': 'skylersaleh', 'id': 9441}
2021-05-14T14:48:33.406950	{'head_sha': 'e27d02cc0fbeaedf120660c06d06c420c661cab6', 'requested_reviewers': [], 'safe_author': True, 'url': 'https://github.com/dolphin-emu/dolphin/pull/9699', 'base_sha': 'eb5cd9be78c76b9ccbab9e5fbd1721ef6876cd68', 'source': 'ghhookparser', 'base_ref_name': 'master', 'title': 'Fix backslash parsing issue in SplitPath', 'action': 'converted_to_draft', 'head_ref_name': 'master', 'merged': False, 'repo': 'dolphin-emu/dolphin', 'type': 'gh_pull_request', 'author': 'leoetlino', 'id': 9699}
2021-05-14T14:46:18.702984	{'head_sha': '65c7eac8322b75031688b0a5fc2c3598160d36f4', 'requested_reviewers': [], 'safe_author': True, 'url': 'https://github.com/dolphin-emu/dolphin/pull/9709', 'base_sha': '16e91172b17eb2f223599a49658e3abb348b89f9', 'source': 'ghhookparser', 'base_ref_name': 'master', 'title': 'UPnP: Improve error messages on initialization failure.', 'action': 'opened', 'head_ref_name': 'upnp-error-log', 'merged': False, 'repo': 'dolphin-emu/dolphin', 'type': 'gh_pull_request', 'author': 'AdmiralCurtiss', 'id': 9709}
2021-05-14T14:12:44.769857	{'head_sha': 'a62c4e0dde37573318d63732f29f1e3e4defa973', 'requested_reviewers': [], 'safe_author': True, 'url': 'https://github.com/dolphin-emu/dolphin/pull/8983', 'base_sha': '16e91172b17eb2f223599a49658e3abb348b89f9', 'source': 'ghhookparser', 'base_ref_name': 'master', 'title': 'Audio refactor', 'action': 'synchronize', 'head_ref_name': 'audio-input-fixes', 'merged': False, 'repo': 'dolphin-emu/dolphin', 'type': 'gh_pull_request', 'author': 'Filoppi', 'id': 8983}
2021-05-14T14:02:39.378061	{'head_sha': '55f8952532997df44f13481215e96299f15e5d27', 'requested_reviewers': [], 'safe_author': True, 'url': 'https://github.com/dolphin-emu/dolphin/pull/8983', 'base_sha': '16e91172b17eb2f223599a49658e3abb348b89f9', 'source': 'ghhookparser', 'base_ref_name': 'master', 'title': 'Audio refactor', 'action': 'synchronize', 'head_ref_name': 'audio-input-fixes', 'merged': False, 'repo': 'dolphin-emu/dolphin', 'type': 'gh_pull_request', 'author': 'Filoppi', 'id': 8983}
2021-05-14T12:22:13.064069	{'head_sha': 'ae9ac510e2dbed6d7adec40dff33d82bb0f1ff3e', 'requested_reviewers': [], 'safe_author': True, 'url': 'https://github.com/dolphin-emu/dolphin/pull/9668', 'base_sha': '219f66c6e90ff2327b96c0bf873d6c4d0e203b8a', 'source': 'ghhookparser', 'base_ref_name': 'master', 'title': 'CMake: minor Windows fixes', 'action': 'closed', 'head_ref_name': 'windows-cmake-fixes', 'merged': True, 'repo': 'dolphin-emu/dolphin', 'type': 'gh_pull_request', 'author': 'JMC47', 'id': 9668}
2021-05-14T11:07:49.781864	{'head_sha': 'a49f4f0f62bedf06a2fd8aff27fd2175fa6f7a0d', 'requested_reviewers': [], 'safe_author': True, 'url': 'https://github.com/dolphin-emu/dolphin/pull/8983', 'base_sha': '9f91fb64479d3df14489378a6b4fb3ffa7d12f2d', 'source': 'ghhookparser', 'base_ref_name': 'master', 'title': 'Audio refactor', 'action': 'converted_to_draft', 'head_ref_name': 'audio-input-fixes', 'merged': False, 'repo': 'dolphin-emu/dolphin', 'type': 'gh_pull_request', 'author': 'Filoppi', 'id': 8983}
2021-05-14T11:06:09.627583	{'head_sha': 'a49f4f0f62bedf06a2fd8aff27fd2175fa6f7a0d', 'requested_reviewers': [], 'safe_author': True, 'url': 'https://github.com/dolphin-emu/dolphin/pull/8983', 'base_sha': '9f91fb64479d3df14489378a6b4fb3ffa7d12f2d', 'source': 'ghhookparser', 'base_ref_name': 'master', 'title': 'Audio refactor', 'action': 'ready_for_review', 'head_ref_name': 'audio-input-fixes', 'merged': False, 'repo': 'dolphin-emu/dolphin', 'type': 'gh_pull_request', 'author': 'Filoppi', 'id': 8983}
2021-05-14T11:05:37.071562	{'head_sha': 'a49f4f0f62bedf06a2fd8aff27fd2175fa6f7a0d', 'requested_reviewers': [], 'safe_author': True, 'url': 'https://github.com/dolphin-emu/dolphin/pull/8983', 'base_sha': '9f91fb64479d3df14489378a6b4fb3ffa7d12f2d', 'source': 'ghhookparser', 'base_ref_name': 'master', 'title': 'Audio refactor', 'action': 'edited', 'head_ref_name': 'audio-input-fixes', 'merged': False, 'repo': 'dolphin-emu/dolphin', 'type': 'gh_pull_request', 'author': 'Filoppi', 'id': 8983}
2021-05-14T11:04:54.666804	{'head_sha': 'a49f4f0f62bedf06a2fd8aff27fd2175fa6f7a0d', 'requested_reviewers': [], 'safe_author': True, 'url': 'https://github.com/dolphin-emu/dolphin/pull/8983', 'base_sha': '9f91fb64479d3df14489378a6b4fb3ffa7d12f2d', 'source': 'ghhookparser', 'base_ref_name': 'master', 'title': 'Audio backends refactor', 'action': 'synchronize', 'head_ref_name': 'audio-input-fixes', 'merged': False, 'repo': 'dolphin-emu/dolphin', 'type': 'gh_pull_request', 'author': 'Filoppi', 'id': 8983}
2021-05-14T10:56:25.160712	{'head_sha': '02575cb30c5c9a21d2023bb2dcaecf0bdf2ffa38', 'requested_reviewers': [], 'safe_author': True, 'url': 'https://github.com/dolphin-emu/dolphin/pull/8983', 'base_sha': '31780a6059366112283fbbc894d9123b1fb2281e', 'source': 'ghhookparser', 'base_ref_name': 'master', 'title': 'Audio backends refactor', 'action': 'edited', 'head_ref_name': 'audio-input-fixes', 'merged': False, 'repo': 'dolphin-emu/dolphin', 'type': 'gh_pull_request', 'author': 'Filoppi', 'id': 8983}
2021-05-14T10:56:08.992894	{'head_sha': '02575cb30c5c9a21d2023bb2dcaecf0bdf2ffa38', 'requested_reviewers': [], 'safe_author': True, 'url': 'https://github.com/dolphin-emu/dolphin/pull/8983', 'base_sha': '31780a6059366112283fbbc894d9123b1fb2281e', 'source': 'ghhookparser', 'base_ref_name': 'master', 'title': 'Audio backends refactor', 'action': 'edited', 'head_ref_name': 'audio-input-fixes', 'merged': False, 'repo': 'dolphin-emu/dolphin', 'type': 'gh_pull_request', 'author': 'Filoppi', 'id': 8983}
2021-05-14T10:55:18.009180	{'head_sha': '02575cb30c5c9a21d2023bb2dcaecf0bdf2ffa38', 'requested_reviewers': [], 'safe_author': True, 'url': 'https://github.com/dolphin-emu/dolphin/pull/8983', 'base_sha': '31780a6059366112283fbbc894d9123b1fb2281e', 'source': 'ghhookparser', 'base_ref_name': 'master', 'title': 'Audio backends refactor', 'action': 'edited', 'head_ref_name': 'audio-input-fixes', 'merged': False, 'repo': 'dolphin-emu/dolphin', 'type': 'gh_pull_request', 'author': 'Filoppi', 'id': 8983}
2021-05-14T10:53:20.561378	{'head_sha': 'd41f881b5b1e1579fb4a3bc40d769696bee71e00', 'requested_reviewers': [], 'safe_author': True, 'url': 'https://github.com/dolphin-emu/dolphin/pull/9419', 'base_sha': '4cdcbb6ab28596653635ab91b1ccd0332629925a', 'source': 'ghhookparser', 'base_ref_name': 'master', 'title': 'Input improvements (UI, settings and input functions)', 'action': 'closed', 'head_ref_name': 'input-2', 'merged': False, 'repo': 'dolphin-emu/dolphin', 'type': 'gh_pull_request', 'author': 'Filoppi', 'id': 9419}
2021-05-14T10:53:07.592721	{'head_sha': '82c7da190836e872a6f2a20c45296fd67c546847', 'requested_reviewers': [{'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'html_url': 'https://github.com/jordan-woyak', 'url': 'https://api.github.com/users/jordan-woyak', 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gravatar_id': '', 'login': 'jordan-woyak', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'id': 1768214}], 'safe_author': True, 'url': 'https://github.com/dolphin-emu/dolphin/pull/9489', 'base_sha': '7a72a5b997f87bcb7f55c9fbd358328fec68e536', 'source': 'ghhookparser', 'base_ref_name': 'master', 'title': 'Input caching, relative input, new input funcs, window focus refactor, input widget polish, devices population safety fixes', 'action': 'edited', 'head_ref_name': 'input-3', 'merged': False, 'repo': 'dolphin-emu/dolphin', 'type': 'gh_pull_request', 'author': 'Filoppi', 'id': 9489}
2021-05-14T10:51:04.004910	{'head_sha': '02575cb30c5c9a21d2023bb2dcaecf0bdf2ffa38', 'requested_reviewers': [], 'safe_author': True, 'url': 'https://github.com/dolphin-emu/dolphin/pull/8983', 'base_sha': '31780a6059366112283fbbc894d9123b1fb2281e', 'source': 'ghhookparser', 'base_ref_name': 'master', 'title': 'Audio backends refactor (just for testing, currently being split into more PRs)', 'action': 'edited', 'head_ref_name': 'audio-input-fixes', 'merged': False, 'repo': 'dolphin-emu/dolphin', 'type': 'gh_pull_request', 'author': 'Filoppi', 'id': 8983}
2021-05-14T10:49:54.037483	{'head_sha': '02575cb30c5c9a21d2023bb2dcaecf0bdf2ffa38', 'requested_reviewers': [], 'safe_author': True, 'url': 'https://github.com/dolphin-emu/dolphin/pull/8983', 'base_sha': '31780a6059366112283fbbc894d9123b1fb2281e', 'source': 'ghhookparser', 'base_ref_name': 'master', 'title': 'Audio backends refactor (just for testing, currently being split into more PRs)', 'action': 'edited', 'head_ref_name': 'audio-input-fixes', 'merged': False, 'repo': 'dolphin-emu/dolphin', 'type': 'gh_pull_request', 'author': 'Filoppi', 'id': 8983}
2021-05-14T10:41:13.870244	{'head_sha': '3e0af3dac824bd95c6c1530919e1f772a8febcdb', 'requested_reviewers': [{'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'html_url': 'https://github.com/jordan-woyak', 'url': 'https://api.github.com/users/jordan-woyak', 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gravatar_id': '', 'login': 'jordan-woyak', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'id': 1768214}], 'safe_author': True, 'url': 'https://github.com/dolphin-emu/dolphin/pull/9624', 'base_sha': '9f91fb64479d3df14489378a6b4fb3ffa7d12f2d', 'source': 'ghhookparser', 'base_ref_name': 'master', 'title': 'Add new "input override" system for TAS input and Android touch controls', 'action': 'synchronize', 'head_ref_name': 'input-override', 'merged': False, 'repo': 'dolphin-emu/dolphin', 'type': 'gh_pull_request', 'author': 'JosJuice', 'id': 9624}
2021-05-14T09:44:31.195003	{'head_sha': 'c388b8386adcfb68975e7e4b004978550ed071df', 'requested_reviewers': [], 'safe_author': True, 'url': 'https://github.com/dolphin-emu/dolphin/pull/9702', 'base_sha': '9f91fb64479d3df14489378a6b4fb3ffa7d12f2d', 'source': 'ghhookparser', 'base_ref_name': 'master', 'title': 'Controller Interface refactor', 'action': 'synchronize', 'head_ref_name': 'controller_interface_fixes', 'merged': False, 'repo': 'dolphin-emu/dolphin', 'type': 'gh_pull_request', 'author': 'Filoppi', 'id': 9702}
2021-05-14T08:57:04.461590	{'head_sha': '82c7da190836e872a6f2a20c45296fd67c546847', 'requested_reviewers': [{'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'html_url': 'https://github.com/jordan-woyak', 'url': 'https://api.github.com/users/jordan-woyak', 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gravatar_id': '', 'login': 'jordan-woyak', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'id': 1768214}], 'safe_author': True, 'url': 'https://github.com/dolphin-emu/dolphin/pull/9489', 'base_sha': '7a72a5b997f87bcb7f55c9fbd358328fec68e536', 'source': 'ghhookparser', 'base_ref_name': 'master', 'title': 'Input caching, relative input, new input funcs, window focus refactor, input widget polish, devices population safety fixes', 'action': 'edited', 'head_ref_name': 'input-3', 'merged': False, 'repo': 'dolphin-emu/dolphin', 'type': 'gh_pull_request', 'author': 'Filoppi', 'id': 9489}
2021-05-14T08:56:56.171380	{'head_sha': 'ee2a36daae94dedd92c1b2b0631b1fa81f57137d', 'requested_reviewers': [], 'safe_author': True, 'url': 'https://github.com/dolphin-emu/dolphin/pull/9702', 'base_sha': 'eb5cd9be78c76b9ccbab9e5fbd1721ef6876cd68', 'source': 'ghhookparser', 'base_ref_name': 'master', 'title': 'Controller Interface refactor', 'action': 'edited', 'head_ref_name': 'controller_interface_fixes', 'merged': False, 'repo': 'dolphin-emu/dolphin', 'type': 'gh_pull_request', 'author': 'Filoppi', 'id': 9702}
2021-05-14T08:51:35.719383	{'head_sha': 'f3ffac00583bd03d0620226392a2b15f3cfd273b', 'requested_reviewers': [], 'safe_author': True, 'url': 'https://github.com/dolphin-emu/dolphin/pull/9688', 'base_sha': 'eb5cd9be78c76b9ccbab9e5fbd1721ef6876cd68', 'source': 'ghhookparser', 'base_ref_name': 'master', 'title': 'Input cleanup', 'action': 'closed', 'head_ref_name': 'input_cleanup', 'merged': True, 'repo': 'dolphin-emu/dolphin', 'type': 'gh_pull_request', 'author': 'phire', 'id': 9688}
2021-05-14T07:28:23.788805	{'head_sha': 'd17341572d5b9e148b54a80d4830820640c5c343', 'requested_reviewers': [], 'safe_author': True, 'url': 'https://github.com/dolphin-emu/dolphin/pull/9708', 'base_sha': '099bf16326c1549246fd1bd976fb1242e7ba0875', 'source': 'ghhookparser', 'base_ref_name': 'master', 'title': 'DSP: Change external_interrupt_waiting from volatile to atomic', 'action': 'synchronize', 'head_ref_name': 'dsp-volatile', 'merged': False, 'repo': 'dolphin-emu/dolphin', 'type': 'gh_pull_request', 'author': 'JosJuice', 'id': 9708}
2021-05-13T18:17:35.191312	{'head_sha': '20d21358da3377efd4098fcd45edaa297c2cb3df', 'requested_reviewers': [], 'safe_author': True, 'url': 'https://github.com/dolphin-emu/dolphin/pull/9708', 'base_sha': '099bf16326c1549246fd1bd976fb1242e7ba0875', 'source': 'ghhookparser', 'base_ref_name': 'master', 'title': 'DSP: Change external_interrupt_waiting from volatile to atomic', 'action': 'opened', 'head_ref_name': 'dsp-volatile', 'merged': False, 'repo': 'dolphin-emu/dolphin', 'type': 'gh_pull_request', 'author': 'JosJuice', 'id': 9708}
2021-05-13T17:32:32.483880	{'head_sha': 'a63644b9fc7637547578da17cb9bb1a660601b05', 'requested_reviewers': [], 'safe_author': True, 'url': 'https://github.com/dolphin-emu/sadm/pull/137', 'base_sha': '8870aeec79e16e72a752e14c4ad343b3470d006c', 'source': 'ghhookparser', 'base_ref_name': 'master', 'title': 'Override CMake Deployment Target for macOS x64', 'action': 'opened', 'head_ref_name': 'mac-x64-deployment-target', 'merged': False, 'repo': 'dolphin-emu/sadm', 'type': 'gh_pull_request', 'author': 'skylersaleh', 'id': 137}

Recent 'gh_pull_request_comment' events

2021-05-14T16:46:32.701464	{'hash': '7abab678ffb6db49f74b82c03efe09706e8ea3d1', 'url': 'https://github.com/dolphin-emu/dolphin/pull/9441#discussion_r632661355', 'is_part_of_review': True, 'source': 'ghhookparser', 'action': 'created', 'repo': 'dolphin-emu/dolphin', 'type': 'gh_pull_request_comment', 'author': 'skylersaleh', 'id': 9441}
2021-05-14T16:36:43.860898	{'hash': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'url': 'https://github.com/dolphin-emu/dolphin/pull/9441#discussion_r632654972', 'is_part_of_review': False, 'source': 'ghhookparser', 'action': 'created', 'repo': 'dolphin-emu/dolphin', 'type': 'gh_pull_request_comment', 'author': 'skylersaleh', 'id': 9441}
2021-05-14T14:57:10.700425	{'hash': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'url': 'https://github.com/dolphin-emu/dolphin/pull/9441#discussion_r632587214', 'is_part_of_review': True, 'source': 'ghhookparser', 'action': 'created', 'repo': 'dolphin-emu/dolphin', 'type': 'gh_pull_request_comment', 'author': 'skylersaleh', 'id': 9441}
2021-05-14T13:59:09.012455	{'hash': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'url': 'https://github.com/dolphin-emu/dolphin/pull/9441#discussion_r632546952', 'is_part_of_review': True, 'source': 'ghhookparser', 'action': 'created', 'repo': 'dolphin-emu/dolphin', 'type': 'gh_pull_request_comment', 'author': 'leoetlino', 'id': 9441}
2021-05-14T13:59:08.944628	{'hash': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'url': 'https://github.com/dolphin-emu/dolphin/pull/9441#discussion_r632546214', 'is_part_of_review': True, 'source': 'ghhookparser', 'action': 'created', 'repo': 'dolphin-emu/dolphin', 'type': 'gh_pull_request_comment', 'author': 'leoetlino', 'id': 9441}
2021-05-14T13:59:08.916417	{'hash': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'url': 'https://github.com/dolphin-emu/dolphin/pull/9441#discussion_r632531926', 'is_part_of_review': True, 'source': 'ghhookparser', 'action': 'created', 'repo': 'dolphin-emu/dolphin', 'type': 'gh_pull_request_comment', 'author': 'leoetlino', 'id': 9441}
2021-05-14T13:59:08.882854	{'hash': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'url': 'https://github.com/dolphin-emu/dolphin/pull/9441#discussion_r632536292', 'is_part_of_review': True, 'source': 'ghhookparser', 'action': 'created', 'repo': 'dolphin-emu/dolphin', 'type': 'gh_pull_request_comment', 'author': 'leoetlino', 'id': 9441}
2021-05-14T13:59:08.882041	{'hash': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'url': 'https://github.com/dolphin-emu/dolphin/pull/9441#discussion_r632532175', 'is_part_of_review': True, 'source': 'ghhookparser', 'action': 'created', 'repo': 'dolphin-emu/dolphin', 'type': 'gh_pull_request_comment', 'author': 'leoetlino', 'id': 9441}
2021-05-14T13:59:08.881327	{'hash': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'url': 'https://github.com/dolphin-emu/dolphin/pull/9441#discussion_r632539073', 'is_part_of_review': True, 'source': 'ghhookparser', 'action': 'created', 'repo': 'dolphin-emu/dolphin', 'type': 'gh_pull_request_comment', 'author': 'leoetlino', 'id': 9441}
2021-05-14T13:59:08.880494	{'hash': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'url': 'https://github.com/dolphin-emu/dolphin/pull/9441#discussion_r632530979', 'is_part_of_review': True, 'source': 'ghhookparser', 'action': 'created', 'repo': 'dolphin-emu/dolphin', 'type': 'gh_pull_request_comment', 'author': 'leoetlino', 'id': 9441}
2021-05-14T13:59:08.843103	{'hash': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'url': 'https://github.com/dolphin-emu/dolphin/pull/9441#discussion_r632543636', 'is_part_of_review': True, 'source': 'ghhookparser', 'action': 'created', 'repo': 'dolphin-emu/dolphin', 'type': 'gh_pull_request_comment', 'author': 'leoetlino', 'id': 9441}
2021-05-14T13:59:08.841792	{'hash': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'url': 'https://github.com/dolphin-emu/dolphin/pull/9441#discussion_r632530518', 'is_part_of_review': True, 'source': 'ghhookparser', 'action': 'created', 'repo': 'dolphin-emu/dolphin', 'type': 'gh_pull_request_comment', 'author': 'leoetlino', 'id': 9441}
2021-05-14T13:59:08.624638	{'hash': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'url': 'https://github.com/dolphin-emu/dolphin/pull/9441#discussion_r632532060', 'is_part_of_review': True, 'source': 'ghhookparser', 'action': 'created', 'repo': 'dolphin-emu/dolphin', 'type': 'gh_pull_request_comment', 'author': 'leoetlino', 'id': 9441}
2021-05-14T13:59:08.592618	{'hash': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'url': 'https://github.com/dolphin-emu/dolphin/pull/9441#discussion_r632532093', 'is_part_of_review': True, 'source': 'ghhookparser', 'action': 'created', 'repo': 'dolphin-emu/dolphin', 'type': 'gh_pull_request_comment', 'author': 'leoetlino', 'id': 9441}
2021-05-14T13:59:08.561191	{'hash': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'url': 'https://github.com/dolphin-emu/dolphin/pull/9441#discussion_r632533472', 'is_part_of_review': True, 'source': 'ghhookparser', 'action': 'created', 'repo': 'dolphin-emu/dolphin', 'type': 'gh_pull_request_comment', 'author': 'leoetlino', 'id': 9441}
2021-05-14T13:59:08.560413	{'hash': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'url': 'https://github.com/dolphin-emu/dolphin/pull/9441#discussion_r632531676', 'is_part_of_review': True, 'source': 'ghhookparser', 'action': 'created', 'repo': 'dolphin-emu/dolphin', 'type': 'gh_pull_request_comment', 'author': 'leoetlino', 'id': 9441}
2021-05-14T13:59:08.400397	{'hash': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'url': 'https://github.com/dolphin-emu/dolphin/pull/9441#discussion_r632530295', 'is_part_of_review': True, 'source': 'ghhookparser', 'action': 'created', 'repo': 'dolphin-emu/dolphin', 'type': 'gh_pull_request_comment', 'author': 'leoetlino', 'id': 9441}
2021-05-14T13:59:08.368353	{'hash': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'url': 'https://github.com/dolphin-emu/dolphin/pull/9441#discussion_r632530063', 'is_part_of_review': True, 'source': 'ghhookparser', 'action': 'created', 'repo': 'dolphin-emu/dolphin', 'type': 'gh_pull_request_comment', 'author': 'leoetlino', 'id': 9441}
2021-05-14T13:59:08.336550	{'hash': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'url': 'https://github.com/dolphin-emu/dolphin/pull/9441#discussion_r632529448', 'is_part_of_review': True, 'source': 'ghhookparser', 'action': 'created', 'repo': 'dolphin-emu/dolphin', 'type': 'gh_pull_request_comment', 'author': 'leoetlino', 'id': 9441}
2021-05-14T13:59:08.283498	{'hash': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'url': 'https://github.com/dolphin-emu/dolphin/pull/9441#discussion_r632532258', 'is_part_of_review': True, 'source': 'ghhookparser', 'action': 'created', 'repo': 'dolphin-emu/dolphin', 'type': 'gh_pull_request_comment', 'author': 'leoetlino', 'id': 9441}
2021-05-14T13:59:08.282634	{'hash': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'url': 'https://github.com/dolphin-emu/dolphin/pull/9441#discussion_r632528725', 'is_part_of_review': True, 'source': 'ghhookparser', 'action': 'created', 'repo': 'dolphin-emu/dolphin', 'type': 'gh_pull_request_comment', 'author': 'leoetlino', 'id': 9441}
2021-05-14T13:59:08.281845	{'hash': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'url': 'https://github.com/dolphin-emu/dolphin/pull/9441#discussion_r632529976', 'is_part_of_review': True, 'source': 'ghhookparser', 'action': 'created', 'repo': 'dolphin-emu/dolphin', 'type': 'gh_pull_request_comment', 'author': 'leoetlino', 'id': 9441}
2021-05-14T13:59:08.281098	{'hash': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'url': 'https://github.com/dolphin-emu/dolphin/pull/9441#discussion_r632529321', 'is_part_of_review': True, 'source': 'ghhookparser', 'action': 'created', 'repo': 'dolphin-emu/dolphin', 'type': 'gh_pull_request_comment', 'author': 'leoetlino', 'id': 9441}
2021-05-14T13:59:08.280360	{'hash': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'url': 'https://github.com/dolphin-emu/dolphin/pull/9441#discussion_r632529382', 'is_part_of_review': True, 'source': 'ghhookparser', 'action': 'created', 'repo': 'dolphin-emu/dolphin', 'type': 'gh_pull_request_comment', 'author': 'leoetlino', 'id': 9441}
2021-05-14T13:59:08.279601	{'hash': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'url': 'https://github.com/dolphin-emu/dolphin/pull/9441#discussion_r632529885', 'is_part_of_review': True, 'source': 'ghhookparser', 'action': 'created', 'repo': 'dolphin-emu/dolphin', 'type': 'gh_pull_request_comment', 'author': 'leoetlino', 'id': 9441}

Recent 'gh_pull_request_review' events

2021-05-14T16:46:32.698226	{'state': 'commented', 'comments': [{'position': 1, 'commit_id': '7abab678ffb6db49f74b82c03efe09706e8ea3d1', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9441#discussion_r632661355', 'created_at': '2021-05-14T16:46:30Z', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/632661355', 'original_position': 1, 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441', '_links': {'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/9441#discussion_r632661355'}, 'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/632661355'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441'}}, 'in_reply_to_id': 632546952, 'pull_request_review_id': 660021020, 'original_commit_id': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'path': 'Source/Core/DolphinQt/DolphinEmu.entitlements', 'updated_at': '2021-05-14T16:46:31Z', 'body': "Nope, there isn't a special permission for that. ", 'author_association': 'MEMBER', 'diff_hunk': '@@ -0,0 +1,17 @@\n+<?xml version="1.0" encoding="UTF-8"?>', 'user': {'organizations_url': 'https://api.github.com/users/skylersaleh/orgs', 'repos_url': 'https://api.github.com/users/skylersaleh/repos', 'html_url': 'https://github.com/skylersaleh', 'url': 'https://api.github.com/users/skylersaleh', 'node_id': 'MDQ6VXNlcjcxMTgyOTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7118296?u=883425ba57bc6d81822db36225544d7ff75b3d0c&v=4', 'followers_url': 'https://api.github.com/users/skylersaleh/followers', 'received_events_url': 'https://api.github.com/users/skylersaleh/received_events', 'events_url': 'https://api.github.com/users/skylersaleh/events{/privacy}', 'gists_url': 'https://api.github.com/users/skylersaleh/gists{/gist_id}', 'following_url': 'https://api.github.com/users/skylersaleh/following{/other_user}', 'gravatar_id': '', 'login': 'skylersaleh', 'subscriptions_url': 'https://api.github.com/users/skylersaleh/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/skylersaleh/starred{/owner}{/repo}', 'id': 7118296}, 'node_id': 'MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDYzMjY2MTM1NQ==', 'id': 632661355}], 'url': 'https://github.com/dolphin-emu/dolphin/pull/9441#pullrequestreview-660021020', 'pr_title': 'Apple M1 Support for MacOS', 'source': 'ghhookparser', 'action': 'submitted', 'author': 'skylersaleh', 'pr_id': 9441, 'type': 'gh_pull_request_review', 'repo': 'dolphin-emu/dolphin'}
2021-05-14T16:36:43.859478	{'state': 'commented', 'comments': [{'position': 279, 'commit_id': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9441#discussion_r632654972', 'created_at': '2021-05-14T16:36:41Z', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/632654972', 'original_position': 279, 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441', '_links': {'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/9441#discussion_r632654972'}, 'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/632654972'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441'}}, 'in_reply_to_id': 632536292, 'pull_request_review_id': 660012970, 'original_commit_id': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'path': 'BuildMacOSUniversalBinary.py', 'updated_at': '2021-05-14T16:36:41Z', 'body': 'Okay', 'author_association': 'MEMBER', 'diff_hunk': '@@ -0,0 +1,299 @@\n+#!/usr/bin/env python3\n+"""\n+The current tooling supported in CMake, Homebrew, and QT5 are inufficient for\n+creating MacOSX universal binaries automatically for applications like Dolphin\n+which have more complicated build requirements (like different libraries, build\n+flags and source files for each target architecture).\n+\n+So instead, this script manages the configuration and compilation of distinct\n+builds and project files for each target architecture and then merges the two\n+binaries into a single universal binary.\n+\n+Running this script will:\n+1) Generate Xcode project files for the ARM build (if project files don\'t\n+   already exist)\n+2) Generate Xcode project files for the x64 build (if project files don\'t\n+   already exist)\n+3) Build the ARM project for the selected build_target\n+4) Build the x64 project for the selected build_target\n+5) Generates universal .app packages combining the ARM and x64 packages\n+6) Utilizes the lipo tool to combine the binary objects inside each of the\n+   packages into universal binaries\n+7) Code signs the final universal binaries using the specified\n+   codesign_identity\n+"""\n+\n+import argparse\n+import filecmp\n+import glob\n+import json\n+import multiprocessing\n+import os\n+import shutil\n+import subprocess\n+\n+# The config variables listed below are the defaults, but they can be\n+# overridden by command line arguments see parse_args(), or run:\n+# BuildMacOSUniversalBinary.py --help\n+DEFAULT_CONFIG = {\n+\n+    # Location of destination universal binary\n+    "dst_app": "universal/",\n+    # Build Target (dolphin-emu to just build the emulator and skip the tests)\n+    "build_target": "ALL_BUILD",\n+\n+    # Location for CMake to search for files(default is for homebrew\n+    "arm64_cmake_prefix":  \'/opt/homebrew\',\n+    "x86_64_cmake_prefix": \'/usr/local\',\n+\n+    # Locations to qt5 directories for arm and x64 libraries\n+    # The default values of these paths are taken from the default\n+    # paths used for homebrew\n+    "arm64_qt5_path":  \'/opt/homebrew/opt/qt5\',\n+    "x86_64_qt5_path": \'/usr/local/opt/qt5\',\n+\n+    # Identity to use for code signing. "-" indicates that the app will not\n+    # be cryptographically signed/notarized but will instead just use a\n+    # SHA checksum to verify the integrity of the app. This doesn\'t\n+    # protect against malicious actors, but it does protect against\n+    # running corrupted binaries and allows for access to the extended\n+    # permisions needed for ARM builds\n+    "codesign_identity":  \'-\',\n+    # Entitlements file to use for code signing\n+    "entitlements": "../Source/Core/DolphinQt/DolphinEmu.entitlements",\n+\n+    # Minimum macOS version for each architecture slice\n+    "arm64_mac_os_deployment_target":  "11.0.0",\n+    "x86_64_mac_os_deployment_target": "10.12.0",\n+\n+    # CMake Generator to use for building\n+    "generator": "Unix Makefiles",\n+    "build_type": "Release"\n+\n+}\n+\n+# Architectures to build for. This is explicity left out of the command line\n+# config options for several reasons:\n+# 1) Adding new architectures will generally require more code changes\n+# 2) Single architecture builds should utilize the normal generated cmake\n+#    project files rather than this wrapper script\n+\n+ARCHITECTURES = ["x86_64", "arm64"]\n+\n+\n+def parse_args(conf=DEFAULT_CONFIG):\n+    """\n+    Parses the command line arguments into a config dictionary.\n+    """\n+\n+    parser = argparse.ArgumentParser(\n+        formatter_class=argparse.ArgumentDefaultsHelpFormatter)\n+\n+    parser.add_argument(\n+        \'--target\',\n+        help=\'Build target in generated project files\',\n+        default=conf["build_target"],\n+        dest="build_target")\n+    parser.add_argument(\n+        \'-G\',\n+        help=\'CMake Generator to use for creating project files\',\n+        default=conf["generator"],\n+        dest="generator")\n+    parser.add_argument(\n+        \'--build_type\',\n+        help=\'CMake build type [Debug, Release, RelWithDebInfo, MinSizeRel]\',\n+        default=conf["build_type"],\n+        dest="build_type")\n+    parser.add_argument(\n+        \'--dst_app\',\n+        help=\'Directory where universal binary will be stored\',\n+        default=conf["dst_app"])\n+\n+    parser.add_argument(\n+        \'--entitlements\',\n+        help=\'Path to .entitlements file for code signing\',\n+        default=conf["entitlements"])\n+\n+    parser.add_argument(\n+        \'--codesign\',\n+        help=\'Code signing identity to use to sign the applications\',\n+        default=conf["codesign_identity"],\n+        dest="codesign_identity")\n+\n+    for arch in ARCHITECTURES:\n+        parser.add_argument(\n+             \'--{}_cmake_prefix\'.format(arch),\n+             help="Folder for cmake to search for packages".format(arch),\n+             default=conf[arch+"_cmake_prefix"],\n+             dest=arch+"_cmake_prefix")\n+\n+        parser.add_argument(\n+             \'--{}_qt5_path\'.format(arch),\n+             help="Install path for {} qt5 libraries".format(arch),\n+             default=conf[arch+"_qt5_path"])\n+\n+        parser.add_argument(\n+             \'--{}_mac_os_deployment_target\'.format(arch),\n+             help="Deployment architecture for {} slice".format(arch),\n+             default=conf[arch+"_mac_os_deployment_target"])\n+\n+    return vars(parser.parse_args())\n+\n+\n+def lipo(path0, path1, dst):\n+    if subprocess.call([\'lipo\', \'-create\', \'-output\', dst, path0, path1]) != 0:\n+        print("WARNING: {0} and {1} can not be lipo\'d, keeping {0}"\n+              .format(path0, path1))\n+\n+        shutil.copy(path0, dst)\n+\n+\n+def recursiveMergeBinaries(src0, src1, dst):\n+    """\n+    Merges two build trees together for different architectures into a single\n+    universal binary.\n+\n+    The rules for merging are:\n+\n+    1) Files that exist in either src tree are copied into the dst tree\n+    2) Files that exist in both trees and are identical are copied over\n+       unmodified\n+    3) Files that exist in both trees and are non-identical are lipo\'d\n+    4) Symlinks are created in the destination tree to mirror the hierarchy in\n+       the source trees\n+    """\n+\n+    for newpath0 in glob.glob(src0+"/*"):\n+        filename = os.path.basename(newpath0)\n+        newpath1 = os.path.join(src1, filename)\n+        new_dst_path = os.path.join(dst, filename)\n+        if os.path.islink(newpath0):\n+            # Symlinks will be fixed after files are resolved\n+            continue\n+\n+        if not os.path.exists(newpath1):\n+            shutil.copy(newpath0, new_dst_path)\n+            continue\n+\n+        if os.path.isdir(newpath1):\n+            os.mkdir(new_dst_path)\n+            recursiveMergeBinaries(newpath0, newpath1, new_dst_path)\n+            continue\n+\n+        if filecmp.cmp(newpath0, newpath1):\n+            shutil.copy(newpath0, new_dst_path)\n+        else:\n+            lipo(newpath0, newpath1, new_dst_path)\n+\n+    # Loop over files in src1 and copy missing things over to dst\n+    for newpath1 in glob.glob(src1+"/*"):\n+        filename = os.path.basename(newpath1)\n+        newpath0 = os.path.join(src0, filename)\n+        new_dst_path = os.path.join(dst, filename)\n+        if (not os.path.exists(newpath0)) and (not os.path.islink(newpath1)):\n+            if os.path.isdir(newpath1):\n+                shutil.copytree(newpath1, new_dst_path)\n+            else:\n+                shutil.copy(newpath1, new_dst_path)\n+\n+    # Fix up symlinks for path0\n+    for newpath0 in glob.glob(src0+"/*"):\n+        filename = os.path.basename(newpath0)\n+        new_dst_path = os.path.join(dst, filename)\n+        if os.path.islink(newpath0):\n+            relative_path = os.path.relpath(os.path.realpath(newpath0), src0)\n+            os.symlink(relative_path, new_dst_path)\n+    # Fix up symlinks for path1\n+    for newpath1 in glob.glob(src1+"/*"):\n+        filename = os.path.basename(newpath1)\n+        new_dst_path = os.path.join(dst, filename)\n+        newpath0 = os.path.join(src0, filename)\n+        if os.path.islink(newpath1) and not os.path.exists(newpath0):\n+            relative_path = os.path.relpath(os.path.realpath(newpath1), src1)\n+            os.symlink(relative_path, new_dst_path)\n+\n+\n+def build(config):\n+    """\n+    Builds the project with the parameters specified in config.\n+    """\n+\n+    print("Building config:")\n+    print(json.dumps(config, indent=4))\n+\n+    # Configure and build single architecture builds for each architecture\n+    for arch in ARCHITECTURES:\n+        if not os.path.exists(arch):\n+            os.mkdir(arch)\n+\n+        env = os.environ.copy()\n+        env[\'Qt5_DIR\'] = config[arch+"_qt5_path"]\n+        env[\'CMAKE_OSX_ARCHITECTURES\'] = arch\n+        env[\'CMAKE_PREFIX_PATH\'] = config[arch+"_cmake_prefix"]\n+\n+        # Add the other architecture\'s prefix path to the ignore path so that\n+        # CMake doesn\'t try to pick up the wrong architecture\'s libraries when\n+        # cross compiling.\n+        ignore_path = ""\n+        for a in ARCHITECTURES:\n+            if a != arch:\n+                ignore_path = config[a+"_cmake_prefix"]\n+\n+        subprocess.check_call([\n+                \'cmake\', \'../../\', \'-G\', config[\'generator\'],\n+                \'-DCMAKE_BUILD_TYPE=\' + config[\'build_type\'],\n+                # System name needs to be specified for CMake to use\n+                # the specified CMAKE_SYSTEM_PROCESSOR\n+                \'-DCMAKE_SYSTEM_NAME=Darwin\',\n+                \'-DCMAKE_PREFIX_PATH=\'+config[arch+\'_cmake_prefix\'],\n+                \'-DCMAKE_SYSTEM_PROCESSOR=\'+arch,\n+                \'-DCMAKE_IGNORE_PATH=\'+ignore_path,\n+                \'-DCMAKE_OSX_DEPLOYMENT_TARGET=\'\n+                + config[arch+"_mac_os_deployment_target"],\n+                \'-DMACOS_CODE_SIGNING_IDENTITY=\'\n+                + config[\'codesign_identity\'],\n+                \'-DMACOS_CODE_SIGNING_IDENTITY_UPDATER=\'\n+                + config[\'codesign_identity\'],\n+                \'-DMACOS_CODE_SIGNING="ON"\'\n+            ],\n+            env=env, cwd=arch)\n+\n+        threads = multiprocessing.cpu_count()\n+        subprocess.check_call([\'cmake\', \'--build\', \'.\',\n+                               \'--config\', config[\'build_type\'],\n+                               \'--parallel\', \'{}\'.format(threads)], cwd=arch)\n+\n+    dst_app = config["dst_app"]\n+\n+    if os.path.exists(dst_app):\n+        shutil.rmtree(dst_app)\n+\n+    # Create and codesign the universal binary/\n+    os.mkdir(dst_app)\n+\n+    # Source binary trees to merge together\n+    src_app0 = ARCHITECTURES[0]+"/Binaries/"\n+    src_app1 = ARCHITECTURES[1]+"/Binaries/"\n+\n+    recursiveMergeBinaries(src_app0, src_app1, dst_app)\n+    for path in glob.glob(dst_app+"/*"):', 'user': {'organizations_url': 'https://api.github.com/users/skylersaleh/orgs', 'repos_url': 'https://api.github.com/users/skylersaleh/repos', 'html_url': 'https://github.com/skylersaleh', 'url': 'https://api.github.com/users/skylersaleh', 'node_id': 'MDQ6VXNlcjcxMTgyOTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7118296?u=883425ba57bc6d81822db36225544d7ff75b3d0c&v=4', 'followers_url': 'https://api.github.com/users/skylersaleh/followers', 'received_events_url': 'https://api.github.com/users/skylersaleh/received_events', 'events_url': 'https://api.github.com/users/skylersaleh/events{/privacy}', 'gists_url': 'https://api.github.com/users/skylersaleh/gists{/gist_id}', 'following_url': 'https://api.github.com/users/skylersaleh/following{/other_user}', 'gravatar_id': '', 'login': 'skylersaleh', 'subscriptions_url': 'https://api.github.com/users/skylersaleh/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/skylersaleh/starred{/owner}{/repo}', 'id': 7118296}, 'node_id': 'MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDYzMjY1NDk3Mg==', 'id': 632654972}], 'url': 'https://github.com/dolphin-emu/dolphin/pull/9441#pullrequestreview-660012970', 'pr_title': 'Apple M1 Support for MacOS', 'source': 'ghhookparser', 'action': 'submitted', 'author': 'skylersaleh', 'pr_id': 9441, 'type': 'gh_pull_request_review', 'repo': 'dolphin-emu/dolphin'}
2021-05-14T14:57:10.699054	{'state': 'commented', 'comments': [{'position': 70, 'commit_id': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9441#discussion_r632587214', 'created_at': '2021-05-14T14:57:08Z', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/632587214', 'original_position': 70, 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441', '_links': {'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/9441#discussion_r632587214'}, 'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/632587214'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441'}}, 'in_reply_to_id': 632530518, 'pull_request_review_id': 659920691, 'original_commit_id': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'path': 'BuildMacOSUniversalBinary.py', 'updated_at': '2021-05-14T14:57:09Z', 'body': "It isn't installed on macOS by default.\r\nHowever, the buildbot uses Ninja. ", 'author_association': 'MEMBER', 'diff_hunk': '@@ -0,0 +1,299 @@\n+#!/usr/bin/env python3\n+"""\n+The current tooling supported in CMake, Homebrew, and QT5 are inufficient for\n+creating MacOSX universal binaries automatically for applications like Dolphin\n+which have more complicated build requirements (like different libraries, build\n+flags and source files for each target architecture).\n+\n+So instead, this script manages the configuration and compilation of distinct\n+builds and project files for each target architecture and then merges the two\n+binaries into a single universal binary.\n+\n+Running this script will:\n+1) Generate Xcode project files for the ARM build (if project files don\'t\n+   already exist)\n+2) Generate Xcode project files for the x64 build (if project files don\'t\n+   already exist)\n+3) Build the ARM project for the selected build_target\n+4) Build the x64 project for the selected build_target\n+5) Generates universal .app packages combining the ARM and x64 packages\n+6) Utilizes the lipo tool to combine the binary objects inside each of the\n+   packages into universal binaries\n+7) Code signs the final universal binaries using the specified\n+   codesign_identity\n+"""\n+\n+import argparse\n+import filecmp\n+import glob\n+import json\n+import multiprocessing\n+import os\n+import shutil\n+import subprocess\n+\n+# The config variables listed below are the defaults, but they can be\n+# overridden by command line arguments see parse_args(), or run:\n+# BuildMacOSUniversalBinary.py --help\n+DEFAULT_CONFIG = {\n+\n+    # Location of destination universal binary\n+    "dst_app": "universal/",\n+    # Build Target (dolphin-emu to just build the emulator and skip the tests)\n+    "build_target": "ALL_BUILD",\n+\n+    # Location for CMake to search for files(default is for homebrew\n+    "arm64_cmake_prefix":  \'/opt/homebrew\',\n+    "x86_64_cmake_prefix": \'/usr/local\',\n+\n+    # Locations to qt5 directories for arm and x64 libraries\n+    # The default values of these paths are taken from the default\n+    # paths used for homebrew\n+    "arm64_qt5_path":  \'/opt/homebrew/opt/qt5\',\n+    "x86_64_qt5_path": \'/usr/local/opt/qt5\',\n+\n+    # Identity to use for code signing. "-" indicates that the app will not\n+    # be cryptographically signed/notarized but will instead just use a\n+    # SHA checksum to verify the integrity of the app. This doesn\'t\n+    # protect against malicious actors, but it does protect against\n+    # running corrupted binaries and allows for access to the extended\n+    # permisions needed for ARM builds\n+    "codesign_identity":  \'-\',\n+    # Entitlements file to use for code signing\n+    "entitlements": "../Source/Core/DolphinQt/DolphinEmu.entitlements",\n+\n+    # Minimum macOS version for each architecture slice\n+    "arm64_mac_os_deployment_target":  "11.0.0",\n+    "x86_64_mac_os_deployment_target": "10.12.0",\n+\n+    # CMake Generator to use for building\n+    "generator": "Unix Makefiles",', 'user': {'organizations_url': 'https://api.github.com/users/skylersaleh/orgs', 'repos_url': 'https://api.github.com/users/skylersaleh/repos', 'html_url': 'https://github.com/skylersaleh', 'url': 'https://api.github.com/users/skylersaleh', 'node_id': 'MDQ6VXNlcjcxMTgyOTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7118296?u=883425ba57bc6d81822db36225544d7ff75b3d0c&v=4', 'followers_url': 'https://api.github.com/users/skylersaleh/followers', 'received_events_url': 'https://api.github.com/users/skylersaleh/received_events', 'events_url': 'https://api.github.com/users/skylersaleh/events{/privacy}', 'gists_url': 'https://api.github.com/users/skylersaleh/gists{/gist_id}', 'following_url': 'https://api.github.com/users/skylersaleh/following{/other_user}', 'gravatar_id': '', 'login': 'skylersaleh', 'subscriptions_url': 'https://api.github.com/users/skylersaleh/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/skylersaleh/starred{/owner}{/repo}', 'id': 7118296}, 'node_id': 'MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDYzMjU4NzIxNA==', 'id': 632587214}], 'url': 'https://github.com/dolphin-emu/dolphin/pull/9441#pullrequestreview-659920691', 'pr_title': 'Apple M1 Support for MacOS', 'source': 'ghhookparser', 'action': 'submitted', 'author': 'skylersaleh', 'pr_id': 9441, 'type': 'gh_pull_request_review', 'repo': 'dolphin-emu/dolphin'}
2021-05-14T14:47:35.112274	{'state': 'approved', 'comments': [], 'url': 'https://github.com/dolphin-emu/dolphin/pull/9707#pullrequestreview-659911657', 'pr_title': 'Remove Atomic.h', 'source': 'ghhookparser', 'action': 'submitted', 'author': 'leoetlino', 'pr_id': 9707, 'type': 'gh_pull_request_review', 'repo': 'dolphin-emu/dolphin'}
2021-05-14T14:11:35.021135	{'state': 'approved', 'comments': [], 'url': 'https://github.com/dolphin-emu/dolphin/pull/9708#pullrequestreview-659877552', 'pr_title': 'DSP: Change external_interrupt_waiting from volatile to atomic', 'source': 'ghhookparser', 'action': 'submitted', 'author': 'leoetlino', 'pr_id': 9708, 'type': 'gh_pull_request_review', 'repo': 'dolphin-emu/dolphin'}
2021-05-14T13:59:08.278537	{'state': 'commented', 'comments': [{'position': 3, 'commit_id': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9441#discussion_r632528725', 'created_at': '2021-05-14T13:30:22Z', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/632528725', 'original_position': 3, 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441', '_links': {'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/9441#discussion_r632528725'}, 'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/632528725'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441'}}, 'pull_request_review_id': 659840266, 'original_commit_id': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'path': 'BuildMacOSUniversalBinary.py', 'updated_at': '2021-05-14T13:59:02Z', 'body': '```suggestion\r\nThe current tooling supported in CMake, Homebrew, and Qt5 are insufficient for\r\n```', 'author_association': 'MEMBER', 'diff_hunk': '@@ -0,0 +1,299 @@\n+#!/usr/bin/env python3\n+"""\n+The current tooling supported in CMake, Homebrew, and QT5 are inufficient for', 'user': {'organizations_url': 'https://api.github.com/users/leoetlino/orgs', 'repos_url': 'https://api.github.com/users/leoetlino/repos', 'html_url': 'https://github.com/leoetlino', 'url': 'https://api.github.com/users/leoetlino', 'node_id': 'MDQ6VXNlcjQyMDkwNjE=', 'avatar_url': 'https://avatars.githubusercontent.com/u/4209061?v=4', 'followers_url': 'https://api.github.com/users/leoetlino/followers', 'received_events_url': 'https://api.github.com/users/leoetlino/received_events', 'events_url': 'https://api.github.com/users/leoetlino/events{/privacy}', 'gists_url': 'https://api.github.com/users/leoetlino/gists{/gist_id}', 'following_url': 'https://api.github.com/users/leoetlino/following{/other_user}', 'gravatar_id': '', 'login': 'leoetlino', 'subscriptions_url': 'https://api.github.com/users/leoetlino/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/leoetlino/starred{/owner}{/repo}', 'id': 4209061}, 'node_id': 'MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDYzMjUyODcyNQ==', 'id': 632528725}, {'position': 19, 'commit_id': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9441#discussion_r632529321', 'created_at': '2021-05-14T13:31:18Z', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/632529321', 'original_position': 19, 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441', '_links': {'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/9441#discussion_r632529321'}, 'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/632529321'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441'}}, 'pull_request_review_id': 659840266, 'original_commit_id': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'path': 'BuildMacOSUniversalBinary.py', 'updated_at': '2021-05-14T13:59:02Z', 'body': '```suggestion\r\n5) Generate universal .app packages combining the ARM and x64 packages\r\n```', 'author_association': 'MEMBER', 'diff_hunk': '@@ -0,0 +1,299 @@\n+#!/usr/bin/env python3\n+"""\n+The current tooling supported in CMake, Homebrew, and QT5 are inufficient for\n+creating MacOSX universal binaries automatically for applications like Dolphin\n+which have more complicated build requirements (like different libraries, build\n+flags and source files for each target architecture).\n+\n+So instead, this script manages the configuration and compilation of distinct\n+builds and project files for each target architecture and then merges the two\n+binaries into a single universal binary.\n+\n+Running this script will:\n+1) Generate Xcode project files for the ARM build (if project files don\'t\n+   already exist)\n+2) Generate Xcode project files for the x64 build (if project files don\'t\n+   already exist)\n+3) Build the ARM project for the selected build_target\n+4) Build the x64 project for the selected build_target\n+5) Generates universal .app packages combining the ARM and x64 packages', 'user': {'organizations_url': 'https://api.github.com/users/leoetlino/orgs', 'repos_url': 'https://api.github.com/users/leoetlino/repos', 'html_url': 'https://github.com/leoetlino', 'url': 'https://api.github.com/users/leoetlino', 'node_id': 'MDQ6VXNlcjQyMDkwNjE=', 'avatar_url': 'https://avatars.githubusercontent.com/u/4209061?v=4', 'followers_url': 'https://api.github.com/users/leoetlino/followers', 'received_events_url': 'https://api.github.com/users/leoetlino/received_events', 'events_url': 'https://api.github.com/users/leoetlino/events{/privacy}', 'gists_url': 'https://api.github.com/users/leoetlino/gists{/gist_id}', 'following_url': 'https://api.github.com/users/leoetlino/following{/other_user}', 'gravatar_id': '', 'login': 'leoetlino', 'subscriptions_url': 'https://api.github.com/users/leoetlino/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/leoetlino/starred{/owner}{/repo}', 'id': 4209061}, 'node_id': 'MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDYzMjUyOTMyMQ==', 'id': 632529321}, {'position': 20, 'commit_id': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9441#discussion_r632529382', 'created_at': '2021-05-14T13:31:23Z', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/632529382', 'original_position': 20, 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441', '_links': {'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/9441#discussion_r632529382'}, 'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/632529382'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441'}}, 'pull_request_review_id': 659840266, 'original_commit_id': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'path': 'BuildMacOSUniversalBinary.py', 'updated_at': '2021-05-14T13:59:02Z', 'body': '```suggestion\r\n6) Use the lipo tool to combine the binary objects inside each of the\r\n```', 'author_association': 'MEMBER', 'diff_hunk': '@@ -0,0 +1,299 @@\n+#!/usr/bin/env python3\n+"""\n+The current tooling supported in CMake, Homebrew, and QT5 are inufficient for\n+creating MacOSX universal binaries automatically for applications like Dolphin\n+which have more complicated build requirements (like different libraries, build\n+flags and source files for each target architecture).\n+\n+So instead, this script manages the configuration and compilation of distinct\n+builds and project files for each target architecture and then merges the two\n+binaries into a single universal binary.\n+\n+Running this script will:\n+1) Generate Xcode project files for the ARM build (if project files don\'t\n+   already exist)\n+2) Generate Xcode project files for the x64 build (if project files don\'t\n+   already exist)\n+3) Build the ARM project for the selected build_target\n+4) Build the x64 project for the selected build_target\n+5) Generates universal .app packages combining the ARM and x64 packages\n+6) Utilizes the lipo tool to combine the binary objects inside each of the', 'user': {'organizations_url': 'https://api.github.com/users/leoetlino/orgs', 'repos_url': 'https://api.github.com/users/leoetlino/repos', 'html_url': 'https://github.com/leoetlino', 'url': 'https://api.github.com/users/leoetlino', 'node_id': 'MDQ6VXNlcjQyMDkwNjE=', 'avatar_url': 'https://avatars.githubusercontent.com/u/4209061?v=4', 'followers_url': 'https://api.github.com/users/leoetlino/followers', 'received_events_url': 'https://api.github.com/users/leoetlino/received_events', 'events_url': 'https://api.github.com/users/leoetlino/events{/privacy}', 'gists_url': 'https://api.github.com/users/leoetlino/gists{/gist_id}', 'following_url': 'https://api.github.com/users/leoetlino/following{/other_user}', 'gravatar_id': '', 'login': 'leoetlino', 'subscriptions_url': 'https://api.github.com/users/leoetlino/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/leoetlino/starred{/owner}{/repo}', 'id': 4209061}, 'node_id': 'MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDYzMjUyOTM4Mg==', 'id': 632529382}, {'position': 22, 'commit_id': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9441#discussion_r632529448', 'created_at': '2021-05-14T13:31:30Z', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/632529448', 'original_position': 22, 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441', '_links': {'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/9441#discussion_r632529448'}, 'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/632529448'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441'}}, 'pull_request_review_id': 659840266, 'original_commit_id': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'path': 'BuildMacOSUniversalBinary.py', 'updated_at': '2021-05-14T13:59:02Z', 'body': '```suggestion\r\n7) Code sign the final universal binaries using the specified\r\n```', 'author_association': 'MEMBER', 'diff_hunk': '@@ -0,0 +1,299 @@\n+#!/usr/bin/env python3\n+"""\n+The current tooling supported in CMake, Homebrew, and QT5 are inufficient for\n+creating MacOSX universal binaries automatically for applications like Dolphin\n+which have more complicated build requirements (like different libraries, build\n+flags and source files for each target architecture).\n+\n+So instead, this script manages the configuration and compilation of distinct\n+builds and project files for each target architecture and then merges the two\n+binaries into a single universal binary.\n+\n+Running this script will:\n+1) Generate Xcode project files for the ARM build (if project files don\'t\n+   already exist)\n+2) Generate Xcode project files for the x64 build (if project files don\'t\n+   already exist)\n+3) Build the ARM project for the selected build_target\n+4) Build the x64 project for the selected build_target\n+5) Generates universal .app packages combining the ARM and x64 packages\n+6) Utilizes the lipo tool to combine the binary objects inside each of the\n+   packages into universal binaries\n+7) Code signs the final universal binaries using the specified', 'user': {'organizations_url': 'https://api.github.com/users/leoetlino/orgs', 'repos_url': 'https://api.github.com/users/leoetlino/repos', 'html_url': 'https://github.com/leoetlino', 'url': 'https://api.github.com/users/leoetlino', 'node_id': 'MDQ6VXNlcjQyMDkwNjE=', 'avatar_url': 'https://avatars.githubusercontent.com/u/4209061?v=4', 'followers_url': 'https://api.github.com/users/leoetlino/followers', 'received_events_url': 'https://api.github.com/users/leoetlino/received_events', 'events_url': 'https://api.github.com/users/leoetlino/events{/privacy}', 'gists_url': 'https://api.github.com/users/leoetlino/gists{/gist_id}', 'following_url': 'https://api.github.com/users/leoetlino/following{/other_user}', 'gravatar_id': '', 'login': 'leoetlino', 'subscriptions_url': 'https://api.github.com/users/leoetlino/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/leoetlino/starred{/owner}{/repo}', 'id': 4209061}, 'node_id': 'MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDYzMjUyOTQ0OA==', 'id': 632529448}, {'position': 45, 'commit_id': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9441#discussion_r632529731', 'created_at': '2021-05-14T13:31:55Z', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/632529731', 'original_position': 45, 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441', '_links': {'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/9441#discussion_r632529731'}, 'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/632529731'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441'}}, 'pull_request_review_id': 659840266, 'original_commit_id': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'path': 'BuildMacOSUniversalBinary.py', 'updated_at': '2021-05-14T13:59:03Z', 'body': '```suggestion\r\n    # Location for CMake to search for files (default is for homebrew)\r\n```', 'author_association': 'MEMBER', 'diff_hunk': '@@ -0,0 +1,299 @@\n+#!/usr/bin/env python3\n+"""\n+The current tooling supported in CMake, Homebrew, and QT5 are inufficient for\n+creating MacOSX universal binaries automatically for applications like Dolphin\n+which have more complicated build requirements (like different libraries, build\n+flags and source files for each target architecture).\n+\n+So instead, this script manages the configuration and compilation of distinct\n+builds and project files for each target architecture and then merges the two\n+binaries into a single universal binary.\n+\n+Running this script will:\n+1) Generate Xcode project files for the ARM build (if project files don\'t\n+   already exist)\n+2) Generate Xcode project files for the x64 build (if project files don\'t\n+   already exist)\n+3) Build the ARM project for the selected build_target\n+4) Build the x64 project for the selected build_target\n+5) Generates universal .app packages combining the ARM and x64 packages\n+6) Utilizes the lipo tool to combine the binary objects inside each of the\n+   packages into universal binaries\n+7) Code signs the final universal binaries using the specified\n+   codesign_identity\n+"""\n+\n+import argparse\n+import filecmp\n+import glob\n+import json\n+import multiprocessing\n+import os\n+import shutil\n+import subprocess\n+\n+# The config variables listed below are the defaults, but they can be\n+# overridden by command line arguments see parse_args(), or run:\n+# BuildMacOSUniversalBinary.py --help\n+DEFAULT_CONFIG = {\n+\n+    # Location of destination universal binary\n+    "dst_app": "universal/",\n+    # Build Target (dolphin-emu to just build the emulator and skip the tests)\n+    "build_target": "ALL_BUILD",\n+\n+    # Location for CMake to search for files(default is for homebrew', 'user': {'organizations_url': 'https://api.github.com/users/leoetlino/orgs', 'repos_url': 'https://api.github.com/users/leoetlino/repos', 'html_url': 'https://github.com/leoetlino', 'url': 'https://api.github.com/users/leoetlino', 'node_id': 'MDQ6VXNlcjQyMDkwNjE=', 'avatar_url': 'https://avatars.githubusercontent.com/u/4209061?v=4', 'followers_url': 'https://api.github.com/users/leoetlino/followers', 'received_events_url': 'https://api.github.com/users/leoetlino/received_events', 'events_url': 'https://api.github.com/users/leoetlino/events{/privacy}', 'gists_url': 'https://api.github.com/users/leoetlino/gists{/gist_id}', 'following_url': 'https://api.github.com/users/leoetlino/following{/other_user}', 'gravatar_id': '', 'login': 'leoetlino', 'subscriptions_url': 'https://api.github.com/users/leoetlino/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/leoetlino/starred{/owner}{/repo}', 'id': 4209061}, 'node_id': 'MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDYzMjUyOTczMQ==', 'id': 632529731}, {'position': 46, 'commit_id': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9441#discussion_r632529798', 'created_at': '2021-05-14T13:32:03Z', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/632529798', 'original_position': 46, 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441', '_links': {'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/9441#discussion_r632529798'}, 'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/632529798'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441'}}, 'pull_request_review_id': 659840266, 'original_commit_id': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'path': 'BuildMacOSUniversalBinary.py', 'updated_at': '2021-05-14T13:59:03Z', 'body': '```suggestion\r\n    "arm64_cmake_prefix":  "/opt/homebrew",\r\n```', 'author_association': 'MEMBER', 'diff_hunk': '@@ -0,0 +1,299 @@\n+#!/usr/bin/env python3\n+"""\n+The current tooling supported in CMake, Homebrew, and QT5 are inufficient for\n+creating MacOSX universal binaries automatically for applications like Dolphin\n+which have more complicated build requirements (like different libraries, build\n+flags and source files for each target architecture).\n+\n+So instead, this script manages the configuration and compilation of distinct\n+builds and project files for each target architecture and then merges the two\n+binaries into a single universal binary.\n+\n+Running this script will:\n+1) Generate Xcode project files for the ARM build (if project files don\'t\n+   already exist)\n+2) Generate Xcode project files for the x64 build (if project files don\'t\n+   already exist)\n+3) Build the ARM project for the selected build_target\n+4) Build the x64 project for the selected build_target\n+5) Generates universal .app packages combining the ARM and x64 packages\n+6) Utilizes the lipo tool to combine the binary objects inside each of the\n+   packages into universal binaries\n+7) Code signs the final universal binaries using the specified\n+   codesign_identity\n+"""\n+\n+import argparse\n+import filecmp\n+import glob\n+import json\n+import multiprocessing\n+import os\n+import shutil\n+import subprocess\n+\n+# The config variables listed below are the defaults, but they can be\n+# overridden by command line arguments see parse_args(), or run:\n+# BuildMacOSUniversalBinary.py --help\n+DEFAULT_CONFIG = {\n+\n+    # Location of destination universal binary\n+    "dst_app": "universal/",\n+    # Build Target (dolphin-emu to just build the emulator and skip the tests)\n+    "build_target": "ALL_BUILD",\n+\n+    # Location for CMake to search for files(default is for homebrew\n+    "arm64_cmake_prefix":  \'/opt/homebrew\',', 'user': {'organizations_url': 'https://api.github.com/users/leoetlino/orgs', 'repos_url': 'https://api.github.com/users/leoetlino/repos', 'html_url': 'https://github.com/leoetlino', 'url': 'https://api.github.com/users/leoetlino', 'node_id': 'MDQ6VXNlcjQyMDkwNjE=', 'avatar_url': 'https://avatars.githubusercontent.com/u/4209061?v=4', 'followers_url': 'https://api.github.com/users/leoetlino/followers', 'received_events_url': 'https://api.github.com/users/leoetlino/received_events', 'events_url': 'https://api.github.com/users/leoetlino/events{/privacy}', 'gists_url': 'https://api.github.com/users/leoetlino/gists{/gist_id}', 'following_url': 'https://api.github.com/users/leoetlino/following{/other_user}', 'gravatar_id': '', 'login': 'leoetlino', 'subscriptions_url': 'https://api.github.com/users/leoetlino/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/leoetlino/starred{/owner}{/repo}', 'id': 4209061}, 'node_id': 'MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDYzMjUyOTc5OA==', 'id': 632529798}, {'position': 47, 'commit_id': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9441#discussion_r632529885', 'created_at': '2021-05-14T13:32:11Z', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/632529885', 'original_position': 47, 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441', '_links': {'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/9441#discussion_r632529885'}, 'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/632529885'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441'}}, 'pull_request_review_id': 659840266, 'original_commit_id': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'path': 'BuildMacOSUniversalBinary.py', 'updated_at': '2021-05-14T13:59:03Z', 'body': '```suggestion\r\n    "x86_64_cmake_prefix": "/usr/local",\r\n```', 'author_association': 'MEMBER', 'diff_hunk': '@@ -0,0 +1,299 @@\n+#!/usr/bin/env python3\n+"""\n+The current tooling supported in CMake, Homebrew, and QT5 are inufficient for\n+creating MacOSX universal binaries automatically for applications like Dolphin\n+which have more complicated build requirements (like different libraries, build\n+flags and source files for each target architecture).\n+\n+So instead, this script manages the configuration and compilation of distinct\n+builds and project files for each target architecture and then merges the two\n+binaries into a single universal binary.\n+\n+Running this script will:\n+1) Generate Xcode project files for the ARM build (if project files don\'t\n+   already exist)\n+2) Generate Xcode project files for the x64 build (if project files don\'t\n+   already exist)\n+3) Build the ARM project for the selected build_target\n+4) Build the x64 project for the selected build_target\n+5) Generates universal .app packages combining the ARM and x64 packages\n+6) Utilizes the lipo tool to combine the binary objects inside each of the\n+   packages into universal binaries\n+7) Code signs the final universal binaries using the specified\n+   codesign_identity\n+"""\n+\n+import argparse\n+import filecmp\n+import glob\n+import json\n+import multiprocessing\n+import os\n+import shutil\n+import subprocess\n+\n+# The config variables listed below are the defaults, but they can be\n+# overridden by command line arguments see parse_args(), or run:\n+# BuildMacOSUniversalBinary.py --help\n+DEFAULT_CONFIG = {\n+\n+    # Location of destination universal binary\n+    "dst_app": "universal/",\n+    # Build Target (dolphin-emu to just build the emulator and skip the tests)\n+    "build_target": "ALL_BUILD",\n+\n+    # Location for CMake to search for files(default is for homebrew\n+    "arm64_cmake_prefix":  \'/opt/homebrew\',\n+    "x86_64_cmake_prefix": \'/usr/local\',', 'user': {'organizations_url': 'https://api.github.com/users/leoetlino/orgs', 'repos_url': 'https://api.github.com/users/leoetlino/repos', 'html_url': 'https://github.com/leoetlino', 'url': 'https://api.github.com/users/leoetlino', 'node_id': 'MDQ6VXNlcjQyMDkwNjE=', 'avatar_url': 'https://avatars.githubusercontent.com/u/4209061?v=4', 'followers_url': 'https://api.github.com/users/leoetlino/followers', 'received_events_url': 'https://api.github.com/users/leoetlino/received_events', 'events_url': 'https://api.github.com/users/leoetlino/events{/privacy}', 'gists_url': 'https://api.github.com/users/leoetlino/gists{/gist_id}', 'following_url': 'https://api.github.com/users/leoetlino/following{/other_user}', 'gravatar_id': '', 'login': 'leoetlino', 'subscriptions_url': 'https://api.github.com/users/leoetlino/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/leoetlino/starred{/owner}{/repo}', 'id': 4209061}, 'node_id': 'MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDYzMjUyOTg4NQ==', 'id': 632529885}, {'position': 52, 'commit_id': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9441#discussion_r632529976', 'created_at': '2021-05-14T13:32:20Z', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/632529976', 'original_position': 52, 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441', '_links': {'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/9441#discussion_r632529976'}, 'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/632529976'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441'}}, 'pull_request_review_id': 659840266, 'original_commit_id': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'path': 'BuildMacOSUniversalBinary.py', 'updated_at': '2021-05-14T13:59:03Z', 'body': '```suggestion\r\n    "arm64_qt5_path":  "/opt/homebrew/opt/qt5",\r\n```', 'author_association': 'MEMBER', 'diff_hunk': '@@ -0,0 +1,299 @@\n+#!/usr/bin/env python3\n+"""\n+The current tooling supported in CMake, Homebrew, and QT5 are inufficient for\n+creating MacOSX universal binaries automatically for applications like Dolphin\n+which have more complicated build requirements (like different libraries, build\n+flags and source files for each target architecture).\n+\n+So instead, this script manages the configuration and compilation of distinct\n+builds and project files for each target architecture and then merges the two\n+binaries into a single universal binary.\n+\n+Running this script will:\n+1) Generate Xcode project files for the ARM build (if project files don\'t\n+   already exist)\n+2) Generate Xcode project files for the x64 build (if project files don\'t\n+   already exist)\n+3) Build the ARM project for the selected build_target\n+4) Build the x64 project for the selected build_target\n+5) Generates universal .app packages combining the ARM and x64 packages\n+6) Utilizes the lipo tool to combine the binary objects inside each of the\n+   packages into universal binaries\n+7) Code signs the final universal binaries using the specified\n+   codesign_identity\n+"""\n+\n+import argparse\n+import filecmp\n+import glob\n+import json\n+import multiprocessing\n+import os\n+import shutil\n+import subprocess\n+\n+# The config variables listed below are the defaults, but they can be\n+# overridden by command line arguments see parse_args(), or run:\n+# BuildMacOSUniversalBinary.py --help\n+DEFAULT_CONFIG = {\n+\n+    # Location of destination universal binary\n+    "dst_app": "universal/",\n+    # Build Target (dolphin-emu to just build the emulator and skip the tests)\n+    "build_target": "ALL_BUILD",\n+\n+    # Location for CMake to search for files(default is for homebrew\n+    "arm64_cmake_prefix":  \'/opt/homebrew\',\n+    "x86_64_cmake_prefix": \'/usr/local\',\n+\n+    # Locations to qt5 directories for arm and x64 libraries\n+    # The default values of these paths are taken from the default\n+    # paths used for homebrew\n+    "arm64_qt5_path":  \'/opt/homebrew/opt/qt5\',', 'user': {'organizations_url': 'https://api.github.com/users/leoetlino/orgs', 'repos_url': 'https://api.github.com/users/leoetlino/repos', 'html_url': 'https://github.com/leoetlino', 'url': 'https://api.github.com/users/leoetlino', 'node_id': 'MDQ6VXNlcjQyMDkwNjE=', 'avatar_url': 'https://avatars.githubusercontent.com/u/4209061?v=4', 'followers_url': 'https://api.github.com/users/leoetlino/followers', 'received_events_url': 'https://api.github.com/users/leoetlino/received_events', 'events_url': 'https://api.github.com/users/leoetlino/events{/privacy}', 'gists_url': 'https://api.github.com/users/leoetlino/gists{/gist_id}', 'following_url': 'https://api.github.com/users/leoetlino/following{/other_user}', 'gravatar_id': '', 'login': 'leoetlino', 'subscriptions_url': 'https://api.github.com/users/leoetlino/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/leoetlino/starred{/owner}{/repo}', 'id': 4209061}, 'node_id': 'MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDYzMjUyOTk3Ng==', 'id': 632529976}, {'position': 53, 'commit_id': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9441#discussion_r632530063', 'created_at': '2021-05-14T13:32:27Z', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/632530063', 'original_position': 53, 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441', '_links': {'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/9441#discussion_r632530063'}, 'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/632530063'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441'}}, 'pull_request_review_id': 659840266, 'original_commit_id': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'path': 'BuildMacOSUniversalBinary.py', 'updated_at': '2021-05-14T13:59:03Z', 'body': '```suggestion\r\n    "x86_64_qt5_path": "/usr/local/opt/qt5",\r\n```', 'author_association': 'MEMBER', 'diff_hunk': '@@ -0,0 +1,299 @@\n+#!/usr/bin/env python3\n+"""\n+The current tooling supported in CMake, Homebrew, and QT5 are inufficient for\n+creating MacOSX universal binaries automatically for applications like Dolphin\n+which have more complicated build requirements (like different libraries, build\n+flags and source files for each target architecture).\n+\n+So instead, this script manages the configuration and compilation of distinct\n+builds and project files for each target architecture and then merges the two\n+binaries into a single universal binary.\n+\n+Running this script will:\n+1) Generate Xcode project files for the ARM build (if project files don\'t\n+   already exist)\n+2) Generate Xcode project files for the x64 build (if project files don\'t\n+   already exist)\n+3) Build the ARM project for the selected build_target\n+4) Build the x64 project for the selected build_target\n+5) Generates universal .app packages combining the ARM and x64 packages\n+6) Utilizes the lipo tool to combine the binary objects inside each of the\n+   packages into universal binaries\n+7) Code signs the final universal binaries using the specified\n+   codesign_identity\n+"""\n+\n+import argparse\n+import filecmp\n+import glob\n+import json\n+import multiprocessing\n+import os\n+import shutil\n+import subprocess\n+\n+# The config variables listed below are the defaults, but they can be\n+# overridden by command line arguments see parse_args(), or run:\n+# BuildMacOSUniversalBinary.py --help\n+DEFAULT_CONFIG = {\n+\n+    # Location of destination universal binary\n+    "dst_app": "universal/",\n+    # Build Target (dolphin-emu to just build the emulator and skip the tests)\n+    "build_target": "ALL_BUILD",\n+\n+    # Location for CMake to search for files(default is for homebrew\n+    "arm64_cmake_prefix":  \'/opt/homebrew\',\n+    "x86_64_cmake_prefix": \'/usr/local\',\n+\n+    # Locations to qt5 directories for arm and x64 libraries\n+    # The default values of these paths are taken from the default\n+    # paths used for homebrew\n+    "arm64_qt5_path":  \'/opt/homebrew/opt/qt5\',\n+    "x86_64_qt5_path": \'/usr/local/opt/qt5\',', 'user': {'organizations_url': 'https://api.github.com/users/leoetlino/orgs', 'repos_url': 'https://api.github.com/users/leoetlino/repos', 'html_url': 'https://github.com/leoetlino', 'url': 'https://api.github.com/users/leoetlino', 'node_id': 'MDQ6VXNlcjQyMDkwNjE=', 'avatar_url': 'https://avatars.githubusercontent.com/u/4209061?v=4', 'followers_url': 'https://api.github.com/users/leoetlino/followers', 'received_events_url': 'https://api.github.com/users/leoetlino/received_events', 'events_url': 'https://api.github.com/users/leoetlino/events{/privacy}', 'gists_url': 'https://api.github.com/users/leoetlino/gists{/gist_id}', 'following_url': 'https://api.github.com/users/leoetlino/following{/other_user}', 'gravatar_id': '', 'login': 'leoetlino', 'subscriptions_url': 'https://api.github.com/users/leoetlino/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/leoetlino/starred{/owner}{/repo}', 'id': 4209061}, 'node_id': 'MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDYzMjUzMDA2Mw==', 'id': 632530063}, {'position': 71, 'commit_id': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9441#discussion_r632530295', 'created_at': '2021-05-14T13:32:47Z', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/632530295', 'original_position': 71, 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441', '_links': {'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/9441#discussion_r632530295'}, 'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/632530295'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441'}}, 'pull_request_review_id': 659840266, 'original_commit_id': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'path': 'BuildMacOSUniversalBinary.py', 'updated_at': '2021-05-14T13:59:03Z', 'body': '```suggestion\r\n    "build_type": "Release",\r\n```', 'author_association': 'MEMBER', 'diff_hunk': '@@ -0,0 +1,299 @@\n+#!/usr/bin/env python3\n+"""\n+The current tooling supported in CMake, Homebrew, and QT5 are inufficient for\n+creating MacOSX universal binaries automatically for applications like Dolphin\n+which have more complicated build requirements (like different libraries, build\n+flags and source files for each target architecture).\n+\n+So instead, this script manages the configuration and compilation of distinct\n+builds and project files for each target architecture and then merges the two\n+binaries into a single universal binary.\n+\n+Running this script will:\n+1) Generate Xcode project files for the ARM build (if project files don\'t\n+   already exist)\n+2) Generate Xcode project files for the x64 build (if project files don\'t\n+   already exist)\n+3) Build the ARM project for the selected build_target\n+4) Build the x64 project for the selected build_target\n+5) Generates universal .app packages combining the ARM and x64 packages\n+6) Utilizes the lipo tool to combine the binary objects inside each of the\n+   packages into universal binaries\n+7) Code signs the final universal binaries using the specified\n+   codesign_identity\n+"""\n+\n+import argparse\n+import filecmp\n+import glob\n+import json\n+import multiprocessing\n+import os\n+import shutil\n+import subprocess\n+\n+# The config variables listed below are the defaults, but they can be\n+# overridden by command line arguments see parse_args(), or run:\n+# BuildMacOSUniversalBinary.py --help\n+DEFAULT_CONFIG = {\n+\n+    # Location of destination universal binary\n+    "dst_app": "universal/",\n+    # Build Target (dolphin-emu to just build the emulator and skip the tests)\n+    "build_target": "ALL_BUILD",\n+\n+    # Location for CMake to search for files(default is for homebrew\n+    "arm64_cmake_prefix":  \'/opt/homebrew\',\n+    "x86_64_cmake_prefix": \'/usr/local\',\n+\n+    # Locations to qt5 directories for arm and x64 libraries\n+    # The default values of these paths are taken from the default\n+    # paths used for homebrew\n+    "arm64_qt5_path":  \'/opt/homebrew/opt/qt5\',\n+    "x86_64_qt5_path": \'/usr/local/opt/qt5\',\n+\n+    # Identity to use for code signing. "-" indicates that the app will not\n+    # be cryptographically signed/notarized but will instead just use a\n+    # SHA checksum to verify the integrity of the app. This doesn\'t\n+    # protect against malicious actors, but it does protect against\n+    # running corrupted binaries and allows for access to the extended\n+    # permisions needed for ARM builds\n+    "codesign_identity":  \'-\',\n+    # Entitlements file to use for code signing\n+    "entitlements": "../Source/Core/DolphinQt/DolphinEmu.entitlements",\n+\n+    # Minimum macOS version for each architecture slice\n+    "arm64_mac_os_deployment_target":  "11.0.0",\n+    "x86_64_mac_os_deployment_target": "10.12.0",\n+\n+    # CMake Generator to use for building\n+    "generator": "Unix Makefiles",\n+    "build_type": "Release"', 'user': {'organizations_url': 'https://api.github.com/users/leoetlino/orgs', 'repos_url': 'https://api.github.com/users/leoetlino/repos', 'html_url': 'https://github.com/leoetlino', 'url': 'https://api.github.com/users/leoetlino', 'node_id': 'MDQ6VXNlcjQyMDkwNjE=', 'avatar_url': 'https://avatars.githubusercontent.com/u/4209061?v=4', 'followers_url': 'https://api.github.com/users/leoetlino/followers', 'received_events_url': 'https://api.github.com/users/leoetlino/received_events', 'events_url': 'https://api.github.com/users/leoetlino/events{/privacy}', 'gists_url': 'https://api.github.com/users/leoetlino/gists{/gist_id}', 'following_url': 'https://api.github.com/users/leoetlino/following{/other_user}', 'gravatar_id': '', 'login': 'leoetlino', 'subscriptions_url': 'https://api.github.com/users/leoetlino/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/leoetlino/starred{/owner}{/repo}', 'id': 4209061}, 'node_id': 'MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDYzMjUzMDI5NQ==', 'id': 632530295}, {'position': 70, 'commit_id': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9441#discussion_r632530518', 'created_at': '2021-05-14T13:33:07Z', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/632530518', 'original_position': 70, 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441', '_links': {'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/9441#discussion_r632530518'}, 'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/632530518'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441'}}, 'pull_request_review_id': 659840266, 'original_commit_id': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'path': 'BuildMacOSUniversalBinary.py', 'updated_at': '2021-05-14T13:59:03Z', 'body': "Is there any reason we're not using Ninja?", 'author_association': 'MEMBER', 'diff_hunk': '@@ -0,0 +1,299 @@\n+#!/usr/bin/env python3\n+"""\n+The current tooling supported in CMake, Homebrew, and QT5 are inufficient for\n+creating MacOSX universal binaries automatically for applications like Dolphin\n+which have more complicated build requirements (like different libraries, build\n+flags and source files for each target architecture).\n+\n+So instead, this script manages the configuration and compilation of distinct\n+builds and project files for each target architecture and then merges the two\n+binaries into a single universal binary.\n+\n+Running this script will:\n+1) Generate Xcode project files for the ARM build (if project files don\'t\n+   already exist)\n+2) Generate Xcode project files for the x64 build (if project files don\'t\n+   already exist)\n+3) Build the ARM project for the selected build_target\n+4) Build the x64 project for the selected build_target\n+5) Generates universal .app packages combining the ARM and x64 packages\n+6) Utilizes the lipo tool to combine the binary objects inside each of the\n+   packages into universal binaries\n+7) Code signs the final universal binaries using the specified\n+   codesign_identity\n+"""\n+\n+import argparse\n+import filecmp\n+import glob\n+import json\n+import multiprocessing\n+import os\n+import shutil\n+import subprocess\n+\n+# The config variables listed below are the defaults, but they can be\n+# overridden by command line arguments see parse_args(), or run:\n+# BuildMacOSUniversalBinary.py --help\n+DEFAULT_CONFIG = {\n+\n+    # Location of destination universal binary\n+    "dst_app": "universal/",\n+    # Build Target (dolphin-emu to just build the emulator and skip the tests)\n+    "build_target": "ALL_BUILD",\n+\n+    # Location for CMake to search for files(default is for homebrew\n+    "arm64_cmake_prefix":  \'/opt/homebrew\',\n+    "x86_64_cmake_prefix": \'/usr/local\',\n+\n+    # Locations to qt5 directories for arm and x64 libraries\n+    # The default values of these paths are taken from the default\n+    # paths used for homebrew\n+    "arm64_qt5_path":  \'/opt/homebrew/opt/qt5\',\n+    "x86_64_qt5_path": \'/usr/local/opt/qt5\',\n+\n+    # Identity to use for code signing. "-" indicates that the app will not\n+    # be cryptographically signed/notarized but will instead just use a\n+    # SHA checksum to verify the integrity of the app. This doesn\'t\n+    # protect against malicious actors, but it does protect against\n+    # running corrupted binaries and allows for access to the extended\n+    # permisions needed for ARM builds\n+    "codesign_identity":  \'-\',\n+    # Entitlements file to use for code signing\n+    "entitlements": "../Source/Core/DolphinQt/DolphinEmu.entitlements",\n+\n+    # Minimum macOS version for each architecture slice\n+    "arm64_mac_os_deployment_target":  "11.0.0",\n+    "x86_64_mac_os_deployment_target": "10.12.0",\n+\n+    # CMake Generator to use for building\n+    "generator": "Unix Makefiles",', 'user': {'organizations_url': 'https://api.github.com/users/leoetlino/orgs', 'repos_url': 'https://api.github.com/users/leoetlino/repos', 'html_url': 'https://github.com/leoetlino', 'url': 'https://api.github.com/users/leoetlino', 'node_id': 'MDQ6VXNlcjQyMDkwNjE=', 'avatar_url': 'https://avatars.githubusercontent.com/u/4209061?v=4', 'followers_url': 'https://api.github.com/users/leoetlino/followers', 'received_events_url': 'https://api.github.com/users/leoetlino/received_events', 'events_url': 'https://api.github.com/users/leoetlino/events{/privacy}', 'gists_url': 'https://api.github.com/users/leoetlino/gists{/gist_id}', 'following_url': 'https://api.github.com/users/leoetlino/following{/other_user}', 'gravatar_id': '', 'login': 'leoetlino', 'subscriptions_url': 'https://api.github.com/users/leoetlino/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/leoetlino/starred{/owner}{/repo}', 'id': 4209061}, 'node_id': 'MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDYzMjUzMDUxOA==', 'id': 632530518}, {'position': 93, 'commit_id': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9441#discussion_r632530979', 'created_at': '2021-05-14T13:33:55Z', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/632530979', 'original_position': 93, 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441', '_links': {'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/9441#discussion_r632530979'}, 'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/632530979'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441'}}, 'pull_request_review_id': 659840266, 'original_commit_id': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'path': 'BuildMacOSUniversalBinary.py', 'updated_at': '2021-05-14T13:59:03Z', 'body': 'I think we should decide on whether to use single quotes or double quotes :P', 'author_association': 'MEMBER', 'diff_hunk': '@@ -0,0 +1,299 @@\n+#!/usr/bin/env python3\n+"""\n+The current tooling supported in CMake, Homebrew, and QT5 are inufficient for\n+creating MacOSX universal binaries automatically for applications like Dolphin\n+which have more complicated build requirements (like different libraries, build\n+flags and source files for each target architecture).\n+\n+So instead, this script manages the configuration and compilation of distinct\n+builds and project files for each target architecture and then merges the two\n+binaries into a single universal binary.\n+\n+Running this script will:\n+1) Generate Xcode project files for the ARM build (if project files don\'t\n+   already exist)\n+2) Generate Xcode project files for the x64 build (if project files don\'t\n+   already exist)\n+3) Build the ARM project for the selected build_target\n+4) Build the x64 project for the selected build_target\n+5) Generates universal .app packages combining the ARM and x64 packages\n+6) Utilizes the lipo tool to combine the binary objects inside each of the\n+   packages into universal binaries\n+7) Code signs the final universal binaries using the specified\n+   codesign_identity\n+"""\n+\n+import argparse\n+import filecmp\n+import glob\n+import json\n+import multiprocessing\n+import os\n+import shutil\n+import subprocess\n+\n+# The config variables listed below are the defaults, but they can be\n+# overridden by command line arguments see parse_args(), or run:\n+# BuildMacOSUniversalBinary.py --help\n+DEFAULT_CONFIG = {\n+\n+    # Location of destination universal binary\n+    "dst_app": "universal/",\n+    # Build Target (dolphin-emu to just build the emulator and skip the tests)\n+    "build_target": "ALL_BUILD",\n+\n+    # Location for CMake to search for files(default is for homebrew\n+    "arm64_cmake_prefix":  \'/opt/homebrew\',\n+    "x86_64_cmake_prefix": \'/usr/local\',\n+\n+    # Locations to qt5 directories for arm and x64 libraries\n+    # The default values of these paths are taken from the default\n+    # paths used for homebrew\n+    "arm64_qt5_path":  \'/opt/homebrew/opt/qt5\',\n+    "x86_64_qt5_path": \'/usr/local/opt/qt5\',\n+\n+    # Identity to use for code signing. "-" indicates that the app will not\n+    # be cryptographically signed/notarized but will instead just use a\n+    # SHA checksum to verify the integrity of the app. This doesn\'t\n+    # protect against malicious actors, but it does protect against\n+    # running corrupted binaries and allows for access to the extended\n+    # permisions needed for ARM builds\n+    "codesign_identity":  \'-\',\n+    # Entitlements file to use for code signing\n+    "entitlements": "../Source/Core/DolphinQt/DolphinEmu.entitlements",\n+\n+    # Minimum macOS version for each architecture slice\n+    "arm64_mac_os_deployment_target":  "11.0.0",\n+    "x86_64_mac_os_deployment_target": "10.12.0",\n+\n+    # CMake Generator to use for building\n+    "generator": "Unix Makefiles",\n+    "build_type": "Release"\n+\n+}\n+\n+# Architectures to build for. This is explicity left out of the command line\n+# config options for several reasons:\n+# 1) Adding new architectures will generally require more code changes\n+# 2) Single architecture builds should utilize the normal generated cmake\n+#    project files rather than this wrapper script\n+\n+ARCHITECTURES = ["x86_64", "arm64"]\n+\n+\n+def parse_args(conf=DEFAULT_CONFIG):\n+    """\n+    Parses the command line arguments into a config dictionary.\n+    """\n+\n+    parser = argparse.ArgumentParser(\n+        formatter_class=argparse.ArgumentDefaultsHelpFormatter)\n+\n+    parser.add_argument(\n+        \'--target\',', 'user': {'organizations_url': 'https://api.github.com/users/leoetlino/orgs', 'repos_url': 'https://api.github.com/users/leoetlino/repos', 'html_url': 'https://github.com/leoetlino', 'url': 'https://api.github.com/users/leoetlino', 'node_id': 'MDQ6VXNlcjQyMDkwNjE=', 'avatar_url': 'https://avatars.githubusercontent.com/u/4209061?v=4', 'followers_url': 'https://api.github.com/users/leoetlino/followers', 'received_events_url': 'https://api.github.com/users/leoetlino/received_events', 'events_url': 'https://api.github.com/users/leoetlino/events{/privacy}', 'gists_url': 'https://api.github.com/users/leoetlino/gists{/gist_id}', 'following_url': 'https://api.github.com/users/leoetlino/following{/other_user}', 'gravatar_id': '', 'login': 'leoetlino', 'subscriptions_url': 'https://api.github.com/users/leoetlino/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/leoetlino/starred{/owner}{/repo}', 'id': 4209061}, 'node_id': 'MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDYzMjUzMDk3OQ==', 'id': 632530979}, {'position': 125, 'commit_id': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9441#discussion_r632531676', 'created_at': '2021-05-14T13:35:00Z', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/632531676', 'original_position': 125, 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441', '_links': {'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/9441#discussion_r632531676'}, 'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/632531676'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441'}}, 'pull_request_review_id': 659840266, 'original_commit_id': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'path': 'BuildMacOSUniversalBinary.py', 'updated_at': '2021-05-14T13:59:03Z', 'body': '```suggestion\r\n             f"--{arch}_cmake_prefix",\r\n```\r\nf-strings can be used here', 'author_association': 'MEMBER', 'diff_hunk': '@@ -0,0 +1,299 @@\n+#!/usr/bin/env python3\n+"""\n+The current tooling supported in CMake, Homebrew, and QT5 are inufficient for\n+creating MacOSX universal binaries automatically for applications like Dolphin\n+which have more complicated build requirements (like different libraries, build\n+flags and source files for each target architecture).\n+\n+So instead, this script manages the configuration and compilation of distinct\n+builds and project files for each target architecture and then merges the two\n+binaries into a single universal binary.\n+\n+Running this script will:\n+1) Generate Xcode project files for the ARM build (if project files don\'t\n+   already exist)\n+2) Generate Xcode project files for the x64 build (if project files don\'t\n+   already exist)\n+3) Build the ARM project for the selected build_target\n+4) Build the x64 project for the selected build_target\n+5) Generates universal .app packages combining the ARM and x64 packages\n+6) Utilizes the lipo tool to combine the binary objects inside each of the\n+   packages into universal binaries\n+7) Code signs the final universal binaries using the specified\n+   codesign_identity\n+"""\n+\n+import argparse\n+import filecmp\n+import glob\n+import json\n+import multiprocessing\n+import os\n+import shutil\n+import subprocess\n+\n+# The config variables listed below are the defaults, but they can be\n+# overridden by command line arguments see parse_args(), or run:\n+# BuildMacOSUniversalBinary.py --help\n+DEFAULT_CONFIG = {\n+\n+    # Location of destination universal binary\n+    "dst_app": "universal/",\n+    # Build Target (dolphin-emu to just build the emulator and skip the tests)\n+    "build_target": "ALL_BUILD",\n+\n+    # Location for CMake to search for files(default is for homebrew\n+    "arm64_cmake_prefix":  \'/opt/homebrew\',\n+    "x86_64_cmake_prefix": \'/usr/local\',\n+\n+    # Locations to qt5 directories for arm and x64 libraries\n+    # The default values of these paths are taken from the default\n+    # paths used for homebrew\n+    "arm64_qt5_path":  \'/opt/homebrew/opt/qt5\',\n+    "x86_64_qt5_path": \'/usr/local/opt/qt5\',\n+\n+    # Identity to use for code signing. "-" indicates that the app will not\n+    # be cryptographically signed/notarized but will instead just use a\n+    # SHA checksum to verify the integrity of the app. This doesn\'t\n+    # protect against malicious actors, but it does protect against\n+    # running corrupted binaries and allows for access to the extended\n+    # permisions needed for ARM builds\n+    "codesign_identity":  \'-\',\n+    # Entitlements file to use for code signing\n+    "entitlements": "../Source/Core/DolphinQt/DolphinEmu.entitlements",\n+\n+    # Minimum macOS version for each architecture slice\n+    "arm64_mac_os_deployment_target":  "11.0.0",\n+    "x86_64_mac_os_deployment_target": "10.12.0",\n+\n+    # CMake Generator to use for building\n+    "generator": "Unix Makefiles",\n+    "build_type": "Release"\n+\n+}\n+\n+# Architectures to build for. This is explicity left out of the command line\n+# config options for several reasons:\n+# 1) Adding new architectures will generally require more code changes\n+# 2) Single architecture builds should utilize the normal generated cmake\n+#    project files rather than this wrapper script\n+\n+ARCHITECTURES = ["x86_64", "arm64"]\n+\n+\n+def parse_args(conf=DEFAULT_CONFIG):\n+    """\n+    Parses the command line arguments into a config dictionary.\n+    """\n+\n+    parser = argparse.ArgumentParser(\n+        formatter_class=argparse.ArgumentDefaultsHelpFormatter)\n+\n+    parser.add_argument(\n+        \'--target\',\n+        help=\'Build target in generated project files\',\n+        default=conf["build_target"],\n+        dest="build_target")\n+    parser.add_argument(\n+        \'-G\',\n+        help=\'CMake Generator to use for creating project files\',\n+        default=conf["generator"],\n+        dest="generator")\n+    parser.add_argument(\n+        \'--build_type\',\n+        help=\'CMake build type [Debug, Release, RelWithDebInfo, MinSizeRel]\',\n+        default=conf["build_type"],\n+        dest="build_type")\n+    parser.add_argument(\n+        \'--dst_app\',\n+        help=\'Directory where universal binary will be stored\',\n+        default=conf["dst_app"])\n+\n+    parser.add_argument(\n+        \'--entitlements\',\n+        help=\'Path to .entitlements file for code signing\',\n+        default=conf["entitlements"])\n+\n+    parser.add_argument(\n+        \'--codesign\',\n+        help=\'Code signing identity to use to sign the applications\',\n+        default=conf["codesign_identity"],\n+        dest="codesign_identity")\n+\n+    for arch in ARCHITECTURES:\n+        parser.add_argument(\n+             \'--{}_cmake_prefix\'.format(arch),', 'user': {'organizations_url': 'https://api.github.com/users/leoetlino/orgs', 'repos_url': 'https://api.github.com/users/leoetlino/repos', 'html_url': 'https://github.com/leoetlino', 'url': 'https://api.github.com/users/leoetlino', 'node_id': 'MDQ6VXNlcjQyMDkwNjE=', 'avatar_url': 'https://avatars.githubusercontent.com/u/4209061?v=4', 'followers_url': 'https://api.github.com/users/leoetlino/followers', 'received_events_url': 'https://api.github.com/users/leoetlino/received_events', 'events_url': 'https://api.github.com/users/leoetlino/events{/privacy}', 'gists_url': 'https://api.github.com/users/leoetlino/gists{/gist_id}', 'following_url': 'https://api.github.com/users/leoetlino/following{/other_user}', 'gravatar_id': '', 'login': 'leoetlino', 'subscriptions_url': 'https://api.github.com/users/leoetlino/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/leoetlino/starred{/owner}{/repo}', 'id': 4209061}, 'node_id': 'MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDYzMjUzMTY3Ng==', 'id': 632531676}, {'position': 126, 'commit_id': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9441#discussion_r632531926', 'created_at': '2021-05-14T13:35:25Z', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/632531926', 'original_position': 126, 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441', '_links': {'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/9441#discussion_r632531926'}, 'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/632531926'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441'}}, 'pull_request_review_id': 659840266, 'original_commit_id': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'path': 'BuildMacOSUniversalBinary.py', 'updated_at': '2021-05-14T13:59:03Z', 'body': '```suggestion\r\n             help="Folder for cmake to search for packages",\r\n```\r\n(I guess having too many format arguments isn\'t an error...)', 'author_association': 'MEMBER', 'diff_hunk': '@@ -0,0 +1,299 @@\n+#!/usr/bin/env python3\n+"""\n+The current tooling supported in CMake, Homebrew, and QT5 are inufficient for\n+creating MacOSX universal binaries automatically for applications like Dolphin\n+which have more complicated build requirements (like different libraries, build\n+flags and source files for each target architecture).\n+\n+So instead, this script manages the configuration and compilation of distinct\n+builds and project files for each target architecture and then merges the two\n+binaries into a single universal binary.\n+\n+Running this script will:\n+1) Generate Xcode project files for the ARM build (if project files don\'t\n+   already exist)\n+2) Generate Xcode project files for the x64 build (if project files don\'t\n+   already exist)\n+3) Build the ARM project for the selected build_target\n+4) Build the x64 project for the selected build_target\n+5) Generates universal .app packages combining the ARM and x64 packages\n+6) Utilizes the lipo tool to combine the binary objects inside each of the\n+   packages into universal binaries\n+7) Code signs the final universal binaries using the specified\n+   codesign_identity\n+"""\n+\n+import argparse\n+import filecmp\n+import glob\n+import json\n+import multiprocessing\n+import os\n+import shutil\n+import subprocess\n+\n+# The config variables listed below are the defaults, but they can be\n+# overridden by command line arguments see parse_args(), or run:\n+# BuildMacOSUniversalBinary.py --help\n+DEFAULT_CONFIG = {\n+\n+    # Location of destination universal binary\n+    "dst_app": "universal/",\n+    # Build Target (dolphin-emu to just build the emulator and skip the tests)\n+    "build_target": "ALL_BUILD",\n+\n+    # Location for CMake to search for files(default is for homebrew\n+    "arm64_cmake_prefix":  \'/opt/homebrew\',\n+    "x86_64_cmake_prefix": \'/usr/local\',\n+\n+    # Locations to qt5 directories for arm and x64 libraries\n+    # The default values of these paths are taken from the default\n+    # paths used for homebrew\n+    "arm64_qt5_path":  \'/opt/homebrew/opt/qt5\',\n+    "x86_64_qt5_path": \'/usr/local/opt/qt5\',\n+\n+    # Identity to use for code signing. "-" indicates that the app will not\n+    # be cryptographically signed/notarized but will instead just use a\n+    # SHA checksum to verify the integrity of the app. This doesn\'t\n+    # protect against malicious actors, but it does protect against\n+    # running corrupted binaries and allows for access to the extended\n+    # permisions needed for ARM builds\n+    "codesign_identity":  \'-\',\n+    # Entitlements file to use for code signing\n+    "entitlements": "../Source/Core/DolphinQt/DolphinEmu.entitlements",\n+\n+    # Minimum macOS version for each architecture slice\n+    "arm64_mac_os_deployment_target":  "11.0.0",\n+    "x86_64_mac_os_deployment_target": "10.12.0",\n+\n+    # CMake Generator to use for building\n+    "generator": "Unix Makefiles",\n+    "build_type": "Release"\n+\n+}\n+\n+# Architectures to build for. This is explicity left out of the command line\n+# config options for several reasons:\n+# 1) Adding new architectures will generally require more code changes\n+# 2) Single architecture builds should utilize the normal generated cmake\n+#    project files rather than this wrapper script\n+\n+ARCHITECTURES = ["x86_64", "arm64"]\n+\n+\n+def parse_args(conf=DEFAULT_CONFIG):\n+    """\n+    Parses the command line arguments into a config dictionary.\n+    """\n+\n+    parser = argparse.ArgumentParser(\n+        formatter_class=argparse.ArgumentDefaultsHelpFormatter)\n+\n+    parser.add_argument(\n+        \'--target\',\n+        help=\'Build target in generated project files\',\n+        default=conf["build_target"],\n+        dest="build_target")\n+    parser.add_argument(\n+        \'-G\',\n+        help=\'CMake Generator to use for creating project files\',\n+        default=conf["generator"],\n+        dest="generator")\n+    parser.add_argument(\n+        \'--build_type\',\n+        help=\'CMake build type [Debug, Release, RelWithDebInfo, MinSizeRel]\',\n+        default=conf["build_type"],\n+        dest="build_type")\n+    parser.add_argument(\n+        \'--dst_app\',\n+        help=\'Directory where universal binary will be stored\',\n+        default=conf["dst_app"])\n+\n+    parser.add_argument(\n+        \'--entitlements\',\n+        help=\'Path to .entitlements file for code signing\',\n+        default=conf["entitlements"])\n+\n+    parser.add_argument(\n+        \'--codesign\',\n+        help=\'Code signing identity to use to sign the applications\',\n+        default=conf["codesign_identity"],\n+        dest="codesign_identity")\n+\n+    for arch in ARCHITECTURES:\n+        parser.add_argument(\n+             \'--{}_cmake_prefix\'.format(arch),\n+             help="Folder for cmake to search for packages".format(arch),', 'user': {'organizations_url': 'https://api.github.com/users/leoetlino/orgs', 'repos_url': 'https://api.github.com/users/leoetlino/repos', 'html_url': 'https://github.com/leoetlino', 'url': 'https://api.github.com/users/leoetlino', 'node_id': 'MDQ6VXNlcjQyMDkwNjE=', 'avatar_url': 'https://avatars.githubusercontent.com/u/4209061?v=4', 'followers_url': 'https://api.github.com/users/leoetlino/followers', 'received_events_url': 'https://api.github.com/users/leoetlino/received_events', 'events_url': 'https://api.github.com/users/leoetlino/events{/privacy}', 'gists_url': 'https://api.github.com/users/leoetlino/gists{/gist_id}', 'following_url': 'https://api.github.com/users/leoetlino/following{/other_user}', 'gravatar_id': '', 'login': 'leoetlino', 'subscriptions_url': 'https://api.github.com/users/leoetlino/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/leoetlino/starred{/owner}{/repo}', 'id': 4209061}, 'node_id': 'MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDYzMjUzMTkyNg==', 'id': 632531926}, {'position': 131, 'commit_id': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9441#discussion_r632532060', 'created_at': '2021-05-14T13:35:38Z', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/632532060', 'original_position': 131, 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441', '_links': {'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/9441#discussion_r632532060'}, 'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/632532060'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441'}}, 'pull_request_review_id': 659840266, 'original_commit_id': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'path': 'BuildMacOSUniversalBinary.py', 'updated_at': '2021-05-14T13:59:03Z', 'body': 'f-string', 'author_association': 'MEMBER', 'diff_hunk': '@@ -0,0 +1,299 @@\n+#!/usr/bin/env python3\n+"""\n+The current tooling supported in CMake, Homebrew, and QT5 are inufficient for\n+creating MacOSX universal binaries automatically for applications like Dolphin\n+which have more complicated build requirements (like different libraries, build\n+flags and source files for each target architecture).\n+\n+So instead, this script manages the configuration and compilation of distinct\n+builds and project files for each target architecture and then merges the two\n+binaries into a single universal binary.\n+\n+Running this script will:\n+1) Generate Xcode project files for the ARM build (if project files don\'t\n+   already exist)\n+2) Generate Xcode project files for the x64 build (if project files don\'t\n+   already exist)\n+3) Build the ARM project for the selected build_target\n+4) Build the x64 project for the selected build_target\n+5) Generates universal .app packages combining the ARM and x64 packages\n+6) Utilizes the lipo tool to combine the binary objects inside each of the\n+   packages into universal binaries\n+7) Code signs the final universal binaries using the specified\n+   codesign_identity\n+"""\n+\n+import argparse\n+import filecmp\n+import glob\n+import json\n+import multiprocessing\n+import os\n+import shutil\n+import subprocess\n+\n+# The config variables listed below are the defaults, but they can be\n+# overridden by command line arguments see parse_args(), or run:\n+# BuildMacOSUniversalBinary.py --help\n+DEFAULT_CONFIG = {\n+\n+    # Location of destination universal binary\n+    "dst_app": "universal/",\n+    # Build Target (dolphin-emu to just build the emulator and skip the tests)\n+    "build_target": "ALL_BUILD",\n+\n+    # Location for CMake to search for files(default is for homebrew\n+    "arm64_cmake_prefix":  \'/opt/homebrew\',\n+    "x86_64_cmake_prefix": \'/usr/local\',\n+\n+    # Locations to qt5 directories for arm and x64 libraries\n+    # The default values of these paths are taken from the default\n+    # paths used for homebrew\n+    "arm64_qt5_path":  \'/opt/homebrew/opt/qt5\',\n+    "x86_64_qt5_path": \'/usr/local/opt/qt5\',\n+\n+    # Identity to use for code signing. "-" indicates that the app will not\n+    # be cryptographically signed/notarized but will instead just use a\n+    # SHA checksum to verify the integrity of the app. This doesn\'t\n+    # protect against malicious actors, but it does protect against\n+    # running corrupted binaries and allows for access to the extended\n+    # permisions needed for ARM builds\n+    "codesign_identity":  \'-\',\n+    # Entitlements file to use for code signing\n+    "entitlements": "../Source/Core/DolphinQt/DolphinEmu.entitlements",\n+\n+    # Minimum macOS version for each architecture slice\n+    "arm64_mac_os_deployment_target":  "11.0.0",\n+    "x86_64_mac_os_deployment_target": "10.12.0",\n+\n+    # CMake Generator to use for building\n+    "generator": "Unix Makefiles",\n+    "build_type": "Release"\n+\n+}\n+\n+# Architectures to build for. This is explicity left out of the command line\n+# config options for several reasons:\n+# 1) Adding new architectures will generally require more code changes\n+# 2) Single architecture builds should utilize the normal generated cmake\n+#    project files rather than this wrapper script\n+\n+ARCHITECTURES = ["x86_64", "arm64"]\n+\n+\n+def parse_args(conf=DEFAULT_CONFIG):\n+    """\n+    Parses the command line arguments into a config dictionary.\n+    """\n+\n+    parser = argparse.ArgumentParser(\n+        formatter_class=argparse.ArgumentDefaultsHelpFormatter)\n+\n+    parser.add_argument(\n+        \'--target\',\n+        help=\'Build target in generated project files\',\n+        default=conf["build_target"],\n+        dest="build_target")\n+    parser.add_argument(\n+        \'-G\',\n+        help=\'CMake Generator to use for creating project files\',\n+        default=conf["generator"],\n+        dest="generator")\n+    parser.add_argument(\n+        \'--build_type\',\n+        help=\'CMake build type [Debug, Release, RelWithDebInfo, MinSizeRel]\',\n+        default=conf["build_type"],\n+        dest="build_type")\n+    parser.add_argument(\n+        \'--dst_app\',\n+        help=\'Directory where universal binary will be stored\',\n+        default=conf["dst_app"])\n+\n+    parser.add_argument(\n+        \'--entitlements\',\n+        help=\'Path to .entitlements file for code signing\',\n+        default=conf["entitlements"])\n+\n+    parser.add_argument(\n+        \'--codesign\',\n+        help=\'Code signing identity to use to sign the applications\',\n+        default=conf["codesign_identity"],\n+        dest="codesign_identity")\n+\n+    for arch in ARCHITECTURES:\n+        parser.add_argument(\n+             \'--{}_cmake_prefix\'.format(arch),\n+             help="Folder for cmake to search for packages".format(arch),\n+             default=conf[arch+"_cmake_prefix"],\n+             dest=arch+"_cmake_prefix")\n+\n+        parser.add_argument(\n+             \'--{}_qt5_path\'.format(arch),', 'user': {'organizations_url': 'https://api.github.com/users/leoetlino/orgs', 'repos_url': 'https://api.github.com/users/leoetlino/repos', 'html_url': 'https://github.com/leoetlino', 'url': 'https://api.github.com/users/leoetlino', 'node_id': 'MDQ6VXNlcjQyMDkwNjE=', 'avatar_url': 'https://avatars.githubusercontent.com/u/4209061?v=4', 'followers_url': 'https://api.github.com/users/leoetlino/followers', 'received_events_url': 'https://api.github.com/users/leoetlino/received_events', 'events_url': 'https://api.github.com/users/leoetlino/events{/privacy}', 'gists_url': 'https://api.github.com/users/leoetlino/gists{/gist_id}', 'following_url': 'https://api.github.com/users/leoetlino/following{/other_user}', 'gravatar_id': '', 'login': 'leoetlino', 'subscriptions_url': 'https://api.github.com/users/leoetlino/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/leoetlino/starred{/owner}{/repo}', 'id': 4209061}, 'node_id': 'MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDYzMjUzMjA2MA==', 'id': 632532060}, {'position': 132, 'commit_id': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9441#discussion_r632532093', 'created_at': '2021-05-14T13:35:42Z', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/632532093', 'original_position': 132, 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441', '_links': {'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/9441#discussion_r632532093'}, 'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/632532093'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441'}}, 'pull_request_review_id': 659840266, 'original_commit_id': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'path': 'BuildMacOSUniversalBinary.py', 'updated_at': '2021-05-14T13:59:03Z', 'body': 'f-string', 'author_association': 'MEMBER', 'diff_hunk': '@@ -0,0 +1,299 @@\n+#!/usr/bin/env python3\n+"""\n+The current tooling supported in CMake, Homebrew, and QT5 are inufficient for\n+creating MacOSX universal binaries automatically for applications like Dolphin\n+which have more complicated build requirements (like different libraries, build\n+flags and source files for each target architecture).\n+\n+So instead, this script manages the configuration and compilation of distinct\n+builds and project files for each target architecture and then merges the two\n+binaries into a single universal binary.\n+\n+Running this script will:\n+1) Generate Xcode project files for the ARM build (if project files don\'t\n+   already exist)\n+2) Generate Xcode project files for the x64 build (if project files don\'t\n+   already exist)\n+3) Build the ARM project for the selected build_target\n+4) Build the x64 project for the selected build_target\n+5) Generates universal .app packages combining the ARM and x64 packages\n+6) Utilizes the lipo tool to combine the binary objects inside each of the\n+   packages into universal binaries\n+7) Code signs the final universal binaries using the specified\n+   codesign_identity\n+"""\n+\n+import argparse\n+import filecmp\n+import glob\n+import json\n+import multiprocessing\n+import os\n+import shutil\n+import subprocess\n+\n+# The config variables listed below are the defaults, but they can be\n+# overridden by command line arguments see parse_args(), or run:\n+# BuildMacOSUniversalBinary.py --help\n+DEFAULT_CONFIG = {\n+\n+    # Location of destination universal binary\n+    "dst_app": "universal/",\n+    # Build Target (dolphin-emu to just build the emulator and skip the tests)\n+    "build_target": "ALL_BUILD",\n+\n+    # Location for CMake to search for files(default is for homebrew\n+    "arm64_cmake_prefix":  \'/opt/homebrew\',\n+    "x86_64_cmake_prefix": \'/usr/local\',\n+\n+    # Locations to qt5 directories for arm and x64 libraries\n+    # The default values of these paths are taken from the default\n+    # paths used for homebrew\n+    "arm64_qt5_path":  \'/opt/homebrew/opt/qt5\',\n+    "x86_64_qt5_path": \'/usr/local/opt/qt5\',\n+\n+    # Identity to use for code signing. "-" indicates that the app will not\n+    # be cryptographically signed/notarized but will instead just use a\n+    # SHA checksum to verify the integrity of the app. This doesn\'t\n+    # protect against malicious actors, but it does protect against\n+    # running corrupted binaries and allows for access to the extended\n+    # permisions needed for ARM builds\n+    "codesign_identity":  \'-\',\n+    # Entitlements file to use for code signing\n+    "entitlements": "../Source/Core/DolphinQt/DolphinEmu.entitlements",\n+\n+    # Minimum macOS version for each architecture slice\n+    "arm64_mac_os_deployment_target":  "11.0.0",\n+    "x86_64_mac_os_deployment_target": "10.12.0",\n+\n+    # CMake Generator to use for building\n+    "generator": "Unix Makefiles",\n+    "build_type": "Release"\n+\n+}\n+\n+# Architectures to build for. This is explicity left out of the command line\n+# config options for several reasons:\n+# 1) Adding new architectures will generally require more code changes\n+# 2) Single architecture builds should utilize the normal generated cmake\n+#    project files rather than this wrapper script\n+\n+ARCHITECTURES = ["x86_64", "arm64"]\n+\n+\n+def parse_args(conf=DEFAULT_CONFIG):\n+    """\n+    Parses the command line arguments into a config dictionary.\n+    """\n+\n+    parser = argparse.ArgumentParser(\n+        formatter_class=argparse.ArgumentDefaultsHelpFormatter)\n+\n+    parser.add_argument(\n+        \'--target\',\n+        help=\'Build target in generated project files\',\n+        default=conf["build_target"],\n+        dest="build_target")\n+    parser.add_argument(\n+        \'-G\',\n+        help=\'CMake Generator to use for creating project files\',\n+        default=conf["generator"],\n+        dest="generator")\n+    parser.add_argument(\n+        \'--build_type\',\n+        help=\'CMake build type [Debug, Release, RelWithDebInfo, MinSizeRel]\',\n+        default=conf["build_type"],\n+        dest="build_type")\n+    parser.add_argument(\n+        \'--dst_app\',\n+        help=\'Directory where universal binary will be stored\',\n+        default=conf["dst_app"])\n+\n+    parser.add_argument(\n+        \'--entitlements\',\n+        help=\'Path to .entitlements file for code signing\',\n+        default=conf["entitlements"])\n+\n+    parser.add_argument(\n+        \'--codesign\',\n+        help=\'Code signing identity to use to sign the applications\',\n+        default=conf["codesign_identity"],\n+        dest="codesign_identity")\n+\n+    for arch in ARCHITECTURES:\n+        parser.add_argument(\n+             \'--{}_cmake_prefix\'.format(arch),\n+             help="Folder for cmake to search for packages".format(arch),\n+             default=conf[arch+"_cmake_prefix"],\n+             dest=arch+"_cmake_prefix")\n+\n+        parser.add_argument(\n+             \'--{}_qt5_path\'.format(arch),\n+             help="Install path for {} qt5 libraries".format(arch),', 'user': {'organizations_url': 'https://api.github.com/users/leoetlino/orgs', 'repos_url': 'https://api.github.com/users/leoetlino/repos', 'html_url': 'https://github.com/leoetlino', 'url': 'https://api.github.com/users/leoetlino', 'node_id': 'MDQ6VXNlcjQyMDkwNjE=', 'avatar_url': 'https://avatars.githubusercontent.com/u/4209061?v=4', 'followers_url': 'https://api.github.com/users/leoetlino/followers', 'received_events_url': 'https://api.github.com/users/leoetlino/received_events', 'events_url': 'https://api.github.com/users/leoetlino/events{/privacy}', 'gists_url': 'https://api.github.com/users/leoetlino/gists{/gist_id}', 'following_url': 'https://api.github.com/users/leoetlino/following{/other_user}', 'gravatar_id': '', 'login': 'leoetlino', 'subscriptions_url': 'https://api.github.com/users/leoetlino/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/leoetlino/starred{/owner}{/repo}', 'id': 4209061}, 'node_id': 'MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDYzMjUzMjA5Mw==', 'id': 632532093}, {'position': 136, 'commit_id': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9441#discussion_r632532175', 'created_at': '2021-05-14T13:35:50Z', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/632532175', 'original_position': 136, 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441', '_links': {'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/9441#discussion_r632532175'}, 'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/632532175'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441'}}, 'pull_request_review_id': 659840266, 'original_commit_id': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'path': 'BuildMacOSUniversalBinary.py', 'updated_at': '2021-05-14T13:59:03Z', 'body': 'f-string', 'author_association': 'MEMBER', 'diff_hunk': '@@ -0,0 +1,299 @@\n+#!/usr/bin/env python3\n+"""\n+The current tooling supported in CMake, Homebrew, and QT5 are inufficient for\n+creating MacOSX universal binaries automatically for applications like Dolphin\n+which have more complicated build requirements (like different libraries, build\n+flags and source files for each target architecture).\n+\n+So instead, this script manages the configuration and compilation of distinct\n+builds and project files for each target architecture and then merges the two\n+binaries into a single universal binary.\n+\n+Running this script will:\n+1) Generate Xcode project files for the ARM build (if project files don\'t\n+   already exist)\n+2) Generate Xcode project files for the x64 build (if project files don\'t\n+   already exist)\n+3) Build the ARM project for the selected build_target\n+4) Build the x64 project for the selected build_target\n+5) Generates universal .app packages combining the ARM and x64 packages\n+6) Utilizes the lipo tool to combine the binary objects inside each of the\n+   packages into universal binaries\n+7) Code signs the final universal binaries using the specified\n+   codesign_identity\n+"""\n+\n+import argparse\n+import filecmp\n+import glob\n+import json\n+import multiprocessing\n+import os\n+import shutil\n+import subprocess\n+\n+# The config variables listed below are the defaults, but they can be\n+# overridden by command line arguments see parse_args(), or run:\n+# BuildMacOSUniversalBinary.py --help\n+DEFAULT_CONFIG = {\n+\n+    # Location of destination universal binary\n+    "dst_app": "universal/",\n+    # Build Target (dolphin-emu to just build the emulator and skip the tests)\n+    "build_target": "ALL_BUILD",\n+\n+    # Location for CMake to search for files(default is for homebrew\n+    "arm64_cmake_prefix":  \'/opt/homebrew\',\n+    "x86_64_cmake_prefix": \'/usr/local\',\n+\n+    # Locations to qt5 directories for arm and x64 libraries\n+    # The default values of these paths are taken from the default\n+    # paths used for homebrew\n+    "arm64_qt5_path":  \'/opt/homebrew/opt/qt5\',\n+    "x86_64_qt5_path": \'/usr/local/opt/qt5\',\n+\n+    # Identity to use for code signing. "-" indicates that the app will not\n+    # be cryptographically signed/notarized but will instead just use a\n+    # SHA checksum to verify the integrity of the app. This doesn\'t\n+    # protect against malicious actors, but it does protect against\n+    # running corrupted binaries and allows for access to the extended\n+    # permisions needed for ARM builds\n+    "codesign_identity":  \'-\',\n+    # Entitlements file to use for code signing\n+    "entitlements": "../Source/Core/DolphinQt/DolphinEmu.entitlements",\n+\n+    # Minimum macOS version for each architecture slice\n+    "arm64_mac_os_deployment_target":  "11.0.0",\n+    "x86_64_mac_os_deployment_target": "10.12.0",\n+\n+    # CMake Generator to use for building\n+    "generator": "Unix Makefiles",\n+    "build_type": "Release"\n+\n+}\n+\n+# Architectures to build for. This is explicity left out of the command line\n+# config options for several reasons:\n+# 1) Adding new architectures will generally require more code changes\n+# 2) Single architecture builds should utilize the normal generated cmake\n+#    project files rather than this wrapper script\n+\n+ARCHITECTURES = ["x86_64", "arm64"]\n+\n+\n+def parse_args(conf=DEFAULT_CONFIG):\n+    """\n+    Parses the command line arguments into a config dictionary.\n+    """\n+\n+    parser = argparse.ArgumentParser(\n+        formatter_class=argparse.ArgumentDefaultsHelpFormatter)\n+\n+    parser.add_argument(\n+        \'--target\',\n+        help=\'Build target in generated project files\',\n+        default=conf["build_target"],\n+        dest="build_target")\n+    parser.add_argument(\n+        \'-G\',\n+        help=\'CMake Generator to use for creating project files\',\n+        default=conf["generator"],\n+        dest="generator")\n+    parser.add_argument(\n+        \'--build_type\',\n+        help=\'CMake build type [Debug, Release, RelWithDebInfo, MinSizeRel]\',\n+        default=conf["build_type"],\n+        dest="build_type")\n+    parser.add_argument(\n+        \'--dst_app\',\n+        help=\'Directory where universal binary will be stored\',\n+        default=conf["dst_app"])\n+\n+    parser.add_argument(\n+        \'--entitlements\',\n+        help=\'Path to .entitlements file for code signing\',\n+        default=conf["entitlements"])\n+\n+    parser.add_argument(\n+        \'--codesign\',\n+        help=\'Code signing identity to use to sign the applications\',\n+        default=conf["codesign_identity"],\n+        dest="codesign_identity")\n+\n+    for arch in ARCHITECTURES:\n+        parser.add_argument(\n+             \'--{}_cmake_prefix\'.format(arch),\n+             help="Folder for cmake to search for packages".format(arch),\n+             default=conf[arch+"_cmake_prefix"],\n+             dest=arch+"_cmake_prefix")\n+\n+        parser.add_argument(\n+             \'--{}_qt5_path\'.format(arch),\n+             help="Install path for {} qt5 libraries".format(arch),\n+             default=conf[arch+"_qt5_path"])\n+\n+        parser.add_argument(\n+             \'--{}_mac_os_deployment_target\'.format(arch),', 'user': {'organizations_url': 'https://api.github.com/users/leoetlino/orgs', 'repos_url': 'https://api.github.com/users/leoetlino/repos', 'html_url': 'https://github.com/leoetlino', 'url': 'https://api.github.com/users/leoetlino', 'node_id': 'MDQ6VXNlcjQyMDkwNjE=', 'avatar_url': 'https://avatars.githubusercontent.com/u/4209061?v=4', 'followers_url': 'https://api.github.com/users/leoetlino/followers', 'received_events_url': 'https://api.github.com/users/leoetlino/received_events', 'events_url': 'https://api.github.com/users/leoetlino/events{/privacy}', 'gists_url': 'https://api.github.com/users/leoetlino/gists{/gist_id}', 'following_url': 'https://api.github.com/users/leoetlino/following{/other_user}', 'gravatar_id': '', 'login': 'leoetlino', 'subscriptions_url': 'https://api.github.com/users/leoetlino/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/leoetlino/starred{/owner}{/repo}', 'id': 4209061}, 'node_id': 'MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDYzMjUzMjE3NQ==', 'id': 632532175}, {'position': 137, 'commit_id': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9441#discussion_r632532258', 'created_at': '2021-05-14T13:35:55Z', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/632532258', 'original_position': 137, 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441', '_links': {'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/9441#discussion_r632532258'}, 'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/632532258'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441'}}, 'pull_request_review_id': 659840266, 'original_commit_id': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'path': 'BuildMacOSUniversalBinary.py', 'updated_at': '2021-05-14T13:59:03Z', 'body': 'f-string', 'author_association': 'MEMBER', 'diff_hunk': '@@ -0,0 +1,299 @@\n+#!/usr/bin/env python3\n+"""\n+The current tooling supported in CMake, Homebrew, and QT5 are inufficient for\n+creating MacOSX universal binaries automatically for applications like Dolphin\n+which have more complicated build requirements (like different libraries, build\n+flags and source files for each target architecture).\n+\n+So instead, this script manages the configuration and compilation of distinct\n+builds and project files for each target architecture and then merges the two\n+binaries into a single universal binary.\n+\n+Running this script will:\n+1) Generate Xcode project files for the ARM build (if project files don\'t\n+   already exist)\n+2) Generate Xcode project files for the x64 build (if project files don\'t\n+   already exist)\n+3) Build the ARM project for the selected build_target\n+4) Build the x64 project for the selected build_target\n+5) Generates universal .app packages combining the ARM and x64 packages\n+6) Utilizes the lipo tool to combine the binary objects inside each of the\n+   packages into universal binaries\n+7) Code signs the final universal binaries using the specified\n+   codesign_identity\n+"""\n+\n+import argparse\n+import filecmp\n+import glob\n+import json\n+import multiprocessing\n+import os\n+import shutil\n+import subprocess\n+\n+# The config variables listed below are the defaults, but they can be\n+# overridden by command line arguments see parse_args(), or run:\n+# BuildMacOSUniversalBinary.py --help\n+DEFAULT_CONFIG = {\n+\n+    # Location of destination universal binary\n+    "dst_app": "universal/",\n+    # Build Target (dolphin-emu to just build the emulator and skip the tests)\n+    "build_target": "ALL_BUILD",\n+\n+    # Location for CMake to search for files(default is for homebrew\n+    "arm64_cmake_prefix":  \'/opt/homebrew\',\n+    "x86_64_cmake_prefix": \'/usr/local\',\n+\n+    # Locations to qt5 directories for arm and x64 libraries\n+    # The default values of these paths are taken from the default\n+    # paths used for homebrew\n+    "arm64_qt5_path":  \'/opt/homebrew/opt/qt5\',\n+    "x86_64_qt5_path": \'/usr/local/opt/qt5\',\n+\n+    # Identity to use for code signing. "-" indicates that the app will not\n+    # be cryptographically signed/notarized but will instead just use a\n+    # SHA checksum to verify the integrity of the app. This doesn\'t\n+    # protect against malicious actors, but it does protect against\n+    # running corrupted binaries and allows for access to the extended\n+    # permisions needed for ARM builds\n+    "codesign_identity":  \'-\',\n+    # Entitlements file to use for code signing\n+    "entitlements": "../Source/Core/DolphinQt/DolphinEmu.entitlements",\n+\n+    # Minimum macOS version for each architecture slice\n+    "arm64_mac_os_deployment_target":  "11.0.0",\n+    "x86_64_mac_os_deployment_target": "10.12.0",\n+\n+    # CMake Generator to use for building\n+    "generator": "Unix Makefiles",\n+    "build_type": "Release"\n+\n+}\n+\n+# Architectures to build for. This is explicity left out of the command line\n+# config options for several reasons:\n+# 1) Adding new architectures will generally require more code changes\n+# 2) Single architecture builds should utilize the normal generated cmake\n+#    project files rather than this wrapper script\n+\n+ARCHITECTURES = ["x86_64", "arm64"]\n+\n+\n+def parse_args(conf=DEFAULT_CONFIG):\n+    """\n+    Parses the command line arguments into a config dictionary.\n+    """\n+\n+    parser = argparse.ArgumentParser(\n+        formatter_class=argparse.ArgumentDefaultsHelpFormatter)\n+\n+    parser.add_argument(\n+        \'--target\',\n+        help=\'Build target in generated project files\',\n+        default=conf["build_target"],\n+        dest="build_target")\n+    parser.add_argument(\n+        \'-G\',\n+        help=\'CMake Generator to use for creating project files\',\n+        default=conf["generator"],\n+        dest="generator")\n+    parser.add_argument(\n+        \'--build_type\',\n+        help=\'CMake build type [Debug, Release, RelWithDebInfo, MinSizeRel]\',\n+        default=conf["build_type"],\n+        dest="build_type")\n+    parser.add_argument(\n+        \'--dst_app\',\n+        help=\'Directory where universal binary will be stored\',\n+        default=conf["dst_app"])\n+\n+    parser.add_argument(\n+        \'--entitlements\',\n+        help=\'Path to .entitlements file for code signing\',\n+        default=conf["entitlements"])\n+\n+    parser.add_argument(\n+        \'--codesign\',\n+        help=\'Code signing identity to use to sign the applications\',\n+        default=conf["codesign_identity"],\n+        dest="codesign_identity")\n+\n+    for arch in ARCHITECTURES:\n+        parser.add_argument(\n+             \'--{}_cmake_prefix\'.format(arch),\n+             help="Folder for cmake to search for packages".format(arch),\n+             default=conf[arch+"_cmake_prefix"],\n+             dest=arch+"_cmake_prefix")\n+\n+        parser.add_argument(\n+             \'--{}_qt5_path\'.format(arch),\n+             help="Install path for {} qt5 libraries".format(arch),\n+             default=conf[arch+"_qt5_path"])\n+\n+        parser.add_argument(\n+             \'--{}_mac_os_deployment_target\'.format(arch),\n+             help="Deployment architecture for {} slice".format(arch),', 'user': {'organizations_url': 'https://api.github.com/users/leoetlino/orgs', 'repos_url': 'https://api.github.com/users/leoetlino/repos', 'html_url': 'https://github.com/leoetlino', 'url': 'https://api.github.com/users/leoetlino', 'node_id': 'MDQ6VXNlcjQyMDkwNjE=', 'avatar_url': 'https://avatars.githubusercontent.com/u/4209061?v=4', 'followers_url': 'https://api.github.com/users/leoetlino/followers', 'received_events_url': 'https://api.github.com/users/leoetlino/received_events', 'events_url': 'https://api.github.com/users/leoetlino/events{/privacy}', 'gists_url': 'https://api.github.com/users/leoetlino/gists{/gist_id}', 'following_url': 'https://api.github.com/users/leoetlino/following{/other_user}', 'gravatar_id': '', 'login': 'leoetlino', 'subscriptions_url': 'https://api.github.com/users/leoetlino/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/leoetlino/starred{/owner}{/repo}', 'id': 4209061}, 'node_id': 'MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDYzMjUzMjI1OA==', 'id': 632532258}, {'position': 151, 'commit_id': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9441#discussion_r632533472', 'created_at': '2021-05-14T13:37:46Z', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/632533472', 'original_position': 151, 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441', '_links': {'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/9441#discussion_r632533472'}, 'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/632533472'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441'}}, 'pull_request_review_id': 659840266, 'original_commit_id': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'path': 'BuildMacOSUniversalBinary.py', 'updated_at': '2021-05-14T13:59:03Z', 'body': '```suggestion\r\ndef recursive_merge_binaries(src0, src1, dst):\r\n```', 'author_association': 'MEMBER', 'diff_hunk': '@@ -0,0 +1,299 @@\n+#!/usr/bin/env python3\n+"""\n+The current tooling supported in CMake, Homebrew, and QT5 are inufficient for\n+creating MacOSX universal binaries automatically for applications like Dolphin\n+which have more complicated build requirements (like different libraries, build\n+flags and source files for each target architecture).\n+\n+So instead, this script manages the configuration and compilation of distinct\n+builds and project files for each target architecture and then merges the two\n+binaries into a single universal binary.\n+\n+Running this script will:\n+1) Generate Xcode project files for the ARM build (if project files don\'t\n+   already exist)\n+2) Generate Xcode project files for the x64 build (if project files don\'t\n+   already exist)\n+3) Build the ARM project for the selected build_target\n+4) Build the x64 project for the selected build_target\n+5) Generates universal .app packages combining the ARM and x64 packages\n+6) Utilizes the lipo tool to combine the binary objects inside each of the\n+   packages into universal binaries\n+7) Code signs the final universal binaries using the specified\n+   codesign_identity\n+"""\n+\n+import argparse\n+import filecmp\n+import glob\n+import json\n+import multiprocessing\n+import os\n+import shutil\n+import subprocess\n+\n+# The config variables listed below are the defaults, but they can be\n+# overridden by command line arguments see parse_args(), or run:\n+# BuildMacOSUniversalBinary.py --help\n+DEFAULT_CONFIG = {\n+\n+    # Location of destination universal binary\n+    "dst_app": "universal/",\n+    # Build Target (dolphin-emu to just build the emulator and skip the tests)\n+    "build_target": "ALL_BUILD",\n+\n+    # Location for CMake to search for files(default is for homebrew\n+    "arm64_cmake_prefix":  \'/opt/homebrew\',\n+    "x86_64_cmake_prefix": \'/usr/local\',\n+\n+    # Locations to qt5 directories for arm and x64 libraries\n+    # The default values of these paths are taken from the default\n+    # paths used for homebrew\n+    "arm64_qt5_path":  \'/opt/homebrew/opt/qt5\',\n+    "x86_64_qt5_path": \'/usr/local/opt/qt5\',\n+\n+    # Identity to use for code signing. "-" indicates that the app will not\n+    # be cryptographically signed/notarized but will instead just use a\n+    # SHA checksum to verify the integrity of the app. This doesn\'t\n+    # protect against malicious actors, but it does protect against\n+    # running corrupted binaries and allows for access to the extended\n+    # permisions needed for ARM builds\n+    "codesign_identity":  \'-\',\n+    # Entitlements file to use for code signing\n+    "entitlements": "../Source/Core/DolphinQt/DolphinEmu.entitlements",\n+\n+    # Minimum macOS version for each architecture slice\n+    "arm64_mac_os_deployment_target":  "11.0.0",\n+    "x86_64_mac_os_deployment_target": "10.12.0",\n+\n+    # CMake Generator to use for building\n+    "generator": "Unix Makefiles",\n+    "build_type": "Release"\n+\n+}\n+\n+# Architectures to build for. This is explicity left out of the command line\n+# config options for several reasons:\n+# 1) Adding new architectures will generally require more code changes\n+# 2) Single architecture builds should utilize the normal generated cmake\n+#    project files rather than this wrapper script\n+\n+ARCHITECTURES = ["x86_64", "arm64"]\n+\n+\n+def parse_args(conf=DEFAULT_CONFIG):\n+    """\n+    Parses the command line arguments into a config dictionary.\n+    """\n+\n+    parser = argparse.ArgumentParser(\n+        formatter_class=argparse.ArgumentDefaultsHelpFormatter)\n+\n+    parser.add_argument(\n+        \'--target\',\n+        help=\'Build target in generated project files\',\n+        default=conf["build_target"],\n+        dest="build_target")\n+    parser.add_argument(\n+        \'-G\',\n+        help=\'CMake Generator to use for creating project files\',\n+        default=conf["generator"],\n+        dest="generator")\n+    parser.add_argument(\n+        \'--build_type\',\n+        help=\'CMake build type [Debug, Release, RelWithDebInfo, MinSizeRel]\',\n+        default=conf["build_type"],\n+        dest="build_type")\n+    parser.add_argument(\n+        \'--dst_app\',\n+        help=\'Directory where universal binary will be stored\',\n+        default=conf["dst_app"])\n+\n+    parser.add_argument(\n+        \'--entitlements\',\n+        help=\'Path to .entitlements file for code signing\',\n+        default=conf["entitlements"])\n+\n+    parser.add_argument(\n+        \'--codesign\',\n+        help=\'Code signing identity to use to sign the applications\',\n+        default=conf["codesign_identity"],\n+        dest="codesign_identity")\n+\n+    for arch in ARCHITECTURES:\n+        parser.add_argument(\n+             \'--{}_cmake_prefix\'.format(arch),\n+             help="Folder for cmake to search for packages".format(arch),\n+             default=conf[arch+"_cmake_prefix"],\n+             dest=arch+"_cmake_prefix")\n+\n+        parser.add_argument(\n+             \'--{}_qt5_path\'.format(arch),\n+             help="Install path for {} qt5 libraries".format(arch),\n+             default=conf[arch+"_qt5_path"])\n+\n+        parser.add_argument(\n+             \'--{}_mac_os_deployment_target\'.format(arch),\n+             help="Deployment architecture for {} slice".format(arch),\n+             default=conf[arch+"_mac_os_deployment_target"])\n+\n+    return vars(parser.parse_args())\n+\n+\n+def lipo(path0, path1, dst):\n+    if subprocess.call([\'lipo\', \'-create\', \'-output\', dst, path0, path1]) != 0:\n+        print("WARNING: {0} and {1} can not be lipo\'d, keeping {0}"\n+              .format(path0, path1))\n+\n+        shutil.copy(path0, dst)\n+\n+\n+def recursiveMergeBinaries(src0, src1, dst):', 'user': {'organizations_url': 'https://api.github.com/users/leoetlino/orgs', 'repos_url': 'https://api.github.com/users/leoetlino/repos', 'html_url': 'https://github.com/leoetlino', 'url': 'https://api.github.com/users/leoetlino', 'node_id': 'MDQ6VXNlcjQyMDkwNjE=', 'avatar_url': 'https://avatars.githubusercontent.com/u/4209061?v=4', 'followers_url': 'https://api.github.com/users/leoetlino/followers', 'received_events_url': 'https://api.github.com/users/leoetlino/received_events', 'events_url': 'https://api.github.com/users/leoetlino/events{/privacy}', 'gists_url': 'https://api.github.com/users/leoetlino/gists{/gist_id}', 'following_url': 'https://api.github.com/users/leoetlino/following{/other_user}', 'gravatar_id': '', 'login': 'leoetlino', 'subscriptions_url': 'https://api.github.com/users/leoetlino/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/leoetlino/starred{/owner}{/repo}', 'id': 4209061}, 'node_id': 'MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDYzMjUzMzQ3Mg==', 'id': 632533472}, {'position': 279, 'commit_id': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9441#discussion_r632536292', 'created_at': '2021-05-14T13:42:08Z', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/632536292', 'original_position': 279, 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441', '_links': {'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/9441#discussion_r632536292'}, 'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/632536292'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441'}}, 'pull_request_review_id': 659840266, 'original_commit_id': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'path': 'BuildMacOSUniversalBinary.py', 'updated_at': '2021-05-14T13:59:03Z', 'body': 'pathlib can be used to make path manipulations a lot nicer. (Just a FYI since the code has already been written and tested.)', 'author_association': 'MEMBER', 'diff_hunk': '@@ -0,0 +1,299 @@\n+#!/usr/bin/env python3\n+"""\n+The current tooling supported in CMake, Homebrew, and QT5 are inufficient for\n+creating MacOSX universal binaries automatically for applications like Dolphin\n+which have more complicated build requirements (like different libraries, build\n+flags and source files for each target architecture).\n+\n+So instead, this script manages the configuration and compilation of distinct\n+builds and project files for each target architecture and then merges the two\n+binaries into a single universal binary.\n+\n+Running this script will:\n+1) Generate Xcode project files for the ARM build (if project files don\'t\n+   already exist)\n+2) Generate Xcode project files for the x64 build (if project files don\'t\n+   already exist)\n+3) Build the ARM project for the selected build_target\n+4) Build the x64 project for the selected build_target\n+5) Generates universal .app packages combining the ARM and x64 packages\n+6) Utilizes the lipo tool to combine the binary objects inside each of the\n+   packages into universal binaries\n+7) Code signs the final universal binaries using the specified\n+   codesign_identity\n+"""\n+\n+import argparse\n+import filecmp\n+import glob\n+import json\n+import multiprocessing\n+import os\n+import shutil\n+import subprocess\n+\n+# The config variables listed below are the defaults, but they can be\n+# overridden by command line arguments see parse_args(), or run:\n+# BuildMacOSUniversalBinary.py --help\n+DEFAULT_CONFIG = {\n+\n+    # Location of destination universal binary\n+    "dst_app": "universal/",\n+    # Build Target (dolphin-emu to just build the emulator and skip the tests)\n+    "build_target": "ALL_BUILD",\n+\n+    # Location for CMake to search for files(default is for homebrew\n+    "arm64_cmake_prefix":  \'/opt/homebrew\',\n+    "x86_64_cmake_prefix": \'/usr/local\',\n+\n+    # Locations to qt5 directories for arm and x64 libraries\n+    # The default values of these paths are taken from the default\n+    # paths used for homebrew\n+    "arm64_qt5_path":  \'/opt/homebrew/opt/qt5\',\n+    "x86_64_qt5_path": \'/usr/local/opt/qt5\',\n+\n+    # Identity to use for code signing. "-" indicates that the app will not\n+    # be cryptographically signed/notarized but will instead just use a\n+    # SHA checksum to verify the integrity of the app. This doesn\'t\n+    # protect against malicious actors, but it does protect against\n+    # running corrupted binaries and allows for access to the extended\n+    # permisions needed for ARM builds\n+    "codesign_identity":  \'-\',\n+    # Entitlements file to use for code signing\n+    "entitlements": "../Source/Core/DolphinQt/DolphinEmu.entitlements",\n+\n+    # Minimum macOS version for each architecture slice\n+    "arm64_mac_os_deployment_target":  "11.0.0",\n+    "x86_64_mac_os_deployment_target": "10.12.0",\n+\n+    # CMake Generator to use for building\n+    "generator": "Unix Makefiles",\n+    "build_type": "Release"\n+\n+}\n+\n+# Architectures to build for. This is explicity left out of the command line\n+# config options for several reasons:\n+# 1) Adding new architectures will generally require more code changes\n+# 2) Single architecture builds should utilize the normal generated cmake\n+#    project files rather than this wrapper script\n+\n+ARCHITECTURES = ["x86_64", "arm64"]\n+\n+\n+def parse_args(conf=DEFAULT_CONFIG):\n+    """\n+    Parses the command line arguments into a config dictionary.\n+    """\n+\n+    parser = argparse.ArgumentParser(\n+        formatter_class=argparse.ArgumentDefaultsHelpFormatter)\n+\n+    parser.add_argument(\n+        \'--target\',\n+        help=\'Build target in generated project files\',\n+        default=conf["build_target"],\n+        dest="build_target")\n+    parser.add_argument(\n+        \'-G\',\n+        help=\'CMake Generator to use for creating project files\',\n+        default=conf["generator"],\n+        dest="generator")\n+    parser.add_argument(\n+        \'--build_type\',\n+        help=\'CMake build type [Debug, Release, RelWithDebInfo, MinSizeRel]\',\n+        default=conf["build_type"],\n+        dest="build_type")\n+    parser.add_argument(\n+        \'--dst_app\',\n+        help=\'Directory where universal binary will be stored\',\n+        default=conf["dst_app"])\n+\n+    parser.add_argument(\n+        \'--entitlements\',\n+        help=\'Path to .entitlements file for code signing\',\n+        default=conf["entitlements"])\n+\n+    parser.add_argument(\n+        \'--codesign\',\n+        help=\'Code signing identity to use to sign the applications\',\n+        default=conf["codesign_identity"],\n+        dest="codesign_identity")\n+\n+    for arch in ARCHITECTURES:\n+        parser.add_argument(\n+             \'--{}_cmake_prefix\'.format(arch),\n+             help="Folder for cmake to search for packages".format(arch),\n+             default=conf[arch+"_cmake_prefix"],\n+             dest=arch+"_cmake_prefix")\n+\n+        parser.add_argument(\n+             \'--{}_qt5_path\'.format(arch),\n+             help="Install path for {} qt5 libraries".format(arch),\n+             default=conf[arch+"_qt5_path"])\n+\n+        parser.add_argument(\n+             \'--{}_mac_os_deployment_target\'.format(arch),\n+             help="Deployment architecture for {} slice".format(arch),\n+             default=conf[arch+"_mac_os_deployment_target"])\n+\n+    return vars(parser.parse_args())\n+\n+\n+def lipo(path0, path1, dst):\n+    if subprocess.call([\'lipo\', \'-create\', \'-output\', dst, path0, path1]) != 0:\n+        print("WARNING: {0} and {1} can not be lipo\'d, keeping {0}"\n+              .format(path0, path1))\n+\n+        shutil.copy(path0, dst)\n+\n+\n+def recursiveMergeBinaries(src0, src1, dst):\n+    """\n+    Merges two build trees together for different architectures into a single\n+    universal binary.\n+\n+    The rules for merging are:\n+\n+    1) Files that exist in either src tree are copied into the dst tree\n+    2) Files that exist in both trees and are identical are copied over\n+       unmodified\n+    3) Files that exist in both trees and are non-identical are lipo\'d\n+    4) Symlinks are created in the destination tree to mirror the hierarchy in\n+       the source trees\n+    """\n+\n+    for newpath0 in glob.glob(src0+"/*"):\n+        filename = os.path.basename(newpath0)\n+        newpath1 = os.path.join(src1, filename)\n+        new_dst_path = os.path.join(dst, filename)\n+        if os.path.islink(newpath0):\n+            # Symlinks will be fixed after files are resolved\n+            continue\n+\n+        if not os.path.exists(newpath1):\n+            shutil.copy(newpath0, new_dst_path)\n+            continue\n+\n+        if os.path.isdir(newpath1):\n+            os.mkdir(new_dst_path)\n+            recursiveMergeBinaries(newpath0, newpath1, new_dst_path)\n+            continue\n+\n+        if filecmp.cmp(newpath0, newpath1):\n+            shutil.copy(newpath0, new_dst_path)\n+        else:\n+            lipo(newpath0, newpath1, new_dst_path)\n+\n+    # Loop over files in src1 and copy missing things over to dst\n+    for newpath1 in glob.glob(src1+"/*"):\n+        filename = os.path.basename(newpath1)\n+        newpath0 = os.path.join(src0, filename)\n+        new_dst_path = os.path.join(dst, filename)\n+        if (not os.path.exists(newpath0)) and (not os.path.islink(newpath1)):\n+            if os.path.isdir(newpath1):\n+                shutil.copytree(newpath1, new_dst_path)\n+            else:\n+                shutil.copy(newpath1, new_dst_path)\n+\n+    # Fix up symlinks for path0\n+    for newpath0 in glob.glob(src0+"/*"):\n+        filename = os.path.basename(newpath0)\n+        new_dst_path = os.path.join(dst, filename)\n+        if os.path.islink(newpath0):\n+            relative_path = os.path.relpath(os.path.realpath(newpath0), src0)\n+            os.symlink(relative_path, new_dst_path)\n+    # Fix up symlinks for path1\n+    for newpath1 in glob.glob(src1+"/*"):\n+        filename = os.path.basename(newpath1)\n+        new_dst_path = os.path.join(dst, filename)\n+        newpath0 = os.path.join(src0, filename)\n+        if os.path.islink(newpath1) and not os.path.exists(newpath0):\n+            relative_path = os.path.relpath(os.path.realpath(newpath1), src1)\n+            os.symlink(relative_path, new_dst_path)\n+\n+\n+def build(config):\n+    """\n+    Builds the project with the parameters specified in config.\n+    """\n+\n+    print("Building config:")\n+    print(json.dumps(config, indent=4))\n+\n+    # Configure and build single architecture builds for each architecture\n+    for arch in ARCHITECTURES:\n+        if not os.path.exists(arch):\n+            os.mkdir(arch)\n+\n+        env = os.environ.copy()\n+        env[\'Qt5_DIR\'] = config[arch+"_qt5_path"]\n+        env[\'CMAKE_OSX_ARCHITECTURES\'] = arch\n+        env[\'CMAKE_PREFIX_PATH\'] = config[arch+"_cmake_prefix"]\n+\n+        # Add the other architecture\'s prefix path to the ignore path so that\n+        # CMake doesn\'t try to pick up the wrong architecture\'s libraries when\n+        # cross compiling.\n+        ignore_path = ""\n+        for a in ARCHITECTURES:\n+            if a != arch:\n+                ignore_path = config[a+"_cmake_prefix"]\n+\n+        subprocess.check_call([\n+                \'cmake\', \'../../\', \'-G\', config[\'generator\'],\n+                \'-DCMAKE_BUILD_TYPE=\' + config[\'build_type\'],\n+                # System name needs to be specified for CMake to use\n+                # the specified CMAKE_SYSTEM_PROCESSOR\n+                \'-DCMAKE_SYSTEM_NAME=Darwin\',\n+                \'-DCMAKE_PREFIX_PATH=\'+config[arch+\'_cmake_prefix\'],\n+                \'-DCMAKE_SYSTEM_PROCESSOR=\'+arch,\n+                \'-DCMAKE_IGNORE_PATH=\'+ignore_path,\n+                \'-DCMAKE_OSX_DEPLOYMENT_TARGET=\'\n+                + config[arch+"_mac_os_deployment_target"],\n+                \'-DMACOS_CODE_SIGNING_IDENTITY=\'\n+                + config[\'codesign_identity\'],\n+                \'-DMACOS_CODE_SIGNING_IDENTITY_UPDATER=\'\n+                + config[\'codesign_identity\'],\n+                \'-DMACOS_CODE_SIGNING="ON"\'\n+            ],\n+            env=env, cwd=arch)\n+\n+        threads = multiprocessing.cpu_count()\n+        subprocess.check_call([\'cmake\', \'--build\', \'.\',\n+                               \'--config\', config[\'build_type\'],\n+                               \'--parallel\', \'{}\'.format(threads)], cwd=arch)\n+\n+    dst_app = config["dst_app"]\n+\n+    if os.path.exists(dst_app):\n+        shutil.rmtree(dst_app)\n+\n+    # Create and codesign the universal binary/\n+    os.mkdir(dst_app)\n+\n+    # Source binary trees to merge together\n+    src_app0 = ARCHITECTURES[0]+"/Binaries/"\n+    src_app1 = ARCHITECTURES[1]+"/Binaries/"\n+\n+    recursiveMergeBinaries(src_app0, src_app1, dst_app)\n+    for path in glob.glob(dst_app+"/*"):', 'user': {'organizations_url': 'https://api.github.com/users/leoetlino/orgs', 'repos_url': 'https://api.github.com/users/leoetlino/repos', 'html_url': 'https://github.com/leoetlino', 'url': 'https://api.github.com/users/leoetlino', 'node_id': 'MDQ6VXNlcjQyMDkwNjE=', 'avatar_url': 'https://avatars.githubusercontent.com/u/4209061?v=4', 'followers_url': 'https://api.github.com/users/leoetlino/followers', 'received_events_url': 'https://api.github.com/users/leoetlino/received_events', 'events_url': 'https://api.github.com/users/leoetlino/events{/privacy}', 'gists_url': 'https://api.github.com/users/leoetlino/gists{/gist_id}', 'following_url': 'https://api.github.com/users/leoetlino/following{/other_user}', 'gravatar_id': '', 'login': 'leoetlino', 'subscriptions_url': 'https://api.github.com/users/leoetlino/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/leoetlino/starred{/owner}{/repo}', 'id': 4209061}, 'node_id': 'MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDYzMjUzNjI5Mg==', 'id': 632536292}, {'position': 13, 'commit_id': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9441#discussion_r632539073', 'created_at': '2021-05-14T13:46:39Z', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/632539073', 'original_position': 13, 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441', '_links': {'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/9441#discussion_r632539073'}, 'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/632539073'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441'}}, 'pull_request_review_id': 659840266, 'original_commit_id': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'path': 'CMakeLists.txt', 'updated_at': '2021-05-14T13:59:03Z', 'body': '```suggestion\r\n# std::unique_ptr in the arm64 C++ standard library. x86_64 builds can override this to 10.12.0\r\n```\r\n\r\nor just refer to libc++ by name\r\n\r\n(STL was an implementation of the standard library, pre-standardisation)', 'author_association': 'MEMBER', 'diff_hunk': '@@ -2,13 +2,17 @@\n # General setup\n #\n cmake_minimum_required(VERSION 3.10)\n-set(CMAKE_OSX_ARCHITECTURES "x86_64")\n+\n # Minimum OS X version.\n # This is inserted into the Info.plist as well.\n \n-# MacOS prior to 10.12 did not fully support C++17, which is used to\n-# handle configuration options\n-set(CMAKE_OSX_DEPLOYMENT_TARGET "10.12.0" CACHE STRING "")\n+# MacOS prior to 10.14 did not support aligned alloc which is used to implement\n+# std::unique_ptr in the arm64 STL. x86_64 builds can override this to 10.12.0', 'user': {'organizations_url': 'https://api.github.com/users/leoetlino/orgs', 'repos_url': 'https://api.github.com/users/leoetlino/repos', 'html_url': 'https://github.com/leoetlino', 'url': 'https://api.github.com/users/leoetlino', 'node_id': 'MDQ6VXNlcjQyMDkwNjE=', 'avatar_url': 'https://avatars.githubusercontent.com/u/4209061?v=4', 'followers_url': 'https://api.github.com/users/leoetlino/followers', 'received_events_url': 'https://api.github.com/users/leoetlino/received_events', 'events_url': 'https://api.github.com/users/leoetlino/events{/privacy}', 'gists_url': 'https://api.github.com/users/leoetlino/gists{/gist_id}', 'following_url': 'https://api.github.com/users/leoetlino/following{/other_user}', 'gravatar_id': '', 'login': 'leoetlino', 'subscriptions_url': 'https://api.github.com/users/leoetlino/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/leoetlino/starred{/owner}{/repo}', 'id': 4209061}, 'node_id': 'MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDYzMjUzOTA3Mw==', 'id': 632539073}, {'position': 8, 'commit_id': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9441#discussion_r632543636', 'created_at': '2021-05-14T13:53:17Z', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/632543636', 'original_position': 8, 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441', '_links': {'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/9441#discussion_r632543636'}, 'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/632543636'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441'}}, 'pull_request_review_id': 659840266, 'original_commit_id': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'path': 'Source/Core/Core/DolphinAnalytics.cpp', 'updated_at': '2021-05-14T13:59:03Z', 'body': 'This should be undefined afterwards.', 'author_association': 'MEMBER', 'diff_hunk': '@@ -289,9 +289,15 @@ void DolphinAnalytics::MakeBaseBuilder()\n       s64 minor_version;  // NSInteger minorVersion\n       s64 patch_version;  // NSInteger patchVersion\n     };\n-\n+    // Under arm64, we need to call objc_msgSend to recieve a struct.\n+    // On x86_64, we need to explicitly call objc_msgSend_stret for a struct.\n+#if _M_ARM_64\n+#define msgSend objc_msgSend', 'user': {'organizations_url': 'https://api.github.com/users/leoetlino/orgs', 'repos_url': 'https://api.github.com/users/leoetlino/repos', 'html_url': 'https://github.com/leoetlino', 'url': 'https://api.github.com/users/leoetlino', 'node_id': 'MDQ6VXNlcjQyMDkwNjE=', 'avatar_url': 'https://avatars.githubusercontent.com/u/4209061?v=4', 'followers_url': 'https://api.github.com/users/leoetlino/followers', 'received_events_url': 'https://api.github.com/users/leoetlino/received_events', 'events_url': 'https://api.github.com/users/leoetlino/events{/privacy}', 'gists_url': 'https://api.github.com/users/leoetlino/gists{/gist_id}', 'following_url': 'https://api.github.com/users/leoetlino/following{/other_user}', 'gravatar_id': '', 'login': 'leoetlino', 'subscriptions_url': 'https://api.github.com/users/leoetlino/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/leoetlino/starred{/owner}{/repo}', 'id': 4209061}, 'node_id': 'MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDYzMjU0MzYzNg==', 'id': 632543636}, {'position': 4, 'commit_id': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9441#discussion_r632546214', 'created_at': '2021-05-14T13:56:55Z', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/632546214', 'original_position': 4, 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441', '_links': {'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/9441#discussion_r632546214'}, 'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/632546214'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441'}}, 'pull_request_review_id': 659840266, 'original_commit_id': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'path': 'Source/Core/Common/MemoryUtil.h', 'updated_at': '2021-05-14T13:59:03Z', 'body': 'Could we add a RAII wrapper to make it more difficult to forget to pair calls?\r\n\r\nsomething like\r\n\r\n```cpp\r\nstruct ScopedJITPageWriteAndNoExecute {\r\n  ScopedJITPageWriteAndNoExecute() { JITPageWriteEnableExecuteDisable(); }\r\n  ~ScopedJITPageWriteAndNoExecute() { JITPageWriteDisableExecuteEnable(); }\r\n};\r\n```', 'author_association': 'MEMBER', 'diff_hunk': '@@ -10,6 +10,10 @@\n namespace Common\n {\n void* AllocateExecutableMemory(size_t size);\n+// Allows a thread to write to executable memory, but not execute the data.', 'user': {'organizations_url': 'https://api.github.com/users/leoetlino/orgs', 'repos_url': 'https://api.github.com/users/leoetlino/repos', 'html_url': 'https://github.com/leoetlino', 'url': 'https://api.github.com/users/leoetlino', 'node_id': 'MDQ6VXNlcjQyMDkwNjE=', 'avatar_url': 'https://avatars.githubusercontent.com/u/4209061?v=4', 'followers_url': 'https://api.github.com/users/leoetlino/followers', 'received_events_url': 'https://api.github.com/users/leoetlino/received_events', 'events_url': 'https://api.github.com/users/leoetlino/events{/privacy}', 'gists_url': 'https://api.github.com/users/leoetlino/gists{/gist_id}', 'following_url': 'https://api.github.com/users/leoetlino/following{/other_user}', 'gravatar_id': '', 'login': 'leoetlino', 'subscriptions_url': 'https://api.github.com/users/leoetlino/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/leoetlino/starred{/owner}{/repo}', 'id': 4209061}, 'node_id': 'MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDYzMjU0NjIxNA==', 'id': 632546214}, {'position': 1, 'commit_id': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9441#discussion_r632546952', 'created_at': '2021-05-14T13:57:59Z', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/632546952', 'original_position': 1, 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441', '_links': {'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/9441#discussion_r632546952'}, 'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/632546952'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441'}}, 'pull_request_review_id': 659840266, 'original_commit_id': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'path': 'Source/Core/DolphinQt/DolphinEmu.entitlements', 'updated_at': '2021-05-14T13:59:03Z', 'body': 'Do we need anything here for USB access?', 'author_association': 'MEMBER', 'diff_hunk': '@@ -0,0 +1,17 @@\n+<?xml version="1.0" encoding="UTF-8"?>', 'user': {'organizations_url': 'https://api.github.com/users/leoetlino/orgs', 'repos_url': 'https://api.github.com/users/leoetlino/repos', 'html_url': 'https://github.com/leoetlino', 'url': 'https://api.github.com/users/leoetlino', 'node_id': 'MDQ6VXNlcjQyMDkwNjE=', 'avatar_url': 'https://avatars.githubusercontent.com/u/4209061?v=4', 'followers_url': 'https://api.github.com/users/leoetlino/followers', 'received_events_url': 'https://api.github.com/users/leoetlino/received_events', 'events_url': 'https://api.github.com/users/leoetlino/events{/privacy}', 'gists_url': 'https://api.github.com/users/leoetlino/gists{/gist_id}', 'following_url': 'https://api.github.com/users/leoetlino/following{/other_user}', 'gravatar_id': '', 'login': 'leoetlino', 'subscriptions_url': 'https://api.github.com/users/leoetlino/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/leoetlino/starred{/owner}{/repo}', 'id': 4209061}, 'node_id': 'MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDYzMjU0Njk1Mg==', 'id': 632546952}], 'url': 'https://github.com/dolphin-emu/dolphin/pull/9441#pullrequestreview-659840266', 'pr_title': 'Apple M1 Support for MacOS', 'source': 'ghhookparser', 'action': 'edited', 'author': 'leoetlino', 'pr_id': 9441, 'type': 'gh_pull_request_review', 'repo': 'dolphin-emu/dolphin'}
2021-05-14T13:59:06.608722	{'state': 'commented', 'comments': [{'position': 3, 'commit_id': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9441#discussion_r632528725', 'created_at': '2021-05-14T13:30:22Z', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/632528725', 'original_position': 3, 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441', '_links': {'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/9441#discussion_r632528725'}, 'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/632528725'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441'}}, 'pull_request_review_id': 659840266, 'original_commit_id': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'path': 'BuildMacOSUniversalBinary.py', 'updated_at': '2021-05-14T13:59:02Z', 'body': '```suggestion\r\nThe current tooling supported in CMake, Homebrew, and Qt5 are insufficient for\r\n```', 'author_association': 'MEMBER', 'diff_hunk': '@@ -0,0 +1,299 @@\n+#!/usr/bin/env python3\n+"""\n+The current tooling supported in CMake, Homebrew, and QT5 are inufficient for', 'user': {'organizations_url': 'https://api.github.com/users/leoetlino/orgs', 'repos_url': 'https://api.github.com/users/leoetlino/repos', 'html_url': 'https://github.com/leoetlino', 'url': 'https://api.github.com/users/leoetlino', 'node_id': 'MDQ6VXNlcjQyMDkwNjE=', 'avatar_url': 'https://avatars.githubusercontent.com/u/4209061?v=4', 'followers_url': 'https://api.github.com/users/leoetlino/followers', 'received_events_url': 'https://api.github.com/users/leoetlino/received_events', 'events_url': 'https://api.github.com/users/leoetlino/events{/privacy}', 'gists_url': 'https://api.github.com/users/leoetlino/gists{/gist_id}', 'following_url': 'https://api.github.com/users/leoetlino/following{/other_user}', 'gravatar_id': '', 'login': 'leoetlino', 'subscriptions_url': 'https://api.github.com/users/leoetlino/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/leoetlino/starred{/owner}{/repo}', 'id': 4209061}, 'node_id': 'MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDYzMjUyODcyNQ==', 'id': 632528725}, {'position': 19, 'commit_id': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9441#discussion_r632529321', 'created_at': '2021-05-14T13:31:18Z', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/632529321', 'original_position': 19, 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441', '_links': {'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/9441#discussion_r632529321'}, 'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/632529321'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441'}}, 'pull_request_review_id': 659840266, 'original_commit_id': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'path': 'BuildMacOSUniversalBinary.py', 'updated_at': '2021-05-14T13:59:02Z', 'body': '```suggestion\r\n5) Generate universal .app packages combining the ARM and x64 packages\r\n```', 'author_association': 'MEMBER', 'diff_hunk': '@@ -0,0 +1,299 @@\n+#!/usr/bin/env python3\n+"""\n+The current tooling supported in CMake, Homebrew, and QT5 are inufficient for\n+creating MacOSX universal binaries automatically for applications like Dolphin\n+which have more complicated build requirements (like different libraries, build\n+flags and source files for each target architecture).\n+\n+So instead, this script manages the configuration and compilation of distinct\n+builds and project files for each target architecture and then merges the two\n+binaries into a single universal binary.\n+\n+Running this script will:\n+1) Generate Xcode project files for the ARM build (if project files don\'t\n+   already exist)\n+2) Generate Xcode project files for the x64 build (if project files don\'t\n+   already exist)\n+3) Build the ARM project for the selected build_target\n+4) Build the x64 project for the selected build_target\n+5) Generates universal .app packages combining the ARM and x64 packages', 'user': {'organizations_url': 'https://api.github.com/users/leoetlino/orgs', 'repos_url': 'https://api.github.com/users/leoetlino/repos', 'html_url': 'https://github.com/leoetlino', 'url': 'https://api.github.com/users/leoetlino', 'node_id': 'MDQ6VXNlcjQyMDkwNjE=', 'avatar_url': 'https://avatars.githubusercontent.com/u/4209061?v=4', 'followers_url': 'https://api.github.com/users/leoetlino/followers', 'received_events_url': 'https://api.github.com/users/leoetlino/received_events', 'events_url': 'https://api.github.com/users/leoetlino/events{/privacy}', 'gists_url': 'https://api.github.com/users/leoetlino/gists{/gist_id}', 'following_url': 'https://api.github.com/users/leoetlino/following{/other_user}', 'gravatar_id': '', 'login': 'leoetlino', 'subscriptions_url': 'https://api.github.com/users/leoetlino/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/leoetlino/starred{/owner}{/repo}', 'id': 4209061}, 'node_id': 'MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDYzMjUyOTMyMQ==', 'id': 632529321}, {'position': 20, 'commit_id': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9441#discussion_r632529382', 'created_at': '2021-05-14T13:31:23Z', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/632529382', 'original_position': 20, 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441', '_links': {'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/9441#discussion_r632529382'}, 'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/632529382'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441'}}, 'pull_request_review_id': 659840266, 'original_commit_id': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'path': 'BuildMacOSUniversalBinary.py', 'updated_at': '2021-05-14T13:59:02Z', 'body': '```suggestion\r\n6) Use the lipo tool to combine the binary objects inside each of the\r\n```', 'author_association': 'MEMBER', 'diff_hunk': '@@ -0,0 +1,299 @@\n+#!/usr/bin/env python3\n+"""\n+The current tooling supported in CMake, Homebrew, and QT5 are inufficient for\n+creating MacOSX universal binaries automatically for applications like Dolphin\n+which have more complicated build requirements (like different libraries, build\n+flags and source files for each target architecture).\n+\n+So instead, this script manages the configuration and compilation of distinct\n+builds and project files for each target architecture and then merges the two\n+binaries into a single universal binary.\n+\n+Running this script will:\n+1) Generate Xcode project files for the ARM build (if project files don\'t\n+   already exist)\n+2) Generate Xcode project files for the x64 build (if project files don\'t\n+   already exist)\n+3) Build the ARM project for the selected build_target\n+4) Build the x64 project for the selected build_target\n+5) Generates universal .app packages combining the ARM and x64 packages\n+6) Utilizes the lipo tool to combine the binary objects inside each of the', 'user': {'organizations_url': 'https://api.github.com/users/leoetlino/orgs', 'repos_url': 'https://api.github.com/users/leoetlino/repos', 'html_url': 'https://github.com/leoetlino', 'url': 'https://api.github.com/users/leoetlino', 'node_id': 'MDQ6VXNlcjQyMDkwNjE=', 'avatar_url': 'https://avatars.githubusercontent.com/u/4209061?v=4', 'followers_url': 'https://api.github.com/users/leoetlino/followers', 'received_events_url': 'https://api.github.com/users/leoetlino/received_events', 'events_url': 'https://api.github.com/users/leoetlino/events{/privacy}', 'gists_url': 'https://api.github.com/users/leoetlino/gists{/gist_id}', 'following_url': 'https://api.github.com/users/leoetlino/following{/other_user}', 'gravatar_id': '', 'login': 'leoetlino', 'subscriptions_url': 'https://api.github.com/users/leoetlino/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/leoetlino/starred{/owner}{/repo}', 'id': 4209061}, 'node_id': 'MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDYzMjUyOTM4Mg==', 'id': 632529382}, {'position': 22, 'commit_id': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9441#discussion_r632529448', 'created_at': '2021-05-14T13:31:30Z', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/632529448', 'original_position': 22, 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441', '_links': {'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/9441#discussion_r632529448'}, 'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/632529448'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441'}}, 'pull_request_review_id': 659840266, 'original_commit_id': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'path': 'BuildMacOSUniversalBinary.py', 'updated_at': '2021-05-14T13:59:02Z', 'body': '```suggestion\r\n7) Code sign the final universal binaries using the specified\r\n```', 'author_association': 'MEMBER', 'diff_hunk': '@@ -0,0 +1,299 @@\n+#!/usr/bin/env python3\n+"""\n+The current tooling supported in CMake, Homebrew, and QT5 are inufficient for\n+creating MacOSX universal binaries automatically for applications like Dolphin\n+which have more complicated build requirements (like different libraries, build\n+flags and source files for each target architecture).\n+\n+So instead, this script manages the configuration and compilation of distinct\n+builds and project files for each target architecture and then merges the two\n+binaries into a single universal binary.\n+\n+Running this script will:\n+1) Generate Xcode project files for the ARM build (if project files don\'t\n+   already exist)\n+2) Generate Xcode project files for the x64 build (if project files don\'t\n+   already exist)\n+3) Build the ARM project for the selected build_target\n+4) Build the x64 project for the selected build_target\n+5) Generates universal .app packages combining the ARM and x64 packages\n+6) Utilizes the lipo tool to combine the binary objects inside each of the\n+   packages into universal binaries\n+7) Code signs the final universal binaries using the specified', 'user': {'organizations_url': 'https://api.github.com/users/leoetlino/orgs', 'repos_url': 'https://api.github.com/users/leoetlino/repos', 'html_url': 'https://github.com/leoetlino', 'url': 'https://api.github.com/users/leoetlino', 'node_id': 'MDQ6VXNlcjQyMDkwNjE=', 'avatar_url': 'https://avatars.githubusercontent.com/u/4209061?v=4', 'followers_url': 'https://api.github.com/users/leoetlino/followers', 'received_events_url': 'https://api.github.com/users/leoetlino/received_events', 'events_url': 'https://api.github.com/users/leoetlino/events{/privacy}', 'gists_url': 'https://api.github.com/users/leoetlino/gists{/gist_id}', 'following_url': 'https://api.github.com/users/leoetlino/following{/other_user}', 'gravatar_id': '', 'login': 'leoetlino', 'subscriptions_url': 'https://api.github.com/users/leoetlino/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/leoetlino/starred{/owner}{/repo}', 'id': 4209061}, 'node_id': 'MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDYzMjUyOTQ0OA==', 'id': 632529448}, {'position': 45, 'commit_id': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9441#discussion_r632529731', 'created_at': '2021-05-14T13:31:55Z', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/632529731', 'original_position': 45, 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441', '_links': {'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/9441#discussion_r632529731'}, 'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/632529731'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441'}}, 'pull_request_review_id': 659840266, 'original_commit_id': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'path': 'BuildMacOSUniversalBinary.py', 'updated_at': '2021-05-14T13:59:03Z', 'body': '```suggestion\r\n    # Location for CMake to search for files (default is for homebrew)\r\n```', 'author_association': 'MEMBER', 'diff_hunk': '@@ -0,0 +1,299 @@\n+#!/usr/bin/env python3\n+"""\n+The current tooling supported in CMake, Homebrew, and QT5 are inufficient for\n+creating MacOSX universal binaries automatically for applications like Dolphin\n+which have more complicated build requirements (like different libraries, build\n+flags and source files for each target architecture).\n+\n+So instead, this script manages the configuration and compilation of distinct\n+builds and project files for each target architecture and then merges the two\n+binaries into a single universal binary.\n+\n+Running this script will:\n+1) Generate Xcode project files for the ARM build (if project files don\'t\n+   already exist)\n+2) Generate Xcode project files for the x64 build (if project files don\'t\n+   already exist)\n+3) Build the ARM project for the selected build_target\n+4) Build the x64 project for the selected build_target\n+5) Generates universal .app packages combining the ARM and x64 packages\n+6) Utilizes the lipo tool to combine the binary objects inside each of the\n+   packages into universal binaries\n+7) Code signs the final universal binaries using the specified\n+   codesign_identity\n+"""\n+\n+import argparse\n+import filecmp\n+import glob\n+import json\n+import multiprocessing\n+import os\n+import shutil\n+import subprocess\n+\n+# The config variables listed below are the defaults, but they can be\n+# overridden by command line arguments see parse_args(), or run:\n+# BuildMacOSUniversalBinary.py --help\n+DEFAULT_CONFIG = {\n+\n+    # Location of destination universal binary\n+    "dst_app": "universal/",\n+    # Build Target (dolphin-emu to just build the emulator and skip the tests)\n+    "build_target": "ALL_BUILD",\n+\n+    # Location for CMake to search for files(default is for homebrew', 'user': {'organizations_url': 'https://api.github.com/users/leoetlino/orgs', 'repos_url': 'https://api.github.com/users/leoetlino/repos', 'html_url': 'https://github.com/leoetlino', 'url': 'https://api.github.com/users/leoetlino', 'node_id': 'MDQ6VXNlcjQyMDkwNjE=', 'avatar_url': 'https://avatars.githubusercontent.com/u/4209061?v=4', 'followers_url': 'https://api.github.com/users/leoetlino/followers', 'received_events_url': 'https://api.github.com/users/leoetlino/received_events', 'events_url': 'https://api.github.com/users/leoetlino/events{/privacy}', 'gists_url': 'https://api.github.com/users/leoetlino/gists{/gist_id}', 'following_url': 'https://api.github.com/users/leoetlino/following{/other_user}', 'gravatar_id': '', 'login': 'leoetlino', 'subscriptions_url': 'https://api.github.com/users/leoetlino/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/leoetlino/starred{/owner}{/repo}', 'id': 4209061}, 'node_id': 'MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDYzMjUyOTczMQ==', 'id': 632529731}, {'position': 46, 'commit_id': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9441#discussion_r632529798', 'created_at': '2021-05-14T13:32:03Z', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/632529798', 'original_position': 46, 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441', '_links': {'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/9441#discussion_r632529798'}, 'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/632529798'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441'}}, 'pull_request_review_id': 659840266, 'original_commit_id': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'path': 'BuildMacOSUniversalBinary.py', 'updated_at': '2021-05-14T13:59:03Z', 'body': '```suggestion\r\n    "arm64_cmake_prefix":  "/opt/homebrew",\r\n```', 'author_association': 'MEMBER', 'diff_hunk': '@@ -0,0 +1,299 @@\n+#!/usr/bin/env python3\n+"""\n+The current tooling supported in CMake, Homebrew, and QT5 are inufficient for\n+creating MacOSX universal binaries automatically for applications like Dolphin\n+which have more complicated build requirements (like different libraries, build\n+flags and source files for each target architecture).\n+\n+So instead, this script manages the configuration and compilation of distinct\n+builds and project files for each target architecture and then merges the two\n+binaries into a single universal binary.\n+\n+Running this script will:\n+1) Generate Xcode project files for the ARM build (if project files don\'t\n+   already exist)\n+2) Generate Xcode project files for the x64 build (if project files don\'t\n+   already exist)\n+3) Build the ARM project for the selected build_target\n+4) Build the x64 project for the selected build_target\n+5) Generates universal .app packages combining the ARM and x64 packages\n+6) Utilizes the lipo tool to combine the binary objects inside each of the\n+   packages into universal binaries\n+7) Code signs the final universal binaries using the specified\n+   codesign_identity\n+"""\n+\n+import argparse\n+import filecmp\n+import glob\n+import json\n+import multiprocessing\n+import os\n+import shutil\n+import subprocess\n+\n+# The config variables listed below are the defaults, but they can be\n+# overridden by command line arguments see parse_args(), or run:\n+# BuildMacOSUniversalBinary.py --help\n+DEFAULT_CONFIG = {\n+\n+    # Location of destination universal binary\n+    "dst_app": "universal/",\n+    # Build Target (dolphin-emu to just build the emulator and skip the tests)\n+    "build_target": "ALL_BUILD",\n+\n+    # Location for CMake to search for files(default is for homebrew\n+    "arm64_cmake_prefix":  \'/opt/homebrew\',', 'user': {'organizations_url': 'https://api.github.com/users/leoetlino/orgs', 'repos_url': 'https://api.github.com/users/leoetlino/repos', 'html_url': 'https://github.com/leoetlino', 'url': 'https://api.github.com/users/leoetlino', 'node_id': 'MDQ6VXNlcjQyMDkwNjE=', 'avatar_url': 'https://avatars.githubusercontent.com/u/4209061?v=4', 'followers_url': 'https://api.github.com/users/leoetlino/followers', 'received_events_url': 'https://api.github.com/users/leoetlino/received_events', 'events_url': 'https://api.github.com/users/leoetlino/events{/privacy}', 'gists_url': 'https://api.github.com/users/leoetlino/gists{/gist_id}', 'following_url': 'https://api.github.com/users/leoetlino/following{/other_user}', 'gravatar_id': '', 'login': 'leoetlino', 'subscriptions_url': 'https://api.github.com/users/leoetlino/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/leoetlino/starred{/owner}{/repo}', 'id': 4209061}, 'node_id': 'MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDYzMjUyOTc5OA==', 'id': 632529798}, {'position': 47, 'commit_id': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9441#discussion_r632529885', 'created_at': '2021-05-14T13:32:11Z', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/632529885', 'original_position': 47, 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441', '_links': {'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/9441#discussion_r632529885'}, 'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/632529885'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441'}}, 'pull_request_review_id': 659840266, 'original_commit_id': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'path': 'BuildMacOSUniversalBinary.py', 'updated_at': '2021-05-14T13:59:03Z', 'body': '```suggestion\r\n    "x86_64_cmake_prefix": "/usr/local",\r\n```', 'author_association': 'MEMBER', 'diff_hunk': '@@ -0,0 +1,299 @@\n+#!/usr/bin/env python3\n+"""\n+The current tooling supported in CMake, Homebrew, and QT5 are inufficient for\n+creating MacOSX universal binaries automatically for applications like Dolphin\n+which have more complicated build requirements (like different libraries, build\n+flags and source files for each target architecture).\n+\n+So instead, this script manages the configuration and compilation of distinct\n+builds and project files for each target architecture and then merges the two\n+binaries into a single universal binary.\n+\n+Running this script will:\n+1) Generate Xcode project files for the ARM build (if project files don\'t\n+   already exist)\n+2) Generate Xcode project files for the x64 build (if project files don\'t\n+   already exist)\n+3) Build the ARM project for the selected build_target\n+4) Build the x64 project for the selected build_target\n+5) Generates universal .app packages combining the ARM and x64 packages\n+6) Utilizes the lipo tool to combine the binary objects inside each of the\n+   packages into universal binaries\n+7) Code signs the final universal binaries using the specified\n+   codesign_identity\n+"""\n+\n+import argparse\n+import filecmp\n+import glob\n+import json\n+import multiprocessing\n+import os\n+import shutil\n+import subprocess\n+\n+# The config variables listed below are the defaults, but they can be\n+# overridden by command line arguments see parse_args(), or run:\n+# BuildMacOSUniversalBinary.py --help\n+DEFAULT_CONFIG = {\n+\n+    # Location of destination universal binary\n+    "dst_app": "universal/",\n+    # Build Target (dolphin-emu to just build the emulator and skip the tests)\n+    "build_target": "ALL_BUILD",\n+\n+    # Location for CMake to search for files(default is for homebrew\n+    "arm64_cmake_prefix":  \'/opt/homebrew\',\n+    "x86_64_cmake_prefix": \'/usr/local\',', 'user': {'organizations_url': 'https://api.github.com/users/leoetlino/orgs', 'repos_url': 'https://api.github.com/users/leoetlino/repos', 'html_url': 'https://github.com/leoetlino', 'url': 'https://api.github.com/users/leoetlino', 'node_id': 'MDQ6VXNlcjQyMDkwNjE=', 'avatar_url': 'https://avatars.githubusercontent.com/u/4209061?v=4', 'followers_url': 'https://api.github.com/users/leoetlino/followers', 'received_events_url': 'https://api.github.com/users/leoetlino/received_events', 'events_url': 'https://api.github.com/users/leoetlino/events{/privacy}', 'gists_url': 'https://api.github.com/users/leoetlino/gists{/gist_id}', 'following_url': 'https://api.github.com/users/leoetlino/following{/other_user}', 'gravatar_id': '', 'login': 'leoetlino', 'subscriptions_url': 'https://api.github.com/users/leoetlino/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/leoetlino/starred{/owner}{/repo}', 'id': 4209061}, 'node_id': 'MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDYzMjUyOTg4NQ==', 'id': 632529885}, {'position': 52, 'commit_id': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9441#discussion_r632529976', 'created_at': '2021-05-14T13:32:20Z', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/632529976', 'original_position': 52, 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441', '_links': {'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/9441#discussion_r632529976'}, 'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/632529976'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441'}}, 'pull_request_review_id': 659840266, 'original_commit_id': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'path': 'BuildMacOSUniversalBinary.py', 'updated_at': '2021-05-14T13:59:03Z', 'body': '```suggestion\r\n    "arm64_qt5_path":  "/opt/homebrew/opt/qt5",\r\n```', 'author_association': 'MEMBER', 'diff_hunk': '@@ -0,0 +1,299 @@\n+#!/usr/bin/env python3\n+"""\n+The current tooling supported in CMake, Homebrew, and QT5 are inufficient for\n+creating MacOSX universal binaries automatically for applications like Dolphin\n+which have more complicated build requirements (like different libraries, build\n+flags and source files for each target architecture).\n+\n+So instead, this script manages the configuration and compilation of distinct\n+builds and project files for each target architecture and then merges the two\n+binaries into a single universal binary.\n+\n+Running this script will:\n+1) Generate Xcode project files for the ARM build (if project files don\'t\n+   already exist)\n+2) Generate Xcode project files for the x64 build (if project files don\'t\n+   already exist)\n+3) Build the ARM project for the selected build_target\n+4) Build the x64 project for the selected build_target\n+5) Generates universal .app packages combining the ARM and x64 packages\n+6) Utilizes the lipo tool to combine the binary objects inside each of the\n+   packages into universal binaries\n+7) Code signs the final universal binaries using the specified\n+   codesign_identity\n+"""\n+\n+import argparse\n+import filecmp\n+import glob\n+import json\n+import multiprocessing\n+import os\n+import shutil\n+import subprocess\n+\n+# The config variables listed below are the defaults, but they can be\n+# overridden by command line arguments see parse_args(), or run:\n+# BuildMacOSUniversalBinary.py --help\n+DEFAULT_CONFIG = {\n+\n+    # Location of destination universal binary\n+    "dst_app": "universal/",\n+    # Build Target (dolphin-emu to just build the emulator and skip the tests)\n+    "build_target": "ALL_BUILD",\n+\n+    # Location for CMake to search for files(default is for homebrew\n+    "arm64_cmake_prefix":  \'/opt/homebrew\',\n+    "x86_64_cmake_prefix": \'/usr/local\',\n+\n+    # Locations to qt5 directories for arm and x64 libraries\n+    # The default values of these paths are taken from the default\n+    # paths used for homebrew\n+    "arm64_qt5_path":  \'/opt/homebrew/opt/qt5\',', 'user': {'organizations_url': 'https://api.github.com/users/leoetlino/orgs', 'repos_url': 'https://api.github.com/users/leoetlino/repos', 'html_url': 'https://github.com/leoetlino', 'url': 'https://api.github.com/users/leoetlino', 'node_id': 'MDQ6VXNlcjQyMDkwNjE=', 'avatar_url': 'https://avatars.githubusercontent.com/u/4209061?v=4', 'followers_url': 'https://api.github.com/users/leoetlino/followers', 'received_events_url': 'https://api.github.com/users/leoetlino/received_events', 'events_url': 'https://api.github.com/users/leoetlino/events{/privacy}', 'gists_url': 'https://api.github.com/users/leoetlino/gists{/gist_id}', 'following_url': 'https://api.github.com/users/leoetlino/following{/other_user}', 'gravatar_id': '', 'login': 'leoetlino', 'subscriptions_url': 'https://api.github.com/users/leoetlino/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/leoetlino/starred{/owner}{/repo}', 'id': 4209061}, 'node_id': 'MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDYzMjUyOTk3Ng==', 'id': 632529976}, {'position': 53, 'commit_id': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9441#discussion_r632530063', 'created_at': '2021-05-14T13:32:27Z', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/632530063', 'original_position': 53, 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441', '_links': {'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/9441#discussion_r632530063'}, 'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/632530063'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441'}}, 'pull_request_review_id': 659840266, 'original_commit_id': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'path': 'BuildMacOSUniversalBinary.py', 'updated_at': '2021-05-14T13:59:03Z', 'body': '```suggestion\r\n    "x86_64_qt5_path": "/usr/local/opt/qt5",\r\n```', 'author_association': 'MEMBER', 'diff_hunk': '@@ -0,0 +1,299 @@\n+#!/usr/bin/env python3\n+"""\n+The current tooling supported in CMake, Homebrew, and QT5 are inufficient for\n+creating MacOSX universal binaries automatically for applications like Dolphin\n+which have more complicated build requirements (like different libraries, build\n+flags and source files for each target architecture).\n+\n+So instead, this script manages the configuration and compilation of distinct\n+builds and project files for each target architecture and then merges the two\n+binaries into a single universal binary.\n+\n+Running this script will:\n+1) Generate Xcode project files for the ARM build (if project files don\'t\n+   already exist)\n+2) Generate Xcode project files for the x64 build (if project files don\'t\n+   already exist)\n+3) Build the ARM project for the selected build_target\n+4) Build the x64 project for the selected build_target\n+5) Generates universal .app packages combining the ARM and x64 packages\n+6) Utilizes the lipo tool to combine the binary objects inside each of the\n+   packages into universal binaries\n+7) Code signs the final universal binaries using the specified\n+   codesign_identity\n+"""\n+\n+import argparse\n+import filecmp\n+import glob\n+import json\n+import multiprocessing\n+import os\n+import shutil\n+import subprocess\n+\n+# The config variables listed below are the defaults, but they can be\n+# overridden by command line arguments see parse_args(), or run:\n+# BuildMacOSUniversalBinary.py --help\n+DEFAULT_CONFIG = {\n+\n+    # Location of destination universal binary\n+    "dst_app": "universal/",\n+    # Build Target (dolphin-emu to just build the emulator and skip the tests)\n+    "build_target": "ALL_BUILD",\n+\n+    # Location for CMake to search for files(default is for homebrew\n+    "arm64_cmake_prefix":  \'/opt/homebrew\',\n+    "x86_64_cmake_prefix": \'/usr/local\',\n+\n+    # Locations to qt5 directories for arm and x64 libraries\n+    # The default values of these paths are taken from the default\n+    # paths used for homebrew\n+    "arm64_qt5_path":  \'/opt/homebrew/opt/qt5\',\n+    "x86_64_qt5_path": \'/usr/local/opt/qt5\',', 'user': {'organizations_url': 'https://api.github.com/users/leoetlino/orgs', 'repos_url': 'https://api.github.com/users/leoetlino/repos', 'html_url': 'https://github.com/leoetlino', 'url': 'https://api.github.com/users/leoetlino', 'node_id': 'MDQ6VXNlcjQyMDkwNjE=', 'avatar_url': 'https://avatars.githubusercontent.com/u/4209061?v=4', 'followers_url': 'https://api.github.com/users/leoetlino/followers', 'received_events_url': 'https://api.github.com/users/leoetlino/received_events', 'events_url': 'https://api.github.com/users/leoetlino/events{/privacy}', 'gists_url': 'https://api.github.com/users/leoetlino/gists{/gist_id}', 'following_url': 'https://api.github.com/users/leoetlino/following{/other_user}', 'gravatar_id': '', 'login': 'leoetlino', 'subscriptions_url': 'https://api.github.com/users/leoetlino/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/leoetlino/starred{/owner}{/repo}', 'id': 4209061}, 'node_id': 'MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDYzMjUzMDA2Mw==', 'id': 632530063}, {'position': 71, 'commit_id': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9441#discussion_r632530295', 'created_at': '2021-05-14T13:32:47Z', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/632530295', 'original_position': 71, 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441', '_links': {'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/9441#discussion_r632530295'}, 'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/632530295'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441'}}, 'pull_request_review_id': 659840266, 'original_commit_id': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'path': 'BuildMacOSUniversalBinary.py', 'updated_at': '2021-05-14T13:59:03Z', 'body': '```suggestion\r\n    "build_type": "Release",\r\n```', 'author_association': 'MEMBER', 'diff_hunk': '@@ -0,0 +1,299 @@\n+#!/usr/bin/env python3\n+"""\n+The current tooling supported in CMake, Homebrew, and QT5 are inufficient for\n+creating MacOSX universal binaries automatically for applications like Dolphin\n+which have more complicated build requirements (like different libraries, build\n+flags and source files for each target architecture).\n+\n+So instead, this script manages the configuration and compilation of distinct\n+builds and project files for each target architecture and then merges the two\n+binaries into a single universal binary.\n+\n+Running this script will:\n+1) Generate Xcode project files for the ARM build (if project files don\'t\n+   already exist)\n+2) Generate Xcode project files for the x64 build (if project files don\'t\n+   already exist)\n+3) Build the ARM project for the selected build_target\n+4) Build the x64 project for the selected build_target\n+5) Generates universal .app packages combining the ARM and x64 packages\n+6) Utilizes the lipo tool to combine the binary objects inside each of the\n+   packages into universal binaries\n+7) Code signs the final universal binaries using the specified\n+   codesign_identity\n+"""\n+\n+import argparse\n+import filecmp\n+import glob\n+import json\n+import multiprocessing\n+import os\n+import shutil\n+import subprocess\n+\n+# The config variables listed below are the defaults, but they can be\n+# overridden by command line arguments see parse_args(), or run:\n+# BuildMacOSUniversalBinary.py --help\n+DEFAULT_CONFIG = {\n+\n+    # Location of destination universal binary\n+    "dst_app": "universal/",\n+    # Build Target (dolphin-emu to just build the emulator and skip the tests)\n+    "build_target": "ALL_BUILD",\n+\n+    # Location for CMake to search for files(default is for homebrew\n+    "arm64_cmake_prefix":  \'/opt/homebrew\',\n+    "x86_64_cmake_prefix": \'/usr/local\',\n+\n+    # Locations to qt5 directories for arm and x64 libraries\n+    # The default values of these paths are taken from the default\n+    # paths used for homebrew\n+    "arm64_qt5_path":  \'/opt/homebrew/opt/qt5\',\n+    "x86_64_qt5_path": \'/usr/local/opt/qt5\',\n+\n+    # Identity to use for code signing. "-" indicates that the app will not\n+    # be cryptographically signed/notarized but will instead just use a\n+    # SHA checksum to verify the integrity of the app. This doesn\'t\n+    # protect against malicious actors, but it does protect against\n+    # running corrupted binaries and allows for access to the extended\n+    # permisions needed for ARM builds\n+    "codesign_identity":  \'-\',\n+    # Entitlements file to use for code signing\n+    "entitlements": "../Source/Core/DolphinQt/DolphinEmu.entitlements",\n+\n+    # Minimum macOS version for each architecture slice\n+    "arm64_mac_os_deployment_target":  "11.0.0",\n+    "x86_64_mac_os_deployment_target": "10.12.0",\n+\n+    # CMake Generator to use for building\n+    "generator": "Unix Makefiles",\n+    "build_type": "Release"', 'user': {'organizations_url': 'https://api.github.com/users/leoetlino/orgs', 'repos_url': 'https://api.github.com/users/leoetlino/repos', 'html_url': 'https://github.com/leoetlino', 'url': 'https://api.github.com/users/leoetlino', 'node_id': 'MDQ6VXNlcjQyMDkwNjE=', 'avatar_url': 'https://avatars.githubusercontent.com/u/4209061?v=4', 'followers_url': 'https://api.github.com/users/leoetlino/followers', 'received_events_url': 'https://api.github.com/users/leoetlino/received_events', 'events_url': 'https://api.github.com/users/leoetlino/events{/privacy}', 'gists_url': 'https://api.github.com/users/leoetlino/gists{/gist_id}', 'following_url': 'https://api.github.com/users/leoetlino/following{/other_user}', 'gravatar_id': '', 'login': 'leoetlino', 'subscriptions_url': 'https://api.github.com/users/leoetlino/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/leoetlino/starred{/owner}{/repo}', 'id': 4209061}, 'node_id': 'MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDYzMjUzMDI5NQ==', 'id': 632530295}, {'position': 70, 'commit_id': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9441#discussion_r632530518', 'created_at': '2021-05-14T13:33:07Z', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/632530518', 'original_position': 70, 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441', '_links': {'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/9441#discussion_r632530518'}, 'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/632530518'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441'}}, 'pull_request_review_id': 659840266, 'original_commit_id': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'path': 'BuildMacOSUniversalBinary.py', 'updated_at': '2021-05-14T13:59:03Z', 'body': "Is there any reason we're not using Ninja?", 'author_association': 'MEMBER', 'diff_hunk': '@@ -0,0 +1,299 @@\n+#!/usr/bin/env python3\n+"""\n+The current tooling supported in CMake, Homebrew, and QT5 are inufficient for\n+creating MacOSX universal binaries automatically for applications like Dolphin\n+which have more complicated build requirements (like different libraries, build\n+flags and source files for each target architecture).\n+\n+So instead, this script manages the configuration and compilation of distinct\n+builds and project files for each target architecture and then merges the two\n+binaries into a single universal binary.\n+\n+Running this script will:\n+1) Generate Xcode project files for the ARM build (if project files don\'t\n+   already exist)\n+2) Generate Xcode project files for the x64 build (if project files don\'t\n+   already exist)\n+3) Build the ARM project for the selected build_target\n+4) Build the x64 project for the selected build_target\n+5) Generates universal .app packages combining the ARM and x64 packages\n+6) Utilizes the lipo tool to combine the binary objects inside each of the\n+   packages into universal binaries\n+7) Code signs the final universal binaries using the specified\n+   codesign_identity\n+"""\n+\n+import argparse\n+import filecmp\n+import glob\n+import json\n+import multiprocessing\n+import os\n+import shutil\n+import subprocess\n+\n+# The config variables listed below are the defaults, but they can be\n+# overridden by command line arguments see parse_args(), or run:\n+# BuildMacOSUniversalBinary.py --help\n+DEFAULT_CONFIG = {\n+\n+    # Location of destination universal binary\n+    "dst_app": "universal/",\n+    # Build Target (dolphin-emu to just build the emulator and skip the tests)\n+    "build_target": "ALL_BUILD",\n+\n+    # Location for CMake to search for files(default is for homebrew\n+    "arm64_cmake_prefix":  \'/opt/homebrew\',\n+    "x86_64_cmake_prefix": \'/usr/local\',\n+\n+    # Locations to qt5 directories for arm and x64 libraries\n+    # The default values of these paths are taken from the default\n+    # paths used for homebrew\n+    "arm64_qt5_path":  \'/opt/homebrew/opt/qt5\',\n+    "x86_64_qt5_path": \'/usr/local/opt/qt5\',\n+\n+    # Identity to use for code signing. "-" indicates that the app will not\n+    # be cryptographically signed/notarized but will instead just use a\n+    # SHA checksum to verify the integrity of the app. This doesn\'t\n+    # protect against malicious actors, but it does protect against\n+    # running corrupted binaries and allows for access to the extended\n+    # permisions needed for ARM builds\n+    "codesign_identity":  \'-\',\n+    # Entitlements file to use for code signing\n+    "entitlements": "../Source/Core/DolphinQt/DolphinEmu.entitlements",\n+\n+    # Minimum macOS version for each architecture slice\n+    "arm64_mac_os_deployment_target":  "11.0.0",\n+    "x86_64_mac_os_deployment_target": "10.12.0",\n+\n+    # CMake Generator to use for building\n+    "generator": "Unix Makefiles",', 'user': {'organizations_url': 'https://api.github.com/users/leoetlino/orgs', 'repos_url': 'https://api.github.com/users/leoetlino/repos', 'html_url': 'https://github.com/leoetlino', 'url': 'https://api.github.com/users/leoetlino', 'node_id': 'MDQ6VXNlcjQyMDkwNjE=', 'avatar_url': 'https://avatars.githubusercontent.com/u/4209061?v=4', 'followers_url': 'https://api.github.com/users/leoetlino/followers', 'received_events_url': 'https://api.github.com/users/leoetlino/received_events', 'events_url': 'https://api.github.com/users/leoetlino/events{/privacy}', 'gists_url': 'https://api.github.com/users/leoetlino/gists{/gist_id}', 'following_url': 'https://api.github.com/users/leoetlino/following{/other_user}', 'gravatar_id': '', 'login': 'leoetlino', 'subscriptions_url': 'https://api.github.com/users/leoetlino/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/leoetlino/starred{/owner}{/repo}', 'id': 4209061}, 'node_id': 'MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDYzMjUzMDUxOA==', 'id': 632530518}, {'position': 93, 'commit_id': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9441#discussion_r632530979', 'created_at': '2021-05-14T13:33:55Z', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/632530979', 'original_position': 93, 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441', '_links': {'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/9441#discussion_r632530979'}, 'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/632530979'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441'}}, 'pull_request_review_id': 659840266, 'original_commit_id': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'path': 'BuildMacOSUniversalBinary.py', 'updated_at': '2021-05-14T13:59:03Z', 'body': 'I think we should decide on whether to use single quotes or double quotes :P', 'author_association': 'MEMBER', 'diff_hunk': '@@ -0,0 +1,299 @@\n+#!/usr/bin/env python3\n+"""\n+The current tooling supported in CMake, Homebrew, and QT5 are inufficient for\n+creating MacOSX universal binaries automatically for applications like Dolphin\n+which have more complicated build requirements (like different libraries, build\n+flags and source files for each target architecture).\n+\n+So instead, this script manages the configuration and compilation of distinct\n+builds and project files for each target architecture and then merges the two\n+binaries into a single universal binary.\n+\n+Running this script will:\n+1) Generate Xcode project files for the ARM build (if project files don\'t\n+   already exist)\n+2) Generate Xcode project files for the x64 build (if project files don\'t\n+   already exist)\n+3) Build the ARM project for the selected build_target\n+4) Build the x64 project for the selected build_target\n+5) Generates universal .app packages combining the ARM and x64 packages\n+6) Utilizes the lipo tool to combine the binary objects inside each of the\n+   packages into universal binaries\n+7) Code signs the final universal binaries using the specified\n+   codesign_identity\n+"""\n+\n+import argparse\n+import filecmp\n+import glob\n+import json\n+import multiprocessing\n+import os\n+import shutil\n+import subprocess\n+\n+# The config variables listed below are the defaults, but they can be\n+# overridden by command line arguments see parse_args(), or run:\n+# BuildMacOSUniversalBinary.py --help\n+DEFAULT_CONFIG = {\n+\n+    # Location of destination universal binary\n+    "dst_app": "universal/",\n+    # Build Target (dolphin-emu to just build the emulator and skip the tests)\n+    "build_target": "ALL_BUILD",\n+\n+    # Location for CMake to search for files(default is for homebrew\n+    "arm64_cmake_prefix":  \'/opt/homebrew\',\n+    "x86_64_cmake_prefix": \'/usr/local\',\n+\n+    # Locations to qt5 directories for arm and x64 libraries\n+    # The default values of these paths are taken from the default\n+    # paths used for homebrew\n+    "arm64_qt5_path":  \'/opt/homebrew/opt/qt5\',\n+    "x86_64_qt5_path": \'/usr/local/opt/qt5\',\n+\n+    # Identity to use for code signing. "-" indicates that the app will not\n+    # be cryptographically signed/notarized but will instead just use a\n+    # SHA checksum to verify the integrity of the app. This doesn\'t\n+    # protect against malicious actors, but it does protect against\n+    # running corrupted binaries and allows for access to the extended\n+    # permisions needed for ARM builds\n+    "codesign_identity":  \'-\',\n+    # Entitlements file to use for code signing\n+    "entitlements": "../Source/Core/DolphinQt/DolphinEmu.entitlements",\n+\n+    # Minimum macOS version for each architecture slice\n+    "arm64_mac_os_deployment_target":  "11.0.0",\n+    "x86_64_mac_os_deployment_target": "10.12.0",\n+\n+    # CMake Generator to use for building\n+    "generator": "Unix Makefiles",\n+    "build_type": "Release"\n+\n+}\n+\n+# Architectures to build for. This is explicity left out of the command line\n+# config options for several reasons:\n+# 1) Adding new architectures will generally require more code changes\n+# 2) Single architecture builds should utilize the normal generated cmake\n+#    project files rather than this wrapper script\n+\n+ARCHITECTURES = ["x86_64", "arm64"]\n+\n+\n+def parse_args(conf=DEFAULT_CONFIG):\n+    """\n+    Parses the command line arguments into a config dictionary.\n+    """\n+\n+    parser = argparse.ArgumentParser(\n+        formatter_class=argparse.ArgumentDefaultsHelpFormatter)\n+\n+    parser.add_argument(\n+        \'--target\',', 'user': {'organizations_url': 'https://api.github.com/users/leoetlino/orgs', 'repos_url': 'https://api.github.com/users/leoetlino/repos', 'html_url': 'https://github.com/leoetlino', 'url': 'https://api.github.com/users/leoetlino', 'node_id': 'MDQ6VXNlcjQyMDkwNjE=', 'avatar_url': 'https://avatars.githubusercontent.com/u/4209061?v=4', 'followers_url': 'https://api.github.com/users/leoetlino/followers', 'received_events_url': 'https://api.github.com/users/leoetlino/received_events', 'events_url': 'https://api.github.com/users/leoetlino/events{/privacy}', 'gists_url': 'https://api.github.com/users/leoetlino/gists{/gist_id}', 'following_url': 'https://api.github.com/users/leoetlino/following{/other_user}', 'gravatar_id': '', 'login': 'leoetlino', 'subscriptions_url': 'https://api.github.com/users/leoetlino/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/leoetlino/starred{/owner}{/repo}', 'id': 4209061}, 'node_id': 'MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDYzMjUzMDk3OQ==', 'id': 632530979}, {'position': 125, 'commit_id': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9441#discussion_r632531676', 'created_at': '2021-05-14T13:35:00Z', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/632531676', 'original_position': 125, 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441', '_links': {'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/9441#discussion_r632531676'}, 'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/632531676'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441'}}, 'pull_request_review_id': 659840266, 'original_commit_id': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'path': 'BuildMacOSUniversalBinary.py', 'updated_at': '2021-05-14T13:59:03Z', 'body': '```suggestion\r\n             f"--{arch}_cmake_prefix",\r\n```\r\nf-strings can be used here', 'author_association': 'MEMBER', 'diff_hunk': '@@ -0,0 +1,299 @@\n+#!/usr/bin/env python3\n+"""\n+The current tooling supported in CMake, Homebrew, and QT5 are inufficient for\n+creating MacOSX universal binaries automatically for applications like Dolphin\n+which have more complicated build requirements (like different libraries, build\n+flags and source files for each target architecture).\n+\n+So instead, this script manages the configuration and compilation of distinct\n+builds and project files for each target architecture and then merges the two\n+binaries into a single universal binary.\n+\n+Running this script will:\n+1) Generate Xcode project files for the ARM build (if project files don\'t\n+   already exist)\n+2) Generate Xcode project files for the x64 build (if project files don\'t\n+   already exist)\n+3) Build the ARM project for the selected build_target\n+4) Build the x64 project for the selected build_target\n+5) Generates universal .app packages combining the ARM and x64 packages\n+6) Utilizes the lipo tool to combine the binary objects inside each of the\n+   packages into universal binaries\n+7) Code signs the final universal binaries using the specified\n+   codesign_identity\n+"""\n+\n+import argparse\n+import filecmp\n+import glob\n+import json\n+import multiprocessing\n+import os\n+import shutil\n+import subprocess\n+\n+# The config variables listed below are the defaults, but they can be\n+# overridden by command line arguments see parse_args(), or run:\n+# BuildMacOSUniversalBinary.py --help\n+DEFAULT_CONFIG = {\n+\n+    # Location of destination universal binary\n+    "dst_app": "universal/",\n+    # Build Target (dolphin-emu to just build the emulator and skip the tests)\n+    "build_target": "ALL_BUILD",\n+\n+    # Location for CMake to search for files(default is for homebrew\n+    "arm64_cmake_prefix":  \'/opt/homebrew\',\n+    "x86_64_cmake_prefix": \'/usr/local\',\n+\n+    # Locations to qt5 directories for arm and x64 libraries\n+    # The default values of these paths are taken from the default\n+    # paths used for homebrew\n+    "arm64_qt5_path":  \'/opt/homebrew/opt/qt5\',\n+    "x86_64_qt5_path": \'/usr/local/opt/qt5\',\n+\n+    # Identity to use for code signing. "-" indicates that the app will not\n+    # be cryptographically signed/notarized but will instead just use a\n+    # SHA checksum to verify the integrity of the app. This doesn\'t\n+    # protect against malicious actors, but it does protect against\n+    # running corrupted binaries and allows for access to the extended\n+    # permisions needed for ARM builds\n+    "codesign_identity":  \'-\',\n+    # Entitlements file to use for code signing\n+    "entitlements": "../Source/Core/DolphinQt/DolphinEmu.entitlements",\n+\n+    # Minimum macOS version for each architecture slice\n+    "arm64_mac_os_deployment_target":  "11.0.0",\n+    "x86_64_mac_os_deployment_target": "10.12.0",\n+\n+    # CMake Generator to use for building\n+    "generator": "Unix Makefiles",\n+    "build_type": "Release"\n+\n+}\n+\n+# Architectures to build for. This is explicity left out of the command line\n+# config options for several reasons:\n+# 1) Adding new architectures will generally require more code changes\n+# 2) Single architecture builds should utilize the normal generated cmake\n+#    project files rather than this wrapper script\n+\n+ARCHITECTURES = ["x86_64", "arm64"]\n+\n+\n+def parse_args(conf=DEFAULT_CONFIG):\n+    """\n+    Parses the command line arguments into a config dictionary.\n+    """\n+\n+    parser = argparse.ArgumentParser(\n+        formatter_class=argparse.ArgumentDefaultsHelpFormatter)\n+\n+    parser.add_argument(\n+        \'--target\',\n+        help=\'Build target in generated project files\',\n+        default=conf["build_target"],\n+        dest="build_target")\n+    parser.add_argument(\n+        \'-G\',\n+        help=\'CMake Generator to use for creating project files\',\n+        default=conf["generator"],\n+        dest="generator")\n+    parser.add_argument(\n+        \'--build_type\',\n+        help=\'CMake build type [Debug, Release, RelWithDebInfo, MinSizeRel]\',\n+        default=conf["build_type"],\n+        dest="build_type")\n+    parser.add_argument(\n+        \'--dst_app\',\n+        help=\'Directory where universal binary will be stored\',\n+        default=conf["dst_app"])\n+\n+    parser.add_argument(\n+        \'--entitlements\',\n+        help=\'Path to .entitlements file for code signing\',\n+        default=conf["entitlements"])\n+\n+    parser.add_argument(\n+        \'--codesign\',\n+        help=\'Code signing identity to use to sign the applications\',\n+        default=conf["codesign_identity"],\n+        dest="codesign_identity")\n+\n+    for arch in ARCHITECTURES:\n+        parser.add_argument(\n+             \'--{}_cmake_prefix\'.format(arch),', 'user': {'organizations_url': 'https://api.github.com/users/leoetlino/orgs', 'repos_url': 'https://api.github.com/users/leoetlino/repos', 'html_url': 'https://github.com/leoetlino', 'url': 'https://api.github.com/users/leoetlino', 'node_id': 'MDQ6VXNlcjQyMDkwNjE=', 'avatar_url': 'https://avatars.githubusercontent.com/u/4209061?v=4', 'followers_url': 'https://api.github.com/users/leoetlino/followers', 'received_events_url': 'https://api.github.com/users/leoetlino/received_events', 'events_url': 'https://api.github.com/users/leoetlino/events{/privacy}', 'gists_url': 'https://api.github.com/users/leoetlino/gists{/gist_id}', 'following_url': 'https://api.github.com/users/leoetlino/following{/other_user}', 'gravatar_id': '', 'login': 'leoetlino', 'subscriptions_url': 'https://api.github.com/users/leoetlino/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/leoetlino/starred{/owner}{/repo}', 'id': 4209061}, 'node_id': 'MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDYzMjUzMTY3Ng==', 'id': 632531676}, {'position': 126, 'commit_id': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9441#discussion_r632531926', 'created_at': '2021-05-14T13:35:25Z', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/632531926', 'original_position': 126, 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441', '_links': {'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/9441#discussion_r632531926'}, 'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/632531926'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441'}}, 'pull_request_review_id': 659840266, 'original_commit_id': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'path': 'BuildMacOSUniversalBinary.py', 'updated_at': '2021-05-14T13:59:03Z', 'body': '```suggestion\r\n             help="Folder for cmake to search for packages",\r\n```\r\n(I guess having too many format arguments isn\'t an error...)', 'author_association': 'MEMBER', 'diff_hunk': '@@ -0,0 +1,299 @@\n+#!/usr/bin/env python3\n+"""\n+The current tooling supported in CMake, Homebrew, and QT5 are inufficient for\n+creating MacOSX universal binaries automatically for applications like Dolphin\n+which have more complicated build requirements (like different libraries, build\n+flags and source files for each target architecture).\n+\n+So instead, this script manages the configuration and compilation of distinct\n+builds and project files for each target architecture and then merges the two\n+binaries into a single universal binary.\n+\n+Running this script will:\n+1) Generate Xcode project files for the ARM build (if project files don\'t\n+   already exist)\n+2) Generate Xcode project files for the x64 build (if project files don\'t\n+   already exist)\n+3) Build the ARM project for the selected build_target\n+4) Build the x64 project for the selected build_target\n+5) Generates universal .app packages combining the ARM and x64 packages\n+6) Utilizes the lipo tool to combine the binary objects inside each of the\n+   packages into universal binaries\n+7) Code signs the final universal binaries using the specified\n+   codesign_identity\n+"""\n+\n+import argparse\n+import filecmp\n+import glob\n+import json\n+import multiprocessing\n+import os\n+import shutil\n+import subprocess\n+\n+# The config variables listed below are the defaults, but they can be\n+# overridden by command line arguments see parse_args(), or run:\n+# BuildMacOSUniversalBinary.py --help\n+DEFAULT_CONFIG = {\n+\n+    # Location of destination universal binary\n+    "dst_app": "universal/",\n+    # Build Target (dolphin-emu to just build the emulator and skip the tests)\n+    "build_target": "ALL_BUILD",\n+\n+    # Location for CMake to search for files(default is for homebrew\n+    "arm64_cmake_prefix":  \'/opt/homebrew\',\n+    "x86_64_cmake_prefix": \'/usr/local\',\n+\n+    # Locations to qt5 directories for arm and x64 libraries\n+    # The default values of these paths are taken from the default\n+    # paths used for homebrew\n+    "arm64_qt5_path":  \'/opt/homebrew/opt/qt5\',\n+    "x86_64_qt5_path": \'/usr/local/opt/qt5\',\n+\n+    # Identity to use for code signing. "-" indicates that the app will not\n+    # be cryptographically signed/notarized but will instead just use a\n+    # SHA checksum to verify the integrity of the app. This doesn\'t\n+    # protect against malicious actors, but it does protect against\n+    # running corrupted binaries and allows for access to the extended\n+    # permisions needed for ARM builds\n+    "codesign_identity":  \'-\',\n+    # Entitlements file to use for code signing\n+    "entitlements": "../Source/Core/DolphinQt/DolphinEmu.entitlements",\n+\n+    # Minimum macOS version for each architecture slice\n+    "arm64_mac_os_deployment_target":  "11.0.0",\n+    "x86_64_mac_os_deployment_target": "10.12.0",\n+\n+    # CMake Generator to use for building\n+    "generator": "Unix Makefiles",\n+    "build_type": "Release"\n+\n+}\n+\n+# Architectures to build for. This is explicity left out of the command line\n+# config options for several reasons:\n+# 1) Adding new architectures will generally require more code changes\n+# 2) Single architecture builds should utilize the normal generated cmake\n+#    project files rather than this wrapper script\n+\n+ARCHITECTURES = ["x86_64", "arm64"]\n+\n+\n+def parse_args(conf=DEFAULT_CONFIG):\n+    """\n+    Parses the command line arguments into a config dictionary.\n+    """\n+\n+    parser = argparse.ArgumentParser(\n+        formatter_class=argparse.ArgumentDefaultsHelpFormatter)\n+\n+    parser.add_argument(\n+        \'--target\',\n+        help=\'Build target in generated project files\',\n+        default=conf["build_target"],\n+        dest="build_target")\n+    parser.add_argument(\n+        \'-G\',\n+        help=\'CMake Generator to use for creating project files\',\n+        default=conf["generator"],\n+        dest="generator")\n+    parser.add_argument(\n+        \'--build_type\',\n+        help=\'CMake build type [Debug, Release, RelWithDebInfo, MinSizeRel]\',\n+        default=conf["build_type"],\n+        dest="build_type")\n+    parser.add_argument(\n+        \'--dst_app\',\n+        help=\'Directory where universal binary will be stored\',\n+        default=conf["dst_app"])\n+\n+    parser.add_argument(\n+        \'--entitlements\',\n+        help=\'Path to .entitlements file for code signing\',\n+        default=conf["entitlements"])\n+\n+    parser.add_argument(\n+        \'--codesign\',\n+        help=\'Code signing identity to use to sign the applications\',\n+        default=conf["codesign_identity"],\n+        dest="codesign_identity")\n+\n+    for arch in ARCHITECTURES:\n+        parser.add_argument(\n+             \'--{}_cmake_prefix\'.format(arch),\n+             help="Folder for cmake to search for packages".format(arch),', 'user': {'organizations_url': 'https://api.github.com/users/leoetlino/orgs', 'repos_url': 'https://api.github.com/users/leoetlino/repos', 'html_url': 'https://github.com/leoetlino', 'url': 'https://api.github.com/users/leoetlino', 'node_id': 'MDQ6VXNlcjQyMDkwNjE=', 'avatar_url': 'https://avatars.githubusercontent.com/u/4209061?v=4', 'followers_url': 'https://api.github.com/users/leoetlino/followers', 'received_events_url': 'https://api.github.com/users/leoetlino/received_events', 'events_url': 'https://api.github.com/users/leoetlino/events{/privacy}', 'gists_url': 'https://api.github.com/users/leoetlino/gists{/gist_id}', 'following_url': 'https://api.github.com/users/leoetlino/following{/other_user}', 'gravatar_id': '', 'login': 'leoetlino', 'subscriptions_url': 'https://api.github.com/users/leoetlino/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/leoetlino/starred{/owner}{/repo}', 'id': 4209061}, 'node_id': 'MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDYzMjUzMTkyNg==', 'id': 632531926}, {'position': 131, 'commit_id': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9441#discussion_r632532060', 'created_at': '2021-05-14T13:35:38Z', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/632532060', 'original_position': 131, 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441', '_links': {'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/9441#discussion_r632532060'}, 'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/632532060'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441'}}, 'pull_request_review_id': 659840266, 'original_commit_id': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'path': 'BuildMacOSUniversalBinary.py', 'updated_at': '2021-05-14T13:59:03Z', 'body': 'f-string', 'author_association': 'MEMBER', 'diff_hunk': '@@ -0,0 +1,299 @@\n+#!/usr/bin/env python3\n+"""\n+The current tooling supported in CMake, Homebrew, and QT5 are inufficient for\n+creating MacOSX universal binaries automatically for applications like Dolphin\n+which have more complicated build requirements (like different libraries, build\n+flags and source files for each target architecture).\n+\n+So instead, this script manages the configuration and compilation of distinct\n+builds and project files for each target architecture and then merges the two\n+binaries into a single universal binary.\n+\n+Running this script will:\n+1) Generate Xcode project files for the ARM build (if project files don\'t\n+   already exist)\n+2) Generate Xcode project files for the x64 build (if project files don\'t\n+   already exist)\n+3) Build the ARM project for the selected build_target\n+4) Build the x64 project for the selected build_target\n+5) Generates universal .app packages combining the ARM and x64 packages\n+6) Utilizes the lipo tool to combine the binary objects inside each of the\n+   packages into universal binaries\n+7) Code signs the final universal binaries using the specified\n+   codesign_identity\n+"""\n+\n+import argparse\n+import filecmp\n+import glob\n+import json\n+import multiprocessing\n+import os\n+import shutil\n+import subprocess\n+\n+# The config variables listed below are the defaults, but they can be\n+# overridden by command line arguments see parse_args(), or run:\n+# BuildMacOSUniversalBinary.py --help\n+DEFAULT_CONFIG = {\n+\n+    # Location of destination universal binary\n+    "dst_app": "universal/",\n+    # Build Target (dolphin-emu to just build the emulator and skip the tests)\n+    "build_target": "ALL_BUILD",\n+\n+    # Location for CMake to search for files(default is for homebrew\n+    "arm64_cmake_prefix":  \'/opt/homebrew\',\n+    "x86_64_cmake_prefix": \'/usr/local\',\n+\n+    # Locations to qt5 directories for arm and x64 libraries\n+    # The default values of these paths are taken from the default\n+    # paths used for homebrew\n+    "arm64_qt5_path":  \'/opt/homebrew/opt/qt5\',\n+    "x86_64_qt5_path": \'/usr/local/opt/qt5\',\n+\n+    # Identity to use for code signing. "-" indicates that the app will not\n+    # be cryptographically signed/notarized but will instead just use a\n+    # SHA checksum to verify the integrity of the app. This doesn\'t\n+    # protect against malicious actors, but it does protect against\n+    # running corrupted binaries and allows for access to the extended\n+    # permisions needed for ARM builds\n+    "codesign_identity":  \'-\',\n+    # Entitlements file to use for code signing\n+    "entitlements": "../Source/Core/DolphinQt/DolphinEmu.entitlements",\n+\n+    # Minimum macOS version for each architecture slice\n+    "arm64_mac_os_deployment_target":  "11.0.0",\n+    "x86_64_mac_os_deployment_target": "10.12.0",\n+\n+    # CMake Generator to use for building\n+    "generator": "Unix Makefiles",\n+    "build_type": "Release"\n+\n+}\n+\n+# Architectures to build for. This is explicity left out of the command line\n+# config options for several reasons:\n+# 1) Adding new architectures will generally require more code changes\n+# 2) Single architecture builds should utilize the normal generated cmake\n+#    project files rather than this wrapper script\n+\n+ARCHITECTURES = ["x86_64", "arm64"]\n+\n+\n+def parse_args(conf=DEFAULT_CONFIG):\n+    """\n+    Parses the command line arguments into a config dictionary.\n+    """\n+\n+    parser = argparse.ArgumentParser(\n+        formatter_class=argparse.ArgumentDefaultsHelpFormatter)\n+\n+    parser.add_argument(\n+        \'--target\',\n+        help=\'Build target in generated project files\',\n+        default=conf["build_target"],\n+        dest="build_target")\n+    parser.add_argument(\n+        \'-G\',\n+        help=\'CMake Generator to use for creating project files\',\n+        default=conf["generator"],\n+        dest="generator")\n+    parser.add_argument(\n+        \'--build_type\',\n+        help=\'CMake build type [Debug, Release, RelWithDebInfo, MinSizeRel]\',\n+        default=conf["build_type"],\n+        dest="build_type")\n+    parser.add_argument(\n+        \'--dst_app\',\n+        help=\'Directory where universal binary will be stored\',\n+        default=conf["dst_app"])\n+\n+    parser.add_argument(\n+        \'--entitlements\',\n+        help=\'Path to .entitlements file for code signing\',\n+        default=conf["entitlements"])\n+\n+    parser.add_argument(\n+        \'--codesign\',\n+        help=\'Code signing identity to use to sign the applications\',\n+        default=conf["codesign_identity"],\n+        dest="codesign_identity")\n+\n+    for arch in ARCHITECTURES:\n+        parser.add_argument(\n+             \'--{}_cmake_prefix\'.format(arch),\n+             help="Folder for cmake to search for packages".format(arch),\n+             default=conf[arch+"_cmake_prefix"],\n+             dest=arch+"_cmake_prefix")\n+\n+        parser.add_argument(\n+             \'--{}_qt5_path\'.format(arch),', 'user': {'organizations_url': 'https://api.github.com/users/leoetlino/orgs', 'repos_url': 'https://api.github.com/users/leoetlino/repos', 'html_url': 'https://github.com/leoetlino', 'url': 'https://api.github.com/users/leoetlino', 'node_id': 'MDQ6VXNlcjQyMDkwNjE=', 'avatar_url': 'https://avatars.githubusercontent.com/u/4209061?v=4', 'followers_url': 'https://api.github.com/users/leoetlino/followers', 'received_events_url': 'https://api.github.com/users/leoetlino/received_events', 'events_url': 'https://api.github.com/users/leoetlino/events{/privacy}', 'gists_url': 'https://api.github.com/users/leoetlino/gists{/gist_id}', 'following_url': 'https://api.github.com/users/leoetlino/following{/other_user}', 'gravatar_id': '', 'login': 'leoetlino', 'subscriptions_url': 'https://api.github.com/users/leoetlino/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/leoetlino/starred{/owner}{/repo}', 'id': 4209061}, 'node_id': 'MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDYzMjUzMjA2MA==', 'id': 632532060}, {'position': 132, 'commit_id': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9441#discussion_r632532093', 'created_at': '2021-05-14T13:35:42Z', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/632532093', 'original_position': 132, 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441', '_links': {'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/9441#discussion_r632532093'}, 'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/632532093'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441'}}, 'pull_request_review_id': 659840266, 'original_commit_id': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'path': 'BuildMacOSUniversalBinary.py', 'updated_at': '2021-05-14T13:59:03Z', 'body': 'f-string', 'author_association': 'MEMBER', 'diff_hunk': '@@ -0,0 +1,299 @@\n+#!/usr/bin/env python3\n+"""\n+The current tooling supported in CMake, Homebrew, and QT5 are inufficient for\n+creating MacOSX universal binaries automatically for applications like Dolphin\n+which have more complicated build requirements (like different libraries, build\n+flags and source files for each target architecture).\n+\n+So instead, this script manages the configuration and compilation of distinct\n+builds and project files for each target architecture and then merges the two\n+binaries into a single universal binary.\n+\n+Running this script will:\n+1) Generate Xcode project files for the ARM build (if project files don\'t\n+   already exist)\n+2) Generate Xcode project files for the x64 build (if project files don\'t\n+   already exist)\n+3) Build the ARM project for the selected build_target\n+4) Build the x64 project for the selected build_target\n+5) Generates universal .app packages combining the ARM and x64 packages\n+6) Utilizes the lipo tool to combine the binary objects inside each of the\n+   packages into universal binaries\n+7) Code signs the final universal binaries using the specified\n+   codesign_identity\n+"""\n+\n+import argparse\n+import filecmp\n+import glob\n+import json\n+import multiprocessing\n+import os\n+import shutil\n+import subprocess\n+\n+# The config variables listed below are the defaults, but they can be\n+# overridden by command line arguments see parse_args(), or run:\n+# BuildMacOSUniversalBinary.py --help\n+DEFAULT_CONFIG = {\n+\n+    # Location of destination universal binary\n+    "dst_app": "universal/",\n+    # Build Target (dolphin-emu to just build the emulator and skip the tests)\n+    "build_target": "ALL_BUILD",\n+\n+    # Location for CMake to search for files(default is for homebrew\n+    "arm64_cmake_prefix":  \'/opt/homebrew\',\n+    "x86_64_cmake_prefix": \'/usr/local\',\n+\n+    # Locations to qt5 directories for arm and x64 libraries\n+    # The default values of these paths are taken from the default\n+    # paths used for homebrew\n+    "arm64_qt5_path":  \'/opt/homebrew/opt/qt5\',\n+    "x86_64_qt5_path": \'/usr/local/opt/qt5\',\n+\n+    # Identity to use for code signing. "-" indicates that the app will not\n+    # be cryptographically signed/notarized but will instead just use a\n+    # SHA checksum to verify the integrity of the app. This doesn\'t\n+    # protect against malicious actors, but it does protect against\n+    # running corrupted binaries and allows for access to the extended\n+    # permisions needed for ARM builds\n+    "codesign_identity":  \'-\',\n+    # Entitlements file to use for code signing\n+    "entitlements": "../Source/Core/DolphinQt/DolphinEmu.entitlements",\n+\n+    # Minimum macOS version for each architecture slice\n+    "arm64_mac_os_deployment_target":  "11.0.0",\n+    "x86_64_mac_os_deployment_target": "10.12.0",\n+\n+    # CMake Generator to use for building\n+    "generator": "Unix Makefiles",\n+    "build_type": "Release"\n+\n+}\n+\n+# Architectures to build for. This is explicity left out of the command line\n+# config options for several reasons:\n+# 1) Adding new architectures will generally require more code changes\n+# 2) Single architecture builds should utilize the normal generated cmake\n+#    project files rather than this wrapper script\n+\n+ARCHITECTURES = ["x86_64", "arm64"]\n+\n+\n+def parse_args(conf=DEFAULT_CONFIG):\n+    """\n+    Parses the command line arguments into a config dictionary.\n+    """\n+\n+    parser = argparse.ArgumentParser(\n+        formatter_class=argparse.ArgumentDefaultsHelpFormatter)\n+\n+    parser.add_argument(\n+        \'--target\',\n+        help=\'Build target in generated project files\',\n+        default=conf["build_target"],\n+        dest="build_target")\n+    parser.add_argument(\n+        \'-G\',\n+        help=\'CMake Generator to use for creating project files\',\n+        default=conf["generator"],\n+        dest="generator")\n+    parser.add_argument(\n+        \'--build_type\',\n+        help=\'CMake build type [Debug, Release, RelWithDebInfo, MinSizeRel]\',\n+        default=conf["build_type"],\n+        dest="build_type")\n+    parser.add_argument(\n+        \'--dst_app\',\n+        help=\'Directory where universal binary will be stored\',\n+        default=conf["dst_app"])\n+\n+    parser.add_argument(\n+        \'--entitlements\',\n+        help=\'Path to .entitlements file for code signing\',\n+        default=conf["entitlements"])\n+\n+    parser.add_argument(\n+        \'--codesign\',\n+        help=\'Code signing identity to use to sign the applications\',\n+        default=conf["codesign_identity"],\n+        dest="codesign_identity")\n+\n+    for arch in ARCHITECTURES:\n+        parser.add_argument(\n+             \'--{}_cmake_prefix\'.format(arch),\n+             help="Folder for cmake to search for packages".format(arch),\n+             default=conf[arch+"_cmake_prefix"],\n+             dest=arch+"_cmake_prefix")\n+\n+        parser.add_argument(\n+             \'--{}_qt5_path\'.format(arch),\n+             help="Install path for {} qt5 libraries".format(arch),', 'user': {'organizations_url': 'https://api.github.com/users/leoetlino/orgs', 'repos_url': 'https://api.github.com/users/leoetlino/repos', 'html_url': 'https://github.com/leoetlino', 'url': 'https://api.github.com/users/leoetlino', 'node_id': 'MDQ6VXNlcjQyMDkwNjE=', 'avatar_url': 'https://avatars.githubusercontent.com/u/4209061?v=4', 'followers_url': 'https://api.github.com/users/leoetlino/followers', 'received_events_url': 'https://api.github.com/users/leoetlino/received_events', 'events_url': 'https://api.github.com/users/leoetlino/events{/privacy}', 'gists_url': 'https://api.github.com/users/leoetlino/gists{/gist_id}', 'following_url': 'https://api.github.com/users/leoetlino/following{/other_user}', 'gravatar_id': '', 'login': 'leoetlino', 'subscriptions_url': 'https://api.github.com/users/leoetlino/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/leoetlino/starred{/owner}{/repo}', 'id': 4209061}, 'node_id': 'MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDYzMjUzMjA5Mw==', 'id': 632532093}, {'position': 136, 'commit_id': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9441#discussion_r632532175', 'created_at': '2021-05-14T13:35:50Z', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/632532175', 'original_position': 136, 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441', '_links': {'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/9441#discussion_r632532175'}, 'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/632532175'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441'}}, 'pull_request_review_id': 659840266, 'original_commit_id': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'path': 'BuildMacOSUniversalBinary.py', 'updated_at': '2021-05-14T13:59:03Z', 'body': 'f-string', 'author_association': 'MEMBER', 'diff_hunk': '@@ -0,0 +1,299 @@\n+#!/usr/bin/env python3\n+"""\n+The current tooling supported in CMake, Homebrew, and QT5 are inufficient for\n+creating MacOSX universal binaries automatically for applications like Dolphin\n+which have more complicated build requirements (like different libraries, build\n+flags and source files for each target architecture).\n+\n+So instead, this script manages the configuration and compilation of distinct\n+builds and project files for each target architecture and then merges the two\n+binaries into a single universal binary.\n+\n+Running this script will:\n+1) Generate Xcode project files for the ARM build (if project files don\'t\n+   already exist)\n+2) Generate Xcode project files for the x64 build (if project files don\'t\n+   already exist)\n+3) Build the ARM project for the selected build_target\n+4) Build the x64 project for the selected build_target\n+5) Generates universal .app packages combining the ARM and x64 packages\n+6) Utilizes the lipo tool to combine the binary objects inside each of the\n+   packages into universal binaries\n+7) Code signs the final universal binaries using the specified\n+   codesign_identity\n+"""\n+\n+import argparse\n+import filecmp\n+import glob\n+import json\n+import multiprocessing\n+import os\n+import shutil\n+import subprocess\n+\n+# The config variables listed below are the defaults, but they can be\n+# overridden by command line arguments see parse_args(), or run:\n+# BuildMacOSUniversalBinary.py --help\n+DEFAULT_CONFIG = {\n+\n+    # Location of destination universal binary\n+    "dst_app": "universal/",\n+    # Build Target (dolphin-emu to just build the emulator and skip the tests)\n+    "build_target": "ALL_BUILD",\n+\n+    # Location for CMake to search for files(default is for homebrew\n+    "arm64_cmake_prefix":  \'/opt/homebrew\',\n+    "x86_64_cmake_prefix": \'/usr/local\',\n+\n+    # Locations to qt5 directories for arm and x64 libraries\n+    # The default values of these paths are taken from the default\n+    # paths used for homebrew\n+    "arm64_qt5_path":  \'/opt/homebrew/opt/qt5\',\n+    "x86_64_qt5_path": \'/usr/local/opt/qt5\',\n+\n+    # Identity to use for code signing. "-" indicates that the app will not\n+    # be cryptographically signed/notarized but will instead just use a\n+    # SHA checksum to verify the integrity of the app. This doesn\'t\n+    # protect against malicious actors, but it does protect against\n+    # running corrupted binaries and allows for access to the extended\n+    # permisions needed for ARM builds\n+    "codesign_identity":  \'-\',\n+    # Entitlements file to use for code signing\n+    "entitlements": "../Source/Core/DolphinQt/DolphinEmu.entitlements",\n+\n+    # Minimum macOS version for each architecture slice\n+    "arm64_mac_os_deployment_target":  "11.0.0",\n+    "x86_64_mac_os_deployment_target": "10.12.0",\n+\n+    # CMake Generator to use for building\n+    "generator": "Unix Makefiles",\n+    "build_type": "Release"\n+\n+}\n+\n+# Architectures to build for. This is explicity left out of the command line\n+# config options for several reasons:\n+# 1) Adding new architectures will generally require more code changes\n+# 2) Single architecture builds should utilize the normal generated cmake\n+#    project files rather than this wrapper script\n+\n+ARCHITECTURES = ["x86_64", "arm64"]\n+\n+\n+def parse_args(conf=DEFAULT_CONFIG):\n+    """\n+    Parses the command line arguments into a config dictionary.\n+    """\n+\n+    parser = argparse.ArgumentParser(\n+        formatter_class=argparse.ArgumentDefaultsHelpFormatter)\n+\n+    parser.add_argument(\n+        \'--target\',\n+        help=\'Build target in generated project files\',\n+        default=conf["build_target"],\n+        dest="build_target")\n+    parser.add_argument(\n+        \'-G\',\n+        help=\'CMake Generator to use for creating project files\',\n+        default=conf["generator"],\n+        dest="generator")\n+    parser.add_argument(\n+        \'--build_type\',\n+        help=\'CMake build type [Debug, Release, RelWithDebInfo, MinSizeRel]\',\n+        default=conf["build_type"],\n+        dest="build_type")\n+    parser.add_argument(\n+        \'--dst_app\',\n+        help=\'Directory where universal binary will be stored\',\n+        default=conf["dst_app"])\n+\n+    parser.add_argument(\n+        \'--entitlements\',\n+        help=\'Path to .entitlements file for code signing\',\n+        default=conf["entitlements"])\n+\n+    parser.add_argument(\n+        \'--codesign\',\n+        help=\'Code signing identity to use to sign the applications\',\n+        default=conf["codesign_identity"],\n+        dest="codesign_identity")\n+\n+    for arch in ARCHITECTURES:\n+        parser.add_argument(\n+             \'--{}_cmake_prefix\'.format(arch),\n+             help="Folder for cmake to search for packages".format(arch),\n+             default=conf[arch+"_cmake_prefix"],\n+             dest=arch+"_cmake_prefix")\n+\n+        parser.add_argument(\n+             \'--{}_qt5_path\'.format(arch),\n+             help="Install path for {} qt5 libraries".format(arch),\n+             default=conf[arch+"_qt5_path"])\n+\n+        parser.add_argument(\n+             \'--{}_mac_os_deployment_target\'.format(arch),', 'user': {'organizations_url': 'https://api.github.com/users/leoetlino/orgs', 'repos_url': 'https://api.github.com/users/leoetlino/repos', 'html_url': 'https://github.com/leoetlino', 'url': 'https://api.github.com/users/leoetlino', 'node_id': 'MDQ6VXNlcjQyMDkwNjE=', 'avatar_url': 'https://avatars.githubusercontent.com/u/4209061?v=4', 'followers_url': 'https://api.github.com/users/leoetlino/followers', 'received_events_url': 'https://api.github.com/users/leoetlino/received_events', 'events_url': 'https://api.github.com/users/leoetlino/events{/privacy}', 'gists_url': 'https://api.github.com/users/leoetlino/gists{/gist_id}', 'following_url': 'https://api.github.com/users/leoetlino/following{/other_user}', 'gravatar_id': '', 'login': 'leoetlino', 'subscriptions_url': 'https://api.github.com/users/leoetlino/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/leoetlino/starred{/owner}{/repo}', 'id': 4209061}, 'node_id': 'MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDYzMjUzMjE3NQ==', 'id': 632532175}, {'position': 137, 'commit_id': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9441#discussion_r632532258', 'created_at': '2021-05-14T13:35:55Z', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/632532258', 'original_position': 137, 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441', '_links': {'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/9441#discussion_r632532258'}, 'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/632532258'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441'}}, 'pull_request_review_id': 659840266, 'original_commit_id': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'path': 'BuildMacOSUniversalBinary.py', 'updated_at': '2021-05-14T13:59:03Z', 'body': 'f-string', 'author_association': 'MEMBER', 'diff_hunk': '@@ -0,0 +1,299 @@\n+#!/usr/bin/env python3\n+"""\n+The current tooling supported in CMake, Homebrew, and QT5 are inufficient for\n+creating MacOSX universal binaries automatically for applications like Dolphin\n+which have more complicated build requirements (like different libraries, build\n+flags and source files for each target architecture).\n+\n+So instead, this script manages the configuration and compilation of distinct\n+builds and project files for each target architecture and then merges the two\n+binaries into a single universal binary.\n+\n+Running this script will:\n+1) Generate Xcode project files for the ARM build (if project files don\'t\n+   already exist)\n+2) Generate Xcode project files for the x64 build (if project files don\'t\n+   already exist)\n+3) Build the ARM project for the selected build_target\n+4) Build the x64 project for the selected build_target\n+5) Generates universal .app packages combining the ARM and x64 packages\n+6) Utilizes the lipo tool to combine the binary objects inside each of the\n+   packages into universal binaries\n+7) Code signs the final universal binaries using the specified\n+   codesign_identity\n+"""\n+\n+import argparse\n+import filecmp\n+import glob\n+import json\n+import multiprocessing\n+import os\n+import shutil\n+import subprocess\n+\n+# The config variables listed below are the defaults, but they can be\n+# overridden by command line arguments see parse_args(), or run:\n+# BuildMacOSUniversalBinary.py --help\n+DEFAULT_CONFIG = {\n+\n+    # Location of destination universal binary\n+    "dst_app": "universal/",\n+    # Build Target (dolphin-emu to just build the emulator and skip the tests)\n+    "build_target": "ALL_BUILD",\n+\n+    # Location for CMake to search for files(default is for homebrew\n+    "arm64_cmake_prefix":  \'/opt/homebrew\',\n+    "x86_64_cmake_prefix": \'/usr/local\',\n+\n+    # Locations to qt5 directories for arm and x64 libraries\n+    # The default values of these paths are taken from the default\n+    # paths used for homebrew\n+    "arm64_qt5_path":  \'/opt/homebrew/opt/qt5\',\n+    "x86_64_qt5_path": \'/usr/local/opt/qt5\',\n+\n+    # Identity to use for code signing. "-" indicates that the app will not\n+    # be cryptographically signed/notarized but will instead just use a\n+    # SHA checksum to verify the integrity of the app. This doesn\'t\n+    # protect against malicious actors, but it does protect against\n+    # running corrupted binaries and allows for access to the extended\n+    # permisions needed for ARM builds\n+    "codesign_identity":  \'-\',\n+    # Entitlements file to use for code signing\n+    "entitlements": "../Source/Core/DolphinQt/DolphinEmu.entitlements",\n+\n+    # Minimum macOS version for each architecture slice\n+    "arm64_mac_os_deployment_target":  "11.0.0",\n+    "x86_64_mac_os_deployment_target": "10.12.0",\n+\n+    # CMake Generator to use for building\n+    "generator": "Unix Makefiles",\n+    "build_type": "Release"\n+\n+}\n+\n+# Architectures to build for. This is explicity left out of the command line\n+# config options for several reasons:\n+# 1) Adding new architectures will generally require more code changes\n+# 2) Single architecture builds should utilize the normal generated cmake\n+#    project files rather than this wrapper script\n+\n+ARCHITECTURES = ["x86_64", "arm64"]\n+\n+\n+def parse_args(conf=DEFAULT_CONFIG):\n+    """\n+    Parses the command line arguments into a config dictionary.\n+    """\n+\n+    parser = argparse.ArgumentParser(\n+        formatter_class=argparse.ArgumentDefaultsHelpFormatter)\n+\n+    parser.add_argument(\n+        \'--target\',\n+        help=\'Build target in generated project files\',\n+        default=conf["build_target"],\n+        dest="build_target")\n+    parser.add_argument(\n+        \'-G\',\n+        help=\'CMake Generator to use for creating project files\',\n+        default=conf["generator"],\n+        dest="generator")\n+    parser.add_argument(\n+        \'--build_type\',\n+        help=\'CMake build type [Debug, Release, RelWithDebInfo, MinSizeRel]\',\n+        default=conf["build_type"],\n+        dest="build_type")\n+    parser.add_argument(\n+        \'--dst_app\',\n+        help=\'Directory where universal binary will be stored\',\n+        default=conf["dst_app"])\n+\n+    parser.add_argument(\n+        \'--entitlements\',\n+        help=\'Path to .entitlements file for code signing\',\n+        default=conf["entitlements"])\n+\n+    parser.add_argument(\n+        \'--codesign\',\n+        help=\'Code signing identity to use to sign the applications\',\n+        default=conf["codesign_identity"],\n+        dest="codesign_identity")\n+\n+    for arch in ARCHITECTURES:\n+        parser.add_argument(\n+             \'--{}_cmake_prefix\'.format(arch),\n+             help="Folder for cmake to search for packages".format(arch),\n+             default=conf[arch+"_cmake_prefix"],\n+             dest=arch+"_cmake_prefix")\n+\n+        parser.add_argument(\n+             \'--{}_qt5_path\'.format(arch),\n+             help="Install path for {} qt5 libraries".format(arch),\n+             default=conf[arch+"_qt5_path"])\n+\n+        parser.add_argument(\n+             \'--{}_mac_os_deployment_target\'.format(arch),\n+             help="Deployment architecture for {} slice".format(arch),', 'user': {'organizations_url': 'https://api.github.com/users/leoetlino/orgs', 'repos_url': 'https://api.github.com/users/leoetlino/repos', 'html_url': 'https://github.com/leoetlino', 'url': 'https://api.github.com/users/leoetlino', 'node_id': 'MDQ6VXNlcjQyMDkwNjE=', 'avatar_url': 'https://avatars.githubusercontent.com/u/4209061?v=4', 'followers_url': 'https://api.github.com/users/leoetlino/followers', 'received_events_url': 'https://api.github.com/users/leoetlino/received_events', 'events_url': 'https://api.github.com/users/leoetlino/events{/privacy}', 'gists_url': 'https://api.github.com/users/leoetlino/gists{/gist_id}', 'following_url': 'https://api.github.com/users/leoetlino/following{/other_user}', 'gravatar_id': '', 'login': 'leoetlino', 'subscriptions_url': 'https://api.github.com/users/leoetlino/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/leoetlino/starred{/owner}{/repo}', 'id': 4209061}, 'node_id': 'MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDYzMjUzMjI1OA==', 'id': 632532258}, {'position': 151, 'commit_id': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9441#discussion_r632533472', 'created_at': '2021-05-14T13:37:46Z', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/632533472', 'original_position': 151, 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441', '_links': {'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/9441#discussion_r632533472'}, 'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/632533472'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441'}}, 'pull_request_review_id': 659840266, 'original_commit_id': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'path': 'BuildMacOSUniversalBinary.py', 'updated_at': '2021-05-14T13:59:03Z', 'body': '```suggestion\r\ndef recursive_merge_binaries(src0, src1, dst):\r\n```', 'author_association': 'MEMBER', 'diff_hunk': '@@ -0,0 +1,299 @@\n+#!/usr/bin/env python3\n+"""\n+The current tooling supported in CMake, Homebrew, and QT5 are inufficient for\n+creating MacOSX universal binaries automatically for applications like Dolphin\n+which have more complicated build requirements (like different libraries, build\n+flags and source files for each target architecture).\n+\n+So instead, this script manages the configuration and compilation of distinct\n+builds and project files for each target architecture and then merges the two\n+binaries into a single universal binary.\n+\n+Running this script will:\n+1) Generate Xcode project files for the ARM build (if project files don\'t\n+   already exist)\n+2) Generate Xcode project files for the x64 build (if project files don\'t\n+   already exist)\n+3) Build the ARM project for the selected build_target\n+4) Build the x64 project for the selected build_target\n+5) Generates universal .app packages combining the ARM and x64 packages\n+6) Utilizes the lipo tool to combine the binary objects inside each of the\n+   packages into universal binaries\n+7) Code signs the final universal binaries using the specified\n+   codesign_identity\n+"""\n+\n+import argparse\n+import filecmp\n+import glob\n+import json\n+import multiprocessing\n+import os\n+import shutil\n+import subprocess\n+\n+# The config variables listed below are the defaults, but they can be\n+# overridden by command line arguments see parse_args(), or run:\n+# BuildMacOSUniversalBinary.py --help\n+DEFAULT_CONFIG = {\n+\n+    # Location of destination universal binary\n+    "dst_app": "universal/",\n+    # Build Target (dolphin-emu to just build the emulator and skip the tests)\n+    "build_target": "ALL_BUILD",\n+\n+    # Location for CMake to search for files(default is for homebrew\n+    "arm64_cmake_prefix":  \'/opt/homebrew\',\n+    "x86_64_cmake_prefix": \'/usr/local\',\n+\n+    # Locations to qt5 directories for arm and x64 libraries\n+    # The default values of these paths are taken from the default\n+    # paths used for homebrew\n+    "arm64_qt5_path":  \'/opt/homebrew/opt/qt5\',\n+    "x86_64_qt5_path": \'/usr/local/opt/qt5\',\n+\n+    # Identity to use for code signing. "-" indicates that the app will not\n+    # be cryptographically signed/notarized but will instead just use a\n+    # SHA checksum to verify the integrity of the app. This doesn\'t\n+    # protect against malicious actors, but it does protect against\n+    # running corrupted binaries and allows for access to the extended\n+    # permisions needed for ARM builds\n+    "codesign_identity":  \'-\',\n+    # Entitlements file to use for code signing\n+    "entitlements": "../Source/Core/DolphinQt/DolphinEmu.entitlements",\n+\n+    # Minimum macOS version for each architecture slice\n+    "arm64_mac_os_deployment_target":  "11.0.0",\n+    "x86_64_mac_os_deployment_target": "10.12.0",\n+\n+    # CMake Generator to use for building\n+    "generator": "Unix Makefiles",\n+    "build_type": "Release"\n+\n+}\n+\n+# Architectures to build for. This is explicity left out of the command line\n+# config options for several reasons:\n+# 1) Adding new architectures will generally require more code changes\n+# 2) Single architecture builds should utilize the normal generated cmake\n+#    project files rather than this wrapper script\n+\n+ARCHITECTURES = ["x86_64", "arm64"]\n+\n+\n+def parse_args(conf=DEFAULT_CONFIG):\n+    """\n+    Parses the command line arguments into a config dictionary.\n+    """\n+\n+    parser = argparse.ArgumentParser(\n+        formatter_class=argparse.ArgumentDefaultsHelpFormatter)\n+\n+    parser.add_argument(\n+        \'--target\',\n+        help=\'Build target in generated project files\',\n+        default=conf["build_target"],\n+        dest="build_target")\n+    parser.add_argument(\n+        \'-G\',\n+        help=\'CMake Generator to use for creating project files\',\n+        default=conf["generator"],\n+        dest="generator")\n+    parser.add_argument(\n+        \'--build_type\',\n+        help=\'CMake build type [Debug, Release, RelWithDebInfo, MinSizeRel]\',\n+        default=conf["build_type"],\n+        dest="build_type")\n+    parser.add_argument(\n+        \'--dst_app\',\n+        help=\'Directory where universal binary will be stored\',\n+        default=conf["dst_app"])\n+\n+    parser.add_argument(\n+        \'--entitlements\',\n+        help=\'Path to .entitlements file for code signing\',\n+        default=conf["entitlements"])\n+\n+    parser.add_argument(\n+        \'--codesign\',\n+        help=\'Code signing identity to use to sign the applications\',\n+        default=conf["codesign_identity"],\n+        dest="codesign_identity")\n+\n+    for arch in ARCHITECTURES:\n+        parser.add_argument(\n+             \'--{}_cmake_prefix\'.format(arch),\n+             help="Folder for cmake to search for packages".format(arch),\n+             default=conf[arch+"_cmake_prefix"],\n+             dest=arch+"_cmake_prefix")\n+\n+        parser.add_argument(\n+             \'--{}_qt5_path\'.format(arch),\n+             help="Install path for {} qt5 libraries".format(arch),\n+             default=conf[arch+"_qt5_path"])\n+\n+        parser.add_argument(\n+             \'--{}_mac_os_deployment_target\'.format(arch),\n+             help="Deployment architecture for {} slice".format(arch),\n+             default=conf[arch+"_mac_os_deployment_target"])\n+\n+    return vars(parser.parse_args())\n+\n+\n+def lipo(path0, path1, dst):\n+    if subprocess.call([\'lipo\', \'-create\', \'-output\', dst, path0, path1]) != 0:\n+        print("WARNING: {0} and {1} can not be lipo\'d, keeping {0}"\n+              .format(path0, path1))\n+\n+        shutil.copy(path0, dst)\n+\n+\n+def recursiveMergeBinaries(src0, src1, dst):', 'user': {'organizations_url': 'https://api.github.com/users/leoetlino/orgs', 'repos_url': 'https://api.github.com/users/leoetlino/repos', 'html_url': 'https://github.com/leoetlino', 'url': 'https://api.github.com/users/leoetlino', 'node_id': 'MDQ6VXNlcjQyMDkwNjE=', 'avatar_url': 'https://avatars.githubusercontent.com/u/4209061?v=4', 'followers_url': 'https://api.github.com/users/leoetlino/followers', 'received_events_url': 'https://api.github.com/users/leoetlino/received_events', 'events_url': 'https://api.github.com/users/leoetlino/events{/privacy}', 'gists_url': 'https://api.github.com/users/leoetlino/gists{/gist_id}', 'following_url': 'https://api.github.com/users/leoetlino/following{/other_user}', 'gravatar_id': '', 'login': 'leoetlino', 'subscriptions_url': 'https://api.github.com/users/leoetlino/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/leoetlino/starred{/owner}{/repo}', 'id': 4209061}, 'node_id': 'MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDYzMjUzMzQ3Mg==', 'id': 632533472}, {'position': 279, 'commit_id': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9441#discussion_r632536292', 'created_at': '2021-05-14T13:42:08Z', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/632536292', 'original_position': 279, 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441', '_links': {'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/9441#discussion_r632536292'}, 'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/632536292'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441'}}, 'pull_request_review_id': 659840266, 'original_commit_id': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'path': 'BuildMacOSUniversalBinary.py', 'updated_at': '2021-05-14T13:59:03Z', 'body': 'pathlib can be used to make path manipulations a lot nicer. (Just a FYI since the code has already been written and tested.)', 'author_association': 'MEMBER', 'diff_hunk': '@@ -0,0 +1,299 @@\n+#!/usr/bin/env python3\n+"""\n+The current tooling supported in CMake, Homebrew, and QT5 are inufficient for\n+creating MacOSX universal binaries automatically for applications like Dolphin\n+which have more complicated build requirements (like different libraries, build\n+flags and source files for each target architecture).\n+\n+So instead, this script manages the configuration and compilation of distinct\n+builds and project files for each target architecture and then merges the two\n+binaries into a single universal binary.\n+\n+Running this script will:\n+1) Generate Xcode project files for the ARM build (if project files don\'t\n+   already exist)\n+2) Generate Xcode project files for the x64 build (if project files don\'t\n+   already exist)\n+3) Build the ARM project for the selected build_target\n+4) Build the x64 project for the selected build_target\n+5) Generates universal .app packages combining the ARM and x64 packages\n+6) Utilizes the lipo tool to combine the binary objects inside each of the\n+   packages into universal binaries\n+7) Code signs the final universal binaries using the specified\n+   codesign_identity\n+"""\n+\n+import argparse\n+import filecmp\n+import glob\n+import json\n+import multiprocessing\n+import os\n+import shutil\n+import subprocess\n+\n+# The config variables listed below are the defaults, but they can be\n+# overridden by command line arguments see parse_args(), or run:\n+# BuildMacOSUniversalBinary.py --help\n+DEFAULT_CONFIG = {\n+\n+    # Location of destination universal binary\n+    "dst_app": "universal/",\n+    # Build Target (dolphin-emu to just build the emulator and skip the tests)\n+    "build_target": "ALL_BUILD",\n+\n+    # Location for CMake to search for files(default is for homebrew\n+    "arm64_cmake_prefix":  \'/opt/homebrew\',\n+    "x86_64_cmake_prefix": \'/usr/local\',\n+\n+    # Locations to qt5 directories for arm and x64 libraries\n+    # The default values of these paths are taken from the default\n+    # paths used for homebrew\n+    "arm64_qt5_path":  \'/opt/homebrew/opt/qt5\',\n+    "x86_64_qt5_path": \'/usr/local/opt/qt5\',\n+\n+    # Identity to use for code signing. "-" indicates that the app will not\n+    # be cryptographically signed/notarized but will instead just use a\n+    # SHA checksum to verify the integrity of the app. This doesn\'t\n+    # protect against malicious actors, but it does protect against\n+    # running corrupted binaries and allows for access to the extended\n+    # permisions needed for ARM builds\n+    "codesign_identity":  \'-\',\n+    # Entitlements file to use for code signing\n+    "entitlements": "../Source/Core/DolphinQt/DolphinEmu.entitlements",\n+\n+    # Minimum macOS version for each architecture slice\n+    "arm64_mac_os_deployment_target":  "11.0.0",\n+    "x86_64_mac_os_deployment_target": "10.12.0",\n+\n+    # CMake Generator to use for building\n+    "generator": "Unix Makefiles",\n+    "build_type": "Release"\n+\n+}\n+\n+# Architectures to build for. This is explicity left out of the command line\n+# config options for several reasons:\n+# 1) Adding new architectures will generally require more code changes\n+# 2) Single architecture builds should utilize the normal generated cmake\n+#    project files rather than this wrapper script\n+\n+ARCHITECTURES = ["x86_64", "arm64"]\n+\n+\n+def parse_args(conf=DEFAULT_CONFIG):\n+    """\n+    Parses the command line arguments into a config dictionary.\n+    """\n+\n+    parser = argparse.ArgumentParser(\n+        formatter_class=argparse.ArgumentDefaultsHelpFormatter)\n+\n+    parser.add_argument(\n+        \'--target\',\n+        help=\'Build target in generated project files\',\n+        default=conf["build_target"],\n+        dest="build_target")\n+    parser.add_argument(\n+        \'-G\',\n+        help=\'CMake Generator to use for creating project files\',\n+        default=conf["generator"],\n+        dest="generator")\n+    parser.add_argument(\n+        \'--build_type\',\n+        help=\'CMake build type [Debug, Release, RelWithDebInfo, MinSizeRel]\',\n+        default=conf["build_type"],\n+        dest="build_type")\n+    parser.add_argument(\n+        \'--dst_app\',\n+        help=\'Directory where universal binary will be stored\',\n+        default=conf["dst_app"])\n+\n+    parser.add_argument(\n+        \'--entitlements\',\n+        help=\'Path to .entitlements file for code signing\',\n+        default=conf["entitlements"])\n+\n+    parser.add_argument(\n+        \'--codesign\',\n+        help=\'Code signing identity to use to sign the applications\',\n+        default=conf["codesign_identity"],\n+        dest="codesign_identity")\n+\n+    for arch in ARCHITECTURES:\n+        parser.add_argument(\n+             \'--{}_cmake_prefix\'.format(arch),\n+             help="Folder for cmake to search for packages".format(arch),\n+             default=conf[arch+"_cmake_prefix"],\n+             dest=arch+"_cmake_prefix")\n+\n+        parser.add_argument(\n+             \'--{}_qt5_path\'.format(arch),\n+             help="Install path for {} qt5 libraries".format(arch),\n+             default=conf[arch+"_qt5_path"])\n+\n+        parser.add_argument(\n+             \'--{}_mac_os_deployment_target\'.format(arch),\n+             help="Deployment architecture for {} slice".format(arch),\n+             default=conf[arch+"_mac_os_deployment_target"])\n+\n+    return vars(parser.parse_args())\n+\n+\n+def lipo(path0, path1, dst):\n+    if subprocess.call([\'lipo\', \'-create\', \'-output\', dst, path0, path1]) != 0:\n+        print("WARNING: {0} and {1} can not be lipo\'d, keeping {0}"\n+              .format(path0, path1))\n+\n+        shutil.copy(path0, dst)\n+\n+\n+def recursiveMergeBinaries(src0, src1, dst):\n+    """\n+    Merges two build trees together for different architectures into a single\n+    universal binary.\n+\n+    The rules for merging are:\n+\n+    1) Files that exist in either src tree are copied into the dst tree\n+    2) Files that exist in both trees and are identical are copied over\n+       unmodified\n+    3) Files that exist in both trees and are non-identical are lipo\'d\n+    4) Symlinks are created in the destination tree to mirror the hierarchy in\n+       the source trees\n+    """\n+\n+    for newpath0 in glob.glob(src0+"/*"):\n+        filename = os.path.basename(newpath0)\n+        newpath1 = os.path.join(src1, filename)\n+        new_dst_path = os.path.join(dst, filename)\n+        if os.path.islink(newpath0):\n+            # Symlinks will be fixed after files are resolved\n+            continue\n+\n+        if not os.path.exists(newpath1):\n+            shutil.copy(newpath0, new_dst_path)\n+            continue\n+\n+        if os.path.isdir(newpath1):\n+            os.mkdir(new_dst_path)\n+            recursiveMergeBinaries(newpath0, newpath1, new_dst_path)\n+            continue\n+\n+        if filecmp.cmp(newpath0, newpath1):\n+            shutil.copy(newpath0, new_dst_path)\n+        else:\n+            lipo(newpath0, newpath1, new_dst_path)\n+\n+    # Loop over files in src1 and copy missing things over to dst\n+    for newpath1 in glob.glob(src1+"/*"):\n+        filename = os.path.basename(newpath1)\n+        newpath0 = os.path.join(src0, filename)\n+        new_dst_path = os.path.join(dst, filename)\n+        if (not os.path.exists(newpath0)) and (not os.path.islink(newpath1)):\n+            if os.path.isdir(newpath1):\n+                shutil.copytree(newpath1, new_dst_path)\n+            else:\n+                shutil.copy(newpath1, new_dst_path)\n+\n+    # Fix up symlinks for path0\n+    for newpath0 in glob.glob(src0+"/*"):\n+        filename = os.path.basename(newpath0)\n+        new_dst_path = os.path.join(dst, filename)\n+        if os.path.islink(newpath0):\n+            relative_path = os.path.relpath(os.path.realpath(newpath0), src0)\n+            os.symlink(relative_path, new_dst_path)\n+    # Fix up symlinks for path1\n+    for newpath1 in glob.glob(src1+"/*"):\n+        filename = os.path.basename(newpath1)\n+        new_dst_path = os.path.join(dst, filename)\n+        newpath0 = os.path.join(src0, filename)\n+        if os.path.islink(newpath1) and not os.path.exists(newpath0):\n+            relative_path = os.path.relpath(os.path.realpath(newpath1), src1)\n+            os.symlink(relative_path, new_dst_path)\n+\n+\n+def build(config):\n+    """\n+    Builds the project with the parameters specified in config.\n+    """\n+\n+    print("Building config:")\n+    print(json.dumps(config, indent=4))\n+\n+    # Configure and build single architecture builds for each architecture\n+    for arch in ARCHITECTURES:\n+        if not os.path.exists(arch):\n+            os.mkdir(arch)\n+\n+        env = os.environ.copy()\n+        env[\'Qt5_DIR\'] = config[arch+"_qt5_path"]\n+        env[\'CMAKE_OSX_ARCHITECTURES\'] = arch\n+        env[\'CMAKE_PREFIX_PATH\'] = config[arch+"_cmake_prefix"]\n+\n+        # Add the other architecture\'s prefix path to the ignore path so that\n+        # CMake doesn\'t try to pick up the wrong architecture\'s libraries when\n+        # cross compiling.\n+        ignore_path = ""\n+        for a in ARCHITECTURES:\n+            if a != arch:\n+                ignore_path = config[a+"_cmake_prefix"]\n+\n+        subprocess.check_call([\n+                \'cmake\', \'../../\', \'-G\', config[\'generator\'],\n+                \'-DCMAKE_BUILD_TYPE=\' + config[\'build_type\'],\n+                # System name needs to be specified for CMake to use\n+                # the specified CMAKE_SYSTEM_PROCESSOR\n+                \'-DCMAKE_SYSTEM_NAME=Darwin\',\n+                \'-DCMAKE_PREFIX_PATH=\'+config[arch+\'_cmake_prefix\'],\n+                \'-DCMAKE_SYSTEM_PROCESSOR=\'+arch,\n+                \'-DCMAKE_IGNORE_PATH=\'+ignore_path,\n+                \'-DCMAKE_OSX_DEPLOYMENT_TARGET=\'\n+                + config[arch+"_mac_os_deployment_target"],\n+                \'-DMACOS_CODE_SIGNING_IDENTITY=\'\n+                + config[\'codesign_identity\'],\n+                \'-DMACOS_CODE_SIGNING_IDENTITY_UPDATER=\'\n+                + config[\'codesign_identity\'],\n+                \'-DMACOS_CODE_SIGNING="ON"\'\n+            ],\n+            env=env, cwd=arch)\n+\n+        threads = multiprocessing.cpu_count()\n+        subprocess.check_call([\'cmake\', \'--build\', \'.\',\n+                               \'--config\', config[\'build_type\'],\n+                               \'--parallel\', \'{}\'.format(threads)], cwd=arch)\n+\n+    dst_app = config["dst_app"]\n+\n+    if os.path.exists(dst_app):\n+        shutil.rmtree(dst_app)\n+\n+    # Create and codesign the universal binary/\n+    os.mkdir(dst_app)\n+\n+    # Source binary trees to merge together\n+    src_app0 = ARCHITECTURES[0]+"/Binaries/"\n+    src_app1 = ARCHITECTURES[1]+"/Binaries/"\n+\n+    recursiveMergeBinaries(src_app0, src_app1, dst_app)\n+    for path in glob.glob(dst_app+"/*"):', 'user': {'organizations_url': 'https://api.github.com/users/leoetlino/orgs', 'repos_url': 'https://api.github.com/users/leoetlino/repos', 'html_url': 'https://github.com/leoetlino', 'url': 'https://api.github.com/users/leoetlino', 'node_id': 'MDQ6VXNlcjQyMDkwNjE=', 'avatar_url': 'https://avatars.githubusercontent.com/u/4209061?v=4', 'followers_url': 'https://api.github.com/users/leoetlino/followers', 'received_events_url': 'https://api.github.com/users/leoetlino/received_events', 'events_url': 'https://api.github.com/users/leoetlino/events{/privacy}', 'gists_url': 'https://api.github.com/users/leoetlino/gists{/gist_id}', 'following_url': 'https://api.github.com/users/leoetlino/following{/other_user}', 'gravatar_id': '', 'login': 'leoetlino', 'subscriptions_url': 'https://api.github.com/users/leoetlino/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/leoetlino/starred{/owner}{/repo}', 'id': 4209061}, 'node_id': 'MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDYzMjUzNjI5Mg==', 'id': 632536292}, {'position': 13, 'commit_id': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9441#discussion_r632539073', 'created_at': '2021-05-14T13:46:39Z', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/632539073', 'original_position': 13, 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441', '_links': {'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/9441#discussion_r632539073'}, 'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/632539073'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441'}}, 'pull_request_review_id': 659840266, 'original_commit_id': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'path': 'CMakeLists.txt', 'updated_at': '2021-05-14T13:59:03Z', 'body': '```suggestion\r\n# std::unique_ptr in the arm64 C++ standard library. x86_64 builds can override this to 10.12.0\r\n```\r\n\r\nor just refer to libc++ by name\r\n\r\n(STL was an implementation of the standard library, pre-standardisation)', 'author_association': 'MEMBER', 'diff_hunk': '@@ -2,13 +2,17 @@\n # General setup\n #\n cmake_minimum_required(VERSION 3.10)\n-set(CMAKE_OSX_ARCHITECTURES "x86_64")\n+\n # Minimum OS X version.\n # This is inserted into the Info.plist as well.\n \n-# MacOS prior to 10.12 did not fully support C++17, which is used to\n-# handle configuration options\n-set(CMAKE_OSX_DEPLOYMENT_TARGET "10.12.0" CACHE STRING "")\n+# MacOS prior to 10.14 did not support aligned alloc which is used to implement\n+# std::unique_ptr in the arm64 STL. x86_64 builds can override this to 10.12.0', 'user': {'organizations_url': 'https://api.github.com/users/leoetlino/orgs', 'repos_url': 'https://api.github.com/users/leoetlino/repos', 'html_url': 'https://github.com/leoetlino', 'url': 'https://api.github.com/users/leoetlino', 'node_id': 'MDQ6VXNlcjQyMDkwNjE=', 'avatar_url': 'https://avatars.githubusercontent.com/u/4209061?v=4', 'followers_url': 'https://api.github.com/users/leoetlino/followers', 'received_events_url': 'https://api.github.com/users/leoetlino/received_events', 'events_url': 'https://api.github.com/users/leoetlino/events{/privacy}', 'gists_url': 'https://api.github.com/users/leoetlino/gists{/gist_id}', 'following_url': 'https://api.github.com/users/leoetlino/following{/other_user}', 'gravatar_id': '', 'login': 'leoetlino', 'subscriptions_url': 'https://api.github.com/users/leoetlino/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/leoetlino/starred{/owner}{/repo}', 'id': 4209061}, 'node_id': 'MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDYzMjUzOTA3Mw==', 'id': 632539073}, {'position': 8, 'commit_id': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9441#discussion_r632543636', 'created_at': '2021-05-14T13:53:17Z', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/632543636', 'original_position': 8, 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441', '_links': {'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/9441#discussion_r632543636'}, 'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/632543636'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441'}}, 'pull_request_review_id': 659840266, 'original_commit_id': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'path': 'Source/Core/Core/DolphinAnalytics.cpp', 'updated_at': '2021-05-14T13:59:03Z', 'body': 'This should be undefined afterwards.', 'author_association': 'MEMBER', 'diff_hunk': '@@ -289,9 +289,15 @@ void DolphinAnalytics::MakeBaseBuilder()\n       s64 minor_version;  // NSInteger minorVersion\n       s64 patch_version;  // NSInteger patchVersion\n     };\n-\n+    // Under arm64, we need to call objc_msgSend to recieve a struct.\n+    // On x86_64, we need to explicitly call objc_msgSend_stret for a struct.\n+#if _M_ARM_64\n+#define msgSend objc_msgSend', 'user': {'organizations_url': 'https://api.github.com/users/leoetlino/orgs', 'repos_url': 'https://api.github.com/users/leoetlino/repos', 'html_url': 'https://github.com/leoetlino', 'url': 'https://api.github.com/users/leoetlino', 'node_id': 'MDQ6VXNlcjQyMDkwNjE=', 'avatar_url': 'https://avatars.githubusercontent.com/u/4209061?v=4', 'followers_url': 'https://api.github.com/users/leoetlino/followers', 'received_events_url': 'https://api.github.com/users/leoetlino/received_events', 'events_url': 'https://api.github.com/users/leoetlino/events{/privacy}', 'gists_url': 'https://api.github.com/users/leoetlino/gists{/gist_id}', 'following_url': 'https://api.github.com/users/leoetlino/following{/other_user}', 'gravatar_id': '', 'login': 'leoetlino', 'subscriptions_url': 'https://api.github.com/users/leoetlino/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/leoetlino/starred{/owner}{/repo}', 'id': 4209061}, 'node_id': 'MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDYzMjU0MzYzNg==', 'id': 632543636}, {'position': 4, 'commit_id': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9441#discussion_r632546214', 'created_at': '2021-05-14T13:56:55Z', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/632546214', 'original_position': 4, 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441', '_links': {'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/9441#discussion_r632546214'}, 'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/632546214'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441'}}, 'pull_request_review_id': 659840266, 'original_commit_id': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'path': 'Source/Core/Common/MemoryUtil.h', 'updated_at': '2021-05-14T13:59:03Z', 'body': 'Could we add a RAII wrapper to make it more difficult to forget to pair calls?\r\n\r\nsomething like\r\n\r\n```cpp\r\nstruct ScopedJITPageWriteAndNoExecute {\r\n  ScopedJITPageWriteAndNoExecute() { JITPageWriteEnableExecuteDisable(); }\r\n  ~ScopedJITPageWriteAndNoExecute() { JITPageWriteDisableExecuteEnable(); }\r\n};\r\n```', 'author_association': 'MEMBER', 'diff_hunk': '@@ -10,6 +10,10 @@\n namespace Common\n {\n void* AllocateExecutableMemory(size_t size);\n+// Allows a thread to write to executable memory, but not execute the data.', 'user': {'organizations_url': 'https://api.github.com/users/leoetlino/orgs', 'repos_url': 'https://api.github.com/users/leoetlino/repos', 'html_url': 'https://github.com/leoetlino', 'url': 'https://api.github.com/users/leoetlino', 'node_id': 'MDQ6VXNlcjQyMDkwNjE=', 'avatar_url': 'https://avatars.githubusercontent.com/u/4209061?v=4', 'followers_url': 'https://api.github.com/users/leoetlino/followers', 'received_events_url': 'https://api.github.com/users/leoetlino/received_events', 'events_url': 'https://api.github.com/users/leoetlino/events{/privacy}', 'gists_url': 'https://api.github.com/users/leoetlino/gists{/gist_id}', 'following_url': 'https://api.github.com/users/leoetlino/following{/other_user}', 'gravatar_id': '', 'login': 'leoetlino', 'subscriptions_url': 'https://api.github.com/users/leoetlino/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/leoetlino/starred{/owner}{/repo}', 'id': 4209061}, 'node_id': 'MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDYzMjU0NjIxNA==', 'id': 632546214}, {'position': 1, 'commit_id': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9441#discussion_r632546952', 'created_at': '2021-05-14T13:57:59Z', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/632546952', 'original_position': 1, 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441', '_links': {'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/9441#discussion_r632546952'}, 'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/632546952'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441'}}, 'pull_request_review_id': 659840266, 'original_commit_id': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'path': 'Source/Core/DolphinQt/DolphinEmu.entitlements', 'updated_at': '2021-05-14T13:59:03Z', 'body': 'Do we need anything here for USB access?', 'author_association': 'MEMBER', 'diff_hunk': '@@ -0,0 +1,17 @@\n+<?xml version="1.0" encoding="UTF-8"?>', 'user': {'organizations_url': 'https://api.github.com/users/leoetlino/orgs', 'repos_url': 'https://api.github.com/users/leoetlino/repos', 'html_url': 'https://github.com/leoetlino', 'url': 'https://api.github.com/users/leoetlino', 'node_id': 'MDQ6VXNlcjQyMDkwNjE=', 'avatar_url': 'https://avatars.githubusercontent.com/u/4209061?v=4', 'followers_url': 'https://api.github.com/users/leoetlino/followers', 'received_events_url': 'https://api.github.com/users/leoetlino/received_events', 'events_url': 'https://api.github.com/users/leoetlino/events{/privacy}', 'gists_url': 'https://api.github.com/users/leoetlino/gists{/gist_id}', 'following_url': 'https://api.github.com/users/leoetlino/following{/other_user}', 'gravatar_id': '', 'login': 'leoetlino', 'subscriptions_url': 'https://api.github.com/users/leoetlino/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/leoetlino/starred{/owner}{/repo}', 'id': 4209061}, 'node_id': 'MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDYzMjU0Njk1Mg==', 'id': 632546952}], 'url': 'https://github.com/dolphin-emu/dolphin/pull/9441#pullrequestreview-659840266', 'pr_title': 'Apple M1 Support for MacOS', 'source': 'ghhookparser', 'action': 'submitted', 'author': 'leoetlino', 'pr_id': 9441, 'type': 'gh_pull_request_review', 'repo': 'dolphin-emu/dolphin'}
2021-05-14T08:51:21.058849	{'state': 'approved', 'comments': [], 'url': 'https://github.com/dolphin-emu/dolphin/pull/9688#pullrequestreview-659647694', 'pr_title': 'Input cleanup', 'source': 'ghhookparser', 'action': 'submitted', 'author': 'JMC47', 'pr_id': 9688, 'type': 'gh_pull_request_review', 'repo': 'dolphin-emu/dolphin'}
2021-05-14T08:42:13.892488	{'state': 'approved', 'comments': [], 'url': 'https://github.com/dolphin-emu/dolphin/pull/9688#pullrequestreview-659641231', 'pr_title': 'Input cleanup', 'source': 'ghhookparser', 'action': 'submitted', 'author': 'phire', 'pr_id': 9688, 'type': 'gh_pull_request_review', 'repo': 'dolphin-emu/dolphin'}
2021-05-13T19:08:45.853277	{'state': 'commented', 'comments': [{'position': 16, 'commit_id': 'b93983b50a8b2d50a2120601784aab022f46308c', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9707#discussion_r632040050', 'created_at': '2021-05-13T19:08:44Z', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/632040050', 'original_position': 16, 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9707', '_links': {'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/9707#discussion_r632040050'}, 'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/632040050'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9707'}}, 'in_reply_to_id': 632037236, 'pull_request_review_id': 659216348, 'original_commit_id': 'b93983b50a8b2d50a2120601784aab022f46308c', 'path': 'Source/Core/VideoCommon/CommandProcessor.cpp', 'updated_at': '2021-05-13T19:08:44Z', 'body': 'Fair enough, I read that and dismissed it from my head while looking at `LowPart`/`HighPart` (only remembering the `Low`/`High` part).', 'author_association': 'MEMBER', 'diff_hunk': '@@ -91,21 +90,15 @@ void DoState(PointerWrap& p)\n   p.Do(s_interrupt_waiting);\n }\n \n-static inline void WriteLow(volatile u32& _reg, u16 lowbits)\n+static inline void WriteLow(std::atomic<u32>& reg, u16 lowbits)\n {\n-  Common::AtomicStore(_reg, (_reg & 0xFFFF0000) | lowbits);\n+  reg.store((reg.load(std::memory_order_relaxed) & 0xFFFF0000) | lowbits,', 'user': {'organizations_url': 'https://api.github.com/users/BhaaLseN/orgs', 'repos_url': 'https://api.github.com/users/BhaaLseN/repos', 'html_url': 'https://github.com/BhaaLseN', 'url': 'https://api.github.com/users/BhaaLseN', 'node_id': 'MDQ6VXNlcjgyNjA1Mg==', 'avatar_url': 'https://avatars.githubusercontent.com/u/826052?u=ac716d134edae163bb1954ba5d9f023ffcf622e3&v=4', 'followers_url': 'https://api.github.com/users/BhaaLseN/followers', 'received_events_url': 'https://api.github.com/users/BhaaLseN/received_events', 'events_url': 'https://api.github.com/users/BhaaLseN/events{/privacy}', 'gists_url': 'https://api.github.com/users/BhaaLseN/gists{/gist_id}', 'following_url': 'https://api.github.com/users/BhaaLseN/following{/other_user}', 'gravatar_id': '', 'login': 'BhaaLseN', 'subscriptions_url': 'https://api.github.com/users/BhaaLseN/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/BhaaLseN/starred{/owner}{/repo}', 'id': 826052}, 'node_id': 'MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDYzMjA0MDA1MA==', 'id': 632040050}], 'url': 'https://github.com/dolphin-emu/dolphin/pull/9707#pullrequestreview-659216348', 'pr_title': 'Remove Atomic.h', 'source': 'ghhookparser', 'action': 'submitted', 'author': 'BhaaLseN', 'pr_id': 9707, 'type': 'gh_pull_request_review', 'repo': 'dolphin-emu/dolphin'}
2021-05-13T19:06:47.010194	{'state': 'commented', 'comments': [{'position': 16, 'commit_id': 'b93983b50a8b2d50a2120601784aab022f46308c', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9707#discussion_r632038863', 'created_at': '2021-05-13T19:06:45Z', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/632038863', 'original_position': 16, 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9707', '_links': {'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/9707#discussion_r632038863'}, 'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/632038863'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9707'}}, 'in_reply_to_id': 632037236, 'pull_request_review_id': 659214774, 'original_commit_id': 'b93983b50a8b2d50a2120601784aab022f46308c', 'path': 'Source/Core/VideoCommon/CommandProcessor.cpp', 'updated_at': '2021-05-13T19:06:45Z', 'body': 'This is indeed not atomic. I mentioned this in the PR description.', 'author_association': 'MEMBER', 'diff_hunk': '@@ -91,21 +90,15 @@ void DoState(PointerWrap& p)\n   p.Do(s_interrupt_waiting);\n }\n \n-static inline void WriteLow(volatile u32& _reg, u16 lowbits)\n+static inline void WriteLow(std::atomic<u32>& reg, u16 lowbits)\n {\n-  Common::AtomicStore(_reg, (_reg & 0xFFFF0000) | lowbits);\n+  reg.store((reg.load(std::memory_order_relaxed) & 0xFFFF0000) | lowbits,', 'user': {'organizations_url': 'https://api.github.com/users/JosJuice/orgs', 'repos_url': 'https://api.github.com/users/JosJuice/repos', 'html_url': 'https://github.com/JosJuice', 'url': 'https://api.github.com/users/JosJuice', 'node_id': 'MDQ6VXNlcjY3MTY4MTg=', 'avatar_url': 'https://avatars.githubusercontent.com/u/6716818?v=4', 'followers_url': 'https://api.github.com/users/JosJuice/followers', 'received_events_url': 'https://api.github.com/users/JosJuice/received_events', 'events_url': 'https://api.github.com/users/JosJuice/events{/privacy}', 'gists_url': 'https://api.github.com/users/JosJuice/gists{/gist_id}', 'following_url': 'https://api.github.com/users/JosJuice/following{/other_user}', 'gravatar_id': '', 'login': 'JosJuice', 'subscriptions_url': 'https://api.github.com/users/JosJuice/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/JosJuice/starred{/owner}{/repo}', 'id': 6716818}, 'node_id': 'MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDYzMjAzODg2Mw==', 'id': 632038863}], 'url': 'https://github.com/dolphin-emu/dolphin/pull/9707#pullrequestreview-659214774', 'pr_title': 'Remove Atomic.h', 'source': 'ghhookparser', 'action': 'submitted', 'author': 'JosJuice', 'pr_id': 9707, 'type': 'gh_pull_request_review', 'repo': 'dolphin-emu/dolphin'}
2021-05-13T19:05:12.186198	{'state': 'commented', 'comments': [{'position': 16, 'commit_id': 'b93983b50a8b2d50a2120601784aab022f46308c', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9707#discussion_r632037236', 'created_at': '2021-05-13T19:03:40Z', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/632037236', 'original_position': 16, 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9707', '_links': {'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/9707#discussion_r632037236'}, 'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/632037236'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9707'}}, 'pull_request_review_id': 659212475, 'original_commit_id': 'b93983b50a8b2d50a2120601784aab022f46308c', 'path': 'Source/Core/VideoCommon/CommandProcessor.cpp', 'updated_at': '2021-05-13T19:05:10Z', 'body': 'Just wondering, is this _still_ atomic in the end (with a seperate `load` then `store`)?\r\n_Then again, thats what the old code did, so same issue there...?_', 'author_association': 'MEMBER', 'diff_hunk': '@@ -91,21 +90,15 @@ void DoState(PointerWrap& p)\n   p.Do(s_interrupt_waiting);\n }\n \n-static inline void WriteLow(volatile u32& _reg, u16 lowbits)\n+static inline void WriteLow(std::atomic<u32>& reg, u16 lowbits)\n {\n-  Common::AtomicStore(_reg, (_reg & 0xFFFF0000) | lowbits);\n+  reg.store((reg.load(std::memory_order_relaxed) & 0xFFFF0000) | lowbits,', 'user': {'organizations_url': 'https://api.github.com/users/BhaaLseN/orgs', 'repos_url': 'https://api.github.com/users/BhaaLseN/repos', 'html_url': 'https://github.com/BhaaLseN', 'url': 'https://api.github.com/users/BhaaLseN', 'node_id': 'MDQ6VXNlcjgyNjA1Mg==', 'avatar_url': 'https://avatars.githubusercontent.com/u/826052?u=ac716d134edae163bb1954ba5d9f023ffcf622e3&v=4', 'followers_url': 'https://api.github.com/users/BhaaLseN/followers', 'received_events_url': 'https://api.github.com/users/BhaaLseN/received_events', 'events_url': 'https://api.github.com/users/BhaaLseN/events{/privacy}', 'gists_url': 'https://api.github.com/users/BhaaLseN/gists{/gist_id}', 'following_url': 'https://api.github.com/users/BhaaLseN/following{/other_user}', 'gravatar_id': '', 'login': 'BhaaLseN', 'subscriptions_url': 'https://api.github.com/users/BhaaLseN/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/BhaaLseN/starred{/owner}{/repo}', 'id': 826052}, 'node_id': 'MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDYzMjAzNzIzNg==', 'id': 632037236}], 'url': 'https://github.com/dolphin-emu/dolphin/pull/9707#pullrequestreview-659212475', 'pr_title': 'Remove Atomic.h', 'source': 'ghhookparser', 'action': 'submitted', 'author': 'BhaaLseN', 'pr_id': 9707, 'type': 'gh_pull_request_review', 'repo': 'dolphin-emu/dolphin'}
2021-05-13T19:05:11.886849	{'state': 'commented', 'comments': [{'position': 16, 'commit_id': 'b93983b50a8b2d50a2120601784aab022f46308c', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9707#discussion_r632037236', 'created_at': '2021-05-13T19:03:40Z', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/632037236', 'original_position': 16, 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9707', '_links': {'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/9707#discussion_r632037236'}, 'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/632037236'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9707'}}, 'pull_request_review_id': 659212475, 'original_commit_id': 'b93983b50a8b2d50a2120601784aab022f46308c', 'path': 'Source/Core/VideoCommon/CommandProcessor.cpp', 'updated_at': '2021-05-13T19:05:10Z', 'body': 'Just wondering, is this _still_ atomic in the end (with a seperate `load` then `store`)?\r\n_Then again, thats what the old code did, so same issue there...?_', 'author_association': 'MEMBER', 'diff_hunk': '@@ -91,21 +90,15 @@ void DoState(PointerWrap& p)\n   p.Do(s_interrupt_waiting);\n }\n \n-static inline void WriteLow(volatile u32& _reg, u16 lowbits)\n+static inline void WriteLow(std::atomic<u32>& reg, u16 lowbits)\n {\n-  Common::AtomicStore(_reg, (_reg & 0xFFFF0000) | lowbits);\n+  reg.store((reg.load(std::memory_order_relaxed) & 0xFFFF0000) | lowbits,', 'user': {'organizations_url': 'https://api.github.com/users/BhaaLseN/orgs', 'repos_url': 'https://api.github.com/users/BhaaLseN/repos', 'html_url': 'https://github.com/BhaaLseN', 'url': 'https://api.github.com/users/BhaaLseN', 'node_id': 'MDQ6VXNlcjgyNjA1Mg==', 'avatar_url': 'https://avatars.githubusercontent.com/u/826052?u=ac716d134edae163bb1954ba5d9f023ffcf622e3&v=4', 'followers_url': 'https://api.github.com/users/BhaaLseN/followers', 'received_events_url': 'https://api.github.com/users/BhaaLseN/received_events', 'events_url': 'https://api.github.com/users/BhaaLseN/events{/privacy}', 'gists_url': 'https://api.github.com/users/BhaaLseN/gists{/gist_id}', 'following_url': 'https://api.github.com/users/BhaaLseN/following{/other_user}', 'gravatar_id': '', 'login': 'BhaaLseN', 'subscriptions_url': 'https://api.github.com/users/BhaaLseN/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/BhaaLseN/starred{/owner}{/repo}', 'id': 826052}, 'node_id': 'MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDYzMjAzNzIzNg==', 'id': 632037236}], 'url': 'https://github.com/dolphin-emu/dolphin/pull/9707#pullrequestreview-659212475', 'pr_title': 'Remove Atomic.h', 'source': 'ghhookparser', 'action': 'edited', 'author': 'BhaaLseN', 'pr_id': 9707, 'type': 'gh_pull_request_review', 'repo': 'dolphin-emu/dolphin'}
2021-05-13T14:37:03.486527	{'state': 'commented', 'comments': [{'position': 14, 'commit_id': '528cd4e208c244039972f566403bccf0cd5a80be', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9706#discussion_r631859192', 'created_at': '2021-05-13T14:37:01Z', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/631859192', 'original_position': 14, 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9706', '_links': {'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/9706#discussion_r631859192'}, 'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/631859192'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9706'}}, 'in_reply_to_id': 631727316, 'pull_request_review_id': 658971354, 'original_commit_id': '528cd4e208c244039972f566403bccf0cd5a80be', 'path': 'Source/Core/Core/NetPlayServer.cpp', 'updated_at': '2021-05-13T14:37:01Z', 'body': 'This is a good point, and per the next comment, I forgot to use u32. I will look at a cleaner implementation.', 'author_association': 'CONTRIBUTOR', 'diff_hunk': '@@ -1269,7 +1269,23 @@ bool NetPlayServer::StartGame()\n \n   // no change, just update with clients\n   if (!m_host_input_authority)\n+  {\n+    if (Config::Get(Config::NETPLAY_AUTO_BUFFER))\n+    {\n+      unsigned int latency = 0;\n+      for (const auto& player_entry : m_players)\n+      {\n+        latency += player_entry.second.ping;\n+      }\n+\n+      const unsigned int pad_buffer =\n+          ((latency * (static_cast<int>(m_players.size()) - 1)) / 15) + 1;', 'user': {'organizations_url': 'https://api.github.com/users/SirMangler/orgs', 'repos_url': 'https://api.github.com/users/SirMangler/repos', 'html_url': 'https://github.com/SirMangler', 'url': 'https://api.github.com/users/SirMangler', 'node_id': 'MDQ6VXNlcjQyMzc4MzQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/4237834?u=486cc2c0e6296769347ec1221de4a30fc92040a9&v=4', 'followers_url': 'https://api.github.com/users/SirMangler/followers', 'received_events_url': 'https://api.github.com/users/SirMangler/received_events', 'events_url': 'https://api.github.com/users/SirMangler/events{/privacy}', 'gists_url': 'https://api.github.com/users/SirMangler/gists{/gist_id}', 'following_url': 'https://api.github.com/users/SirMangler/following{/other_user}', 'gravatar_id': '', 'login': 'SirMangler', 'subscriptions_url': 'https://api.github.com/users/SirMangler/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/SirMangler/starred{/owner}{/repo}', 'id': 4237834}, 'node_id': 'MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDYzMTg1OTE5Mg==', 'id': 631859192}], 'url': 'https://github.com/dolphin-emu/dolphin/pull/9706#pullrequestreview-658971354', 'pr_title': 'Netplay: Auto Pad Buffer Option', 'source': 'ghhookparser', 'action': 'submitted', 'author': 'SirMangler', 'pr_id': 9706, 'type': 'gh_pull_request_review', 'repo': 'dolphin-emu/dolphin'}
2021-05-13T13:19:53.439151	{'state': 'approved', 'comments': [], 'url': 'https://github.com/dolphin-emu/dolphin/pull/9441#pullrequestreview-658893459', 'pr_title': 'Apple M1 Support for MacOS', 'source': 'ghhookparser', 'action': 'submitted', 'author': 'Krzykoz', 'pr_id': 9441, 'type': 'gh_pull_request_review', 'repo': 'dolphin-emu/dolphin'}
2021-05-13T10:54:16.270988	{'state': 'commented', 'comments': [{'position': 14, 'commit_id': '528cd4e208c244039972f566403bccf0cd5a80be', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9706#discussion_r631727316', 'created_at': '2021-05-13T10:53:28Z', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/631727316', 'original_position': 14, 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9706', '_links': {'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/9706#discussion_r631727316'}, 'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/631727316'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9706'}}, 'pull_request_review_id': 658792880, 'original_commit_id': '528cd4e208c244039972f566403bccf0cd5a80be', 'path': 'Source/Core/Core/NetPlayServer.cpp', 'updated_at': '2021-05-13T10:54:14Z', 'body': "Maybe this calculation should be placed into a reusable function, since it's used once here in core code, and also used in the frontend code.\r\n\r\nNote that this code also results in a signed/unsigned implicit conversion, since player size is converted to an int and then that side of the expression. Maybe make the signedness conversion explicit (or avoidable if possible)", 'author_association': 'MEMBER', 'diff_hunk': '@@ -1269,7 +1269,23 @@ bool NetPlayServer::StartGame()\n \n   // no change, just update with clients\n   if (!m_host_input_authority)\n+  {\n+    if (Config::Get(Config::NETPLAY_AUTO_BUFFER))\n+    {\n+      unsigned int latency = 0;\n+      for (const auto& player_entry : m_players)\n+      {\n+        latency += player_entry.second.ping;\n+      }\n+\n+      const unsigned int pad_buffer =\n+          ((latency * (static_cast<int>(m_players.size()) - 1)) / 15) + 1;', 'user': {'organizations_url': 'https://api.github.com/users/lioncash/orgs', 'repos_url': 'https://api.github.com/users/lioncash/repos', 'html_url': 'https://github.com/lioncash', 'url': 'https://api.github.com/users/lioncash', 'node_id': 'MDQ6VXNlcjcxMjA2Nw==', 'avatar_url': 'https://avatars.githubusercontent.com/u/712067?u=5b7ad7617c3daa939e8902782238ce5b1ab84e24&v=4', 'followers_url': 'https://api.github.com/users/lioncash/followers', 'received_events_url': 'https://api.github.com/users/lioncash/received_events', 'events_url': 'https://api.github.com/users/lioncash/events{/privacy}', 'gists_url': 'https://api.github.com/users/lioncash/gists{/gist_id}', 'following_url': 'https://api.github.com/users/lioncash/following{/other_user}', 'gravatar_id': '', 'login': 'lioncash', 'subscriptions_url': 'https://api.github.com/users/lioncash/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/lioncash/starred{/owner}{/repo}', 'id': 712067}, 'node_id': 'MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDYzMTcyNzMxNg==', 'id': 631727316}, {'position': 7, 'commit_id': '528cd4e208c244039972f566403bccf0cd5a80be', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9706#discussion_r631727486', 'created_at': '2021-05-13T10:53:49Z', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/631727486', 'original_position': 7, 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9706', '_links': {'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/9706#discussion_r631727486'}, 'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/631727486'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9706'}}, 'pull_request_review_id': 658792880, 'original_commit_id': '528cd4e208c244039972f566403bccf0cd5a80be', 'path': 'Source/Core/Core/NetPlayServer.cpp', 'updated_at': '2021-05-13T10:54:14Z', 'body': "Ideally, prefer using `u32` instead since it's much shorter", 'author_association': 'MEMBER', 'diff_hunk': '@@ -1269,7 +1269,23 @@ bool NetPlayServer::StartGame()\n \n   // no change, just update with clients\n   if (!m_host_input_authority)\n+  {\n+    if (Config::Get(Config::NETPLAY_AUTO_BUFFER))\n+    {\n+      unsigned int latency = 0;', 'user': {'organizations_url': 'https://api.github.com/users/lioncash/orgs', 'repos_url': 'https://api.github.com/users/lioncash/repos', 'html_url': 'https://github.com/lioncash', 'url': 'https://api.github.com/users/lioncash', 'node_id': 'MDQ6VXNlcjcxMjA2Nw==', 'avatar_url': 'https://avatars.githubusercontent.com/u/712067?u=5b7ad7617c3daa939e8902782238ce5b1ab84e24&v=4', 'followers_url': 'https://api.github.com/users/lioncash/followers', 'received_events_url': 'https://api.github.com/users/lioncash/received_events', 'events_url': 'https://api.github.com/users/lioncash/events{/privacy}', 'gists_url': 'https://api.github.com/users/lioncash/gists{/gist_id}', 'following_url': 'https://api.github.com/users/lioncash/following{/other_user}', 'gravatar_id': '', 'login': 'lioncash', 'subscriptions_url': 'https://api.github.com/users/lioncash/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/lioncash/starred{/owner}{/repo}', 'id': 712067}, 'node_id': 'MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDYzMTcyNzQ4Ng==', 'id': 631727486}], 'url': 'https://github.com/dolphin-emu/dolphin/pull/9706#pullrequestreview-658792880', 'pr_title': 'Netplay: Auto Pad Buffer Option', 'source': 'ghhookparser', 'action': 'submitted', 'author': 'lioncash', 'pr_id': 9706, 'type': 'gh_pull_request_review', 'repo': 'dolphin-emu/dolphin'}
2021-05-13T10:54:15.967208	{'state': 'commented', 'comments': [{'position': 14, 'commit_id': '528cd4e208c244039972f566403bccf0cd5a80be', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9706#discussion_r631727316', 'created_at': '2021-05-13T10:53:28Z', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/631727316', 'original_position': 14, 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9706', '_links': {'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/9706#discussion_r631727316'}, 'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/631727316'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9706'}}, 'pull_request_review_id': 658792880, 'original_commit_id': '528cd4e208c244039972f566403bccf0cd5a80be', 'path': 'Source/Core/Core/NetPlayServer.cpp', 'updated_at': '2021-05-13T10:54:14Z', 'body': "Maybe this calculation should be placed into a reusable function, since it's used once here in core code, and also used in the frontend code.\r\n\r\nNote that this code also results in a signed/unsigned implicit conversion, since player size is converted to an int and then that side of the expression. Maybe make the signedness conversion explicit (or avoidable if possible)", 'author_association': 'MEMBER', 'diff_hunk': '@@ -1269,7 +1269,23 @@ bool NetPlayServer::StartGame()\n \n   // no change, just update with clients\n   if (!m_host_input_authority)\n+  {\n+    if (Config::Get(Config::NETPLAY_AUTO_BUFFER))\n+    {\n+      unsigned int latency = 0;\n+      for (const auto& player_entry : m_players)\n+      {\n+        latency += player_entry.second.ping;\n+      }\n+\n+      const unsigned int pad_buffer =\n+          ((latency * (static_cast<int>(m_players.size()) - 1)) / 15) + 1;', 'user': {'organizations_url': 'https://api.github.com/users/lioncash/orgs', 'repos_url': 'https://api.github.com/users/lioncash/repos', 'html_url': 'https://github.com/lioncash', 'url': 'https://api.github.com/users/lioncash', 'node_id': 'MDQ6VXNlcjcxMjA2Nw==', 'avatar_url': 'https://avatars.githubusercontent.com/u/712067?u=5b7ad7617c3daa939e8902782238ce5b1ab84e24&v=4', 'followers_url': 'https://api.github.com/users/lioncash/followers', 'received_events_url': 'https://api.github.com/users/lioncash/received_events', 'events_url': 'https://api.github.com/users/lioncash/events{/privacy}', 'gists_url': 'https://api.github.com/users/lioncash/gists{/gist_id}', 'following_url': 'https://api.github.com/users/lioncash/following{/other_user}', 'gravatar_id': '', 'login': 'lioncash', 'subscriptions_url': 'https://api.github.com/users/lioncash/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/lioncash/starred{/owner}{/repo}', 'id': 712067}, 'node_id': 'MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDYzMTcyNzMxNg==', 'id': 631727316}, {'position': 7, 'commit_id': '528cd4e208c244039972f566403bccf0cd5a80be', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9706#discussion_r631727486', 'created_at': '2021-05-13T10:53:49Z', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/631727486', 'original_position': 7, 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9706', '_links': {'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/9706#discussion_r631727486'}, 'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/631727486'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9706'}}, 'pull_request_review_id': 658792880, 'original_commit_id': '528cd4e208c244039972f566403bccf0cd5a80be', 'path': 'Source/Core/Core/NetPlayServer.cpp', 'updated_at': '2021-05-13T10:54:14Z', 'body': "Ideally, prefer using `u32` instead since it's much shorter", 'author_association': 'MEMBER', 'diff_hunk': '@@ -1269,7 +1269,23 @@ bool NetPlayServer::StartGame()\n \n   // no change, just update with clients\n   if (!m_host_input_authority)\n+  {\n+    if (Config::Get(Config::NETPLAY_AUTO_BUFFER))\n+    {\n+      unsigned int latency = 0;', 'user': {'organizations_url': 'https://api.github.com/users/lioncash/orgs', 'repos_url': 'https://api.github.com/users/lioncash/repos', 'html_url': 'https://github.com/lioncash', 'url': 'https://api.github.com/users/lioncash', 'node_id': 'MDQ6VXNlcjcxMjA2Nw==', 'avatar_url': 'https://avatars.githubusercontent.com/u/712067?u=5b7ad7617c3daa939e8902782238ce5b1ab84e24&v=4', 'followers_url': 'https://api.github.com/users/lioncash/followers', 'received_events_url': 'https://api.github.com/users/lioncash/received_events', 'events_url': 'https://api.github.com/users/lioncash/events{/privacy}', 'gists_url': 'https://api.github.com/users/lioncash/gists{/gist_id}', 'following_url': 'https://api.github.com/users/lioncash/following{/other_user}', 'gravatar_id': '', 'login': 'lioncash', 'subscriptions_url': 'https://api.github.com/users/lioncash/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/lioncash/starred{/owner}{/repo}', 'id': 712067}, 'node_id': 'MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDYzMTcyNzQ4Ng==', 'id': 631727486}], 'url': 'https://github.com/dolphin-emu/dolphin/pull/9706#pullrequestreview-658792880', 'pr_title': 'Netplay: Auto Pad Buffer Option', 'source': 'ghhookparser', 'action': 'edited', 'author': 'lioncash', 'pr_id': 9706, 'type': 'gh_pull_request_review', 'repo': 'dolphin-emu/dolphin'}
2021-05-13T10:47:35.071871	{'state': 'approved', 'comments': [], 'url': 'https://github.com/dolphin-emu/dolphin/pull/9703#pullrequestreview-658789252', 'pr_title': 'Fix serialization of control expressions with line breaks', 'source': 'ghhookparser', 'action': 'submitted', 'author': 'lioncash', 'pr_id': 9703, 'type': 'gh_pull_request_review', 'repo': 'dolphin-emu/dolphin'}
2021-05-13T10:44:03.262437	{'state': 'approved', 'comments': [], 'url': 'https://github.com/dolphin-emu/dolphin/pull/9681#pullrequestreview-658787047', 'pr_title': 'VideoCommon: move all texture calculations to a "TextureInfo" class', 'source': 'ghhookparser', 'action': 'submitted', 'author': 'lioncash', 'pr_id': 9681, 'type': 'gh_pull_request_review', 'repo': 'dolphin-emu/dolphin'}
2021-05-13T10:42:42.761100	{'state': 'approved', 'comments': [], 'url': 'https://github.com/dolphin-emu/dolphin/pull/9705#pullrequestreview-658786198', 'pr_title': 'Socket: Fix AF_INET6 on non-Windows systems', 'source': 'ghhookparser', 'action': 'submitted', 'author': 'lioncash', 'pr_id': 9705, 'type': 'gh_pull_request_review', 'repo': 'dolphin-emu/dolphin'}
2021-05-13T10:42:09.124329	{'state': 'approved', 'comments': [], 'url': 'https://github.com/dolphin-emu/dolphin/pull/9690#pullrequestreview-658785850', 'pr_title': 'Jit64: divwux - Prefer three-operand IMUL', 'source': 'ghhookparser', 'action': 'submitted', 'author': 'lioncash', 'pr_id': 9690, 'type': 'gh_pull_request_review', 'repo': 'dolphin-emu/dolphin'}
2021-05-13T10:40:58.272562	{'state': 'approved', 'comments': [], 'url': 'https://github.com/dolphin-emu/dolphin/pull/9701#pullrequestreview-658785130', 'pr_title': 'Android: bump gradle & dependencies version', 'source': 'ghhookparser', 'action': 'submitted', 'author': 'lioncash', 'pr_id': 9701, 'type': 'gh_pull_request_review', 'repo': 'dolphin-emu/dolphin'}
2021-05-13T10:40:26.978613	{'state': 'approved', 'comments': [], 'url': 'https://github.com/dolphin-emu/dolphin/pull/9698#pullrequestreview-658784783', 'pr_title': 'Android: Use CharSequence for SettingsItem name/description', 'source': 'ghhookparser', 'action': 'submitted', 'author': 'lioncash', 'pr_id': 9698, 'type': 'gh_pull_request_review', 'repo': 'dolphin-emu/dolphin'}
2021-05-13T10:39:23.032808	{'state': 'approved', 'comments': [], 'url': 'https://github.com/dolphin-emu/dolphin/pull/9637#pullrequestreview-658784129', 'pr_title': 'JitArm64: Implement FPRF updates', 'source': 'ghhookparser', 'action': 'submitted', 'author': 'lioncash', 'pr_id': 9637, 'type': 'gh_pull_request_review', 'repo': 'dolphin-emu/dolphin'}
2021-05-13T10:23:26.267107	{'state': 'commented', 'comments': [{'position': None, 'commit_id': '25dc059f6f1f82f84123b4c23f13f7fe884082c8', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9637#discussion_r631712604', 'created_at': '2021-05-13T10:23:24Z', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/631712604', 'original_position': 65, 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9637', '_links': {'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/9637#discussion_r631712604'}, 'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/631712604'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9637'}}, 'in_reply_to_id': 631403320, 'pull_request_review_id': 658773882, 'original_commit_id': '4aec700d91c223b7d1b06406656ea90b069e2813', 'path': 'Source/Core/Core/PowerPC/JitArm64/JitAsm.cpp', 'updated_at': '2021-05-13T10:23:24Z', 'body': 'even better :)', 'author_association': 'MEMBER', 'diff_hunk': '@@ -272,6 +281,84 @@ void JitArm64::GenerateConvertSingleToDouble()\n   RET();\n }\n \n+// Input in X0. Outputs to memory (PPCState). Clobbers X0-X4 and flags.\n+void JitArm64::GenerateFPRF(bool single)\n+{\n+  const auto reg_encoder = single ? EncodeRegTo32 : EncodeRegTo64;\n+\n+  const ARM64Reg input_reg = reg_encoder(ARM64Reg::W0);\n+  const ARM64Reg temp_reg = reg_encoder(ARM64Reg::W1);\n+  const ARM64Reg exp_reg = reg_encoder(ARM64Reg::W2);\n+  const ARM64Reg frac_reg = reg_encoder(ARM64Reg::W3);\n+\n+  const auto INPUT_EXP_MASK = single ? Common::FLOAT_EXP : Common::DOUBLE_EXP;\n+  const auto INPUT_FRAC_MASK = single ? Common::FLOAT_FRAC : Common::DOUBLE_FRAC;\n+  constexpr u32 OUTPUT_SIGN_MASK = 0xC;\n+\n+  // First of all, start the load of the old FPSCR value, in case it takes a while\n+  LDR(IndexType::Unsigned, ARM64Reg::W4, PPC_REG, PPCSTATE_OFF(fpscr));\n+\n+  CMP(input_reg, 0);  // Grab sign bit (conveniently the same bit for floats as for integers)\n+  ANDI2R(exp_reg, input_reg, INPUT_EXP_MASK);    // Grab exponent\n+  ANDI2R(frac_reg, input_reg, INPUT_FRAC_MASK);  // Grab mantissa\n+\n+  // Most branches handle the sign in the same way. Perform that handling before branching\n+  MOVI2R(ARM64Reg::W0, Common::PPC_FPCLASS_PN);\n+  MOVI2R(ARM64Reg::W1, Common::PPC_FPCLASS_NN);\n+  CSEL(ARM64Reg::W0, ARM64Reg::W1, ARM64Reg::W0, CCFlags::CC_LT);\n+\n+  FixupBranch zero_exponent = CBZ(exp_reg);\n+\n+  MOVI2R(temp_reg, INPUT_EXP_MASK);\n+  CMP(exp_reg, temp_reg);\n+  FixupBranch normal = B(CCFlags::CC_NEQ);\n+\n+  // exp == EXP_MASK\n+  CMP(frac_reg, 0);', 'user': {'organizations_url': 'https://api.github.com/users/degasus/orgs', 'repos_url': 'https://api.github.com/users/degasus/repos', 'html_url': 'https://github.com/degasus', 'url': 'https://api.github.com/users/degasus', 'node_id': 'MDQ6VXNlcjI3ODcxNDE=', 'avatar_url': 'https://avatars.githubusercontent.com/u/2787141?v=4', 'followers_url': 'https://api.github.com/users/degasus/followers', 'received_events_url': 'https://api.github.com/users/degasus/received_events', 'events_url': 'https://api.github.com/users/degasus/events{/privacy}', 'gists_url': 'https://api.github.com/users/degasus/gists{/gist_id}', 'following_url': 'https://api.github.com/users/degasus/following{/other_user}', 'gravatar_id': '', 'login': 'degasus', 'subscriptions_url': 'https://api.github.com/users/degasus/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/degasus/starred{/owner}{/repo}', 'id': 2787141}, 'node_id': 'MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDYzMTcxMjYwNA==', 'id': 631712604}], 'url': 'https://github.com/dolphin-emu/dolphin/pull/9637#pullrequestreview-658773882', 'pr_title': 'JitArm64: Implement FPRF updates', 'source': 'ghhookparser', 'action': 'submitted', 'author': 'degasus', 'pr_id': 9637, 'type': 'gh_pull_request_review', 'repo': 'dolphin-emu/dolphin'}

Recent 'gh_push' events

2021-05-14T12:22:16.301769	{'deleted': False, 'before_sha': '9f91fb64479d3df14489378a6b4fb3ffa7d12f2d', 'commits': [{'hash': 'dcf3ca0f8995324471fc3359ee17d7ea89afd8fc', 'modified': ['CMakeLists.txt'], 'url': 'https://github.com/dolphin-emu/dolphin/commit/dcf3ca0f8995324471fc3359ee17d7ea89afd8fc', 'message': 'CMake: Force gtest to link CRT dynamically to avoid runtime mismatches\n\nRequired to fix unit test builds for Windows+MSVC+CMake.\n\nFor more information, see:\n\nhttps://github.com/google/googletest/blob/23ef29555ef4789f555f1ba8c51b4c52975f0907/googletest/README.md#visual-studio-dynamic-vs-static-runtimes', 'added': [], 'author': {'email': 'leo@leolam.fr', 'username': 'leoetlino', 'name': 'Léo Lam'}, 'distinct': True, 'removed': []}, {'hash': 'c69747c7fb25f380a12267d0b5f9123fdf65be53', 'modified': ['CMakeLists.txt'], 'url': 'https://github.com/dolphin-emu/dolphin/commit/c69747c7fb25f380a12267d0b5f9123fdf65be53', 'message': "CMake: Fix CMAKE_RUNTIME_OUTPUT_DIRECTORY being ignored in UnitTests\n\nCMAKE_RUNTIME_OUTPUT_DIRECTORY_<mode> overrode CMAKE_RUNTIME_OUTPUT_DIRECTORY.\n\nIt's just unnecessary and it broke UnitTests's custom output directory", 'added': [], 'author': {'email': 'leo@leolam.fr', 'username': 'leoetlino', 'name': 'Léo Lam'}, 'distinct': True, 'removed': []}, {'hash': 'f6b8d4758ee3df8fbe94c23a9b6e01fe9e1d06d7', 'modified': ['Source/Core/DolphinQt/CMakeLists.txt'], 'url': 'https://github.com/dolphin-emu/dolphin/commit/f6b8d4758ee3df8fbe94c23a9b6e01fe9e1d06d7', 'message': 'CMake: Copy license.txt to output folder to match existing Win builds', 'added': [], 'author': {'email': 'leo@leolam.fr', 'username': 'leoetlino', 'name': 'Léo Lam'}, 'distinct': True, 'removed': []}, {'hash': 'e71aef6768459a656566346a35af67207e60ec42', 'modified': ['Source/Core/DolphinQt/CMakeLists.txt'], 'url': 'https://github.com/dolphin-emu/dolphin/commit/e71aef6768459a656566346a35af67207e60ec42', 'message': 'CMake: Ask windeployqt not to copy DLLs that are unnecessary\n\n* no-system-d3d-compiler: d3dcompiler_47.dll\n* no-angle, no-opengl-sw: libEGL.dll, libGLESv2.dll', 'added': [], 'author': {'email': 'leo@leolam.fr', 'username': 'leoetlino', 'name': 'Léo Lam'}, 'distinct': True, 'removed': []}, {'hash': 'ae67a9382bd35d248610774ff6e8f38db7e15f9f', 'modified': ['Source/Core/DolphinQt/CMakeLists.txt'], 'url': 'https://github.com/dolphin-emu/dolphin/commit/ae67a9382bd35d248610774ff6e8f38db7e15f9f', 'message': 'CMake: Put the *.mo files directly in the correct output dir\n\nAvoids the need to copy the *.mo files manually *and* more importantly\nthis ensures that the mo files are always recreated if the build\noutput directory is cleared.', 'added': [], 'author': {'email': 'leo@leolam.fr', 'username': 'leoetlino', 'name': 'Léo Lam'}, 'distinct': True, 'removed': []}, {'hash': '20d00dfc79c5eb10b5a7578b29a712a08bf8f44a', 'modified': ['CMakeLists.txt'], 'url': 'https://github.com/dolphin-emu/dolphin/commit/20d00dfc79c5eb10b5a7578b29a712a08bf8f44a', 'message': 'CMake: Add missing MSVC optimization flags to match VS project props', 'added': [], 'author': {'email': 'leo@leolam.fr', 'username': 'leoetlino', 'name': 'Léo Lam'}, 'distinct': True, 'removed': []}, {'hash': 'd0484a9ea9331f2cedb080f06944d737343414f1', 'modified': ['CMake/FlagsOverride.cmake'], 'url': 'https://github.com/dolphin-emu/dolphin/commit/d0484a9ea9331f2cedb080f06944d737343414f1', 'message': 'CMake: Fix MSVC flags for Release/RelWithDebInfo\n\nSee https://gitlab.kitware.com/cmake/cmake/-/issues/20812\n\nManually redefine MSVC flags to match Visual Studio defaults\nand ensure that Release builds generate debug info.', 'added': [], 'author': {'email': 'leo@leolam.fr', 'username': 'leoetlino', 'name': 'Léo Lam'}, 'distinct': True, 'removed': []}, {'hash': 'ae9ac510e2dbed6d7adec40dff33d82bb0f1ff3e', 'modified': ['CMakeLists.txt'], 'url': 'https://github.com/dolphin-emu/dolphin/commit/ae9ac510e2dbed6d7adec40dff33d82bb0f1ff3e', 'message': "CMake: Do not enable LTO by default for MSVC\n\nLTO is supposed to be enabled by default for VS Release builds\naccording to the VS prop files but a build log from JMC reveals\nthat /GL and /LTCG are not actually passed to cl.exe/link.exe\nfor some reason...\n\nLTO also leads to *extremely* and unacceptably slow build times\nwhen using link.exe, so let's disable it by default to actually\nmatch the project files.", 'added': [], 'author': {'email': 'leo@leolam.fr', 'username': 'leoetlino', 'name': 'Léo Lam'}, 'distinct': True, 'removed': []}, {'hash': '16e91172b17eb2f223599a49658e3abb348b89f9', 'modified': ['CMake/FlagsOverride.cmake', 'CMakeLists.txt', 'Source/Core/DolphinQt/CMakeLists.txt'], 'url': 'https://github.com/dolphin-emu/dolphin/commit/16e91172b17eb2f223599a49658e3abb348b89f9', 'message': 'Merge pull request #9668 from leoetlino/windows-cmake-fixes\n\nCMake: minor Windows fixes', 'added': [], 'author': {'email': 'JMC4789@gmail.com', 'username': 'JMC47', 'name': 'JMC47'}, 'distinct': True, 'removed': []}], 'ref_name': 'master', 'source': 'ghhookparser', 'forced': False, 'after_sha': '16e91172b17eb2f223599a49658e3abb348b89f9', 'ref_type': 'heads', 'created': False, 'pusher': 'JMC47', 'base_ref_name': None, 'repo': 'dolphin-emu/dolphin', 'type': 'gh_push'}
2021-05-14T08:51:38.939336	{'deleted': False, 'before_sha': '099bf16326c1549246fd1bd976fb1242e7ba0875', 'commits': [{'hash': '81092cf7e43f9e4cb33fd93aeba2a9f1f9383ce4', 'modified': ['Source/Core/Common/Logging/Log.h', 'Source/Core/Common/Logging/LogManager.cpp', 'Source/Core/InputCommon/ControllerInterface/ControllerInterface.cpp', 'Source/Core/InputCommon/ControllerInterface/DualShockUDPClient/DualShockUDPClient.cpp', 'Source/Core/InputCommon/ControllerInterface/DualShockUDPClient/DualShockUDPProto.h', 'Source/Core/InputCommon/ControllerInterface/OSX/OSX.mm', 'Source/Core/InputCommon/ControllerInterface/OSX/OSXJoystick.mm', 'Source/Core/InputCommon/ControllerInterface/SDL/SDL.cpp', 'Source/Core/InputCommon/ControllerInterface/Win32/Win32.cpp', 'Source/Core/InputCommon/ControllerInterface/evdev/evdev.cpp', 'Source/Core/InputCommon/GCAdapter.cpp', 'Source/Core/InputCommon/GCAdapter_Android.cpp'], 'url': 'https://github.com/dolphin-emu/dolphin/commit/81092cf7e43f9e4cb33fd93aeba2a9f1f9383ce4', 'message': 'InputCommon: replace SerialInterface log with ControllerInterface\n\nwhere appropriate. SerialInterface was a leftover from the past,\nand makes no sense to be used on actual/real controllers.', 'added': [], 'author': {'email': 'filippotarpini@hotmail.it', 'username': 'Filoppi', 'name': 'Filoppi'}, 'distinct': True, 'removed': []}, {'hash': 'd586163e38acbd93d3568bb209756b56bb712c81', 'modified': ['Source/Core/Core/HW/GCPadEmu.cpp'], 'url': 'https://github.com/dolphin-emu/dolphin/commit/d586163e38acbd93d3568bb209756b56bb712c81', 'message': "Wrap some more control expression around ``\n\nThis isn't entirely necessary, as they are interpreted as barewords expressions,\nbut it's still nicer to have by default. And my upcoming input changes will\nalways put `` around single letter inputs.", 'added': [], 'author': {'email': 'filippotarpini@hotmail.it', 'username': 'Filoppi', 'name': 'Filoppi'}, 'distinct': True, 'removed': []}, {'hash': 'a261e61e9e3941d10cf0ef3adf8eac00f722b6db', 'modified': ['Source/Core/InputCommon/ControllerEmu/Control/Control.h', 'Source/Core/InputCommon/ControllerEmu/ControlGroup/AnalogStick.cpp', 'Source/Core/InputCommon/ControllerEmu/ControlGroup/AnalogStick.h', 'Source/Core/InputCommon/ControllerEmu/ControlGroup/Buttons.h', 'Source/Core/InputCommon/ControllerEmu/ControlGroup/Cursor.cpp', 'Source/Core/InputCommon/ControllerEmu/ControlGroup/Cursor.h', 'Source/Core/InputCommon/ControllerEmu/ControlGroup/Force.cpp', 'Source/Core/InputCommon/ControllerEmu/ControlGroup/Force.h', 'Source/Core/InputCommon/ControllerEmu/ControlGroup/Slider.cpp', 'Source/Core/InputCommon/ControllerEmu/ControlGroup/Slider.h', 'Source/Core/InputCommon/ControllerEmu/ControlGroup/Tilt.cpp', 'Source/Core/InputCommon/ControllerEmu/ControlGroup/Tilt.h', 'Source/Core/InputCommon/ControllerEmu/ControlGroup/Triggers.cpp', 'Source/Core/InputCommon/ControllerEmu/ControlGroup/Triggers.h', 'Source/Core/InputCommon/ControllerEmu/StickGate.cpp', 'Source/Core/InputCommon/ControllerEmu/StickGate.h', 'Source/Core/InputCommon/ControllerInterface/Touch/ButtonManager.cpp', 'Source/Core/InputCommon/ControllerInterface/Touch/ButtonManager.h', 'Source/Core/InputCommon/InputConfig.cpp', 'Source/Core/InputCommon/InputConfig.h'], 'url': 'https://github.com/dolphin-emu/dolphin/commit/a261e61e9e3941d10cf0ef3adf8eac00f722b6db', 'message': 'InputCommon: add a ton of missing consts\n\nfix some related grammar errors\nonly the ButtonManager required code changes', 'added': [], 'author': {'email': 'filippotarpini@hotmail.it', 'username': 'Filoppi', 'name': 'Filoppi'}, 'distinct': True, 'removed': []}, {'hash': 'e9e41b925b6efeac4d3eadf049391ef81483528f', 'modified': ['Source/Core/Core/HW/WiimoteEmu/EmuSubroutines.cpp', 'Source/Core/Core/HW/WiimoteEmu/WiimoteEmu.cpp', 'Source/Core/InputCommon/ControllerEmu/ControlGroup/ModifySettingsButton.cpp', 'Source/Core/InputCommon/ControllerEmu/ControlGroup/ModifySettingsButton.h'], 'url': 'https://github.com/dolphin-emu/dolphin/commit/e9e41b925b6efeac4d3eadf049391ef81483528f', 'message': 'InputCommon: follow coding conventions and rename GetState() to UpdateState()\n\nAnd remove useless include', 'added': [], 'author': {'email': 'filippotarpini@hotmail.it', 'username': 'Filoppi', 'name': 'Filoppi'}, 'distinct': True, 'removed': []}, {'hash': 'f4fec42165f245e8ad35456a25bfada8428ba1f2', 'modified': ['Source/Core/Core/HW/GCPadEmu.cpp', 'Source/Core/Core/HW/WiimoteEmu/ExtensionPort.cpp', 'Source/Core/DolphinQt/Config/ToolTipControls/ToolTipWidget.h', 'Source/Core/InputCommon/ControlReference/ExpressionParser.cpp', 'Source/Core/InputCommon/ControlReference/ExpressionParser.h', 'Source/Core/InputCommon/ControllerEmu/ControlGroup/ControlGroup.cpp', 'Source/Core/InputCommon/ControllerEmu/ControlGroup/IMUGyroscope.cpp', 'Source/Core/InputCommon/ControllerEmu/StickGate.cpp', 'Source/Core/InputCommon/InputConfig.cpp', 'Source/Core/VideoCommon/RenderBase.cpp'], 'url': 'https://github.com/dolphin-emu/dolphin/commit/f4fec42165f245e8ad35456a25bfada8428ba1f2', 'message': 'Add mixed comments to input code, make some tooltip clearer', 'added': [], 'author': {'email': 'filippotarpini@hotmail.it', 'username': 'Filoppi', 'name': 'Filoppi'}, 'distinct': True, 'removed': []}, {'hash': '4625359a4fe05c408bfd7d555f880bd7faac5c50', 'modified': ['Source/Core/Core/HW/WiimoteEmu/ExtensionPort.h', 'Source/Core/InputCommon/ControllerEmu/ControlGroup/Attachments.h'], 'url': 'https://github.com/dolphin-emu/dolphin/commit/4625359a4fe05c408bfd7d555f880bd7faac5c50', 'message': "InputCommon: clamp the attachment setting max to its actual enum max\n\nNumericSettings support a max, so let's use it.\nIt might not do much now, but the max and min values will be used to give visual feeback\nin the UI in one of my upcoming input PRs", 'added': [], 'author': {'email': 'filippotarpini@hotmail.it', 'username': 'Filoppi', 'name': 'Filoppi'}, 'distinct': True, 'removed': []}, {'hash': '5f74d0e08f8ee4d083f16535ba1c5e95e871743b', 'modified': ['Source/Core/InputCommon/ControlReference/ExpressionParser.cpp'], 'url': 'https://github.com/dolphin-emu/dolphin/commit/5f74d0e08f8ee4d083f16535ba1c5e95e871743b', 'message': 'InputCommon: follow coding conventions', 'added': [], 'author': {'email': 'filippotarpini@hotmail.it', 'username': 'Filoppi', 'name': 'Filoppi'}, 'distinct': True, 'removed': []}, {'hash': '26f664842184a2fd5236de2621eff509b05d0c3d', 'modified': ['Source/Core/InputCommon/ControllerEmu/StickGate.cpp', 'Source/Core/InputCommon/ControllerEmu/StickGate.h'], 'url': 'https://github.com/dolphin-emu/dolphin/commit/26f664842184a2fd5236de2621eff509b05d0c3d', 'message': 'StickGate: add custom clamp value\n\nWorks exactly as before by default.\nIt will be used by my upcoming input PRs.', 'added': [], 'author': {'email': 'filippotarpini@hotmail.it', 'username': 'Filoppi', 'name': 'Filoppi'}, 'distinct': True, 'removed': []}, {'hash': 'f3ffac00583bd03d0620226392a2b15f3cfd273b', 'modified': ['Source/Core/DolphinQt/Config/Mapping/MappingNumeric.cpp'], 'url': 'https://github.com/dolphin-emu/dolphin/commit/f3ffac00583bd03d0620226392a2b15f3cfd273b', 'message': 'Qt: add tooltip to MappingBool\n\nTooltip code is identical to MappingDouble and the tooltips (UI description)\nare present in the underlying setting object.', 'added': [], 'author': {'email': 'filippotarpini@hotmail.it', 'username': 'Filoppi', 'name': 'Filoppi'}, 'distinct': True, 'removed': []}, {'hash': '9f91fb64479d3df14489378a6b4fb3ffa7d12f2d', 'modified': ['Source/Core/Common/Logging/Log.h', 'Source/Core/Common/Logging/LogManager.cpp', 'Source/Core/Core/HW/GCPadEmu.cpp', 'Source/Core/Core/HW/WiimoteEmu/EmuSubroutines.cpp', 'Source/Core/Core/HW/WiimoteEmu/ExtensionPort.cpp', 'Source/Core/Core/HW/WiimoteEmu/ExtensionPort.h', 'Source/Core/Core/HW/WiimoteEmu/WiimoteEmu.cpp', 'Source/Core/DolphinQt/Config/Mapping/MappingNumeric.cpp', 'Source/Core/DolphinQt/Config/ToolTipControls/ToolTipWidget.h', 'Source/Core/InputCommon/ControlReference/ExpressionParser.cpp', 'Source/Core/InputCommon/ControlReference/ExpressionParser.h', 'Source/Core/InputCommon/ControllerEmu/Control/Control.h', 'Source/Core/InputCommon/ControllerEmu/ControlGroup/AnalogStick.cpp', 'Source/Core/InputCommon/ControllerEmu/ControlGroup/AnalogStick.h', 'Source/Core/InputCommon/ControllerEmu/ControlGroup/Attachments.h', 'Source/Core/InputCommon/ControllerEmu/ControlGroup/Buttons.h', 'Source/Core/InputCommon/ControllerEmu/ControlGroup/ControlGroup.cpp', 'Source/Core/InputCommon/ControllerEmu/ControlGroup/Cursor.cpp', 'Source/Core/InputCommon/ControllerEmu/ControlGroup/Cursor.h', 'Source/Core/InputCommon/ControllerEmu/ControlGroup/Force.cpp', 'Source/Core/InputCommon/ControllerEmu/ControlGroup/Force.h', 'Source/Core/InputCommon/ControllerEmu/ControlGroup/IMUGyroscope.cpp', 'Source/Core/InputCommon/ControllerEmu/ControlGroup/ModifySettingsButton.cpp', 'Source/Core/InputCommon/ControllerEmu/ControlGroup/ModifySettingsButton.h', 'Source/Core/InputCommon/ControllerEmu/ControlGroup/Slider.cpp', 'Source/Core/InputCommon/ControllerEmu/ControlGroup/Slider.h', 'Source/Core/InputCommon/ControllerEmu/ControlGroup/Tilt.cpp', 'Source/Core/InputCommon/ControllerEmu/ControlGroup/Tilt.h', 'Source/Core/InputCommon/ControllerEmu/ControlGroup/Triggers.cpp', 'Source/Core/InputCommon/ControllerEmu/ControlGroup/Triggers.h', 'Source/Core/InputCommon/ControllerEmu/StickGate.cpp', 'Source/Core/InputCommon/ControllerEmu/StickGate.h', 'Source/Core/InputCommon/ControllerInterface/ControllerInterface.cpp', 'Source/Core/InputCommon/ControllerInterface/DualShockUDPClient/DualShockUDPClient.cpp', 'Source/Core/InputCommon/ControllerInterface/DualShockUDPClient/DualShockUDPProto.h', 'Source/Core/InputCommon/ControllerInterface/OSX/OSX.mm', 'Source/Core/InputCommon/ControllerInterface/OSX/OSXJoystick.mm', 'Source/Core/InputCommon/ControllerInterface/SDL/SDL.cpp', 'Source/Core/InputCommon/ControllerInterface/Touch/ButtonManager.cpp', 'Source/Core/InputCommon/ControllerInterface/Touch/ButtonManager.h', 'Source/Core/InputCommon/ControllerInterface/Win32/Win32.cpp', 'Source/Core/InputCommon/ControllerInterface/evdev/evdev.cpp', 'Source/Core/InputCommon/GCAdapter.cpp', 'Source/Core/InputCommon/GCAdapter_Android.cpp', 'Source/Core/InputCommon/InputConfig.cpp', 'Source/Core/InputCommon/InputConfig.h', 'Source/Core/VideoCommon/RenderBase.cpp'], 'url': 'https://github.com/dolphin-emu/dolphin/commit/9f91fb64479d3df14489378a6b4fb3ffa7d12f2d', 'message': 'Merge pull request #9688 from Filoppi/input_cleanup\n\nInput cleanup', 'added': [], 'author': {'email': 'phiren@gmail.com', 'username': 'phire', 'name': 'Scott Mansell'}, 'distinct': True, 'removed': []}], 'ref_name': 'master', 'source': 'ghhookparser', 'forced': False, 'after_sha': '9f91fb64479d3df14489378a6b4fb3ffa7d12f2d', 'ref_type': 'heads', 'created': False, 'pusher': 'phire', 'base_ref_name': None, 'repo': 'dolphin-emu/dolphin', 'type': 'gh_push'}
2021-05-13T12:54:28.355516	{'deleted': False, 'before_sha': '7a72a5b997f87bcb7f55c9fbd358328fec68e536', 'commits': [{'hash': 'b66cd99e8672bd5831852b0da157c491ab64f633', 'modified': [], 'url': 'https://github.com/dolphin-emu/dolphin/commit/b66cd99e8672bd5831852b0da157c491ab64f633', 'message': 'Gamesettings: Disable ICache for Indiana Jones and the Staff of Kings', 'added': ['Data/Sys/GameSettings/RJ8.ini'], 'author': {'email': '8967997+PatrickFerry@users.noreply.github.com', 'username': 'PatrickFerry', 'name': 'Patrick A. Ferry'}, 'distinct': True, 'removed': []}, {'hash': '099bf16326c1549246fd1bd976fb1242e7ba0875', 'modified': [], 'url': 'https://github.com/dolphin-emu/dolphin/commit/099bf16326c1549246fd1bd976fb1242e7ba0875', 'message': 'Merge pull request #9630 from PatrickFerry/ini-fixes-2\n\nGameini: Disable ICache for Indiana Jones and the Staff of Kings', 'added': ['Data/Sys/GameSettings/RJ8.ini'], 'author': {'email': 'josjuice@gmail.com', 'username': 'JosJuice', 'name': 'JosJuice'}, 'distinct': True, 'removed': []}], 'ref_name': 'master', 'source': 'ghhookparser', 'forced': False, 'after_sha': '099bf16326c1549246fd1bd976fb1242e7ba0875', 'ref_type': 'heads', 'created': False, 'pusher': 'JosJuice', 'base_ref_name': None, 'repo': 'dolphin-emu/dolphin', 'type': 'gh_push'}
2021-05-13T10:47:40.449026	{'deleted': False, 'before_sha': 'd034c830acfab16f93aefcfe65e3719f3f87cb4a', 'commits': [{'hash': '574477866fe3e82a87214848d3d4b505535f2d3b', 'modified': ['Source/Core/Common/StringUtil.cpp', 'Source/Core/Common/StringUtil.h', 'Source/Core/InputCommon/ControllerEmu/ControlGroup/ControlGroup.cpp', 'Source/Core/InputCommon/ControllerEmu/Setting/NumericSetting.h'], 'url': 'https://github.com/dolphin-emu/dolphin/commit/574477866fe3e82a87214848d3d4b505535f2d3b', 'message': 'InputCommon: fix serialization of control expression with line breaks\n\nThe control expression editor allows line breaks, but the serialization was\nlosing anything after the first line break (/r /n).\nInstead of opting to encode them and decode them on serialization\n(which I tried but was not safe, as it would lose /n written in the string by users),\nI opted to replace them with a space.', 'added': [], 'author': {'email': 'filippotarpini@hotmail.it', 'username': 'Filoppi', 'name': 'Filoppi'}, 'distinct': True, 'removed': []}, {'hash': '7a72a5b997f87bcb7f55c9fbd358328fec68e536', 'modified': ['Source/Core/Common/StringUtil.cpp', 'Source/Core/Common/StringUtil.h', 'Source/Core/InputCommon/ControllerEmu/ControlGroup/ControlGroup.cpp', 'Source/Core/InputCommon/ControllerEmu/Setting/NumericSetting.h'], 'url': 'https://github.com/dolphin-emu/dolphin/commit/7a72a5b997f87bcb7f55c9fbd358328fec68e536', 'message': 'Merge pull request #9703 from Filoppi/fix_expression_serialization\n\nFix serialization of control expressions with line breaks', 'added': [], 'author': {'email': 'mathew1800@gmail.com', 'username': 'lioncash', 'name': 'Mat M'}, 'distinct': True, 'removed': []}], 'ref_name': 'master', 'source': 'ghhookparser', 'forced': False, 'after_sha': '7a72a5b997f87bcb7f55c9fbd358328fec68e536', 'ref_type': 'heads', 'created': False, 'pusher': 'lioncash', 'base_ref_name': None, 'repo': 'dolphin-emu/dolphin', 'type': 'gh_push'}
2021-05-13T10:44:10.113812	{'deleted': False, 'before_sha': '0ef88d4ecb103908aeaba0105767b96ef5e755c4', 'commits': [{'hash': '182dfc38e6cb6256cc41f5dd3437a7e4f407ff17', 'modified': ['Source/Core/DolphinLib.props', 'Source/Core/VideoCommon/CMakeLists.txt', 'Source/Core/VideoCommon/HiresTextures.cpp', 'Source/Core/VideoCommon/HiresTextures.h', 'Source/Core/VideoCommon/TextureCacheBase.cpp', 'Source/Core/VideoCommon/TextureCacheBase.h'], 'url': 'https://github.com/dolphin-emu/dolphin/commit/182dfc38e6cb6256cc41f5dd3437a7e4f407ff17', 'message': 'VideoCommon: move all texture calculations to a "TextureInfo" class.  This ever so slightly improves readability and allows for the full texture name to be generated outside of the hires texture cache', 'added': ['Source/Core/VideoCommon/TextureInfo.cpp', 'Source/Core/VideoCommon/TextureInfo.h'], 'author': {'email': 'iwubcode@users.noreply.github.com', 'username': 'iwubcode', 'name': 'iwubcode'}, 'distinct': True, 'removed': []}, {'hash': 'd034c830acfab16f93aefcfe65e3719f3f87cb4a', 'modified': ['Source/Core/DolphinLib.props', 'Source/Core/VideoCommon/CMakeLists.txt', 'Source/Core/VideoCommon/HiresTextures.cpp', 'Source/Core/VideoCommon/HiresTextures.h', 'Source/Core/VideoCommon/TextureCacheBase.cpp', 'Source/Core/VideoCommon/TextureCacheBase.h'], 'url': 'https://github.com/dolphin-emu/dolphin/commit/d034c830acfab16f93aefcfe65e3719f3f87cb4a', 'message': 'Merge pull request #9681 from iwubcode/texture-info\n\nVideoCommon: move all texture calculations to a "TextureInfo" class', 'added': ['Source/Core/VideoCommon/TextureInfo.cpp', 'Source/Core/VideoCommon/TextureInfo.h'], 'author': {'email': 'mathew1800@gmail.com', 'username': 'lioncash', 'name': 'Mat M'}, 'distinct': True, 'removed': []}], 'ref_name': 'master', 'source': 'ghhookparser', 'forced': False, 'after_sha': 'd034c830acfab16f93aefcfe65e3719f3f87cb4a', 'ref_type': 'heads', 'created': False, 'pusher': 'lioncash', 'base_ref_name': None, 'repo': 'dolphin-emu/dolphin', 'type': 'gh_push'}
2021-05-13T10:42:46.536175	{'deleted': False, 'before_sha': '24b9a64c1116dee5bb106d8217a42da2951dffa3', 'commits': [{'hash': 'c21e9909ab1209a5792e9979707e50251c93ada4', 'modified': ['Source/Core/Core/IOS/Network/Socket.cpp'], 'url': 'https://github.com/dolphin-emu/dolphin/commit/c21e9909ab1209a5792e9979707e50251c93ada4', 'message': 'Socket: Fix AF_INET6 on non-Windows systems', 'added': [], 'author': {'email': 'Leseratte10@vodafone.de', 'username': 'Leseratte10', 'name': 'Florian Bach'}, 'distinct': True, 'removed': []}, {'hash': '0ef88d4ecb103908aeaba0105767b96ef5e755c4', 'modified': ['Source/Core/Core/IOS/Network/Socket.cpp'], 'url': 'https://github.com/dolphin-emu/dolphin/commit/0ef88d4ecb103908aeaba0105767b96ef5e755c4', 'message': 'Merge pull request #9705 from Leseratte10/master\n\nSocket: Fix AF_INET6 on non-Windows systems', 'added': [], 'author': {'email': 'mathew1800@gmail.com', 'username': 'lioncash', 'name': 'Mat M'}, 'distinct': True, 'removed': []}], 'ref_name': 'master', 'source': 'ghhookparser', 'forced': False, 'after_sha': '0ef88d4ecb103908aeaba0105767b96ef5e755c4', 'ref_type': 'heads', 'created': False, 'pusher': 'lioncash', 'base_ref_name': None, 'repo': 'dolphin-emu/dolphin', 'type': 'gh_push'}
2021-05-13T10:42:16.133099	{'deleted': False, 'before_sha': '80ac36a712b80516f1708de56a5b6582127de2f4', 'commits': [{'hash': '2cafa0a96044d25f8b5248964f3dc1e319f5eb9b', 'modified': ['Source/Core/Core/PowerPC/Jit64/Jit_Integer.cpp'], 'url': 'https://github.com/dolphin-emu/dolphin/commit/2cafa0a96044d25f8b5248964f3dc1e319f5eb9b', 'message': "Jit64: divwux - Prefer three-operand IMUL\n\nBy taking advantage of three-operand IMUL, we can eliminate a MOV\ninstruction. This is a small code size win. However, due to IMUL sign\nextending the immediate value to 64 bits, we can only apply this when\nthe magic number's most significant bit is zero.\n\nTo ensure this can actually happen, we also minimize the magic number by\nchecking for trailing zeroes.\n\nExample (Unsigned division by 18)\nBefore:\n41 BE E4 38 8E E3    mov         r14d,0E38E38E4h\n4D 0F AF F5          imul        r14,r13\n49 C1 EE 24          shr         r14,24h\n\nAfter:\n4D 69 F5 39 8E E3 38 imul        r14,r13,38E38E39h\n49 C1 EE 22          shr         r14,22h", 'added': [], 'author': {'email': 'bram.speeckaert@gmail.com', 'username': 'Sintendo', 'name': 'Sintendo'}, 'distinct': True, 'removed': []}, {'hash': '24b9a64c1116dee5bb106d8217a42da2951dffa3', 'modified': ['Source/Core/Core/PowerPC/Jit64/Jit_Integer.cpp'], 'url': 'https://github.com/dolphin-emu/dolphin/commit/24b9a64c1116dee5bb106d8217a42da2951dffa3', 'message': 'Merge pull request #9690 from Sintendo/jit64divwux\n\nJit64: divwux - Prefer three-operand IMUL', 'added': [], 'author': {'email': 'mathew1800@gmail.com', 'username': 'lioncash', 'name': 'Mat M'}, 'distinct': True, 'removed': []}], 'ref_name': 'master', 'source': 'ghhookparser', 'forced': False, 'after_sha': '24b9a64c1116dee5bb106d8217a42da2951dffa3', 'ref_type': 'heads', 'created': False, 'pusher': 'lioncash', 'base_ref_name': None, 'repo': 'dolphin-emu/dolphin', 'type': 'gh_push'}
2021-05-13T10:41:02.756567	{'deleted': False, 'before_sha': '8d7b0004b92612aaf7691cd826063ab0c371d722', 'commits': [{'hash': 'ac77f8207eab4c6589413c1c5265059993989b19', 'modified': ['Source/Android/app/build.gradle', 'Source/Android/build.gradle', 'Source/Android/gradle/wrapper/gradle-wrapper.properties'], 'url': 'https://github.com/dolphin-emu/dolphin/commit/ac77f8207eab4c6589413c1c5265059993989b19', 'message': 'Android: bump gradle & dependencies version\n\njecenter() is EOL, so swap that out with mavenCentral()', 'added': [], 'author': {'email': '37104290+sspacelynx@users.noreply.github.com', 'username': 'sspacelynx', 'name': 'sspacelynx'}, 'distinct': True, 'removed': []}, {'hash': '80ac36a712b80516f1708de56a5b6582127de2f4', 'modified': ['Source/Android/app/build.gradle', 'Source/Android/build.gradle', 'Source/Android/gradle/wrapper/gradle-wrapper.properties'], 'url': 'https://github.com/dolphin-emu/dolphin/commit/80ac36a712b80516f1708de56a5b6582127de2f4', 'message': 'Merge pull request #9701 from sspacelynx/master\n\nAndroid: bump gradle & dependencies version', 'added': [], 'author': {'email': 'mathew1800@gmail.com', 'username': 'lioncash', 'name': 'Mat M'}, 'distinct': True, 'removed': []}], 'ref_name': 'master', 'source': 'ghhookparser', 'forced': False, 'after_sha': '80ac36a712b80516f1708de56a5b6582127de2f4', 'ref_type': 'heads', 'created': False, 'pusher': 'lioncash', 'base_ref_name': None, 'repo': 'dolphin-emu/dolphin', 'type': 'gh_push'}
2021-05-13T10:40:32.855853	{'deleted': False, 'before_sha': '725ea3d9c179a93579749fb9d3802b72433509d6', 'commits': [{'hash': 'a8f48feddb2b5cbf41eca570a76d04fff2290233', 'modified': ['Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/view/CheckBoxSetting.java', 'Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/view/FilePicker.java', 'Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/view/FloatSliderSetting.java', 'Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/view/HeaderSetting.java', 'Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/view/InputBindingSetting.java', 'Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/view/IntSliderSetting.java', 'Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/view/InvertedCheckBoxSetting.java', 'Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/view/LogCheckBoxSetting.java', 'Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/view/PercentSliderSetting.java', 'Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/view/RumbleBindingSetting.java', 'Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/view/RunRunnable.java', 'Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/view/SettingsItem.java', 'Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/view/SingleChoiceSetting.java', 'Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/view/SingleChoiceSettingDynamicDescriptions.java', 'Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/view/SliderSetting.java', 'Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/view/StringSingleChoiceSetting.java', 'Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/view/SubmenuSetting.java', 'Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsAdapter.java', 'Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsFragment.java', 'Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsFragmentPresenter.java', 'Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/viewholder/CheckBoxSettingViewHolder.java', 'Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/viewholder/FilePickerViewHolder.java', 'Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/viewholder/HeaderViewHolder.java', 'Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/viewholder/InputBindingSettingViewHolder.java', 'Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/viewholder/RumbleBindingViewHolder.java', 'Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/viewholder/RunRunnableViewHolder.java', 'Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/viewholder/SingleChoiceViewHolder.java', 'Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/viewholder/SliderViewHolder.java', 'Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/viewholder/SubmenuViewHolder.java'], 'url': 'https://github.com/dolphin-emu/dolphin/commit/a8f48feddb2b5cbf41eca570a76d04fff2290233', 'message': 'Android: Use CharSequence for SettingsItem name/description', 'added': [], 'author': {'email': 'josjuice@gmail.com', 'username': 'JosJuice', 'name': 'JosJuice'}, 'distinct': True, 'removed': []}, {'hash': 'c5491e820502126e5794b89b4d0b3f27b523a60b', 'modified': ['Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/view/CheckBoxSetting.java', 'Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/view/LogCheckBoxSetting.java', 'Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsAdapter.java', 'Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsFragmentPresenter.java', 'Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/viewholder/CheckBoxSettingViewHolder.java'], 'url': 'https://github.com/dolphin-emu/dolphin/commit/c5491e820502126e5794b89b4d0b3f27b523a60b', 'message': "Android: Remove CheckBoxSettingViewHolder's log setting name hack", 'added': [], 'author': {'email': 'josjuice@gmail.com', 'username': 'JosJuice', 'name': 'JosJuice'}, 'distinct': True, 'removed': []}, {'hash': '8d7b0004b92612aaf7691cd826063ab0c371d722', 'modified': ['Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/view/CheckBoxSetting.java', 'Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/view/FilePicker.java', 'Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/view/FloatSliderSetting.java', 'Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/view/HeaderSetting.java', 'Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/view/InputBindingSetting.java', 'Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/view/IntSliderSetting.java', 'Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/view/InvertedCheckBoxSetting.java', 'Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/view/LogCheckBoxSetting.java', 'Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/view/PercentSliderSetting.java', 'Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/view/RumbleBindingSetting.java', 'Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/view/RunRunnable.java', 'Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/view/SettingsItem.java', 'Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/view/SingleChoiceSetting.java', 'Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/view/SingleChoiceSettingDynamicDescriptions.java', 'Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/view/SliderSetting.java', 'Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/view/StringSingleChoiceSetting.java', 'Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/view/SubmenuSetting.java', 'Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsAdapter.java', 'Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsFragment.java', 'Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsFragmentPresenter.java', 'Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/viewholder/CheckBoxSettingViewHolder.java', 'Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/viewholder/FilePickerViewHolder.java', 'Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/viewholder/HeaderViewHolder.java', 'Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/viewholder/InputBindingSettingViewHolder.java', 'Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/viewholder/RumbleBindingViewHolder.java', 'Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/viewholder/RunRunnableViewHolder.java', 'Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/viewholder/SingleChoiceViewHolder.java', 'Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/viewholder/SliderViewHolder.java', 'Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/viewholder/SubmenuViewHolder.java'], 'url': 'https://github.com/dolphin-emu/dolphin/commit/8d7b0004b92612aaf7691cd826063ab0c371d722', 'message': 'Merge pull request #9698 from JosJuice/android-settings-charsequence\n\nAndroid: Use CharSequence for SettingsItem name/description', 'added': [], 'author': {'email': 'mathew1800@gmail.com', 'username': 'lioncash', 'name': 'Mat M'}, 'distinct': True, 'removed': []}], 'ref_name': 'master', 'source': 'ghhookparser', 'forced': False, 'after_sha': '8d7b0004b92612aaf7691cd826063ab0c371d722', 'ref_type': 'heads', 'created': False, 'pusher': 'lioncash', 'base_ref_name': None, 'repo': 'dolphin-emu/dolphin', 'type': 'gh_push'}
2021-05-13T10:39:33.728102	{'deleted': False, 'before_sha': 'bf16f774020c62a5b631175780b20b7f58540ba9', 'commits': [{'hash': '749db94dec5d19c4920459f805b8deb398eb67ae', 'modified': ['Source/Core/Common/Arm64Emitter.cpp'], 'url': 'https://github.com/dolphin-emu/dolphin/commit/749db94dec5d19c4920459f805b8deb398eb67ae', 'message': 'Arm64Emitter: Implement more variants of FMOV', 'added': [], 'author': {'email': 'josjuice@gmail.com', 'username': 'JosJuice', 'name': 'JosJuice'}, 'distinct': True, 'removed': []}, {'hash': 'bfe8b1068dfba317689beac2509c7f804c90bbe9', 'modified': ['Source/Core/Core/PowerPC/Gekko.h', 'Source/Core/Core/PowerPC/JitArm64/Jit.h', 'Source/Core/Core/PowerPC/JitArm64/JitArm64_FloatingPoint.cpp', 'Source/Core/Core/PowerPC/JitArm64/JitArm64_Paired.cpp', 'Source/Core/Core/PowerPC/JitArm64/JitAsm.cpp', 'Source/Core/Core/PowerPC/JitCommon/JitAsmCommon.h'], 'url': 'https://github.com/dolphin-emu/dolphin/commit/bfe8b1068dfba317689beac2509c7f804c90bbe9', 'message': 'JitArm64: Implement FPRF updates', 'added': [], 'author': {'email': 'josjuice@gmail.com', 'username': 'JosJuice', 'name': 'JosJuice'}, 'distinct': True, 'removed': []}, {'hash': '25dc059f6f1f82f84123b4c23f13f7fe884082c8', 'modified': ['Source/UnitTests/Core/CMakeLists.txt', 'Source/UnitTests/UnitTests.vcxproj'], 'url': 'https://github.com/dolphin-emu/dolphin/commit/25dc059f6f1f82f84123b4c23f13f7fe884082c8', 'message': 'JitArm64: Add FPRF unit test', 'added': ['Source/UnitTests/Core/PowerPC/JitArm64/FPRF.cpp'], 'author': {'email': 'josjuice@gmail.com', 'username': 'JosJuice', 'name': 'JosJuice'}, 'distinct': True, 'removed': []}, {'hash': '725ea3d9c179a93579749fb9d3802b72433509d6', 'modified': ['Source/Core/Common/Arm64Emitter.cpp', 'Source/Core/Core/PowerPC/Gekko.h', 'Source/Core/Core/PowerPC/JitArm64/Jit.h', 'Source/Core/Core/PowerPC/JitArm64/JitArm64_FloatingPoint.cpp', 'Source/Core/Core/PowerPC/JitArm64/JitArm64_Paired.cpp', 'Source/Core/Core/PowerPC/JitArm64/JitAsm.cpp', 'Source/Core/Core/PowerPC/JitCommon/JitAsmCommon.h', 'Source/UnitTests/Core/CMakeLists.txt', 'Source/UnitTests/UnitTests.vcxproj'], 'url': 'https://github.com/dolphin-emu/dolphin/commit/725ea3d9c179a93579749fb9d3802b72433509d6', 'message': 'Merge pull request #9637 from JosJuice/jitarm64-fprf\n\nJitArm64: Implement FPRF updates', 'added': ['Source/UnitTests/Core/PowerPC/JitArm64/FPRF.cpp'], 'author': {'email': 'mathew1800@gmail.com', 'username': 'lioncash', 'name': 'Mat M'}, 'distinct': True, 'removed': []}], 'ref_name': 'master', 'source': 'ghhookparser', 'forced': False, 'after_sha': '725ea3d9c179a93579749fb9d3802b72433509d6', 'ref_type': 'heads', 'created': False, 'pusher': 'lioncash', 'base_ref_name': None, 'repo': 'dolphin-emu/dolphin', 'type': 'gh_push'}
2021-05-12T22:23:21.982619	{'deleted': False, 'before_sha': 'eb5cd9be78c76b9ccbab9e5fbd1721ef6876cd68', 'commits': [{'hash': 'b21d62116d7b5bca7bf4e41a183bf25ce315bdfe', 'modified': ['Source/Core/Core/HW/WiimoteCommon/DataReport.cpp'], 'url': 'https://github.com/dolphin-emu/dolphin/commit/b21d62116d7b5bca7bf4e41a183bf25ce315bdfe', 'message': 'DataReport: Amend conditional test for data reports in IsValidMode\n\nThis particular range is kind of bizarre, and would only interpret\ninterleave mode 2 as a valid mode, while rejecting interleave mode 1 and\nthe extension byte mode.\n\nAs far as I know, based off the information on Wiibrew, we should be\nconsidering all three values within this range as valid.', 'added': [], 'author': {'email': 'mathew1800@gmail.com', 'username': 'lioncash', 'name': 'Lioncash'}, 'distinct': True, 'removed': []}, {'hash': 'bf16f774020c62a5b631175780b20b7f58540ba9', 'modified': ['Source/Core/Core/HW/WiimoteCommon/DataReport.cpp'], 'url': 'https://github.com/dolphin-emu/dolphin/commit/bf16f774020c62a5b631175780b20b7f58540ba9', 'message': 'Merge pull request #9657 from lioncash/wiimote-mode\n\nDataReport: Amend conditional test for data reports in IsValidMode', 'added': [], 'author': {'email': 'jordan.woyak@gmail.com', 'username': 'jordan-woyak', 'name': 'Jordan Woyak'}, 'distinct': True, 'removed': []}], 'ref_name': 'master', 'source': 'ghhookparser', 'forced': False, 'after_sha': 'bf16f774020c62a5b631175780b20b7f58540ba9', 'ref_type': 'heads', 'created': False, 'pusher': 'jordan-woyak', 'base_ref_name': None, 'repo': 'dolphin-emu/dolphin', 'type': 'gh_push'}

Recent 'internal_log' events

2021-05-14T17:40:44.145996	{'level': 'INFO', 'pathname': '/home/central/sadm/central/github.py', 'lineno': 147, 'source': 'logging', 'args': "('dolphin-emu/trusted-developers', 'skidau,aldelaro5,smurf3tte,RachelBryk,JosJuice,archshift,Techjar,CookiePLMonster,skylersaleh,gwicks,rukai,moncefmechri,NanoByte011,leoetlino,Helios747,Dentomologist,shuffle2,MerryMage,Ryanel,spxtr,endrift,iwubcode,meffij,aroulin,shonumi,stenzek,FioraAeterna,mathieui,lioncash,ligfx,hrydgard,galop1n,hdcmeta,neobrain,EmptyChaos,rlnilsen,JMC47,magumagu,MayImilae,bentley,comex,orbea,Linktothepast,glennricster,delroth,jordan-woyak,unknownbrackets,LPFaint99,Zopieux,riking,AdmiralCurtiss,zackhow,jezze,Starsam80,Alcaro,Minty-Meeo,OrN,Tilka,Sintendo,Filoppi,yourWaifu,Parlane,jloehr,LAGonauta,nullgemm,BhaaLseN,adamdmoss,Stevoisiak,kamiyo,jjdelvalle,marcan,ColinDTaylor,hthh,CrystalGamma,booto,Buddybenj,kayru,Pokechu22,ShimmerGlass,Hydr8gon,degasus,sepalani,Phatcat,mmastrac,CrossVR,hackbar,Orphis,Tinob,mrgreywater,randomstuff,rohit-n,spycrab,Ziek,mimimi085181,vladfi1,Ebola16,phire,linkmauve,mahdihijazi,magcius,RisingFog')", 'type': 'internal_log', 'msg': 'New GH %s: %s'}
2021-05-14T17:40:43.884562	{'level': 'INFO', 'pathname': '/home/central/venv/lib/python3.5/site-packages/requests/packages/urllib3/connectionpool.py', 'lineno': 657, 'source': 'logging', 'args': '()', 'type': 'internal_log', 'msg': 'Starting new HTTPS connection (1): api.github.com'}
2021-05-14T17:40:43.501022	{'level': 'INFO', 'pathname': '/home/central/venv/lib/python3.5/site-packages/requests/packages/urllib3/connectionpool.py', 'lineno': 657, 'source': 'logging', 'args': '()', 'type': 'internal_log', 'msg': 'Starting new HTTPS connection (1): api.github.com'}
2021-05-14T17:40:43.149232	{'level': 'INFO', 'pathname': '/home/central/venv/lib/python3.5/site-packages/requests/packages/urllib3/connectionpool.py', 'lineno': 657, 'source': 'logging', 'args': '()', 'type': 'internal_log', 'msg': 'Starting new HTTPS connection (1): api.github.com'}
2021-05-14T17:40:42.759889	{'level': 'INFO', 'pathname': '/home/central/venv/lib/python3.5/site-packages/requests/packages/urllib3/connectionpool.py', 'lineno': 657, 'source': 'logging', 'args': '()', 'type': 'internal_log', 'msg': 'Starting new HTTPS connection (1): api.github.com'}
2021-05-14T17:40:42.585367	{'level': 'INFO', 'pathname': '/home/central/venv/lib/python3.5/site-packages/requests/packages/urllib3/connectionpool.py', 'lineno': 657, 'source': 'logging', 'args': '()', 'type': 'internal_log', 'msg': 'Starting new HTTPS connection (1): api.github.com'}
2021-05-14T17:40:42.583865	{'level': 'INFO', 'pathname': '/home/central/sadm/central/github.py', 'lineno': 132, 'source': 'logging', 'args': "('dolphin-emu', 'trusted-developers')", 'type': 'internal_log', 'msg': 'Refreshing list of trusted users (from %s/%s)'}
2021-05-14T17:37:12.212538	{'level': 'INFO', 'pathname': '/home/central/sadm/central/github.py', 'lineno': 147, 'source': 'logging', 'args': "('dolphin-emu/core-developers', 'Tilka,delroth,jordan-woyak,leoetlino,spycrab,lioncash,Helios747,phire,Parlane,skidau,JosJuice,CrossVR,hrydgard,linkmauve,stenzek,degasus')", 'type': 'internal_log', 'msg': 'New GH %s: %s'}
2021-05-14T17:37:11.916373	{'level': 'INFO', 'pathname': '/home/central/venv/lib/python3.5/site-packages/requests/packages/urllib3/connectionpool.py', 'lineno': 657, 'source': 'logging', 'args': '()', 'type': 'internal_log', 'msg': 'Starting new HTTPS connection (1): api.github.com'}
2021-05-14T17:37:11.736563	{'level': 'INFO', 'pathname': '/home/central/venv/lib/python3.5/site-packages/requests/packages/urllib3/connectionpool.py', 'lineno': 657, 'source': 'logging', 'args': '()', 'type': 'internal_log', 'msg': 'Starting new HTTPS connection (1): api.github.com'}
2021-05-14T17:37:11.735743	{'level': 'INFO', 'pathname': '/home/central/sadm/central/github.py', 'lineno': 132, 'source': 'logging', 'args': "('dolphin-emu', 'core-developers')", 'type': 'internal_log', 'msg': 'Refreshing list of trusted users (from %s/%s)'}
2021-05-14T17:36:26.278959	{'level': 'INFO', 'pathname': '/home/central/venv/lib/python3.5/site-packages/requests/packages/urllib3/connectionpool.py', 'lineno': 657, 'source': 'logging', 'args': '()', 'type': 'internal_log', 'msg': 'Starting new HTTPS connection (1): api.github.com'}
2021-05-14T17:36:26.278288	{'level': 'INFO', 'pathname': '/home/central/sadm/central/github.py', 'lineno': 196, 'source': 'logging', 'args': '()', 'type': 'internal_log', 'msg': "Watched repo 'dolphin-emu/netplay-index' has our hook installed"}
2021-05-14T17:36:26.064968	{'level': 'INFO', 'pathname': '/home/central/venv/lib/python3.5/site-packages/requests/packages/urllib3/connectionpool.py', 'lineno': 657, 'source': 'logging', 'args': '()', 'type': 'internal_log', 'msg': 'Starting new HTTPS connection (1): api.github.com'}
2021-05-14T17:36:25.803797	{'level': 'INFO', 'pathname': '/home/central/venv/lib/python3.5/site-packages/requests/packages/urllib3/connectionpool.py', 'lineno': 657, 'source': 'logging', 'args': '()', 'type': 'internal_log', 'msg': 'Starting new HTTPS connection (1): api.github.com'}
2021-05-14T17:36:25.802894	{'level': 'INFO', 'pathname': '/home/central/sadm/central/github.py', 'lineno': 196, 'source': 'logging', 'args': '()', 'type': 'internal_log', 'msg': "Watched repo 'dolphin-emu/gcdsp-ida' has our hook installed"}
2021-05-14T17:36:25.498441	{'level': 'INFO', 'pathname': '/home/central/venv/lib/python3.5/site-packages/requests/packages/urllib3/connectionpool.py', 'lineno': 657, 'source': 'logging', 'args': '()', 'type': 'internal_log', 'msg': 'Starting new HTTPS connection (1): api.github.com'}
2021-05-14T17:36:25.224806	{'level': 'INFO', 'pathname': '/home/central/venv/lib/python3.5/site-packages/requests/packages/urllib3/connectionpool.py', 'lineno': 657, 'source': 'logging', 'args': '()', 'type': 'internal_log', 'msg': 'Starting new HTTPS connection (1): api.github.com'}
2021-05-14T17:36:25.224092	{'level': 'INFO', 'pathname': '/home/central/sadm/central/github.py', 'lineno': 196, 'source': 'logging', 'args': '()', 'type': 'internal_log', 'msg': "Watched repo 'dolphin-emu/hwtests' has our hook installed"}
2021-05-14T17:36:24.999121	{'level': 'INFO', 'pathname': '/home/central/venv/lib/python3.5/site-packages/requests/packages/urllib3/connectionpool.py', 'lineno': 657, 'source': 'logging', 'args': '()', 'type': 'internal_log', 'msg': 'Starting new HTTPS connection (1): api.github.com'}
2021-05-14T17:36:24.737123	{'level': 'INFO', 'pathname': '/home/central/venv/lib/python3.5/site-packages/requests/packages/urllib3/connectionpool.py', 'lineno': 657, 'source': 'logging', 'args': '()', 'type': 'internal_log', 'msg': 'Starting new HTTPS connection (1): api.github.com'}
2021-05-14T17:36:24.735440	{'level': 'INFO', 'pathname': '/home/central/sadm/central/github.py', 'lineno': 196, 'source': 'logging', 'args': '()', 'type': 'internal_log', 'msg': "Watched repo 'dolphin-emu/www' has our hook installed"}
2021-05-14T17:36:24.468568	{'level': 'INFO', 'pathname': '/home/central/venv/lib/python3.5/site-packages/requests/packages/urllib3/connectionpool.py', 'lineno': 657, 'source': 'logging', 'args': '()', 'type': 'internal_log', 'msg': 'Starting new HTTPS connection (1): api.github.com'}
2021-05-14T17:36:24.163233	{'level': 'INFO', 'pathname': '/home/central/venv/lib/python3.5/site-packages/requests/packages/urllib3/connectionpool.py', 'lineno': 657, 'source': 'logging', 'args': '()', 'type': 'internal_log', 'msg': 'Starting new HTTPS connection (1): api.github.com'}
2021-05-14T17:36:24.162476	{'level': 'INFO', 'pathname': '/home/central/sadm/central/github.py', 'lineno': 196, 'source': 'logging', 'args': '()', 'type': 'internal_log', 'msg': "Watched repo 'dolphin-emu/sadm' has our hook installed"}

Recent 'irc_message' events

2021-05-14T16:29:20.403668	{'modes': {'v'}, 'direct': False, 'what': 'just saying', 'source': 'ircclient', 'where': '#dolphin-dev', 'type': 'irc_message', 'who': 'JMC47'}
2021-05-14T16:29:19.107584	{'modes': {'v'}, 'direct': False, 'what': 'beware of the latest Windows update', 'source': 'ircclient', 'where': '#dolphin-dev', 'type': 'irc_message', 'who': 'JMC47'}
2021-05-14T16:29:12.138027	{'modes': {'v'}, 'direct': False, 'what': 'So, if you are on a multi-router network or have multiple network adapters', 'source': 'ircclient', 'where': '#dolphin-dev', 'type': 'irc_message', 'who': 'JMC47'}
2021-05-14T16:28:01.032310	{'modes': {'v'}, 'direct': False, 'what': 'hurrah', 'source': 'ircclient', 'where': '#dolphin-dev', 'type': 'irc_message', 'who': 'JMC47'}
2021-05-14T16:27:59.593657	{'modes': {'v'}, 'direct': False, 'what': "and it's working again", 'source': 'ircclient', 'where': '#dolphin-dev', 'type': 'irc_message', 'who': 'JMC47'}
2021-05-14T16:27:57.562150	{'modes': {'v'}, 'direct': False, 'what': 'I reset winsock', 'source': 'ircclient', 'where': '#dolphin-dev', 'type': 'irc_message', 'who': 'JMC47'}
2021-05-14T16:27:55.129115	{'modes': {'v'}, 'direct': False, 'what': 'okay', 'source': 'ircclient', 'where': '#dolphin-dev', 'type': 'irc_message', 'who': 'JMC47'}
2021-05-14T16:27:25.483655	{'modes': set(), 'direct': False, 'what': 'Lol, typical microsoft', 'source': 'ircclient', 'where': '#dolphin-dev', 'type': 'irc_message', 'who': 'stlouiscpht'}
2021-05-14T16:27:17.672673	{'modes': {'v'}, 'direct': False, 'what': 'then it breaks after a while', 'source': 'ircclient', 'where': '#dolphin-dev', 'type': 'irc_message', 'who': 'JMC47'}
2021-05-14T16:27:14.337890	{'modes': {'v'}, 'direct': False, 'what': 'when I first restart', 'source': 'ircclient', 'where': '#dolphin-dev', 'type': 'irc_message', 'who': 'JMC47'}
2021-05-14T16:27:11.317198	{'modes': {'v'}, 'direct': False, 'what': 'so it works', 'source': 'ircclient', 'where': '#dolphin-dev', 'type': 'irc_message', 'who': 'JMC47'}
2021-05-14T16:26:34.892156	{'modes': {'v'}, 'direct': False, 'what': 'so rolling back does not fix it', 'source': 'ircclient', 'where': '#dolphin-dev', 'type': 'irc_message', 'who': 'JMC47'}
2021-05-14T16:26:31.440549	{'modes': {'v'}, 'direct': False, 'what': "it's a corruption", 'source': 'ircclient', 'where': '#dolphin-dev', 'type': 'irc_message', 'who': 'JMC47'}
2021-05-14T16:25:46.152237	{'modes': set(), 'direct': False, 'what': 'I would have said just roll back the update', 'source': 'ircclient', 'where': '#dolphin-dev', 'type': 'irc_message', 'who': 'stlouiscpht'}
2021-05-14T16:25:08.841600	{'modes': {'v'}, 'direct': False, 'what': 'DID I FIX  IT', 'source': 'ircclient', 'where': '#dolphin-dev', 'type': 'irc_message', 'who': 'JMC47'}
2021-05-14T16:25:06.630165	{'modes': {'v'}, 'direct': False, 'what': 'wait', 'source': 'ircclient', 'where': '#dolphin-dev', 'type': 'irc_message', 'who': 'JMC47'}
2021-05-14T16:24:46.687396	{'modes': {'v'}, 'direct': False, 'what': 'ipv4 is broken', 'source': 'ircclient', 'where': '#dolphin-dev', 'type': 'irc_message', 'who': 'JMC47'}
2021-05-14T16:24:44.725011	{'modes': {'v'}, 'direct': False, 'what': "it's not a firewall", 'source': 'ircclient', 'where': '#dolphin-dev', 'type': 'irc_message', 'who': 'JMC47'}
2021-05-14T16:24:42.942407	{'modes': {'o'}, 'direct': False, 'what': 'oh dang', 'source': 'ircclient', 'where': '#dolphin-dev', 'type': 'irc_message', 'who': 'Bh44L'}
2021-05-14T16:24:39.242963	{'modes': {'o'}, 'direct': False, 'what': 'do you have any sort of ip filter thing running, or maybe an agressive firewall/antivirus?', 'source': 'ircclient', 'where': '#dolphin-dev', 'type': 'irc_message', 'who': 'Bh44L'}
2021-05-14T16:24:37.206664	{'modes': {'v'}, 'direct': False, 'what': 'Apparently ipv4 stuff is broken on some adapters', 'source': 'ircclient', 'where': '#dolphin-dev', 'type': 'irc_message', 'who': 'JMC47'}
2021-05-14T16:24:24.193038	{'modes': {'v'}, 'direct': False, 'what': 'having this same issue after the update', 'source': 'ircclient', 'where': '#dolphin-dev', 'type': 'irc_message', 'who': 'JMC47'}
2021-05-14T16:24:20.421303	{'modes': {'v'}, 'direct': False, 'what': "I'm on a support thread with others", 'source': 'ircclient', 'where': '#dolphin-dev', 'type': 'irc_message', 'who': 'JMC47'}
2021-05-14T16:24:16.906090	{'modes': {'v'}, 'direct': False, 'what': "Pikachu025: I'm not alone", 'source': 'ircclient', 'where': '#dolphin-dev', 'type': 'irc_message', 'who': 'JMC47'}
2021-05-14T16:24:03.585985	{'modes': set(), 'direct': False, 'what': "Pikachu025, I'm in a lot of pain today, hard to focus on what I'm reading", 'source': 'ircclient', 'where': '#dolphin-dev', 'type': 'irc_message', 'who': 'stlouiscpht'}

Recent 'issue' events

2021-05-13T14:13:16.392184	{'update': 6, 'issue': 12223, 'new': False, 'title': "Major Minor's Majestic March White Screens", 'source': 'redmine', 'type': 'issue', 'author': 'Miksel12'}

Recent 'pull_request_fifoci_status' events

2021-05-14T17:06:29.306368	{'hash': '7abab678ffb6db49f74b82c03efe09706e8ea3d1', 'pr': 9441, 'source': 'buildbot', 'service': 'pr-fifoci-sw-lin-mesa', 'type': 'pull_request_fifoci_status', 'repo': 'dolphin-emu/dolphin'}
2021-05-14T17:01:49.777738	{'hash': '7abab678ffb6db49f74b82c03efe09706e8ea3d1', 'pr': 9441, 'source': 'buildbot', 'service': 'pr-fifoci-ogl-lin-mesa', 'type': 'pull_request_fifoci_status', 'repo': 'dolphin-emu/dolphin'}
2021-05-14T17:01:34.124110	{'hash': '7abab678ffb6db49f74b82c03efe09706e8ea3d1', 'pr': 9441, 'source': 'buildbot', 'service': 'pr-fifoci-uberogl-lin-radeon', 'type': 'pull_request_fifoci_status', 'repo': 'dolphin-emu/dolphin'}
2021-05-14T16:59:27.749140	{'hash': '7abab678ffb6db49f74b82c03efe09706e8ea3d1', 'pr': 9441, 'source': 'buildbot', 'service': 'pr-fifoci-ogl-lin-radeon', 'type': 'pull_request_fifoci_status', 'repo': 'dolphin-emu/dolphin'}
2021-05-14T15:03:58.881005	{'hash': '65c7eac8322b75031688b0a5fc2c3598160d36f4', 'pr': 9709, 'source': 'buildbot', 'service': 'pr-fifoci-sw-lin-mesa', 'type': 'pull_request_fifoci_status', 'repo': 'dolphin-emu/dolphin'}
2021-05-14T14:59:17.165871	{'hash': '65c7eac8322b75031688b0a5fc2c3598160d36f4', 'pr': 9709, 'source': 'buildbot', 'service': 'pr-fifoci-ogl-lin-mesa', 'type': 'pull_request_fifoci_status', 'repo': 'dolphin-emu/dolphin'}
2021-05-14T14:58:51.475349	{'hash': '65c7eac8322b75031688b0a5fc2c3598160d36f4', 'pr': 9709, 'source': 'buildbot', 'service': 'pr-fifoci-uberogl-lin-radeon', 'type': 'pull_request_fifoci_status', 'repo': 'dolphin-emu/dolphin'}
2021-05-14T14:56:34.926260	{'hash': '65c7eac8322b75031688b0a5fc2c3598160d36f4', 'pr': 9709, 'source': 'buildbot', 'service': 'pr-fifoci-ogl-lin-radeon', 'type': 'pull_request_fifoci_status', 'repo': 'dolphin-emu/dolphin'}
2021-05-14T10:59:35.453967	{'hash': '3e0af3dac824bd95c6c1530919e1f772a8febcdb', 'pr': 9624, 'source': 'buildbot', 'service': 'pr-fifoci-sw-lin-mesa', 'type': 'pull_request_fifoci_status', 'repo': 'dolphin-emu/dolphin'}
2021-05-14T10:55:56.856524	{'hash': '3e0af3dac824bd95c6c1530919e1f772a8febcdb', 'pr': 9624, 'source': 'buildbot', 'service': 'pr-fifoci-uberogl-lin-radeon', 'type': 'pull_request_fifoci_status', 'repo': 'dolphin-emu/dolphin'}
2021-05-14T10:55:06.391736	{'hash': '3e0af3dac824bd95c6c1530919e1f772a8febcdb', 'pr': 9624, 'source': 'buildbot', 'service': 'pr-fifoci-ogl-lin-mesa', 'type': 'pull_request_fifoci_status', 'repo': 'dolphin-emu/dolphin'}
2021-05-14T10:53:40.165743	{'hash': '3e0af3dac824bd95c6c1530919e1f772a8febcdb', 'pr': 9624, 'source': 'buildbot', 'service': 'pr-fifoci-ogl-lin-radeon', 'type': 'pull_request_fifoci_status', 'repo': 'dolphin-emu/dolphin'}
2021-05-14T10:11:09.159081	{'hash': 'c388b8386adcfb68975e7e4b004978550ed071df', 'pr': 9702, 'source': 'buildbot', 'service': 'pr-fifoci-sw-lin-mesa', 'type': 'pull_request_fifoci_status', 'repo': 'dolphin-emu/dolphin'}
2021-05-14T10:06:40.798137	{'hash': 'c388b8386adcfb68975e7e4b004978550ed071df', 'pr': 9702, 'source': 'buildbot', 'service': 'pr-fifoci-ogl-lin-mesa', 'type': 'pull_request_fifoci_status', 'repo': 'dolphin-emu/dolphin'}
2021-05-14T10:06:27.582167	{'hash': 'c388b8386adcfb68975e7e4b004978550ed071df', 'pr': 9702, 'source': 'buildbot', 'service': 'pr-fifoci-uberogl-lin-radeon', 'type': 'pull_request_fifoci_status', 'repo': 'dolphin-emu/dolphin'}
2021-05-14T10:03:48.287556	{'hash': 'c388b8386adcfb68975e7e4b004978550ed071df', 'pr': 9702, 'source': 'buildbot', 'service': 'pr-fifoci-ogl-lin-radeon', 'type': 'pull_request_fifoci_status', 'repo': 'dolphin-emu/dolphin'}
2021-05-14T07:42:24.170971	{'hash': 'd17341572d5b9e148b54a80d4830820640c5c343', 'pr': 9708, 'source': 'buildbot', 'service': 'pr-fifoci-sw-lin-mesa', 'type': 'pull_request_fifoci_status', 'repo': 'dolphin-emu/dolphin'}
2021-05-14T07:39:34.091410	{'hash': 'd17341572d5b9e148b54a80d4830820640c5c343', 'pr': 9708, 'source': 'buildbot', 'service': 'pr-fifoci-uberogl-lin-radeon', 'type': 'pull_request_fifoci_status', 'repo': 'dolphin-emu/dolphin'}
2021-05-14T07:38:00.620940	{'hash': 'd17341572d5b9e148b54a80d4830820640c5c343', 'pr': 9708, 'source': 'buildbot', 'service': 'pr-fifoci-ogl-lin-mesa', 'type': 'pull_request_fifoci_status', 'repo': 'dolphin-emu/dolphin'}
2021-05-14T07:37:27.115917	{'hash': 'd17341572d5b9e148b54a80d4830820640c5c343', 'pr': 9708, 'source': 'buildbot', 'service': 'pr-fifoci-ogl-lin-radeon', 'type': 'pull_request_fifoci_status', 'repo': 'dolphin-emu/dolphin'}
2021-05-13T18:33:36.116717	{'hash': '20d21358da3377efd4098fcd45edaa297c2cb3df', 'pr': 9708, 'source': 'buildbot', 'service': 'pr-fifoci-sw-lin-mesa', 'type': 'pull_request_fifoci_status', 'repo': 'dolphin-emu/dolphin'}
2021-05-13T18:29:01.117281	{'hash': '20d21358da3377efd4098fcd45edaa297c2cb3df', 'pr': 9708, 'source': 'buildbot', 'service': 'pr-fifoci-ogl-lin-mesa', 'type': 'pull_request_fifoci_status', 'repo': 'dolphin-emu/dolphin'}
2021-05-13T18:29:00.753231	{'hash': '20d21358da3377efd4098fcd45edaa297c2cb3df', 'pr': 9708, 'source': 'buildbot', 'service': 'pr-fifoci-uberogl-lin-radeon', 'type': 'pull_request_fifoci_status', 'repo': 'dolphin-emu/dolphin'}
2021-05-13T18:26:50.155036	{'hash': '20d21358da3377efd4098fcd45edaa297c2cb3df', 'pr': 9708, 'source': 'buildbot', 'service': 'pr-fifoci-ogl-lin-radeon', 'type': 'pull_request_fifoci_status', 'repo': 'dolphin-emu/dolphin'}
2021-05-13T17:20:57.736062	{'hash': 'b93983b50a8b2d50a2120601784aab022f46308c', 'pr': 9707, 'source': 'buildbot', 'service': 'pr-fifoci-sw-lin-mesa', 'type': 'pull_request_fifoci_status', 'repo': 'dolphin-emu/dolphin'}

Recent 'raw_bb_hook' events

2021-05-14T17:06:27.092815	{'source': 'webserver', 'type': 'raw_bb_hook', 'raw': {'buildid': 55571, 'properties': {'scheduler': ['pr-fifoci-lin', 'Scheduler'], 'revision': ['7abab678ffb6db49f74b82c03efe09706e8ea3d1', 'Build'], 'workername': ['hive', 'Worker'], 'got_revision': ['7abab678ffb6db49f74b82c03efe09706e8ea3d1', 'GitNoBranch'], 'warnings-count': [658, 'WarningCountingShellCommand'], 'headrev': ['7abab678ffb6db49f74b82c03efe09706e8ea3d1', 'Trigger'], 'builddir': ['/home/buildslave/slave/pr-fifoci-sw-lin-mesa', 'Worker'], 'buildername': ['pr-fifoci-sw-lin-mesa', 'Builder'], 'branchname': ['pr-9441', 'Trigger'], 'pr_id': [9441, 'Trigger'], 'shortrev': ['7abab6', 'Trigger'], 'branch': ['refs/pull/9441/head', 'Build'], 'repo': ['dolphin-emu/dolphin', 'Trigger'], 'project': ['', 'Build'], 'buildnumber': [3586, 'Build'], 'repository': ['', 'Build'], 'codebase': ['', 'Build']}, 'url': 'https://dolphin.ci/#builders/17/builds/3586', 'complete': True, 'started_at': 1621011709, 'number': 3586, 'state_string': 'build successful', 'workerid': 2, 'masterid': 2, 'complete_at': 1621011987, 'builderid': 17, 'buildrequestid': 55563, 'buildrequest': {'complete_at': None, 'waited_for': False, 'claimed': True, 'complete': False, 'priority': 0, 'buildsetid': 20616, 'claimed_by_masterid': 2, 'builderid': 17, 'buildrequestid': 55563, 'properties': None, 'results': -1, 'claimed_at': 1621011709, 'submitted_at': 1621011162}, 'results': 0, 'buildset': {'complete_at': None, 'parent_relationship': 'Triggered from', 'bsid': 20616, 'parent_buildid': 55567, 'complete': False, 'external_idstring': None, 'sourcestamps': [{'revision': '7abab678ffb6db49f74b82c03efe09706e8ea3d1', 'patch': None, 'created_at': 1621011163, 'ssid': 5627, 'branch': 'refs/pull/9441/head', 'project': '', 'repository': '', 'codebase': ''}], 'reason': "The Triggerable scheduler named 'pr-fifoci-lin' triggered this build", 'results': -1, 'submitted_at': 1621011162}, 'builder': {'tags': [], 'description': None, 'builderid': 17, 'masterids': [2], 'name': 'pr-fifoci-sw-lin-mesa'}}}
2021-05-14T17:01:49.663630	{'source': 'webserver', 'type': 'raw_bb_hook', 'raw': {'buildid': 55571, 'properties': {'revision': ['7abab678ffb6db49f74b82c03efe09706e8ea3d1', 'Build'], 'workername': ['hive', 'Worker'], 'headrev': ['7abab678ffb6db49f74b82c03efe09706e8ea3d1', 'Trigger'], 'scheduler': ['pr-fifoci-lin', 'Scheduler'], 'buildername': ['pr-fifoci-sw-lin-mesa', 'Builder'], 'branchname': ['pr-9441', 'Trigger'], 'pr_id': [9441, 'Trigger'], 'shortrev': ['7abab6', 'Trigger'], 'branch': ['refs/pull/9441/head', 'Build'], 'repo': ['dolphin-emu/dolphin', 'Trigger'], 'project': ['', 'Build'], 'buildnumber': [3586, 'Build'], 'repository': ['', 'Build'], 'codebase': ['', 'Build']}, 'url': 'https://dolphin.ci/#builders/17/builds/3586', 'complete': False, 'started_at': 1621011709, 'number': 3586, 'state_string': 'starting', 'workerid': 2, 'masterid': 2, 'complete_at': None, 'builderid': 17, 'buildrequestid': 55563, 'buildrequest': {'complete_at': None, 'waited_for': False, 'claimed': True, 'complete': False, 'priority': 0, 'buildsetid': 20616, 'claimed_by_masterid': 2, 'builderid': 17, 'buildrequestid': 55563, 'properties': None, 'results': -1, 'claimed_at': 1621011709, 'submitted_at': 1621011162}, 'results': None, 'buildset': {'complete_at': None, 'parent_relationship': 'Triggered from', 'bsid': 20616, 'parent_buildid': 55567, 'complete': False, 'external_idstring': None, 'sourcestamps': [{'revision': '7abab678ffb6db49f74b82c03efe09706e8ea3d1', 'patch': None, 'created_at': 1621011163, 'ssid': 5627, 'branch': 'refs/pull/9441/head', 'project': '', 'repository': '', 'codebase': ''}], 'reason': "The Triggerable scheduler named 'pr-fifoci-lin' triggered this build", 'results': -1, 'submitted_at': 1621011162}, 'builder': {'tags': [], 'description': None, 'builderid': 17, 'masterids': [2], 'name': 'pr-fifoci-sw-lin-mesa'}}}
2021-05-14T17:01:49.494351	{'source': 'webserver', 'type': 'raw_bb_hook', 'raw': {'buildid': 55569, 'properties': {'scheduler': ['pr-fifoci-lin', 'Scheduler'], 'revision': ['7abab678ffb6db49f74b82c03efe09706e8ea3d1', 'Build'], 'workername': ['hive', 'Worker'], 'got_revision': ['7abab678ffb6db49f74b82c03efe09706e8ea3d1', 'GitNoBranch'], 'warnings-count': [658, 'WarningCountingShellCommand'], 'headrev': ['7abab678ffb6db49f74b82c03efe09706e8ea3d1', 'Trigger'], 'builddir': ['/home/buildslave/slave/pr-fifoci-ogl-lin-mesa', 'Worker'], 'buildername': ['pr-fifoci-ogl-lin-mesa', 'Builder'], 'branchname': ['pr-9441', 'Trigger'], 'pr_id': [9441, 'Trigger'], 'shortrev': ['7abab6', 'Trigger'], 'branch': ['refs/pull/9441/head', 'Build'], 'repo': ['dolphin-emu/dolphin', 'Trigger'], 'project': ['', 'Build'], 'buildnumber': [3587, 'Build'], 'repository': ['', 'Build'], 'codebase': ['', 'Build']}, 'url': 'https://dolphin.ci/#builders/16/builds/3587', 'complete': True, 'started_at': 1621011162, 'number': 3587, 'state_string': 'build successful', 'workerid': 2, 'masterid': 2, 'complete_at': 1621011709, 'builderid': 16, 'buildrequestid': 55562, 'buildrequest': {'complete_at': None, 'waited_for': False, 'claimed': True, 'complete': False, 'priority': 0, 'buildsetid': 20616, 'claimed_by_masterid': 2, 'builderid': 16, 'buildrequestid': 55562, 'properties': None, 'results': -1, 'claimed_at': 1621011162, 'submitted_at': 1621011162}, 'results': 0, 'buildset': {'complete_at': None, 'parent_relationship': 'Triggered from', 'bsid': 20616, 'parent_buildid': 55567, 'complete': False, 'external_idstring': None, 'sourcestamps': [{'revision': '7abab678ffb6db49f74b82c03efe09706e8ea3d1', 'patch': None, 'created_at': 1621011163, 'ssid': 5627, 'branch': 'refs/pull/9441/head', 'project': '', 'repository': '', 'codebase': ''}], 'reason': "The Triggerable scheduler named 'pr-fifoci-lin' triggered this build", 'results': -1, 'submitted_at': 1621011162}, 'builder': {'tags': [], 'description': None, 'builderid': 16, 'masterids': [2], 'name': 'pr-fifoci-ogl-lin-mesa'}}}
2021-05-14T17:01:32.139532	{'source': 'webserver', 'type': 'raw_bb_hook', 'raw': {'buildid': 55570, 'properties': {'scheduler': ['pr-fifoci-lin', 'Scheduler'], 'revision': ['7abab678ffb6db49f74b82c03efe09706e8ea3d1', 'Build'], 'workername': ['arbert', 'Worker'], 'got_revision': ['7abab678ffb6db49f74b82c03efe09706e8ea3d1', 'GitNoBranch'], 'warnings-count': [33, 'WarningCountingShellCommand'], 'headrev': ['7abab678ffb6db49f74b82c03efe09706e8ea3d1', 'Trigger'], 'builddir': ['/srv/fifoci-worker/worker/pr-fifoci-uberogl-lin-radeon', 'Worker'], 'buildername': ['pr-fifoci-uberogl-lin-radeon', 'Builder'], 'branchname': ['pr-9441', 'Trigger'], 'pr_id': [9441, 'Trigger'], 'shortrev': ['7abab6', 'Trigger'], 'branch': ['refs/pull/9441/head', 'Build'], 'repo': ['dolphin-emu/dolphin', 'Trigger'], 'project': ['', 'Build'], 'buildnumber': [37, 'Build'], 'repository': ['', 'Build'], 'codebase': ['', 'Build']}, 'url': 'https://dolphin.ci/#builders/24/builds/37', 'complete': True, 'started_at': 1621011565, 'number': 37, 'state_string': 'build successful', 'workerid': 6, 'masterid': 2, 'complete_at': 1621011692, 'builderid': 24, 'buildrequestid': 55564, 'buildrequest': {'complete_at': None, 'waited_for': False, 'claimed': True, 'complete': False, 'priority': 0, 'buildsetid': 20616, 'claimed_by_masterid': 2, 'builderid': 24, 'buildrequestid': 55564, 'properties': None, 'results': -1, 'claimed_at': 1621011565, 'submitted_at': 1621011162}, 'results': 0, 'buildset': {'complete_at': None, 'parent_relationship': 'Triggered from', 'bsid': 20616, 'parent_buildid': 55567, 'complete': False, 'external_idstring': None, 'sourcestamps': [{'revision': '7abab678ffb6db49f74b82c03efe09706e8ea3d1', 'patch': None, 'created_at': 1621011163, 'ssid': 5627, 'branch': 'refs/pull/9441/head', 'project': '', 'repository': '', 'codebase': ''}], 'reason': "The Triggerable scheduler named 'pr-fifoci-lin' triggered this build", 'results': -1, 'submitted_at': 1621011162}, 'builder': {'tags': [], 'description': None, 'builderid': 24, 'masterids': [2], 'name': 'pr-fifoci-uberogl-lin-radeon'}}}
2021-05-14T16:59:25.938352	{'source': 'webserver', 'type': 'raw_bb_hook', 'raw': {'buildid': 55570, 'properties': {'revision': ['7abab678ffb6db49f74b82c03efe09706e8ea3d1', 'Build'], 'workername': ['arbert', 'Worker'], 'headrev': ['7abab678ffb6db49f74b82c03efe09706e8ea3d1', 'Trigger'], 'scheduler': ['pr-fifoci-lin', 'Scheduler'], 'buildername': ['pr-fifoci-uberogl-lin-radeon', 'Builder'], 'branchname': ['pr-9441', 'Trigger'], 'pr_id': [9441, 'Trigger'], 'shortrev': ['7abab6', 'Trigger'], 'branch': ['refs/pull/9441/head', 'Build'], 'repo': ['dolphin-emu/dolphin', 'Trigger'], 'project': ['', 'Build'], 'buildnumber': [37, 'Build'], 'repository': ['', 'Build'], 'codebase': ['', 'Build']}, 'url': 'https://dolphin.ci/#builders/24/builds/37', 'complete': False, 'started_at': 1621011565, 'number': 37, 'state_string': 'starting', 'workerid': 6, 'masterid': 2, 'complete_at': None, 'builderid': 24, 'buildrequestid': 55564, 'buildrequest': {'complete_at': None, 'waited_for': False, 'claimed': True, 'complete': False, 'priority': 0, 'buildsetid': 20616, 'claimed_by_masterid': 2, 'builderid': 24, 'buildrequestid': 55564, 'properties': None, 'results': -1, 'claimed_at': 1621011565, 'submitted_at': 1621011162}, 'results': None, 'buildset': {'complete_at': None, 'parent_relationship': 'Triggered from', 'bsid': 20616, 'parent_buildid': 55567, 'complete': False, 'external_idstring': None, 'sourcestamps': [{'revision': '7abab678ffb6db49f74b82c03efe09706e8ea3d1', 'patch': None, 'created_at': 1621011163, 'ssid': 5627, 'branch': 'refs/pull/9441/head', 'project': '', 'repository': '', 'codebase': ''}], 'reason': "The Triggerable scheduler named 'pr-fifoci-lin' triggered this build", 'results': -1, 'submitted_at': 1621011162}, 'builder': {'tags': [], 'description': None, 'builderid': 24, 'masterids': [2], 'name': 'pr-fifoci-uberogl-lin-radeon'}}}
2021-05-14T16:59:25.840864	{'source': 'webserver', 'type': 'raw_bb_hook', 'raw': {'buildid': 55568, 'properties': {'scheduler': ['pr-fifoci-lin', 'Scheduler'], 'revision': ['7abab678ffb6db49f74b82c03efe09706e8ea3d1', 'Build'], 'workername': ['arbert', 'Worker'], 'got_revision': ['7abab678ffb6db49f74b82c03efe09706e8ea3d1', 'GitNoBranch'], 'warnings-count': [33, 'WarningCountingShellCommand'], 'headrev': ['7abab678ffb6db49f74b82c03efe09706e8ea3d1', 'Trigger'], 'builddir': ['/srv/fifoci-worker/worker/pr-fifoci-ogl-lin-radeon', 'Worker'], 'buildername': ['pr-fifoci-ogl-lin-radeon', 'Builder'], 'branchname': ['pr-9441', 'Trigger'], 'pr_id': [9441, 'Trigger'], 'shortrev': ['7abab6', 'Trigger'], 'branch': ['refs/pull/9441/head', 'Build'], 'repo': ['dolphin-emu/dolphin', 'Trigger'], 'project': ['', 'Build'], 'buildnumber': [3596, 'Build'], 'repository': ['', 'Build'], 'codebase': ['', 'Build']}, 'url': 'https://dolphin.ci/#builders/11/builds/3596', 'complete': True, 'started_at': 1621011162, 'number': 3596, 'state_string': 'build successful', 'workerid': 6, 'masterid': 2, 'complete_at': 1621011566, 'builderid': 11, 'buildrequestid': 55561, 'buildrequest': {'complete_at': None, 'waited_for': False, 'claimed': True, 'complete': False, 'priority': 0, 'buildsetid': 20616, 'claimed_by_masterid': 2, 'builderid': 11, 'buildrequestid': 55561, 'properties': None, 'results': -1, 'claimed_at': 1621011162, 'submitted_at': 1621011162}, 'results': 0, 'buildset': {'complete_at': None, 'parent_relationship': 'Triggered from', 'bsid': 20616, 'parent_buildid': 55567, 'complete': False, 'external_idstring': None, 'sourcestamps': [{'revision': '7abab678ffb6db49f74b82c03efe09706e8ea3d1', 'patch': None, 'created_at': 1621011163, 'ssid': 5627, 'branch': 'refs/pull/9441/head', 'project': '', 'repository': '', 'codebase': ''}], 'reason': "The Triggerable scheduler named 'pr-fifoci-lin' triggered this build", 'results': -1, 'submitted_at': 1621011162}, 'builder': {'tags': [], 'description': None, 'builderid': 11, 'masterids': [2], 'name': 'pr-fifoci-ogl-lin-radeon'}}}
2021-05-14T16:57:29.705423	{'source': 'webserver', 'type': 'raw_bb_hook', 'raw': {'buildid': 55566, 'properties': {'build_url': ['https://dl.dolphin-emu.org/prs/83/0b/pr-9441-dolphin-latest-x64.7z', 'SetProperty'], 'workername': ['windows', 'Worker'], 'got_revision': ['7abab678ffb6db49f74b82c03efe09706e8ea3d1', 'GitNoBranch'], 'revision': [None, 'Build'], 'warnings-count': [0, 'WarningCountingShellCommand'], 'baserev': ['a6f6211ddeaa87fee5009df7ba467ef733fa3fcf', 'try build'], 'branchname': ['pr-9441', 'try build'], 'builddir': ['C:\\buildbot\\pr-win-x64', 'Worker'], 'buildername': ['pr-win-x64', 'Builder'], 'scheduler': ['pr', 'Scheduler'], 'pr_id': [9441, 'try build'], 'shortrev': ['7abab6', 'try build'], 'headrev': ['7abab678ffb6db49f74b82c03efe09706e8ea3d1', 'try build'], 'branch': ['refs/pull/9441/head', 'Build'], 'repo': ['dolphin-emu/dolphin', 'try build'], 'project': ['', 'Build'], 'buildnumber': [3785, 'Build'], 'repository': ['', 'Build'], 'codebase': ['', 'Build']}, 'url': 'https://dolphin.ci/#builders/21/builds/3785', 'complete': True, 'started_at': 1621010936, 'number': 3785, 'state_string': 'build successful', 'workerid': 4, 'masterid': 2, 'complete_at': 1621011450, 'builderid': 21, 'buildrequestid': 55559, 'buildrequest': {'complete_at': None, 'waited_for': False, 'claimed': True, 'complete': False, 'priority': 0, 'buildsetid': 20615, 'claimed_by_masterid': 2, 'builderid': 21, 'buildrequestid': 55559, 'properties': None, 'results': -1, 'claimed_at': 1621010935, 'submitted_at': 1621010324}, 'results': 0, 'buildset': {'complete_at': None, 'parent_relationship': None, 'bsid': 20615, 'parent_buildid': None, 'complete': False, 'external_idstring': '9441-7abab6', 'sourcestamps': [{'revision': None, 'patch': None, 'created_at': 1610554556, 'ssid': 4283, 'branch': 'refs/pull/9441/head', 'project': '', 'repository': '', 'codebase': ''}], 'reason': "'try' job by user Central (on behalf of: skylersaleh)", 'results': -1, 'submitted_at': 1621010324}, 'builder': {'tags': [], 'description': None, 'builderid': 21, 'masterids': [2], 'name': 'pr-win-x64'}}}
2021-05-14T16:52:43.262535	{'source': 'webserver', 'type': 'raw_bb_hook', 'raw': {'buildid': 55569, 'properties': {'revision': ['7abab678ffb6db49f74b82c03efe09706e8ea3d1', 'Build'], 'workername': ['hive', 'Worker'], 'headrev': ['7abab678ffb6db49f74b82c03efe09706e8ea3d1', 'Trigger'], 'scheduler': ['pr-fifoci-lin', 'Scheduler'], 'buildername': ['pr-fifoci-ogl-lin-mesa', 'Builder'], 'branchname': ['pr-9441', 'Trigger'], 'pr_id': [9441, 'Trigger'], 'shortrev': ['7abab6', 'Trigger'], 'branch': ['refs/pull/9441/head', 'Build'], 'repo': ['dolphin-emu/dolphin', 'Trigger'], 'project': ['', 'Build'], 'buildnumber': [3587, 'Build'], 'repository': ['', 'Build'], 'codebase': ['', 'Build']}, 'url': 'https://dolphin.ci/#builders/16/builds/3587', 'complete': False, 'started_at': 1621011162, 'number': 3587, 'state_string': 'starting', 'workerid': 2, 'masterid': 2, 'complete_at': None, 'builderid': 16, 'buildrequestid': 55562, 'buildrequest': {'complete_at': None, 'waited_for': False, 'claimed': True, 'complete': False, 'priority': 0, 'buildsetid': 20616, 'claimed_by_masterid': 2, 'builderid': 16, 'buildrequestid': 55562, 'properties': None, 'results': -1, 'claimed_at': 1621011162, 'submitted_at': 1621011162}, 'results': None, 'buildset': {'complete_at': None, 'parent_relationship': 'Triggered from', 'bsid': 20616, 'parent_buildid': 55567, 'complete': False, 'external_idstring': None, 'sourcestamps': [{'revision': '7abab678ffb6db49f74b82c03efe09706e8ea3d1', 'patch': None, 'created_at': 1621011163, 'ssid': 5627, 'branch': 'refs/pull/9441/head', 'project': '', 'repository': '', 'codebase': ''}], 'reason': "The Triggerable scheduler named 'pr-fifoci-lin' triggered this build", 'results': -1, 'submitted_at': 1621011162}, 'builder': {'tags': [], 'description': None, 'builderid': 16, 'masterids': [2], 'name': 'pr-fifoci-ogl-lin-mesa'}}}
2021-05-14T16:52:43.255536	{'source': 'webserver', 'type': 'raw_bb_hook', 'raw': {'buildid': 55568, 'properties': {'revision': ['7abab678ffb6db49f74b82c03efe09706e8ea3d1', 'Build'], 'workername': ['arbert', 'Worker'], 'headrev': ['7abab678ffb6db49f74b82c03efe09706e8ea3d1', 'Trigger'], 'scheduler': ['pr-fifoci-lin', 'Scheduler'], 'buildername': ['pr-fifoci-ogl-lin-radeon', 'Builder'], 'branchname': ['pr-9441', 'Trigger'], 'pr_id': [9441, 'Trigger'], 'shortrev': ['7abab6', 'Trigger'], 'branch': ['refs/pull/9441/head', 'Build'], 'repo': ['dolphin-emu/dolphin', 'Trigger'], 'project': ['', 'Build'], 'buildnumber': [3596, 'Build'], 'repository': ['', 'Build'], 'codebase': ['', 'Build']}, 'url': 'https://dolphin.ci/#builders/11/builds/3596', 'complete': False, 'started_at': 1621011162, 'number': 3596, 'state_string': 'starting', 'workerid': 6, 'masterid': 2, 'complete_at': None, 'builderid': 11, 'buildrequestid': 55561, 'buildrequest': {'complete_at': None, 'waited_for': False, 'claimed': True, 'complete': False, 'priority': 0, 'buildsetid': 20616, 'claimed_by_masterid': 2, 'builderid': 11, 'buildrequestid': 55561, 'properties': None, 'results': -1, 'claimed_at': 1621011162, 'submitted_at': 1621011162}, 'results': None, 'buildset': {'complete_at': None, 'parent_relationship': 'Triggered from', 'bsid': 20616, 'parent_buildid': 55567, 'complete': False, 'external_idstring': None, 'sourcestamps': [{'revision': '7abab678ffb6db49f74b82c03efe09706e8ea3d1', 'patch': None, 'created_at': 1621011163, 'ssid': 5627, 'branch': 'refs/pull/9441/head', 'project': '', 'repository': '', 'codebase': ''}], 'reason': "The Triggerable scheduler named 'pr-fifoci-lin' triggered this build", 'results': -1, 'submitted_at': 1621011162}, 'builder': {'tags': [], 'description': None, 'builderid': 11, 'masterids': [2], 'name': 'pr-fifoci-ogl-lin-radeon'}}}
2021-05-14T16:52:43.233997	{'source': 'webserver', 'type': 'raw_bb_hook', 'raw': {'buildid': 55567, 'properties': {'revision': [None, 'Build'], 'workername': ['ubuntu', 'Worker'], 'got_revision': ['7abab678ffb6db49f74b82c03efe09706e8ea3d1', 'GitNoBranch'], 'warnings-count': [669, 'WarningCountingShellCommand'], 'baserev': ['a6f6211ddeaa87fee5009df7ba467ef733fa3fcf', 'try build'], 'branchname': ['pr-9441', 'try build'], 'builddir': ['/home/buildslave/worker/pr-ubu-x64', 'Worker'], 'buildername': ['pr-ubu-x64', 'Builder'], 'scheduler': ['pr', 'Scheduler'], 'pr_id': [9441, 'try build'], 'shortrev': ['7abab6', 'try build'], 'headrev': ['7abab678ffb6db49f74b82c03efe09706e8ea3d1', 'try build'], 'branch': ['refs/pull/9441/head', 'Build'], 'repo': ['dolphin-emu/dolphin', 'try build'], 'project': ['', 'Build'], 'buildnumber': [3784, 'Build'], 'repository': ['', 'Build'], 'codebase': ['', 'Build']}, 'url': 'https://dolphin.ci/#builders/19/builds/3784', 'complete': True, 'started_at': 1621010980, 'number': 3784, 'state_string': 'build successful', 'workerid': 7, 'masterid': 2, 'complete_at': 1621011163, 'builderid': 19, 'buildrequestid': 55558, 'buildrequest': {'complete_at': None, 'waited_for': False, 'claimed': True, 'complete': False, 'priority': 0, 'buildsetid': 20615, 'claimed_by_masterid': 2, 'builderid': 19, 'buildrequestid': 55558, 'properties': None, 'results': -1, 'claimed_at': 1621010980, 'submitted_at': 1621010324}, 'results': 0, 'buildset': {'complete_at': None, 'parent_relationship': None, 'bsid': 20615, 'parent_buildid': None, 'complete': False, 'external_idstring': '9441-7abab6', 'sourcestamps': [{'revision': None, 'patch': None, 'created_at': 1610554556, 'ssid': 4283, 'branch': 'refs/pull/9441/head', 'project': '', 'repository': '', 'codebase': ''}], 'reason': "'try' job by user Central (on behalf of: skylersaleh)", 'results': -1, 'submitted_at': 1621010324}, 'builder': {'tags': [], 'description': None, 'builderid': 19, 'masterids': [2], 'name': 'pr-ubu-x64'}}}
2021-05-14T16:49:41.136692	{'source': 'webserver', 'type': 'raw_bb_hook', 'raw': {'buildid': 55567, 'properties': {'revision': [None, 'Build'], 'workername': ['ubuntu', 'Worker'], 'baserev': ['a6f6211ddeaa87fee5009df7ba467ef733fa3fcf', 'try build'], 'buildername': ['pr-ubu-x64', 'Builder'], 'branchname': ['pr-9441', 'try build'], 'repository': ['', 'Build'], 'pr_id': [9441, 'try build'], 'shortrev': ['7abab6', 'try build'], 'headrev': ['7abab678ffb6db49f74b82c03efe09706e8ea3d1', 'try build'], 'branch': ['refs/pull/9441/head', 'Build'], 'repo': ['dolphin-emu/dolphin', 'try build'], 'project': ['', 'Build'], 'buildnumber': [3784, 'Build'], 'scheduler': ['pr', 'Scheduler'], 'codebase': ['', 'Build']}, 'url': 'https://dolphin.ci/#builders/19/builds/3784', 'complete': False, 'started_at': 1621010980, 'number': 3784, 'state_string': 'starting', 'workerid': 7, 'masterid': 2, 'complete_at': None, 'builderid': 19, 'buildrequestid': 55558, 'buildrequest': {'complete_at': None, 'waited_for': False, 'claimed': True, 'complete': False, 'priority': 0, 'buildsetid': 20615, 'claimed_by_masterid': 2, 'builderid': 19, 'buildrequestid': 55558, 'properties': None, 'results': -1, 'claimed_at': 1621010980, 'submitted_at': 1621010324}, 'results': None, 'buildset': {'complete_at': None, 'parent_relationship': None, 'bsid': 20615, 'parent_buildid': None, 'complete': False, 'external_idstring': '9441-7abab6', 'sourcestamps': [{'revision': None, 'patch': None, 'created_at': 1610554556, 'ssid': 4283, 'branch': 'refs/pull/9441/head', 'project': '', 'repository': '', 'codebase': ''}], 'reason': "'try' job by user Central (on behalf of: skylersaleh)", 'results': -1, 'submitted_at': 1621010324}, 'builder': {'tags': [], 'description': None, 'builderid': 19, 'masterids': [2], 'name': 'pr-ubu-x64'}}}
2021-05-14T16:49:40.925678	{'source': 'webserver', 'type': 'raw_bb_hook', 'raw': {'buildid': 55564, 'properties': {'revision': [None, 'Build'], 'workername': ['ubuntu', 'Worker'], 'got_revision': ['7abab678ffb6db49f74b82c03efe09706e8ea3d1', 'GitNoBranch'], 'baserev': ['a6f6211ddeaa87fee5009df7ba467ef733fa3fcf', 'try build'], 'branchname': ['pr-9441', 'try build'], 'builddir': ['/home/buildslave/worker/pr-android', 'Worker'], 'buildername': ['pr-android', 'Builder'], 'repository': ['', 'Build'], 'pr_id': [9441, 'try build'], 'shortrev': ['7abab6', 'try build'], 'headrev': ['7abab678ffb6db49f74b82c03efe09706e8ea3d1', 'try build'], 'branch': ['refs/pull/9441/head', 'Build'], 'repo': ['dolphin-emu/dolphin', 'try build'], 'project': ['', 'Build'], 'buildnumber': [3788, 'Build'], 'scheduler': ['pr', 'Scheduler'], 'codebase': ['', 'Build']}, 'url': 'https://dolphin.ci/#builders/15/builds/3788', 'complete': True, 'started_at': 1621010330, 'number': 3788, 'state_string': 'build successful', 'workerid': 7, 'masterid': 2, 'complete_at': 1621010981, 'builderid': 15, 'buildrequestid': 55556, 'buildrequest': {'complete_at': None, 'waited_for': False, 'claimed': True, 'complete': False, 'priority': 0, 'buildsetid': 20615, 'claimed_by_masterid': 2, 'builderid': 15, 'buildrequestid': 55556, 'properties': None, 'results': -1, 'claimed_at': 1621010330, 'submitted_at': 1621010324}, 'results': 0, 'buildset': {'complete_at': None, 'parent_relationship': None, 'bsid': 20615, 'parent_buildid': None, 'complete': False, 'external_idstring': '9441-7abab6', 'sourcestamps': [{'revision': None, 'patch': None, 'created_at': 1610554556, 'ssid': 4283, 'branch': 'refs/pull/9441/head', 'project': '', 'repository': '', 'codebase': ''}], 'reason': "'try' job by user Central (on behalf of: skylersaleh)", 'results': -1, 'submitted_at': 1621010324}, 'builder': {'tags': [], 'description': None, 'builderid': 15, 'masterids': [2], 'name': 'pr-android'}}}
2021-05-14T16:49:01.494731	{'source': 'webserver', 'type': 'raw_bb_hook', 'raw': {'buildid': 55566, 'properties': {'revision': [None, 'Build'], 'workername': ['windows', 'Worker'], 'baserev': ['a6f6211ddeaa87fee5009df7ba467ef733fa3fcf', 'try build'], 'buildername': ['pr-win-x64', 'Builder'], 'branchname': ['pr-9441', 'try build'], 'repository': ['', 'Build'], 'pr_id': [9441, 'try build'], 'shortrev': ['7abab6', 'try build'], 'headrev': ['7abab678ffb6db49f74b82c03efe09706e8ea3d1', 'try build'], 'branch': ['refs/pull/9441/head', 'Build'], 'repo': ['dolphin-emu/dolphin', 'try build'], 'project': ['', 'Build'], 'buildnumber': [3785, 'Build'], 'scheduler': ['pr', 'Scheduler'], 'codebase': ['', 'Build']}, 'url': 'https://dolphin.ci/#builders/21/builds/3785', 'complete': False, 'started_at': 1621010936, 'number': 3785, 'state_string': 'starting', 'workerid': 4, 'masterid': 2, 'complete_at': None, 'builderid': 21, 'buildrequestid': 55559, 'buildrequest': {'complete_at': None, 'waited_for': False, 'claimed': True, 'complete': False, 'priority': 0, 'buildsetid': 20615, 'claimed_by_masterid': 2, 'builderid': 21, 'buildrequestid': 55559, 'properties': None, 'results': -1, 'claimed_at': 1621010935, 'submitted_at': 1621010324}, 'results': None, 'buildset': {'complete_at': None, 'parent_relationship': None, 'bsid': 20615, 'parent_buildid': None, 'complete': False, 'external_idstring': '9441-7abab6', 'sourcestamps': [{'revision': None, 'patch': None, 'created_at': 1610554556, 'ssid': 4283, 'branch': 'refs/pull/9441/head', 'project': '', 'repository': '', 'codebase': ''}], 'reason': "'try' job by user Central (on behalf of: skylersaleh)", 'results': -1, 'submitted_at': 1621010324}, 'builder': {'tags': [], 'description': None, 'builderid': 21, 'masterids': [2], 'name': 'pr-win-x64'}}}
2021-05-14T16:48:56.014888	{'source': 'webserver', 'type': 'raw_bb_hook', 'raw': {'buildid': 55562, 'properties': {'build_url': ['https://dl.dolphin-emu.org/prs/e1/79/pr-9441-dolphin-latest-dbg-x64.7z', 'SetProperty'], 'workername': ['windows', 'Worker'], 'got_revision': ['7abab678ffb6db49f74b82c03efe09706e8ea3d1', 'GitNoBranch'], 'revision': [None, 'Build'], 'warnings-count': [0, 'WarningCountingShellCommand'], 'baserev': ['a6f6211ddeaa87fee5009df7ba467ef733fa3fcf', 'try build'], 'branchname': ['pr-9441', 'try build'], 'builddir': ['C:\\buildbot\\pr-win-dbg-x64', 'Worker'], 'buildername': ['pr-win-dbg-x64', 'Builder'], 'scheduler': ['pr', 'Scheduler'], 'pr_id': [9441, 'try build'], 'shortrev': ['7abab6', 'try build'], 'headrev': ['7abab678ffb6db49f74b82c03efe09706e8ea3d1', 'try build'], 'branch': ['refs/pull/9441/head', 'Build'], 'repo': ['dolphin-emu/dolphin', 'try build'], 'project': ['', 'Build'], 'buildnumber': [3785, 'Build'], 'repository': ['', 'Build'], 'codebase': ['', 'Build']}, 'url': 'https://dolphin.ci/#builders/12/builds/3785', 'complete': True, 'started_at': 1621010325, 'number': 3785, 'state_string': 'build successful', 'workerid': 4, 'masterid': 2, 'complete_at': 1621010936, 'builderid': 12, 'buildrequestid': 55554, 'buildrequest': {'complete_at': None, 'waited_for': False, 'claimed': True, 'complete': False, 'priority': 0, 'buildsetid': 20615, 'claimed_by_masterid': 2, 'builderid': 12, 'buildrequestid': 55554, 'properties': None, 'results': -1, 'claimed_at': 1621010325, 'submitted_at': 1621010324}, 'results': 0, 'buildset': {'complete_at': None, 'parent_relationship': None, 'bsid': 20615, 'parent_buildid': None, 'complete': False, 'external_idstring': '9441-7abab6', 'sourcestamps': [{'revision': None, 'patch': None, 'created_at': 1610554556, 'ssid': 4283, 'branch': 'refs/pull/9441/head', 'project': '', 'repository': '', 'codebase': ''}], 'reason': "'try' job by user Central (on behalf of: skylersaleh)", 'results': -1, 'submitted_at': 1621010324}, 'builder': {'tags': [], 'description': None, 'builderid': 12, 'masterids': [2], 'name': 'pr-win-dbg-x64'}}}
2021-05-14T16:44:14.084458	{'source': 'webserver', 'type': 'raw_bb_hook', 'raw': {'buildid': 55565, 'properties': {'revision': [None, 'Build'], 'workername': ['debian', 'Worker'], 'got_revision': ['7abab678ffb6db49f74b82c03efe09706e8ea3d1', 'GitNoBranch'], 'warnings-count': [660, 'WarningCountingShellCommand'], 'baserev': ['a6f6211ddeaa87fee5009df7ba467ef733fa3fcf', 'try build'], 'branchname': ['pr-9441', 'try build'], 'builddir': ['/home/delroth/buildslave/pr-deb-dbg-x64', 'Worker'], 'buildername': ['pr-deb-dbg-x64', 'Builder'], 'scheduler': ['pr', 'Scheduler'], 'pr_id': [9441, 'try build'], 'shortrev': ['7abab6', 'try build'], 'headrev': ['7abab678ffb6db49f74b82c03efe09706e8ea3d1', 'try build'], 'branch': ['refs/pull/9441/head', 'Build'], 'repo': ['dolphin-emu/dolphin', 'try build'], 'project': ['', 'Build'], 'buildnumber': [3784, 'Build'], 'repository': ['', 'Build'], 'codebase': ['', 'Build']}, 'url': 'https://dolphin.ci/#builders/18/builds/3784', 'complete': True, 'started_at': 1621010515, 'number': 3784, 'state_string': 'build successful', 'workerid': 1, 'masterid': 2, 'complete_at': 1621010654, 'builderid': 18, 'buildrequestid': 55557, 'buildrequest': {'complete_at': None, 'waited_for': False, 'claimed': True, 'complete': False, 'priority': 0, 'buildsetid': 20615, 'claimed_by_masterid': 2, 'builderid': 18, 'buildrequestid': 55557, 'properties': None, 'results': -1, 'claimed_at': 1621010515, 'submitted_at': 1621010324}, 'results': 0, 'buildset': {'complete_at': None, 'parent_relationship': None, 'bsid': 20615, 'parent_buildid': None, 'complete': False, 'external_idstring': '9441-7abab6', 'sourcestamps': [{'revision': None, 'patch': None, 'created_at': 1610554556, 'ssid': 4283, 'branch': 'refs/pull/9441/head', 'project': '', 'repository': '', 'codebase': ''}], 'reason': "'try' job by user Central (on behalf of: skylersaleh)", 'results': -1, 'submitted_at': 1621010324}, 'builder': {'tags': [], 'description': None, 'builderid': 18, 'masterids': [2], 'name': 'pr-deb-dbg-x64'}}}
2021-05-14T16:43:26.040106	{'source': 'webserver', 'type': 'raw_bb_hook', 'raw': {'buildid': 55558, 'properties': {'revision': [None, 'Build'], 'workername': ['osx', 'Worker'], 'got_revision': ['7abab678ffb6db49f74b82c03efe09706e8ea3d1', 'GitNoBranch'], 'warnings-count': [52, 'WarningCountingShellCommand'], 'baserev': ['a6f6211ddeaa87fee5009df7ba467ef733fa3fcf', 'try build'], 'branchname': ['pr-9441', 'try build'], 'builddir': ['/Users/osxguest/buildslave/pr-osx-x64', 'Worker'], 'buildername': ['pr-osx-x64', 'Builder'], 'scheduler': ['pr', 'Scheduler'], 'pr_id': [9441, 'try build'], 'shortrev': ['7abab6', 'try build'], 'headrev': ['7abab678ffb6db49f74b82c03efe09706e8ea3d1', 'try build'], 'branch': ['refs/pull/9441/head', 'Build'], 'repo': ['dolphin-emu/dolphin', 'try build'], 'project': ['', 'Build'], 'buildnumber': [3781, 'Build'], 'repository': ['', 'Build'], 'codebase': ['', 'Build']}, 'url': 'https://dolphin.ci/#builders/3/builds/3781', 'complete': True, 'started_at': 1621010325, 'number': 3781, 'state_string': 'build successful', 'workerid': 3, 'masterid': 2, 'complete_at': 1621010606, 'builderid': 3, 'buildrequestid': 55551, 'buildrequest': {'complete_at': None, 'waited_for': False, 'claimed': True, 'complete': False, 'priority': 0, 'buildsetid': 20615, 'claimed_by_masterid': 2, 'builderid': 3, 'buildrequestid': 55551, 'properties': None, 'results': -1, 'claimed_at': 1621010325, 'submitted_at': 1621010324}, 'results': 0, 'buildset': {'complete_at': None, 'parent_relationship': None, 'bsid': 20615, 'parent_buildid': None, 'complete': False, 'external_idstring': '9441-7abab6', 'sourcestamps': [{'revision': None, 'patch': None, 'created_at': 1610554556, 'ssid': 4283, 'branch': 'refs/pull/9441/head', 'project': '', 'repository': '', 'codebase': ''}], 'reason': "'try' job by user Central (on behalf of: skylersaleh)", 'results': -1, 'submitted_at': 1621010324}, 'builder': {'tags': [], 'description': None, 'builderid': 3, 'masterids': [2], 'name': 'pr-osx-x64'}}}
2021-05-14T16:41:56.057661	{'source': 'webserver', 'type': 'raw_bb_hook', 'raw': {'buildid': 55565, 'properties': {'revision': [None, 'Build'], 'workername': ['debian', 'Worker'], 'baserev': ['a6f6211ddeaa87fee5009df7ba467ef733fa3fcf', 'try build'], 'buildername': ['pr-deb-dbg-x64', 'Builder'], 'branchname': ['pr-9441', 'try build'], 'repository': ['', 'Build'], 'pr_id': [9441, 'try build'], 'shortrev': ['7abab6', 'try build'], 'headrev': ['7abab678ffb6db49f74b82c03efe09706e8ea3d1', 'try build'], 'branch': ['refs/pull/9441/head', 'Build'], 'repo': ['dolphin-emu/dolphin', 'try build'], 'project': ['', 'Build'], 'buildnumber': [3784, 'Build'], 'scheduler': ['pr', 'Scheduler'], 'codebase': ['', 'Build']}, 'url': 'https://dolphin.ci/#builders/18/builds/3784', 'complete': False, 'started_at': 1621010515, 'number': 3784, 'state_string': 'starting', 'workerid': 1, 'masterid': 2, 'complete_at': None, 'builderid': 18, 'buildrequestid': 55557, 'buildrequest': {'complete_at': None, 'waited_for': False, 'claimed': True, 'complete': False, 'priority': 0, 'buildsetid': 20615, 'claimed_by_masterid': 2, 'builderid': 18, 'buildrequestid': 55557, 'properties': None, 'results': -1, 'claimed_at': 1621010515, 'submitted_at': 1621010324}, 'results': None, 'buildset': {'complete_at': None, 'parent_relationship': None, 'bsid': 20615, 'parent_buildid': None, 'complete': False, 'external_idstring': '9441-7abab6', 'sourcestamps': [{'revision': None, 'patch': None, 'created_at': 1610554556, 'ssid': 4283, 'branch': 'refs/pull/9441/head', 'project': '', 'repository': '', 'codebase': ''}], 'reason': "'try' job by user Central (on behalf of: skylersaleh)", 'results': -1, 'submitted_at': 1621010324}, 'builder': {'tags': [], 'description': None, 'builderid': 18, 'masterids': [2], 'name': 'pr-deb-dbg-x64'}}}
2021-05-14T16:41:55.380045	{'source': 'webserver', 'type': 'raw_bb_hook', 'raw': {'buildid': 55561, 'properties': {'revision': [None, 'Build'], 'workername': ['debian', 'Worker'], 'got_revision': ['7abab678ffb6db49f74b82c03efe09706e8ea3d1', 'GitNoBranch'], 'warnings-count': [661, 'WarningCountingShellCommand'], 'baserev': ['a6f6211ddeaa87fee5009df7ba467ef733fa3fcf', 'try build'], 'branchname': ['pr-9441', 'try build'], 'builddir': ['/home/delroth/buildslave/pr-deb-x64', 'Worker'], 'buildername': ['pr-deb-x64', 'Builder'], 'scheduler': ['pr', 'Scheduler'], 'pr_id': [9441, 'try build'], 'shortrev': ['7abab6', 'try build'], 'headrev': ['7abab678ffb6db49f74b82c03efe09706e8ea3d1', 'try build'], 'branch': ['refs/pull/9441/head', 'Build'], 'repo': ['dolphin-emu/dolphin', 'try build'], 'project': ['', 'Build'], 'buildnumber': [3789, 'Build'], 'repository': ['', 'Build'], 'codebase': ['', 'Build']}, 'url': 'https://dolphin.ci/#builders/4/builds/3789', 'complete': True, 'started_at': 1621010325, 'number': 3789, 'state_string': 'build successful', 'workerid': 1, 'masterid': 2, 'complete_at': 1621010515, 'builderid': 4, 'buildrequestid': 55552, 'buildrequest': {'complete_at': None, 'waited_for': False, 'claimed': True, 'complete': False, 'priority': 0, 'buildsetid': 20615, 'claimed_by_masterid': 2, 'builderid': 4, 'buildrequestid': 55552, 'properties': None, 'results': -1, 'claimed_at': 1621010325, 'submitted_at': 1621010324}, 'results': 0, 'buildset': {'complete_at': None, 'parent_relationship': None, 'bsid': 20615, 'parent_buildid': None, 'complete': False, 'external_idstring': '9441-7abab6', 'sourcestamps': [{'revision': None, 'patch': None, 'created_at': 1610554556, 'ssid': 4283, 'branch': 'refs/pull/9441/head', 'project': '', 'repository': '', 'codebase': ''}], 'reason': "'try' job by user Central (on behalf of: skylersaleh)", 'results': -1, 'submitted_at': 1621010324}, 'builder': {'tags': [], 'description': None, 'builderid': 4, 'masterids': [2], 'name': 'pr-deb-x64'}}}
2021-05-14T16:41:42.660401	{'source': 'webserver', 'type': 'raw_bb_hook', 'raw': {'buildid': 55563, 'properties': {'revision': [None, 'Build'], 'workername': ['osx-m1', 'Worker'], 'got_revision': ['7abab678ffb6db49f74b82c03efe09706e8ea3d1', 'GitNoBranch'], 'baserev': ['a6f6211ddeaa87fee5009df7ba467ef733fa3fcf', 'try build'], 'branchname': ['pr-9441', 'try build'], 'builddir': ['/Users/administrator/buildbot-worker/osx_m1/pr-osx-universal', 'Worker'], 'buildername': ['pr-osx-universal', 'Builder'], 'repository': ['', 'Build'], 'pr_id': [9441, 'try build'], 'shortrev': ['7abab6', 'try build'], 'headrev': ['7abab678ffb6db49f74b82c03efe09706e8ea3d1', 'try build'], 'branch': ['refs/pull/9441/head', 'Build'], 'repo': ['dolphin-emu/dolphin', 'try build'], 'project': ['', 'Build'], 'buildnumber': [21, 'Build'], 'scheduler': ['pr', 'Scheduler'], 'codebase': ['', 'Build']}, 'url': 'https://dolphin.ci/#builders/26/builds/21', 'complete': True, 'started_at': 1621010325, 'number': 21, 'state_string': 'build successful', 'workerid': 8, 'masterid': 2, 'complete_at': 1621010503, 'builderid': 26, 'buildrequestid': 55560, 'buildrequest': {'complete_at': None, 'waited_for': False, 'claimed': True, 'complete': False, 'priority': 0, 'buildsetid': 20615, 'claimed_by_masterid': 2, 'builderid': 26, 'buildrequestid': 55560, 'properties': None, 'results': -1, 'claimed_at': 1621010325, 'submitted_at': 1621010324}, 'results': 0, 'buildset': {'complete_at': None, 'parent_relationship': None, 'bsid': 20615, 'parent_buildid': None, 'complete': False, 'external_idstring': '9441-7abab6', 'sourcestamps': [{'revision': None, 'patch': None, 'created_at': 1610554556, 'ssid': 4283, 'branch': 'refs/pull/9441/head', 'project': '', 'repository': '', 'codebase': ''}], 'reason': "'try' job by user Central (on behalf of: skylersaleh)", 'results': -1, 'submitted_at': 1621010324}, 'builder': {'tags': [], 'description': None, 'builderid': 26, 'masterids': [2], 'name': 'pr-osx-universal'}}}
2021-05-14T16:39:43.187616	{'source': 'webserver', 'type': 'raw_bb_hook', 'raw': {'buildid': 55560, 'properties': {'revision': [None, 'Build'], 'workername': ['freebsd', 'Worker'], 'got_revision': ['7abab678ffb6db49f74b82c03efe09706e8ea3d1', 'GitNoBranch'], 'warnings-count': [120, 'WarningCountingShellCommand'], 'baserev': ['a6f6211ddeaa87fee5009df7ba467ef733fa3fcf', 'try build'], 'branchname': ['pr-9441', 'try build'], 'builddir': ['/usr/home/buildbot/freebsd/pr-freebsd-x64', 'Worker'], 'buildername': ['pr-freebsd-x64', 'Builder'], 'scheduler': ['pr', 'Scheduler'], 'pr_id': [9441, 'try build'], 'shortrev': ['7abab6', 'try build'], 'headrev': ['7abab678ffb6db49f74b82c03efe09706e8ea3d1', 'try build'], 'branch': ['refs/pull/9441/head', 'Build'], 'repo': ['dolphin-emu/dolphin', 'try build'], 'project': ['', 'Build'], 'buildnumber': [3791, 'Build'], 'repository': ['', 'Build'], 'codebase': ['', 'Build']}, 'url': 'https://dolphin.ci/#builders/13/builds/3791', 'complete': True, 'started_at': 1621010325, 'number': 3791, 'state_string': 'build successful', 'workerid': 5, 'masterid': 2, 'complete_at': 1621010383, 'builderid': 13, 'buildrequestid': 55555, 'buildrequest': {'complete_at': None, 'waited_for': False, 'claimed': True, 'complete': False, 'priority': 0, 'buildsetid': 20615, 'claimed_by_masterid': 2, 'builderid': 13, 'buildrequestid': 55555, 'properties': None, 'results': -1, 'claimed_at': 1621010325, 'submitted_at': 1621010324}, 'results': 0, 'buildset': {'complete_at': None, 'parent_relationship': None, 'bsid': 20615, 'parent_buildid': None, 'complete': False, 'external_idstring': '9441-7abab6', 'sourcestamps': [{'revision': None, 'patch': None, 'created_at': 1610554556, 'ssid': 4283, 'branch': 'refs/pull/9441/head', 'project': '', 'repository': '', 'codebase': ''}], 'reason': "'try' job by user Central (on behalf of: skylersaleh)", 'results': -1, 'submitted_at': 1621010324}, 'builder': {'tags': [], 'description': None, 'builderid': 13, 'masterids': [2], 'name': 'pr-freebsd-x64'}}}
2021-05-14T16:38:50.137380	{'source': 'webserver', 'type': 'raw_bb_hook', 'raw': {'buildid': 55564, 'properties': {'revision': [None, 'Build'], 'workername': ['ubuntu', 'Worker'], 'baserev': ['a6f6211ddeaa87fee5009df7ba467ef733fa3fcf', 'try build'], 'buildername': ['pr-android', 'Builder'], 'branchname': ['pr-9441', 'try build'], 'repository': ['', 'Build'], 'pr_id': [9441, 'try build'], 'shortrev': ['7abab6', 'try build'], 'headrev': ['7abab678ffb6db49f74b82c03efe09706e8ea3d1', 'try build'], 'branch': ['refs/pull/9441/head', 'Build'], 'repo': ['dolphin-emu/dolphin', 'try build'], 'project': ['', 'Build'], 'buildnumber': [3788, 'Build'], 'scheduler': ['pr', 'Scheduler'], 'codebase': ['', 'Build']}, 'url': 'https://dolphin.ci/#builders/15/builds/3788', 'complete': False, 'started_at': 1621010330, 'number': 3788, 'state_string': 'starting', 'workerid': 7, 'masterid': 2, 'complete_at': None, 'builderid': 15, 'buildrequestid': 55556, 'buildrequest': {'complete_at': None, 'waited_for': False, 'claimed': True, 'complete': False, 'priority': 0, 'buildsetid': 20615, 'claimed_by_masterid': 2, 'builderid': 15, 'buildrequestid': 55556, 'properties': None, 'results': -1, 'claimed_at': 1621010330, 'submitted_at': 1621010324}, 'results': None, 'buildset': {'complete_at': None, 'parent_relationship': None, 'bsid': 20615, 'parent_buildid': None, 'complete': False, 'external_idstring': '9441-7abab6', 'sourcestamps': [{'revision': None, 'patch': None, 'created_at': 1610554556, 'ssid': 4283, 'branch': 'refs/pull/9441/head', 'project': '', 'repository': '', 'codebase': ''}], 'reason': "'try' job by user Central (on behalf of: skylersaleh)", 'results': -1, 'submitted_at': 1621010324}, 'builder': {'tags': [], 'description': None, 'builderid': 15, 'masterids': [2], 'name': 'pr-android'}}}
2021-05-14T16:38:50.026682	{'source': 'webserver', 'type': 'raw_bb_hook', 'raw': {'buildid': 55559, 'properties': {'revision': [None, 'Build'], 'workername': ['ubuntu', 'Worker'], 'got_revision': ['7abab678ffb6db49f74b82c03efe09706e8ea3d1', 'GitNoBranch'], 'baserev': ['a6f6211ddeaa87fee5009df7ba467ef733fa3fcf', 'try build'], 'branchname': ['pr-9441', 'try build'], 'builddir': ['/home/buildslave/worker/lint', 'Worker'], 'buildername': ['lint', 'Builder'], 'repository': ['', 'Build'], 'pr_id': [9441, 'try build'], 'shortrev': ['7abab6', 'try build'], 'headrev': ['7abab678ffb6db49f74b82c03efe09706e8ea3d1', 'try build'], 'branch': ['refs/pull/9441/head', 'Build'], 'repo': ['dolphin-emu/dolphin', 'try build'], 'project': ['', 'Build'], 'buildnumber': [3786, 'Build'], 'scheduler': ['pr', 'Scheduler'], 'codebase': ['', 'Build']}, 'url': 'https://dolphin.ci/#builders/10/builds/3786', 'complete': True, 'started_at': 1621010325, 'number': 3786, 'state_string': 'build successful', 'workerid': 7, 'masterid': 2, 'complete_at': 1621010330, 'builderid': 10, 'buildrequestid': 55553, 'buildrequest': {'complete_at': 1621010330, 'waited_for': False, 'claimed': True, 'complete': True, 'priority': 0, 'buildsetid': 20615, 'claimed_by_masterid': 2, 'builderid': 10, 'buildrequestid': 55553, 'properties': None, 'results': 0, 'claimed_at': 1621010325, 'submitted_at': 1621010324}, 'results': 0, 'buildset': {'complete_at': None, 'parent_relationship': None, 'bsid': 20615, 'parent_buildid': None, 'complete': False, 'external_idstring': '9441-7abab6', 'sourcestamps': [{'revision': None, 'patch': None, 'created_at': 1610554556, 'ssid': 4283, 'branch': 'refs/pull/9441/head', 'project': '', 'repository': '', 'codebase': ''}], 'reason': "'try' job by user Central (on behalf of: skylersaleh)", 'results': -1, 'submitted_at': 1621010324}, 'builder': {'tags': [], 'description': None, 'builderid': 10, 'masterids': [2], 'name': 'lint'}}}
2021-05-14T16:38:46.123955	{'source': 'webserver', 'type': 'raw_bb_hook', 'raw': {'buildid': 55563, 'properties': {'revision': [None, 'Build'], 'workername': ['osx-m1', 'Worker'], 'baserev': ['a6f6211ddeaa87fee5009df7ba467ef733fa3fcf', 'try build'], 'buildername': ['pr-osx-universal', 'Builder'], 'branchname': ['pr-9441', 'try build'], 'repository': ['', 'Build'], 'pr_id': [9441, 'try build'], 'shortrev': ['7abab6', 'try build'], 'headrev': ['7abab678ffb6db49f74b82c03efe09706e8ea3d1', 'try build'], 'branch': ['refs/pull/9441/head', 'Build'], 'repo': ['dolphin-emu/dolphin', 'try build'], 'project': ['', 'Build'], 'buildnumber': [21, 'Build'], 'scheduler': ['pr', 'Scheduler'], 'codebase': ['', 'Build']}, 'url': 'https://dolphin.ci/#builders/26/builds/21', 'complete': False, 'started_at': 1621010325, 'number': 21, 'state_string': 'starting', 'workerid': 8, 'masterid': 2, 'complete_at': None, 'builderid': 26, 'buildrequestid': 55560, 'buildrequest': {'complete_at': None, 'waited_for': False, 'claimed': True, 'complete': False, 'priority': 0, 'buildsetid': 20615, 'claimed_by_masterid': 2, 'builderid': 26, 'buildrequestid': 55560, 'properties': None, 'results': -1, 'claimed_at': 1621010325, 'submitted_at': 1621010324}, 'results': None, 'buildset': {'complete_at': None, 'parent_relationship': None, 'bsid': 20615, 'parent_buildid': None, 'complete': False, 'external_idstring': '9441-7abab6', 'sourcestamps': [{'revision': None, 'patch': None, 'created_at': 1610554556, 'ssid': 4283, 'branch': 'refs/pull/9441/head', 'project': '', 'repository': '', 'codebase': ''}], 'reason': "'try' job by user Central (on behalf of: skylersaleh)", 'results': -1, 'submitted_at': 1621010324}, 'builder': {'tags': [], 'description': None, 'builderid': 26, 'masterids': [2], 'name': 'pr-osx-universal'}}}
2021-05-14T16:38:46.049693	{'source': 'webserver', 'type': 'raw_bb_hook', 'raw': {'buildid': 55562, 'properties': {'revision': [None, 'Build'], 'workername': ['windows', 'Worker'], 'baserev': ['a6f6211ddeaa87fee5009df7ba467ef733fa3fcf', 'try build'], 'buildername': ['pr-win-dbg-x64', 'Builder'], 'branchname': ['pr-9441', 'try build'], 'repository': ['', 'Build'], 'pr_id': [9441, 'try build'], 'shortrev': ['7abab6', 'try build'], 'headrev': ['7abab678ffb6db49f74b82c03efe09706e8ea3d1', 'try build'], 'branch': ['refs/pull/9441/head', 'Build'], 'repo': ['dolphin-emu/dolphin', 'try build'], 'project': ['', 'Build'], 'buildnumber': [3785, 'Build'], 'scheduler': ['pr', 'Scheduler'], 'codebase': ['', 'Build']}, 'url': 'https://dolphin.ci/#builders/12/builds/3785', 'complete': False, 'started_at': 1621010325, 'number': 3785, 'state_string': 'starting', 'workerid': 4, 'masterid': 2, 'complete_at': None, 'builderid': 12, 'buildrequestid': 55554, 'buildrequest': {'complete_at': None, 'waited_for': False, 'claimed': True, 'complete': False, 'priority': 0, 'buildsetid': 20615, 'claimed_by_masterid': 2, 'builderid': 12, 'buildrequestid': 55554, 'properties': None, 'results': -1, 'claimed_at': 1621010325, 'submitted_at': 1621010324}, 'results': None, 'buildset': {'complete_at': None, 'parent_relationship': None, 'bsid': 20615, 'parent_buildid': None, 'complete': False, 'external_idstring': '9441-7abab6', 'sourcestamps': [{'revision': None, 'patch': None, 'created_at': 1610554556, 'ssid': 4283, 'branch': 'refs/pull/9441/head', 'project': '', 'repository': '', 'codebase': ''}], 'reason': "'try' job by user Central (on behalf of: skylersaleh)", 'results': -1, 'submitted_at': 1621010324}, 'builder': {'tags': [], 'description': None, 'builderid': 12, 'masterids': [2], 'name': 'pr-win-dbg-x64'}}}
2021-05-14T16:38:46.015019	{'source': 'webserver', 'type': 'raw_bb_hook', 'raw': {'buildid': 55561, 'properties': {'revision': [None, 'Build'], 'workername': ['debian', 'Worker'], 'baserev': ['a6f6211ddeaa87fee5009df7ba467ef733fa3fcf', 'try build'], 'buildername': ['pr-deb-x64', 'Builder'], 'branchname': ['pr-9441', 'try build'], 'repository': ['', 'Build'], 'pr_id': [9441, 'try build'], 'shortrev': ['7abab6', 'try build'], 'headrev': ['7abab678ffb6db49f74b82c03efe09706e8ea3d1', 'try build'], 'branch': ['refs/pull/9441/head', 'Build'], 'repo': ['dolphin-emu/dolphin', 'try build'], 'project': ['', 'Build'], 'buildnumber': [3789, 'Build'], 'scheduler': ['pr', 'Scheduler'], 'codebase': ['', 'Build']}, 'url': 'https://dolphin.ci/#builders/4/builds/3789', 'complete': False, 'started_at': 1621010325, 'number': 3789, 'state_string': 'starting', 'workerid': 1, 'masterid': 2, 'complete_at': None, 'builderid': 4, 'buildrequestid': 55552, 'buildrequest': {'complete_at': None, 'waited_for': False, 'claimed': True, 'complete': False, 'priority': 0, 'buildsetid': 20615, 'claimed_by_masterid': 2, 'builderid': 4, 'buildrequestid': 55552, 'properties': None, 'results': -1, 'claimed_at': 1621010325, 'submitted_at': 1621010324}, 'results': None, 'buildset': {'complete_at': None, 'parent_relationship': None, 'bsid': 20615, 'parent_buildid': None, 'complete': False, 'external_idstring': '9441-7abab6', 'sourcestamps': [{'revision': None, 'patch': None, 'created_at': 1610554556, 'ssid': 4283, 'branch': 'refs/pull/9441/head', 'project': '', 'repository': '', 'codebase': ''}], 'reason': "'try' job by user Central (on behalf of: skylersaleh)", 'results': -1, 'submitted_at': 1621010324}, 'builder': {'tags': [], 'description': None, 'builderid': 4, 'masterids': [2], 'name': 'pr-deb-x64'}}}

Recent 'raw_gh_hook' events

2021-05-14T16:46:32.701496	{'source': 'webserver', 'gh_type': 'pull_request_review_comment', 'type': 'raw_gh_hook', 'raw': {'pull_request': {'locked': False, 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9441/comments', 'requested_reviewers': [{'organizations_url': 'https://api.github.com/users/BhaaLseN/orgs', 'repos_url': 'https://api.github.com/users/BhaaLseN/repos', 'html_url': 'https://github.com/BhaaLseN', 'url': 'https://api.github.com/users/BhaaLseN', 'node_id': 'MDQ6VXNlcjgyNjA1Mg==', 'avatar_url': 'https://avatars.githubusercontent.com/u/826052?v=4', 'followers_url': 'https://api.github.com/users/BhaaLseN/followers', 'received_events_url': 'https://api.github.com/users/BhaaLseN/received_events', 'events_url': 'https://api.github.com/users/BhaaLseN/events{/privacy}', 'gists_url': 'https://api.github.com/users/BhaaLseN/gists{/gist_id}', 'following_url': 'https://api.github.com/users/BhaaLseN/following{/other_user}', 'gravatar_id': '', 'login': 'BhaaLseN', 'subscriptions_url': 'https://api.github.com/users/BhaaLseN/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/BhaaLseN/starred{/owner}{/repo}', 'id': 826052}, {'organizations_url': 'https://api.github.com/users/MerryMage/orgs', 'repos_url': 'https://api.github.com/users/MerryMage/repos', 'html_url': 'https://github.com/MerryMage', 'url': 'https://api.github.com/users/MerryMage', 'node_id': 'MDQ6VXNlcjg2ODI4ODI=', 'avatar_url': 'https://avatars.githubusercontent.com/u/8682882?v=4', 'followers_url': 'https://api.github.com/users/MerryMage/followers', 'received_events_url': 'https://api.github.com/users/MerryMage/received_events', 'events_url': 'https://api.github.com/users/MerryMage/events{/privacy}', 'gists_url': 'https://api.github.com/users/MerryMage/gists{/gist_id}', 'following_url': 'https://api.github.com/users/MerryMage/following{/other_user}', 'gravatar_id': '', 'login': 'MerryMage', 'subscriptions_url': 'https://api.github.com/users/MerryMage/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/MerryMage/starred{/owner}{/repo}', 'id': 8682882}], 'requested_teams': [], 'created_at': '2021-01-13T16:10:58Z', 'review_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments{/number}', 'milestone': None, 'assignees': [], 'draft': False, 'title': 'Apple M1 Support for MacOS', 'base': {'sha': 'a6f6211ddeaa87fee5009df7ba467ef733fa3fcf', 'ref': 'master', 'user': {'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'html_url': 'https://github.com/dolphin-emu', 'url': 'https://api.github.com/users/dolphin-emu', 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gravatar_id': '', 'login': 'dolphin-emu', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'site_admin': False, 'type': 'Organization', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'id': 5050316}, 'label': 'dolphin-emu:master', 'repo': {'html_url': 'https://github.com/dolphin-emu/dolphin', 'open_issues': 200, 'size': 408403, 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'stargazers_count': 7343, 'pushed_at': '2021-05-14T16:38:39Z', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'forks_count': 1718, 'watchers_count': 7343, 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'has_pages': False, 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'archived': False, 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'has_wiki': True, 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'allow_squash_merge': False, 'delete_branch_on_merge': True, 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'has_issues': False, 'open_issues_count': 200, 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'forks': 1718, 'license': {'node_id': 'MDc6TGljZW5zZTg=', 'key': 'gpl-2.0', 'name': 'GNU General Public License v2.0', 'spdx_id': 'GPL-2.0', 'url': 'https://api.github.com/licenses/gpl-2.0'}, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'mirror_url': None, 'has_downloads': True, 'fork': False, 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'has_projects': False, 'created_at': '2013-07-22T09:07:57Z', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'full_name': 'dolphin-emu/dolphin', 'name': 'dolphin', 'allow_merge_commit': True, 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'disabled': False, 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'watchers': 7343, 'id': 11577304, 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'updated_at': '2021-05-14T12:22:19Z', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'private': False, 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'owner': {'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'html_url': 'https://github.com/dolphin-emu', 'url': 'https://api.github.com/users/dolphin-emu', 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gravatar_id': '', 'login': 'dolphin-emu', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'site_admin': False, 'type': 'Organization', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'id': 5050316}, 'homepage': 'https://dolphin-emu.org/', 'default_branch': 'master', 'language': 'C++', 'allow_rebase_merge': False, 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}'}}, 'labels': [], 'updated_at': '2021-05-14T16:46:31Z', 'body': 'This pull request adds support for compiling Dolphin for ARM on MacOS so that it can\r\nrun natively on the M1 processors without running through Rosseta2 emulation\r\nproviding a 30-50% performance speedup and less hitches from Rosseta2.\r\n\r\nIt consists of several key changes:\r\n\r\n- Adding support for W^X allocation(MAP_JIT) for the ARM JIT\r\n- Adding the machine context and config info to identify the M1 processor\r\n- Additions to the build system and docs to support building universal binaries\r\n- Adding code signing entitlements to access the MAP_JIT functionality\r\n- Updating the MoltenVK libvulkan.dylib to a newer version with M1 support\r\n\r\nThanks everyone on IRC for the help in making this change!', 'number': 9441, 'author_association': 'CONTRIBUTOR', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/7abab678ffb6db49f74b82c03efe09706e8ea3d1', 'id': 554297744, 'state': 'open', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/9441.diff', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9441', 'head': {'sha': '7abab678ffb6db49f74b82c03efe09706e8ea3d1', 'ref': 'master', 'user': {'organizations_url': 'https://api.github.com/users/skylersaleh/orgs', 'repos_url': 'https://api.github.com/users/skylersaleh/repos', 'html_url': 'https://github.com/skylersaleh', 'url': 'https://api.github.com/users/skylersaleh', 'node_id': 'MDQ6VXNlcjcxMTgyOTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7118296?v=4', 'followers_url': 'https://api.github.com/users/skylersaleh/followers', 'received_events_url': 'https://api.github.com/users/skylersaleh/received_events', 'events_url': 'https://api.github.com/users/skylersaleh/events{/privacy}', 'gists_url': 'https://api.github.com/users/skylersaleh/gists{/gist_id}', 'following_url': 'https://api.github.com/users/skylersaleh/following{/other_user}', 'gravatar_id': '', 'login': 'skylersaleh', 'subscriptions_url': 'https://api.github.com/users/skylersaleh/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/skylersaleh/starred{/owner}{/repo}', 'id': 7118296}, 'label': 'skylersaleh:master', 'repo': {'html_url': 'https://github.com/skylersaleh/dolphin', 'open_issues': 0, 'size': 377035, 'assignees_url': 'https://api.github.com/repos/skylersaleh/dolphin/assignees{/user}', 'blobs_url': 'https://api.github.com/repos/skylersaleh/dolphin/git/blobs{/sha}', 'pulls_url': 'https://api.github.com/repos/skylersaleh/dolphin/pulls{/number}', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'stargazers_count': 11, 'pushed_at': '2021-05-14T16:38:35Z', 'releases_url': 'https://api.github.com/repos/skylersaleh/dolphin/releases{/id}', 'collaborators_url': 'https://api.github.com/repos/skylersaleh/dolphin/collaborators{/collaborator}', 'stargazers_url': 'https://api.github.com/repos/skylersaleh/dolphin/stargazers', 'events_url': 'https://api.github.com/repos/skylersaleh/dolphin/events', 'compare_url': 'https://api.github.com/repos/skylersaleh/dolphin/compare/{base}...{head}', 'forks_count': 2, 'watchers_count': 11, 'labels_url': 'https://api.github.com/repos/skylersaleh/dolphin/labels{/name}', 'has_pages': False, 'git_url': 'git://github.com/skylersaleh/dolphin.git', 'trees_url': 'https://api.github.com/repos/skylersaleh/dolphin/git/trees{/sha}', 'languages_url': 'https://api.github.com/repos/skylersaleh/dolphin/languages', 'archived': False, 'archive_url': 'https://api.github.com/repos/skylersaleh/dolphin/{archive_format}{/ref}', 'comments_url': 'https://api.github.com/repos/skylersaleh/dolphin/comments{/number}', 'contributors_url': 'https://api.github.com/repos/skylersaleh/dolphin/contributors', 'issue_events_url': 'https://api.github.com/repos/skylersaleh/dolphin/issues/events{/number}', 'git_refs_url': 'https://api.github.com/repos/skylersaleh/dolphin/git/refs{/sha}', 'url': 'https://api.github.com/repos/skylersaleh/dolphin', 'teams_url': 'https://api.github.com/repos/skylersaleh/dolphin/teams', 'forks_url': 'https://api.github.com/repos/skylersaleh/dolphin/forks', 'has_wiki': True, 'issue_comment_url': 'https://api.github.com/repos/skylersaleh/dolphin/issues/comments{/number}', 'allow_squash_merge': True, 'delete_branch_on_merge': False, 'branches_url': 'https://api.github.com/repos/skylersaleh/dolphin/branches{/branch}', 'commits_url': 'https://api.github.com/repos/skylersaleh/dolphin/commits{/sha}', 'has_issues': False, 'open_issues_count': 0, 'notifications_url': 'https://api.github.com/repos/skylersaleh/dolphin/notifications{?since,all,participating}', 'forks': 2, 'license': {'node_id': 'MDc6TGljZW5zZTg=', 'key': 'gpl-2.0', 'name': 'GNU General Public License v2.0', 'spdx_id': 'GPL-2.0', 'url': 'https://api.github.com/licenses/gpl-2.0'}, 'node_id': 'MDEwOlJlcG9zaXRvcnkzMjg2MDE3NjQ=', 'subscription_url': 'https://api.github.com/repos/skylersaleh/dolphin/subscription', 'mirror_url': None, 'has_downloads': True, 'fork': True, 'ssh_url': 'git@github.com:skylersaleh/dolphin.git', 'has_projects': True, 'created_at': '2021-01-11T08:49:45Z', 'subscribers_url': 'https://api.github.com/repos/skylersaleh/dolphin/subscribers', 'git_commits_url': 'https://api.github.com/repos/skylersaleh/dolphin/git/commits{/sha}', 'full_name': 'skylersaleh/dolphin', 'name': 'dolphin', 'allow_merge_commit': True, 'downloads_url': 'https://api.github.com/repos/skylersaleh/dolphin/downloads', 'disabled': False, 'statuses_url': 'https://api.github.com/repos/skylersaleh/dolphin/statuses/{sha}', 'watchers': 11, 'id': 328601764, 'issues_url': 'https://api.github.com/repos/skylersaleh/dolphin/issues{/number}', 'updated_at': '2021-05-14T16:38:41Z', 'hooks_url': 'https://api.github.com/repos/skylersaleh/dolphin/hooks', 'keys_url': 'https://api.github.com/repos/skylersaleh/dolphin/keys{/key_id}', 'svn_url': 'https://github.com/skylersaleh/dolphin', 'deployments_url': 'https://api.github.com/repos/skylersaleh/dolphin/deployments', 'git_tags_url': 'https://api.github.com/repos/skylersaleh/dolphin/git/tags{/sha}', 'tags_url': 'https://api.github.com/repos/skylersaleh/dolphin/tags', 'milestones_url': 'https://api.github.com/repos/skylersaleh/dolphin/milestones{/number}', 'private': False, 'merges_url': 'https://api.github.com/repos/skylersaleh/dolphin/merges', 'clone_url': 'https://github.com/skylersaleh/dolphin.git', 'owner': {'organizations_url': 'https://api.github.com/users/skylersaleh/orgs', 'repos_url': 'https://api.github.com/users/skylersaleh/repos', 'html_url': 'https://github.com/skylersaleh', 'url': 'https://api.github.com/users/skylersaleh', 'node_id': 'MDQ6VXNlcjcxMTgyOTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7118296?v=4', 'followers_url': 'https://api.github.com/users/skylersaleh/followers', 'received_events_url': 'https://api.github.com/users/skylersaleh/received_events', 'events_url': 'https://api.github.com/users/skylersaleh/events{/privacy}', 'gists_url': 'https://api.github.com/users/skylersaleh/gists{/gist_id}', 'following_url': 'https://api.github.com/users/skylersaleh/following{/other_user}', 'gravatar_id': '', 'login': 'skylersaleh', 'subscriptions_url': 'https://api.github.com/users/skylersaleh/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/skylersaleh/starred{/owner}{/repo}', 'id': 7118296}, 'homepage': 'https://dolphin-emu.org/', 'default_branch': 'master', 'language': 'C++', 'allow_rebase_merge': True, 'contents_url': 'https://api.github.com/repos/skylersaleh/dolphin/contents/{+path}'}}, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441', 'review_comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441/comments', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/9441.patch', '_links': {'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/9441'}, 'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441'}, 'issue': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9441'}, 'commits': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441/commits'}, 'comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9441/comments'}, 'review_comment': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments{/number}'}, 'review_comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441/comments'}, 'statuses': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/7abab678ffb6db49f74b82c03efe09706e8ea3d1'}}, 'closed_at': None, 'active_lock_reason': None, 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441/commits', 'assignee': None, 'auto_merge': None, 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9441', 'merge_commit_sha': 'b5f19a781c3060cbe5f3bafd5be1f9777bcff7ed', 'node_id': 'MDExOlB1bGxSZXF1ZXN0NTU0Mjk3NzQ0', 'user': {'organizations_url': 'https://api.github.com/users/skylersaleh/orgs', 'repos_url': 'https://api.github.com/users/skylersaleh/repos', 'html_url': 'https://github.com/skylersaleh', 'url': 'https://api.github.com/users/skylersaleh', 'node_id': 'MDQ6VXNlcjcxMTgyOTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7118296?v=4', 'followers_url': 'https://api.github.com/users/skylersaleh/followers', 'received_events_url': 'https://api.github.com/users/skylersaleh/received_events', 'events_url': 'https://api.github.com/users/skylersaleh/events{/privacy}', 'gists_url': 'https://api.github.com/users/skylersaleh/gists{/gist_id}', 'following_url': 'https://api.github.com/users/skylersaleh/following{/other_user}', 'gravatar_id': '', 'login': 'skylersaleh', 'subscriptions_url': 'https://api.github.com/users/skylersaleh/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/skylersaleh/starred{/owner}{/repo}', 'id': 7118296}, 'merged_at': None}, 'sender': {'organizations_url': 'https://api.github.com/users/skylersaleh/orgs', 'repos_url': 'https://api.github.com/users/skylersaleh/repos', 'html_url': 'https://github.com/skylersaleh', 'url': 'https://api.github.com/users/skylersaleh', 'node_id': 'MDQ6VXNlcjcxMTgyOTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7118296?v=4', 'followers_url': 'https://api.github.com/users/skylersaleh/followers', 'received_events_url': 'https://api.github.com/users/skylersaleh/received_events', 'events_url': 'https://api.github.com/users/skylersaleh/events{/privacy}', 'gists_url': 'https://api.github.com/users/skylersaleh/gists{/gist_id}', 'following_url': 'https://api.github.com/users/skylersaleh/following{/other_user}', 'gravatar_id': '', 'login': 'skylersaleh', 'subscriptions_url': 'https://api.github.com/users/skylersaleh/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/skylersaleh/starred{/owner}{/repo}', 'id': 7118296}, 'organization': {'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': '', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'login': 'dolphin-emu', 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'id': 5050316}, 'comment': {'side': 'RIGHT', 'position': 1, 'commit_id': '7abab678ffb6db49f74b82c03efe09706e8ea3d1', 'start_side': None, 'created_at': '2021-05-14T16:46:30Z', 'original_commit_id': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'original_position': 1, 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441', 'original_start_line': None, 'path': 'Source/Core/DolphinQt/DolphinEmu.entitlements', 'body': "Nope, there isn't a special permission for that. ", 'author_association': 'CONTRIBUTOR', 'start_line': None, 'id': 632661355, 'updated_at': '2021-05-14T16:46:31Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9441#discussion_r632661355', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/632661355', 'original_line': 1, '_links': {'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/9441#discussion_r632661355'}, 'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/632661355'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441'}}, 'in_reply_to_id': 632546952, 'pull_request_review_id': 660021020, 'line': 1, 'diff_hunk': '@@ -0,0 +1,17 @@\n+<?xml version="1.0" encoding="UTF-8"?>', 'user': {'organizations_url': 'https://api.github.com/users/skylersaleh/orgs', 'repos_url': 'https://api.github.com/users/skylersaleh/repos', 'html_url': 'https://github.com/skylersaleh', 'url': 'https://api.github.com/users/skylersaleh', 'node_id': 'MDQ6VXNlcjcxMTgyOTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7118296?v=4', 'followers_url': 'https://api.github.com/users/skylersaleh/followers', 'received_events_url': 'https://api.github.com/users/skylersaleh/received_events', 'events_url': 'https://api.github.com/users/skylersaleh/events{/privacy}', 'gists_url': 'https://api.github.com/users/skylersaleh/gists{/gist_id}', 'following_url': 'https://api.github.com/users/skylersaleh/following{/other_user}', 'gravatar_id': '', 'login': 'skylersaleh', 'subscriptions_url': 'https://api.github.com/users/skylersaleh/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/skylersaleh/starred{/owner}{/repo}', 'id': 7118296}, 'node_id': 'MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDYzMjY2MTM1NQ=='}, 'action': 'created', 'repository': {'html_url': 'https://github.com/dolphin-emu/dolphin', 'open_issues': 200, 'size': 408403, 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'stargazers_count': 7343, 'pushed_at': '2021-05-14T16:38:39Z', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'forks_count': 1718, 'watchers_count': 7343, 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'has_pages': False, 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'archived': False, 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'has_wiki': True, 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'has_issues': False, 'open_issues_count': 200, 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'forks': 1718, 'license': {'node_id': 'MDc6TGljZW5zZTg=', 'key': 'gpl-2.0', 'name': 'GNU General Public License v2.0', 'spdx_id': 'GPL-2.0', 'url': 'https://api.github.com/licenses/gpl-2.0'}, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'mirror_url': None, 'has_downloads': True, 'fork': False, 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'has_projects': False, 'created_at': '2013-07-22T09:07:57Z', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'full_name': 'dolphin-emu/dolphin', 'name': 'dolphin', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'disabled': False, 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'watchers': 7343, 'id': 11577304, 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'updated_at': '2021-05-14T12:22:19Z', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'private': False, 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'owner': {'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'html_url': 'https://github.com/dolphin-emu', 'url': 'https://api.github.com/users/dolphin-emu', 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gravatar_id': '', 'login': 'dolphin-emu', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'site_admin': False, 'type': 'Organization', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'id': 5050316}, 'homepage': 'https://dolphin-emu.org/', 'default_branch': 'master', 'language': 'C++', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}'}}}
2021-05-14T16:46:32.698310	{'source': 'webserver', 'gh_type': 'pull_request_review', 'type': 'raw_gh_hook', 'raw': {'pull_request': {'locked': False, 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9441/comments', 'requested_reviewers': [{'organizations_url': 'https://api.github.com/users/BhaaLseN/orgs', 'repos_url': 'https://api.github.com/users/BhaaLseN/repos', 'html_url': 'https://github.com/BhaaLseN', 'url': 'https://api.github.com/users/BhaaLseN', 'node_id': 'MDQ6VXNlcjgyNjA1Mg==', 'avatar_url': 'https://avatars.githubusercontent.com/u/826052?v=4', 'followers_url': 'https://api.github.com/users/BhaaLseN/followers', 'received_events_url': 'https://api.github.com/users/BhaaLseN/received_events', 'events_url': 'https://api.github.com/users/BhaaLseN/events{/privacy}', 'gists_url': 'https://api.github.com/users/BhaaLseN/gists{/gist_id}', 'following_url': 'https://api.github.com/users/BhaaLseN/following{/other_user}', 'gravatar_id': '', 'login': 'BhaaLseN', 'subscriptions_url': 'https://api.github.com/users/BhaaLseN/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/BhaaLseN/starred{/owner}{/repo}', 'id': 826052}, {'organizations_url': 'https://api.github.com/users/MerryMage/orgs', 'repos_url': 'https://api.github.com/users/MerryMage/repos', 'html_url': 'https://github.com/MerryMage', 'url': 'https://api.github.com/users/MerryMage', 'node_id': 'MDQ6VXNlcjg2ODI4ODI=', 'avatar_url': 'https://avatars.githubusercontent.com/u/8682882?v=4', 'followers_url': 'https://api.github.com/users/MerryMage/followers', 'received_events_url': 'https://api.github.com/users/MerryMage/received_events', 'events_url': 'https://api.github.com/users/MerryMage/events{/privacy}', 'gists_url': 'https://api.github.com/users/MerryMage/gists{/gist_id}', 'following_url': 'https://api.github.com/users/MerryMage/following{/other_user}', 'gravatar_id': '', 'login': 'MerryMage', 'subscriptions_url': 'https://api.github.com/users/MerryMage/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/MerryMage/starred{/owner}{/repo}', 'id': 8682882}], 'requested_teams': [], 'created_at': '2021-01-13T16:10:58Z', 'review_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments{/number}', 'milestone': None, 'assignees': [], 'draft': False, 'title': 'Apple M1 Support for MacOS', 'base': {'sha': 'a6f6211ddeaa87fee5009df7ba467ef733fa3fcf', 'ref': 'master', 'user': {'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'html_url': 'https://github.com/dolphin-emu', 'url': 'https://api.github.com/users/dolphin-emu', 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gravatar_id': '', 'login': 'dolphin-emu', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'site_admin': False, 'type': 'Organization', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'id': 5050316}, 'label': 'dolphin-emu:master', 'repo': {'html_url': 'https://github.com/dolphin-emu/dolphin', 'open_issues': 200, 'size': 408403, 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'stargazers_count': 7343, 'pushed_at': '2021-05-14T16:38:39Z', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'forks_count': 1718, 'watchers_count': 7343, 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'has_pages': False, 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'archived': False, 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'has_wiki': True, 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'allow_squash_merge': False, 'delete_branch_on_merge': True, 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'has_issues': False, 'open_issues_count': 200, 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'forks': 1718, 'license': {'node_id': 'MDc6TGljZW5zZTg=', 'key': 'gpl-2.0', 'name': 'GNU General Public License v2.0', 'spdx_id': 'GPL-2.0', 'url': 'https://api.github.com/licenses/gpl-2.0'}, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'mirror_url': None, 'has_downloads': True, 'fork': False, 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'has_projects': False, 'created_at': '2013-07-22T09:07:57Z', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'full_name': 'dolphin-emu/dolphin', 'name': 'dolphin', 'allow_merge_commit': True, 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'disabled': False, 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'watchers': 7343, 'id': 11577304, 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'updated_at': '2021-05-14T12:22:19Z', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'private': False, 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'owner': {'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'html_url': 'https://github.com/dolphin-emu', 'url': 'https://api.github.com/users/dolphin-emu', 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gravatar_id': '', 'login': 'dolphin-emu', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'site_admin': False, 'type': 'Organization', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'id': 5050316}, 'homepage': 'https://dolphin-emu.org/', 'default_branch': 'master', 'language': 'C++', 'allow_rebase_merge': False, 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}'}}, 'labels': [], 'updated_at': '2021-05-14T16:46:31Z', 'body': 'This pull request adds support for compiling Dolphin for ARM on MacOS so that it can\r\nrun natively on the M1 processors without running through Rosseta2 emulation\r\nproviding a 30-50% performance speedup and less hitches from Rosseta2.\r\n\r\nIt consists of several key changes:\r\n\r\n- Adding support for W^X allocation(MAP_JIT) for the ARM JIT\r\n- Adding the machine context and config info to identify the M1 processor\r\n- Additions to the build system and docs to support building universal binaries\r\n- Adding code signing entitlements to access the MAP_JIT functionality\r\n- Updating the MoltenVK libvulkan.dylib to a newer version with M1 support\r\n\r\nThanks everyone on IRC for the help in making this change!', 'number': 9441, 'author_association': 'CONTRIBUTOR', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/7abab678ffb6db49f74b82c03efe09706e8ea3d1', 'id': 554297744, 'state': 'open', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/9441.diff', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9441', 'head': {'sha': '7abab678ffb6db49f74b82c03efe09706e8ea3d1', 'ref': 'master', 'user': {'organizations_url': 'https://api.github.com/users/skylersaleh/orgs', 'repos_url': 'https://api.github.com/users/skylersaleh/repos', 'html_url': 'https://github.com/skylersaleh', 'url': 'https://api.github.com/users/skylersaleh', 'node_id': 'MDQ6VXNlcjcxMTgyOTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7118296?v=4', 'followers_url': 'https://api.github.com/users/skylersaleh/followers', 'received_events_url': 'https://api.github.com/users/skylersaleh/received_events', 'events_url': 'https://api.github.com/users/skylersaleh/events{/privacy}', 'gists_url': 'https://api.github.com/users/skylersaleh/gists{/gist_id}', 'following_url': 'https://api.github.com/users/skylersaleh/following{/other_user}', 'gravatar_id': '', 'login': 'skylersaleh', 'subscriptions_url': 'https://api.github.com/users/skylersaleh/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/skylersaleh/starred{/owner}{/repo}', 'id': 7118296}, 'label': 'skylersaleh:master', 'repo': {'html_url': 'https://github.com/skylersaleh/dolphin', 'open_issues': 0, 'size': 377035, 'assignees_url': 'https://api.github.com/repos/skylersaleh/dolphin/assignees{/user}', 'blobs_url': 'https://api.github.com/repos/skylersaleh/dolphin/git/blobs{/sha}', 'pulls_url': 'https://api.github.com/repos/skylersaleh/dolphin/pulls{/number}', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'stargazers_count': 11, 'pushed_at': '2021-05-14T16:38:35Z', 'releases_url': 'https://api.github.com/repos/skylersaleh/dolphin/releases{/id}', 'collaborators_url': 'https://api.github.com/repos/skylersaleh/dolphin/collaborators{/collaborator}', 'stargazers_url': 'https://api.github.com/repos/skylersaleh/dolphin/stargazers', 'events_url': 'https://api.github.com/repos/skylersaleh/dolphin/events', 'compare_url': 'https://api.github.com/repos/skylersaleh/dolphin/compare/{base}...{head}', 'forks_count': 2, 'watchers_count': 11, 'labels_url': 'https://api.github.com/repos/skylersaleh/dolphin/labels{/name}', 'has_pages': False, 'git_url': 'git://github.com/skylersaleh/dolphin.git', 'trees_url': 'https://api.github.com/repos/skylersaleh/dolphin/git/trees{/sha}', 'languages_url': 'https://api.github.com/repos/skylersaleh/dolphin/languages', 'archived': False, 'archive_url': 'https://api.github.com/repos/skylersaleh/dolphin/{archive_format}{/ref}', 'comments_url': 'https://api.github.com/repos/skylersaleh/dolphin/comments{/number}', 'contributors_url': 'https://api.github.com/repos/skylersaleh/dolphin/contributors', 'issue_events_url': 'https://api.github.com/repos/skylersaleh/dolphin/issues/events{/number}', 'git_refs_url': 'https://api.github.com/repos/skylersaleh/dolphin/git/refs{/sha}', 'url': 'https://api.github.com/repos/skylersaleh/dolphin', 'teams_url': 'https://api.github.com/repos/skylersaleh/dolphin/teams', 'forks_url': 'https://api.github.com/repos/skylersaleh/dolphin/forks', 'has_wiki': True, 'issue_comment_url': 'https://api.github.com/repos/skylersaleh/dolphin/issues/comments{/number}', 'allow_squash_merge': True, 'delete_branch_on_merge': False, 'branches_url': 'https://api.github.com/repos/skylersaleh/dolphin/branches{/branch}', 'commits_url': 'https://api.github.com/repos/skylersaleh/dolphin/commits{/sha}', 'has_issues': False, 'open_issues_count': 0, 'notifications_url': 'https://api.github.com/repos/skylersaleh/dolphin/notifications{?since,all,participating}', 'forks': 2, 'license': {'node_id': 'MDc6TGljZW5zZTg=', 'key': 'gpl-2.0', 'name': 'GNU General Public License v2.0', 'spdx_id': 'GPL-2.0', 'url': 'https://api.github.com/licenses/gpl-2.0'}, 'node_id': 'MDEwOlJlcG9zaXRvcnkzMjg2MDE3NjQ=', 'subscription_url': 'https://api.github.com/repos/skylersaleh/dolphin/subscription', 'mirror_url': None, 'has_downloads': True, 'fork': True, 'ssh_url': 'git@github.com:skylersaleh/dolphin.git', 'has_projects': True, 'created_at': '2021-01-11T08:49:45Z', 'subscribers_url': 'https://api.github.com/repos/skylersaleh/dolphin/subscribers', 'git_commits_url': 'https://api.github.com/repos/skylersaleh/dolphin/git/commits{/sha}', 'full_name': 'skylersaleh/dolphin', 'name': 'dolphin', 'allow_merge_commit': True, 'downloads_url': 'https://api.github.com/repos/skylersaleh/dolphin/downloads', 'disabled': False, 'statuses_url': 'https://api.github.com/repos/skylersaleh/dolphin/statuses/{sha}', 'watchers': 11, 'id': 328601764, 'issues_url': 'https://api.github.com/repos/skylersaleh/dolphin/issues{/number}', 'updated_at': '2021-05-14T16:38:41Z', 'hooks_url': 'https://api.github.com/repos/skylersaleh/dolphin/hooks', 'keys_url': 'https://api.github.com/repos/skylersaleh/dolphin/keys{/key_id}', 'svn_url': 'https://github.com/skylersaleh/dolphin', 'deployments_url': 'https://api.github.com/repos/skylersaleh/dolphin/deployments', 'git_tags_url': 'https://api.github.com/repos/skylersaleh/dolphin/git/tags{/sha}', 'tags_url': 'https://api.github.com/repos/skylersaleh/dolphin/tags', 'milestones_url': 'https://api.github.com/repos/skylersaleh/dolphin/milestones{/number}', 'private': False, 'merges_url': 'https://api.github.com/repos/skylersaleh/dolphin/merges', 'clone_url': 'https://github.com/skylersaleh/dolphin.git', 'owner': {'organizations_url': 'https://api.github.com/users/skylersaleh/orgs', 'repos_url': 'https://api.github.com/users/skylersaleh/repos', 'html_url': 'https://github.com/skylersaleh', 'url': 'https://api.github.com/users/skylersaleh', 'node_id': 'MDQ6VXNlcjcxMTgyOTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7118296?v=4', 'followers_url': 'https://api.github.com/users/skylersaleh/followers', 'received_events_url': 'https://api.github.com/users/skylersaleh/received_events', 'events_url': 'https://api.github.com/users/skylersaleh/events{/privacy}', 'gists_url': 'https://api.github.com/users/skylersaleh/gists{/gist_id}', 'following_url': 'https://api.github.com/users/skylersaleh/following{/other_user}', 'gravatar_id': '', 'login': 'skylersaleh', 'subscriptions_url': 'https://api.github.com/users/skylersaleh/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/skylersaleh/starred{/owner}{/repo}', 'id': 7118296}, 'homepage': 'https://dolphin-emu.org/', 'default_branch': 'master', 'language': 'C++', 'allow_rebase_merge': True, 'contents_url': 'https://api.github.com/repos/skylersaleh/dolphin/contents/{+path}'}}, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441', 'review_comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441/comments', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/9441.patch', '_links': {'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/9441'}, 'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441'}, 'issue': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9441'}, 'commits': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441/commits'}, 'comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9441/comments'}, 'review_comment': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments{/number}'}, 'review_comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441/comments'}, 'statuses': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/7abab678ffb6db49f74b82c03efe09706e8ea3d1'}}, 'closed_at': None, 'active_lock_reason': None, 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441/commits', 'assignee': None, 'auto_merge': None, 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9441', 'merge_commit_sha': 'b5f19a781c3060cbe5f3bafd5be1f9777bcff7ed', 'node_id': 'MDExOlB1bGxSZXF1ZXN0NTU0Mjk3NzQ0', 'user': {'organizations_url': 'https://api.github.com/users/skylersaleh/orgs', 'repos_url': 'https://api.github.com/users/skylersaleh/repos', 'html_url': 'https://github.com/skylersaleh', 'url': 'https://api.github.com/users/skylersaleh', 'node_id': 'MDQ6VXNlcjcxMTgyOTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7118296?v=4', 'followers_url': 'https://api.github.com/users/skylersaleh/followers', 'received_events_url': 'https://api.github.com/users/skylersaleh/received_events', 'events_url': 'https://api.github.com/users/skylersaleh/events{/privacy}', 'gists_url': 'https://api.github.com/users/skylersaleh/gists{/gist_id}', 'following_url': 'https://api.github.com/users/skylersaleh/following{/other_user}', 'gravatar_id': '', 'login': 'skylersaleh', 'subscriptions_url': 'https://api.github.com/users/skylersaleh/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/skylersaleh/starred{/owner}{/repo}', 'id': 7118296}, 'merged_at': None}, 'review': {'state': 'commented', 'commit_id': '7abab678ffb6db49f74b82c03efe09706e8ea3d1', 'body': None, '_links': {'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/9441#pullrequestreview-660021020'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441'}}, 'submitted_at': '2021-05-14T16:46:31Z', 'author_association': 'CONTRIBUTOR', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9441#pullrequestreview-660021020', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441', 'user': {'organizations_url': 'https://api.github.com/users/skylersaleh/orgs', 'repos_url': 'https://api.github.com/users/skylersaleh/repos', 'html_url': 'https://github.com/skylersaleh', 'url': 'https://api.github.com/users/skylersaleh', 'node_id': 'MDQ6VXNlcjcxMTgyOTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7118296?v=4', 'followers_url': 'https://api.github.com/users/skylersaleh/followers', 'received_events_url': 'https://api.github.com/users/skylersaleh/received_events', 'events_url': 'https://api.github.com/users/skylersaleh/events{/privacy}', 'gists_url': 'https://api.github.com/users/skylersaleh/gists{/gist_id}', 'following_url': 'https://api.github.com/users/skylersaleh/following{/other_user}', 'gravatar_id': '', 'login': 'skylersaleh', 'subscriptions_url': 'https://api.github.com/users/skylersaleh/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/skylersaleh/starred{/owner}{/repo}', 'id': 7118296}, 'node_id': 'MDE3OlB1bGxSZXF1ZXN0UmV2aWV3NjYwMDIxMDIw', 'id': 660021020}, 'organization': {'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': '', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'login': 'dolphin-emu', 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'id': 5050316}, 'sender': {'organizations_url': 'https://api.github.com/users/skylersaleh/orgs', 'repos_url': 'https://api.github.com/users/skylersaleh/repos', 'html_url': 'https://github.com/skylersaleh', 'url': 'https://api.github.com/users/skylersaleh', 'node_id': 'MDQ6VXNlcjcxMTgyOTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7118296?v=4', 'followers_url': 'https://api.github.com/users/skylersaleh/followers', 'received_events_url': 'https://api.github.com/users/skylersaleh/received_events', 'events_url': 'https://api.github.com/users/skylersaleh/events{/privacy}', 'gists_url': 'https://api.github.com/users/skylersaleh/gists{/gist_id}', 'following_url': 'https://api.github.com/users/skylersaleh/following{/other_user}', 'gravatar_id': '', 'login': 'skylersaleh', 'subscriptions_url': 'https://api.github.com/users/skylersaleh/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/skylersaleh/starred{/owner}{/repo}', 'id': 7118296}, 'action': 'submitted', 'repository': {'html_url': 'https://github.com/dolphin-emu/dolphin', 'open_issues': 200, 'size': 408403, 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'stargazers_count': 7343, 'pushed_at': '2021-05-14T16:38:39Z', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'forks_count': 1718, 'watchers_count': 7343, 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'has_pages': False, 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'archived': False, 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'has_wiki': True, 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'has_issues': False, 'open_issues_count': 200, 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'forks': 1718, 'license': {'node_id': 'MDc6TGljZW5zZTg=', 'key': 'gpl-2.0', 'name': 'GNU General Public License v2.0', 'spdx_id': 'GPL-2.0', 'url': 'https://api.github.com/licenses/gpl-2.0'}, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'mirror_url': None, 'has_downloads': True, 'fork': False, 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'has_projects': False, 'created_at': '2013-07-22T09:07:57Z', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'full_name': 'dolphin-emu/dolphin', 'name': 'dolphin', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'disabled': False, 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'watchers': 7343, 'id': 11577304, 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'updated_at': '2021-05-14T12:22:19Z', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'private': False, 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'owner': {'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'html_url': 'https://github.com/dolphin-emu', 'url': 'https://api.github.com/users/dolphin-emu', 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gravatar_id': '', 'login': 'dolphin-emu', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'site_admin': False, 'type': 'Organization', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'id': 5050316}, 'homepage': 'https://dolphin-emu.org/', 'default_branch': 'master', 'language': 'C++', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}'}}}
2021-05-14T16:38:38.913064	{'source': 'webserver', 'gh_type': 'pull_request', 'type': 'raw_gh_hook', 'raw': {'pull_request': {'additions': 557, 'requested_teams': [], 'created_at': '2021-01-13T16:10:58Z', 'review_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments{/number}', '_links': {'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/9441'}, 'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441'}, 'issue': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9441'}, 'commits': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441/commits'}, 'comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9441/comments'}, 'review_comment': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments{/number}'}, 'review_comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441/comments'}, 'statuses': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/7abab678ffb6db49f74b82c03efe09706e8ea3d1'}}, 'number': 9441, 'title': 'Apple M1 Support for MacOS', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441/commits', 'merged': False, 'author_association': 'CONTRIBUTOR', 'rebaseable': None, 'comments': 121, 'state': 'open', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441', 'review_comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441/comments', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/9441.patch', 'head': {'sha': '7abab678ffb6db49f74b82c03efe09706e8ea3d1', 'ref': 'master', 'user': {'organizations_url': 'https://api.github.com/users/skylersaleh/orgs', 'repos_url': 'https://api.github.com/users/skylersaleh/repos', 'html_url': 'https://github.com/skylersaleh', 'url': 'https://api.github.com/users/skylersaleh', 'node_id': 'MDQ6VXNlcjcxMTgyOTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7118296?v=4', 'followers_url': 'https://api.github.com/users/skylersaleh/followers', 'received_events_url': 'https://api.github.com/users/skylersaleh/received_events', 'events_url': 'https://api.github.com/users/skylersaleh/events{/privacy}', 'gists_url': 'https://api.github.com/users/skylersaleh/gists{/gist_id}', 'following_url': 'https://api.github.com/users/skylersaleh/following{/other_user}', 'gravatar_id': '', 'login': 'skylersaleh', 'subscriptions_url': 'https://api.github.com/users/skylersaleh/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/skylersaleh/starred{/owner}{/repo}', 'id': 7118296}, 'label': 'skylersaleh:master', 'repo': {'html_url': 'https://github.com/skylersaleh/dolphin', 'open_issues': 0, 'size': 377035, 'assignees_url': 'https://api.github.com/repos/skylersaleh/dolphin/assignees{/user}', 'blobs_url': 'https://api.github.com/repos/skylersaleh/dolphin/git/blobs{/sha}', 'pulls_url': 'https://api.github.com/repos/skylersaleh/dolphin/pulls{/number}', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'stargazers_count': 11, 'pushed_at': '2021-05-14T16:38:35Z', 'releases_url': 'https://api.github.com/repos/skylersaleh/dolphin/releases{/id}', 'collaborators_url': 'https://api.github.com/repos/skylersaleh/dolphin/collaborators{/collaborator}', 'stargazers_url': 'https://api.github.com/repos/skylersaleh/dolphin/stargazers', 'events_url': 'https://api.github.com/repos/skylersaleh/dolphin/events', 'compare_url': 'https://api.github.com/repos/skylersaleh/dolphin/compare/{base}...{head}', 'forks_count': 2, 'watchers_count': 11, 'labels_url': 'https://api.github.com/repos/skylersaleh/dolphin/labels{/name}', 'has_pages': False, 'git_url': 'git://github.com/skylersaleh/dolphin.git', 'trees_url': 'https://api.github.com/repos/skylersaleh/dolphin/git/trees{/sha}', 'languages_url': 'https://api.github.com/repos/skylersaleh/dolphin/languages', 'archived': False, 'archive_url': 'https://api.github.com/repos/skylersaleh/dolphin/{archive_format}{/ref}', 'comments_url': 'https://api.github.com/repos/skylersaleh/dolphin/comments{/number}', 'contributors_url': 'https://api.github.com/repos/skylersaleh/dolphin/contributors', 'issue_events_url': 'https://api.github.com/repos/skylersaleh/dolphin/issues/events{/number}', 'git_refs_url': 'https://api.github.com/repos/skylersaleh/dolphin/git/refs{/sha}', 'url': 'https://api.github.com/repos/skylersaleh/dolphin', 'teams_url': 'https://api.github.com/repos/skylersaleh/dolphin/teams', 'forks_url': 'https://api.github.com/repos/skylersaleh/dolphin/forks', 'has_wiki': True, 'issue_comment_url': 'https://api.github.com/repos/skylersaleh/dolphin/issues/comments{/number}', 'allow_squash_merge': True, 'delete_branch_on_merge': False, 'branches_url': 'https://api.github.com/repos/skylersaleh/dolphin/branches{/branch}', 'commits_url': 'https://api.github.com/repos/skylersaleh/dolphin/commits{/sha}', 'has_issues': False, 'open_issues_count': 0, 'notifications_url': 'https://api.github.com/repos/skylersaleh/dolphin/notifications{?since,all,participating}', 'forks': 2, 'license': {'node_id': 'MDc6TGljZW5zZTg=', 'key': 'gpl-2.0', 'name': 'GNU General Public License v2.0', 'spdx_id': 'GPL-2.0', 'url': 'https://api.github.com/licenses/gpl-2.0'}, 'node_id': 'MDEwOlJlcG9zaXRvcnkzMjg2MDE3NjQ=', 'subscription_url': 'https://api.github.com/repos/skylersaleh/dolphin/subscription', 'mirror_url': None, 'has_downloads': True, 'fork': True, 'ssh_url': 'git@github.com:skylersaleh/dolphin.git', 'has_projects': True, 'created_at': '2021-01-11T08:49:45Z', 'subscribers_url': 'https://api.github.com/repos/skylersaleh/dolphin/subscribers', 'git_commits_url': 'https://api.github.com/repos/skylersaleh/dolphin/git/commits{/sha}', 'full_name': 'skylersaleh/dolphin', 'name': 'dolphin', 'allow_merge_commit': True, 'downloads_url': 'https://api.github.com/repos/skylersaleh/dolphin/downloads', 'disabled': False, 'statuses_url': 'https://api.github.com/repos/skylersaleh/dolphin/statuses/{sha}', 'watchers': 11, 'id': 328601764, 'issues_url': 'https://api.github.com/repos/skylersaleh/dolphin/issues{/number}', 'updated_at': '2021-05-12T20:14:18Z', 'hooks_url': 'https://api.github.com/repos/skylersaleh/dolphin/hooks', 'keys_url': 'https://api.github.com/repos/skylersaleh/dolphin/keys{/key_id}', 'svn_url': 'https://github.com/skylersaleh/dolphin', 'deployments_url': 'https://api.github.com/repos/skylersaleh/dolphin/deployments', 'git_tags_url': 'https://api.github.com/repos/skylersaleh/dolphin/git/tags{/sha}', 'tags_url': 'https://api.github.com/repos/skylersaleh/dolphin/tags', 'milestones_url': 'https://api.github.com/repos/skylersaleh/dolphin/milestones{/number}', 'private': False, 'merges_url': 'https://api.github.com/repos/skylersaleh/dolphin/merges', 'clone_url': 'https://github.com/skylersaleh/dolphin.git', 'owner': {'organizations_url': 'https://api.github.com/users/skylersaleh/orgs', 'repos_url': 'https://api.github.com/users/skylersaleh/repos', 'html_url': 'https://github.com/skylersaleh', 'url': 'https://api.github.com/users/skylersaleh', 'node_id': 'MDQ6VXNlcjcxMTgyOTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7118296?v=4', 'followers_url': 'https://api.github.com/users/skylersaleh/followers', 'received_events_url': 'https://api.github.com/users/skylersaleh/received_events', 'events_url': 'https://api.github.com/users/skylersaleh/events{/privacy}', 'gists_url': 'https://api.github.com/users/skylersaleh/gists{/gist_id}', 'following_url': 'https://api.github.com/users/skylersaleh/following{/other_user}', 'gravatar_id': '', 'login': 'skylersaleh', 'subscriptions_url': 'https://api.github.com/users/skylersaleh/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/skylersaleh/starred{/owner}{/repo}', 'id': 7118296}, 'homepage': 'https://dolphin-emu.org/', 'default_branch': 'master', 'language': 'C++', 'allow_rebase_merge': True, 'contents_url': 'https://api.github.com/repos/skylersaleh/dolphin/contents/{+path}'}}, 'deletions': 37, 'merged_by': None, 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9441', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/9441.diff', 'node_id': 'MDExOlB1bGxSZXF1ZXN0NTU0Mjk3NzQ0', 'user': {'organizations_url': 'https://api.github.com/users/skylersaleh/orgs', 'repos_url': 'https://api.github.com/users/skylersaleh/repos', 'html_url': 'https://github.com/skylersaleh', 'url': 'https://api.github.com/users/skylersaleh', 'node_id': 'MDQ6VXNlcjcxMTgyOTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7118296?v=4', 'followers_url': 'https://api.github.com/users/skylersaleh/followers', 'received_events_url': 'https://api.github.com/users/skylersaleh/received_events', 'events_url': 'https://api.github.com/users/skylersaleh/events{/privacy}', 'gists_url': 'https://api.github.com/users/skylersaleh/gists{/gist_id}', 'following_url': 'https://api.github.com/users/skylersaleh/following{/other_user}', 'gravatar_id': '', 'login': 'skylersaleh', 'subscriptions_url': 'https://api.github.com/users/skylersaleh/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/skylersaleh/starred{/owner}{/repo}', 'id': 7118296}, 'assignee': None, 'locked': False, 'mergeable': None, 'requested_reviewers': [{'organizations_url': 'https://api.github.com/users/BhaaLseN/orgs', 'repos_url': 'https://api.github.com/users/BhaaLseN/repos', 'html_url': 'https://github.com/BhaaLseN', 'url': 'https://api.github.com/users/BhaaLseN', 'node_id': 'MDQ6VXNlcjgyNjA1Mg==', 'avatar_url': 'https://avatars.githubusercontent.com/u/826052?v=4', 'followers_url': 'https://api.github.com/users/BhaaLseN/followers', 'received_events_url': 'https://api.github.com/users/BhaaLseN/received_events', 'events_url': 'https://api.github.com/users/BhaaLseN/events{/privacy}', 'gists_url': 'https://api.github.com/users/BhaaLseN/gists{/gist_id}', 'following_url': 'https://api.github.com/users/BhaaLseN/following{/other_user}', 'gravatar_id': '', 'login': 'BhaaLseN', 'subscriptions_url': 'https://api.github.com/users/BhaaLseN/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/BhaaLseN/starred{/owner}{/repo}', 'id': 826052}, {'organizations_url': 'https://api.github.com/users/MerryMage/orgs', 'repos_url': 'https://api.github.com/users/MerryMage/repos', 'html_url': 'https://github.com/MerryMage', 'url': 'https://api.github.com/users/MerryMage', 'node_id': 'MDQ6VXNlcjg2ODI4ODI=', 'avatar_url': 'https://avatars.githubusercontent.com/u/8682882?v=4', 'followers_url': 'https://api.github.com/users/MerryMage/followers', 'received_events_url': 'https://api.github.com/users/MerryMage/received_events', 'events_url': 'https://api.github.com/users/MerryMage/events{/privacy}', 'gists_url': 'https://api.github.com/users/MerryMage/gists{/gist_id}', 'following_url': 'https://api.github.com/users/MerryMage/following{/other_user}', 'gravatar_id': '', 'login': 'MerryMage', 'subscriptions_url': 'https://api.github.com/users/MerryMage/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/MerryMage/starred{/owner}{/repo}', 'id': 8682882}], 'commits': 19, 'milestone': None, 'assignees': [], 'changed_files': 21, 'labels': [], 'base': {'sha': 'a6f6211ddeaa87fee5009df7ba467ef733fa3fcf', 'ref': 'master', 'user': {'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'html_url': 'https://github.com/dolphin-emu', 'url': 'https://api.github.com/users/dolphin-emu', 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gravatar_id': '', 'login': 'dolphin-emu', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'site_admin': False, 'type': 'Organization', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'id': 5050316}, 'label': 'dolphin-emu:master', 'repo': {'html_url': 'https://github.com/dolphin-emu/dolphin', 'open_issues': 200, 'size': 408403, 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'stargazers_count': 7343, 'pushed_at': '2021-05-14T14:46:17Z', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'forks_count': 1718, 'watchers_count': 7343, 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'has_pages': False, 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'archived': False, 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'has_wiki': True, 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'allow_squash_merge': False, 'delete_branch_on_merge': True, 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'has_issues': False, 'open_issues_count': 200, 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'forks': 1718, 'license': {'node_id': 'MDc6TGljZW5zZTg=', 'key': 'gpl-2.0', 'name': 'GNU General Public License v2.0', 'spdx_id': 'GPL-2.0', 'url': 'https://api.github.com/licenses/gpl-2.0'}, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'mirror_url': None, 'has_downloads': True, 'fork': False, 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'has_projects': False, 'created_at': '2013-07-22T09:07:57Z', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'full_name': 'dolphin-emu/dolphin', 'name': 'dolphin', 'allow_merge_commit': True, 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'disabled': False, 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'watchers': 7343, 'id': 11577304, 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'updated_at': '2021-05-14T12:22:19Z', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'private': False, 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'owner': {'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'html_url': 'https://github.com/dolphin-emu', 'url': 'https://api.github.com/users/dolphin-emu', 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gravatar_id': '', 'login': 'dolphin-emu', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'site_admin': False, 'type': 'Organization', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'id': 5050316}, 'homepage': 'https://dolphin-emu.org/', 'default_branch': 'master', 'language': 'C++', 'allow_rebase_merge': False, 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}'}}, 'body': 'This pull request adds support for compiling Dolphin for ARM on MacOS so that it can\r\nrun natively on the M1 processors without running through Rosseta2 emulation\r\nproviding a 30-50% performance speedup and less hitches from Rosseta2.\r\n\r\nIt consists of several key changes:\r\n\r\n- Adding support for W^X allocation(MAP_JIT) for the ARM JIT\r\n- Adding the machine context and config info to identify the M1 processor\r\n- Additions to the build system and docs to support building universal binaries\r\n- Adding code signing entitlements to access the MAP_JIT functionality\r\n- Updating the MoltenVK libvulkan.dylib to a newer version with M1 support\r\n\r\nThanks everyone on IRC for the help in making this change!', 'draft': False, 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/7abab678ffb6db49f74b82c03efe09706e8ea3d1', 'id': 554297744, 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9441/comments', 'updated_at': '2021-05-14T16:38:37Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9441', 'merge_commit_sha': '367c8cedcfa0b4867a21e8817f7c7896947da5cf', 'closed_at': None, 'mergeable_state': 'unknown', 'maintainer_can_modify': True, 'active_lock_reason': None, 'auto_merge': None, 'review_comments': 129, 'merged_at': None}, 'after': '7abab678ffb6db49f74b82c03efe09706e8ea3d1', 'before': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'number': 9441, 'organization': {'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': '', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'login': 'dolphin-emu', 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'id': 5050316}, 'sender': {'organizations_url': 'https://api.github.com/users/skylersaleh/orgs', 'repos_url': 'https://api.github.com/users/skylersaleh/repos', 'html_url': 'https://github.com/skylersaleh', 'url': 'https://api.github.com/users/skylersaleh', 'node_id': 'MDQ6VXNlcjcxMTgyOTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7118296?v=4', 'followers_url': 'https://api.github.com/users/skylersaleh/followers', 'received_events_url': 'https://api.github.com/users/skylersaleh/received_events', 'events_url': 'https://api.github.com/users/skylersaleh/events{/privacy}', 'gists_url': 'https://api.github.com/users/skylersaleh/gists{/gist_id}', 'following_url': 'https://api.github.com/users/skylersaleh/following{/other_user}', 'gravatar_id': '', 'login': 'skylersaleh', 'subscriptions_url': 'https://api.github.com/users/skylersaleh/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/skylersaleh/starred{/owner}{/repo}', 'id': 7118296}, 'action': 'synchronize', 'repository': {'html_url': 'https://github.com/dolphin-emu/dolphin', 'open_issues': 200, 'size': 408403, 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'stargazers_count': 7343, 'pushed_at': '2021-05-14T14:46:17Z', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'forks_count': 1718, 'watchers_count': 7343, 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'has_pages': False, 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'archived': False, 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'has_wiki': True, 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'has_issues': False, 'open_issues_count': 200, 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'forks': 1718, 'license': {'node_id': 'MDc6TGljZW5zZTg=', 'key': 'gpl-2.0', 'name': 'GNU General Public License v2.0', 'spdx_id': 'GPL-2.0', 'url': 'https://api.github.com/licenses/gpl-2.0'}, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'mirror_url': None, 'has_downloads': True, 'fork': False, 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'has_projects': False, 'created_at': '2013-07-22T09:07:57Z', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'full_name': 'dolphin-emu/dolphin', 'name': 'dolphin', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'disabled': False, 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'watchers': 7343, 'id': 11577304, 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'updated_at': '2021-05-14T12:22:19Z', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'private': False, 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'owner': {'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'html_url': 'https://github.com/dolphin-emu', 'url': 'https://api.github.com/users/dolphin-emu', 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gravatar_id': '', 'login': 'dolphin-emu', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'site_admin': False, 'type': 'Organization', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'id': 5050316}, 'homepage': 'https://dolphin-emu.org/', 'default_branch': 'master', 'language': 'C++', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}'}}}
2021-05-14T16:36:43.860916	{'source': 'webserver', 'gh_type': 'pull_request_review_comment', 'type': 'raw_gh_hook', 'raw': {'pull_request': {'locked': False, 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9441/comments', 'requested_reviewers': [{'organizations_url': 'https://api.github.com/users/BhaaLseN/orgs', 'repos_url': 'https://api.github.com/users/BhaaLseN/repos', 'html_url': 'https://github.com/BhaaLseN', 'url': 'https://api.github.com/users/BhaaLseN', 'node_id': 'MDQ6VXNlcjgyNjA1Mg==', 'avatar_url': 'https://avatars.githubusercontent.com/u/826052?v=4', 'followers_url': 'https://api.github.com/users/BhaaLseN/followers', 'received_events_url': 'https://api.github.com/users/BhaaLseN/received_events', 'events_url': 'https://api.github.com/users/BhaaLseN/events{/privacy}', 'gists_url': 'https://api.github.com/users/BhaaLseN/gists{/gist_id}', 'following_url': 'https://api.github.com/users/BhaaLseN/following{/other_user}', 'gravatar_id': '', 'login': 'BhaaLseN', 'subscriptions_url': 'https://api.github.com/users/BhaaLseN/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/BhaaLseN/starred{/owner}{/repo}', 'id': 826052}, {'organizations_url': 'https://api.github.com/users/MerryMage/orgs', 'repos_url': 'https://api.github.com/users/MerryMage/repos', 'html_url': 'https://github.com/MerryMage', 'url': 'https://api.github.com/users/MerryMage', 'node_id': 'MDQ6VXNlcjg2ODI4ODI=', 'avatar_url': 'https://avatars.githubusercontent.com/u/8682882?v=4', 'followers_url': 'https://api.github.com/users/MerryMage/followers', 'received_events_url': 'https://api.github.com/users/MerryMage/received_events', 'events_url': 'https://api.github.com/users/MerryMage/events{/privacy}', 'gists_url': 'https://api.github.com/users/MerryMage/gists{/gist_id}', 'following_url': 'https://api.github.com/users/MerryMage/following{/other_user}', 'gravatar_id': '', 'login': 'MerryMage', 'subscriptions_url': 'https://api.github.com/users/MerryMage/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/MerryMage/starred{/owner}{/repo}', 'id': 8682882}], 'requested_teams': [], 'created_at': '2021-01-13T16:10:58Z', 'review_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments{/number}', 'milestone': None, 'assignees': [], 'draft': False, 'title': 'Apple M1 Support for MacOS', 'base': {'sha': 'a6f6211ddeaa87fee5009df7ba467ef733fa3fcf', 'ref': 'master', 'user': {'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'html_url': 'https://github.com/dolphin-emu', 'url': 'https://api.github.com/users/dolphin-emu', 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gravatar_id': '', 'login': 'dolphin-emu', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'site_admin': False, 'type': 'Organization', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'id': 5050316}, 'label': 'dolphin-emu:master', 'repo': {'html_url': 'https://github.com/dolphin-emu/dolphin', 'open_issues': 200, 'size': 408403, 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'stargazers_count': 7343, 'pushed_at': '2021-05-14T14:46:17Z', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'forks_count': 1718, 'watchers_count': 7343, 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'has_pages': False, 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'archived': False, 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'has_wiki': True, 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'allow_squash_merge': False, 'delete_branch_on_merge': True, 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'has_issues': False, 'open_issues_count': 200, 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'forks': 1718, 'license': {'node_id': 'MDc6TGljZW5zZTg=', 'key': 'gpl-2.0', 'name': 'GNU General Public License v2.0', 'spdx_id': 'GPL-2.0', 'url': 'https://api.github.com/licenses/gpl-2.0'}, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'mirror_url': None, 'has_downloads': True, 'fork': False, 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'has_projects': False, 'created_at': '2013-07-22T09:07:57Z', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'full_name': 'dolphin-emu/dolphin', 'name': 'dolphin', 'allow_merge_commit': True, 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'disabled': False, 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'watchers': 7343, 'id': 11577304, 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'updated_at': '2021-05-14T12:22:19Z', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'private': False, 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'owner': {'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'html_url': 'https://github.com/dolphin-emu', 'url': 'https://api.github.com/users/dolphin-emu', 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gravatar_id': '', 'login': 'dolphin-emu', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'site_admin': False, 'type': 'Organization', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'id': 5050316}, 'homepage': 'https://dolphin-emu.org/', 'default_branch': 'master', 'language': 'C++', 'allow_rebase_merge': False, 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}'}}, 'labels': [], 'updated_at': '2021-05-14T16:36:41Z', 'body': 'This pull request adds support for compiling Dolphin for ARM on MacOS so that it can\r\nrun natively on the M1 processors without running through Rosseta2 emulation\r\nproviding a 30-50% performance speedup and less hitches from Rosseta2.\r\n\r\nIt consists of several key changes:\r\n\r\n- Adding support for W^X allocation(MAP_JIT) for the ARM JIT\r\n- Adding the machine context and config info to identify the M1 processor\r\n- Additions to the build system and docs to support building universal binaries\r\n- Adding code signing entitlements to access the MAP_JIT functionality\r\n- Updating the MoltenVK libvulkan.dylib to a newer version with M1 support\r\n\r\nThanks everyone on IRC for the help in making this change!', 'number': 9441, 'author_association': 'CONTRIBUTOR', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'id': 554297744, 'state': 'open', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/9441.diff', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9441', 'head': {'sha': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'ref': 'master', 'user': {'organizations_url': 'https://api.github.com/users/skylersaleh/orgs', 'repos_url': 'https://api.github.com/users/skylersaleh/repos', 'html_url': 'https://github.com/skylersaleh', 'url': 'https://api.github.com/users/skylersaleh', 'node_id': 'MDQ6VXNlcjcxMTgyOTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7118296?v=4', 'followers_url': 'https://api.github.com/users/skylersaleh/followers', 'received_events_url': 'https://api.github.com/users/skylersaleh/received_events', 'events_url': 'https://api.github.com/users/skylersaleh/events{/privacy}', 'gists_url': 'https://api.github.com/users/skylersaleh/gists{/gist_id}', 'following_url': 'https://api.github.com/users/skylersaleh/following{/other_user}', 'gravatar_id': '', 'login': 'skylersaleh', 'subscriptions_url': 'https://api.github.com/users/skylersaleh/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/skylersaleh/starred{/owner}{/repo}', 'id': 7118296}, 'label': 'skylersaleh:master', 'repo': {'html_url': 'https://github.com/skylersaleh/dolphin', 'open_issues': 0, 'size': 377035, 'assignees_url': 'https://api.github.com/repos/skylersaleh/dolphin/assignees{/user}', 'blobs_url': 'https://api.github.com/repos/skylersaleh/dolphin/git/blobs{/sha}', 'pulls_url': 'https://api.github.com/repos/skylersaleh/dolphin/pulls{/number}', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'stargazers_count': 11, 'pushed_at': '2021-05-12T20:14:14Z', 'releases_url': 'https://api.github.com/repos/skylersaleh/dolphin/releases{/id}', 'collaborators_url': 'https://api.github.com/repos/skylersaleh/dolphin/collaborators{/collaborator}', 'stargazers_url': 'https://api.github.com/repos/skylersaleh/dolphin/stargazers', 'events_url': 'https://api.github.com/repos/skylersaleh/dolphin/events', 'compare_url': 'https://api.github.com/repos/skylersaleh/dolphin/compare/{base}...{head}', 'forks_count': 2, 'watchers_count': 11, 'labels_url': 'https://api.github.com/repos/skylersaleh/dolphin/labels{/name}', 'has_pages': False, 'git_url': 'git://github.com/skylersaleh/dolphin.git', 'trees_url': 'https://api.github.com/repos/skylersaleh/dolphin/git/trees{/sha}', 'languages_url': 'https://api.github.com/repos/skylersaleh/dolphin/languages', 'archived': False, 'archive_url': 'https://api.github.com/repos/skylersaleh/dolphin/{archive_format}{/ref}', 'comments_url': 'https://api.github.com/repos/skylersaleh/dolphin/comments{/number}', 'contributors_url': 'https://api.github.com/repos/skylersaleh/dolphin/contributors', 'issue_events_url': 'https://api.github.com/repos/skylersaleh/dolphin/issues/events{/number}', 'git_refs_url': 'https://api.github.com/repos/skylersaleh/dolphin/git/refs{/sha}', 'url': 'https://api.github.com/repos/skylersaleh/dolphin', 'teams_url': 'https://api.github.com/repos/skylersaleh/dolphin/teams', 'forks_url': 'https://api.github.com/repos/skylersaleh/dolphin/forks', 'has_wiki': True, 'issue_comment_url': 'https://api.github.com/repos/skylersaleh/dolphin/issues/comments{/number}', 'allow_squash_merge': True, 'delete_branch_on_merge': False, 'branches_url': 'https://api.github.com/repos/skylersaleh/dolphin/branches{/branch}', 'commits_url': 'https://api.github.com/repos/skylersaleh/dolphin/commits{/sha}', 'has_issues': False, 'open_issues_count': 0, 'notifications_url': 'https://api.github.com/repos/skylersaleh/dolphin/notifications{?since,all,participating}', 'forks': 2, 'license': {'node_id': 'MDc6TGljZW5zZTg=', 'key': 'gpl-2.0', 'name': 'GNU General Public License v2.0', 'spdx_id': 'GPL-2.0', 'url': 'https://api.github.com/licenses/gpl-2.0'}, 'node_id': 'MDEwOlJlcG9zaXRvcnkzMjg2MDE3NjQ=', 'subscription_url': 'https://api.github.com/repos/skylersaleh/dolphin/subscription', 'mirror_url': None, 'has_downloads': True, 'fork': True, 'ssh_url': 'git@github.com:skylersaleh/dolphin.git', 'has_projects': True, 'created_at': '2021-01-11T08:49:45Z', 'subscribers_url': 'https://api.github.com/repos/skylersaleh/dolphin/subscribers', 'git_commits_url': 'https://api.github.com/repos/skylersaleh/dolphin/git/commits{/sha}', 'full_name': 'skylersaleh/dolphin', 'name': 'dolphin', 'allow_merge_commit': True, 'downloads_url': 'https://api.github.com/repos/skylersaleh/dolphin/downloads', 'disabled': False, 'statuses_url': 'https://api.github.com/repos/skylersaleh/dolphin/statuses/{sha}', 'watchers': 11, 'id': 328601764, 'issues_url': 'https://api.github.com/repos/skylersaleh/dolphin/issues{/number}', 'updated_at': '2021-05-12T20:14:18Z', 'hooks_url': 'https://api.github.com/repos/skylersaleh/dolphin/hooks', 'keys_url': 'https://api.github.com/repos/skylersaleh/dolphin/keys{/key_id}', 'svn_url': 'https://github.com/skylersaleh/dolphin', 'deployments_url': 'https://api.github.com/repos/skylersaleh/dolphin/deployments', 'git_tags_url': 'https://api.github.com/repos/skylersaleh/dolphin/git/tags{/sha}', 'tags_url': 'https://api.github.com/repos/skylersaleh/dolphin/tags', 'milestones_url': 'https://api.github.com/repos/skylersaleh/dolphin/milestones{/number}', 'private': False, 'merges_url': 'https://api.github.com/repos/skylersaleh/dolphin/merges', 'clone_url': 'https://github.com/skylersaleh/dolphin.git', 'owner': {'organizations_url': 'https://api.github.com/users/skylersaleh/orgs', 'repos_url': 'https://api.github.com/users/skylersaleh/repos', 'html_url': 'https://github.com/skylersaleh', 'url': 'https://api.github.com/users/skylersaleh', 'node_id': 'MDQ6VXNlcjcxMTgyOTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7118296?v=4', 'followers_url': 'https://api.github.com/users/skylersaleh/followers', 'received_events_url': 'https://api.github.com/users/skylersaleh/received_events', 'events_url': 'https://api.github.com/users/skylersaleh/events{/privacy}', 'gists_url': 'https://api.github.com/users/skylersaleh/gists{/gist_id}', 'following_url': 'https://api.github.com/users/skylersaleh/following{/other_user}', 'gravatar_id': '', 'login': 'skylersaleh', 'subscriptions_url': 'https://api.github.com/users/skylersaleh/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/skylersaleh/starred{/owner}{/repo}', 'id': 7118296}, 'homepage': 'https://dolphin-emu.org/', 'default_branch': 'master', 'language': 'C++', 'allow_rebase_merge': True, 'contents_url': 'https://api.github.com/repos/skylersaleh/dolphin/contents/{+path}'}}, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441', 'review_comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441/comments', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/9441.patch', '_links': {'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/9441'}, 'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441'}, 'issue': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9441'}, 'commits': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441/commits'}, 'comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9441/comments'}, 'review_comment': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments{/number}'}, 'review_comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441/comments'}, 'statuses': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/c3a55d05e01ba0ed8ab1d55839fcce12669a840b'}}, 'closed_at': None, 'active_lock_reason': None, 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441/commits', 'assignee': None, 'auto_merge': None, 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9441', 'merge_commit_sha': '367c8cedcfa0b4867a21e8817f7c7896947da5cf', 'node_id': 'MDExOlB1bGxSZXF1ZXN0NTU0Mjk3NzQ0', 'user': {'organizations_url': 'https://api.github.com/users/skylersaleh/orgs', 'repos_url': 'https://api.github.com/users/skylersaleh/repos', 'html_url': 'https://github.com/skylersaleh', 'url': 'https://api.github.com/users/skylersaleh', 'node_id': 'MDQ6VXNlcjcxMTgyOTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7118296?v=4', 'followers_url': 'https://api.github.com/users/skylersaleh/followers', 'received_events_url': 'https://api.github.com/users/skylersaleh/received_events', 'events_url': 'https://api.github.com/users/skylersaleh/events{/privacy}', 'gists_url': 'https://api.github.com/users/skylersaleh/gists{/gist_id}', 'following_url': 'https://api.github.com/users/skylersaleh/following{/other_user}', 'gravatar_id': '', 'login': 'skylersaleh', 'subscriptions_url': 'https://api.github.com/users/skylersaleh/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/skylersaleh/starred{/owner}{/repo}', 'id': 7118296}, 'merged_at': None}, 'sender': {'organizations_url': 'https://api.github.com/users/skylersaleh/orgs', 'repos_url': 'https://api.github.com/users/skylersaleh/repos', 'html_url': 'https://github.com/skylersaleh', 'url': 'https://api.github.com/users/skylersaleh', 'node_id': 'MDQ6VXNlcjcxMTgyOTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7118296?v=4', 'followers_url': 'https://api.github.com/users/skylersaleh/followers', 'received_events_url': 'https://api.github.com/users/skylersaleh/received_events', 'events_url': 'https://api.github.com/users/skylersaleh/events{/privacy}', 'gists_url': 'https://api.github.com/users/skylersaleh/gists{/gist_id}', 'following_url': 'https://api.github.com/users/skylersaleh/following{/other_user}', 'gravatar_id': '', 'login': 'skylersaleh', 'subscriptions_url': 'https://api.github.com/users/skylersaleh/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/skylersaleh/starred{/owner}{/repo}', 'id': 7118296}, 'organization': {'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': '', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'login': 'dolphin-emu', 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'id': 5050316}, 'comment': {'side': 'RIGHT', 'position': 279, 'commit_id': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'start_side': None, 'created_at': '2021-05-14T16:36:41Z', 'original_commit_id': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'original_position': 279, 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441', 'original_start_line': None, 'path': 'BuildMacOSUniversalBinary.py', 'body': 'Okay', 'author_association': 'CONTRIBUTOR', 'start_line': None, 'id': 632654972, 'updated_at': '2021-05-14T16:36:41Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9441#discussion_r632654972', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/632654972', 'original_line': 279, '_links': {'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/9441#discussion_r632654972'}, 'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/632654972'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441'}}, 'in_reply_to_id': 632536292, 'pull_request_review_id': 660012970, 'line': 279, 'diff_hunk': '@@ -0,0 +1,299 @@\n+#!/usr/bin/env python3\n+"""\n+The current tooling supported in CMake, Homebrew, and QT5 are inufficient for\n+creating MacOSX universal binaries automatically for applications like Dolphin\n+which have more complicated build requirements (like different libraries, build\n+flags and source files for each target architecture).\n+\n+So instead, this script manages the configuration and compilation of distinct\n+builds and project files for each target architecture and then merges the two\n+binaries into a single universal binary.\n+\n+Running this script will:\n+1) Generate Xcode project files for the ARM build (if project files don\'t\n+   already exist)\n+2) Generate Xcode project files for the x64 build (if project files don\'t\n+   already exist)\n+3) Build the ARM project for the selected build_target\n+4) Build the x64 project for the selected build_target\n+5) Generates universal .app packages combining the ARM and x64 packages\n+6) Utilizes the lipo tool to combine the binary objects inside each of the\n+   packages into universal binaries\n+7) Code signs the final universal binaries using the specified\n+   codesign_identity\n+"""\n+\n+import argparse\n+import filecmp\n+import glob\n+import json\n+import multiprocessing\n+import os\n+import shutil\n+import subprocess\n+\n+# The config variables listed below are the defaults, but they can be\n+# overridden by command line arguments see parse_args(), or run:\n+# BuildMacOSUniversalBinary.py --help\n+DEFAULT_CONFIG = {\n+\n+    # Location of destination universal binary\n+    "dst_app": "universal/",\n+    # Build Target (dolphin-emu to just build the emulator and skip the tests)\n+    "build_target": "ALL_BUILD",\n+\n+    # Location for CMake to search for files(default is for homebrew\n+    "arm64_cmake_prefix":  \'/opt/homebrew\',\n+    "x86_64_cmake_prefix": \'/usr/local\',\n+\n+    # Locations to qt5 directories for arm and x64 libraries\n+    # The default values of these paths are taken from the default\n+    # paths used for homebrew\n+    "arm64_qt5_path":  \'/opt/homebrew/opt/qt5\',\n+    "x86_64_qt5_path": \'/usr/local/opt/qt5\',\n+\n+    # Identity to use for code signing. "-" indicates that the app will not\n+    # be cryptographically signed/notarized but will instead just use a\n+    # SHA checksum to verify the integrity of the app. This doesn\'t\n+    # protect against malicious actors, but it does protect against\n+    # running corrupted binaries and allows for access to the extended\n+    # permisions needed for ARM builds\n+    "codesign_identity":  \'-\',\n+    # Entitlements file to use for code signing\n+    "entitlements": "../Source/Core/DolphinQt/DolphinEmu.entitlements",\n+\n+    # Minimum macOS version for each architecture slice\n+    "arm64_mac_os_deployment_target":  "11.0.0",\n+    "x86_64_mac_os_deployment_target": "10.12.0",\n+\n+    # CMake Generator to use for building\n+    "generator": "Unix Makefiles",\n+    "build_type": "Release"\n+\n+}\n+\n+# Architectures to build for. This is explicity left out of the command line\n+# config options for several reasons:\n+# 1) Adding new architectures will generally require more code changes\n+# 2) Single architecture builds should utilize the normal generated cmake\n+#    project files rather than this wrapper script\n+\n+ARCHITECTURES = ["x86_64", "arm64"]\n+\n+\n+def parse_args(conf=DEFAULT_CONFIG):\n+    """\n+    Parses the command line arguments into a config dictionary.\n+    """\n+\n+    parser = argparse.ArgumentParser(\n+        formatter_class=argparse.ArgumentDefaultsHelpFormatter)\n+\n+    parser.add_argument(\n+        \'--target\',\n+        help=\'Build target in generated project files\',\n+        default=conf["build_target"],\n+        dest="build_target")\n+    parser.add_argument(\n+        \'-G\',\n+        help=\'CMake Generator to use for creating project files\',\n+        default=conf["generator"],\n+        dest="generator")\n+    parser.add_argument(\n+        \'--build_type\',\n+        help=\'CMake build type [Debug, Release, RelWithDebInfo, MinSizeRel]\',\n+        default=conf["build_type"],\n+        dest="build_type")\n+    parser.add_argument(\n+        \'--dst_app\',\n+        help=\'Directory where universal binary will be stored\',\n+        default=conf["dst_app"])\n+\n+    parser.add_argument(\n+        \'--entitlements\',\n+        help=\'Path to .entitlements file for code signing\',\n+        default=conf["entitlements"])\n+\n+    parser.add_argument(\n+        \'--codesign\',\n+        help=\'Code signing identity to use to sign the applications\',\n+        default=conf["codesign_identity"],\n+        dest="codesign_identity")\n+\n+    for arch in ARCHITECTURES:\n+        parser.add_argument(\n+             \'--{}_cmake_prefix\'.format(arch),\n+             help="Folder for cmake to search for packages".format(arch),\n+             default=conf[arch+"_cmake_prefix"],\n+             dest=arch+"_cmake_prefix")\n+\n+        parser.add_argument(\n+             \'--{}_qt5_path\'.format(arch),\n+             help="Install path for {} qt5 libraries".format(arch),\n+             default=conf[arch+"_qt5_path"])\n+\n+        parser.add_argument(\n+             \'--{}_mac_os_deployment_target\'.format(arch),\n+             help="Deployment architecture for {} slice".format(arch),\n+             default=conf[arch+"_mac_os_deployment_target"])\n+\n+    return vars(parser.parse_args())\n+\n+\n+def lipo(path0, path1, dst):\n+    if subprocess.call([\'lipo\', \'-create\', \'-output\', dst, path0, path1]) != 0:\n+        print("WARNING: {0} and {1} can not be lipo\'d, keeping {0}"\n+              .format(path0, path1))\n+\n+        shutil.copy(path0, dst)\n+\n+\n+def recursiveMergeBinaries(src0, src1, dst):\n+    """\n+    Merges two build trees together for different architectures into a single\n+    universal binary.\n+\n+    The rules for merging are:\n+\n+    1) Files that exist in either src tree are copied into the dst tree\n+    2) Files that exist in both trees and are identical are copied over\n+       unmodified\n+    3) Files that exist in both trees and are non-identical are lipo\'d\n+    4) Symlinks are created in the destination tree to mirror the hierarchy in\n+       the source trees\n+    """\n+\n+    for newpath0 in glob.glob(src0+"/*"):\n+        filename = os.path.basename(newpath0)\n+        newpath1 = os.path.join(src1, filename)\n+        new_dst_path = os.path.join(dst, filename)\n+        if os.path.islink(newpath0):\n+            # Symlinks will be fixed after files are resolved\n+            continue\n+\n+        if not os.path.exists(newpath1):\n+            shutil.copy(newpath0, new_dst_path)\n+            continue\n+\n+        if os.path.isdir(newpath1):\n+            os.mkdir(new_dst_path)\n+            recursiveMergeBinaries(newpath0, newpath1, new_dst_path)\n+            continue\n+\n+        if filecmp.cmp(newpath0, newpath1):\n+            shutil.copy(newpath0, new_dst_path)\n+        else:\n+            lipo(newpath0, newpath1, new_dst_path)\n+\n+    # Loop over files in src1 and copy missing things over to dst\n+    for newpath1 in glob.glob(src1+"/*"):\n+        filename = os.path.basename(newpath1)\n+        newpath0 = os.path.join(src0, filename)\n+        new_dst_path = os.path.join(dst, filename)\n+        if (not os.path.exists(newpath0)) and (not os.path.islink(newpath1)):\n+            if os.path.isdir(newpath1):\n+                shutil.copytree(newpath1, new_dst_path)\n+            else:\n+                shutil.copy(newpath1, new_dst_path)\n+\n+    # Fix up symlinks for path0\n+    for newpath0 in glob.glob(src0+"/*"):\n+        filename = os.path.basename(newpath0)\n+        new_dst_path = os.path.join(dst, filename)\n+        if os.path.islink(newpath0):\n+            relative_path = os.path.relpath(os.path.realpath(newpath0), src0)\n+            os.symlink(relative_path, new_dst_path)\n+    # Fix up symlinks for path1\n+    for newpath1 in glob.glob(src1+"/*"):\n+        filename = os.path.basename(newpath1)\n+        new_dst_path = os.path.join(dst, filename)\n+        newpath0 = os.path.join(src0, filename)\n+        if os.path.islink(newpath1) and not os.path.exists(newpath0):\n+            relative_path = os.path.relpath(os.path.realpath(newpath1), src1)\n+            os.symlink(relative_path, new_dst_path)\n+\n+\n+def build(config):\n+    """\n+    Builds the project with the parameters specified in config.\n+    """\n+\n+    print("Building config:")\n+    print(json.dumps(config, indent=4))\n+\n+    # Configure and build single architecture builds for each architecture\n+    for arch in ARCHITECTURES:\n+        if not os.path.exists(arch):\n+            os.mkdir(arch)\n+\n+        env = os.environ.copy()\n+        env[\'Qt5_DIR\'] = config[arch+"_qt5_path"]\n+        env[\'CMAKE_OSX_ARCHITECTURES\'] = arch\n+        env[\'CMAKE_PREFIX_PATH\'] = config[arch+"_cmake_prefix"]\n+\n+        # Add the other architecture\'s prefix path to the ignore path so that\n+        # CMake doesn\'t try to pick up the wrong architecture\'s libraries when\n+        # cross compiling.\n+        ignore_path = ""\n+        for a in ARCHITECTURES:\n+            if a != arch:\n+                ignore_path = config[a+"_cmake_prefix"]\n+\n+        subprocess.check_call([\n+                \'cmake\', \'../../\', \'-G\', config[\'generator\'],\n+                \'-DCMAKE_BUILD_TYPE=\' + config[\'build_type\'],\n+                # System name needs to be specified for CMake to use\n+                # the specified CMAKE_SYSTEM_PROCESSOR\n+                \'-DCMAKE_SYSTEM_NAME=Darwin\',\n+                \'-DCMAKE_PREFIX_PATH=\'+config[arch+\'_cmake_prefix\'],\n+                \'-DCMAKE_SYSTEM_PROCESSOR=\'+arch,\n+                \'-DCMAKE_IGNORE_PATH=\'+ignore_path,\n+                \'-DCMAKE_OSX_DEPLOYMENT_TARGET=\'\n+                + config[arch+"_mac_os_deployment_target"],\n+                \'-DMACOS_CODE_SIGNING_IDENTITY=\'\n+                + config[\'codesign_identity\'],\n+                \'-DMACOS_CODE_SIGNING_IDENTITY_UPDATER=\'\n+                + config[\'codesign_identity\'],\n+                \'-DMACOS_CODE_SIGNING="ON"\'\n+            ],\n+            env=env, cwd=arch)\n+\n+        threads = multiprocessing.cpu_count()\n+        subprocess.check_call([\'cmake\', \'--build\', \'.\',\n+                               \'--config\', config[\'build_type\'],\n+                               \'--parallel\', \'{}\'.format(threads)], cwd=arch)\n+\n+    dst_app = config["dst_app"]\n+\n+    if os.path.exists(dst_app):\n+        shutil.rmtree(dst_app)\n+\n+    # Create and codesign the universal binary/\n+    os.mkdir(dst_app)\n+\n+    # Source binary trees to merge together\n+    src_app0 = ARCHITECTURES[0]+"/Binaries/"\n+    src_app1 = ARCHITECTURES[1]+"/Binaries/"\n+\n+    recursiveMergeBinaries(src_app0, src_app1, dst_app)\n+    for path in glob.glob(dst_app+"/*"):', 'user': {'organizations_url': 'https://api.github.com/users/skylersaleh/orgs', 'repos_url': 'https://api.github.com/users/skylersaleh/repos', 'html_url': 'https://github.com/skylersaleh', 'url': 'https://api.github.com/users/skylersaleh', 'node_id': 'MDQ6VXNlcjcxMTgyOTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7118296?v=4', 'followers_url': 'https://api.github.com/users/skylersaleh/followers', 'received_events_url': 'https://api.github.com/users/skylersaleh/received_events', 'events_url': 'https://api.github.com/users/skylersaleh/events{/privacy}', 'gists_url': 'https://api.github.com/users/skylersaleh/gists{/gist_id}', 'following_url': 'https://api.github.com/users/skylersaleh/following{/other_user}', 'gravatar_id': '', 'login': 'skylersaleh', 'subscriptions_url': 'https://api.github.com/users/skylersaleh/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/skylersaleh/starred{/owner}{/repo}', 'id': 7118296}, 'node_id': 'MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDYzMjY1NDk3Mg=='}, 'action': 'created', 'repository': {'html_url': 'https://github.com/dolphin-emu/dolphin', 'open_issues': 200, 'size': 408403, 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'stargazers_count': 7343, 'pushed_at': '2021-05-14T14:46:17Z', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'forks_count': 1718, 'watchers_count': 7343, 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'has_pages': False, 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'archived': False, 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'has_wiki': True, 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'has_issues': False, 'open_issues_count': 200, 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'forks': 1718, 'license': {'node_id': 'MDc6TGljZW5zZTg=', 'key': 'gpl-2.0', 'name': 'GNU General Public License v2.0', 'spdx_id': 'GPL-2.0', 'url': 'https://api.github.com/licenses/gpl-2.0'}, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'mirror_url': None, 'has_downloads': True, 'fork': False, 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'has_projects': False, 'created_at': '2013-07-22T09:07:57Z', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'full_name': 'dolphin-emu/dolphin', 'name': 'dolphin', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'disabled': False, 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'watchers': 7343, 'id': 11577304, 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'updated_at': '2021-05-14T12:22:19Z', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'private': False, 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'owner': {'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'html_url': 'https://github.com/dolphin-emu', 'url': 'https://api.github.com/users/dolphin-emu', 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gravatar_id': '', 'login': 'dolphin-emu', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'site_admin': False, 'type': 'Organization', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'id': 5050316}, 'homepage': 'https://dolphin-emu.org/', 'default_branch': 'master', 'language': 'C++', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}'}}}
2021-05-14T16:36:43.859505	{'source': 'webserver', 'gh_type': 'pull_request_review', 'type': 'raw_gh_hook', 'raw': {'pull_request': {'locked': False, 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9441/comments', 'requested_reviewers': [{'organizations_url': 'https://api.github.com/users/BhaaLseN/orgs', 'repos_url': 'https://api.github.com/users/BhaaLseN/repos', 'html_url': 'https://github.com/BhaaLseN', 'url': 'https://api.github.com/users/BhaaLseN', 'node_id': 'MDQ6VXNlcjgyNjA1Mg==', 'avatar_url': 'https://avatars.githubusercontent.com/u/826052?v=4', 'followers_url': 'https://api.github.com/users/BhaaLseN/followers', 'received_events_url': 'https://api.github.com/users/BhaaLseN/received_events', 'events_url': 'https://api.github.com/users/BhaaLseN/events{/privacy}', 'gists_url': 'https://api.github.com/users/BhaaLseN/gists{/gist_id}', 'following_url': 'https://api.github.com/users/BhaaLseN/following{/other_user}', 'gravatar_id': '', 'login': 'BhaaLseN', 'subscriptions_url': 'https://api.github.com/users/BhaaLseN/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/BhaaLseN/starred{/owner}{/repo}', 'id': 826052}, {'organizations_url': 'https://api.github.com/users/MerryMage/orgs', 'repos_url': 'https://api.github.com/users/MerryMage/repos', 'html_url': 'https://github.com/MerryMage', 'url': 'https://api.github.com/users/MerryMage', 'node_id': 'MDQ6VXNlcjg2ODI4ODI=', 'avatar_url': 'https://avatars.githubusercontent.com/u/8682882?v=4', 'followers_url': 'https://api.github.com/users/MerryMage/followers', 'received_events_url': 'https://api.github.com/users/MerryMage/received_events', 'events_url': 'https://api.github.com/users/MerryMage/events{/privacy}', 'gists_url': 'https://api.github.com/users/MerryMage/gists{/gist_id}', 'following_url': 'https://api.github.com/users/MerryMage/following{/other_user}', 'gravatar_id': '', 'login': 'MerryMage', 'subscriptions_url': 'https://api.github.com/users/MerryMage/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/MerryMage/starred{/owner}{/repo}', 'id': 8682882}], 'requested_teams': [], 'created_at': '2021-01-13T16:10:58Z', 'review_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments{/number}', 'milestone': None, 'assignees': [], 'draft': False, 'title': 'Apple M1 Support for MacOS', 'base': {'sha': 'a6f6211ddeaa87fee5009df7ba467ef733fa3fcf', 'ref': 'master', 'user': {'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'html_url': 'https://github.com/dolphin-emu', 'url': 'https://api.github.com/users/dolphin-emu', 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gravatar_id': '', 'login': 'dolphin-emu', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'site_admin': False, 'type': 'Organization', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'id': 5050316}, 'label': 'dolphin-emu:master', 'repo': {'html_url': 'https://github.com/dolphin-emu/dolphin', 'open_issues': 200, 'size': 408403, 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'stargazers_count': 7343, 'pushed_at': '2021-05-14T14:46:17Z', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'forks_count': 1718, 'watchers_count': 7343, 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'has_pages': False, 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'archived': False, 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'has_wiki': True, 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'allow_squash_merge': False, 'delete_branch_on_merge': True, 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'has_issues': False, 'open_issues_count': 200, 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'forks': 1718, 'license': {'node_id': 'MDc6TGljZW5zZTg=', 'key': 'gpl-2.0', 'name': 'GNU General Public License v2.0', 'spdx_id': 'GPL-2.0', 'url': 'https://api.github.com/licenses/gpl-2.0'}, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'mirror_url': None, 'has_downloads': True, 'fork': False, 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'has_projects': False, 'created_at': '2013-07-22T09:07:57Z', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'full_name': 'dolphin-emu/dolphin', 'name': 'dolphin', 'allow_merge_commit': True, 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'disabled': False, 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'watchers': 7343, 'id': 11577304, 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'updated_at': '2021-05-14T12:22:19Z', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'private': False, 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'owner': {'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'html_url': 'https://github.com/dolphin-emu', 'url': 'https://api.github.com/users/dolphin-emu', 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gravatar_id': '', 'login': 'dolphin-emu', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'site_admin': False, 'type': 'Organization', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'id': 5050316}, 'homepage': 'https://dolphin-emu.org/', 'default_branch': 'master', 'language': 'C++', 'allow_rebase_merge': False, 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}'}}, 'labels': [], 'updated_at': '2021-05-14T16:36:41Z', 'body': 'This pull request adds support for compiling Dolphin for ARM on MacOS so that it can\r\nrun natively on the M1 processors without running through Rosseta2 emulation\r\nproviding a 30-50% performance speedup and less hitches from Rosseta2.\r\n\r\nIt consists of several key changes:\r\n\r\n- Adding support for W^X allocation(MAP_JIT) for the ARM JIT\r\n- Adding the machine context and config info to identify the M1 processor\r\n- Additions to the build system and docs to support building universal binaries\r\n- Adding code signing entitlements to access the MAP_JIT functionality\r\n- Updating the MoltenVK libvulkan.dylib to a newer version with M1 support\r\n\r\nThanks everyone on IRC for the help in making this change!', 'number': 9441, 'author_association': 'CONTRIBUTOR', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'id': 554297744, 'state': 'open', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/9441.diff', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9441', 'head': {'sha': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'ref': 'master', 'user': {'organizations_url': 'https://api.github.com/users/skylersaleh/orgs', 'repos_url': 'https://api.github.com/users/skylersaleh/repos', 'html_url': 'https://github.com/skylersaleh', 'url': 'https://api.github.com/users/skylersaleh', 'node_id': 'MDQ6VXNlcjcxMTgyOTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7118296?v=4', 'followers_url': 'https://api.github.com/users/skylersaleh/followers', 'received_events_url': 'https://api.github.com/users/skylersaleh/received_events', 'events_url': 'https://api.github.com/users/skylersaleh/events{/privacy}', 'gists_url': 'https://api.github.com/users/skylersaleh/gists{/gist_id}', 'following_url': 'https://api.github.com/users/skylersaleh/following{/other_user}', 'gravatar_id': '', 'login': 'skylersaleh', 'subscriptions_url': 'https://api.github.com/users/skylersaleh/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/skylersaleh/starred{/owner}{/repo}', 'id': 7118296}, 'label': 'skylersaleh:master', 'repo': {'html_url': 'https://github.com/skylersaleh/dolphin', 'open_issues': 0, 'size': 377035, 'assignees_url': 'https://api.github.com/repos/skylersaleh/dolphin/assignees{/user}', 'blobs_url': 'https://api.github.com/repos/skylersaleh/dolphin/git/blobs{/sha}', 'pulls_url': 'https://api.github.com/repos/skylersaleh/dolphin/pulls{/number}', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'stargazers_count': 11, 'pushed_at': '2021-05-12T20:14:14Z', 'releases_url': 'https://api.github.com/repos/skylersaleh/dolphin/releases{/id}', 'collaborators_url': 'https://api.github.com/repos/skylersaleh/dolphin/collaborators{/collaborator}', 'stargazers_url': 'https://api.github.com/repos/skylersaleh/dolphin/stargazers', 'events_url': 'https://api.github.com/repos/skylersaleh/dolphin/events', 'compare_url': 'https://api.github.com/repos/skylersaleh/dolphin/compare/{base}...{head}', 'forks_count': 2, 'watchers_count': 11, 'labels_url': 'https://api.github.com/repos/skylersaleh/dolphin/labels{/name}', 'has_pages': False, 'git_url': 'git://github.com/skylersaleh/dolphin.git', 'trees_url': 'https://api.github.com/repos/skylersaleh/dolphin/git/trees{/sha}', 'languages_url': 'https://api.github.com/repos/skylersaleh/dolphin/languages', 'archived': False, 'archive_url': 'https://api.github.com/repos/skylersaleh/dolphin/{archive_format}{/ref}', 'comments_url': 'https://api.github.com/repos/skylersaleh/dolphin/comments{/number}', 'contributors_url': 'https://api.github.com/repos/skylersaleh/dolphin/contributors', 'issue_events_url': 'https://api.github.com/repos/skylersaleh/dolphin/issues/events{/number}', 'git_refs_url': 'https://api.github.com/repos/skylersaleh/dolphin/git/refs{/sha}', 'url': 'https://api.github.com/repos/skylersaleh/dolphin', 'teams_url': 'https://api.github.com/repos/skylersaleh/dolphin/teams', 'forks_url': 'https://api.github.com/repos/skylersaleh/dolphin/forks', 'has_wiki': True, 'issue_comment_url': 'https://api.github.com/repos/skylersaleh/dolphin/issues/comments{/number}', 'allow_squash_merge': True, 'delete_branch_on_merge': False, 'branches_url': 'https://api.github.com/repos/skylersaleh/dolphin/branches{/branch}', 'commits_url': 'https://api.github.com/repos/skylersaleh/dolphin/commits{/sha}', 'has_issues': False, 'open_issues_count': 0, 'notifications_url': 'https://api.github.com/repos/skylersaleh/dolphin/notifications{?since,all,participating}', 'forks': 2, 'license': {'node_id': 'MDc6TGljZW5zZTg=', 'key': 'gpl-2.0', 'name': 'GNU General Public License v2.0', 'spdx_id': 'GPL-2.0', 'url': 'https://api.github.com/licenses/gpl-2.0'}, 'node_id': 'MDEwOlJlcG9zaXRvcnkzMjg2MDE3NjQ=', 'subscription_url': 'https://api.github.com/repos/skylersaleh/dolphin/subscription', 'mirror_url': None, 'has_downloads': True, 'fork': True, 'ssh_url': 'git@github.com:skylersaleh/dolphin.git', 'has_projects': True, 'created_at': '2021-01-11T08:49:45Z', 'subscribers_url': 'https://api.github.com/repos/skylersaleh/dolphin/subscribers', 'git_commits_url': 'https://api.github.com/repos/skylersaleh/dolphin/git/commits{/sha}', 'full_name': 'skylersaleh/dolphin', 'name': 'dolphin', 'allow_merge_commit': True, 'downloads_url': 'https://api.github.com/repos/skylersaleh/dolphin/downloads', 'disabled': False, 'statuses_url': 'https://api.github.com/repos/skylersaleh/dolphin/statuses/{sha}', 'watchers': 11, 'id': 328601764, 'issues_url': 'https://api.github.com/repos/skylersaleh/dolphin/issues{/number}', 'updated_at': '2021-05-12T20:14:18Z', 'hooks_url': 'https://api.github.com/repos/skylersaleh/dolphin/hooks', 'keys_url': 'https://api.github.com/repos/skylersaleh/dolphin/keys{/key_id}', 'svn_url': 'https://github.com/skylersaleh/dolphin', 'deployments_url': 'https://api.github.com/repos/skylersaleh/dolphin/deployments', 'git_tags_url': 'https://api.github.com/repos/skylersaleh/dolphin/git/tags{/sha}', 'tags_url': 'https://api.github.com/repos/skylersaleh/dolphin/tags', 'milestones_url': 'https://api.github.com/repos/skylersaleh/dolphin/milestones{/number}', 'private': False, 'merges_url': 'https://api.github.com/repos/skylersaleh/dolphin/merges', 'clone_url': 'https://github.com/skylersaleh/dolphin.git', 'owner': {'organizations_url': 'https://api.github.com/users/skylersaleh/orgs', 'repos_url': 'https://api.github.com/users/skylersaleh/repos', 'html_url': 'https://github.com/skylersaleh', 'url': 'https://api.github.com/users/skylersaleh', 'node_id': 'MDQ6VXNlcjcxMTgyOTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7118296?v=4', 'followers_url': 'https://api.github.com/users/skylersaleh/followers', 'received_events_url': 'https://api.github.com/users/skylersaleh/received_events', 'events_url': 'https://api.github.com/users/skylersaleh/events{/privacy}', 'gists_url': 'https://api.github.com/users/skylersaleh/gists{/gist_id}', 'following_url': 'https://api.github.com/users/skylersaleh/following{/other_user}', 'gravatar_id': '', 'login': 'skylersaleh', 'subscriptions_url': 'https://api.github.com/users/skylersaleh/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/skylersaleh/starred{/owner}{/repo}', 'id': 7118296}, 'homepage': 'https://dolphin-emu.org/', 'default_branch': 'master', 'language': 'C++', 'allow_rebase_merge': True, 'contents_url': 'https://api.github.com/repos/skylersaleh/dolphin/contents/{+path}'}}, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441', 'review_comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441/comments', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/9441.patch', '_links': {'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/9441'}, 'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441'}, 'issue': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9441'}, 'commits': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441/commits'}, 'comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9441/comments'}, 'review_comment': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments{/number}'}, 'review_comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441/comments'}, 'statuses': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/c3a55d05e01ba0ed8ab1d55839fcce12669a840b'}}, 'closed_at': None, 'active_lock_reason': None, 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441/commits', 'assignee': None, 'auto_merge': None, 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9441', 'merge_commit_sha': '367c8cedcfa0b4867a21e8817f7c7896947da5cf', 'node_id': 'MDExOlB1bGxSZXF1ZXN0NTU0Mjk3NzQ0', 'user': {'organizations_url': 'https://api.github.com/users/skylersaleh/orgs', 'repos_url': 'https://api.github.com/users/skylersaleh/repos', 'html_url': 'https://github.com/skylersaleh', 'url': 'https://api.github.com/users/skylersaleh', 'node_id': 'MDQ6VXNlcjcxMTgyOTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7118296?v=4', 'followers_url': 'https://api.github.com/users/skylersaleh/followers', 'received_events_url': 'https://api.github.com/users/skylersaleh/received_events', 'events_url': 'https://api.github.com/users/skylersaleh/events{/privacy}', 'gists_url': 'https://api.github.com/users/skylersaleh/gists{/gist_id}', 'following_url': 'https://api.github.com/users/skylersaleh/following{/other_user}', 'gravatar_id': '', 'login': 'skylersaleh', 'subscriptions_url': 'https://api.github.com/users/skylersaleh/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/skylersaleh/starred{/owner}{/repo}', 'id': 7118296}, 'merged_at': None}, 'review': {'state': 'commented', 'commit_id': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'body': None, '_links': {'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/9441#pullrequestreview-660012970'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441'}}, 'submitted_at': '2021-05-14T16:36:41Z', 'author_association': 'CONTRIBUTOR', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9441#pullrequestreview-660012970', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441', 'user': {'organizations_url': 'https://api.github.com/users/skylersaleh/orgs', 'repos_url': 'https://api.github.com/users/skylersaleh/repos', 'html_url': 'https://github.com/skylersaleh', 'url': 'https://api.github.com/users/skylersaleh', 'node_id': 'MDQ6VXNlcjcxMTgyOTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7118296?v=4', 'followers_url': 'https://api.github.com/users/skylersaleh/followers', 'received_events_url': 'https://api.github.com/users/skylersaleh/received_events', 'events_url': 'https://api.github.com/users/skylersaleh/events{/privacy}', 'gists_url': 'https://api.github.com/users/skylersaleh/gists{/gist_id}', 'following_url': 'https://api.github.com/users/skylersaleh/following{/other_user}', 'gravatar_id': '', 'login': 'skylersaleh', 'subscriptions_url': 'https://api.github.com/users/skylersaleh/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/skylersaleh/starred{/owner}{/repo}', 'id': 7118296}, 'node_id': 'MDE3OlB1bGxSZXF1ZXN0UmV2aWV3NjYwMDEyOTcw', 'id': 660012970}, 'organization': {'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': '', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'login': 'dolphin-emu', 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'id': 5050316}, 'sender': {'organizations_url': 'https://api.github.com/users/skylersaleh/orgs', 'repos_url': 'https://api.github.com/users/skylersaleh/repos', 'html_url': 'https://github.com/skylersaleh', 'url': 'https://api.github.com/users/skylersaleh', 'node_id': 'MDQ6VXNlcjcxMTgyOTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7118296?v=4', 'followers_url': 'https://api.github.com/users/skylersaleh/followers', 'received_events_url': 'https://api.github.com/users/skylersaleh/received_events', 'events_url': 'https://api.github.com/users/skylersaleh/events{/privacy}', 'gists_url': 'https://api.github.com/users/skylersaleh/gists{/gist_id}', 'following_url': 'https://api.github.com/users/skylersaleh/following{/other_user}', 'gravatar_id': '', 'login': 'skylersaleh', 'subscriptions_url': 'https://api.github.com/users/skylersaleh/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/skylersaleh/starred{/owner}{/repo}', 'id': 7118296}, 'action': 'submitted', 'repository': {'html_url': 'https://github.com/dolphin-emu/dolphin', 'open_issues': 200, 'size': 408403, 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'stargazers_count': 7343, 'pushed_at': '2021-05-14T14:46:17Z', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'forks_count': 1718, 'watchers_count': 7343, 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'has_pages': False, 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'archived': False, 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'has_wiki': True, 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'has_issues': False, 'open_issues_count': 200, 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'forks': 1718, 'license': {'node_id': 'MDc6TGljZW5zZTg=', 'key': 'gpl-2.0', 'name': 'GNU General Public License v2.0', 'spdx_id': 'GPL-2.0', 'url': 'https://api.github.com/licenses/gpl-2.0'}, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'mirror_url': None, 'has_downloads': True, 'fork': False, 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'has_projects': False, 'created_at': '2013-07-22T09:07:57Z', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'full_name': 'dolphin-emu/dolphin', 'name': 'dolphin', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'disabled': False, 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'watchers': 7343, 'id': 11577304, 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'updated_at': '2021-05-14T12:22:19Z', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'private': False, 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'owner': {'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'html_url': 'https://github.com/dolphin-emu', 'url': 'https://api.github.com/users/dolphin-emu', 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gravatar_id': '', 'login': 'dolphin-emu', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'site_admin': False, 'type': 'Organization', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'id': 5050316}, 'homepage': 'https://dolphin-emu.org/', 'default_branch': 'master', 'language': 'C++', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}'}}}
2021-05-14T14:57:10.700448	{'source': 'webserver', 'gh_type': 'pull_request_review_comment', 'type': 'raw_gh_hook', 'raw': {'pull_request': {'locked': False, 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9441/comments', 'requested_reviewers': [{'organizations_url': 'https://api.github.com/users/BhaaLseN/orgs', 'repos_url': 'https://api.github.com/users/BhaaLseN/repos', 'html_url': 'https://github.com/BhaaLseN', 'url': 'https://api.github.com/users/BhaaLseN', 'node_id': 'MDQ6VXNlcjgyNjA1Mg==', 'avatar_url': 'https://avatars.githubusercontent.com/u/826052?v=4', 'followers_url': 'https://api.github.com/users/BhaaLseN/followers', 'received_events_url': 'https://api.github.com/users/BhaaLseN/received_events', 'events_url': 'https://api.github.com/users/BhaaLseN/events{/privacy}', 'gists_url': 'https://api.github.com/users/BhaaLseN/gists{/gist_id}', 'following_url': 'https://api.github.com/users/BhaaLseN/following{/other_user}', 'gravatar_id': '', 'login': 'BhaaLseN', 'subscriptions_url': 'https://api.github.com/users/BhaaLseN/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/BhaaLseN/starred{/owner}{/repo}', 'id': 826052}, {'organizations_url': 'https://api.github.com/users/MerryMage/orgs', 'repos_url': 'https://api.github.com/users/MerryMage/repos', 'html_url': 'https://github.com/MerryMage', 'url': 'https://api.github.com/users/MerryMage', 'node_id': 'MDQ6VXNlcjg2ODI4ODI=', 'avatar_url': 'https://avatars.githubusercontent.com/u/8682882?v=4', 'followers_url': 'https://api.github.com/users/MerryMage/followers', 'received_events_url': 'https://api.github.com/users/MerryMage/received_events', 'events_url': 'https://api.github.com/users/MerryMage/events{/privacy}', 'gists_url': 'https://api.github.com/users/MerryMage/gists{/gist_id}', 'following_url': 'https://api.github.com/users/MerryMage/following{/other_user}', 'gravatar_id': '', 'login': 'MerryMage', 'subscriptions_url': 'https://api.github.com/users/MerryMage/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/MerryMage/starred{/owner}{/repo}', 'id': 8682882}], 'requested_teams': [], 'created_at': '2021-01-13T16:10:58Z', 'review_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments{/number}', 'milestone': None, 'assignees': [], 'draft': False, 'title': 'Apple M1 Support for MacOS', 'base': {'sha': 'a6f6211ddeaa87fee5009df7ba467ef733fa3fcf', 'ref': 'master', 'user': {'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'html_url': 'https://github.com/dolphin-emu', 'url': 'https://api.github.com/users/dolphin-emu', 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gravatar_id': '', 'login': 'dolphin-emu', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'site_admin': False, 'type': 'Organization', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'id': 5050316}, 'label': 'dolphin-emu:master', 'repo': {'html_url': 'https://github.com/dolphin-emu/dolphin', 'open_issues': 200, 'size': 408403, 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'stargazers_count': 7343, 'pushed_at': '2021-05-14T14:46:17Z', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'forks_count': 1718, 'watchers_count': 7343, 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'has_pages': False, 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'archived': False, 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'has_wiki': True, 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'allow_squash_merge': False, 'delete_branch_on_merge': True, 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'has_issues': False, 'open_issues_count': 200, 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'forks': 1718, 'license': {'node_id': 'MDc6TGljZW5zZTg=', 'key': 'gpl-2.0', 'name': 'GNU General Public License v2.0', 'spdx_id': 'GPL-2.0', 'url': 'https://api.github.com/licenses/gpl-2.0'}, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'mirror_url': None, 'has_downloads': True, 'fork': False, 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'has_projects': False, 'created_at': '2013-07-22T09:07:57Z', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'full_name': 'dolphin-emu/dolphin', 'name': 'dolphin', 'allow_merge_commit': True, 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'disabled': False, 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'watchers': 7343, 'id': 11577304, 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'updated_at': '2021-05-14T12:22:19Z', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'private': False, 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'owner': {'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'html_url': 'https://github.com/dolphin-emu', 'url': 'https://api.github.com/users/dolphin-emu', 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gravatar_id': '', 'login': 'dolphin-emu', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'site_admin': False, 'type': 'Organization', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'id': 5050316}, 'homepage': 'https://dolphin-emu.org/', 'default_branch': 'master', 'language': 'C++', 'allow_rebase_merge': False, 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}'}}, 'labels': [], 'updated_at': '2021-05-14T14:57:09Z', 'body': 'This pull request adds support for compiling Dolphin for ARM on MacOS so that it can\r\nrun natively on the M1 processors without running through Rosseta2 emulation\r\nproviding a 30-50% performance speedup and less hitches from Rosseta2.\r\n\r\nIt consists of several key changes:\r\n\r\n- Adding support for W^X allocation(MAP_JIT) for the ARM JIT\r\n- Adding the machine context and config info to identify the M1 processor\r\n- Additions to the build system and docs to support building universal binaries\r\n- Adding code signing entitlements to access the MAP_JIT functionality\r\n- Updating the MoltenVK libvulkan.dylib to a newer version with M1 support\r\n\r\nThanks everyone on IRC for the help in making this change!', 'number': 9441, 'author_association': 'CONTRIBUTOR', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'id': 554297744, 'state': 'open', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/9441.diff', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9441', 'head': {'sha': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'ref': 'master', 'user': {'organizations_url': 'https://api.github.com/users/skylersaleh/orgs', 'repos_url': 'https://api.github.com/users/skylersaleh/repos', 'html_url': 'https://github.com/skylersaleh', 'url': 'https://api.github.com/users/skylersaleh', 'node_id': 'MDQ6VXNlcjcxMTgyOTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7118296?v=4', 'followers_url': 'https://api.github.com/users/skylersaleh/followers', 'received_events_url': 'https://api.github.com/users/skylersaleh/received_events', 'events_url': 'https://api.github.com/users/skylersaleh/events{/privacy}', 'gists_url': 'https://api.github.com/users/skylersaleh/gists{/gist_id}', 'following_url': 'https://api.github.com/users/skylersaleh/following{/other_user}', 'gravatar_id': '', 'login': 'skylersaleh', 'subscriptions_url': 'https://api.github.com/users/skylersaleh/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/skylersaleh/starred{/owner}{/repo}', 'id': 7118296}, 'label': 'skylersaleh:master', 'repo': {'html_url': 'https://github.com/skylersaleh/dolphin', 'open_issues': 0, 'size': 377035, 'assignees_url': 'https://api.github.com/repos/skylersaleh/dolphin/assignees{/user}', 'blobs_url': 'https://api.github.com/repos/skylersaleh/dolphin/git/blobs{/sha}', 'pulls_url': 'https://api.github.com/repos/skylersaleh/dolphin/pulls{/number}', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'stargazers_count': 11, 'pushed_at': '2021-05-12T20:14:14Z', 'releases_url': 'https://api.github.com/repos/skylersaleh/dolphin/releases{/id}', 'collaborators_url': 'https://api.github.com/repos/skylersaleh/dolphin/collaborators{/collaborator}', 'stargazers_url': 'https://api.github.com/repos/skylersaleh/dolphin/stargazers', 'events_url': 'https://api.github.com/repos/skylersaleh/dolphin/events', 'compare_url': 'https://api.github.com/repos/skylersaleh/dolphin/compare/{base}...{head}', 'forks_count': 2, 'watchers_count': 11, 'labels_url': 'https://api.github.com/repos/skylersaleh/dolphin/labels{/name}', 'has_pages': False, 'git_url': 'git://github.com/skylersaleh/dolphin.git', 'trees_url': 'https://api.github.com/repos/skylersaleh/dolphin/git/trees{/sha}', 'languages_url': 'https://api.github.com/repos/skylersaleh/dolphin/languages', 'archived': False, 'archive_url': 'https://api.github.com/repos/skylersaleh/dolphin/{archive_format}{/ref}', 'comments_url': 'https://api.github.com/repos/skylersaleh/dolphin/comments{/number}', 'contributors_url': 'https://api.github.com/repos/skylersaleh/dolphin/contributors', 'issue_events_url': 'https://api.github.com/repos/skylersaleh/dolphin/issues/events{/number}', 'git_refs_url': 'https://api.github.com/repos/skylersaleh/dolphin/git/refs{/sha}', 'url': 'https://api.github.com/repos/skylersaleh/dolphin', 'teams_url': 'https://api.github.com/repos/skylersaleh/dolphin/teams', 'forks_url': 'https://api.github.com/repos/skylersaleh/dolphin/forks', 'has_wiki': True, 'issue_comment_url': 'https://api.github.com/repos/skylersaleh/dolphin/issues/comments{/number}', 'allow_squash_merge': True, 'delete_branch_on_merge': False, 'branches_url': 'https://api.github.com/repos/skylersaleh/dolphin/branches{/branch}', 'commits_url': 'https://api.github.com/repos/skylersaleh/dolphin/commits{/sha}', 'has_issues': False, 'open_issues_count': 0, 'notifications_url': 'https://api.github.com/repos/skylersaleh/dolphin/notifications{?since,all,participating}', 'forks': 2, 'license': {'node_id': 'MDc6TGljZW5zZTg=', 'key': 'gpl-2.0', 'name': 'GNU General Public License v2.0', 'spdx_id': 'GPL-2.0', 'url': 'https://api.github.com/licenses/gpl-2.0'}, 'node_id': 'MDEwOlJlcG9zaXRvcnkzMjg2MDE3NjQ=', 'subscription_url': 'https://api.github.com/repos/skylersaleh/dolphin/subscription', 'mirror_url': None, 'has_downloads': True, 'fork': True, 'ssh_url': 'git@github.com:skylersaleh/dolphin.git', 'has_projects': True, 'created_at': '2021-01-11T08:49:45Z', 'subscribers_url': 'https://api.github.com/repos/skylersaleh/dolphin/subscribers', 'git_commits_url': 'https://api.github.com/repos/skylersaleh/dolphin/git/commits{/sha}', 'full_name': 'skylersaleh/dolphin', 'name': 'dolphin', 'allow_merge_commit': True, 'downloads_url': 'https://api.github.com/repos/skylersaleh/dolphin/downloads', 'disabled': False, 'statuses_url': 'https://api.github.com/repos/skylersaleh/dolphin/statuses/{sha}', 'watchers': 11, 'id': 328601764, 'issues_url': 'https://api.github.com/repos/skylersaleh/dolphin/issues{/number}', 'updated_at': '2021-05-12T20:14:18Z', 'hooks_url': 'https://api.github.com/repos/skylersaleh/dolphin/hooks', 'keys_url': 'https://api.github.com/repos/skylersaleh/dolphin/keys{/key_id}', 'svn_url': 'https://github.com/skylersaleh/dolphin', 'deployments_url': 'https://api.github.com/repos/skylersaleh/dolphin/deployments', 'git_tags_url': 'https://api.github.com/repos/skylersaleh/dolphin/git/tags{/sha}', 'tags_url': 'https://api.github.com/repos/skylersaleh/dolphin/tags', 'milestones_url': 'https://api.github.com/repos/skylersaleh/dolphin/milestones{/number}', 'private': False, 'merges_url': 'https://api.github.com/repos/skylersaleh/dolphin/merges', 'clone_url': 'https://github.com/skylersaleh/dolphin.git', 'owner': {'organizations_url': 'https://api.github.com/users/skylersaleh/orgs', 'repos_url': 'https://api.github.com/users/skylersaleh/repos', 'html_url': 'https://github.com/skylersaleh', 'url': 'https://api.github.com/users/skylersaleh', 'node_id': 'MDQ6VXNlcjcxMTgyOTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7118296?v=4', 'followers_url': 'https://api.github.com/users/skylersaleh/followers', 'received_events_url': 'https://api.github.com/users/skylersaleh/received_events', 'events_url': 'https://api.github.com/users/skylersaleh/events{/privacy}', 'gists_url': 'https://api.github.com/users/skylersaleh/gists{/gist_id}', 'following_url': 'https://api.github.com/users/skylersaleh/following{/other_user}', 'gravatar_id': '', 'login': 'skylersaleh', 'subscriptions_url': 'https://api.github.com/users/skylersaleh/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/skylersaleh/starred{/owner}{/repo}', 'id': 7118296}, 'homepage': 'https://dolphin-emu.org/', 'default_branch': 'master', 'language': 'C++', 'allow_rebase_merge': True, 'contents_url': 'https://api.github.com/repos/skylersaleh/dolphin/contents/{+path}'}}, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441', 'review_comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441/comments', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/9441.patch', '_links': {'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/9441'}, 'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441'}, 'issue': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9441'}, 'commits': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441/commits'}, 'comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9441/comments'}, 'review_comment': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments{/number}'}, 'review_comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441/comments'}, 'statuses': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/c3a55d05e01ba0ed8ab1d55839fcce12669a840b'}}, 'closed_at': None, 'active_lock_reason': None, 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441/commits', 'assignee': None, 'auto_merge': None, 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9441', 'merge_commit_sha': '367c8cedcfa0b4867a21e8817f7c7896947da5cf', 'node_id': 'MDExOlB1bGxSZXF1ZXN0NTU0Mjk3NzQ0', 'user': {'organizations_url': 'https://api.github.com/users/skylersaleh/orgs', 'repos_url': 'https://api.github.com/users/skylersaleh/repos', 'html_url': 'https://github.com/skylersaleh', 'url': 'https://api.github.com/users/skylersaleh', 'node_id': 'MDQ6VXNlcjcxMTgyOTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7118296?v=4', 'followers_url': 'https://api.github.com/users/skylersaleh/followers', 'received_events_url': 'https://api.github.com/users/skylersaleh/received_events', 'events_url': 'https://api.github.com/users/skylersaleh/events{/privacy}', 'gists_url': 'https://api.github.com/users/skylersaleh/gists{/gist_id}', 'following_url': 'https://api.github.com/users/skylersaleh/following{/other_user}', 'gravatar_id': '', 'login': 'skylersaleh', 'subscriptions_url': 'https://api.github.com/users/skylersaleh/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/skylersaleh/starred{/owner}{/repo}', 'id': 7118296}, 'merged_at': None}, 'sender': {'organizations_url': 'https://api.github.com/users/skylersaleh/orgs', 'repos_url': 'https://api.github.com/users/skylersaleh/repos', 'html_url': 'https://github.com/skylersaleh', 'url': 'https://api.github.com/users/skylersaleh', 'node_id': 'MDQ6VXNlcjcxMTgyOTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7118296?v=4', 'followers_url': 'https://api.github.com/users/skylersaleh/followers', 'received_events_url': 'https://api.github.com/users/skylersaleh/received_events', 'events_url': 'https://api.github.com/users/skylersaleh/events{/privacy}', 'gists_url': 'https://api.github.com/users/skylersaleh/gists{/gist_id}', 'following_url': 'https://api.github.com/users/skylersaleh/following{/other_user}', 'gravatar_id': '', 'login': 'skylersaleh', 'subscriptions_url': 'https://api.github.com/users/skylersaleh/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/skylersaleh/starred{/owner}{/repo}', 'id': 7118296}, 'organization': {'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': '', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'login': 'dolphin-emu', 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'id': 5050316}, 'comment': {'side': 'RIGHT', 'position': 70, 'commit_id': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'start_side': None, 'created_at': '2021-05-14T14:57:08Z', 'original_commit_id': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'original_position': 70, 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441', 'original_start_line': None, 'path': 'BuildMacOSUniversalBinary.py', 'body': "It isn't installed on macOS by default.\r\nHowever, the buildbot uses Ninja. ", 'author_association': 'CONTRIBUTOR', 'start_line': None, 'id': 632587214, 'updated_at': '2021-05-14T14:57:09Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9441#discussion_r632587214', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/632587214', 'original_line': 70, '_links': {'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/9441#discussion_r632587214'}, 'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/632587214'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441'}}, 'in_reply_to_id': 632530518, 'pull_request_review_id': 659920691, 'line': 70, 'diff_hunk': '@@ -0,0 +1,299 @@\n+#!/usr/bin/env python3\n+"""\n+The current tooling supported in CMake, Homebrew, and QT5 are inufficient for\n+creating MacOSX universal binaries automatically for applications like Dolphin\n+which have more complicated build requirements (like different libraries, build\n+flags and source files for each target architecture).\n+\n+So instead, this script manages the configuration and compilation of distinct\n+builds and project files for each target architecture and then merges the two\n+binaries into a single universal binary.\n+\n+Running this script will:\n+1) Generate Xcode project files for the ARM build (if project files don\'t\n+   already exist)\n+2) Generate Xcode project files for the x64 build (if project files don\'t\n+   already exist)\n+3) Build the ARM project for the selected build_target\n+4) Build the x64 project for the selected build_target\n+5) Generates universal .app packages combining the ARM and x64 packages\n+6) Utilizes the lipo tool to combine the binary objects inside each of the\n+   packages into universal binaries\n+7) Code signs the final universal binaries using the specified\n+   codesign_identity\n+"""\n+\n+import argparse\n+import filecmp\n+import glob\n+import json\n+import multiprocessing\n+import os\n+import shutil\n+import subprocess\n+\n+# The config variables listed below are the defaults, but they can be\n+# overridden by command line arguments see parse_args(), or run:\n+# BuildMacOSUniversalBinary.py --help\n+DEFAULT_CONFIG = {\n+\n+    # Location of destination universal binary\n+    "dst_app": "universal/",\n+    # Build Target (dolphin-emu to just build the emulator and skip the tests)\n+    "build_target": "ALL_BUILD",\n+\n+    # Location for CMake to search for files(default is for homebrew\n+    "arm64_cmake_prefix":  \'/opt/homebrew\',\n+    "x86_64_cmake_prefix": \'/usr/local\',\n+\n+    # Locations to qt5 directories for arm and x64 libraries\n+    # The default values of these paths are taken from the default\n+    # paths used for homebrew\n+    "arm64_qt5_path":  \'/opt/homebrew/opt/qt5\',\n+    "x86_64_qt5_path": \'/usr/local/opt/qt5\',\n+\n+    # Identity to use for code signing. "-" indicates that the app will not\n+    # be cryptographically signed/notarized but will instead just use a\n+    # SHA checksum to verify the integrity of the app. This doesn\'t\n+    # protect against malicious actors, but it does protect against\n+    # running corrupted binaries and allows for access to the extended\n+    # permisions needed for ARM builds\n+    "codesign_identity":  \'-\',\n+    # Entitlements file to use for code signing\n+    "entitlements": "../Source/Core/DolphinQt/DolphinEmu.entitlements",\n+\n+    # Minimum macOS version for each architecture slice\n+    "arm64_mac_os_deployment_target":  "11.0.0",\n+    "x86_64_mac_os_deployment_target": "10.12.0",\n+\n+    # CMake Generator to use for building\n+    "generator": "Unix Makefiles",', 'user': {'organizations_url': 'https://api.github.com/users/skylersaleh/orgs', 'repos_url': 'https://api.github.com/users/skylersaleh/repos', 'html_url': 'https://github.com/skylersaleh', 'url': 'https://api.github.com/users/skylersaleh', 'node_id': 'MDQ6VXNlcjcxMTgyOTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7118296?v=4', 'followers_url': 'https://api.github.com/users/skylersaleh/followers', 'received_events_url': 'https://api.github.com/users/skylersaleh/received_events', 'events_url': 'https://api.github.com/users/skylersaleh/events{/privacy}', 'gists_url': 'https://api.github.com/users/skylersaleh/gists{/gist_id}', 'following_url': 'https://api.github.com/users/skylersaleh/following{/other_user}', 'gravatar_id': '', 'login': 'skylersaleh', 'subscriptions_url': 'https://api.github.com/users/skylersaleh/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/skylersaleh/starred{/owner}{/repo}', 'id': 7118296}, 'node_id': 'MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDYzMjU4NzIxNA=='}, 'action': 'created', 'repository': {'html_url': 'https://github.com/dolphin-emu/dolphin', 'open_issues': 200, 'size': 408403, 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'stargazers_count': 7343, 'pushed_at': '2021-05-14T14:46:17Z', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'forks_count': 1718, 'watchers_count': 7343, 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'has_pages': False, 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'archived': False, 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'has_wiki': True, 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'has_issues': False, 'open_issues_count': 200, 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'forks': 1718, 'license': {'node_id': 'MDc6TGljZW5zZTg=', 'key': 'gpl-2.0', 'name': 'GNU General Public License v2.0', 'spdx_id': 'GPL-2.0', 'url': 'https://api.github.com/licenses/gpl-2.0'}, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'mirror_url': None, 'has_downloads': True, 'fork': False, 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'has_projects': False, 'created_at': '2013-07-22T09:07:57Z', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'full_name': 'dolphin-emu/dolphin', 'name': 'dolphin', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'disabled': False, 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'watchers': 7343, 'id': 11577304, 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'updated_at': '2021-05-14T12:22:19Z', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'private': False, 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'owner': {'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'html_url': 'https://github.com/dolphin-emu', 'url': 'https://api.github.com/users/dolphin-emu', 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gravatar_id': '', 'login': 'dolphin-emu', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'site_admin': False, 'type': 'Organization', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'id': 5050316}, 'homepage': 'https://dolphin-emu.org/', 'default_branch': 'master', 'language': 'C++', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}'}}}
2021-05-14T14:57:10.699079	{'source': 'webserver', 'gh_type': 'pull_request_review', 'type': 'raw_gh_hook', 'raw': {'pull_request': {'locked': False, 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9441/comments', 'requested_reviewers': [{'organizations_url': 'https://api.github.com/users/BhaaLseN/orgs', 'repos_url': 'https://api.github.com/users/BhaaLseN/repos', 'html_url': 'https://github.com/BhaaLseN', 'url': 'https://api.github.com/users/BhaaLseN', 'node_id': 'MDQ6VXNlcjgyNjA1Mg==', 'avatar_url': 'https://avatars.githubusercontent.com/u/826052?v=4', 'followers_url': 'https://api.github.com/users/BhaaLseN/followers', 'received_events_url': 'https://api.github.com/users/BhaaLseN/received_events', 'events_url': 'https://api.github.com/users/BhaaLseN/events{/privacy}', 'gists_url': 'https://api.github.com/users/BhaaLseN/gists{/gist_id}', 'following_url': 'https://api.github.com/users/BhaaLseN/following{/other_user}', 'gravatar_id': '', 'login': 'BhaaLseN', 'subscriptions_url': 'https://api.github.com/users/BhaaLseN/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/BhaaLseN/starred{/owner}{/repo}', 'id': 826052}, {'organizations_url': 'https://api.github.com/users/MerryMage/orgs', 'repos_url': 'https://api.github.com/users/MerryMage/repos', 'html_url': 'https://github.com/MerryMage', 'url': 'https://api.github.com/users/MerryMage', 'node_id': 'MDQ6VXNlcjg2ODI4ODI=', 'avatar_url': 'https://avatars.githubusercontent.com/u/8682882?v=4', 'followers_url': 'https://api.github.com/users/MerryMage/followers', 'received_events_url': 'https://api.github.com/users/MerryMage/received_events', 'events_url': 'https://api.github.com/users/MerryMage/events{/privacy}', 'gists_url': 'https://api.github.com/users/MerryMage/gists{/gist_id}', 'following_url': 'https://api.github.com/users/MerryMage/following{/other_user}', 'gravatar_id': '', 'login': 'MerryMage', 'subscriptions_url': 'https://api.github.com/users/MerryMage/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/MerryMage/starred{/owner}{/repo}', 'id': 8682882}], 'requested_teams': [], 'created_at': '2021-01-13T16:10:58Z', 'review_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments{/number}', 'milestone': None, 'assignees': [], 'draft': False, 'title': 'Apple M1 Support for MacOS', 'base': {'sha': 'a6f6211ddeaa87fee5009df7ba467ef733fa3fcf', 'ref': 'master', 'user': {'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'html_url': 'https://github.com/dolphin-emu', 'url': 'https://api.github.com/users/dolphin-emu', 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gravatar_id': '', 'login': 'dolphin-emu', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'site_admin': False, 'type': 'Organization', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'id': 5050316}, 'label': 'dolphin-emu:master', 'repo': {'html_url': 'https://github.com/dolphin-emu/dolphin', 'open_issues': 200, 'size': 408403, 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'stargazers_count': 7343, 'pushed_at': '2021-05-14T14:46:17Z', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'forks_count': 1718, 'watchers_count': 7343, 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'has_pages': False, 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'archived': False, 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'has_wiki': True, 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'allow_squash_merge': False, 'delete_branch_on_merge': True, 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'has_issues': False, 'open_issues_count': 200, 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'forks': 1718, 'license': {'node_id': 'MDc6TGljZW5zZTg=', 'key': 'gpl-2.0', 'name': 'GNU General Public License v2.0', 'spdx_id': 'GPL-2.0', 'url': 'https://api.github.com/licenses/gpl-2.0'}, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'mirror_url': None, 'has_downloads': True, 'fork': False, 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'has_projects': False, 'created_at': '2013-07-22T09:07:57Z', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'full_name': 'dolphin-emu/dolphin', 'name': 'dolphin', 'allow_merge_commit': True, 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'disabled': False, 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'watchers': 7343, 'id': 11577304, 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'updated_at': '2021-05-14T12:22:19Z', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'private': False, 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'owner': {'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'html_url': 'https://github.com/dolphin-emu', 'url': 'https://api.github.com/users/dolphin-emu', 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gravatar_id': '', 'login': 'dolphin-emu', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'site_admin': False, 'type': 'Organization', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'id': 5050316}, 'homepage': 'https://dolphin-emu.org/', 'default_branch': 'master', 'language': 'C++', 'allow_rebase_merge': False, 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}'}}, 'labels': [], 'updated_at': '2021-05-14T14:57:09Z', 'body': 'This pull request adds support for compiling Dolphin for ARM on MacOS so that it can\r\nrun natively on the M1 processors without running through Rosseta2 emulation\r\nproviding a 30-50% performance speedup and less hitches from Rosseta2.\r\n\r\nIt consists of several key changes:\r\n\r\n- Adding support for W^X allocation(MAP_JIT) for the ARM JIT\r\n- Adding the machine context and config info to identify the M1 processor\r\n- Additions to the build system and docs to support building universal binaries\r\n- Adding code signing entitlements to access the MAP_JIT functionality\r\n- Updating the MoltenVK libvulkan.dylib to a newer version with M1 support\r\n\r\nThanks everyone on IRC for the help in making this change!', 'number': 9441, 'author_association': 'CONTRIBUTOR', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'id': 554297744, 'state': 'open', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/9441.diff', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9441', 'head': {'sha': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'ref': 'master', 'user': {'organizations_url': 'https://api.github.com/users/skylersaleh/orgs', 'repos_url': 'https://api.github.com/users/skylersaleh/repos', 'html_url': 'https://github.com/skylersaleh', 'url': 'https://api.github.com/users/skylersaleh', 'node_id': 'MDQ6VXNlcjcxMTgyOTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7118296?v=4', 'followers_url': 'https://api.github.com/users/skylersaleh/followers', 'received_events_url': 'https://api.github.com/users/skylersaleh/received_events', 'events_url': 'https://api.github.com/users/skylersaleh/events{/privacy}', 'gists_url': 'https://api.github.com/users/skylersaleh/gists{/gist_id}', 'following_url': 'https://api.github.com/users/skylersaleh/following{/other_user}', 'gravatar_id': '', 'login': 'skylersaleh', 'subscriptions_url': 'https://api.github.com/users/skylersaleh/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/skylersaleh/starred{/owner}{/repo}', 'id': 7118296}, 'label': 'skylersaleh:master', 'repo': {'html_url': 'https://github.com/skylersaleh/dolphin', 'open_issues': 0, 'size': 377035, 'assignees_url': 'https://api.github.com/repos/skylersaleh/dolphin/assignees{/user}', 'blobs_url': 'https://api.github.com/repos/skylersaleh/dolphin/git/blobs{/sha}', 'pulls_url': 'https://api.github.com/repos/skylersaleh/dolphin/pulls{/number}', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'stargazers_count': 11, 'pushed_at': '2021-05-12T20:14:14Z', 'releases_url': 'https://api.github.com/repos/skylersaleh/dolphin/releases{/id}', 'collaborators_url': 'https://api.github.com/repos/skylersaleh/dolphin/collaborators{/collaborator}', 'stargazers_url': 'https://api.github.com/repos/skylersaleh/dolphin/stargazers', 'events_url': 'https://api.github.com/repos/skylersaleh/dolphin/events', 'compare_url': 'https://api.github.com/repos/skylersaleh/dolphin/compare/{base}...{head}', 'forks_count': 2, 'watchers_count': 11, 'labels_url': 'https://api.github.com/repos/skylersaleh/dolphin/labels{/name}', 'has_pages': False, 'git_url': 'git://github.com/skylersaleh/dolphin.git', 'trees_url': 'https://api.github.com/repos/skylersaleh/dolphin/git/trees{/sha}', 'languages_url': 'https://api.github.com/repos/skylersaleh/dolphin/languages', 'archived': False, 'archive_url': 'https://api.github.com/repos/skylersaleh/dolphin/{archive_format}{/ref}', 'comments_url': 'https://api.github.com/repos/skylersaleh/dolphin/comments{/number}', 'contributors_url': 'https://api.github.com/repos/skylersaleh/dolphin/contributors', 'issue_events_url': 'https://api.github.com/repos/skylersaleh/dolphin/issues/events{/number}', 'git_refs_url': 'https://api.github.com/repos/skylersaleh/dolphin/git/refs{/sha}', 'url': 'https://api.github.com/repos/skylersaleh/dolphin', 'teams_url': 'https://api.github.com/repos/skylersaleh/dolphin/teams', 'forks_url': 'https://api.github.com/repos/skylersaleh/dolphin/forks', 'has_wiki': True, 'issue_comment_url': 'https://api.github.com/repos/skylersaleh/dolphin/issues/comments{/number}', 'allow_squash_merge': True, 'delete_branch_on_merge': False, 'branches_url': 'https://api.github.com/repos/skylersaleh/dolphin/branches{/branch}', 'commits_url': 'https://api.github.com/repos/skylersaleh/dolphin/commits{/sha}', 'has_issues': False, 'open_issues_count': 0, 'notifications_url': 'https://api.github.com/repos/skylersaleh/dolphin/notifications{?since,all,participating}', 'forks': 2, 'license': {'node_id': 'MDc6TGljZW5zZTg=', 'key': 'gpl-2.0', 'name': 'GNU General Public License v2.0', 'spdx_id': 'GPL-2.0', 'url': 'https://api.github.com/licenses/gpl-2.0'}, 'node_id': 'MDEwOlJlcG9zaXRvcnkzMjg2MDE3NjQ=', 'subscription_url': 'https://api.github.com/repos/skylersaleh/dolphin/subscription', 'mirror_url': None, 'has_downloads': True, 'fork': True, 'ssh_url': 'git@github.com:skylersaleh/dolphin.git', 'has_projects': True, 'created_at': '2021-01-11T08:49:45Z', 'subscribers_url': 'https://api.github.com/repos/skylersaleh/dolphin/subscribers', 'git_commits_url': 'https://api.github.com/repos/skylersaleh/dolphin/git/commits{/sha}', 'full_name': 'skylersaleh/dolphin', 'name': 'dolphin', 'allow_merge_commit': True, 'downloads_url': 'https://api.github.com/repos/skylersaleh/dolphin/downloads', 'disabled': False, 'statuses_url': 'https://api.github.com/repos/skylersaleh/dolphin/statuses/{sha}', 'watchers': 11, 'id': 328601764, 'issues_url': 'https://api.github.com/repos/skylersaleh/dolphin/issues{/number}', 'updated_at': '2021-05-12T20:14:18Z', 'hooks_url': 'https://api.github.com/repos/skylersaleh/dolphin/hooks', 'keys_url': 'https://api.github.com/repos/skylersaleh/dolphin/keys{/key_id}', 'svn_url': 'https://github.com/skylersaleh/dolphin', 'deployments_url': 'https://api.github.com/repos/skylersaleh/dolphin/deployments', 'git_tags_url': 'https://api.github.com/repos/skylersaleh/dolphin/git/tags{/sha}', 'tags_url': 'https://api.github.com/repos/skylersaleh/dolphin/tags', 'milestones_url': 'https://api.github.com/repos/skylersaleh/dolphin/milestones{/number}', 'private': False, 'merges_url': 'https://api.github.com/repos/skylersaleh/dolphin/merges', 'clone_url': 'https://github.com/skylersaleh/dolphin.git', 'owner': {'organizations_url': 'https://api.github.com/users/skylersaleh/orgs', 'repos_url': 'https://api.github.com/users/skylersaleh/repos', 'html_url': 'https://github.com/skylersaleh', 'url': 'https://api.github.com/users/skylersaleh', 'node_id': 'MDQ6VXNlcjcxMTgyOTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7118296?v=4', 'followers_url': 'https://api.github.com/users/skylersaleh/followers', 'received_events_url': 'https://api.github.com/users/skylersaleh/received_events', 'events_url': 'https://api.github.com/users/skylersaleh/events{/privacy}', 'gists_url': 'https://api.github.com/users/skylersaleh/gists{/gist_id}', 'following_url': 'https://api.github.com/users/skylersaleh/following{/other_user}', 'gravatar_id': '', 'login': 'skylersaleh', 'subscriptions_url': 'https://api.github.com/users/skylersaleh/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/skylersaleh/starred{/owner}{/repo}', 'id': 7118296}, 'homepage': 'https://dolphin-emu.org/', 'default_branch': 'master', 'language': 'C++', 'allow_rebase_merge': True, 'contents_url': 'https://api.github.com/repos/skylersaleh/dolphin/contents/{+path}'}}, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441', 'review_comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441/comments', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/9441.patch', '_links': {'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/9441'}, 'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441'}, 'issue': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9441'}, 'commits': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441/commits'}, 'comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9441/comments'}, 'review_comment': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments{/number}'}, 'review_comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441/comments'}, 'statuses': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/c3a55d05e01ba0ed8ab1d55839fcce12669a840b'}}, 'closed_at': None, 'active_lock_reason': None, 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441/commits', 'assignee': None, 'auto_merge': None, 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9441', 'merge_commit_sha': '367c8cedcfa0b4867a21e8817f7c7896947da5cf', 'node_id': 'MDExOlB1bGxSZXF1ZXN0NTU0Mjk3NzQ0', 'user': {'organizations_url': 'https://api.github.com/users/skylersaleh/orgs', 'repos_url': 'https://api.github.com/users/skylersaleh/repos', 'html_url': 'https://github.com/skylersaleh', 'url': 'https://api.github.com/users/skylersaleh', 'node_id': 'MDQ6VXNlcjcxMTgyOTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7118296?v=4', 'followers_url': 'https://api.github.com/users/skylersaleh/followers', 'received_events_url': 'https://api.github.com/users/skylersaleh/received_events', 'events_url': 'https://api.github.com/users/skylersaleh/events{/privacy}', 'gists_url': 'https://api.github.com/users/skylersaleh/gists{/gist_id}', 'following_url': 'https://api.github.com/users/skylersaleh/following{/other_user}', 'gravatar_id': '', 'login': 'skylersaleh', 'subscriptions_url': 'https://api.github.com/users/skylersaleh/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/skylersaleh/starred{/owner}{/repo}', 'id': 7118296}, 'merged_at': None}, 'review': {'state': 'commented', 'commit_id': 'c3a55d05e01ba0ed8ab1d55839fcce12669a840b', 'body': None, '_links': {'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/9441#pullrequestreview-659920691'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441'}}, 'submitted_at': '2021-05-14T14:57:09Z', 'author_association': 'CONTRIBUTOR', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9441#pullrequestreview-659920691', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9441', 'user': {'organizations_url': 'https://api.github.com/users/skylersaleh/orgs', 'repos_url': 'https://api.github.com/users/skylersaleh/repos', 'html_url': 'https://github.com/skylersaleh', 'url': 'https://api.github.com/users/skylersaleh', 'node_id': 'MDQ6VXNlcjcxMTgyOTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7118296?v=4', 'followers_url': 'https://api.github.com/users/skylersaleh/followers', 'received_events_url': 'https://api.github.com/users/skylersaleh/received_events', 'events_url': 'https://api.github.com/users/skylersaleh/events{/privacy}', 'gists_url': 'https://api.github.com/users/skylersaleh/gists{/gist_id}', 'following_url': 'https://api.github.com/users/skylersaleh/following{/other_user}', 'gravatar_id': '', 'login': 'skylersaleh', 'subscriptions_url': 'https://api.github.com/users/skylersaleh/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/skylersaleh/starred{/owner}{/repo}', 'id': 7118296}, 'node_id': 'MDE3OlB1bGxSZXF1ZXN0UmV2aWV3NjU5OTIwNjkx', 'id': 659920691}, 'organization': {'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': '', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'login': 'dolphin-emu', 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'id': 5050316}, 'sender': {'organizations_url': 'https://api.github.com/users/skylersaleh/orgs', 'repos_url': 'https://api.github.com/users/skylersaleh/repos', 'html_url': 'https://github.com/skylersaleh', 'url': 'https://api.github.com/users/skylersaleh', 'node_id': 'MDQ6VXNlcjcxMTgyOTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7118296?v=4', 'followers_url': 'https://api.github.com/users/skylersaleh/followers', 'received_events_url': 'https://api.github.com/users/skylersaleh/received_events', 'events_url': 'https://api.github.com/users/skylersaleh/events{/privacy}', 'gists_url': 'https://api.github.com/users/skylersaleh/gists{/gist_id}', 'following_url': 'https://api.github.com/users/skylersaleh/following{/other_user}', 'gravatar_id': '', 'login': 'skylersaleh', 'subscriptions_url': 'https://api.github.com/users/skylersaleh/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/skylersaleh/starred{/owner}{/repo}', 'id': 7118296}, 'action': 'submitted', 'repository': {'html_url': 'https://github.com/dolphin-emu/dolphin', 'open_issues': 200, 'size': 408403, 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'stargazers_count': 7343, 'pushed_at': '2021-05-14T14:46:17Z', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'forks_count': 1718, 'watchers_count': 7343, 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'has_pages': False, 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'archived': False, 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'has_wiki': True, 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'has_issues': False, 'open_issues_count': 200, 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'forks': 1718, 'license': {'node_id': 'MDc6TGljZW5zZTg=', 'key': 'gpl-2.0', 'name': 'GNU General Public License v2.0', 'spdx_id': 'GPL-2.0', 'url': 'https://api.github.com/licenses/gpl-2.0'}, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'mirror_url': None, 'has_downloads': True, 'fork': False, 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'has_projects': False, 'created_at': '2013-07-22T09:07:57Z', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'full_name': 'dolphin-emu/dolphin', 'name': 'dolphin', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'disabled': False, 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'watchers': 7343, 'id': 11577304, 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'updated_at': '2021-05-14T12:22:19Z', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'private': False, 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'owner': {'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'html_url': 'https://github.com/dolphin-emu', 'url': 'https://api.github.com/users/dolphin-emu', 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gravatar_id': '', 'login': 'dolphin-emu', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'site_admin': False, 'type': 'Organization', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'id': 5050316}, 'homepage': 'https://dolphin-emu.org/', 'default_branch': 'master', 'language': 'C++', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}'}}}
2021-05-14T14:48:33.406981	{'source': 'webserver', 'gh_type': 'pull_request', 'type': 'raw_gh_hook', 'raw': {'pull_request': {'additions': 2, 'requested_teams': [], 'created_at': '2021-05-09T19:46:28Z', 'review_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments{/number}', '_links': {'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/9699'}, 'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9699'}, 'issue': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9699'}, 'commits': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9699/commits'}, 'comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9699/comments'}, 'review_comment': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments{/number}'}, 'review_comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9699/comments'}, 'statuses': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/e27d02cc0fbeaedf120660c06d06c420c661cab6'}}, 'number': 9699, 'title': 'Fix backslash parsing issue in SplitPath', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9699/commits', 'merged': False, 'author_association': 'NONE', 'rebaseable': True, 'comments': 2, 'state': 'open', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9699', 'review_comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9699/comments', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/9699.patch', 'head': {'sha': 'e27d02cc0fbeaedf120660c06d06c420c661cab6', 'ref': 'master', 'user': {'organizations_url': 'https://api.github.com/users/retroNUC/orgs', 'repos_url': 'https://api.github.com/users/retroNUC/repos', 'html_url': 'https://github.com/retroNUC', 'url': 'https://api.github.com/users/retroNUC', 'node_id': 'MDQ6VXNlcjcxMTUxMTYx', 'avatar_url': 'https://avatars.githubusercontent.com/u/71151161?v=4', 'followers_url': 'https://api.github.com/users/retroNUC/followers', 'received_events_url': 'https://api.github.com/users/retroNUC/received_events', 'events_url': 'https://api.github.com/users/retroNUC/events{/privacy}', 'gists_url': 'https://api.github.com/users/retroNUC/gists{/gist_id}', 'following_url': 'https://api.github.com/users/retroNUC/following{/other_user}', 'gravatar_id': '', 'login': 'retroNUC', 'subscriptions_url': 'https://api.github.com/users/retroNUC/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/retroNUC/starred{/owner}{/repo}', 'id': 71151161}, 'label': 'retroNUC:master', 'repo': {'html_url': 'https://github.com/retroNUC/dolphin', 'open_issues': 0, 'size': 370951, 'assignees_url': 'https://api.github.com/repos/retroNUC/dolphin/assignees{/user}', 'blobs_url': 'https://api.github.com/repos/retroNUC/dolphin/git/blobs{/sha}', 'pulls_url': 'https://api.github.com/repos/retroNUC/dolphin/pulls{/number}', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'stargazers_count': 0, 'pushed_at': '2021-05-09T20:00:28Z', 'releases_url': 'https://api.github.com/repos/retroNUC/dolphin/releases{/id}', 'collaborators_url': 'https://api.github.com/repos/retroNUC/dolphin/collaborators{/collaborator}', 'stargazers_url': 'https://api.github.com/repos/retroNUC/dolphin/stargazers', 'events_url': 'https://api.github.com/repos/retroNUC/dolphin/events', 'compare_url': 'https://api.github.com/repos/retroNUC/dolphin/compare/{base}...{head}', 'forks_count': 0, 'watchers_count': 0, 'labels_url': 'https://api.github.com/repos/retroNUC/dolphin/labels{/name}', 'has_pages': False, 'git_url': 'git://github.com/retroNUC/dolphin.git', 'trees_url': 'https://api.github.com/repos/retroNUC/dolphin/git/trees{/sha}', 'languages_url': 'https://api.github.com/repos/retroNUC/dolphin/languages', 'archived': False, 'archive_url': 'https://api.github.com/repos/retroNUC/dolphin/{archive_format}{/ref}', 'comments_url': 'https://api.github.com/repos/retroNUC/dolphin/comments{/number}', 'contributors_url': 'https://api.github.com/repos/retroNUC/dolphin/contributors', 'issue_events_url': 'https://api.github.com/repos/retroNUC/dolphin/issues/events{/number}', 'git_refs_url': 'https://api.github.com/repos/retroNUC/dolphin/git/refs{/sha}', 'url': 'https://api.github.com/repos/retroNUC/dolphin', 'teams_url': 'https://api.github.com/repos/retroNUC/dolphin/teams', 'forks_url': 'https://api.github.com/repos/retroNUC/dolphin/forks', 'has_wiki': True, 'issue_comment_url': 'https://api.github.com/repos/retroNUC/dolphin/issues/comments{/number}', 'allow_squash_merge': True, 'delete_branch_on_merge': False, 'branches_url': 'https://api.github.com/repos/retroNUC/dolphin/branches{/branch}', 'commits_url': 'https://api.github.com/repos/retroNUC/dolphin/commits{/sha}', 'has_issues': False, 'open_issues_count': 0, 'notifications_url': 'https://api.github.com/repos/retroNUC/dolphin/notifications{?since,all,participating}', 'forks': 0, 'license': {'node_id': 'MDc6TGljZW5zZTg=', 'key': 'gpl-2.0', 'name': 'GNU General Public License v2.0', 'spdx_id': 'GPL-2.0', 'url': 'https://api.github.com/licenses/gpl-2.0'}, 'node_id': 'MDEwOlJlcG9zaXRvcnkzNjU4MjAzNTQ=', 'subscription_url': 'https://api.github.com/repos/retroNUC/dolphin/subscription', 'mirror_url': None, 'has_downloads': True, 'fork': True, 'ssh_url': 'git@github.com:retroNUC/dolphin.git', 'has_projects': True, 'created_at': '2021-05-09T18:21:17Z', 'subscribers_url': 'https://api.github.com/repos/retroNUC/dolphin/subscribers', 'git_commits_url': 'https://api.github.com/repos/retroNUC/dolphin/git/commits{/sha}', 'full_name': 'retroNUC/dolphin', 'name': 'dolphin', 'allow_merge_commit': True, 'downloads_url': 'https://api.github.com/repos/retroNUC/dolphin/downloads', 'disabled': False, 'statuses_url': 'https://api.github.com/repos/retroNUC/dolphin/statuses/{sha}', 'watchers': 0, 'id': 365820354, 'issues_url': 'https://api.github.com/repos/retroNUC/dolphin/issues{/number}', 'updated_at': '2021-05-09T20:00:31Z', 'hooks_url': 'https://api.github.com/repos/retroNUC/dolphin/hooks', 'keys_url': 'https://api.github.com/repos/retroNUC/dolphin/keys{/key_id}', 'svn_url': 'https://github.com/retroNUC/dolphin', 'deployments_url': 'https://api.github.com/repos/retroNUC/dolphin/deployments', 'git_tags_url': 'https://api.github.com/repos/retroNUC/dolphin/git/tags{/sha}', 'tags_url': 'https://api.github.com/repos/retroNUC/dolphin/tags', 'milestones_url': 'https://api.github.com/repos/retroNUC/dolphin/milestones{/number}', 'private': False, 'merges_url': 'https://api.github.com/repos/retroNUC/dolphin/merges', 'clone_url': 'https://github.com/retroNUC/dolphin.git', 'owner': {'organizations_url': 'https://api.github.com/users/retroNUC/orgs', 'repos_url': 'https://api.github.com/users/retroNUC/repos', 'html_url': 'https://github.com/retroNUC', 'url': 'https://api.github.com/users/retroNUC', 'node_id': 'MDQ6VXNlcjcxMTUxMTYx', 'avatar_url': 'https://avatars.githubusercontent.com/u/71151161?v=4', 'followers_url': 'https://api.github.com/users/retroNUC/followers', 'received_events_url': 'https://api.github.com/users/retroNUC/received_events', 'events_url': 'https://api.github.com/users/retroNUC/events{/privacy}', 'gists_url': 'https://api.github.com/users/retroNUC/gists{/gist_id}', 'following_url': 'https://api.github.com/users/retroNUC/following{/other_user}', 'gravatar_id': '', 'login': 'retroNUC', 'subscriptions_url': 'https://api.github.com/users/retroNUC/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/retroNUC/starred{/owner}{/repo}', 'id': 71151161}, 'homepage': 'https://dolphin-emu.org/', 'default_branch': 'master', 'language': 'C++', 'allow_rebase_merge': True, 'contents_url': 'https://api.github.com/repos/retroNUC/dolphin/contents/{+path}'}}, 'deletions': 1, 'merged_by': None, 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9699', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/9699.diff', 'node_id': 'MDExOlB1bGxSZXF1ZXN0NjM2MjQxMTkx', 'user': {'organizations_url': 'https://api.github.com/users/retroNUC/orgs', 'repos_url': 'https://api.github.com/users/retroNUC/repos', 'html_url': 'https://github.com/retroNUC', 'url': 'https://api.github.com/users/retroNUC', 'node_id': 'MDQ6VXNlcjcxMTUxMTYx', 'avatar_url': 'https://avatars.githubusercontent.com/u/71151161?v=4', 'followers_url': 'https://api.github.com/users/retroNUC/followers', 'received_events_url': 'https://api.github.com/users/retroNUC/received_events', 'events_url': 'https://api.github.com/users/retroNUC/events{/privacy}', 'gists_url': 'https://api.github.com/users/retroNUC/gists{/gist_id}', 'following_url': 'https://api.github.com/users/retroNUC/following{/other_user}', 'gravatar_id': '', 'login': 'retroNUC', 'subscriptions_url': 'https://api.github.com/users/retroNUC/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/retroNUC/starred{/owner}{/repo}', 'id': 71151161}, 'assignee': None, 'locked': False, 'mergeable': True, 'requested_reviewers': [], 'commits': 2, 'milestone': None, 'assignees': [], 'changed_files': 1, 'labels': [], 'base': {'sha': 'eb5cd9be78c76b9ccbab9e5fbd1721ef6876cd68', 'ref': 'master', 'user': {'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'html_url': 'https://github.com/dolphin-emu', 'url': 'https://api.github.com/users/dolphin-emu', 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gravatar_id': '', 'login': 'dolphin-emu', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'site_admin': False, 'type': 'Organization', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'id': 5050316}, 'label': 'dolphin-emu:master', 'repo': {'html_url': 'https://github.com/dolphin-emu/dolphin', 'open_issues': 200, 'size': 408403, 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'stargazers_count': 7343, 'pushed_at': '2021-05-14T14:46:17Z', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'forks_count': 1717, 'watchers_count': 7343, 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'has_pages': False, 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'archived': False, 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'has_wiki': True, 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'allow_squash_merge': False, 'delete_branch_on_merge': True, 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'has_issues': False, 'open_issues_count': 200, 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'forks': 1717, 'license': {'node_id': 'MDc6TGljZW5zZTg=', 'key': 'gpl-2.0', 'name': 'GNU General Public License v2.0', 'spdx_id': 'GPL-2.0', 'url': 'https://api.github.com/licenses/gpl-2.0'}, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'mirror_url': None, 'has_downloads': True, 'fork': False, 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'has_projects': False, 'created_at': '2013-07-22T09:07:57Z', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'full_name': 'dolphin-emu/dolphin', 'name': 'dolphin', 'allow_merge_commit': True, 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'disabled': False, 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'watchers': 7343, 'id': 11577304, 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'updated_at': '2021-05-14T12:22:19Z', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'private': False, 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'owner': {'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'html_url': 'https://github.com/dolphin-emu', 'url': 'https://api.github.com/users/dolphin-emu', 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gravatar_id': '', 'login': 'dolphin-emu', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'site_admin': False, 'type': 'Organization', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'id': 5050316}, 'homepage': 'https://dolphin-emu.org/', 'default_branch': 'master', 'language': 'C++', 'allow_rebase_merge': False, 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}'}}, 'body': 'From a bug mentioned here that I also ran into - https://forums.dolphin-emu.org/Thread-automatically-changing-discs-second-take?pid=508806#pid508806\r\n\r\nFor the "Change Discs Automatically" functionality, loading a .m3u file referencing multiple discs would allow both relative and absolute paths when loaded via GUI, but only absolute paths when using the -e/--exec command line option.\r\n\r\nFile paths provided via command line options could be using backslashes instead of forward slashes, which is the Windows path standard. This wasn\'t being considered in SplitPath, and caused issues down the line for functions that needed to re-append the folder path for relative file locations (such as ReadM3UFile in boot.cpp). Adding detection of the backslash character on _WIN32 fixes this.\r\n\r\nFirst time contributing (and first time ever doing a pull request at all, actually) so please let me know if I\'ve made any mistakes. Thank you!', 'draft': True, 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/e27d02cc0fbeaedf120660c06d06c420c661cab6', 'id': 636241191, 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9699/comments', 'updated_at': '2021-05-14T14:48:32Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9699', 'merge_commit_sha': '19a85285af699b3cd4bcb24ec9723a5dc6aa5172', 'closed_at': None, 'mergeable_state': 'draft', 'maintainer_can_modify': True, 'active_lock_reason': None, 'auto_merge': None, 'review_comments': 0, 'merged_at': None}, 'number': 9699, 'organization': {'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': '', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'login': 'dolphin-emu', 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'id': 5050316}, 'sender': {'organizations_url': 'https://api.github.com/users/leoetlino/orgs', 'repos_url': 'https://api.github.com/users/leoetlino/repos', 'html_url': 'https://github.com/leoetlino', 'url': 'https://api.github.com/users/leoetlino', 'node_id': 'MDQ6VXNlcjQyMDkwNjE=', 'avatar_url': 'https://avatars.githubusercontent.com/u/4209061?v=4', 'followers_url': 'https://api.github.com/users/leoetlino/followers', 'received_events_url': 'https://api.github.com/users/leoetlino/received_events', 'events_url': 'https://api.github.com/users/leoetlino/events{/privacy}', 'gists_url': 'https://api.github.com/users/leoetlino/gists{/gist_id}', 'following_url': 'https://api.github.com/users/leoetlino/following{/other_user}', 'gravatar_id': '', 'login': 'leoetlino', 'subscriptions_url': 'https://api.github.com/users/leoetlino/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/leoetlino/starred{/owner}{/repo}', 'id': 4209061}, 'repository': {'html_url': 'https://github.com/dolphin-emu/dolphin', 'open_issues': 200, 'size': 408403, 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'stargazers_count': 7343, 'pushed_at': '2021-05-14T14:46:17Z', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'forks_count': 1717, 'watchers_count': 7343, 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'has_pages': False, 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'archived': False, 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'has_wiki': True, 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'has_issues': False, 'open_issues_count': 200, 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'forks': 1717, 'license': {'node_id': 'MDc6TGljZW5zZTg=', 'key': 'gpl-2.0', 'name': 'GNU General Public License v2.0', 'spdx_id': 'GPL-2.0', 'url': 'https://api.github.com/licenses/gpl-2.0'}, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'mirror_url': None, 'has_downloads': True, 'fork': False, 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'has_projects': False, 'created_at': '2013-07-22T09:07:57Z', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'full_name': 'dolphin-emu/dolphin', 'name': 'dolphin', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'disabled': False, 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'watchers': 7343, 'id': 11577304, 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'updated_at': '2021-05-14T12:22:19Z', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'private': False, 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'owner': {'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'html_url': 'https://github.com/dolphin-emu', 'url': 'https://api.github.com/users/dolphin-emu', 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gravatar_id': '', 'login': 'dolphin-emu', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'site_admin': False, 'type': 'Organization', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'id': 5050316}, 'homepage': 'https://dolphin-emu.org/', 'default_branch': 'master', 'language': 'C++', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}'}, 'action': 'converted_to_draft'}}
2021-05-14T14:47:35.112309	{'source': 'webserver', 'gh_type': 'pull_request_review', 'type': 'raw_gh_hook', 'raw': {'pull_request': {'locked': False, 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9707/comments', 'requested_reviewers': [], 'requested_teams': [], 'created_at': '2021-05-13T16:59:17Z', 'review_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments{/number}', 'milestone': None, 'assignees': [], 'draft': False, 'title': 'Remove Atomic.h', 'base': {'sha': '099bf16326c1549246fd1bd976fb1242e7ba0875', 'ref': 'master', 'user': {'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'html_url': 'https://github.com/dolphin-emu', 'url': 'https://api.github.com/users/dolphin-emu', 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gravatar_id': '', 'login': 'dolphin-emu', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'site_admin': False, 'type': 'Organization', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'id': 5050316}, 'label': 'dolphin-emu:master', 'repo': {'html_url': 'https://github.com/dolphin-emu/dolphin', 'open_issues': 200, 'size': 408403, 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'stargazers_count': 7343, 'pushed_at': '2021-05-14T14:46:17Z', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'forks_count': 1717, 'watchers_count': 7343, 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'has_pages': False, 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'archived': False, 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'has_wiki': True, 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'allow_squash_merge': False, 'delete_branch_on_merge': True, 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'has_issues': False, 'open_issues_count': 200, 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'forks': 1717, 'license': {'node_id': 'MDc6TGljZW5zZTg=', 'key': 'gpl-2.0', 'name': 'GNU General Public License v2.0', 'spdx_id': 'GPL-2.0', 'url': 'https://api.github.com/licenses/gpl-2.0'}, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'mirror_url': None, 'has_downloads': True, 'fork': False, 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'has_projects': False, 'created_at': '2013-07-22T09:07:57Z', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'full_name': 'dolphin-emu/dolphin', 'name': 'dolphin', 'allow_merge_commit': True, 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'disabled': False, 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'watchers': 7343, 'id': 11577304, 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'updated_at': '2021-05-14T12:22:19Z', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'private': False, 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'owner': {'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'html_url': 'https://github.com/dolphin-emu', 'url': 'https://api.github.com/users/dolphin-emu', 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gravatar_id': '', 'login': 'dolphin-emu', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'site_admin': False, 'type': 'Organization', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'id': 5050316}, 'homepage': 'https://dolphin-emu.org/', 'default_branch': 'master', 'language': 'C++', 'allow_rebase_merge': False, 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}'}}, 'labels': [], 'updated_at': '2021-05-14T14:47:33Z', 'body': "The STL has everything we need nowadays.\r\n\r\nI have tried to not alter any behavior or semantics with this change wherever possible. In particular, `WriteLow` and `WriteHigh` in  `CommandProcessor` retain the ability to accidentally undo another thread's write to the upper half or lower half respectively. If that should be fixed, it should be done in a separate commit for clarity. One thing did change: The places where we were using `+=` on a volatile variable (not an atomic operation) are now using `fetch_add` (actually an atomic operation).\r\n\r\nTested with single core and dual core on x86-64 and AArch64.", 'number': 9707, 'author_association': 'MEMBER', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/b93983b50a8b2d50a2120601784aab022f46308c', 'id': 644110560, 'state': 'open', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/9707.diff', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9707', 'head': {'sha': 'b93983b50a8b2d50a2120601784aab022f46308c', 'ref': 'remove-atomic-header', 'user': {'organizations_url': 'https://api.github.com/users/JosJuice/orgs', 'repos_url': 'https://api.github.com/users/JosJuice/repos', 'html_url': 'https://github.com/JosJuice', 'url': 'https://api.github.com/users/JosJuice', 'node_id': 'MDQ6VXNlcjY3MTY4MTg=', 'avatar_url': 'https://avatars.githubusercontent.com/u/6716818?v=4', 'followers_url': 'https://api.github.com/users/JosJuice/followers', 'received_events_url': 'https://api.github.com/users/JosJuice/received_events', 'events_url': 'https://api.github.com/users/JosJuice/events{/privacy}', 'gists_url': 'https://api.github.com/users/JosJuice/gists{/gist_id}', 'following_url': 'https://api.github.com/users/JosJuice/following{/other_user}', 'gravatar_id': '', 'login': 'JosJuice', 'subscriptions_url': 'https://api.github.com/users/JosJuice/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/JosJuice/starred{/owner}{/repo}', 'id': 6716818}, 'label': 'JosJuice:remove-atomic-header', 'repo': {'html_url': 'https://github.com/JosJuice/dolphin', 'open_issues': 0, 'size': 371494, 'assignees_url': 'https://api.github.com/repos/JosJuice/dolphin/assignees{/user}', 'blobs_url': 'https://api.github.com/repos/JosJuice/dolphin/git/blobs{/sha}', 'pulls_url': 'https://api.github.com/repos/JosJuice/dolphin/pulls{/number}', 'description': 'Dolphin is a GameCube/Wii emulator, allowing you to play games for these two platforms on PC, with improvements.', 'stargazers_count': 2, 'pushed_at': '2021-05-14T10:41:08Z', 'releases_url': 'https://api.github.com/repos/JosJuice/dolphin/releases{/id}', 'collaborators_url': 'https://api.github.com/repos/JosJuice/dolphin/collaborators{/collaborator}', 'stargazers_url': 'https://api.github.com/repos/JosJuice/dolphin/stargazers', 'events_url': 'https://api.github.com/repos/JosJuice/dolphin/events', 'compare_url': 'https://api.github.com/repos/JosJuice/dolphin/compare/{base}...{head}', 'forks_count': 1, 'watchers_count': 2, 'labels_url': 'https://api.github.com/repos/JosJuice/dolphin/labels{/name}', 'has_pages': False, 'git_url': 'git://github.com/JosJuice/dolphin.git', 'trees_url': 'https://api.github.com/repos/JosJuice/dolphin/git/trees{/sha}', 'languages_url': 'https://api.github.com/repos/JosJuice/dolphin/languages', 'archived': False, 'archive_url': 'https://api.github.com/repos/JosJuice/dolphin/{archive_format}{/ref}', 'comments_url': 'https://api.github.com/repos/JosJuice/dolphin/comments{/number}', 'contributors_url': 'https://api.github.com/repos/JosJuice/dolphin/contributors', 'issue_events_url': 'https://api.github.com/repos/JosJuice/dolphin/issues/events{/number}', 'git_refs_url': 'https://api.github.com/repos/JosJuice/dolphin/git/refs{/sha}', 'url': 'https://api.github.com/repos/JosJuice/dolphin', 'teams_url': 'https://api.github.com/repos/JosJuice/dolphin/teams', 'forks_url': 'https://api.github.com/repos/JosJuice/dolphin/forks', 'has_wiki': True, 'issue_comment_url': 'https://api.github.com/repos/JosJuice/dolphin/issues/comments{/number}', 'allow_squash_merge': True, 'delete_branch_on_merge': False, 'branches_url': 'https://api.github.com/repos/JosJuice/dolphin/branches{/branch}', 'commits_url': 'https://api.github.com/repos/JosJuice/dolphin/commits{/sha}', 'has_issues': False, 'open_issues_count': 0, 'notifications_url': 'https://api.github.com/repos/JosJuice/dolphin/notifications{?since,all,participating}', 'forks': 1, 'license': {'node_id': 'MDc6TGljZW5zZTg=', 'key': 'gpl-2.0', 'name': 'GNU General Public License v2.0', 'spdx_id': 'GPL-2.0', 'url': 'https://api.github.com/licenses/gpl-2.0'}, 'node_id': 'MDEwOlJlcG9zaXRvcnkyNjA1NzEzOA==', 'subscription_url': 'https://api.github.com/repos/JosJuice/dolphin/subscription', 'mirror_url': None, 'has_downloads': True, 'fork': True, 'ssh_url': 'git@github.com:JosJuice/dolphin.git', 'has_projects': True, 'created_at': '2014-11-01T17:12:40Z', 'subscribers_url': 'https://api.github.com/repos/JosJuice/dolphin/subscribers', 'git_commits_url': 'https://api.github.com/repos/JosJuice/dolphin/git/commits{/sha}', 'full_name': 'JosJuice/dolphin', 'name': 'dolphin', 'allow_merge_commit': True, 'downloads_url': 'https://api.github.com/repos/JosJuice/dolphin/downloads', 'disabled': False, 'statuses_url': 'https://api.github.com/repos/JosJuice/dolphin/statuses/{sha}', 'watchers': 2, 'id': 26057138, 'issues_url': 'https://api.github.com/repos/JosJuice/dolphin/issues{/number}', 'updated_at': '2021-05-14T09:53:35Z', 'hooks_url': 'https://api.github.com/repos/JosJuice/dolphin/hooks', 'keys_url': 'https://api.github.com/repos/JosJuice/dolphin/keys{/key_id}', 'svn_url': 'https://github.com/JosJuice/dolphin', 'deployments_url': 'https://api.github.com/repos/JosJuice/dolphin/deployments', 'git_tags_url': 'https://api.github.com/repos/JosJuice/dolphin/git/tags{/sha}', 'tags_url': 'https://api.github.com/repos/JosJuice/dolphin/tags', 'milestones_url': 'https://api.github.com/repos/JosJuice/dolphin/milestones{/number}', 'private': False, 'merges_url': 'https://api.github.com/repos/JosJuice/dolphin/merges', 'clone_url': 'https://github.com/JosJuice/dolphin.git', 'owner': {'organizations_url': 'https://api.github.com/users/JosJuice/orgs', 'repos_url': 'https://api.github.com/users/JosJuice/repos', 'html_url': 'https://github.com/JosJuice', 'url': 'https://api.github.com/users/JosJuice', 'node_id': 'MDQ6VXNlcjY3MTY4MTg=', 'avatar_url': 'https://avatars.githubusercontent.com/u/6716818?v=4', 'followers_url': 'https://api.github.com/users/JosJuice/followers', 'received_events_url': 'https://api.github.com/users/JosJuice/received_events', 'events_url': 'https://api.github.com/users/JosJuice/events{/privacy}', 'gists_url': 'https://api.github.com/users/JosJuice/gists{/gist_id}', 'following_url': 'https://api.github.com/users/JosJuice/following{/other_user}', 'gravatar_id': '', 'login': 'JosJuice', 'subscriptions_url': 'https://api.github.com/users/JosJuice/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/JosJuice/starred{/owner}{/repo}', 'id': 6716818}, 'homepage': None, 'default_branch': 'master', 'language': 'C++', 'allow_rebase_merge': True, 'contents_url': 'https://api.github.com/repos/JosJuice/dolphin/contents/{+path}'}}, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9707', 'review_comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9707/comments', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/9707.patch', '_links': {'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/9707'}, 'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9707'}, 'issue': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9707'}, 'commits': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9707/commits'}, 'comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9707/comments'}, 'review_comment': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments{/number}'}, 'review_comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9707/comments'}, 'statuses': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/b93983b50a8b2d50a2120601784aab022f46308c'}}, 'closed_at': None, 'active_lock_reason': None, 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9707/commits', 'assignee': None, 'auto_merge': None, 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9707', 'merge_commit_sha': 'e6d7c38e2e5f73bc3df3e06f61c20843ed12e6b5', 'node_id': 'MDExOlB1bGxSZXF1ZXN0NjQ0MTEwNTYw', 'user': {'organizations_url': 'https://api.github.com/users/JosJuice/orgs', 'repos_url': 'https://api.github.com/users/JosJuice/repos', 'html_url': 'https://github.com/JosJuice', 'url': 'https://api.github.com/users/JosJuice', 'node_id': 'MDQ6VXNlcjY3MTY4MTg=', 'avatar_url': 'https://avatars.githubusercontent.com/u/6716818?v=4', 'followers_url': 'https://api.github.com/users/JosJuice/followers', 'received_events_url': 'https://api.github.com/users/JosJuice/received_events', 'events_url': 'https://api.github.com/users/JosJuice/events{/privacy}', 'gists_url': 'https://api.github.com/users/JosJuice/gists{/gist_id}', 'following_url': 'https://api.github.com/users/JosJuice/following{/other_user}', 'gravatar_id': '', 'login': 'JosJuice', 'subscriptions_url': 'https://api.github.com/users/JosJuice/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/JosJuice/starred{/owner}{/repo}', 'id': 6716818}, 'merged_at': None}, 'review': {'state': 'approved', 'commit_id': 'b93983b50a8b2d50a2120601784aab022f46308c', 'body': '', '_links': {'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/9707#pullrequestreview-659911657'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9707'}}, 'submitted_at': '2021-05-14T14:47:33Z', 'author_association': 'MEMBER', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9707#pullrequestreview-659911657', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9707', 'user': {'organizations_url': 'https://api.github.com/users/leoetlino/orgs', 'repos_url': 'https://api.github.com/users/leoetlino/repos', 'html_url': 'https://github.com/leoetlino', 'url': 'https://api.github.com/users/leoetlino', 'node_id': 'MDQ6VXNlcjQyMDkwNjE=', 'avatar_url': 'https://avatars.githubusercontent.com/u/4209061?v=4', 'followers_url': 'https://api.github.com/users/leoetlino/followers', 'received_events_url': 'https://api.github.com/users/leoetlino/received_events', 'events_url': 'https://api.github.com/users/leoetlino/events{/privacy}', 'gists_url': 'https://api.github.com/users/leoetlino/gists{/gist_id}', 'following_url': 'https://api.github.com/users/leoetlino/following{/other_user}', 'gravatar_id': '', 'login': 'leoetlino', 'subscriptions_url': 'https://api.github.com/users/leoetlino/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/leoetlino/starred{/owner}{/repo}', 'id': 4209061}, 'node_id': 'MDE3OlB1bGxSZXF1ZXN0UmV2aWV3NjU5OTExNjU3', 'id': 659911657}, 'organization': {'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': '', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'login': 'dolphin-emu', 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'id': 5050316}, 'sender': {'organizations_url': 'https://api.github.com/users/leoetlino/orgs', 'repos_url': 'https://api.github.com/users/leoetlino/repos', 'html_url': 'https://github.com/leoetlino', 'url': 'https://api.github.com/users/leoetlino', 'node_id': 'MDQ6VXNlcjQyMDkwNjE=', 'avatar_url': 'https://avatars.githubusercontent.com/u/4209061?v=4', 'followers_url': 'https://api.github.com/users/leoetlino/followers', 'received_events_url': 'https://api.github.com/users/leoetlino/received_events', 'events_url': 'https://api.github.com/users/leoetlino/events{/privacy}', 'gists_url': 'https://api.github.com/users/leoetlino/gists{/gist_id}', 'following_url': 'https://api.github.com/users/leoetlino/following{/other_user}', 'gravatar_id': '', 'login': 'leoetlino', 'subscriptions_url': 'https://api.github.com/users/leoetlino/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/leoetlino/starred{/owner}{/repo}', 'id': 4209061}, 'action': 'submitted', 'repository': {'html_url': 'https://github.com/dolphin-emu/dolphin', 'open_issues': 200, 'size': 408403, 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'stargazers_count': 7343, 'pushed_at': '2021-05-14T14:46:17Z', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'forks_count': 1717, 'watchers_count': 7343, 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'has_pages': False, 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'archived': False, 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'has_wiki': True, 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'has_issues': False, 'open_issues_count': 200, 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'forks': 1717, 'license': {'node_id': 'MDc6TGljZW5zZTg=', 'key': 'gpl-2.0', 'name': 'GNU General Public License v2.0', 'spdx_id': 'GPL-2.0', 'url': 'https://api.github.com/licenses/gpl-2.0'}, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'mirror_url': None, 'has_downloads': True, 'fork': False, 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'has_projects': False, 'created_at': '2013-07-22T09:07:57Z', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'full_name': 'dolphin-emu/dolphin', 'name': 'dolphin', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'disabled': False, 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'watchers': 7343, 'id': 11577304, 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'updated_at': '2021-05-14T12:22:19Z', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'private': False, 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'owner': {'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'html_url': 'https://github.com/dolphin-emu', 'url': 'https://api.github.com/users/dolphin-emu', 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gravatar_id': '', 'login': 'dolphin-emu', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'site_admin': False, 'type': 'Organization', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'id': 5050316}, 'homepage': 'https://dolphin-emu.org/', 'default_branch': 'master', 'language': 'C++', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}'}}}
2021-05-14T14:46:18.703005	{'source': 'webserver', 'gh_type': 'pull_request', 'type': 'raw_gh_hook', 'raw': {'pull_request': {'additions': 15, 'requested_teams': [], 'created_at': '2021-05-14T14:46:17Z', 'review_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments{/number}', '_links': {'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/9709'}, 'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9709'}, 'issue': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9709'}, 'commits': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9709/commits'}, 'comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9709/comments'}, 'review_comment': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments{/number}'}, 'review_comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9709/comments'}, 'statuses': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/65c7eac8322b75031688b0a5fc2c3598160d36f4'}}, 'number': 9709, 'title': 'UPnP: Improve error messages on initialization failure.', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9709/commits', 'merged': False, 'author_association': 'CONTRIBUTOR', 'rebaseable': None, 'comments': 0, 'state': 'open', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9709', 'review_comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9709/comments', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/9709.patch', 'head': {'sha': '65c7eac8322b75031688b0a5fc2c3598160d36f4', 'ref': 'upnp-error-log', 'user': {'organizations_url': 'https://api.github.com/users/AdmiralCurtiss/orgs', 'repos_url': 'https://api.github.com/users/AdmiralCurtiss/repos', 'html_url': 'https://github.com/AdmiralCurtiss', 'url': 'https://api.github.com/users/AdmiralCurtiss', 'node_id': 'MDQ6VXNlcjQ1MjIyMzc=', 'avatar_url': 'https://avatars.githubusercontent.com/u/4522237?v=4', 'followers_url': 'https://api.github.com/users/AdmiralCurtiss/followers', 'received_events_url': 'https://api.github.com/users/AdmiralCurtiss/received_events', 'events_url': 'https://api.github.com/users/AdmiralCurtiss/events{/privacy}', 'gists_url': 'https://api.github.com/users/AdmiralCurtiss/gists{/gist_id}', 'following_url': 'https://api.github.com/users/AdmiralCurtiss/following{/other_user}', 'gravatar_id': '', 'login': 'AdmiralCurtiss', 'subscriptions_url': 'https://api.github.com/users/AdmiralCurtiss/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/AdmiralCurtiss/starred{/owner}{/repo}', 'id': 4522237}, 'label': 'AdmiralCurtiss:upnp-error-log', 'repo': {'html_url': 'https://github.com/AdmiralCurtiss/dolphin', 'open_issues': 0, 'size': 371263, 'assignees_url': 'https://api.github.com/repos/AdmiralCurtiss/dolphin/assignees{/user}', 'blobs_url': 'https://api.github.com/repos/AdmiralCurtiss/dolphin/git/blobs{/sha}', 'pulls_url': 'https://api.github.com/repos/AdmiralCurtiss/dolphin/pulls{/number}', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'stargazers_count': 1, 'pushed_at': '2021-05-14T14:42:38Z', 'releases_url': 'https://api.github.com/repos/AdmiralCurtiss/dolphin/releases{/id}', 'collaborators_url': 'https://api.github.com/repos/AdmiralCurtiss/dolphin/collaborators{/collaborator}', 'stargazers_url': 'https://api.github.com/repos/AdmiralCurtiss/dolphin/stargazers', 'events_url': 'https://api.github.com/repos/AdmiralCurtiss/dolphin/events', 'compare_url': 'https://api.github.com/repos/AdmiralCurtiss/dolphin/compare/{base}...{head}', 'forks_count': 0, 'watchers_count': 1, 'labels_url': 'https://api.github.com/repos/AdmiralCurtiss/dolphin/labels{/name}', 'has_pages': False, 'git_url': 'git://github.com/AdmiralCurtiss/dolphin.git', 'trees_url': 'https://api.github.com/repos/AdmiralCurtiss/dolphin/git/trees{/sha}', 'languages_url': 'https://api.github.com/repos/AdmiralCurtiss/dolphin/languages', 'archived': False, 'archive_url': 'https://api.github.com/repos/AdmiralCurtiss/dolphin/{archive_format}{/ref}', 'comments_url': 'https://api.github.com/repos/AdmiralCurtiss/dolphin/comments{/number}', 'contributors_url': 'https://api.github.com/repos/AdmiralCurtiss/dolphin/contributors', 'issue_events_url': 'https://api.github.com/repos/AdmiralCurtiss/dolphin/issues/events{/number}', 'git_refs_url': 'https://api.github.com/repos/AdmiralCurtiss/dolphin/git/refs{/sha}', 'url': 'https://api.github.com/repos/AdmiralCurtiss/dolphin', 'teams_url': 'https://api.github.com/repos/AdmiralCurtiss/dolphin/teams', 'forks_url': 'https://api.github.com/repos/AdmiralCurtiss/dolphin/forks', 'has_wiki': True, 'issue_comment_url': 'https://api.github.com/repos/AdmiralCurtiss/dolphin/issues/comments{/number}', 'allow_squash_merge': True, 'delete_branch_on_merge': False, 'branches_url': 'https://api.github.com/repos/AdmiralCurtiss/dolphin/branches{/branch}', 'commits_url': 'https://api.github.com/repos/AdmiralCurtiss/dolphin/commits{/sha}', 'has_issues': False, 'open_issues_count': 0, 'notifications_url': 'https://api.github.com/repos/AdmiralCurtiss/dolphin/notifications{?since,all,participating}', 'forks': 0, 'license': {'node_id': 'MDc6TGljZW5zZTg=', 'key': 'gpl-2.0', 'name': 'GNU General Public License v2.0', 'spdx_id': 'GPL-2.0', 'url': 'https://api.github.com/licenses/gpl-2.0'}, 'node_id': 'MDEwOlJlcG9zaXRvcnkzNjMyMDg4OQ==', 'subscription_url': 'https://api.github.com/repos/AdmiralCurtiss/dolphin/subscription', 'mirror_url': None, 'has_downloads': True, 'fork': True, 'ssh_url': 'git@github.com:AdmiralCurtiss/dolphin.git', 'has_projects': True, 'created_at': '2015-05-26T20:08:21Z', 'subscribers_url': 'https://api.github.com/repos/AdmiralCurtiss/dolphin/subscribers', 'git_commits_url': 'https://api.github.com/repos/AdmiralCurtiss/dolphin/git/commits{/sha}', 'full_name': 'AdmiralCurtiss/dolphin', 'name': 'dolphin', 'allow_merge_commit': True, 'downloads_url': 'https://api.github.com/repos/AdmiralCurtiss/dolphin/downloads', 'disabled': False, 'statuses_url': 'https://api.github.com/repos/AdmiralCurtiss/dolphin/statuses/{sha}', 'watchers': 1, 'id': 36320889, 'issues_url': 'https://api.github.com/repos/AdmiralCurtiss/dolphin/issues{/number}', 'updated_at': '2021-05-14T00:49:22Z', 'hooks_url': 'https://api.github.com/repos/AdmiralCurtiss/dolphin/hooks', 'keys_url': 'https://api.github.com/repos/AdmiralCurtiss/dolphin/keys{/key_id}', 'svn_url': 'https://github.com/AdmiralCurtiss/dolphin', 'deployments_url': 'https://api.github.com/repos/AdmiralCurtiss/dolphin/deployments', 'git_tags_url': 'https://api.github.com/repos/AdmiralCurtiss/dolphin/git/tags{/sha}', 'tags_url': 'https://api.github.com/repos/AdmiralCurtiss/dolphin/tags', 'milestones_url': 'https://api.github.com/repos/AdmiralCurtiss/dolphin/milestones{/number}', 'private': False, 'merges_url': 'https://api.github.com/repos/AdmiralCurtiss/dolphin/merges', 'clone_url': 'https://github.com/AdmiralCurtiss/dolphin.git', 'owner': {'organizations_url': 'https://api.github.com/users/AdmiralCurtiss/orgs', 'repos_url': 'https://api.github.com/users/AdmiralCurtiss/repos', 'html_url': 'https://github.com/AdmiralCurtiss', 'url': 'https://api.github.com/users/AdmiralCurtiss', 'node_id': 'MDQ6VXNlcjQ1MjIyMzc=', 'avatar_url': 'https://avatars.githubusercontent.com/u/4522237?v=4', 'followers_url': 'https://api.github.com/users/AdmiralCurtiss/followers', 'received_events_url': 'https://api.github.com/users/AdmiralCurtiss/received_events', 'events_url': 'https://api.github.com/users/AdmiralCurtiss/events{/privacy}', 'gists_url': 'https://api.github.com/users/AdmiralCurtiss/gists{/gist_id}', 'following_url': 'https://api.github.com/users/AdmiralCurtiss/following{/other_user}', 'gravatar_id': '', 'login': 'AdmiralCurtiss', 'subscriptions_url': 'https://api.github.com/users/AdmiralCurtiss/subscriptions', 'site_admin': False, 'type': 'User', 'starred_url': 'https://api.github.com/users/AdmiralCurtiss/starred{/owner}{/repo}', 'id': 4522237}, 'homepage': 'https://dolphin-emu.org/', 'default_branch': 'master', 'language': 'C++', 'allow_rebase_merge': True, 'contents_url': 'https://api.github.com/repos/AdmiralCurtiss/dolphin/contents/{+path}'}}, 'deletions': 1, 'merged_by': None, 'issue_url': 'https://api.gi