Status for Dolphin Central

Recent events

2026-11-05T15:41:25.158659	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '4368a8517451044abb78363829cf067bccf99798', 'service': 'pr-fifoci-ogl-lin-mesa', 'pr': 14927, 'type': 'pull_request_fifoci_status'}
2026-11-05T15:41:24.454311	{'source': 'webserver', 'raw': {'buildid': 196911, 'number': 5585, 'builderid': 41, 'buildrequestid': 197493, 'workerid': 5, 'masterid': 1, 'started_at': 1793893284, 'complete_at': None, 'locks_duration_s': 0, 'complete': False, 'state_string': 'starting', 'results': None, 'properties': {'baserev': ['66df2b4e18ae6169f9718b869da334022914e305', 'Change'], 'repo': ['dolphin-emu/dolphin', 'Trigger'], 'branchname': ['pr-14927', 'Trigger'], 'pr_id': [14927, 'Trigger'], 'scheduler': ['pr-fifoci-lin', 'Scheduler'], 'workername': ['altair-fifoci', 'Worker'], 'revision': ['4368a8517451044abb78363829cf067bccf99798', 'Build'], 'project': ['', 'Build'], 'owners': [['Central (on behalf of: JoshuaVandaele)'], 'Build'], 'shortrev': ['4368a8', 'Trigger'], 'headrev': ['4368a8517451044abb78363829cf067bccf99798', 'Trigger'], 'buildername': ['pr-fifoci-vk-lin-mesa', 'Builder'], 'buildnumber': [5585, 'Build'], 'repository': ['', 'Build'], 'builderid': [41, 'Builder'], 'branch': ['refs/pull/14927/head', 'Build'], 'codebase': ['', 'Build']}, 'buildrequest': {'buildrequestid': 197493, 'buildsetid': 44211, 'builderid': 41, 'priority': 0, 'claimed': True, 'claimed_at': 1793893284, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1793891123, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 44211, 'external_idstring': None, 'reason': "The Triggerable scheduler named 'pr-fifoci-lin' triggered this build", 'submitted_at': 1793891123, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': 196890, 'parent_relationship': 'Triggered from', 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 13265, 'branch': 'refs/pull/14927/head', 'revision': '4368a8517451044abb78363829cf067bccf99798', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1793889357, 'patch': None}]}, 'parentbuild': {'buildid': 196890, 'number': 10947, 'builderid': 27, 'buildrequestid': 197483, 'workerid': 10, 'masterid': 1, 'started_at': 1793889361, 'complete_at': 1793891123, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {}}, 'parentbuilder': {'builderid': 27, 'name': 'pr-ubu-x64', 'masterids': [1], 'description': None, 'description_format': None, 'description_html': None, 'projectid': None, 'tags': []}, 'builder': {'builderid': 41, 'name': 'pr-fifoci-vk-lin-mesa', 'masterids': [1], 'description': None, 'description_format': None, 'description_html': None, 'projectid': None, 'tags': []}, 'url': 'https://dolphin.ci/#/builders/41/builds/5585'}, 'type': 'raw_bb_hook'}
2026-11-05T15:41:24.428233	{'source': 'webserver', 'raw': {'buildid': 196906, 'number': 9599, 'builderid': 10, 'buildrequestid': 197491, 'workerid': 5, 'masterid': 1, 'started_at': 1793891552, 'complete_at': 1793893284, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {'repository': ['', 'Build'], 'basedir': ['/var/lib/fifoci-worker/worker', 'Worker'], 'warnings-count': [4, 'WarningCountingShellCommand'], 'branchname': ['pr-14927', 'Trigger'], 'baserev': ['66df2b4e18ae6169f9718b869da334022914e305', 'Change'], 'pr_id': [14927, 'Trigger'], 'scheduler': ['pr-fifoci-lin', 'Scheduler'], 'revision': ['4368a8517451044abb78363829cf067bccf99798', 'Build'], 'project': ['', 'Build'], 'got_revision': ['4368a8517451044abb78363829cf067bccf99798', 'GitNoBranch'], 'headrev': ['4368a8517451044abb78363829cf067bccf99798', 'Trigger'], 'shortrev': ['4368a8', 'Trigger'], 'repo': ['dolphin-emu/dolphin', 'Trigger'], 'buildername': ['pr-fifoci-ogl-lin-mesa', 'Builder'], 'builderid': [10, 'Builder'], 'workername': ['altair-fifoci', 'Worker'], 'buildnumber': [9599, 'Build'], 'branch': ['refs/pull/14927/head', 'Build'], 'codebase': ['', 'Build'], 'owners': [['Central (on behalf of: JoshuaVandaele)'], 'Build'], 'builddir': ['/var/lib/fifoci-worker/worker/pr-fifoci-ogl-lin-mesa', 'Worker']}, 'buildrequest': {'buildrequestid': 197491, 'buildsetid': 44211, 'builderid': 10, 'priority': 0, 'claimed': True, 'claimed_at': 1793891552, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1793891123, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 44211, 'external_idstring': None, 'reason': "The Triggerable scheduler named 'pr-fifoci-lin' triggered this build", 'submitted_at': 1793891123, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': 196890, 'parent_relationship': 'Triggered from', 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 13265, 'branch': 'refs/pull/14927/head', 'revision': '4368a8517451044abb78363829cf067bccf99798', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1793889357, 'patch': None}]}, 'parentbuild': {'buildid': 196890, 'number': 10947, 'builderid': 27, 'buildrequestid': 197483, 'workerid': 10, 'masterid': 1, 'started_at': 1793889361, 'complete_at': 1793891123, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {}}, 'parentbuilder': {'builderid': 27, 'name': 'pr-ubu-x64', 'masterids': [1], 'description': None, 'description_format': None, 'description_html': None, 'projectid': None, 'tags': []}, 'builder': {'builderid': 10, 'name': 'pr-fifoci-ogl-lin-mesa', 'masterids': [1], 'description': None, 'description_format': None, 'description_html': None, 'projectid': None, 'tags': []}, 'url': 'https://dolphin.ci/#/builders/10/builds/9599'}, 'type': 'raw_bb_hook'}
2026-11-05T15:41:20.406017	{'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/98y8b324p65rdc44nkgfs38ml3cplndp-central-env/lib/python3.13/site-packages/central/github/authz.py', 'lineno': 29, 'msg': 'New GH %s: %s', 'args': "('dolphin-emu/trusted-developers', 'FioraAeterna,meffij,moncefmechri,Buddybenj,Helios747,hackbar,Zopolis4,bentley,lioncash,mandar1jn,magumagu,booto,magcius,riking,linkmauve,Ziek,Parlane,zackhow,tom-pratt,CasualPokePlayer,ligfx,cristian64,TryTwo,skidau,vladfi1,jloehr,EmptyChaos,deReeperJosh,JordanTheToaster,kamiyo,LPFaint99,OatmealDome,rukai,randomstuff,TellowKrinkle,mimimi085181,RisingFog,PatrickFerry,Filoppi,hrydgard,Pokechu22,ColinDTaylor,Tilka,Stevoisiak,nullgemm,hdcmeta,mathieui,rlnilsen,SuperSamus,CrossVR,SirMangler,mitaclaw,shonumi,DacoTaco,Ebola16,CelestialAmber,CookiePLMonster,orbea,mahdihijazi,Tinob,Linktothepast,mbc07,aldelaro5,jordan-woyak,merryhime,aroulin,LAGonauta,unknownbrackets,skylersaleh,phire,delroth,LillyJadeKatrin,yourWaifu,VampireFlower,Sir-Walrus,Techjar,BhaaLseN,CrystalGamma,NanoByte011,Geotale,tygyh,Lobsterzelda,OrN,jezze,Dentomologist,Phatcat,Sintendo,Hydr8gon,comex,jjdelvalle,Simonx22,krnlyng,Linkinworm,Orphis,endrift,neobrain,zopieux,AdmiralCurtiss,noahpistilli,K0bin,RachelBryk,spxtr,glennricster,JosJuice,smurf3tte,sepalani,Starsam80,marcan,adamdmoss,hthh,mrgreywater,cscd98,Sam-Belliveau,iwubcode,archshift,MayImilae,galop1n,nickbeth,dreamsyntax,ShimmerGlass,corwin-mcknight,JoshuaVandaele,Gamer64ytb,leoetlino,JMC47,crediar,degasus,gwicks,malleoz,mmastrac,kayru,spycrab')", 'type': 'internal_log'}
2026-11-05T15:41:18.420538	{'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/98y8b324p65rdc44nkgfs38ml3cplndp-central-env/lib/python3.13/site-packages/central/github/authz.py', 'lineno': 20, 'msg': 'Refreshing list of trusted users (from %s/%s)', 'args': "('dolphin-emu', 'trusted-developers')", 'type': 'internal_log'}
2026-11-05T15:37:24.169196	{'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/98y8b324p65rdc44nkgfs38ml3cplndp-central-env/lib/python3.13/site-packages/central/github/authz.py', 'lineno': 29, 'msg': 'New GH %s: %s', 'args': "('dolphin-emu/core-developers', 'phire,degasus,Dentomologist,Pokechu22,CrossVR,jordan-woyak,AdmiralCurtiss,JosJuice,linkmauve,iwubcode,Tilka,OatmealDome,leoetlino')", 'type': 'internal_log'}
2026-11-05T15:37:23.644027	{'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/98y8b324p65rdc44nkgfs38ml3cplndp-central-env/lib/python3.13/site-packages/central/github/authz.py', 'lineno': 20, 'msg': 'Refreshing list of trusted users (from %s/%s)', 'args': "('dolphin-emu', 'core-developers')", 'type': 'internal_log'}
2026-11-05T15:36:18.420170	{'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/98y8b324p65rdc44nkgfs38ml3cplndp-central-env/lib/python3.13/site-packages/central/github/authz.py', 'lineno': 29, 'msg': 'New GH %s: %s', 'args': "('dolphin-emu/trusted-developers', 'FioraAeterna,meffij,moncefmechri,Buddybenj,Helios747,hackbar,Zopolis4,bentley,lioncash,mandar1jn,magumagu,booto,magcius,riking,linkmauve,Ziek,Parlane,zackhow,tom-pratt,CasualPokePlayer,ligfx,cristian64,TryTwo,skidau,vladfi1,jloehr,EmptyChaos,deReeperJosh,JordanTheToaster,kamiyo,LPFaint99,OatmealDome,rukai,randomstuff,TellowKrinkle,mimimi085181,RisingFog,PatrickFerry,Filoppi,hrydgard,Pokechu22,ColinDTaylor,Tilka,Stevoisiak,nullgemm,hdcmeta,mathieui,rlnilsen,SuperSamus,CrossVR,SirMangler,mitaclaw,shonumi,DacoTaco,Ebola16,CelestialAmber,CookiePLMonster,orbea,mahdihijazi,Tinob,Linktothepast,mbc07,aldelaro5,jordan-woyak,merryhime,aroulin,LAGonauta,unknownbrackets,skylersaleh,phire,delroth,LillyJadeKatrin,yourWaifu,VampireFlower,Sir-Walrus,Techjar,BhaaLseN,CrystalGamma,NanoByte011,Geotale,tygyh,Lobsterzelda,OrN,jezze,Dentomologist,Phatcat,Sintendo,Hydr8gon,comex,jjdelvalle,Simonx22,krnlyng,Linkinworm,Orphis,endrift,neobrain,zopieux,AdmiralCurtiss,noahpistilli,K0bin,RachelBryk,spxtr,glennricster,JosJuice,smurf3tte,sepalani,Starsam80,marcan,adamdmoss,hthh,mrgreywater,cscd98,Sam-Belliveau,iwubcode,archshift,MayImilae,galop1n,nickbeth,dreamsyntax,ShimmerGlass,corwin-mcknight,JoshuaVandaele,Gamer64ytb,leoetlino,JMC47,crediar,degasus,gwicks,malleoz,mmastrac,kayru,spycrab')", 'type': 'internal_log'}
2026-11-05T15:36:16.436911	{'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/98y8b324p65rdc44nkgfs38ml3cplndp-central-env/lib/python3.13/site-packages/central/github/authz.py', 'lineno': 20, 'msg': 'Refreshing list of trusted users (from %s/%s)', 'args': "('dolphin-emu', 'trusted-developers')", 'type': 'internal_log'}
2026-11-05T15:35:30.691856	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '4368a8517451044abb78363829cf067bccf99798', 'shortrev': '4368a8', 'service': 'pr-win-dbg-x64', 'pr': 14927, 'success': True, 'pending': False, 'url': 'https://dolphin.ci/#/builders/31/builds/10955', 'description': 'Build succeeded on builder pr-win-dbg-x64', 'type': 'build_status'}
2026-11-05T15:35:29.565388	{'source': 'webserver', 'raw': {'buildid': 196910, 'number': 10955, 'builderid': 31, 'buildrequestid': 197484, 'workerid': 4, 'masterid': 1, 'started_at': 1793892342, 'complete_at': 1793892929, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {'baserev': ['66df2b4e18ae6169f9718b869da334022914e305', 'Change'], 'codebase': ['', 'Build'], 'owners': [['Central (on behalf of: JoshuaVandaele)'], 'Build'], 'sln_exists': ['false', 'SetPropertyFromCommand Step'], 'shortrev': ['4368a8', 'Change'], 'repo': ['dolphin-emu/dolphin', 'Change'], 'buildername': ['pr-win-dbg-x64', 'Builder'], 'branchname': ['pr-14927', 'Change'], 'headrev': ['4368a8517451044abb78363829cf067bccf99798', 'Change'], 'repository': ['', 'Build'], 'basedir': ['c:\\buildbot', 'Worker'], 'build_url': ['https://dl.dolphin-emu.org/prs/a6/b6/pr-14927-dolphin-latest-dbg-x64.7z', 'SetProperty'], 'pr_id': [14927, 'Change'], 'scheduler': ['pr', 'Scheduler'], 'builderid': [31, 'Builder'], 'buildnumber': [10955, 'Build'], 'revision': ['4368a8517451044abb78363829cf067bccf99798', 'Build'], 'got_revision': ['4368a8517451044abb78363829cf067bccf99798', 'GitNoBranch'], 'warnings-count': [277, 'WarningCountingShellCommand'], 'workername': ['windows', 'Worker'], 'branch': ['refs/pull/14927/head', 'Build'], 'project': ['', 'Build'], 'builddir': ['c:\\buildbot\\pr-win-dbg-x64', 'Worker']}, 'buildrequest': {'buildrequestid': 197484, 'buildsetid': 44209, 'builderid': 31, 'priority': 0, 'claimed': True, 'claimed_at': 1793892342, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1793889357, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 44209, 'external_idstring': None, 'reason': "The AnyBranchScheduler scheduler named 'pr' triggered this build", 'submitted_at': 1793889357, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': None, 'parent_relationship': None, 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 13265, 'branch': 'refs/pull/14927/head', 'revision': '4368a8517451044abb78363829cf067bccf99798', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1793889357, 'patch': None}]}, 'parentbuild': None, 'parentbuilder': None, 'builder': {'builderid': 31, 'name': 'pr-win-dbg-x64', 'masterids': [1], 'description': None, 'description_format': None, 'description_html': None, 'projectid': None, 'tags': []}, 'url': 'https://dolphin.ci/#/builders/31/builds/10955'}, 'type': 'raw_bb_hook'}
2026-11-05T15:34:40.498258	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '4368a8517451044abb78363829cf067bccf99798', 'service': 'pr-fifoci-mvk-osx-m1', 'pr': 14927, 'type': 'pull_request_fifoci_status'}
2026-11-05T15:34:39.632072	{'source': 'webserver', 'raw': {'buildid': 196908, 'number': 9286, 'builderid': 19, 'buildrequestid': 197489, 'workerid': 8, 'masterid': 1, 'started_at': 1793892224, 'complete_at': 1793892879, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {'branchname': ['pr-14927', 'Trigger'], 'repo': ['dolphin-emu/dolphin', 'Trigger'], 'repository': ['', 'Build'], 'got_revision': ['ca98b3030bcc70e67158ce899a5589aa2ec65d32', 'GitNoBranch'], 'warnings-count': [114, 'WarningCountingShellCommand'], 'baserev': ['66df2b4e18ae6169f9718b869da334022914e305', 'Change'], 'headrev': ['4368a8517451044abb78363829cf067bccf99798', 'Trigger'], 'pr_id': [14927, 'Trigger'], 'scheduler': ['pr-fifoci-osx', 'Scheduler'], 'builderid': [19, 'Builder'], 'branch': ['refs/pull/14927/head', 'Build'], 'codebase': ['', 'Build'], 'project': ['', 'Build'], 'basedir': ['/Users/ci/worker/base', 'Worker'], 'shortrev': ['4368a8', 'Trigger'], 'buildername': ['pr-fifoci-mvk-osx-m1', 'Builder'], 'buildnumber': [9286, 'Build'], 'builddir': ['/Users/ci/worker/base/pr-fifoci-mvk-osx-m1', 'Worker'], 'workername': ['osx-m1', 'Worker'], 'revision': ['4368a8517451044abb78363829cf067bccf99798', 'Build'], 'owners': [['Central (on behalf of: JoshuaVandaele)'], 'Build']}, 'buildrequest': {'buildrequestid': 197489, 'buildsetid': 44210, 'builderid': 19, 'priority': 0, 'claimed': True, 'claimed_at': 1793892224, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1793890891, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 44210, 'external_idstring': None, 'reason': "The Triggerable scheduler named 'pr-fifoci-osx' triggered this build", 'submitted_at': 1793890891, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': 196894, 'parent_relationship': 'Triggered from', 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 13265, 'branch': 'refs/pull/14927/head', 'revision': '4368a8517451044abb78363829cf067bccf99798', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1793889357, 'patch': None}]}, 'parentbuild': {'buildid': 196894, 'number': 10966, 'builderid': 7, 'buildrequestid': 197477, 'workerid': 8, 'masterid': 1, 'started_at': 1793889705, 'complete_at': 1793890891, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {}}, 'parentbuilder': {'builderid': 7, 'name': 'pr-osx-universal', 'masterids': [1], 'description': None, 'description_format': None, 'description_html': None, 'projectid': None, 'tags': []}, 'builder': {'builderid': 19, 'name': 'pr-fifoci-mvk-osx-m1', 'masterids': [1], 'description': None, 'description_format': None, 'description_html': None, 'projectid': None, 'tags': []}, 'url': 'https://dolphin.ci/#/builders/19/builds/9286'}, 'type': 'raw_bb_hook'}
2026-11-05T15:31:16.436489	{'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/98y8b324p65rdc44nkgfs38ml3cplndp-central-env/lib/python3.13/site-packages/central/github/authz.py', 'lineno': 29, 'msg': 'New GH %s: %s', 'args': "('dolphin-emu/trusted-developers', 'FioraAeterna,meffij,moncefmechri,Buddybenj,Helios747,hackbar,Zopolis4,bentley,lioncash,mandar1jn,magumagu,booto,magcius,riking,linkmauve,Ziek,Parlane,zackhow,tom-pratt,CasualPokePlayer,ligfx,cristian64,TryTwo,skidau,vladfi1,jloehr,EmptyChaos,deReeperJosh,JordanTheToaster,kamiyo,LPFaint99,OatmealDome,rukai,randomstuff,TellowKrinkle,mimimi085181,RisingFog,PatrickFerry,Filoppi,hrydgard,Pokechu22,ColinDTaylor,Tilka,Stevoisiak,nullgemm,hdcmeta,mathieui,rlnilsen,SuperSamus,CrossVR,SirMangler,mitaclaw,shonumi,DacoTaco,Ebola16,CelestialAmber,CookiePLMonster,orbea,mahdihijazi,Tinob,Linktothepast,mbc07,aldelaro5,jordan-woyak,merryhime,aroulin,LAGonauta,unknownbrackets,skylersaleh,phire,delroth,LillyJadeKatrin,yourWaifu,VampireFlower,Sir-Walrus,Techjar,BhaaLseN,CrystalGamma,NanoByte011,Geotale,tygyh,Lobsterzelda,OrN,jezze,Dentomologist,Phatcat,Sintendo,Hydr8gon,comex,jjdelvalle,Simonx22,krnlyng,Linkinworm,Orphis,endrift,neobrain,zopieux,AdmiralCurtiss,noahpistilli,K0bin,RachelBryk,spxtr,glennricster,JosJuice,smurf3tte,sepalani,Starsam80,marcan,adamdmoss,hthh,mrgreywater,cscd98,Sam-Belliveau,iwubcode,archshift,MayImilae,galop1n,nickbeth,dreamsyntax,ShimmerGlass,corwin-mcknight,JoshuaVandaele,Gamer64ytb,leoetlino,JMC47,crediar,degasus,gwicks,malleoz,mmastrac,kayru,spycrab')", 'type': 'internal_log'}
2026-11-05T15:31:14.443333	{'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/98y8b324p65rdc44nkgfs38ml3cplndp-central-env/lib/python3.13/site-packages/central/github/authz.py', 'lineno': 20, 'msg': 'Refreshing list of trusted users (from %s/%s)', 'args': "('dolphin-emu', 'trusted-developers')", 'type': 'internal_log'}
2026-11-05T15:29:06.746870	{'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] \x0303s\ufeffepalani\x03 commented on #14986 c7845f: \x1f\x0302https://dolp.in/pr14986#discussion_r4482414918\x03\x1f', 'type': 'notification'}
2026-11-05T15:29:06.746612	{'source': 'webserver', 'gh_type': 'pull_request_review_comment', 'raw': {'action': 'created', 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4482414918', 'pull_request_review_id': 5787483620, 'id': 4482414918, 'node_id': 'PRRC_kwDOALCn2M8AAAABCyw5Rg', 'diff_hunk': '@@ -50,19 +52,28 @@ class CustomAssetCache\n   T* CreateAsset(const CustomAssetLibrary::AssetID& asset_id,\n                  std::shared_ptr<VideoCommon::CustomAssetLibrary> library, AssetListener* listener)\n   {\n-    const auto [it, added] =\n-        m_asset_id_to_handle.try_emplace(asset_id, m_asset_handle_to_data.size());\n+    const auto [it, added] = m_asset_id_to_handle.try_emplace(\n+        asset_id,\n+        std::pair<std::type_index, std::size_t>{typeid(T), m_asset_handle_to_data.size()});\n     if (added)\n     {\n       AssetData asset_data;\n-      asset_data.asset = std::make_unique<T>(std::move(library), asset_id, it->second);\n+      asset_data.asset = std::make_unique<T>(std::move(library), asset_id, it->second.second);\n       asset_data.load_request_time = {};\n       asset_data.has_load_error = false;\n \n-      m_asset_handle_to_data.insert_or_assign(it->second, std::move(asset_data));\n+      m_asset_handle_to_data.insert_or_assign(it->second.second, std::move(asset_data));\n+    }\n+    else if (it->second.first != typeid(T))\n+    {\n+      ERROR_LOG_FMT(\n+          VIDEO,\n+          "Asset \'{}\' already exists in cache but with another type, check your configuration",\n+          asset_id);', 'path': 'Source/Core/VideoCommon/Assets/CustomAssetCache.h', 'commit_id': 'c7845f35e26d52664542a8247c99c8751b498a82', 'original_commit_id': 'c7845f35e26d52664542a8247c99c8751b498a82', 'user': {'login': 'sepalani', 'id': 7890055, 'node_id': 'MDQ6VXNlcjc4OTAwNTU=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7890055?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/sepalani', 'html_url': 'https://github.com/sepalani', 'followers_url': 'https://api.github.com/users/sepalani/followers', 'following_url': 'https://api.github.com/users/sepalani/following{/other_user}', 'gists_url': 'https://api.github.com/users/sepalani/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/sepalani/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/sepalani/subscriptions', 'organizations_url': 'https://api.github.com/users/sepalani/orgs', 'repos_url': 'https://api.github.com/users/sepalani/repos', 'events_url': 'https://api.github.com/users/sepalani/events{/privacy}', 'received_events_url': 'https://api.github.com/users/sepalani/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': 'Would it be possible/useful to have both type names in the log message (i.e. the existing one in cache, and the conflicting one)?', 'created_at': '2026-11-05T15:29:02Z', 'updated_at': '2026-11-05T15:29:02Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14986#discussion_r4482414918', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14986', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4482414918'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14986#discussion_r4482414918'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14986'}}, 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4482414918/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'start_line': 69, 'original_start_line': 69, 'start_side': 'RIGHT', 'line': 72, 'original_line': 72, 'side': 'RIGHT', 'author_association': 'CONTRIBUTOR', 'original_position': 37, 'position': 37, 'subject_type': 'line'}, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14986', 'id': 5164634914, 'node_id': 'PR_kwDOALCn2M8AAAABM9YTIg', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14986', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14986.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14986.patch', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14986', 'number': 14986, 'state': 'open', 'locked': False, 'title': 'VideoCommon: error if the same asset id is used with a different type', 'user': {'login': 'iwubcode', 'id': 15224722, 'node_id': 'MDQ6VXNlcjE1MjI0NzIy', 'avatar_url': 'https://avatars.githubusercontent.com/u/15224722?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/iwubcode', 'html_url': 'https://github.com/iwubcode', 'followers_url': 'https://api.github.com/users/iwubcode/followers', 'following_url': 'https://api.github.com/users/iwubcode/following{/other_user}', 'gists_url': 'https://api.github.com/users/iwubcode/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/iwubcode/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/iwubcode/subscriptions', 'organizations_url': 'https://api.github.com/users/iwubcode/orgs', 'repos_url': 'https://api.github.com/users/iwubcode/repos', 'events_url': 'https://api.github.com/users/iwubcode/events{/privacy}', 'received_events_url': 'https://api.github.com/users/iwubcode/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': 'Replacement for #14980 .  Instead of allowing the same asset id with a second type, we actually error when it occurs.\n\nIn practice, we expect all assets to have a unique id. This will eventually be enforced through our editor design but since these files are currently created by hand, this is a hole that should be addressed.\n\nI confirmed that all the well formed bloom modifications still work.  Tested texture packs.  And also tested what happens with an ill formed graphics mod on master (my example crashed).', 'created_at': '2026-11-05T01:44:22Z', 'updated_at': '2026-11-05T02:00:29Z', 'closed_at': None, 'merged_at': None, 'merge_commit_sha': 'a54e80d916b1f0ee24c9388d3591d782c123d584', 'assignees': [], 'requested_reviewers': [], 'requested_teams': [], 'labels': [], 'milestone': None, 'draft': False, 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14986/commits', 'review_comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14986/comments', 'review_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments{/number}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14986/comments', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/c7845f35e26d52664542a8247c99c8751b498a82', 'head': {'label': 'iwubcode:invalid_asset', 'ref': 'invalid_asset', 'sha': 'c7845f35e26d52664542a8247c99c8751b498a82', 'user': {'login': 'iwubcode', 'id': 15224722, 'node_id': 'MDQ6VXNlcjE1MjI0NzIy', 'avatar_url': 'https://avatars.githubusercontent.com/u/15224722?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/iwubcode', 'html_url': 'https://github.com/iwubcode', 'followers_url': 'https://api.github.com/users/iwubcode/followers', 'following_url': 'https://api.github.com/users/iwubcode/following{/other_user}', 'gists_url': 'https://api.github.com/users/iwubcode/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/iwubcode/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/iwubcode/subscriptions', 'organizations_url': 'https://api.github.com/users/iwubcode/orgs', 'repos_url': 'https://api.github.com/users/iwubcode/repos', 'events_url': 'https://api.github.com/users/iwubcode/events{/privacy}', 'received_events_url': 'https://api.github.com/users/iwubcode/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 77596353, 'node_id': 'MDEwOlJlcG9zaXRvcnk3NzU5NjM1Mw==', 'name': 'dolphin', 'full_name': 'iwubcode/dolphin', 'private': False, 'owner': {'login': 'iwubcode', 'id': 15224722, 'node_id': 'MDQ6VXNlcjE1MjI0NzIy', 'avatar_url': 'https://avatars.githubusercontent.com/u/15224722?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/iwubcode', 'html_url': 'https://github.com/iwubcode', 'followers_url': 'https://api.github.com/users/iwubcode/followers', 'following_url': 'https://api.github.com/users/iwubcode/following{/other_user}', 'gists_url': 'https://api.github.com/users/iwubcode/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/iwubcode/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/iwubcode/subscriptions', 'organizations_url': 'https://api.github.com/users/iwubcode/orgs', 'repos_url': 'https://api.github.com/users/iwubcode/repos', 'events_url': 'https://api.github.com/users/iwubcode/events{/privacy}', 'received_events_url': 'https://api.github.com/users/iwubcode/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/iwubcode/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': True, 'url': 'https://api.github.com/repos/iwubcode/dolphin', 'forks_url': 'https://api.github.com/repos/iwubcode/dolphin/forks', 'keys_url': 'https://api.github.com/repos/iwubcode/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/iwubcode/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/iwubcode/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/iwubcode/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/iwubcode/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/iwubcode/dolphin/events', 'assignees_url': 'https://api.github.com/repos/iwubcode/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/iwubcode/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/iwubcode/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/iwubcode/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/iwubcode/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/iwubcode/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/iwubcode/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/iwubcode/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/iwubcode/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/iwubcode/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/iwubcode/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/iwubcode/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/iwubcode/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/iwubcode/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/iwubcode/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/iwubcode/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/iwubcode/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/iwubcode/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/iwubcode/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/iwubcode/dolphin/merges', 'archive_url': 'https://api.github.com/repos/iwubcode/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/iwubcode/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/iwubcode/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/iwubcode/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/iwubcode/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/iwubcode/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/iwubcode/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/iwubcode/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/iwubcode/dolphin/deployments', 'created_at': '2016-12-29T08:26:39Z', 'updated_at': '2026-11-02T22:53:32Z', 'pushed_at': '2026-11-05T01:39:28Z', 'git_url': 'git://github.com/iwubcode/dolphin.git', 'ssh_url': 'git@github.com:iwubcode/dolphin.git', 'clone_url': 'https://github.com/iwubcode/dolphin.git', 'svn_url': 'https://github.com/iwubcode/dolphin', 'homepage': 'https://dolphin-emu.org/', 'size': 528035, 'stargazers_count': 2, 'watchers_count': 2, 'language': 'C++', 'has_issues': False, 'has_projects': True, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 4, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 1, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': [], 'visibility': 'public', 'forks': 4, 'open_issues': 1, 'watchers': 2, 'default_branch': 'master', 'allow_squash_merge': True, 'allow_merge_commit': True, 'allow_rebase_merge': True, 'allow_auto_merge': False, 'delete_branch_on_merge': False, 'allow_update_branch': False, 'use_squash_pr_title_as_default': False, 'squash_merge_commit_message': 'COMMIT_MESSAGES', 'squash_merge_commit_title': 'COMMIT_OR_PR_TITLE', 'merge_commit_message': 'PR_TITLE', 'merge_commit_title': 'MERGE_MESSAGE'}}, 'base': {'label': 'dolphin-emu:master', 'ref': 'master', 'sha': '66df2b4e18ae6169f9718b869da334022914e305', 'user': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-11-05T13:59:54Z', 'pushed_at': '2026-11-04T20:55:25Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 563769, 'stargazers_count': 15770, 'watchers_count': 15770, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3382, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 484, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3382, 'open_issues': 484, 'watchers': 15770, 'default_branch': 'master', 'allow_squash_merge': False, 'allow_merge_commit': True, 'allow_rebase_merge': False, 'allow_auto_merge': False, 'delete_branch_on_merge': False, 'allow_update_branch': False, 'use_squash_pr_title_as_default': False, 'squash_merge_commit_message': 'COMMIT_MESSAGES', 'squash_merge_commit_title': 'COMMIT_OR_PR_TITLE', 'merge_commit_message': 'PR_TITLE', 'merge_commit_title': 'MERGE_MESSAGE'}}, '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14986'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14986'}, 'issue': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14986'}, 'comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14986/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14986/comments'}, 'review_comment': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments{/number}'}, 'commits': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14986/commits'}, 'statuses': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/c7845f35e26d52664542a8247c99c8751b498a82'}}, 'author_association': 'CONTRIBUTOR', 'auto_merge': None, 'assignee': None, 'active_lock_reason': None}, 'repository': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-11-05T13:59:54Z', 'pushed_at': '2026-11-04T20:55:25Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 563769, 'stargazers_count': 15770, 'watchers_count': 15770, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3382, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 484, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3382, 'open_issues': 484, 'watchers': 15770, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'sepalani', 'id': 7890055, 'node_id': 'MDQ6VXNlcjc4OTAwNTU=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7890055?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/sepalani', 'html_url': 'https://github.com/sepalani', 'followers_url': 'https://api.github.com/users/sepalani/followers', 'following_url': 'https://api.github.com/users/sepalani/following{/other_user}', 'gists_url': 'https://api.github.com/users/sepalani/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/sepalani/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/sepalani/subscriptions', 'organizations_url': 'https://api.github.com/users/sepalani/orgs', 'repos_url': 'https://api.github.com/users/sepalani/repos', 'events_url': 'https://api.github.com/users/sepalani/events{/privacy}', 'received_events_url': 'https://api.github.com/users/sepalani/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'raw_gh_hook'}
2026-11-05T15:29:06.746602	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'sepalani', 'action': 'created', 'id': 14986, 'hash': 'c7845f35e26d52664542a8247c99c8751b498a82', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14986#discussion_r4482414918', 'is_part_of_review': False, 'type': 'gh_pull_request_comment'}
2026-11-05T15:29:06.745495	{'source': 'webserver', 'gh_type': 'pull_request_review', 'raw': {'action': 'submitted', 'review': {'id': 5787483620, 'node_id': 'PRR_kwDOALCn2M8AAAABWPX95A', 'user': {'login': 'sepalani', 'id': 7890055, 'node_id': 'MDQ6VXNlcjc4OTAwNTU=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7890055?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/sepalani', 'html_url': 'https://github.com/sepalani', 'followers_url': 'https://api.github.com/users/sepalani/followers', 'following_url': 'https://api.github.com/users/sepalani/following{/other_user}', 'gists_url': 'https://api.github.com/users/sepalani/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/sepalani/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/sepalani/subscriptions', 'organizations_url': 'https://api.github.com/users/sepalani/orgs', 'repos_url': 'https://api.github.com/users/sepalani/repos', 'events_url': 'https://api.github.com/users/sepalani/events{/privacy}', 'received_events_url': 'https://api.github.com/users/sepalani/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': None, 'commit_id': 'c7845f35e26d52664542a8247c99c8751b498a82', 'state': 'commented', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14986#pullrequestreview-5787483620', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14986', '_links': {'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14986#pullrequestreview-5787483620'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14986'}}, 'submitted_at': '2026-11-05T15:29:02Z', 'updated_at': '2026-11-05T15:29:02Z', 'author_association': 'CONTRIBUTOR'}, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14986', 'id': 5164634914, 'node_id': 'PR_kwDOALCn2M8AAAABM9YTIg', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14986', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14986.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14986.patch', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14986', 'number': 14986, 'state': 'open', 'locked': False, 'title': 'VideoCommon: error if the same asset id is used with a different type', 'user': {'login': 'iwubcode', 'id': 15224722, 'node_id': 'MDQ6VXNlcjE1MjI0NzIy', 'avatar_url': 'https://avatars.githubusercontent.com/u/15224722?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/iwubcode', 'html_url': 'https://github.com/iwubcode', 'followers_url': 'https://api.github.com/users/iwubcode/followers', 'following_url': 'https://api.github.com/users/iwubcode/following{/other_user}', 'gists_url': 'https://api.github.com/users/iwubcode/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/iwubcode/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/iwubcode/subscriptions', 'organizations_url': 'https://api.github.com/users/iwubcode/orgs', 'repos_url': 'https://api.github.com/users/iwubcode/repos', 'events_url': 'https://api.github.com/users/iwubcode/events{/privacy}', 'received_events_url': 'https://api.github.com/users/iwubcode/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': 'Replacement for #14980 .  Instead of allowing the same asset id with a second type, we actually error when it occurs.\n\nIn practice, we expect all assets to have a unique id. This will eventually be enforced through our editor design but since these files are currently created by hand, this is a hole that should be addressed.\n\nI confirmed that all the well formed bloom modifications still work.  Tested texture packs.  And also tested what happens with an ill formed graphics mod on master (my example crashed).', 'created_at': '2026-11-05T01:44:22Z', 'updated_at': '2026-11-05T02:00:29Z', 'closed_at': None, 'merged_at': None, 'merge_commit_sha': 'a54e80d916b1f0ee24c9388d3591d782c123d584', 'assignees': [], 'requested_reviewers': [], 'requested_teams': [], 'labels': [], 'milestone': None, 'draft': False, 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14986/commits', 'review_comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14986/comments', 'review_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments{/number}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14986/comments', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/c7845f35e26d52664542a8247c99c8751b498a82', 'head': {'label': 'iwubcode:invalid_asset', 'ref': 'invalid_asset', 'sha': 'c7845f35e26d52664542a8247c99c8751b498a82', 'user': {'login': 'iwubcode', 'id': 15224722, 'node_id': 'MDQ6VXNlcjE1MjI0NzIy', 'avatar_url': 'https://avatars.githubusercontent.com/u/15224722?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/iwubcode', 'html_url': 'https://github.com/iwubcode', 'followers_url': 'https://api.github.com/users/iwubcode/followers', 'following_url': 'https://api.github.com/users/iwubcode/following{/other_user}', 'gists_url': 'https://api.github.com/users/iwubcode/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/iwubcode/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/iwubcode/subscriptions', 'organizations_url': 'https://api.github.com/users/iwubcode/orgs', 'repos_url': 'https://api.github.com/users/iwubcode/repos', 'events_url': 'https://api.github.com/users/iwubcode/events{/privacy}', 'received_events_url': 'https://api.github.com/users/iwubcode/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 77596353, 'node_id': 'MDEwOlJlcG9zaXRvcnk3NzU5NjM1Mw==', 'name': 'dolphin', 'full_name': 'iwubcode/dolphin', 'private': False, 'owner': {'login': 'iwubcode', 'id': 15224722, 'node_id': 'MDQ6VXNlcjE1MjI0NzIy', 'avatar_url': 'https://avatars.githubusercontent.com/u/15224722?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/iwubcode', 'html_url': 'https://github.com/iwubcode', 'followers_url': 'https://api.github.com/users/iwubcode/followers', 'following_url': 'https://api.github.com/users/iwubcode/following{/other_user}', 'gists_url': 'https://api.github.com/users/iwubcode/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/iwubcode/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/iwubcode/subscriptions', 'organizations_url': 'https://api.github.com/users/iwubcode/orgs', 'repos_url': 'https://api.github.com/users/iwubcode/repos', 'events_url': 'https://api.github.com/users/iwubcode/events{/privacy}', 'received_events_url': 'https://api.github.com/users/iwubcode/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/iwubcode/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': True, 'url': 'https://api.github.com/repos/iwubcode/dolphin', 'forks_url': 'https://api.github.com/repos/iwubcode/dolphin/forks', 'keys_url': 'https://api.github.com/repos/iwubcode/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/iwubcode/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/iwubcode/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/iwubcode/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/iwubcode/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/iwubcode/dolphin/events', 'assignees_url': 'https://api.github.com/repos/iwubcode/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/iwubcode/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/iwubcode/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/iwubcode/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/iwubcode/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/iwubcode/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/iwubcode/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/iwubcode/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/iwubcode/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/iwubcode/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/iwubcode/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/iwubcode/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/iwubcode/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/iwubcode/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/iwubcode/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/iwubcode/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/iwubcode/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/iwubcode/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/iwubcode/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/iwubcode/dolphin/merges', 'archive_url': 'https://api.github.com/repos/iwubcode/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/iwubcode/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/iwubcode/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/iwubcode/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/iwubcode/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/iwubcode/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/iwubcode/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/iwubcode/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/iwubcode/dolphin/deployments', 'created_at': '2016-12-29T08:26:39Z', 'updated_at': '2026-11-02T22:53:32Z', 'pushed_at': '2026-11-05T01:39:28Z', 'git_url': 'git://github.com/iwubcode/dolphin.git', 'ssh_url': 'git@github.com:iwubcode/dolphin.git', 'clone_url': 'https://github.com/iwubcode/dolphin.git', 'svn_url': 'https://github.com/iwubcode/dolphin', 'homepage': 'https://dolphin-emu.org/', 'size': 528035, 'stargazers_count': 2, 'watchers_count': 2, 'language': 'C++', 'has_issues': False, 'has_projects': True, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 4, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 1, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': [], 'visibility': 'public', 'forks': 4, 'open_issues': 1, 'watchers': 2, 'default_branch': 'master', 'allow_squash_merge': True, 'allow_merge_commit': True, 'allow_rebase_merge': True, 'allow_auto_merge': False, 'delete_branch_on_merge': False, 'allow_update_branch': False, 'use_squash_pr_title_as_default': False, 'squash_merge_commit_message': 'COMMIT_MESSAGES', 'squash_merge_commit_title': 'COMMIT_OR_PR_TITLE', 'merge_commit_message': 'PR_TITLE', 'merge_commit_title': 'MERGE_MESSAGE'}}, 'base': {'label': 'dolphin-emu:master', 'ref': 'master', 'sha': '66df2b4e18ae6169f9718b869da334022914e305', 'user': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-11-05T13:59:54Z', 'pushed_at': '2026-11-04T20:55:25Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 563769, 'stargazers_count': 15770, 'watchers_count': 15770, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3382, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 484, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3382, 'open_issues': 484, 'watchers': 15770, 'default_branch': 'master', 'allow_squash_merge': False, 'allow_merge_commit': True, 'allow_rebase_merge': False, 'allow_auto_merge': False, 'delete_branch_on_merge': False, 'allow_update_branch': False, 'use_squash_pr_title_as_default': False, 'squash_merge_commit_message': 'COMMIT_MESSAGES', 'squash_merge_commit_title': 'COMMIT_OR_PR_TITLE', 'merge_commit_message': 'PR_TITLE', 'merge_commit_title': 'MERGE_MESSAGE'}}, '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14986'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14986'}, 'issue': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14986'}, 'comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14986/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14986/comments'}, 'review_comment': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments{/number}'}, 'commits': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14986/commits'}, 'statuses': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/c7845f35e26d52664542a8247c99c8751b498a82'}}, 'author_association': 'CONTRIBUTOR', 'auto_merge': None, 'assignee': None, 'active_lock_reason': None}, 'repository': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-11-05T13:59:54Z', 'pushed_at': '2026-11-04T20:55:25Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 563769, 'stargazers_count': 15770, 'watchers_count': 15770, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3382, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 484, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3382, 'open_issues': 484, 'watchers': 15770, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'sepalani', 'id': 7890055, 'node_id': 'MDQ6VXNlcjc4OTAwNTU=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7890055?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/sepalani', 'html_url': 'https://github.com/sepalani', 'followers_url': 'https://api.github.com/users/sepalani/followers', 'following_url': 'https://api.github.com/users/sepalani/following{/other_user}', 'gists_url': 'https://api.github.com/users/sepalani/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/sepalani/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/sepalani/subscriptions', 'organizations_url': 'https://api.github.com/users/sepalani/orgs', 'repos_url': 'https://api.github.com/users/sepalani/repos', 'events_url': 'https://api.github.com/users/sepalani/events{/privacy}', 'received_events_url': 'https://api.github.com/users/sepalani/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'raw_gh_hook'}
2026-11-05T15:29:06.745474	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'sepalani', 'action': 'submitted', 'pr_id': 14986, 'pr_title': 'VideoCommon: error if the same asset id is used with a different type', 'state': 'commented', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14986#pullrequestreview-5787483620', 'comments': [{'id': 4482414918, 'node_id': 'PRRC_kwDOALCn2M8AAAABCyw5Rg', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4482414918', 'pull_request_review_id': 5787483620, 'diff_hunk': '@@ -50,19 +52,28 @@ class CustomAssetCache\n   T* CreateAsset(const CustomAssetLibrary::AssetID& asset_id,\n                  std::shared_ptr<VideoCommon::CustomAssetLibrary> library, AssetListener* listener)\n   {\n-    const auto [it, added] =\n-        m_asset_id_to_handle.try_emplace(asset_id, m_asset_handle_to_data.size());\n+    const auto [it, added] = m_asset_id_to_handle.try_emplace(\n+        asset_id,\n+        std::pair<std::type_index, std::size_t>{typeid(T), m_asset_handle_to_data.size()});\n     if (added)\n     {\n       AssetData asset_data;\n-      asset_data.asset = std::make_unique<T>(std::move(library), asset_id, it->second);\n+      asset_data.asset = std::make_unique<T>(std::move(library), asset_id, it->second.second);\n       asset_data.load_request_time = {};\n       asset_data.has_load_error = false;\n \n-      m_asset_handle_to_data.insert_or_assign(it->second, std::move(asset_data));\n+      m_asset_handle_to_data.insert_or_assign(it->second.second, std::move(asset_data));\n+    }\n+    else if (it->second.first != typeid(T))\n+    {\n+      ERROR_LOG_FMT(\n+          VIDEO,\n+          "Asset \'{}\' already exists in cache but with another type, check your configuration",\n+          asset_id);', 'path': 'Source/Core/VideoCommon/Assets/CustomAssetCache.h', 'position': 37, 'original_position': 37, 'commit_id': 'c7845f35e26d52664542a8247c99c8751b498a82', 'user': {'login': 'sepalani', 'id': 7890055, 'node_id': 'MDQ6VXNlcjc4OTAwNTU=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7890055?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/sepalani', 'html_url': 'https://github.com/sepalani', 'followers_url': 'https://api.github.com/users/sepalani/followers', 'following_url': 'https://api.github.com/users/sepalani/following{/other_user}', 'gists_url': 'https://api.github.com/users/sepalani/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/sepalani/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/sepalani/subscriptions', 'organizations_url': 'https://api.github.com/users/sepalani/orgs', 'repos_url': 'https://api.github.com/users/sepalani/repos', 'events_url': 'https://api.github.com/users/sepalani/events{/privacy}', 'received_events_url': 'https://api.github.com/users/sepalani/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': 'Would it be possible/useful to have both type names in the log message (i.e. the existing one in cache, and the conflicting one)?', 'created_at': '2026-11-05T15:29:02Z', 'updated_at': '2026-11-05T15:29:02Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14986#discussion_r4482414918', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14986', 'author_association': 'MEMBER', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4482414918'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14986#discussion_r4482414918'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14986'}}, 'original_commit_id': 'c7845f35e26d52664542a8247c99c8751b498a82', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4482414918/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'is_copilot_code_review': False, 'copilot_code_review_sources': []}], 'type': 'gh_pull_request_review'}
2026-11-05T15:27:23.643769	{'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/98y8b324p65rdc44nkgfs38ml3cplndp-central-env/lib/python3.13/site-packages/central/github/authz.py', 'lineno': 29, 'msg': 'New GH %s: %s', 'args': "('dolphin-emu/core-developers', 'phire,degasus,Dentomologist,Pokechu22,CrossVR,jordan-woyak,AdmiralCurtiss,JosJuice,linkmauve,iwubcode,Tilka,OatmealDome,leoetlino')", 'type': 'internal_log'}
2026-11-05T15:27:23.216323	{'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/98y8b324p65rdc44nkgfs38ml3cplndp-central-env/lib/python3.13/site-packages/central/github/authz.py', 'lineno': 20, 'msg': 'Refreshing list of trusted users (from %s/%s)', 'args': "('dolphin-emu', 'core-developers')", 'type': 'internal_log'}
2026-11-05T15:26:14.442497	{'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/98y8b324p65rdc44nkgfs38ml3cplndp-central-env/lib/python3.13/site-packages/central/github/authz.py', 'lineno': 29, 'msg': 'New GH %s: %s', 'args': "('dolphin-emu/trusted-developers', 'FioraAeterna,meffij,moncefmechri,Buddybenj,Helios747,hackbar,Zopolis4,bentley,lioncash,mandar1jn,magumagu,booto,magcius,riking,linkmauve,Ziek,Parlane,zackhow,tom-pratt,CasualPokePlayer,ligfx,cristian64,TryTwo,skidau,vladfi1,jloehr,EmptyChaos,deReeperJosh,JordanTheToaster,kamiyo,LPFaint99,OatmealDome,rukai,randomstuff,TellowKrinkle,mimimi085181,RisingFog,PatrickFerry,Filoppi,hrydgard,Pokechu22,ColinDTaylor,Tilka,Stevoisiak,nullgemm,hdcmeta,mathieui,rlnilsen,SuperSamus,CrossVR,SirMangler,mitaclaw,shonumi,DacoTaco,Ebola16,CelestialAmber,CookiePLMonster,orbea,mahdihijazi,Tinob,Linktothepast,mbc07,aldelaro5,jordan-woyak,merryhime,aroulin,LAGonauta,unknownbrackets,skylersaleh,phire,delroth,LillyJadeKatrin,yourWaifu,VampireFlower,Sir-Walrus,Techjar,BhaaLseN,CrystalGamma,NanoByte011,Geotale,tygyh,Lobsterzelda,OrN,jezze,Dentomologist,Phatcat,Sintendo,Hydr8gon,comex,jjdelvalle,Simonx22,krnlyng,Linkinworm,Orphis,endrift,neobrain,zopieux,AdmiralCurtiss,noahpistilli,K0bin,RachelBryk,spxtr,glennricster,JosJuice,smurf3tte,sepalani,Starsam80,marcan,adamdmoss,hthh,mrgreywater,cscd98,Sam-Belliveau,iwubcode,archshift,MayImilae,galop1n,nickbeth,dreamsyntax,ShimmerGlass,corwin-mcknight,JoshuaVandaele,Gamer64ytb,leoetlino,JMC47,crediar,degasus,gwicks,malleoz,mmastrac,kayru,spycrab')", 'type': 'internal_log'}
2026-11-05T15:26:13.476112	{'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] build for #14927 \x0304failed\x03 on builders [pr-win-dbg-x64]: \x1f\x0302https://dolphin.ci/#/builders/31/builds/10954\x03\x1f', 'type': 'notification'}
2026-11-05T15:26:12.581304	{'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/98y8b324p65rdc44nkgfs38ml3cplndp-central-env/lib/python3.13/site-packages/central/github/authz.py', 'lineno': 20, 'msg': 'Refreshing list of trusted users (from %s/%s)', 'args': "('dolphin-emu', 'trusted-developers')", 'type': 'internal_log'}

Recent 'build_status' events

2026-11-05T15:35:30.691856	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '4368a8517451044abb78363829cf067bccf99798', 'shortrev': '4368a8', 'service': 'pr-win-dbg-x64', 'pr': 14927, 'success': True, 'pending': False, 'url': 'https://dolphin.ci/#/builders/31/builds/10955', 'description': 'Build succeeded on builder pr-win-dbg-x64', 'type': 'build_status'}
2026-11-05T15:25:46.720320	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '4368a8517451044abb78363829cf067bccf99798', 'shortrev': '4368a8', 'service': 'pr-deb-dbg-x64', 'pr': 14927, 'success': True, 'pending': False, 'url': 'https://dolphin.ci/#/builders/1/builds/10946', 'description': 'Build succeeded on builder pr-deb-dbg-x64', 'type': 'build_status'}
2026-11-05T15:25:44.190227	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '4368a8517451044abb78363829cf067bccf99798', 'shortrev': '4368a8', 'service': 'pr-win-dbg-x64', 'pr': 14927, 'success': False, 'pending': True, 'url': 'https://dolphin.ci/#/builders/31/builds/10955', 'description': 'Auto build in progress on builder pr-win-dbg-x64', 'type': 'build_status'}
2026-11-05T15:25:43.474652	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': 'da5b636e5470a9c17bde02b29107c67cfe15e256', 'shortrev': 'da5b63', 'service': 'pr-win-dbg-x64', 'pr': 14927, 'success': False, 'pending': False, 'url': 'https://dolphin.ci/#/builders/31/builds/10954', 'description': 'Build failed on builder pr-win-dbg-x64', 'type': 'build_status'}
2026-11-05T15:25:42.024418	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': 'da5b636e5470a9c17bde02b29107c67cfe15e256', 'shortrev': 'da5b63', 'service': 'pr-win-dbg-x64', 'pr': 14927, 'success': False, 'pending': True, 'url': 'https://dolphin.ci/#/builders/31/builds/10954', 'description': 'Auto build in progress on builder pr-win-dbg-x64', 'type': 'build_status'}
2026-11-05T15:25:41.316740	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '4368a8517451044abb78363829cf067bccf99798', 'shortrev': '4368a8', 'service': 'pr-win-x64', 'pr': 14927, 'success': True, 'pending': False, 'url': 'https://dolphin.ci/#/builders/2/builds/10948', 'description': 'Build succeeded on builder pr-win-x64', 'type': 'build_status'}
2026-11-05T15:14:06.848681	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '4368a8517451044abb78363829cf067bccf99798', 'shortrev': '4368a8', 'service': 'pr-appimage-arm64', 'pr': 14927, 'success': True, 'pending': False, 'url': 'https://dolphin.ci/#/builders/50/builds/193', 'description': 'Build succeeded on builder pr-appimage-arm64', 'type': 'build_status'}
2026-11-05T15:08:12.957530	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '4368a8517451044abb78363829cf067bccf99798', 'shortrev': '4368a8', 'service': 'pr-win-x64', 'pr': 14927, 'success': False, 'pending': True, 'url': 'https://dolphin.ci/#/builders/2/builds/10948', 'description': 'Auto build in progress on builder pr-win-x64', 'type': 'build_status'}
2026-11-05T15:08:12.214751	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': 'da5b636e5470a9c17bde02b29107c67cfe15e256', 'shortrev': 'da5b63', 'service': 'pr-win-x64', 'pr': 14927, 'success': False, 'pending': False, 'url': 'https://dolphin.ci/#/builders/2/builds/10947', 'description': 'Build failed on builder pr-win-x64', 'type': 'build_status'}
2026-11-05T15:08:11.246934	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': 'da5b636e5470a9c17bde02b29107c67cfe15e256', 'shortrev': 'da5b63', 'service': 'pr-win-x64', 'pr': 14927, 'success': False, 'pending': True, 'url': 'https://dolphin.ci/#/builders/2/builds/10947', 'description': 'Auto build in progress on builder pr-win-x64', 'type': 'build_status'}
2026-11-05T15:08:10.304384	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '4368a8517451044abb78363829cf067bccf99798', 'shortrev': '4368a8', 'service': 'pr-win-arm64', 'pr': 14927, 'success': True, 'pending': False, 'url': 'https://dolphin.ci/#/builders/13/builds/10947', 'description': 'Build succeeded on builder pr-win-arm64', 'type': 'build_status'}
2026-11-05T15:07:10.016116	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '4368a8517451044abb78363829cf067bccf99798', 'shortrev': '4368a8', 'service': 'pr-android', 'pr': 14927, 'success': False, 'pending': False, 'url': 'https://dolphin.ci/#/builders/22/builds/10953', 'description': 'Build failed on builder pr-android', 'type': 'build_status'}
2026-11-05T15:06:35.922002	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '4368a8517451044abb78363829cf067bccf99798', 'shortrev': '4368a8', 'service': 'pr-flatpak-arm64', 'pr': 14927, 'success': True, 'pending': False, 'url': 'https://dolphin.ci/#/builders/44/builds/6035', 'description': 'Build succeeded on builder pr-flatpak-arm64', 'type': 'build_status'}
2026-11-05T15:06:19.219760	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '4368a8517451044abb78363829cf067bccf99798', 'shortrev': '4368a8', 'service': 'pr-appimage-x64', 'pr': 14927, 'success': True, 'pending': False, 'url': 'https://dolphin.ci/#/builders/49/builds/199', 'description': 'Build succeeded on builder pr-appimage-x64', 'type': 'build_status'}
2026-11-05T15:05:24.866189	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '4368a8517451044abb78363829cf067bccf99798', 'shortrev': '4368a8', 'service': 'pr-ubu-x64', 'pr': 14927, 'success': True, 'pending': False, 'url': 'https://dolphin.ci/#/builders/27/builds/10947', 'description': 'Build succeeded on builder pr-ubu-x64', 'type': 'build_status'}
2026-11-05T15:02:58.137094	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': 'da5b636e5470a9c17bde02b29107c67cfe15e256', 'shortrev': 'da5b63', 'service': 'pr-win-arm64', 'pr': 14927, 'success': True, 'pending': False, 'url': 'https://dolphin.ci/#/builders/13/builds/10946', 'description': 'Build succeeded on builder pr-win-arm64', 'type': 'build_status'}
2026-11-05T15:02:57.299947	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '4368a8517451044abb78363829cf067bccf99798', 'shortrev': '4368a8', 'service': 'pr-win-arm64', 'pr': 14927, 'success': False, 'pending': True, 'url': 'https://dolphin.ci/#/builders/13/builds/10947', 'description': 'Auto build in progress on builder pr-win-arm64', 'type': 'build_status'}
2026-11-05T15:02:10.338877	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '4368a8517451044abb78363829cf067bccf99798', 'shortrev': '4368a8', 'service': 'pr-deb-dbg-x64', 'pr': 14927, 'success': False, 'pending': True, 'url': 'https://dolphin.ci/#/builders/1/builds/10946', 'description': 'Auto build in progress on builder pr-deb-dbg-x64', 'type': 'build_status'}
2026-11-05T15:02:09.544398	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': 'da5b636e5470a9c17bde02b29107c67cfe15e256', 'shortrev': 'da5b63', 'service': 'pr-deb-dbg-x64', 'pr': 14927, 'success': False, 'pending': False, 'url': 'https://dolphin.ci/#/builders/1/builds/10945', 'description': 'Build failed on builder pr-deb-dbg-x64', 'type': 'build_status'}
2026-11-05T15:02:08.390710	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': 'da5b636e5470a9c17bde02b29107c67cfe15e256', 'shortrev': 'da5b63', 'service': 'pr-deb-dbg-x64', 'pr': 14927, 'success': False, 'pending': True, 'url': 'https://dolphin.ci/#/builders/1/builds/10945', 'description': 'Auto build in progress on builder pr-deb-dbg-x64', 'type': 'build_status'}
2026-11-05T15:02:07.594047	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '4368a8517451044abb78363829cf067bccf99798', 'shortrev': '4368a8', 'service': 'pr-deb-x64', 'pr': 14927, 'success': True, 'pending': False, 'url': 'https://dolphin.ci/#/builders/26/builds/10945', 'description': 'Build succeeded on builder pr-deb-x64', 'type': 'build_status'}
2026-11-05T15:01:33.305072	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '4368a8517451044abb78363829cf067bccf99798', 'shortrev': '4368a8', 'service': 'pr-osx-universal', 'pr': 14927, 'success': True, 'pending': False, 'url': 'https://dolphin.ci/#/builders/7/builds/10966', 'description': 'Build succeeded on builder pr-osx-universal', 'type': 'build_status'}
2026-11-05T14:57:58.015280	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': 'da5b636e5470a9c17bde02b29107c67cfe15e256', 'shortrev': 'da5b63', 'service': 'pr-flatpak-arm64', 'pr': 14927, 'success': True, 'pending': False, 'url': 'https://dolphin.ci/#/builders/44/builds/6034', 'description': 'Build succeeded on builder pr-flatpak-arm64', 'type': 'build_status'}
2026-11-05T14:57:57.179417	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '4368a8517451044abb78363829cf067bccf99798', 'shortrev': '4368a8', 'service': 'pr-flatpak-arm64', 'pr': 14927, 'success': False, 'pending': True, 'url': 'https://dolphin.ci/#/builders/44/builds/6035', 'description': 'Auto build in progress on builder pr-flatpak-arm64', 'type': 'build_status'}
2026-11-05T14:55:39.332709	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': 'da5b636e5470a9c17bde02b29107c67cfe15e256', 'shortrev': 'da5b63', 'service': 'pr-deb-x64', 'pr': 14927, 'success': True, 'pending': False, 'url': 'https://dolphin.ci/#/builders/26/builds/10944', 'description': 'Build succeeded on builder pr-deb-x64', 'type': 'build_status'}

Recent 'command_message' events

2026-11-05T01:40:57.598915	{'source': 'discord', 'who': 'billiard26', 'what': '<@1320924779556900984> please rebuild PR 14985', 'type': 'command_message'}
2026-11-03T04:33:32.849720	{'source': 'discord', 'who': 'billiard26', 'what': '<@1320924779556900984> please rebuild PR 14976', 'type': 'command_message'}
2026-11-03T00:54:46.597895	{'source': 'discord', 'who': 'oatmealdome', 'what': '<@1320924779556900984> please rebuild 14974', 'type': 'command_message'}
2026-11-03T00:54:40.466839	{'source': 'discord', 'who': 'oatmealdome', 'what': '<@1320924779556900984> please rebuild 14973', 'type': 'command_message'}
2026-11-03T00:54:34.946966	{'source': 'discord', 'who': 'oatmealdome', 'what': '<@1320924779556900984> please rebuild 14971', 'type': 'command_message'}
2026-11-03T00:54:29.214769	{'source': 'discord', 'who': 'oatmealdome', 'what': '<@1320924779556900984> please rebuild 14970', 'type': 'command_message'}
2026-11-03T00:54:22.253871	{'source': 'discord', 'who': 'oatmealdome', 'what': '<@1320924779556900984> please rebuild 14968', 'type': 'command_message'}
2026-11-03T00:54:17.087271	{'source': 'discord', 'who': 'oatmealdome', 'what': '<@1320924779556900984> please rebuild 14969', 'type': 'command_message'}
2026-11-03T00:48:44.202589	{'source': 'discord', 'who': 'billiard26', 'what': '<@1320924779556900984> please rebuild PR 14923', 'type': 'command_message'}
2026-11-02T23:13:58.810667	{'source': 'discord', 'who': 'oatmealdome', 'what': '<@1320924779556900984> please rebuild 14972', 'type': 'command_message'}
2026-11-02T17:11:49.601973	{'source': 'discord', 'who': 'josjuice', 'what': '<@1320924779556900984> please rebuild 14962', 'type': 'command_message'}
2026-11-02T01:43:57.146928	{'source': 'discord', 'who': 'billiard26', 'what': '<@1320924779556900984> please rebuild PR 14969', 'type': 'command_message'}
2026-11-02T01:38:36.056172	{'source': 'discord', 'who': 'billiard26', 'what': '<@1320924779556900984> please rebuild PR 14968', 'type': 'command_message'}

Recent 'dev_wark' events

2026-11-05T01:40:57.598944	{'source': 'discord', 'accepted': True, 'type': 'dev_wark'}
2026-11-03T04:33:32.849747	{'source': 'discord', 'accepted': True, 'type': 'dev_wark'}
2026-11-03T00:48:44.202673	{'source': 'discord', 'accepted': True, 'type': 'dev_wark'}
2026-11-02T01:43:57.146980	{'source': 'discord', 'accepted': True, 'type': 'dev_wark'}
2026-11-02T01:38:36.056200	{'source': 'discord', 'accepted': True, 'type': 'dev_wark'}

Recent 'gh_issue_comment' events

2026-11-05T12:27:26.841043	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'linkmauve', 'action': 'edited', 'id': 14962, 'title': 'Add Wayland support (Linux only)', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14962#issuecomment-6657447106', 'safe_author': True, 'body': 'Sorry about the Shift confusion, I had always configured them differently on xcb, so I didn’t think it was a recent regression.\r\n\r\nAs I was playing Xenoblade Chronicles, Dolphin closed with these messages in the terminal:\r\n```\r\nError sending request for wl_surface.attach: Broken pipe\r\n58:06:956 VideoBackends/Vulkan/VKGfx.cpp:270 I[Video]: Resizing swap chain due to suboptimal/out-of-date\r\n58:06:969 VideoBackends/Vulkan/VulkanLoader.cpp:245 E[Video]: (SelectSurfaceFormat:186) vkGetPhysicalDeviceSurfaceFormatsKHR failed:  (-1000000000: VK_ERROR_SURFACE_LOST_KHR)\r\nThe Wayland connection broke. Did the Wayland compositor die?\r\n```\r\n\r\nI had never encountered that on xcb, so it’s possibly a regression too.\r\n\r\nI’m on Mesa f4f170b3423 built a month ago, using radv on a RX\u202f580.  I’ll update to latest main and report back if I can reproduce.\r\n\r\nEdit: on the Weston side, here is the log at the time of the crash:\r\n```\r\n[12:58:06.935] libwayland: Data too big for buffer (4092 + 12 > 4096).\r\n[12:58:06.940] libwayland: error in client communication (pid 2849226)\r\n```\r\n\r\nEdit 2: there is actually a memory leak apparently, here is a screenshot of `btop`’s memory graph, we can see it increasing linearly before being buffered away by zram, and once that one is filled too the OOM kills it: <img width="427" height="391" alt="image" src="https://github.com/user-attachments/assets/e0433761-9d35-4a5e-a239-e0c72d154841" />\r\n\r\nEdit 3: it seems that leak comes from Qt, or possibly the way we’re using it: <img width="1920" height="1080" alt="image" src="https://github.com/user-attachments/assets/fcc485d9-b334-47de-aa5d-363d7c167b11" />\r\n\r\nWe are allocating a huge amount of temporaries in `QtWaylandClient::QWaylandInputDevice::Pointer::updateCursor() in libQt6WaylandClient.so.6` as well, maybe that’s related, but they don’t get leaked.', 'raw': {'action': 'edited', 'changes': {'body': {'from': 'Sorry about the Shift confusion, I had always configured them differently on xcb, so I didn’t think it was a recent regression.\r\n\r\nAs I was playing Xenoblade Chronicles, Dolphin closed with these messages in the terminal:\r\n```\r\nError sending request for wl_surface.attach: Broken pipe\r\n58:06:956 VideoBackends/Vulkan/VKGfx.cpp:270 I[Video]: Resizing swap chain due to suboptimal/out-of-date\r\n58:06:969 VideoBackends/Vulkan/VulkanLoader.cpp:245 E[Video]: (SelectSurfaceFormat:186) vkGetPhysicalDeviceSurfaceFormatsKHR failed:  (-1000000000: VK_ERROR_SURFACE_LOST_KHR)\r\nThe Wayland connection broke. Did the Wayland compositor die?\r\n```\r\n\r\nI had never encountered that on xcb, so it’s possibly a regression too.\r\n\r\nI’m on Mesa f4f170b3423 built a month ago, using radv on a RX\u202f580.  I’ll update to latest main and report back if I can reproduce.\r\n\r\nEdit: on the Weston side, here is the log at the time of the crash:\r\n```\r\n[12:58:06.935] libwayland: Data too big for buffer (4092 + 12 > 4096).\r\n[12:58:06.940] libwayland: error in client communication (pid 2849226)\r\n```\r\n\r\nEdit 2: there is actually a memory leak apparently, here is a screenshot of `btop`’s memory graph, we can see it increasing linearly before being buffered away by zram, and once that one is filled too the OOM kills it: <img width="427" height="391" alt="image" src="https://github.com/user-attachments/assets/e0433761-9d35-4a5e-a239-e0c72d154841" />\r\n\r\nEdit 3: it seems that leak comes from Qt, or possibly the way we’re using it: <img width="1920" height="1080" alt="image" src="https://github.com/user-attachments/assets/fcc485d9-b334-47de-aa5d-363d7c167b11" />'}}, 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14962', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14962/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14962/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14962/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14962', 'id': 6118829388, 'node_id': 'PR_kwDOALCn2M8AAAABLwnuUQ', 'number': 14962, 'title': 'Add Wayland support (Linux only)', 'user': {'login': 'ellierocks', 'id': 275226857, 'node_id': 'U_kgDOEGeg6Q', 'avatar_url': 'https://avatars.githubusercontent.com/u/275226857?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/ellierocks', 'html_url': 'https://github.com/ellierocks', 'followers_url': 'https://api.github.com/users/ellierocks/followers', 'following_url': 'https://api.github.com/users/ellierocks/following{/other_user}', 'gists_url': 'https://api.github.com/users/ellierocks/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/ellierocks/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/ellierocks/subscriptions', 'organizations_url': 'https://api.github.com/users/ellierocks/orgs', 'repos_url': 'https://api.github.com/users/ellierocks/repos', 'events_url': 'https://api.github.com/users/ellierocks/events{/privacy}', 'received_events_url': 'https://api.github.com/users/ellierocks/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 24, 'created_at': '2026-10-30T12:13:34Z', 'updated_at': '2026-11-05T12:25:15Z', 'closed_at': None, 'assignee': None, 'author_association': 'NONE', 'issue_field_values': [], 'type': None, 'active_lock_reason': None, 'draft': False, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14962', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14962', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14962.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14962.patch', 'merged_at': None}, 'body': 'Adds native Wayland support, so Dolphin can run without XWayland and the compositor can present the game directly. This is the same goal as #14652, but only Linux code changes. Other platforms only get two new struct fields (see "Resize"). Building with `ENABLE_WAYLAND=OFF` is unaffected.\r\n\r\nThe Vulkan surface commit is TellowKrinkle\'s and the Qt platform selection commit is BeezBumba\'s, both from #14652. Their authorship is kept.\r\n\r\n## Generative AI disclosure\r\nApart from those two commits, the code was written by Claude (Sonnet 5.5) while I directed it. It was not used for anything related to the emulated console. I, Ellie, can attest I\'ve looked through the code changes and actively avoided issues blocking the previous PR. Altering code for other platforms needlessly was avoided, the tooltips and keyboard input issues were addressed.\r\n\r\n## What changed\r\n- CMake: `ENABLE_WAYLAND` and `FindWayland.cmake`. Protocol bindings (content-type-v1, pointer-warp-v1, pointer-constraints, relative-pointer) are generated at build time and need wayland-protocols 1.41 or newer. If wayland-scanner, wayland-protocols or xkbcommon is missing, you still get a working Wayland window, but no input backend or VRR hint, and CMake warns.\r\n- Vulkan: a `VkWaylandSurfaceKHR` surface. The surface format and present mode queries retry on `VK_INCOMPLETE` instead of asserting. On Wayland the format list comes from the compositor and can change between the count query and the list query.\r\n- OpenGL: an EGL context on a `wl_egl_window`.\r\n- Resize: a `wl_surface` can\'t report its size, and Vulkan\'s `currentExtent` is undefined for it. `WindowSystemInfo` gets `render_surface_width/height` and `Presenter` gets an atomic requested-size field, which the host updates on resize. The existing surface-change API is unchanged.\r\n- Input: a ControllerInterface backend for keyboard and relative mouse, with xkbcommon key names and Center Mouse through `wp_pointer_warp_v1`. It runs on its own event queue. The Qt render widget now reports the `wl_surface` as its handle, which is what broke keyboard input and hotkeys in #14652.\r\n- VRR: the render surface sets the `wp_content_type_v1` "game" hint. `wp_tearing_control` is not used.\r\n- Tooltips: balloon tips are now `xdg_popup`s with a transient parent, because `Qt::ToolTip` with `move()` and `setMask()` doesn\'t work on Wayland.\r\n\r\n## Testing\r\nRTX 3070 Ti, on KDE Plasma, Hyprland, and Sway all with adaptive sync enabled.\r\n- Tested using the game I speedrun, LEGO Star Wars: The Video Game.\r\n- Vulkan and OpenGL both run as native Wayland windows.\r\n- Alt+Enter goes fullscreen at 3440x1440, which exercises the new keyboard and hotkey path.\r\n- VRR turns on in fullscreen and off when leaving it. On KWin the DRM `VRR_ENABLED` property read 0, 1, 0, and only while the fullscreen Dolphin window was active.\r\n- The "game" content-type hint is sent, and no `wp_tearing_control` object is created (checked in the `WAYLAND_DEBUG` log).\r\n- Balloon tooltips render correctly in Config > Graphics.\r\n- Switching to the correct input device (Wayland/0/seat0) leaves existing binds working and unchanged.\r\n- Scaling and fractional scaling work as expected.\r\n- Screen sharing using xdg-desktop-portal over Discord and recording with obs-vkcapture work as expected.\r\n\r\nEvery commit builds on Linux and is formatted with clang-format 19.1.7. I also built with `ENABLE_WAYLAND=OFF`.\r\n\r\nNot tested: Windows, macOS or Android builds. Lock Cursor isn\'t implemented on Wayland.', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14962/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'timeline_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14962/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6657447106', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14962#issuecomment-6657447106', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14962', 'id': 6657447106, 'node_id': 'IC_kwDOALCn2M8AAAABjNCUwg', 'user': {'login': 'linkmauve', 'id': 7755816, 'node_id': 'MDQ6VXNlcjc3NTU4MTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7755816?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/linkmauve', 'html_url': 'https://github.com/linkmauve', 'followers_url': 'https://api.github.com/users/linkmauve/followers', 'following_url': 'https://api.github.com/users/linkmauve/following{/other_user}', 'gists_url': 'https://api.github.com/users/linkmauve/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/linkmauve/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/linkmauve/subscriptions', 'organizations_url': 'https://api.github.com/users/linkmauve/orgs', 'repos_url': 'https://api.github.com/users/linkmauve/repos', 'events_url': 'https://api.github.com/users/linkmauve/events{/privacy}', 'received_events_url': 'https://api.github.com/users/linkmauve/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2026-11-05T12:00:58Z', 'updated_at': '2026-11-05T12:27:25Z', 'body': 'Sorry about the Shift confusion, I had always configured them differently on xcb, so I didn’t think it was a recent regression.\r\n\r\nAs I was playing Xenoblade Chronicles, Dolphin closed with these messages in the terminal:\r\n```\r\nError sending request for wl_surface.attach: Broken pipe\r\n58:06:956 VideoBackends/Vulkan/VKGfx.cpp:270 I[Video]: Resizing swap chain due to suboptimal/out-of-date\r\n58:06:969 VideoBackends/Vulkan/VulkanLoader.cpp:245 E[Video]: (SelectSurfaceFormat:186) vkGetPhysicalDeviceSurfaceFormatsKHR failed:  (-1000000000: VK_ERROR_SURFACE_LOST_KHR)\r\nThe Wayland connection broke. Did the Wayland compositor die?\r\n```\r\n\r\nI had never encountered that on xcb, so it’s possibly a regression too.\r\n\r\nI’m on Mesa f4f170b3423 built a month ago, using radv on a RX\u202f580.  I’ll update to latest main and report back if I can reproduce.\r\n\r\nEdit: on the Weston side, here is the log at the time of the crash:\r\n```\r\n[12:58:06.935] libwayland: Data too big for buffer (4092 + 12 > 4096).\r\n[12:58:06.940] libwayland: error in client communication (pid 2849226)\r\n```\r\n\r\nEdit 2: there is actually a memory leak apparently, here is a screenshot of `btop`’s memory graph, we can see it increasing linearly before being buffered away by zram, and once that one is filled too the OOM kills it: <img width="427" height="391" alt="image" src="https://github.com/user-attachments/assets/e0433761-9d35-4a5e-a239-e0c72d154841" />\r\n\r\nEdit 3: it seems that leak comes from Qt, or possibly the way we’re using it: <img width="1920" height="1080" alt="image" src="https://github.com/user-attachments/assets/fcc485d9-b334-47de-aa5d-363d7c167b11" />\r\n\r\nWe are allocating a huge amount of temporaries in `QtWaylandClient::QWaylandInputDevice::Pointer::updateCursor() in libQt6WaylandClient.so.6` as well, maybe that’s related, but they don’t get leaked.', 'author_association': 'MEMBER', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6657447106/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'performed_via_github_app': None, 'minimized': None}, 'repository': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-11-05T09:25:24Z', 'pushed_at': '2026-11-04T20:55:25Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 563769, 'stargazers_count': 15769, 'watchers_count': 15769, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3382, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 484, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3382, 'open_issues': 484, 'watchers': 15769, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'linkmauve', 'id': 7755816, 'node_id': 'MDQ6VXNlcjc3NTU4MTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7755816?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/linkmauve', 'html_url': 'https://github.com/linkmauve', 'followers_url': 'https://api.github.com/users/linkmauve/followers', 'following_url': 'https://api.github.com/users/linkmauve/following{/other_user}', 'gists_url': 'https://api.github.com/users/linkmauve/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/linkmauve/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/linkmauve/subscriptions', 'organizations_url': 'https://api.github.com/users/linkmauve/orgs', 'repos_url': 'https://api.github.com/users/linkmauve/repos', 'events_url': 'https://api.github.com/users/linkmauve/events{/privacy}', 'received_events_url': 'https://api.github.com/users/linkmauve/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'gh_issue_comment'}
2026-11-05T12:25:16.514944	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'linkmauve', 'action': 'edited', 'id': 14962, 'title': 'Add Wayland support (Linux only)', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14962#issuecomment-6657447106', 'safe_author': True, 'body': 'Sorry about the Shift confusion, I had always configured them differently on xcb, so I didn’t think it was a recent regression.\r\n\r\nAs I was playing Xenoblade Chronicles, Dolphin closed with these messages in the terminal:\r\n```\r\nError sending request for wl_surface.attach: Broken pipe\r\n58:06:956 VideoBackends/Vulkan/VKGfx.cpp:270 I[Video]: Resizing swap chain due to suboptimal/out-of-date\r\n58:06:969 VideoBackends/Vulkan/VulkanLoader.cpp:245 E[Video]: (SelectSurfaceFormat:186) vkGetPhysicalDeviceSurfaceFormatsKHR failed:  (-1000000000: VK_ERROR_SURFACE_LOST_KHR)\r\nThe Wayland connection broke. Did the Wayland compositor die?\r\n```\r\n\r\nI had never encountered that on xcb, so it’s possibly a regression too.\r\n\r\nI’m on Mesa f4f170b3423 built a month ago, using radv on a RX\u202f580.  I’ll update to latest main and report back if I can reproduce.\r\n\r\nEdit: on the Weston side, here is the log at the time of the crash:\r\n```\r\n[12:58:06.935] libwayland: Data too big for buffer (4092 + 12 > 4096).\r\n[12:58:06.940] libwayland: error in client communication (pid 2849226)\r\n```\r\n\r\nEdit 2: there is actually a memory leak apparently, here is a screenshot of `btop`’s memory graph, we can see it increasing linearly before being buffered away by zram, and once that one is filled too the OOM kills it: <img width="427" height="391" alt="image" src="https://github.com/user-attachments/assets/e0433761-9d35-4a5e-a239-e0c72d154841" />\r\n\r\nEdit 3: it seems that leak comes from Qt, or possibly the way we’re using it: <img width="1920" height="1080" alt="image" src="https://github.com/user-attachments/assets/fcc485d9-b334-47de-aa5d-363d7c167b11" />', 'raw': {'action': 'edited', 'changes': {'body': {'from': 'Sorry about the Shift confusion, I had always configured them differently on xcb, so I didn’t think it was a recent regression.\r\n\r\nAs I was playing Xenoblade Chronicles, Dolphin closed with these messages in the terminal:\r\n```\r\nError sending request for wl_surface.attach: Broken pipe\r\n58:06:956 VideoBackends/Vulkan/VKGfx.cpp:270 I[Video]: Resizing swap chain due to suboptimal/out-of-date\r\n58:06:969 VideoBackends/Vulkan/VulkanLoader.cpp:245 E[Video]: (SelectSurfaceFormat:186) vkGetPhysicalDeviceSurfaceFormatsKHR failed:  (-1000000000: VK_ERROR_SURFACE_LOST_KHR)\r\nThe Wayland connection broke. Did the Wayland compositor die?\r\n```\r\n\r\nI had never encountered that on xcb, so it’s possibly a regression too.\r\n\r\nI’m on Mesa f4f170b3423 built a month ago, using radv on a RX\u202f580.  I’ll update to latest main and report back if I can reproduce.\r\n\r\nEdit: on the Weston side, here is the log at the time of the crash:\r\n```\r\n[12:58:06.935] libwayland: Data too big for buffer (4092 + 12 > 4096).\r\n[12:58:06.940] libwayland: error in client communication (pid 2849226)\r\n```\r\n\r\nEdit 2: there is actually a memory leak apparently, here is a screenshot of `btop`’s memory graph, we can see it increasing linearly before being buffered away by zram, and once that one is filled too the OOM kills it: <img width="427" height="391" alt="image" src="https://github.com/user-attachments/assets/e0433761-9d35-4a5e-a239-e0c72d154841" />'}}, 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14962', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14962/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14962/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14962/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14962', 'id': 6118829388, 'node_id': 'PR_kwDOALCn2M8AAAABLwnuUQ', 'number': 14962, 'title': 'Add Wayland support (Linux only)', 'user': {'login': 'ellierocks', 'id': 275226857, 'node_id': 'U_kgDOEGeg6Q', 'avatar_url': 'https://avatars.githubusercontent.com/u/275226857?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/ellierocks', 'html_url': 'https://github.com/ellierocks', 'followers_url': 'https://api.github.com/users/ellierocks/followers', 'following_url': 'https://api.github.com/users/ellierocks/following{/other_user}', 'gists_url': 'https://api.github.com/users/ellierocks/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/ellierocks/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/ellierocks/subscriptions', 'organizations_url': 'https://api.github.com/users/ellierocks/orgs', 'repos_url': 'https://api.github.com/users/ellierocks/repos', 'events_url': 'https://api.github.com/users/ellierocks/events{/privacy}', 'received_events_url': 'https://api.github.com/users/ellierocks/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 24, 'created_at': '2026-10-30T12:13:34Z', 'updated_at': '2026-11-05T12:12:07Z', 'closed_at': None, 'assignee': None, 'author_association': 'NONE', 'issue_field_values': [], 'type': None, 'active_lock_reason': None, 'draft': False, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14962', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14962', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14962.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14962.patch', 'merged_at': None}, 'body': 'Adds native Wayland support, so Dolphin can run without XWayland and the compositor can present the game directly. This is the same goal as #14652, but only Linux code changes. Other platforms only get two new struct fields (see "Resize"). Building with `ENABLE_WAYLAND=OFF` is unaffected.\r\n\r\nThe Vulkan surface commit is TellowKrinkle\'s and the Qt platform selection commit is BeezBumba\'s, both from #14652. Their authorship is kept.\r\n\r\n## Generative AI disclosure\r\nApart from those two commits, the code was written by Claude (Sonnet 5.5) while I directed it. It was not used for anything related to the emulated console. I, Ellie, can attest I\'ve looked through the code changes and actively avoided issues blocking the previous PR. Altering code for other platforms needlessly was avoided, the tooltips and keyboard input issues were addressed.\r\n\r\n## What changed\r\n- CMake: `ENABLE_WAYLAND` and `FindWayland.cmake`. Protocol bindings (content-type-v1, pointer-warp-v1, pointer-constraints, relative-pointer) are generated at build time and need wayland-protocols 1.41 or newer. If wayland-scanner, wayland-protocols or xkbcommon is missing, you still get a working Wayland window, but no input backend or VRR hint, and CMake warns.\r\n- Vulkan: a `VkWaylandSurfaceKHR` surface. The surface format and present mode queries retry on `VK_INCOMPLETE` instead of asserting. On Wayland the format list comes from the compositor and can change between the count query and the list query.\r\n- OpenGL: an EGL context on a `wl_egl_window`.\r\n- Resize: a `wl_surface` can\'t report its size, and Vulkan\'s `currentExtent` is undefined for it. `WindowSystemInfo` gets `render_surface_width/height` and `Presenter` gets an atomic requested-size field, which the host updates on resize. The existing surface-change API is unchanged.\r\n- Input: a ControllerInterface backend for keyboard and relative mouse, with xkbcommon key names and Center Mouse through `wp_pointer_warp_v1`. It runs on its own event queue. The Qt render widget now reports the `wl_surface` as its handle, which is what broke keyboard input and hotkeys in #14652.\r\n- VRR: the render surface sets the `wp_content_type_v1` "game" hint. `wp_tearing_control` is not used.\r\n- Tooltips: balloon tips are now `xdg_popup`s with a transient parent, because `Qt::ToolTip` with `move()` and `setMask()` doesn\'t work on Wayland.\r\n\r\n## Testing\r\nRTX 3070 Ti, on KDE Plasma, Hyprland, and Sway all with adaptive sync enabled.\r\n- Tested using the game I speedrun, LEGO Star Wars: The Video Game.\r\n- Vulkan and OpenGL both run as native Wayland windows.\r\n- Alt+Enter goes fullscreen at 3440x1440, which exercises the new keyboard and hotkey path.\r\n- VRR turns on in fullscreen and off when leaving it. On KWin the DRM `VRR_ENABLED` property read 0, 1, 0, and only while the fullscreen Dolphin window was active.\r\n- The "game" content-type hint is sent, and no `wp_tearing_control` object is created (checked in the `WAYLAND_DEBUG` log).\r\n- Balloon tooltips render correctly in Config > Graphics.\r\n- Switching to the correct input device (Wayland/0/seat0) leaves existing binds working and unchanged.\r\n- Scaling and fractional scaling work as expected.\r\n- Screen sharing using xdg-desktop-portal over Discord and recording with obs-vkcapture work as expected.\r\n\r\nEvery commit builds on Linux and is formatted with clang-format 19.1.7. I also built with `ENABLE_WAYLAND=OFF`.\r\n\r\nNot tested: Windows, macOS or Android builds. Lock Cursor isn\'t implemented on Wayland.', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14962/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'timeline_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14962/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6657447106', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14962#issuecomment-6657447106', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14962', 'id': 6657447106, 'node_id': 'IC_kwDOALCn2M8AAAABjNCUwg', 'user': {'login': 'linkmauve', 'id': 7755816, 'node_id': 'MDQ6VXNlcjc3NTU4MTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7755816?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/linkmauve', 'html_url': 'https://github.com/linkmauve', 'followers_url': 'https://api.github.com/users/linkmauve/followers', 'following_url': 'https://api.github.com/users/linkmauve/following{/other_user}', 'gists_url': 'https://api.github.com/users/linkmauve/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/linkmauve/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/linkmauve/subscriptions', 'organizations_url': 'https://api.github.com/users/linkmauve/orgs', 'repos_url': 'https://api.github.com/users/linkmauve/repos', 'events_url': 'https://api.github.com/users/linkmauve/events{/privacy}', 'received_events_url': 'https://api.github.com/users/linkmauve/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2026-11-05T12:00:58Z', 'updated_at': '2026-11-05T12:25:15Z', 'body': 'Sorry about the Shift confusion, I had always configured them differently on xcb, so I didn’t think it was a recent regression.\r\n\r\nAs I was playing Xenoblade Chronicles, Dolphin closed with these messages in the terminal:\r\n```\r\nError sending request for wl_surface.attach: Broken pipe\r\n58:06:956 VideoBackends/Vulkan/VKGfx.cpp:270 I[Video]: Resizing swap chain due to suboptimal/out-of-date\r\n58:06:969 VideoBackends/Vulkan/VulkanLoader.cpp:245 E[Video]: (SelectSurfaceFormat:186) vkGetPhysicalDeviceSurfaceFormatsKHR failed:  (-1000000000: VK_ERROR_SURFACE_LOST_KHR)\r\nThe Wayland connection broke. Did the Wayland compositor die?\r\n```\r\n\r\nI had never encountered that on xcb, so it’s possibly a regression too.\r\n\r\nI’m on Mesa f4f170b3423 built a month ago, using radv on a RX\u202f580.  I’ll update to latest main and report back if I can reproduce.\r\n\r\nEdit: on the Weston side, here is the log at the time of the crash:\r\n```\r\n[12:58:06.935] libwayland: Data too big for buffer (4092 + 12 > 4096).\r\n[12:58:06.940] libwayland: error in client communication (pid 2849226)\r\n```\r\n\r\nEdit 2: there is actually a memory leak apparently, here is a screenshot of `btop`’s memory graph, we can see it increasing linearly before being buffered away by zram, and once that one is filled too the OOM kills it: <img width="427" height="391" alt="image" src="https://github.com/user-attachments/assets/e0433761-9d35-4a5e-a239-e0c72d154841" />\r\n\r\nEdit 3: it seems that leak comes from Qt, or possibly the way we’re using it: <img width="1920" height="1080" alt="image" src="https://github.com/user-attachments/assets/fcc485d9-b334-47de-aa5d-363d7c167b11" />', 'author_association': 'MEMBER', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6657447106/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'performed_via_github_app': None, 'minimized': None}, 'repository': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-11-05T09:25:24Z', 'pushed_at': '2026-11-04T20:55:25Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 563769, 'stargazers_count': 15769, 'watchers_count': 15769, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3382, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 484, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3382, 'open_issues': 484, 'watchers': 15769, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'linkmauve', 'id': 7755816, 'node_id': 'MDQ6VXNlcjc3NTU4MTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7755816?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/linkmauve', 'html_url': 'https://github.com/linkmauve', 'followers_url': 'https://api.github.com/users/linkmauve/followers', 'following_url': 'https://api.github.com/users/linkmauve/following{/other_user}', 'gists_url': 'https://api.github.com/users/linkmauve/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/linkmauve/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/linkmauve/subscriptions', 'organizations_url': 'https://api.github.com/users/linkmauve/orgs', 'repos_url': 'https://api.github.com/users/linkmauve/repos', 'events_url': 'https://api.github.com/users/linkmauve/events{/privacy}', 'received_events_url': 'https://api.github.com/users/linkmauve/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'gh_issue_comment'}
2026-11-05T12:12:09.429936	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'linkmauve', 'action': 'edited', 'id': 14962, 'title': 'Add Wayland support (Linux only)', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14962#issuecomment-6657447106', 'safe_author': True, 'body': 'Sorry about the Shift confusion, I had always configured them differently on xcb, so I didn’t think it was a recent regression.\r\n\r\nAs I was playing Xenoblade Chronicles, Dolphin closed with these messages in the terminal:\r\n```\r\nError sending request for wl_surface.attach: Broken pipe\r\n58:06:956 VideoBackends/Vulkan/VKGfx.cpp:270 I[Video]: Resizing swap chain due to suboptimal/out-of-date\r\n58:06:969 VideoBackends/Vulkan/VulkanLoader.cpp:245 E[Video]: (SelectSurfaceFormat:186) vkGetPhysicalDeviceSurfaceFormatsKHR failed:  (-1000000000: VK_ERROR_SURFACE_LOST_KHR)\r\nThe Wayland connection broke. Did the Wayland compositor die?\r\n```\r\n\r\nI had never encountered that on xcb, so it’s possibly a regression too.\r\n\r\nI’m on Mesa f4f170b3423 built a month ago, using radv on a RX\u202f580.  I’ll update to latest main and report back if I can reproduce.\r\n\r\nEdit: on the Weston side, here is the log at the time of the crash:\r\n```\r\n[12:58:06.935] libwayland: Data too big for buffer (4092 + 12 > 4096).\r\n[12:58:06.940] libwayland: error in client communication (pid 2849226)\r\n```\r\n\r\nEdit 2: there is actually a memory leak apparently, here is a screenshot of `btop`’s memory graph, we can see it increasing linearly before being buffered away by zram, and once that one is filled too the OOM kills it: <img width="427" height="391" alt="image" src="https://github.com/user-attachments/assets/e0433761-9d35-4a5e-a239-e0c72d154841" />', 'raw': {'action': 'edited', 'changes': {'body': {'from': 'Sorry about the Shift confusion, I had always configured them differently on xcb, so I didn’t think it was a recent regression.\r\n\r\nAs I was playing Xenoblade Chronicles, Dolphin closed with these messages in the terminal:\r\n```\r\nError sending request for wl_surface.attach: Broken pipe\r\n58:06:956 VideoBackends/Vulkan/VKGfx.cpp:270 I[Video]: Resizing swap chain due to suboptimal/out-of-date\r\n58:06:969 VideoBackends/Vulkan/VulkanLoader.cpp:245 E[Video]: (SelectSurfaceFormat:186) vkGetPhysicalDeviceSurfaceFormatsKHR failed:  (-1000000000: VK_ERROR_SURFACE_LOST_KHR)\r\nThe Wayland connection broke. Did the Wayland compositor die?\r\n```\r\n\r\nI had never encountered that on xcb, so it’s possibly a regression too.\r\n\r\nI’m on Mesa f4f170b3423 built a month ago, using radv on a RX\u202f580.  I’ll update to latest main and report back if I can reproduce.\r\n\r\nEdit: on the Weston side, here is the log at the time of the crash:\r\n```\r\n[12:58:06.935] libwayland: Data too big for buffer (4092 + 12 > 4096).\r\n[12:58:06.940] libwayland: error in client communication (pid 2849226)\r\n```'}}, 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14962', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14962/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14962/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14962/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14962', 'id': 6118829388, 'node_id': 'PR_kwDOALCn2M8AAAABLwnuUQ', 'number': 14962, 'title': 'Add Wayland support (Linux only)', 'user': {'login': 'ellierocks', 'id': 275226857, 'node_id': 'U_kgDOEGeg6Q', 'avatar_url': 'https://avatars.githubusercontent.com/u/275226857?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/ellierocks', 'html_url': 'https://github.com/ellierocks', 'followers_url': 'https://api.github.com/users/ellierocks/followers', 'following_url': 'https://api.github.com/users/ellierocks/following{/other_user}', 'gists_url': 'https://api.github.com/users/ellierocks/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/ellierocks/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/ellierocks/subscriptions', 'organizations_url': 'https://api.github.com/users/ellierocks/orgs', 'repos_url': 'https://api.github.com/users/ellierocks/repos', 'events_url': 'https://api.github.com/users/ellierocks/events{/privacy}', 'received_events_url': 'https://api.github.com/users/ellierocks/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 24, 'created_at': '2026-10-30T12:13:34Z', 'updated_at': '2026-11-05T12:02:26Z', 'closed_at': None, 'assignee': None, 'author_association': 'NONE', 'issue_field_values': [], 'type': None, 'active_lock_reason': None, 'draft': False, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14962', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14962', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14962.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14962.patch', 'merged_at': None}, 'body': 'Adds native Wayland support, so Dolphin can run without XWayland and the compositor can present the game directly. This is the same goal as #14652, but only Linux code changes. Other platforms only get two new struct fields (see "Resize"). Building with `ENABLE_WAYLAND=OFF` is unaffected.\r\n\r\nThe Vulkan surface commit is TellowKrinkle\'s and the Qt platform selection commit is BeezBumba\'s, both from #14652. Their authorship is kept.\r\n\r\n## Generative AI disclosure\r\nApart from those two commits, the code was written by Claude (Sonnet 5.5) while I directed it. It was not used for anything related to the emulated console. I, Ellie, can attest I\'ve looked through the code changes and actively avoided issues blocking the previous PR. Altering code for other platforms needlessly was avoided, the tooltips and keyboard input issues were addressed.\r\n\r\n## What changed\r\n- CMake: `ENABLE_WAYLAND` and `FindWayland.cmake`. Protocol bindings (content-type-v1, pointer-warp-v1, pointer-constraints, relative-pointer) are generated at build time and need wayland-protocols 1.41 or newer. If wayland-scanner, wayland-protocols or xkbcommon is missing, you still get a working Wayland window, but no input backend or VRR hint, and CMake warns.\r\n- Vulkan: a `VkWaylandSurfaceKHR` surface. The surface format and present mode queries retry on `VK_INCOMPLETE` instead of asserting. On Wayland the format list comes from the compositor and can change between the count query and the list query.\r\n- OpenGL: an EGL context on a `wl_egl_window`.\r\n- Resize: a `wl_surface` can\'t report its size, and Vulkan\'s `currentExtent` is undefined for it. `WindowSystemInfo` gets `render_surface_width/height` and `Presenter` gets an atomic requested-size field, which the host updates on resize. The existing surface-change API is unchanged.\r\n- Input: a ControllerInterface backend for keyboard and relative mouse, with xkbcommon key names and Center Mouse through `wp_pointer_warp_v1`. It runs on its own event queue. The Qt render widget now reports the `wl_surface` as its handle, which is what broke keyboard input and hotkeys in #14652.\r\n- VRR: the render surface sets the `wp_content_type_v1` "game" hint. `wp_tearing_control` is not used.\r\n- Tooltips: balloon tips are now `xdg_popup`s with a transient parent, because `Qt::ToolTip` with `move()` and `setMask()` doesn\'t work on Wayland.\r\n\r\n## Testing\r\nRTX 3070 Ti, on KDE Plasma, Hyprland, and Sway all with adaptive sync enabled.\r\n- Tested using the game I speedrun, LEGO Star Wars: The Video Game.\r\n- Vulkan and OpenGL both run as native Wayland windows.\r\n- Alt+Enter goes fullscreen at 3440x1440, which exercises the new keyboard and hotkey path.\r\n- VRR turns on in fullscreen and off when leaving it. On KWin the DRM `VRR_ENABLED` property read 0, 1, 0, and only while the fullscreen Dolphin window was active.\r\n- The "game" content-type hint is sent, and no `wp_tearing_control` object is created (checked in the `WAYLAND_DEBUG` log).\r\n- Balloon tooltips render correctly in Config > Graphics.\r\n- Switching to the correct input device (Wayland/0/seat0) leaves existing binds working and unchanged.\r\n- Scaling and fractional scaling work as expected.\r\n- Screen sharing using xdg-desktop-portal over Discord and recording with obs-vkcapture work as expected.\r\n\r\nEvery commit builds on Linux and is formatted with clang-format 19.1.7. I also built with `ENABLE_WAYLAND=OFF`.\r\n\r\nNot tested: Windows, macOS or Android builds. Lock Cursor isn\'t implemented on Wayland.', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14962/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'timeline_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14962/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6657447106', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14962#issuecomment-6657447106', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14962', 'id': 6657447106, 'node_id': 'IC_kwDOALCn2M8AAAABjNCUwg', 'user': {'login': 'linkmauve', 'id': 7755816, 'node_id': 'MDQ6VXNlcjc3NTU4MTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7755816?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/linkmauve', 'html_url': 'https://github.com/linkmauve', 'followers_url': 'https://api.github.com/users/linkmauve/followers', 'following_url': 'https://api.github.com/users/linkmauve/following{/other_user}', 'gists_url': 'https://api.github.com/users/linkmauve/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/linkmauve/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/linkmauve/subscriptions', 'organizations_url': 'https://api.github.com/users/linkmauve/orgs', 'repos_url': 'https://api.github.com/users/linkmauve/repos', 'events_url': 'https://api.github.com/users/linkmauve/events{/privacy}', 'received_events_url': 'https://api.github.com/users/linkmauve/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2026-11-05T12:00:58Z', 'updated_at': '2026-11-05T12:12:07Z', 'body': 'Sorry about the Shift confusion, I had always configured them differently on xcb, so I didn’t think it was a recent regression.\r\n\r\nAs I was playing Xenoblade Chronicles, Dolphin closed with these messages in the terminal:\r\n```\r\nError sending request for wl_surface.attach: Broken pipe\r\n58:06:956 VideoBackends/Vulkan/VKGfx.cpp:270 I[Video]: Resizing swap chain due to suboptimal/out-of-date\r\n58:06:969 VideoBackends/Vulkan/VulkanLoader.cpp:245 E[Video]: (SelectSurfaceFormat:186) vkGetPhysicalDeviceSurfaceFormatsKHR failed:  (-1000000000: VK_ERROR_SURFACE_LOST_KHR)\r\nThe Wayland connection broke. Did the Wayland compositor die?\r\n```\r\n\r\nI had never encountered that on xcb, so it’s possibly a regression too.\r\n\r\nI’m on Mesa f4f170b3423 built a month ago, using radv on a RX\u202f580.  I’ll update to latest main and report back if I can reproduce.\r\n\r\nEdit: on the Weston side, here is the log at the time of the crash:\r\n```\r\n[12:58:06.935] libwayland: Data too big for buffer (4092 + 12 > 4096).\r\n[12:58:06.940] libwayland: error in client communication (pid 2849226)\r\n```\r\n\r\nEdit 2: there is actually a memory leak apparently, here is a screenshot of `btop`’s memory graph, we can see it increasing linearly before being buffered away by zram, and once that one is filled too the OOM kills it: <img width="427" height="391" alt="image" src="https://github.com/user-attachments/assets/e0433761-9d35-4a5e-a239-e0c72d154841" />', 'author_association': 'MEMBER', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6657447106/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'performed_via_github_app': None, 'minimized': None}, 'repository': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-11-05T09:25:24Z', 'pushed_at': '2026-11-04T20:55:25Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 563769, 'stargazers_count': 15769, 'watchers_count': 15769, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3382, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 484, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3382, 'open_issues': 484, 'watchers': 15769, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'linkmauve', 'id': 7755816, 'node_id': 'MDQ6VXNlcjc3NTU4MTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7755816?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/linkmauve', 'html_url': 'https://github.com/linkmauve', 'followers_url': 'https://api.github.com/users/linkmauve/followers', 'following_url': 'https://api.github.com/users/linkmauve/following{/other_user}', 'gists_url': 'https://api.github.com/users/linkmauve/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/linkmauve/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/linkmauve/subscriptions', 'organizations_url': 'https://api.github.com/users/linkmauve/orgs', 'repos_url': 'https://api.github.com/users/linkmauve/repos', 'events_url': 'https://api.github.com/users/linkmauve/events{/privacy}', 'received_events_url': 'https://api.github.com/users/linkmauve/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'gh_issue_comment'}
2026-11-05T12:10:17.515787	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'cedricdelpoux', 'action': 'created', 'id': 14874, 'title': 'WiiUtils: Fix integer underflow in CheckNAND() block/inode stats', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14874#issuecomment-6657629063', 'safe_author': False, 'body': '@AdmiralCurtiss Any way to merge this ? Thanks', 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14874', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14874/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14874/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14874/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14874', 'id': 5490189982, 'node_id': 'PR_kwDOALCn2M8AAAABD9jIMw', 'number': 14874, 'title': 'WiiUtils: Fix integer underflow in CheckNAND() block/inode stats', 'user': {'login': 'cedricdelpoux', 'id': 2683300, 'node_id': 'MDQ6VXNlcjI2ODMzMDA=', 'avatar_url': 'https://avatars.githubusercontent.com/u/2683300?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/cedricdelpoux', 'html_url': 'https://github.com/cedricdelpoux', 'followers_url': 'https://api.github.com/users/cedricdelpoux/followers', 'following_url': 'https://api.github.com/users/cedricdelpoux/following{/other_user}', 'gists_url': 'https://api.github.com/users/cedricdelpoux/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/cedricdelpoux/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/cedricdelpoux/subscriptions', 'organizations_url': 'https://api.github.com/users/cedricdelpoux/orgs', 'repos_url': 'https://api.github.com/users/cedricdelpoux/repos', 'events_url': 'https://api.github.com/users/cedricdelpoux/events{/privacy}', 'received_events_url': 'https://api.github.com/users/cedricdelpoux/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 3, 'created_at': '2026-09-17T16:40:45Z', 'updated_at': '2026-11-05T12:10:15Z', 'closed_at': None, 'assignee': None, 'author_association': 'NONE', 'issue_field_values': [], 'type': None, 'active_lock_reason': None, 'draft': False, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14874', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14874', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14874.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14874.patch', 'merged_at': None}, 'body': '`used_clusters_user` (and `used_inodes_user`) is computed by calling `GetExtendedDirectoryStats()`\ndirectly on each user-data path, which follows symlinks. `root_stats` comes from a recursive scan\nstarting at `/`, which does not descend into symlinks.\n\nIf one of the user paths (e.g. `/title/00010000`) is a symlink to an external directory,\n`used_clusters_user` can end up larger than `root_stats->used_clusters`, since the recursive scan\nnever counted that symlinked content. The unguarded subtraction then underflows on these unsigned\n64-bit values, producing a number close to 2^64 instead of a sane result. The NAND Check dialog\nreports this as billions of blocks used and warns that saves may fail, even though the actual\n"user" part is correctly sized.\n\nSymlinking Wii save folders out of the NAND (e.g. to sync saves to a cloud folder) is a real\nworkflow some users rely on, so this isn\'t just a theoretical edge case — I hit it after setting\nup Dropbox-backed saves on a Steam Deck (Flatpak build), reproduced identically in a fresh,\notherwise-empty NAND.\n\n## How this was tested\n\nReproduced with a fresh NAND where `/title/00010000` is a symlink to an external directory\ncontaining save data. Before the fix, Check NAND reports billions of blocks used for the\nsystem-reserved part; after the fix, it correctly reports a bounded, sane value.\n\n## AI disclosure\n\nThe diagnosis (tracing the bug to this specific subtraction and the symlink-following mismatch\nbetween `GetExtendedDirectoryStats("/")` and the per-path calls) and the patch itself were\nproduced with the assistance of an AI coding agent (Claude), working interactively with me while\nI was debugging this issue on my own setup. I reviewed and understand the root cause and the fix\ndescribed above, and I\'m submitting and taking responsibility for this change as my own\ncontribution, per this project\'s generative AI policy.\n', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14874/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'timeline_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14874/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6657629063', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14874#issuecomment-6657629063', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14874', 'id': 6657629063, 'node_id': 'IC_kwDOALCn2M8AAAABjNNbhw', 'user': {'login': 'cedricdelpoux', 'id': 2683300, 'node_id': 'MDQ6VXNlcjI2ODMzMDA=', 'avatar_url': 'https://avatars.githubusercontent.com/u/2683300?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/cedricdelpoux', 'html_url': 'https://github.com/cedricdelpoux', 'followers_url': 'https://api.github.com/users/cedricdelpoux/followers', 'following_url': 'https://api.github.com/users/cedricdelpoux/following{/other_user}', 'gists_url': 'https://api.github.com/users/cedricdelpoux/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/cedricdelpoux/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/cedricdelpoux/subscriptions', 'organizations_url': 'https://api.github.com/users/cedricdelpoux/orgs', 'repos_url': 'https://api.github.com/users/cedricdelpoux/repos', 'events_url': 'https://api.github.com/users/cedricdelpoux/events{/privacy}', 'received_events_url': 'https://api.github.com/users/cedricdelpoux/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2026-11-05T12:10:15Z', 'updated_at': '2026-11-05T12:10:15Z', 'body': '@AdmiralCurtiss Any way to merge this ? Thanks', 'author_association': 'NONE', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6657629063/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'performed_via_github_app': None, 'minimized': None}, 'repository': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-11-05T09:25:24Z', 'pushed_at': '2026-11-04T20:55:25Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 563769, 'stargazers_count': 15769, 'watchers_count': 15769, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3382, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 484, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3382, 'open_issues': 484, 'watchers': 15769, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'cedricdelpoux', 'id': 2683300, 'node_id': 'MDQ6VXNlcjI2ODMzMDA=', 'avatar_url': 'https://avatars.githubusercontent.com/u/2683300?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/cedricdelpoux', 'html_url': 'https://github.com/cedricdelpoux', 'followers_url': 'https://api.github.com/users/cedricdelpoux/followers', 'following_url': 'https://api.github.com/users/cedricdelpoux/following{/other_user}', 'gists_url': 'https://api.github.com/users/cedricdelpoux/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/cedricdelpoux/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/cedricdelpoux/subscriptions', 'organizations_url': 'https://api.github.com/users/cedricdelpoux/orgs', 'repos_url': 'https://api.github.com/users/cedricdelpoux/repos', 'events_url': 'https://api.github.com/users/cedricdelpoux/events{/privacy}', 'received_events_url': 'https://api.github.com/users/cedricdelpoux/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'gh_issue_comment'}
2026-11-05T12:02:28.225345	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'linkmauve', 'action': 'edited', 'id': 14962, 'title': 'Add Wayland support (Linux only)', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14962#issuecomment-6657447106', 'safe_author': True, 'body': 'Sorry about the Shift confusion, I had always configured them differently on xcb, so I didn’t think it was a recent regression.\r\n\r\nAs I was playing Xenoblade Chronicles, Dolphin closed with these messages in the terminal:\r\n```\r\nError sending request for wl_surface.attach: Broken pipe\r\n58:06:956 VideoBackends/Vulkan/VKGfx.cpp:270 I[Video]: Resizing swap chain due to suboptimal/out-of-date\r\n58:06:969 VideoBackends/Vulkan/VulkanLoader.cpp:245 E[Video]: (SelectSurfaceFormat:186) vkGetPhysicalDeviceSurfaceFormatsKHR failed:  (-1000000000: VK_ERROR_SURFACE_LOST_KHR)\r\nThe Wayland connection broke. Did the Wayland compositor die?\r\n```\r\n\r\nI had never encountered that on xcb, so it’s possibly a regression too.\r\n\r\nI’m on Mesa f4f170b3423 built a month ago, using radv on a RX\u202f580.  I’ll update to latest main and report back if I can reproduce.\r\n\r\nEdit: on the Weston side, here is the log at the time of the crash:\r\n```\r\n[12:58:06.935] libwayland: Data too big for buffer (4092 + 12 > 4096).\r\n[12:58:06.940] libwayland: error in client communication (pid 2849226)\r\n```', 'raw': {'action': 'edited', 'changes': {'body': {'from': 'Sorry about the Shift confusion, I had always configured them differently on xcb, so I didn’t think it was a recent regression.\r\n\r\nAs I was playing Xenoblade Chronicles, Dolphin closed with these messages in the terminal:\r\n```\r\nError sending request for wl_surface.attach: Broken pipe\r\n58:06:956 VideoBackends/Vulkan/VKGfx.cpp:270 I[Video]: Resizing swap chain due to suboptimal/out-of-date\r\n58:06:969 VideoBackends/Vulkan/VulkanLoader.cpp:245 E[Video]: (SelectSurfaceFormat:186) vkGetPhysicalDeviceSurfaceFormatsKHR failed:  (-1000000000: VK_ERROR_SURFACE_LOST_KHR)\r\nThe Wayland connection broke. Did the Wayland compositor die?\r\n```\r\n\r\nI had never encountered that on xcb, so it’s possibly a regression too.\r\n\r\nI’m on Mesa f4f170b3423 built a month ago, using radv on a RX\u202f580.  I’ll update to latest main and report back if I can reproduce.'}}, 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14962', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14962/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14962/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14962/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14962', 'id': 6118829388, 'node_id': 'PR_kwDOALCn2M8AAAABLwnuUQ', 'number': 14962, 'title': 'Add Wayland support (Linux only)', 'user': {'login': 'ellierocks', 'id': 275226857, 'node_id': 'U_kgDOEGeg6Q', 'avatar_url': 'https://avatars.githubusercontent.com/u/275226857?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/ellierocks', 'html_url': 'https://github.com/ellierocks', 'followers_url': 'https://api.github.com/users/ellierocks/followers', 'following_url': 'https://api.github.com/users/ellierocks/following{/other_user}', 'gists_url': 'https://api.github.com/users/ellierocks/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/ellierocks/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/ellierocks/subscriptions', 'organizations_url': 'https://api.github.com/users/ellierocks/orgs', 'repos_url': 'https://api.github.com/users/ellierocks/repos', 'events_url': 'https://api.github.com/users/ellierocks/events{/privacy}', 'received_events_url': 'https://api.github.com/users/ellierocks/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 24, 'created_at': '2026-10-30T12:13:34Z', 'updated_at': '2026-11-05T12:00:58Z', 'closed_at': None, 'assignee': None, 'author_association': 'NONE', 'issue_field_values': [], 'type': None, 'active_lock_reason': None, 'draft': False, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14962', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14962', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14962.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14962.patch', 'merged_at': None}, 'body': 'Adds native Wayland support, so Dolphin can run without XWayland and the compositor can present the game directly. This is the same goal as #14652, but only Linux code changes. Other platforms only get two new struct fields (see "Resize"). Building with `ENABLE_WAYLAND=OFF` is unaffected.\r\n\r\nThe Vulkan surface commit is TellowKrinkle\'s and the Qt platform selection commit is BeezBumba\'s, both from #14652. Their authorship is kept.\r\n\r\n## Generative AI disclosure\r\nApart from those two commits, the code was written by Claude (Sonnet 5.5) while I directed it. It was not used for anything related to the emulated console. I, Ellie, can attest I\'ve looked through the code changes and actively avoided issues blocking the previous PR. Altering code for other platforms needlessly was avoided, the tooltips and keyboard input issues were addressed.\r\n\r\n## What changed\r\n- CMake: `ENABLE_WAYLAND` and `FindWayland.cmake`. Protocol bindings (content-type-v1, pointer-warp-v1, pointer-constraints, relative-pointer) are generated at build time and need wayland-protocols 1.41 or newer. If wayland-scanner, wayland-protocols or xkbcommon is missing, you still get a working Wayland window, but no input backend or VRR hint, and CMake warns.\r\n- Vulkan: a `VkWaylandSurfaceKHR` surface. The surface format and present mode queries retry on `VK_INCOMPLETE` instead of asserting. On Wayland the format list comes from the compositor and can change between the count query and the list query.\r\n- OpenGL: an EGL context on a `wl_egl_window`.\r\n- Resize: a `wl_surface` can\'t report its size, and Vulkan\'s `currentExtent` is undefined for it. `WindowSystemInfo` gets `render_surface_width/height` and `Presenter` gets an atomic requested-size field, which the host updates on resize. The existing surface-change API is unchanged.\r\n- Input: a ControllerInterface backend for keyboard and relative mouse, with xkbcommon key names and Center Mouse through `wp_pointer_warp_v1`. It runs on its own event queue. The Qt render widget now reports the `wl_surface` as its handle, which is what broke keyboard input and hotkeys in #14652.\r\n- VRR: the render surface sets the `wp_content_type_v1` "game" hint. `wp_tearing_control` is not used.\r\n- Tooltips: balloon tips are now `xdg_popup`s with a transient parent, because `Qt::ToolTip` with `move()` and `setMask()` doesn\'t work on Wayland.\r\n\r\n## Testing\r\nRTX 3070 Ti, on KDE Plasma, Hyprland, and Sway all with adaptive sync enabled.\r\n- Tested using the game I speedrun, LEGO Star Wars: The Video Game.\r\n- Vulkan and OpenGL both run as native Wayland windows.\r\n- Alt+Enter goes fullscreen at 3440x1440, which exercises the new keyboard and hotkey path.\r\n- VRR turns on in fullscreen and off when leaving it. On KWin the DRM `VRR_ENABLED` property read 0, 1, 0, and only while the fullscreen Dolphin window was active.\r\n- The "game" content-type hint is sent, and no `wp_tearing_control` object is created (checked in the `WAYLAND_DEBUG` log).\r\n- Balloon tooltips render correctly in Config > Graphics.\r\n- Switching to the correct input device (Wayland/0/seat0) leaves existing binds working and unchanged.\r\n- Scaling and fractional scaling work as expected.\r\n- Screen sharing using xdg-desktop-portal over Discord and recording with obs-vkcapture work as expected.\r\n\r\nEvery commit builds on Linux and is formatted with clang-format 19.1.7. I also built with `ENABLE_WAYLAND=OFF`.\r\n\r\nNot tested: Windows, macOS or Android builds. Lock Cursor isn\'t implemented on Wayland.', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14962/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'timeline_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14962/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6657447106', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14962#issuecomment-6657447106', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14962', 'id': 6657447106, 'node_id': 'IC_kwDOALCn2M8AAAABjNCUwg', 'user': {'login': 'linkmauve', 'id': 7755816, 'node_id': 'MDQ6VXNlcjc3NTU4MTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7755816?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/linkmauve', 'html_url': 'https://github.com/linkmauve', 'followers_url': 'https://api.github.com/users/linkmauve/followers', 'following_url': 'https://api.github.com/users/linkmauve/following{/other_user}', 'gists_url': 'https://api.github.com/users/linkmauve/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/linkmauve/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/linkmauve/subscriptions', 'organizations_url': 'https://api.github.com/users/linkmauve/orgs', 'repos_url': 'https://api.github.com/users/linkmauve/repos', 'events_url': 'https://api.github.com/users/linkmauve/events{/privacy}', 'received_events_url': 'https://api.github.com/users/linkmauve/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2026-11-05T12:00:58Z', 'updated_at': '2026-11-05T12:02:26Z', 'body': 'Sorry about the Shift confusion, I had always configured them differently on xcb, so I didn’t think it was a recent regression.\r\n\r\nAs I was playing Xenoblade Chronicles, Dolphin closed with these messages in the terminal:\r\n```\r\nError sending request for wl_surface.attach: Broken pipe\r\n58:06:956 VideoBackends/Vulkan/VKGfx.cpp:270 I[Video]: Resizing swap chain due to suboptimal/out-of-date\r\n58:06:969 VideoBackends/Vulkan/VulkanLoader.cpp:245 E[Video]: (SelectSurfaceFormat:186) vkGetPhysicalDeviceSurfaceFormatsKHR failed:  (-1000000000: VK_ERROR_SURFACE_LOST_KHR)\r\nThe Wayland connection broke. Did the Wayland compositor die?\r\n```\r\n\r\nI had never encountered that on xcb, so it’s possibly a regression too.\r\n\r\nI’m on Mesa f4f170b3423 built a month ago, using radv on a RX\u202f580.  I’ll update to latest main and report back if I can reproduce.\r\n\r\nEdit: on the Weston side, here is the log at the time of the crash:\r\n```\r\n[12:58:06.935] libwayland: Data too big for buffer (4092 + 12 > 4096).\r\n[12:58:06.940] libwayland: error in client communication (pid 2849226)\r\n```', 'author_association': 'MEMBER', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6657447106/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'performed_via_github_app': None, 'minimized': None}, 'repository': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-11-05T09:25:24Z', 'pushed_at': '2026-11-04T20:55:25Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 563769, 'stargazers_count': 15769, 'watchers_count': 15769, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3382, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 484, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3382, 'open_issues': 484, 'watchers': 15769, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'linkmauve', 'id': 7755816, 'node_id': 'MDQ6VXNlcjc3NTU4MTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7755816?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/linkmauve', 'html_url': 'https://github.com/linkmauve', 'followers_url': 'https://api.github.com/users/linkmauve/followers', 'following_url': 'https://api.github.com/users/linkmauve/following{/other_user}', 'gists_url': 'https://api.github.com/users/linkmauve/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/linkmauve/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/linkmauve/subscriptions', 'organizations_url': 'https://api.github.com/users/linkmauve/orgs', 'repos_url': 'https://api.github.com/users/linkmauve/repos', 'events_url': 'https://api.github.com/users/linkmauve/events{/privacy}', 'received_events_url': 'https://api.github.com/users/linkmauve/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'gh_issue_comment'}
2026-11-05T12:01:00.435964	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'linkmauve', 'action': 'created', 'id': 14962, 'title': 'Add Wayland support (Linux only)', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14962#issuecomment-6657447106', 'safe_author': True, 'body': 'Sorry about the Shift confusion, I had always configured them differently on xcb, so I didn’t think it was a recent regression.\r\n\r\nAs I was playing Xenoblade Chronicles, Dolphin closed with these messages in the terminal:\r\n```\r\nError sending request for wl_surface.attach: Broken pipe\r\n58:06:956 VideoBackends/Vulkan/VKGfx.cpp:270 I[Video]: Resizing swap chain due to suboptimal/out-of-date\r\n58:06:969 VideoBackends/Vulkan/VulkanLoader.cpp:245 E[Video]: (SelectSurfaceFormat:186) vkGetPhysicalDeviceSurfaceFormatsKHR failed:  (-1000000000: VK_ERROR_SURFACE_LOST_KHR)\r\nThe Wayland connection broke. Did the Wayland compositor die?\r\n```\r\n\r\nI had never encountered that on xcb, so it’s possibly a regression too.\r\n\r\nI’m on Mesa f4f170b3423 built a month ago, using radv on a RX\u202f580.  I’ll update to latest main and report back if I can reproduce.', 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14962', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14962/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14962/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14962/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14962', 'id': 6118829388, 'node_id': 'PR_kwDOALCn2M8AAAABLwnuUQ', 'number': 14962, 'title': 'Add Wayland support (Linux only)', 'user': {'login': 'ellierocks', 'id': 275226857, 'node_id': 'U_kgDOEGeg6Q', 'avatar_url': 'https://avatars.githubusercontent.com/u/275226857?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/ellierocks', 'html_url': 'https://github.com/ellierocks', 'followers_url': 'https://api.github.com/users/ellierocks/followers', 'following_url': 'https://api.github.com/users/ellierocks/following{/other_user}', 'gists_url': 'https://api.github.com/users/ellierocks/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/ellierocks/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/ellierocks/subscriptions', 'organizations_url': 'https://api.github.com/users/ellierocks/orgs', 'repos_url': 'https://api.github.com/users/ellierocks/repos', 'events_url': 'https://api.github.com/users/ellierocks/events{/privacy}', 'received_events_url': 'https://api.github.com/users/ellierocks/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 24, 'created_at': '2026-10-30T12:13:34Z', 'updated_at': '2026-11-05T12:00:58Z', 'closed_at': None, 'assignee': None, 'author_association': 'NONE', 'issue_field_values': [], 'type': None, 'active_lock_reason': None, 'draft': False, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14962', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14962', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14962.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14962.patch', 'merged_at': None}, 'body': 'Adds native Wayland support, so Dolphin can run without XWayland and the compositor can present the game directly. This is the same goal as #14652, but only Linux code changes. Other platforms only get two new struct fields (see "Resize"). Building with `ENABLE_WAYLAND=OFF` is unaffected.\r\n\r\nThe Vulkan surface commit is TellowKrinkle\'s and the Qt platform selection commit is BeezBumba\'s, both from #14652. Their authorship is kept.\r\n\r\n## Generative AI disclosure\r\nApart from those two commits, the code was written by Claude (Sonnet 5.5) while I directed it. It was not used for anything related to the emulated console. I, Ellie, can attest I\'ve looked through the code changes and actively avoided issues blocking the previous PR. Altering code for other platforms needlessly was avoided, the tooltips and keyboard input issues were addressed.\r\n\r\n## What changed\r\n- CMake: `ENABLE_WAYLAND` and `FindWayland.cmake`. Protocol bindings (content-type-v1, pointer-warp-v1, pointer-constraints, relative-pointer) are generated at build time and need wayland-protocols 1.41 or newer. If wayland-scanner, wayland-protocols or xkbcommon is missing, you still get a working Wayland window, but no input backend or VRR hint, and CMake warns.\r\n- Vulkan: a `VkWaylandSurfaceKHR` surface. The surface format and present mode queries retry on `VK_INCOMPLETE` instead of asserting. On Wayland the format list comes from the compositor and can change between the count query and the list query.\r\n- OpenGL: an EGL context on a `wl_egl_window`.\r\n- Resize: a `wl_surface` can\'t report its size, and Vulkan\'s `currentExtent` is undefined for it. `WindowSystemInfo` gets `render_surface_width/height` and `Presenter` gets an atomic requested-size field, which the host updates on resize. The existing surface-change API is unchanged.\r\n- Input: a ControllerInterface backend for keyboard and relative mouse, with xkbcommon key names and Center Mouse through `wp_pointer_warp_v1`. It runs on its own event queue. The Qt render widget now reports the `wl_surface` as its handle, which is what broke keyboard input and hotkeys in #14652.\r\n- VRR: the render surface sets the `wp_content_type_v1` "game" hint. `wp_tearing_control` is not used.\r\n- Tooltips: balloon tips are now `xdg_popup`s with a transient parent, because `Qt::ToolTip` with `move()` and `setMask()` doesn\'t work on Wayland.\r\n\r\n## Testing\r\nRTX 3070 Ti, on KDE Plasma, Hyprland, and Sway all with adaptive sync enabled.\r\n- Tested using the game I speedrun, LEGO Star Wars: The Video Game.\r\n- Vulkan and OpenGL both run as native Wayland windows.\r\n- Alt+Enter goes fullscreen at 3440x1440, which exercises the new keyboard and hotkey path.\r\n- VRR turns on in fullscreen and off when leaving it. On KWin the DRM `VRR_ENABLED` property read 0, 1, 0, and only while the fullscreen Dolphin window was active.\r\n- The "game" content-type hint is sent, and no `wp_tearing_control` object is created (checked in the `WAYLAND_DEBUG` log).\r\n- Balloon tooltips render correctly in Config > Graphics.\r\n- Switching to the correct input device (Wayland/0/seat0) leaves existing binds working and unchanged.\r\n- Scaling and fractional scaling work as expected.\r\n- Screen sharing using xdg-desktop-portal over Discord and recording with obs-vkcapture work as expected.\r\n\r\nEvery commit builds on Linux and is formatted with clang-format 19.1.7. I also built with `ENABLE_WAYLAND=OFF`.\r\n\r\nNot tested: Windows, macOS or Android builds. Lock Cursor isn\'t implemented on Wayland.', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14962/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'timeline_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14962/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6657447106', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14962#issuecomment-6657447106', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14962', 'id': 6657447106, 'node_id': 'IC_kwDOALCn2M8AAAABjNCUwg', 'user': {'login': 'linkmauve', 'id': 7755816, 'node_id': 'MDQ6VXNlcjc3NTU4MTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7755816?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/linkmauve', 'html_url': 'https://github.com/linkmauve', 'followers_url': 'https://api.github.com/users/linkmauve/followers', 'following_url': 'https://api.github.com/users/linkmauve/following{/other_user}', 'gists_url': 'https://api.github.com/users/linkmauve/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/linkmauve/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/linkmauve/subscriptions', 'organizations_url': 'https://api.github.com/users/linkmauve/orgs', 'repos_url': 'https://api.github.com/users/linkmauve/repos', 'events_url': 'https://api.github.com/users/linkmauve/events{/privacy}', 'received_events_url': 'https://api.github.com/users/linkmauve/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2026-11-05T12:00:58Z', 'updated_at': '2026-11-05T12:00:58Z', 'body': 'Sorry about the Shift confusion, I had always configured them differently on xcb, so I didn’t think it was a recent regression.\r\n\r\nAs I was playing Xenoblade Chronicles, Dolphin closed with these messages in the terminal:\r\n```\r\nError sending request for wl_surface.attach: Broken pipe\r\n58:06:956 VideoBackends/Vulkan/VKGfx.cpp:270 I[Video]: Resizing swap chain due to suboptimal/out-of-date\r\n58:06:969 VideoBackends/Vulkan/VulkanLoader.cpp:245 E[Video]: (SelectSurfaceFormat:186) vkGetPhysicalDeviceSurfaceFormatsKHR failed:  (-1000000000: VK_ERROR_SURFACE_LOST_KHR)\r\nThe Wayland connection broke. Did the Wayland compositor die?\r\n```\r\n\r\nI had never encountered that on xcb, so it’s possibly a regression too.\r\n\r\nI’m on Mesa f4f170b3423 built a month ago, using radv on a RX\u202f580.  I’ll update to latest main and report back if I can reproduce.', 'author_association': 'MEMBER', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6657447106/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'performed_via_github_app': None, 'minimized': None}, 'repository': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-11-05T09:25:24Z', 'pushed_at': '2026-11-04T20:55:25Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 563769, 'stargazers_count': 15769, 'watchers_count': 15769, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3382, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 484, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3382, 'open_issues': 484, 'watchers': 15769, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'linkmauve', 'id': 7755816, 'node_id': 'MDQ6VXNlcjc3NTU4MTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7755816?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/linkmauve', 'html_url': 'https://github.com/linkmauve', 'followers_url': 'https://api.github.com/users/linkmauve/followers', 'following_url': 'https://api.github.com/users/linkmauve/following{/other_user}', 'gists_url': 'https://api.github.com/users/linkmauve/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/linkmauve/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/linkmauve/subscriptions', 'organizations_url': 'https://api.github.com/users/linkmauve/orgs', 'repos_url': 'https://api.github.com/users/linkmauve/repos', 'events_url': 'https://api.github.com/users/linkmauve/events{/privacy}', 'received_events_url': 'https://api.github.com/users/linkmauve/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'gh_issue_comment'}
2026-11-05T10:52:42.305503	{'source': 'ghhookparser', 'repo': 'dolphin-emu/sadm', 'author': 'michaelackerman419-rgb', 'action': 'created', 'id': 198, 'title': 'linux-buildbot: Generate AppImages', 'url': 'https://github.com/dolphin-emu/sadm/pull/198#issuecomment-6656137343', 'safe_author': False, 'body': '[Uploading url-decode (1).txt…]()\r\n', 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/sadm/issues/198', 'repository_url': 'https://api.github.com/repos/dolphin-emu/sadm', 'labels_url': 'https://api.github.com/repos/dolphin-emu/sadm/issues/198/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/sadm/issues/198/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/sadm/issues/198/events', 'html_url': 'https://github.com/dolphin-emu/sadm/pull/198', 'id': 2511309347, 'node_id': 'PR_kwDOALAO3s56tqeA', 'number': 198, 'title': 'linux-buildbot: Generate AppImages', 'user': {'login': 'GT190', 'id': 169302274, 'node_id': 'U_kgDOChdZAg', 'avatar_url': 'https://avatars.githubusercontent.com/u/169302274?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/GT190', 'html_url': 'https://github.com/GT190', 'followers_url': 'https://api.github.com/users/GT190/followers', 'following_url': 'https://api.github.com/users/GT190/following{/other_user}', 'gists_url': 'https://api.github.com/users/GT190/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/GT190/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/GT190/subscriptions', 'organizations_url': 'https://api.github.com/users/GT190/orgs', 'repos_url': 'https://api.github.com/users/GT190/repos', 'events_url': 'https://api.github.com/users/GT190/events{/privacy}', 'received_events_url': 'https://api.github.com/users/GT190/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 3, 'created_at': '2024-09-06T23:21:02Z', 'updated_at': '2026-11-05T10:52:39Z', 'closed_at': None, 'assignee': None, 'author_association': 'NONE', 'issue_field_values': [], 'type': None, 'active_lock_reason': None, 'draft': False, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/sadm/pulls/198', 'html_url': 'https://github.com/dolphin-emu/sadm/pull/198', 'diff_url': 'https://github.com/dolphin-emu/sadm/pull/198.diff', 'patch_url': 'https://github.com/dolphin-emu/sadm/pull/198.patch', 'merged_at': None}, 'body': 'This aims to add AppImage building to Dolphins CI Infrastructure.\r\n\r\nRequires https://github.com/dolphin-emu/dolphin/pull/13055', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/sadm/issues/198/reactions', 'total_count': 2, '+1': 2, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'timeline_url': 'https://api.github.com/repos/dolphin-emu/sadm/issues/198/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/sadm/issues/comments/6656137343', 'html_url': 'https://github.com/dolphin-emu/sadm/pull/198#issuecomment-6656137343', 'issue_url': 'https://api.github.com/repos/dolphin-emu/sadm/issues/198', 'id': 6656137343, 'node_id': 'IC_kwDOALAO3s8AAAABjLyYfw', 'user': {'login': 'michaelackerman419-rgb', 'id': 296214017, 'node_id': 'U_kgDOEafeAQ', 'avatar_url': 'https://avatars.githubusercontent.com/u/296214017?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/michaelackerman419-rgb', 'html_url': 'https://github.com/michaelackerman419-rgb', 'followers_url': 'https://api.github.com/users/michaelackerman419-rgb/followers', 'following_url': 'https://api.github.com/users/michaelackerman419-rgb/following{/other_user}', 'gists_url': 'https://api.github.com/users/michaelackerman419-rgb/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/michaelackerman419-rgb/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/michaelackerman419-rgb/subscriptions', 'organizations_url': 'https://api.github.com/users/michaelackerman419-rgb/orgs', 'repos_url': 'https://api.github.com/users/michaelackerman419-rgb/repos', 'events_url': 'https://api.github.com/users/michaelackerman419-rgb/events{/privacy}', 'received_events_url': 'https://api.github.com/users/michaelackerman419-rgb/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2026-11-05T10:52:38Z', 'updated_at': '2026-11-05T10:52:38Z', 'body': '[Uploading url-decode (1).txt…]()\r\n', 'author_association': 'NONE', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/sadm/issues/comments/6656137343/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'performed_via_github_app': None, 'minimized': None}, 'repository': {'id': 11538142, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTUzODE0Mg==', 'name': 'sadm', 'full_name': 'dolphin-emu/sadm', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/sadm', 'description': 'Scripts and configurations for the Dolphin Emulator infrastructure', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/sadm', 'forks_url': 'https://api.github.com/repos/dolphin-emu/sadm/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/sadm/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/sadm/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/sadm/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/sadm/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/sadm/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/sadm/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/sadm/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/sadm/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/sadm/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/sadm/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/sadm/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/sadm/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/sadm/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/sadm/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/sadm/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/sadm/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/sadm/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/sadm/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/sadm/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/sadm/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/sadm/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/sadm/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/sadm/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/sadm/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/sadm/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/sadm/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/sadm/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/sadm/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/sadm/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/sadm/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/sadm/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/sadm/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/sadm/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/sadm/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/sadm/deployments', 'created_at': '2013-07-19T22:07:05Z', 'updated_at': '2026-11-02T23:28:08Z', 'pushed_at': '2026-11-02T23:28:04Z', 'git_url': 'git://github.com/dolphin-emu/sadm.git', 'ssh_url': 'git@github.com:dolphin-emu/sadm.git', 'clone_url': 'https://github.com/dolphin-emu/sadm.git', 'svn_url': 'https://github.com/dolphin-emu/sadm', 'homepage': '', 'size': 1356, 'stargazers_count': 50, 'watchers_count': 50, 'language': 'Nix', 'has_issues': True, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 42, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 4, 'license': {'key': 'mit', 'name': 'MIT License', 'spdx_id': 'MIT', 'url': 'https://api.github.com/licenses/mit', 'node_id': 'MDc6TGljZW5zZTEz'}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': [], 'visibility': 'public', 'forks': 42, 'open_issues': 4, 'watchers': 50, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'michaelackerman419-rgb', 'id': 296214017, 'node_id': 'U_kgDOEafeAQ', 'avatar_url': 'https://avatars.githubusercontent.com/u/296214017?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/michaelackerman419-rgb', 'html_url': 'https://github.com/michaelackerman419-rgb', 'followers_url': 'https://api.github.com/users/michaelackerman419-rgb/followers', 'following_url': 'https://api.github.com/users/michaelackerman419-rgb/following{/other_user}', 'gists_url': 'https://api.github.com/users/michaelackerman419-rgb/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/michaelackerman419-rgb/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/michaelackerman419-rgb/subscriptions', 'organizations_url': 'https://api.github.com/users/michaelackerman419-rgb/orgs', 'repos_url': 'https://api.github.com/users/michaelackerman419-rgb/repos', 'events_url': 'https://api.github.com/users/michaelackerman419-rgb/events{/privacy}', 'received_events_url': 'https://api.github.com/users/michaelackerman419-rgb/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'gh_issue_comment'}
2026-11-05T00:51:20.110482	{'source': 'ghhookparser', 'repo': 'dolphin-emu/sadm', 'author': 'michaelackerman419-rgb', 'action': 'created', 'id': 198, 'title': 'linux-buildbot: Generate AppImages', 'url': 'https://github.com/dolphin-emu/sadm/pull/198#issuecomment-6646492853', 'safe_author': False, 'body': '[michaelackerman419-rgb:main](url)', 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/sadm/issues/198', 'repository_url': 'https://api.github.com/repos/dolphin-emu/sadm', 'labels_url': 'https://api.github.com/repos/dolphin-emu/sadm/issues/198/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/sadm/issues/198/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/sadm/issues/198/events', 'html_url': 'https://github.com/dolphin-emu/sadm/pull/198', 'id': 2511309347, 'node_id': 'PR_kwDOALAO3s56tqeA', 'number': 198, 'title': 'linux-buildbot: Generate AppImages', 'user': {'login': 'GT190', 'id': 169302274, 'node_id': 'U_kgDOChdZAg', 'avatar_url': 'https://avatars.githubusercontent.com/u/169302274?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/GT190', 'html_url': 'https://github.com/GT190', 'followers_url': 'https://api.github.com/users/GT190/followers', 'following_url': 'https://api.github.com/users/GT190/following{/other_user}', 'gists_url': 'https://api.github.com/users/GT190/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/GT190/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/GT190/subscriptions', 'organizations_url': 'https://api.github.com/users/GT190/orgs', 'repos_url': 'https://api.github.com/users/GT190/repos', 'events_url': 'https://api.github.com/users/GT190/events{/privacy}', 'received_events_url': 'https://api.github.com/users/GT190/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 2, 'created_at': '2024-09-06T23:21:02Z', 'updated_at': '2026-11-05T00:51:17Z', 'closed_at': None, 'assignee': None, 'author_association': 'NONE', 'issue_field_values': [], 'type': None, 'active_lock_reason': None, 'draft': False, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/sadm/pulls/198', 'html_url': 'https://github.com/dolphin-emu/sadm/pull/198', 'diff_url': 'https://github.com/dolphin-emu/sadm/pull/198.diff', 'patch_url': 'https://github.com/dolphin-emu/sadm/pull/198.patch', 'merged_at': None}, 'body': 'This aims to add AppImage building to Dolphins CI Infrastructure.\r\n\r\nRequires https://github.com/dolphin-emu/dolphin/pull/13055', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/sadm/issues/198/reactions', 'total_count': 2, '+1': 2, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'timeline_url': 'https://api.github.com/repos/dolphin-emu/sadm/issues/198/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/sadm/issues/comments/6646492853', 'html_url': 'https://github.com/dolphin-emu/sadm/pull/198#issuecomment-6646492853', 'issue_url': 'https://api.github.com/repos/dolphin-emu/sadm/issues/198', 'id': 6646492853, 'node_id': 'IC_kwDOALAO3s8AAAABjClutQ', 'user': {'login': 'michaelackerman419-rgb', 'id': 296214017, 'node_id': 'U_kgDOEafeAQ', 'avatar_url': 'https://avatars.githubusercontent.com/u/296214017?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/michaelackerman419-rgb', 'html_url': 'https://github.com/michaelackerman419-rgb', 'followers_url': 'https://api.github.com/users/michaelackerman419-rgb/followers', 'following_url': 'https://api.github.com/users/michaelackerman419-rgb/following{/other_user}', 'gists_url': 'https://api.github.com/users/michaelackerman419-rgb/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/michaelackerman419-rgb/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/michaelackerman419-rgb/subscriptions', 'organizations_url': 'https://api.github.com/users/michaelackerman419-rgb/orgs', 'repos_url': 'https://api.github.com/users/michaelackerman419-rgb/repos', 'events_url': 'https://api.github.com/users/michaelackerman419-rgb/events{/privacy}', 'received_events_url': 'https://api.github.com/users/michaelackerman419-rgb/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2026-11-05T00:51:17Z', 'updated_at': '2026-11-05T00:51:17Z', 'body': '[michaelackerman419-rgb:main](url)', 'author_association': 'NONE', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/sadm/issues/comments/6646492853/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'performed_via_github_app': None, 'minimized': None}, 'repository': {'id': 11538142, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTUzODE0Mg==', 'name': 'sadm', 'full_name': 'dolphin-emu/sadm', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/sadm', 'description': 'Scripts and configurations for the Dolphin Emulator infrastructure', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/sadm', 'forks_url': 'https://api.github.com/repos/dolphin-emu/sadm/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/sadm/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/sadm/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/sadm/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/sadm/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/sadm/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/sadm/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/sadm/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/sadm/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/sadm/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/sadm/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/sadm/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/sadm/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/sadm/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/sadm/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/sadm/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/sadm/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/sadm/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/sadm/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/sadm/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/sadm/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/sadm/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/sadm/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/sadm/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/sadm/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/sadm/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/sadm/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/sadm/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/sadm/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/sadm/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/sadm/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/sadm/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/sadm/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/sadm/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/sadm/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/sadm/deployments', 'created_at': '2013-07-19T22:07:05Z', 'updated_at': '2026-11-02T23:28:08Z', 'pushed_at': '2026-11-02T23:28:04Z', 'git_url': 'git://github.com/dolphin-emu/sadm.git', 'ssh_url': 'git@github.com:dolphin-emu/sadm.git', 'clone_url': 'https://github.com/dolphin-emu/sadm.git', 'svn_url': 'https://github.com/dolphin-emu/sadm', 'homepage': '', 'size': 1356, 'stargazers_count': 50, 'watchers_count': 50, 'language': 'Nix', 'has_issues': True, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 42, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 4, 'license': {'key': 'mit', 'name': 'MIT License', 'spdx_id': 'MIT', 'url': 'https://api.github.com/licenses/mit', 'node_id': 'MDc6TGljZW5zZTEz'}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': [], 'visibility': 'public', 'forks': 42, 'open_issues': 4, 'watchers': 50, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'michaelackerman419-rgb', 'id': 296214017, 'node_id': 'U_kgDOEafeAQ', 'avatar_url': 'https://avatars.githubusercontent.com/u/296214017?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/michaelackerman419-rgb', 'html_url': 'https://github.com/michaelackerman419-rgb', 'followers_url': 'https://api.github.com/users/michaelackerman419-rgb/followers', 'following_url': 'https://api.github.com/users/michaelackerman419-rgb/following{/other_user}', 'gists_url': 'https://api.github.com/users/michaelackerman419-rgb/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/michaelackerman419-rgb/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/michaelackerman419-rgb/subscriptions', 'organizations_url': 'https://api.github.com/users/michaelackerman419-rgb/orgs', 'repos_url': 'https://api.github.com/users/michaelackerman419-rgb/repos', 'events_url': 'https://api.github.com/users/michaelackerman419-rgb/events{/privacy}', 'received_events_url': 'https://api.github.com/users/michaelackerman419-rgb/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'gh_issue_comment'}
2026-11-04T23:50:17.840380	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'ellierocks', 'action': 'edited', 'id': 14962, 'title': 'Add Wayland support (Linux only)', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14962#issuecomment-6645450979', 'safe_author': False, 'body': 'Fixed an issue in [f109aeb7](https://github.com/dolphin-emu/dolphin/pull/14962/commits/f109aeb76756796aee73ba94cf971707e5b2aaaa) where ticking "Enable RetroAchievements.org Integration" made the settings tab draw over the Achievements dialog\'s tab bar and frame. Now it passes the main window handle (new `Host::GetMainWindowHandle()`), the same one `MainWindow` already passes at startup.\r\n\r\n**Windows side effect:** the handle is only used there, to load RAIntegration, and it now gets the main window instead of a child widget. That change isn\'t tested on Windows, but actually fixes a small inconsistency. Leaving Windows completely untouched is possible, but it\'s uglier.', 'raw': {'action': 'edited', 'changes': {'body': {'from': 'Fixed an issue where ticking "Enable RetroAchievements.org Integration" made the settings tab draw over the Achievements dialog\'s tab bar and frame. Now it passes the main window handle (new `Host::GetMainWindowHandle()`), the same one `MainWindow` already passes at startup.\r\n\r\n**Windows side effect:** the handle is only used there, to load RAIntegration, and it now gets the main window instead of a child widget. That change isn\'t tested on Windows, but actually fixes a small inconsistency. Leaving Windows completely untouched is possible, but it\'s uglier.'}}, 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14962', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14962/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14962/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14962/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14962', 'id': 6118829388, 'node_id': 'PR_kwDOALCn2M8AAAABLwnuUQ', 'number': 14962, 'title': 'Add Wayland support (Linux only)', 'user': {'login': 'ellierocks', 'id': 275226857, 'node_id': 'U_kgDOEGeg6Q', 'avatar_url': 'https://avatars.githubusercontent.com/u/275226857?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/ellierocks', 'html_url': 'https://github.com/ellierocks', 'followers_url': 'https://api.github.com/users/ellierocks/followers', 'following_url': 'https://api.github.com/users/ellierocks/following{/other_user}', 'gists_url': 'https://api.github.com/users/ellierocks/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/ellierocks/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/ellierocks/subscriptions', 'organizations_url': 'https://api.github.com/users/ellierocks/orgs', 'repos_url': 'https://api.github.com/users/ellierocks/repos', 'events_url': 'https://api.github.com/users/ellierocks/events{/privacy}', 'received_events_url': 'https://api.github.com/users/ellierocks/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 23, 'created_at': '2026-10-30T12:13:34Z', 'updated_at': '2026-11-04T23:49:56Z', 'closed_at': None, 'assignee': None, 'author_association': 'NONE', 'issue_field_values': [], 'type': None, 'active_lock_reason': None, 'draft': False, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14962', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14962', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14962.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14962.patch', 'merged_at': None}, 'body': 'Adds native Wayland support, so Dolphin can run without XWayland and the compositor can present the game directly. This is the same goal as #14652, but only Linux code changes. Other platforms only get two new struct fields (see "Resize"). Building with `ENABLE_WAYLAND=OFF` is unaffected.\r\n\r\nThe Vulkan surface commit is TellowKrinkle\'s and the Qt platform selection commit is BeezBumba\'s, both from #14652. Their authorship is kept.\r\n\r\n## Generative AI disclosure\r\nApart from those two commits, the code was written by Claude (Sonnet 5.5) while I directed it. It was not used for anything related to the emulated console. I, Ellie, can attest I\'ve looked through the code changes and actively avoided issues blocking the previous PR. Altering code for other platforms needlessly was avoided, the tooltips and keyboard input issues were addressed.\r\n\r\n## What changed\r\n- CMake: `ENABLE_WAYLAND` and `FindWayland.cmake`. Protocol bindings (content-type-v1, pointer-warp-v1, pointer-constraints, relative-pointer) are generated at build time and need wayland-protocols 1.41 or newer. If wayland-scanner, wayland-protocols or xkbcommon is missing, you still get a working Wayland window, but no input backend or VRR hint, and CMake warns.\r\n- Vulkan: a `VkWaylandSurfaceKHR` surface. The surface format and present mode queries retry on `VK_INCOMPLETE` instead of asserting. On Wayland the format list comes from the compositor and can change between the count query and the list query.\r\n- OpenGL: an EGL context on a `wl_egl_window`.\r\n- Resize: a `wl_surface` can\'t report its size, and Vulkan\'s `currentExtent` is undefined for it. `WindowSystemInfo` gets `render_surface_width/height` and `Presenter` gets an atomic requested-size field, which the host updates on resize. The existing surface-change API is unchanged.\r\n- Input: a ControllerInterface backend for keyboard and relative mouse, with xkbcommon key names and Center Mouse through `wp_pointer_warp_v1`. It runs on its own event queue. The Qt render widget now reports the `wl_surface` as its handle, which is what broke keyboard input and hotkeys in #14652.\r\n- VRR: the render surface sets the `wp_content_type_v1` "game" hint. `wp_tearing_control` is not used.\r\n- Tooltips: balloon tips are now `xdg_popup`s with a transient parent, because `Qt::ToolTip` with `move()` and `setMask()` doesn\'t work on Wayland.\r\n\r\n## Testing\r\nRTX 3070 Ti, on KDE Plasma, Hyprland, and Sway all with adaptive sync enabled.\r\n- Tested using the game I speedrun, LEGO Star Wars: The Video Game.\r\n- Vulkan and OpenGL both run as native Wayland windows.\r\n- Alt+Enter goes fullscreen at 3440x1440, which exercises the new keyboard and hotkey path.\r\n- VRR turns on in fullscreen and off when leaving it. On KWin the DRM `VRR_ENABLED` property read 0, 1, 0, and only while the fullscreen Dolphin window was active.\r\n- The "game" content-type hint is sent, and no `wp_tearing_control` object is created (checked in the `WAYLAND_DEBUG` log).\r\n- Balloon tooltips render correctly in Config > Graphics.\r\n- Switching to the correct input device (Wayland/0/seat0) leaves existing binds working and unchanged.\r\n- Scaling and fractional scaling work as expected.\r\n- Screen sharing using xdg-desktop-portal over Discord and recording with obs-vkcapture work as expected.\r\n\r\nEvery commit builds on Linux and is formatted with clang-format 19.1.7. I also built with `ENABLE_WAYLAND=OFF`.\r\n\r\nNot tested: Windows, macOS or Android builds. Lock Cursor isn\'t implemented on Wayland.', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14962/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'timeline_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14962/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6645450979', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14962#issuecomment-6645450979', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14962', 'id': 6645450979, 'node_id': 'IC_kwDOALCn2M8AAAABjBmI4w', 'user': {'login': 'ellierocks', 'id': 275226857, 'node_id': 'U_kgDOEGeg6Q', 'avatar_url': 'https://avatars.githubusercontent.com/u/275226857?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/ellierocks', 'html_url': 'https://github.com/ellierocks', 'followers_url': 'https://api.github.com/users/ellierocks/followers', 'following_url': 'https://api.github.com/users/ellierocks/following{/other_user}', 'gists_url': 'https://api.github.com/users/ellierocks/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/ellierocks/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/ellierocks/subscriptions', 'organizations_url': 'https://api.github.com/users/ellierocks/orgs', 'repos_url': 'https://api.github.com/users/ellierocks/repos', 'events_url': 'https://api.github.com/users/ellierocks/events{/privacy}', 'received_events_url': 'https://api.github.com/users/ellierocks/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2026-11-04T23:49:56Z', 'updated_at': '2026-11-04T23:50:16Z', 'body': 'Fixed an issue in [f109aeb7](https://github.com/dolphin-emu/dolphin/pull/14962/commits/f109aeb76756796aee73ba94cf971707e5b2aaaa) where ticking "Enable RetroAchievements.org Integration" made the settings tab draw over the Achievements dialog\'s tab bar and frame. Now it passes the main window handle (new `Host::GetMainWindowHandle()`), the same one `MainWindow` already passes at startup.\r\n\r\n**Windows side effect:** the handle is only used there, to load RAIntegration, and it now gets the main window instead of a child widget. That change isn\'t tested on Windows, but actually fixes a small inconsistency. Leaving Windows completely untouched is possible, but it\'s uglier.', 'author_association': 'NONE', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6645450979/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'performed_via_github_app': None, 'minimized': None}, 'repository': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-11-04T22:24:40Z', 'pushed_at': '2026-11-04T20:55:25Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 563769, 'stargazers_count': 15768, 'watchers_count': 15768, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3382, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 482, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3382, 'open_issues': 482, 'watchers': 15768, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'ellierocks', 'id': 275226857, 'node_id': 'U_kgDOEGeg6Q', 'avatar_url': 'https://avatars.githubusercontent.com/u/275226857?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/ellierocks', 'html_url': 'https://github.com/ellierocks', 'followers_url': 'https://api.github.com/users/ellierocks/followers', 'following_url': 'https://api.github.com/users/ellierocks/following{/other_user}', 'gists_url': 'https://api.github.com/users/ellierocks/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/ellierocks/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/ellierocks/subscriptions', 'organizations_url': 'https://api.github.com/users/ellierocks/orgs', 'repos_url': 'https://api.github.com/users/ellierocks/repos', 'events_url': 'https://api.github.com/users/ellierocks/events{/privacy}', 'received_events_url': 'https://api.github.com/users/ellierocks/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'gh_issue_comment'}
2026-11-04T23:49:58.289177	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'ellierocks', 'action': 'created', 'id': 14962, 'title': 'Add Wayland support (Linux only)', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14962#issuecomment-6645450979', 'safe_author': False, 'body': 'Fixed an issue where ticking "Enable RetroAchievements.org Integration" made the settings tab draw over the Achievements dialog\'s tab bar and frame. Now it passes the main window handle (new `Host::GetMainWindowHandle()`), the same one `MainWindow` already passes at startup.\r\n\r\n**Windows side effect:** the handle is only used there, to load RAIntegration, and it now gets the main window instead of a child widget. That change isn\'t tested on Windows, but actually fixes a small inconsistency. Leaving Windows completely untouched is possible, but it\'s uglier.', 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14962', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14962/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14962/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14962/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14962', 'id': 6118829388, 'node_id': 'PR_kwDOALCn2M8AAAABLwnuUQ', 'number': 14962, 'title': 'Add Wayland support (Linux only)', 'user': {'login': 'ellierocks', 'id': 275226857, 'node_id': 'U_kgDOEGeg6Q', 'avatar_url': 'https://avatars.githubusercontent.com/u/275226857?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/ellierocks', 'html_url': 'https://github.com/ellierocks', 'followers_url': 'https://api.github.com/users/ellierocks/followers', 'following_url': 'https://api.github.com/users/ellierocks/following{/other_user}', 'gists_url': 'https://api.github.com/users/ellierocks/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/ellierocks/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/ellierocks/subscriptions', 'organizations_url': 'https://api.github.com/users/ellierocks/orgs', 'repos_url': 'https://api.github.com/users/ellierocks/repos', 'events_url': 'https://api.github.com/users/ellierocks/events{/privacy}', 'received_events_url': 'https://api.github.com/users/ellierocks/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 23, 'created_at': '2026-10-30T12:13:34Z', 'updated_at': '2026-11-04T23:49:56Z', 'closed_at': None, 'assignee': None, 'author_association': 'NONE', 'issue_field_values': [], 'type': None, 'active_lock_reason': None, 'draft': False, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14962', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14962', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14962.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14962.patch', 'merged_at': None}, 'body': 'Adds native Wayland support, so Dolphin can run without XWayland and the compositor can present the game directly. This is the same goal as #14652, but only Linux code changes. Other platforms only get two new struct fields (see "Resize"). Building with `ENABLE_WAYLAND=OFF` is unaffected.\r\n\r\nThe Vulkan surface commit is TellowKrinkle\'s and the Qt platform selection commit is BeezBumba\'s, both from #14652. Their authorship is kept.\r\n\r\n## Generative AI disclosure\r\nApart from those two commits, the code was written by Claude (Sonnet 5.5) while I directed it. It was not used for anything related to the emulated console. I, Ellie, can attest I\'ve looked through the code changes and actively avoided issues blocking the previous PR. Altering code for other platforms needlessly was avoided, the tooltips and keyboard input issues were addressed.\r\n\r\n## What changed\r\n- CMake: `ENABLE_WAYLAND` and `FindWayland.cmake`. Protocol bindings (content-type-v1, pointer-warp-v1, pointer-constraints, relative-pointer) are generated at build time and need wayland-protocols 1.41 or newer. If wayland-scanner, wayland-protocols or xkbcommon is missing, you still get a working Wayland window, but no input backend or VRR hint, and CMake warns.\r\n- Vulkan: a `VkWaylandSurfaceKHR` surface. The surface format and present mode queries retry on `VK_INCOMPLETE` instead of asserting. On Wayland the format list comes from the compositor and can change between the count query and the list query.\r\n- OpenGL: an EGL context on a `wl_egl_window`.\r\n- Resize: a `wl_surface` can\'t report its size, and Vulkan\'s `currentExtent` is undefined for it. `WindowSystemInfo` gets `render_surface_width/height` and `Presenter` gets an atomic requested-size field, which the host updates on resize. The existing surface-change API is unchanged.\r\n- Input: a ControllerInterface backend for keyboard and relative mouse, with xkbcommon key names and Center Mouse through `wp_pointer_warp_v1`. It runs on its own event queue. The Qt render widget now reports the `wl_surface` as its handle, which is what broke keyboard input and hotkeys in #14652.\r\n- VRR: the render surface sets the `wp_content_type_v1` "game" hint. `wp_tearing_control` is not used.\r\n- Tooltips: balloon tips are now `xdg_popup`s with a transient parent, because `Qt::ToolTip` with `move()` and `setMask()` doesn\'t work on Wayland.\r\n\r\n## Testing\r\nRTX 3070 Ti, on KDE Plasma, Hyprland, and Sway all with adaptive sync enabled.\r\n- Tested using the game I speedrun, LEGO Star Wars: The Video Game.\r\n- Vulkan and OpenGL both run as native Wayland windows.\r\n- Alt+Enter goes fullscreen at 3440x1440, which exercises the new keyboard and hotkey path.\r\n- VRR turns on in fullscreen and off when leaving it. On KWin the DRM `VRR_ENABLED` property read 0, 1, 0, and only while the fullscreen Dolphin window was active.\r\n- The "game" content-type hint is sent, and no `wp_tearing_control` object is created (checked in the `WAYLAND_DEBUG` log).\r\n- Balloon tooltips render correctly in Config > Graphics.\r\n- Switching to the correct input device (Wayland/0/seat0) leaves existing binds working and unchanged.\r\n- Scaling and fractional scaling work as expected.\r\n- Screen sharing using xdg-desktop-portal over Discord and recording with obs-vkcapture work as expected.\r\n\r\nEvery commit builds on Linux and is formatted with clang-format 19.1.7. I also built with `ENABLE_WAYLAND=OFF`.\r\n\r\nNot tested: Windows, macOS or Android builds. Lock Cursor isn\'t implemented on Wayland.', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14962/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'timeline_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14962/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6645450979', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14962#issuecomment-6645450979', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14962', 'id': 6645450979, 'node_id': 'IC_kwDOALCn2M8AAAABjBmI4w', 'user': {'login': 'ellierocks', 'id': 275226857, 'node_id': 'U_kgDOEGeg6Q', 'avatar_url': 'https://avatars.githubusercontent.com/u/275226857?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/ellierocks', 'html_url': 'https://github.com/ellierocks', 'followers_url': 'https://api.github.com/users/ellierocks/followers', 'following_url': 'https://api.github.com/users/ellierocks/following{/other_user}', 'gists_url': 'https://api.github.com/users/ellierocks/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/ellierocks/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/ellierocks/subscriptions', 'organizations_url': 'https://api.github.com/users/ellierocks/orgs', 'repos_url': 'https://api.github.com/users/ellierocks/repos', 'events_url': 'https://api.github.com/users/ellierocks/events{/privacy}', 'received_events_url': 'https://api.github.com/users/ellierocks/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2026-11-04T23:49:56Z', 'updated_at': '2026-11-04T23:49:56Z', 'body': 'Fixed an issue where ticking "Enable RetroAchievements.org Integration" made the settings tab draw over the Achievements dialog\'s tab bar and frame. Now it passes the main window handle (new `Host::GetMainWindowHandle()`), the same one `MainWindow` already passes at startup.\r\n\r\n**Windows side effect:** the handle is only used there, to load RAIntegration, and it now gets the main window instead of a child widget. That change isn\'t tested on Windows, but actually fixes a small inconsistency. Leaving Windows completely untouched is possible, but it\'s uglier.', 'author_association': 'NONE', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6645450979/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'performed_via_github_app': None, 'minimized': None}, 'repository': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-11-04T22:24:40Z', 'pushed_at': '2026-11-04T20:55:25Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 563769, 'stargazers_count': 15768, 'watchers_count': 15768, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3382, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 482, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3382, 'open_issues': 482, 'watchers': 15768, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'ellierocks', 'id': 275226857, 'node_id': 'U_kgDOEGeg6Q', 'avatar_url': 'https://avatars.githubusercontent.com/u/275226857?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/ellierocks', 'html_url': 'https://github.com/ellierocks', 'followers_url': 'https://api.github.com/users/ellierocks/followers', 'following_url': 'https://api.github.com/users/ellierocks/following{/other_user}', 'gists_url': 'https://api.github.com/users/ellierocks/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/ellierocks/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/ellierocks/subscriptions', 'organizations_url': 'https://api.github.com/users/ellierocks/orgs', 'repos_url': 'https://api.github.com/users/ellierocks/repos', 'events_url': 'https://api.github.com/users/ellierocks/events{/privacy}', 'received_events_url': 'https://api.github.com/users/ellierocks/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'gh_issue_comment'}
2026-11-04T23:29:26.009221	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'ellierocks', 'action': 'created', 'id': 14962, 'title': 'Add Wayland support (Linux only)', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14962#issuecomment-6645072249', 'safe_author': False, 'body': 'To keep this PR focused, please report issues here if they only happen on Wayland. If something also happens with `QT_QPA_PLATFORM=xcb` on master or the latest release, it predates the Wayland work and is better tracked separately.', 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14962', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14962/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14962/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14962/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14962', 'id': 6118829388, 'node_id': 'PR_kwDOALCn2M8AAAABLwnuUQ', 'number': 14962, 'title': 'Add Wayland support (Linux only)', 'user': {'login': 'ellierocks', 'id': 275226857, 'node_id': 'U_kgDOEGeg6Q', 'avatar_url': 'https://avatars.githubusercontent.com/u/275226857?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/ellierocks', 'html_url': 'https://github.com/ellierocks', 'followers_url': 'https://api.github.com/users/ellierocks/followers', 'following_url': 'https://api.github.com/users/ellierocks/following{/other_user}', 'gists_url': 'https://api.github.com/users/ellierocks/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/ellierocks/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/ellierocks/subscriptions', 'organizations_url': 'https://api.github.com/users/ellierocks/orgs', 'repos_url': 'https://api.github.com/users/ellierocks/repos', 'events_url': 'https://api.github.com/users/ellierocks/events{/privacy}', 'received_events_url': 'https://api.github.com/users/ellierocks/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 22, 'created_at': '2026-10-30T12:13:34Z', 'updated_at': '2026-11-04T23:29:23Z', 'closed_at': None, 'assignee': None, 'author_association': 'NONE', 'issue_field_values': [], 'type': None, 'active_lock_reason': None, 'draft': False, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14962', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14962', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14962.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14962.patch', 'merged_at': None}, 'body': 'Adds native Wayland support, so Dolphin can run without XWayland and the compositor can present the game directly. This is the same goal as #14652, but only Linux code changes. Other platforms only get two new struct fields (see "Resize"). Building with `ENABLE_WAYLAND=OFF` is unaffected.\r\n\r\nThe Vulkan surface commit is TellowKrinkle\'s and the Qt platform selection commit is BeezBumba\'s, both from #14652. Their authorship is kept.\r\n\r\n## Generative AI disclosure\r\nApart from those two commits, the code was written by Claude (Sonnet 5.5) while I directed it. It was not used for anything related to the emulated console. I, Ellie, can attest I\'ve looked through the code changes and actively avoided issues blocking the previous PR. Altering code for other platforms needlessly was avoided, the tooltips and keyboard input issues were addressed.\r\n\r\n## What changed\r\n- CMake: `ENABLE_WAYLAND` and `FindWayland.cmake`. Protocol bindings (content-type-v1, pointer-warp-v1, pointer-constraints, relative-pointer) are generated at build time and need wayland-protocols 1.41 or newer. If wayland-scanner, wayland-protocols or xkbcommon is missing, you still get a working Wayland window, but no input backend or VRR hint, and CMake warns.\r\n- Vulkan: a `VkWaylandSurfaceKHR` surface. The surface format and present mode queries retry on `VK_INCOMPLETE` instead of asserting. On Wayland the format list comes from the compositor and can change between the count query and the list query.\r\n- OpenGL: an EGL context on a `wl_egl_window`.\r\n- Resize: a `wl_surface` can\'t report its size, and Vulkan\'s `currentExtent` is undefined for it. `WindowSystemInfo` gets `render_surface_width/height` and `Presenter` gets an atomic requested-size field, which the host updates on resize. The existing surface-change API is unchanged.\r\n- Input: a ControllerInterface backend for keyboard and relative mouse, with xkbcommon key names and Center Mouse through `wp_pointer_warp_v1`. It runs on its own event queue. The Qt render widget now reports the `wl_surface` as its handle, which is what broke keyboard input and hotkeys in #14652.\r\n- VRR: the render surface sets the `wp_content_type_v1` "game" hint. `wp_tearing_control` is not used.\r\n- Tooltips: balloon tips are now `xdg_popup`s with a transient parent, because `Qt::ToolTip` with `move()` and `setMask()` doesn\'t work on Wayland.\r\n\r\n## Testing\r\nRTX 3070 Ti, on KDE Plasma, Hyprland, and Sway all with adaptive sync enabled.\r\n- Tested using the game I speedrun, LEGO Star Wars: The Video Game.\r\n- Vulkan and OpenGL both run as native Wayland windows.\r\n- Alt+Enter goes fullscreen at 3440x1440, which exercises the new keyboard and hotkey path.\r\n- VRR turns on in fullscreen and off when leaving it. On KWin the DRM `VRR_ENABLED` property read 0, 1, 0, and only while the fullscreen Dolphin window was active.\r\n- The "game" content-type hint is sent, and no `wp_tearing_control` object is created (checked in the `WAYLAND_DEBUG` log).\r\n- Balloon tooltips render correctly in Config > Graphics.\r\n- Switching to the correct input device (Wayland/0/seat0) leaves existing binds working and unchanged.\r\n- Scaling and fractional scaling work as expected.\r\n- Screen sharing using xdg-desktop-portal over Discord and recording with obs-vkcapture work as expected.\r\n\r\nEvery commit builds on Linux and is formatted with clang-format 19.1.7. I also built with `ENABLE_WAYLAND=OFF`.\r\n\r\nNot tested: Windows, macOS or Android builds. Lock Cursor isn\'t implemented on Wayland.', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14962/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'timeline_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14962/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6645072249', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14962#issuecomment-6645072249', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14962', 'id': 6645072249, 'node_id': 'IC_kwDOALCn2M8AAAABjBPBeQ', 'user': {'login': 'ellierocks', 'id': 275226857, 'node_id': 'U_kgDOEGeg6Q', 'avatar_url': 'https://avatars.githubusercontent.com/u/275226857?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/ellierocks', 'html_url': 'https://github.com/ellierocks', 'followers_url': 'https://api.github.com/users/ellierocks/followers', 'following_url': 'https://api.github.com/users/ellierocks/following{/other_user}', 'gists_url': 'https://api.github.com/users/ellierocks/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/ellierocks/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/ellierocks/subscriptions', 'organizations_url': 'https://api.github.com/users/ellierocks/orgs', 'repos_url': 'https://api.github.com/users/ellierocks/repos', 'events_url': 'https://api.github.com/users/ellierocks/events{/privacy}', 'received_events_url': 'https://api.github.com/users/ellierocks/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2026-11-04T23:29:23Z', 'updated_at': '2026-11-04T23:29:23Z', 'body': 'To keep this PR focused, please report issues here if they only happen on Wayland. If something also happens with `QT_QPA_PLATFORM=xcb` on master or the latest release, it predates the Wayland work and is better tracked separately.', 'author_association': 'NONE', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6645072249/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'performed_via_github_app': None, 'minimized': None}, 'repository': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-11-04T22:24:40Z', 'pushed_at': '2026-11-04T20:55:25Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 563769, 'stargazers_count': 15768, 'watchers_count': 15768, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3382, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 482, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3382, 'open_issues': 482, 'watchers': 15768, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'ellierocks', 'id': 275226857, 'node_id': 'U_kgDOEGeg6Q', 'avatar_url': 'https://avatars.githubusercontent.com/u/275226857?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/ellierocks', 'html_url': 'https://github.com/ellierocks', 'followers_url': 'https://api.github.com/users/ellierocks/followers', 'following_url': 'https://api.github.com/users/ellierocks/following{/other_user}', 'gists_url': 'https://api.github.com/users/ellierocks/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/ellierocks/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/ellierocks/subscriptions', 'organizations_url': 'https://api.github.com/users/ellierocks/orgs', 'repos_url': 'https://api.github.com/users/ellierocks/repos', 'events_url': 'https://api.github.com/users/ellierocks/events{/privacy}', 'received_events_url': 'https://api.github.com/users/ellierocks/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'gh_issue_comment'}
2026-11-04T23:26:56.176407	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'created', 'id': 14962, 'title': 'Add Wayland support (Linux only)', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14962#issuecomment-6645012111', 'safe_author': True, 'body': 'Yeah, the combined shift keys is a feature of all our keyboard backends. The intention was to enable Shift+W type stuff to work with both shift keys for hotkeys.\r\nI think we should retain that behavior for now. If that wants to be adjusted it can be for another PR.', 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14962', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14962/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14962/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14962/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14962', 'id': 6118829388, 'node_id': 'PR_kwDOALCn2M8AAAABLwnuUQ', 'number': 14962, 'title': 'Add Wayland support (Linux only)', 'user': {'login': 'ellierocks', 'id': 275226857, 'node_id': 'U_kgDOEGeg6Q', 'avatar_url': 'https://avatars.githubusercontent.com/u/275226857?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/ellierocks', 'html_url': 'https://github.com/ellierocks', 'followers_url': 'https://api.github.com/users/ellierocks/followers', 'following_url': 'https://api.github.com/users/ellierocks/following{/other_user}', 'gists_url': 'https://api.github.com/users/ellierocks/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/ellierocks/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/ellierocks/subscriptions', 'organizations_url': 'https://api.github.com/users/ellierocks/orgs', 'repos_url': 'https://api.github.com/users/ellierocks/repos', 'events_url': 'https://api.github.com/users/ellierocks/events{/privacy}', 'received_events_url': 'https://api.github.com/users/ellierocks/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 21, 'created_at': '2026-10-30T12:13:34Z', 'updated_at': '2026-11-04T23:26:54Z', 'closed_at': None, 'assignee': None, 'author_association': 'NONE', 'issue_field_values': [], 'type': None, 'active_lock_reason': None, 'draft': False, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14962', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14962', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14962.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14962.patch', 'merged_at': None}, 'body': 'Adds native Wayland support, so Dolphin can run without XWayland and the compositor can present the game directly. This is the same goal as #14652, but only Linux code changes. Other platforms only get two new struct fields (see "Resize"). Building with `ENABLE_WAYLAND=OFF` is unaffected.\r\n\r\nThe Vulkan surface commit is TellowKrinkle\'s and the Qt platform selection commit is BeezBumba\'s, both from #14652. Their authorship is kept.\r\n\r\n## Generative AI disclosure\r\nApart from those two commits, the code was written by Claude (Sonnet 5.5) while I directed it. It was not used for anything related to the emulated console. I, Ellie, can attest I\'ve looked through the code changes and actively avoided issues blocking the previous PR. Altering code for other platforms needlessly was avoided, the tooltips and keyboard input issues were addressed.\r\n\r\n## What changed\r\n- CMake: `ENABLE_WAYLAND` and `FindWayland.cmake`. Protocol bindings (content-type-v1, pointer-warp-v1, pointer-constraints, relative-pointer) are generated at build time and need wayland-protocols 1.41 or newer. If wayland-scanner, wayland-protocols or xkbcommon is missing, you still get a working Wayland window, but no input backend or VRR hint, and CMake warns.\r\n- Vulkan: a `VkWaylandSurfaceKHR` surface. The surface format and present mode queries retry on `VK_INCOMPLETE` instead of asserting. On Wayland the format list comes from the compositor and can change between the count query and the list query.\r\n- OpenGL: an EGL context on a `wl_egl_window`.\r\n- Resize: a `wl_surface` can\'t report its size, and Vulkan\'s `currentExtent` is undefined for it. `WindowSystemInfo` gets `render_surface_width/height` and `Presenter` gets an atomic requested-size field, which the host updates on resize. The existing surface-change API is unchanged.\r\n- Input: a ControllerInterface backend for keyboard and relative mouse, with xkbcommon key names and Center Mouse through `wp_pointer_warp_v1`. It runs on its own event queue. The Qt render widget now reports the `wl_surface` as its handle, which is what broke keyboard input and hotkeys in #14652.\r\n- VRR: the render surface sets the `wp_content_type_v1` "game" hint. `wp_tearing_control` is not used.\r\n- Tooltips: balloon tips are now `xdg_popup`s with a transient parent, because `Qt::ToolTip` with `move()` and `setMask()` doesn\'t work on Wayland.\r\n\r\n## Testing\r\nRTX 3070 Ti, on KDE Plasma, Hyprland, and Sway all with adaptive sync enabled.\r\n- Tested using the game I speedrun, LEGO Star Wars: The Video Game.\r\n- Vulkan and OpenGL both run as native Wayland windows.\r\n- Alt+Enter goes fullscreen at 3440x1440, which exercises the new keyboard and hotkey path.\r\n- VRR turns on in fullscreen and off when leaving it. On KWin the DRM `VRR_ENABLED` property read 0, 1, 0, and only while the fullscreen Dolphin window was active.\r\n- The "game" content-type hint is sent, and no `wp_tearing_control` object is created (checked in the `WAYLAND_DEBUG` log).\r\n- Balloon tooltips render correctly in Config > Graphics.\r\n- Switching to the correct input device (Wayland/0/seat0) leaves existing binds working and unchanged.\r\n- Scaling and fractional scaling work as expected.\r\n- Screen sharing using xdg-desktop-portal over Discord and recording with obs-vkcapture work as expected.\r\n\r\nEvery commit builds on Linux and is formatted with clang-format 19.1.7. I also built with `ENABLE_WAYLAND=OFF`.\r\n\r\nNot tested: Windows, macOS or Android builds. Lock Cursor isn\'t implemented on Wayland.', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14962/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'timeline_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14962/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6645012111', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14962#issuecomment-6645012111', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14962', 'id': 6645012111, 'node_id': 'IC_kwDOALCn2M8AAAABjBLWjw', 'user': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2026-11-04T23:26:54Z', 'updated_at': '2026-11-04T23:26:54Z', 'body': 'Yeah, the combined shift keys is a feature of all our keyboard backends. The intention was to enable Shift+W type stuff to work with both shift keys for hotkeys.\r\nI think we should retain that behavior for now. If that wants to be adjusted it can be for another PR.', 'author_association': 'MEMBER', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6645012111/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'performed_via_github_app': None, 'minimized': None}, 'repository': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-11-04T22:24:40Z', 'pushed_at': '2026-11-04T20:55:25Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 563769, 'stargazers_count': 15768, 'watchers_count': 15768, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3382, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 482, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3382, 'open_issues': 482, 'watchers': 15768, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'gh_issue_comment'}
2026-11-04T23:21:51.462982	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'ellierocks', 'action': 'created', 'id': 14962, 'title': 'Add Wayland support (Linux only)', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14962#issuecomment-6644882043', 'safe_author': False, 'body': "> Hi, when configuring the emulated gamepad, left shift and right shift are configured the same way, preventing me from setting L to the left one and R to the right one. With `WAYLAND_DEBUG=1` I can see that both get a different key code though.\r\n\r\nThe Wayland backend does see them as separate inputs (`Shift_L` and `Shift_R`), but when you map a key by pressing it, Dolphin replaces either side with the combined `Shift`. That's shared code in `MappingCommon.cpp` and happens the same way on X11, Windows and macOS. It was added so hotkeys like Ctrl+X work with either Ctrl. For now you can type `` `Shift_L` `` / `` `Shift_R` `` in the Advanced dialog.\r\n\r\n[`MappingCommon.cpp`](https://github.com/dolphin-emu/dolphin/blob/66df2b4e18ae6169f9718b869da334022914e305/Source/Core/InputCommon/ControllerInterface/MappingCommon.cpp#L69-L75)", 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14962', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14962/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14962/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14962/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14962', 'id': 6118829388, 'node_id': 'PR_kwDOALCn2M8AAAABLwnuUQ', 'number': 14962, 'title': 'Add Wayland support (Linux only)', 'user': {'login': 'ellierocks', 'id': 275226857, 'node_id': 'U_kgDOEGeg6Q', 'avatar_url': 'https://avatars.githubusercontent.com/u/275226857?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/ellierocks', 'html_url': 'https://github.com/ellierocks', 'followers_url': 'https://api.github.com/users/ellierocks/followers', 'following_url': 'https://api.github.com/users/ellierocks/following{/other_user}', 'gists_url': 'https://api.github.com/users/ellierocks/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/ellierocks/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/ellierocks/subscriptions', 'organizations_url': 'https://api.github.com/users/ellierocks/orgs', 'repos_url': 'https://api.github.com/users/ellierocks/repos', 'events_url': 'https://api.github.com/users/ellierocks/events{/privacy}', 'received_events_url': 'https://api.github.com/users/ellierocks/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 20, 'created_at': '2026-10-30T12:13:34Z', 'updated_at': '2026-11-04T23:21:48Z', 'closed_at': None, 'assignee': None, 'author_association': 'NONE', 'issue_field_values': [], 'type': None, 'active_lock_reason': None, 'draft': False, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14962', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14962', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14962.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14962.patch', 'merged_at': None}, 'body': 'Adds native Wayland support, so Dolphin can run without XWayland and the compositor can present the game directly. This is the same goal as #14652, but only Linux code changes. Other platforms only get two new struct fields (see "Resize"). Building with `ENABLE_WAYLAND=OFF` is unaffected.\r\n\r\nThe Vulkan surface commit is TellowKrinkle\'s and the Qt platform selection commit is BeezBumba\'s, both from #14652. Their authorship is kept.\r\n\r\n## Generative AI disclosure\r\nApart from those two commits, the code was written by Claude (Sonnet 5.5) while I directed it. It was not used for anything related to the emulated console. I, Ellie, can attest I\'ve looked through the code changes and actively avoided issues blocking the previous PR. Altering code for other platforms needlessly was avoided, the tooltips and keyboard input issues were addressed.\r\n\r\n## What changed\r\n- CMake: `ENABLE_WAYLAND` and `FindWayland.cmake`. Protocol bindings (content-type-v1, pointer-warp-v1, pointer-constraints, relative-pointer) are generated at build time and need wayland-protocols 1.41 or newer. If wayland-scanner, wayland-protocols or xkbcommon is missing, you still get a working Wayland window, but no input backend or VRR hint, and CMake warns.\r\n- Vulkan: a `VkWaylandSurfaceKHR` surface. The surface format and present mode queries retry on `VK_INCOMPLETE` instead of asserting. On Wayland the format list comes from the compositor and can change between the count query and the list query.\r\n- OpenGL: an EGL context on a `wl_egl_window`.\r\n- Resize: a `wl_surface` can\'t report its size, and Vulkan\'s `currentExtent` is undefined for it. `WindowSystemInfo` gets `render_surface_width/height` and `Presenter` gets an atomic requested-size field, which the host updates on resize. The existing surface-change API is unchanged.\r\n- Input: a ControllerInterface backend for keyboard and relative mouse, with xkbcommon key names and Center Mouse through `wp_pointer_warp_v1`. It runs on its own event queue. The Qt render widget now reports the `wl_surface` as its handle, which is what broke keyboard input and hotkeys in #14652.\r\n- VRR: the render surface sets the `wp_content_type_v1` "game" hint. `wp_tearing_control` is not used.\r\n- Tooltips: balloon tips are now `xdg_popup`s with a transient parent, because `Qt::ToolTip` with `move()` and `setMask()` doesn\'t work on Wayland.\r\n\r\n## Testing\r\nRTX 3070 Ti, on KDE Plasma, Hyprland, and Sway all with adaptive sync enabled.\r\n- Tested using the game I speedrun, LEGO Star Wars: The Video Game.\r\n- Vulkan and OpenGL both run as native Wayland windows.\r\n- Alt+Enter goes fullscreen at 3440x1440, which exercises the new keyboard and hotkey path.\r\n- VRR turns on in fullscreen and off when leaving it. On KWin the DRM `VRR_ENABLED` property read 0, 1, 0, and only while the fullscreen Dolphin window was active.\r\n- The "game" content-type hint is sent, and no `wp_tearing_control` object is created (checked in the `WAYLAND_DEBUG` log).\r\n- Balloon tooltips render correctly in Config > Graphics.\r\n- Switching to the correct input device (Wayland/0/seat0) leaves existing binds working and unchanged.\r\n- Scaling and fractional scaling work as expected.\r\n- Screen sharing using xdg-desktop-portal over Discord and recording with obs-vkcapture work as expected.\r\n\r\nEvery commit builds on Linux and is formatted with clang-format 19.1.7. I also built with `ENABLE_WAYLAND=OFF`.\r\n\r\nNot tested: Windows, macOS or Android builds. Lock Cursor isn\'t implemented on Wayland.', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14962/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'timeline_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14962/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6644882043', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14962#issuecomment-6644882043', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14962', 'id': 6644882043, 'node_id': 'IC_kwDOALCn2M8AAAABjBDaew', 'user': {'login': 'ellierocks', 'id': 275226857, 'node_id': 'U_kgDOEGeg6Q', 'avatar_url': 'https://avatars.githubusercontent.com/u/275226857?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/ellierocks', 'html_url': 'https://github.com/ellierocks', 'followers_url': 'https://api.github.com/users/ellierocks/followers', 'following_url': 'https://api.github.com/users/ellierocks/following{/other_user}', 'gists_url': 'https://api.github.com/users/ellierocks/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/ellierocks/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/ellierocks/subscriptions', 'organizations_url': 'https://api.github.com/users/ellierocks/orgs', 'repos_url': 'https://api.github.com/users/ellierocks/repos', 'events_url': 'https://api.github.com/users/ellierocks/events{/privacy}', 'received_events_url': 'https://api.github.com/users/ellierocks/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2026-11-04T23:21:48Z', 'updated_at': '2026-11-04T23:21:48Z', 'body': "> Hi, when configuring the emulated gamepad, left shift and right shift are configured the same way, preventing me from setting L to the left one and R to the right one. With `WAYLAND_DEBUG=1` I can see that both get a different key code though.\r\n\r\nThe Wayland backend does see them as separate inputs (`Shift_L` and `Shift_R`), but when you map a key by pressing it, Dolphin replaces either side with the combined `Shift`. That's shared code in `MappingCommon.cpp` and happens the same way on X11, Windows and macOS. It was added so hotkeys like Ctrl+X work with either Ctrl. For now you can type `` `Shift_L` `` / `` `Shift_R` `` in the Advanced dialog.\r\n\r\n[`MappingCommon.cpp`](https://github.com/dolphin-emu/dolphin/blob/66df2b4e18ae6169f9718b869da334022914e305/Source/Core/InputCommon/ControllerInterface/MappingCommon.cpp#L69-L75)", 'author_association': 'NONE', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6644882043/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'performed_via_github_app': None, 'minimized': None}, 'repository': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-11-04T22:24:40Z', 'pushed_at': '2026-11-04T20:55:25Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 563769, 'stargazers_count': 15768, 'watchers_count': 15768, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3382, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 482, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3382, 'open_issues': 482, 'watchers': 15768, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'ellierocks', 'id': 275226857, 'node_id': 'U_kgDOEGeg6Q', 'avatar_url': 'https://avatars.githubusercontent.com/u/275226857?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/ellierocks', 'html_url': 'https://github.com/ellierocks', 'followers_url': 'https://api.github.com/users/ellierocks/followers', 'following_url': 'https://api.github.com/users/ellierocks/following{/other_user}', 'gists_url': 'https://api.github.com/users/ellierocks/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/ellierocks/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/ellierocks/subscriptions', 'organizations_url': 'https://api.github.com/users/ellierocks/orgs', 'repos_url': 'https://api.github.com/users/ellierocks/repos', 'events_url': 'https://api.github.com/users/ellierocks/events{/privacy}', 'received_events_url': 'https://api.github.com/users/ellierocks/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'gh_issue_comment'}
2026-11-04T18:54:37.455378	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'JosJuice', 'action': 'created', 'id': 14983, 'title': 'Revert "GameINI: Add patches to limit internal framerate in Driver: San Francisco."', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14983#issuecomment-6639272441', 'safe_author': True, 'body': 'Yeah, the unit test failure on the builder helpfully informed me of that. Give me a few minutes.', 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14983', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14983/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14983/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14983/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14983', 'id': 6209076875, 'node_id': 'PR_kwDOALCn2M8AAAABM4n-ig', 'number': 14983, 'title': 'Revert "GameINI: Add patches to limit internal framerate in Driver: San Francisco."', 'user': {'login': 'JosJuice', 'id': 6716818, 'node_id': 'MDQ6VXNlcjY3MTY4MTg=', 'avatar_url': 'https://avatars.githubusercontent.com/u/6716818?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/JosJuice', 'html_url': 'https://github.com/JosJuice', 'followers_url': 'https://api.github.com/users/JosJuice/followers', 'following_url': 'https://api.github.com/users/JosJuice/following{/other_user}', 'gists_url': 'https://api.github.com/users/JosJuice/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/JosJuice/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/JosJuice/subscriptions', 'organizations_url': 'https://api.github.com/users/JosJuice/orgs', 'repos_url': 'https://api.github.com/users/JosJuice/repos', 'events_url': 'https://api.github.com/users/JosJuice/events{/privacy}', 'received_events_url': 'https://api.github.com/users/JosJuice/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 2, 'created_at': '2026-11-04T18:41:02Z', 'updated_at': '2026-11-04T18:54:35Z', 'closed_at': None, 'assignee': None, 'author_association': 'MEMBER', 'issue_field_values': [], 'type': None, 'active_lock_reason': None, 'draft': False, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14983', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14983', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14983.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14983.patch', 'merged_at': None}, 'body': 'This reverts PR #14102. The patch breaks the game according to https://bugs.dolphin-emu.org/issues/14156.', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14983/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'timeline_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14983/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6639272441', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14983#issuecomment-6639272441', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14983', 'id': 6639272441, 'node_id': 'IC_kwDOALCn2M8AAAABi7tB-Q', 'user': {'login': 'JosJuice', 'id': 6716818, 'node_id': 'MDQ6VXNlcjY3MTY4MTg=', 'avatar_url': 'https://avatars.githubusercontent.com/u/6716818?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/JosJuice', 'html_url': 'https://github.com/JosJuice', 'followers_url': 'https://api.github.com/users/JosJuice/followers', 'following_url': 'https://api.github.com/users/JosJuice/following{/other_user}', 'gists_url': 'https://api.github.com/users/JosJuice/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/JosJuice/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/JosJuice/subscriptions', 'organizations_url': 'https://api.github.com/users/JosJuice/orgs', 'repos_url': 'https://api.github.com/users/JosJuice/repos', 'events_url': 'https://api.github.com/users/JosJuice/events{/privacy}', 'received_events_url': 'https://api.github.com/users/JosJuice/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2026-11-04T18:54:35Z', 'updated_at': '2026-11-04T18:54:35Z', 'body': 'Yeah, the unit test failure on the builder helpfully informed me of that. Give me a few minutes.', 'author_association': 'MEMBER', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6639272441/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'performed_via_github_app': None, 'minimized': None}, 'repository': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-11-04T18:47:30Z', 'pushed_at': '2026-11-04T18:46:42Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 563758, 'stargazers_count': 15772, 'watchers_count': 15772, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3381, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 482, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3381, 'open_issues': 482, 'watchers': 15772, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'JosJuice', 'id': 6716818, 'node_id': 'MDQ6VXNlcjY3MTY4MTg=', 'avatar_url': 'https://avatars.githubusercontent.com/u/6716818?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/JosJuice', 'html_url': 'https://github.com/JosJuice', 'followers_url': 'https://api.github.com/users/JosJuice/followers', 'following_url': 'https://api.github.com/users/JosJuice/following{/other_user}', 'gists_url': 'https://api.github.com/users/JosJuice/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/JosJuice/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/JosJuice/subscriptions', 'organizations_url': 'https://api.github.com/users/JosJuice/orgs', 'repos_url': 'https://api.github.com/users/JosJuice/repos', 'events_url': 'https://api.github.com/users/JosJuice/events{/privacy}', 'received_events_url': 'https://api.github.com/users/JosJuice/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'gh_issue_comment'}
2026-11-04T18:53:31.015222	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'SuperSamus', 'action': 'created', 'id': 14983, 'title': 'Revert "GameINI: Add patches to limit internal framerate in Driver: San Francisco."', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14983#issuecomment-6639248200', 'safe_author': True, 'body': "Shouldn't the codes by removed from ApprovedInis.json?", 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14983', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14983/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14983/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14983/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14983', 'id': 6209076875, 'node_id': 'PR_kwDOALCn2M8AAAABM4n-ig', 'number': 14983, 'title': 'Revert "GameINI: Add patches to limit internal framerate in Driver: San Francisco."', 'user': {'login': 'JosJuice', 'id': 6716818, 'node_id': 'MDQ6VXNlcjY3MTY4MTg=', 'avatar_url': 'https://avatars.githubusercontent.com/u/6716818?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/JosJuice', 'html_url': 'https://github.com/JosJuice', 'followers_url': 'https://api.github.com/users/JosJuice/followers', 'following_url': 'https://api.github.com/users/JosJuice/following{/other_user}', 'gists_url': 'https://api.github.com/users/JosJuice/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/JosJuice/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/JosJuice/subscriptions', 'organizations_url': 'https://api.github.com/users/JosJuice/orgs', 'repos_url': 'https://api.github.com/users/JosJuice/repos', 'events_url': 'https://api.github.com/users/JosJuice/events{/privacy}', 'received_events_url': 'https://api.github.com/users/JosJuice/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 1, 'created_at': '2026-11-04T18:41:02Z', 'updated_at': '2026-11-04T18:53:29Z', 'closed_at': None, 'assignee': None, 'author_association': 'MEMBER', 'issue_field_values': [], 'type': None, 'active_lock_reason': None, 'draft': False, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14983', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14983', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14983.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14983.patch', 'merged_at': None}, 'body': 'This reverts PR #14102. The patch breaks the game according to https://bugs.dolphin-emu.org/issues/14156.', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14983/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'timeline_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14983/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6639248200', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14983#issuecomment-6639248200', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14983', 'id': 6639248200, 'node_id': 'IC_kwDOALCn2M8AAAABi7rjSA', 'user': {'login': 'SuperSamus', 'id': 40663462, 'node_id': 'MDQ6VXNlcjQwNjYzNDYy', 'avatar_url': 'https://avatars.githubusercontent.com/u/40663462?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/SuperSamus', 'html_url': 'https://github.com/SuperSamus', 'followers_url': 'https://api.github.com/users/SuperSamus/followers', 'following_url': 'https://api.github.com/users/SuperSamus/following{/other_user}', 'gists_url': 'https://api.github.com/users/SuperSamus/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/SuperSamus/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/SuperSamus/subscriptions', 'organizations_url': 'https://api.github.com/users/SuperSamus/orgs', 'repos_url': 'https://api.github.com/users/SuperSamus/repos', 'events_url': 'https://api.github.com/users/SuperSamus/events{/privacy}', 'received_events_url': 'https://api.github.com/users/SuperSamus/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2026-11-04T18:53:29Z', 'updated_at': '2026-11-04T18:53:29Z', 'body': "Shouldn't the codes by removed from ApprovedInis.json?", 'author_association': 'MEMBER', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6639248200/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'performed_via_github_app': None, 'minimized': None}, 'repository': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-11-04T18:47:30Z', 'pushed_at': '2026-11-04T18:46:42Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 563758, 'stargazers_count': 15772, 'watchers_count': 15772, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3381, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 482, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3381, 'open_issues': 482, 'watchers': 15772, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'SuperSamus', 'id': 40663462, 'node_id': 'MDQ6VXNlcjQwNjYzNDYy', 'avatar_url': 'https://avatars.githubusercontent.com/u/40663462?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/SuperSamus', 'html_url': 'https://github.com/SuperSamus', 'followers_url': 'https://api.github.com/users/SuperSamus/followers', 'following_url': 'https://api.github.com/users/SuperSamus/following{/other_user}', 'gists_url': 'https://api.github.com/users/SuperSamus/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/SuperSamus/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/SuperSamus/subscriptions', 'organizations_url': 'https://api.github.com/users/SuperSamus/orgs', 'repos_url': 'https://api.github.com/users/SuperSamus/repos', 'events_url': 'https://api.github.com/users/SuperSamus/events{/privacy}', 'received_events_url': 'https://api.github.com/users/SuperSamus/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'gh_issue_comment'}
2026-11-04T18:43:50.854525	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'JosJuice', 'action': 'created', 'id': 14981, 'title': "State: Don't load savestates during initialization", 'url': 'https://github.com/dolphin-emu/dolphin/pull/14981#issuecomment-6639037419', 'safe_author': True, 'body': "This would break loading a savestate in a code path that's used when the Android app is recovering from its process having gotten OOM killed: https://github.com/dolphin-emu/dolphin/blob/df4bd441dec5d6f3cff606eea76f183963e97a44/Source/Core/Core/Core.cpp#L346", 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14981', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14981/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14981/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14981/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14981', 'id': 6201985319, 'node_id': 'PR_kwDOALCn2M8AAAABMy337A', 'number': 14981, 'title': "State: Don't load savestates during initialization", 'user': {'login': 'SuperSamus', 'id': 40663462, 'node_id': 'MDQ6VXNlcjQwNjYzNDYy', 'avatar_url': 'https://avatars.githubusercontent.com/u/40663462?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/SuperSamus', 'html_url': 'https://github.com/SuperSamus', 'followers_url': 'https://api.github.com/users/SuperSamus/followers', 'following_url': 'https://api.github.com/users/SuperSamus/following{/other_user}', 'gists_url': 'https://api.github.com/users/SuperSamus/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/SuperSamus/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/SuperSamus/subscriptions', 'organizations_url': 'https://api.github.com/users/SuperSamus/orgs', 'repos_url': 'https://api.github.com/users/SuperSamus/repos', 'events_url': 'https://api.github.com/users/SuperSamus/events{/privacy}', 'received_events_url': 'https://api.github.com/users/SuperSamus/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 1, 'created_at': '2026-11-04T11:44:17Z', 'updated_at': '2026-11-04T18:43:48Z', 'closed_at': None, 'assignee': None, 'author_association': 'CONTRIBUTOR', 'issue_field_values': [], 'type': None, 'active_lock_reason': None, 'draft': False, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14981', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14981', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14981.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14981.patch', 'merged_at': None}, 'body': "Doing so would cause warnings in the best case, and crashes (due to nullptr dereferences) in the worst.\n\nI'm not familiar with Dolphin's architecture, so I'm not sure if this is the best solution, as the added comment explains.", 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14981/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'timeline_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14981/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6639037419', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14981#issuecomment-6639037419', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14981', 'id': 6639037419, 'node_id': 'IC_kwDOALCn2M8AAAABi7er6w', 'user': {'login': 'JosJuice', 'id': 6716818, 'node_id': 'MDQ6VXNlcjY3MTY4MTg=', 'avatar_url': 'https://avatars.githubusercontent.com/u/6716818?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/JosJuice', 'html_url': 'https://github.com/JosJuice', 'followers_url': 'https://api.github.com/users/JosJuice/followers', 'following_url': 'https://api.github.com/users/JosJuice/following{/other_user}', 'gists_url': 'https://api.github.com/users/JosJuice/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/JosJuice/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/JosJuice/subscriptions', 'organizations_url': 'https://api.github.com/users/JosJuice/orgs', 'repos_url': 'https://api.github.com/users/JosJuice/repos', 'events_url': 'https://api.github.com/users/JosJuice/events{/privacy}', 'received_events_url': 'https://api.github.com/users/JosJuice/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2026-11-04T18:43:48Z', 'updated_at': '2026-11-04T18:43:48Z', 'body': "This would break loading a savestate in a code path that's used when the Android app is recovering from its process having gotten OOM killed: https://github.com/dolphin-emu/dolphin/blob/df4bd441dec5d6f3cff606eea76f183963e97a44/Source/Core/Core/Core.cpp#L346", 'author_association': 'MEMBER', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6639037419/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'performed_via_github_app': None, 'minimized': None}, 'repository': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-11-04T16:49:26Z', 'pushed_at': '2026-11-03T04:44:51Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 563758, 'stargazers_count': 15771, 'watchers_count': 15771, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3381, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 484, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3381, 'open_issues': 484, 'watchers': 15771, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'JosJuice', 'id': 6716818, 'node_id': 'MDQ6VXNlcjY3MTY4MTg=', 'avatar_url': 'https://avatars.githubusercontent.com/u/6716818?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/JosJuice', 'html_url': 'https://github.com/JosJuice', 'followers_url': 'https://api.github.com/users/JosJuice/followers', 'following_url': 'https://api.github.com/users/JosJuice/following{/other_user}', 'gists_url': 'https://api.github.com/users/JosJuice/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/JosJuice/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/JosJuice/subscriptions', 'organizations_url': 'https://api.github.com/users/JosJuice/orgs', 'repos_url': 'https://api.github.com/users/JosJuice/repos', 'events_url': 'https://api.github.com/users/JosJuice/events{/privacy}', 'received_events_url': 'https://api.github.com/users/JosJuice/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'gh_issue_comment'}
2026-11-04T15:21:45.448090	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'linkmauve', 'action': 'created', 'id': 14962, 'title': 'Add Wayland support (Linux only)', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14962#issuecomment-6634493285', 'safe_author': True, 'body': 'Hi, when configuring the emulated gamepad, left shift and right shift are configured the same way, preventing me from setting L to the left one and R to the right one.  With `WAYLAND_DEBUG=1` I can see that both get a different key code though.', 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14962', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14962/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14962/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14962/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14962', 'id': 6118829388, 'node_id': 'PR_kwDOALCn2M8AAAABLwnuUQ', 'number': 14962, 'title': 'Add Wayland support (Linux only)', 'user': {'login': 'ellierocks', 'id': 275226857, 'node_id': 'U_kgDOEGeg6Q', 'avatar_url': 'https://avatars.githubusercontent.com/u/275226857?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/ellierocks', 'html_url': 'https://github.com/ellierocks', 'followers_url': 'https://api.github.com/users/ellierocks/followers', 'following_url': 'https://api.github.com/users/ellierocks/following{/other_user}', 'gists_url': 'https://api.github.com/users/ellierocks/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/ellierocks/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/ellierocks/subscriptions', 'organizations_url': 'https://api.github.com/users/ellierocks/orgs', 'repos_url': 'https://api.github.com/users/ellierocks/repos', 'events_url': 'https://api.github.com/users/ellierocks/events{/privacy}', 'received_events_url': 'https://api.github.com/users/ellierocks/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 19, 'created_at': '2026-10-30T12:13:34Z', 'updated_at': '2026-11-04T15:21:43Z', 'closed_at': None, 'assignee': None, 'author_association': 'NONE', 'issue_field_values': [], 'type': None, 'active_lock_reason': None, 'draft': False, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14962', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14962', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14962.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14962.patch', 'merged_at': None}, 'body': 'Adds native Wayland support, so Dolphin can run without XWayland and the compositor can present the game directly. This is the same goal as #14652, but only Linux code changes. Other platforms only get two new struct fields (see "Resize"). Building with `ENABLE_WAYLAND=OFF` is unaffected.\r\n\r\nThe Vulkan surface commit is TellowKrinkle\'s and the Qt platform selection commit is BeezBumba\'s, both from #14652. Their authorship is kept.\r\n\r\n## Generative AI disclosure\r\nApart from those two commits, the code was written by Claude (Sonnet 5.5) while I directed it. It was not used for anything related to the emulated console. I, Ellie, can attest I\'ve looked through the code changes and actively avoided issues blocking the previous PR. Altering code for other platforms needlessly was avoided, the tooltips and keyboard input issues were addressed.\r\n\r\n## What changed\r\n- CMake: `ENABLE_WAYLAND` and `FindWayland.cmake`. Protocol bindings (content-type-v1, pointer-warp-v1, pointer-constraints, relative-pointer) are generated at build time and need wayland-protocols 1.41 or newer. If wayland-scanner, wayland-protocols or xkbcommon is missing, you still get a working Wayland window, but no input backend or VRR hint, and CMake warns.\r\n- Vulkan: a `VkWaylandSurfaceKHR` surface. The surface format and present mode queries retry on `VK_INCOMPLETE` instead of asserting. On Wayland the format list comes from the compositor and can change between the count query and the list query.\r\n- OpenGL: an EGL context on a `wl_egl_window`.\r\n- Resize: a `wl_surface` can\'t report its size, and Vulkan\'s `currentExtent` is undefined for it. `WindowSystemInfo` gets `render_surface_width/height` and `Presenter` gets an atomic requested-size field, which the host updates on resize. The existing surface-change API is unchanged.\r\n- Input: a ControllerInterface backend for keyboard and relative mouse, with xkbcommon key names and Center Mouse through `wp_pointer_warp_v1`. It runs on its own event queue. The Qt render widget now reports the `wl_surface` as its handle, which is what broke keyboard input and hotkeys in #14652.\r\n- VRR: the render surface sets the `wp_content_type_v1` "game" hint. `wp_tearing_control` is not used.\r\n- Tooltips: balloon tips are now `xdg_popup`s with a transient parent, because `Qt::ToolTip` with `move()` and `setMask()` doesn\'t work on Wayland.\r\n\r\n## Testing\r\nRTX 3070 Ti, on KDE Plasma, Hyprland, and Sway all with adaptive sync enabled.\r\n- Tested using the game I speedrun, LEGO Star Wars: The Video Game.\r\n- Vulkan and OpenGL both run as native Wayland windows.\r\n- Alt+Enter goes fullscreen at 3440x1440, which exercises the new keyboard and hotkey path.\r\n- VRR turns on in fullscreen and off when leaving it. On KWin the DRM `VRR_ENABLED` property read 0, 1, 0, and only while the fullscreen Dolphin window was active.\r\n- The "game" content-type hint is sent, and no `wp_tearing_control` object is created (checked in the `WAYLAND_DEBUG` log).\r\n- Balloon tooltips render correctly in Config > Graphics.\r\n- Switching to the correct input device (Wayland/0/seat0) leaves existing binds working and unchanged.\r\n- Scaling and fractional scaling work as expected.\r\n- Screen sharing using xdg-desktop-portal over Discord and recording with obs-vkcapture work as expected.\r\n\r\nEvery commit builds on Linux and is formatted with clang-format 19.1.7. I also built with `ENABLE_WAYLAND=OFF`.\r\n\r\nNot tested: Windows, macOS or Android builds. Lock Cursor isn\'t implemented on Wayland.', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14962/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'timeline_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14962/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6634493285', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14962#issuecomment-6634493285', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14962', 'id': 6634493285, 'node_id': 'IC_kwDOALCn2M8AAAABi3JVZQ', 'user': {'login': 'linkmauve', 'id': 7755816, 'node_id': 'MDQ6VXNlcjc3NTU4MTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7755816?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/linkmauve', 'html_url': 'https://github.com/linkmauve', 'followers_url': 'https://api.github.com/users/linkmauve/followers', 'following_url': 'https://api.github.com/users/linkmauve/following{/other_user}', 'gists_url': 'https://api.github.com/users/linkmauve/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/linkmauve/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/linkmauve/subscriptions', 'organizations_url': 'https://api.github.com/users/linkmauve/orgs', 'repos_url': 'https://api.github.com/users/linkmauve/repos', 'events_url': 'https://api.github.com/users/linkmauve/events{/privacy}', 'received_events_url': 'https://api.github.com/users/linkmauve/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2026-11-04T15:21:43Z', 'updated_at': '2026-11-04T15:21:43Z', 'body': 'Hi, when configuring the emulated gamepad, left shift and right shift are configured the same way, preventing me from setting L to the left one and R to the right one.  With `WAYLAND_DEBUG=1` I can see that both get a different key code though.', 'author_association': 'MEMBER', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6634493285/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'performed_via_github_app': None, 'minimized': None}, 'repository': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-11-04T13:13:49Z', 'pushed_at': '2026-11-03T04:44:51Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 563758, 'stargazers_count': 15769, 'watchers_count': 15769, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3381, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 482, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3381, 'open_issues': 482, 'watchers': 15769, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'linkmauve', 'id': 7755816, 'node_id': 'MDQ6VXNlcjc3NTU4MTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7755816?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/linkmauve', 'html_url': 'https://github.com/linkmauve', 'followers_url': 'https://api.github.com/users/linkmauve/followers', 'following_url': 'https://api.github.com/users/linkmauve/following{/other_user}', 'gists_url': 'https://api.github.com/users/linkmauve/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/linkmauve/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/linkmauve/subscriptions', 'organizations_url': 'https://api.github.com/users/linkmauve/orgs', 'repos_url': 'https://api.github.com/users/linkmauve/repos', 'events_url': 'https://api.github.com/users/linkmauve/events{/privacy}', 'received_events_url': 'https://api.github.com/users/linkmauve/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'gh_issue_comment'}
2026-11-04T08:34:25.900706	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'ellierocks', 'action': 'created', 'id': 14962, 'title': 'Add Wayland support (Linux only)', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14962#issuecomment-6626385853', 'safe_author': False, 'body': '> Render to Main and the split adjustment seems to work properly now with KDE/KWin.\r\n\r\nnice! I think this is ready to merge but the flatpak builders need to be rerun. Other small issues like this may continue to pop up, especially when commits touch Qt changes will need to be tested on xcb and wayland in the future.', 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14962', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14962/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14962/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14962/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14962', 'id': 6118829388, 'node_id': 'PR_kwDOALCn2M8AAAABLwnuUQ', 'number': 14962, 'title': 'Add Wayland support (Linux only)', 'user': {'login': 'ellierocks', 'id': 275226857, 'node_id': 'U_kgDOEGeg6Q', 'avatar_url': 'https://avatars.githubusercontent.com/u/275226857?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/ellierocks', 'html_url': 'https://github.com/ellierocks', 'followers_url': 'https://api.github.com/users/ellierocks/followers', 'following_url': 'https://api.github.com/users/ellierocks/following{/other_user}', 'gists_url': 'https://api.github.com/users/ellierocks/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/ellierocks/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/ellierocks/subscriptions', 'organizations_url': 'https://api.github.com/users/ellierocks/orgs', 'repos_url': 'https://api.github.com/users/ellierocks/repos', 'events_url': 'https://api.github.com/users/ellierocks/events{/privacy}', 'received_events_url': 'https://api.github.com/users/ellierocks/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 18, 'created_at': '2026-10-30T12:13:34Z', 'updated_at': '2026-11-04T08:34:23Z', 'closed_at': None, 'assignee': None, 'author_association': 'NONE', 'issue_field_values': [], 'type': None, 'active_lock_reason': None, 'draft': False, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14962', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14962', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14962.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14962.patch', 'merged_at': None}, 'body': 'Adds native Wayland support, so Dolphin can run without XWayland and the compositor can present the game directly. This is the same goal as #14652, but only Linux code changes. Other platforms only get two new struct fields (see "Resize"). Building with `ENABLE_WAYLAND=OFF` is unaffected.\r\n\r\nThe Vulkan surface commit is TellowKrinkle\'s and the Qt platform selection commit is BeezBumba\'s, both from #14652. Their authorship is kept.\r\n\r\n## Generative AI disclosure\r\nApart from those two commits, the code was written by Claude (Sonnet 5.5) while I directed it. It was not used for anything related to the emulated console. I, Ellie, can attest I\'ve looked through the code changes and actively avoided issues blocking the previous PR. Altering code for other platforms needlessly was avoided, the tooltips and keyboard input issues were addressed.\r\n\r\n## What changed\r\n- CMake: `ENABLE_WAYLAND` and `FindWayland.cmake`. Protocol bindings (content-type-v1, pointer-warp-v1, pointer-constraints, relative-pointer) are generated at build time and need wayland-protocols 1.41 or newer. If wayland-scanner, wayland-protocols or xkbcommon is missing, you still get a working Wayland window, but no input backend or VRR hint, and CMake warns.\r\n- Vulkan: a `VkWaylandSurfaceKHR` surface. The surface format and present mode queries retry on `VK_INCOMPLETE` instead of asserting. On Wayland the format list comes from the compositor and can change between the count query and the list query.\r\n- OpenGL: an EGL context on a `wl_egl_window`.\r\n- Resize: a `wl_surface` can\'t report its size, and Vulkan\'s `currentExtent` is undefined for it. `WindowSystemInfo` gets `render_surface_width/height` and `Presenter` gets an atomic requested-size field, which the host updates on resize. The existing surface-change API is unchanged.\r\n- Input: a ControllerInterface backend for keyboard and relative mouse, with xkbcommon key names and Center Mouse through `wp_pointer_warp_v1`. It runs on its own event queue. The Qt render widget now reports the `wl_surface` as its handle, which is what broke keyboard input and hotkeys in #14652.\r\n- VRR: the render surface sets the `wp_content_type_v1` "game" hint. `wp_tearing_control` is not used.\r\n- Tooltips: balloon tips are now `xdg_popup`s with a transient parent, because `Qt::ToolTip` with `move()` and `setMask()` doesn\'t work on Wayland.\r\n\r\n## Testing\r\nRTX 3070 Ti, on KDE Plasma, Hyprland, and Sway all with adaptive sync enabled.\r\n- Tested using the game I speedrun, LEGO Star Wars: The Video Game.\r\n- Vulkan and OpenGL both run as native Wayland windows.\r\n- Alt+Enter goes fullscreen at 3440x1440, which exercises the new keyboard and hotkey path.\r\n- VRR turns on in fullscreen and off when leaving it. On KWin the DRM `VRR_ENABLED` property read 0, 1, 0, and only while the fullscreen Dolphin window was active.\r\n- The "game" content-type hint is sent, and no `wp_tearing_control` object is created (checked in the `WAYLAND_DEBUG` log).\r\n- Balloon tooltips render correctly in Config > Graphics.\r\n- Switching to the correct input device (Wayland/0/seat0) leaves existing binds working and unchanged.\r\n- Scaling and fractional scaling work as expected.\r\n- Screen sharing using xdg-desktop-portal over Discord and recording with obs-vkcapture work as expected.\r\n\r\nEvery commit builds on Linux and is formatted with clang-format 19.1.7. I also built with `ENABLE_WAYLAND=OFF`.\r\n\r\nNot tested: Windows, macOS or Android builds. Lock Cursor isn\'t implemented on Wayland.', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14962/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'timeline_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14962/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6626385853', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14962#issuecomment-6626385853', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14962', 'id': 6626385853, 'node_id': 'IC_kwDOALCn2M8AAAABivafvQ', 'user': {'login': 'ellierocks', 'id': 275226857, 'node_id': 'U_kgDOEGeg6Q', 'avatar_url': 'https://avatars.githubusercontent.com/u/275226857?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/ellierocks', 'html_url': 'https://github.com/ellierocks', 'followers_url': 'https://api.github.com/users/ellierocks/followers', 'following_url': 'https://api.github.com/users/ellierocks/following{/other_user}', 'gists_url': 'https://api.github.com/users/ellierocks/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/ellierocks/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/ellierocks/subscriptions', 'organizations_url': 'https://api.github.com/users/ellierocks/orgs', 'repos_url': 'https://api.github.com/users/ellierocks/repos', 'events_url': 'https://api.github.com/users/ellierocks/events{/privacy}', 'received_events_url': 'https://api.github.com/users/ellierocks/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2026-11-04T08:34:23Z', 'updated_at': '2026-11-04T08:34:23Z', 'body': '> Render to Main and the split adjustment seems to work properly now with KDE/KWin.\r\n\r\nnice! I think this is ready to merge but the flatpak builders need to be rerun. Other small issues like this may continue to pop up, especially when commits touch Qt changes will need to be tested on xcb and wayland in the future.', 'author_association': 'NONE', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6626385853/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'performed_via_github_app': None, 'minimized': None}, 'repository': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-11-04T07:38:38Z', 'pushed_at': '2026-11-03T04:44:51Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 563758, 'stargazers_count': 15768, 'watchers_count': 15768, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3379, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 481, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3379, 'open_issues': 481, 'watchers': 15768, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'ellierocks', 'id': 275226857, 'node_id': 'U_kgDOEGeg6Q', 'avatar_url': 'https://avatars.githubusercontent.com/u/275226857?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/ellierocks', 'html_url': 'https://github.com/ellierocks', 'followers_url': 'https://api.github.com/users/ellierocks/followers', 'following_url': 'https://api.github.com/users/ellierocks/following{/other_user}', 'gists_url': 'https://api.github.com/users/ellierocks/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/ellierocks/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/ellierocks/subscriptions', 'organizations_url': 'https://api.github.com/users/ellierocks/orgs', 'repos_url': 'https://api.github.com/users/ellierocks/repos', 'events_url': 'https://api.github.com/users/ellierocks/events{/privacy}', 'received_events_url': 'https://api.github.com/users/ellierocks/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'gh_issue_comment'}
2026-11-04T06:32:08.748882	{'source': 'ghhookparser', 'repo': 'dolphin-emu/netplay-index', 'author': 'dependabot[bot]', 'action': 'created', 'id': 13, 'title': 'build(deps): bump tornado from 6.5.8 to 6.5.9', 'url': 'https://github.com/dolphin-emu/netplay-index/pull/13#issuecomment-6624314141', 'safe_author': False, 'body': 'Superseded by #18.', 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/netplay-index/issues/13', 'repository_url': 'https://api.github.com/repos/dolphin-emu/netplay-index', 'labels_url': 'https://api.github.com/repos/dolphin-emu/netplay-index/issues/13/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/netplay-index/issues/13/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/netplay-index/issues/13/events', 'html_url': 'https://github.com/dolphin-emu/netplay-index/pull/13', 'id': 5750894885, 'node_id': 'PR_kwDOCriaAc8AAAABHMVI4A', 'number': 13, 'title': 'build(deps): bump tornado from 6.5.8 to 6.5.9', 'user': {'login': 'dependabot[bot]', 'id': 49699333, 'node_id': 'MDM6Qm90NDk2OTkzMzM=', 'avatar_url': 'https://avatars.githubusercontent.com/in/29110?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dependabot%5Bbot%5D', 'html_url': 'https://github.com/apps/dependabot', 'followers_url': 'https://api.github.com/users/dependabot%5Bbot%5D/followers', 'following_url': 'https://api.github.com/users/dependabot%5Bbot%5D/following{/other_user}', 'gists_url': 'https://api.github.com/users/dependabot%5Bbot%5D/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dependabot%5Bbot%5D/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dependabot%5Bbot%5D/subscriptions', 'organizations_url': 'https://api.github.com/users/dependabot%5Bbot%5D/orgs', 'repos_url': 'https://api.github.com/users/dependabot%5Bbot%5D/repos', 'events_url': 'https://api.github.com/users/dependabot%5Bbot%5D/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dependabot%5Bbot%5D/received_events', 'type': 'Bot', 'user_view_type': 'public', 'site_admin': False}, 'labels': [{'id': 4969874522, 'node_id': 'LA_kwDOCriaAc8AAAABKDpEWg', 'url': 'https://api.github.com/repos/dolphin-emu/netplay-index/labels/dependencies', 'name': 'dependencies', 'color': '0366d6', 'default': False, 'description': 'Pull requests that update a dependency file', 'archived_at': None, 'archived_by': None}, {'id': 12572311721, 'node_id': 'LA_kwDOCriaAc8AAAAC7V5AqQ', 'url': 'https://api.github.com/repos/dolphin-emu/netplay-index/labels/python:uv', 'name': 'python:uv', 'color': '2b67c6', 'default': False, 'description': 'Pull requests that update python:uv code', 'archived_at': None, 'archived_by': None}], 'state': 'open', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 1, 'created_at': '2026-10-07T19:48:10Z', 'updated_at': '2026-11-04T06:32:06Z', 'closed_at': None, 'assignee': None, 'author_association': 'CONTRIBUTOR', 'issue_field_values': [], 'type': None, 'active_lock_reason': None, 'draft': False, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/netplay-index/pulls/13', 'html_url': 'https://github.com/dolphin-emu/netplay-index/pull/13', 'diff_url': 'https://github.com/dolphin-emu/netplay-index/pull/13.diff', 'patch_url': 'https://github.com/dolphin-emu/netplay-index/pull/13.patch', 'merged_at': None}, 'body': 'Bumps [tornado](https://github.com/tornadoweb/tornado) from 6.5.8 to 6.5.9.\n<details>\n<summary>Changelog</summary>\n<p><em>Sourced from <a href="https://github.com/tornadoweb/tornado/blob/master/docs/releases.rst">tornado\'s changelog</a>.</em></p>\n<blockquote>\n<h1>Release notes</h1>\n<p>.. toctree::\n:maxdepth: 2</p>\n<p>releases/v6.6.0\nreleases/v6.5.10\nreleases/v6.5.9\nreleases/v6.5.8\nreleases/v6.5.7\nreleases/v6.5.6\nreleases/v6.5.5\nreleases/v6.5.4\nreleases/v6.5.3\nreleases/v6.5.2\nreleases/v6.5.1\nreleases/v6.5.0\nreleases/v6.4.2\nreleases/v6.4.1\nreleases/v6.4.0\nreleases/v6.3.3\nreleases/v6.3.2\nreleases/v6.3.1\nreleases/v6.3.0\nreleases/v6.2.0\nreleases/v6.1.0\nreleases/v6.0.4\nreleases/v6.0.3\nreleases/v6.0.2\nreleases/v6.0.1\nreleases/v6.0.0\nreleases/v5.1.1\nreleases/v5.1.0\nreleases/v5.0.2\nreleases/v5.0.1\nreleases/v5.0.0\nreleases/v4.5.3\nreleases/v4.5.2\nreleases/v4.5.1\nreleases/v4.5.0\nreleases/v4.4.3\nreleases/v4.4.2\nreleases/v4.4.1\nreleases/v4.4.0\nreleases/v4.3.0\nreleases/v4.2.1\nreleases/v4.2.0\nreleases/v4.1.0\nreleases/v4.0.2</p>\n<!-- raw HTML omitted -->\n</blockquote>\n<p>... (truncated)</p>\n</details>\n<details>\n<summary>Commits</summary>\n<ul>\n<li><a href="https://github.com/tornadoweb/tornado/commit/75ef8b1cfa0e658aceb17c5a810ad1c74dc69bc7"><code>75ef8b1</code></a> Merge pull request <a href="https://redirect.github.com/tornadoweb/tornado/issues/3719">#3719</a> from bdarnell/fixes-659</li>\n<li><a href="https://github.com/tornadoweb/tornado/commit/3590cb4566d363331c294cfa63c5035ae2c32c87"><code>3590cb4</code></a> test: Hardcode SimpleAsyncHTTPClient in HTTP1xxLimitTestCase</li>\n<li><a href="https://github.com/tornadoweb/tornado/commit/9fc5d6d9fff435066836d165d0f1f6ebb067fb9e"><code>9fc5d6d</code></a> test: Make tracemalloc optional in httpclient_test</li>\n<li><a href="https://github.com/tornadoweb/tornado/commit/555a2ee9a20275d6dfde879977fce58d02e7898a"><code>555a2ee</code></a> iostream: Treat connection resets as a clean close in read_until_close</li>\n<li><a href="https://github.com/tornadoweb/tornado/commit/3ba622f2ecb75226a8e64d4ee96b7045fc4c8a64"><code>3ba622f</code></a> Release notes and version bump for 6.5.9</li>\n<li><a href="https://github.com/tornadoweb/tornado/commit/41eea68aba54e8ecaafc1b777dc5c104d289a290"><code>41eea68</code></a> test: Fix some test issues only found by our custom tox config</li>\n<li><a href="https://github.com/tornadoweb/tornado/commit/ab1a778defaccd0dde9c1c419578e3a1777a9eeb"><code>ab1a778</code></a> Merge remote-tracking branch \'bdarnell/claude/asynchttpclient-streaming-memor...</li>\n<li><a href="https://github.com/tornadoweb/tornado/commit/437ab5f76565403b3403438d2e555d11f8128d32"><code>437ab5f</code></a> web: Do not follow symlinks out of the static directory</li>\n<li><a href="https://github.com/tornadoweb/tornado/commit/03945136ea9746eccf61caf88edae39642e59c93"><code>0394513</code></a> httputil: Apply the argument count limit to query strings</li>\n<li><a href="https://github.com/tornadoweb/tornado/commit/b798f8322a15ba8b6ef725d698d1037024139714"><code>b798f83</code></a> http1connection: Return after reading the response that follows a 1xx</li>\n<li>Additional commits viewable in <a href="https://github.com/tornadoweb/tornado/compare/v6.5.8...v6.5.9">compare view</a></li>\n</ul>\n</details>\n<br />\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=tornado&package-manager=uv&previous-version=6.5.8&new-version=6.5.9)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don\'t alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n<details>\n<summary>Dependabot commands and options</summary>\n<br />\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\nYou can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/dolphin-emu/netplay-index/network/alerts).\n\n</details>', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/netplay-index/issues/13/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'timeline_url': 'https://api.github.com/repos/dolphin-emu/netplay-index/issues/13/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/netplay-index/issues/comments/6624314141', 'html_url': 'https://github.com/dolphin-emu/netplay-index/pull/13#issuecomment-6624314141', 'issue_url': 'https://api.github.com/repos/dolphin-emu/netplay-index/issues/13', 'id': 6624314141, 'node_id': 'IC_kwDOCriaAc8AAAABitcDHQ', 'user': {'login': 'dependabot[bot]', 'id': 49699333, 'node_id': 'MDM6Qm90NDk2OTkzMzM=', 'avatar_url': 'https://avatars.githubusercontent.com/in/29110?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dependabot%5Bbot%5D', 'html_url': 'https://github.com/apps/dependabot', 'followers_url': 'https://api.github.com/users/dependabot%5Bbot%5D/followers', 'following_url': 'https://api.github.com/users/dependabot%5Bbot%5D/following{/other_user}', 'gists_url': 'https://api.github.com/users/dependabot%5Bbot%5D/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dependabot%5Bbot%5D/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dependabot%5Bbot%5D/subscriptions', 'organizations_url': 'https://api.github.com/users/dependabot%5Bbot%5D/orgs', 'repos_url': 'https://api.github.com/users/dependabot%5Bbot%5D/repos', 'events_url': 'https://api.github.com/users/dependabot%5Bbot%5D/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dependabot%5Bbot%5D/received_events', 'type': 'Bot', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2026-11-04T06:32:06Z', 'updated_at': '2026-11-04T06:32:06Z', 'body': 'Superseded by #18.', 'author_association': 'CONTRIBUTOR', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/netplay-index/issues/comments/6624314141/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'performed_via_github_app': {'id': 29110, 'client_id': 'Iv1.4f9a6346434f815e', 'slug': 'dependabot', 'node_id': 'MDM6QXBwMjkxMTA=', 'owner': {'login': 'github', 'id': 9919, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjk5MTk=', 'avatar_url': 'https://avatars.githubusercontent.com/u/9919?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/github', 'html_url': 'https://github.com/github', 'followers_url': 'https://api.github.com/users/github/followers', 'following_url': 'https://api.github.com/users/github/following{/other_user}', 'gists_url': 'https://api.github.com/users/github/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/github/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/github/subscriptions', 'organizations_url': 'https://api.github.com/users/github/orgs', 'repos_url': 'https://api.github.com/users/github/repos', 'events_url': 'https://api.github.com/users/github/events{/privacy}', 'received_events_url': 'https://api.github.com/users/github/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'name': 'Dependabot', 'description': 'GitHub Dependabot', 'external_url': 'https://dependabot-api.githubapp.com', 'html_url': 'https://github.com/apps/dependabot', 'created_at': '2019-04-16T22:34:25Z', 'updated_at': '2026-04-27T17:22:53Z', 'permissions': {'actions': 'write', 'checks': 'write', 'contents': 'write', 'issues': 'write', 'members': 'read', 'metadata': 'read', 'packages': 'read', 'pull_requests': 'write', 'statuses': 'read', 'vulnerability_alerts': 'read', 'workflows': 'write'}, 'events': ['check_suite', 'issues', 'issue_comment', 'label', 'pull_request', 'pull_request_review', 'pull_request_review_comment', 'repository']}, 'minimized': None}, 'repository': {'id': 179870209, 'node_id': 'MDEwOlJlcG9zaXRvcnkxNzk4NzAyMDk=', 'name': 'netplay-index', 'full_name': 'dolphin-emu/netplay-index', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/netplay-index', 'description': 'A NetPlay Index server for Dolphin', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/netplay-index', 'forks_url': 'https://api.github.com/repos/dolphin-emu/netplay-index/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/netplay-index/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/netplay-index/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/netplay-index/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/netplay-index/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/netplay-index/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/netplay-index/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/netplay-index/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/netplay-index/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/netplay-index/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/netplay-index/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/netplay-index/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/netplay-index/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/netplay-index/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/netplay-index/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/netplay-index/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/netplay-index/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/netplay-index/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/netplay-index/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/netplay-index/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/netplay-index/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/netplay-index/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/netplay-index/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/netplay-index/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/netplay-index/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/netplay-index/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/netplay-index/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/netplay-index/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/netplay-index/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/netplay-index/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/netplay-index/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/netplay-index/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/netplay-index/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/netplay-index/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/netplay-index/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/netplay-index/deployments', 'created_at': '2019-04-06T18:17:42Z', 'updated_at': '2026-10-06T20:39:51Z', 'pushed_at': '2026-11-04T06:31:57Z', 'git_url': 'git://github.com/dolphin-emu/netplay-index.git', 'ssh_url': 'git@github.com:dolphin-emu/netplay-index.git', 'clone_url': 'https://github.com/dolphin-emu/netplay-index.git', 'svn_url': 'https://github.com/dolphin-emu/netplay-index', 'homepage': '', 'size': 3922, 'stargazers_count': 14, 'watchers_count': 14, 'language': 'Python', 'has_issues': True, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 12, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 8, 'license': {'key': 'gpl-3.0', 'name': 'GNU General Public License v3.0', 'spdx_id': 'GPL-3.0', 'url': 'https://api.github.com/licenses/gpl-3.0', 'node_id': 'MDc6TGljZW5zZTk='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['dolphin-emu', 'python3', 'tornado-web'], 'visibility': 'public', 'forks': 12, 'open_issues': 8, 'watchers': 14, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'dependabot[bot]', 'id': 49699333, 'node_id': 'MDM6Qm90NDk2OTkzMzM=', 'avatar_url': 'https://avatars.githubusercontent.com/in/29110?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dependabot%5Bbot%5D', 'html_url': 'https://github.com/apps/dependabot', 'followers_url': 'https://api.github.com/users/dependabot%5Bbot%5D/followers', 'following_url': 'https://api.github.com/users/dependabot%5Bbot%5D/following{/other_user}', 'gists_url': 'https://api.github.com/users/dependabot%5Bbot%5D/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dependabot%5Bbot%5D/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dependabot%5Bbot%5D/subscriptions', 'organizations_url': 'https://api.github.com/users/dependabot%5Bbot%5D/orgs', 'repos_url': 'https://api.github.com/users/dependabot%5Bbot%5D/repos', 'events_url': 'https://api.github.com/users/dependabot%5Bbot%5D/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dependabot%5Bbot%5D/received_events', 'type': 'Bot', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'gh_issue_comment'}
2026-11-04T00:44:02.879168	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'JoshuaVandaele', 'action': 'created', 'id': 14979, 'title': 'Externals/gettext: Update to 1.0, vendor-in from source on non-Windows host platforms', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14979#issuecomment-6619350519', 'safe_author': True, 'body': 'Make now uses the lowest of either half your cores (e.g. -j8 if you have 16 cores) or half your memory in gigabytes (e.g. -j8 if you have 16 gigs.) I think this is a conservative enough number that still speeds things up considerably', 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14979', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14979/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14979/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14979/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14979', 'id': 6188052610, 'node_id': 'PR_kwDOALCn2M8AAAABMnsRPQ', 'number': 14979, 'title': 'Externals/gettext: Update to 1.0, vendor-in from source on non-Windows host platforms', 'user': {'login': 'JoshuaVandaele', 'id': 24195176, 'node_id': 'MDQ6VXNlcjI0MTk1MTc2', 'avatar_url': 'https://avatars.githubusercontent.com/u/24195176?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/JoshuaVandaele', 'html_url': 'https://github.com/JoshuaVandaele', 'followers_url': 'https://api.github.com/users/JoshuaVandaele/followers', 'following_url': 'https://api.github.com/users/JoshuaVandaele/following{/other_user}', 'gists_url': 'https://api.github.com/users/JoshuaVandaele/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/JoshuaVandaele/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/JoshuaVandaele/subscriptions', 'organizations_url': 'https://api.github.com/users/JoshuaVandaele/orgs', 'repos_url': 'https://api.github.com/users/JoshuaVandaele/repos', 'events_url': 'https://api.github.com/users/JoshuaVandaele/events{/privacy}', 'received_events_url': 'https://api.github.com/users/JoshuaVandaele/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 8, 'created_at': '2026-11-03T17:44:05Z', 'updated_at': '2026-11-04T00:43:51Z', 'closed_at': None, 'assignee': None, 'author_association': 'CONTRIBUTOR', 'issue_field_values': [], 'type': None, 'active_lock_reason': None, 'draft': False, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14979', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14979', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14979.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14979.patch', 'merged_at': None}, 'body': 'This change also makes gettext no longer optional unless `ENABLE_LOCALIZATION` is set to `OFF`, and should make people compiling from Windows on Arm (all zero of them) be able to have localization if they install make. The previous behavior was to not have translations if gettext was not present on the host system (and probably to fail on WoA since it tried running a x86_32 executable.)', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14979/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'timeline_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14979/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6619350519', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14979#issuecomment-6619350519', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14979', 'id': 6619350519, 'node_id': 'IC_kwDOALCn2M8AAAABiotF9w', 'user': {'login': 'JoshuaVandaele', 'id': 24195176, 'node_id': 'MDQ6VXNlcjI0MTk1MTc2', 'avatar_url': 'https://avatars.githubusercontent.com/u/24195176?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/JoshuaVandaele', 'html_url': 'https://github.com/JoshuaVandaele', 'followers_url': 'https://api.github.com/users/JoshuaVandaele/followers', 'following_url': 'https://api.github.com/users/JoshuaVandaele/following{/other_user}', 'gists_url': 'https://api.github.com/users/JoshuaVandaele/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/JoshuaVandaele/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/JoshuaVandaele/subscriptions', 'organizations_url': 'https://api.github.com/users/JoshuaVandaele/orgs', 'repos_url': 'https://api.github.com/users/JoshuaVandaele/repos', 'events_url': 'https://api.github.com/users/JoshuaVandaele/events{/privacy}', 'received_events_url': 'https://api.github.com/users/JoshuaVandaele/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2026-11-04T00:43:51Z', 'updated_at': '2026-11-04T00:43:51Z', 'body': 'Make now uses the lowest of either half your cores (e.g. -j8 if you have 16 cores) or half your memory in gigabytes (e.g. -j8 if you have 16 gigs.) I think this is a conservative enough number that still speeds things up considerably', 'author_association': 'MEMBER', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6619350519/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'performed_via_github_app': None, 'minimized': None}, 'repository': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-11-04T00:42:00Z', 'pushed_at': '2026-11-03T04:44:51Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 563758, 'stargazers_count': 15764, 'watchers_count': 15764, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3378, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 481, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3378, 'open_issues': 481, 'watchers': 15764, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'JoshuaVandaele', 'id': 24195176, 'node_id': 'MDQ6VXNlcjI0MTk1MTc2', 'avatar_url': 'https://avatars.githubusercontent.com/u/24195176?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/JoshuaVandaele', 'html_url': 'https://github.com/JoshuaVandaele', 'followers_url': 'https://api.github.com/users/JoshuaVandaele/followers', 'following_url': 'https://api.github.com/users/JoshuaVandaele/following{/other_user}', 'gists_url': 'https://api.github.com/users/JoshuaVandaele/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/JoshuaVandaele/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/JoshuaVandaele/subscriptions', 'organizations_url': 'https://api.github.com/users/JoshuaVandaele/orgs', 'repos_url': 'https://api.github.com/users/JoshuaVandaele/repos', 'events_url': 'https://api.github.com/users/JoshuaVandaele/events{/privacy}', 'received_events_url': 'https://api.github.com/users/JoshuaVandaele/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'gh_issue_comment'}
2026-11-04T00:35:21.502572	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'JoshuaVandaele', 'action': 'created', 'id': 14979, 'title': 'Externals/gettext: Update to 1.0, vendor-in from source on non-Windows host platforms', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14979#issuecomment-6619218680', 'safe_author': True, 'body': "> Maybe just use the value from https://cmake.org/cmake/help/latest/envvar/CMAKE_BUILD_PARALLEL_LEVEL.html so people can use as many cores as they want, if that's easy?\r\n\r\nWe can't do that sadly, because this value isn't always set (e.g. Ninja doesn't set it), and when it *is* set it's only at build time, not configure time when we need it. ", 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14979', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14979/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14979/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14979/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14979', 'id': 6188052610, 'node_id': 'PR_kwDOALCn2M8AAAABMnsRPQ', 'number': 14979, 'title': 'Externals/gettext: Update to 1.0, vendor-in from source on non-Windows host platforms', 'user': {'login': 'JoshuaVandaele', 'id': 24195176, 'node_id': 'MDQ6VXNlcjI0MTk1MTc2', 'avatar_url': 'https://avatars.githubusercontent.com/u/24195176?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/JoshuaVandaele', 'html_url': 'https://github.com/JoshuaVandaele', 'followers_url': 'https://api.github.com/users/JoshuaVandaele/followers', 'following_url': 'https://api.github.com/users/JoshuaVandaele/following{/other_user}', 'gists_url': 'https://api.github.com/users/JoshuaVandaele/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/JoshuaVandaele/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/JoshuaVandaele/subscriptions', 'organizations_url': 'https://api.github.com/users/JoshuaVandaele/orgs', 'repos_url': 'https://api.github.com/users/JoshuaVandaele/repos', 'events_url': 'https://api.github.com/users/JoshuaVandaele/events{/privacy}', 'received_events_url': 'https://api.github.com/users/JoshuaVandaele/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 7, 'created_at': '2026-11-03T17:44:05Z', 'updated_at': '2026-11-04T00:35:18Z', 'closed_at': None, 'assignee': None, 'author_association': 'CONTRIBUTOR', 'issue_field_values': [], 'type': None, 'active_lock_reason': None, 'draft': False, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14979', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14979', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14979.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14979.patch', 'merged_at': None}, 'body': 'This change also makes gettext no longer optional unless `ENABLE_LOCALIZATION` is set to `OFF`, and should make people compiling from Windows on Arm (all zero of them) be able to have localization if they install make. The previous behavior was to not have translations if gettext was not present on the host system (and probably to fail on WoA since it tried running a x86_32 executable.)', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14979/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'timeline_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14979/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6619218680', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14979#issuecomment-6619218680', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14979', 'id': 6619218680, 'node_id': 'IC_kwDOALCn2M8AAAABiolC-A', 'user': {'login': 'JoshuaVandaele', 'id': 24195176, 'node_id': 'MDQ6VXNlcjI0MTk1MTc2', 'avatar_url': 'https://avatars.githubusercontent.com/u/24195176?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/JoshuaVandaele', 'html_url': 'https://github.com/JoshuaVandaele', 'followers_url': 'https://api.github.com/users/JoshuaVandaele/followers', 'following_url': 'https://api.github.com/users/JoshuaVandaele/following{/other_user}', 'gists_url': 'https://api.github.com/users/JoshuaVandaele/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/JoshuaVandaele/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/JoshuaVandaele/subscriptions', 'organizations_url': 'https://api.github.com/users/JoshuaVandaele/orgs', 'repos_url': 'https://api.github.com/users/JoshuaVandaele/repos', 'events_url': 'https://api.github.com/users/JoshuaVandaele/events{/privacy}', 'received_events_url': 'https://api.github.com/users/JoshuaVandaele/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2026-11-04T00:35:18Z', 'updated_at': '2026-11-04T00:35:18Z', 'body': "> Maybe just use the value from https://cmake.org/cmake/help/latest/envvar/CMAKE_BUILD_PARALLEL_LEVEL.html so people can use as many cores as they want, if that's easy?\r\n\r\nWe can't do that sadly, because this value isn't always set (e.g. Ninja doesn't set it), and when it *is* set it's only at build time, not configure time when we need it. ", 'author_association': 'MEMBER', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6619218680/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'performed_via_github_app': None, 'minimized': None}, 'repository': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-11-04T00:30:21Z', 'pushed_at': '2026-11-03T04:44:51Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 563758, 'stargazers_count': 15763, 'watchers_count': 15763, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3378, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 481, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3378, 'open_issues': 481, 'watchers': 15763, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'JoshuaVandaele', 'id': 24195176, 'node_id': 'MDQ6VXNlcjI0MTk1MTc2', 'avatar_url': 'https://avatars.githubusercontent.com/u/24195176?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/JoshuaVandaele', 'html_url': 'https://github.com/JoshuaVandaele', 'followers_url': 'https://api.github.com/users/JoshuaVandaele/followers', 'following_url': 'https://api.github.com/users/JoshuaVandaele/following{/other_user}', 'gists_url': 'https://api.github.com/users/JoshuaVandaele/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/JoshuaVandaele/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/JoshuaVandaele/subscriptions', 'organizations_url': 'https://api.github.com/users/JoshuaVandaele/orgs', 'repos_url': 'https://api.github.com/users/JoshuaVandaele/repos', 'events_url': 'https://api.github.com/users/JoshuaVandaele/events{/privacy}', 'received_events_url': 'https://api.github.com/users/JoshuaVandaele/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'gh_issue_comment'}
2026-11-04T00:19:15.947336	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'created', 'id': 14979, 'title': 'Externals/gettext: Update to 1.0, vendor-in from source on non-Windows host platforms', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14979#issuecomment-6618953990', 'safe_author': True, 'body': "> This is because it simply runs `make` which by default runs on a single core. I didn't want to set it to use all processors since it could get OOM killed on systems with a low amount of memory, however I can probably work out some math formula that does _some_ parallelization without hogging resources.\r\n\r\nMaybe just use the value from https://cmake.org/cmake/help/latest/envvar/CMAKE_BUILD_PARALLEL_LEVEL.html so people can use as many cores as they want, if that's easy?", 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14979', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14979/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14979/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14979/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14979', 'id': 6188052610, 'node_id': 'PR_kwDOALCn2M8AAAABMnsRPQ', 'number': 14979, 'title': 'Externals/gettext: Update to 1.0, vendor-in from source on non-Windows host platforms', 'user': {'login': 'JoshuaVandaele', 'id': 24195176, 'node_id': 'MDQ6VXNlcjI0MTk1MTc2', 'avatar_url': 'https://avatars.githubusercontent.com/u/24195176?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/JoshuaVandaele', 'html_url': 'https://github.com/JoshuaVandaele', 'followers_url': 'https://api.github.com/users/JoshuaVandaele/followers', 'following_url': 'https://api.github.com/users/JoshuaVandaele/following{/other_user}', 'gists_url': 'https://api.github.com/users/JoshuaVandaele/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/JoshuaVandaele/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/JoshuaVandaele/subscriptions', 'organizations_url': 'https://api.github.com/users/JoshuaVandaele/orgs', 'repos_url': 'https://api.github.com/users/JoshuaVandaele/repos', 'events_url': 'https://api.github.com/users/JoshuaVandaele/events{/privacy}', 'received_events_url': 'https://api.github.com/users/JoshuaVandaele/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 6, 'created_at': '2026-11-03T17:44:05Z', 'updated_at': '2026-11-04T00:19:13Z', 'closed_at': None, 'assignee': None, 'author_association': 'CONTRIBUTOR', 'issue_field_values': [], 'type': None, 'active_lock_reason': None, 'draft': False, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14979', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14979', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14979.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14979.patch', 'merged_at': None}, 'body': 'This change also makes gettext no longer optional unless `ENABLE_LOCALIZATION` is set to `OFF`, and should make people compiling from Windows on Arm (all zero of them) be able to have localization if they install make. The previous behavior was to not have translations if gettext was not present on the host system (and probably to fail on WoA since it tried running a x86_32 executable.)', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14979/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'timeline_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14979/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6618953990', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14979#issuecomment-6618953990', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14979', 'id': 6618953990, 'node_id': 'IC_kwDOALCn2M8AAAABioU5Bg', 'user': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2026-11-04T00:19:13Z', 'updated_at': '2026-11-04T00:19:13Z', 'body': "> This is because it simply runs `make` which by default runs on a single core. I didn't want to set it to use all processors since it could get OOM killed on systems with a low amount of memory, however I can probably work out some math formula that does _some_ parallelization without hogging resources.\r\n\r\nMaybe just use the value from https://cmake.org/cmake/help/latest/envvar/CMAKE_BUILD_PARALLEL_LEVEL.html so people can use as many cores as they want, if that's easy?", 'author_association': 'MEMBER', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6618953990/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'performed_via_github_app': None, 'minimized': None}, 'repository': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-11-03T23:35:35Z', 'pushed_at': '2026-11-03T04:44:51Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 563758, 'stargazers_count': 15762, 'watchers_count': 15762, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3378, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 481, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3378, 'open_issues': 481, 'watchers': 15762, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'gh_issue_comment'}
2026-11-04T00:17:25.136470	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'created', 'id': 14979, 'title': 'Externals/gettext: Update to 1.0, vendor-in from source on non-Windows host platforms', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14979#issuecomment-6618922297', 'safe_author': True, 'body': "Probably not a huge deal for it to take a long time to compile as long as it's printing some output. Most people shouldn't hit this path anyways, I think.", 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14979', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14979/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14979/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14979/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14979', 'id': 6188052610, 'node_id': 'PR_kwDOALCn2M8AAAABMnsRPQ', 'number': 14979, 'title': 'Externals/gettext: Update to 1.0, vendor-in from source on non-Windows host platforms', 'user': {'login': 'JoshuaVandaele', 'id': 24195176, 'node_id': 'MDQ6VXNlcjI0MTk1MTc2', 'avatar_url': 'https://avatars.githubusercontent.com/u/24195176?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/JoshuaVandaele', 'html_url': 'https://github.com/JoshuaVandaele', 'followers_url': 'https://api.github.com/users/JoshuaVandaele/followers', 'following_url': 'https://api.github.com/users/JoshuaVandaele/following{/other_user}', 'gists_url': 'https://api.github.com/users/JoshuaVandaele/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/JoshuaVandaele/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/JoshuaVandaele/subscriptions', 'organizations_url': 'https://api.github.com/users/JoshuaVandaele/orgs', 'repos_url': 'https://api.github.com/users/JoshuaVandaele/repos', 'events_url': 'https://api.github.com/users/JoshuaVandaele/events{/privacy}', 'received_events_url': 'https://api.github.com/users/JoshuaVandaele/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 5, 'created_at': '2026-11-03T17:44:05Z', 'updated_at': '2026-11-04T00:17:15Z', 'closed_at': None, 'assignee': None, 'author_association': 'CONTRIBUTOR', 'issue_field_values': [], 'type': None, 'active_lock_reason': None, 'draft': False, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14979', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14979', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14979.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14979.patch', 'merged_at': None}, 'body': 'This change also makes gettext no longer optional unless `ENABLE_LOCALIZATION` is set to `OFF`, and should make people compiling from Windows on Arm (all zero of them) be able to have localization if they install make. The previous behavior was to not have translations if gettext was not present on the host system (and probably to fail on WoA since it tried running a x86_32 executable.)', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14979/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'timeline_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14979/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6618922297', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14979#issuecomment-6618922297', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14979', 'id': 6618922297, 'node_id': 'IC_kwDOALCn2M8AAAABioS9OQ', 'user': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2026-11-04T00:17:15Z', 'updated_at': '2026-11-04T00:17:15Z', 'body': "Probably not a huge deal for it to take a long time to compile as long as it's printing some output. Most people shouldn't hit this path anyways, I think.", 'author_association': 'MEMBER', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6618922297/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'performed_via_github_app': None, 'minimized': None}, 'repository': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-11-03T23:35:35Z', 'pushed_at': '2026-11-03T04:44:51Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 563758, 'stargazers_count': 15762, 'watchers_count': 15762, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3378, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 481, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3378, 'open_issues': 481, 'watchers': 15762, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'gh_issue_comment'}
2026-11-04T00:13:17.737484	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'JoshuaVandaele', 'action': 'created', 'id': 14979, 'title': 'Externals/gettext: Update to 1.0, vendor-in from source on non-Windows host platforms', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14979#issuecomment-6618857315', 'safe_author': True, 'body': "> Edit: Enabling all the USES_TERMINAL_ options seems to make the verbosity better?\r\n\r\nOh wow yes it does. It is *very* verbose. This is better than silence though.\r\n\r\n> and it's also maybe not making good use of multiple cores, but maybe that's the fault of their build system?\r\n\r\nThis is because it simply runs `make` which by default runs on a single core. I didn't want to set it to use all processors since it could get OOM killed on systems with a low amount of memory, however I can probably work out some math formula that does *some* parallelization without hogging resources.", 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14979', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14979/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14979/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14979/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14979', 'id': 6188052610, 'node_id': 'PR_kwDOALCn2M8AAAABMnsRPQ', 'number': 14979, 'title': 'Externals/gettext: Update to 1.0, vendor-in from source on non-Windows host platforms', 'user': {'login': 'JoshuaVandaele', 'id': 24195176, 'node_id': 'MDQ6VXNlcjI0MTk1MTc2', 'avatar_url': 'https://avatars.githubusercontent.com/u/24195176?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/JoshuaVandaele', 'html_url': 'https://github.com/JoshuaVandaele', 'followers_url': 'https://api.github.com/users/JoshuaVandaele/followers', 'following_url': 'https://api.github.com/users/JoshuaVandaele/following{/other_user}', 'gists_url': 'https://api.github.com/users/JoshuaVandaele/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/JoshuaVandaele/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/JoshuaVandaele/subscriptions', 'organizations_url': 'https://api.github.com/users/JoshuaVandaele/orgs', 'repos_url': 'https://api.github.com/users/JoshuaVandaele/repos', 'events_url': 'https://api.github.com/users/JoshuaVandaele/events{/privacy}', 'received_events_url': 'https://api.github.com/users/JoshuaVandaele/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 4, 'created_at': '2026-11-03T17:44:05Z', 'updated_at': '2026-11-04T00:13:16Z', 'closed_at': None, 'assignee': None, 'author_association': 'CONTRIBUTOR', 'issue_field_values': [], 'type': None, 'active_lock_reason': None, 'draft': False, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14979', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14979', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14979.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14979.patch', 'merged_at': None}, 'body': 'This change also makes gettext no longer optional unless `ENABLE_LOCALIZATION` is set to `OFF`, and should make people compiling from Windows on Arm (all zero of them) be able to have localization if they install make. The previous behavior was to not have translations if gettext was not present on the host system (and probably to fail on WoA since it tried running a x86_32 executable.)', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14979/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'timeline_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14979/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6618857315', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14979#issuecomment-6618857315', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14979', 'id': 6618857315, 'node_id': 'IC_kwDOALCn2M8AAAABioO_Yw', 'user': {'login': 'JoshuaVandaele', 'id': 24195176, 'node_id': 'MDQ6VXNlcjI0MTk1MTc2', 'avatar_url': 'https://avatars.githubusercontent.com/u/24195176?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/JoshuaVandaele', 'html_url': 'https://github.com/JoshuaVandaele', 'followers_url': 'https://api.github.com/users/JoshuaVandaele/followers', 'following_url': 'https://api.github.com/users/JoshuaVandaele/following{/other_user}', 'gists_url': 'https://api.github.com/users/JoshuaVandaele/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/JoshuaVandaele/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/JoshuaVandaele/subscriptions', 'organizations_url': 'https://api.github.com/users/JoshuaVandaele/orgs', 'repos_url': 'https://api.github.com/users/JoshuaVandaele/repos', 'events_url': 'https://api.github.com/users/JoshuaVandaele/events{/privacy}', 'received_events_url': 'https://api.github.com/users/JoshuaVandaele/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2026-11-04T00:13:15Z', 'updated_at': '2026-11-04T00:13:15Z', 'body': "> Edit: Enabling all the USES_TERMINAL_ options seems to make the verbosity better?\r\n\r\nOh wow yes it does. It is *very* verbose. This is better than silence though.\r\n\r\n> and it's also maybe not making good use of multiple cores, but maybe that's the fault of their build system?\r\n\r\nThis is because it simply runs `make` which by default runs on a single core. I didn't want to set it to use all processors since it could get OOM killed on systems with a low amount of memory, however I can probably work out some math formula that does *some* parallelization without hogging resources.", 'author_association': 'MEMBER', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6618857315/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'performed_via_github_app': None, 'minimized': None}, 'repository': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-11-03T23:35:35Z', 'pushed_at': '2026-11-03T04:44:51Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 563758, 'stargazers_count': 15762, 'watchers_count': 15762, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3378, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 481, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3378, 'open_issues': 481, 'watchers': 15762, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'JoshuaVandaele', 'id': 24195176, 'node_id': 'MDQ6VXNlcjI0MTk1MTc2', 'avatar_url': 'https://avatars.githubusercontent.com/u/24195176?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/JoshuaVandaele', 'html_url': 'https://github.com/JoshuaVandaele', 'followers_url': 'https://api.github.com/users/JoshuaVandaele/followers', 'following_url': 'https://api.github.com/users/JoshuaVandaele/following{/other_user}', 'gists_url': 'https://api.github.com/users/JoshuaVandaele/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/JoshuaVandaele/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/JoshuaVandaele/subscriptions', 'organizations_url': 'https://api.github.com/users/JoshuaVandaele/orgs', 'repos_url': 'https://api.github.com/users/JoshuaVandaele/repos', 'events_url': 'https://api.github.com/users/JoshuaVandaele/events{/privacy}', 'received_events_url': 'https://api.github.com/users/JoshuaVandaele/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'gh_issue_comment'}
2026-11-03T23:58:46.804785	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'edited', 'id': 14979, 'title': 'Externals/gettext: Update to 1.0, vendor-in from source on non-Windows host platforms', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14979#issuecomment-6618431736', 'safe_author': True, 'body': "The console shows no output for a very long time while building Gettext, and it's also maybe not making good use of multiple cores, but maybe that's the fault of their build system?\r\n\r\nEdit: Enabling all the USES_TERMINAL_ options seems to make the verbosity better?\r\nhttps://cmake.org/cmake/help/latest/module/ExternalProject.html#terminal-access-options", 'raw': {'action': 'edited', 'changes': {'body': {'from': "The console shows no output for a very long time while building Gettext, and it's also maybe not making good use of multiple cores, but maybe that's the fault of their build system?"}}, 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14979', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14979/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14979/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14979/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14979', 'id': 6188052610, 'node_id': 'PR_kwDOALCn2M8AAAABMnsRPQ', 'number': 14979, 'title': 'Externals/gettext: Update to 1.0, vendor-in from source on non-Windows host platforms', 'user': {'login': 'JoshuaVandaele', 'id': 24195176, 'node_id': 'MDQ6VXNlcjI0MTk1MTc2', 'avatar_url': 'https://avatars.githubusercontent.com/u/24195176?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/JoshuaVandaele', 'html_url': 'https://github.com/JoshuaVandaele', 'followers_url': 'https://api.github.com/users/JoshuaVandaele/followers', 'following_url': 'https://api.github.com/users/JoshuaVandaele/following{/other_user}', 'gists_url': 'https://api.github.com/users/JoshuaVandaele/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/JoshuaVandaele/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/JoshuaVandaele/subscriptions', 'organizations_url': 'https://api.github.com/users/JoshuaVandaele/orgs', 'repos_url': 'https://api.github.com/users/JoshuaVandaele/repos', 'events_url': 'https://api.github.com/users/JoshuaVandaele/events{/privacy}', 'received_events_url': 'https://api.github.com/users/JoshuaVandaele/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 3, 'created_at': '2026-11-03T17:44:05Z', 'updated_at': '2026-11-03T23:47:08Z', 'closed_at': None, 'assignee': None, 'author_association': 'CONTRIBUTOR', 'issue_field_values': [], 'type': None, 'active_lock_reason': None, 'draft': False, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14979', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14979', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14979.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14979.patch', 'merged_at': None}, 'body': 'This change also makes gettext no longer optional unless `ENABLE_LOCALIZATION` is set to `OFF`, and should make people compiling from Windows on Arm (all zero of them) be able to have localization if they install make. The previous behavior was to not have translations if gettext was not present on the host system (and probably to fail on WoA since it tried running a x86_32 executable.)', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14979/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'timeline_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14979/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6618431736', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14979#issuecomment-6618431736', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14979', 'id': 6618431736, 'node_id': 'IC_kwDOALCn2M8AAAABin1A-A', 'user': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2026-11-03T23:47:08Z', 'updated_at': '2026-11-03T23:58:45Z', 'body': "The console shows no output for a very long time while building Gettext, and it's also maybe not making good use of multiple cores, but maybe that's the fault of their build system?\r\n\r\nEdit: Enabling all the USES_TERMINAL_ options seems to make the verbosity better?\r\nhttps://cmake.org/cmake/help/latest/module/ExternalProject.html#terminal-access-options", 'author_association': 'MEMBER', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6618431736/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'performed_via_github_app': None, 'minimized': None}, 'repository': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-11-03T23:35:35Z', 'pushed_at': '2026-11-03T04:44:51Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 563758, 'stargazers_count': 15762, 'watchers_count': 15762, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3378, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 481, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3378, 'open_issues': 481, 'watchers': 15762, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'gh_issue_comment'}

Recent 'gh_pull_request' events

2026-11-05T14:35:40.244811	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'JoshuaVandaele', 'action': 'synchronize', 'id': 14927, 'title': 'Externals: Replace submodules with FetchContent', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14927', 'head_ref_name': 'nosubmodules', 'safe_author': True, 'base_sha': '66df2b4e18ae6169f9718b869da334022914e305', 'head_sha': '4368a8517451044abb78363829cf067bccf99798', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-11-05T14:27:03.411431	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'JoshuaVandaele', 'action': 'synchronize', 'id': 14927, 'title': 'Externals: Replace submodules with FetchContent', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14927', 'head_ref_name': 'nosubmodules', 'safe_author': True, 'base_sha': '66df2b4e18ae6169f9718b869da334022914e305', 'head_sha': 'da5b636e5470a9c17bde02b29107c67cfe15e256', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-11-05T14:17:39.624890	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'JoshuaVandaele', 'action': 'synchronize', 'id': 14982, 'title': 'Update cubeb to HEAD, use Rust if available', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14982', 'head_ref_name': 'cubeb-rs', 'safe_author': True, 'base_sha': '66df2b4e18ae6169f9718b869da334022914e305', 'head_sha': 'cd14ca88fc860eb8ea12e9adfe023328744c8593', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-11-05T10:31:28.895132	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'JoshuaVandaele', 'action': 'synchronize', 'id': 14982, 'title': 'Update cubeb to HEAD, use Rust if available', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14982', 'head_ref_name': 'cubeb-rs', 'safe_author': True, 'base_sha': '66df2b4e18ae6169f9718b869da334022914e305', 'head_sha': '680640124bd05c56abed6e108a96d61e2c8560a2', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-11-05T10:09:21.513777	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'JoshuaVandaele', 'action': 'synchronize', 'id': 14982, 'title': 'Update cubeb to HEAD, use Rust if available', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14982', 'head_ref_name': 'cubeb-rs', 'safe_author': True, 'base_sha': '66df2b4e18ae6169f9718b869da334022914e305', 'head_sha': 'b7994e37fb0a2801e92eda4c0f330ff0e727c795', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-11-05T09:51:15.029584	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'JoshuaVandaele', 'action': 'synchronize', 'id': 14982, 'title': 'Update cubeb to HEAD, use Rust if available', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14982', 'head_ref_name': 'cubeb-rs', 'safe_author': True, 'base_sha': '66df2b4e18ae6169f9718b869da334022914e305', 'head_sha': 'a3294575f6de757b275a889c2744ad7ae7d937bf', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-11-05T07:59:45.865276	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'synchronize', 'id': 14984, 'title': 'Common/DirectIOFile: Properly handle EINTR and partial read/write.', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14984', 'head_ref_name': 'directiofile-eintr-and-partial-rw', 'safe_author': True, 'base_sha': '66df2b4e18ae6169f9718b869da334022914e305', 'head_sha': 'd6bf12bef88453a063f3f45ca8ac4fec7e2da7b3', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-11-05T07:31:05.271610	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'synchronize', 'id': 14985, 'title': 'Common/Logging: Minor cleanups and optimizations.', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14985', 'head_ref_name': 'log-manager-minor-optimizations', 'safe_author': True, 'base_sha': '66df2b4e18ae6169f9718b869da334022914e305', 'head_sha': '706ad79768d8817f043ff7562bb6a932155e7a9e', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-11-05T07:29:19.459971	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'synchronize', 'id': 14985, 'title': 'Common/Logging: Minor cleanups and optimizations.', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14985', 'head_ref_name': 'log-manager-minor-optimizations', 'safe_author': True, 'base_sha': '66df2b4e18ae6169f9718b869da334022914e305', 'head_sha': '8a1952d6a1b5b029217cb259dd465cc8ad17b34a', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-11-05T05:36:08.450777	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'opened', 'id': 14987, 'title': 'Replace std::chrono::high_resolution_clock usages with a guaranteed monotonic clock.', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14987', 'head_ref_name': 'no-high_resolution_clock', 'safe_author': True, 'base_sha': '66df2b4e18ae6169f9718b869da334022914e305', 'head_sha': '52d5313eb3c3a412b4bda0c1c7a5b0b839add8db', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-11-05T03:40:39.928220	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'synchronize', 'id': 14970, 'title': 'Use std::move and ostringstream::view to avoid unnecessary copying of strings.', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14970', 'head_ref_name': 'stringstream-avoid-copying', 'safe_author': True, 'base_sha': '66df2b4e18ae6169f9718b869da334022914e305', 'head_sha': 'd5b8ad286cf75d1342ba8a4c896e51d28094058e', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-11-05T01:44:25.702199	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'iwubcode', 'action': 'opened', 'id': 14986, 'title': 'VideoCommon: error if the same asset id is used with a different type', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14986', 'head_ref_name': 'invalid_asset', 'safe_author': True, 'base_sha': '66df2b4e18ae6169f9718b869da334022914e305', 'head_sha': 'c7845f35e26d52664542a8247c99c8751b498a82', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-11-05T01:39:40.328841	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'iwubcode', 'action': 'closed', 'id': 14980, 'title': 'VideoCommon: allow our custom asset cache to have a single id that references multiple types', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14980', 'head_ref_name': 'single_asset_id_multi_type', 'safe_author': True, 'base_sha': 'df4bd441dec5d6f3cff606eea76f183963e97a44', 'head_sha': '21d2ede101cad14bb67226f6a73d794d3f0e190c', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-11-05T01:31:42.050238	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'synchronize', 'id': 14985, 'title': 'Common/Logging: Minor cleanups and optimizations.', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14985', 'head_ref_name': 'log-manager-minor-optimizations', 'safe_author': True, 'base_sha': '66df2b4e18ae6169f9718b869da334022914e305', 'head_sha': 'dd149cdd722e0899e53135092052713399ceb3d3', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-11-05T01:14:05.561835	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'opened', 'id': 14985, 'title': 'Common/Logging: Minor cleanups and optimizations.', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14985', 'head_ref_name': 'log-manager-minor-optimizations', 'safe_author': True, 'base_sha': '66df2b4e18ae6169f9718b869da334022914e305', 'head_sha': '8270ae322e9d73fc2d1f18add0507337652e1266', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-11-04T23:45:30.637805	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'ellierocks', 'action': 'synchronize', 'id': 14962, 'title': 'Add Wayland support (Linux only)', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14962', 'head_ref_name': 'wayland-upstream', 'safe_author': False, 'base_sha': '66df2b4e18ae6169f9718b869da334022914e305', 'head_sha': '63a36f21071817a58a3c69c7cbfd298323dfd292', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-11-04T22:12:09.717296	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'opened', 'id': 14984, 'title': 'Common/DirectIOFile: Properly handle EINTR and partial read/write.', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14984', 'head_ref_name': 'directiofile-eintr-and-partial-rw', 'safe_author': True, 'base_sha': '66df2b4e18ae6169f9718b869da334022914e305', 'head_sha': '1fd220a82ae8416781a995f2e28a30053c95ab0b', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-11-04T20:55:28.486355	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'closed', 'id': 14983, 'title': 'Revert "GameINI: Add patches to limit internal framerate in Driver: San Francisco."', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14983', 'head_ref_name': 'driver-sf-speedhack', 'safe_author': True, 'base_sha': '584366cb6859f5e371b1314bf0d92bb59d4d1b80', 'head_sha': 'f4b9fae9f53db163a36b39fde1837421016d6a5f', 'merged': True, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-11-04T20:54:45.784728	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'edited', 'id': 14977, 'title': 'Common/Logging: Eliminate fstream and mutex in FileLogListener.', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14977', 'head_ref_name': 'log-file-no-mutex', 'safe_author': True, 'base_sha': '584366cb6859f5e371b1314bf0d92bb59d4d1b80', 'head_sha': '40add410943d033663176635362a9fb5e3ada458', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-11-04T20:54:13.546914	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'synchronize', 'id': 14977, 'title': 'Common/Logging: Eliminate fstream and mutex in FileLogListener.', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14977', 'head_ref_name': 'log-file-no-mutex', 'safe_author': True, 'base_sha': '584366cb6859f5e371b1314bf0d92bb59d4d1b80', 'head_sha': '40add410943d033663176635362a9fb5e3ada458', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-11-04T19:11:47.232418	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'JosJuice', 'action': 'synchronize', 'id': 14983, 'title': 'Revert "GameINI: Add patches to limit internal framerate in Driver: San Francisco."', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14983', 'head_ref_name': 'driver-sf-speedhack', 'safe_author': True, 'base_sha': '584366cb6859f5e371b1314bf0d92bb59d4d1b80', 'head_sha': 'f4b9fae9f53db163a36b39fde1837421016d6a5f', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-11-04T18:46:44.750604	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'JosJuice', 'action': 'closed', 'id': 14794, 'title': 'Android: Use TitleDatabase for game list', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14794', 'head_ref_name': 'android-title-database', 'safe_author': True, 'base_sha': '54070da5851e12f2d1a4389daa528e4fb81327ce', 'head_sha': '49ebb1cfea589e66134039d4ecca911e0e14af43', 'merged': True, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-11-04T18:46:16.902034	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'JosJuice', 'action': 'closed', 'id': 14404, 'title': 'AMMediaboard: Update closesocket error code approriately', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14404', 'head_ref_name': 'tri-close', 'safe_author': True, 'base_sha': '2eeff845bd01aa3f1bdca5682940a80356591236', 'head_sha': '689bf98a343974c3d29b0769def95a4cfadf5828', 'merged': True, 'requested_reviewers': [{'login': 'JMC47', 'id': 6598209, 'node_id': 'MDQ6VXNlcjY1OTgyMDk=', 'avatar_url': 'https://avatars.githubusercontent.com/u/6598209?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/JMC47', 'html_url': 'https://github.com/JMC47', 'followers_url': 'https://api.github.com/users/JMC47/followers', 'following_url': 'https://api.github.com/users/JMC47/following{/other_user}', 'gists_url': 'https://api.github.com/users/JMC47/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/JMC47/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/JMC47/subscriptions', 'organizations_url': 'https://api.github.com/users/JMC47/orgs', 'repos_url': 'https://api.github.com/users/JMC47/repos', 'events_url': 'https://api.github.com/users/JMC47/events{/privacy}', 'received_events_url': 'https://api.github.com/users/JMC47/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}], 'type': 'gh_pull_request'}
2026-11-04T18:41:06.050870	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'JosJuice', 'action': 'opened', 'id': 14983, 'title': 'Revert "GameINI: Add patches to limit internal framerate in Driver: San Francisco."', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14983', 'head_ref_name': 'driver-sf-speedhack', 'safe_author': True, 'base_sha': 'df4bd441dec5d6f3cff606eea76f183963e97a44', 'head_sha': 'ae2268a2ddad539a77db547d7824632ee895ec41', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-11-04T18:14:43.020047	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'JoshuaVandaele', 'action': 'opened', 'id': 14982, 'title': 'Update cubeb to HEAD, use Rust if available', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14982', 'head_ref_name': 'cubeb-rs', 'safe_author': True, 'base_sha': 'df4bd441dec5d6f3cff606eea76f183963e97a44', 'head_sha': 'f0240694fdc3e0baadc3e9d3b95672737a0b039c', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}

Recent 'gh_pull_request_comment' events

2026-11-05T15:29:06.746602	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'sepalani', 'action': 'created', 'id': 14986, 'hash': 'c7845f35e26d52664542a8247c99c8751b498a82', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14986#discussion_r4482414918', 'is_part_of_review': False, 'type': 'gh_pull_request_comment'}
2026-11-05T15:07:02.431290	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'sepalani', 'action': 'created', 'id': 14970, 'hash': 'd5b8ad286cf75d1342ba8a4c896e51d28094058e', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14970#discussion_r4482000469', 'is_part_of_review': True, 'type': 'gh_pull_request_comment'}
2026-11-05T14:17:46.853562	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'sepalani', 'action': 'created', 'id': 14985, 'hash': '706ad79768d8817f043ff7562bb6a932155e7a9e', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14985#discussion_r4481534652', 'is_part_of_review': True, 'type': 'gh_pull_request_comment'}
2026-11-05T11:39:17.742131	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'sepalani', 'action': 'created', 'id': 14985, 'hash': '706ad79768d8817f043ff7562bb6a932155e7a9e', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14985#discussion_r4479803522', 'is_part_of_review': True, 'type': 'gh_pull_request_comment'}
2026-11-05T11:39:17.360855	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'sepalani', 'action': 'created', 'id': 14985, 'hash': '706ad79768d8817f043ff7562bb6a932155e7a9e', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14985#discussion_r4479911035', 'is_part_of_review': True, 'type': 'gh_pull_request_comment'}
2026-11-05T08:47:56.178815	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'JoshuaVandaele', 'action': 'created', 'id': 14982, 'hash': 'f0240694fdc3e0baadc3e9d3b95672737a0b039c', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14982#discussion_r4478336943', 'is_part_of_review': True, 'type': 'gh_pull_request_comment'}
2026-11-05T07:39:49.212408	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'sepalani', 'action': 'created', 'id': 14984, 'hash': '1fd220a82ae8416781a995f2e28a30053c95ab0b', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14984#discussion_r4477372904', 'is_part_of_review': True, 'type': 'gh_pull_request_comment'}
2026-11-05T07:39:49.211777	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'sepalani', 'action': 'created', 'id': 14984, 'hash': '1fd220a82ae8416781a995f2e28a30053c95ab0b', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14984#discussion_r4477671135', 'is_part_of_review': True, 'type': 'gh_pull_request_comment'}
2026-11-05T07:39:49.211164	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'sepalani', 'action': 'created', 'id': 14984, 'hash': '1fd220a82ae8416781a995f2e28a30053c95ab0b', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14984#discussion_r4477439415', 'is_part_of_review': True, 'type': 'gh_pull_request_comment'}
2026-11-05T03:41:02.036973	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'created', 'id': 14970, 'hash': 'd5b8ad286cf75d1342ba8a4c896e51d28094058e', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14970#discussion_r4476351348', 'is_part_of_review': False, 'type': 'gh_pull_request_comment'}
2026-11-05T03:23:09.076103	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'edited', 'id': 14970, 'hash': 'dca48fcd3ffeae3502a79d10c4199410a9a2298f', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14970#discussion_r4476256096', 'is_part_of_review': False, 'type': 'gh_pull_request_comment'}
2026-11-05T03:23:05.233309	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'created', 'id': 14970, 'hash': 'dca48fcd3ffeae3502a79d10c4199410a9a2298f', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14970#discussion_r4476256096', 'is_part_of_review': True, 'type': 'gh_pull_request_comment'}
2026-11-05T02:39:29.572492	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'iwubcode', 'action': 'created', 'id': 14970, 'hash': 'dca48fcd3ffeae3502a79d10c4199410a9a2298f', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14970#discussion_r4475956357', 'is_part_of_review': False, 'type': 'gh_pull_request_comment'}
2026-11-04T21:18:25.194191	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'created', 'id': 14982, 'hash': 'f0240694fdc3e0baadc3e9d3b95672737a0b039c', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14982#discussion_r4473455297', 'is_part_of_review': False, 'type': 'gh_pull_request_comment'}
2026-11-04T20:48:11.954554	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'created', 'id': 14977, 'hash': '6633a6e6ca0aefb3c7e1e8c6664cc6a8dc2e9bb9', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14977#discussion_r4473137791', 'is_part_of_review': False, 'type': 'gh_pull_request_comment'}
2026-11-04T20:40:55.896155	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'created', 'id': 14977, 'hash': '6633a6e6ca0aefb3c7e1e8c6664cc6a8dc2e9bb9', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14977#discussion_r4473057787', 'is_part_of_review': True, 'type': 'gh_pull_request_comment'}
2026-11-04T19:56:32.319781	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'sepalani', 'action': 'created', 'id': 14977, 'hash': '6633a6e6ca0aefb3c7e1e8c6664cc6a8dc2e9bb9', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14977#discussion_r4472511433', 'is_part_of_review': True, 'type': 'gh_pull_request_comment'}
2026-11-04T19:56:32.319153	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'sepalani', 'action': 'created', 'id': 14977, 'hash': '6633a6e6ca0aefb3c7e1e8c6664cc6a8dc2e9bb9', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14977#discussion_r4472389154', 'is_part_of_review': True, 'type': 'gh_pull_request_comment'}
2026-11-04T19:13:31.350036	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'sepalani', 'action': 'created', 'id': 14977, 'hash': '57a9b7d583fd6e14d7f9e59a646d99501c312297', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14977#discussion_r4472114782', 'is_part_of_review': True, 'type': 'gh_pull_request_comment'}
2026-11-04T08:06:24.515028	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'mbc07', 'action': 'created', 'id': 14974, 'hash': 'ab0b808663fe623e8e8a52396273ee5a86cf440c', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14974#discussion_r4465132899', 'is_part_of_review': False, 'type': 'gh_pull_request_comment'}
2026-11-04T08:06:09.624462	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'mbc07', 'action': 'created', 'id': 14974, 'hash': 'ab0b808663fe623e8e8a52396273ee5a86cf440c', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14974#discussion_r4465130546', 'is_part_of_review': False, 'type': 'gh_pull_request_comment'}
2026-11-04T08:05:55.976054	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'mbc07', 'action': 'created', 'id': 14974, 'hash': 'ab0b808663fe623e8e8a52396273ee5a86cf440c', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14974#discussion_r4465128178', 'is_part_of_review': False, 'type': 'gh_pull_request_comment'}
2026-11-04T08:05:41.144870	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'mbc07', 'action': 'created', 'id': 14974, 'hash': 'ab0b808663fe623e8e8a52396273ee5a86cf440c', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14974#discussion_r4465125222', 'is_part_of_review': True, 'type': 'gh_pull_request_comment'}
2026-11-04T01:06:59.797650	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'created', 'id': 14979, 'hash': 'dee5038a40b44191c8f214b3bca84fe80392ec11', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14979#discussion_r4462381253', 'is_part_of_review': False, 'type': 'gh_pull_request_comment'}
2026-11-04T01:06:23.327440	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'JoshuaVandaele', 'action': 'created', 'id': 14979, 'hash': 'dee5038a40b44191c8f214b3bca84fe80392ec11', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14979#discussion_r4462377412', 'is_part_of_review': True, 'type': 'gh_pull_request_comment'}

Recent 'gh_pull_request_review' events

2026-11-05T15:29:06.745474	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'sepalani', 'action': 'submitted', 'pr_id': 14986, 'pr_title': 'VideoCommon: error if the same asset id is used with a different type', 'state': 'commented', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14986#pullrequestreview-5787483620', 'comments': [{'id': 4482414918, 'node_id': 'PRRC_kwDOALCn2M8AAAABCyw5Rg', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4482414918', 'pull_request_review_id': 5787483620, 'diff_hunk': '@@ -50,19 +52,28 @@ class CustomAssetCache\n   T* CreateAsset(const CustomAssetLibrary::AssetID& asset_id,\n                  std::shared_ptr<VideoCommon::CustomAssetLibrary> library, AssetListener* listener)\n   {\n-    const auto [it, added] =\n-        m_asset_id_to_handle.try_emplace(asset_id, m_asset_handle_to_data.size());\n+    const auto [it, added] = m_asset_id_to_handle.try_emplace(\n+        asset_id,\n+        std::pair<std::type_index, std::size_t>{typeid(T), m_asset_handle_to_data.size()});\n     if (added)\n     {\n       AssetData asset_data;\n-      asset_data.asset = std::make_unique<T>(std::move(library), asset_id, it->second);\n+      asset_data.asset = std::make_unique<T>(std::move(library), asset_id, it->second.second);\n       asset_data.load_request_time = {};\n       asset_data.has_load_error = false;\n \n-      m_asset_handle_to_data.insert_or_assign(it->second, std::move(asset_data));\n+      m_asset_handle_to_data.insert_or_assign(it->second.second, std::move(asset_data));\n+    }\n+    else if (it->second.first != typeid(T))\n+    {\n+      ERROR_LOG_FMT(\n+          VIDEO,\n+          "Asset \'{}\' already exists in cache but with another type, check your configuration",\n+          asset_id);', 'path': 'Source/Core/VideoCommon/Assets/CustomAssetCache.h', 'position': 37, 'original_position': 37, 'commit_id': 'c7845f35e26d52664542a8247c99c8751b498a82', 'user': {'login': 'sepalani', 'id': 7890055, 'node_id': 'MDQ6VXNlcjc4OTAwNTU=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7890055?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/sepalani', 'html_url': 'https://github.com/sepalani', 'followers_url': 'https://api.github.com/users/sepalani/followers', 'following_url': 'https://api.github.com/users/sepalani/following{/other_user}', 'gists_url': 'https://api.github.com/users/sepalani/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/sepalani/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/sepalani/subscriptions', 'organizations_url': 'https://api.github.com/users/sepalani/orgs', 'repos_url': 'https://api.github.com/users/sepalani/repos', 'events_url': 'https://api.github.com/users/sepalani/events{/privacy}', 'received_events_url': 'https://api.github.com/users/sepalani/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': 'Would it be possible/useful to have both type names in the log message (i.e. the existing one in cache, and the conflicting one)?', 'created_at': '2026-11-05T15:29:02Z', 'updated_at': '2026-11-05T15:29:02Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14986#discussion_r4482414918', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14986', 'author_association': 'MEMBER', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4482414918'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14986#discussion_r4482414918'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14986'}}, 'original_commit_id': 'c7845f35e26d52664542a8247c99c8751b498a82', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4482414918/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'is_copilot_code_review': False, 'copilot_code_review_sources': []}], 'type': 'gh_pull_request_review'}
2026-11-05T15:07:02.126789	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'sepalani', 'action': 'submitted', 'pr_id': 14970, 'pr_title': 'Use std::move and ostringstream::view to avoid unnecessary copying of strings.', 'state': 'approved', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14970#pullrequestreview-5786948346', 'comments': [{'id': 4482000469, 'node_id': 'PRRC_kwDOALCn2M8AAAABCyXmVQ', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4482000469', 'pull_request_review_id': 5786948346, 'diff_hunk': '@@ -318,27 +317,14 @@ void PostProcessingConfiguration::SaveOptionsConfiguration()\n     break;\n     case ConfigurationOption::OptionType::Integer:\n     {\n-      std::string value;\n-      for (size_t i = 0; i < it.second.m_integer_values.size(); ++i)\n-      {\n-        value += fmt::format("{}{}", it.second.m_integer_values[i],\n-                             i == (it.second.m_integer_values.size() - 1) ? "" : ", ");\n-      }\n-      ini.GetOrCreateSection(section)->Set(it.second.m_option_name, value);\n+      std::string value = fmt::format("{}", fmt::join(it.second.m_integer_values, ", "));\n+      ini.GetOrCreateSection(section)->Set(it.second.m_option_name, std::move(value));\n     }\n     break;\n     case ConfigurationOption::OptionType::Float:\n     {\n-      std::ostringstream value;\n-      value.imbue(std::locale::classic());\n-\n-      for (size_t i = 0; i < it.second.m_float_values.size(); ++i)\n-      {\n-        value << it.second.m_float_values[i];\n-        if (i != (it.second.m_float_values.size() - 1))\n-          value << ", ";\n-      }\n-      ini.GetOrCreateSection(section)->Set(it.second.m_option_name, value.str());\n+      std::string value = fmt::format("{}", fmt::join(it.second.m_float_values, ", "));\n+      ini.GetOrCreateSection(section)->Set(it.second.m_option_name, std::move(value));', 'path': 'Source/Core/VideoCommon/PostProcessing.cpp', 'position': 36, 'original_position': 36, 'commit_id': 'd5b8ad286cf75d1342ba8a4c896e51d28094058e', 'user': {'login': 'sepalani', 'id': 7890055, 'node_id': 'MDQ6VXNlcjc4OTAwNTU=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7890055?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/sepalani', 'html_url': 'https://github.com/sepalani', 'followers_url': 'https://api.github.com/users/sepalani/followers', 'following_url': 'https://api.github.com/users/sepalani/following{/other_user}', 'gists_url': 'https://api.github.com/users/sepalani/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/sepalani/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/sepalani/subscriptions', 'organizations_url': 'https://api.github.com/users/sepalani/orgs', 'repos_url': 'https://api.github.com/users/sepalani/repos', 'events_url': 'https://api.github.com/users/sepalani/events{/privacy}', 'received_events_url': 'https://api.github.com/users/sepalani/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': "Unless I'm mistaken, this increases the float precision:\n- from [6 digits](https://en.cppreference.com/cpp/io/ios_base/precision),\n- to [8 digits](https://cpp.godbolt.org/z/fG3xeq1qo).\n\nI suppose that doesn't matter much.", 'created_at': '2026-11-05T14:55:43Z', 'updated_at': '2026-11-05T15:06:59Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14970#discussion_r4482000469', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14970', 'author_association': 'MEMBER', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4482000469'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14970#discussion_r4482000469'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14970'}}, 'original_commit_id': 'd5b8ad286cf75d1342ba8a4c896e51d28094058e', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4482000469/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'is_copilot_code_review': False, 'copilot_code_review_sources': []}], 'type': 'gh_pull_request_review'}
2026-11-05T15:07:01.636749	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'sepalani', 'action': 'edited', 'pr_id': 14970, 'pr_title': 'Use std::move and ostringstream::view to avoid unnecessary copying of strings.', 'state': 'approved', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14970#pullrequestreview-5786948346', 'comments': [{'id': 4482000469, 'node_id': 'PRRC_kwDOALCn2M8AAAABCyXmVQ', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4482000469', 'pull_request_review_id': 5786948346, 'diff_hunk': '@@ -318,27 +317,14 @@ void PostProcessingConfiguration::SaveOptionsConfiguration()\n     break;\n     case ConfigurationOption::OptionType::Integer:\n     {\n-      std::string value;\n-      for (size_t i = 0; i < it.second.m_integer_values.size(); ++i)\n-      {\n-        value += fmt::format("{}{}", it.second.m_integer_values[i],\n-                             i == (it.second.m_integer_values.size() - 1) ? "" : ", ");\n-      }\n-      ini.GetOrCreateSection(section)->Set(it.second.m_option_name, value);\n+      std::string value = fmt::format("{}", fmt::join(it.second.m_integer_values, ", "));\n+      ini.GetOrCreateSection(section)->Set(it.second.m_option_name, std::move(value));\n     }\n     break;\n     case ConfigurationOption::OptionType::Float:\n     {\n-      std::ostringstream value;\n-      value.imbue(std::locale::classic());\n-\n-      for (size_t i = 0; i < it.second.m_float_values.size(); ++i)\n-      {\n-        value << it.second.m_float_values[i];\n-        if (i != (it.second.m_float_values.size() - 1))\n-          value << ", ";\n-      }\n-      ini.GetOrCreateSection(section)->Set(it.second.m_option_name, value.str());\n+      std::string value = fmt::format("{}", fmt::join(it.second.m_float_values, ", "));\n+      ini.GetOrCreateSection(section)->Set(it.second.m_option_name, std::move(value));', 'path': 'Source/Core/VideoCommon/PostProcessing.cpp', 'position': 36, 'original_position': 36, 'commit_id': 'd5b8ad286cf75d1342ba8a4c896e51d28094058e', 'user': {'login': 'sepalani', 'id': 7890055, 'node_id': 'MDQ6VXNlcjc4OTAwNTU=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7890055?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/sepalani', 'html_url': 'https://github.com/sepalani', 'followers_url': 'https://api.github.com/users/sepalani/followers', 'following_url': 'https://api.github.com/users/sepalani/following{/other_user}', 'gists_url': 'https://api.github.com/users/sepalani/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/sepalani/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/sepalani/subscriptions', 'organizations_url': 'https://api.github.com/users/sepalani/orgs', 'repos_url': 'https://api.github.com/users/sepalani/repos', 'events_url': 'https://api.github.com/users/sepalani/events{/privacy}', 'received_events_url': 'https://api.github.com/users/sepalani/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': "Unless I'm mistaken, this increases the float precision:\n- from [6 digits](https://en.cppreference.com/cpp/io/ios_base/precision),\n- to [8 digits](https://cpp.godbolt.org/z/fG3xeq1qo).\n\nI suppose that doesn't matter much.", 'created_at': '2026-11-05T14:55:43Z', 'updated_at': '2026-11-05T15:06:59Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14970#discussion_r4482000469', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14970', 'author_association': 'MEMBER', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4482000469'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14970#discussion_r4482000469'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14970'}}, 'original_commit_id': 'd5b8ad286cf75d1342ba8a4c896e51d28094058e', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4482000469/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'is_copilot_code_review': False, 'copilot_code_review_sources': []}], 'type': 'gh_pull_request_review'}
2026-11-05T14:17:46.851699	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'sepalani', 'action': 'submitted', 'pr_id': 14985, 'pr_title': 'Common/Logging: Minor cleanups and optimizations.', 'state': 'commented', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14985#pullrequestreview-5786335634', 'comments': [{'id': 4481534652, 'node_id': 'PRRC_kwDOALCn2M8AAAABCx7KvA', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4481534652', 'pull_request_review_id': 5786335634, 'diff_hunk': '@@ -207,14 +208,9 @@ std::string LogManager::GetTimestamp()\n   const auto now = std::chrono::system_clock::now();\n   const auto now_s = std::chrono::floor<std::chrono::seconds>(now);\n   const auto now_ms = std::chrono::floor<std::chrono::milliseconds>(now);\n-  return fmt::format("{:%M:%S}:{:03}", now_s, (now_ms - now_s).count());\n-}\n \n-void LogManager::LogWithFullPath(LogLevel level, LogType type, const char* file, int line,\n-                                 std::string_view message)\n-{\n-  const std::string msg =\n-      fmt::format("{} {}:{} {}[{}]: {}\\n", GetTimestamp(), file, line,\n+  std::string msg =', 'path': 'Source/Core/Common/Logging/LogManager.cpp', 'position': 22, 'original_position': 22, 'commit_id': '706ad79768d8817f043ff7562bb6a932155e7a9e', 'user': {'login': 'sepalani', 'id': 7890055, 'node_id': 'MDQ6VXNlcjc4OTAwNTU=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7890055?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/sepalani', 'html_url': 'https://github.com/sepalani', 'followers_url': 'https://api.github.com/users/sepalani/followers', 'following_url': 'https://api.github.com/users/sepalani/following{/other_user}', 'gists_url': 'https://api.github.com/users/sepalani/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/sepalani/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/sepalani/subscriptions', 'organizations_url': 'https://api.github.com/users/sepalani/orgs', 'repos_url': 'https://api.github.com/users/sepalani/repos', 'events_url': 'https://api.github.com/users/sepalani/events{/privacy}', 'received_events_url': 'https://api.github.com/users/sepalani/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': 'Is there a reason for dropping the `const`, here?', 'created_at': '2026-11-05T14:17:22Z', 'updated_at': '2026-11-05T14:17:44Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14985#discussion_r4481534652', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14985', 'author_association': 'MEMBER', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4481534652'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14985#discussion_r4481534652'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14985'}}, 'original_commit_id': '706ad79768d8817f043ff7562bb6a932155e7a9e', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4481534652/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'is_copilot_code_review': False, 'copilot_code_review_sources': []}], 'type': 'gh_pull_request_review'}
2026-11-05T11:39:17.109844	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'sepalani', 'action': 'submitted', 'pr_id': 14985, 'pr_title': 'Common/Logging: Minor cleanups and optimizations.', 'state': 'commented', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14985#pullrequestreview-5784061240', 'comments': [{'id': 4479803522, 'node_id': 'PRRC_kwDOALCn2M8AAAABCwRggg', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4479803522', 'pull_request_review_id': 5784061240, 'diff_hunk': '@@ -67,29 +66,24 @@ void GenericLogFmtImpl(LogLevel level, LogType type, const char* file, int line,\n   if (instance == nullptr)\n     return;\n \n-  if (!instance->IsEnabled(type, level))\n+  if (!instance->IsEnabled(type, level) || !instance->IsAnyListenerEnabled())\n     return;\n \n   const auto message = fmt::vformat(format, args);\n-  instance->Log(level, type, file, line, message.c_str());\n+  instance->Log(level, type, file, line, message);\n }\n \n-static size_t DeterminePathCutOffPoint()\n+static consteval size_t GetPathCutOffPoint()\n {\n-  constexpr const char* pattern = "/source/core/";\n-#ifdef _WIN32\n-  constexpr const char* pattern2 = "\\\\source\\\\core\\\\";\n+  constexpr std::string_view pattern =\n+#if defined(_WIN32)\n+      "Common\\\\Logging\\\\LogManager.cpp";\n+#else\n+      "Common/Logging/LogManager.cpp";', 'path': 'Source/Core/Common/Logging/LogManager.cpp', 'position': 31, 'original_position': 31, 'commit_id': '706ad79768d8817f043ff7562bb6a932155e7a9e', 'user': {'login': 'sepalani', 'id': 7890055, 'node_id': 'MDQ6VXNlcjc4OTAwNTU=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7890055?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/sepalani', 'html_url': 'https://github.com/sepalani', 'followers_url': 'https://api.github.com/users/sepalani/followers', 'following_url': 'https://api.github.com/users/sepalani/following{/other_user}', 'gists_url': 'https://api.github.com/users/sepalani/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/sepalani/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/sepalani/subscriptions', 'organizations_url': 'https://api.github.com/users/sepalani/orgs', 'repos_url': 'https://api.github.com/users/sepalani/repos', 'events_url': 'https://api.github.com/users/sepalani/events{/privacy}', 'received_events_url': 'https://api.github.com/users/sepalani/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': 'I suppose the original code was taking into account Windows which might have both patterns. This new implementation will error on Windows if facing the forward-slash pattern. Is that intended?', 'created_at': '2026-11-05T11:21:48Z', 'updated_at': '2026-11-05T11:39:14Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14985#discussion_r4479803522', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14985', 'author_association': 'MEMBER', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4479803522'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14985#discussion_r4479803522'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14985'}}, 'original_commit_id': '706ad79768d8817f043ff7562bb6a932155e7a9e', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4479803522/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'is_copilot_code_review': False, 'copilot_code_review_sources': []}, {'id': 4479911035, 'node_id': 'PRRC_kwDOALCn2M8AAAABCwYEew', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4479911035', 'pull_request_review_id': 5784061240, 'diff_hunk': '@@ -67,29 +66,24 @@ void GenericLogFmtImpl(LogLevel level, LogType type, const char* file, int line,\n   if (instance == nullptr)\n     return;\n \n-  if (!instance->IsEnabled(type, level))\n+  if (!instance->IsEnabled(type, level) || !instance->IsAnyListenerEnabled())\n     return;\n \n   const auto message = fmt::vformat(format, args);\n-  instance->Log(level, type, file, line, message.c_str());\n+  instance->Log(level, type, file, line, message);\n }\n \n-static size_t DeterminePathCutOffPoint()\n+static consteval size_t GetPathCutOffPoint()\n {\n-  constexpr const char* pattern = "/source/core/";\n-#ifdef _WIN32\n-  constexpr const char* pattern2 = "\\\\source\\\\core\\\\";\n+  constexpr std::string_view pattern =\n+#if defined(_WIN32)\n+      "Common\\\\Logging\\\\LogManager.cpp";\n+#else\n+      "Common/Logging/LogManager.cpp";\n #endif\n-  std::string path = __FILE__;\n-  Common::ToLower(&path);', 'path': 'Source/Core/Common/Logging/LogManager.cpp', 'position': 34, 'original_position': 34, 'commit_id': '706ad79768d8817f043ff7562bb6a932155e7a9e', 'user': {'login': 'sepalani', 'id': 7890055, 'node_id': 'MDQ6VXNlcjc4OTAwNTU=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7890055?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/sepalani', 'html_url': 'https://github.com/sepalani', 'followers_url': 'https://api.github.com/users/sepalani/followers', 'following_url': 'https://api.github.com/users/sepalani/following{/other_user}', 'gists_url': 'https://api.github.com/users/sepalani/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/sepalani/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/sepalani/subscriptions', 'organizations_url': 'https://api.github.com/users/sepalani/orgs', 'repos_url': 'https://api.github.com/users/sepalani/repos', 'events_url': 'https://api.github.com/users/sepalani/events{/privacy}', 'received_events_url': 'https://api.github.com/users/sepalani/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': "By removing this, the check won't be case insensitive.", 'created_at': '2026-11-05T11:33:31Z', 'updated_at': '2026-11-05T11:39:15Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14985#discussion_r4479911035', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14985', 'author_association': 'MEMBER', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4479911035'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14985#discussion_r4479911035'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14985'}}, 'original_commit_id': '706ad79768d8817f043ff7562bb6a932155e7a9e', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4479911035/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'is_copilot_code_review': False, 'copilot_code_review_sources': []}], 'type': 'gh_pull_request_review'}
2026-11-05T11:09:58.287708	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'sepalani', 'action': 'submitted', 'pr_id': 14987, 'pr_title': 'Replace std::chrono::high_resolution_clock usages with a guaranteed monotonic clock.', 'state': 'approved', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14987#pullrequestreview-5783924876', 'comments': [], 'type': 'gh_pull_request_review'}
2026-11-05T10:20:09.739317	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'sepalani', 'action': 'submitted', 'pr_id': 14984, 'pr_title': 'Common/DirectIOFile: Properly handle EINTR and partial read/write.', 'state': 'approved', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14984#pullrequestreview-5783313448', 'comments': [], 'type': 'gh_pull_request_review'}
2026-11-05T08:47:56.176952	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'JoshuaVandaele', 'action': 'submitted', 'pr_id': 14982, 'pr_title': 'Update cubeb to HEAD, use Rust if available', 'state': 'commented', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14982#pullrequestreview-5782073183', 'comments': [{'id': 4478336943, 'node_id': 'PRRC_kwDOALCn2M8AAAABCu3_rw', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4478336943', 'pull_request_review_id': 5782073183, 'diff_hunk': '@@ -0,0 +1,20 @@\n+diff --git a/CMakeLists.txt b/CMakeLists.txt\n+index 5c1482a..f939cb5 100644\n+--- a/CMakeLists.txt\n++++ b/CMakeLists.txt\n+@@ -380,6 +380,7 @@ if(USE_PULSE AND USE_PULSE_RUST)\n+     DOWNLOAD_COMMAND ""\n+     CONFIGURE_COMMAND ""\n+     BUILD_COMMAND cargo build --features=gecko-in-tree "$<IF:$<CONFIG:Release,RelWithDebInfo,MinSizeRel>,--release,>"\n++    BUILD_BYPRODUCTS "${PROJECT_SOURCE_DIR}/src/cubeb-pulse-rs/target/$<IF:$<CONFIG:Debug>,debug,release>/libcubeb_pulse.a"\n+     BUILD_ALWAYS ON\n+     BINARY_DIR "${PROJECT_SOURCE_DIR}/src/cubeb-pulse-rs"\n+     INSTALL_COMMAND ""\n+@@ -403,6 +404,7 @@ if(USE_AUDIOUNIT AND USE_AUDIOUNIT_RUST)\n+     DOWNLOAD_COMMAND ""\n+     CONFIGURE_COMMAND ""\n+     BUILD_COMMAND cargo build --features=gecko-in-tree "$<IF:$<CONFIG:Release,RelWithDebInfo,MinSizeRel>,--release,>" "${FEATURE_NO_PRIVATE_APIS_TOGGLE}"\n++    BUILD_BYPRODUCTS "${PROJECT_SOURCE_DIR}/src/cubeb-pulse-rs/target/$<IF:$<CONFIG:Debug>,debug,release>/libcubeb_pulse.a"', 'path': 'Externals/cubeb/cubeb.patch', 'position': 17, 'original_position': 17, 'commit_id': 'f0240694fdc3e0baadc3e9d3b95672737a0b039c', 'user': {'login': 'JoshuaVandaele', 'id': 24195176, 'node_id': 'MDQ6VXNlcjI0MTk1MTc2', 'avatar_url': 'https://avatars.githubusercontent.com/u/24195176?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/JoshuaVandaele', 'html_url': 'https://github.com/JoshuaVandaele', 'followers_url': 'https://api.github.com/users/JoshuaVandaele/followers', 'following_url': 'https://api.github.com/users/JoshuaVandaele/following{/other_user}', 'gists_url': 'https://api.github.com/users/JoshuaVandaele/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/JoshuaVandaele/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/JoshuaVandaele/subscriptions', 'organizations_url': 'https://api.github.com/users/JoshuaVandaele/orgs', 'repos_url': 'https://api.github.com/users/JoshuaVandaele/repos', 'events_url': 'https://api.github.com/users/JoshuaVandaele/events{/privacy}', 'received_events_url': 'https://api.github.com/users/JoshuaVandaele/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': 'Yes, a PR that fixes that has been sitting for two years now: https://github.com/mozilla/cubeb/pull/807', 'created_at': '2026-11-05T08:47:53Z', 'updated_at': '2026-11-05T08:47:54Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14982#discussion_r4478336943', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14982', 'author_association': 'MEMBER', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4478336943'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14982#discussion_r4478336943'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14982'}}, 'original_commit_id': 'f0240694fdc3e0baadc3e9d3b95672737a0b039c', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4478336943/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'in_reply_to_id': 4473455297, 'is_copilot_code_review': False, 'copilot_code_review_sources': []}], 'type': 'gh_pull_request_review'}
2026-11-05T07:39:49.210281	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'sepalani', 'action': 'edited', 'pr_id': 14984, 'pr_title': 'Common/DirectIOFile: Properly handle EINTR and partial read/write.', 'state': 'changes_requested', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14984#pullrequestreview-5780827235', 'comments': [{'id': 4477372904, 'node_id': 'PRRC_kwDOALCn2M8AAAABCt9J6A', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4477372904', 'pull_request_review_id': 5780827235, 'diff_hunk': '@@ -212,14 +213,36 @@ static bool OverlappedTransfer(HANDLE handle, u64 offset, auto* data_ptr, u64 si\n     data_ptr += bytes_transferred;\n   }\n }\n+#else\n+template <auto* RWFunc>\n+static bool PReadWriteHelper(int fd, auto* data_ptr, u64 size, u64 offset)\n+{\n+  while (true)\n+  {\n+    const auto result = UnixUtil::RetryOnEINTR(RWFunc, fd, data_ptr, size, off_t(offset));', 'path': 'Source/Core/Common/DirectIOFile.cpp', 'position': 18, 'original_position': 18, 'commit_id': '1fd220a82ae8416781a995f2e28a30053c95ab0b', 'user': {'login': 'sepalani', 'id': 7890055, 'node_id': 'MDQ6VXNlcjc4OTAwNTU=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7890055?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/sepalani', 'html_url': 'https://github.com/sepalani', 'followers_url': 'https://api.github.com/users/sepalani/followers', 'following_url': 'https://api.github.com/users/sepalani/following{/other_user}', 'gists_url': 'https://api.github.com/users/sepalani/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/sepalani/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/sepalani/subscriptions', 'organizations_url': 'https://api.github.com/users/sepalani/orgs', 'repos_url': 'https://api.github.com/users/sepalani/repos', 'events_url': 'https://api.github.com/users/sepalani/events{/privacy}', 'received_events_url': 'https://api.github.com/users/sepalani/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': "Shouldn't we also perform `MathUtil::SaturatingCast<int>` chunking like the Windows implementation? This tends to avoid differences between implementations such as:\r\n- [Ubuntu's](https://manpages.ubuntu.com/manpages/noble/man3/write.3posix.html), when `nbyte` is greater than `SSIZE_MAX`.\r\n- [FreeBSD's](https://man.freebsd.org/cgi/man.cgi?query=pwrite&sektion=2), similar to Ubuntu but can be limited to `INT_MAX`, if the `sysctl debug.iosize_max_clamp` is non-zero).\r\n- [Xcode's](https://keith.github.io/xcode-man-pages/write.2.html), seems limited to `INT_MAX`.\r\n\r\nThis will also avoid an edge case when result is negative in `RetryOnEINTR`:\r\n```c++\r\nif (result >= 0 || errno != EINTR)\r\n  return result;\r\n```\r\nWe won't exit on a successful call with a negative result, if errno was previously set to `EINTR` and wasn't cleared.", 'created_at': '2026-11-05T06:39:44Z', 'updated_at': '2026-11-05T07:39:46Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14984#discussion_r4477372904', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14984', 'author_association': 'MEMBER', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4477372904'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14984#discussion_r4477372904'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14984'}}, 'original_commit_id': '1fd220a82ae8416781a995f2e28a30053c95ab0b', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4477372904/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'is_copilot_code_review': False, 'copilot_code_review_sources': []}, {'id': 4477439415, 'node_id': 'PRRC_kwDOALCn2M8AAAABCuBNtw', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4477439415', 'pull_request_review_id': 5780827235, 'diff_hunk': '@@ -212,14 +213,36 @@ static bool OverlappedTransfer(HANDLE handle, u64 offset, auto* data_ptr, u64 si\n     data_ptr += bytes_transferred;\n   }\n }\n+#else\n+template <auto* RWFunc>\n+static bool PReadWriteHelper(int fd, auto* data_ptr, u64 size, u64 offset)\n+{\n+  while (true)\n+  {\n+    const auto result = UnixUtil::RetryOnEINTR(RWFunc, fd, data_ptr, size, off_t(offset));\n+    if (result == -1)', 'path': 'Source/Core/Common/DirectIOFile.cpp', 'position': 19, 'original_position': 19, 'commit_id': '1fd220a82ae8416781a995f2e28a30053c95ab0b', 'user': {'login': 'sepalani', 'id': 7890055, 'node_id': 'MDQ6VXNlcjc4OTAwNTU=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7890055?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/sepalani', 'html_url': 'https://github.com/sepalani', 'followers_url': 'https://api.github.com/users/sepalani/followers', 'following_url': 'https://api.github.com/users/sepalani/following{/other_user}', 'gists_url': 'https://api.github.com/users/sepalani/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/sepalani/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/sepalani/subscriptions', 'organizations_url': 'https://api.github.com/users/sepalani/orgs', 'repos_url': 'https://api.github.com/users/sepalani/repos', 'events_url': 'https://api.github.com/users/sepalani/events{/privacy}', 'received_events_url': 'https://api.github.com/users/sepalani/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': 'We should probably add a comment to make the intent clearer. For instance,\n```\n// Explicitly check for -1, result might be negative for large transfers.\n// See https://man.netbsd.org/pwrite.2\n```', 'created_at': '2026-11-05T06:50:17Z', 'updated_at': '2026-11-05T07:39:46Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14984#discussion_r4477439415', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14984', 'author_association': 'MEMBER', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4477439415'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14984#discussion_r4477439415'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14984'}}, 'original_commit_id': '1fd220a82ae8416781a995f2e28a30053c95ab0b', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4477439415/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'is_copilot_code_review': False, 'copilot_code_review_sources': []}, {'id': 4477671135, 'node_id': 'PRRC_kwDOALCn2M8AAAABCuPW3w', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4477671135', 'pull_request_review_id': 5780827235, 'diff_hunk': '@@ -212,14 +213,36 @@ static bool OverlappedTransfer(HANDLE handle, u64 offset, auto* data_ptr, u64 si\n     data_ptr += bytes_transferred;\n   }\n }\n+#else\n+template <auto* RWFunc>\n+static bool PReadWriteHelper(int fd, auto* data_ptr, u64 size, u64 offset)\n+{\n+  while (true)\n+  {\n+    const auto result = UnixUtil::RetryOnEINTR(RWFunc, fd, data_ptr, size, off_t(offset));\n+    if (result == -1)\n+      return false;\n+\n+    if (result == 0)\n+      return size == 0;\n+\n+    size -= result;\n+\n+    if (size == 0)\n+      return true;\n+\n+    offset += result;\n+    data_ptr += result;', 'path': 'Source/Core/Common/DirectIOFile.cpp', 'position': 31, 'original_position': 31, 'commit_id': '1fd220a82ae8416781a995f2e28a30053c95ab0b', 'user': {'login': 'sepalani', 'id': 7890055, 'node_id': 'MDQ6VXNlcjc4OTAwNTU=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7890055?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/sepalani', 'html_url': 'https://github.com/sepalani', 'followers_url': 'https://api.github.com/users/sepalani/followers', 'following_url': 'https://api.github.com/users/sepalani/following{/other_user}', 'gists_url': 'https://api.github.com/users/sepalani/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/sepalani/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/sepalani/subscriptions', 'organizations_url': 'https://api.github.com/users/sepalani/orgs', 'repos_url': 'https://api.github.com/users/sepalani/repos', 'events_url': 'https://api.github.com/users/sepalani/events{/privacy}', 'received_events_url': 'https://api.github.com/users/sepalani/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': 'I suppose bad things will also happen if `result` is successful and negative, so we should probably clamp the value or add additional checks here.', 'created_at': '2026-11-05T07:23:53Z', 'updated_at': '2026-11-05T07:39:46Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14984#discussion_r4477671135', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14984', 'author_association': 'MEMBER', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4477671135'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14984#discussion_r4477671135'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14984'}}, 'original_commit_id': '1fd220a82ae8416781a995f2e28a30053c95ab0b', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4477671135/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'is_copilot_code_review': False, 'copilot_code_review_sources': []}], 'type': 'gh_pull_request_review'}
2026-11-05T07:39:48.736162	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'sepalani', 'action': 'submitted', 'pr_id': 14984, 'pr_title': 'Common/DirectIOFile: Properly handle EINTR and partial read/write.', 'state': 'changes_requested', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14984#pullrequestreview-5780827235', 'comments': [{'id': 4477372904, 'node_id': 'PRRC_kwDOALCn2M8AAAABCt9J6A', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4477372904', 'pull_request_review_id': 5780827235, 'diff_hunk': '@@ -212,14 +213,36 @@ static bool OverlappedTransfer(HANDLE handle, u64 offset, auto* data_ptr, u64 si\n     data_ptr += bytes_transferred;\n   }\n }\n+#else\n+template <auto* RWFunc>\n+static bool PReadWriteHelper(int fd, auto* data_ptr, u64 size, u64 offset)\n+{\n+  while (true)\n+  {\n+    const auto result = UnixUtil::RetryOnEINTR(RWFunc, fd, data_ptr, size, off_t(offset));', 'path': 'Source/Core/Common/DirectIOFile.cpp', 'position': 18, 'original_position': 18, 'commit_id': '1fd220a82ae8416781a995f2e28a30053c95ab0b', 'user': {'login': 'sepalani', 'id': 7890055, 'node_id': 'MDQ6VXNlcjc4OTAwNTU=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7890055?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/sepalani', 'html_url': 'https://github.com/sepalani', 'followers_url': 'https://api.github.com/users/sepalani/followers', 'following_url': 'https://api.github.com/users/sepalani/following{/other_user}', 'gists_url': 'https://api.github.com/users/sepalani/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/sepalani/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/sepalani/subscriptions', 'organizations_url': 'https://api.github.com/users/sepalani/orgs', 'repos_url': 'https://api.github.com/users/sepalani/repos', 'events_url': 'https://api.github.com/users/sepalani/events{/privacy}', 'received_events_url': 'https://api.github.com/users/sepalani/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': "Shouldn't we also perform `MathUtil::SaturatingCast<int>` chunking like the Windows implementation? This tends to avoid differences between implementations such as:\r\n- [Ubuntu's](https://manpages.ubuntu.com/manpages/noble/man3/write.3posix.html), when `nbyte` is greater than `SSIZE_MAX`.\r\n- [FreeBSD's](https://man.freebsd.org/cgi/man.cgi?query=pwrite&sektion=2), similar to Ubuntu but can be limited to `INT_MAX`, if the `sysctl debug.iosize_max_clamp` is non-zero).\r\n- [Xcode's](https://keith.github.io/xcode-man-pages/write.2.html), seems limited to `INT_MAX`.\r\n\r\nThis will also avoid an edge case when result is negative in `RetryOnEINTR`:\r\n```c++\r\nif (result >= 0 || errno != EINTR)\r\n  return result;\r\n```\r\nWe won't exit on a successful call with a negative result, if errno was previously set to `EINTR` and wasn't cleared.", 'created_at': '2026-11-05T06:39:44Z', 'updated_at': '2026-11-05T07:39:46Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14984#discussion_r4477372904', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14984', 'author_association': 'MEMBER', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4477372904'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14984#discussion_r4477372904'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14984'}}, 'original_commit_id': '1fd220a82ae8416781a995f2e28a30053c95ab0b', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4477372904/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'is_copilot_code_review': False, 'copilot_code_review_sources': []}, {'id': 4477439415, 'node_id': 'PRRC_kwDOALCn2M8AAAABCuBNtw', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4477439415', 'pull_request_review_id': 5780827235, 'diff_hunk': '@@ -212,14 +213,36 @@ static bool OverlappedTransfer(HANDLE handle, u64 offset, auto* data_ptr, u64 si\n     data_ptr += bytes_transferred;\n   }\n }\n+#else\n+template <auto* RWFunc>\n+static bool PReadWriteHelper(int fd, auto* data_ptr, u64 size, u64 offset)\n+{\n+  while (true)\n+  {\n+    const auto result = UnixUtil::RetryOnEINTR(RWFunc, fd, data_ptr, size, off_t(offset));\n+    if (result == -1)', 'path': 'Source/Core/Common/DirectIOFile.cpp', 'position': 19, 'original_position': 19, 'commit_id': '1fd220a82ae8416781a995f2e28a30053c95ab0b', 'user': {'login': 'sepalani', 'id': 7890055, 'node_id': 'MDQ6VXNlcjc4OTAwNTU=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7890055?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/sepalani', 'html_url': 'https://github.com/sepalani', 'followers_url': 'https://api.github.com/users/sepalani/followers', 'following_url': 'https://api.github.com/users/sepalani/following{/other_user}', 'gists_url': 'https://api.github.com/users/sepalani/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/sepalani/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/sepalani/subscriptions', 'organizations_url': 'https://api.github.com/users/sepalani/orgs', 'repos_url': 'https://api.github.com/users/sepalani/repos', 'events_url': 'https://api.github.com/users/sepalani/events{/privacy}', 'received_events_url': 'https://api.github.com/users/sepalani/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': 'We should probably add a comment to make the intent clearer. For instance,\n```\n// Explicitly check for -1, result might be negative for large transfers.\n// See https://man.netbsd.org/pwrite.2\n```', 'created_at': '2026-11-05T06:50:17Z', 'updated_at': '2026-11-05T07:39:46Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14984#discussion_r4477439415', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14984', 'author_association': 'MEMBER', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4477439415'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14984#discussion_r4477439415'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14984'}}, 'original_commit_id': '1fd220a82ae8416781a995f2e28a30053c95ab0b', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4477439415/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'is_copilot_code_review': False, 'copilot_code_review_sources': []}, {'id': 4477671135, 'node_id': 'PRRC_kwDOALCn2M8AAAABCuPW3w', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4477671135', 'pull_request_review_id': 5780827235, 'diff_hunk': '@@ -212,14 +213,36 @@ static bool OverlappedTransfer(HANDLE handle, u64 offset, auto* data_ptr, u64 si\n     data_ptr += bytes_transferred;\n   }\n }\n+#else\n+template <auto* RWFunc>\n+static bool PReadWriteHelper(int fd, auto* data_ptr, u64 size, u64 offset)\n+{\n+  while (true)\n+  {\n+    const auto result = UnixUtil::RetryOnEINTR(RWFunc, fd, data_ptr, size, off_t(offset));\n+    if (result == -1)\n+      return false;\n+\n+    if (result == 0)\n+      return size == 0;\n+\n+    size -= result;\n+\n+    if (size == 0)\n+      return true;\n+\n+    offset += result;\n+    data_ptr += result;', 'path': 'Source/Core/Common/DirectIOFile.cpp', 'position': 31, 'original_position': 31, 'commit_id': '1fd220a82ae8416781a995f2e28a30053c95ab0b', 'user': {'login': 'sepalani', 'id': 7890055, 'node_id': 'MDQ6VXNlcjc4OTAwNTU=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7890055?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/sepalani', 'html_url': 'https://github.com/sepalani', 'followers_url': 'https://api.github.com/users/sepalani/followers', 'following_url': 'https://api.github.com/users/sepalani/following{/other_user}', 'gists_url': 'https://api.github.com/users/sepalani/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/sepalani/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/sepalani/subscriptions', 'organizations_url': 'https://api.github.com/users/sepalani/orgs', 'repos_url': 'https://api.github.com/users/sepalani/repos', 'events_url': 'https://api.github.com/users/sepalani/events{/privacy}', 'received_events_url': 'https://api.github.com/users/sepalani/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': 'I suppose bad things will also happen if `result` is successful and negative, so we should probably clamp the value or add additional checks here.', 'created_at': '2026-11-05T07:23:53Z', 'updated_at': '2026-11-05T07:39:46Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14984#discussion_r4477671135', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14984', 'author_association': 'MEMBER', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4477671135'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14984#discussion_r4477671135'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14984'}}, 'original_commit_id': '1fd220a82ae8416781a995f2e28a30053c95ab0b', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4477671135/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'is_copilot_code_review': False, 'copilot_code_review_sources': []}], 'type': 'gh_pull_request_review'}
2026-11-05T03:41:02.035647	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'submitted', 'pr_id': 14970, 'pr_title': 'Use std::move and ostringstream::view to avoid unnecessary copying of strings.', 'state': 'commented', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14970#pullrequestreview-5779566936', 'comments': [{'id': 4476351348, 'node_id': 'PRRC_kwDOALCn2M8AAAABCs-zdA', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4476351348', 'pull_request_review_id': 5779566936, 'diff_hunk': "@@ -219,19 +219,19 @@ static void DisassembleCodeBuffer(const JitBlock& block, PPCSymbolDB& ppc_symbol\n \n void JITWidget::CrossDisassemble(const JitBlock& block)\n {\n-  // TODO C++20: std::ostringstream::view() + QtUtils::FromStdString + std::ostream::seekp(0) would\n-  // save a lot of wasted allocation here, but compiler support for the first thing isn't here yet.\n   std::ostringstream stream;\n   DisassembleCodeBuffer(block, m_system.GetPPCSymbolDB(), stream);\n-  m_ppc_asm_widget->setPlainText(QString::fromStdString(std::move(stream).str()));\n+  m_ppc_asm_widget->setPlainText(QString::fromUtf8(stream.view()));\n+  stream.seekp(0);", 'path': 'Source/Core/DolphinQt/Debugger/JITWidget.cpp', 'position': 12, 'original_position': 10, 'commit_id': 'd5b8ad286cf75d1342ba8a4c896e51d28094058e', 'user': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': "I've adjusted it to also use `substr` now.", 'created_at': '2026-11-05T03:40:59Z', 'updated_at': '2026-11-05T03:40:59Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14970#discussion_r4476351348', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14970', 'author_association': 'MEMBER', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4476351348'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14970#discussion_r4476351348'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14970'}}, 'original_commit_id': 'dca48fcd3ffeae3502a79d10c4199410a9a2298f', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4476351348/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'in_reply_to_id': 4475956357, 'is_copilot_code_review': False, 'copilot_code_review_sources': []}], 'type': 'gh_pull_request_review'}
2026-11-05T03:23:05.231469	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'submitted', 'pr_id': 14970, 'pr_title': 'Use std::move and ostringstream::view to avoid unnecessary copying of strings.', 'state': 'commented', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14970#pullrequestreview-5779453026', 'comments': [{'id': 4476256096, 'node_id': 'PRRC_kwDOALCn2M8AAAABCs4_YA', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4476256096', 'pull_request_review_id': 5779453026, 'diff_hunk': "@@ -219,19 +219,19 @@ static void DisassembleCodeBuffer(const JitBlock& block, PPCSymbolDB& ppc_symbol\n \n void JITWidget::CrossDisassemble(const JitBlock& block)\n {\n-  // TODO C++20: std::ostringstream::view() + QtUtils::FromStdString + std::ostream::seekp(0) would\n-  // save a lot of wasted allocation here, but compiler support for the first thing isn't here yet.\n   std::ostringstream stream;\n   DisassembleCodeBuffer(block, m_system.GetPPCSymbolDB(), stream);\n-  m_ppc_asm_widget->setPlainText(QString::fromStdString(std::move(stream).str()));\n+  m_ppc_asm_widget->setPlainText(QString::fromUtf8(stream.view()));\n+  stream.seekp(0);", 'path': 'Source/Core/DolphinQt/Debugger/JITWidget.cpp', 'position': 10, 'original_position': 10, 'commit_id': 'dca48fcd3ffeae3502a79d10c4199410a9a2298f', 'user': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': 'Yeah. Good catch. I trusted that old comment too much. :(', 'created_at': '2026-11-05T03:23:02Z', 'updated_at': '2026-11-05T03:23:03Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14970#discussion_r4476256096', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14970', 'author_association': 'MEMBER', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4476256096'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14970#discussion_r4476256096'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14970'}}, 'original_commit_id': 'dca48fcd3ffeae3502a79d10c4199410a9a2298f', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4476256096/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'in_reply_to_id': 4475956357, 'is_copilot_code_review': False, 'copilot_code_review_sources': []}], 'type': 'gh_pull_request_review'}
2026-11-05T02:39:29.244173	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'iwubcode', 'action': 'submitted', 'pr_id': 14970, 'pr_title': 'Use std::move and ostringstream::view to avoid unnecessary copying of strings.', 'state': 'commented', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14970#pullrequestreview-5779108377', 'comments': [{'id': 4475956357, 'node_id': 'PRRC_kwDOALCn2M8AAAABCsmshQ', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4475956357', 'pull_request_review_id': 5779108377, 'diff_hunk': "@@ -219,19 +219,19 @@ static void DisassembleCodeBuffer(const JitBlock& block, PPCSymbolDB& ppc_symbol\n \n void JITWidget::CrossDisassemble(const JitBlock& block)\n {\n-  // TODO C++20: std::ostringstream::view() + QtUtils::FromStdString + std::ostream::seekp(0) would\n-  // save a lot of wasted allocation here, but compiler support for the first thing isn't here yet.\n   std::ostringstream stream;\n   DisassembleCodeBuffer(block, m_system.GetPPCSymbolDB(), stream);\n-  m_ppc_asm_widget->setPlainText(QString::fromStdString(std::move(stream).str()));\n+  m_ppc_asm_widget->setPlainText(QString::fromUtf8(stream.view()));\n+  stream.seekp(0);", 'path': 'Source/Core/DolphinQt/Debugger/JITWidget.cpp', 'position': 10, 'original_position': 10, 'commit_id': 'dca48fcd3ffeae3502a79d10c4199410a9a2298f', 'user': {'login': 'iwubcode', 'id': 15224722, 'node_id': 'MDQ6VXNlcjE1MjI0NzIy', 'avatar_url': 'https://avatars.githubusercontent.com/u/15224722?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/iwubcode', 'html_url': 'https://github.com/iwubcode', 'followers_url': 'https://api.github.com/users/iwubcode/followers', 'following_url': 'https://api.github.com/users/iwubcode/following{/other_user}', 'gists_url': 'https://api.github.com/users/iwubcode/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/iwubcode/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/iwubcode/subscriptions', 'organizations_url': 'https://api.github.com/users/iwubcode/orgs', 'repos_url': 'https://api.github.com/users/iwubcode/repos', 'events_url': 'https://api.github.com/users/iwubcode/events{/privacy}', 'received_events_url': 'https://api.github.com/users/iwubcode/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': "Seeking will reset the internal pointer but doesn't actually change the data when `view()` is called.  Is that what we want?", 'created_at': '2026-11-05T02:39:25Z', 'updated_at': '2026-11-05T02:39:25Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14970#discussion_r4475956357', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14970', 'author_association': 'MEMBER', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4475956357'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14970#discussion_r4475956357'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14970'}}, 'original_commit_id': 'dca48fcd3ffeae3502a79d10c4199410a9a2298f', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4475956357/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'is_copilot_code_review': False, 'copilot_code_review_sources': []}], 'type': 'gh_pull_request_review'}
2026-11-05T02:23:31.598168	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'iwubcode', 'action': 'submitted', 'pr_id': 14969, 'pr_title': 'Core: Bound FIFO memory updates', 'state': 'approved', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14969#pullrequestreview-5778968257', 'comments': [], 'type': 'gh_pull_request_review'}
2026-11-05T02:00:31.561424	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'submitted', 'pr_id': 14986, 'pr_title': 'VideoCommon: error if the same asset id is used with a different type', 'state': 'approved', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14986#pullrequestreview-5778754657', 'comments': [], 'type': 'gh_pull_request_review'}
2026-11-05T01:52:35.564432	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'TellowKrinkle', 'action': 'submitted', 'pr_id': 14986, 'pr_title': 'VideoCommon: error if the same asset id is used with a different type', 'state': 'approved', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14986#pullrequestreview-5778699340', 'comments': [], 'type': 'gh_pull_request_review'}
2026-11-04T21:18:25.181677	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'submitted', 'pr_id': 14982, 'pr_title': 'Update cubeb to HEAD, use Rust if available', 'state': 'commented', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14982#pullrequestreview-5775947967', 'comments': [{'id': 4473455297, 'node_id': 'PRRC_kwDOALCn2M8AAAABCqOCwQ', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4473455297', 'pull_request_review_id': 5775947967, 'diff_hunk': '@@ -0,0 +1,20 @@\n+diff --git a/CMakeLists.txt b/CMakeLists.txt\n+index 5c1482a..f939cb5 100644\n+--- a/CMakeLists.txt\n++++ b/CMakeLists.txt\n+@@ -380,6 +380,7 @@ if(USE_PULSE AND USE_PULSE_RUST)\n+     DOWNLOAD_COMMAND ""\n+     CONFIGURE_COMMAND ""\n+     BUILD_COMMAND cargo build --features=gecko-in-tree "$<IF:$<CONFIG:Release,RelWithDebInfo,MinSizeRel>,--release,>"\n++    BUILD_BYPRODUCTS "${PROJECT_SOURCE_DIR}/src/cubeb-pulse-rs/target/$<IF:$<CONFIG:Debug>,debug,release>/libcubeb_pulse.a"\n+     BUILD_ALWAYS ON\n+     BINARY_DIR "${PROJECT_SOURCE_DIR}/src/cubeb-pulse-rs"\n+     INSTALL_COMMAND ""\n+@@ -403,6 +404,7 @@ if(USE_AUDIOUNIT AND USE_AUDIOUNIT_RUST)\n+     DOWNLOAD_COMMAND ""\n+     CONFIGURE_COMMAND ""\n+     BUILD_COMMAND cargo build --features=gecko-in-tree "$<IF:$<CONFIG:Release,RelWithDebInfo,MinSizeRel>,--release,>" "${FEATURE_NO_PRIVATE_APIS_TOGGLE}"\n++    BUILD_BYPRODUCTS "${PROJECT_SOURCE_DIR}/src/cubeb-pulse-rs/target/$<IF:$<CONFIG:Debug>,debug,release>/libcubeb_pulse.a"', 'path': 'Externals/cubeb/cubeb.patch', 'position': 17, 'original_position': 17, 'commit_id': 'f0240694fdc3e0baadc3e9d3b95672737a0b039c', 'user': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': 'What exactly are these lines fixing?\nIs this an issue with their build setup that should be fixed upstream?', 'created_at': '2026-11-04T21:18:21Z', 'updated_at': '2026-11-04T21:18:21Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14982#discussion_r4473455297', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14982', 'author_association': 'MEMBER', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4473455297'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14982#discussion_r4473455297'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14982'}}, 'original_commit_id': 'f0240694fdc3e0baadc3e9d3b95672737a0b039c', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4473455297/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'is_copilot_code_review': False, 'copilot_code_review_sources': []}], 'type': 'gh_pull_request_review'}
2026-11-04T20:48:11.761947	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'submitted', 'pr_id': 14977, 'pr_title': 'Common/Logging: Eliminate fstream and mutex in FileLogListener.', 'state': 'commented', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14977#pullrequestreview-5775543437', 'comments': [{'id': 4473137791, 'node_id': 'PRRC_kwDOALCn2M8AAAABCp6qfw', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4473137791', 'pull_request_review_id': 5775543437, 'diff_hunk': '@@ -147,4 +147,21 @@ bool Rename(DirectIOFile& file, const std::string& source_path,\n // Note: Ditto, only Windows actually uses the file handle. Provide both.\n bool Delete(DirectIOFile& file, const std::string& filename);\n \n+// This class provides thread safe appending to a log file.\n+class AppendingFileWriter', 'path': 'Source/Core/Common/DirectIOFile.h', 'position': 5, 'original_position': 5, 'commit_id': '6633a6e6ca0aefb3c7e1e8c6664cc6a8dc2e9bb9', 'user': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': '`Appender` is good.', 'created_at': '2026-11-04T20:48:09Z', 'updated_at': '2026-11-04T20:48:09Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14977#discussion_r4473137791', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14977', 'author_association': 'MEMBER', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4473137791'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14977#discussion_r4473137791'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14977'}}, 'original_commit_id': '6633a6e6ca0aefb3c7e1e8c6664cc6a8dc2e9bb9', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4473137791/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'in_reply_to_id': 4472389154, 'is_copilot_code_review': False, 'copilot_code_review_sources': []}], 'type': 'gh_pull_request_review'}
2026-11-04T20:40:56.558588	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'submitted', 'pr_id': 14977, 'pr_title': 'Common/Logging: Eliminate fstream and mutex in FileLogListener.', 'state': 'commented', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14977#pullrequestreview-5775445486', 'comments': [{'id': 4473057787, 'node_id': 'PRRC_kwDOALCn2M8AAAABCp1x-w', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4473057787', 'pull_request_review_id': 5775445486, 'diff_hunk': '@@ -35,29 +34,18 @@ const Config::Info<LogLevel> LOGGER_VERBOSITY{{Config::System::Logger, "Options"\n class FileLogListener : public LogListener\n {\n public:\n-  FileLogListener(const std::string& filename)\n-  {\n-    File::OpenFStream(m_logfile, filename, std::ios::app);\n-    SetEnable(true);\n-  }\n+  FileLogListener(const std::string& filename) : m_log_file{filename} {}\n \n   void Log(LogLevel, const char* msg) override\n   {\n-    if (!IsEnabled() || !IsValid())\n+    if (!m_log_file.IsOpen())\n       return;\n \n-    std::lock_guard<std::mutex> lk(m_log_lock);\n-    m_logfile << msg << std::flush;\n+    m_log_file.Write(msg);\n   }\n \n-  bool IsValid() const { return m_logfile.good(); }\n-  bool IsEnabled() const { return m_enable; }\n-  void SetEnable(bool enable) { m_enable = enable; }\n-\n private:\n-  std::mutex m_log_lock;\n-  std::ofstream m_logfile;\n-  bool m_enable;\n+  File::AppendingFileWriter m_log_file;', 'path': 'Source/Core/Common/Logging/LogManager.cpp', 'position': 47, 'original_position': 47, 'commit_id': '6633a6e6ca0aefb3c7e1e8c6664cc6a8dc2e9bb9', 'user': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': 'Yeah, I think using just LF on Windows is pretty normal these days.', 'created_at': '2026-11-04T20:40:53Z', 'updated_at': '2026-11-04T20:40:54Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14977#discussion_r4473057787', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14977', 'author_association': 'MEMBER', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4473057787'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14977#discussion_r4473057787'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14977'}}, 'original_commit_id': '6633a6e6ca0aefb3c7e1e8c6664cc6a8dc2e9bb9', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4473057787/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'in_reply_to_id': 4472511433, 'is_copilot_code_review': False, 'copilot_code_review_sources': []}], 'type': 'gh_pull_request_review'}
2026-11-04T20:19:38.466071	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'submitted', 'pr_id': 14983, 'pr_title': 'Revert "GameINI: Add patches to limit internal framerate in Driver: San Francisco."', 'state': 'approved', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14983#pullrequestreview-5775172411', 'comments': [], 'type': 'gh_pull_request_review'}
2026-11-04T19:56:32.317310	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'sepalani', 'action': 'submitted', 'pr_id': 14977, 'pr_title': 'Common/Logging: Eliminate fstream and mutex in FileLogListener.', 'state': 'commented', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14977#pullrequestreview-5774610571', 'comments': [{'id': 4472389154, 'node_id': 'PRRC_kwDOALCn2M8AAAABCpM-Ig', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4472389154', 'pull_request_review_id': 5774610571, 'diff_hunk': '@@ -147,4 +147,21 @@ bool Rename(DirectIOFile& file, const std::string& source_path,\n // Note: Ditto, only Windows actually uses the file handle. Provide both.\n bool Delete(DirectIOFile& file, const std::string& filename);\n \n+// This class provides thread safe appending to a log file.\n+class AppendingFileWriter', 'path': 'Source/Core/Common/DirectIOFile.h', 'position': 5, 'original_position': 5, 'commit_id': '6633a6e6ca0aefb3c7e1e8c6664cc6a8dc2e9bb9', 'user': {'login': 'sepalani', 'id': 7890055, 'node_id': 'MDQ6VXNlcjc4OTAwNTU=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7890055?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/sepalani', 'html_url': 'https://github.com/sepalani', 'followers_url': 'https://api.github.com/users/sepalani/followers', 'following_url': 'https://api.github.com/users/sepalani/following{/other_user}', 'gists_url': 'https://api.github.com/users/sepalani/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/sepalani/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/sepalani/subscriptions', 'organizations_url': 'https://api.github.com/users/sepalani/orgs', 'repos_url': 'https://api.github.com/users/sepalani/repos', 'events_url': 'https://api.github.com/users/sepalani/events{/privacy}', 'received_events_url': 'https://api.github.com/users/sepalani/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': 'Append implies write, so what about using "Appender" in the name, for instance:\n- `FileAppender`; or\n- `Appender`/`AppendWriter` assuming we\'re already in the `File::` namespace.\n\nFWIW, I\'ve seen "Appender" classes used in other programming languages such as Python and Java.', 'created_at': '2026-11-04T19:37:33Z', 'updated_at': '2026-11-04T19:56:29Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14977#discussion_r4472389154', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14977', 'author_association': 'MEMBER', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4472389154'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14977#discussion_r4472389154'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14977'}}, 'original_commit_id': '6633a6e6ca0aefb3c7e1e8c6664cc6a8dc2e9bb9', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4472389154/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'is_copilot_code_review': False, 'copilot_code_review_sources': []}, {'id': 4472511433, 'node_id': 'PRRC_kwDOALCn2M8AAAABCpUbyQ', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4472511433', 'pull_request_review_id': 5774610571, 'diff_hunk': '@@ -35,29 +34,18 @@ const Config::Info<LogLevel> LOGGER_VERBOSITY{{Config::System::Logger, "Options"\n class FileLogListener : public LogListener\n {\n public:\n-  FileLogListener(const std::string& filename)\n-  {\n-    File::OpenFStream(m_logfile, filename, std::ios::app);\n-    SetEnable(true);\n-  }\n+  FileLogListener(const std::string& filename) : m_log_file{filename} {}\n \n   void Log(LogLevel, const char* msg) override\n   {\n-    if (!IsEnabled() || !IsValid())\n+    if (!m_log_file.IsOpen())\n       return;\n \n-    std::lock_guard<std::mutex> lk(m_log_lock);\n-    m_logfile << msg << std::flush;\n+    m_log_file.Write(msg);\n   }\n \n-  bool IsValid() const { return m_logfile.good(); }\n-  bool IsEnabled() const { return m_enable; }\n-  void SetEnable(bool enable) { m_enable = enable; }\n-\n private:\n-  std::mutex m_log_lock;\n-  std::ofstream m_logfile;\n-  bool m_enable;\n+  File::AppendingFileWriter m_log_file;', 'path': 'Source/Core/Common/Logging/LogManager.cpp', 'position': 47, 'original_position': 47, 'commit_id': '6633a6e6ca0aefb3c7e1e8c6664cc6a8dc2e9bb9', 'user': {'login': 'sepalani', 'id': 7890055, 'node_id': 'MDQ6VXNlcjc4OTAwNTU=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7890055?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/sepalani', 'html_url': 'https://github.com/sepalani', 'followers_url': 'https://api.github.com/users/sepalani/followers', 'following_url': 'https://api.github.com/users/sepalani/following{/other_user}', 'gists_url': 'https://api.github.com/users/sepalani/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/sepalani/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/sepalani/subscriptions', 'organizations_url': 'https://api.github.com/users/sepalani/orgs', 'repos_url': 'https://api.github.com/users/sepalani/repos', 'events_url': 'https://api.github.com/users/sepalani/events{/privacy}', 'received_events_url': 'https://api.github.com/users/sepalani/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': "Unless I'm mistaken, `ofstream` was automatically converting LF to CRLF on Windows. Switching to `DirectIOFile` will loose that feature, but I don't think that matters nowadays. So feel free to disregard this comment.", 'created_at': '2026-11-04T19:49:11Z', 'updated_at': '2026-11-04T19:56:29Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14977#discussion_r4472511433', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14977', 'author_association': 'MEMBER', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4472511433'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14977#discussion_r4472511433'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14977'}}, 'original_commit_id': '6633a6e6ca0aefb3c7e1e8c6664cc6a8dc2e9bb9', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4472511433/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'is_copilot_code_review': False, 'copilot_code_review_sources': []}], 'type': 'gh_pull_request_review'}
2026-11-04T19:13:31.344094	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'sepalani', 'action': 'submitted', 'pr_id': 14977, 'pr_title': 'Common/Logging: Eliminate fstream and mutex in FileLogListener.', 'state': 'commented', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14977#pullrequestreview-5774262850', 'comments': [{'id': 4472114782, 'node_id': 'PRRC_kwDOALCn2M8AAAABCo8OXg', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4472114782', 'pull_request_review_id': 5774262850, 'diff_hunk': '@@ -363,4 +363,37 @@ bool Delete(DirectIOFile& file, const std::string& filename)\n #endif\n }\n \n+bool LogIOFile::Open(const std::string& path)\n+{\n+#if defined(_WIN32)\n+  return m_file.Open(path, File::AccessMode::Write, File::OpenMode::Always);\n+#else\n+  DirectIOFile new_file;\n+  if (!new_file.Open(path, File::AccessMode::Write, File::OpenMode::Always))\n+    return false;\n+\n+  const int existing_flags = fcntl(new_file.GetHandle(), F_GETFL);\n+  if (existing_flags == -1)\n+    return false;\n+\n+  // Set `O_APPEND` flag.\n+  if (fcntl(new_file.GetHandle(), F_SETFL, existing_flags | O_APPEND) == -1)\n+    return false;\n+\n+  m_file = std::move(new_file);\n+  return true;\n+#endif\n+}\n+\n+bool LogIOFile::Write(std::string_view message)\n+{\n+#if defined(_WIN32)\n+  // Writing to max offset is functionally equivalent to previously calling the CreateFile\n+  // function using FILE_APPEND_DATA access.\n+  return m_file.OffsetWrite(u64(-1), reinterpret_cast<const u8*>(message.data()), message.size());\n+#else\n+  return write(m_file.GetHandle(), message.data(), message.size()) == ssize_t(message.size());', 'path': 'Source/Core/Common/DirectIOFile.cpp', 'position': 1, 'original_position': 33, 'commit_id': '57a9b7d583fd6e14d7f9e59a646d99501c312297', 'user': {'login': 'sepalani', 'id': 7890055, 'node_id': 'MDQ6VXNlcjc4OTAwNTU=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7890055?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/sepalani', 'html_url': 'https://github.com/sepalani', 'followers_url': 'https://api.github.com/users/sepalani/followers', 'following_url': 'https://api.github.com/users/sepalani/following{/other_user}', 'gists_url': 'https://api.github.com/users/sepalani/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/sepalani/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/sepalani/subscriptions', 'organizations_url': 'https://api.github.com/users/sepalani/orgs', 'repos_url': 'https://api.github.com/users/sepalani/repos', 'events_url': 'https://api.github.com/users/sepalani/events{/privacy}', 'received_events_url': 'https://api.github.com/users/sepalani/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': "That's a fair argument, resuming a partial write might happen after another atomic write occurred, so returning false is the way to go.", 'created_at': '2026-11-04T19:13:28Z', 'updated_at': '2026-11-04T19:13:29Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14977#discussion_r4472114782', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14977', 'author_association': 'MEMBER', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4472114782'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14977#discussion_r4472114782'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14977'}}, 'original_commit_id': '57a9b7d583fd6e14d7f9e59a646d99501c312297', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4472114782/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'in_reply_to_id': 4458571166, 'is_copilot_code_review': False, 'copilot_code_review_sources': []}], 'type': 'gh_pull_request_review'}
2026-11-04T08:06:24.514098	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'mbc07', 'action': 'submitted', 'pr_id': 14974, 'pr_title': 'Core/DolphinQt: Restore "Boot from DVD Backup" and allow booting original discs with OmniDrive firmware', 'state': 'commented', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14974#pullrequestreview-5765232256', 'comments': [{'id': 4465132899, 'node_id': 'PRRC_kwDOALCn2M8AAAABCiSFYw', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4465132899', 'pull_request_review_id': 5765232256, 'diff_hunk': '@@ -251,6 +252,7 @@ class MainWindow final : public QMainWindow\n   bool m_fullscreen_requested = false;\n   bool m_is_screensaver_inhibited = false;\n   std::unique_ptr<BootParameters> m_pending_boot;\n+  std::optional<std::string> m_optical_drive;', 'path': 'Source/Core/DolphinQt/MainWindow.h', 'position': 12, 'original_position': 12, 'commit_id': 'ab0b808663fe623e8e8a52396273ee5a86cf440c', 'user': {'login': 'mbc07', 'id': 8005966, 'node_id': 'MDQ6VXNlcjgwMDU5NjY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/8005966?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/mbc07', 'html_url': 'https://github.com/mbc07', 'followers_url': 'https://api.github.com/users/mbc07/followers', 'following_url': 'https://api.github.com/users/mbc07/following{/other_user}', 'gists_url': 'https://api.github.com/users/mbc07/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/mbc07/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/mbc07/subscriptions', 'organizations_url': 'https://api.github.com/users/mbc07/orgs', 'repos_url': 'https://api.github.com/users/mbc07/repos', 'events_url': 'https://api.github.com/users/mbc07/events{/privacy}', 'received_events_url': 'https://api.github.com/users/mbc07/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': "This is a leftover from a previous iteration. I'll change it to use `GetInsertedOpticalDrive`, as it can also prevent some edge cases where the core and the UI might end incorrectly pointing to different drives", 'created_at': '2026-11-04T08:06:22Z', 'updated_at': '2026-11-04T08:06:22Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14974#discussion_r4465132899', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14974', 'author_association': 'MEMBER', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4465132899'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14974#discussion_r4465132899'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14974'}}, 'original_commit_id': 'ab0b808663fe623e8e8a52396273ee5a86cf440c', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4465132899/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'in_reply_to_id': 4454462737, 'is_copilot_code_review': False, 'copilot_code_review_sources': []}], 'type': 'gh_pull_request_review'}
2026-11-04T08:06:09.623565	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'mbc07', 'action': 'submitted', 'pr_id': 14974, 'pr_title': 'Core/DolphinQt: Restore "Boot from DVD Backup" and allow booting original discs with OmniDrive firmware', 'state': 'commented', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14974#pullrequestreview-5765229058', 'comments': [{'id': 4465130546, 'node_id': 'PRRC_kwDOALCn2M8AAAABCiR8Mg', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4465130546', 'pull_request_review_id': 5765229058, 'diff_hunk': '@@ -0,0 +1,776 @@\n+// Copyright 2026 Dolphin Emulator Project', 'path': 'Source/Core/Common/SCSIDevice.cpp', 'position': 1, 'original_position': 1, 'commit_id': 'ab0b808663fe623e8e8a52396273ee5a86cf440c', 'user': {'login': 'mbc07', 'id': 8005966, 'node_id': 'MDQ6VXNlcjgwMDU5NjY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/8005966?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/mbc07', 'html_url': 'https://github.com/mbc07', 'followers_url': 'https://api.github.com/users/mbc07/followers', 'following_url': 'https://api.github.com/users/mbc07/following{/other_user}', 'gists_url': 'https://api.github.com/users/mbc07/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/mbc07/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/mbc07/subscriptions', 'organizations_url': 'https://api.github.com/users/mbc07/orgs', 'repos_url': 'https://api.github.com/users/mbc07/repos', 'events_url': 'https://api.github.com/users/mbc07/events{/privacy}', 'received_events_url': 'https://api.github.com/users/mbc07/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': 'I have no particular preference, and I modeled this similar to the previous "Boot from DVD Backup" implementation. It seems we already have precedents for what you\'re suggesting on Core/HW/WiimoteReal and I guess it makes reading the code easier, so I\'ll split there too', 'created_at': '2026-11-04T08:06:07Z', 'updated_at': '2026-11-04T08:06:07Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14974#discussion_r4465130546', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14974', 'author_association': 'MEMBER', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4465130546'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14974#discussion_r4465130546'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14974'}}, 'original_commit_id': 'ab0b808663fe623e8e8a52396273ee5a86cf440c', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4465130546/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'in_reply_to_id': 4453291256, 'is_copilot_code_review': False, 'copilot_code_review_sources': []}], 'type': 'gh_pull_request_review'}
2026-11-04T08:05:55.975190	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'mbc07', 'action': 'submitted', 'pr_id': 14974, 'pr_title': 'Core/DolphinQt: Restore "Boot from DVD Backup" and allow booting original discs with OmniDrive firmware', 'state': 'commented', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14974#pullrequestreview-5765226107', 'comments': [{'id': 4465128178, 'node_id': 'PRRC_kwDOALCn2M8AAAABCiRy8g', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4465128178', 'pull_request_review_id': 5765226107, 'diff_hunk': '@@ -0,0 +1,776 @@\n+// Copyright 2026 Dolphin Emulator Project\n+// SPDX-License-Identifier: GPL-2.0-or-later\n+\n+#include "Common/SCSIDevice.h"\n+\n+#include <algorithm>\n+#include <array>\n+#include <cctype>\n+#include <cerrno>\n+#include <cstddef>\n+#include <filesystem>\n+#include <map>\n+#include <mutex>\n+#include <optional>\n+#include <span>\n+#include <string>\n+#include <string_view>\n+#include <system_error>\n+#include <vector>\n+\n+#include <fmt/format.h>\n+\n+#if defined(_WIN32)\n+#include <windows.h>\n+#include <winioctl.h>\n+\n+#include <ntddscsi.h>\n+#include <ntddstor.h>\n+#elif defined(__linux__) && !defined(__ANDROID__)\n+#include <fcntl.h>\n+#include <scsi/sg.h>\n+#include <sys/ioctl.h>\n+#include <unistd.h>\n+#endif\n+\n+#include "Common/CommonFuncs.h"\n+#include "Common/CommonTypes.h"\n+#include "Common/FileUtil.h"\n+#include "Common/Logging/Log.h"\n+#include "Common/StringUtil.h"\n+#include "Common/Swap.h"\n+\n+namespace Common\n+{\n+SCSIDevice::~SCSIDevice()\n+{\n+  Close();\n+}\n+\n+#if defined(_WIN32)\n+\n+namespace\n+{\n+// Timeout for the TEST UNIT READY that reads drive status. Short, so a spinning-up drive is\n+// reported as such at once instead of blocking until it is ready\n+constexpr u32 STATUS_PROBE_TIMEOUT_SECONDS = 1;\n+}  // namespace\n+\n+namespace\n+{\n+// SCSI_PASS_THROUGH_DIRECT and its sense buffer in one contiguous block, so the kernel can write\n+// sense data at SenseInfoOffset\n+struct SPTDWithSense\n+{\n+  SCSI_PASS_THROUGH_DIRECT sptd;\n+  std::array<u8, 24> sense;\n+};\n+\n+std::wstring ToDevicePath(const std::string& path)\n+{\n+  return UTF8ToWString(R"(\\\\.\\)" + path);\n+}\n+\n+HANDLE OpenDeviceHandle(const std::string& path, DWORD access)\n+{\n+  return CreateFileW(ToDevicePath(path).c_str(), access, FILE_SHARE_READ | FILE_SHARE_WRITE,\n+                     nullptr, OPEN_EXISTING, 0, nullptr);\n+}\n+\n+void DecodeSense(const SPTDWithSense& sptd, SCSISense* sense)\n+{\n+  sense->status = sptd.sptd.ScsiStatus;\n+  sense->sense_key = sptd.sense[2] & 0x0F;\n+  sense->asc = sptd.sense[12];\n+  sense->ascq = sptd.sense[13];\n+}\n+\n+// Returns false only if the OS rejects the IOCTL itself\n+bool SendPassThrough(HANDLE handle, std::span<const u8> cdb, std::span<u8> buffer,\n+                     SCSIDataDirection direction, u32 timeout_seconds, SPTDWithSense* sptd)\n+{\n+  if (cdb.size() > sizeof(SCSI_PASS_THROUGH_DIRECT::Cdb))\n+    return false;\n+\n+  *sptd = {};\n+  sptd->sptd.Length = sizeof(SCSI_PASS_THROUGH_DIRECT);\n+  sptd->sptd.CdbLength = static_cast<UCHAR>(cdb.size());\n+  sptd->sptd.SenseInfoLength = static_cast<UCHAR>(sptd->sense.size());\n+  sptd->sptd.DataIn = static_cast<UCHAR>(direction);\n+  sptd->sptd.DataTransferLength = static_cast<ULONG>(buffer.size());\n+  sptd->sptd.TimeOutValue = timeout_seconds;\n+  sptd->sptd.DataBuffer = buffer.empty() ? nullptr : buffer.data();\n+  sptd->sptd.SenseInfoOffset = static_cast<ULONG>(offsetof(SPTDWithSense, sense));\n+  std::ranges::copy(cdb, sptd->sptd.Cdb);\n+\n+  DWORD bytes_returned = 0;\n+  return DeviceIoControl(handle, IOCTL_SCSI_PASS_THROUGH_DIRECT, sptd, sizeof(*sptd), sptd,\n+                         sizeof(*sptd), &bytes_returned, nullptr) != FALSE;\n+}\n+\n+std::string ReadDescriptorString(std::span<const u8> data, u32 offset)\n+{\n+  if (offset == 0 || offset >= data.size())\n+    return {};\n+  const std::string_view text(reinterpret_cast<const char*>(data.data()) + offset,\n+                              data.size() - offset);\n+  return std::string(StripWhitespace(text.substr(0, text.find(\'\\0\'))));\n+}\n+}  // namespace\n+\n+bool SCSIDevice::IsSupported()\n+{\n+  return true;\n+}\n+\n+bool SCSIDevice::Open(const std::string& path, bool read_write)\n+{\n+  Close();\n+\n+  DWORD desired_access = GENERIC_READ;\n+  if (read_write)\n+    desired_access |= GENERIC_WRITE;\n+\n+  HANDLE handle = OpenDeviceHandle(path, desired_access);\n+\n+  // Standard user accounts can be refused GENERIC_WRITE, so fall back to read-only before failing\n+  if (handle == INVALID_HANDLE_VALUE && read_write)\n+    handle = OpenDeviceHandle(path, GENERIC_READ);\n+\n+  if (handle == INVALID_HANDLE_VALUE)\n+  {\n+    ERROR_LOG_FMT(COMMON, "Failed to open optical drive {}: {}", path, GetLastErrorString());\n+    return false;\n+  }\n+\n+  m_handle = handle;\n+  m_path = path;\n+  return true;\n+}\n+\n+void SCSIDevice::Close()\n+{\n+  if (m_handle != nullptr)\n+  {\n+    CloseHandle(m_handle);\n+    m_handle = nullptr;\n+  }\n+}\n+\n+bool SCSIDevice::IsOpen() const\n+{\n+  return m_handle != nullptr;\n+}\n+\n+bool SCSIDevice::SendCommand(std::span<const u8> cdb, std::span<u8> buffer,\n+                             SCSIDataDirection direction, u32 timeout_seconds,\n+                             SCSISense* sense) const\n+{\n+  if (!IsOpen() || cdb.empty())\n+    return false;\n+\n+  DEBUG_LOG_FMT(COMMON, "Sending SCSI opcode {:02X} to {} ({} data bytes)", cdb[0], m_path,\n+                buffer.size());\n+\n+  SPTDWithSense sptd{};\n+  if (!SendPassThrough(m_handle, cdb, buffer, direction, timeout_seconds, &sptd))\n+  {\n+    ERROR_LOG_FMT(COMMON, "SCSI passthrough for opcode {:02X} failed: {}", cdb[0],\n+                  GetLastErrorString());\n+    return false;\n+  }\n+\n+  SCSISense decoded;\n+  DecodeSense(sptd, &decoded);\n+  if (sense != nullptr)\n+    *sense = decoded;\n+\n+  // Any status other than 0x00 (GOOD) is a device-side failure\n+  if (decoded.status != 0)\n+  {\n+    ERROR_LOG_FMT(COMMON,\n+                  "SCSI opcode {:02X} failed. Status: {:02X}, Sense Key: {:02X}, ASC: {:02X}, "\n+                  "ASCQ: {:02X}",\n+                  cdb[0], decoded.status, decoded.sense_key, decoded.asc, decoded.ascq);\n+    return false;\n+  }\n+  return true;\n+}\n+\n+OpticalDriveStatus SCSIDevice::GetDriveStatus(const std::string& path)\n+{\n+  HANDLE handle = OpenDeviceHandle(path, GENERIC_READ | GENERIC_WRITE);\n+  if (handle == INVALID_HANDLE_VALUE)\n+    handle = OpenDeviceHandle(path, GENERIC_READ);\n+\n+  if (handle == INVALID_HANDLE_VALUE)\n+  {\n+    const DWORD error = GetLastError();\n+    if (error == ERROR_NOT_READY || error == ERROR_MEDIA_CHANGED)\n+      return OpticalDriveStatus::NoDisc;\n+    return OpticalDriveStatus::NotReadyOther;\n+  }\n+\n+  // TEST UNIT READY (opcode 0x00). A spinning-up drive answers it at once with a CHECK CONDITION\n+  // (sense 02/04/01), so a short timeout returns the real state instead of waiting for the drive\n+  constexpr std::array<u8, 6> cdb{};\n+  DEBUG_LOG_FMT(COMMON, "Sending SCSI opcode {:02X} to {} (0 data bytes)", cdb[0], path);\n+  SPTDWithSense sptd{};\n+  const bool sent =\n+      SendPassThrough(handle, cdb, {}, SCSIDataDirection::In, STATUS_PROBE_TIMEOUT_SECONDS, &sptd);', 'path': 'Source/Core/Common/SCSIDevice.cpp', 'position': 220, 'original_position': 220, 'commit_id': 'ab0b808663fe623e8e8a52396273ee5a86cf440c', 'user': {'login': 'mbc07', 'id': 8005966, 'node_id': 'MDQ6VXNlcjgwMDU5NjY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/8005966?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/mbc07', 'html_url': 'https://github.com/mbc07', 'followers_url': 'https://api.github.com/users/mbc07/followers', 'following_url': 'https://api.github.com/users/mbc07/following{/other_user}', 'gists_url': 'https://api.github.com/users/mbc07/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/mbc07/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/mbc07/subscriptions', 'organizations_url': 'https://api.github.com/users/mbc07/orgs', 'repos_url': 'https://api.github.com/users/mbc07/repos', 'events_url': 'https://api.github.com/users/mbc07/events{/privacy}', 'received_events_url': 'https://api.github.com/users/mbc07/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': "Good catch. It's not intentional and was an oversight carried over from the CLI tool I made before working on this PR", 'created_at': '2026-11-04T08:05:53Z', 'updated_at': '2026-11-04T08:05:53Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14974#discussion_r4465128178', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14974', 'author_association': 'MEMBER', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4465128178'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14974#discussion_r4465128178'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14974'}}, 'original_commit_id': 'ab0b808663fe623e8e8a52396273ee5a86cf440c', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4465128178/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'in_reply_to_id': 4452521727, 'is_copilot_code_review': False, 'copilot_code_review_sources': []}], 'type': 'gh_pull_request_review'}

Recent 'gh_push' events

2026-11-04T20:55:27.779227	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'pusher': 'jordan-woyak', 'before_sha': '584366cb6859f5e371b1314bf0d92bb59d4d1b80', 'after_sha': '66df2b4e18ae6169f9718b869da334022914e305', 'commits': [{'author': {'name': 'JosJuice', 'email': 'josjuice@gmail.com', 'date': '2026-11-04T19:36:38+01:00', 'username': 'JosJuice'}, 'distinct': False, 'added': [], 'modified': ['Data/Sys/ApprovedInis.json'], 'removed': ['Data/Sys/GameSettings/SDVE41.ini', 'Data/Sys/GameSettings/SDVP41.ini'], 'message': 'Revert "GameINI: Add patches to limit internal framerate in Driver: San Francisco."\n\nThis reverts commit b7e447e21258f103cbaa1bda1ec6b7a4ce3d4e97. The patch\nbreaks the game according to https://bugs.dolphin-emu.org/issues/14156.', 'url': 'https://github.com/dolphin-emu/dolphin/commit/f4b9fae9f53db163a36b39fde1837421016d6a5f', 'hash': 'f4b9fae9f53db163a36b39fde1837421016d6a5f'}, {'author': {'name': 'Jordan Woyak', 'email': 'jordan.woyak@gmail.com', 'date': '2026-11-04T14:55:25-06:00', 'username': 'jordan-woyak'}, 'distinct': True, 'added': [], 'modified': ['Data/Sys/ApprovedInis.json'], 'removed': ['Data/Sys/GameSettings/SDVE41.ini', 'Data/Sys/GameSettings/SDVP41.ini'], 'message': 'Merge pull request #14983 from JosJuice/driver-sf-speedhack\n\nRevert "GameINI: Add patches to limit internal framerate in Driver: San Francisco."', 'url': 'https://github.com/dolphin-emu/dolphin/commit/66df2b4e18ae6169f9718b869da334022914e305', 'hash': '66df2b4e18ae6169f9718b869da334022914e305'}], 'base_ref_name': None, 'ref_name': 'master', 'ref_type': 'heads', 'created': False, 'deleted': False, 'forced': False, 'type': 'gh_push'}
2026-11-04T18:46:44.742427	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'pusher': 'JosJuice', 'before_sha': '112e1a436ae8c81ccd6d002460094172e72a600f', 'after_sha': '584366cb6859f5e371b1314bf0d92bb59d4d1b80', 'commits': [{'author': {'name': 'JosJuice', 'email': 'josjuice@gmail.com', 'date': '2026-08-03T20:09:37+02:00', 'username': 'JosJuice'}, 'distinct': False, 'added': [], 'modified': ['Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/services/GameFileCacheManager.kt'], 'removed': [], 'message': "Android: Clean up setting rescanInProgress in GameFileCacheManager\n\nWe can avoid the workaround of setting rescanInProgress to true in\nload() if we don't set it to false in rescan()'s early exit.", 'url': 'https://github.com/dolphin-emu/dolphin/commit/2514407451d20d3184a30822e50b893a06b5377d', 'hash': '2514407451d20d3184a30822e50b893a06b5377d'}, {'author': {'name': 'JosJuice', 'email': 'josjuice@gmail.com', 'date': '2026-08-03T18:33:04+02:00', 'username': 'JosJuice'}, 'distinct': False, 'added': [], 'modified': ['Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/services/GameFileCacheManager.kt'], 'removed': [], 'message': 'Android: Use coroutines in GameFileCacheManager\n\nSome modernization to prepare for an upcoming commit.', 'url': 'https://github.com/dolphin-emu/dolphin/commit/9db6daadd89b2c3f01a434366d7295d43d7faf32', 'hash': '9db6daadd89b2c3f01a434366d7295d43d7faf32'}, {'author': {'name': 'JosJuice', 'email': 'josjuice@gmail.com', 'date': '2026-08-03T20:17:54+02:00', 'username': 'JosJuice'}, 'distinct': False, 'added': [], 'modified': ['Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/services/GameFileCacheManager.kt'], 'removed': [], 'message': 'Android: Remove runRescanAfterLoad from GameFileCacheManager\n\nA small additional cleanup made possible by the previous commit.', 'url': 'https://github.com/dolphin-emu/dolphin/commit/c64b02dace5e5e71dae9fbfbd258ffa3562573ef', 'hash': 'c64b02dace5e5e71dae9fbfbd258ffa3562573ef'}, {'author': {'name': 'JosJuice', 'email': 'josjuice@gmail.com', 'date': '2026-08-03T20:02:47+02:00', 'username': 'JosJuice'}, 'distinct': False, 'added': ['Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/model/TitleDatabase.kt', 'Source/Android/jni/GameList/TitleDatabase.cpp', 'Source/Android/jni/GameList/TitleDatabase.h'], 'modified': ['Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/adapters/GameAdapter.kt', 'Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/adapters/GameRowPresenter.kt', 'Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/dialogs/GameDetailsDialog.kt', 'Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/netplay/ui/NetplayScreen.kt', 'Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/model/GameFile.kt', 'Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/services/GameFileCacheManager.kt', 'Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/services/SyncProgramsJobService.kt', 'Source/Android/jni/AndroidCommon/IDCache.cpp', 'Source/Android/jni/AndroidCommon/IDCache.h', 'Source/Android/jni/CMakeLists.txt', 'Source/Android/jni/GameList/GameFile.cpp', 'Source/Core/Core/TitleDatabase.cpp', 'Source/Core/Core/TitleDatabase.h'], 'removed': [], 'message': "Android: Use TitleDatabase for game list\n\nBy using the title database we ship with Dolphin, we get more uniform\ngame titles than if we grab what's in each game's opening.bnr file.\nIt also becomes possible for users to supply a custom titles.txt file.\n\nThis has been implemented in DolphinQt since a long time ago.", 'url': 'https://github.com/dolphin-emu/dolphin/commit/49ebb1cfea589e66134039d4ecca911e0e14af43', 'hash': '49ebb1cfea589e66134039d4ecca911e0e14af43'}, {'author': {'name': 'JosJuice', 'email': 'josjuice@gmail.com', 'date': '2026-11-04T19:46:41+01:00', 'username': 'JosJuice'}, 'distinct': True, 'added': ['Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/model/TitleDatabase.kt', 'Source/Android/jni/GameList/TitleDatabase.cpp', 'Source/Android/jni/GameList/TitleDatabase.h'], 'modified': ['Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/adapters/GameAdapter.kt', 'Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/adapters/GameRowPresenter.kt', 'Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/dialogs/GameDetailsDialog.kt', 'Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/netplay/ui/NetplayScreen.kt', 'Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/model/GameFile.kt', 'Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/services/GameFileCacheManager.kt', 'Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/services/SyncProgramsJobService.kt', 'Source/Android/jni/AndroidCommon/IDCache.cpp', 'Source/Android/jni/AndroidCommon/IDCache.h', 'Source/Android/jni/CMakeLists.txt', 'Source/Android/jni/GameList/GameFile.cpp', 'Source/Core/Core/TitleDatabase.cpp', 'Source/Core/Core/TitleDatabase.h'], 'removed': [], 'message': 'Merge pull request #14794 from JosJuice/android-title-database\n\nAndroid: Use TitleDatabase for game list', 'url': 'https://github.com/dolphin-emu/dolphin/commit/584366cb6859f5e371b1314bf0d92bb59d4d1b80', 'hash': '584366cb6859f5e371b1314bf0d92bb59d4d1b80'}], 'base_ref_name': None, 'ref_name': 'master', 'ref_type': 'heads', 'created': False, 'deleted': False, 'forced': False, 'type': 'gh_push'}
2026-11-04T18:46:17.076254	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'pusher': 'JosJuice', 'before_sha': 'df4bd441dec5d6f3cff606eea76f183963e97a44', 'after_sha': '112e1a436ae8c81ccd6d002460094172e72a600f', 'commits': [{'author': {'name': 'Sepalani', 'email': 'sepalani@hotmail.fr', 'date': '2026-02-19T22:09:33+04:00', 'username': 'sepalani'}, 'distinct': False, 'added': [], 'modified': ['Source/Core/Core/HW/DVD/AMMediaboard.cpp'], 'removed': [], 'message': 'AMMediaboard: Update closesocket error code approriately', 'url': 'https://github.com/dolphin-emu/dolphin/commit/689bf98a343974c3d29b0769def95a4cfadf5828', 'hash': '689bf98a343974c3d29b0769def95a4cfadf5828'}, {'author': {'name': 'JosJuice', 'email': 'josjuice@gmail.com', 'date': '2026-11-04T19:46:13+01:00', 'username': 'JosJuice'}, 'distinct': True, 'added': [], 'modified': ['Source/Core/Core/HW/DVD/AMMediaboard.cpp'], 'removed': [], 'message': 'Merge pull request #14404 from sepalani/tri-close\n\nAMMediaboard: Update closesocket error code approriately', 'url': 'https://github.com/dolphin-emu/dolphin/commit/112e1a436ae8c81ccd6d002460094172e72a600f', 'hash': '112e1a436ae8c81ccd6d002460094172e72a600f'}], 'base_ref_name': None, 'ref_name': 'master', 'ref_type': 'heads', 'created': False, 'deleted': False, 'forced': False, 'type': 'gh_push'}
2026-11-04T06:32:12.705796	{'source': 'ghhookparser', 'repo': 'dolphin-emu/netplay-index', 'pusher': 'dependabot[bot]', 'before_sha': '051ad48713038eba5bd4bbc13a115c2c8492cfb5', 'after_sha': '0000000000000000000000000000000000000000', 'commits': [], 'base_ref_name': None, 'ref_name': 'dependabot/uv/tornado-6.5.9', 'ref_type': 'heads', 'created': False, 'deleted': True, 'forced': False, 'type': 'gh_push'}
2026-11-04T06:31:59.446238	{'source': 'ghhookparser', 'repo': 'dolphin-emu/netplay-index', 'pusher': 'dependabot[bot]', 'before_sha': '0000000000000000000000000000000000000000', 'after_sha': '2348b731e93570120a09671f57d82497700b0661', 'commits': [{'author': {'name': 'dependabot[bot]', 'email': '49699333+dependabot[bot]@users.noreply.github.com', 'date': '2026-11-04T06:31:56Z', 'username': 'dependabot[bot]'}, 'distinct': True, 'added': [], 'modified': ['uv.lock'], 'removed': [], 'message': "build(deps): bump tornado from 6.5.8 to 6.6\n\nBumps [tornado](https://github.com/tornadoweb/tornado) from 6.5.8 to 6.6.\n- [Changelog](https://github.com/tornadoweb/tornado/blob/master/docs/releases.rst)\n- [Commits](https://github.com/tornadoweb/tornado/compare/v6.5.8...v6.6.0)\n\n---\nupdated-dependencies:\n- dependency-name: tornado\n  dependency-version: '6.6'\n  dependency-type: direct:production\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>", 'url': 'https://github.com/dolphin-emu/netplay-index/commit/2348b731e93570120a09671f57d82497700b0661', 'hash': '2348b731e93570120a09671f57d82497700b0661'}], 'base_ref_name': None, 'ref_name': 'dependabot/uv/tornado-6.6', 'ref_type': 'heads', 'created': True, 'deleted': False, 'forced': False, 'type': 'gh_push'}
2026-11-03T04:44:54.249190	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'pusher': 'jordan-woyak', 'before_sha': 'e8c42467964da77011f7da93a06f9e0a72ca868f', 'after_sha': 'df4bd441dec5d6f3cff606eea76f183963e97a44', 'commits': [{'author': {'name': 'Jordan Woyak', 'email': 'jordan.woyak@gmail.com', 'date': '2026-11-01T21:09:00-06:00', 'username': 'jordan-woyak'}, 'distinct': False, 'added': [], 'modified': ['Source/Core/Core/Debugger/BranchWatch.cpp'], 'removed': [], 'message': 'Core/Debugger: Clean up emplace_back calls with use of "parenthesized initialization of aggregates".', 'url': 'https://github.com/dolphin-emu/dolphin/commit/faae54eec7b0b017f5792fb6c9da2fb5143dcecc', 'hash': 'faae54eec7b0b017f5792fb6c9da2fb5143dcecc'}, {'author': {'name': 'Jordan Woyak', 'email': 'jordan.woyak@gmail.com', 'date': '2026-11-01T21:09:38-06:00', 'username': 'jordan-woyak'}, 'distinct': False, 'added': [], 'modified': ['Source/Core/Common/TypeUtils.h'], 'removed': [], 'message': 'Common/TypeUtils: Remove missing `__cpp_aggregate_paren_init` feature workaround.', 'url': 'https://github.com/dolphin-emu/dolphin/commit/d08bddeaabbfba79f76407018ab02bdf68fa2d46', 'hash': 'd08bddeaabbfba79f76407018ab02bdf68fa2d46'}, {'author': {'name': 'Jordan Woyak', 'email': 'jordan.woyak@gmail.com', 'date': '2026-11-02T22:44:51-06:00', 'username': 'jordan-woyak'}, 'distinct': True, 'added': [], 'modified': ['Source/Core/Common/TypeUtils.h', 'Source/Core/Core/Debugger/BranchWatch.cpp'], 'removed': [], 'message': 'Merge pull request #14972 from jordan-woyak/paren-init-aggregate\n\nMinor cleanups with "parenthesized initialization of aggregates".', 'url': 'https://github.com/dolphin-emu/dolphin/commit/df4bd441dec5d6f3cff606eea76f183963e97a44', 'hash': 'df4bd441dec5d6f3cff606eea76f183963e97a44'}], 'base_ref_name': None, 'ref_name': 'master', 'ref_type': 'heads', 'created': False, 'deleted': False, 'forced': False, 'type': 'gh_push'}
2026-11-02T23:28:05.763684	{'source': 'ghhookparser', 'repo': 'dolphin-emu/sadm', 'pusher': 'OatmealDome', 'before_sha': '7dbfc36649ffe79b77c08995556a0e65e3594cf5', 'after_sha': '3465813deb5cf00bc1966c9ea9b79c9deb3b3cf4', 'commits': [{'author': {'name': 'OatmealDome', 'email': 'julian@oatmealdome.me', 'date': '2026-11-02T17:47:31-05:00', 'username': 'OatmealDome'}, 'distinct': True, 'added': [], 'modified': ['roles/buildbot/etc/flatpak_linter_exceptions.json'], 'removed': [], 'message': 'buildbot: Add appstream-flathub-manifest-key-not-allowed to Flatpak linter exceptions', 'url': 'https://github.com/dolphin-emu/sadm/commit/1cb7e842aa351c276c9410756c12fce38cb5ca89', 'hash': '1cb7e842aa351c276c9410756c12fce38cb5ca89'}, {'author': {'name': 'OatmealDome', 'email': 'julian@oatmealdome.me', 'date': '2026-11-02T18:07:57-05:00', 'username': 'OatmealDome'}, 'distinct': True, 'added': [], 'modified': ['roles/buildbot/etc/master.cfg'], 'removed': [], 'message': 'buildbot: Disable 7z compression filters on macOS\nThe version of libarchive accessible in the NixOS buildbot environment is not able to parse a filter used on macOS 7z.', 'url': 'https://github.com/dolphin-emu/sadm/commit/3465813deb5cf00bc1966c9ea9b79c9deb3b3cf4', 'hash': '3465813deb5cf00bc1966c9ea9b79c9deb3b3cf4'}], 'base_ref_name': None, 'ref_name': 'master', 'ref_type': 'heads', 'created': False, 'deleted': False, 'forced': False, 'type': 'gh_push'}
2026-11-02T20:16:24.358672	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'pusher': 'jordan-woyak', 'before_sha': 'a0ed231ff614ec6e03716d72fa8f3a11ce57c6a0', 'after_sha': 'e8c42467964da77011f7da93a06f9e0a72ca868f', 'commits': [{'author': {'name': 'Ma-Rang', 'email': '266874926+Ma-Rang@users.noreply.github.com', 'date': '2026-03-15T17:40:11-05:00', 'username': 'Ma-Rang'}, 'distinct': False, 'added': [], 'modified': ['Source/Core/Core/HW/EXI/EXI_DeviceGecko.cpp', 'Source/Core/Core/HW/EXI/EXI_DeviceGecko.h'], 'removed': [], 'message': 'EXI: Show on-screen error when USB Gecko fails to bind\n\nPreviously, if the USB Gecko server failed to bind to any port in the\n55020-55030 range, it silently returned with no indication to the user.\nNow displays an on-screen message and logs an error.', 'url': 'https://github.com/dolphin-emu/dolphin/commit/18190eb05d46592e12008050805d9c4bbdbb2138', 'hash': '18190eb05d46592e12008050805d9c4bbdbb2138'}, {'author': {'name': 'Jordan Woyak', 'email': 'jordan.woyak@gmail.com', 'date': '2026-11-02T14:16:21-06:00', 'username': 'jordan-woyak'}, 'distinct': True, 'added': [], 'modified': ['Source/Core/Core/HW/EXI/EXI_DeviceGecko.cpp', 'Source/Core/Core/HW/EXI/EXI_DeviceGecko.h'], 'removed': [], 'message': 'Merge pull request #14510 from Ma-Rang/pr/gecko-bind-error\n\nEXI: Show on-screen error when USB Gecko fails to bind', 'url': 'https://github.com/dolphin-emu/dolphin/commit/e8c42467964da77011f7da93a06f9e0a72ca868f', 'hash': 'e8c42467964da77011f7da93a06f9e0a72ca868f'}], 'base_ref_name': None, 'ref_name': 'master', 'ref_type': 'heads', 'created': False, 'deleted': False, 'forced': False, 'type': 'gh_push'}
2026-11-02T19:46:26.202898	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'pusher': 'jordan-woyak', 'before_sha': 'd182533d363eae8c753d37cfad4107930da2019a', 'after_sha': 'a0ed231ff614ec6e03716d72fa8f3a11ce57c6a0', 'commits': [{'author': {'name': 'Joshua Vandaële', 'email': 'joshua@vandaele.software', 'date': '2026-11-02T18:36:38+01:00', 'username': 'JoshuaVandaele'}, 'distinct': False, 'added': [], 'modified': ['Flatpak/org.DolphinEmu.dolphin-emu.metainfo.xml.in'], 'removed': [], 'message': 'Flatpak: Do not set the flathub::manifest tag\n\nThis resolves the recent build failures introduced by https://github.com/flathub-infra/flatpak-builder-lint/commit/df1c8f992aa5620fc473efe6c6e96b9f3b11e1ba. Nothing seems to break with it being removed.', 'url': 'https://github.com/dolphin-emu/dolphin/commit/2833c12b20e5c3d929f8c27a7742ecadb8a669b4', 'hash': '2833c12b20e5c3d929f8c27a7742ecadb8a669b4'}, {'author': {'name': 'Jordan Woyak', 'email': 'jordan.woyak@gmail.com', 'date': '2026-11-02T13:46:23-06:00', 'username': 'jordan-woyak'}, 'distinct': True, 'added': [], 'modified': ['Flatpak/org.DolphinEmu.dolphin-emu.metainfo.xml.in'], 'removed': [], 'message': 'Merge pull request #14975 from JoshuaVandaele/flathub-manifest\n\nFlatpak: Do not set the flathub::manifest tag', 'url': 'https://github.com/dolphin-emu/dolphin/commit/a0ed231ff614ec6e03716d72fa8f3a11ce57c6a0', 'hash': 'a0ed231ff614ec6e03716d72fa8f3a11ce57c6a0'}], 'base_ref_name': None, 'ref_name': 'master', 'ref_type': 'heads', 'created': False, 'deleted': False, 'forced': False, 'type': 'gh_push'}
2026-11-02T03:35:02.890014	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'pusher': 'jordan-woyak', 'before_sha': 'adf85af9fe9785e891fa99141f6d34907a2d9f12', 'after_sha': 'd182533d363eae8c753d37cfad4107930da2019a', 'commits': [{'author': {'name': 'iwubcode', 'email': 'iwubcode@users.noreply.github.com', 'date': '2026-10-04T20:04:35-05:00', 'username': 'iwubcode'}, 'distinct': False, 'added': [], 'modified': ['Source/Core/VideoBackends/D3D/D3DVertexManager.cpp', 'Source/Core/VideoBackends/D3D/D3DVertexManager.h', 'Source/Core/VideoBackends/D3D12/D3D12VertexManager.cpp', 'Source/Core/VideoBackends/D3D12/D3D12VertexManager.h', 'Source/Core/VideoBackends/OGL/OGLVertexManager.cpp', 'Source/Core/VideoBackends/OGL/OGLVertexManager.h', 'Source/Core/VideoBackends/Vulkan/VKVertexManager.cpp', 'Source/Core/VideoBackends/Vulkan/VKVertexManager.h', 'Source/Core/VideoCommon/VertexManagerBase.cpp', 'Source/Core/VideoCommon/VertexManagerBase.h'], 'removed': [], 'message': 'VideoBackends / VideoCommon: split draw calls into separate commit and render steps', 'url': 'https://github.com/dolphin-emu/dolphin/commit/4fb368cf36342d6b354d93b8711ef7f2e1881023', 'hash': '4fb368cf36342d6b354d93b8711ef7f2e1881023'}, {'author': {'name': 'Jordan Woyak', 'email': 'jordan.woyak@gmail.com', 'date': '2026-11-01T21:35:00-06:00', 'username': 'jordan-woyak'}, 'distinct': True, 'added': [], 'modified': ['Source/Core/VideoBackends/D3D/D3DVertexManager.cpp', 'Source/Core/VideoBackends/D3D/D3DVertexManager.h', 'Source/Core/VideoBackends/D3D12/D3D12VertexManager.cpp', 'Source/Core/VideoBackends/D3D12/D3D12VertexManager.h', 'Source/Core/VideoBackends/OGL/OGLVertexManager.cpp', 'Source/Core/VideoBackends/OGL/OGLVertexManager.h', 'Source/Core/VideoBackends/Vulkan/VKVertexManager.cpp', 'Source/Core/VideoBackends/Vulkan/VKVertexManager.h', 'Source/Core/VideoCommon/VertexManagerBase.cpp', 'Source/Core/VideoCommon/VertexManagerBase.h'], 'removed': [], 'message': 'Merge pull request #14916 from iwubcode/vertex_manager_draw_refactor\n\nVideoBackends / VideoCommon: split draw calls into separate commit and render functions', 'url': 'https://github.com/dolphin-emu/dolphin/commit/d182533d363eae8c753d37cfad4107930da2019a', 'hash': 'd182533d363eae8c753d37cfad4107930da2019a'}], 'base_ref_name': None, 'ref_name': 'master', 'ref_type': 'heads', 'created': False, 'deleted': False, 'forced': False, 'type': 'gh_push'}
2026-11-02T03:33:58.610819	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'pusher': 'jordan-woyak', 'before_sha': '833d8c05965ac1e2242799d3c9b0e0fadbcbb7f8', 'after_sha': 'adf85af9fe9785e891fa99141f6d34907a2d9f12', 'commits': [{'author': {'name': 'debug687', 'email': '313431556+debug687@users.noreply.github.com', 'date': '2026-10-19T21:29:55Z', 'username': 'debug687'}, 'distinct': False, 'added': [], 'modified': ['Source/Core/DolphinQt/Config/ToolTipControls/ToolTipWidget.h'], 'removed': [], 'message': "DolphinQt: Fix crash from stale timer event in ToolTipWidget\n\nLLM generated explaination for the LLM generated commit:\n\nA queued QTimerEvent can be dispatched after the timer was already killed (Qt recycles timer ids), e.g. when a slider is dragged and enter/leave events fire in rapid succession. In that case m_timer_id is empty and dereferencing it in timerEvent() asserts on 'this->_M_is_engaged()' in debug builds, while in release builds it passes a garbage timer id to killTimer().\n\nOnly process the event if it matches the timer we are tracking, which also prevents showing a balloon for a stale event.", 'url': 'https://github.com/dolphin-emu/dolphin/commit/cee23f7af6b1624da3e7190e5a18a282d82d567c', 'hash': 'cee23f7af6b1624da3e7190e5a18a282d82d567c'}, {'author': {'name': 'Jordan Woyak', 'email': 'jordan.woyak@gmail.com', 'date': '2026-11-01T21:33:55-06:00', 'username': 'jordan-woyak'}, 'distinct': True, 'added': [], 'modified': ['Source/Core/DolphinQt/Config/ToolTipControls/ToolTipWidget.h'], 'removed': [], 'message': 'Merge pull request #14941 from debug687/patch-1\n\nDolphinQt: Fix crash from stale timer event in ToolTipWidget', 'url': 'https://github.com/dolphin-emu/dolphin/commit/adf85af9fe9785e891fa99141f6d34907a2d9f12', 'hash': 'adf85af9fe9785e891fa99141f6d34907a2d9f12'}], 'base_ref_name': None, 'ref_name': 'master', 'ref_type': 'heads', 'created': False, 'deleted': False, 'forced': False, 'type': 'gh_push'}
2026-11-01T19:59:48.261662	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'pusher': 'JMC47', 'before_sha': 'e6ed14488a84eeaae1856e1d7c0dd457dceb49ce', 'after_sha': '833d8c05965ac1e2242799d3c9b0e0fadbcbb7f8', 'commits': [{'author': {'name': 'Joshua Vandaële', 'email': 'joshua@vandaele.software', 'date': '2026-06-28T08:33:40+02:00', 'username': 'JoshuaVandaele'}, 'distinct': False, 'added': [], 'modified': ['Source/Core/Common/MathUtil.h', 'Source/Core/Common/Matrix.cpp', 'Source/Core/Common/Matrix.h', 'Source/Core/Core/HW/WiimoteEmu/Camera.h', 'Source/Core/Core/HW/WiimoteEmu/Dynamics.cpp', 'Source/Core/Core/HW/WiimoteEmu/MotionPlus.cpp', 'Source/Core/Core/HW/WiimoteEmu/MotionPlus.h', 'Source/Core/Core/HW/WiimoteEmu/WiimoteEmu.cpp', 'Source/Core/DolphinQt/Config/Mapping/MappingIndicator.cpp', 'Source/Core/InputCommon/ControllerEmu/ControlGroup/AnalogStick.cpp', 'Source/Core/InputCommon/ControllerEmu/ControlGroup/Cursor.cpp', 'Source/Core/InputCommon/ControllerEmu/ControlGroup/Force.cpp', 'Source/Core/InputCommon/ControllerEmu/ControlGroup/IMUCursor.cpp', 'Source/Core/InputCommon/ControllerEmu/ControlGroup/IMUGyroscope.cpp', 'Source/Core/InputCommon/ControllerEmu/ControlGroup/Tilt.cpp', 'Source/Core/InputCommon/ControllerEmu/StickGate.cpp', 'Source/Core/InputCommon/ControllerInterface/DualShockUDPClient/DualShockUDPClient.cpp', 'Source/Core/InputCommon/ControllerInterface/MappingCommon.cpp', 'Source/Core/InputCommon/ControllerInterface/SteamDeck/SteamDeck.cpp', 'Source/Core/InputCommon/ControllerInterface/Wiimote/WiimoteController.cpp', 'Source/Core/InputCommon/ControllerInterface/evdev/evdev.cpp', 'Source/Core/VideoBackends/Software/NativeVertexFormat.h', 'Source/UnitTests/Common/MathUtilTest.cpp'], 'removed': [], 'message': "MathUtil: C++20/23 modernisations\n\nI've also created DegreesToRadians/RadiansToDegrees utility functions since there was a lot of repeated code", 'url': 'https://github.com/dolphin-emu/dolphin/commit/6dcb0817a2cd1a507dbf5e3c42bf13623b5b5cae', 'hash': '6dcb0817a2cd1a507dbf5e3c42bf13623b5b5cae'}, {'author': {'name': 'JMC47', 'email': 'JMC4789@gmail.com', 'date': '2026-11-01T14:59:45-05:00', 'username': 'JMC47'}, 'distinct': True, 'added': [], 'modified': ['Source/Core/Common/MathUtil.h', 'Source/Core/Common/Matrix.cpp', 'Source/Core/Common/Matrix.h', 'Source/Core/Core/HW/WiimoteEmu/Camera.h', 'Source/Core/Core/HW/WiimoteEmu/Dynamics.cpp', 'Source/Core/Core/HW/WiimoteEmu/MotionPlus.cpp', 'Source/Core/Core/HW/WiimoteEmu/MotionPlus.h', 'Source/Core/Core/HW/WiimoteEmu/WiimoteEmu.cpp', 'Source/Core/DolphinQt/Config/Mapping/MappingIndicator.cpp', 'Source/Core/InputCommon/ControllerEmu/ControlGroup/AnalogStick.cpp', 'Source/Core/InputCommon/ControllerEmu/ControlGroup/Cursor.cpp', 'Source/Core/InputCommon/ControllerEmu/ControlGroup/Force.cpp', 'Source/Core/InputCommon/ControllerEmu/ControlGroup/IMUCursor.cpp', 'Source/Core/InputCommon/ControllerEmu/ControlGroup/IMUGyroscope.cpp', 'Source/Core/InputCommon/ControllerEmu/ControlGroup/Tilt.cpp', 'Source/Core/InputCommon/ControllerEmu/StickGate.cpp', 'Source/Core/InputCommon/ControllerInterface/DualShockUDPClient/DualShockUDPClient.cpp', 'Source/Core/InputCommon/ControllerInterface/MappingCommon.cpp', 'Source/Core/InputCommon/ControllerInterface/SteamDeck/SteamDeck.cpp', 'Source/Core/InputCommon/ControllerInterface/Wiimote/WiimoteController.cpp', 'Source/Core/InputCommon/ControllerInterface/evdev/evdev.cpp', 'Source/Core/VideoBackends/Software/NativeVertexFormat.h', 'Source/UnitTests/Common/MathUtilTest.cpp'], 'removed': [], 'message': 'Merge pull request #14704 from JoshuaVandaele/mathutils-23\n\nMathUtil: C++20/23 modernisations', 'url': 'https://github.com/dolphin-emu/dolphin/commit/833d8c05965ac1e2242799d3c9b0e0fadbcbb7f8', 'hash': '833d8c05965ac1e2242799d3c9b0e0fadbcbb7f8'}], 'base_ref_name': None, 'ref_name': 'master', 'ref_type': 'heads', 'created': False, 'deleted': False, 'forced': False, 'type': 'gh_push'}
2026-11-01T19:59:20.079691	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'pusher': 'JMC47', 'before_sha': '86d554802d7560acf12b5c5a2b3acb344069b5ce', 'after_sha': 'e6ed14488a84eeaae1856e1d7c0dd457dceb49ce', 'commits': [{'author': {'name': 'Jordan Woyak', 'email': 'jordan.woyak@gmail.com', 'date': '2025-10-11T18:29:51-05:00', 'username': 'jordan-woyak'}, 'distinct': False, 'added': [], 'modified': ['Source/Core/AudioCommon/Mixer.cpp', 'Source/Core/AudioCommon/Mixer.h', 'Source/Core/Core/HW/WiimoteEmu/EmuSubroutines.cpp', 'Source/Core/Core/HW/WiimoteEmu/Speaker.cpp', 'Source/Core/Core/HW/WiimoteEmu/Speaker.h', 'Source/Core/Core/HW/WiimoteEmu/WiimoteEmu.cpp', 'Source/Core/Core/HW/WiimoteEmu/WiimoteEmu.h', 'Source/Core/Core/HW/WiimoteReal/WiimoteReal.cpp', 'Source/Core/Core/HW/WiimoteReal/WiimoteReal.h'], 'removed': [], 'message': 'HW/Wiimote: Speaker logic accuracy fixes, comments, and code cleanups.', 'url': 'https://github.com/dolphin-emu/dolphin/commit/baa05e32f1db379e98bbd48b35b2aaa2e6fa4e94', 'hash': 'baa05e32f1db379e98bbd48b35b2aaa2e6fa4e94'}, {'author': {'name': 'JMC47', 'email': 'JMC4789@gmail.com', 'date': '2026-11-01T14:59:17-05:00', 'username': 'JMC47'}, 'distinct': True, 'added': [], 'modified': ['Source/Core/AudioCommon/Mixer.cpp', 'Source/Core/AudioCommon/Mixer.h', 'Source/Core/Core/HW/WiimoteEmu/EmuSubroutines.cpp', 'Source/Core/Core/HW/WiimoteEmu/Speaker.cpp', 'Source/Core/Core/HW/WiimoteEmu/Speaker.h', 'Source/Core/Core/HW/WiimoteEmu/WiimoteEmu.cpp', 'Source/Core/Core/HW/WiimoteEmu/WiimoteEmu.h', 'Source/Core/Core/HW/WiimoteReal/WiimoteReal.cpp', 'Source/Core/Core/HW/WiimoteReal/WiimoteReal.h'], 'removed': [], 'message': 'Merge pull request #14006 from jordan-woyak/speaker-accuracy\n\nHW/Wiimote: Speaker logic accuracy fixes, comments, and code cleanups.', 'url': 'https://github.com/dolphin-emu/dolphin/commit/e6ed14488a84eeaae1856e1d7c0dd457dceb49ce', 'hash': 'e6ed14488a84eeaae1856e1d7c0dd457dceb49ce'}], 'base_ref_name': None, 'ref_name': 'master', 'ref_type': 'heads', 'created': False, 'deleted': False, 'forced': False, 'type': 'gh_push'}
2026-11-01T05:11:01.565986	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'pusher': 'iwubcode', 'before_sha': '613db73aeb2c086a816592df2fb193d73130101b', 'after_sha': '86d554802d7560acf12b5c5a2b3acb344069b5ce', 'commits': [{'author': {'name': 'CySlaytor', 'email': 'cyslaytor@gmail.com', 'date': '2026-11-01T01:29:01Z', 'username': 'CySlaytor'}, 'distinct': False, 'added': ['Data/Sys/Sounds/info.wav', 'Data/Sys/Sounds/lb.wav', 'Data/Sys/Sounds/lbcancel.wav', 'Data/Sys/Sounds/lbsubmit.wav', 'Data/Sys/Sounds/unlock.wav'], 'modified': ['Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/BooleanSetting.kt', 'Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsFragmentPresenter.kt', 'Source/Android/app/src/main/res/values/strings.xml', 'Source/Core/AudioCommon/Mixer.cpp', 'Source/Core/AudioCommon/Mixer.h', 'Source/Core/AudioCommon/WaveFile.cpp', 'Source/Core/AudioCommon/WaveFile.h', 'Source/Core/Common/CommonPaths.h', 'Source/Core/Common/FileUtil.cpp', 'Source/Core/Common/FileUtil.h', 'Source/Core/Core/AchievementManager.cpp', 'Source/Core/Core/AchievementManager.h', 'Source/Core/Core/Config/AchievementSettings.cpp', 'Source/Core/Core/Config/AchievementSettings.h', 'Source/Core/DolphinQt/Achievements/AchievementSettingsWidget.cpp', 'Source/Core/DolphinQt/Achievements/AchievementSettingsWidget.h'], 'removed': [], 'message': 'feat(retroachievements): implement achievement notification sounds', 'url': 'https://github.com/dolphin-emu/dolphin/commit/56076f403dc8fc3a560e4b6c0811fba3d49ad880', 'hash': '56076f403dc8fc3a560e4b6c0811fba3d49ad880'}, {'author': {'name': 'iwubcode', 'email': 'iwubcode@users.noreply.github.com', 'date': '2026-11-01T00:10:58-05:00', 'username': 'iwubcode'}, 'distinct': True, 'added': ['Data/Sys/Sounds/info.wav', 'Data/Sys/Sounds/lb.wav', 'Data/Sys/Sounds/lbcancel.wav', 'Data/Sys/Sounds/lbsubmit.wav', 'Data/Sys/Sounds/unlock.wav'], 'modified': ['Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/BooleanSetting.kt', 'Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsFragmentPresenter.kt', 'Source/Android/app/src/main/res/values/strings.xml', 'Source/Core/AudioCommon/Mixer.cpp', 'Source/Core/AudioCommon/Mixer.h', 'Source/Core/AudioCommon/WaveFile.cpp', 'Source/Core/AudioCommon/WaveFile.h', 'Source/Core/Common/CommonPaths.h', 'Source/Core/Common/FileUtil.cpp', 'Source/Core/Common/FileUtil.h', 'Source/Core/Core/AchievementManager.cpp', 'Source/Core/Core/AchievementManager.h', 'Source/Core/Core/Config/AchievementSettings.cpp', 'Source/Core/Core/Config/AchievementSettings.h', 'Source/Core/DolphinQt/Achievements/AchievementSettingsWidget.cpp', 'Source/Core/DolphinQt/Achievements/AchievementSettingsWidget.h'], 'removed': [], 'message': 'Merge pull request #14596 from CySlaytor/master\n\nfeat(retroachievements): implement achievement notification sounds', 'url': 'https://github.com/dolphin-emu/dolphin/commit/86d554802d7560acf12b5c5a2b3acb344069b5ce', 'hash': '86d554802d7560acf12b5c5a2b3acb344069b5ce'}], 'base_ref_name': None, 'ref_name': 'master', 'ref_type': 'heads', 'created': False, 'deleted': False, 'forced': False, 'type': 'gh_push'}
2026-11-01T04:58:33.096478	{'source': 'ghhookparser', 'repo': 'dolphin-emu/sadm', 'pusher': 'OatmealDome', 'before_sha': '855912ebde8af3da1c27fd82351104a095734af0', 'after_sha': '7dbfc36649ffe79b77c08995556a0e65e3594cf5', 'commits': [{'author': {'name': 'OatmealDome', 'email': 'julian@oatmealdome.me', 'date': '2026-11-01T00:19:40-04:00', 'username': 'OatmealDome'}, 'distinct': True, 'added': [], 'modified': ['flake.lock'], 'removed': [], 'message': "flake.lock: Update\n\nFlake lock file updates:\n\n• Updated input 'colmena':\n    'github:nix-community/colmena/e269669b798a361a521029d5d15e289124a15038?narHash=sha256-jp%2BgxgnCdMhpBxxBnOoHW5fRVc%2BC5rKCFHsP/afoh3w%3D' (2026-10-09)\n  → 'github:nix-community/colmena/fc7d67ed1cd52af91415f92ba92b543bc7245f25?narHash=sha256-Dv4jEQeqvPpicC3H8mLTyqtTgXp23p4HPiCMKqKWXFA%3D' (2026-10-30)\n• Updated input 'colmena/nixpkgs':\n    'github:nixos/nixpkgs/494ce7fd23ff6a5dff39e1fb11e9b6f2ac74bf25?narHash=sha256-Ni0LBydzaCi8oek12r4mVreuFHqYlM1eTD6SfiENKfw%3D' (2026-10-05)\n  → 'github:nixos/nixpkgs/3ec636362e1816bc2f0888fa0fa2c69f1bc9e504?narHash=sha256-rZLrzrC6i%2BjnTAlvPZHogKDulY7WWDEv9hJeHieO7Zw%3D' (2026-10-23)\n• Updated input 'colmena/stable':\n    'github:nixos/nixpkgs/1f623a1582190fa3ba3f5cea25aba925055d43eb?narHash=sha256-q8KNN9Zs/nau7Cc8%2Bf5ZGJeMXmCQqm5%2Bbgy5m/uYxmw%3D' (2026-10-05)\n  → 'github:nixos/nixpkgs/89844ad35df40e876cb6d0a3a319fbf65ea4b984?narHash=sha256-TMADWku9ye40AQKGMdSoCpByfqaL7kbO%2Bo8E46Q7CLQ%3D' (2026-10-26)\n• Updated input 'nixpkgs':\n    'github:NixOS/nixpkgs/da6dc0e7b26060f2f71ce3ef7088fb56ee44fa36?narHash=sha256-MlvRfa1O5Cqc2/a%2BgG%2Bl9TSuowEoCKCmrJ1d9oAVm0I%3D' (2026-10-21)\n  → 'github:NixOS/nixpkgs/fa1373130d5a21c040a47c5dbe1913d59ed91808?narHash=sha256-HzgjxrLY4AEc0044ZuM5CHbLSWLZgDlay1idmzvvpJs%3D' (2026-10-31)\n• Updated input 'pyproject-build-systems':\n    'github:pyproject-nix/build-system-pkgs/a17819c85163988e063806ffc4f6d2716bc8ead8?narHash=sha256-mGOkvueuMGSRiD75ccxFzfEvSlIU9ztjFluHMKOtogY%3D' (2026-10-20)\n  → 'github:pyproject-nix/build-system-pkgs/6171a3484937e14cdf2316ed9a60f1c27b6cb71e?narHash=sha256-wLiau0yOPONjWSoQNC%2B%2BuirtJqx2D4hGAWSKU0TfKGc%3D' (2026-10-29)\n• Updated input 'pyproject-build-systems/uv2nix':\n    'github:pyproject-nix/uv2nix/7aba73a3d85454f1118f8cf9de97979b4d26bcac?narHash=sha256-PMtgvHuGijoIAtPtrBm7kJOI6fxzX4LYPAIK%2BQVGY%2BY%3D' (2026-10-16)\n  → 'github:pyproject-nix/uv2nix/c361746c7d630d98b972378290547c8d35542a7a?narHash=sha256-3CE1CEwprYlHRlRVkXDkhqec0jjF9Cti7tdk8vVDsCM%3D' (2026-10-29)\n• Updated input 'pyproject-nix':\n    'github:pyproject-nix/pyproject.nix/ddc400a6883b042646d0940e65971bb7f7e96107?narHash=sha256-vcCAvhtA7hG%2B/gOge29hYHy7I/dLkIsr5nLx4sFEQic%3D' (2026-10-10)\n  → 'github:pyproject-nix/pyproject.nix/bf7d4b1d6de61db02fd4e748395634f03006e5de?narHash=sha256-NPWgb6H4arnWyTKvYIys5U0xqd5QY74Z%2BlyTJA%2B7XGY%3D' (2026-10-29)\n• Updated input 'rust-overlay':\n    'github:oxalica/rust-overlay/5f267b7f323a4d6df0b9c0e3eaa043cbe85386f2?narHash=sha256-E8zFJilWlORqzIUJizyhZ/0WKBOizuM6s1nRSgPRomo%3D' (2026-10-22)\n  → 'github:oxalica/rust-overlay/6ecf534a7c16e7c969f26838fdd8c93597ae93f3?narHash=sha256-%2BsgVNI2c67di%2BXIeMaz5KSei4T65kX68s5Nl0E5Gzbc%3D' (2026-10-31)\n• Updated input 'uv2nix':\n    'github:pyproject-nix/uv2nix/0fdaa03ea3c3c16dbb1fe4d69108f07227a4b42d?narHash=sha256-UWo7wDPi00YXOI1Io7g4vGKuCSPJ863kHJVDzsgqtoM%3D' (2026-10-22)\n  → 'github:pyproject-nix/uv2nix/c361746c7d630d98b972378290547c8d35542a7a?narHash=sha256-3CE1CEwprYlHRlRVkXDkhqec0jjF9Cti7tdk8vVDsCM%3D' (2026-10-29)", 'url': 'https://github.com/dolphin-emu/sadm/commit/7dbfc36649ffe79b77c08995556a0e65e3594cf5', 'hash': '7dbfc36649ffe79b77c08995556a0e65e3594cf5'}], 'base_ref_name': None, 'ref_name': 'master', 'ref_type': 'heads', 'created': False, 'deleted': False, 'forced': False, 'type': 'gh_push'}

Recent 'internal_log' events

2026-11-05T15:41:20.406017	{'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/98y8b324p65rdc44nkgfs38ml3cplndp-central-env/lib/python3.13/site-packages/central/github/authz.py', 'lineno': 29, 'msg': 'New GH %s: %s', 'args': "('dolphin-emu/trusted-developers', 'FioraAeterna,meffij,moncefmechri,Buddybenj,Helios747,hackbar,Zopolis4,bentley,lioncash,mandar1jn,magumagu,booto,magcius,riking,linkmauve,Ziek,Parlane,zackhow,tom-pratt,CasualPokePlayer,ligfx,cristian64,TryTwo,skidau,vladfi1,jloehr,EmptyChaos,deReeperJosh,JordanTheToaster,kamiyo,LPFaint99,OatmealDome,rukai,randomstuff,TellowKrinkle,mimimi085181,RisingFog,PatrickFerry,Filoppi,hrydgard,Pokechu22,ColinDTaylor,Tilka,Stevoisiak,nullgemm,hdcmeta,mathieui,rlnilsen,SuperSamus,CrossVR,SirMangler,mitaclaw,shonumi,DacoTaco,Ebola16,CelestialAmber,CookiePLMonster,orbea,mahdihijazi,Tinob,Linktothepast,mbc07,aldelaro5,jordan-woyak,merryhime,aroulin,LAGonauta,unknownbrackets,skylersaleh,phire,delroth,LillyJadeKatrin,yourWaifu,VampireFlower,Sir-Walrus,Techjar,BhaaLseN,CrystalGamma,NanoByte011,Geotale,tygyh,Lobsterzelda,OrN,jezze,Dentomologist,Phatcat,Sintendo,Hydr8gon,comex,jjdelvalle,Simonx22,krnlyng,Linkinworm,Orphis,endrift,neobrain,zopieux,AdmiralCurtiss,noahpistilli,K0bin,RachelBryk,spxtr,glennricster,JosJuice,smurf3tte,sepalani,Starsam80,marcan,adamdmoss,hthh,mrgreywater,cscd98,Sam-Belliveau,iwubcode,archshift,MayImilae,galop1n,nickbeth,dreamsyntax,ShimmerGlass,corwin-mcknight,JoshuaVandaele,Gamer64ytb,leoetlino,JMC47,crediar,degasus,gwicks,malleoz,mmastrac,kayru,spycrab')", 'type': 'internal_log'}
2026-11-05T15:41:18.420538	{'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/98y8b324p65rdc44nkgfs38ml3cplndp-central-env/lib/python3.13/site-packages/central/github/authz.py', 'lineno': 20, 'msg': 'Refreshing list of trusted users (from %s/%s)', 'args': "('dolphin-emu', 'trusted-developers')", 'type': 'internal_log'}
2026-11-05T15:37:24.169196	{'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/98y8b324p65rdc44nkgfs38ml3cplndp-central-env/lib/python3.13/site-packages/central/github/authz.py', 'lineno': 29, 'msg': 'New GH %s: %s', 'args': "('dolphin-emu/core-developers', 'phire,degasus,Dentomologist,Pokechu22,CrossVR,jordan-woyak,AdmiralCurtiss,JosJuice,linkmauve,iwubcode,Tilka,OatmealDome,leoetlino')", 'type': 'internal_log'}
2026-11-05T15:37:23.644027	{'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/98y8b324p65rdc44nkgfs38ml3cplndp-central-env/lib/python3.13/site-packages/central/github/authz.py', 'lineno': 20, 'msg': 'Refreshing list of trusted users (from %s/%s)', 'args': "('dolphin-emu', 'core-developers')", 'type': 'internal_log'}
2026-11-05T15:36:18.420170	{'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/98y8b324p65rdc44nkgfs38ml3cplndp-central-env/lib/python3.13/site-packages/central/github/authz.py', 'lineno': 29, 'msg': 'New GH %s: %s', 'args': "('dolphin-emu/trusted-developers', 'FioraAeterna,meffij,moncefmechri,Buddybenj,Helios747,hackbar,Zopolis4,bentley,lioncash,mandar1jn,magumagu,booto,magcius,riking,linkmauve,Ziek,Parlane,zackhow,tom-pratt,CasualPokePlayer,ligfx,cristian64,TryTwo,skidau,vladfi1,jloehr,EmptyChaos,deReeperJosh,JordanTheToaster,kamiyo,LPFaint99,OatmealDome,rukai,randomstuff,TellowKrinkle,mimimi085181,RisingFog,PatrickFerry,Filoppi,hrydgard,Pokechu22,ColinDTaylor,Tilka,Stevoisiak,nullgemm,hdcmeta,mathieui,rlnilsen,SuperSamus,CrossVR,SirMangler,mitaclaw,shonumi,DacoTaco,Ebola16,CelestialAmber,CookiePLMonster,orbea,mahdihijazi,Tinob,Linktothepast,mbc07,aldelaro5,jordan-woyak,merryhime,aroulin,LAGonauta,unknownbrackets,skylersaleh,phire,delroth,LillyJadeKatrin,yourWaifu,VampireFlower,Sir-Walrus,Techjar,BhaaLseN,CrystalGamma,NanoByte011,Geotale,tygyh,Lobsterzelda,OrN,jezze,Dentomologist,Phatcat,Sintendo,Hydr8gon,comex,jjdelvalle,Simonx22,krnlyng,Linkinworm,Orphis,endrift,neobrain,zopieux,AdmiralCurtiss,noahpistilli,K0bin,RachelBryk,spxtr,glennricster,JosJuice,smurf3tte,sepalani,Starsam80,marcan,adamdmoss,hthh,mrgreywater,cscd98,Sam-Belliveau,iwubcode,archshift,MayImilae,galop1n,nickbeth,dreamsyntax,ShimmerGlass,corwin-mcknight,JoshuaVandaele,Gamer64ytb,leoetlino,JMC47,crediar,degasus,gwicks,malleoz,mmastrac,kayru,spycrab')", 'type': 'internal_log'}
2026-11-05T15:36:16.436911	{'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/98y8b324p65rdc44nkgfs38ml3cplndp-central-env/lib/python3.13/site-packages/central/github/authz.py', 'lineno': 20, 'msg': 'Refreshing list of trusted users (from %s/%s)', 'args': "('dolphin-emu', 'trusted-developers')", 'type': 'internal_log'}
2026-11-05T15:31:16.436489	{'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/98y8b324p65rdc44nkgfs38ml3cplndp-central-env/lib/python3.13/site-packages/central/github/authz.py', 'lineno': 29, 'msg': 'New GH %s: %s', 'args': "('dolphin-emu/trusted-developers', 'FioraAeterna,meffij,moncefmechri,Buddybenj,Helios747,hackbar,Zopolis4,bentley,lioncash,mandar1jn,magumagu,booto,magcius,riking,linkmauve,Ziek,Parlane,zackhow,tom-pratt,CasualPokePlayer,ligfx,cristian64,TryTwo,skidau,vladfi1,jloehr,EmptyChaos,deReeperJosh,JordanTheToaster,kamiyo,LPFaint99,OatmealDome,rukai,randomstuff,TellowKrinkle,mimimi085181,RisingFog,PatrickFerry,Filoppi,hrydgard,Pokechu22,ColinDTaylor,Tilka,Stevoisiak,nullgemm,hdcmeta,mathieui,rlnilsen,SuperSamus,CrossVR,SirMangler,mitaclaw,shonumi,DacoTaco,Ebola16,CelestialAmber,CookiePLMonster,orbea,mahdihijazi,Tinob,Linktothepast,mbc07,aldelaro5,jordan-woyak,merryhime,aroulin,LAGonauta,unknownbrackets,skylersaleh,phire,delroth,LillyJadeKatrin,yourWaifu,VampireFlower,Sir-Walrus,Techjar,BhaaLseN,CrystalGamma,NanoByte011,Geotale,tygyh,Lobsterzelda,OrN,jezze,Dentomologist,Phatcat,Sintendo,Hydr8gon,comex,jjdelvalle,Simonx22,krnlyng,Linkinworm,Orphis,endrift,neobrain,zopieux,AdmiralCurtiss,noahpistilli,K0bin,RachelBryk,spxtr,glennricster,JosJuice,smurf3tte,sepalani,Starsam80,marcan,adamdmoss,hthh,mrgreywater,cscd98,Sam-Belliveau,iwubcode,archshift,MayImilae,galop1n,nickbeth,dreamsyntax,ShimmerGlass,corwin-mcknight,JoshuaVandaele,Gamer64ytb,leoetlino,JMC47,crediar,degasus,gwicks,malleoz,mmastrac,kayru,spycrab')", 'type': 'internal_log'}
2026-11-05T15:31:14.443333	{'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/98y8b324p65rdc44nkgfs38ml3cplndp-central-env/lib/python3.13/site-packages/central/github/authz.py', 'lineno': 20, 'msg': 'Refreshing list of trusted users (from %s/%s)', 'args': "('dolphin-emu', 'trusted-developers')", 'type': 'internal_log'}
2026-11-05T15:27:23.643769	{'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/98y8b324p65rdc44nkgfs38ml3cplndp-central-env/lib/python3.13/site-packages/central/github/authz.py', 'lineno': 29, 'msg': 'New GH %s: %s', 'args': "('dolphin-emu/core-developers', 'phire,degasus,Dentomologist,Pokechu22,CrossVR,jordan-woyak,AdmiralCurtiss,JosJuice,linkmauve,iwubcode,Tilka,OatmealDome,leoetlino')", 'type': 'internal_log'}
2026-11-05T15:27:23.216323	{'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/98y8b324p65rdc44nkgfs38ml3cplndp-central-env/lib/python3.13/site-packages/central/github/authz.py', 'lineno': 20, 'msg': 'Refreshing list of trusted users (from %s/%s)', 'args': "('dolphin-emu', 'core-developers')", 'type': 'internal_log'}
2026-11-05T15:26:14.442497	{'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/98y8b324p65rdc44nkgfs38ml3cplndp-central-env/lib/python3.13/site-packages/central/github/authz.py', 'lineno': 29, 'msg': 'New GH %s: %s', 'args': "('dolphin-emu/trusted-developers', 'FioraAeterna,meffij,moncefmechri,Buddybenj,Helios747,hackbar,Zopolis4,bentley,lioncash,mandar1jn,magumagu,booto,magcius,riking,linkmauve,Ziek,Parlane,zackhow,tom-pratt,CasualPokePlayer,ligfx,cristian64,TryTwo,skidau,vladfi1,jloehr,EmptyChaos,deReeperJosh,JordanTheToaster,kamiyo,LPFaint99,OatmealDome,rukai,randomstuff,TellowKrinkle,mimimi085181,RisingFog,PatrickFerry,Filoppi,hrydgard,Pokechu22,ColinDTaylor,Tilka,Stevoisiak,nullgemm,hdcmeta,mathieui,rlnilsen,SuperSamus,CrossVR,SirMangler,mitaclaw,shonumi,DacoTaco,Ebola16,CelestialAmber,CookiePLMonster,orbea,mahdihijazi,Tinob,Linktothepast,mbc07,aldelaro5,jordan-woyak,merryhime,aroulin,LAGonauta,unknownbrackets,skylersaleh,phire,delroth,LillyJadeKatrin,yourWaifu,VampireFlower,Sir-Walrus,Techjar,BhaaLseN,CrystalGamma,NanoByte011,Geotale,tygyh,Lobsterzelda,OrN,jezze,Dentomologist,Phatcat,Sintendo,Hydr8gon,comex,jjdelvalle,Simonx22,krnlyng,Linkinworm,Orphis,endrift,neobrain,zopieux,AdmiralCurtiss,noahpistilli,K0bin,RachelBryk,spxtr,glennricster,JosJuice,smurf3tte,sepalani,Starsam80,marcan,adamdmoss,hthh,mrgreywater,cscd98,Sam-Belliveau,iwubcode,archshift,MayImilae,galop1n,nickbeth,dreamsyntax,ShimmerGlass,corwin-mcknight,JoshuaVandaele,Gamer64ytb,leoetlino,JMC47,crediar,degasus,gwicks,malleoz,mmastrac,kayru,spycrab')", 'type': 'internal_log'}
2026-11-05T15:26:12.581304	{'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/98y8b324p65rdc44nkgfs38ml3cplndp-central-env/lib/python3.13/site-packages/central/github/authz.py', 'lineno': 20, 'msg': 'Refreshing list of trusted users (from %s/%s)', 'args': "('dolphin-emu', 'trusted-developers')", 'type': 'internal_log'}
2026-11-05T15:21:12.580206	{'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/98y8b324p65rdc44nkgfs38ml3cplndp-central-env/lib/python3.13/site-packages/central/github/authz.py', 'lineno': 29, 'msg': 'New GH %s: %s', 'args': "('dolphin-emu/trusted-developers', 'FioraAeterna,meffij,moncefmechri,Buddybenj,Helios747,hackbar,Zopolis4,bentley,lioncash,mandar1jn,magumagu,booto,magcius,riking,linkmauve,Ziek,Parlane,zackhow,tom-pratt,CasualPokePlayer,ligfx,cristian64,TryTwo,skidau,vladfi1,jloehr,EmptyChaos,deReeperJosh,JordanTheToaster,kamiyo,LPFaint99,OatmealDome,rukai,randomstuff,TellowKrinkle,mimimi085181,RisingFog,PatrickFerry,Filoppi,hrydgard,Pokechu22,ColinDTaylor,Tilka,Stevoisiak,nullgemm,hdcmeta,mathieui,rlnilsen,SuperSamus,CrossVR,SirMangler,mitaclaw,shonumi,DacoTaco,Ebola16,CelestialAmber,CookiePLMonster,orbea,mahdihijazi,Tinob,Linktothepast,mbc07,aldelaro5,jordan-woyak,merryhime,aroulin,LAGonauta,unknownbrackets,skylersaleh,phire,delroth,LillyJadeKatrin,yourWaifu,VampireFlower,Sir-Walrus,Techjar,BhaaLseN,CrystalGamma,NanoByte011,Geotale,tygyh,Lobsterzelda,OrN,jezze,Dentomologist,Phatcat,Sintendo,Hydr8gon,comex,jjdelvalle,Simonx22,krnlyng,Linkinworm,Orphis,endrift,neobrain,zopieux,AdmiralCurtiss,noahpistilli,K0bin,RachelBryk,spxtr,glennricster,JosJuice,smurf3tte,sepalani,Starsam80,marcan,adamdmoss,hthh,mrgreywater,cscd98,Sam-Belliveau,iwubcode,archshift,MayImilae,galop1n,nickbeth,dreamsyntax,ShimmerGlass,corwin-mcknight,JoshuaVandaele,Gamer64ytb,leoetlino,JMC47,crediar,degasus,gwicks,malleoz,mmastrac,kayru,spycrab')", 'type': 'internal_log'}
2026-11-05T15:21:10.720644	{'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/98y8b324p65rdc44nkgfs38ml3cplndp-central-env/lib/python3.13/site-packages/central/github/authz.py', 'lineno': 20, 'msg': 'Refreshing list of trusted users (from %s/%s)', 'args': "('dolphin-emu', 'trusted-developers')", 'type': 'internal_log'}
2026-11-05T15:17:49.800335	{'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/98y8b324p65rdc44nkgfs38ml3cplndp-central-env/lib/python3.13/site-packages/discord/gateway.py', 'lineno': 584, 'msg': 'Shard ID %s has successfully RESUMED session %s.', 'args': "(None, 'e9af44764bf82e9036159345cb2cc7ab')", 'type': 'internal_log'}
2026-11-05T15:17:23.215999	{'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/98y8b324p65rdc44nkgfs38ml3cplndp-central-env/lib/python3.13/site-packages/central/github/authz.py', 'lineno': 29, 'msg': 'New GH %s: %s', 'args': "('dolphin-emu/core-developers', 'phire,degasus,Dentomologist,Pokechu22,CrossVR,jordan-woyak,AdmiralCurtiss,JosJuice,linkmauve,iwubcode,Tilka,OatmealDome,leoetlino')", 'type': 'internal_log'}
2026-11-05T15:17:22.803066	{'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/98y8b324p65rdc44nkgfs38ml3cplndp-central-env/lib/python3.13/site-packages/central/github/authz.py', 'lineno': 20, 'msg': 'Refreshing list of trusted users (from %s/%s)', 'args': "('dolphin-emu', 'core-developers')", 'type': 'internal_log'}
2026-11-05T15:16:10.718161	{'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/98y8b324p65rdc44nkgfs38ml3cplndp-central-env/lib/python3.13/site-packages/central/github/authz.py', 'lineno': 29, 'msg': 'New GH %s: %s', 'args': "('dolphin-emu/trusted-developers', 'FioraAeterna,meffij,moncefmechri,Buddybenj,Helios747,hackbar,Zopolis4,bentley,lioncash,mandar1jn,magumagu,booto,magcius,riking,linkmauve,Ziek,Parlane,zackhow,tom-pratt,CasualPokePlayer,ligfx,cristian64,TryTwo,skidau,vladfi1,jloehr,EmptyChaos,deReeperJosh,JordanTheToaster,kamiyo,LPFaint99,OatmealDome,rukai,randomstuff,TellowKrinkle,mimimi085181,RisingFog,PatrickFerry,Filoppi,hrydgard,Pokechu22,ColinDTaylor,Tilka,Stevoisiak,nullgemm,hdcmeta,mathieui,rlnilsen,SuperSamus,CrossVR,SirMangler,mitaclaw,shonumi,DacoTaco,Ebola16,CelestialAmber,CookiePLMonster,orbea,mahdihijazi,Tinob,Linktothepast,mbc07,aldelaro5,jordan-woyak,merryhime,aroulin,LAGonauta,unknownbrackets,skylersaleh,phire,delroth,LillyJadeKatrin,yourWaifu,VampireFlower,Sir-Walrus,Techjar,BhaaLseN,CrystalGamma,NanoByte011,Geotale,tygyh,Lobsterzelda,OrN,jezze,Dentomologist,Phatcat,Sintendo,Hydr8gon,comex,jjdelvalle,Simonx22,krnlyng,Linkinworm,Orphis,endrift,neobrain,zopieux,AdmiralCurtiss,noahpistilli,K0bin,RachelBryk,spxtr,glennricster,JosJuice,smurf3tte,sepalani,Starsam80,marcan,adamdmoss,hthh,mrgreywater,cscd98,Sam-Belliveau,iwubcode,archshift,MayImilae,galop1n,nickbeth,dreamsyntax,ShimmerGlass,corwin-mcknight,JoshuaVandaele,Gamer64ytb,leoetlino,JMC47,crediar,degasus,gwicks,malleoz,mmastrac,kayru,spycrab')", 'type': 'internal_log'}
2026-11-05T15:16:08.623334	{'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/98y8b324p65rdc44nkgfs38ml3cplndp-central-env/lib/python3.13/site-packages/central/github/authz.py', 'lineno': 20, 'msg': 'Refreshing list of trusted users (from %s/%s)', 'args': "('dolphin-emu', 'trusted-developers')", 'type': 'internal_log'}
2026-11-05T15:11:08.622761	{'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/98y8b324p65rdc44nkgfs38ml3cplndp-central-env/lib/python3.13/site-packages/central/github/authz.py', 'lineno': 29, 'msg': 'New GH %s: %s', 'args': "('dolphin-emu/trusted-developers', 'FioraAeterna,meffij,moncefmechri,Buddybenj,Helios747,hackbar,Zopolis4,bentley,lioncash,mandar1jn,magumagu,booto,magcius,riking,linkmauve,Ziek,Parlane,zackhow,tom-pratt,CasualPokePlayer,ligfx,cristian64,TryTwo,skidau,vladfi1,jloehr,EmptyChaos,deReeperJosh,JordanTheToaster,kamiyo,LPFaint99,OatmealDome,rukai,randomstuff,TellowKrinkle,mimimi085181,RisingFog,PatrickFerry,Filoppi,hrydgard,Pokechu22,ColinDTaylor,Tilka,Stevoisiak,nullgemm,hdcmeta,mathieui,rlnilsen,SuperSamus,CrossVR,SirMangler,mitaclaw,shonumi,DacoTaco,Ebola16,CelestialAmber,CookiePLMonster,orbea,mahdihijazi,Tinob,Linktothepast,mbc07,aldelaro5,jordan-woyak,merryhime,aroulin,LAGonauta,unknownbrackets,skylersaleh,phire,delroth,LillyJadeKatrin,yourWaifu,VampireFlower,Sir-Walrus,Techjar,BhaaLseN,CrystalGamma,NanoByte011,Geotale,tygyh,Lobsterzelda,OrN,jezze,Dentomologist,Phatcat,Sintendo,Hydr8gon,comex,jjdelvalle,Simonx22,krnlyng,Linkinworm,Orphis,endrift,neobrain,zopieux,AdmiralCurtiss,noahpistilli,K0bin,RachelBryk,spxtr,glennricster,JosJuice,smurf3tte,sepalani,Starsam80,marcan,adamdmoss,hthh,mrgreywater,cscd98,Sam-Belliveau,iwubcode,archshift,MayImilae,galop1n,nickbeth,dreamsyntax,ShimmerGlass,corwin-mcknight,JoshuaVandaele,Gamer64ytb,leoetlino,JMC47,crediar,degasus,gwicks,malleoz,mmastrac,kayru,spycrab')", 'type': 'internal_log'}
2026-11-05T15:11:06.732531	{'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/98y8b324p65rdc44nkgfs38ml3cplndp-central-env/lib/python3.13/site-packages/central/github/authz.py', 'lineno': 20, 'msg': 'Refreshing list of trusted users (from %s/%s)', 'args': "('dolphin-emu', 'trusted-developers')", 'type': 'internal_log'}
2026-11-05T15:07:22.802709	{'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/98y8b324p65rdc44nkgfs38ml3cplndp-central-env/lib/python3.13/site-packages/central/github/authz.py', 'lineno': 29, 'msg': 'New GH %s: %s', 'args': "('dolphin-emu/core-developers', 'phire,degasus,Dentomologist,Pokechu22,CrossVR,jordan-woyak,AdmiralCurtiss,JosJuice,linkmauve,iwubcode,Tilka,OatmealDome,leoetlino')", 'type': 'internal_log'}
2026-11-05T15:07:22.387892	{'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/98y8b324p65rdc44nkgfs38ml3cplndp-central-env/lib/python3.13/site-packages/central/github/authz.py', 'lineno': 20, 'msg': 'Refreshing list of trusted users (from %s/%s)', 'args': "('dolphin-emu', 'core-developers')", 'type': 'internal_log'}
2026-11-05T15:06:06.731993	{'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/98y8b324p65rdc44nkgfs38ml3cplndp-central-env/lib/python3.13/site-packages/central/github/authz.py', 'lineno': 29, 'msg': 'New GH %s: %s', 'args': "('dolphin-emu/trusted-developers', 'FioraAeterna,meffij,moncefmechri,Buddybenj,Helios747,hackbar,Zopolis4,bentley,lioncash,mandar1jn,magumagu,booto,magcius,riking,linkmauve,Ziek,Parlane,zackhow,tom-pratt,CasualPokePlayer,ligfx,cristian64,TryTwo,skidau,vladfi1,jloehr,EmptyChaos,deReeperJosh,JordanTheToaster,kamiyo,LPFaint99,OatmealDome,rukai,randomstuff,TellowKrinkle,mimimi085181,RisingFog,PatrickFerry,Filoppi,hrydgard,Pokechu22,ColinDTaylor,Tilka,Stevoisiak,nullgemm,hdcmeta,mathieui,rlnilsen,SuperSamus,CrossVR,SirMangler,mitaclaw,shonumi,DacoTaco,Ebola16,CelestialAmber,CookiePLMonster,orbea,mahdihijazi,Tinob,Linktothepast,mbc07,aldelaro5,jordan-woyak,merryhime,aroulin,LAGonauta,unknownbrackets,skylersaleh,phire,delroth,LillyJadeKatrin,yourWaifu,VampireFlower,Sir-Walrus,Techjar,BhaaLseN,CrystalGamma,NanoByte011,Geotale,tygyh,Lobsterzelda,OrN,jezze,Dentomologist,Phatcat,Sintendo,Hydr8gon,comex,jjdelvalle,Simonx22,krnlyng,Linkinworm,Orphis,endrift,neobrain,zopieux,AdmiralCurtiss,noahpistilli,K0bin,RachelBryk,spxtr,glennricster,JosJuice,smurf3tte,sepalani,Starsam80,marcan,adamdmoss,hthh,mrgreywater,cscd98,Sam-Belliveau,iwubcode,archshift,MayImilae,galop1n,nickbeth,dreamsyntax,ShimmerGlass,corwin-mcknight,JoshuaVandaele,Gamer64ytb,leoetlino,JMC47,crediar,degasus,gwicks,malleoz,mmastrac,kayru,spycrab')", 'type': 'internal_log'}
2026-11-05T15:06:04.777966	{'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/98y8b324p65rdc44nkgfs38ml3cplndp-central-env/lib/python3.13/site-packages/central/github/authz.py', 'lineno': 20, 'msg': 'Refreshing list of trusted users (from %s/%s)', 'args': "('dolphin-emu', 'trusted-developers')", 'type': 'internal_log'}

Recent 'issue' events

2026-11-05T10:27:52.798052	{'source': 'redmine', 'new': False, 'update': 5, 'issue': 14156, 'title': 'Driver: San Francisco patch causes freeze while loading the opening mission', 'author': 'flacs', 'type': 'issue'}
2026-11-05T08:20:13.960247	{'source': 'redmine', 'new': False, 'update': 7, 'issue': 7192, 'title': 'Ocarina of Time Master Quest "Video Previews" freeze up [cpuTiming]', 'author': 'vrixchival', 'type': 'issue'}
2026-11-05T00:59:17.379109	{'source': 'redmine', 'new': False, 'update': 4, 'issue': 13910, 'title': 'Driver: San Francisco - Issues related to uncapped framerate', 'author': 'KostaSaizo7', 'type': 'issue'}
2026-11-04T20:18:39.284836	{'source': 'redmine', 'new': False, 'update': 4, 'issue': 14156, 'title': 'Driver: San Francisco patch causes freeze while loading the opening mission', 'author': 'Billiard26', 'type': 'issue'}
2026-11-03T20:32:48.650741	{'source': 'redmine', 'new': False, 'update': 2, 'issue': 14175, 'title': 'Retroachievements', 'author': 'JosJuice', 'type': 'issue'}
2026-11-03T16:24:33.637252	{'source': 'redmine', 'new': True, 'update': 0, 'issue': 14175, 'title': 'Retroachievements', 'author': 'Cloudgaming7882', 'type': 'issue'}
2026-11-03T13:37:27.061515	{'source': 'redmine', 'new': False, 'update': 3, 'issue': 14172, 'title': "Can't select any interface language other than English on macOS since v2609", 'author': 'OatmealDome', 'type': 'issue'}
2026-11-01T09:16:43.791855	{'source': 'redmine', 'new': False, 'update': 2, 'issue': 14174, 'title': 'Paper mario the thousand year door  ', 'author': 'JosJuice', 'type': 'issue'}

Recent 'new_dev_version' events

2026-11-04T20:55:29.551874	{'source': 'repomanager', 'hash': '66df2b4e18ae6169f9718b869da334022914e305', 'branch': 'master', 'shortrev': '2609-182', 'author': 'Jordan Woyak', 'message': 'Merge pull request #14983 from JosJuice/driver-sf-speedhack\n\nRevert "GameINI: Add patches to limit internal framerate in Driver: San Francisco."', 'url': 'https://github.com/dolphin-emu/dolphin/commit/66df2b4e18ae6169f9718b869da334022914e305', 'type': 'new_dev_version'}
2026-11-04T18:46:46.787973	{'source': 'repomanager', 'hash': '584366cb6859f5e371b1314bf0d92bb59d4d1b80', 'branch': 'master', 'shortrev': '2609-180', 'author': 'JosJuice', 'message': 'Merge pull request #14794 from JosJuice/android-title-database\n\nAndroid: Use TitleDatabase for game list', 'url': 'https://github.com/dolphin-emu/dolphin/commit/584366cb6859f5e371b1314bf0d92bb59d4d1b80', 'type': 'new_dev_version'}
2026-11-04T18:46:19.374120	{'source': 'repomanager', 'hash': '112e1a436ae8c81ccd6d002460094172e72a600f', 'branch': 'master', 'shortrev': '2609-175', 'author': 'JosJuice', 'message': 'Merge pull request #14404 from sepalani/tri-close\n\nAMMediaboard: Update closesocket error code approriately', 'url': 'https://github.com/dolphin-emu/dolphin/commit/112e1a436ae8c81ccd6d002460094172e72a600f', 'type': 'new_dev_version'}
2026-11-03T04:44:55.957645	{'source': 'repomanager', 'hash': 'df4bd441dec5d6f3cff606eea76f183963e97a44', 'branch': 'master', 'shortrev': '2609-173', 'author': 'Jordan Woyak', 'message': 'Merge pull request #14972 from jordan-woyak/paren-init-aggregate\n\nMinor cleanups with "parenthesized initialization of aggregates".', 'url': 'https://github.com/dolphin-emu/dolphin/commit/df4bd441dec5d6f3cff606eea76f183963e97a44', 'type': 'new_dev_version'}
2026-11-02T20:16:26.534624	{'source': 'repomanager', 'hash': 'e8c42467964da77011f7da93a06f9e0a72ca868f', 'branch': 'master', 'shortrev': '2609-170', 'author': 'Jordan Woyak', 'message': 'Merge pull request #14510 from Ma-Rang/pr/gecko-bind-error\n\nEXI: Show on-screen error when USB Gecko fails to bind', 'url': 'https://github.com/dolphin-emu/dolphin/commit/e8c42467964da77011f7da93a06f9e0a72ca868f', 'type': 'new_dev_version'}
2026-11-02T19:46:28.060984	{'source': 'repomanager', 'hash': 'a0ed231ff614ec6e03716d72fa8f3a11ce57c6a0', 'branch': 'master', 'shortrev': '2609-168', 'author': 'Jordan Woyak', 'message': 'Merge pull request #14975 from JoshuaVandaele/flathub-manifest\n\nFlatpak: Do not set the flathub::manifest tag', 'url': 'https://github.com/dolphin-emu/dolphin/commit/a0ed231ff614ec6e03716d72fa8f3a11ce57c6a0', 'type': 'new_dev_version'}
2026-11-02T03:35:04.879103	{'source': 'repomanager', 'hash': 'd182533d363eae8c753d37cfad4107930da2019a', 'branch': 'master', 'shortrev': '2609-166', 'author': 'Jordan Woyak', 'message': 'Merge pull request #14916 from iwubcode/vertex_manager_draw_refactor\n\nVideoBackends / VideoCommon: split draw calls into separate commit and render functions', 'url': 'https://github.com/dolphin-emu/dolphin/commit/d182533d363eae8c753d37cfad4107930da2019a', 'type': 'new_dev_version'}
2026-11-02T03:34:00.690923	{'source': 'repomanager', 'hash': 'adf85af9fe9785e891fa99141f6d34907a2d9f12', 'branch': 'master', 'shortrev': '2609-164', 'author': 'Jordan Woyak', 'message': 'Merge pull request #14941 from debug687/patch-1\n\nDolphinQt: Fix crash from stale timer event in ToolTipWidget', 'url': 'https://github.com/dolphin-emu/dolphin/commit/adf85af9fe9785e891fa99141f6d34907a2d9f12', 'type': 'new_dev_version'}
2026-11-01T19:59:49.726721	{'source': 'repomanager', 'hash': '833d8c05965ac1e2242799d3c9b0e0fadbcbb7f8', 'branch': 'master', 'shortrev': '2609-162', 'author': 'JMC47', 'message': 'Merge pull request #14704 from JoshuaVandaele/mathutils-23\n\nMathUtil: C++20/23 modernisations', 'url': 'https://github.com/dolphin-emu/dolphin/commit/833d8c05965ac1e2242799d3c9b0e0fadbcbb7f8', 'type': 'new_dev_version'}
2026-11-01T19:59:21.576066	{'source': 'repomanager', 'hash': 'e6ed14488a84eeaae1856e1d7c0dd457dceb49ce', 'branch': 'master', 'shortrev': '2609-160', 'author': 'JMC47', 'message': 'Merge pull request #14006 from jordan-woyak/speaker-accuracy\n\nHW/Wiimote: Speaker logic accuracy fixes, comments, and code cleanups.', 'url': 'https://github.com/dolphin-emu/dolphin/commit/e6ed14488a84eeaae1856e1d7c0dd457dceb49ce', 'type': 'new_dev_version'}
2026-11-01T05:11:03.397581	{'source': 'repomanager', 'hash': '86d554802d7560acf12b5c5a2b3acb344069b5ce', 'branch': 'master', 'shortrev': '2609-158', 'author': 'iwubcode', 'message': 'Merge pull request #14596 from CySlaytor/master\n\nfeat(retroachievements): implement achievement notification sounds', 'url': 'https://github.com/dolphin-emu/dolphin/commit/86d554802d7560acf12b5c5a2b3acb344069b5ce', 'type': 'new_dev_version'}

Recent 'notification' events

2026-11-05T15:29:06.746870	{'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] \x0303s\ufeffepalani\x03 commented on #14986 c7845f: \x1f\x0302https://dolp.in/pr14986#discussion_r4482414918\x03\x1f', 'type': 'notification'}
2026-11-05T15:26:13.476112	{'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] build for #14927 \x0304failed\x03 on builders [pr-win-dbg-x64]: \x1f\x0302https://dolphin.ci/#/builders/31/builds/10954\x03\x1f', 'type': 'notification'}
2026-11-05T15:08:42.215992	{'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] build for #14927 \x0304failed\x03 on builders [pr-win-x64]: \x1f\x0302https://dolphin.ci/#/builders/2/builds/10947\x03\x1f', 'type': 'notification'}
2026-11-05T15:07:40.018711	{'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] build for #14927 \x0304failed\x03 on builders [pr-android]: \x1f\x0302https://dolphin.ci/#/builders/22/builds/10953\x03\x1f', 'type': 'notification'}
2026-11-05T15:07:02.127686	{'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] \x0303s\ufeffepalani\x03 approved and commented on pull request #14970 (Use std::move and ostringstream::view to avoid unnecessary copying of strings.): \x1f\x0302https://dolp.in/pr14970#pullrequestreview-5786948346\x03\x1f', 'type': 'notification'}
2026-11-05T15:02:39.550692	{'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] build for #14927 \x0304failed\x03 on builders [pr-deb-dbg-x64]: \x1f\x0302https://dolphin.ci/#/builders/1/builds/10945\x03\x1f', 'type': 'notification'}
2026-11-05T14:48:39.499899	{'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] build for #14927 \x0304failed\x03 on builders [pr-appimage-arm64]: \x1f\x0302https://dolphin.ci/#/builders/50/builds/192\x03\x1f', 'type': 'notification'}
2026-11-05T14:42:16.646699	{'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] build for #14927 \x0304failed\x03 on builders [pr-osx-universal]: \x1f\x0302https://dolphin.ci/#/builders/7/builds/10965\x03\x1f', 'type': 'notification'}
2026-11-05T14:35:40.245765	{'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] \x0303J\ufeffoshuaVandaele\x03 synchronized pull request #14927: Externals: Replace submodules with FetchContent (\x0306master\x03...\x0306nosubmodules\x03): \x1f\x0302https://dolp.in/pr14927\x03\x1f', 'type': 'notification'}
2026-11-05T14:29:50.421993	{'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] build for #14927 \x0304failed\x03 on builders [pr-android]: \x1f\x0302https://dolphin.ci/#/builders/22/builds/10952\x03\x1f', 'type': 'notification'}
2026-11-05T14:28:47.242704	{'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] build for #14927 \x0304failed\x03 on builders [pr-appimage-x64, pr-ubu-x64]: \x1f\x0302https://dolphin.ci/#/builders/27/builds/10946\x03\x1f', 'type': 'notification'}
2026-11-05T14:27:03.412739	{'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] \x0303J\ufeffoshuaVandaele\x03 synchronized pull request #14927: Externals: Replace submodules with FetchContent (\x0306master\x03...\x0306nosubmodules\x03): \x1f\x0302https://dolp.in/pr14927\x03\x1f', 'type': 'notification'}
2026-11-05T14:17:46.851965	{'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] \x0303s\ufeffepalani\x03 reviewed and commented on pull request #14985 (Common/Logging: Minor cleanups and optimizations.): \x1f\x0302https://dolp.in/pr14985#pullrequestreview-5786335634\x03\x1f', 'type': 'notification'}
2026-11-05T14:17:39.625800	{'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] \x0303J\ufeffoshuaVandaele\x03 synchronized pull request #14982: Update cubeb to HEAD, use Rust if available (\x0306master\x03...\x0306cubeb-rs\x03): \x1f\x0302https://dolp.in/pr14982\x03\x1f', 'type': 'notification'}
2026-11-05T12:27:26.841359	{'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] \x0303l\ufeffinkmauve\x03 edited a comment on #14962 (Add Wayland support (Linux only)): \x1f\x0302https://dolp.in/pr14962#issuecomment-6657447106\x03\x1f', 'type': 'notification'}
2026-11-05T12:25:16.515202	{'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] \x0303l\ufeffinkmauve\x03 edited a comment on #14962 (Add Wayland support (Linux only)): \x1f\x0302https://dolp.in/pr14962#issuecomment-6657447106\x03\x1f', 'type': 'notification'}
2026-11-05T12:12:09.430188	{'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] \x0303l\ufeffinkmauve\x03 edited a comment on #14962 (Add Wayland support (Linux only)): \x1f\x0302https://dolp.in/pr14962#issuecomment-6657447106\x03\x1f', 'type': 'notification'}
2026-11-05T12:10:17.516107	{'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] \x0303c\ufeffedricdelpoux\x03 commented on #14874 (WiiUtils: Fix integer underflow in CheckNAND() block/inode stats): \x1f\x0302https://dolp.in/pr14874#issuecomment-6657629063\x03\x1f', 'type': 'notification'}
2026-11-05T12:02:28.225612	{'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] \x0303l\ufeffinkmauve\x03 edited a comment on #14962 (Add Wayland support (Linux only)): \x1f\x0302https://dolp.in/pr14962#issuecomment-6657447106\x03\x1f', 'type': 'notification'}
2026-11-05T12:01:00.436323	{'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] \x0303l\ufeffinkmauve\x03 commented on #14962 (Add Wayland support (Linux only)): \x1f\x0302https://dolp.in/pr14962#issuecomment-6657447106\x03\x1f', 'type': 'notification'}
2026-11-05T11:39:17.110094	{'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] \x0303s\ufeffepalani\x03 reviewed and commented on pull request #14985 (Common/Logging: Minor cleanups and optimizations.): \x1f\x0302https://dolp.in/pr14985#pullrequestreview-5784061240\x03\x1f', 'type': 'notification'}
2026-11-05T11:09:58.288003	{'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] \x0303s\ufeffepalani\x03 approved pull request #14987 (Replace std::chrono::high_resolution_clock usages with a guaranteed monotonic clock.): \x1f\x0302https://dolp.in/pr14987#pullrequestreview-5783924876\x03\x1f', 'type': 'notification'}
2026-11-05T10:52:42.305813	{'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/sadm\x03\x1f] \x0303m\ufeffichaelackerman419-rgb\x03 commented on #198 (linux-buildbot: Generate AppImages): \x1f\x0302https://github.com/dolphin-emu/sadm/pull/198#issuecomment-6656137343\x03\x1f', 'type': 'notification'}
2026-11-05T10:42:01.737138	{'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] build for #14982 \x0304failed\x03 on builders [pr-android]: \x1f\x0302https://dolphin.ci/#/builders/22/builds/10950\x03\x1f', 'type': 'notification'}
2026-11-05T10:32:28.611708	{'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] build for #14982 \x0304failed\x03 on builders [pr-appimage-arm64, pr-appimage-x64, pr-ubu-x64]: \x1f\x0302https://dolphin.ci/#/builders/49/builds/196\x03\x1f', 'type': 'notification'}

Recent 'pull_request_fifoci_status' events

2026-11-05T15:41:25.158659	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '4368a8517451044abb78363829cf067bccf99798', 'service': 'pr-fifoci-ogl-lin-mesa', 'pr': 14927, 'type': 'pull_request_fifoci_status'}
2026-11-05T15:34:40.498258	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '4368a8517451044abb78363829cf067bccf99798', 'service': 'pr-fifoci-mvk-osx-m1', 'pr': 14927, 'type': 'pull_request_fifoci_status'}
2026-11-05T15:23:45.937470	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': 'cd14ca88fc860eb8ea12e9adfe023328744c8593', 'service': 'pr-fifoci-mvk-osx-m1', 'pr': 14982, 'type': 'pull_request_fifoci_status'}
2026-11-05T15:12:40.304136	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '4368a8517451044abb78363829cf067bccf99798', 'service': 'pr-fifoci-mtl-osx-m1', 'pr': 14927, 'type': 'pull_request_fifoci_status'}
2026-11-05T15:12:33.950623	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': 'cd14ca88fc860eb8ea12e9adfe023328744c8593', 'service': 'pr-fifoci-sw-lin-mesa', 'pr': 14982, 'type': 'pull_request_fifoci_status'}
2026-11-05T15:02:02.026769	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': 'cd14ca88fc860eb8ea12e9adfe023328744c8593', 'service': 'pr-fifoci-vk-lin-mesa', 'pr': 14982, 'type': 'pull_request_fifoci_status'}
2026-11-05T14:41:41.601334	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': 'cd14ca88fc860eb8ea12e9adfe023328744c8593', 'service': 'pr-fifoci-mtl-osx-m1', 'pr': 14982, 'type': 'pull_request_fifoci_status'}
2026-11-05T14:37:28.166546	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': 'cd14ca88fc860eb8ea12e9adfe023328744c8593', 'service': 'pr-fifoci-ogl-lin-mesa', 'pr': 14982, 'type': 'pull_request_fifoci_status'}
2026-11-05T11:17:48.019733	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '680640124bd05c56abed6e108a96d61e2c8560a2', 'service': 'pr-fifoci-mvk-osx-m1', 'pr': 14982, 'type': 'pull_request_fifoci_status'}
2026-11-05T11:06:51.856451	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '680640124bd05c56abed6e108a96d61e2c8560a2', 'service': 'pr-fifoci-mtl-osx-m1', 'pr': 14982, 'type': 'pull_request_fifoci_status'}
2026-11-05T10:15:43.501075	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': 'a3294575f6de757b275a889c2744ad7ae7d937bf', 'service': 'pr-fifoci-mtl-osx-m1', 'pr': 14982, 'type': 'pull_request_fifoci_status'}
2026-11-05T08:52:10.878250	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': 'd6bf12bef88453a063f3f45ca8ac4fec7e2da7b3', 'service': 'pr-fifoci-mvk-osx-m1', 'pr': 14984, 'type': 'pull_request_fifoci_status'}
2026-11-05T08:41:07.877912	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '706ad79768d8817f043ff7562bb6a932155e7a9e', 'service': 'pr-fifoci-mvk-osx-m1', 'pr': 14985, 'type': 'pull_request_fifoci_status'}
2026-11-05T08:41:03.901506	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': 'd6bf12bef88453a063f3f45ca8ac4fec7e2da7b3', 'service': 'pr-fifoci-sw-lin-mesa', 'pr': 14984, 'type': 'pull_request_fifoci_status'}
2026-11-05T08:33:18.835170	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': 'd6bf12bef88453a063f3f45ca8ac4fec7e2da7b3', 'service': 'pr-fifoci-vk-lin-mesa', 'pr': 14984, 'type': 'pull_request_fifoci_status'}
2026-11-05T08:30:06.206020	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': 'd6bf12bef88453a063f3f45ca8ac4fec7e2da7b3', 'service': 'pr-fifoci-mtl-osx-m1', 'pr': 14984, 'type': 'pull_request_fifoci_status'}
2026-11-05T08:21:10.851659	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': 'd6bf12bef88453a063f3f45ca8ac4fec7e2da7b3', 'service': 'pr-fifoci-ogl-lin-mesa', 'pr': 14984, 'type': 'pull_request_fifoci_status'}
2026-11-05T08:07:18.377488	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '706ad79768d8817f043ff7562bb6a932155e7a9e', 'service': 'pr-fifoci-sw-lin-mesa', 'pr': 14985, 'type': 'pull_request_fifoci_status'}
2026-11-05T08:06:18.603389	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '706ad79768d8817f043ff7562bb6a932155e7a9e', 'service': 'pr-fifoci-mtl-osx-m1', 'pr': 14985, 'type': 'pull_request_fifoci_status'}
2026-11-05T07:58:50.720787	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '706ad79768d8817f043ff7562bb6a932155e7a9e', 'service': 'pr-fifoci-vk-lin-mesa', 'pr': 14985, 'type': 'pull_request_fifoci_status'}
2026-11-05T07:46:47.815561	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '706ad79768d8817f043ff7562bb6a932155e7a9e', 'service': 'pr-fifoci-ogl-lin-mesa', 'pr': 14985, 'type': 'pull_request_fifoci_status'}
2026-11-05T06:49:02.256823	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '52d5313eb3c3a412b4bda0c1c7a5b0b839add8db', 'service': 'pr-fifoci-sw-lin-mesa', 'pr': 14987, 'type': 'pull_request_fifoci_status'}
2026-11-05T06:38:18.247733	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '52d5313eb3c3a412b4bda0c1c7a5b0b839add8db', 'service': 'pr-fifoci-vk-lin-mesa', 'pr': 14987, 'type': 'pull_request_fifoci_status'}
2026-11-05T06:22:58.182564	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '52d5313eb3c3a412b4bda0c1c7a5b0b839add8db', 'service': 'pr-fifoci-ogl-lin-mesa', 'pr': 14987, 'type': 'pull_request_fifoci_status'}
2026-11-05T06:11:45.276683	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '52d5313eb3c3a412b4bda0c1c7a5b0b839add8db', 'service': 'pr-fifoci-mvk-osx-m1', 'pr': 14987, 'type': 'pull_request_fifoci_status'}

Recent 'raw_bb_hook' events

2026-11-05T15:41:24.454311	{'source': 'webserver', 'raw': {'buildid': 196911, 'number': 5585, 'builderid': 41, 'buildrequestid': 197493, 'workerid': 5, 'masterid': 1, 'started_at': 1793893284, 'complete_at': None, 'locks_duration_s': 0, 'complete': False, 'state_string': 'starting', 'results': None, 'properties': {'baserev': ['66df2b4e18ae6169f9718b869da334022914e305', 'Change'], 'repo': ['dolphin-emu/dolphin', 'Trigger'], 'branchname': ['pr-14927', 'Trigger'], 'pr_id': [14927, 'Trigger'], 'scheduler': ['pr-fifoci-lin', 'Scheduler'], 'workername': ['altair-fifoci', 'Worker'], 'revision': ['4368a8517451044abb78363829cf067bccf99798', 'Build'], 'project': ['', 'Build'], 'owners': [['Central (on behalf of: JoshuaVandaele)'], 'Build'], 'shortrev': ['4368a8', 'Trigger'], 'headrev': ['4368a8517451044abb78363829cf067bccf99798', 'Trigger'], 'buildername': ['pr-fifoci-vk-lin-mesa', 'Builder'], 'buildnumber': [5585, 'Build'], 'repository': ['', 'Build'], 'builderid': [41, 'Builder'], 'branch': ['refs/pull/14927/head', 'Build'], 'codebase': ['', 'Build']}, 'buildrequest': {'buildrequestid': 197493, 'buildsetid': 44211, 'builderid': 41, 'priority': 0, 'claimed': True, 'claimed_at': 1793893284, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1793891123, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 44211, 'external_idstring': None, 'reason': "The Triggerable scheduler named 'pr-fifoci-lin' triggered this build", 'submitted_at': 1793891123, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': 196890, 'parent_relationship': 'Triggered from', 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 13265, 'branch': 'refs/pull/14927/head', 'revision': '4368a8517451044abb78363829cf067bccf99798', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1793889357, 'patch': None}]}, 'parentbuild': {'buildid': 196890, 'number': 10947, 'builderid': 27, 'buildrequestid': 197483, 'workerid': 10, 'masterid': 1, 'started_at': 1793889361, 'complete_at': 1793891123, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {}}, 'parentbuilder': {'builderid': 27, 'name': 'pr-ubu-x64', 'masterids': [1], 'description': None, 'description_format': None, 'description_html': None, 'projectid': None, 'tags': []}, 'builder': {'builderid': 41, 'name': 'pr-fifoci-vk-lin-mesa', 'masterids': [1], 'description': None, 'description_format': None, 'description_html': None, 'projectid': None, 'tags': []}, 'url': 'https://dolphin.ci/#/builders/41/builds/5585'}, 'type': 'raw_bb_hook'}
2026-11-05T15:41:24.428233	{'source': 'webserver', 'raw': {'buildid': 196906, 'number': 9599, 'builderid': 10, 'buildrequestid': 197491, 'workerid': 5, 'masterid': 1, 'started_at': 1793891552, 'complete_at': 1793893284, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {'repository': ['', 'Build'], 'basedir': ['/var/lib/fifoci-worker/worker', 'Worker'], 'warnings-count': [4, 'WarningCountingShellCommand'], 'branchname': ['pr-14927', 'Trigger'], 'baserev': ['66df2b4e18ae6169f9718b869da334022914e305', 'Change'], 'pr_id': [14927, 'Trigger'], 'scheduler': ['pr-fifoci-lin', 'Scheduler'], 'revision': ['4368a8517451044abb78363829cf067bccf99798', 'Build'], 'project': ['', 'Build'], 'got_revision': ['4368a8517451044abb78363829cf067bccf99798', 'GitNoBranch'], 'headrev': ['4368a8517451044abb78363829cf067bccf99798', 'Trigger'], 'shortrev': ['4368a8', 'Trigger'], 'repo': ['dolphin-emu/dolphin', 'Trigger'], 'buildername': ['pr-fifoci-ogl-lin-mesa', 'Builder'], 'builderid': [10, 'Builder'], 'workername': ['altair-fifoci', 'Worker'], 'buildnumber': [9599, 'Build'], 'branch': ['refs/pull/14927/head', 'Build'], 'codebase': ['', 'Build'], 'owners': [['Central (on behalf of: JoshuaVandaele)'], 'Build'], 'builddir': ['/var/lib/fifoci-worker/worker/pr-fifoci-ogl-lin-mesa', 'Worker']}, 'buildrequest': {'buildrequestid': 197491, 'buildsetid': 44211, 'builderid': 10, 'priority': 0, 'claimed': True, 'claimed_at': 1793891552, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1793891123, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 44211, 'external_idstring': None, 'reason': "The Triggerable scheduler named 'pr-fifoci-lin' triggered this build", 'submitted_at': 1793891123, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': 196890, 'parent_relationship': 'Triggered from', 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 13265, 'branch': 'refs/pull/14927/head', 'revision': '4368a8517451044abb78363829cf067bccf99798', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1793889357, 'patch': None}]}, 'parentbuild': {'buildid': 196890, 'number': 10947, 'builderid': 27, 'buildrequestid': 197483, 'workerid': 10, 'masterid': 1, 'started_at': 1793889361, 'complete_at': 1793891123, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {}}, 'parentbuilder': {'builderid': 27, 'name': 'pr-ubu-x64', 'masterids': [1], 'description': None, 'description_format': None, 'description_html': None, 'projectid': None, 'tags': []}, 'builder': {'builderid': 10, 'name': 'pr-fifoci-ogl-lin-mesa', 'masterids': [1], 'description': None, 'description_format': None, 'description_html': None, 'projectid': None, 'tags': []}, 'url': 'https://dolphin.ci/#/builders/10/builds/9599'}, 'type': 'raw_bb_hook'}
2026-11-05T15:35:29.565388	{'source': 'webserver', 'raw': {'buildid': 196910, 'number': 10955, 'builderid': 31, 'buildrequestid': 197484, 'workerid': 4, 'masterid': 1, 'started_at': 1793892342, 'complete_at': 1793892929, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {'baserev': ['66df2b4e18ae6169f9718b869da334022914e305', 'Change'], 'codebase': ['', 'Build'], 'owners': [['Central (on behalf of: JoshuaVandaele)'], 'Build'], 'sln_exists': ['false', 'SetPropertyFromCommand Step'], 'shortrev': ['4368a8', 'Change'], 'repo': ['dolphin-emu/dolphin', 'Change'], 'buildername': ['pr-win-dbg-x64', 'Builder'], 'branchname': ['pr-14927', 'Change'], 'headrev': ['4368a8517451044abb78363829cf067bccf99798', 'Change'], 'repository': ['', 'Build'], 'basedir': ['c:\\buildbot', 'Worker'], 'build_url': ['https://dl.dolphin-emu.org/prs/a6/b6/pr-14927-dolphin-latest-dbg-x64.7z', 'SetProperty'], 'pr_id': [14927, 'Change'], 'scheduler': ['pr', 'Scheduler'], 'builderid': [31, 'Builder'], 'buildnumber': [10955, 'Build'], 'revision': ['4368a8517451044abb78363829cf067bccf99798', 'Build'], 'got_revision': ['4368a8517451044abb78363829cf067bccf99798', 'GitNoBranch'], 'warnings-count': [277, 'WarningCountingShellCommand'], 'workername': ['windows', 'Worker'], 'branch': ['refs/pull/14927/head', 'Build'], 'project': ['', 'Build'], 'builddir': ['c:\\buildbot\\pr-win-dbg-x64', 'Worker']}, 'buildrequest': {'buildrequestid': 197484, 'buildsetid': 44209, 'builderid': 31, 'priority': 0, 'claimed': True, 'claimed_at': 1793892342, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1793889357, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 44209, 'external_idstring': None, 'reason': "The AnyBranchScheduler scheduler named 'pr' triggered this build", 'submitted_at': 1793889357, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': None, 'parent_relationship': None, 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 13265, 'branch': 'refs/pull/14927/head', 'revision': '4368a8517451044abb78363829cf067bccf99798', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1793889357, 'patch': None}]}, 'parentbuild': None, 'parentbuilder': None, 'builder': {'builderid': 31, 'name': 'pr-win-dbg-x64', 'masterids': [1], 'description': None, 'description_format': None, 'description_html': None, 'projectid': None, 'tags': []}, 'url': 'https://dolphin.ci/#/builders/31/builds/10955'}, 'type': 'raw_bb_hook'}
2026-11-05T15:34:39.632072	{'source': 'webserver', 'raw': {'buildid': 196908, 'number': 9286, 'builderid': 19, 'buildrequestid': 197489, 'workerid': 8, 'masterid': 1, 'started_at': 1793892224, 'complete_at': 1793892879, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {'branchname': ['pr-14927', 'Trigger'], 'repo': ['dolphin-emu/dolphin', 'Trigger'], 'repository': ['', 'Build'], 'got_revision': ['ca98b3030bcc70e67158ce899a5589aa2ec65d32', 'GitNoBranch'], 'warnings-count': [114, 'WarningCountingShellCommand'], 'baserev': ['66df2b4e18ae6169f9718b869da334022914e305', 'Change'], 'headrev': ['4368a8517451044abb78363829cf067bccf99798', 'Trigger'], 'pr_id': [14927, 'Trigger'], 'scheduler': ['pr-fifoci-osx', 'Scheduler'], 'builderid': [19, 'Builder'], 'branch': ['refs/pull/14927/head', 'Build'], 'codebase': ['', 'Build'], 'project': ['', 'Build'], 'basedir': ['/Users/ci/worker/base', 'Worker'], 'shortrev': ['4368a8', 'Trigger'], 'buildername': ['pr-fifoci-mvk-osx-m1', 'Builder'], 'buildnumber': [9286, 'Build'], 'builddir': ['/Users/ci/worker/base/pr-fifoci-mvk-osx-m1', 'Worker'], 'workername': ['osx-m1', 'Worker'], 'revision': ['4368a8517451044abb78363829cf067bccf99798', 'Build'], 'owners': [['Central (on behalf of: JoshuaVandaele)'], 'Build']}, 'buildrequest': {'buildrequestid': 197489, 'buildsetid': 44210, 'builderid': 19, 'priority': 0, 'claimed': True, 'claimed_at': 1793892224, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1793890891, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 44210, 'external_idstring': None, 'reason': "The Triggerable scheduler named 'pr-fifoci-osx' triggered this build", 'submitted_at': 1793890891, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': 196894, 'parent_relationship': 'Triggered from', 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 13265, 'branch': 'refs/pull/14927/head', 'revision': '4368a8517451044abb78363829cf067bccf99798', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1793889357, 'patch': None}]}, 'parentbuild': {'buildid': 196894, 'number': 10966, 'builderid': 7, 'buildrequestid': 197477, 'workerid': 8, 'masterid': 1, 'started_at': 1793889705, 'complete_at': 1793890891, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {}}, 'parentbuilder': {'builderid': 7, 'name': 'pr-osx-universal', 'masterids': [1], 'description': None, 'description_format': None, 'description_html': None, 'projectid': None, 'tags': []}, 'builder': {'builderid': 19, 'name': 'pr-fifoci-mvk-osx-m1', 'masterids': [1], 'description': None, 'description_format': None, 'description_html': None, 'projectid': None, 'tags': []}, 'url': 'https://dolphin.ci/#/builders/19/builds/9286'}, 'type': 'raw_bb_hook'}
2026-11-05T15:25:45.677650	{'source': 'webserver', 'raw': {'buildid': 196902, 'number': 10946, 'builderid': 1, 'buildrequestid': 197475, 'workerid': 9, 'masterid': 1, 'started_at': 1793890928, 'complete_at': 1793892345, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {'headrev': ['4368a8517451044abb78363829cf067bccf99798', 'Change'], 'pr_id': [14927, 'Change'], 'revision': ['4368a8517451044abb78363829cf067bccf99798', 'Build'], 'codebase': ['', 'Build'], 'project': ['', 'Build'], 'basedir': ['/buildbot', 'Worker'], 'got_revision': ['4368a8517451044abb78363829cf067bccf99798', 'GitNoBranch'], 'branchname': ['pr-14927', 'Change'], 'scheduler': ['pr', 'Scheduler'], 'builderid': [1, 'Builder'], 'buildnumber': [10946, 'Build'], 'owners': [['Central (on behalf of: JoshuaVandaele)'], 'Build'], 'builddir': ['/buildbot/pr-deb-dbg-x64', 'Worker'], 'baserev': ['66df2b4e18ae6169f9718b869da334022914e305', 'Change'], 'shortrev': ['4368a8', 'Change'], 'repo': ['dolphin-emu/dolphin', 'Change'], 'branch': ['refs/pull/14927/head', 'Build'], 'repository': ['', 'Build'], 'buildername': ['pr-deb-dbg-x64', 'Builder'], 'workername': ['debian', 'Worker'], 'warnings-count': [4, 'WarningCountingShellCommand']}, 'buildrequest': {'buildrequestid': 197475, 'buildsetid': 44209, 'builderid': 1, 'priority': 0, 'claimed': True, 'claimed_at': 1793890928, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1793889357, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 44209, 'external_idstring': None, 'reason': "The AnyBranchScheduler scheduler named 'pr' triggered this build", 'submitted_at': 1793889357, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': None, 'parent_relationship': None, 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 13265, 'branch': 'refs/pull/14927/head', 'revision': '4368a8517451044abb78363829cf067bccf99798', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1793889357, 'patch': None}]}, 'parentbuild': None, 'parentbuilder': None, 'builder': {'builderid': 1, 'name': 'pr-deb-dbg-x64', 'masterids': [1], 'description': None, 'description_format': None, 'description_html': None, 'projectid': None, 'tags': []}, 'url': 'https://dolphin.ci/#/builders/1/builds/10946'}, 'type': 'raw_bb_hook'}
2026-11-05T15:25:42.850179	{'source': 'webserver', 'raw': {'buildid': 196910, 'number': 10955, 'builderid': 31, 'buildrequestid': 197484, 'workerid': 4, 'masterid': 1, 'started_at': 1793892342, 'complete_at': None, 'locks_duration_s': 0, 'complete': False, 'state_string': 'starting', 'results': None, 'properties': {'baserev': ['66df2b4e18ae6169f9718b869da334022914e305', 'Change'], 'codebase': ['', 'Build'], 'owners': [['Central (on behalf of: JoshuaVandaele)'], 'Build'], 'shortrev': ['4368a8', 'Change'], 'repo': ['dolphin-emu/dolphin', 'Change'], 'buildername': ['pr-win-dbg-x64', 'Builder'], 'branchname': ['pr-14927', 'Change'], 'headrev': ['4368a8517451044abb78363829cf067bccf99798', 'Change'], 'repository': ['', 'Build'], 'pr_id': [14927, 'Change'], 'scheduler': ['pr', 'Scheduler'], 'builderid': [31, 'Builder'], 'buildnumber': [10955, 'Build'], 'revision': ['4368a8517451044abb78363829cf067bccf99798', 'Build'], 'workername': ['windows', 'Worker'], 'branch': ['refs/pull/14927/head', 'Build'], 'project': ['', 'Build']}, 'buildrequest': {'buildrequestid': 197484, 'buildsetid': 44209, 'builderid': 31, 'priority': 0, 'claimed': True, 'claimed_at': 1793892342, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1793889357, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 44209, 'external_idstring': None, 'reason': "The AnyBranchScheduler scheduler named 'pr' triggered this build", 'submitted_at': 1793889357, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': None, 'parent_relationship': None, 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 13265, 'branch': 'refs/pull/14927/head', 'revision': '4368a8517451044abb78363829cf067bccf99798', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1793889357, 'patch': None}]}, 'parentbuild': None, 'parentbuilder': None, 'builder': {'builderid': 31, 'name': 'pr-win-dbg-x64', 'masterids': [1], 'description': None, 'description_format': None, 'description_html': None, 'projectid': None, 'tags': []}, 'url': 'https://dolphin.ci/#/builders/31/builds/10955'}, 'type': 'raw_bb_hook'}
2026-11-05T15:25:42.679138	{'source': 'webserver', 'raw': {'buildid': 196909, 'number': 10954, 'builderid': 31, 'buildrequestid': 197468, 'workerid': 4, 'masterid': 1, 'started_at': 1793892339, 'complete_at': 1793892342, 'locks_duration_s': 0, 'complete': True, 'state_string': 'update (failure)', 'results': 2, 'properties': {'pr_id': [14927, 'Change'], 'owners': [['Central (on behalf of: JoshuaVandaele)'], 'Build'], 'builderid': [31, 'Builder'], 'revision': ['da5b636e5470a9c17bde02b29107c67cfe15e256', 'Build'], 'codebase': ['', 'Build'], 'branchname': ['pr-14927', 'Change'], 'headrev': ['da5b636e5470a9c17bde02b29107c67cfe15e256', 'Change'], 'scheduler': ['pr', 'Scheduler'], 'buildnumber': [10954, 'Build'], 'builddir': ['c:\\buildbot\\pr-win-dbg-x64', 'Worker'], 'baserev': ['66df2b4e18ae6169f9718b869da334022914e305', 'Change'], 'shortrev': ['da5b63', 'Change'], 'repo': ['dolphin-emu/dolphin', 'Change'], 'buildername': ['pr-win-dbg-x64', 'Builder'], 'workername': ['windows', 'Worker'], 'branch': ['refs/pull/14927/head', 'Build'], 'repository': ['', 'Build'], 'project': ['', 'Build'], 'basedir': ['c:\\buildbot', 'Worker']}, 'buildrequest': {'buildrequestid': 197468, 'buildsetid': 44207, 'builderid': 31, 'priority': 0, 'claimed': True, 'claimed_at': 1793892339, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1793888839, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 44207, 'external_idstring': None, 'reason': "The AnyBranchScheduler scheduler named 'pr' triggered this build", 'submitted_at': 1793888839, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': None, 'parent_relationship': None, 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 13264, 'branch': 'refs/pull/14927/head', 'revision': 'da5b636e5470a9c17bde02b29107c67cfe15e256', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1793888839, 'patch': None}]}, 'parentbuild': None, 'parentbuilder': None, 'builder': {'builderid': 31, 'name': 'pr-win-dbg-x64', 'masterids': [1], 'description': None, 'description_format': None, 'description_html': None, 'projectid': None, 'tags': []}, 'url': 'https://dolphin.ci/#/builders/31/builds/10954'}, 'type': 'raw_bb_hook'}
2026-11-05T15:25:40.286957	{'source': 'webserver', 'raw': {'buildid': 196909, 'number': 10954, 'builderid': 31, 'buildrequestid': 197468, 'workerid': 4, 'masterid': 1, 'started_at': 1793892339, 'complete_at': None, 'locks_duration_s': 0, 'complete': False, 'state_string': 'starting', 'results': None, 'properties': {'pr_id': [14927, 'Change'], 'owners': [['Central (on behalf of: JoshuaVandaele)'], 'Build'], 'builderid': [31, 'Builder'], 'revision': ['da5b636e5470a9c17bde02b29107c67cfe15e256', 'Build'], 'codebase': ['', 'Build'], 'branchname': ['pr-14927', 'Change'], 'headrev': ['da5b636e5470a9c17bde02b29107c67cfe15e256', 'Change'], 'scheduler': ['pr', 'Scheduler'], 'buildnumber': [10954, 'Build'], 'baserev': ['66df2b4e18ae6169f9718b869da334022914e305', 'Change'], 'shortrev': ['da5b63', 'Change'], 'repo': ['dolphin-emu/dolphin', 'Change'], 'buildername': ['pr-win-dbg-x64', 'Builder'], 'workername': ['windows', 'Worker'], 'branch': ['refs/pull/14927/head', 'Build'], 'repository': ['', 'Build'], 'project': ['', 'Build']}, 'buildrequest': {'buildrequestid': 197468, 'buildsetid': 44207, 'builderid': 31, 'priority': 0, 'claimed': True, 'claimed_at': 1793892339, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1793888839, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 44207, 'external_idstring': None, 'reason': "The AnyBranchScheduler scheduler named 'pr' triggered this build", 'submitted_at': 1793888839, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': None, 'parent_relationship': None, 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 13264, 'branch': 'refs/pull/14927/head', 'revision': 'da5b636e5470a9c17bde02b29107c67cfe15e256', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1793888839, 'patch': None}]}, 'parentbuild': None, 'parentbuilder': None, 'builder': {'builderid': 31, 'name': 'pr-win-dbg-x64', 'masterids': [1], 'description': None, 'description_format': None, 'description_html': None, 'projectid': None, 'tags': []}, 'url': 'https://dolphin.ci/#/builders/31/builds/10954'}, 'type': 'raw_bb_hook'}
2026-11-05T15:25:40.209845	{'source': 'webserver', 'raw': {'buildid': 196905, 'number': 10948, 'builderid': 2, 'buildrequestid': 197476, 'workerid': 4, 'masterid': 1, 'started_at': 1793891290, 'complete_at': 1793892339, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {'baserev': ['66df2b4e18ae6169f9718b869da334022914e305', 'Change'], 'shortrev': ['4368a8', 'Change'], 'scheduler': ['pr', 'Scheduler'], 'buildnumber': [10948, 'Build'], 'repository': ['', 'Build'], 'project': ['', 'Build'], 'got_revision': ['4368a8517451044abb78363829cf067bccf99798', 'GitNoBranch'], 'sln_exists': ['false', 'SetPropertyFromCommand Step'], 'repo': ['dolphin-emu/dolphin', 'Change'], 'builderid': [2, 'Builder'], 'branch': ['refs/pull/14927/head', 'Build'], 'codebase': ['', 'Build'], 'owners': [['Central (on behalf of: JoshuaVandaele)'], 'Build'], 'builddir': ['c:\\buildbot\\pr-win-x64', 'Worker'], 'branchname': ['pr-14927', 'Change'], 'headrev': ['4368a8517451044abb78363829cf067bccf99798', 'Change'], 'pr_id': [14927, 'Change'], 'buildername': ['pr-win-x64', 'Builder'], 'workername': ['windows', 'Worker'], 'revision': ['4368a8517451044abb78363829cf067bccf99798', 'Build'], 'basedir': ['c:\\buildbot', 'Worker'], 'build_url': ['https://dl.dolphin-emu.org/prs/53/3b/pr-14927-dolphin-latest-x64.7z', 'SetProperty'], 'warnings-count': [260, 'WarningCountingShellCommand']}, 'buildrequest': {'buildrequestid': 197476, 'buildsetid': 44209, 'builderid': 2, 'priority': 0, 'claimed': True, 'claimed_at': 1793891290, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1793889357, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 44209, 'external_idstring': None, 'reason': "The AnyBranchScheduler scheduler named 'pr' triggered this build", 'submitted_at': 1793889357, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': None, 'parent_relationship': None, 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 13265, 'branch': 'refs/pull/14927/head', 'revision': '4368a8517451044abb78363829cf067bccf99798', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1793889357, 'patch': None}]}, 'parentbuild': None, 'parentbuilder': None, 'builder': {'builderid': 2, 'name': 'pr-win-x64', 'masterids': [1], 'description': None, 'description_format': None, 'description_html': None, 'projectid': None, 'tags': []}, 'url': 'https://dolphin.ci/#/builders/2/builds/10948'}, 'type': 'raw_bb_hook'}
2026-11-05T15:23:45.551199	{'source': 'webserver', 'raw': {'buildid': 196908, 'number': 9286, 'builderid': 19, 'buildrequestid': 197489, 'workerid': 8, 'masterid': 1, 'started_at': 1793892224, 'complete_at': None, 'locks_duration_s': 0, 'complete': False, 'state_string': 'starting', 'results': None, 'properties': {'branchname': ['pr-14927', 'Trigger'], 'repo': ['dolphin-emu/dolphin', 'Trigger'], 'repository': ['', 'Build'], 'baserev': ['66df2b4e18ae6169f9718b869da334022914e305', 'Change'], 'headrev': ['4368a8517451044abb78363829cf067bccf99798', 'Trigger'], 'pr_id': [14927, 'Trigger'], 'scheduler': ['pr-fifoci-osx', 'Scheduler'], 'builderid': [19, 'Builder'], 'branch': ['refs/pull/14927/head', 'Build'], 'codebase': ['', 'Build'], 'project': ['', 'Build'], 'shortrev': ['4368a8', 'Trigger'], 'buildername': ['pr-fifoci-mvk-osx-m1', 'Builder'], 'buildnumber': [9286, 'Build'], 'workername': ['osx-m1', 'Worker'], 'revision': ['4368a8517451044abb78363829cf067bccf99798', 'Build'], 'owners': [['Central (on behalf of: JoshuaVandaele)'], 'Build']}, 'buildrequest': {'buildrequestid': 197489, 'buildsetid': 44210, 'builderid': 19, 'priority': 0, 'claimed': True, 'claimed_at': 1793892224, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1793890891, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 44210, 'external_idstring': None, 'reason': "The Triggerable scheduler named 'pr-fifoci-osx' triggered this build", 'submitted_at': 1793890891, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': 196894, 'parent_relationship': 'Triggered from', 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 13265, 'branch': 'refs/pull/14927/head', 'revision': '4368a8517451044abb78363829cf067bccf99798', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1793889357, 'patch': None}]}, 'parentbuild': {'buildid': 196894, 'number': 10966, 'builderid': 7, 'buildrequestid': 197477, 'workerid': 8, 'masterid': 1, 'started_at': 1793889705, 'complete_at': 1793890891, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {}}, 'parentbuilder': {'builderid': 7, 'name': 'pr-osx-universal', 'masterids': [1], 'description': None, 'description_format': None, 'description_html': None, 'projectid': None, 'tags': []}, 'builder': {'builderid': 19, 'name': 'pr-fifoci-mvk-osx-m1', 'masterids': [1], 'description': None, 'description_format': None, 'description_html': None, 'projectid': None, 'tags': []}, 'url': 'https://dolphin.ci/#/builders/19/builds/9286'}, 'type': 'raw_bb_hook'}
2026-11-05T15:23:44.924699	{'source': 'webserver', 'raw': {'buildid': 196907, 'number': 9285, 'builderid': 19, 'buildrequestid': 197473, 'workerid': 8, 'masterid': 1, 'started_at': 1793891559, 'complete_at': 1793892224, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {'scheduler': ['pr-fifoci-osx', 'Scheduler'], 'builderid': [19, 'Builder'], 'owners': [['Central (on behalf of: JoshuaVandaele)'], 'Build'], 'builddir': ['/Users/ci/worker/base/pr-fifoci-mvk-osx-m1', 'Worker'], 'warnings-count': [114, 'WarningCountingShellCommand'], 'headrev': ['cd14ca88fc860eb8ea12e9adfe023328744c8593', 'Trigger'], 'pr_id': [14982, 'Trigger'], 'repo': ['dolphin-emu/dolphin', 'Trigger'], 'workername': ['osx-m1', 'Worker'], 'branch': ['refs/pull/14982/head', 'Build'], 'repository': ['', 'Build'], 'codebase': ['', 'Build'], 'project': ['', 'Build'], 'got_revision': ['ca98b3030bcc70e67158ce899a5589aa2ec65d32', 'GitNoBranch'], 'branchname': ['pr-14982', 'Trigger'], 'shortrev': ['cd14ca', 'Trigger'], 'buildnumber': [9285, 'Build'], 'revision': ['cd14ca88fc860eb8ea12e9adfe023328744c8593', 'Build'], 'baserev': ['66df2b4e18ae6169f9718b869da334022914e305', 'Change'], 'buildername': ['pr-fifoci-mvk-osx-m1', 'Builder'], 'basedir': ['/Users/ci/worker/base', 'Worker']}, 'buildrequest': {'buildrequestid': 197473, 'buildsetid': 44208, 'builderid': 19, 'priority': 0, 'claimed': True, 'claimed_at': 1793891558, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1793889045, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 44208, 'external_idstring': None, 'reason': "The Triggerable scheduler named 'pr-fifoci-osx' triggered this build", 'submitted_at': 1793889045, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': 196870, 'parent_relationship': 'Triggered from', 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 13263, 'branch': 'refs/pull/14982/head', 'revision': 'cd14ca88fc860eb8ea12e9adfe023328744c8593', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1793888274, 'patch': None}]}, 'parentbuild': {'buildid': 196870, 'number': 10964, 'builderid': 7, 'buildrequestid': 197444, 'workerid': 8, 'masterid': 1, 'started_at': 1793888275, 'complete_at': 1793889045, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {}}, 'parentbuilder': {'builderid': 7, 'name': 'pr-osx-universal', 'masterids': [1], 'description': None, 'description_format': None, 'description_html': None, 'projectid': None, 'tags': []}, 'builder': {'builderid': 19, 'name': 'pr-fifoci-mvk-osx-m1', 'masterids': [1], 'description': None, 'description_format': None, 'description_html': None, 'projectid': None, 'tags': []}, 'url': 'https://dolphin.ci/#/builders/19/builds/9285'}, 'type': 'raw_bb_hook'}
2026-11-05T15:14:05.871932	{'source': 'webserver', 'raw': {'buildid': 196896, 'number': 193, 'builderid': 50, 'buildrequestid': 197488, 'workerid': 16, 'masterid': 1, 'started_at': 1793890088, 'complete_at': 1793891645, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {'shortrev': ['4368a8', 'Change'], 'repo': ['dolphin-emu/dolphin', 'Change'], 'buildnumber': [193, 'Build'], 'got_revision': ['4368a8517451044abb78363829cf067bccf99798', 'GitNoBranch'], 'warnings-count': [22, 'WarningCountingShellCommand'], 'baserev': ['66df2b4e18ae6169f9718b869da334022914e305', 'Change'], 'pr_id': [14927, 'Change'], 'scheduler': ['pr', 'Scheduler'], 'builderid': [50, 'Builder'], 'repository': ['', 'Build'], 'project': ['', 'Build'], 'owners': [['Central (on behalf of: JoshuaVandaele)'], 'Build'], 'branchname': ['pr-14927', 'Change'], 'headrev': ['4368a8517451044abb78363829cf067bccf99798', 'Change'], 'branch': ['refs/pull/14927/head', 'Build'], 'builddir': ['/buildbot/pr-appimage-arm64', 'Worker'], 'buildername': ['pr-appimage-arm64', 'Builder'], 'workername': ['deneb-appimage', 'Worker'], 'codebase': ['', 'Build'], 'basedir': ['/buildbot', 'Worker'], 'revision': ['4368a8517451044abb78363829cf067bccf99798', 'Build']}, 'buildrequest': {'buildrequestid': 197488, 'buildsetid': 44209, 'builderid': 50, 'priority': 0, 'claimed': True, 'claimed_at': 1793890088, 'claimed_by_masterid': 1, 'complete': True, 'results': 0, 'submitted_at': 1793889357, 'complete_at': 1793891645, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 44209, 'external_idstring': None, 'reason': "The AnyBranchScheduler scheduler named 'pr' triggered this build", 'submitted_at': 1793889357, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': None, 'parent_relationship': None, 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 13265, 'branch': 'refs/pull/14927/head', 'revision': '4368a8517451044abb78363829cf067bccf99798', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1793889357, 'patch': None}]}, 'parentbuild': None, 'parentbuilder': None, 'builder': {'builderid': 50, 'name': 'pr-appimage-arm64', 'masterids': [1], 'description': None, 'description_format': None, 'description_html': None, 'projectid': None, 'tags': []}, 'url': 'https://dolphin.ci/#/builders/50/builds/193'}, 'type': 'raw_bb_hook'}
2026-11-05T15:12:39.429355	{'source': 'webserver', 'raw': {'buildid': 196899, 'number': 9288, 'builderid': 21, 'buildrequestid': 197490, 'workerid': 8, 'masterid': 1, 'started_at': 1793890891, 'complete_at': 1793891558, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {'pr_id': [14927, 'Trigger'], 'scheduler': ['pr-fifoci-osx', 'Scheduler'], 'repository': ['', 'Build'], 'project': ['', 'Build'], 'got_revision': ['ca98b3030bcc70e67158ce899a5589aa2ec65d32', 'GitNoBranch'], 'baserev': ['66df2b4e18ae6169f9718b869da334022914e305', 'Change'], 'repo': ['dolphin-emu/dolphin', 'Trigger'], 'builderid': [21, 'Builder'], 'buildnumber': [9288, 'Build'], 'revision': ['4368a8517451044abb78363829cf067bccf99798', 'Build'], 'codebase': ['', 'Build'], 'owners': [['Central (on behalf of: JoshuaVandaele)'], 'Build'], 'headrev': ['4368a8517451044abb78363829cf067bccf99798', 'Trigger'], 'builddir': ['/Users/ci/worker/base/pr-fifoci-mtl-osx-m1', 'Worker'], 'warnings-count': [114, 'WarningCountingShellCommand'], 'shortrev': ['4368a8', 'Trigger'], 'workername': ['osx-m1', 'Worker'], 'branchname': ['pr-14927', 'Trigger'], 'buildername': ['pr-fifoci-mtl-osx-m1', 'Builder'], 'branch': ['refs/pull/14927/head', 'Build'], 'basedir': ['/Users/ci/worker/base', 'Worker']}, 'buildrequest': {'buildrequestid': 197490, 'buildsetid': 44210, 'builderid': 21, 'priority': 0, 'claimed': True, 'claimed_at': 1793890891, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1793890891, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 44210, 'external_idstring': None, 'reason': "The Triggerable scheduler named 'pr-fifoci-osx' triggered this build", 'submitted_at': 1793890891, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': 196894, 'parent_relationship': 'Triggered from', 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 13265, 'branch': 'refs/pull/14927/head', 'revision': '4368a8517451044abb78363829cf067bccf99798', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1793889357, 'patch': None}]}, 'parentbuild': {'buildid': 196894, 'number': 10966, 'builderid': 7, 'buildrequestid': 197477, 'workerid': 8, 'masterid': 1, 'started_at': 1793889705, 'complete_at': 1793890891, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {}}, 'parentbuilder': {'builderid': 7, 'name': 'pr-osx-universal', 'masterids': [1], 'description': None, 'description_format': None, 'description_html': None, 'projectid': None, 'tags': []}, 'builder': {'builderid': 21, 'name': 'pr-fifoci-mtl-osx-m1', 'masterids': [1], 'description': None, 'description_format': None, 'description_html': None, 'projectid': None, 'tags': []}, 'url': 'https://dolphin.ci/#/builders/21/builds/9288'}, 'type': 'raw_bb_hook'}
2026-11-05T15:12:39.283595	{'source': 'webserver', 'raw': {'buildid': 196907, 'number': 9285, 'builderid': 19, 'buildrequestid': 197473, 'workerid': 8, 'masterid': 1, 'started_at': 1793891559, 'complete_at': None, 'locks_duration_s': 0, 'complete': False, 'state_string': 'starting', 'results': None, 'properties': {'scheduler': ['pr-fifoci-osx', 'Scheduler'], 'builderid': [19, 'Builder'], 'owners': [['Central (on behalf of: JoshuaVandaele)'], 'Build'], 'headrev': ['cd14ca88fc860eb8ea12e9adfe023328744c8593', 'Trigger'], 'pr_id': [14982, 'Trigger'], 'repo': ['dolphin-emu/dolphin', 'Trigger'], 'workername': ['osx-m1', 'Worker'], 'branch': ['refs/pull/14982/head', 'Build'], 'repository': ['', 'Build'], 'codebase': ['', 'Build'], 'project': ['', 'Build'], 'branchname': ['pr-14982', 'Trigger'], 'shortrev': ['cd14ca', 'Trigger'], 'buildnumber': [9285, 'Build'], 'revision': ['cd14ca88fc860eb8ea12e9adfe023328744c8593', 'Build'], 'baserev': ['66df2b4e18ae6169f9718b869da334022914e305', 'Change'], 'buildername': ['pr-fifoci-mvk-osx-m1', 'Builder']}, 'buildrequest': {'buildrequestid': 197473, 'buildsetid': 44208, 'builderid': 19, 'priority': 0, 'claimed': True, 'claimed_at': 1793891558, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1793889045, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 44208, 'external_idstring': None, 'reason': "The Triggerable scheduler named 'pr-fifoci-osx' triggered this build", 'submitted_at': 1793889045, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': 196870, 'parent_relationship': 'Triggered from', 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 13263, 'branch': 'refs/pull/14982/head', 'revision': 'cd14ca88fc860eb8ea12e9adfe023328744c8593', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1793888274, 'patch': None}]}, 'parentbuild': {'buildid': 196870, 'number': 10964, 'builderid': 7, 'buildrequestid': 197444, 'workerid': 8, 'masterid': 1, 'started_at': 1793888275, 'complete_at': 1793889045, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {}}, 'parentbuilder': {'builderid': 7, 'name': 'pr-osx-universal', 'masterids': [1], 'description': None, 'description_format': None, 'description_html': None, 'projectid': None, 'tags': []}, 'builder': {'builderid': 19, 'name': 'pr-fifoci-mvk-osx-m1', 'masterids': [1], 'description': None, 'description_format': None, 'description_html': None, 'projectid': None, 'tags': []}, 'url': 'https://dolphin.ci/#/builders/19/builds/9285'}, 'type': 'raw_bb_hook'}
2026-11-05T15:12:33.528569	{'source': 'webserver', 'raw': {'buildid': 196906, 'number': 9599, 'builderid': 10, 'buildrequestid': 197491, 'workerid': 5, 'masterid': 1, 'started_at': 1793891552, 'complete_at': None, 'locks_duration_s': 0, 'complete': False, 'state_string': 'starting', 'results': None, 'properties': {'repository': ['', 'Build'], 'branchname': ['pr-14927', 'Trigger'], 'baserev': ['66df2b4e18ae6169f9718b869da334022914e305', 'Change'], 'pr_id': [14927, 'Trigger'], 'scheduler': ['pr-fifoci-lin', 'Scheduler'], 'revision': ['4368a8517451044abb78363829cf067bccf99798', 'Build'], 'project': ['', 'Build'], 'headrev': ['4368a8517451044abb78363829cf067bccf99798', 'Trigger'], 'shortrev': ['4368a8', 'Trigger'], 'repo': ['dolphin-emu/dolphin', 'Trigger'], 'buildername': ['pr-fifoci-ogl-lin-mesa', 'Builder'], 'builderid': [10, 'Builder'], 'workername': ['altair-fifoci', 'Worker'], 'buildnumber': [9599, 'Build'], 'branch': ['refs/pull/14927/head', 'Build'], 'codebase': ['', 'Build'], 'owners': [['Central (on behalf of: JoshuaVandaele)'], 'Build']}, 'buildrequest': {'buildrequestid': 197491, 'buildsetid': 44211, 'builderid': 10, 'priority': 0, 'claimed': True, 'claimed_at': 1793891552, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1793891123, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 44211, 'external_idstring': None, 'reason': "The Triggerable scheduler named 'pr-fifoci-lin' triggered this build", 'submitted_at': 1793891123, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': 196890, 'parent_relationship': 'Triggered from', 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 13265, 'branch': 'refs/pull/14927/head', 'revision': '4368a8517451044abb78363829cf067bccf99798', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1793889357, 'patch': None}]}, 'parentbuild': {'buildid': 196890, 'number': 10947, 'builderid': 27, 'buildrequestid': 197483, 'workerid': 10, 'masterid': 1, 'started_at': 1793889361, 'complete_at': 1793891123, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {}}, 'parentbuilder': {'builderid': 27, 'name': 'pr-ubu-x64', 'masterids': [1], 'description': None, 'description_format': None, 'description_html': None, 'projectid': None, 'tags': []}, 'builder': {'builderid': 10, 'name': 'pr-fifoci-ogl-lin-mesa', 'masterids': [1], 'description': None, 'description_format': None, 'description_html': None, 'projectid': None, 'tags': []}, 'url': 'https://dolphin.ci/#/builders/10/builds/9599'}, 'type': 'raw_bb_hook'}
2026-11-05T15:12:33.158462	{'source': 'webserver', 'raw': {'buildid': 196900, 'number': 9597, 'builderid': 35, 'buildrequestid': 197457, 'workerid': 5, 'masterid': 1, 'started_at': 1793890921, 'complete_at': 1793891552, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {'shortrev': ['cd14ca', 'Trigger'], 'repo': ['dolphin-emu/dolphin', 'Trigger'], 'buildnumber': [9597, 'Build'], 'baserev': ['66df2b4e18ae6169f9718b869da334022914e305', 'Change'], 'scheduler': ['pr-fifoci-lin', 'Scheduler'], 'branch': ['refs/pull/14982/head', 'Build'], 'builddir': ['/var/lib/fifoci-worker/worker/pr-fifoci-sw-lin-mesa', 'Worker'], 'headrev': ['cd14ca88fc860eb8ea12e9adfe023328744c8593', 'Trigger'], 'buildername': ['pr-fifoci-sw-lin-mesa', 'Builder'], 'repository': ['', 'Build'], 'basedir': ['/var/lib/fifoci-worker/worker', 'Worker'], 'warnings-count': [0, 'WarningCountingShellCommand'], 'workername': ['altair-fifoci', 'Worker'], 'codebase': ['', 'Build'], 'owners': [['Central (on behalf of: JoshuaVandaele)'], 'Build'], 'branchname': ['pr-14982', 'Trigger'], 'pr_id': [14982, 'Trigger'], 'builderid': [35, 'Builder'], 'revision': ['cd14ca88fc860eb8ea12e9adfe023328744c8593', 'Build'], 'project': ['', 'Build'], 'got_revision': ['cd14ca88fc860eb8ea12e9adfe023328744c8593', 'GitNoBranch']}, 'buildrequest': {'buildrequestid': 197457, 'buildsetid': 44205, 'builderid': 35, 'priority': 0, 'claimed': True, 'claimed_at': 1793890921, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1793888337, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 44205, 'external_idstring': None, 'reason': "The Triggerable scheduler named 'pr-fifoci-lin' triggered this build", 'submitted_at': 1793888337, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': 196871, 'parent_relationship': 'Triggered from', 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 13263, 'branch': 'refs/pull/14982/head', 'revision': 'cd14ca88fc860eb8ea12e9adfe023328744c8593', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1793888274, 'patch': None}]}, 'parentbuild': {'buildid': 196871, 'number': 10945, 'builderid': 27, 'buildrequestid': 197450, 'workerid': 10, 'masterid': 1, 'started_at': 1793888278, 'complete_at': 1793888337, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {}}, 'parentbuilder': {'builderid': 27, 'name': 'pr-ubu-x64', 'masterids': [1], 'description': None, 'description_format': None, 'description_html': None, 'projectid': None, 'tags': []}, 'builder': {'builderid': 35, 'name': 'pr-fifoci-sw-lin-mesa', 'masterids': [1], 'description': None, 'description_format': None, 'description_html': None, 'projectid': None, 'tags': []}, 'url': 'https://dolphin.ci/#/builders/35/builds/9597'}, 'type': 'raw_bb_hook'}
2026-11-05T15:08:11.328498	{'source': 'webserver', 'raw': {'buildid': 196905, 'number': 10948, 'builderid': 2, 'buildrequestid': 197476, 'workerid': 4, 'masterid': 1, 'started_at': 1793891290, 'complete_at': None, 'locks_duration_s': 0, 'complete': False, 'state_string': 'starting', 'results': None, 'properties': {'baserev': ['66df2b4e18ae6169f9718b869da334022914e305', 'Change'], 'shortrev': ['4368a8', 'Change'], 'scheduler': ['pr', 'Scheduler'], 'buildnumber': [10948, 'Build'], 'repository': ['', 'Build'], 'project': ['', 'Build'], 'repo': ['dolphin-emu/dolphin', 'Change'], 'builderid': [2, 'Builder'], 'branch': ['refs/pull/14927/head', 'Build'], 'codebase': ['', 'Build'], 'owners': [['Central (on behalf of: JoshuaVandaele)'], 'Build'], 'branchname': ['pr-14927', 'Change'], 'headrev': ['4368a8517451044abb78363829cf067bccf99798', 'Change'], 'pr_id': [14927, 'Change'], 'buildername': ['pr-win-x64', 'Builder'], 'workername': ['windows', 'Worker'], 'revision': ['4368a8517451044abb78363829cf067bccf99798', 'Build']}, 'buildrequest': {'buildrequestid': 197476, 'buildsetid': 44209, 'builderid': 2, 'priority': 0, 'claimed': True, 'claimed_at': 1793891290, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1793889357, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 44209, 'external_idstring': None, 'reason': "The AnyBranchScheduler scheduler named 'pr' triggered this build", 'submitted_at': 1793889357, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': None, 'parent_relationship': None, 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 13265, 'branch': 'refs/pull/14927/head', 'revision': '4368a8517451044abb78363829cf067bccf99798', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1793889357, 'patch': None}]}, 'parentbuild': None, 'parentbuilder': None, 'builder': {'builderid': 2, 'name': 'pr-win-x64', 'masterids': [1], 'description': None, 'description_format': None, 'description_html': None, 'projectid': None, 'tags': []}, 'url': 'https://dolphin.ci/#/builders/2/builds/10948'}, 'type': 'raw_bb_hook'}
2026-11-05T15:08:11.216254	{'source': 'webserver', 'raw': {'buildid': 196904, 'number': 10947, 'builderid': 2, 'buildrequestid': 197460, 'workerid': 4, 'masterid': 1, 'started_at': 1793891289, 'complete_at': 1793891290, 'locks_duration_s': 0, 'complete': True, 'state_string': 'failed update (failure)', 'results': 2, 'properties': {'pr_id': [14927, 'Change'], 'baserev': ['66df2b4e18ae6169f9718b869da334022914e305', 'Change'], 'scheduler': ['pr', 'Scheduler'], 'branch': ['refs/pull/14927/head', 'Build'], 'owners': [['Central (on behalf of: JoshuaVandaele)'], 'Build'], 'branchname': ['pr-14927', 'Change'], 'repo': ['dolphin-emu/dolphin', 'Change'], 'workername': ['windows', 'Worker'], 'buildnumber': [10947, 'Build'], 'codebase': ['', 'Build'], 'project': ['', 'Build'], 'builddir': ['c:\\buildbot\\pr-win-x64', 'Worker'], 'headrev': ['da5b636e5470a9c17bde02b29107c67cfe15e256', 'Change'], 'buildername': ['pr-win-x64', 'Builder'], 'revision': ['da5b636e5470a9c17bde02b29107c67cfe15e256', 'Build'], 'shortrev': ['da5b63', 'Change'], 'builderid': [2, 'Builder'], 'repository': ['', 'Build'], 'basedir': ['c:\\buildbot', 'Worker']}, 'buildrequest': {'buildrequestid': 197460, 'buildsetid': 44207, 'builderid': 2, 'priority': 0, 'claimed': True, 'claimed_at': 1793891289, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1793888839, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 44207, 'external_idstring': None, 'reason': "The AnyBranchScheduler scheduler named 'pr' triggered this build", 'submitted_at': 1793888839, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': None, 'parent_relationship': None, 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 13264, 'branch': 'refs/pull/14927/head', 'revision': 'da5b636e5470a9c17bde02b29107c67cfe15e256', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1793888839, 'patch': None}]}, 'parentbuild': None, 'parentbuilder': None, 'builder': {'builderid': 2, 'name': 'pr-win-x64', 'masterids': [1], 'description': None, 'description_format': None, 'description_html': None, 'projectid': None, 'tags': []}, 'url': 'https://dolphin.ci/#/builders/2/builds/10947'}, 'type': 'raw_bb_hook'}
2026-11-05T15:08:09.551100	{'source': 'webserver', 'raw': {'buildid': 196904, 'number': 10947, 'builderid': 2, 'buildrequestid': 197460, 'workerid': 4, 'masterid': 1, 'started_at': 1793891289, 'complete_at': None, 'locks_duration_s': 0, 'complete': False, 'state_string': 'starting', 'results': None, 'properties': {'pr_id': [14927, 'Change'], 'baserev': ['66df2b4e18ae6169f9718b869da334022914e305', 'Change'], 'scheduler': ['pr', 'Scheduler'], 'branch': ['refs/pull/14927/head', 'Build'], 'owners': [['Central (on behalf of: JoshuaVandaele)'], 'Build'], 'branchname': ['pr-14927', 'Change'], 'repo': ['dolphin-emu/dolphin', 'Change'], 'workername': ['windows', 'Worker'], 'buildnumber': [10947, 'Build'], 'codebase': ['', 'Build'], 'project': ['', 'Build'], 'headrev': ['da5b636e5470a9c17bde02b29107c67cfe15e256', 'Change'], 'buildername': ['pr-win-x64', 'Builder'], 'revision': ['da5b636e5470a9c17bde02b29107c67cfe15e256', 'Build'], 'shortrev': ['da5b63', 'Change'], 'builderid': [2, 'Builder'], 'repository': ['', 'Build']}, 'buildrequest': {'buildrequestid': 197460, 'buildsetid': 44207, 'builderid': 2, 'priority': 0, 'claimed': True, 'claimed_at': 1793891289, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1793888839, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 44207, 'external_idstring': None, 'reason': "The AnyBranchScheduler scheduler named 'pr' triggered this build", 'submitted_at': 1793888839, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': None, 'parent_relationship': None, 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 13264, 'branch': 'refs/pull/14927/head', 'revision': 'da5b636e5470a9c17bde02b29107c67cfe15e256', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1793888839, 'patch': None}]}, 'parentbuild': None, 'parentbuilder': None, 'builder': {'builderid': 2, 'name': 'pr-win-x64', 'masterids': [1], 'description': None, 'description_format': None, 'description_html': None, 'projectid': None, 'tags': []}, 'url': 'https://dolphin.ci/#/builders/2/builds/10947'}, 'type': 'raw_bb_hook'}
2026-11-05T15:08:09.225255	{'source': 'webserver', 'raw': {'buildid': 196903, 'number': 10947, 'builderid': 13, 'buildrequestid': 197480, 'workerid': 4, 'masterid': 1, 'started_at': 1793890976, 'complete_at': 1793891289, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {'baserev': ['66df2b4e18ae6169f9718b869da334022914e305', 'Change'], 'headrev': ['4368a8517451044abb78363829cf067bccf99798', 'Change'], 'shortrev': ['4368a8', 'Change'], 'pr_id': [14927, 'Change'], 'repo': ['dolphin-emu/dolphin', 'Change'], 'branch': ['refs/pull/14927/head', 'Build'], 'got_revision': ['4368a8517451044abb78363829cf067bccf99798', 'GitNoBranch'], 'branchname': ['pr-14927', 'Change'], 'buildnumber': [10947, 'Build'], 'builddir': ['c:\\buildbot\\pr-win-arm64', 'Worker'], 'sln_exists': ['false', 'SetPropertyFromCommand Step'], 'warnings-count': [7, 'WarningCountingShellCommand'], 'scheduler': ['pr', 'Scheduler'], 'builderid': [13, 'Builder'], 'repository': ['', 'Build'], 'project': ['', 'Build'], 'build_url': ['https://dl.dolphin-emu.org/prs/0c/d3/pr-14927-dolphin-latest-arm64.7z', 'SetProperty'], 'buildername': ['pr-win-arm64', 'Builder'], 'workername': ['windows', 'Worker'], 'revision': ['4368a8517451044abb78363829cf067bccf99798', 'Build'], 'codebase': ['', 'Build'], 'owners': [['Central (on behalf of: JoshuaVandaele)'], 'Build'], 'basedir': ['c:\\buildbot', 'Worker']}, 'buildrequest': {'buildrequestid': 197480, 'buildsetid': 44209, 'builderid': 13, 'priority': 0, 'claimed': True, 'claimed_at': 1793890976, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1793889357, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 44209, 'external_idstring': None, 'reason': "The AnyBranchScheduler scheduler named 'pr' triggered this build", 'submitted_at': 1793889357, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': None, 'parent_relationship': None, 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 13265, 'branch': 'refs/pull/14927/head', 'revision': '4368a8517451044abb78363829cf067bccf99798', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1793889357, 'patch': None}]}, 'parentbuild': None, 'parentbuilder': None, 'builder': {'builderid': 13, 'name': 'pr-win-arm64', 'masterids': [1], 'description': None, 'description_format': None, 'description_html': None, 'projectid': None, 'tags': []}, 'url': 'https://dolphin.ci/#/builders/13/builds/10947'}, 'type': 'raw_bb_hook'}
2026-11-05T15:07:09.110289	{'source': 'webserver', 'raw': {'buildid': 196889, 'number': 10953, 'builderid': 22, 'buildrequestid': 197481, 'workerid': 12, 'masterid': 1, 'started_at': 1793889357, 'complete_at': 1793891208, 'locks_duration_s': 0, 'complete': True, 'state_string': 'Gradle (failure)', 'results': 2, 'properties': {'scheduler': ['pr', 'Scheduler'], 'buildername': ['pr-android', 'Builder'], 'builderid': [22, 'Builder'], 'revision': ['4368a8517451044abb78363829cf067bccf99798', 'Build'], 'codebase': ['', 'Build'], 'builddir': ['/buildbot/pr-android', 'Worker'], 'buildnumber': [10953, 'Build'], 'workername': ['android', 'Worker'], 'branch': ['refs/pull/14927/head', 'Build'], 'repository': ['', 'Build'], 'project': ['', 'Build'], 'basedir': ['/buildbot', 'Worker'], 'branchname': ['pr-14927', 'Change'], 'baserev': ['66df2b4e18ae6169f9718b869da334022914e305', 'Change'], 'headrev': ['4368a8517451044abb78363829cf067bccf99798', 'Change'], 'shortrev': ['4368a8', 'Change'], 'pr_id': [14927, 'Change'], 'repo': ['dolphin-emu/dolphin', 'Change'], 'owners': [['Central (on behalf of: JoshuaVandaele)'], 'Build'], 'got_revision': ['4368a8517451044abb78363829cf067bccf99798', 'GitNoBranch']}, 'buildrequest': {'buildrequestid': 197481, 'buildsetid': 44209, 'builderid': 22, 'priority': 0, 'claimed': True, 'claimed_at': 1793889357, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1793889357, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 44209, 'external_idstring': None, 'reason': "The AnyBranchScheduler scheduler named 'pr' triggered this build", 'submitted_at': 1793889357, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': None, 'parent_relationship': None, 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 13265, 'branch': 'refs/pull/14927/head', 'revision': '4368a8517451044abb78363829cf067bccf99798', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1793889357, 'patch': None}]}, 'parentbuild': None, 'parentbuilder': None, 'builder': {'builderid': 22, 'name': 'pr-android', 'masterids': [1], 'description': None, 'description_format': None, 'description_html': None, 'projectid': None, 'tags': []}, 'url': 'https://dolphin.ci/#/builders/22/builds/10953'}, 'type': 'raw_bb_hook'}
2026-11-05T15:06:34.909186	{'source': 'webserver', 'raw': {'buildid': 196898, 'number': 6035, 'builderid': 44, 'buildrequestid': 197486, 'workerid': 14, 'masterid': 1, 'started_at': 1793890675, 'complete_at': 1793891194, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {'repo': ['dolphin-emu/dolphin', 'Change'], 'workername': ['deneb-flatpak', 'Worker'], 'repository': ['', 'Build'], 'basedir': ['/var/lib/flatpak-worker/worker', 'Worker'], 'fm_build_url': ['https://flat-manager.dolphin-emu.org/api/v1/build/13456', 'SetPropertyFromCommand Step'], 'baserev': ['66df2b4e18ae6169f9718b869da334022914e305', 'Change'], 'pr_id': [14927, 'Change'], 'builderid': [44, 'Builder'], 'revision': ['4368a8517451044abb78363829cf067bccf99798', 'Build'], 'got_revision': ['4368a8517451044abb78363829cf067bccf99798', 'GitNoBranch'], 'shortrev': ['4368a8', 'Change'], 'buildnumber': [6035, 'Build'], 'codebase': ['', 'Build'], 'branchname': ['pr-14927', 'Change'], 'scheduler': ['pr', 'Scheduler'], 'owners': [['Central (on behalf of: JoshuaVandaele)'], 'Build'], 'builddir': ['/var/lib/flatpak-worker/worker/pr-flatpak-arm64', 'Worker'], 'headrev': ['4368a8517451044abb78363829cf067bccf99798', 'Change'], 'buildername': ['pr-flatpak-arm64', 'Builder'], 'branch': ['refs/pull/14927/head', 'Build'], 'project': ['', 'Build']}, 'buildrequest': {'buildrequestid': 197486, 'buildsetid': 44209, 'builderid': 44, 'priority': 0, 'claimed': True, 'claimed_at': 1793890675, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1793889357, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 44209, 'external_idstring': None, 'reason': "The AnyBranchScheduler scheduler named 'pr' triggered this build", 'submitted_at': 1793889357, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': None, 'parent_relationship': None, 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 13265, 'branch': 'refs/pull/14927/head', 'revision': '4368a8517451044abb78363829cf067bccf99798', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1793889357, 'patch': None}]}, 'parentbuild': None, 'parentbuilder': None, 'builder': {'builderid': 44, 'name': 'pr-flatpak-arm64', 'masterids': [1], 'description': None, 'description_format': None, 'description_html': None, 'projectid': None, 'tags': []}, 'url': 'https://dolphin.ci/#/builders/44/builds/6035'}, 'type': 'raw_bb_hook'}
2026-11-05T15:06:18.103427	{'source': 'webserver', 'raw': {'buildid': 196888, 'number': 199, 'builderid': 49, 'buildrequestid': 197487, 'workerid': 15, 'masterid': 1, 'started_at': 1793889357, 'complete_at': 1793891177, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {'shortrev': ['4368a8', 'Change'], 'builderid': [49, 'Builder'], 'buildnumber': [199, 'Build'], 'branch': ['refs/pull/14927/head', 'Build'], 'codebase': ['', 'Build'], 'project': ['', 'Build'], 'pr_id': [14927, 'Change'], 'owners': [['Central (on behalf of: JoshuaVandaele)'], 'Build'], 'repo': ['dolphin-emu/dolphin', 'Change'], 'scheduler': ['pr', 'Scheduler'], 'buildername': ['pr-appimage-x64', 'Builder'], 'workername': ['altair-appimage', 'Worker'], 'basedir': ['/buildbot', 'Worker'], 'got_revision': ['4368a8517451044abb78363829cf067bccf99798', 'GitNoBranch'], 'branchname': ['pr-14927', 'Change'], 'baserev': ['66df2b4e18ae6169f9718b869da334022914e305', 'Change'], 'headrev': ['4368a8517451044abb78363829cf067bccf99798', 'Change'], 'revision': ['4368a8517451044abb78363829cf067bccf99798', 'Build'], 'repository': ['', 'Build'], 'builddir': ['/buildbot/pr-appimage-x64', 'Worker'], 'warnings-count': [18, 'WarningCountingShellCommand']}, 'buildrequest': {'buildrequestid': 197487, 'buildsetid': 44209, 'builderid': 49, 'priority': 0, 'claimed': True, 'claimed_at': 1793889357, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1793889357, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 44209, 'external_idstring': None, 'reason': "The AnyBranchScheduler scheduler named 'pr' triggered this build", 'submitted_at': 1793889357, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': None, 'parent_relationship': None, 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 13265, 'branch': 'refs/pull/14927/head', 'revision': '4368a8517451044abb78363829cf067bccf99798', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1793889357, 'patch': None}]}, 'parentbuild': None, 'parentbuilder': None, 'builder': {'builderid': 49, 'name': 'pr-appimage-x64', 'masterids': [1], 'description': None, 'description_format': None, 'description_html': None, 'projectid': None, 'tags': []}, 'url': 'https://dolphin.ci/#/builders/49/builds/199'}, 'type': 'raw_bb_hook'}
2026-11-05T15:05:24.135534	{'source': 'webserver', 'raw': {'buildid': 196890, 'number': 10947, 'builderid': 27, 'buildrequestid': 197483, 'workerid': 10, 'masterid': 1, 'started_at': 1793889361, 'complete_at': 1793891123, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {'headrev': ['4368a8517451044abb78363829cf067bccf99798', 'Change'], 'pr_id': [14927, 'Change'], 'scheduler': ['pr', 'Scheduler'], 'builderid': [27, 'Builder'], 'buildnumber': [10947, 'Build'], 'branchname': ['pr-14927', 'Change'], 'repo': ['dolphin-emu/dolphin', 'Change'], 'buildername': ['pr-ubu-x64', 'Builder'], 'revision': ['4368a8517451044abb78363829cf067bccf99798', 'Build'], 'codebase': ['', 'Build'], 'builddir': ['/buildbot/pr-ubu-x64', 'Worker'], 'owners': [['Central (on behalf of: JoshuaVandaele)'], 'Build'], 'basedir': ['/buildbot', 'Worker'], 'got_revision': ['4368a8517451044abb78363829cf067bccf99798', 'GitNoBranch'], 'baserev': ['66df2b4e18ae6169f9718b869da334022914e305', 'Change'], 'shortrev': ['4368a8', 'Change'], 'workername': ['ubuntu-lts', 'Worker'], 'branch': ['refs/pull/14927/head', 'Build'], 'repository': ['', 'Build'], 'project': ['', 'Build'], 'warnings-count': [8, 'WarningCountingShellCommand']}, 'buildrequest': {'buildrequestid': 197483, 'buildsetid': 44209, 'builderid': 27, 'priority': 0, 'claimed': True, 'claimed_at': 1793889361, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1793889357, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 44209, 'external_idstring': None, 'reason': "The AnyBranchScheduler scheduler named 'pr' triggered this build", 'submitted_at': 1793889357, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': None, 'parent_relationship': None, 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 13265, 'branch': 'refs/pull/14927/head', 'revision': '4368a8517451044abb78363829cf067bccf99798', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1793889357, 'patch': None}]}, 'parentbuild': None, 'parentbuilder': None, 'builder': {'builderid': 27, 'name': 'pr-ubu-x64', 'masterids': [1], 'description': None, 'description_format': None, 'description_html': None, 'projectid': None, 'tags': []}, 'url': 'https://dolphin.ci/#/builders/27/builds/10947'}, 'type': 'raw_bb_hook'}
2026-11-05T15:02:56.789735	{'source': 'webserver', 'raw': {'buildid': 196881, 'number': 10946, 'builderid': 13, 'buildrequestid': 197464, 'workerid': 4, 'masterid': 1, 'started_at': 1793888839, 'complete_at': 1793890976, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {'headrev': ['da5b636e5470a9c17bde02b29107c67cfe15e256', 'Change'], 'shortrev': ['da5b63', 'Change'], 'branchname': ['pr-14927', 'Change'], 'pr_id': [14927, 'Change'], 'scheduler': ['pr', 'Scheduler'], 'branch': ['refs/pull/14927/head', 'Build'], 'revision': ['da5b636e5470a9c17bde02b29107c67cfe15e256', 'Build'], 'repository': ['', 'Build'], 'baserev': ['66df2b4e18ae6169f9718b869da334022914e305', 'Change'], 'repo': ['dolphin-emu/dolphin', 'Change'], 'buildername': ['pr-win-arm64', 'Builder'], 'builderid': [13, 'Builder'], 'buildnumber': [10946, 'Build'], 'codebase': ['', 'Build'], 'workername': ['windows', 'Worker'], 'owners': [['Central (on behalf of: JoshuaVandaele)'], 'Build'], 'project': ['', 'Build'], 'builddir': ['c:\\buildbot\\pr-win-arm64', 'Worker'], 'build_url': ['https://dl.dolphin-emu.org/prs/0c/d3/pr-14927-dolphin-latest-arm64.7z', 'SetProperty'], 'basedir': ['c:\\buildbot', 'Worker'], 'got_revision': ['da5b636e5470a9c17bde02b29107c67cfe15e256', 'GitNoBranch'], 'sln_exists': ['false', 'SetPropertyFromCommand Step'], 'warnings-count': [20, 'WarningCountingShellCommand']}, 'buildrequest': {'buildrequestid': 197464, 'buildsetid': 44207, 'builderid': 13, 'priority': 0, 'claimed': True, 'claimed_at': 1793888839, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1793888839, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 44207, 'external_idstring': None, 'reason': "The AnyBranchScheduler scheduler named 'pr' triggered this build", 'submitted_at': 1793888839, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': None, 'parent_relationship': None, 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 13264, 'branch': 'refs/pull/14927/head', 'revision': 'da5b636e5470a9c17bde02b29107c67cfe15e256', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1793888839, 'patch': None}]}, 'parentbuild': None, 'parentbuilder': None, 'builder': {'builderid': 13, 'name': 'pr-win-arm64', 'masterids': [1], 'description': None, 'description_format': None, 'description_html': None, 'projectid': None, 'tags': []}, 'url': 'https://dolphin.ci/#/builders/13/builds/10946'}, 'type': 'raw_bb_hook'}

Recent 'raw_gh_hook' events

2026-11-05T15:29:06.746612	{'source': 'webserver', 'gh_type': 'pull_request_review_comment', 'raw': {'action': 'created', 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4482414918', 'pull_request_review_id': 5787483620, 'id': 4482414918, 'node_id': 'PRRC_kwDOALCn2M8AAAABCyw5Rg', 'diff_hunk': '@@ -50,19 +52,28 @@ class CustomAssetCache\n   T* CreateAsset(const CustomAssetLibrary::AssetID& asset_id,\n                  std::shared_ptr<VideoCommon::CustomAssetLibrary> library, AssetListener* listener)\n   {\n-    const auto [it, added] =\n-        m_asset_id_to_handle.try_emplace(asset_id, m_asset_handle_to_data.size());\n+    const auto [it, added] = m_asset_id_to_handle.try_emplace(\n+        asset_id,\n+        std::pair<std::type_index, std::size_t>{typeid(T), m_asset_handle_to_data.size()});\n     if (added)\n     {\n       AssetData asset_data;\n-      asset_data.asset = std::make_unique<T>(std::move(library), asset_id, it->second);\n+      asset_data.asset = std::make_unique<T>(std::move(library), asset_id, it->second.second);\n       asset_data.load_request_time = {};\n       asset_data.has_load_error = false;\n \n-      m_asset_handle_to_data.insert_or_assign(it->second, std::move(asset_data));\n+      m_asset_handle_to_data.insert_or_assign(it->second.second, std::move(asset_data));\n+    }\n+    else if (it->second.first != typeid(T))\n+    {\n+      ERROR_LOG_FMT(\n+          VIDEO,\n+          "Asset \'{}\' already exists in cache but with another type, check your configuration",\n+          asset_id);', 'path': 'Source/Core/VideoCommon/Assets/CustomAssetCache.h', 'commit_id': 'c7845f35e26d52664542a8247c99c8751b498a82', 'original_commit_id': 'c7845f35e26d52664542a8247c99c8751b498a82', 'user': {'login': 'sepalani', 'id': 7890055, 'node_id': 'MDQ6VXNlcjc4OTAwNTU=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7890055?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/sepalani', 'html_url': 'https://github.com/sepalani', 'followers_url': 'https://api.github.com/users/sepalani/followers', 'following_url': 'https://api.github.com/users/sepalani/following{/other_user}', 'gists_url': 'https://api.github.com/users/sepalani/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/sepalani/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/sepalani/subscriptions', 'organizations_url': 'https://api.github.com/users/sepalani/orgs', 'repos_url': 'https://api.github.com/users/sepalani/repos', 'events_url': 'https://api.github.com/users/sepalani/events{/privacy}', 'received_events_url': 'https://api.github.com/users/sepalani/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': 'Would it be possible/useful to have both type names in the log message (i.e. the existing one in cache, and the conflicting one)?', 'created_at': '2026-11-05T15:29:02Z', 'updated_at': '2026-11-05T15:29:02Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14986#discussion_r4482414918', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14986', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4482414918'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14986#discussion_r4482414918'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14986'}}, 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4482414918/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'start_line': 69, 'original_start_line': 69, 'start_side': 'RIGHT', 'line': 72, 'original_line': 72, 'side': 'RIGHT', 'author_association': 'CONTRIBUTOR', 'original_position': 37, 'position': 37, 'subject_type': 'line'}, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14986', 'id': 5164634914, 'node_id': 'PR_kwDOALCn2M8AAAABM9YTIg', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14986', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14986.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14986.patch', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14986', 'number': 14986, 'state': 'open', 'locked': False, 'title': 'VideoCommon: error if the same asset id is used with a different type', 'user': {'login': 'iwubcode', 'id': 15224722, 'node_id': 'MDQ6VXNlcjE1MjI0NzIy', 'avatar_url': 'https://avatars.githubusercontent.com/u/15224722?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/iwubcode', 'html_url': 'https://github.com/iwubcode', 'followers_url': 'https://api.github.com/users/iwubcode/followers', 'following_url': 'https://api.github.com/users/iwubcode/following{/other_user}', 'gists_url': 'https://api.github.com/users/iwubcode/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/iwubcode/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/iwubcode/subscriptions', 'organizations_url': 'https://api.github.com/users/iwubcode/orgs', 'repos_url': 'https://api.github.com/users/iwubcode/repos', 'events_url': 'https://api.github.com/users/iwubcode/events{/privacy}', 'received_events_url': 'https://api.github.com/users/iwubcode/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': 'Replacement for #14980 .  Instead of allowing the same asset id with a second type, we actually error when it occurs.\n\nIn practice, we expect all assets to have a unique id. This will eventually be enforced through our editor design but since these files are currently created by hand, this is a hole that should be addressed.\n\nI confirmed that all the well formed bloom modifications still work.  Tested texture packs.  And also tested what happens with an ill formed graphics mod on master (my example crashed).', 'created_at': '2026-11-05T01:44:22Z', 'updated_at': '2026-11-05T02:00:29Z', 'closed_at': None, 'merged_at': None, 'merge_commit_sha': 'a54e80d916b1f0ee24c9388d3591d782c123d584', 'assignees': [], 'requested_reviewers': [], 'requested_teams': [], 'labels': [], 'milestone': None, 'draft': False, 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14986/commits', 'review_comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14986/comments', 'review_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments{/number}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14986/comments', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/c7845f35e26d52664542a8247c99c8751b498a82', 'head': {'label': 'iwubcode:invalid_asset', 'ref': 'invalid_asset', 'sha': 'c7845f35e26d52664542a8247c99c8751b498a82', 'user': {'login': 'iwubcode', 'id': 15224722, 'node_id': 'MDQ6VXNlcjE1MjI0NzIy', 'avatar_url': 'https://avatars.githubusercontent.com/u/15224722?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/iwubcode', 'html_url': 'https://github.com/iwubcode', 'followers_url': 'https://api.github.com/users/iwubcode/followers', 'following_url': 'https://api.github.com/users/iwubcode/following{/other_user}', 'gists_url': 'https://api.github.com/users/iwubcode/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/iwubcode/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/iwubcode/subscriptions', 'organizations_url': 'https://api.github.com/users/iwubcode/orgs', 'repos_url': 'https://api.github.com/users/iwubcode/repos', 'events_url': 'https://api.github.com/users/iwubcode/events{/privacy}', 'received_events_url': 'https://api.github.com/users/iwubcode/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 77596353, 'node_id': 'MDEwOlJlcG9zaXRvcnk3NzU5NjM1Mw==', 'name': 'dolphin', 'full_name': 'iwubcode/dolphin', 'private': False, 'owner': {'login': 'iwubcode', 'id': 15224722, 'node_id': 'MDQ6VXNlcjE1MjI0NzIy', 'avatar_url': 'https://avatars.githubusercontent.com/u/15224722?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/iwubcode', 'html_url': 'https://github.com/iwubcode', 'followers_url': 'https://api.github.com/users/iwubcode/followers', 'following_url': 'https://api.github.com/users/iwubcode/following{/other_user}', 'gists_url': 'https://api.github.com/users/iwubcode/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/iwubcode/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/iwubcode/subscriptions', 'organizations_url': 'https://api.github.com/users/iwubcode/orgs', 'repos_url': 'https://api.github.com/users/iwubcode/repos', 'events_url': 'https://api.github.com/users/iwubcode/events{/privacy}', 'received_events_url': 'https://api.github.com/users/iwubcode/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/iwubcode/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': True, 'url': 'https://api.github.com/repos/iwubcode/dolphin', 'forks_url': 'https://api.github.com/repos/iwubcode/dolphin/forks', 'keys_url': 'https://api.github.com/repos/iwubcode/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/iwubcode/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/iwubcode/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/iwubcode/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/iwubcode/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/iwubcode/dolphin/events', 'assignees_url': 'https://api.github.com/repos/iwubcode/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/iwubcode/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/iwubcode/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/iwubcode/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/iwubcode/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/iwubcode/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/iwubcode/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/iwubcode/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/iwubcode/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/iwubcode/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/iwubcode/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/iwubcode/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/iwubcode/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/iwubcode/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/iwubcode/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/iwubcode/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/iwubcode/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/iwubcode/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/iwubcode/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/iwubcode/dolphin/merges', 'archive_url': 'https://api.github.com/repos/iwubcode/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/iwubcode/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/iwubcode/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/iwubcode/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/iwubcode/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/iwubcode/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/iwubcode/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/iwubcode/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/iwubcode/dolphin/deployments', 'created_at': '2016-12-29T08:26:39Z', 'updated_at': '2026-11-02T22:53:32Z', 'pushed_at': '2026-11-05T01:39:28Z', 'git_url': 'git://github.com/iwubcode/dolphin.git', 'ssh_url': 'git@github.com:iwubcode/dolphin.git', 'clone_url': 'https://github.com/iwubcode/dolphin.git', 'svn_url': 'https://github.com/iwubcode/dolphin', 'homepage': 'https://dolphin-emu.org/', 'size': 528035, 'stargazers_count': 2, 'watchers_count': 2, 'language': 'C++', 'has_issues': False, 'has_projects': True, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 4, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 1, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': [], 'visibility': 'public', 'forks': 4, 'open_issues': 1, 'watchers': 2, 'default_branch': 'master', 'allow_squash_merge': True, 'allow_merge_commit': True, 'allow_rebase_merge': True, 'allow_auto_merge': False, 'delete_branch_on_merge': False, 'allow_update_branch': False, 'use_squash_pr_title_as_default': False, 'squash_merge_commit_message': 'COMMIT_MESSAGES', 'squash_merge_commit_title': 'COMMIT_OR_PR_TITLE', 'merge_commit_message': 'PR_TITLE', 'merge_commit_title': 'MERGE_MESSAGE'}}, 'base': {'label': 'dolphin-emu:master', 'ref': 'master', 'sha': '66df2b4e18ae6169f9718b869da334022914e305', 'user': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-11-05T13:59:54Z', 'pushed_at': '2026-11-04T20:55:25Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 563769, 'stargazers_count': 15770, 'watchers_count': 15770, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3382, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 484, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3382, 'open_issues': 484, 'watchers': 15770, 'default_branch': 'master', 'allow_squash_merge': False, 'allow_merge_commit': True, 'allow_rebase_merge': False, 'allow_auto_merge': False, 'delete_branch_on_merge': False, 'allow_update_branch': False, 'use_squash_pr_title_as_default': False, 'squash_merge_commit_message': 'COMMIT_MESSAGES', 'squash_merge_commit_title': 'COMMIT_OR_PR_TITLE', 'merge_commit_message': 'PR_TITLE', 'merge_commit_title': 'MERGE_MESSAGE'}}, '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14986'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14986'}, 'issue': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14986'}, 'comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14986/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14986/comments'}, 'review_comment': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments{/number}'}, 'commits': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14986/commits'}, 'statuses': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/c7845f35e26d52664542a8247c99c8751b498a82'}}, 'author_association': 'CONTRIBUTOR', 'auto_merge': None, 'assignee': None, 'active_lock_reason': None}, 'repository': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-11-05T13:59:54Z', 'pushed_at': '2026-11-04T20:55:25Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 563769, 'stargazers_count': 15770, 'watchers_count': 15770, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3382, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 484, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3382, 'open_issues': 484, 'watchers': 15770, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'sepalani', 'id': 7890055, 'node_id': 'MDQ6VXNlcjc4OTAwNTU=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7890055?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/sepalani', 'html_url': 'https://github.com/sepalani', 'followers_url': 'https://api.github.com/users/sepalani/followers', 'following_url': 'https://api.github.com/users/sepalani/following{/other_user}', 'gists_url': 'https://api.github.com/users/sepalani/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/sepalani/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/sepalani/subscriptions', 'organizations_url': 'https://api.github.com/users/sepalani/orgs', 'repos_url': 'https://api.github.com/users/sepalani/repos', 'events_url': 'https://api.github.com/users/sepalani/events{/privacy}', 'received_events_url': 'https://api.github.com/users/sepalani/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'raw_gh_hook'}
2026-11-05T15:29:06.745495	{'source': 'webserver', 'gh_type': 'pull_request_review', 'raw': {'action': 'submitted', 'review': {'id': 5787483620, 'node_id': 'PRR_kwDOALCn2M8AAAABWPX95A', 'user': {'login': 'sepalani', 'id': 7890055, 'node_id': 'MDQ6VXNlcjc4OTAwNTU=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7890055?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/sepalani', 'html_url': 'https://github.com/sepalani', 'followers_url': 'https://api.github.com/users/sepalani/followers', 'following_url': 'https://api.github.com/users/sepalani/following{/other_user}', 'gists_url': 'https://api.github.com/users/sepalani/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/sepalani/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/sepalani/subscriptions', 'organizations_url': 'https://api.github.com/users/sepalani/orgs', 'repos_url': 'https://api.github.com/users/sepalani/repos', 'events_url': 'https://api.github.com/users/sepalani/events{/privacy}', 'received_events_url': 'https://api.github.com/users/sepalani/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': None, 'commit_id': 'c7845f35e26d52664542a8247c99c8751b498a82', 'state': 'commented', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14986#pullrequestreview-5787483620', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14986', '_links': {'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14986#pullrequestreview-5787483620'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14986'}}, 'submitted_at': '2026-11-05T15:29:02Z', 'updated_at': '2026-11-05T15:29:02Z', 'author_association': 'CONTRIBUTOR'}, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14986', 'id': 5164634914, 'node_id': 'PR_kwDOALCn2M8AAAABM9YTIg', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14986', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14986.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14986.patch', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14986', 'number': 14986, 'state': 'open', 'locked': False, 'title': 'VideoCommon: error if the same asset id is used with a different type', 'user': {'login': 'iwubcode', 'id': 15224722, 'node_id': 'MDQ6VXNlcjE1MjI0NzIy', 'avatar_url': 'https://avatars.githubusercontent.com/u/15224722?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/iwubcode', 'html_url': 'https://github.com/iwubcode', 'followers_url': 'https://api.github.com/users/iwubcode/followers', 'following_url': 'https://api.github.com/users/iwubcode/following{/other_user}', 'gists_url': 'https://api.github.com/users/iwubcode/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/iwubcode/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/iwubcode/subscriptions', 'organizations_url': 'https://api.github.com/users/iwubcode/orgs', 'repos_url': 'https://api.github.com/users/iwubcode/repos', 'events_url': 'https://api.github.com/users/iwubcode/events{/privacy}', 'received_events_url': 'https://api.github.com/users/iwubcode/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': 'Replacement for #14980 .  Instead of allowing the same asset id with a second type, we actually error when it occurs.\n\nIn practice, we expect all assets to have a unique id. This will eventually be enforced through our editor design but since these files are currently created by hand, this is a hole that should be addressed.\n\nI confirmed that all the well formed bloom modifications still work.  Tested texture packs.  And also tested what happens with an ill formed graphics mod on master (my example crashed).', 'created_at': '2026-11-05T01:44:22Z', 'updated_at': '2026-11-05T02:00:29Z', 'closed_at': None, 'merged_at': None, 'merge_commit_sha': 'a54e80d916b1f0ee24c9388d3591d782c123d584', 'assignees': [], 'requested_reviewers': [], 'requested_teams': [], 'labels': [], 'milestone': None, 'draft': False, 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14986/commits', 'review_comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14986/comments', 'review_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments{/number}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14986/comments', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/c7845f35e26d52664542a8247c99c8751b498a82', 'head': {'label': 'iwubcode:invalid_asset', 'ref': 'invalid_asset', 'sha': 'c7845f35e26d52664542a8247c99c8751b498a82', 'user': {'login': 'iwubcode', 'id': 15224722, 'node_id': 'MDQ6VXNlcjE1MjI0NzIy', 'avatar_url': 'https://avatars.githubusercontent.com/u/15224722?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/iwubcode', 'html_url': 'https://github.com/iwubcode', 'followers_url': 'https://api.github.com/users/iwubcode/followers', 'following_url': 'https://api.github.com/users/iwubcode/following{/other_user}', 'gists_url': 'https://api.github.com/users/iwubcode/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/iwubcode/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/iwubcode/subscriptions', 'organizations_url': 'https://api.github.com/users/iwubcode/orgs', 'repos_url': 'https://api.github.com/users/iwubcode/repos', 'events_url': 'https://api.github.com/users/iwubcode/events{/privacy}', 'received_events_url': 'https://api.github.com/users/iwubcode/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 77596353, 'node_id': 'MDEwOlJlcG9zaXRvcnk3NzU5NjM1Mw==', 'name': 'dolphin', 'full_name': 'iwubcode/dolphin', 'private': False, 'owner': {'login': 'iwubcode', 'id': 15224722, 'node_id': 'MDQ6VXNlcjE1MjI0NzIy', 'avatar_url': 'https://avatars.githubusercontent.com/u/15224722?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/iwubcode', 'html_url': 'https://github.com/iwubcode', 'followers_url': 'https://api.github.com/users/iwubcode/followers', 'following_url': 'https://api.github.com/users/iwubcode/following{/other_user}', 'gists_url': 'https://api.github.com/users/iwubcode/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/iwubcode/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/iwubcode/subscriptions', 'organizations_url': 'https://api.github.com/users/iwubcode/orgs', 'repos_url': 'https://api.github.com/users/iwubcode/repos', 'events_url': 'https://api.github.com/users/iwubcode/events{/privacy}', 'received_events_url': 'https://api.github.com/users/iwubcode/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/iwubcode/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': True, 'url': 'https://api.github.com/repos/iwubcode/dolphin', 'forks_url': 'https://api.github.com/repos/iwubcode/dolphin/forks', 'keys_url': 'https://api.github.com/repos/iwubcode/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/iwubcode/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/iwubcode/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/iwubcode/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/iwubcode/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/iwubcode/dolphin/events', 'assignees_url': 'https://api.github.com/repos/iwubcode/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/iwubcode/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/iwubcode/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/iwubcode/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/iwubcode/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/iwubcode/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/iwubcode/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/iwubcode/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/iwubcode/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/iwubcode/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/iwubcode/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/iwubcode/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/iwubcode/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/iwubcode/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/iwubcode/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/iwubcode/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/iwubcode/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/iwubcode/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/iwubcode/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/iwubcode/dolphin/merges', 'archive_url': 'https://api.github.com/repos/iwubcode/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/iwubcode/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/iwubcode/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/iwubcode/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/iwubcode/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/iwubcode/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/iwubcode/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/iwubcode/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/iwubcode/dolphin/deployments', 'created_at': '2016-12-29T08:26:39Z', 'updated_at': '2026-11-02T22:53:32Z', 'pushed_at': '2026-11-05T01:39:28Z', 'git_url': 'git://github.com/iwubcode/dolphin.git', 'ssh_url': 'git@github.com:iwubcode/dolphin.git', 'clone_url': 'https://github.com/iwubcode/dolphin.git', 'svn_url': 'https://github.com/iwubcode/dolphin', 'homepage': 'https://dolphin-emu.org/', 'size': 528035, 'stargazers_count': 2, 'watchers_count': 2, 'language': 'C++', 'has_issues': False, 'has_projects': True, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 4, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 1, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': [], 'visibility': 'public', 'forks': 4, 'open_issues': 1, 'watchers': 2, 'default_branch': 'master', 'allow_squash_merge': True, 'allow_merge_commit': True, 'allow_rebase_merge': True, 'allow_auto_merge': False, 'delete_branch_on_merge': False, 'allow_update_branch': False, 'use_squash_pr_title_as_default': False, 'squash_merge_commit_message': 'COMMIT_MESSAGES', 'squash_merge_commit_title': 'COMMIT_OR_PR_TITLE', 'merge_commit_message': 'PR_TITLE', 'merge_commit_title': 'MERGE_MESSAGE'}}, 'base': {'label': 'dolphin-emu:master', 'ref': 'master', 'sha': '66df2b4e18ae6169f9718b869da334022914e305', 'user': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-11-05T13:59:54Z', 'pushed_at': '2026-11-04T20:55:25Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 563769, 'stargazers_count': 15770, 'watchers_count': 15770, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3382, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 484, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3382, 'open_issues': 484, 'watchers': 15770, 'default_branch': 'master', 'allow_squash_merge': False, 'allow_merge_commit': True, 'allow_rebase_merge': False, 'allow_auto_merge': False, 'delete_branch_on_merge': False, 'allow_update_branch': False, 'use_squash_pr_title_as_default': False, 'squash_merge_commit_message': 'COMMIT_MESSAGES', 'squash_merge_commit_title': 'COMMIT_OR_PR_TITLE', 'merge_commit_message': 'PR_TITLE', 'merge_commit_title': 'MERGE_MESSAGE'}}, '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14986'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14986'}, 'issue': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14986'}, 'comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14986/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14986/comments'}, 'review_comment': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments{/number}'}, 'commits': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14986/commits'}, 'statuses': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/c7845f35e26d52664542a8247c99c8751b498a82'}}, 'author_association': 'CONTRIBUTOR', 'auto_merge': None, 'assignee': None, 'active_lock_reason': None}, 'repository': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-11-05T13:59:54Z', 'pushed_at': '2026-11-04T20:55:25Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 563769, 'stargazers_count': 15770, 'watchers_count': 15770, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3382, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 484, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3382, 'open_issues': 484, 'watchers': 15770, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'sepalani', 'id': 7890055, 'node_id': 'MDQ6VXNlcjc4OTAwNTU=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7890055?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/sepalani', 'html_url': 'https://github.com/sepalani', 'followers_url': 'https://api.github.com/users/sepalani/followers', 'following_url': 'https://api.github.com/users/sepalani/following{/other_user}', 'gists_url': 'https://api.github.com/users/sepalani/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/sepalani/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/sepalani/subscriptions', 'organizations_url': 'https://api.github.com/users/sepalani/orgs', 'repos_url': 'https://api.github.com/users/sepalani/repos', 'events_url': 'https://api.github.com/users/sepalani/events{/privacy}', 'received_events_url': 'https://api.github.com/users/sepalani/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'raw_gh_hook'}
2026-11-05T15:07:02.431306	{'source': 'webserver', 'gh_type': 'pull_request_review_comment', 'raw': {'action': 'created', 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4482000469', 'pull_request_review_id': 5786948346, 'id': 4482000469, 'node_id': 'PRRC_kwDOALCn2M8AAAABCyXmVQ', 'diff_hunk': '@@ -318,27 +317,14 @@ void PostProcessingConfiguration::SaveOptionsConfiguration()\n     break;\n     case ConfigurationOption::OptionType::Integer:\n     {\n-      std::string value;\n-      for (size_t i = 0; i < it.second.m_integer_values.size(); ++i)\n-      {\n-        value += fmt::format("{}{}", it.second.m_integer_values[i],\n-                             i == (it.second.m_integer_values.size() - 1) ? "" : ", ");\n-      }\n-      ini.GetOrCreateSection(section)->Set(it.second.m_option_name, value);\n+      std::string value = fmt::format("{}", fmt::join(it.second.m_integer_values, ", "));\n+      ini.GetOrCreateSection(section)->Set(it.second.m_option_name, std::move(value));\n     }\n     break;\n     case ConfigurationOption::OptionType::Float:\n     {\n-      std::ostringstream value;\n-      value.imbue(std::locale::classic());\n-\n-      for (size_t i = 0; i < it.second.m_float_values.size(); ++i)\n-      {\n-        value << it.second.m_float_values[i];\n-        if (i != (it.second.m_float_values.size() - 1))\n-          value << ", ";\n-      }\n-      ini.GetOrCreateSection(section)->Set(it.second.m_option_name, value.str());\n+      std::string value = fmt::format("{}", fmt::join(it.second.m_float_values, ", "));\n+      ini.GetOrCreateSection(section)->Set(it.second.m_option_name, std::move(value));', 'path': 'Source/Core/VideoCommon/PostProcessing.cpp', 'commit_id': 'd5b8ad286cf75d1342ba8a4c896e51d28094058e', 'original_commit_id': 'd5b8ad286cf75d1342ba8a4c896e51d28094058e', 'user': {'login': 'sepalani', 'id': 7890055, 'node_id': 'MDQ6VXNlcjc4OTAwNTU=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7890055?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/sepalani', 'html_url': 'https://github.com/sepalani', 'followers_url': 'https://api.github.com/users/sepalani/followers', 'following_url': 'https://api.github.com/users/sepalani/following{/other_user}', 'gists_url': 'https://api.github.com/users/sepalani/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/sepalani/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/sepalani/subscriptions', 'organizations_url': 'https://api.github.com/users/sepalani/orgs', 'repos_url': 'https://api.github.com/users/sepalani/repos', 'events_url': 'https://api.github.com/users/sepalani/events{/privacy}', 'received_events_url': 'https://api.github.com/users/sepalani/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': "Unless I'm mistaken, this increases the float precision:\n- from [6 digits](https://en.cppreference.com/cpp/io/ios_base/precision),\n- to [8 digits](https://cpp.godbolt.org/z/fG3xeq1qo).\n\nI suppose that doesn't matter much.", 'created_at': '2026-11-05T14:55:43Z', 'updated_at': '2026-11-05T15:06:59Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14970#discussion_r4482000469', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14970', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4482000469'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14970#discussion_r4482000469'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14970'}}, 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4482000469/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'start_line': 326, 'original_start_line': 326, 'start_side': 'RIGHT', 'line': 327, 'original_line': 327, 'side': 'RIGHT', 'author_association': 'CONTRIBUTOR', 'original_position': 36, 'position': 36, 'subject_type': 'line'}, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14970', 'id': 5114064833, 'node_id': 'PR_kwDOALCn2M8AAAABMNJvwQ', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14970', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14970.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14970.patch', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14970', 'number': 14970, 'state': 'open', 'locked': False, 'title': 'Use std::move and ostringstream::view to avoid unnecessary copying of strings.', 'user': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': '`ostringstream` has a `view` function and a rvalue version of `str` since C++20.\nI think we can use them now.', 'created_at': '2026-11-02T02:34:18Z', 'updated_at': '2026-11-05T03:40:59Z', 'closed_at': None, 'merged_at': None, 'merge_commit_sha': 'e6125fa438de4bfa23d06e5af78356e4cbc35abf', 'assignees': [], 'requested_reviewers': [], 'requested_teams': [], 'labels': [], 'milestone': None, 'draft': False, 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14970/commits', 'review_comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14970/comments', 'review_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments{/number}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14970/comments', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/d5b8ad286cf75d1342ba8a4c896e51d28094058e', 'head': {'label': 'jordan-woyak:stringstream-avoid-copying', 'ref': 'stringstream-avoid-copying', 'sha': 'd5b8ad286cf75d1342ba8a4c896e51d28094058e', 'user': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 16818408, 'node_id': 'MDEwOlJlcG9zaXRvcnkxNjgxODQwOA==', 'name': 'dolphin', 'full_name': 'jordan-woyak/dolphin', 'private': False, 'owner': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/jordan-woyak/dolphin', 'description': 'Dolphin is a GameCube/Wii emulator, allowing you to play games for these two platforms on PC, with improvements.', 'fork': True, 'url': 'https://api.github.com/repos/jordan-woyak/dolphin', 'forks_url': 'https://api.github.com/repos/jordan-woyak/dolphin/forks', 'keys_url': 'https://api.github.com/repos/jordan-woyak/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/jordan-woyak/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/jordan-woyak/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/jordan-woyak/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/jordan-woyak/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/jordan-woyak/dolphin/events', 'assignees_url': 'https://api.github.com/repos/jordan-woyak/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/jordan-woyak/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/jordan-woyak/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/jordan-woyak/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/jordan-woyak/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/jordan-woyak/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/jordan-woyak/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/jordan-woyak/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/jordan-woyak/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/jordan-woyak/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/jordan-woyak/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/jordan-woyak/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/jordan-woyak/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/jordan-woyak/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/jordan-woyak/dolphin/merges', 'archive_url': 'https://api.github.com/repos/jordan-woyak/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/jordan-woyak/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/jordan-woyak/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/jordan-woyak/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/jordan-woyak/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/jordan-woyak/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/jordan-woyak/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/jordan-woyak/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/jordan-woyak/dolphin/deployments', 'created_at': '2014-02-13T21:50:38Z', 'updated_at': '2026-06-27T21:22:47Z', 'pushed_at': '2026-11-05T07:59:42Z', 'git_url': 'git://github.com/jordan-woyak/dolphin.git', 'ssh_url': 'git@github.com:jordan-woyak/dolphin.git', 'clone_url': 'https://github.com/jordan-woyak/dolphin.git', 'svn_url': 'https://github.com/jordan-woyak/dolphin', 'homepage': None, 'size': 530464, 'stargazers_count': 5, 'watchers_count': 5, 'language': 'C++', 'has_issues': False, 'has_projects': True, 'has_downloads': False, 'has_wiki': False, 'has_pages': False, 'has_discussions': False, 'forks_count': 5, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 2, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': [], 'visibility': 'public', 'forks': 5, 'open_issues': 2, 'watchers': 5, 'default_branch': 'master', 'allow_squash_merge': True, 'allow_merge_commit': True, 'allow_rebase_merge': True, 'allow_auto_merge': False, 'delete_branch_on_merge': True, 'allow_update_branch': False, 'use_squash_pr_title_as_default': False, 'squash_merge_commit_message': 'COMMIT_MESSAGES', 'squash_merge_commit_title': 'COMMIT_OR_PR_TITLE', 'merge_commit_message': 'PR_TITLE', 'merge_commit_title': 'MERGE_MESSAGE'}}, 'base': {'label': 'dolphin-emu:master', 'ref': 'master', 'sha': '66df2b4e18ae6169f9718b869da334022914e305', 'user': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-11-05T13:59:54Z', 'pushed_at': '2026-11-04T20:55:25Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 563769, 'stargazers_count': 15770, 'watchers_count': 15770, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3382, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 484, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3382, 'open_issues': 484, 'watchers': 15770, 'default_branch': 'master', 'allow_squash_merge': False, 'allow_merge_commit': True, 'allow_rebase_merge': False, 'allow_auto_merge': False, 'delete_branch_on_merge': False, 'allow_update_branch': False, 'use_squash_pr_title_as_default': False, 'squash_merge_commit_message': 'COMMIT_MESSAGES', 'squash_merge_commit_title': 'COMMIT_OR_PR_TITLE', 'merge_commit_message': 'PR_TITLE', 'merge_commit_title': 'MERGE_MESSAGE'}}, '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14970'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14970'}, 'issue': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14970'}, 'comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14970/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14970/comments'}, 'review_comment': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments{/number}'}, 'commits': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14970/commits'}, 'statuses': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/d5b8ad286cf75d1342ba8a4c896e51d28094058e'}}, 'author_association': 'MEMBER', 'auto_merge': None, 'assignee': None, 'active_lock_reason': None}, 'repository': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-11-05T13:59:54Z', 'pushed_at': '2026-11-04T20:55:25Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 563769, 'stargazers_count': 15770, 'watchers_count': 15770, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3382, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 484, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3382, 'open_issues': 484, 'watchers': 15770, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'sepalani', 'id': 7890055, 'node_id': 'MDQ6VXNlcjc4OTAwNTU=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7890055?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/sepalani', 'html_url': 'https://github.com/sepalani', 'followers_url': 'https://api.github.com/users/sepalani/followers', 'following_url': 'https://api.github.com/users/sepalani/following{/other_user}', 'gists_url': 'https://api.github.com/users/sepalani/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/sepalani/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/sepalani/subscriptions', 'organizations_url': 'https://api.github.com/users/sepalani/orgs', 'repos_url': 'https://api.github.com/users/sepalani/repos', 'events_url': 'https://api.github.com/users/sepalani/events{/privacy}', 'received_events_url': 'https://api.github.com/users/sepalani/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'raw_gh_hook'}
2026-11-05T15:07:02.126810	{'source': 'webserver', 'gh_type': 'pull_request_review', 'raw': {'action': 'submitted', 'review': {'id': 5786948346, 'node_id': 'PRR_kwDOALCn2M8AAAABWO3S-g', 'user': {'login': 'sepalani', 'id': 7890055, 'node_id': 'MDQ6VXNlcjc4OTAwNTU=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7890055?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/sepalani', 'html_url': 'https://github.com/sepalani', 'followers_url': 'https://api.github.com/users/sepalani/followers', 'following_url': 'https://api.github.com/users/sepalani/following{/other_user}', 'gists_url': 'https://api.github.com/users/sepalani/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/sepalani/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/sepalani/subscriptions', 'organizations_url': 'https://api.github.com/users/sepalani/orgs', 'repos_url': 'https://api.github.com/users/sepalani/repos', 'events_url': 'https://api.github.com/users/sepalani/events{/privacy}', 'received_events_url': 'https://api.github.com/users/sepalani/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': 'LGTM, untested.', 'commit_id': 'd5b8ad286cf75d1342ba8a4c896e51d28094058e', 'state': 'approved', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14970#pullrequestreview-5786948346', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14970', '_links': {'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14970#pullrequestreview-5786948346'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14970'}}, 'submitted_at': '2026-11-05T15:06:59Z', 'updated_at': '2026-11-05T15:06:59Z', 'author_association': 'CONTRIBUTOR'}, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14970', 'id': 5114064833, 'node_id': 'PR_kwDOALCn2M8AAAABMNJvwQ', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14970', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14970.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14970.patch', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14970', 'number': 14970, 'state': 'open', 'locked': False, 'title': 'Use std::move and ostringstream::view to avoid unnecessary copying of strings.', 'user': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': '`ostringstream` has a `view` function and a rvalue version of `str` since C++20.\nI think we can use them now.', 'created_at': '2026-11-02T02:34:18Z', 'updated_at': '2026-11-05T03:40:59Z', 'closed_at': None, 'merged_at': None, 'merge_commit_sha': 'e6125fa438de4bfa23d06e5af78356e4cbc35abf', 'assignees': [], 'requested_reviewers': [], 'requested_teams': [], 'labels': [], 'milestone': None, 'draft': False, 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14970/commits', 'review_comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14970/comments', 'review_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments{/number}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14970/comments', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/d5b8ad286cf75d1342ba8a4c896e51d28094058e', 'head': {'label': 'jordan-woyak:stringstream-avoid-copying', 'ref': 'stringstream-avoid-copying', 'sha': 'd5b8ad286cf75d1342ba8a4c896e51d28094058e', 'user': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 16818408, 'node_id': 'MDEwOlJlcG9zaXRvcnkxNjgxODQwOA==', 'name': 'dolphin', 'full_name': 'jordan-woyak/dolphin', 'private': False, 'owner': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/jordan-woyak/dolphin', 'description': 'Dolphin is a GameCube/Wii emulator, allowing you to play games for these two platforms on PC, with improvements.', 'fork': True, 'url': 'https://api.github.com/repos/jordan-woyak/dolphin', 'forks_url': 'https://api.github.com/repos/jordan-woyak/dolphin/forks', 'keys_url': 'https://api.github.com/repos/jordan-woyak/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/jordan-woyak/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/jordan-woyak/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/jordan-woyak/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/jordan-woyak/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/jordan-woyak/dolphin/events', 'assignees_url': 'https://api.github.com/repos/jordan-woyak/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/jordan-woyak/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/jordan-woyak/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/jordan-woyak/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/jordan-woyak/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/jordan-woyak/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/jordan-woyak/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/jordan-woyak/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/jordan-woyak/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/jordan-woyak/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/jordan-woyak/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/jordan-woyak/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/jordan-woyak/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/jordan-woyak/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/jordan-woyak/dolphin/merges', 'archive_url': 'https://api.github.com/repos/jordan-woyak/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/jordan-woyak/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/jordan-woyak/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/jordan-woyak/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/jordan-woyak/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/jordan-woyak/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/jordan-woyak/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/jordan-woyak/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/jordan-woyak/dolphin/deployments', 'created_at': '2014-02-13T21:50:38Z', 'updated_at': '2026-06-27T21:22:47Z', 'pushed_at': '2026-11-05T07:59:42Z', 'git_url': 'git://github.com/jordan-woyak/dolphin.git', 'ssh_url': 'git@github.com:jordan-woyak/dolphin.git', 'clone_url': 'https://github.com/jordan-woyak/dolphin.git', 'svn_url': 'https://github.com/jordan-woyak/dolphin', 'homepage': None, 'size': 530464, 'stargazers_count': 5, 'watchers_count': 5, 'language': 'C++', 'has_issues': False, 'has_projects': True, 'has_downloads': False, 'has_wiki': False, 'has_pages': False, 'has_discussions': False, 'forks_count': 5, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 2, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': [], 'visibility': 'public', 'forks': 5, 'open_issues': 2, 'watchers': 5, 'default_branch': 'master', 'allow_squash_merge': True, 'allow_merge_commit': True, 'allow_rebase_merge': True, 'allow_auto_merge': False, 'delete_branch_on_merge': True, 'allow_update_branch': False, 'use_squash_pr_title_as_default': False, 'squash_merge_commit_message': 'COMMIT_MESSAGES', 'squash_merge_commit_title': 'COMMIT_OR_PR_TITLE', 'merge_commit_message': 'PR_TITLE', 'merge_commit_title': 'MERGE_MESSAGE'}}, 'base': {'label': 'dolphin-emu:master', 'ref': 'master', 'sha': '66df2b4e18ae6169f9718b869da334022914e305', 'user': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-11-05T13:59:54Z', 'pushed_at': '2026-11-04T20:55:25Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 563769, 'stargazers_count': 15770, 'watchers_count': 15770, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3382, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 484, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3382, 'open_issues': 484, 'watchers': 15770, 'default_branch': 'master', 'allow_squash_merge': False, 'allow_merge_commit': True, 'allow_rebase_merge': False, 'allow_auto_merge': False, 'delete_branch_on_merge': False, 'allow_update_branch': False, 'use_squash_pr_title_as_default': False, 'squash_merge_commit_message': 'COMMIT_MESSAGES', 'squash_merge_commit_title': 'COMMIT_OR_PR_TITLE', 'merge_commit_message': 'PR_TITLE', 'merge_commit_title': 'MERGE_MESSAGE'}}, '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14970'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14970'}, 'issue': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14970'}, 'comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14970/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14970/comments'}, 'review_comment': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments{/number}'}, 'commits': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14970/commits'}, 'statuses': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/d5b8ad286cf75d1342ba8a4c896e51d28094058e'}}, 'author_association': 'MEMBER', 'auto_merge': None, 'assignee': None, 'active_lock_reason': None}, 'repository': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-11-05T13:59:54Z', 'pushed_at': '2026-11-04T20:55:25Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 563769, 'stargazers_count': 15770, 'watchers_count': 15770, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3382, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 484, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3382, 'open_issues': 484, 'watchers': 15770, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'sepalani', 'id': 7890055, 'node_id': 'MDQ6VXNlcjc4OTAwNTU=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7890055?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/sepalani', 'html_url': 'https://github.com/sepalani', 'followers_url': 'https://api.github.com/users/sepalani/followers', 'following_url': 'https://api.github.com/users/sepalani/following{/other_user}', 'gists_url': 'https://api.github.com/users/sepalani/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/sepalani/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/sepalani/subscriptions', 'organizations_url': 'https://api.github.com/users/sepalani/orgs', 'repos_url': 'https://api.github.com/users/sepalani/repos', 'events_url': 'https://api.github.com/users/sepalani/events{/privacy}', 'received_events_url': 'https://api.github.com/users/sepalani/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'raw_gh_hook'}
2026-11-05T15:07:01.636769	{'source': 'webserver', 'gh_type': 'pull_request_review', 'raw': {'action': 'edited', 'review': {'id': 5786948346, 'node_id': 'PRR_kwDOALCn2M8AAAABWO3S-g', 'user': {'login': 'sepalani', 'id': 7890055, 'node_id': 'MDQ6VXNlcjc4OTAwNTU=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7890055?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/sepalani', 'html_url': 'https://github.com/sepalani', 'followers_url': 'https://api.github.com/users/sepalani/followers', 'following_url': 'https://api.github.com/users/sepalani/following{/other_user}', 'gists_url': 'https://api.github.com/users/sepalani/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/sepalani/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/sepalani/subscriptions', 'organizations_url': 'https://api.github.com/users/sepalani/orgs', 'repos_url': 'https://api.github.com/users/sepalani/repos', 'events_url': 'https://api.github.com/users/sepalani/events{/privacy}', 'received_events_url': 'https://api.github.com/users/sepalani/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': 'LGTM, untested.', 'commit_id': 'd5b8ad286cf75d1342ba8a4c896e51d28094058e', 'state': 'approved', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14970#pullrequestreview-5786948346', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14970', '_links': {'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14970#pullrequestreview-5786948346'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14970'}}, 'submitted_at': '2026-11-05T15:06:59Z', 'updated_at': '2026-11-05T15:06:59Z', 'author_association': 'CONTRIBUTOR'}, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14970', 'id': 5114064833, 'node_id': 'PR_kwDOALCn2M8AAAABMNJvwQ', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14970', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14970.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14970.patch', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14970', 'number': 14970, 'state': 'open', 'locked': False, 'title': 'Use std::move and ostringstream::view to avoid unnecessary copying of strings.', 'user': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': '`ostringstream` has a `view` function and a rvalue version of `str` since C++20.\nI think we can use them now.', 'created_at': '2026-11-02T02:34:18Z', 'updated_at': '2026-11-05T03:40:59Z', 'closed_at': None, 'merged_at': None, 'merge_commit_sha': 'e6125fa438de4bfa23d06e5af78356e4cbc35abf', 'assignees': [], 'requested_reviewers': [], 'requested_teams': [], 'labels': [], 'milestone': None, 'draft': False, 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14970/commits', 'review_comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14970/comments', 'review_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments{/number}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14970/comments', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/d5b8ad286cf75d1342ba8a4c896e51d28094058e', 'head': {'label': 'jordan-woyak:stringstream-avoid-copying', 'ref': 'stringstream-avoid-copying', 'sha': 'd5b8ad286cf75d1342ba8a4c896e51d28094058e', 'user': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 16818408, 'node_id': 'MDEwOlJlcG9zaXRvcnkxNjgxODQwOA==', 'name': 'dolphin', 'full_name': 'jordan-woyak/dolphin', 'private': False, 'owner': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/jordan-woyak/dolphin', 'description': 'Dolphin is a GameCube/Wii emulator, allowing you to play games for these two platforms on PC, with improvements.', 'fork': True, 'url': 'https://api.github.com/repos/jordan-woyak/dolphin', 'forks_url': 'https://api.github.com/repos/jordan-woyak/dolphin/forks', 'keys_url': 'https://api.github.com/repos/jordan-woyak/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/jordan-woyak/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/jordan-woyak/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/jordan-woyak/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/jordan-woyak/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/jordan-woyak/dolphin/events', 'assignees_url': 'https://api.github.com/repos/jordan-woyak/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/jordan-woyak/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/jordan-woyak/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/jordan-woyak/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/jordan-woyak/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/jordan-woyak/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/jordan-woyak/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/jordan-woyak/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/jordan-woyak/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/jordan-woyak/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/jordan-woyak/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/jordan-woyak/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/jordan-woyak/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/jordan-woyak/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/jordan-woyak/dolphin/merges', 'archive_url': 'https://api.github.com/repos/jordan-woyak/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/jordan-woyak/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/jordan-woyak/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/jordan-woyak/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/jordan-woyak/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/jordan-woyak/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/jordan-woyak/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/jordan-woyak/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/jordan-woyak/dolphin/deployments', 'created_at': '2014-02-13T21:50:38Z', 'updated_at': '2026-06-27T21:22:47Z', 'pushed_at': '2026-11-05T07:59:42Z', 'git_url': 'git://github.com/jordan-woyak/dolphin.git', 'ssh_url': 'git@github.com:jordan-woyak/dolphin.git', 'clone_url': 'https://github.com/jordan-woyak/dolphin.git', 'svn_url': 'https://github.com/jordan-woyak/dolphin', 'homepage': None, 'size': 530464, 'stargazers_count': 5, 'watchers_count': 5, 'language': 'C++', 'has_issues': False, 'has_projects': True, 'has_downloads': False, 'has_wiki': False, 'has_pages': False, 'has_discussions': False, 'forks_count': 5, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 2, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': [], 'visibility': 'public', 'forks': 5, 'open_issues': 2, 'watchers': 5, 'default_branch': 'master', 'allow_squash_merge': True, 'allow_merge_commit': True, 'allow_rebase_merge': True, 'allow_auto_merge': False, 'delete_branch_on_merge': True, 'allow_update_branch': False, 'use_squash_pr_title_as_default': False, 'squash_merge_commit_message': 'COMMIT_MESSAGES', 'squash_merge_commit_title': 'COMMIT_OR_PR_TITLE', 'merge_commit_message': 'PR_TITLE', 'merge_commit_title': 'MERGE_MESSAGE'}}, 'base': {'label': 'dolphin-emu:master', 'ref': 'master', 'sha': '66df2b4e18ae6169f9718b869da334022914e305', 'user': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-11-05T13:59:54Z', 'pushed_at': '2026-11-04T20:55:25Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 563769, 'stargazers_count': 15770, 'watchers_count': 15770, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3382, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 484, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3382, 'open_issues': 484, 'watchers': 15770, 'default_branch': 'master', 'allow_squash_merge': False, 'allow_merge_commit': True, 'allow_rebase_merge': False, 'allow_auto_merge': False, 'delete_branch_on_merge': False, 'allow_update_branch': False, 'use_squash_pr_title_as_default': False, 'squash_merge_commit_message': 'COMMIT_MESSAGES', 'squash_merge_commit_title': 'COMMIT_OR_PR_TITLE', 'merge_commit_message': 'PR_TITLE', 'merge_commit_title': 'MERGE_MESSAGE'}}, '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14970'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14970'}, 'issue': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14970'}, 'comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14970/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14970/comments'}, 'review_comment': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments{/number}'}, 'commits': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14970/commits'}, 'statuses': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/d5b8ad286cf75d1342ba8a4c896e51d28094058e'}}, 'author_association': 'MEMBER', 'auto_merge': None, 'assignee': None, 'active_lock_reason': None}, 'changes': {}, 'repository': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-11-05T13:59:54Z', 'pushed_at': '2026-11-04T20:55:25Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 563769, 'stargazers_count': 15770, 'watchers_count': 15770, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3382, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 484, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3382, 'open_issues': 484, 'watchers': 15770, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'sepalani', 'id': 7890055, 'node_id': 'MDQ6VXNlcjc4OTAwNTU=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7890055?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/sepalani', 'html_url': 'https://github.com/sepalani', 'followers_url': 'https://api.github.com/users/sepalani/followers', 'following_url': 'https://api.github.com/users/sepalani/following{/other_user}', 'gists_url': 'https://api.github.com/users/sepalani/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/sepalani/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/sepalani/subscriptions', 'organizations_url': 'https://api.github.com/users/sepalani/orgs', 'repos_url': 'https://api.github.com/users/sepalani/repos', 'events_url': 'https://api.github.com/users/sepalani/events{/privacy}', 'received_events_url': 'https://api.github.com/users/sepalani/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'raw_gh_hook'}
2026-11-05T14:35:40.244821	{'source': 'webserver', 'gh_type': 'pull_request', 'raw': {'action': 'synchronize', 'number': 14927, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14927', 'id': 4802638783, 'node_id': 'PR_kwDOALCn2M8AAAABHkJzvw', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14927', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14927.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14927.patch', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14927', 'number': 14927, 'state': 'open', 'locked': False, 'title': 'Externals: Replace submodules with FetchContent', 'user': {'login': 'JoshuaVandaele', 'id': 24195176, 'node_id': 'MDQ6VXNlcjI0MTk1MTc2', 'avatar_url': 'https://avatars.githubusercontent.com/u/24195176?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/JoshuaVandaele', 'html_url': 'https://github.com/JoshuaVandaele', 'followers_url': 'https://api.github.com/users/JoshuaVandaele/followers', 'following_url': 'https://api.github.com/users/JoshuaVandaele/following{/other_user}', 'gists_url': 'https://api.github.com/users/JoshuaVandaele/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/JoshuaVandaele/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/JoshuaVandaele/subscriptions', 'organizations_url': 'https://api.github.com/users/JoshuaVandaele/orgs', 'repos_url': 'https://api.github.com/users/JoshuaVandaele/repos', 'events_url': 'https://api.github.com/users/JoshuaVandaele/events{/privacy}', 'received_events_url': 'https://api.github.com/users/JoshuaVandaele/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': "This replaces our Git submodule usage with CMake's FetchContent. This brings a few advantages, such as automatically only pulling what you need, and doing away with having to tinker with `git submodule`. I took the opportunity to do some minor-ish cleanups as well.\n\nBased on #14793", 'created_at': '2026-10-09T15:42:42Z', 'updated_at': '2026-11-05T14:35:38Z', 'closed_at': None, 'merged_at': None, 'merge_commit_sha': '0cdfd033e5aa1e642150a10c0760e498cc5d9909', 'assignees': [], 'requested_reviewers': [], 'requested_teams': [], 'labels': [], 'milestone': None, 'draft': True, 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14927/commits', 'review_comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14927/comments', 'review_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments{/number}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14927/comments', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/4368a8517451044abb78363829cf067bccf99798', 'head': {'label': 'JoshuaVandaele:nosubmodules', 'ref': 'nosubmodules', 'sha': '4368a8517451044abb78363829cf067bccf99798', 'user': {'login': 'JoshuaVandaele', 'id': 24195176, 'node_id': 'MDQ6VXNlcjI0MTk1MTc2', 'avatar_url': 'https://avatars.githubusercontent.com/u/24195176?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/JoshuaVandaele', 'html_url': 'https://github.com/JoshuaVandaele', 'followers_url': 'https://api.github.com/users/JoshuaVandaele/followers', 'following_url': 'https://api.github.com/users/JoshuaVandaele/following{/other_user}', 'gists_url': 'https://api.github.com/users/JoshuaVandaele/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/JoshuaVandaele/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/JoshuaVandaele/subscriptions', 'organizations_url': 'https://api.github.com/users/JoshuaVandaele/orgs', 'repos_url': 'https://api.github.com/users/JoshuaVandaele/repos', 'events_url': 'https://api.github.com/users/JoshuaVandaele/events{/privacy}', 'received_events_url': 'https://api.github.com/users/JoshuaVandaele/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 915253252, 'node_id': 'R_kgDONo2oBA', 'name': 'dolphin', 'full_name': 'JoshuaVandaele/dolphin', 'private': False, 'owner': {'login': 'JoshuaVandaele', 'id': 24195176, 'node_id': 'MDQ6VXNlcjI0MTk1MTc2', 'avatar_url': 'https://avatars.githubusercontent.com/u/24195176?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/JoshuaVandaele', 'html_url': 'https://github.com/JoshuaVandaele', 'followers_url': 'https://api.github.com/users/JoshuaVandaele/followers', 'following_url': 'https://api.github.com/users/JoshuaVandaele/following{/other_user}', 'gists_url': 'https://api.github.com/users/JoshuaVandaele/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/JoshuaVandaele/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/JoshuaVandaele/subscriptions', 'organizations_url': 'https://api.github.com/users/JoshuaVandaele/orgs', 'repos_url': 'https://api.github.com/users/JoshuaVandaele/repos', 'events_url': 'https://api.github.com/users/JoshuaVandaele/events{/privacy}', 'received_events_url': 'https://api.github.com/users/JoshuaVandaele/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/JoshuaVandaele/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': True, 'url': 'https://api.github.com/repos/JoshuaVandaele/dolphin', 'forks_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/forks', 'keys_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/events', 'assignees_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/merges', 'archive_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/deployments', 'created_at': '2025-01-11T11:19:57Z', 'updated_at': '2026-10-25T13:00:05Z', 'pushed_at': '2026-11-05T14:35:37Z', 'git_url': 'git://github.com/JoshuaVandaele/dolphin.git', 'ssh_url': 'git@github.com:JoshuaVandaele/dolphin.git', 'clone_url': 'https://github.com/JoshuaVandaele/dolphin.git', 'svn_url': 'https://github.com/JoshuaVandaele/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 522677, 'stargazers_count': 1, 'watchers_count': 1, 'language': 'C++', 'has_issues': False, 'has_projects': True, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 1, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 0, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': [], 'visibility': 'public', 'forks': 1, 'open_issues': 0, 'watchers': 1, 'default_branch': 'master', 'allow_squash_merge': True, 'allow_merge_commit': True, 'allow_rebase_merge': True, 'allow_auto_merge': False, 'delete_branch_on_merge': False, 'allow_update_branch': False, 'use_squash_pr_title_as_default': False, 'squash_merge_commit_message': 'COMMIT_MESSAGES', 'squash_merge_commit_title': 'COMMIT_OR_PR_TITLE', 'merge_commit_message': 'PR_TITLE', 'merge_commit_title': 'MERGE_MESSAGE'}}, 'base': {'label': 'dolphin-emu:master', 'ref': 'master', 'sha': '66df2b4e18ae6169f9718b869da334022914e305', 'user': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-11-05T13:59:54Z', 'pushed_at': '2026-11-04T20:55:25Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 563769, 'stargazers_count': 15770, 'watchers_count': 15770, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3382, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 484, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3382, 'open_issues': 484, 'watchers': 15770, 'default_branch': 'master', 'allow_squash_merge': False, 'allow_merge_commit': True, 'allow_rebase_merge': False, 'allow_auto_merge': False, 'delete_branch_on_merge': False, 'allow_update_branch': False, 'use_squash_pr_title_as_default': False, 'squash_merge_commit_message': 'COMMIT_MESSAGES', 'squash_merge_commit_title': 'COMMIT_OR_PR_TITLE', 'merge_commit_message': 'PR_TITLE', 'merge_commit_title': 'MERGE_MESSAGE'}}, '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14927'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14927'}, 'issue': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14927'}, 'comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14927/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14927/comments'}, 'review_comment': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments{/number}'}, 'commits': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14927/commits'}, 'statuses': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/4368a8517451044abb78363829cf067bccf99798'}}, 'author_association': 'CONTRIBUTOR', 'auto_merge': None, 'assignee': None, 'active_lock_reason': None, 'merged': False, 'mergeable': None, 'rebaseable': None, 'mergeable_state': 'unknown', 'merged_by': None, 'comments': 1, 'review_comments': 0, 'maintainer_can_modify': True, 'commits': 35, 'additions': 540, 'deletions': 1004, 'changed_files': 95}, 'before': 'da5b636e5470a9c17bde02b29107c67cfe15e256', 'after': '4368a8517451044abb78363829cf067bccf99798', 'repository': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-11-05T13:59:54Z', 'pushed_at': '2026-11-04T20:55:25Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 563769, 'stargazers_count': 15770, 'watchers_count': 15770, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3382, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 484, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3382, 'open_issues': 484, 'watchers': 15770, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'JoshuaVandaele', 'id': 24195176, 'node_id': 'MDQ6VXNlcjI0MTk1MTc2', 'avatar_url': 'https://avatars.githubusercontent.com/u/24195176?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/JoshuaVandaele', 'html_url': 'https://github.com/JoshuaVandaele', 'followers_url': 'https://api.github.com/users/JoshuaVandaele/followers', 'following_url': 'https://api.github.com/users/JoshuaVandaele/following{/other_user}', 'gists_url': 'https://api.github.com/users/JoshuaVandaele/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/JoshuaVandaele/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/JoshuaVandaele/subscriptions', 'organizations_url': 'https://api.github.com/users/JoshuaVandaele/orgs', 'repos_url': 'https://api.github.com/users/JoshuaVandaele/repos', 'events_url': 'https://api.github.com/users/JoshuaVandaele/events{/privacy}', 'received_events_url': 'https://api.github.com/users/JoshuaVandaele/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'raw_gh_hook'}
2026-11-05T14:27:03.411450	{'source': 'webserver', 'gh_type': 'pull_request', 'raw': {'action': 'synchronize', 'number': 14927, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14927', 'id': 4802638783, 'node_id': 'PR_kwDOALCn2M8AAAABHkJzvw', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14927', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14927.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14927.patch', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14927', 'number': 14927, 'state': 'open', 'locked': False, 'title': 'Externals: Replace submodules with FetchContent', 'user': {'login': 'JoshuaVandaele', 'id': 24195176, 'node_id': 'MDQ6VXNlcjI0MTk1MTc2', 'avatar_url': 'https://avatars.githubusercontent.com/u/24195176?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/JoshuaVandaele', 'html_url': 'https://github.com/JoshuaVandaele', 'followers_url': 'https://api.github.com/users/JoshuaVandaele/followers', 'following_url': 'https://api.github.com/users/JoshuaVandaele/following{/other_user}', 'gists_url': 'https://api.github.com/users/JoshuaVandaele/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/JoshuaVandaele/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/JoshuaVandaele/subscriptions', 'organizations_url': 'https://api.github.com/users/JoshuaVandaele/orgs', 'repos_url': 'https://api.github.com/users/JoshuaVandaele/repos', 'events_url': 'https://api.github.com/users/JoshuaVandaele/events{/privacy}', 'received_events_url': 'https://api.github.com/users/JoshuaVandaele/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': "This replaces our Git submodule usage with CMake's FetchContent. This brings a few advantages, such as automatically only pulling what you need, and doing away with having to tinker with `git submodule`. I took the opportunity to do some minor-ish cleanups as well.\n\nBased on #14793", 'created_at': '2026-10-09T15:42:42Z', 'updated_at': '2026-11-05T14:27:00Z', 'closed_at': None, 'merged_at': None, 'merge_commit_sha': '7f1b7a190f4dc26a9e50dfbd5ff71e39ecd334a3', 'assignees': [], 'requested_reviewers': [], 'requested_teams': [], 'labels': [], 'milestone': None, 'draft': True, 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14927/commits', 'review_comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14927/comments', 'review_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments{/number}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14927/comments', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/da5b636e5470a9c17bde02b29107c67cfe15e256', 'head': {'label': 'JoshuaVandaele:nosubmodules', 'ref': 'nosubmodules', 'sha': 'da5b636e5470a9c17bde02b29107c67cfe15e256', 'user': {'login': 'JoshuaVandaele', 'id': 24195176, 'node_id': 'MDQ6VXNlcjI0MTk1MTc2', 'avatar_url': 'https://avatars.githubusercontent.com/u/24195176?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/JoshuaVandaele', 'html_url': 'https://github.com/JoshuaVandaele', 'followers_url': 'https://api.github.com/users/JoshuaVandaele/followers', 'following_url': 'https://api.github.com/users/JoshuaVandaele/following{/other_user}', 'gists_url': 'https://api.github.com/users/JoshuaVandaele/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/JoshuaVandaele/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/JoshuaVandaele/subscriptions', 'organizations_url': 'https://api.github.com/users/JoshuaVandaele/orgs', 'repos_url': 'https://api.github.com/users/JoshuaVandaele/repos', 'events_url': 'https://api.github.com/users/JoshuaVandaele/events{/privacy}', 'received_events_url': 'https://api.github.com/users/JoshuaVandaele/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 915253252, 'node_id': 'R_kgDONo2oBA', 'name': 'dolphin', 'full_name': 'JoshuaVandaele/dolphin', 'private': False, 'owner': {'login': 'JoshuaVandaele', 'id': 24195176, 'node_id': 'MDQ6VXNlcjI0MTk1MTc2', 'avatar_url': 'https://avatars.githubusercontent.com/u/24195176?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/JoshuaVandaele', 'html_url': 'https://github.com/JoshuaVandaele', 'followers_url': 'https://api.github.com/users/JoshuaVandaele/followers', 'following_url': 'https://api.github.com/users/JoshuaVandaele/following{/other_user}', 'gists_url': 'https://api.github.com/users/JoshuaVandaele/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/JoshuaVandaele/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/JoshuaVandaele/subscriptions', 'organizations_url': 'https://api.github.com/users/JoshuaVandaele/orgs', 'repos_url': 'https://api.github.com/users/JoshuaVandaele/repos', 'events_url': 'https://api.github.com/users/JoshuaVandaele/events{/privacy}', 'received_events_url': 'https://api.github.com/users/JoshuaVandaele/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/JoshuaVandaele/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': True, 'url': 'https://api.github.com/repos/JoshuaVandaele/dolphin', 'forks_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/forks', 'keys_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/events', 'assignees_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/merges', 'archive_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/deployments', 'created_at': '2025-01-11T11:19:57Z', 'updated_at': '2026-10-25T13:00:05Z', 'pushed_at': '2026-11-05T14:26:59Z', 'git_url': 'git://github.com/JoshuaVandaele/dolphin.git', 'ssh_url': 'git@github.com:JoshuaVandaele/dolphin.git', 'clone_url': 'https://github.com/JoshuaVandaele/dolphin.git', 'svn_url': 'https://github.com/JoshuaVandaele/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 522677, 'stargazers_count': 1, 'watchers_count': 1, 'language': 'C++', 'has_issues': False, 'has_projects': True, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 1, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 0, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': [], 'visibility': 'public', 'forks': 1, 'open_issues': 0, 'watchers': 1, 'default_branch': 'master', 'allow_squash_merge': True, 'allow_merge_commit': True, 'allow_rebase_merge': True, 'allow_auto_merge': False, 'delete_branch_on_merge': False, 'allow_update_branch': False, 'use_squash_pr_title_as_default': False, 'squash_merge_commit_message': 'COMMIT_MESSAGES', 'squash_merge_commit_title': 'COMMIT_OR_PR_TITLE', 'merge_commit_message': 'PR_TITLE', 'merge_commit_title': 'MERGE_MESSAGE'}}, 'base': {'label': 'dolphin-emu:master', 'ref': 'master', 'sha': '66df2b4e18ae6169f9718b869da334022914e305', 'user': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-11-05T13:59:54Z', 'pushed_at': '2026-11-04T20:55:25Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 563769, 'stargazers_count': 15770, 'watchers_count': 15770, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3382, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 484, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3382, 'open_issues': 484, 'watchers': 15770, 'default_branch': 'master', 'allow_squash_merge': False, 'allow_merge_commit': True, 'allow_rebase_merge': False, 'allow_auto_merge': False, 'delete_branch_on_merge': False, 'allow_update_branch': False, 'use_squash_pr_title_as_default': False, 'squash_merge_commit_message': 'COMMIT_MESSAGES', 'squash_merge_commit_title': 'COMMIT_OR_PR_TITLE', 'merge_commit_message': 'PR_TITLE', 'merge_commit_title': 'MERGE_MESSAGE'}}, '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14927'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14927'}, 'issue': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14927'}, 'comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14927/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14927/comments'}, 'review_comment': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments{/number}'}, 'commits': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14927/commits'}, 'statuses': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/da5b636e5470a9c17bde02b29107c67cfe15e256'}}, 'author_association': 'CONTRIBUTOR', 'auto_merge': None, 'assignee': None, 'active_lock_reason': None, 'merged': False, 'mergeable': None, 'rebaseable': None, 'mergeable_state': 'unknown', 'merged_by': None, 'comments': 1, 'review_comments': 0, 'maintainer_can_modify': True, 'commits': 35, 'additions': 513, 'deletions': 1006, 'changed_files': 94}, 'before': 'ec0f2e64591fdce5b505b8fbf9b02328462194d0', 'after': 'da5b636e5470a9c17bde02b29107c67cfe15e256', 'repository': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-11-05T13:59:54Z', 'pushed_at': '2026-11-04T20:55:25Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 563769, 'stargazers_count': 15770, 'watchers_count': 15770, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3382, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 484, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3382, 'open_issues': 484, 'watchers': 15770, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'JoshuaVandaele', 'id': 24195176, 'node_id': 'MDQ6VXNlcjI0MTk1MTc2', 'avatar_url': 'https://avatars.githubusercontent.com/u/24195176?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/JoshuaVandaele', 'html_url': 'https://github.com/JoshuaVandaele', 'followers_url': 'https://api.github.com/users/JoshuaVandaele/followers', 'following_url': 'https://api.github.com/users/JoshuaVandaele/following{/other_user}', 'gists_url': 'https://api.github.com/users/JoshuaVandaele/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/JoshuaVandaele/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/JoshuaVandaele/subscriptions', 'organizations_url': 'https://api.github.com/users/JoshuaVandaele/orgs', 'repos_url': 'https://api.github.com/users/JoshuaVandaele/repos', 'events_url': 'https://api.github.com/users/JoshuaVandaele/events{/privacy}', 'received_events_url': 'https://api.github.com/users/JoshuaVandaele/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'raw_gh_hook'}
2026-11-05T14:17:46.853568	{'source': 'webserver', 'gh_type': 'pull_request_review_comment', 'raw': {'action': 'created', 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4481534652', 'pull_request_review_id': 5786335634, 'id': 4481534652, 'node_id': 'PRRC_kwDOALCn2M8AAAABCx7KvA', 'diff_hunk': '@@ -207,14 +208,9 @@ std::string LogManager::GetTimestamp()\n   const auto now = std::chrono::system_clock::now();\n   const auto now_s = std::chrono::floor<std::chrono::seconds>(now);\n   const auto now_ms = std::chrono::floor<std::chrono::milliseconds>(now);\n-  return fmt::format("{:%M:%S}:{:03}", now_s, (now_ms - now_s).count());\n-}\n \n-void LogManager::LogWithFullPath(LogLevel level, LogType type, const char* file, int line,\n-                                 std::string_view message)\n-{\n-  const std::string msg =\n-      fmt::format("{} {}:{} {}[{}]: {}\\n", GetTimestamp(), file, line,\n+  std::string msg =', 'path': 'Source/Core/Common/Logging/LogManager.cpp', 'commit_id': '706ad79768d8817f043ff7562bb6a932155e7a9e', 'original_commit_id': '706ad79768d8817f043ff7562bb6a932155e7a9e', 'user': {'login': 'sepalani', 'id': 7890055, 'node_id': 'MDQ6VXNlcjc4OTAwNTU=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7890055?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/sepalani', 'html_url': 'https://github.com/sepalani', 'followers_url': 'https://api.github.com/users/sepalani/followers', 'following_url': 'https://api.github.com/users/sepalani/following{/other_user}', 'gists_url': 'https://api.github.com/users/sepalani/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/sepalani/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/sepalani/subscriptions', 'organizations_url': 'https://api.github.com/users/sepalani/orgs', 'repos_url': 'https://api.github.com/users/sepalani/repos', 'events_url': 'https://api.github.com/users/sepalani/events{/privacy}', 'received_events_url': 'https://api.github.com/users/sepalani/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': 'Is there a reason for dropping the `const`, here?', 'created_at': '2026-11-05T14:17:22Z', 'updated_at': '2026-11-05T14:17:44Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14985#discussion_r4481534652', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14985', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4481534652'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14985#discussion_r4481534652'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14985'}}, 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4481534652/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'start_line': 216, 'original_start_line': 216, 'start_side': 'LEFT', 'line': 212, 'original_line': 212, 'side': 'RIGHT', 'author_association': 'CONTRIBUTOR', 'original_position': 22, 'position': 22, 'subject_type': 'line'}, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14985', 'id': 5164349638, 'node_id': 'PR_kwDOALCn2M8AAAABM9G4xg', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14985', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14985.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14985.patch', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14985', 'number': 14985, 'state': 'open', 'locked': False, 'title': 'Common/Logging: Minor cleanups and optimizations.', 'user': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': None, 'created_at': '2026-11-05T01:14:02Z', 'updated_at': '2026-11-05T11:39:15Z', 'closed_at': None, 'merged_at': None, 'merge_commit_sha': '676ef2b47892dbf83f8490b9d19c35e415d77058', 'assignees': [], 'requested_reviewers': [], 'requested_teams': [], 'labels': [], 'milestone': None, 'draft': False, 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14985/commits', 'review_comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14985/comments', 'review_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments{/number}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14985/comments', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/706ad79768d8817f043ff7562bb6a932155e7a9e', 'head': {'label': 'jordan-woyak:log-manager-minor-optimizations', 'ref': 'log-manager-minor-optimizations', 'sha': '706ad79768d8817f043ff7562bb6a932155e7a9e', 'user': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 16818408, 'node_id': 'MDEwOlJlcG9zaXRvcnkxNjgxODQwOA==', 'name': 'dolphin', 'full_name': 'jordan-woyak/dolphin', 'private': False, 'owner': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/jordan-woyak/dolphin', 'description': 'Dolphin is a GameCube/Wii emulator, allowing you to play games for these two platforms on PC, with improvements.', 'fork': True, 'url': 'https://api.github.com/repos/jordan-woyak/dolphin', 'forks_url': 'https://api.github.com/repos/jordan-woyak/dolphin/forks', 'keys_url': 'https://api.github.com/repos/jordan-woyak/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/jordan-woyak/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/jordan-woyak/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/jordan-woyak/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/jordan-woyak/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/jordan-woyak/dolphin/events', 'assignees_url': 'https://api.github.com/repos/jordan-woyak/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/jordan-woyak/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/jordan-woyak/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/jordan-woyak/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/jordan-woyak/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/jordan-woyak/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/jordan-woyak/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/jordan-woyak/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/jordan-woyak/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/jordan-woyak/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/jordan-woyak/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/jordan-woyak/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/jordan-woyak/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/jordan-woyak/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/jordan-woyak/dolphin/merges', 'archive_url': 'https://api.github.com/repos/jordan-woyak/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/jordan-woyak/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/jordan-woyak/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/jordan-woyak/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/jordan-woyak/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/jordan-woyak/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/jordan-woyak/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/jordan-woyak/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/jordan-woyak/dolphin/deployments', 'created_at': '2014-02-13T21:50:38Z', 'updated_at': '2026-06-27T21:22:47Z', 'pushed_at': '2026-11-05T07:59:42Z', 'git_url': 'git://github.com/jordan-woyak/dolphin.git', 'ssh_url': 'git@github.com:jordan-woyak/dolphin.git', 'clone_url': 'https://github.com/jordan-woyak/dolphin.git', 'svn_url': 'https://github.com/jordan-woyak/dolphin', 'homepage': None, 'size': 530464, 'stargazers_count': 5, 'watchers_count': 5, 'language': 'C++', 'has_issues': False, 'has_projects': True, 'has_downloads': False, 'has_wiki': False, 'has_pages': False, 'has_discussions': False, 'forks_count': 5, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 2, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': [], 'visibility': 'public', 'forks': 5, 'open_issues': 2, 'watchers': 5, 'default_branch': 'master', 'allow_squash_merge': True, 'allow_merge_commit': True, 'allow_rebase_merge': True, 'allow_auto_merge': False, 'delete_branch_on_merge': True, 'allow_update_branch': False, 'use_squash_pr_title_as_default': False, 'squash_merge_commit_message': 'COMMIT_MESSAGES', 'squash_merge_commit_title': 'COMMIT_OR_PR_TITLE', 'merge_commit_message': 'PR_TITLE', 'merge_commit_title': 'MERGE_MESSAGE'}}, 'base': {'label': 'dolphin-emu:master', 'ref': 'master', 'sha': '66df2b4e18ae6169f9718b869da334022914e305', 'user': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-11-05T13:59:54Z', 'pushed_at': '2026-11-04T20:55:25Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 563769, 'stargazers_count': 15770, 'watchers_count': 15770, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3382, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 484, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3382, 'open_issues': 484, 'watchers': 15770, 'default_branch': 'master', 'allow_squash_merge': False, 'allow_merge_commit': True, 'allow_rebase_merge': False, 'allow_auto_merge': False, 'delete_branch_on_merge': False, 'allow_update_branch': False, 'use_squash_pr_title_as_default': False, 'squash_merge_commit_message': 'COMMIT_MESSAGES', 'squash_merge_commit_title': 'COMMIT_OR_PR_TITLE', 'merge_commit_message': 'PR_TITLE', 'merge_commit_title': 'MERGE_MESSAGE'}}, '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14985'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14985'}, 'issue': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14985'}, 'comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14985/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14985/comments'}, 'review_comment': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments{/number}'}, 'commits': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14985/commits'}, 'statuses': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/706ad79768d8817f043ff7562bb6a932155e7a9e'}}, 'author_association': 'MEMBER', 'auto_merge': None, 'assignee': None, 'active_lock_reason': None}, 'repository': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-11-05T13:59:54Z', 'pushed_at': '2026-11-04T20:55:25Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 563769, 'stargazers_count': 15770, 'watchers_count': 15770, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3382, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 484, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3382, 'open_issues': 484, 'watchers': 15770, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'sepalani', 'id': 7890055, 'node_id': 'MDQ6VXNlcjc4OTAwNTU=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7890055?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/sepalani', 'html_url': 'https://github.com/sepalani', 'followers_url': 'https://api.github.com/users/sepalani/followers', 'following_url': 'https://api.github.com/users/sepalani/following{/other_user}', 'gists_url': 'https://api.github.com/users/sepalani/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/sepalani/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/sepalani/subscriptions', 'organizations_url': 'https://api.github.com/users/sepalani/orgs', 'repos_url': 'https://api.github.com/users/sepalani/repos', 'events_url': 'https://api.github.com/users/sepalani/events{/privacy}', 'received_events_url': 'https://api.github.com/users/sepalani/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'raw_gh_hook'}
2026-11-05T14:17:46.851717	{'source': 'webserver', 'gh_type': 'pull_request_review', 'raw': {'action': 'submitted', 'review': {'id': 5786335634, 'node_id': 'PRR_kwDOALCn2M8AAAABWOR5kg', 'user': {'login': 'sepalani', 'id': 7890055, 'node_id': 'MDQ6VXNlcjc4OTAwNTU=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7890055?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/sepalani', 'html_url': 'https://github.com/sepalani', 'followers_url': 'https://api.github.com/users/sepalani/followers', 'following_url': 'https://api.github.com/users/sepalani/following{/other_user}', 'gists_url': 'https://api.github.com/users/sepalani/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/sepalani/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/sepalani/subscriptions', 'organizations_url': 'https://api.github.com/users/sepalani/orgs', 'repos_url': 'https://api.github.com/users/sepalani/repos', 'events_url': 'https://api.github.com/users/sepalani/events{/privacy}', 'received_events_url': 'https://api.github.com/users/sepalani/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': None, 'commit_id': '706ad79768d8817f043ff7562bb6a932155e7a9e', 'state': 'commented', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14985#pullrequestreview-5786335634', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14985', '_links': {'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14985#pullrequestreview-5786335634'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14985'}}, 'submitted_at': '2026-11-05T14:17:44Z', 'updated_at': '2026-11-05T14:17:44Z', 'author_association': 'CONTRIBUTOR'}, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14985', 'id': 5164349638, 'node_id': 'PR_kwDOALCn2M8AAAABM9G4xg', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14985', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14985.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14985.patch', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14985', 'number': 14985, 'state': 'open', 'locked': False, 'title': 'Common/Logging: Minor cleanups and optimizations.', 'user': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': None, 'created_at': '2026-11-05T01:14:02Z', 'updated_at': '2026-11-05T11:39:15Z', 'closed_at': None, 'merged_at': None, 'merge_commit_sha': '676ef2b47892dbf83f8490b9d19c35e415d77058', 'assignees': [], 'requested_reviewers': [], 'requested_teams': [], 'labels': [], 'milestone': None, 'draft': False, 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14985/commits', 'review_comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14985/comments', 'review_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments{/number}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14985/comments', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/706ad79768d8817f043ff7562bb6a932155e7a9e', 'head': {'label': 'jordan-woyak:log-manager-minor-optimizations', 'ref': 'log-manager-minor-optimizations', 'sha': '706ad79768d8817f043ff7562bb6a932155e7a9e', 'user': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 16818408, 'node_id': 'MDEwOlJlcG9zaXRvcnkxNjgxODQwOA==', 'name': 'dolphin', 'full_name': 'jordan-woyak/dolphin', 'private': False, 'owner': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/jordan-woyak/dolphin', 'description': 'Dolphin is a GameCube/Wii emulator, allowing you to play games for these two platforms on PC, with improvements.', 'fork': True, 'url': 'https://api.github.com/repos/jordan-woyak/dolphin', 'forks_url': 'https://api.github.com/repos/jordan-woyak/dolphin/forks', 'keys_url': 'https://api.github.com/repos/jordan-woyak/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/jordan-woyak/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/jordan-woyak/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/jordan-woyak/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/jordan-woyak/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/jordan-woyak/dolphin/events', 'assignees_url': 'https://api.github.com/repos/jordan-woyak/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/jordan-woyak/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/jordan-woyak/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/jordan-woyak/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/jordan-woyak/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/jordan-woyak/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/jordan-woyak/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/jordan-woyak/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/jordan-woyak/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/jordan-woyak/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/jordan-woyak/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/jordan-woyak/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/jordan-woyak/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/jordan-woyak/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/jordan-woyak/dolphin/merges', 'archive_url': 'https://api.github.com/repos/jordan-woyak/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/jordan-woyak/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/jordan-woyak/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/jordan-woyak/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/jordan-woyak/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/jordan-woyak/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/jordan-woyak/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/jordan-woyak/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/jordan-woyak/dolphin/deployments', 'created_at': '2014-02-13T21:50:38Z', 'updated_at': '2026-06-27T21:22:47Z', 'pushed_at': '2026-11-05T07:59:42Z', 'git_url': 'git://github.com/jordan-woyak/dolphin.git', 'ssh_url': 'git@github.com:jordan-woyak/dolphin.git', 'clone_url': 'https://github.com/jordan-woyak/dolphin.git', 'svn_url': 'https://github.com/jordan-woyak/dolphin', 'homepage': None, 'size': 530464, 'stargazers_count': 5, 'watchers_count': 5, 'language': 'C++', 'has_issues': False, 'has_projects': True, 'has_downloads': False, 'has_wiki': False, 'has_pages': False, 'has_discussions': False, 'forks_count': 5, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 2, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': [], 'visibility': 'public', 'forks': 5, 'open_issues': 2, 'watchers': 5, 'default_branch': 'master', 'allow_squash_merge': True, 'allow_merge_commit': True, 'allow_rebase_merge': True, 'allow_auto_merge': False, 'delete_branch_on_merge': True, 'allow_update_branch': False, 'use_squash_pr_title_as_default': False, 'squash_merge_commit_message': 'COMMIT_MESSAGES', 'squash_merge_commit_title': 'COMMIT_OR_PR_TITLE', 'merge_commit_message': 'PR_TITLE', 'merge_commit_title': 'MERGE_MESSAGE'}}, 'base': {'label': 'dolphin-emu:master', 'ref': 'master', 'sha': '66df2b4e18ae6169f9718b869da334022914e305', 'user': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-11-05T13:59:54Z', 'pushed_at': '2026-11-04T20:55:25Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 563769, 'stargazers_count': 15770, 'watchers_count': 15770, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3382, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 484, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3382, 'open_issues': 484, 'watchers': 15770, 'default_branch': 'master', 'allow_squash_merge': False, 'allow_merge_commit': True, 'allow_rebase_merge': False, 'allow_auto_merge': False, 'delete_branch_on_merge': False, 'allow_update_branch': False, 'use_squash_pr_title_as_default': False, 'squash_merge_commit_message': 'COMMIT_MESSAGES', 'squash_merge_commit_title': 'COMMIT_OR_PR_TITLE', 'merge_commit_message': 'PR_TITLE', 'merge_commit_title': 'MERGE_MESSAGE'}}, '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14985'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14985'}, 'issue': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14985'}, 'comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14985/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14985/comments'}, 'review_comment': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments{/number}'}, 'commits': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14985/commits'}, 'statuses': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/706ad79768d8817f043ff7562bb6a932155e7a9e'}}, 'author_association': 'MEMBER', 'auto_merge': None, 'assignee': None, 'active_lock_reason': None}, 'repository': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-11-05T13:59:54Z', 'pushed_at': '2026-11-04T20:55:25Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 563769, 'stargazers_count': 15770, 'watchers_count': 15770, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3382, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 484, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3382, 'open_issues': 484, 'watchers': 15770, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'sepalani', 'id': 7890055, 'node_id': 'MDQ6VXNlcjc4OTAwNTU=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7890055?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/sepalani', 'html_url': 'https://github.com/sepalani', 'followers_url': 'https://api.github.com/users/sepalani/followers', 'following_url': 'https://api.github.com/users/sepalani/following{/other_user}', 'gists_url': 'https://api.github.com/users/sepalani/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/sepalani/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/sepalani/subscriptions', 'organizations_url': 'https://api.github.com/users/sepalani/orgs', 'repos_url': 'https://api.github.com/users/sepalani/repos', 'events_url': 'https://api.github.com/users/sepalani/events{/privacy}', 'received_events_url': 'https://api.github.com/users/sepalani/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'raw_gh_hook'}
2026-11-05T14:17:39.624904	{'source': 'webserver', 'gh_type': 'pull_request', 'raw': {'action': 'synchronize', 'number': 14982, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14982', 'id': 5159286772, 'node_id': 'PR_kwDOALCn2M8AAAABM4R39A', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14982', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14982.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14982.patch', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14982', 'number': 14982, 'state': 'open', 'locked': False, 'title': 'Update cubeb to HEAD, use Rust if available', 'user': {'login': 'JoshuaVandaele', 'id': 24195176, 'node_id': 'MDQ6VXNlcjI0MTk1MTc2', 'avatar_url': 'https://avatars.githubusercontent.com/u/24195176?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/JoshuaVandaele', 'html_url': 'https://github.com/JoshuaVandaele', 'followers_url': 'https://api.github.com/users/JoshuaVandaele/followers', 'following_url': 'https://api.github.com/users/JoshuaVandaele/following{/other_user}', 'gists_url': 'https://api.github.com/users/JoshuaVandaele/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/JoshuaVandaele/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/JoshuaVandaele/subscriptions', 'organizations_url': 'https://api.github.com/users/JoshuaVandaele/orgs', 'repos_url': 'https://api.github.com/users/JoshuaVandaele/repos', 'events_url': 'https://api.github.com/users/JoshuaVandaele/events{/privacy}', 'received_events_url': 'https://api.github.com/users/JoshuaVandaele/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': "The PulseAudio and AudioUnit backends, (as well as the WASAPI backend in the future) now use Rust. We currently rely on the legacy C/C++ implementations which are deprecated and scheduled to be removed in a future version. If Cargo (Rust's package manager) is present on the system, we now build cubeb with the new implementations.", 'created_at': '2026-11-04T18:14:39Z', 'updated_at': '2026-11-05T14:17:37Z', 'closed_at': None, 'merged_at': None, 'merge_commit_sha': '7e3fa5f80266bee26d27fcc5a79a6f4b9cee330e', 'assignees': [], 'requested_reviewers': [], 'requested_teams': [], 'labels': [], 'milestone': None, 'draft': False, 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14982/commits', 'review_comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14982/comments', 'review_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments{/number}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14982/comments', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/cd14ca88fc860eb8ea12e9adfe023328744c8593', 'head': {'label': 'JoshuaVandaele:cubeb-rs', 'ref': 'cubeb-rs', 'sha': 'cd14ca88fc860eb8ea12e9adfe023328744c8593', 'user': {'login': 'JoshuaVandaele', 'id': 24195176, 'node_id': 'MDQ6VXNlcjI0MTk1MTc2', 'avatar_url': 'https://avatars.githubusercontent.com/u/24195176?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/JoshuaVandaele', 'html_url': 'https://github.com/JoshuaVandaele', 'followers_url': 'https://api.github.com/users/JoshuaVandaele/followers', 'following_url': 'https://api.github.com/users/JoshuaVandaele/following{/other_user}', 'gists_url': 'https://api.github.com/users/JoshuaVandaele/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/JoshuaVandaele/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/JoshuaVandaele/subscriptions', 'organizations_url': 'https://api.github.com/users/JoshuaVandaele/orgs', 'repos_url': 'https://api.github.com/users/JoshuaVandaele/repos', 'events_url': 'https://api.github.com/users/JoshuaVandaele/events{/privacy}', 'received_events_url': 'https://api.github.com/users/JoshuaVandaele/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 915253252, 'node_id': 'R_kgDONo2oBA', 'name': 'dolphin', 'full_name': 'JoshuaVandaele/dolphin', 'private': False, 'owner': {'login': 'JoshuaVandaele', 'id': 24195176, 'node_id': 'MDQ6VXNlcjI0MTk1MTc2', 'avatar_url': 'https://avatars.githubusercontent.com/u/24195176?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/JoshuaVandaele', 'html_url': 'https://github.com/JoshuaVandaele', 'followers_url': 'https://api.github.com/users/JoshuaVandaele/followers', 'following_url': 'https://api.github.com/users/JoshuaVandaele/following{/other_user}', 'gists_url': 'https://api.github.com/users/JoshuaVandaele/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/JoshuaVandaele/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/JoshuaVandaele/subscriptions', 'organizations_url': 'https://api.github.com/users/JoshuaVandaele/orgs', 'repos_url': 'https://api.github.com/users/JoshuaVandaele/repos', 'events_url': 'https://api.github.com/users/JoshuaVandaele/events{/privacy}', 'received_events_url': 'https://api.github.com/users/JoshuaVandaele/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/JoshuaVandaele/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': True, 'url': 'https://api.github.com/repos/JoshuaVandaele/dolphin', 'forks_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/forks', 'keys_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/events', 'assignees_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/merges', 'archive_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/deployments', 'created_at': '2025-01-11T11:19:57Z', 'updated_at': '2026-10-25T13:00:05Z', 'pushed_at': '2026-11-05T14:17:36Z', 'git_url': 'git://github.com/JoshuaVandaele/dolphin.git', 'ssh_url': 'git@github.com:JoshuaVandaele/dolphin.git', 'clone_url': 'https://github.com/JoshuaVandaele/dolphin.git', 'svn_url': 'https://github.com/JoshuaVandaele/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 522677, 'stargazers_count': 1, 'watchers_count': 1, 'language': 'C++', 'has_issues': False, 'has_projects': True, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 1, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 0, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': [], 'visibility': 'public', 'forks': 1, 'open_issues': 0, 'watchers': 1, 'default_branch': 'master', 'allow_squash_merge': True, 'allow_merge_commit': True, 'allow_rebase_merge': True, 'allow_auto_merge': False, 'delete_branch_on_merge': False, 'allow_update_branch': False, 'use_squash_pr_title_as_default': False, 'squash_merge_commit_message': 'COMMIT_MESSAGES', 'squash_merge_commit_title': 'COMMIT_OR_PR_TITLE', 'merge_commit_message': 'PR_TITLE', 'merge_commit_title': 'MERGE_MESSAGE'}}, 'base': {'label': 'dolphin-emu:master', 'ref': 'master', 'sha': '66df2b4e18ae6169f9718b869da334022914e305', 'user': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-11-05T13:59:54Z', 'pushed_at': '2026-11-04T20:55:25Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 563769, 'stargazers_count': 15770, 'watchers_count': 15770, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3382, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 484, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3382, 'open_issues': 484, 'watchers': 15770, 'default_branch': 'master', 'allow_squash_merge': False, 'allow_merge_commit': True, 'allow_rebase_merge': False, 'allow_auto_merge': False, 'delete_branch_on_merge': False, 'allow_update_branch': False, 'use_squash_pr_title_as_default': False, 'squash_merge_commit_message': 'COMMIT_MESSAGES', 'squash_merge_commit_title': 'COMMIT_OR_PR_TITLE', 'merge_commit_message': 'PR_TITLE', 'merge_commit_title': 'MERGE_MESSAGE'}}, '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14982'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14982'}, 'issue': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14982'}, 'comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14982/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14982/comments'}, 'review_comment': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments{/number}'}, 'commits': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14982/commits'}, 'statuses': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/cd14ca88fc860eb8ea12e9adfe023328744c8593'}}, 'author_association': 'CONTRIBUTOR', 'auto_merge': None, 'assignee': None, 'active_lock_reason': None, 'merged': False, 'mergeable': None, 'rebaseable': None, 'mergeable_state': 'unknown', 'merged_by': None, 'comments': 0, 'review_comments': 2, 'maintainer_can_modify': True, 'commits': 2, 'additions': 70, 'deletions': 364, 'changed_files': 8}, 'before': '680640124bd05c56abed6e108a96d61e2c8560a2', 'after': 'cd14ca88fc860eb8ea12e9adfe023328744c8593', 'repository': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-11-05T13:59:54Z', 'pushed_at': '2026-11-04T20:55:25Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 563769, 'stargazers_count': 15770, 'watchers_count': 15770, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3382, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 484, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3382, 'open_issues': 484, 'watchers': 15770, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'JoshuaVandaele', 'id': 24195176, 'node_id': 'MDQ6VXNlcjI0MTk1MTc2', 'avatar_url': 'https://avatars.githubusercontent.com/u/24195176?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/JoshuaVandaele', 'html_url': 'https://github.com/JoshuaVandaele', 'followers_url': 'https://api.github.com/users/JoshuaVandaele/followers', 'following_url': 'https://api.github.com/users/JoshuaVandaele/following{/other_user}', 'gists_url': 'https://api.github.com/users/JoshuaVandaele/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/JoshuaVandaele/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/JoshuaVandaele/subscriptions', 'organizations_url': 'https://api.github.com/users/JoshuaVandaele/orgs', 'repos_url': 'https://api.github.com/users/JoshuaVandaele/repos', 'events_url': 'https://api.github.com/users/JoshuaVandaele/events{/privacy}', 'received_events_url': 'https://api.github.com/users/JoshuaVandaele/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'raw_gh_hook'}
2026-11-05T12:27:26.841086	{'source': 'webserver', 'gh_type': 'issue_comment', 'raw': {'action': 'edited', 'changes': {'body': {'from': 'Sorry about the Shift confusion, I had always configured them differently on xcb, so I didn’t think it was a recent regression.\r\n\r\nAs I was playing Xenoblade Chronicles, Dolphin closed with these messages in the terminal:\r\n```\r\nError sending request for wl_surface.attach: Broken pipe\r\n58:06:956 VideoBackends/Vulkan/VKGfx.cpp:270 I[Video]: Resizing swap chain due to suboptimal/out-of-date\r\n58:06:969 VideoBackends/Vulkan/VulkanLoader.cpp:245 E[Video]: (SelectSurfaceFormat:186) vkGetPhysicalDeviceSurfaceFormatsKHR failed:  (-1000000000: VK_ERROR_SURFACE_LOST_KHR)\r\nThe Wayland connection broke. Did the Wayland compositor die?\r\n```\r\n\r\nI had never encountered that on xcb, so it’s possibly a regression too.\r\n\r\nI’m on Mesa f4f170b3423 built a month ago, using radv on a RX\u202f580.  I’ll update to latest main and report back if I can reproduce.\r\n\r\nEdit: on the Weston side, here is the log at the time of the crash:\r\n```\r\n[12:58:06.935] libwayland: Data too big for buffer (4092 + 12 > 4096).\r\n[12:58:06.940] libwayland: error in client communication (pid 2849226)\r\n```\r\n\r\nEdit 2: there is actually a memory leak apparently, here is a screenshot of `btop`’s memory graph, we can see it increasing linearly before being buffered away by zram, and once that one is filled too the OOM kills it: <img width="427" height="391" alt="image" src="https://github.com/user-attachments/assets/e0433761-9d35-4a5e-a239-e0c72d154841" />\r\n\r\nEdit 3: it seems that leak comes from Qt, or possibly the way we’re using it: <img width="1920" height="1080" alt="image" src="https://github.com/user-attachments/assets/fcc485d9-b334-47de-aa5d-363d7c167b11" />'}}, 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14962', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14962/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14962/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14962/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14962', 'id': 6118829388, 'node_id': 'PR_kwDOALCn2M8AAAABLwnuUQ', 'number': 14962, 'title': 'Add Wayland support (Linux only)', 'user': {'login': 'ellierocks', 'id': 275226857, 'node_id': 'U_kgDOEGeg6Q', 'avatar_url': 'https://avatars.githubusercontent.com/u/275226857?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/ellierocks', 'html_url': 'https://github.com/ellierocks', 'followers_url': 'https://api.github.com/users/ellierocks/followers', 'following_url': 'https://api.github.com/users/ellierocks/following{/other_user}', 'gists_url': 'https://api.github.com/users/ellierocks/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/ellierocks/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/ellierocks/subscriptions', 'organizations_url': 'https://api.github.com/users/ellierocks/orgs', 'repos_url': 'https://api.github.com/users/ellierocks/repos', 'events_url': 'https://api.github.com/users/ellierocks/events{/privacy}', 'received_events_url': 'https://api.github.com/users/ellierocks/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 24, 'created_at': '2026-10-30T12:13:34Z', 'updated_at': '2026-11-05T12:25:15Z', 'closed_at': None, 'assignee': None, 'author_association': 'NONE', 'issue_field_values': [], 'type': None, 'active_lock_reason': None, 'draft': False, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14962', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14962', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14962.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14962.patch', 'merged_at': None}, 'body': 'Adds native Wayland support, so Dolphin can run without XWayland and the compositor can present the game directly. This is the same goal as #14652, but only Linux code changes. Other platforms only get two new struct fields (see "Resize"). Building with `ENABLE_WAYLAND=OFF` is unaffected.\r\n\r\nThe Vulkan surface commit is TellowKrinkle\'s and the Qt platform selection commit is BeezBumba\'s, both from #14652. Their authorship is kept.\r\n\r\n## Generative AI disclosure\r\nApart from those two commits, the code was written by Claude (Sonnet 5.5) while I directed it. It was not used for anything related to the emulated console. I, Ellie, can attest I\'ve looked through the code changes and actively avoided issues blocking the previous PR. Altering code for other platforms needlessly was avoided, the tooltips and keyboard input issues were addressed.\r\n\r\n## What changed\r\n- CMake: `ENABLE_WAYLAND` and `FindWayland.cmake`. Protocol bindings (content-type-v1, pointer-warp-v1, pointer-constraints, relative-pointer) are generated at build time and need wayland-protocols 1.41 or newer. If wayland-scanner, wayland-protocols or xkbcommon is missing, you still get a working Wayland window, but no input backend or VRR hint, and CMake warns.\r\n- Vulkan: a `VkWaylandSurfaceKHR` surface. The surface format and present mode queries retry on `VK_INCOMPLETE` instead of asserting. On Wayland the format list comes from the compositor and can change between the count query and the list query.\r\n- OpenGL: an EGL context on a `wl_egl_window`.\r\n- Resize: a `wl_surface` can\'t report its size, and Vulkan\'s `currentExtent` is undefined for it. `WindowSystemInfo` gets `render_surface_width/height` and `Presenter` gets an atomic requested-size field, which the host updates on resize. The existing surface-change API is unchanged.\r\n- Input: a ControllerInterface backend for keyboard and relative mouse, with xkbcommon key names and Center Mouse through `wp_pointer_warp_v1`. It runs on its own event queue. The Qt render widget now reports the `wl_surface` as its handle, which is what broke keyboard input and hotkeys in #14652.\r\n- VRR: the render surface sets the `wp_content_type_v1` "game" hint. `wp_tearing_control` is not used.\r\n- Tooltips: balloon tips are now `xdg_popup`s with a transient parent, because `Qt::ToolTip` with `move()` and `setMask()` doesn\'t work on Wayland.\r\n\r\n## Testing\r\nRTX 3070 Ti, on KDE Plasma, Hyprland, and Sway all with adaptive sync enabled.\r\n- Tested using the game I speedrun, LEGO Star Wars: The Video Game.\r\n- Vulkan and OpenGL both run as native Wayland windows.\r\n- Alt+Enter goes fullscreen at 3440x1440, which exercises the new keyboard and hotkey path.\r\n- VRR turns on in fullscreen and off when leaving it. On KWin the DRM `VRR_ENABLED` property read 0, 1, 0, and only while the fullscreen Dolphin window was active.\r\n- The "game" content-type hint is sent, and no `wp_tearing_control` object is created (checked in the `WAYLAND_DEBUG` log).\r\n- Balloon tooltips render correctly in Config > Graphics.\r\n- Switching to the correct input device (Wayland/0/seat0) leaves existing binds working and unchanged.\r\n- Scaling and fractional scaling work as expected.\r\n- Screen sharing using xdg-desktop-portal over Discord and recording with obs-vkcapture work as expected.\r\n\r\nEvery commit builds on Linux and is formatted with clang-format 19.1.7. I also built with `ENABLE_WAYLAND=OFF`.\r\n\r\nNot tested: Windows, macOS or Android builds. Lock Cursor isn\'t implemented on Wayland.', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14962/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'timeline_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14962/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6657447106', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14962#issuecomment-6657447106', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14962', 'id': 6657447106, 'node_id': 'IC_kwDOALCn2M8AAAABjNCUwg', 'user': {'login': 'linkmauve', 'id': 7755816, 'node_id': 'MDQ6VXNlcjc3NTU4MTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7755816?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/linkmauve', 'html_url': 'https://github.com/linkmauve', 'followers_url': 'https://api.github.com/users/linkmauve/followers', 'following_url': 'https://api.github.com/users/linkmauve/following{/other_user}', 'gists_url': 'https://api.github.com/users/linkmauve/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/linkmauve/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/linkmauve/subscriptions', 'organizations_url': 'https://api.github.com/users/linkmauve/orgs', 'repos_url': 'https://api.github.com/users/linkmauve/repos', 'events_url': 'https://api.github.com/users/linkmauve/events{/privacy}', 'received_events_url': 'https://api.github.com/users/linkmauve/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2026-11-05T12:00:58Z', 'updated_at': '2026-11-05T12:27:25Z', 'body': 'Sorry about the Shift confusion, I had always configured them differently on xcb, so I didn’t think it was a recent regression.\r\n\r\nAs I was playing Xenoblade Chronicles, Dolphin closed with these messages in the terminal:\r\n```\r\nError sending request for wl_surface.attach: Broken pipe\r\n58:06:956 VideoBackends/Vulkan/VKGfx.cpp:270 I[Video]: Resizing swap chain due to suboptimal/out-of-date\r\n58:06:969 VideoBackends/Vulkan/VulkanLoader.cpp:245 E[Video]: (SelectSurfaceFormat:186) vkGetPhysicalDeviceSurfaceFormatsKHR failed:  (-1000000000: VK_ERROR_SURFACE_LOST_KHR)\r\nThe Wayland connection broke. Did the Wayland compositor die?\r\n```\r\n\r\nI had never encountered that on xcb, so it’s possibly a regression too.\r\n\r\nI’m on Mesa f4f170b3423 built a month ago, using radv on a RX\u202f580.  I’ll update to latest main and report back if I can reproduce.\r\n\r\nEdit: on the Weston side, here is the log at the time of the crash:\r\n```\r\n[12:58:06.935] libwayland: Data too big for buffer (4092 + 12 > 4096).\r\n[12:58:06.940] libwayland: error in client communication (pid 2849226)\r\n```\r\n\r\nEdit 2: there is actually a memory leak apparently, here is a screenshot of `btop`’s memory graph, we can see it increasing linearly before being buffered away by zram, and once that one is filled too the OOM kills it: <img width="427" height="391" alt="image" src="https://github.com/user-attachments/assets/e0433761-9d35-4a5e-a239-e0c72d154841" />\r\n\r\nEdit 3: it seems that leak comes from Qt, or possibly the way we’re using it: <img width="1920" height="1080" alt="image" src="https://github.com/user-attachments/assets/fcc485d9-b334-47de-aa5d-363d7c167b11" />\r\n\r\nWe are allocating a huge amount of temporaries in `QtWaylandClient::QWaylandInputDevice::Pointer::updateCursor() in libQt6WaylandClient.so.6` as well, maybe that’s related, but they don’t get leaked.', 'author_association': 'MEMBER', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6657447106/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'performed_via_github_app': None, 'minimized': None}, 'repository': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-11-05T09:25:24Z', 'pushed_at': '2026-11-04T20:55:25Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 563769, 'stargazers_count': 15769, 'watchers_count': 15769, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3382, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 484, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3382, 'open_issues': 484, 'watchers': 15769, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'linkmauve', 'id': 7755816, 'node_id': 'MDQ6VXNlcjc3NTU4MTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7755816?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/linkmauve', 'html_url': 'https://github.com/linkmauve', 'followers_url': 'https://api.github.com/users/linkmauve/followers', 'following_url': 'https://api.github.com/users/linkmauve/following{/other_user}', 'gists_url': 'https://api.github.com/users/linkmauve/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/linkmauve/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/linkmauve/subscriptions', 'organizations_url': 'https://api.github.com/users/linkmauve/orgs', 'repos_url': 'https://api.github.com/users/linkmauve/repos', 'events_url': 'https://api.github.com/users/linkmauve/events{/privacy}', 'received_events_url': 'https://api.github.com/users/linkmauve/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'raw_gh_hook'}
2026-11-05T12:25:16.514974	{'source': 'webserver', 'gh_type': 'issue_comment', 'raw': {'action': 'edited', 'changes': {'body': {'from': 'Sorry about the Shift confusion, I had always configured them differently on xcb, so I didn’t think it was a recent regression.\r\n\r\nAs I was playing Xenoblade Chronicles, Dolphin closed with these messages in the terminal:\r\n```\r\nError sending request for wl_surface.attach: Broken pipe\r\n58:06:956 VideoBackends/Vulkan/VKGfx.cpp:270 I[Video]: Resizing swap chain due to suboptimal/out-of-date\r\n58:06:969 VideoBackends/Vulkan/VulkanLoader.cpp:245 E[Video]: (SelectSurfaceFormat:186) vkGetPhysicalDeviceSurfaceFormatsKHR failed:  (-1000000000: VK_ERROR_SURFACE_LOST_KHR)\r\nThe Wayland connection broke. Did the Wayland compositor die?\r\n```\r\n\r\nI had never encountered that on xcb, so it’s possibly a regression too.\r\n\r\nI’m on Mesa f4f170b3423 built a month ago, using radv on a RX\u202f580.  I’ll update to latest main and report back if I can reproduce.\r\n\r\nEdit: on the Weston side, here is the log at the time of the crash:\r\n```\r\n[12:58:06.935] libwayland: Data too big for buffer (4092 + 12 > 4096).\r\n[12:58:06.940] libwayland: error in client communication (pid 2849226)\r\n```\r\n\r\nEdit 2: there is actually a memory leak apparently, here is a screenshot of `btop`’s memory graph, we can see it increasing linearly before being buffered away by zram, and once that one is filled too the OOM kills it: <img width="427" height="391" alt="image" src="https://github.com/user-attachments/assets/e0433761-9d35-4a5e-a239-e0c72d154841" />'}}, 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14962', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14962/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14962/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14962/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14962', 'id': 6118829388, 'node_id': 'PR_kwDOALCn2M8AAAABLwnuUQ', 'number': 14962, 'title': 'Add Wayland support (Linux only)', 'user': {'login': 'ellierocks', 'id': 275226857, 'node_id': 'U_kgDOEGeg6Q', 'avatar_url': 'https://avatars.githubusercontent.com/u/275226857?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/ellierocks', 'html_url': 'https://github.com/ellierocks', 'followers_url': 'https://api.github.com/users/ellierocks/followers', 'following_url': 'https://api.github.com/users/ellierocks/following{/other_user}', 'gists_url': 'https://api.github.com/users/ellierocks/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/ellierocks/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/ellierocks/subscriptions', 'organizations_url': 'https://api.github.com/users/ellierocks/orgs', 'repos_url': 'https://api.github.com/users/ellierocks/repos', 'events_url': 'https://api.github.com/users/ellierocks/events{/privacy}', 'received_events_url': 'https://api.github.com/users/ellierocks/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 24, 'created_at': '2026-10-30T12:13:34Z', 'updated_at': '2026-11-05T12:12:07Z', 'closed_at': None, 'assignee': None, 'author_association': 'NONE', 'issue_field_values': [], 'type': None, 'active_lock_reason': None, 'draft': False, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14962', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14962', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14962.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14962.patch', 'merged_at': None}, 'body': 'Adds native Wayland support, so Dolphin can run without XWayland and the compositor can present the game directly. This is the same goal as #14652, but only Linux code changes. Other platforms only get two new struct fields (see "Resize"). Building with `ENABLE_WAYLAND=OFF` is unaffected.\r\n\r\nThe Vulkan surface commit is TellowKrinkle\'s and the Qt platform selection commit is BeezBumba\'s, both from #14652. Their authorship is kept.\r\n\r\n## Generative AI disclosure\r\nApart from those two commits, the code was written by Claude (Sonnet 5.5) while I directed it. It was not used for anything related to the emulated console. I, Ellie, can attest I\'ve looked through the code changes and actively avoided issues blocking the previous PR. Altering code for other platforms needlessly was avoided, the tooltips and keyboard input issues were addressed.\r\n\r\n## What changed\r\n- CMake: `ENABLE_WAYLAND` and `FindWayland.cmake`. Protocol bindings (content-type-v1, pointer-warp-v1, pointer-constraints, relative-pointer) are generated at build time and need wayland-protocols 1.41 or newer. If wayland-scanner, wayland-protocols or xkbcommon is missing, you still get a working Wayland window, but no input backend or VRR hint, and CMake warns.\r\n- Vulkan: a `VkWaylandSurfaceKHR` surface. The surface format and present mode queries retry on `VK_INCOMPLETE` instead of asserting. On Wayland the format list comes from the compositor and can change between the count query and the list query.\r\n- OpenGL: an EGL context on a `wl_egl_window`.\r\n- Resize: a `wl_surface` can\'t report its size, and Vulkan\'s `currentExtent` is undefined for it. `WindowSystemInfo` gets `render_surface_width/height` and `Presenter` gets an atomic requested-size field, which the host updates on resize. The existing surface-change API is unchanged.\r\n- Input: a ControllerInterface backend for keyboard and relative mouse, with xkbcommon key names and Center Mouse through `wp_pointer_warp_v1`. It runs on its own event queue. The Qt render widget now reports the `wl_surface` as its handle, which is what broke keyboard input and hotkeys in #14652.\r\n- VRR: the render surface sets the `wp_content_type_v1` "game" hint. `wp_tearing_control` is not used.\r\n- Tooltips: balloon tips are now `xdg_popup`s with a transient parent, because `Qt::ToolTip` with `move()` and `setMask()` doesn\'t work on Wayland.\r\n\r\n## Testing\r\nRTX 3070 Ti, on KDE Plasma, Hyprland, and Sway all with adaptive sync enabled.\r\n- Tested using the game I speedrun, LEGO Star Wars: The Video Game.\r\n- Vulkan and OpenGL both run as native Wayland windows.\r\n- Alt+Enter goes fullscreen at 3440x1440, which exercises the new keyboard and hotkey path.\r\n- VRR turns on in fullscreen and off when leaving it. On KWin the DRM `VRR_ENABLED` property read 0, 1, 0, and only while the fullscreen Dolphin window was active.\r\n- The "game" content-type hint is sent, and no `wp_tearing_control` object is created (checked in the `WAYLAND_DEBUG` log).\r\n- Balloon tooltips render correctly in Config > Graphics.\r\n- Switching to the correct input device (Wayland/0/seat0) leaves existing binds working and unchanged.\r\n- Scaling and fractional scaling work as expected.\r\n- Screen sharing using xdg-desktop-portal over Discord and recording with obs-vkcapture work as expected.\r\n\r\nEvery commit builds on Linux and is formatted with clang-format 19.1.7. I also built with `ENABLE_WAYLAND=OFF`.\r\n\r\nNot tested: Windows, macOS or Android builds. Lock Cursor isn\'t implemented on Wayland.', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14962/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'timeline_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14962/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6657447106', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14962#issuecomment-6657447106', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14962', 'id': 6657447106, 'node_id': 'IC_kwDOALCn2M8AAAABjNCUwg', 'user': {'login': 'linkmauve', 'id': 7755816, 'node_id': 'MDQ6VXNlcjc3NTU4MTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7755816?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/linkmauve', 'html_url': 'https://github.com/linkmauve', 'followers_url': 'https://api.github.com/users/linkmauve/followers', 'following_url': 'https://api.github.com/users/linkmauve/following{/other_user}', 'gists_url': 'https://api.github.com/users/linkmauve/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/linkmauve/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/linkmauve/subscriptions', 'organizations_url': 'https://api.github.com/users/linkmauve/orgs', 'repos_url': 'https://api.github.com/users/linkmauve/repos', 'events_url': 'https://api.github.com/users/linkmauve/events{/privacy}', 'received_events_url': 'https://api.github.com/users/linkmauve/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2026-11-05T12:00:58Z', 'updated_at': '2026-11-05T12:25:15Z', 'body': 'Sorry about the Shift confusion, I had always configured them differently on xcb, so I didn’t think it was a recent regression.\r\n\r\nAs I was playing Xenoblade Chronicles, Dolphin closed with these messages in the terminal:\r\n```\r\nError sending request for wl_surface.attach: Broken pipe\r\n58:06:956 VideoBackends/Vulkan/VKGfx.cpp:270 I[Video]: Resizing swap chain due to suboptimal/out-of-date\r\n58:06:969 VideoBackends/Vulkan/VulkanLoader.cpp:245 E[Video]: (SelectSurfaceFormat:186) vkGetPhysicalDeviceSurfaceFormatsKHR failed:  (-1000000000: VK_ERROR_SURFACE_LOST_KHR)\r\nThe Wayland connection broke. Did the Wayland compositor die?\r\n```\r\n\r\nI had never encountered that on xcb, so it’s possibly a regression too.\r\n\r\nI’m on Mesa f4f170b3423 built a month ago, using radv on a RX\u202f580.  I’ll update to latest main and report back if I can reproduce.\r\n\r\nEdit: on the Weston side, here is the log at the time of the crash:\r\n```\r\n[12:58:06.935] libwayland: Data too big for buffer (4092 + 12 > 4096).\r\n[12:58:06.940] libwayland: error in client communication (pid 2849226)\r\n```\r\n\r\nEdit 2: there is actually a memory leak apparently, here is a screenshot of `btop`’s memory graph, we can see it increasing linearly before being buffered away by zram, and once that one is filled too the OOM kills it: <img width="427" height="391" alt="image" src="https://github.com/user-attachments/assets/e0433761-9d35-4a5e-a239-e0c72d154841" />\r\n\r\nEdit 3: it seems that leak comes from Qt, or possibly the way we’re using it: <img width="1920" height="1080" alt="image" src="https://github.com/user-attachments/assets/fcc485d9-b334-47de-aa5d-363d7c167b11" />', 'author_association': 'MEMBER', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6657447106/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'performed_via_github_app': None, 'minimized': None}, 'repository': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-11-05T09:25:24Z', 'pushed_at': '2026-11-04T20:55:25Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 563769, 'stargazers_count': 15769, 'watchers_count': 15769, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3382, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 484, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3382, 'open_issues': 484, 'watchers': 15769, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'linkmauve', 'id': 7755816, 'node_id': 'MDQ6VXNlcjc3NTU4MTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7755816?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/linkmauve', 'html_url': 'https://github.com/linkmauve', 'followers_url': 'https://api.github.com/users/linkmauve/followers', 'following_url': 'https://api.github.com/users/linkmauve/following{/other_user}', 'gists_url': 'https://api.github.com/users/linkmauve/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/linkmauve/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/linkmauve/subscriptions', 'organizations_url': 'https://api.github.com/users/linkmauve/orgs', 'repos_url': 'https://api.github.com/users/linkmauve/repos', 'events_url': 'https://api.github.com/users/linkmauve/events{/privacy}', 'received_events_url': 'https://api.github.com/users/linkmauve/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'raw_gh_hook'}
2026-11-05T12:12:09.429966	{'source': 'webserver', 'gh_type': 'issue_comment', 'raw': {'action': 'edited', 'changes': {'body': {'from': 'Sorry about the Shift confusion, I had always configured them differently on xcb, so I didn’t think it was a recent regression.\r\n\r\nAs I was playing Xenoblade Chronicles, Dolphin closed with these messages in the terminal:\r\n```\r\nError sending request for wl_surface.attach: Broken pipe\r\n58:06:956 VideoBackends/Vulkan/VKGfx.cpp:270 I[Video]: Resizing swap chain due to suboptimal/out-of-date\r\n58:06:969 VideoBackends/Vulkan/VulkanLoader.cpp:245 E[Video]: (SelectSurfaceFormat:186) vkGetPhysicalDeviceSurfaceFormatsKHR failed:  (-1000000000: VK_ERROR_SURFACE_LOST_KHR)\r\nThe Wayland connection broke. Did the Wayland compositor die?\r\n```\r\n\r\nI had never encountered that on xcb, so it’s possibly a regression too.\r\n\r\nI’m on Mesa f4f170b3423 built a month ago, using radv on a RX\u202f580.  I’ll update to latest main and report back if I can reproduce.\r\n\r\nEdit: on the Weston side, here is the log at the time of the crash:\r\n```\r\n[12:58:06.935] libwayland: Data too big for buffer (4092 + 12 > 4096).\r\n[12:58:06.940] libwayland: error in client communication (pid 2849226)\r\n```'}}, 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14962', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14962/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14962/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14962/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14962', 'id': 6118829388, 'node_id': 'PR_kwDOALCn2M8AAAABLwnuUQ', 'number': 14962, 'title': 'Add Wayland support (Linux only)', 'user': {'login': 'ellierocks', 'id': 275226857, 'node_id': 'U_kgDOEGeg6Q', 'avatar_url': 'https://avatars.githubusercontent.com/u/275226857?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/ellierocks', 'html_url': 'https://github.com/ellierocks', 'followers_url': 'https://api.github.com/users/ellierocks/followers', 'following_url': 'https://api.github.com/users/ellierocks/following{/other_user}', 'gists_url': 'https://api.github.com/users/ellierocks/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/ellierocks/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/ellierocks/subscriptions', 'organizations_url': 'https://api.github.com/users/ellierocks/orgs', 'repos_url': 'https://api.github.com/users/ellierocks/repos', 'events_url': 'https://api.github.com/users/ellierocks/events{/privacy}', 'received_events_url': 'https://api.github.com/users/ellierocks/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 24, 'created_at': '2026-10-30T12:13:34Z', 'updated_at': '2026-11-05T12:02:26Z', 'closed_at': None, 'assignee': None, 'author_association': 'NONE', 'issue_field_values': [], 'type': None, 'active_lock_reason': None, 'draft': False, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14962', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14962', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14962.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14962.patch', 'merged_at': None}, 'body': 'Adds native Wayland support, so Dolphin can run without XWayland and the compositor can present the game directly. This is the same goal as #14652, but only Linux code changes. Other platforms only get two new struct fields (see "Resize"). Building with `ENABLE_WAYLAND=OFF` is unaffected.\r\n\r\nThe Vulkan surface commit is TellowKrinkle\'s and the Qt platform selection commit is BeezBumba\'s, both from #14652. Their authorship is kept.\r\n\r\n## Generative AI disclosure\r\nApart from those two commits, the code was written by Claude (Sonnet 5.5) while I directed it. It was not used for anything related to the emulated console. I, Ellie, can attest I\'ve looked through the code changes and actively avoided issues blocking the previous PR. Altering code for other platforms needlessly was avoided, the tooltips and keyboard input issues were addressed.\r\n\r\n## What changed\r\n- CMake: `ENABLE_WAYLAND` and `FindWayland.cmake`. Protocol bindings (content-type-v1, pointer-warp-v1, pointer-constraints, relative-pointer) are generated at build time and need wayland-protocols 1.41 or newer. If wayland-scanner, wayland-protocols or xkbcommon is missing, you still get a working Wayland window, but no input backend or VRR hint, and CMake warns.\r\n- Vulkan: a `VkWaylandSurfaceKHR` surface. The surface format and present mode queries retry on `VK_INCOMPLETE` instead of asserting. On Wayland the format list comes from the compositor and can change between the count query and the list query.\r\n- OpenGL: an EGL context on a `wl_egl_window`.\r\n- Resize: a `wl_surface` can\'t report its size, and Vulkan\'s `currentExtent` is undefined for it. `WindowSystemInfo` gets `render_surface_width/height` and `Presenter` gets an atomic requested-size field, which the host updates on resize. The existing surface-change API is unchanged.\r\n- Input: a ControllerInterface backend for keyboard and relative mouse, with xkbcommon key names and Center Mouse through `wp_pointer_warp_v1`. It runs on its own event queue. The Qt render widget now reports the `wl_surface` as its handle, which is what broke keyboard input and hotkeys in #14652.\r\n- VRR: the render surface sets the `wp_content_type_v1` "game" hint. `wp_tearing_control` is not used.\r\n- Tooltips: balloon tips are now `xdg_popup`s with a transient parent, because `Qt::ToolTip` with `move()` and `setMask()` doesn\'t work on Wayland.\r\n\r\n## Testing\r\nRTX 3070 Ti, on KDE Plasma, Hyprland, and Sway all with adaptive sync enabled.\r\n- Tested using the game I speedrun, LEGO Star Wars: The Video Game.\r\n- Vulkan and OpenGL both run as native Wayland windows.\r\n- Alt+Enter goes fullscreen at 3440x1440, which exercises the new keyboard and hotkey path.\r\n- VRR turns on in fullscreen and off when leaving it. On KWin the DRM `VRR_ENABLED` property read 0, 1, 0, and only while the fullscreen Dolphin window was active.\r\n- The "game" content-type hint is sent, and no `wp_tearing_control` object is created (checked in the `WAYLAND_DEBUG` log).\r\n- Balloon tooltips render correctly in Config > Graphics.\r\n- Switching to the correct input device (Wayland/0/seat0) leaves existing binds working and unchanged.\r\n- Scaling and fractional scaling work as expected.\r\n- Screen sharing using xdg-desktop-portal over Discord and recording with obs-vkcapture work as expected.\r\n\r\nEvery commit builds on Linux and is formatted with clang-format 19.1.7. I also built with `ENABLE_WAYLAND=OFF`.\r\n\r\nNot tested: Windows, macOS or Android builds. Lock Cursor isn\'t implemented on Wayland.', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14962/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'timeline_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14962/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6657447106', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14962#issuecomment-6657447106', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14962', 'id': 6657447106, 'node_id': 'IC_kwDOALCn2M8AAAABjNCUwg', 'user': {'login': 'linkmauve', 'id': 7755816, 'node_id': 'MDQ6VXNlcjc3NTU4MTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7755816?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/linkmauve', 'html_url': 'https://github.com/linkmauve', 'followers_url': 'https://api.github.com/users/linkmauve/followers', 'following_url': 'https://api.github.com/users/linkmauve/following{/other_user}', 'gists_url': 'https://api.github.com/users/linkmauve/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/linkmauve/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/linkmauve/subscriptions', 'organizations_url': 'https://api.github.com/users/linkmauve/orgs', 'repos_url': 'https://api.github.com/users/linkmauve/repos', 'events_url': 'https://api.github.com/users/linkmauve/events{/privacy}', 'received_events_url': 'https://api.github.com/users/linkmauve/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2026-11-05T12:00:58Z', 'updated_at': '2026-11-05T12:12:07Z', 'body': 'Sorry about the Shift confusion, I had always configured them differently on xcb, so I didn’t think it was a recent regression.\r\n\r\nAs I was playing Xenoblade Chronicles, Dolphin closed with these messages in the terminal:\r\n```\r\nError sending request for wl_surface.attach: Broken pipe\r\n58:06:956 VideoBackends/Vulkan/VKGfx.cpp:270 I[Video]: Resizing swap chain due to suboptimal/out-of-date\r\n58:06:969 VideoBackends/Vulkan/VulkanLoader.cpp:245 E[Video]: (SelectSurfaceFormat:186) vkGetPhysicalDeviceSurfaceFormatsKHR failed:  (-1000000000: VK_ERROR_SURFACE_LOST_KHR)\r\nThe Wayland connection broke. Did the Wayland compositor die?\r\n```\r\n\r\nI had never encountered that on xcb, so it’s possibly a regression too.\r\n\r\nI’m on Mesa f4f170b3423 built a month ago, using radv on a RX\u202f580.  I’ll update to latest main and report back if I can reproduce.\r\n\r\nEdit: on the Weston side, here is the log at the time of the crash:\r\n```\r\n[12:58:06.935] libwayland: Data too big for buffer (4092 + 12 > 4096).\r\n[12:58:06.940] libwayland: error in client communication (pid 2849226)\r\n```\r\n\r\nEdit 2: there is actually a memory leak apparently, here is a screenshot of `btop`’s memory graph, we can see it increasing linearly before being buffered away by zram, and once that one is filled too the OOM kills it: <img width="427" height="391" alt="image" src="https://github.com/user-attachments/assets/e0433761-9d35-4a5e-a239-e0c72d154841" />', 'author_association': 'MEMBER', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6657447106/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'performed_via_github_app': None, 'minimized': None}, 'repository': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-11-05T09:25:24Z', 'pushed_at': '2026-11-04T20:55:25Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 563769, 'stargazers_count': 15769, 'watchers_count': 15769, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3382, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 484, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3382, 'open_issues': 484, 'watchers': 15769, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'linkmauve', 'id': 7755816, 'node_id': 'MDQ6VXNlcjc3NTU4MTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7755816?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/linkmauve', 'html_url': 'https://github.com/linkmauve', 'followers_url': 'https://api.github.com/users/linkmauve/followers', 'following_url': 'https://api.github.com/users/linkmauve/following{/other_user}', 'gists_url': 'https://api.github.com/users/linkmauve/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/linkmauve/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/linkmauve/subscriptions', 'organizations_url': 'https://api.github.com/users/linkmauve/orgs', 'repos_url': 'https://api.github.com/users/linkmauve/repos', 'events_url': 'https://api.github.com/users/linkmauve/events{/privacy}', 'received_events_url': 'https://api.github.com/users/linkmauve/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'raw_gh_hook'}
2026-11-05T12:10:17.515816	{'source': 'webserver', 'gh_type': 'issue_comment', 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14874', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14874/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14874/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14874/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14874', 'id': 5490189982, 'node_id': 'PR_kwDOALCn2M8AAAABD9jIMw', 'number': 14874, 'title': 'WiiUtils: Fix integer underflow in CheckNAND() block/inode stats', 'user': {'login': 'cedricdelpoux', 'id': 2683300, 'node_id': 'MDQ6VXNlcjI2ODMzMDA=', 'avatar_url': 'https://avatars.githubusercontent.com/u/2683300?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/cedricdelpoux', 'html_url': 'https://github.com/cedricdelpoux', 'followers_url': 'https://api.github.com/users/cedricdelpoux/followers', 'following_url': 'https://api.github.com/users/cedricdelpoux/following{/other_user}', 'gists_url': 'https://api.github.com/users/cedricdelpoux/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/cedricdelpoux/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/cedricdelpoux/subscriptions', 'organizations_url': 'https://api.github.com/users/cedricdelpoux/orgs', 'repos_url': 'https://api.github.com/users/cedricdelpoux/repos', 'events_url': 'https://api.github.com/users/cedricdelpoux/events{/privacy}', 'received_events_url': 'https://api.github.com/users/cedricdelpoux/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 3, 'created_at': '2026-09-17T16:40:45Z', 'updated_at': '2026-11-05T12:10:15Z', 'closed_at': None, 'assignee': None, 'author_association': 'NONE', 'issue_field_values': [], 'type': None, 'active_lock_reason': None, 'draft': False, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14874', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14874', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14874.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14874.patch', 'merged_at': None}, 'body': '`used_clusters_user` (and `used_inodes_user`) is computed by calling `GetExtendedDirectoryStats()`\ndirectly on each user-data path, which follows symlinks. `root_stats` comes from a recursive scan\nstarting at `/`, which does not descend into symlinks.\n\nIf one of the user paths (e.g. `/title/00010000`) is a symlink to an external directory,\n`used_clusters_user` can end up larger than `root_stats->used_clusters`, since the recursive scan\nnever counted that symlinked content. The unguarded subtraction then underflows on these unsigned\n64-bit values, producing a number close to 2^64 instead of a sane result. The NAND Check dialog\nreports this as billions of blocks used and warns that saves may fail, even though the actual\n"user" part is correctly sized.\n\nSymlinking Wii save folders out of the NAND (e.g. to sync saves to a cloud folder) is a real\nworkflow some users rely on, so this isn\'t just a theoretical edge case — I hit it after setting\nup Dropbox-backed saves on a Steam Deck (Flatpak build), reproduced identically in a fresh,\notherwise-empty NAND.\n\n## How this was tested\n\nReproduced with a fresh NAND where `/title/00010000` is a symlink to an external directory\ncontaining save data. Before the fix, Check NAND reports billions of blocks used for the\nsystem-reserved part; after the fix, it correctly reports a bounded, sane value.\n\n## AI disclosure\n\nThe diagnosis (tracing the bug to this specific subtraction and the symlink-following mismatch\nbetween `GetExtendedDirectoryStats("/")` and the per-path calls) and the patch itself were\nproduced with the assistance of an AI coding agent (Claude), working interactively with me while\nI was debugging this issue on my own setup. I reviewed and understand the root cause and the fix\ndescribed above, and I\'m submitting and taking responsibility for this change as my own\ncontribution, per this project\'s generative AI policy.\n', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14874/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'timeline_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14874/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6657629063', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14874#issuecomment-6657629063', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14874', 'id': 6657629063, 'node_id': 'IC_kwDOALCn2M8AAAABjNNbhw', 'user': {'login': 'cedricdelpoux', 'id': 2683300, 'node_id': 'MDQ6VXNlcjI2ODMzMDA=', 'avatar_url': 'https://avatars.githubusercontent.com/u/2683300?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/cedricdelpoux', 'html_url': 'https://github.com/cedricdelpoux', 'followers_url': 'https://api.github.com/users/cedricdelpoux/followers', 'following_url': 'https://api.github.com/users/cedricdelpoux/following{/other_user}', 'gists_url': 'https://api.github.com/users/cedricdelpoux/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/cedricdelpoux/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/cedricdelpoux/subscriptions', 'organizations_url': 'https://api.github.com/users/cedricdelpoux/orgs', 'repos_url': 'https://api.github.com/users/cedricdelpoux/repos', 'events_url': 'https://api.github.com/users/cedricdelpoux/events{/privacy}', 'received_events_url': 'https://api.github.com/users/cedricdelpoux/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2026-11-05T12:10:15Z', 'updated_at': '2026-11-05T12:10:15Z', 'body': '@AdmiralCurtiss Any way to merge this ? Thanks', 'author_association': 'NONE', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6657629063/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'performed_via_github_app': None, 'minimized': None}, 'repository': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-11-05T09:25:24Z', 'pushed_at': '2026-11-04T20:55:25Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 563769, 'stargazers_count': 15769, 'watchers_count': 15769, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3382, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 484, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3382, 'open_issues': 484, 'watchers': 15769, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'cedricdelpoux', 'id': 2683300, 'node_id': 'MDQ6VXNlcjI2ODMzMDA=', 'avatar_url': 'https://avatars.githubusercontent.com/u/2683300?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/cedricdelpoux', 'html_url': 'https://github.com/cedricdelpoux', 'followers_url': 'https://api.github.com/users/cedricdelpoux/followers', 'following_url': 'https://api.github.com/users/cedricdelpoux/following{/other_user}', 'gists_url': 'https://api.github.com/users/cedricdelpoux/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/cedricdelpoux/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/cedricdelpoux/subscriptions', 'organizations_url': 'https://api.github.com/users/cedricdelpoux/orgs', 'repos_url': 'https://api.github.com/users/cedricdelpoux/repos', 'events_url': 'https://api.github.com/users/cedricdelpoux/events{/privacy}', 'received_events_url': 'https://api.github.com/users/cedricdelpoux/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'raw_gh_hook'}
2026-11-05T12:02:28.225386	{'source': 'webserver', 'gh_type': 'issue_comment', 'raw': {'action': 'edited', 'changes': {'body': {'from': 'Sorry about the Shift confusion, I had always configured them differently on xcb, so I didn’t think it was a recent regression.\r\n\r\nAs I was playing Xenoblade Chronicles, Dolphin closed with these messages in the terminal:\r\n```\r\nError sending request for wl_surface.attach: Broken pipe\r\n58:06:956 VideoBackends/Vulkan/VKGfx.cpp:270 I[Video]: Resizing swap chain due to suboptimal/out-of-date\r\n58:06:969 VideoBackends/Vulkan/VulkanLoader.cpp:245 E[Video]: (SelectSurfaceFormat:186) vkGetPhysicalDeviceSurfaceFormatsKHR failed:  (-1000000000: VK_ERROR_SURFACE_LOST_KHR)\r\nThe Wayland connection broke. Did the Wayland compositor die?\r\n```\r\n\r\nI had never encountered that on xcb, so it’s possibly a regression too.\r\n\r\nI’m on Mesa f4f170b3423 built a month ago, using radv on a RX\u202f580.  I’ll update to latest main and report back if I can reproduce.'}}, 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14962', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14962/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14962/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14962/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14962', 'id': 6118829388, 'node_id': 'PR_kwDOALCn2M8AAAABLwnuUQ', 'number': 14962, 'title': 'Add Wayland support (Linux only)', 'user': {'login': 'ellierocks', 'id': 275226857, 'node_id': 'U_kgDOEGeg6Q', 'avatar_url': 'https://avatars.githubusercontent.com/u/275226857?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/ellierocks', 'html_url': 'https://github.com/ellierocks', 'followers_url': 'https://api.github.com/users/ellierocks/followers', 'following_url': 'https://api.github.com/users/ellierocks/following{/other_user}', 'gists_url': 'https://api.github.com/users/ellierocks/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/ellierocks/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/ellierocks/subscriptions', 'organizations_url': 'https://api.github.com/users/ellierocks/orgs', 'repos_url': 'https://api.github.com/users/ellierocks/repos', 'events_url': 'https://api.github.com/users/ellierocks/events{/privacy}', 'received_events_url': 'https://api.github.com/users/ellierocks/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 24, 'created_at': '2026-10-30T12:13:34Z', 'updated_at': '2026-11-05T12:00:58Z', 'closed_at': None, 'assignee': None, 'author_association': 'NONE', 'issue_field_values': [], 'type': None, 'active_lock_reason': None, 'draft': False, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14962', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14962', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14962.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14962.patch', 'merged_at': None}, 'body': 'Adds native Wayland support, so Dolphin can run without XWayland and the compositor can present the game directly. This is the same goal as #14652, but only Linux code changes. Other platforms only get two new struct fields (see "Resize"). Building with `ENABLE_WAYLAND=OFF` is unaffected.\r\n\r\nThe Vulkan surface commit is TellowKrinkle\'s and the Qt platform selection commit is BeezBumba\'s, both from #14652. Their authorship is kept.\r\n\r\n## Generative AI disclosure\r\nApart from those two commits, the code was written by Claude (Sonnet 5.5) while I directed it. It was not used for anything related to the emulated console. I, Ellie, can attest I\'ve looked through the code changes and actively avoided issues blocking the previous PR. Altering code for other platforms needlessly was avoided, the tooltips and keyboard input issues were addressed.\r\n\r\n## What changed\r\n- CMake: `ENABLE_WAYLAND` and `FindWayland.cmake`. Protocol bindings (content-type-v1, pointer-warp-v1, pointer-constraints, relative-pointer) are generated at build time and need wayland-protocols 1.41 or newer. If wayland-scanner, wayland-protocols or xkbcommon is missing, you still get a working Wayland window, but no input backend or VRR hint, and CMake warns.\r\n- Vulkan: a `VkWaylandSurfaceKHR` surface. The surface format and present mode queries retry on `VK_INCOMPLETE` instead of asserting. On Wayland the format list comes from the compositor and can change between the count query and the list query.\r\n- OpenGL: an EGL context on a `wl_egl_window`.\r\n- Resize: a `wl_surface` can\'t report its size, and Vulkan\'s `currentExtent` is undefined for it. `WindowSystemInfo` gets `render_surface_width/height` and `Presenter` gets an atomic requested-size field, which the host updates on resize. The existing surface-change API is unchanged.\r\n- Input: a ControllerInterface backend for keyboard and relative mouse, with xkbcommon key names and Center Mouse through `wp_pointer_warp_v1`. It runs on its own event queue. The Qt render widget now reports the `wl_surface` as its handle, which is what broke keyboard input and hotkeys in #14652.\r\n- VRR: the render surface sets the `wp_content_type_v1` "game" hint. `wp_tearing_control` is not used.\r\n- Tooltips: balloon tips are now `xdg_popup`s with a transient parent, because `Qt::ToolTip` with `move()` and `setMask()` doesn\'t work on Wayland.\r\n\r\n## Testing\r\nRTX 3070 Ti, on KDE Plasma, Hyprland, and Sway all with adaptive sync enabled.\r\n- Tested using the game I speedrun, LEGO Star Wars: The Video Game.\r\n- Vulkan and OpenGL both run as native Wayland windows.\r\n- Alt+Enter goes fullscreen at 3440x1440, which exercises the new keyboard and hotkey path.\r\n- VRR turns on in fullscreen and off when leaving it. On KWin the DRM `VRR_ENABLED` property read 0, 1, 0, and only while the fullscreen Dolphin window was active.\r\n- The "game" content-type hint is sent, and no `wp_tearing_control` object is created (checked in the `WAYLAND_DEBUG` log).\r\n- Balloon tooltips render correctly in Config > Graphics.\r\n- Switching to the correct input device (Wayland/0/seat0) leaves existing binds working and unchanged.\r\n- Scaling and fractional scaling work as expected.\r\n- Screen sharing using xdg-desktop-portal over Discord and recording with obs-vkcapture work as expected.\r\n\r\nEvery commit builds on Linux and is formatted with clang-format 19.1.7. I also built with `ENABLE_WAYLAND=OFF`.\r\n\r\nNot tested: Windows, macOS or Android builds. Lock Cursor isn\'t implemented on Wayland.', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14962/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'timeline_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14962/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6657447106', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14962#issuecomment-6657447106', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14962', 'id': 6657447106, 'node_id': 'IC_kwDOALCn2M8AAAABjNCUwg', 'user': {'login': 'linkmauve', 'id': 7755816, 'node_id': 'MDQ6VXNlcjc3NTU4MTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7755816?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/linkmauve', 'html_url': 'https://github.com/linkmauve', 'followers_url': 'https://api.github.com/users/linkmauve/followers', 'following_url': 'https://api.github.com/users/linkmauve/following{/other_user}', 'gists_url': 'https://api.github.com/users/linkmauve/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/linkmauve/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/linkmauve/subscriptions', 'organizations_url': 'https://api.github.com/users/linkmauve/orgs', 'repos_url': 'https://api.github.com/users/linkmauve/repos', 'events_url': 'https://api.github.com/users/linkmauve/events{/privacy}', 'received_events_url': 'https://api.github.com/users/linkmauve/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2026-11-05T12:00:58Z', 'updated_at': '2026-11-05T12:02:26Z', 'body': 'Sorry about the Shift confusion, I had always configured them differently on xcb, so I didn’t think it was a recent regression.\r\n\r\nAs I was playing Xenoblade Chronicles, Dolphin closed with these messages in the terminal:\r\n```\r\nError sending request for wl_surface.attach: Broken pipe\r\n58:06:956 VideoBackends/Vulkan/VKGfx.cpp:270 I[Video]: Resizing swap chain due to suboptimal/out-of-date\r\n58:06:969 VideoBackends/Vulkan/VulkanLoader.cpp:245 E[Video]: (SelectSurfaceFormat:186) vkGetPhysicalDeviceSurfaceFormatsKHR failed:  (-1000000000: VK_ERROR_SURFACE_LOST_KHR)\r\nThe Wayland connection broke. Did the Wayland compositor die?\r\n```\r\n\r\nI had never encountered that on xcb, so it’s possibly a regression too.\r\n\r\nI’m on Mesa f4f170b3423 built a month ago, using radv on a RX\u202f580.  I’ll update to latest main and report back if I can reproduce.\r\n\r\nEdit: on the Weston side, here is the log at the time of the crash:\r\n```\r\n[12:58:06.935] libwayland: Data too big for buffer (4092 + 12 > 4096).\r\n[12:58:06.940] libwayland: error in client communication (pid 2849226)\r\n```', 'author_association': 'MEMBER', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6657447106/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'performed_via_github_app': None, 'minimized': None}, 'repository': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-11-05T09:25:24Z', 'pushed_at': '2026-11-04T20:55:25Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 563769, 'stargazers_count': 15769, 'watchers_count': 15769, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3382, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 484, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3382, 'open_issues': 484, 'watchers': 15769, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'linkmauve', 'id': 7755816, 'node_id': 'MDQ6VXNlcjc3NTU4MTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7755816?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/linkmauve', 'html_url': 'https://github.com/linkmauve', 'followers_url': 'https://api.github.com/users/linkmauve/followers', 'following_url': 'https://api.github.com/users/linkmauve/following{/other_user}', 'gists_url': 'https://api.github.com/users/linkmauve/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/linkmauve/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/linkmauve/subscriptions', 'organizations_url': 'https://api.github.com/users/linkmauve/orgs', 'repos_url': 'https://api.github.com/users/linkmauve/repos', 'events_url': 'https://api.github.com/users/linkmauve/events{/privacy}', 'received_events_url': 'https://api.github.com/users/linkmauve/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'raw_gh_hook'}
2026-11-05T12:01:00.436006	{'source': 'webserver', 'gh_type': 'issue_comment', 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14962', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14962/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14962/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14962/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14962', 'id': 6118829388, 'node_id': 'PR_kwDOALCn2M8AAAABLwnuUQ', 'number': 14962, 'title': 'Add Wayland support (Linux only)', 'user': {'login': 'ellierocks', 'id': 275226857, 'node_id': 'U_kgDOEGeg6Q', 'avatar_url': 'https://avatars.githubusercontent.com/u/275226857?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/ellierocks', 'html_url': 'https://github.com/ellierocks', 'followers_url': 'https://api.github.com/users/ellierocks/followers', 'following_url': 'https://api.github.com/users/ellierocks/following{/other_user}', 'gists_url': 'https://api.github.com/users/ellierocks/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/ellierocks/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/ellierocks/subscriptions', 'organizations_url': 'https://api.github.com/users/ellierocks/orgs', 'repos_url': 'https://api.github.com/users/ellierocks/repos', 'events_url': 'https://api.github.com/users/ellierocks/events{/privacy}', 'received_events_url': 'https://api.github.com/users/ellierocks/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 24, 'created_at': '2026-10-30T12:13:34Z', 'updated_at': '2026-11-05T12:00:58Z', 'closed_at': None, 'assignee': None, 'author_association': 'NONE', 'issue_field_values': [], 'type': None, 'active_lock_reason': None, 'draft': False, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14962', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14962', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14962.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14962.patch', 'merged_at': None}, 'body': 'Adds native Wayland support, so Dolphin can run without XWayland and the compositor can present the game directly. This is the same goal as #14652, but only Linux code changes. Other platforms only get two new struct fields (see "Resize"). Building with `ENABLE_WAYLAND=OFF` is unaffected.\r\n\r\nThe Vulkan surface commit is TellowKrinkle\'s and the Qt platform selection commit is BeezBumba\'s, both from #14652. Their authorship is kept.\r\n\r\n## Generative AI disclosure\r\nApart from those two commits, the code was written by Claude (Sonnet 5.5) while I directed it. It was not used for anything related to the emulated console. I, Ellie, can attest I\'ve looked through the code changes and actively avoided issues blocking the previous PR. Altering code for other platforms needlessly was avoided, the tooltips and keyboard input issues were addressed.\r\n\r\n## What changed\r\n- CMake: `ENABLE_WAYLAND` and `FindWayland.cmake`. Protocol bindings (content-type-v1, pointer-warp-v1, pointer-constraints, relative-pointer) are generated at build time and need wayland-protocols 1.41 or newer. If wayland-scanner, wayland-protocols or xkbcommon is missing, you still get a working Wayland window, but no input backend or VRR hint, and CMake warns.\r\n- Vulkan: a `VkWaylandSurfaceKHR` surface. The surface format and present mode queries retry on `VK_INCOMPLETE` instead of asserting. On Wayland the format list comes from the compositor and can change between the count query and the list query.\r\n- OpenGL: an EGL context on a `wl_egl_window`.\r\n- Resize: a `wl_surface` can\'t report its size, and Vulkan\'s `currentExtent` is undefined for it. `WindowSystemInfo` gets `render_surface_width/height` and `Presenter` gets an atomic requested-size field, which the host updates on resize. The existing surface-change API is unchanged.\r\n- Input: a ControllerInterface backend for keyboard and relative mouse, with xkbcommon key names and Center Mouse through `wp_pointer_warp_v1`. It runs on its own event queue. The Qt render widget now reports the `wl_surface` as its handle, which is what broke keyboard input and hotkeys in #14652.\r\n- VRR: the render surface sets the `wp_content_type_v1` "game" hint. `wp_tearing_control` is not used.\r\n- Tooltips: balloon tips are now `xdg_popup`s with a transient parent, because `Qt::ToolTip` with `move()` and `setMask()` doesn\'t work on Wayland.\r\n\r\n## Testing\r\nRTX 3070 Ti, on KDE Plasma, Hyprland, and Sway all with adaptive sync enabled.\r\n- Tested using the game I speedrun, LEGO Star Wars: The Video Game.\r\n- Vulkan and OpenGL both run as native Wayland windows.\r\n- Alt+Enter goes fullscreen at 3440x1440, which exercises the new keyboard and hotkey path.\r\n- VRR turns on in fullscreen and off when leaving it. On KWin the DRM `VRR_ENABLED` property read 0, 1, 0, and only while the fullscreen Dolphin window was active.\r\n- The "game" content-type hint is sent, and no `wp_tearing_control` object is created (checked in the `WAYLAND_DEBUG` log).\r\n- Balloon tooltips render correctly in Config > Graphics.\r\n- Switching to the correct input device (Wayland/0/seat0) leaves existing binds working and unchanged.\r\n- Scaling and fractional scaling work as expected.\r\n- Screen sharing using xdg-desktop-portal over Discord and recording with obs-vkcapture work as expected.\r\n\r\nEvery commit builds on Linux and is formatted with clang-format 19.1.7. I also built with `ENABLE_WAYLAND=OFF`.\r\n\r\nNot tested: Windows, macOS or Android builds. Lock Cursor isn\'t implemented on Wayland.', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14962/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'timeline_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14962/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6657447106', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14962#issuecomment-6657447106', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14962', 'id': 6657447106, 'node_id': 'IC_kwDOALCn2M8AAAABjNCUwg', 'user': {'login': 'linkmauve', 'id': 7755816, 'node_id': 'MDQ6VXNlcjc3NTU4MTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7755816?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/linkmauve', 'html_url': 'https://github.com/linkmauve', 'followers_url': 'https://api.github.com/users/linkmauve/followers', 'following_url': 'https://api.github.com/users/linkmauve/following{/other_user}', 'gists_url': 'https://api.github.com/users/linkmauve/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/linkmauve/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/linkmauve/subscriptions', 'organizations_url': 'https://api.github.com/users/linkmauve/orgs', 'repos_url': 'https://api.github.com/users/linkmauve/repos', 'events_url': 'https://api.github.com/users/linkmauve/events{/privacy}', 'received_events_url': 'https://api.github.com/users/linkmauve/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2026-11-05T12:00:58Z', 'updated_at': '2026-11-05T12:00:58Z', 'body': 'Sorry about the Shift confusion, I had always configured them differently on xcb, so I didn’t think it was a recent regression.\r\n\r\nAs I was playing Xenoblade Chronicles, Dolphin closed with these messages in the terminal:\r\n```\r\nError sending request for wl_surface.attach: Broken pipe\r\n58:06:956 VideoBackends/Vulkan/VKGfx.cpp:270 I[Video]: Resizing swap chain due to suboptimal/out-of-date\r\n58:06:969 VideoBackends/Vulkan/VulkanLoader.cpp:245 E[Video]: (SelectSurfaceFormat:186) vkGetPhysicalDeviceSurfaceFormatsKHR failed:  (-1000000000: VK_ERROR_SURFACE_LOST_KHR)\r\nThe Wayland connection broke. Did the Wayland compositor die?\r\n```\r\n\r\nI had never encountered that on xcb, so it’s possibly a regression too.\r\n\r\nI’m on Mesa f4f170b3423 built a month ago, using radv on a RX\u202f580.  I’ll update to latest main and report back if I can reproduce.', 'author_association': 'MEMBER', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6657447106/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'performed_via_github_app': None, 'minimized': None}, 'repository': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-11-05T09:25:24Z', 'pushed_at': '2026-11-04T20:55:25Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 563769, 'stargazers_count': 15769, 'watchers_count': 15769, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3382, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 484, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3382, 'open_issues': 484, 'watchers': 15769, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'linkmauve', 'id': 7755816, 'node_id': 'MDQ6VXNlcjc3NTU4MTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7755816?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/linkmauve', 'html_url': 'https://github.com/linkmauve', 'followers_url': 'https://api.github.com/users/linkmauve/followers', 'following_url': 'https://api.github.com/users/linkmauve/following{/other_user}', 'gists_url': 'https://api.github.com/users/linkmauve/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/linkmauve/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/linkmauve/subscriptions', 'organizations_url': 'https://api.github.com/users/linkmauve/orgs', 'repos_url': 'https://api.github.com/users/linkmauve/repos', 'events_url': 'https://api.github.com/users/linkmauve/events{/privacy}', 'received_events_url': 'https://api.github.com/users/linkmauve/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'raw_gh_hook'}
2026-11-05T11:39:17.742141	{'source': 'webserver', 'gh_type': 'pull_request_review_comment', 'raw': {'action': 'created', 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4479803522', 'pull_request_review_id': 5784061240, 'id': 4479803522, 'node_id': 'PRRC_kwDOALCn2M8AAAABCwRggg', 'diff_hunk': '@@ -67,29 +66,24 @@ void GenericLogFmtImpl(LogLevel level, LogType type, const char* file, int line,\n   if (instance == nullptr)\n     return;\n \n-  if (!instance->IsEnabled(type, level))\n+  if (!instance->IsEnabled(type, level) || !instance->IsAnyListenerEnabled())\n     return;\n \n   const auto message = fmt::vformat(format, args);\n-  instance->Log(level, type, file, line, message.c_str());\n+  instance->Log(level, type, file, line, message);\n }\n \n-static size_t DeterminePathCutOffPoint()\n+static consteval size_t GetPathCutOffPoint()\n {\n-  constexpr const char* pattern = "/source/core/";\n-#ifdef _WIN32\n-  constexpr const char* pattern2 = "\\\\source\\\\core\\\\";\n+  constexpr std::string_view pattern =\n+#if defined(_WIN32)\n+      "Common\\\\Logging\\\\LogManager.cpp";\n+#else\n+      "Common/Logging/LogManager.cpp";', 'path': 'Source/Core/Common/Logging/LogManager.cpp', 'commit_id': '706ad79768d8817f043ff7562bb6a932155e7a9e', 'original_commit_id': '706ad79768d8817f043ff7562bb6a932155e7a9e', 'user': {'login': 'sepalani', 'id': 7890055, 'node_id': 'MDQ6VXNlcjc4OTAwNTU=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7890055?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/sepalani', 'html_url': 'https://github.com/sepalani', 'followers_url': 'https://api.github.com/users/sepalani/followers', 'following_url': 'https://api.github.com/users/sepalani/following{/other_user}', 'gists_url': 'https://api.github.com/users/sepalani/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/sepalani/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/sepalani/subscriptions', 'organizations_url': 'https://api.github.com/users/sepalani/orgs', 'repos_url': 'https://api.github.com/users/sepalani/repos', 'events_url': 'https://api.github.com/users/sepalani/events{/privacy}', 'received_events_url': 'https://api.github.com/users/sepalani/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': 'I suppose the original code was taking into account Windows which might have both patterns. This new implementation will error on Windows if facing the forward-slash pattern. Is that intended?', 'created_at': '2026-11-05T11:21:48Z', 'updated_at': '2026-11-05T11:39:14Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14985#discussion_r4479803522', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14985', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4479803522'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14985#discussion_r4479803522'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14985'}}, 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4479803522/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'start_line': 80, 'original_start_line': 80, 'start_side': 'LEFT', 'line': 82, 'original_line': 82, 'side': 'RIGHT', 'author_association': 'CONTRIBUTOR', 'original_position': 31, 'position': 31, 'subject_type': 'line'}, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14985', 'id': 5164349638, 'node_id': 'PR_kwDOALCn2M8AAAABM9G4xg', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14985', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14985.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14985.patch', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14985', 'number': 14985, 'state': 'open', 'locked': False, 'title': 'Common/Logging: Minor cleanups and optimizations.', 'user': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': None, 'created_at': '2026-11-05T01:14:02Z', 'updated_at': '2026-11-05T07:31:03Z', 'closed_at': None, 'merged_at': None, 'merge_commit_sha': '676ef2b47892dbf83f8490b9d19c35e415d77058', 'assignees': [], 'requested_reviewers': [], 'requested_teams': [], 'labels': [], 'milestone': None, 'draft': False, 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14985/commits', 'review_comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14985/comments', 'review_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments{/number}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14985/comments', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/706ad79768d8817f043ff7562bb6a932155e7a9e', 'head': {'label': 'jordan-woyak:log-manager-minor-optimizations', 'ref': 'log-manager-minor-optimizations', 'sha': '706ad79768d8817f043ff7562bb6a932155e7a9e', 'user': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 16818408, 'node_id': 'MDEwOlJlcG9zaXRvcnkxNjgxODQwOA==', 'name': 'dolphin', 'full_name': 'jordan-woyak/dolphin', 'private': False, 'owner': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/jordan-woyak/dolphin', 'description': 'Dolphin is a GameCube/Wii emulator, allowing you to play games for these two platforms on PC, with improvements.', 'fork': True, 'url': 'https://api.github.com/repos/jordan-woyak/dolphin', 'forks_url': 'https://api.github.com/repos/jordan-woyak/dolphin/forks', 'keys_url': 'https://api.github.com/repos/jordan-woyak/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/jordan-woyak/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/jordan-woyak/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/jordan-woyak/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/jordan-woyak/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/jordan-woyak/dolphin/events', 'assignees_url': 'https://api.github.com/repos/jordan-woyak/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/jordan-woyak/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/jordan-woyak/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/jordan-woyak/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/jordan-woyak/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/jordan-woyak/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/jordan-woyak/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/jordan-woyak/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/jordan-woyak/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/jordan-woyak/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/jordan-woyak/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/jordan-woyak/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/jordan-woyak/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/jordan-woyak/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/jordan-woyak/dolphin/merges', 'archive_url': 'https://api.github.com/repos/jordan-woyak/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/jordan-woyak/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/jordan-woyak/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/jordan-woyak/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/jordan-woyak/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/jordan-woyak/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/jordan-woyak/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/jordan-woyak/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/jordan-woyak/dolphin/deployments', 'created_at': '2014-02-13T21:50:38Z', 'updated_at': '2026-06-27T21:22:47Z', 'pushed_at': '2026-11-05T07:59:42Z', 'git_url': 'git://github.com/jordan-woyak/dolphin.git', 'ssh_url': 'git@github.com:jordan-woyak/dolphin.git', 'clone_url': 'https://github.com/jordan-woyak/dolphin.git', 'svn_url': 'https://github.com/jordan-woyak/dolphin', 'homepage': None, 'size': 530464, 'stargazers_count': 5, 'watchers_count': 5, 'language': 'C++', 'has_issues': False, 'has_projects': True, 'has_downloads': False, 'has_wiki': False, 'has_pages': False, 'has_discussions': False, 'forks_count': 5, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 2, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': [], 'visibility': 'public', 'forks': 5, 'open_issues': 2, 'watchers': 5, 'default_branch': 'master', 'allow_squash_merge': True, 'allow_merge_commit': True, 'allow_rebase_merge': True, 'allow_auto_merge': False, 'delete_branch_on_merge': True, 'allow_update_branch': False, 'use_squash_pr_title_as_default': False, 'squash_merge_commit_message': 'COMMIT_MESSAGES', 'squash_merge_commit_title': 'COMMIT_OR_PR_TITLE', 'merge_commit_message': 'PR_TITLE', 'merge_commit_title': 'MERGE_MESSAGE'}}, 'base': {'label': 'dolphin-emu:master', 'ref': 'master', 'sha': '66df2b4e18ae6169f9718b869da334022914e305', 'user': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-11-05T09:25:24Z', 'pushed_at': '2026-11-04T20:55:25Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 563769, 'stargazers_count': 15769, 'watchers_count': 15769, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3382, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 484, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3382, 'open_issues': 484, 'watchers': 15769, 'default_branch': 'master', 'allow_squash_merge': False, 'allow_merge_commit': True, 'allow_rebase_merge': False, 'allow_auto_merge': False, 'delete_branch_on_merge': False, 'allow_update_branch': False, 'use_squash_pr_title_as_default': False, 'squash_merge_commit_message': 'COMMIT_MESSAGES', 'squash_merge_commit_title': 'COMMIT_OR_PR_TITLE', 'merge_commit_message': 'PR_TITLE', 'merge_commit_title': 'MERGE_MESSAGE'}}, '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14985'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14985'}, 'issue': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14985'}, 'comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14985/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14985/comments'}, 'review_comment': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments{/number}'}, 'commits': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14985/commits'}, 'statuses': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/706ad79768d8817f043ff7562bb6a932155e7a9e'}}, 'author_association': 'MEMBER', 'auto_merge': None, 'assignee': None, 'active_lock_reason': None}, 'repository': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-11-05T09:25:24Z', 'pushed_at': '2026-11-04T20:55:25Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 563769, 'stargazers_count': 15769, 'watchers_count': 15769, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3382, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 484, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3382, 'open_issues': 484, 'watchers': 15769, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'sepalani', 'id': 7890055, 'node_id': 'MDQ6VXNlcjc4OTAwNTU=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7890055?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/sepalani', 'html_url': 'https://github.com/sepalani', 'followers_url': 'https://api.github.com/users/sepalani/followers', 'following_url': 'https://api.github.com/users/sepalani/following{/other_user}', 'gists_url': 'https://api.github.com/users/sepalani/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/sepalani/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/sepalani/subscriptions', 'organizations_url': 'https://api.github.com/users/sepalani/orgs', 'repos_url': 'https://api.github.com/users/sepalani/repos', 'events_url': 'https://api.github.com/users/sepalani/events{/privacy}', 'received_events_url': 'https://api.github.com/users/sepalani/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'raw_gh_hook'}
2026-11-05T11:39:17.360864	{'source': 'webserver', 'gh_type': 'pull_request_review_comment', 'raw': {'action': 'created', 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4479911035', 'pull_request_review_id': 5784061240, 'id': 4479911035, 'node_id': 'PRRC_kwDOALCn2M8AAAABCwYEew', 'diff_hunk': '@@ -67,29 +66,24 @@ void GenericLogFmtImpl(LogLevel level, LogType type, const char* file, int line,\n   if (instance == nullptr)\n     return;\n \n-  if (!instance->IsEnabled(type, level))\n+  if (!instance->IsEnabled(type, level) || !instance->IsAnyListenerEnabled())\n     return;\n \n   const auto message = fmt::vformat(format, args);\n-  instance->Log(level, type, file, line, message.c_str());\n+  instance->Log(level, type, file, line, message);\n }\n \n-static size_t DeterminePathCutOffPoint()\n+static consteval size_t GetPathCutOffPoint()\n {\n-  constexpr const char* pattern = "/source/core/";\n-#ifdef _WIN32\n-  constexpr const char* pattern2 = "\\\\source\\\\core\\\\";\n+  constexpr std::string_view pattern =\n+#if defined(_WIN32)\n+      "Common\\\\Logging\\\\LogManager.cpp";\n+#else\n+      "Common/Logging/LogManager.cpp";\n #endif\n-  std::string path = __FILE__;\n-  Common::ToLower(&path);', 'path': 'Source/Core/Common/Logging/LogManager.cpp', 'commit_id': '706ad79768d8817f043ff7562bb6a932155e7a9e', 'original_commit_id': '706ad79768d8817f043ff7562bb6a932155e7a9e', 'user': {'login': 'sepalani', 'id': 7890055, 'node_id': 'MDQ6VXNlcjc4OTAwNTU=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7890055?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/sepalani', 'html_url': 'https://github.com/sepalani', 'followers_url': 'https://api.github.com/users/sepalani/followers', 'following_url': 'https://api.github.com/users/sepalani/following{/other_user}', 'gists_url': 'https://api.github.com/users/sepalani/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/sepalani/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/sepalani/subscriptions', 'organizations_url': 'https://api.github.com/users/sepalani/orgs', 'repos_url': 'https://api.github.com/users/sepalani/repos', 'events_url': 'https://api.github.com/users/sepalani/events{/privacy}', 'received_events_url': 'https://api.github.com/users/sepalani/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': "By removing this, the check won't be case insensitive.", 'created_at': '2026-11-05T11:33:31Z', 'updated_at': '2026-11-05T11:39:15Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14985#discussion_r4479911035', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14985', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4479911035'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14985#discussion_r4479911035'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14985'}}, 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4479911035/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'start_line': None, 'original_start_line': None, 'start_side': None, 'line': 84, 'original_line': 84, 'side': 'LEFT', 'author_association': 'CONTRIBUTOR', 'original_position': 34, 'position': 34, 'subject_type': 'line'}, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14985', 'id': 5164349638, 'node_id': 'PR_kwDOALCn2M8AAAABM9G4xg', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14985', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14985.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14985.patch', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14985', 'number': 14985, 'state': 'open', 'locked': False, 'title': 'Common/Logging: Minor cleanups and optimizations.', 'user': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': None, 'created_at': '2026-11-05T01:14:02Z', 'updated_at': '2026-11-05T07:31:03Z', 'closed_at': None, 'merged_at': None, 'merge_commit_sha': '676ef2b47892dbf83f8490b9d19c35e415d77058', 'assignees': [], 'requested_reviewers': [], 'requested_teams': [], 'labels': [], 'milestone': None, 'draft': False, 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14985/commits', 'review_comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14985/comments', 'review_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments{/number}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14985/comments', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/706ad79768d8817f043ff7562bb6a932155e7a9e', 'head': {'label': 'jordan-woyak:log-manager-minor-optimizations', 'ref': 'log-manager-minor-optimizations', 'sha': '706ad79768d8817f043ff7562bb6a932155e7a9e', 'user': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 16818408, 'node_id': 'MDEwOlJlcG9zaXRvcnkxNjgxODQwOA==', 'name': 'dolphin', 'full_name': 'jordan-woyak/dolphin', 'private': False, 'owner': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/jordan-woyak/dolphin', 'description': 'Dolphin is a GameCube/Wii emulator, allowing you to play games for these two platforms on PC, with improvements.', 'fork': True, 'url': 'https://api.github.com/repos/jordan-woyak/dolphin', 'forks_url': 'https://api.github.com/repos/jordan-woyak/dolphin/forks', 'keys_url': 'https://api.github.com/repos/jordan-woyak/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/jordan-woyak/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/jordan-woyak/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/jordan-woyak/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/jordan-woyak/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/jordan-woyak/dolphin/events', 'assignees_url': 'https://api.github.com/repos/jordan-woyak/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/jordan-woyak/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/jordan-woyak/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/jordan-woyak/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/jordan-woyak/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/jordan-woyak/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/jordan-woyak/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/jordan-woyak/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/jordan-woyak/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/jordan-woyak/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/jordan-woyak/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/jordan-woyak/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/jordan-woyak/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/jordan-woyak/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/jordan-woyak/dolphin/merges', 'archive_url': 'https://api.github.com/repos/jordan-woyak/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/jordan-woyak/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/jordan-woyak/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/jordan-woyak/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/jordan-woyak/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/jordan-woyak/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/jordan-woyak/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/jordan-woyak/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/jordan-woyak/dolphin/deployments', 'created_at': '2014-02-13T21:50:38Z', 'updated_at': '2026-06-27T21:22:47Z', 'pushed_at': '2026-11-05T07:59:42Z', 'git_url': 'git://github.com/jordan-woyak/dolphin.git', 'ssh_url': 'git@github.com:jordan-woyak/dolphin.git', 'clone_url': 'https://github.com/jordan-woyak/dolphin.git', 'svn_url': 'https://github.com/jordan-woyak/dolphin', 'homepage': None, 'size': 530464, 'stargazers_count': 5, 'watchers_count': 5, 'language': 'C++', 'has_issues': False, 'has_projects': True, 'has_downloads': False, 'has_wiki': False, 'has_pages': False, 'has_discussions': False, 'forks_count': 5, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 2, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': [], 'visibility': 'public', 'forks': 5, 'open_issues': 2, 'watchers': 5, 'default_branch': 'master', 'allow_squash_merge': True, 'allow_merge_commit': True, 'allow_rebase_merge': True, 'allow_auto_merge': False, 'delete_branch_on_merge': True, 'allow_update_branch': False, 'use_squash_pr_title_as_default': False, 'squash_merge_commit_message': 'COMMIT_MESSAGES', 'squash_merge_commit_title': 'COMMIT_OR_PR_TITLE', 'merge_commit_message': 'PR_TITLE', 'merge_commit_title': 'MERGE_MESSAGE'}}, 'base': {'label': 'dolphin-emu:master', 'ref': 'master', 'sha': '66df2b4e18ae6169f9718b869da334022914e305', 'user': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-11-05T09:25:24Z', 'pushed_at': '2026-11-04T20:55:25Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 563769, 'stargazers_count': 15769, 'watchers_count': 15769, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3382, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 484, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3382, 'open_issues': 484, 'watchers': 15769, 'default_branch': 'master', 'allow_squash_merge': False, 'allow_merge_commit': True, 'allow_rebase_merge': False, 'allow_auto_merge': False, 'delete_branch_on_merge': False, 'allow_update_branch': False, 'use_squash_pr_title_as_default': False, 'squash_merge_commit_message': 'COMMIT_MESSAGES', 'squash_merge_commit_title': 'COMMIT_OR_PR_TITLE', 'merge_commit_message': 'PR_TITLE', 'merge_commit_title': 'MERGE_MESSAGE'}}, '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14985'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14985'}, 'issue': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14985'}, 'comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14985/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14985/comments'}, 'review_comment': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments{/number}'}, 'commits': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14985/commits'}, 'statuses': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/706ad79768d8817f043ff7562bb6a932155e7a9e'}}, 'author_association': 'MEMBER', 'auto_merge': None, 'assignee': None, 'active_lock_reason': None}, 'repository': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-11-05T09:25:24Z', 'pushed_at': '2026-11-04T20:55:25Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 563769, 'stargazers_count': 15769, 'watchers_count': 15769, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3382, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 484, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3382, 'open_issues': 484, 'watchers': 15769, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'sepalani', 'id': 7890055, 'node_id': 'MDQ6VXNlcjc4OTAwNTU=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7890055?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/sepalani', 'html_url': 'https://github.com/sepalani', 'followers_url': 'https://api.github.com/users/sepalani/followers', 'following_url': 'https://api.github.com/users/sepalani/following{/other_user}', 'gists_url': 'https://api.github.com/users/sepalani/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/sepalani/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/sepalani/subscriptions', 'organizations_url': 'https://api.github.com/users/sepalani/orgs', 'repos_url': 'https://api.github.com/users/sepalani/repos', 'events_url': 'https://api.github.com/users/sepalani/events{/privacy}', 'received_events_url': 'https://api.github.com/users/sepalani/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'raw_gh_hook'}
2026-11-05T11:39:17.109862	{'source': 'webserver', 'gh_type': 'pull_request_review', 'raw': {'action': 'submitted', 'review': {'id': 5784061240, 'node_id': 'PRR_kwDOALCn2M8AAAABWMHFOA', 'user': {'login': 'sepalani', 'id': 7890055, 'node_id': 'MDQ6VXNlcjc4OTAwNTU=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7890055?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/sepalani', 'html_url': 'https://github.com/sepalani', 'followers_url': 'https://api.github.com/users/sepalani/followers', 'following_url': 'https://api.github.com/users/sepalani/following{/other_user}', 'gists_url': 'https://api.github.com/users/sepalani/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/sepalani/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/sepalani/subscriptions', 'organizations_url': 'https://api.github.com/users/sepalani/orgs', 'repos_url': 'https://api.github.com/users/sepalani/repos', 'events_url': 'https://api.github.com/users/sepalani/events{/privacy}', 'received_events_url': 'https://api.github.com/users/sepalani/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': None, 'commit_id': '706ad79768d8817f043ff7562bb6a932155e7a9e', 'state': 'commented', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14985#pullrequestreview-5784061240', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14985', '_links': {'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14985#pullrequestreview-5784061240'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14985'}}, 'submitted_at': '2026-11-05T11:39:14Z', 'updated_at': '2026-11-05T11:39:14Z', 'author_association': 'CONTRIBUTOR'}, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14985', 'id': 5164349638, 'node_id': 'PR_kwDOALCn2M8AAAABM9G4xg', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14985', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14985.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14985.patch', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14985', 'number': 14985, 'state': 'open', 'locked': False, 'title': 'Common/Logging: Minor cleanups and optimizations.', 'user': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': None, 'created_at': '2026-11-05T01:14:02Z', 'updated_at': '2026-11-05T07:31:03Z', 'closed_at': None, 'merged_at': None, 'merge_commit_sha': '676ef2b47892dbf83f8490b9d19c35e415d77058', 'assignees': [], 'requested_reviewers': [], 'requested_teams': [], 'labels': [], 'milestone': None, 'draft': False, 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14985/commits', 'review_comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14985/comments', 'review_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments{/number}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14985/comments', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/706ad79768d8817f043ff7562bb6a932155e7a9e', 'head': {'label': 'jordan-woyak:log-manager-minor-optimizations', 'ref': 'log-manager-minor-optimizations', 'sha': '706ad79768d8817f043ff7562bb6a932155e7a9e', 'user': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 16818408, 'node_id': 'MDEwOlJlcG9zaXRvcnkxNjgxODQwOA==', 'name': 'dolphin', 'full_name': 'jordan-woyak/dolphin', 'private': False, 'owner': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/jordan-woyak/dolphin', 'description': 'Dolphin is a GameCube/Wii emulator, allowing you to play games for these two platforms on PC, with improvements.', 'fork': True, 'url': 'https://api.github.com/repos/jordan-woyak/dolphin', 'forks_url': 'https://api.github.com/repos/jordan-woyak/dolphin/forks', 'keys_url': 'https://api.github.com/repos/jordan-woyak/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/jordan-woyak/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/jordan-woyak/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/jordan-woyak/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/jordan-woyak/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/jordan-woyak/dolphin/events', 'assignees_url': 'https://api.github.com/repos/jordan-woyak/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/jordan-woyak/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/jordan-woyak/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/jordan-woyak/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/jordan-woyak/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/jordan-woyak/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/jordan-woyak/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/jordan-woyak/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/jordan-woyak/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/jordan-woyak/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/jordan-woyak/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/jordan-woyak/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/jordan-woyak/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/jordan-woyak/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/jordan-woyak/dolphin/merges', 'archive_url': 'https://api.github.com/repos/jordan-woyak/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/jordan-woyak/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/jordan-woyak/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/jordan-woyak/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/jordan-woyak/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/jordan-woyak/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/jordan-woyak/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/jordan-woyak/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/jordan-woyak/dolphin/deployments', 'created_at': '2014-02-13T21:50:38Z', 'updated_at': '2026-06-27T21:22:47Z', 'pushed_at': '2026-11-05T07:59:42Z', 'git_url': 'git://github.com/jordan-woyak/dolphin.git', 'ssh_url': 'git@github.com:jordan-woyak/dolphin.git', 'clone_url': 'https://github.com/jordan-woyak/dolphin.git', 'svn_url': 'https://github.com/jordan-woyak/dolphin', 'homepage': None, 'size': 530464, 'stargazers_count': 5, 'watchers_count': 5, 'language': 'C++', 'has_issues': False, 'has_projects': True, 'has_downloads': False, 'has_wiki': False, 'has_pages': False, 'has_discussions': False, 'forks_count': 5, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 2, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': [], 'visibility': 'public', 'forks': 5, 'open_issues': 2, 'watchers': 5, 'default_branch': 'master', 'allow_squash_merge': True, 'allow_merge_commit': True, 'allow_rebase_merge': True, 'allow_auto_merge': False, 'delete_branch_on_merge': True, 'allow_update_branch': False, 'use_squash_pr_title_as_default': False, 'squash_merge_commit_message': 'COMMIT_MESSAGES', 'squash_merge_commit_title': 'COMMIT_OR_PR_TITLE', 'merge_commit_message': 'PR_TITLE', 'merge_commit_title': 'MERGE_MESSAGE'}}, 'base': {'label': 'dolphin-emu:master', 'ref': 'master', 'sha': '66df2b4e18ae6169f9718b869da334022914e305', 'user': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-11-05T09:25:24Z', 'pushed_at': '2026-11-04T20:55:25Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 563769, 'stargazers_count': 15769, 'watchers_count': 15769, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3382, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 484, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3382, 'open_issues': 484, 'watchers': 15769, 'default_branch': 'master', 'allow_squash_merge': False, 'allow_merge_commit': True, 'allow_rebase_merge': False, 'allow_auto_merge': False, 'delete_branch_on_merge': False, 'allow_update_branch': False, 'use_squash_pr_title_as_default': False, 'squash_merge_commit_message': 'COMMIT_MESSAGES', 'squash_merge_commit_title': 'COMMIT_OR_PR_TITLE', 'merge_commit_message': 'PR_TITLE', 'merge_commit_title': 'MERGE_MESSAGE'}}, '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14985'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14985'}, 'issue': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14985'}, 'comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14985/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14985/comments'}, 'review_comment': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments{/number}'}, 'commits': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14985/commits'}, 'statuses': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/706ad79768d8817f043ff7562bb6a932155e7a9e'}}, 'author_association': 'MEMBER', 'auto_merge': None, 'assignee': None, 'active_lock_reason': None}, 'repository': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-11-05T09:25:24Z', 'pushed_at': '2026-11-04T20:55:25Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 563769, 'stargazers_count': 15769, 'watchers_count': 15769, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3382, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 484, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3382, 'open_issues': 484, 'watchers': 15769, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'sepalani', 'id': 7890055, 'node_id': 'MDQ6VXNlcjc4OTAwNTU=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7890055?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/sepalani', 'html_url': 'https://github.com/sepalani', 'followers_url': 'https://api.github.com/users/sepalani/followers', 'following_url': 'https://api.github.com/users/sepalani/following{/other_user}', 'gists_url': 'https://api.github.com/users/sepalani/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/sepalani/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/sepalani/subscriptions', 'organizations_url': 'https://api.github.com/users/sepalani/orgs', 'repos_url': 'https://api.github.com/users/sepalani/repos', 'events_url': 'https://api.github.com/users/sepalani/events{/privacy}', 'received_events_url': 'https://api.github.com/users/sepalani/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'raw_gh_hook'}
2026-11-05T11:09:58.287718	{'source': 'webserver', 'gh_type': 'pull_request_review', 'raw': {'action': 'submitted', 'review': {'id': 5783924876, 'node_id': 'PRR_kwDOALCn2M8AAAABWL-wjA', 'user': {'login': 'sepalani', 'id': 7890055, 'node_id': 'MDQ6VXNlcjc4OTAwNTU=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7890055?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/sepalani', 'html_url': 'https://github.com/sepalani', 'followers_url': 'https://api.github.com/users/sepalani/followers', 'following_url': 'https://api.github.com/users/sepalani/following{/other_user}', 'gists_url': 'https://api.github.com/users/sepalani/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/sepalani/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/sepalani/subscriptions', 'organizations_url': 'https://api.github.com/users/sepalani/orgs', 'repos_url': 'https://api.github.com/users/sepalani/repos', 'events_url': 'https://api.github.com/users/sepalani/events{/privacy}', 'received_events_url': 'https://api.github.com/users/sepalani/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': 'LGTM, untested.', 'commit_id': '52d5313eb3c3a412b4bda0c1c7a5b0b839add8db', 'state': 'approved', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14987#pullrequestreview-5783924876', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14987', '_links': {'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14987#pullrequestreview-5783924876'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14987'}}, 'submitted_at': '2026-11-05T11:09:56Z', 'updated_at': '2026-11-05T11:09:56Z', 'author_association': 'CONTRIBUTOR'}, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14987', 'id': 5166735005, 'node_id': 'PR_kwDOALCn2M8AAAABM_YenQ', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14987', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14987.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14987.patch', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14987', 'number': 14987, 'state': 'open', 'locked': False, 'title': 'Replace std::chrono::high_resolution_clock usages with a guaranteed monotonic clock.', 'user': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': 'On libstdc++, and perhaps others, `std::chrono::high_resolution_clock` is an alias for `system_clock` which is not monotonic.\nWe want a monotonic clock in these places.', 'created_at': '2026-11-05T05:36:05Z', 'updated_at': '2026-11-05T05:36:06Z', 'closed_at': None, 'merged_at': None, 'merge_commit_sha': '0edde31a2754c479b5d255ba7ec342b2152c7b5c', 'assignees': [], 'requested_reviewers': [], 'requested_teams': [], 'labels': [], 'milestone': None, 'draft': False, 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14987/commits', 'review_comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14987/comments', 'review_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments{/number}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14987/comments', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/52d5313eb3c3a412b4bda0c1c7a5b0b839add8db', 'head': {'label': 'jordan-woyak:no-high_resolution_clock', 'ref': 'no-high_resolution_clock', 'sha': '52d5313eb3c3a412b4bda0c1c7a5b0b839add8db', 'user': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 16818408, 'node_id': 'MDEwOlJlcG9zaXRvcnkxNjgxODQwOA==', 'name': 'dolphin', 'full_name': 'jordan-woyak/dolphin', 'private': False, 'owner': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/jordan-woyak/dolphin', 'description': 'Dolphin is a GameCube/Wii emulator, allowing you to play games for these two platforms on PC, with improvements.', 'fork': True, 'url': 'https://api.github.com/repos/jordan-woyak/dolphin', 'forks_url': 'https://api.github.com/repos/jordan-woyak/dolphin/forks', 'keys_url': 'https://api.github.com/repos/jordan-woyak/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/jordan-woyak/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/jordan-woyak/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/jordan-woyak/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/jordan-woyak/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/jordan-woyak/dolphin/events', 'assignees_url': 'https://api.github.com/repos/jordan-woyak/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/jordan-woyak/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/jordan-woyak/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/jordan-woyak/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/jordan-woyak/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/jordan-woyak/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/jordan-woyak/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/jordan-woyak/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/jordan-woyak/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/jordan-woyak/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/jordan-woyak/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/jordan-woyak/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/jordan-woyak/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/jordan-woyak/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/jordan-woyak/dolphin/merges', 'archive_url': 'https://api.github.com/repos/jordan-woyak/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/jordan-woyak/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/jordan-woyak/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/jordan-woyak/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/jordan-woyak/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/jordan-woyak/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/jordan-woyak/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/jordan-woyak/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/jordan-woyak/dolphin/deployments', 'created_at': '2014-02-13T21:50:38Z', 'updated_at': '2026-06-27T21:22:47Z', 'pushed_at': '2026-11-05T07:59:42Z', 'git_url': 'git://github.com/jordan-woyak/dolphin.git', 'ssh_url': 'git@github.com:jordan-woyak/dolphin.git', 'clone_url': 'https://github.com/jordan-woyak/dolphin.git', 'svn_url': 'https://github.com/jordan-woyak/dolphin', 'homepage': None, 'size': 530464, 'stargazers_count': 5, 'watchers_count': 5, 'language': 'C++', 'has_issues': False, 'has_projects': True, 'has_downloads': False, 'has_wiki': False, 'has_pages': False, 'has_discussions': False, 'forks_count': 5, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 2, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': [], 'visibility': 'public', 'forks': 5, 'open_issues': 2, 'watchers': 5, 'default_branch': 'master', 'allow_squash_merge': True, 'allow_merge_commit': True, 'allow_rebase_merge': True, 'allow_auto_merge': False, 'delete_branch_on_merge': True, 'allow_update_branch': False, 'use_squash_pr_title_as_default': False, 'squash_merge_commit_message': 'COMMIT_MESSAGES', 'squash_merge_commit_title': 'COMMIT_OR_PR_TITLE', 'merge_commit_message': 'PR_TITLE', 'merge_commit_title': 'MERGE_MESSAGE'}}, 'base': {'label': 'dolphin-emu:master', 'ref': 'master', 'sha': '66df2b4e18ae6169f9718b869da334022914e305', 'user': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-11-05T09:25:24Z', 'pushed_at': '2026-11-04T20:55:25Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 563769, 'stargazers_count': 15769, 'watchers_count': 15769, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3382, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 484, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3382, 'open_issues': 484, 'watchers': 15769, 'default_branch': 'master', 'allow_squash_merge': False, 'allow_merge_commit': True, 'allow_rebase_merge': False, 'allow_auto_merge': False, 'delete_branch_on_merge': False, 'allow_update_branch': False, 'use_squash_pr_title_as_default': False, 'squash_merge_commit_message': 'COMMIT_MESSAGES', 'squash_merge_commit_title': 'COMMIT_OR_PR_TITLE', 'merge_commit_message': 'PR_TITLE', 'merge_commit_title': 'MERGE_MESSAGE'}}, '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14987'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14987'}, 'issue': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14987'}, 'comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14987/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14987/comments'}, 'review_comment': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments{/number}'}, 'commits': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14987/commits'}, 'statuses': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/52d5313eb3c3a412b4bda0c1c7a5b0b839add8db'}}, 'author_association': 'MEMBER', 'auto_merge': None, 'assignee': None, 'active_lock_reason': None}, 'repository': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-11-05T09:25:24Z', 'pushed_at': '2026-11-04T20:55:25Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 563769, 'stargazers_count': 15769, 'watchers_count': 15769, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3382, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 484, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3382, 'open_issues': 484, 'watchers': 15769, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'sepalani', 'id': 7890055, 'node_id': 'MDQ6VXNlcjc4OTAwNTU=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7890055?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/sepalani', 'html_url': 'https://github.com/sepalani', 'followers_url': 'https://api.github.com/users/sepalani/followers', 'following_url': 'https://api.github.com/users/sepalani/following{/other_user}', 'gists_url': 'https://api.github.com/users/sepalani/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/sepalani/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/sepalani/subscriptions', 'organizations_url': 'https://api.github.com/users/sepalani/orgs', 'repos_url': 'https://api.github.com/users/sepalani/repos', 'events_url': 'https://api.github.com/users/sepalani/events{/privacy}', 'received_events_url': 'https://api.github.com/users/sepalani/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'raw_gh_hook'}
2026-11-05T10:52:42.305533	{'source': 'webserver', 'gh_type': 'issue_comment', 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/sadm/issues/198', 'repository_url': 'https://api.github.com/repos/dolphin-emu/sadm', 'labels_url': 'https://api.github.com/repos/dolphin-emu/sadm/issues/198/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/sadm/issues/198/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/sadm/issues/198/events', 'html_url': 'https://github.com/dolphin-emu/sadm/pull/198', 'id': 2511309347, 'node_id': 'PR_kwDOALAO3s56tqeA', 'number': 198, 'title': 'linux-buildbot: Generate AppImages', 'user': {'login': 'GT190', 'id': 169302274, 'node_id': 'U_kgDOChdZAg', 'avatar_url': 'https://avatars.githubusercontent.com/u/169302274?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/GT190', 'html_url': 'https://github.com/GT190', 'followers_url': 'https://api.github.com/users/GT190/followers', 'following_url': 'https://api.github.com/users/GT190/following{/other_user}', 'gists_url': 'https://api.github.com/users/GT190/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/GT190/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/GT190/subscriptions', 'organizations_url': 'https://api.github.com/users/GT190/orgs', 'repos_url': 'https://api.github.com/users/GT190/repos', 'events_url': 'https://api.github.com/users/GT190/events{/privacy}', 'received_events_url': 'https://api.github.com/users/GT190/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 3, 'created_at': '2024-09-06T23:21:02Z', 'updated_at': '2026-11-05T10:52:39Z', 'closed_at': None, 'assignee': None, 'author_association': 'NONE', 'issue_field_values': [], 'type': None, 'active_lock_reason': None, 'draft': False, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/sadm/pulls/198', 'html_url': 'https://github.com/dolphin-emu/sadm/pull/198', 'diff_url': 'https://github.com/dolphin-emu/sadm/pull/198.diff', 'patch_url': 'https://github.com/dolphin-emu/sadm/pull/198.patch', 'merged_at': None}, 'body': 'This aims to add AppImage building to Dolphins CI Infrastructure.\r\n\r\nRequires https://github.com/dolphin-emu/dolphin/pull/13055', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/sadm/issues/198/reactions', 'total_count': 2, '+1': 2, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'timeline_url': 'https://api.github.com/repos/dolphin-emu/sadm/issues/198/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/sadm/issues/comments/6656137343', 'html_url': 'https://github.com/dolphin-emu/sadm/pull/198#issuecomment-6656137343', 'issue_url': 'https://api.github.com/repos/dolphin-emu/sadm/issues/198', 'id': 6656137343, 'node_id': 'IC_kwDOALAO3s8AAAABjLyYfw', 'user': {'login': 'michaelackerman419-rgb', 'id': 296214017, 'node_id': 'U_kgDOEafeAQ', 'avatar_url': 'https://avatars.githubusercontent.com/u/296214017?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/michaelackerman419-rgb', 'html_url': 'https://github.com/michaelackerman419-rgb', 'followers_url': 'https://api.github.com/users/michaelackerman419-rgb/followers', 'following_url': 'https://api.github.com/users/michaelackerman419-rgb/following{/other_user}', 'gists_url': 'https://api.github.com/users/michaelackerman419-rgb/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/michaelackerman419-rgb/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/michaelackerman419-rgb/subscriptions', 'organizations_url': 'https://api.github.com/users/michaelackerman419-rgb/orgs', 'repos_url': 'https://api.github.com/users/michaelackerman419-rgb/repos', 'events_url': 'https://api.github.com/users/michaelackerman419-rgb/events{/privacy}', 'received_events_url': 'https://api.github.com/users/michaelackerman419-rgb/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2026-11-05T10:52:38Z', 'updated_at': '2026-11-05T10:52:38Z', 'body': '[Uploading url-decode (1).txt…]()\r\n', 'author_association': 'NONE', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/sadm/issues/comments/6656137343/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'performed_via_github_app': None, 'minimized': None}, 'repository': {'id': 11538142, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTUzODE0Mg==', 'name': 'sadm', 'full_name': 'dolphin-emu/sadm', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/sadm', 'description': 'Scripts and configurations for the Dolphin Emulator infrastructure', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/sadm', 'forks_url': 'https://api.github.com/repos/dolphin-emu/sadm/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/sadm/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/sadm/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/sadm/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/sadm/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/sadm/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/sadm/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/sadm/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/sadm/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/sadm/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/sadm/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/sadm/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/sadm/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/sadm/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/sadm/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/sadm/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/sadm/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/sadm/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/sadm/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/sadm/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/sadm/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/sadm/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/sadm/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/sadm/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/sadm/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/sadm/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/sadm/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/sadm/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/sadm/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/sadm/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/sadm/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/sadm/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/sadm/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/sadm/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/sadm/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/sadm/deployments', 'created_at': '2013-07-19T22:07:05Z', 'updated_at': '2026-11-02T23:28:08Z', 'pushed_at': '2026-11-02T23:28:04Z', 'git_url': 'git://github.com/dolphin-emu/sadm.git', 'ssh_url': 'git@github.com:dolphin-emu/sadm.git', 'clone_url': 'https://github.com/dolphin-emu/sadm.git', 'svn_url': 'https://github.com/dolphin-emu/sadm', 'homepage': '', 'size': 1356, 'stargazers_count': 50, 'watchers_count': 50, 'language': 'Nix', 'has_issues': True, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 42, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 4, 'license': {'key': 'mit', 'name': 'MIT License', 'spdx_id': 'MIT', 'url': 'https://api.github.com/licenses/mit', 'node_id': 'MDc6TGljZW5zZTEz'}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': [], 'visibility': 'public', 'forks': 42, 'open_issues': 4, 'watchers': 50, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'michaelackerman419-rgb', 'id': 296214017, 'node_id': 'U_kgDOEafeAQ', 'avatar_url': 'https://avatars.githubusercontent.com/u/296214017?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/michaelackerman419-rgb', 'html_url': 'https://github.com/michaelackerman419-rgb', 'followers_url': 'https://api.github.com/users/michaelackerman419-rgb/followers', 'following_url': 'https://api.github.com/users/michaelackerman419-rgb/following{/other_user}', 'gists_url': 'https://api.github.com/users/michaelackerman419-rgb/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/michaelackerman419-rgb/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/michaelackerman419-rgb/subscriptions', 'organizations_url': 'https://api.github.com/users/michaelackerman419-rgb/orgs', 'repos_url': 'https://api.github.com/users/michaelackerman419-rgb/repos', 'events_url': 'https://api.github.com/users/michaelackerman419-rgb/events{/privacy}', 'received_events_url': 'https://api.github.com/users/michaelackerman419-rgb/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'raw_gh_hook'}
2026-11-05T10:31:28.895143	{'source': 'webserver', 'gh_type': 'pull_request', 'raw': {'action': 'synchronize', 'number': 14982, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14982', 'id': 5159286772, 'node_id': 'PR_kwDOALCn2M8AAAABM4R39A', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14982', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14982.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14982.patch', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14982', 'number': 14982, 'state': 'open', 'locked': False, 'title': 'Update cubeb to HEAD, use Rust if available', 'user': {'login': 'JoshuaVandaele', 'id': 24195176, 'node_id': 'MDQ6VXNlcjI0MTk1MTc2', 'avatar_url': 'https://avatars.githubusercontent.com/u/24195176?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/JoshuaVandaele', 'html_url': 'https://github.com/JoshuaVandaele', 'followers_url': 'https://api.github.com/users/JoshuaVandaele/followers', 'following_url': 'https://api.github.com/users/JoshuaVandaele/following{/other_user}', 'gists_url': 'https://api.github.com/users/JoshuaVandaele/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/JoshuaVandaele/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/JoshuaVandaele/subscriptions', 'organizations_url': 'https://api.github.com/users/JoshuaVandaele/orgs', 'repos_url': 'https://api.github.com/users/JoshuaVandaele/repos', 'events_url': 'https://api.github.com/users/JoshuaVandaele/events{/privacy}', 'received_events_url': 'https://api.github.com/users/JoshuaVandaele/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': "The PulseAudio and AudioUnit backends, (as well as the WASAPI backend in the future) now use Rust. We currently rely on the legacy C/C++ implementations which are deprecated and scheduled to be removed in a future version. If Cargo (Rust's package manager) is present on the system, we now build cubeb with the new implementations.", 'created_at': '2026-11-04T18:14:39Z', 'updated_at': '2026-11-05T10:31:26Z', 'closed_at': None, 'merged_at': None, 'merge_commit_sha': '91ee876b7a458e74d5acb3c6c5de7b1f2d85660b', 'assignees': [], 'requested_reviewers': [], 'requested_teams': [], 'labels': [], 'milestone': None, 'draft': False, 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14982/commits', 'review_comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14982/comments', 'review_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments{/number}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14982/comments', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/680640124bd05c56abed6e108a96d61e2c8560a2', 'head': {'label': 'JoshuaVandaele:cubeb-rs', 'ref': 'cubeb-rs', 'sha': '680640124bd05c56abed6e108a96d61e2c8560a2', 'user': {'login': 'JoshuaVandaele', 'id': 24195176, 'node_id': 'MDQ6VXNlcjI0MTk1MTc2', 'avatar_url': 'https://avatars.githubusercontent.com/u/24195176?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/JoshuaVandaele', 'html_url': 'https://github.com/JoshuaVandaele', 'followers_url': 'https://api.github.com/users/JoshuaVandaele/followers', 'following_url': 'https://api.github.com/users/JoshuaVandaele/following{/other_user}', 'gists_url': 'https://api.github.com/users/JoshuaVandaele/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/JoshuaVandaele/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/JoshuaVandaele/subscriptions', 'organizations_url': 'https://api.github.com/users/JoshuaVandaele/orgs', 'repos_url': 'https://api.github.com/users/JoshuaVandaele/repos', 'events_url': 'https://api.github.com/users/JoshuaVandaele/events{/privacy}', 'received_events_url': 'https://api.github.com/users/JoshuaVandaele/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 915253252, 'node_id': 'R_kgDONo2oBA', 'name': 'dolphin', 'full_name': 'JoshuaVandaele/dolphin', 'private': False, 'owner': {'login': 'JoshuaVandaele', 'id': 24195176, 'node_id': 'MDQ6VXNlcjI0MTk1MTc2', 'avatar_url': 'https://avatars.githubusercontent.com/u/24195176?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/JoshuaVandaele', 'html_url': 'https://github.com/JoshuaVandaele', 'followers_url': 'https://api.github.com/users/JoshuaVandaele/followers', 'following_url': 'https://api.github.com/users/JoshuaVandaele/following{/other_user}', 'gists_url': 'https://api.github.com/users/JoshuaVandaele/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/JoshuaVandaele/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/JoshuaVandaele/subscriptions', 'organizations_url': 'https://api.github.com/users/JoshuaVandaele/orgs', 'repos_url': 'https://api.github.com/users/JoshuaVandaele/repos', 'events_url': 'https://api.github.com/users/JoshuaVandaele/events{/privacy}', 'received_events_url': 'https://api.github.com/users/JoshuaVandaele/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/JoshuaVandaele/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': True, 'url': 'https://api.github.com/repos/JoshuaVandaele/dolphin', 'forks_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/forks', 'keys_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/events', 'assignees_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/merges', 'archive_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/deployments', 'created_at': '2025-01-11T11:19:57Z', 'updated_at': '2026-10-25T13:00:05Z', 'pushed_at': '2026-11-05T10:31:25Z', 'git_url': 'git://github.com/JoshuaVandaele/dolphin.git', 'ssh_url': 'git@github.com:JoshuaVandaele/dolphin.git', 'clone_url': 'https://github.com/JoshuaVandaele/dolphin.git', 'svn_url': 'https://github.com/JoshuaVandaele/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 522669, 'stargazers_count': 1, 'watchers_count': 1, 'language': 'C++', 'has_issues': False, 'has_projects': True, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 1, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 0, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': [], 'visibility': 'public', 'forks': 1, 'open_issues': 0, 'watchers': 1, 'default_branch': 'master', 'allow_squash_merge': True, 'allow_merge_commit': True, 'allow_rebase_merge': True, 'allow_auto_merge': False, 'delete_branch_on_merge': False, 'allow_update_branch': False, 'use_squash_pr_title_as_default': False, 'squash_merge_commit_message': 'COMMIT_MESSAGES', 'squash_merge_commit_title': 'COMMIT_OR_PR_TITLE', 'merge_commit_message': 'PR_TITLE', 'merge_commit_title': 'MERGE_MESSAGE'}}, 'base': {'label': 'dolphin-emu:master', 'ref': 'master', 'sha': '66df2b4e18ae6169f9718b869da334022914e305', 'user': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-11-05T09:25:24Z', 'pushed_at': '2026-11-04T20:55:25Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 563769, 'stargazers_count': 15769, 'watchers_count': 15769, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3382, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 484, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3382, 'open_issues': 484, 'watchers': 15769, 'default_branch': 'master', 'allow_squash_merge': False, 'allow_merge_commit': True, 'allow_rebase_merge': False, 'allow_auto_merge': False, 'delete_branch_on_merge': False, 'allow_update_branch': False, 'use_squash_pr_title_as_default': False, 'squash_merge_commit_message': 'COMMIT_MESSAGES', 'squash_merge_commit_title': 'COMMIT_OR_PR_TITLE', 'merge_commit_message': 'PR_TITLE', 'merge_commit_title': 'MERGE_MESSAGE'}}, '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14982'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14982'}, 'issue': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14982'}, 'comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14982/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14982/comments'}, 'review_comment': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments{/number}'}, 'commits': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14982/commits'}, 'statuses': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/680640124bd05c56abed6e108a96d61e2c8560a2'}}, 'author_association': 'CONTRIBUTOR', 'auto_merge': None, 'assignee': None, 'active_lock_reason': None, 'merged': False, 'mergeable': None, 'rebaseable': None, 'mergeable_state': 'unknown', 'merged_by': None, 'comments': 0, 'review_comments': 2, 'maintainer_can_modify': True, 'commits': 2, 'additions': 73, 'deletions': 364, 'changed_files': 8}, 'before': 'b7994e37fb0a2801e92eda4c0f330ff0e727c795', 'after': '680640124bd05c56abed6e108a96d61e2c8560a2', 'repository': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-11-05T09:25:24Z', 'pushed_at': '2026-11-04T20:55:25Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 563769, 'stargazers_count': 15769, 'watchers_count': 15769, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3382, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 484, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3382, 'open_issues': 484, 'watchers': 15769, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'JoshuaVandaele', 'id': 24195176, 'node_id': 'MDQ6VXNlcjI0MTk1MTc2', 'avatar_url': 'https://avatars.githubusercontent.com/u/24195176?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/JoshuaVandaele', 'html_url': 'https://github.com/JoshuaVandaele', 'followers_url': 'https://api.github.com/users/JoshuaVandaele/followers', 'following_url': 'https://api.github.com/users/JoshuaVandaele/following{/other_user}', 'gists_url': 'https://api.github.com/users/JoshuaVandaele/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/JoshuaVandaele/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/JoshuaVandaele/subscriptions', 'organizations_url': 'https://api.github.com/users/JoshuaVandaele/orgs', 'repos_url': 'https://api.github.com/users/JoshuaVandaele/repos', 'events_url': 'https://api.github.com/users/JoshuaVandaele/events{/privacy}', 'received_events_url': 'https://api.github.com/users/JoshuaVandaele/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'raw_gh_hook'}
2026-11-05T10:20:09.739344	{'source': 'webserver', 'gh_type': 'pull_request_review', 'raw': {'action': 'submitted', 'review': {'id': 5783313448, 'node_id': 'PRR_kwDOALCn2M8AAAABWLZcKA', 'user': {'login': 'sepalani', 'id': 7890055, 'node_id': 'MDQ6VXNlcjc4OTAwNTU=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7890055?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/sepalani', 'html_url': 'https://github.com/sepalani', 'followers_url': 'https://api.github.com/users/sepalani/followers', 'following_url': 'https://api.github.com/users/sepalani/following{/other_user}', 'gists_url': 'https://api.github.com/users/sepalani/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/sepalani/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/sepalani/subscriptions', 'organizations_url': 'https://api.github.com/users/sepalani/orgs', 'repos_url': 'https://api.github.com/users/sepalani/repos', 'events_url': 'https://api.github.com/users/sepalani/events{/privacy}', 'received_events_url': 'https://api.github.com/users/sepalani/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': 'LGTM, tested on Linux using the AppImage build.\n\nI converted GC/Wii games and verified their hashes without issues.', 'commit_id': 'd6bf12bef88453a063f3f45ca8ac4fec7e2da7b3', 'state': 'approved', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14984#pullrequestreview-5783313448', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14984', '_links': {'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14984#pullrequestreview-5783313448'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14984'}}, 'submitted_at': '2026-11-05T10:20:07Z', 'updated_at': '2026-11-05T10:20:07Z', 'author_association': 'CONTRIBUTOR'}, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14984', 'id': 5162446916, 'node_id': 'PR_kwDOALCn2M8AAAABM7SwRA', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14984', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14984.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14984.patch', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14984', 'number': 14984, 'state': 'open', 'locked': False, 'title': 'Common/DirectIOFile: Properly handle EINTR and partial read/write.', 'user': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': 'My understanding is that partial read/write generally doesn\'t happen for normal files.\n\nAnd I believe `EINTR` wouldn\'t happen because the `SA_RESTART` flag is set on signal handlers, but documentation isn\'t very clear if `pread`/`pwrite` have the "automatic restart" behavior like `read`/`write`.\n`signal` documentation doesn\'t explicitly mention pread/pwrite, but also, pread/pwrite documentation kinda implies one should refer to the read/write spec.\n\nAnyways, now we handle those situations.\nUnit tests still pass.', 'created_at': '2026-11-04T22:12:05Z', 'updated_at': '2026-11-05T07:59:44Z', 'closed_at': None, 'merged_at': None, 'merge_commit_sha': 'f6b24173160063dc81bcf6bb9cd3d34552b57a98', 'assignees': [], 'requested_reviewers': [], 'requested_teams': [], 'labels': [], 'milestone': None, 'draft': False, 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14984/commits', 'review_comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14984/comments', 'review_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments{/number}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14984/comments', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/d6bf12bef88453a063f3f45ca8ac4fec7e2da7b3', 'head': {'label': 'jordan-woyak:directiofile-eintr-and-partial-rw', 'ref': 'directiofile-eintr-and-partial-rw', 'sha': 'd6bf12bef88453a063f3f45ca8ac4fec7e2da7b3', 'user': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 16818408, 'node_id': 'MDEwOlJlcG9zaXRvcnkxNjgxODQwOA==', 'name': 'dolphin', 'full_name': 'jordan-woyak/dolphin', 'private': False, 'owner': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/jordan-woyak/dolphin', 'description': 'Dolphin is a GameCube/Wii emulator, allowing you to play games for these two platforms on PC, with improvements.', 'fork': True, 'url': 'https://api.github.com/repos/jordan-woyak/dolphin', 'forks_url': 'https://api.github.com/repos/jordan-woyak/dolphin/forks', 'keys_url': 'https://api.github.com/repos/jordan-woyak/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/jordan-woyak/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/jordan-woyak/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/jordan-woyak/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/jordan-woyak/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/jordan-woyak/dolphin/events', 'assignees_url': 'https://api.github.com/repos/jordan-woyak/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/jordan-woyak/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/jordan-woyak/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/jordan-woyak/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/jordan-woyak/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/jordan-woyak/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/jordan-woyak/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/jordan-woyak/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/jordan-woyak/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/jordan-woyak/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/jordan-woyak/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/jordan-woyak/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/jordan-woyak/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/jordan-woyak/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/jordan-woyak/dolphin/merges', 'archive_url': 'https://api.github.com/repos/jordan-woyak/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/jordan-woyak/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/jordan-woyak/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/jordan-woyak/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/jordan-woyak/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/jordan-woyak/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/jordan-woyak/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/jordan-woyak/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/jordan-woyak/dolphin/deployments', 'created_at': '2014-02-13T21:50:38Z', 'updated_at': '2026-06-27T21:22:47Z', 'pushed_at': '2026-11-05T07:59:42Z', 'git_url': 'git://github.com/jordan-woyak/dolphin.git', 'ssh_url': 'git@github.com:jordan-woyak/dolphin.git', 'clone_url': 'https://github.com/jordan-woyak/dolphin.git', 'svn_url': 'https://github.com/jordan-woyak/dolphin', 'homepage': None, 'size': 530464, 'stargazers_count': 5, 'watchers_count': 5, 'language': 'C++', 'has_issues': False, 'has_projects': True, 'has_downloads': False, 'has_wiki': False, 'has_pages': False, 'has_discussions': False, 'forks_count': 5, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 2, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': [], 'visibility': 'public', 'forks': 5, 'open_issues': 2, 'watchers': 5, 'default_branch': 'master', 'allow_squash_merge': True, 'allow_merge_commit': True, 'allow_rebase_merge': True, 'allow_auto_merge': False, 'delete_branch_on_merge': True, 'allow_update_branch': False, 'use_squash_pr_title_as_default': False, 'squash_merge_commit_message': 'COMMIT_MESSAGES', 'squash_merge_commit_title': 'COMMIT_OR_PR_TITLE', 'merge_commit_message': 'PR_TITLE', 'merge_commit_title': 'MERGE_MESSAGE'}}, 'base': {'label': 'dolphin-emu:master', 'ref': 'master', 'sha': '66df2b4e18ae6169f9718b869da334022914e305', 'user': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-11-05T09:25:24Z', 'pushed_at': '2026-11-04T20:55:25Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 563769, 'stargazers_count': 15769, 'watchers_count': 15769, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3382, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 484, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3382, 'open_issues': 484, 'watchers': 15769, 'default_branch': 'master', 'allow_squash_merge': False, 'allow_merge_commit': True, 'allow_rebase_merge': False, 'allow_auto_merge': False, 'delete_branch_on_merge': False, 'allow_update_branch': False, 'use_squash_pr_title_as_default': False, 'squash_merge_commit_message': 'COMMIT_MESSAGES', 'squash_merge_commit_title': 'COMMIT_OR_PR_TITLE', 'merge_commit_message': 'PR_TITLE', 'merge_commit_title': 'MERGE_MESSAGE'}}, '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14984'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14984'}, 'issue': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14984'}, 'comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14984/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14984/comments'}, 'review_comment': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments{/number}'}, 'commits': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14984/commits'}, 'statuses': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/d6bf12bef88453a063f3f45ca8ac4fec7e2da7b3'}}, 'author_association': 'MEMBER', 'auto_merge': None, 'assignee': None, 'active_lock_reason': None}, 'repository': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-11-05T09:25:24Z', 'pushed_at': '2026-11-04T20:55:25Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 563769, 'stargazers_count': 15769, 'watchers_count': 15769, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3382, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 484, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3382, 'open_issues': 484, 'watchers': 15769, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'sepalani', 'id': 7890055, 'node_id': 'MDQ6VXNlcjc4OTAwNTU=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7890055?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/sepalani', 'html_url': 'https://github.com/sepalani', 'followers_url': 'https://api.github.com/users/sepalani/followers', 'following_url': 'https://api.github.com/users/sepalani/following{/other_user}', 'gists_url': 'https://api.github.com/users/sepalani/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/sepalani/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/sepalani/subscriptions', 'organizations_url': 'https://api.github.com/users/sepalani/orgs', 'repos_url': 'https://api.github.com/users/sepalani/repos', 'events_url': 'https://api.github.com/users/sepalani/events{/privacy}', 'received_events_url': 'https://api.github.com/users/sepalani/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'raw_gh_hook'}
2026-11-05T10:09:21.513796	{'source': 'webserver', 'gh_type': 'pull_request', 'raw': {'action': 'synchronize', 'number': 14982, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14982', 'id': 5159286772, 'node_id': 'PR_kwDOALCn2M8AAAABM4R39A', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14982', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14982.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14982.patch', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14982', 'number': 14982, 'state': 'open', 'locked': False, 'title': 'Update cubeb to HEAD, use Rust if available', 'user': {'login': 'JoshuaVandaele', 'id': 24195176, 'node_id': 'MDQ6VXNlcjI0MTk1MTc2', 'avatar_url': 'https://avatars.githubusercontent.com/u/24195176?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/JoshuaVandaele', 'html_url': 'https://github.com/JoshuaVandaele', 'followers_url': 'https://api.github.com/users/JoshuaVandaele/followers', 'following_url': 'https://api.github.com/users/JoshuaVandaele/following{/other_user}', 'gists_url': 'https://api.github.com/users/JoshuaVandaele/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/JoshuaVandaele/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/JoshuaVandaele/subscriptions', 'organizations_url': 'https://api.github.com/users/JoshuaVandaele/orgs', 'repos_url': 'https://api.github.com/users/JoshuaVandaele/repos', 'events_url': 'https://api.github.com/users/JoshuaVandaele/events{/privacy}', 'received_events_url': 'https://api.github.com/users/JoshuaVandaele/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': "The PulseAudio and AudioUnit backends, (as well as the WASAPI backend in the future) now use Rust. We currently rely on the legacy C/C++ implementations which are deprecated and scheduled to be removed in a future version. If Cargo (Rust's package manager) is present on the system, we now build cubeb with the new implementations.", 'created_at': '2026-11-04T18:14:39Z', 'updated_at': '2026-11-05T10:09:19Z', 'closed_at': None, 'merged_at': None, 'merge_commit_sha': '20e6003677152352d0f17527a5c3dab44eeba45f', 'assignees': [], 'requested_reviewers': [], 'requested_teams': [], 'labels': [], 'milestone': None, 'draft': False, 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14982/commits', 'review_comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14982/comments', 'review_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments{/number}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14982/comments', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/b7994e37fb0a2801e92eda4c0f330ff0e727c795', 'head': {'label': 'JoshuaVandaele:cubeb-rs', 'ref': 'cubeb-rs', 'sha': 'b7994e37fb0a2801e92eda4c0f330ff0e727c795', 'user': {'login': 'JoshuaVandaele', 'id': 24195176, 'node_id': 'MDQ6VXNlcjI0MTk1MTc2', 'avatar_url': 'https://avatars.githubusercontent.com/u/24195176?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/JoshuaVandaele', 'html_url': 'https://github.com/JoshuaVandaele', 'followers_url': 'https://api.github.com/users/JoshuaVandaele/followers', 'following_url': 'https://api.github.com/users/JoshuaVandaele/following{/other_user}', 'gists_url': 'https://api.github.com/users/JoshuaVandaele/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/JoshuaVandaele/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/JoshuaVandaele/subscriptions', 'organizations_url': 'https://api.github.com/users/JoshuaVandaele/orgs', 'repos_url': 'https://api.github.com/users/JoshuaVandaele/repos', 'events_url': 'https://api.github.com/users/JoshuaVandaele/events{/privacy}', 'received_events_url': 'https://api.github.com/users/JoshuaVandaele/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 915253252, 'node_id': 'R_kgDONo2oBA', 'name': 'dolphin', 'full_name': 'JoshuaVandaele/dolphin', 'private': False, 'owner': {'login': 'JoshuaVandaele', 'id': 24195176, 'node_id': 'MDQ6VXNlcjI0MTk1MTc2', 'avatar_url': 'https://avatars.githubusercontent.com/u/24195176?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/JoshuaVandaele', 'html_url': 'https://github.com/JoshuaVandaele', 'followers_url': 'https://api.github.com/users/JoshuaVandaele/followers', 'following_url': 'https://api.github.com/users/JoshuaVandaele/following{/other_user}', 'gists_url': 'https://api.github.com/users/JoshuaVandaele/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/JoshuaVandaele/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/JoshuaVandaele/subscriptions', 'organizations_url': 'https://api.github.com/users/JoshuaVandaele/orgs', 'repos_url': 'https://api.github.com/users/JoshuaVandaele/repos', 'events_url': 'https://api.github.com/users/JoshuaVandaele/events{/privacy}', 'received_events_url': 'https://api.github.com/users/JoshuaVandaele/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/JoshuaVandaele/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': True, 'url': 'https://api.github.com/repos/JoshuaVandaele/dolphin', 'forks_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/forks', 'keys_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/events', 'assignees_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/merges', 'archive_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/deployments', 'created_at': '2025-01-11T11:19:57Z', 'updated_at': '2026-10-25T13:00:05Z', 'pushed_at': '2026-11-05T10:09:17Z', 'git_url': 'git://github.com/JoshuaVandaele/dolphin.git', 'ssh_url': 'git@github.com:JoshuaVandaele/dolphin.git', 'clone_url': 'https://github.com/JoshuaVandaele/dolphin.git', 'svn_url': 'https://github.com/JoshuaVandaele/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 522669, 'stargazers_count': 1, 'watchers_count': 1, 'language': 'C++', 'has_issues': False, 'has_projects': True, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 1, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 0, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': [], 'visibility': 'public', 'forks': 1, 'open_issues': 0, 'watchers': 1, 'default_branch': 'master', 'allow_squash_merge': True, 'allow_merge_commit': True, 'allow_rebase_merge': True, 'allow_auto_merge': False, 'delete_branch_on_merge': False, 'allow_update_branch': False, 'use_squash_pr_title_as_default': False, 'squash_merge_commit_message': 'COMMIT_MESSAGES', 'squash_merge_commit_title': 'COMMIT_OR_PR_TITLE', 'merge_commit_message': 'PR_TITLE', 'merge_commit_title': 'MERGE_MESSAGE'}}, 'base': {'label': 'dolphin-emu:master', 'ref': 'master', 'sha': '66df2b4e18ae6169f9718b869da334022914e305', 'user': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-11-05T09:25:24Z', 'pushed_at': '2026-11-04T20:55:25Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 563769, 'stargazers_count': 15769, 'watchers_count': 15769, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3382, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 484, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3382, 'open_issues': 484, 'watchers': 15769, 'default_branch': 'master', 'allow_squash_merge': False, 'allow_merge_commit': True, 'allow_rebase_merge': False, 'allow_auto_merge': False, 'delete_branch_on_merge': False, 'allow_update_branch': False, 'use_squash_pr_title_as_default': False, 'squash_merge_commit_message': 'COMMIT_MESSAGES', 'squash_merge_commit_title': 'COMMIT_OR_PR_TITLE', 'merge_commit_message': 'PR_TITLE', 'merge_commit_title': 'MERGE_MESSAGE'}}, '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14982'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14982'}, 'issue': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14982'}, 'comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14982/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14982/comments'}, 'review_comment': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments{/number}'}, 'commits': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14982/commits'}, 'statuses': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/b7994e37fb0a2801e92eda4c0f330ff0e727c795'}}, 'author_association': 'CONTRIBUTOR', 'auto_merge': None, 'assignee': None, 'active_lock_reason': None, 'merged': False, 'mergeable': None, 'rebaseable': None, 'mergeable_state': 'unknown', 'merged_by': None, 'comments': 0, 'review_comments': 2, 'maintainer_can_modify': True, 'commits': 3, 'additions': 73, 'deletions': 383, 'changed_files': 11}, 'before': 'a3294575f6de757b275a889c2744ad7ae7d937bf', 'after': 'b7994e37fb0a2801e92eda4c0f330ff0e727c795', 'repository': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-11-05T09:25:24Z', 'pushed_at': '2026-11-04T20:55:25Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 563769, 'stargazers_count': 15769, 'watchers_count': 15769, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3382, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 484, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3382, 'open_issues': 484, 'watchers': 15769, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'JoshuaVandaele', 'id': 24195176, 'node_id': 'MDQ6VXNlcjI0MTk1MTc2', 'avatar_url': 'https://avatars.githubusercontent.com/u/24195176?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/JoshuaVandaele', 'html_url': 'https://github.com/JoshuaVandaele', 'followers_url': 'https://api.github.com/users/JoshuaVandaele/followers', 'following_url': 'https://api.github.com/users/JoshuaVandaele/following{/other_user}', 'gists_url': 'https://api.github.com/users/JoshuaVandaele/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/JoshuaVandaele/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/JoshuaVandaele/subscriptions', 'organizations_url': 'https://api.github.com/users/JoshuaVandaele/orgs', 'repos_url': 'https://api.github.com/users/JoshuaVandaele/repos', 'events_url': 'https://api.github.com/users/JoshuaVandaele/events{/privacy}', 'received_events_url': 'https://api.github.com/users/JoshuaVandaele/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'raw_gh_hook'}
2026-11-05T09:51:15.029596	{'source': 'webserver', 'gh_type': 'pull_request', 'raw': {'action': 'synchronize', 'number': 14982, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14982', 'id': 5159286772, 'node_id': 'PR_kwDOALCn2M8AAAABM4R39A', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14982', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14982.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14982.patch', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14982', 'number': 14982, 'state': 'open', 'locked': False, 'title': 'Update cubeb to HEAD, use Rust if available', 'user': {'login': 'JoshuaVandaele', 'id': 24195176, 'node_id': 'MDQ6VXNlcjI0MTk1MTc2', 'avatar_url': 'https://avatars.githubusercontent.com/u/24195176?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/JoshuaVandaele', 'html_url': 'https://github.com/JoshuaVandaele', 'followers_url': 'https://api.github.com/users/JoshuaVandaele/followers', 'following_url': 'https://api.github.com/users/JoshuaVandaele/following{/other_user}', 'gists_url': 'https://api.github.com/users/JoshuaVandaele/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/JoshuaVandaele/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/JoshuaVandaele/subscriptions', 'organizations_url': 'https://api.github.com/users/JoshuaVandaele/orgs', 'repos_url': 'https://api.github.com/users/JoshuaVandaele/repos', 'events_url': 'https://api.github.com/users/JoshuaVandaele/events{/privacy}', 'received_events_url': 'https://api.github.com/users/JoshuaVandaele/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': "The PulseAudio and AudioUnit backends, (as well as the WASAPI backend in the future) now use Rust. We currently rely on the legacy C/C++ implementations which are deprecated and scheduled to be removed in a future version. If Cargo (Rust's package manager) is present on the system, we now build cubeb with the new implementations.", 'created_at': '2026-11-04T18:14:39Z', 'updated_at': '2026-11-05T09:51:12Z', 'closed_at': None, 'merged_at': None, 'merge_commit_sha': 'cf7edd1a31baf4d96fc447bd0c6028c7e777acaa', 'assignees': [], 'requested_reviewers': [], 'requested_teams': [], 'labels': [], 'milestone': None, 'draft': False, 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14982/commits', 'review_comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14982/comments', 'review_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments{/number}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14982/comments', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/a3294575f6de757b275a889c2744ad7ae7d937bf', 'head': {'label': 'JoshuaVandaele:cubeb-rs', 'ref': 'cubeb-rs', 'sha': 'a3294575f6de757b275a889c2744ad7ae7d937bf', 'user': {'login': 'JoshuaVandaele', 'id': 24195176, 'node_id': 'MDQ6VXNlcjI0MTk1MTc2', 'avatar_url': 'https://avatars.githubusercontent.com/u/24195176?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/JoshuaVandaele', 'html_url': 'https://github.com/JoshuaVandaele', 'followers_url': 'https://api.github.com/users/JoshuaVandaele/followers', 'following_url': 'https://api.github.com/users/JoshuaVandaele/following{/other_user}', 'gists_url': 'https://api.github.com/users/JoshuaVandaele/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/JoshuaVandaele/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/JoshuaVandaele/subscriptions', 'organizations_url': 'https://api.github.com/users/JoshuaVandaele/orgs', 'repos_url': 'https://api.github.com/users/JoshuaVandaele/repos', 'events_url': 'https://api.github.com/users/JoshuaVandaele/events{/privacy}', 'received_events_url': 'https://api.github.com/users/JoshuaVandaele/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 915253252, 'node_id': 'R_kgDONo2oBA', 'name': 'dolphin', 'full_name': 'JoshuaVandaele/dolphin', 'private': False, 'owner': {'login': 'JoshuaVandaele', 'id': 24195176, 'node_id': 'MDQ6VXNlcjI0MTk1MTc2', 'avatar_url': 'https://avatars.githubusercontent.com/u/24195176?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/JoshuaVandaele', 'html_url': 'https://github.com/JoshuaVandaele', 'followers_url': 'https://api.github.com/users/JoshuaVandaele/followers', 'following_url': 'https://api.github.com/users/JoshuaVandaele/following{/other_user}', 'gists_url': 'https://api.github.com/users/JoshuaVandaele/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/JoshuaVandaele/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/JoshuaVandaele/subscriptions', 'organizations_url': 'https://api.github.com/users/JoshuaVandaele/orgs', 'repos_url': 'https://api.github.com/users/JoshuaVandaele/repos', 'events_url': 'https://api.github.com/users/JoshuaVandaele/events{/privacy}', 'received_events_url': 'https://api.github.com/users/JoshuaVandaele/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/JoshuaVandaele/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': True, 'url': 'https://api.github.com/repos/JoshuaVandaele/dolphin', 'forks_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/forks', 'keys_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/events', 'assignees_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/merges', 'archive_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/deployments', 'created_at': '2025-01-11T11:19:57Z', 'updated_at': '2026-10-25T13:00:05Z', 'pushed_at': '2026-11-05T09:51:10Z', 'git_url': 'git://github.com/JoshuaVandaele/dolphin.git', 'ssh_url': 'git@github.com:JoshuaVandaele/dolphin.git', 'clone_url': 'https://github.com/JoshuaVandaele/dolphin.git', 'svn_url': 'https://github.com/JoshuaVandaele/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 522669, 'stargazers_count': 1, 'watchers_count': 1, 'language': 'C++', 'has_issues': False, 'has_projects': True, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 1, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 0, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': [], 'visibility': 'public', 'forks': 1, 'open_issues': 0, 'watchers': 1, 'default_branch': 'master', 'allow_squash_merge': True, 'allow_merge_commit': True, 'allow_rebase_merge': True, 'allow_auto_merge': False, 'delete_branch_on_merge': False, 'allow_update_branch': False, 'use_squash_pr_title_as_default': False, 'squash_merge_commit_message': 'COMMIT_MESSAGES', 'squash_merge_commit_title': 'COMMIT_OR_PR_TITLE', 'merge_commit_message': 'PR_TITLE', 'merge_commit_title': 'MERGE_MESSAGE'}}, 'base': {'label': 'dolphin-emu:master', 'ref': 'master', 'sha': '66df2b4e18ae6169f9718b869da334022914e305', 'user': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-11-05T09:25:24Z', 'pushed_at': '2026-11-04T20:55:25Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 563769, 'stargazers_count': 15769, 'watchers_count': 15769, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3382, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 484, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3382, 'open_issues': 484, 'watchers': 15769, 'default_branch': 'master', 'allow_squash_merge': False, 'allow_merge_commit': True, 'allow_rebase_merge': False, 'allow_auto_merge': False, 'delete_branch_on_merge': False, 'allow_update_branch': False, 'use_squash_pr_title_as_default': False, 'squash_merge_commit_message': 'COMMIT_MESSAGES', 'squash_merge_commit_title': 'COMMIT_OR_PR_TITLE', 'merge_commit_message': 'PR_TITLE', 'merge_commit_title': 'MERGE_MESSAGE'}}, '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14982'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14982'}, 'issue': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14982'}, 'comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14982/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14982/comments'}, 'review_comment': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments{/number}'}, 'commits': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14982/commits'}, 'statuses': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/a3294575f6de757b275a889c2744ad7ae7d937bf'}}, 'author_association': 'CONTRIBUTOR', 'auto_merge': None, 'assignee': None, 'active_lock_reason': None, 'merged': False, 'mergeable': None, 'rebaseable': None, 'mergeable_state': 'unknown', 'merged_by': None, 'comments': 0, 'review_comments': 2, 'maintainer_can_modify': True, 'commits': 2, 'additions': 68, 'deletions': 364, 'changed_files': 8}, 'before': 'f0240694fdc3e0baadc3e9d3b95672737a0b039c', 'after': 'a3294575f6de757b275a889c2744ad7ae7d937bf', 'repository': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-11-05T09:25:24Z', 'pushed_at': '2026-11-04T20:55:25Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 563769, 'stargazers_count': 15769, 'watchers_count': 15769, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3382, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 484, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3382, 'open_issues': 484, 'watchers': 15769, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'JoshuaVandaele', 'id': 24195176, 'node_id': 'MDQ6VXNlcjI0MTk1MTc2', 'avatar_url': 'https://avatars.githubusercontent.com/u/24195176?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/JoshuaVandaele', 'html_url': 'https://github.com/JoshuaVandaele', 'followers_url': 'https://api.github.com/users/JoshuaVandaele/followers', 'following_url': 'https://api.github.com/users/JoshuaVandaele/following{/other_user}', 'gists_url': 'https://api.github.com/users/JoshuaVandaele/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/JoshuaVandaele/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/JoshuaVandaele/subscriptions', 'organizations_url': 'https://api.github.com/users/JoshuaVandaele/orgs', 'repos_url': 'https://api.github.com/users/JoshuaVandaele/repos', 'events_url': 'https://api.github.com/users/JoshuaVandaele/events{/privacy}', 'received_events_url': 'https://api.github.com/users/JoshuaVandaele/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'raw_gh_hook'}