Status for Dolphin Central
Recent events
2026-11-08T15:40:37.140142 {'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-08T15:40:35.502370 {'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-08T15:39:59.475214 {'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-08T15:39:59.165059 {'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-08T15:35:35.502028 {'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-08T15:35:33.876491 {'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-08T15:30:33.876130 {'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-08T15:30:32.210776 {'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-08T15:29:59.164809 {'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-08T15:29:58.715429 {'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-08T15:25:32.210317 {'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-08T15:25:30.641253 {'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-08T15:20:57.219832 {'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-08T15:20:30.640913 {'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-08T15:20:29.101003 {'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-08T15:19:58.715192 {'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-08T15:19:58.395869 {'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-08T15:15:29.100588 {'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-08T15:15:27.491810 {'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-08T15:10:27.491467 {'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-08T15:10:25.887263 {'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-08T15:09:58.395656 {'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-08T15:09:58.075226 {'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-08T15:05:25.886925 {'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-08T15:05:24.218137 {'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-08T11:13:11.811316 {'source': 'prbuilder', 'repo': 'dolphin-emu/dolphin', 'hash': '8343bfcd38ec1922bed739418c9bea806f233955', 'shortrev': '8343bf', 'service': 'default', 'pr': 14996, 'success': False, 'pending': False, 'url': '', 'description': 'An error occurred while checking mergeability, please try again.', 'type': 'build_status'}
2026-11-08T10:37:25.790403 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '8343bfcd38ec1922bed739418c9bea806f233955', 'shortrev': '8343bf', 'service': 'pr-osx-universal', 'pr': 14671, 'success': True, 'pending': False, 'url': 'https://dolphin.ci/#/builders/7/builds/10985', 'description': 'Build succeeded on builder pr-osx-universal', 'type': 'build_status'}
2026-11-08T10:35:38.093380 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '8343bfcd38ec1922bed739418c9bea806f233955', 'shortrev': '8343bf', 'service': 'pr-win-dbg-x64', 'pr': 14671, 'success': True, 'pending': False, 'url': 'https://dolphin.ci/#/builders/31/builds/10974', 'description': 'Build succeeded on builder pr-win-dbg-x64', 'type': 'build_status'}
2026-11-08T10:34:52.272129 {'source': 'prbuilder', 'repo': 'dolphin-emu/dolphin', 'hash': '8343bfcd38ec1922bed739418c9bea806f233955', 'shortrev': '8343bf', 'service': 'default', 'pr': 14713, 'success': False, 'pending': False, 'url': '', 'description': 'An error occurred while checking mergeability, please try again.', 'type': 'build_status'}
2026-11-08T10:33:09.436983 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '8343bfcd38ec1922bed739418c9bea806f233955', 'shortrev': '8343bf', 'service': 'pr-win-dbg-x64', 'pr': 14671, 'success': False, 'pending': True, 'url': 'https://dolphin.ci/#/builders/31/builds/10974', 'description': 'Auto build in progress on builder pr-win-dbg-x64', 'type': 'build_status'}
2026-11-08T10:33:08.773789 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '8343bfcd38ec1922bed739418c9bea806f233955', 'shortrev': '8343bf', 'service': 'pr-win-x64', 'pr': 14671, 'success': True, 'pending': False, 'url': 'https://dolphin.ci/#/builders/2/builds/10967', 'description': 'Build succeeded on builder pr-win-x64', 'type': 'build_status'}
2026-11-08T10:32:30.630494 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '8343bfcd38ec1922bed739418c9bea806f233955', 'shortrev': '8343bf', 'service': 'pr-flatpak-arm64', 'pr': 14671, 'success': True, 'pending': False, 'url': 'https://dolphin.ci/#/builders/44/builds/6056', 'description': 'Build succeeded on builder pr-flatpak-arm64', 'type': 'build_status'}
2026-11-08T10:31:42.865182 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '8343bfcd38ec1922bed739418c9bea806f233955', 'shortrev': '8343bf', 'service': 'pr-flatpak-x64', 'pr': 14671, 'success': True, 'pending': False, 'url': 'https://dolphin.ci/#/builders/43/builds/6114', 'description': 'Build succeeded on builder pr-flatpak-x64', 'type': 'build_status'}
2026-11-08T10:31:25.681602 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '8343bfcd38ec1922bed739418c9bea806f233955', 'shortrev': '8343bf', 'service': 'pr-deb-dbg-x64', 'pr': 14671, 'success': True, 'pending': False, 'url': 'https://dolphin.ci/#/builders/1/builds/10965', 'description': 'Build succeeded on builder pr-deb-dbg-x64', 'type': 'build_status'}
2026-11-08T10:30:38.571869 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '8343bfcd38ec1922bed739418c9bea806f233955', 'shortrev': '8343bf', 'service': 'pr-win-x64', 'pr': 14671, 'success': False, 'pending': True, 'url': 'https://dolphin.ci/#/builders/2/builds/10967', 'description': 'Auto build in progress on builder pr-win-x64', 'type': 'build_status'}
2026-11-08T10:30:37.895924 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '8343bfcd38ec1922bed739418c9bea806f233955', 'shortrev': '8343bf', 'service': 'pr-win-arm64', 'pr': 14671, 'success': True, 'pending': False, 'url': 'https://dolphin.ci/#/builders/13/builds/10966', 'description': 'Build succeeded on builder pr-win-arm64', 'type': 'build_status'}
2026-11-08T10:29:04.622752 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '8343bfcd38ec1922bed739418c9bea806f233955', 'shortrev': '8343bf', 'service': 'pr-appimage-arm64', 'pr': 14671, 'success': False, 'pending': False, 'url': 'https://dolphin.ci/#/builders/50/builds/212', 'description': 'Build failed on builder pr-appimage-arm64', 'type': 'build_status'}
2026-11-08T10:28:57.253072 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '8343bfcd38ec1922bed739418c9bea806f233955', 'shortrev': '8343bf', 'service': 'pr-appimage-x64', 'pr': 14671, 'success': True, 'pending': False, 'url': 'https://dolphin.ci/#/builders/49/builds/218', 'description': 'Build succeeded on builder pr-appimage-x64', 'type': 'build_status'}
2026-11-08T10:28:19.813819 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '8343bfcd38ec1922bed739418c9bea806f233955', 'shortrev': '8343bf', 'service': 'pr-ubu-x64', 'pr': 14671, 'success': True, 'pending': False, 'url': 'https://dolphin.ci/#/builders/27/builds/10966', 'description': 'Build succeeded on builder pr-ubu-x64', 'type': 'build_status'}
2026-11-08T10:28:19.238981 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '8343bfcd38ec1922bed739418c9bea806f233955', 'shortrev': '8343bf', 'service': 'pr-android', 'pr': 14671, 'success': True, 'pending': False, 'url': 'https://dolphin.ci/#/builders/22/builds/10972', 'description': 'Build succeeded on builder pr-android', 'type': 'build_status'}
2026-11-08T10:28:18.138753 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '8343bfcd38ec1922bed739418c9bea806f233955', 'shortrev': '8343bf', 'service': 'pr-deb-dbg-x64', 'pr': 14671, 'success': False, 'pending': True, 'url': 'https://dolphin.ci/#/builders/1/builds/10965', 'description': 'Auto build in progress on builder pr-deb-dbg-x64', 'type': 'build_status'}
2026-11-08T10:28:17.769198 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '8343bfcd38ec1922bed739418c9bea806f233955', 'shortrev': '8343bf', 'service': 'pr-deb-x64', 'pr': 14671, 'success': True, 'pending': False, 'url': 'https://dolphin.ci/#/builders/26/builds/10964', 'description': 'Build succeeded on builder pr-deb-x64', 'type': 'build_status'}
2026-11-08T10:26:35.992196 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '8343bfcd38ec1922bed739418c9bea806f233955', 'shortrev': '8343bf', 'service': 'pr-freebsd-x64', 'pr': 14671, 'success': True, 'pending': False, 'url': 'https://dolphin.ci/#/builders/11/builds/10976', 'description': 'Build succeeded on builder pr-freebsd-x64', 'type': 'build_status'}
2026-11-08T10:25:35.359790 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '8343bfcd38ec1922bed739418c9bea806f233955', 'shortrev': '8343bf', 'service': 'pr-ubu-x64', 'pr': 14671, 'success': False, 'pending': True, 'url': 'https://dolphin.ci/#/builders/27/builds/10966', 'description': 'Auto build in progress on builder pr-ubu-x64', 'type': 'build_status'}
2026-11-08T10:25:34.683690 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '8343bfcd38ec1922bed739418c9bea806f233955', 'shortrev': '8343bf', 'service': 'lint', 'pr': 14671, 'success': True, 'pending': False, 'url': 'https://dolphin.ci/#/builders/9/builds/10969', 'description': 'Build succeeded on builder lint', 'type': 'build_status'}
2026-11-08T10:25:33.641733 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '8343bfcd38ec1922bed739418c9bea806f233955', 'shortrev': '8343bf', 'service': 'pr-osx-universal', 'pr': 14671, 'success': False, 'pending': True, 'url': 'https://dolphin.ci/#/builders/7/builds/10985', 'description': 'Auto build in progress on builder pr-osx-universal', 'type': 'build_status'}
2026-11-08T10:25:32.914274 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '8343bfcd38ec1922bed739418c9bea806f233955', 'shortrev': '8343bf', 'service': 'pr-flatpak-x64', 'pr': 14671, 'success': False, 'pending': True, 'url': 'https://dolphin.ci/#/builders/43/builds/6114', 'description': 'Auto build in progress on builder pr-flatpak-x64', 'type': 'build_status'}
2026-11-08T10:25:32.237579 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '8343bfcd38ec1922bed739418c9bea806f233955', 'shortrev': '8343bf', 'service': 'pr-deb-x64', 'pr': 14671, 'success': False, 'pending': True, 'url': 'https://dolphin.ci/#/builders/26/builds/10964', 'description': 'Auto build in progress on builder pr-deb-x64', 'type': 'build_status'}
2026-11-08T10:25:31.518710 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '8343bfcd38ec1922bed739418c9bea806f233955', 'shortrev': '8343bf', 'service': 'pr-win-arm64', 'pr': 14671, 'success': False, 'pending': True, 'url': 'https://dolphin.ci/#/builders/13/builds/10966', 'description': 'Auto build in progress on builder pr-win-arm64', 'type': 'build_status'}
2026-11-08T10:25:30.867325 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '8343bfcd38ec1922bed739418c9bea806f233955', 'shortrev': '8343bf', 'service': 'pr-android', 'pr': 14671, 'success': False, 'pending': True, 'url': 'https://dolphin.ci/#/builders/22/builds/10972', 'description': 'Auto build in progress on builder pr-android', 'type': 'build_status'}
Recent 'command_message' events
2026-11-07T11:42:07.230448 {'source': 'discord', 'who': 'joshuavandaele', 'what': '<@1320924779556900984> Pretty please rebuild PR 14962', 'type': 'command_message'}
2026-11-07T02:23:22.588094 {'source': 'discord', 'who': 'billiard26', 'what': '<@1320924779556900984> pretty please rebuild PR 14991 ?', 'type': 'command_message'}
2026-11-07T02:06:26.676187 {'source': 'discord', 'who': 'billiard26', 'what': '<@1320924779556900984> please rebuild PR 14991', 'type': 'command_message'}
2026-11-05T22:53:56.434658 {'source': 'ircclient', 'who': 'AdmiralCurtiss', 'what': 'irrawaddy rebuild 14923', 'type': 'command_message'}
2026-11-05T22:52:43.613910 {'source': 'ircclient', 'who': 'AdmiralCurtiss', 'what': 'irrawaddy rebuild 14968', 'type': 'command_message'}
2026-11-05T22:50:16.805035 {'source': 'ircclient', 'who': 'AdmiralCurtiss', 'what': 'irrawaddy rebuild 14924', 'type': 'command_message'}
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-07T02:23:22.588119 {'source': 'discord', 'accepted': True, 'type': 'dev_wark'}
2026-11-07T02:06:26.676211 {'source': 'discord', 'accepted': True, 'type': 'dev_wark'}
2026-11-05T22:53:56.434698 {'source': 'ircclient', 'accepted': True, 'type': 'dev_wark'}
2026-11-05T22:52:43.613954 {'source': 'ircclient', 'accepted': True, 'type': 'dev_wark'}
2026-11-05T22:50:16.805063 {'source': 'ircclient', 'accepted': True, 'type': 'dev_wark'}
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-08T10:39:58.584002 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'JosJuice', 'action': 'created', 'id': 14988, 'title': "DSPHLE/AXWii: Reset the depop values of channels a voice isn't mixed into", 'url': 'https://github.com/dolphin-emu/dolphin/pull/14988#issuecomment-6720461860', 'safe_author': True, 'body': 'AI usage is forbidden for this part of the codebase.\r\n\r\nI meant to post this on both of your PRs when I closed them, but it seems like I forgot to post it on this one. Posting it now just for clarity for others looking at this PR in the future.', 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14988', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14988/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14988/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14988/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14988', 'id': 6247886876, 'node_id': 'PR_kwDOALCn2M8AAAABNXvSgQ', 'number': 14988, 'title': "DSPHLE/AXWii: Reset the depop values of channels a voice isn't mixed into", 'user': {'login': 'Zontex', 'id': 19342533, 'node_id': 'MDQ6VXNlcjE5MzQyNTMz', 'avatar_url': 'https://avatars.githubusercontent.com/u/19342533?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/Zontex', 'html_url': 'https://github.com/Zontex', 'followers_url': 'https://api.github.com/users/Zontex/followers', 'following_url': 'https://api.github.com/users/Zontex/following{/other_user}', 'gists_url': 'https://api.github.com/users/Zontex/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/Zontex/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/Zontex/subscriptions', 'organizations_url': 'https://api.github.com/users/Zontex/orgs', 'repos_url': 'https://api.github.com/users/Zontex/repos', 'events_url': 'https://api.github.com/users/Zontex/events{/privacy}', 'received_events_url': 'https://api.github.com/users/Zontex/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'closed', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 1, 'created_at': '2026-11-06T17:55:01Z', 'updated_at': '2026-11-08T10:39:56Z', 'closed_at': '2026-11-06T17:58:23Z', '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/14988', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14988', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14988.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14988.patch', 'merged_at': None}, 'body': "The AXWii uCode writes 0 to the depop value of every channel a running voice isn't mixed into. That covers the main, aux A/B/C and Wii Remote channels, and all the remote channels when the voice isn't sent to the remotes at all. The HLE only wrote these values from `MixAdd`, so a PB reused for another sound kept the value from its earlier use in the PB it wrote back to memory.\n\n**How it was found.** This turned up in [wii-recomp](https://github.com/Zontex/wii-recomp), a static recompiler for Wii games, which has a C port of the AX HLE checked against the real uCode on a DSP interpreter. Both versions were fed the same recorded PBs and mail, and the PBs written back to memory were compared word by word:\n\n- Mario Kart Wii (AXWii 347112ba): a voice set up again kept its last use's depop value on a main/aux channel it was no longer mixed into. The uCode wrote 0.\n- Wii Fit Plus (AXWii 4cc52064), 14,450 frames from power-on: two voices playing, mixed to main left only, with a remote channel set in `remote_mixer_control` but `remote` off, still carried -3 in `remote_dpop.main0`. The uCode wrote 0.\n\nWith the same change in the C port, both recordings match the uCode exactly: 0 of 240,902,160 words differ on Wii Fit Plus, and 0 of 183,973,056 on Mario Kart Wii. The change only applies to AXWii (`#ifdef AX_WII`). The GameCube AX version wasn't measured, so it's unchanged.\n\n**Testing.** I haven't built or run this Dolphin patch. It's a port of the change above. Comparing PBs under HLE and LLE in Dolphin on either game should show it.\n\n🤖 Generated with [Claude Code](https://claude.com/claude-code)\n", 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14988/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/14988/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6720461860', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14988#issuecomment-6720461860', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14988', 'id': 6720461860, 'node_id': 'IC_kwDOALCn2M8AAAABkJIcJA', '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-08T10:39:56Z', 'updated_at': '2026-11-08T10:39:56Z', 'body': 'AI usage is forbidden for this part of the codebase.\r\n\r\nI meant to post this on both of your PRs when I closed them, but it seems like I forgot to post it on this one. Posting it now just for clarity for others looking at this PR in the future.', 'author_association': 'MEMBER', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6720461860/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-08T09:28:56Z', 'pushed_at': '2026-11-08T01:16:41Z', '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': 563799, 'stargazers_count': 15776, 'watchers_count': 15776, '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': 483, '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': 483, 'watchers': 15776, '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-08T10:35:30.559286 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'llsc12', 'action': 'created', 'id': 14713, 'title': 'Fix cheatsmanager crash', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14713#issuecomment-6720421781', 'safe_author': False, 'body': 'okii done', 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14713', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14713/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14713/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14713/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14713', 'id': 4799994243, 'node_id': 'PR_kwDOALCn2M7taCDH', 'number': 14713, 'title': 'Fix cheatsmanager crash', 'user': {'login': 'llsc12', 'id': 42747613, 'node_id': 'MDQ6VXNlcjQyNzQ3NjEz', 'avatar_url': 'https://avatars.githubusercontent.com/u/42747613?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/llsc12', 'html_url': 'https://github.com/llsc12', 'followers_url': 'https://api.github.com/users/llsc12/followers', 'following_url': 'https://api.github.com/users/llsc12/following{/other_user}', 'gists_url': 'https://api.github.com/users/llsc12/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/llsc12/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/llsc12/subscriptions', 'organizations_url': 'https://api.github.com/users/llsc12/orgs', 'repos_url': 'https://api.github.com/users/llsc12/repos', 'events_url': 'https://api.github.com/users/llsc12/events{/privacy}', 'received_events_url': 'https://api.github.com/users/llsc12/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 5, 'created_at': '2026-07-03T03:15:08Z', 'updated_at': '2026-11-08T10:35:28Z', '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/14713', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14713', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14713.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14713.patch', 'merged_at': None}, 'body': "`OnFrameEnd` is called from the CPU thread and starts calling methods on widgets. When searching memory for values, this caused Dolphin to crash a lot for me. Reproduced relatively reliably by having the game running, memory values auto-updating and trying to edit an address' description. \r\n\r\nThe fix just moves work onto the GUI thread, with an atomic flag to avoid posting events every frame if the GUI thread was to fall behind. \r\n\r\nI tested this for around 4 hours making some cheat codes for newer smbw. No crashes thus far.\r\n\r\nAI was used to examine crash logs.", 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14713/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/14713/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6720421781', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14713#issuecomment-6720421781', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14713', 'id': 6720421781, 'node_id': 'IC_kwDOALCn2M8AAAABkJF_lQ', 'user': {'login': 'llsc12', 'id': 42747613, 'node_id': 'MDQ6VXNlcjQyNzQ3NjEz', 'avatar_url': 'https://avatars.githubusercontent.com/u/42747613?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/llsc12', 'html_url': 'https://github.com/llsc12', 'followers_url': 'https://api.github.com/users/llsc12/followers', 'following_url': 'https://api.github.com/users/llsc12/following{/other_user}', 'gists_url': 'https://api.github.com/users/llsc12/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/llsc12/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/llsc12/subscriptions', 'organizations_url': 'https://api.github.com/users/llsc12/orgs', 'repos_url': 'https://api.github.com/users/llsc12/repos', 'events_url': 'https://api.github.com/users/llsc12/events{/privacy}', 'received_events_url': 'https://api.github.com/users/llsc12/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2026-11-08T10:35:28Z', 'updated_at': '2026-11-08T10:35:28Z', 'body': 'okii done', 'author_association': 'NONE', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6720421781/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-08T09:28:56Z', 'pushed_at': '2026-11-08T01:16:41Z', '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': 563799, 'stargazers_count': 15776, 'watchers_count': 15776, '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': 483, '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': 483, 'watchers': 15776, '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': 'llsc12', 'id': 42747613, 'node_id': 'MDQ6VXNlcjQyNzQ3NjEz', 'avatar_url': 'https://avatars.githubusercontent.com/u/42747613?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/llsc12', 'html_url': 'https://github.com/llsc12', 'followers_url': 'https://api.github.com/users/llsc12/followers', 'following_url': 'https://api.github.com/users/llsc12/following{/other_user}', 'gists_url': 'https://api.github.com/users/llsc12/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/llsc12/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/llsc12/subscriptions', 'organizations_url': 'https://api.github.com/users/llsc12/orgs', 'repos_url': 'https://api.github.com/users/llsc12/repos', 'events_url': 'https://api.github.com/users/llsc12/events{/privacy}', 'received_events_url': 'https://api.github.com/users/llsc12/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'gh_issue_comment'}
2026-11-08T10:25:19.047394 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'sepalani', 'action': 'deleted', 'id': 14671, 'title': 'Android: Add RetroAchievements host override receiver', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14671#issuecomment-6720329698', 'safe_author': True, 'body': '@dolphin-emu-bot rebuild', 'raw': {'action': 'deleted', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14671', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14671/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14671/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14671/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14671', 'id': 4583386340, 'node_id': 'PR_kwDOALCn2M7iZsjC', 'number': 14671, 'title': 'Android: Add RetroAchievements host override receiver', 'user': {'login': 'misantronic', 'id': 6033531, 'node_id': 'MDQ6VXNlcjYwMzM1MzE=', 'avatar_url': 'https://avatars.githubusercontent.com/u/6033531?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/misantronic', 'html_url': 'https://github.com/misantronic', 'followers_url': 'https://api.github.com/users/misantronic/followers', 'following_url': 'https://api.github.com/users/misantronic/following{/other_user}', 'gists_url': 'https://api.github.com/users/misantronic/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/misantronic/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/misantronic/subscriptions', 'organizations_url': 'https://api.github.com/users/misantronic/orgs', 'repos_url': 'https://api.github.com/users/misantronic/repos', 'events_url': 'https://api.github.com/users/misantronic/events{/privacy}', 'received_events_url': 'https://api.github.com/users/misantronic/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 21, 'created_at': '2026-06-03T20:26:42Z', 'updated_at': '2026-11-08T10:25:10Z', '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/14671', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14671', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14671.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14671.patch', 'merged_at': None}, 'body': "[RAOfflineProxy](https://raofflineproxy.com/) is an Android app that proxies RetroAchievements traffic through `127.0.0.1`, enabling offline softcore achievement play through local caching and later sync.\n\nThis makes the override controllable by the app at runtime instead of requiring external tools to patch `RetroAchievements.ini` directly, which is more brittle and harder to integrate cleanly on Android.\n\n## Summary\n- add an Android broadcast receiver for setting and clearing the RetroAchievements host override\n- persist the override to Dolphin's RetroAchievements config and disable hardcore while active\n- reload the achievement manager after config changes so the override takes effect without manual file edits\n\n## Testing\n- built `:app:assembleDebug`\n- installed the debug APK on device via `adb`\n- verified `SET_RETROACHIEVEMENTS_HOST_OVERRIDE` patches `RetroAchievements.ini` to `HostUrl = 127.0.0.1:8080` and sets `HardcoreEnabled = False`\n- verified traffic then routes through the local proxy\n- verified `CLEAR_RETROACHIEVEMENTS_HOST_OVERRIDE` resets `HostUrl =`\n\n## Related\n- mirrors the same Android broadcast-driven host override already merged for [PPSSPP](https://github.com/hrydgard/ppsspp/pull/21760), planned for the upcoming release\n- mirrors the same integration already merged for [flycast](https://github.com/flyinghead/flycast/pull/2371), planned for the upcoming release\n- mirrors the same integration already merged for [ARMSX2](https://github.com/ARMSX2/ARMSX2/pull/164) and shipped in the current build, and inherited by [ARMSX1](https://github.com/ARMSX2/ARMSX1)\n- mirrors the same integration already merged for [mupen64plus-ae](https://github.com/JoeysRetroHandhelds/mupen64plus-ae-retroachievements/pull/1)\n- mirrors the same integration already shipped in [WatermelonDS](https://github.com/SapphireRhodonite/WatermelonDS), with [SeedlessDS](https://github.com/SapphireRhodonite/SeedlessDS) pending\n- follows the same goal as the open PRs for [RetroArch](https://github.com/libretro/RetroArch/pull/19093) and [NetherSX2](https://github.com/Trixarian/NetherSX2-patch/pull/343)\n", 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14671/reactions', 'total_count': 1, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 1}, 'timeline_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14671/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6720329698', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14671#issuecomment-6720329698', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14671', 'id': 6720329698, 'node_id': 'IC_kwDOALCn2M8AAAABkJAX4g', '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}, 'created_at': '2026-11-08T10:25:10Z', 'updated_at': '2026-11-08T10:25:10Z', 'body': '@dolphin-emu-bot rebuild', 'author_association': 'MEMBER', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6720329698/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-08T09:28:56Z', 'pushed_at': '2026-11-08T01:16:41Z', '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': 563799, 'stargazers_count': 15776, 'watchers_count': 15776, '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': 483, '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': 483, 'watchers': 15776, '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': 'gh_issue_comment'}
2026-11-08T10:25:12.099676 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'sepalani', 'action': 'created', 'id': 14671, 'title': 'Android: Add RetroAchievements host override receiver', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14671#issuecomment-6720329698', 'safe_author': True, 'body': '@dolphin-emu-bot rebuild', 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14671', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14671/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14671/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14671/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14671', 'id': 4583386340, 'node_id': 'PR_kwDOALCn2M7iZsjC', 'number': 14671, 'title': 'Android: Add RetroAchievements host override receiver', 'user': {'login': 'misantronic', 'id': 6033531, 'node_id': 'MDQ6VXNlcjYwMzM1MzE=', 'avatar_url': 'https://avatars.githubusercontent.com/u/6033531?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/misantronic', 'html_url': 'https://github.com/misantronic', 'followers_url': 'https://api.github.com/users/misantronic/followers', 'following_url': 'https://api.github.com/users/misantronic/following{/other_user}', 'gists_url': 'https://api.github.com/users/misantronic/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/misantronic/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/misantronic/subscriptions', 'organizations_url': 'https://api.github.com/users/misantronic/orgs', 'repos_url': 'https://api.github.com/users/misantronic/repos', 'events_url': 'https://api.github.com/users/misantronic/events{/privacy}', 'received_events_url': 'https://api.github.com/users/misantronic/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 21, 'created_at': '2026-06-03T20:26:42Z', 'updated_at': '2026-11-08T10:25:10Z', '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/14671', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14671', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14671.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14671.patch', 'merged_at': None}, 'body': "[RAOfflineProxy](https://raofflineproxy.com/) is an Android app that proxies RetroAchievements traffic through `127.0.0.1`, enabling offline softcore achievement play through local caching and later sync.\n\nThis makes the override controllable by the app at runtime instead of requiring external tools to patch `RetroAchievements.ini` directly, which is more brittle and harder to integrate cleanly on Android.\n\n## Summary\n- add an Android broadcast receiver for setting and clearing the RetroAchievements host override\n- persist the override to Dolphin's RetroAchievements config and disable hardcore while active\n- reload the achievement manager after config changes so the override takes effect without manual file edits\n\n## Testing\n- built `:app:assembleDebug`\n- installed the debug APK on device via `adb`\n- verified `SET_RETROACHIEVEMENTS_HOST_OVERRIDE` patches `RetroAchievements.ini` to `HostUrl = 127.0.0.1:8080` and sets `HardcoreEnabled = False`\n- verified traffic then routes through the local proxy\n- verified `CLEAR_RETROACHIEVEMENTS_HOST_OVERRIDE` resets `HostUrl =`\n\n## Related\n- mirrors the same Android broadcast-driven host override already merged for [PPSSPP](https://github.com/hrydgard/ppsspp/pull/21760), planned for the upcoming release\n- mirrors the same integration already merged for [flycast](https://github.com/flyinghead/flycast/pull/2371), planned for the upcoming release\n- mirrors the same integration already merged for [ARMSX2](https://github.com/ARMSX2/ARMSX2/pull/164) and shipped in the current build, and inherited by [ARMSX1](https://github.com/ARMSX2/ARMSX1)\n- mirrors the same integration already merged for [mupen64plus-ae](https://github.com/JoeysRetroHandhelds/mupen64plus-ae-retroachievements/pull/1)\n- mirrors the same integration already shipped in [WatermelonDS](https://github.com/SapphireRhodonite/WatermelonDS), with [SeedlessDS](https://github.com/SapphireRhodonite/SeedlessDS) pending\n- follows the same goal as the open PRs for [RetroArch](https://github.com/libretro/RetroArch/pull/19093) and [NetherSX2](https://github.com/Trixarian/NetherSX2-patch/pull/343)\n", 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14671/reactions', 'total_count': 1, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 1}, 'timeline_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14671/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6720329698', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14671#issuecomment-6720329698', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14671', 'id': 6720329698, 'node_id': 'IC_kwDOALCn2M8AAAABkJAX4g', '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}, 'created_at': '2026-11-08T10:25:10Z', 'updated_at': '2026-11-08T10:25:10Z', 'body': '@dolphin-emu-bot rebuild', 'author_association': 'MEMBER', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6720329698/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-08T09:28:56Z', 'pushed_at': '2026-11-08T01:16:41Z', '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': 563799, 'stargazers_count': 15776, 'watchers_count': 15776, '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': 483, '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': 483, 'watchers': 15776, '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': 'gh_issue_comment'}
2026-11-08T08:51:22.973723 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'Immersion95', 'action': 'created', 'id': 14654, 'title': 'GameINI: Add fix codes to the internal color bug in Capcom vs. SNK 2 EO', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14654#issuecomment-6719477018', 'safe_author': False, 'body': "Is there any news on the merge ? I think it's an important cheat that should be considered as a internal bugfix :).", 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14654', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14654/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14654/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14654/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14654', 'id': 4476842719, 'node_id': 'PR_kwDOALCn2M7dCetL', 'number': 14654, 'title': 'GameINI: Add fix codes to the internal color bug in Capcom vs. SNK 2 EO', 'user': {'login': 'Immersion95', 'id': 47425204, 'node_id': 'MDQ6VXNlcjQ3NDI1MjA0', 'avatar_url': 'https://avatars.githubusercontent.com/u/47425204?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/Immersion95', 'html_url': 'https://github.com/Immersion95', 'followers_url': 'https://api.github.com/users/Immersion95/followers', 'following_url': 'https://api.github.com/users/Immersion95/following{/other_user}', 'gists_url': 'https://api.github.com/users/Immersion95/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/Immersion95/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/Immersion95/subscriptions', 'organizations_url': 'https://api.github.com/users/Immersion95/orgs', 'repos_url': 'https://api.github.com/users/Immersion95/repos', 'events_url': 'https://api.github.com/users/Immersion95/events{/privacy}', 'received_events_url': 'https://api.github.com/users/Immersion95/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 2, 'created_at': '2026-05-19T11:12:00Z', 'updated_at': '2026-11-08T08:51:20Z', '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/14654', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14654', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14654.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14654.patch', 'merged_at': None}, 'body': '## Summary\r\n\r\nThis PR adds Gecko codes for all three GameCube releases of **Capcom vs. SNK 2 EO**:\r\n\r\n- **GEOJ08** (Japan)\r\n- **GEOE08** (USA)\r\n- **GEOP08** (Europe)\r\n\r\nThese codes fix the **green-tinted gameplay colors** seen in the GameCube version and restore the in-game characters/objects colors from the **Naomi, Dreamcast and PS2** versions.\r\n\r\n---\r\n\r\n## Problem\r\n\r\nThe GameCube version of *Capcom vs. SNK 2 EO* applies an incorrect color treatment during gameplay.\r\n\r\nIn practice, this causes:\r\n- a noticeable **green tint** on characters and gameplay objects,\r\n- palette-dependent color shifts,\r\n- colors that do **not** match the game’s own **Color Edit mode**,\r\n- and colors that differ from the appearance seen in the **Dreamcast / PS2 / Naomi** versions.\r\n\r\nA simple way to observe the issue is to compare:\r\n1. a character’s appearance in **Color Edit mode**,\r\n2. the same character in **normal gameplay**,\r\n3. and the same character with the fix enabled.\r\n\r\nWithout the patch, gameplay colors are visibly off. With the patch, they become identical to the intended rendering.\r\n\r\n---\r\n\r\n## What does this cheat do ?\r\n\r\nThe fix targets two separate parts of the GameCube gameplay rendering path.\r\n\r\n### 1. Palette / TLUT high-bit forcing\r\n\r\nSeveral gameplay palette/TLUT copy routines force the RGB5A3 high bit with instructions equivalent to:\r\n\r\n ori ..., ..., 0x8000\r\n\r\nThis appears to be intended to force palette entries into opaque RGB555 mode. However, in the affected gameplay paths, this produces an unwanted green-bit bias on some colors.\r\n\r\nIn practical terms, some palette entries behave as if one bit of the 5-bit green channel was forced on:\r\n\r\n G5 = G5 | 0b00100\r\n\r\nThis is why the tint is not uniform. Colors where that green bit was already set stay mostly unchanged, while colors where it was clear gain roughly +33 green in 8-bit RGB.\r\n\r\nThe patch removes this forced high-bit operation from the relevant gameplay palette/TLUT paths:\r\n\r\n- main editable character palette path\r\n- common palette loader path\r\n- secondary runtime palette path used by objects and extra sprite palettes\r\n\r\n### 2. Gameplay vertex green multiplier\r\n\r\nGameplay also applies a vertex color multiplier that scales the green channel to 90%:\r\n\r\n mulli ..., ..., 0x5A\r\n\r\n0x5A is 90 in decimal.\r\n\r\nChanging this alone to 100% makes some colors worse, because the palette issue is still present. However, once the palette/TLUT high-bit issue is removed, the 90% green multiplier is no longer needed. The patch restores it to neutral 100%:\r\n\r\n 0x5A -> 0x64\r\n\r\nSo the corrected behavior becomes:\r\n\r\n no unwanted palette green-bit boost\r\n +\r\n neutral 100% gameplay green vertex multiplier\r\n\r\nTogether, these changes make GameCube gameplay colors match exactly the game’s own Color Edit mode and the Naomi / Dreamcast / PS2 references.\r\n\r\n---\r\n\r\n## Findings\r\n\r\nAfter comparing:\r\n- gameplay captures,\r\n- Color Edit mode output,\r\n- memory/state data,\r\n- FIFO captures,\r\n- and debugger traces,\r\n\r\nthe issue appears to be internal to the game’s rendering path rather than a Dolphin-specific bug.\r\n\r\n### Important observation\r\n\r\nThe game’s own **Color Edit mode** is the clearest internal reference for the intended colors.\r\n\r\nFor example:\r\n- **Ryu** in Color Edit mode matches the gameplay of the Naomi/DC/PS2 but not its own GC\'s gameplay which is weird.\r\n\r\nSo this is not just “subjective color preference”, the game itself exposes a cleaner reference path.\r\n\r\n---\r\n\r\n## Theory / likely explanation\r\n\r\nThis looks like an internal GameCube porting issue rather than a Dolphin bug or a display/output problem.\r\n\r\nThe exact reason this shipped in the retail GameCube version is impossible to know without Capcom’s original development notes, but two explanations seem plausible:\r\n\r\n### Theory 1: Capcom could not fully fix it in time\r\n\r\nCapcom may have noticed that the GameCube gameplay colors were too green/yellow late in development, but the real issue was buried in several gameplay palette/TLUT paths.\r\n\r\nInstead of safely rewriting all of those paths before release, they may have added a global 90% green multiplier as a quick mitigation. That reduced the visible tint, but it did not actually fix the underlying palette issue.\r\n\r\nThis would explain why the retail game looks partially corrected, but still does not match Color Edit, Naomi, Dreamcast, or PS2.\r\n\r\n### Theory 2: Capcom accepted or liked the final look\r\n\r\nAnother possibility is that Capcom saw the altered GameCube gameplay colors and simply accepted the result, or even preferred the slightly different look on GameCube displays at the time.\r\n\r\nOn CRTs and analog video output, the issue may have looked less obvious than it does today in clean digital captures or Dolphin screenshots.\r\n\r\nEither way, the final result in the retail GameCube build appears to be an **internal game bug / workaround**, not something caused by Dolphin.\r\n\r\n---\r\n\r\n## Why this matters\r\n\r\nI originally bought *Capcom vs. SNK 2 EO* on GameCube when I was younger, and for a long time I honestly thought **my GameCube had a problem**, because the colors in gameplay always looked wrong.\r\n\r\nOnly much later, after comparing versions and digging into the game more deeply, it became clear that the issue was actually **inside the game itself**.\r\n\r\n- "Just play the DC/PS2 version" Yes.... but CVS2 EO has unique balance change (Roll cancel removed, Stronger P-Groove).\r\n\r\n- "Just play Capcom Fighting Collection 2" Yes.... but there\'s no "Color edit mode" 😐.\r\n\r\n---\r\n\r\n## Result\r\n\r\nWith the codes enabled:\r\n- The green tint is removed, yay !\r\n- Palette behavior becomes much more consistent so your edited colors will match perfectly in gameplay !\r\n- The game colors matches exactly the **Naomi / DC / PS2** versions.\r\n\r\n---\r\n\r\n## Before / After (look at the contrast of the clothes)\r\n\r\n**Before :** 🤮\r\n<img width="640" height="491" alt="GEOJ08_2026-05-19_12-35-16" src="https://github.com/user-attachments/assets/ec89cb4a-7080-443f-8cb5-3aedd6aeb1aa" />\r\n**After :** 😃\r\n<img width="640" height="491" alt="GEOJ08_2026-05-19_12-35-58_4" src="https://github.com/user-attachments/assets/63cd9893-6870-4665-8c1d-503ed8ee6a3a" />\r\nColor Edit Mode for references :\r\n<img width="640" height="491" alt="Color Edit Eagle" src="https://github.com/user-attachments/assets/7266ae2c-2e16-4326-8b08-3f37c24c7114" />\r\n<img width="640" height="491" alt="Color Edit Vice" src="https://github.com/user-attachments/assets/093d534f-23ba-4d53-8410-7ddee7516634" />\r\n\r\n---\r\n\r\n## Notes\r\n\r\nThese are **Gecko codes**, so they are useful both in Dolphin and on real hardware setups that support Gecko codes (tested in **Nintendon\'t**).\r\n\r\n---\r\n\r\n## Credits\r\n\r\nThis investigation and fix were worked out using:\r\n- **Dolphin’s debugger / FIFO tools**\r\n- a lot of manual comparison and testing\r\n- and **ChatGPT** for assistance during the reverse-engineering / analysis process.', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14654/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/14654/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6719477018', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14654#issuecomment-6719477018', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14654', 'id': 6719477018, 'node_id': 'IC_kwDOALCn2M8AAAABkIMVGg', 'user': {'login': 'Immersion95', 'id': 47425204, 'node_id': 'MDQ6VXNlcjQ3NDI1MjA0', 'avatar_url': 'https://avatars.githubusercontent.com/u/47425204?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/Immersion95', 'html_url': 'https://github.com/Immersion95', 'followers_url': 'https://api.github.com/users/Immersion95/followers', 'following_url': 'https://api.github.com/users/Immersion95/following{/other_user}', 'gists_url': 'https://api.github.com/users/Immersion95/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/Immersion95/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/Immersion95/subscriptions', 'organizations_url': 'https://api.github.com/users/Immersion95/orgs', 'repos_url': 'https://api.github.com/users/Immersion95/repos', 'events_url': 'https://api.github.com/users/Immersion95/events{/privacy}', 'received_events_url': 'https://api.github.com/users/Immersion95/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2026-11-08T08:51:20Z', 'updated_at': '2026-11-08T08:51:20Z', 'body': "Is there any news on the merge ? I think it's an important cheat that should be considered as a internal bugfix :).", 'author_association': 'NONE', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6719477018/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-08T07:08:40Z', 'pushed_at': '2026-11-08T01:16:41Z', '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': 563799, 'stargazers_count': 15775, 'watchers_count': 15775, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3383, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 483, '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': 3383, 'open_issues': 483, 'watchers': 15775, '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': 'Immersion95', 'id': 47425204, 'node_id': 'MDQ6VXNlcjQ3NDI1MjA0', 'avatar_url': 'https://avatars.githubusercontent.com/u/47425204?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/Immersion95', 'html_url': 'https://github.com/Immersion95', 'followers_url': 'https://api.github.com/users/Immersion95/followers', 'following_url': 'https://api.github.com/users/Immersion95/following{/other_user}', 'gists_url': 'https://api.github.com/users/Immersion95/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/Immersion95/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/Immersion95/subscriptions', 'organizations_url': 'https://api.github.com/users/Immersion95/orgs', 'repos_url': 'https://api.github.com/users/Immersion95/repos', 'events_url': 'https://api.github.com/users/Immersion95/events{/privacy}', 'received_events_url': 'https://api.github.com/users/Immersion95/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'gh_issue_comment'}
2026-11-08T08:45:04.378844 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'Twilight0', 'action': 'created', 'id': 14992, 'title': 'OGL: Fix Nouveau driver detection on modern Mesa', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14992#issuecomment-6719420676', 'safe_author': False, 'body': 'Closing as this is no longer necessary due to https://github.com/dolphin-emu/dolphin/pull/14993', 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14992', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14992/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14992/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14992/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14992', 'id': 6260895115, 'node_id': 'PR_kwDOALCn2M8AAAABNiGuxw', 'number': 14992, 'title': 'OGL: Fix Nouveau driver detection on modern Mesa', 'user': {'login': 'Twilight0', 'id': 1566256, 'node_id': 'MDQ6VXNlcjE1NjYyNTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1566256?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/Twilight0', 'html_url': 'https://github.com/Twilight0', 'followers_url': 'https://api.github.com/users/Twilight0/followers', 'following_url': 'https://api.github.com/users/Twilight0/following{/other_user}', 'gists_url': 'https://api.github.com/users/Twilight0/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/Twilight0/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/Twilight0/subscriptions', 'organizations_url': 'https://api.github.com/users/Twilight0/orgs', 'repos_url': 'https://api.github.com/users/Twilight0/repos', 'events_url': 'https://api.github.com/users/Twilight0/events{/privacy}', 'received_events_url': 'https://api.github.com/users/Twilight0/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'closed', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 1, 'created_at': '2026-11-07T15:32:39Z', 'updated_at': '2026-11-08T08:45:02Z', 'closed_at': '2026-11-08T08:45:01Z', '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/14992', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14992', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14992.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14992.patch', 'merged_at': None}, 'body': '## Problem\n\n`InitDriverInfo()` in `OGLConfig.cpp` only recognised Nouveau when `GL_VENDOR` was the literal string `"nouveau"`. Modern Mesa reports `GL_VENDOR` as `"Mesa"` with the GPU codename (e.g. `NVC3`) in `GL_RENDERER`, so `DRIVER_NOUVEAU` never matched and no Nouveau `DriverDetails` bug entry ever applied.\n\n## Fix\n\nIdentify Nouveau from the renderer string instead: it either contains `"nouveau"` (older Gallium strings) or starts with the `NV` chip codename prefix.\n\nThis is a small, self-contained correction; it only affects which driver is recorded for Mesa/Nouveau systems. Verified on GeForce GT 555M (NVC3) with Mesa 26.2.6, where `DRIVER_NOUVEAU` now matches.', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14992/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/14992/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6719420676', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14992#issuecomment-6719420676', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14992', 'id': 6719420676, 'node_id': 'IC_kwDOALCn2M8AAAABkII5BA', 'user': {'login': 'Twilight0', 'id': 1566256, 'node_id': 'MDQ6VXNlcjE1NjYyNTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1566256?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/Twilight0', 'html_url': 'https://github.com/Twilight0', 'followers_url': 'https://api.github.com/users/Twilight0/followers', 'following_url': 'https://api.github.com/users/Twilight0/following{/other_user}', 'gists_url': 'https://api.github.com/users/Twilight0/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/Twilight0/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/Twilight0/subscriptions', 'organizations_url': 'https://api.github.com/users/Twilight0/orgs', 'repos_url': 'https://api.github.com/users/Twilight0/repos', 'events_url': 'https://api.github.com/users/Twilight0/events{/privacy}', 'received_events_url': 'https://api.github.com/users/Twilight0/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2026-11-08T08:45:02Z', 'updated_at': '2026-11-08T08:45:02Z', 'body': 'Closing as this is no longer necessary due to https://github.com/dolphin-emu/dolphin/pull/14993', 'author_association': 'NONE', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6719420676/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-08T07:08:40Z', 'pushed_at': '2026-11-08T01:16:41Z', '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': 563799, 'stargazers_count': 15775, 'watchers_count': 15775, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3383, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 483, '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': 3383, 'open_issues': 483, 'watchers': 15775, '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': 'Twilight0', 'id': 1566256, 'node_id': 'MDQ6VXNlcjE1NjYyNTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1566256?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/Twilight0', 'html_url': 'https://github.com/Twilight0', 'followers_url': 'https://api.github.com/users/Twilight0/followers', 'following_url': 'https://api.github.com/users/Twilight0/following{/other_user}', 'gists_url': 'https://api.github.com/users/Twilight0/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/Twilight0/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/Twilight0/subscriptions', 'organizations_url': 'https://api.github.com/users/Twilight0/orgs', 'repos_url': 'https://api.github.com/users/Twilight0/repos', 'events_url': 'https://api.github.com/users/Twilight0/events{/privacy}', 'received_events_url': 'https://api.github.com/users/Twilight0/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'gh_issue_comment'}
2026-11-08T08:43:59.271180 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'Twilight0', 'action': 'created', 'id': 14993, 'title': 'VideoCommon: Derive fog depth from clip space on Nouveau', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14993#issuecomment-6719410913', 'safe_author': False, 'body': "> This isn't a Dolphin bug, this is a Nouveau/Mesa bug. Report it to them or try to fix the bug in the driver. In the meantime, don't use fastdepth.\n\nYou 're right, i knew it from the start, but AI insisted we could try this path because I couldn't find the exact cause. And mesa fork is a base where I can experiment freely. Closing.", 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14993', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14993/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14993/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14993/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14993', 'id': 6260896606, 'node_id': 'PR_kwDOALCn2M8AAAABNiGziA', 'number': 14993, 'title': 'VideoCommon: Derive fog depth from clip space on Nouveau', 'user': {'login': 'Twilight0', 'id': 1566256, 'node_id': 'MDQ6VXNlcjE1NjYyNTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1566256?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/Twilight0', 'html_url': 'https://github.com/Twilight0', 'followers_url': 'https://api.github.com/users/Twilight0/followers', 'following_url': 'https://api.github.com/users/Twilight0/following{/other_user}', 'gists_url': 'https://api.github.com/users/Twilight0/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/Twilight0/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/Twilight0/subscriptions', 'organizations_url': 'https://api.github.com/users/Twilight0/orgs', 'repos_url': 'https://api.github.com/users/Twilight0/repos', 'events_url': 'https://api.github.com/users/Twilight0/events{/privacy}', 'received_events_url': 'https://api.github.com/users/Twilight0/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'closed', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 2, 'created_at': '2026-11-07T15:32:48Z', 'updated_at': '2026-11-08T08:43:57Z', 'closed_at': '2026-11-08T08:43:56Z', '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/14993', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14993', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14993.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14993.patch', 'merged_at': None}, 'body': "## Depends on\n\n#14992 (`fix/nouveau-driver-detection`) — `DRIVER_NOUVEAU` previously never matched on modern Mesa, so the bug entry added here would never trigger without it. This PR is a single commit based on `master` and touches disjoint files, so it is inert (but harmless) until #14992 lands; please merge #14992 first.\n\n## Problem\n\nWith `FastDepthCalc` enabled, the fog/ztexture depth (`zCoord`) is derived from the hardware fragment depth (`rawpos.z`). On Nouveau (verified on Fermi/NVC3 with Mesa) that value is wrong in full game shaders, which saturates perspective fog across entire scenes:\n\n- Metal Gear Solid: The Twin Snakes — cargo dock renders as a solid dark-green wash (HUD/minimap unaffected)\n- Super Smash Bros. Melee — menus wash out, some characters/stages wrong\n- Super Mario Sunshine — Mario turns monochrome in goop\n\nDisabling `FastDepthCalc` avoids it by recomputing depth from clip space (the existing non-fast path), at a performance cost.\n\n## Fix\n\nAdd `BUG_BROKEN_FRAG_COORD_DEPTH` for `DRIVER_NOUVEAU` and route affected drivers through the same clip-space depth calculation already used when `FastDepthCalc` is off, including emitting the `clipPos` varying in the vertex/geometry/uber shader generators. Other drivers generate identical shaders to before; the new `ShaderHostConfig` bit also separates the shader cache, so stale binaries compiled with the old formula are not reused.\n\nNote on placement: the root cause may be in Nouveau's handling of `gl_FragCoord.z` in these shaders, but minimal GL repros (fog math, `gl_FragCoord.z` under clip control/reversed ranges, early fragment tests, dynamic sampler indexing) all pass on the same driver, so no Mesa-side defect could be isolated. This uses Dolphin's existing driver-workaround mechanism, gated to Nouveau only.\n\n## Testing\n\nGeForce GT 555M (NVC3), `FastDepthCalc = True`, cold shader cache, both stock Mesa 26.2.6 (Arch) and a locally patched Mesa:\n\n- Twin Snakes cargo dock and the preceding diving-suit cutscene: correct colours (previously dark-green wash)\n- Melee title/menus/characters: correct (previously washed/grey-blue)\n- One-variable isolation runs: original shader cache = broken, fresh cache = correct; forcing `early_fragment_tests` or toggling image-load-store paths made no difference once the cache was cold\n", 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14993/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/14993/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6719410913', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14993#issuecomment-6719410913', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14993', 'id': 6719410913, 'node_id': 'IC_kwDOALCn2M8AAAABkIIS4Q', 'user': {'login': 'Twilight0', 'id': 1566256, 'node_id': 'MDQ6VXNlcjE1NjYyNTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1566256?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/Twilight0', 'html_url': 'https://github.com/Twilight0', 'followers_url': 'https://api.github.com/users/Twilight0/followers', 'following_url': 'https://api.github.com/users/Twilight0/following{/other_user}', 'gists_url': 'https://api.github.com/users/Twilight0/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/Twilight0/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/Twilight0/subscriptions', 'organizations_url': 'https://api.github.com/users/Twilight0/orgs', 'repos_url': 'https://api.github.com/users/Twilight0/repos', 'events_url': 'https://api.github.com/users/Twilight0/events{/privacy}', 'received_events_url': 'https://api.github.com/users/Twilight0/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2026-11-08T08:43:56Z', 'updated_at': '2026-11-08T08:43:56Z', 'body': "> This isn't a Dolphin bug, this is a Nouveau/Mesa bug. Report it to them or try to fix the bug in the driver. In the meantime, don't use fastdepth.\n\nYou 're right, i knew it from the start, but AI insisted we could try this path because I couldn't find the exact cause. And mesa fork is a base where I can experiment freely. Closing.", 'author_association': 'NONE', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6719410913/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-08T07:08:40Z', 'pushed_at': '2026-11-08T01:16:41Z', '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': 563799, 'stargazers_count': 15775, 'watchers_count': 15775, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3383, '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': 3383, 'open_issues': 484, 'watchers': 15775, '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': 'Twilight0', 'id': 1566256, 'node_id': 'MDQ6VXNlcjE1NjYyNTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1566256?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/Twilight0', 'html_url': 'https://github.com/Twilight0', 'followers_url': 'https://api.github.com/users/Twilight0/followers', 'following_url': 'https://api.github.com/users/Twilight0/following{/other_user}', 'gists_url': 'https://api.github.com/users/Twilight0/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/Twilight0/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/Twilight0/subscriptions', 'organizations_url': 'https://api.github.com/users/Twilight0/orgs', 'repos_url': 'https://api.github.com/users/Twilight0/repos', 'events_url': 'https://api.github.com/users/Twilight0/events{/privacy}', 'received_events_url': 'https://api.github.com/users/Twilight0/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'gh_issue_comment'}
2026-11-08T06:33:59.608092 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'created', 'id': 14713, 'title': 'Fix cheatsmanager crash', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14713#issuecomment-6718281158', 'safe_author': True, 'body': '> Bit (incredibly) offtopic, but why not just squash merge?\r\n\r\nApparently something in our auto build infrastructure expects us not to do this.', 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14713', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14713/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14713/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14713/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14713', 'id': 4799994243, 'node_id': 'PR_kwDOALCn2M7taCDH', 'number': 14713, 'title': 'Fix cheatsmanager crash', 'user': {'login': 'llsc12', 'id': 42747613, 'node_id': 'MDQ6VXNlcjQyNzQ3NjEz', 'avatar_url': 'https://avatars.githubusercontent.com/u/42747613?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/llsc12', 'html_url': 'https://github.com/llsc12', 'followers_url': 'https://api.github.com/users/llsc12/followers', 'following_url': 'https://api.github.com/users/llsc12/following{/other_user}', 'gists_url': 'https://api.github.com/users/llsc12/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/llsc12/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/llsc12/subscriptions', 'organizations_url': 'https://api.github.com/users/llsc12/orgs', 'repos_url': 'https://api.github.com/users/llsc12/repos', 'events_url': 'https://api.github.com/users/llsc12/events{/privacy}', 'received_events_url': 'https://api.github.com/users/llsc12/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 4, 'created_at': '2026-07-03T03:15:08Z', 'updated_at': '2026-11-08T06:33:57Z', '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/14713', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14713', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14713.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14713.patch', 'merged_at': None}, 'body': "`OnFrameEnd` is called from the CPU thread and starts calling methods on widgets. When searching memory for values, this caused Dolphin to crash a lot for me. Reproduced relatively reliably by having the game running, memory values auto-updating and trying to edit an address' description. \r\n\r\nThe fix just moves work onto the GUI thread, with an atomic flag to avoid posting events every frame if the GUI thread was to fall behind. \r\n\r\nI tested this for around 4 hours making some cheat codes for newer smbw. No crashes thus far.\r\n\r\nAI was used to examine crash logs.", 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14713/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/14713/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6718281158', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14713#issuecomment-6718281158', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14713', 'id': 6718281158, 'node_id': 'IC_kwDOALCn2M8AAAABkHDVxg', '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-08T06:33:57Z', 'updated_at': '2026-11-08T06:33:57Z', 'body': '> Bit (incredibly) offtopic, but why not just squash merge?\r\n\r\nApparently something in our auto build infrastructure expects us not to do this.', 'author_association': 'MEMBER', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6718281158/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-07T22:20:48Z', 'pushed_at': '2026-11-08T01:16:41Z', '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': 563799, 'stargazers_count': 15774, 'watchers_count': 15774, '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': 485, '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': 485, 'watchers': 15774, '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-08T03:03:15.496676 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'MayImilae', 'action': 'created', 'id': 14993, 'title': 'VideoCommon: Derive fog depth from clip space on Nouveau', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14993#issuecomment-6716481463', 'safe_author': True, 'body': "This isn't a Dolphin bug, this is a Nouveau/Mesa bug. Report it to them or try to fix the bug in the driver. In the meantime, don't use fastdepth.", 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14993', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14993/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14993/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14993/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14993', 'id': 6260896606, 'node_id': 'PR_kwDOALCn2M8AAAABNiGziA', 'number': 14993, 'title': 'VideoCommon: Derive fog depth from clip space on Nouveau', 'user': {'login': 'Twilight0', 'id': 1566256, 'node_id': 'MDQ6VXNlcjE1NjYyNTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1566256?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/Twilight0', 'html_url': 'https://github.com/Twilight0', 'followers_url': 'https://api.github.com/users/Twilight0/followers', 'following_url': 'https://api.github.com/users/Twilight0/following{/other_user}', 'gists_url': 'https://api.github.com/users/Twilight0/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/Twilight0/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/Twilight0/subscriptions', 'organizations_url': 'https://api.github.com/users/Twilight0/orgs', 'repos_url': 'https://api.github.com/users/Twilight0/repos', 'events_url': 'https://api.github.com/users/Twilight0/events{/privacy}', 'received_events_url': 'https://api.github.com/users/Twilight0/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-07T15:32:48Z', 'updated_at': '2026-11-08T03:03:13Z', '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/14993', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14993', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14993.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14993.patch', 'merged_at': None}, 'body': "## Depends on\n\n#14992 (`fix/nouveau-driver-detection`) — `DRIVER_NOUVEAU` previously never matched on modern Mesa, so the bug entry added here would never trigger without it. This PR is a single commit based on `master` and touches disjoint files, so it is inert (but harmless) until #14992 lands; please merge #14992 first.\n\n## Problem\n\nWith `FastDepthCalc` enabled, the fog/ztexture depth (`zCoord`) is derived from the hardware fragment depth (`rawpos.z`). On Nouveau (verified on Fermi/NVC3 with Mesa) that value is wrong in full game shaders, which saturates perspective fog across entire scenes:\n\n- Metal Gear Solid: The Twin Snakes — cargo dock renders as a solid dark-green wash (HUD/minimap unaffected)\n- Super Smash Bros. Melee — menus wash out, some characters/stages wrong\n- Super Mario Sunshine — Mario turns monochrome in goop\n\nDisabling `FastDepthCalc` avoids it by recomputing depth from clip space (the existing non-fast path), at a performance cost.\n\n## Fix\n\nAdd `BUG_BROKEN_FRAG_COORD_DEPTH` for `DRIVER_NOUVEAU` and route affected drivers through the same clip-space depth calculation already used when `FastDepthCalc` is off, including emitting the `clipPos` varying in the vertex/geometry/uber shader generators. Other drivers generate identical shaders to before; the new `ShaderHostConfig` bit also separates the shader cache, so stale binaries compiled with the old formula are not reused.\n\nNote on placement: the root cause may be in Nouveau's handling of `gl_FragCoord.z` in these shaders, but minimal GL repros (fog math, `gl_FragCoord.z` under clip control/reversed ranges, early fragment tests, dynamic sampler indexing) all pass on the same driver, so no Mesa-side defect could be isolated. This uses Dolphin's existing driver-workaround mechanism, gated to Nouveau only.\n\n## Testing\n\nGeForce GT 555M (NVC3), `FastDepthCalc = True`, cold shader cache, both stock Mesa 26.2.6 (Arch) and a locally patched Mesa:\n\n- Twin Snakes cargo dock and the preceding diving-suit cutscene: correct colours (previously dark-green wash)\n- Melee title/menus/characters: correct (previously washed/grey-blue)\n- One-variable isolation runs: original shader cache = broken, fresh cache = correct; forcing `early_fragment_tests` or toggling image-load-store paths made no difference once the cache was cold\n", 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14993/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/14993/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6716481463', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14993#issuecomment-6716481463', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14993', 'id': 6716481463, 'node_id': 'IC_kwDOALCn2M8AAAABkFVftw', 'user': {'login': 'MayImilae', 'id': 6551020, 'node_id': 'MDQ6VXNlcjY1NTEwMjA=', 'avatar_url': 'https://avatars.githubusercontent.com/u/6551020?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/MayImilae', 'html_url': 'https://github.com/MayImilae', 'followers_url': 'https://api.github.com/users/MayImilae/followers', 'following_url': 'https://api.github.com/users/MayImilae/following{/other_user}', 'gists_url': 'https://api.github.com/users/MayImilae/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/MayImilae/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/MayImilae/subscriptions', 'organizations_url': 'https://api.github.com/users/MayImilae/orgs', 'repos_url': 'https://api.github.com/users/MayImilae/repos', 'events_url': 'https://api.github.com/users/MayImilae/events{/privacy}', 'received_events_url': 'https://api.github.com/users/MayImilae/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2026-11-08T03:03:13Z', 'updated_at': '2026-11-08T03:03:13Z', 'body': "This isn't a Dolphin bug, this is a Nouveau/Mesa bug. Report it to them or try to fix the bug in the driver. In the meantime, don't use fastdepth.", 'author_association': 'MEMBER', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6716481463/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-07T22:20:48Z', 'pushed_at': '2026-11-08T01:16:41Z', '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': 563799, 'stargazers_count': 15774, 'watchers_count': 15774, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3383, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 485, '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': 3383, 'open_issues': 485, 'watchers': 15774, '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': 'MayImilae', 'id': 6551020, 'node_id': 'MDQ6VXNlcjY1NTEwMjA=', 'avatar_url': 'https://avatars.githubusercontent.com/u/6551020?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/MayImilae', 'html_url': 'https://github.com/MayImilae', 'followers_url': 'https://api.github.com/users/MayImilae/followers', 'following_url': 'https://api.github.com/users/MayImilae/following{/other_user}', 'gists_url': 'https://api.github.com/users/MayImilae/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/MayImilae/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/MayImilae/subscriptions', 'organizations_url': 'https://api.github.com/users/MayImilae/orgs', 'repos_url': 'https://api.github.com/users/MayImilae/repos', 'events_url': 'https://api.github.com/users/MayImilae/events{/privacy}', 'received_events_url': 'https://api.github.com/users/MayImilae/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'gh_issue_comment'}
2026-11-08T00:11:04.796665 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'chloricacid', 'action': 'edited', 'id': 14713, 'title': 'Fix cheatsmanager crash', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14713#issuecomment-6714874012', 'safe_author': False, 'body': '> Please clean up the git history so there\'s just one commit.\r\n\r\nBit (incredibly) offtopic, but why not just squash merge?\r\n\r\n\r\n<img height="200" alt="chrome_73cQpbwebT" src="https://github.com/user-attachments/assets/2689de52-9bdf-4f73-8167-5aa1d6827c18" />\r\n', 'raw': {'action': 'edited', 'changes': {'body': {'from': '> Please clean up the git history so there\'s just one commit.\r\n\r\nBit offtopic, but why not just squash merge?\r\n\r\n\r\n<img height="200" alt="chrome_73cQpbwebT" src="https://github.com/user-attachments/assets/2689de52-9bdf-4f73-8167-5aa1d6827c18" />\r\n'}}, 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14713', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14713/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14713/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14713/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14713', 'id': 4799994243, 'node_id': 'PR_kwDOALCn2M7taCDH', 'number': 14713, 'title': 'Fix cheatsmanager crash', 'user': {'login': 'llsc12', 'id': 42747613, 'node_id': 'MDQ6VXNlcjQyNzQ3NjEz', 'avatar_url': 'https://avatars.githubusercontent.com/u/42747613?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/llsc12', 'html_url': 'https://github.com/llsc12', 'followers_url': 'https://api.github.com/users/llsc12/followers', 'following_url': 'https://api.github.com/users/llsc12/following{/other_user}', 'gists_url': 'https://api.github.com/users/llsc12/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/llsc12/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/llsc12/subscriptions', 'organizations_url': 'https://api.github.com/users/llsc12/orgs', 'repos_url': 'https://api.github.com/users/llsc12/repos', 'events_url': 'https://api.github.com/users/llsc12/events{/privacy}', 'received_events_url': 'https://api.github.com/users/llsc12/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 3, 'created_at': '2026-07-03T03:15:08Z', 'updated_at': '2026-11-08T00:10:50Z', '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/14713', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14713', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14713.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14713.patch', 'merged_at': None}, 'body': "`OnFrameEnd` is called from the CPU thread and starts calling methods on widgets. When searching memory for values, this caused Dolphin to crash a lot for me. Reproduced relatively reliably by having the game running, memory values auto-updating and trying to edit an address' description. \r\n\r\nThe fix just moves work onto the GUI thread, with an atomic flag to avoid posting events every frame if the GUI thread was to fall behind. \r\n\r\nI tested this for around 4 hours making some cheat codes for newer smbw. No crashes thus far.\r\n\r\nAI was used to examine crash logs.", 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14713/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/14713/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6714874012', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14713#issuecomment-6714874012', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14713', 'id': 6714874012, 'node_id': 'IC_kwDOALCn2M8AAAABkDzYnA', 'user': {'login': 'chloricacid', 'id': 273623891, 'node_id': 'U_kgDOEE8rUw', 'avatar_url': 'https://avatars.githubusercontent.com/u/273623891?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/chloricacid', 'html_url': 'https://github.com/chloricacid', 'followers_url': 'https://api.github.com/users/chloricacid/followers', 'following_url': 'https://api.github.com/users/chloricacid/following{/other_user}', 'gists_url': 'https://api.github.com/users/chloricacid/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/chloricacid/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/chloricacid/subscriptions', 'organizations_url': 'https://api.github.com/users/chloricacid/orgs', 'repos_url': 'https://api.github.com/users/chloricacid/repos', 'events_url': 'https://api.github.com/users/chloricacid/events{/privacy}', 'received_events_url': 'https://api.github.com/users/chloricacid/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2026-11-08T00:10:50Z', 'updated_at': '2026-11-08T00:11:02Z', 'body': '> Please clean up the git history so there\'s just one commit.\r\n\r\nBit (incredibly) offtopic, but why not just squash merge?\r\n\r\n\r\n<img height="200" alt="chrome_73cQpbwebT" src="https://github.com/user-attachments/assets/2689de52-9bdf-4f73-8167-5aa1d6827c18" />\r\n', 'author_association': 'NONE', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6714874012/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-07T22:20:48Z', 'pushed_at': '2026-11-07T23:39:17Z', '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': 563797, 'stargazers_count': 15774, 'watchers_count': 15774, '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': 15774, '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': 'chloricacid', 'id': 273623891, 'node_id': 'U_kgDOEE8rUw', 'avatar_url': 'https://avatars.githubusercontent.com/u/273623891?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/chloricacid', 'html_url': 'https://github.com/chloricacid', 'followers_url': 'https://api.github.com/users/chloricacid/followers', 'following_url': 'https://api.github.com/users/chloricacid/following{/other_user}', 'gists_url': 'https://api.github.com/users/chloricacid/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/chloricacid/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/chloricacid/subscriptions', 'organizations_url': 'https://api.github.com/users/chloricacid/orgs', 'repos_url': 'https://api.github.com/users/chloricacid/repos', 'events_url': 'https://api.github.com/users/chloricacid/events{/privacy}', 'received_events_url': 'https://api.github.com/users/chloricacid/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'gh_issue_comment'}
2026-11-08T00:10:53.110706 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'chloricacid', 'action': 'created', 'id': 14713, 'title': 'Fix cheatsmanager crash', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14713#issuecomment-6714874012', 'safe_author': False, 'body': '> Please clean up the git history so there\'s just one commit.\r\n\r\nBit offtopic, but why not just squash merge?\r\n\r\n\r\n<img height="200" alt="chrome_73cQpbwebT" src="https://github.com/user-attachments/assets/2689de52-9bdf-4f73-8167-5aa1d6827c18" />\r\n', 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14713', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14713/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14713/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14713/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14713', 'id': 4799994243, 'node_id': 'PR_kwDOALCn2M7taCDH', 'number': 14713, 'title': 'Fix cheatsmanager crash', 'user': {'login': 'llsc12', 'id': 42747613, 'node_id': 'MDQ6VXNlcjQyNzQ3NjEz', 'avatar_url': 'https://avatars.githubusercontent.com/u/42747613?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/llsc12', 'html_url': 'https://github.com/llsc12', 'followers_url': 'https://api.github.com/users/llsc12/followers', 'following_url': 'https://api.github.com/users/llsc12/following{/other_user}', 'gists_url': 'https://api.github.com/users/llsc12/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/llsc12/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/llsc12/subscriptions', 'organizations_url': 'https://api.github.com/users/llsc12/orgs', 'repos_url': 'https://api.github.com/users/llsc12/repos', 'events_url': 'https://api.github.com/users/llsc12/events{/privacy}', 'received_events_url': 'https://api.github.com/users/llsc12/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 3, 'created_at': '2026-07-03T03:15:08Z', 'updated_at': '2026-11-08T00:10:50Z', '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/14713', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14713', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14713.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14713.patch', 'merged_at': None}, 'body': "`OnFrameEnd` is called from the CPU thread and starts calling methods on widgets. When searching memory for values, this caused Dolphin to crash a lot for me. Reproduced relatively reliably by having the game running, memory values auto-updating and trying to edit an address' description. \r\n\r\nThe fix just moves work onto the GUI thread, with an atomic flag to avoid posting events every frame if the GUI thread was to fall behind. \r\n\r\nI tested this for around 4 hours making some cheat codes for newer smbw. No crashes thus far.\r\n\r\nAI was used to examine crash logs.", 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14713/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/14713/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6714874012', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14713#issuecomment-6714874012', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14713', 'id': 6714874012, 'node_id': 'IC_kwDOALCn2M8AAAABkDzYnA', 'user': {'login': 'chloricacid', 'id': 273623891, 'node_id': 'U_kgDOEE8rUw', 'avatar_url': 'https://avatars.githubusercontent.com/u/273623891?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/chloricacid', 'html_url': 'https://github.com/chloricacid', 'followers_url': 'https://api.github.com/users/chloricacid/followers', 'following_url': 'https://api.github.com/users/chloricacid/following{/other_user}', 'gists_url': 'https://api.github.com/users/chloricacid/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/chloricacid/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/chloricacid/subscriptions', 'organizations_url': 'https://api.github.com/users/chloricacid/orgs', 'repos_url': 'https://api.github.com/users/chloricacid/repos', 'events_url': 'https://api.github.com/users/chloricacid/events{/privacy}', 'received_events_url': 'https://api.github.com/users/chloricacid/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2026-11-08T00:10:50Z', 'updated_at': '2026-11-08T00:10:50Z', 'body': '> Please clean up the git history so there\'s just one commit.\r\n\r\nBit offtopic, but why not just squash merge?\r\n\r\n\r\n<img height="200" alt="chrome_73cQpbwebT" src="https://github.com/user-attachments/assets/2689de52-9bdf-4f73-8167-5aa1d6827c18" />\r\n', 'author_association': 'NONE', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6714874012/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-07T22:20:48Z', 'pushed_at': '2026-11-07T23:39:17Z', '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': 563797, 'stargazers_count': 15774, 'watchers_count': 15774, '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': 15774, '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': 'chloricacid', 'id': 273623891, 'node_id': 'U_kgDOEE8rUw', 'avatar_url': 'https://avatars.githubusercontent.com/u/273623891?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/chloricacid', 'html_url': 'https://github.com/chloricacid', 'followers_url': 'https://api.github.com/users/chloricacid/followers', 'following_url': 'https://api.github.com/users/chloricacid/following{/other_user}', 'gists_url': 'https://api.github.com/users/chloricacid/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/chloricacid/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/chloricacid/subscriptions', 'organizations_url': 'https://api.github.com/users/chloricacid/orgs', 'repos_url': 'https://api.github.com/users/chloricacid/repos', 'events_url': 'https://api.github.com/users/chloricacid/events{/privacy}', 'received_events_url': 'https://api.github.com/users/chloricacid/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'gh_issue_comment'}
2026-11-07T23:29:11.027519 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'misantronic', 'action': 'created', 'id': 14671, 'title': 'Android: Add RetroAchievements host override receiver', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14671#issuecomment-6714469483', 'safe_author': False, 'body': 'Pushed an update (eed81300) that replaces the broadcast receiver with the approach we discussed:\n\n- An exported content provider (`<applicationId>.retroachievements`) takes set/clear calls. It identifies the caller by `callingPackage`, which the caller can\'t fake.\n- The first time an app asks, a consent dialog names the app (label and package). Allow stores the grant together with the app\'s signing certificate hash. If the certificate changes, Dolphin asks again.\n- "Revoke Proxy Access" in the Achievements settings removes all grants and clears the active override.\n- There is no exported receiver anymore.\n\nI tested the full flow on a device: consent, set, clear, hardcore restore, revoke and deny.\n\n@sepalani could you take another look?', 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14671', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14671/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14671/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14671/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14671', 'id': 4583386340, 'node_id': 'PR_kwDOALCn2M7iZsjC', 'number': 14671, 'title': 'Android: Add RetroAchievements host override receiver', 'user': {'login': 'misantronic', 'id': 6033531, 'node_id': 'MDQ6VXNlcjYwMzM1MzE=', 'avatar_url': 'https://avatars.githubusercontent.com/u/6033531?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/misantronic', 'html_url': 'https://github.com/misantronic', 'followers_url': 'https://api.github.com/users/misantronic/followers', 'following_url': 'https://api.github.com/users/misantronic/following{/other_user}', 'gists_url': 'https://api.github.com/users/misantronic/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/misantronic/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/misantronic/subscriptions', 'organizations_url': 'https://api.github.com/users/misantronic/orgs', 'repos_url': 'https://api.github.com/users/misantronic/repos', 'events_url': 'https://api.github.com/users/misantronic/events{/privacy}', 'received_events_url': 'https://api.github.com/users/misantronic/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 20, 'created_at': '2026-06-03T20:26:42Z', 'updated_at': '2026-11-07T23:29:09Z', '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/14671', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14671', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14671.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14671.patch', 'merged_at': None}, 'body': "[RAOfflineProxy](https://raofflineproxy.com/) is an Android app that proxies RetroAchievements traffic through `127.0.0.1`, enabling offline softcore achievement play through local caching and later sync.\n\nThis makes the override controllable by the app at runtime instead of requiring external tools to patch `RetroAchievements.ini` directly, which is more brittle and harder to integrate cleanly on Android.\n\n## Summary\n- add an Android broadcast receiver for setting and clearing the RetroAchievements host override\n- persist the override to Dolphin's RetroAchievements config and disable hardcore while active\n- reload the achievement manager after config changes so the override takes effect without manual file edits\n\n## Testing\n- built `:app:assembleDebug`\n- installed the debug APK on device via `adb`\n- verified `SET_RETROACHIEVEMENTS_HOST_OVERRIDE` patches `RetroAchievements.ini` to `HostUrl = 127.0.0.1:8080` and sets `HardcoreEnabled = False`\n- verified traffic then routes through the local proxy\n- verified `CLEAR_RETROACHIEVEMENTS_HOST_OVERRIDE` resets `HostUrl =`\n\n## Related\n- mirrors the same Android broadcast-driven host override already merged for [PPSSPP](https://github.com/hrydgard/ppsspp/pull/21760), planned for the upcoming release\n- mirrors the same integration already merged for [flycast](https://github.com/flyinghead/flycast/pull/2371), planned for the upcoming release\n- mirrors the same integration already merged for [ARMSX2](https://github.com/ARMSX2/ARMSX2/pull/164) and shipped in the current build, and inherited by [ARMSX1](https://github.com/ARMSX2/ARMSX1)\n- mirrors the same integration already merged for [mupen64plus-ae](https://github.com/JoeysRetroHandhelds/mupen64plus-ae-retroachievements/pull/1)\n- mirrors the same integration already shipped in [WatermelonDS](https://github.com/SapphireRhodonite/WatermelonDS), with [SeedlessDS](https://github.com/SapphireRhodonite/SeedlessDS) pending\n- follows the same goal as the open PRs for [RetroArch](https://github.com/libretro/RetroArch/pull/19093) and [NetherSX2](https://github.com/Trixarian/NetherSX2-patch/pull/343)\n", 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14671/reactions', 'total_count': 1, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 1}, 'timeline_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14671/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6714469483', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14671#issuecomment-6714469483', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14671', 'id': 6714469483, 'node_id': 'IC_kwDOALCn2M8AAAABkDasaw', 'user': {'login': 'misantronic', 'id': 6033531, 'node_id': 'MDQ6VXNlcjYwMzM1MzE=', 'avatar_url': 'https://avatars.githubusercontent.com/u/6033531?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/misantronic', 'html_url': 'https://github.com/misantronic', 'followers_url': 'https://api.github.com/users/misantronic/followers', 'following_url': 'https://api.github.com/users/misantronic/following{/other_user}', 'gists_url': 'https://api.github.com/users/misantronic/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/misantronic/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/misantronic/subscriptions', 'organizations_url': 'https://api.github.com/users/misantronic/orgs', 'repos_url': 'https://api.github.com/users/misantronic/repos', 'events_url': 'https://api.github.com/users/misantronic/events{/privacy}', 'received_events_url': 'https://api.github.com/users/misantronic/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2026-11-07T23:29:09Z', 'updated_at': '2026-11-07T23:29:09Z', 'body': 'Pushed an update (eed81300) that replaces the broadcast receiver with the approach we discussed:\n\n- An exported content provider (`<applicationId>.retroachievements`) takes set/clear calls. It identifies the caller by `callingPackage`, which the caller can\'t fake.\n- The first time an app asks, a consent dialog names the app (label and package). Allow stores the grant together with the app\'s signing certificate hash. If the certificate changes, Dolphin asks again.\n- "Revoke Proxy Access" in the Achievements settings removes all grants and clears the active override.\n- There is no exported receiver anymore.\n\nI tested the full flow on a device: consent, set, clear, hardcore restore, revoke and deny.\n\n@sepalani could you take another look?', 'author_association': 'NONE', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6714469483/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-07T22:20:48Z', 'pushed_at': '2026-11-07T22:20:43Z', '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': 563797, 'stargazers_count': 15774, 'watchers_count': 15774, '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': 15774, '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': 'misantronic', 'id': 6033531, 'node_id': 'MDQ6VXNlcjYwMzM1MzE=', 'avatar_url': 'https://avatars.githubusercontent.com/u/6033531?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/misantronic', 'html_url': 'https://github.com/misantronic', 'followers_url': 'https://api.github.com/users/misantronic/followers', 'following_url': 'https://api.github.com/users/misantronic/following{/other_user}', 'gists_url': 'https://api.github.com/users/misantronic/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/misantronic/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/misantronic/subscriptions', 'organizations_url': 'https://api.github.com/users/misantronic/orgs', 'repos_url': 'https://api.github.com/users/misantronic/repos', 'events_url': 'https://api.github.com/users/misantronic/events{/privacy}', 'received_events_url': 'https://api.github.com/users/misantronic/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'gh_issue_comment'}
2026-11-07T22:43:36.968188 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'misantronic', 'action': 'created', 'id': 14671, 'title': 'Android: Add RetroAchievements host override receiver', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14671#issuecomment-6714017287', 'safe_author': False, 'body': "> It must be acceptable to RetroAchievements. They don't know if it breaks RA's ToS.\n\nI don't see why this should be forbidden. It doesn't change the mechanism we agreed on with RA.\n\nI'll start implementing it. ARMSX2 already uses a similar pattern (a provider plus a one-time consent screen per calling app), so I'll base it on that.", 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14671', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14671/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14671/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14671/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14671', 'id': 4583386340, 'node_id': 'PR_kwDOALCn2M7iZsjC', 'number': 14671, 'title': 'Android: Add RetroAchievements host override receiver', 'user': {'login': 'misantronic', 'id': 6033531, 'node_id': 'MDQ6VXNlcjYwMzM1MzE=', 'avatar_url': 'https://avatars.githubusercontent.com/u/6033531?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/misantronic', 'html_url': 'https://github.com/misantronic', 'followers_url': 'https://api.github.com/users/misantronic/followers', 'following_url': 'https://api.github.com/users/misantronic/following{/other_user}', 'gists_url': 'https://api.github.com/users/misantronic/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/misantronic/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/misantronic/subscriptions', 'organizations_url': 'https://api.github.com/users/misantronic/orgs', 'repos_url': 'https://api.github.com/users/misantronic/repos', 'events_url': 'https://api.github.com/users/misantronic/events{/privacy}', 'received_events_url': 'https://api.github.com/users/misantronic/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 19, 'created_at': '2026-06-03T20:26:42Z', 'updated_at': '2026-11-07T22:43:34Z', '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/14671', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14671', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14671.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14671.patch', 'merged_at': None}, 'body': "[RAOfflineProxy](https://raofflineproxy.com/) is an Android app that proxies RetroAchievements traffic through `127.0.0.1`, enabling offline softcore achievement play through local caching and later sync.\n\nThis makes the override controllable by the app at runtime instead of requiring external tools to patch `RetroAchievements.ini` directly, which is more brittle and harder to integrate cleanly on Android.\n\n## Summary\n- add an Android broadcast receiver for setting and clearing the RetroAchievements host override\n- persist the override to Dolphin's RetroAchievements config and disable hardcore while active\n- reload the achievement manager after config changes so the override takes effect without manual file edits\n\n## Testing\n- built `:app:assembleDebug`\n- installed the debug APK on device via `adb`\n- verified `SET_RETROACHIEVEMENTS_HOST_OVERRIDE` patches `RetroAchievements.ini` to `HostUrl = 127.0.0.1:8080` and sets `HardcoreEnabled = False`\n- verified traffic then routes through the local proxy\n- verified `CLEAR_RETROACHIEVEMENTS_HOST_OVERRIDE` resets `HostUrl =`\n\n## Related\n- mirrors the same Android broadcast-driven host override already merged for [PPSSPP](https://github.com/hrydgard/ppsspp/pull/21760), planned for the upcoming release\n- mirrors the same integration already merged for [flycast](https://github.com/flyinghead/flycast/pull/2371), planned for the upcoming release\n- mirrors the same integration already merged for [ARMSX2](https://github.com/ARMSX2/ARMSX2/pull/164) and shipped in the current build, and inherited by [ARMSX1](https://github.com/ARMSX2/ARMSX1)\n- mirrors the same integration already merged for [mupen64plus-ae](https://github.com/JoeysRetroHandhelds/mupen64plus-ae-retroachievements/pull/1)\n- mirrors the same integration already shipped in [WatermelonDS](https://github.com/SapphireRhodonite/WatermelonDS), with [SeedlessDS](https://github.com/SapphireRhodonite/SeedlessDS) pending\n- follows the same goal as the open PRs for [RetroArch](https://github.com/libretro/RetroArch/pull/19093) and [NetherSX2](https://github.com/Trixarian/NetherSX2-patch/pull/343)\n", 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14671/reactions', 'total_count': 1, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 1}, 'timeline_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14671/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6714017287', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14671#issuecomment-6714017287', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14671', 'id': 6714017287, 'node_id': 'IC_kwDOALCn2M8AAAABkC_GBw', 'user': {'login': 'misantronic', 'id': 6033531, 'node_id': 'MDQ6VXNlcjYwMzM1MzE=', 'avatar_url': 'https://avatars.githubusercontent.com/u/6033531?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/misantronic', 'html_url': 'https://github.com/misantronic', 'followers_url': 'https://api.github.com/users/misantronic/followers', 'following_url': 'https://api.github.com/users/misantronic/following{/other_user}', 'gists_url': 'https://api.github.com/users/misantronic/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/misantronic/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/misantronic/subscriptions', 'organizations_url': 'https://api.github.com/users/misantronic/orgs', 'repos_url': 'https://api.github.com/users/misantronic/repos', 'events_url': 'https://api.github.com/users/misantronic/events{/privacy}', 'received_events_url': 'https://api.github.com/users/misantronic/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2026-11-07T22:43:34Z', 'updated_at': '2026-11-07T22:43:34Z', 'body': "> It must be acceptable to RetroAchievements. They don't know if it breaks RA's ToS.\n\nI don't see why this should be forbidden. It doesn't change the mechanism we agreed on with RA.\n\nI'll start implementing it. ARMSX2 already uses a similar pattern (a provider plus a one-time consent screen per calling app), so I'll base it on that.", 'author_association': 'NONE', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6714017287/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-07T22:20:48Z', 'pushed_at': '2026-11-07T22:20:43Z', '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': 563784, 'stargazers_count': 15774, 'watchers_count': 15774, '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': 15774, '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': 'misantronic', 'id': 6033531, 'node_id': 'MDQ6VXNlcjYwMzM1MzE=', 'avatar_url': 'https://avatars.githubusercontent.com/u/6033531?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/misantronic', 'html_url': 'https://github.com/misantronic', 'followers_url': 'https://api.github.com/users/misantronic/followers', 'following_url': 'https://api.github.com/users/misantronic/following{/other_user}', 'gists_url': 'https://api.github.com/users/misantronic/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/misantronic/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/misantronic/subscriptions', 'organizations_url': 'https://api.github.com/users/misantronic/orgs', 'repos_url': 'https://api.github.com/users/misantronic/repos', 'events_url': 'https://api.github.com/users/misantronic/events{/privacy}', 'received_events_url': 'https://api.github.com/users/misantronic/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'gh_issue_comment'}
2026-11-07T22:41:39.422622 {'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-6713997771', 'safe_author': False, 'body': "> I did some user testing on cachy under plasma 6.8. Overall things seem to work as expected.\r\n> \r\n> Issues I ran into:\r\n> \r\n> * This will break everyone's keyboard and mouse binds and hotkeys. There is a new K+M device name so none of the binds will work for existing users. Perhaps add a fake device with the old name that redirects to the new wayland one?\r\n> * Hotkeys don't work when the window has no focus even when the `Hotkeys Require Window Focus` is disabled. This will likely require dolphin to request them from [`org.freedesktop.portal.GlobalShortcuts`](https://flatpak.github.io/xdg-desktop-portal/docs/doc-org.freedesktop.portal.GlobalShortcuts.html).\r\n> * The appimage doesn't build with wayland due to missing dependencies. Haven't tried the flatpak but it may also be missing the dep.\r\n> \r\n> Things tested:\r\n> \r\n> * Background input ✔️\r\n> * Hotkeys **with** window focus ✔️\r\n> * Various graphics enhancements like internal resolution and post processing ✔️\r\n> * Graphics mods ✔️\r\n> * DPI scaling (applied instantly now) ✔️\r\n> * Loading custom textures ✔️\r\n> * OSD graphs and metrics look, better? Maybe placebo. ✔️\r\n\r\nThanks for testing, I’ve pushed updates for the three issues:\r\n\r\n- **Existing bindings:** [XInput2 and Wayland devices now stand in for each other](https://github.com/dolphin-emu/dolphin/commit/b8b2a238557eb4c77862ba7b2a37f26ad5589548), so existing keyboard/mouse bindings keep working across both. [The mapping dialog also selects the available device](https://github.com/dolphin-emu/dolphin/commit/818007f92b00fb0d53ffad9a4110026b326115f7) while keeping the bindings.\r\n- **Unfocused hotkeys:** [Keyboard hotkeys now register through the GlobalShortcuts portal](https://github.com/dolphin-emu/dolphin/commit/5003b700ffecffde62fb8fe793921512a44feb5e) when “Hotkeys Require Window Focus” is disabled.\r\n- **Packaging:** [The Wayland dependency detection was adjusted](https://github.com/dolphin-emu/dolphin/commit/0b4906c41a7c9c32a576c0803762b220024b6751), and [the protocol XML files are now vendored](https://github.com/dolphin-emu/dolphin/commit/2a499079705950b5ff41b696bd63337b86bf37ae), so the build no longer needs a recent system wayland-protocols package. [Flatpak also enables the Wayland socket](https://github.com/dolphin-emu/dolphin/commit/6246b247d1c7b300e2408d87d0bf90c4c35758b4).\r\n", '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': 30, 'created_at': '2026-10-30T12:13:34Z', 'updated_at': '2026-11-07T22:41:37Z', '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/6713997771', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14962#issuecomment-6713997771', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14962', 'id': 6713997771, 'node_id': 'IC_kwDOALCn2M8AAAABkC95yw', '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-07T22:41:37Z', 'updated_at': '2026-11-07T22:41:37Z', 'body': "> I did some user testing on cachy under plasma 6.8. Overall things seem to work as expected.\r\n> \r\n> Issues I ran into:\r\n> \r\n> * This will break everyone's keyboard and mouse binds and hotkeys. There is a new K+M device name so none of the binds will work for existing users. Perhaps add a fake device with the old name that redirects to the new wayland one?\r\n> * Hotkeys don't work when the window has no focus even when the `Hotkeys Require Window Focus` is disabled. This will likely require dolphin to request them from [`org.freedesktop.portal.GlobalShortcuts`](https://flatpak.github.io/xdg-desktop-portal/docs/doc-org.freedesktop.portal.GlobalShortcuts.html).\r\n> * The appimage doesn't build with wayland due to missing dependencies. Haven't tried the flatpak but it may also be missing the dep.\r\n> \r\n> Things tested:\r\n> \r\n> * Background input ✔️\r\n> * Hotkeys **with** window focus ✔️\r\n> * Various graphics enhancements like internal resolution and post processing ✔️\r\n> * Graphics mods ✔️\r\n> * DPI scaling (applied instantly now) ✔️\r\n> * Loading custom textures ✔️\r\n> * OSD graphs and metrics look, better? Maybe placebo. ✔️\r\n\r\nThanks for testing, I’ve pushed updates for the three issues:\r\n\r\n- **Existing bindings:** [XInput2 and Wayland devices now stand in for each other](https://github.com/dolphin-emu/dolphin/commit/b8b2a238557eb4c77862ba7b2a37f26ad5589548), so existing keyboard/mouse bindings keep working across both. [The mapping dialog also selects the available device](https://github.com/dolphin-emu/dolphin/commit/818007f92b00fb0d53ffad9a4110026b326115f7) while keeping the bindings.\r\n- **Unfocused hotkeys:** [Keyboard hotkeys now register through the GlobalShortcuts portal](https://github.com/dolphin-emu/dolphin/commit/5003b700ffecffde62fb8fe793921512a44feb5e) when “Hotkeys Require Window Focus” is disabled.\r\n- **Packaging:** [The Wayland dependency detection was adjusted](https://github.com/dolphin-emu/dolphin/commit/0b4906c41a7c9c32a576c0803762b220024b6751), and [the protocol XML files are now vendored](https://github.com/dolphin-emu/dolphin/commit/2a499079705950b5ff41b696bd63337b86bf37ae), so the build no longer needs a recent system wayland-protocols package. [Flatpak also enables the Wayland socket](https://github.com/dolphin-emu/dolphin/commit/6246b247d1c7b300e2408d87d0bf90c4c35758b4).\r\n", 'author_association': 'NONE', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6713997771/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-07T22:20:48Z', 'pushed_at': '2026-11-07T22:20:43Z', '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': 563784, 'stargazers_count': 15774, 'watchers_count': 15774, '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': 15774, '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-07T22:34:06.699484 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'sepalani', 'action': 'created', 'id': 14671, 'title': 'Android: Add RetroAchievements host override receiver', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14671#issuecomment-6713922387', 'safe_author': True, 'body': "> Thanks, this is a fair point. I agree the exported receiver is the weak part. I'm open to a pull model: RAOfflineProxy exposes a content provider that returns whether the override is active and the host. Dolphin gets a setting where the user picks which proxy app to use (off by default), and Dolphin reads from that package at game start and checks the value is sane. No exported receiver in Dolphin and the user chooses explicitly.\r\n> \r\n> @sepalani does this match what you had in mind?\r\n\r\nYes, that seems more appropriate, assuming it's acceptable for RA (I don't know if it's against their ToS or if they have any) and assuming there is no pushback from other contributors.", 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14671', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14671/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14671/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14671/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14671', 'id': 4583386340, 'node_id': 'PR_kwDOALCn2M7iZsjC', 'number': 14671, 'title': 'Android: Add RetroAchievements host override receiver', 'user': {'login': 'misantronic', 'id': 6033531, 'node_id': 'MDQ6VXNlcjYwMzM1MzE=', 'avatar_url': 'https://avatars.githubusercontent.com/u/6033531?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/misantronic', 'html_url': 'https://github.com/misantronic', 'followers_url': 'https://api.github.com/users/misantronic/followers', 'following_url': 'https://api.github.com/users/misantronic/following{/other_user}', 'gists_url': 'https://api.github.com/users/misantronic/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/misantronic/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/misantronic/subscriptions', 'organizations_url': 'https://api.github.com/users/misantronic/orgs', 'repos_url': 'https://api.github.com/users/misantronic/repos', 'events_url': 'https://api.github.com/users/misantronic/events{/privacy}', 'received_events_url': 'https://api.github.com/users/misantronic/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 18, 'created_at': '2026-06-03T20:26:42Z', 'updated_at': '2026-11-07T22:34:04Z', '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/14671', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14671', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14671.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14671.patch', 'merged_at': None}, 'body': "[RAOfflineProxy](https://raofflineproxy.com/) is an Android app that proxies RetroAchievements traffic through `127.0.0.1`, enabling offline softcore achievement play through local caching and later sync.\n\nThis makes the override controllable by the app at runtime instead of requiring external tools to patch `RetroAchievements.ini` directly, which is more brittle and harder to integrate cleanly on Android.\n\n## Summary\n- add an Android broadcast receiver for setting and clearing the RetroAchievements host override\n- persist the override to Dolphin's RetroAchievements config and disable hardcore while active\n- reload the achievement manager after config changes so the override takes effect without manual file edits\n\n## Testing\n- built `:app:assembleDebug`\n- installed the debug APK on device via `adb`\n- verified `SET_RETROACHIEVEMENTS_HOST_OVERRIDE` patches `RetroAchievements.ini` to `HostUrl = 127.0.0.1:8080` and sets `HardcoreEnabled = False`\n- verified traffic then routes through the local proxy\n- verified `CLEAR_RETROACHIEVEMENTS_HOST_OVERRIDE` resets `HostUrl =`\n\n## Related\n- mirrors the same Android broadcast-driven host override already merged for [PPSSPP](https://github.com/hrydgard/ppsspp/pull/21760), planned for the upcoming release\n- mirrors the same integration already merged for [flycast](https://github.com/flyinghead/flycast/pull/2371), planned for the upcoming release\n- mirrors the same integration already merged for [ARMSX2](https://github.com/ARMSX2/ARMSX2/pull/164) and shipped in the current build, and inherited by [ARMSX1](https://github.com/ARMSX2/ARMSX1)\n- mirrors the same integration already merged for [mupen64plus-ae](https://github.com/JoeysRetroHandhelds/mupen64plus-ae-retroachievements/pull/1)\n- mirrors the same integration already shipped in [WatermelonDS](https://github.com/SapphireRhodonite/WatermelonDS), with [SeedlessDS](https://github.com/SapphireRhodonite/SeedlessDS) pending\n- follows the same goal as the open PRs for [RetroArch](https://github.com/libretro/RetroArch/pull/19093) and [NetherSX2](https://github.com/Trixarian/NetherSX2-patch/pull/343)\n", 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14671/reactions', 'total_count': 1, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 1}, 'timeline_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14671/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6713922387', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14671#issuecomment-6713922387', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14671', 'id': 6713922387, 'node_id': 'IC_kwDOALCn2M8AAAABkC5TUw', '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}, 'created_at': '2026-11-07T22:34:04Z', 'updated_at': '2026-11-07T22:34:04Z', 'body': "> Thanks, this is a fair point. I agree the exported receiver is the weak part. I'm open to a pull model: RAOfflineProxy exposes a content provider that returns whether the override is active and the host. Dolphin gets a setting where the user picks which proxy app to use (off by default), and Dolphin reads from that package at game start and checks the value is sane. No exported receiver in Dolphin and the user chooses explicitly.\r\n> \r\n> @sepalani does this match what you had in mind?\r\n\r\nYes, that seems more appropriate, assuming it's acceptable for RA (I don't know if it's against their ToS or if they have any) and assuming there is no pushback from other contributors.", 'author_association': 'MEMBER', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6713922387/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-07T22:20:48Z', 'pushed_at': '2026-11-07T22:20:43Z', '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': 563784, 'stargazers_count': 15774, 'watchers_count': 15774, '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': 15774, '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': 'gh_issue_comment'}
2026-11-07T21:19:23.129122 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'misantronic', 'action': 'edited', 'id': 14671, 'title': 'Android: Add RetroAchievements host override receiver', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14671#issuecomment-6713146105', 'safe_author': False, 'body': "Thanks, this is a fair point. I agree the exported receiver is the weak part. I'm open to a pull model: RAOfflineProxy exposes a content provider that returns whether the override is active and the host. Dolphin gets a setting where the user picks which proxy app to use (off by default), and Dolphin reads from that package at game start and checks the value is sane. No exported receiver in Dolphin and the user chooses explicitly.\r\n\r\n@sepalani does this match what you had in mind?\r\n\r\n@JosJuice @LillyJadeKatrin before I build this, would this direction be acceptable for Dolphin? If the project doesn't want a feature like this at all, I'd rather know now.", 'raw': {'action': 'edited', 'changes': {'body': {'from': "Thanks, this is a fair point. I agree the exported receiver is the weak part. I'm open to a pull model: RAOfflineProxy exposes a content provider that returns whether the override is active and the host. Dolphin gets a setting where the user picks which proxy app to use (off by default), and Dolphin reads from that package at game start and checks the value is sane. No exported receiver in Dolphin, and the user chooses explicitly.\n\n@sepalani does this match what you had in mind?\n\n@JosJuice @LillyJadeKatrin before I build this, would this direction be acceptable for Dolphin? If the project doesn't want a feature like this at all, I'd rather know now."}}, 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14671', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14671/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14671/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14671/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14671', 'id': 4583386340, 'node_id': 'PR_kwDOALCn2M7iZsjC', 'number': 14671, 'title': 'Android: Add RetroAchievements host override receiver', 'user': {'login': 'misantronic', 'id': 6033531, 'node_id': 'MDQ6VXNlcjYwMzM1MzE=', 'avatar_url': 'https://avatars.githubusercontent.com/u/6033531?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/misantronic', 'html_url': 'https://github.com/misantronic', 'followers_url': 'https://api.github.com/users/misantronic/followers', 'following_url': 'https://api.github.com/users/misantronic/following{/other_user}', 'gists_url': 'https://api.github.com/users/misantronic/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/misantronic/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/misantronic/subscriptions', 'organizations_url': 'https://api.github.com/users/misantronic/orgs', 'repos_url': 'https://api.github.com/users/misantronic/repos', 'events_url': 'https://api.github.com/users/misantronic/events{/privacy}', 'received_events_url': 'https://api.github.com/users/misantronic/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 17, 'created_at': '2026-06-03T20:26:42Z', 'updated_at': '2026-11-07T21:18:47Z', '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/14671', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14671', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14671.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14671.patch', 'merged_at': None}, 'body': "[RAOfflineProxy](https://raofflineproxy.com/) is an Android app that proxies RetroAchievements traffic through `127.0.0.1`, enabling offline softcore achievement play through local caching and later sync.\n\nThis makes the override controllable by the app at runtime instead of requiring external tools to patch `RetroAchievements.ini` directly, which is more brittle and harder to integrate cleanly on Android.\n\n## Summary\n- add an Android broadcast receiver for setting and clearing the RetroAchievements host override\n- persist the override to Dolphin's RetroAchievements config and disable hardcore while active\n- reload the achievement manager after config changes so the override takes effect without manual file edits\n\n## Testing\n- built `:app:assembleDebug`\n- installed the debug APK on device via `adb`\n- verified `SET_RETROACHIEVEMENTS_HOST_OVERRIDE` patches `RetroAchievements.ini` to `HostUrl = 127.0.0.1:8080` and sets `HardcoreEnabled = False`\n- verified traffic then routes through the local proxy\n- verified `CLEAR_RETROACHIEVEMENTS_HOST_OVERRIDE` resets `HostUrl =`\n\n## Related\n- mirrors the same Android broadcast-driven host override already merged for [PPSSPP](https://github.com/hrydgard/ppsspp/pull/21760), planned for the upcoming release\n- mirrors the same integration already merged for [flycast](https://github.com/flyinghead/flycast/pull/2371), planned for the upcoming release\n- mirrors the same integration already merged for [ARMSX2](https://github.com/ARMSX2/ARMSX2/pull/164) and shipped in the current build, and inherited by [ARMSX1](https://github.com/ARMSX2/ARMSX1)\n- mirrors the same integration already merged for [mupen64plus-ae](https://github.com/JoeysRetroHandhelds/mupen64plus-ae-retroachievements/pull/1)\n- mirrors the same integration already shipped in [WatermelonDS](https://github.com/SapphireRhodonite/WatermelonDS), with [SeedlessDS](https://github.com/SapphireRhodonite/SeedlessDS) pending\n- follows the same goal as the open PRs for [RetroArch](https://github.com/libretro/RetroArch/pull/19093) and [NetherSX2](https://github.com/Trixarian/NetherSX2-patch/pull/343)\n", 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14671/reactions', 'total_count': 1, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 1}, 'timeline_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14671/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6713146105', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14671#issuecomment-6713146105', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14671', 'id': 6713146105, 'node_id': 'IC_kwDOALCn2M8AAAABkCJ6-Q', 'user': {'login': 'misantronic', 'id': 6033531, 'node_id': 'MDQ6VXNlcjYwMzM1MzE=', 'avatar_url': 'https://avatars.githubusercontent.com/u/6033531?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/misantronic', 'html_url': 'https://github.com/misantronic', 'followers_url': 'https://api.github.com/users/misantronic/followers', 'following_url': 'https://api.github.com/users/misantronic/following{/other_user}', 'gists_url': 'https://api.github.com/users/misantronic/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/misantronic/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/misantronic/subscriptions', 'organizations_url': 'https://api.github.com/users/misantronic/orgs', 'repos_url': 'https://api.github.com/users/misantronic/repos', 'events_url': 'https://api.github.com/users/misantronic/events{/privacy}', 'received_events_url': 'https://api.github.com/users/misantronic/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2026-11-07T21:18:47Z', 'updated_at': '2026-11-07T21:19:21Z', 'body': "Thanks, this is a fair point. I agree the exported receiver is the weak part. I'm open to a pull model: RAOfflineProxy exposes a content provider that returns whether the override is active and the host. Dolphin gets a setting where the user picks which proxy app to use (off by default), and Dolphin reads from that package at game start and checks the value is sane. No exported receiver in Dolphin and the user chooses explicitly.\r\n\r\n@sepalani does this match what you had in mind?\r\n\r\n@JosJuice @LillyJadeKatrin before I build this, would this direction be acceptable for Dolphin? If the project doesn't want a feature like this at all, I'd rather know now.", 'author_association': 'NONE', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6713146105/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-07T20:25:21Z', 'pushed_at': '2026-11-07T05:45:57Z', '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': 563784, 'stargazers_count': 15774, 'watchers_count': 15774, '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': 15774, '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': 'misantronic', 'id': 6033531, 'node_id': 'MDQ6VXNlcjYwMzM1MzE=', 'avatar_url': 'https://avatars.githubusercontent.com/u/6033531?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/misantronic', 'html_url': 'https://github.com/misantronic', 'followers_url': 'https://api.github.com/users/misantronic/followers', 'following_url': 'https://api.github.com/users/misantronic/following{/other_user}', 'gists_url': 'https://api.github.com/users/misantronic/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/misantronic/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/misantronic/subscriptions', 'organizations_url': 'https://api.github.com/users/misantronic/orgs', 'repos_url': 'https://api.github.com/users/misantronic/repos', 'events_url': 'https://api.github.com/users/misantronic/events{/privacy}', 'received_events_url': 'https://api.github.com/users/misantronic/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'gh_issue_comment'}
2026-11-07T21:18:50.233146 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'misantronic', 'action': 'created', 'id': 14671, 'title': 'Android: Add RetroAchievements host override receiver', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14671#issuecomment-6713146105', 'safe_author': False, 'body': "Thanks, this is a fair point. I agree the exported receiver is the weak part. I'm open to a pull model: RAOfflineProxy exposes a content provider that returns whether the override is active and the host. Dolphin gets a setting where the user picks which proxy app to use (off by default), and Dolphin reads from that package at game start and checks the value is sane. No exported receiver in Dolphin, and the user chooses explicitly.\n\n@sepalani does this match what you had in mind?\n\n@JosJuice @LillyJadeKatrin before I build this, would this direction be acceptable for Dolphin? If the project doesn't want a feature like this at all, I'd rather know now.", 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14671', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14671/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14671/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14671/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14671', 'id': 4583386340, 'node_id': 'PR_kwDOALCn2M7iZsjC', 'number': 14671, 'title': 'Android: Add RetroAchievements host override receiver', 'user': {'login': 'misantronic', 'id': 6033531, 'node_id': 'MDQ6VXNlcjYwMzM1MzE=', 'avatar_url': 'https://avatars.githubusercontent.com/u/6033531?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/misantronic', 'html_url': 'https://github.com/misantronic', 'followers_url': 'https://api.github.com/users/misantronic/followers', 'following_url': 'https://api.github.com/users/misantronic/following{/other_user}', 'gists_url': 'https://api.github.com/users/misantronic/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/misantronic/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/misantronic/subscriptions', 'organizations_url': 'https://api.github.com/users/misantronic/orgs', 'repos_url': 'https://api.github.com/users/misantronic/repos', 'events_url': 'https://api.github.com/users/misantronic/events{/privacy}', 'received_events_url': 'https://api.github.com/users/misantronic/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 17, 'created_at': '2026-06-03T20:26:42Z', 'updated_at': '2026-11-07T21:18:47Z', '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/14671', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14671', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14671.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14671.patch', 'merged_at': None}, 'body': "[RAOfflineProxy](https://raofflineproxy.com/) is an Android app that proxies RetroAchievements traffic through `127.0.0.1`, enabling offline softcore achievement play through local caching and later sync.\n\nThis makes the override controllable by the app at runtime instead of requiring external tools to patch `RetroAchievements.ini` directly, which is more brittle and harder to integrate cleanly on Android.\n\n## Summary\n- add an Android broadcast receiver for setting and clearing the RetroAchievements host override\n- persist the override to Dolphin's RetroAchievements config and disable hardcore while active\n- reload the achievement manager after config changes so the override takes effect without manual file edits\n\n## Testing\n- built `:app:assembleDebug`\n- installed the debug APK on device via `adb`\n- verified `SET_RETROACHIEVEMENTS_HOST_OVERRIDE` patches `RetroAchievements.ini` to `HostUrl = 127.0.0.1:8080` and sets `HardcoreEnabled = False`\n- verified traffic then routes through the local proxy\n- verified `CLEAR_RETROACHIEVEMENTS_HOST_OVERRIDE` resets `HostUrl =`\n\n## Related\n- mirrors the same Android broadcast-driven host override already merged for [PPSSPP](https://github.com/hrydgard/ppsspp/pull/21760), planned for the upcoming release\n- mirrors the same integration already merged for [flycast](https://github.com/flyinghead/flycast/pull/2371), planned for the upcoming release\n- mirrors the same integration already merged for [ARMSX2](https://github.com/ARMSX2/ARMSX2/pull/164) and shipped in the current build, and inherited by [ARMSX1](https://github.com/ARMSX2/ARMSX1)\n- mirrors the same integration already merged for [mupen64plus-ae](https://github.com/JoeysRetroHandhelds/mupen64plus-ae-retroachievements/pull/1)\n- mirrors the same integration already shipped in [WatermelonDS](https://github.com/SapphireRhodonite/WatermelonDS), with [SeedlessDS](https://github.com/SapphireRhodonite/SeedlessDS) pending\n- follows the same goal as the open PRs for [RetroArch](https://github.com/libretro/RetroArch/pull/19093) and [NetherSX2](https://github.com/Trixarian/NetherSX2-patch/pull/343)\n", 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14671/reactions', 'total_count': 1, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 1}, 'timeline_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14671/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6713146105', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14671#issuecomment-6713146105', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14671', 'id': 6713146105, 'node_id': 'IC_kwDOALCn2M8AAAABkCJ6-Q', 'user': {'login': 'misantronic', 'id': 6033531, 'node_id': 'MDQ6VXNlcjYwMzM1MzE=', 'avatar_url': 'https://avatars.githubusercontent.com/u/6033531?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/misantronic', 'html_url': 'https://github.com/misantronic', 'followers_url': 'https://api.github.com/users/misantronic/followers', 'following_url': 'https://api.github.com/users/misantronic/following{/other_user}', 'gists_url': 'https://api.github.com/users/misantronic/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/misantronic/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/misantronic/subscriptions', 'organizations_url': 'https://api.github.com/users/misantronic/orgs', 'repos_url': 'https://api.github.com/users/misantronic/repos', 'events_url': 'https://api.github.com/users/misantronic/events{/privacy}', 'received_events_url': 'https://api.github.com/users/misantronic/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2026-11-07T21:18:47Z', 'updated_at': '2026-11-07T21:18:47Z', 'body': "Thanks, this is a fair point. I agree the exported receiver is the weak part. I'm open to a pull model: RAOfflineProxy exposes a content provider that returns whether the override is active and the host. Dolphin gets a setting where the user picks which proxy app to use (off by default), and Dolphin reads from that package at game start and checks the value is sane. No exported receiver in Dolphin, and the user chooses explicitly.\n\n@sepalani does this match what you had in mind?\n\n@JosJuice @LillyJadeKatrin before I build this, would this direction be acceptable for Dolphin? If the project doesn't want a feature like this at all, I'd rather know now.", 'author_association': 'NONE', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6713146105/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-07T20:25:21Z', 'pushed_at': '2026-11-07T05:45:57Z', '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': 563784, 'stargazers_count': 15774, 'watchers_count': 15774, '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': 15774, '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': 'misantronic', 'id': 6033531, 'node_id': 'MDQ6VXNlcjYwMzM1MzE=', 'avatar_url': 'https://avatars.githubusercontent.com/u/6033531?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/misantronic', 'html_url': 'https://github.com/misantronic', 'followers_url': 'https://api.github.com/users/misantronic/followers', 'following_url': 'https://api.github.com/users/misantronic/following{/other_user}', 'gists_url': 'https://api.github.com/users/misantronic/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/misantronic/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/misantronic/subscriptions', 'organizations_url': 'https://api.github.com/users/misantronic/orgs', 'repos_url': 'https://api.github.com/users/misantronic/repos', 'events_url': 'https://api.github.com/users/misantronic/events{/privacy}', 'received_events_url': 'https://api.github.com/users/misantronic/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'gh_issue_comment'}
2026-11-07T15:26:54.665552 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'infirit', 'action': 'edited', 'id': 14962, 'title': 'Add Wayland support (Linux only)', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14962#issuecomment-6708769494', 'safe_author': False, 'body': "I did some user testing on cachy under plasma 6.8. Overall things seem to work as expected. \r\n\r\nIssues I ran into:\r\n- This will break everyone's keyboard and mouse binds and hotkeys. There is a new K+M device name so none of the binds will work for existing users. Perhaps add a fake device with the old name that redirects to the new wayland one?\r\n- Hotkeys don't work when the window has no focus even when the `Hotkeys Require Window Focus` is disabled. This will likely require dolphin to request them from [`org.freedesktop.portal.GlobalShortcuts`](https://flatpak.github.io/xdg-desktop-portal/docs/doc-org.freedesktop.portal.GlobalShortcuts.html).\r\n- The appimage doesn't build with wayland due to missing dependencies. Haven't tried the flatpak but it may also be missing the dep.\r\n\r\nThings tested:\r\n- Background input :heavy_check_mark: \r\n- Hotkeys **with** window focus :heavy_check_mark: \r\n- Various graphics enhancements like internal resolution and post processing :heavy_check_mark: \r\n- Graphics mods :heavy_check_mark: \r\n- DPI scaling (applied instantly now) :heavy_check_mark: \r\n- Loading custom textures :heavy_check_mark: \r\n- OSD graphs and metrics look, better? Maybe placebo. :heavy_check_mark: ", 'raw': {'action': 'edited', 'changes': {'body': {'from': "I did some user testing on cachy under plasma 6.8. Overall things seem to work as expected. \r\n\r\nIssues I ran into:\r\n- This will break everyone's keyboard and mouse binds and hotkeys. There is a new K+M device name so none of the binds will work for existing users. Perhaps add a fake device with the old name that redirects to the new wayland one?\r\n- Hotkeys don't work when the window has no focus even when the `Hotkeys Require Window Focus` is disabled. This will likely require dolphin to request them from [`org.freedesktop.portal.GlobalShortcuts`](https://flatpak.github.io/xdg-desktop-portal/docs/doc-org.freedesktop.portal.GlobalShortcuts.html).\r\n- The appimage doesn't build with wayland due to missing dependencies. Haven't tried the flatpak but I suspect it will have a similar missing dep.\r\n\r\nThings tested:\r\n- Background input :heavy_check_mark: \r\n- Hotkeys **with** window focus :heavy_check_mark: \r\n- Various graphics enhancements like internal resolution and post processing :heavy_check_mark: \r\n- Graphics mods :heavy_check_mark: \r\n- DPI scaling (applied instantly now) :heavy_check_mark: \r\n- Loading custom textures :heavy_check_mark: \r\n- OSD graphs and metrics look, better? Maybe placebo. :heavy_check_mark: "}}, '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': 29, 'created_at': '2026-10-30T12:13:34Z', 'updated_at': '2026-11-07T15:18:51Z', '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/6708769494', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14962#issuecomment-6708769494', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14962', 'id': 6708769494, 'node_id': 'IC_kwDOALCn2M8AAAABj9-y1g', 'user': {'login': 'infirit', 'id': 3465730, 'node_id': 'MDQ6VXNlcjM0NjU3MzA=', 'avatar_url': 'https://avatars.githubusercontent.com/u/3465730?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/infirit', 'html_url': 'https://github.com/infirit', 'followers_url': 'https://api.github.com/users/infirit/followers', 'following_url': 'https://api.github.com/users/infirit/following{/other_user}', 'gists_url': 'https://api.github.com/users/infirit/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/infirit/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/infirit/subscriptions', 'organizations_url': 'https://api.github.com/users/infirit/orgs', 'repos_url': 'https://api.github.com/users/infirit/repos', 'events_url': 'https://api.github.com/users/infirit/events{/privacy}', 'received_events_url': 'https://api.github.com/users/infirit/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2026-11-07T15:11:18Z', 'updated_at': '2026-11-07T15:26:53Z', 'body': "I did some user testing on cachy under plasma 6.8. Overall things seem to work as expected. \r\n\r\nIssues I ran into:\r\n- This will break everyone's keyboard and mouse binds and hotkeys. There is a new K+M device name so none of the binds will work for existing users. Perhaps add a fake device with the old name that redirects to the new wayland one?\r\n- Hotkeys don't work when the window has no focus even when the `Hotkeys Require Window Focus` is disabled. This will likely require dolphin to request them from [`org.freedesktop.portal.GlobalShortcuts`](https://flatpak.github.io/xdg-desktop-portal/docs/doc-org.freedesktop.portal.GlobalShortcuts.html).\r\n- The appimage doesn't build with wayland due to missing dependencies. Haven't tried the flatpak but it may also be missing the dep.\r\n\r\nThings tested:\r\n- Background input :heavy_check_mark: \r\n- Hotkeys **with** window focus :heavy_check_mark: \r\n- Various graphics enhancements like internal resolution and post processing :heavy_check_mark: \r\n- Graphics mods :heavy_check_mark: \r\n- DPI scaling (applied instantly now) :heavy_check_mark: \r\n- Loading custom textures :heavy_check_mark: \r\n- OSD graphs and metrics look, better? Maybe placebo. :heavy_check_mark: ", 'author_association': 'CONTRIBUTOR', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6708769494/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-07T14:45:28Z', 'pushed_at': '2026-11-07T05:45:57Z', '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': 563784, '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': 'infirit', 'id': 3465730, 'node_id': 'MDQ6VXNlcjM0NjU3MzA=', 'avatar_url': 'https://avatars.githubusercontent.com/u/3465730?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/infirit', 'html_url': 'https://github.com/infirit', 'followers_url': 'https://api.github.com/users/infirit/followers', 'following_url': 'https://api.github.com/users/infirit/following{/other_user}', 'gists_url': 'https://api.github.com/users/infirit/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/infirit/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/infirit/subscriptions', 'organizations_url': 'https://api.github.com/users/infirit/orgs', 'repos_url': 'https://api.github.com/users/infirit/repos', 'events_url': 'https://api.github.com/users/infirit/events{/privacy}', 'received_events_url': 'https://api.github.com/users/infirit/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'gh_issue_comment'}
2026-11-07T15:18:52.736949 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'infirit', 'action': 'edited', 'id': 14962, 'title': 'Add Wayland support (Linux only)', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14962#issuecomment-6708769494', 'safe_author': False, 'body': "I did some user testing on cachy under plasma 6.8. Overall things seem to work as expected. \r\n\r\nIssues I ran into:\r\n- This will break everyone's keyboard and mouse binds and hotkeys. There is a new K+M device name so none of the binds will work for existing users. Perhaps add a fake device with the old name that redirects to the new wayland one?\r\n- Hotkeys don't work when the window has no focus even when the `Hotkeys Require Window Focus` is disabled. This will likely require dolphin to request them from [`org.freedesktop.portal.GlobalShortcuts`](https://flatpak.github.io/xdg-desktop-portal/docs/doc-org.freedesktop.portal.GlobalShortcuts.html).\r\n- The appimage doesn't build with wayland due to missing dependencies. Haven't tried the flatpak but I suspect it will have a similar missing dep.\r\n\r\nThings tested:\r\n- Background input :heavy_check_mark: \r\n- Hotkeys **with** window focus :heavy_check_mark: \r\n- Various graphics enhancements like internal resolution and post processing :heavy_check_mark: \r\n- Graphics mods :heavy_check_mark: \r\n- DPI scaling (applied instantly now) :heavy_check_mark: \r\n- Loading custom textures :heavy_check_mark: \r\n- OSD graphs and metrics look, better? Maybe placebo. :heavy_check_mark: ", 'raw': {'action': 'edited', 'changes': {'body': {'from': "I did some user testing on cachy under plasma 6.8. Overall things seem to work as expected. \r\n\r\nIssues I ran into:\r\n- This will break everyone's keyboard and mouse binds and hotkeys. There is a new K+M device name so none of the binds will work for existing users. Perhaps add a fake device with the old name that redirects to the new wayland one?\r\n- Hotkeys don't work when the window has no focus even when the `Hotkeys Require Window Focus` is disabled. This will likely require dolphin to request them from [`org.freedesktop.portal.GlobalShortcuts`](https://flatpak.github.io/xdg-desktop-portal/docs/doc-org.freedesktop.portal.GlobalShortcuts.html).\r\n- The appimage doesn't build with wayland due to missing dependencies.\r\n\r\nThings tested:\r\n- Background input :heavy_check_mark: \r\n- Hotkeys **with** window focus :heavy_check_mark: \r\n- Various graphics enhancements like internal resolution and post processing :heavy_check_mark: \r\n- Graphics mods :heavy_check_mark: \r\n- DPI scaling (applied instantly now) :heavy_check_mark: \r\n- Loading custom textures :heavy_check_mark: \r\n- OSD graphs and metrics look, better? Maybe placebo. :heavy_check_mark: "}}, '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': 29, 'created_at': '2026-10-30T12:13:34Z', 'updated_at': '2026-11-07T15:17: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/6708769494', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14962#issuecomment-6708769494', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14962', 'id': 6708769494, 'node_id': 'IC_kwDOALCn2M8AAAABj9-y1g', 'user': {'login': 'infirit', 'id': 3465730, 'node_id': 'MDQ6VXNlcjM0NjU3MzA=', 'avatar_url': 'https://avatars.githubusercontent.com/u/3465730?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/infirit', 'html_url': 'https://github.com/infirit', 'followers_url': 'https://api.github.com/users/infirit/followers', 'following_url': 'https://api.github.com/users/infirit/following{/other_user}', 'gists_url': 'https://api.github.com/users/infirit/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/infirit/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/infirit/subscriptions', 'organizations_url': 'https://api.github.com/users/infirit/orgs', 'repos_url': 'https://api.github.com/users/infirit/repos', 'events_url': 'https://api.github.com/users/infirit/events{/privacy}', 'received_events_url': 'https://api.github.com/users/infirit/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2026-11-07T15:11:18Z', 'updated_at': '2026-11-07T15:18:51Z', 'body': "I did some user testing on cachy under plasma 6.8. Overall things seem to work as expected. \r\n\r\nIssues I ran into:\r\n- This will break everyone's keyboard and mouse binds and hotkeys. There is a new K+M device name so none of the binds will work for existing users. Perhaps add a fake device with the old name that redirects to the new wayland one?\r\n- Hotkeys don't work when the window has no focus even when the `Hotkeys Require Window Focus` is disabled. This will likely require dolphin to request them from [`org.freedesktop.portal.GlobalShortcuts`](https://flatpak.github.io/xdg-desktop-portal/docs/doc-org.freedesktop.portal.GlobalShortcuts.html).\r\n- The appimage doesn't build with wayland due to missing dependencies. Haven't tried the flatpak but I suspect it will have a similar missing dep.\r\n\r\nThings tested:\r\n- Background input :heavy_check_mark: \r\n- Hotkeys **with** window focus :heavy_check_mark: \r\n- Various graphics enhancements like internal resolution and post processing :heavy_check_mark: \r\n- Graphics mods :heavy_check_mark: \r\n- DPI scaling (applied instantly now) :heavy_check_mark: \r\n- Loading custom textures :heavy_check_mark: \r\n- OSD graphs and metrics look, better? Maybe placebo. :heavy_check_mark: ", 'author_association': 'CONTRIBUTOR', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6708769494/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-07T14:45:28Z', 'pushed_at': '2026-11-07T05:45:57Z', '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': 563784, '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': 'infirit', 'id': 3465730, 'node_id': 'MDQ6VXNlcjM0NjU3MzA=', 'avatar_url': 'https://avatars.githubusercontent.com/u/3465730?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/infirit', 'html_url': 'https://github.com/infirit', 'followers_url': 'https://api.github.com/users/infirit/followers', 'following_url': 'https://api.github.com/users/infirit/following{/other_user}', 'gists_url': 'https://api.github.com/users/infirit/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/infirit/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/infirit/subscriptions', 'organizations_url': 'https://api.github.com/users/infirit/orgs', 'repos_url': 'https://api.github.com/users/infirit/repos', 'events_url': 'https://api.github.com/users/infirit/events{/privacy}', 'received_events_url': 'https://api.github.com/users/infirit/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'gh_issue_comment'}
2026-11-07T15:17:27.582226 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'infirit', 'action': 'edited', 'id': 14962, 'title': 'Add Wayland support (Linux only)', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14962#issuecomment-6708769494', 'safe_author': False, 'body': "I did some user testing on cachy under plasma 6.8. Overall things seem to work as expected. \r\n\r\nIssues I ran into:\r\n- This will break everyone's keyboard and mouse binds and hotkeys. There is a new K+M device name so none of the binds will work for existing users. Perhaps add a fake device with the old name that redirects to the new wayland one?\r\n- Hotkeys don't work when the window has no focus even when the `Hotkeys Require Window Focus` is disabled. This will likely require dolphin to request them from [`org.freedesktop.portal.GlobalShortcuts`](https://flatpak.github.io/xdg-desktop-portal/docs/doc-org.freedesktop.portal.GlobalShortcuts.html).\r\n- The appimage doesn't build with wayland due to missing dependencies.\r\n\r\nThings tested:\r\n- Background input :heavy_check_mark: \r\n- Hotkeys **with** window focus :heavy_check_mark: \r\n- Various graphics enhancements like internal resolution and post processing :heavy_check_mark: \r\n- Graphics mods :heavy_check_mark: \r\n- DPI scaling (applied instantly now) :heavy_check_mark: \r\n- Loading custom textures :heavy_check_mark: \r\n- OSD graphs and metrics look, better? Maybe placebo. :heavy_check_mark: ", 'raw': {'action': 'edited', 'changes': {'body': {'from': "I did some user testing on cachy under plasma 6.8. Overall things seem to work as expected. \r\n\r\nIssues I ran into:\r\n- This will break everyone's keyboard and mouse binds and hotkeys. There is a new K+M device name so none of the binds will work for existing users. Perhaps add a fake device with the old name that redirects to the new wayland one?\r\n- Hotkeys don't work when the window has no focus even when the `Hotkeys Require Window Focus` is disabled. This will likely require dolphin to request them from [`org.freedesktop.portal.GlobalShortcuts`](https://flatpak.github.io/xdg-desktop-portal/docs/doc-org.freedesktop.portal.GlobalShortcuts.html).\r\n\r\nThings tested:\r\n- Background input :heavy_check_mark: \r\n- Hotkeys **with** window focus :heavy_check_mark: \r\n- Various graphics enhancements like internal resolution and post processing :heavy_check_mark: \r\n- Graphics mods :heavy_check_mark: \r\n- DPI scaling (applied instantly now) :heavy_check_mark: \r\n- Loading custom textures :heavy_check_mark: \r\n- OSD graphs and metrics look, better? Maybe placebo. :heavy_check_mark: "}}, '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': 29, 'created_at': '2026-10-30T12:13:34Z', 'updated_at': '2026-11-07T15:11:18Z', '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/6708769494', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14962#issuecomment-6708769494', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14962', 'id': 6708769494, 'node_id': 'IC_kwDOALCn2M8AAAABj9-y1g', 'user': {'login': 'infirit', 'id': 3465730, 'node_id': 'MDQ6VXNlcjM0NjU3MzA=', 'avatar_url': 'https://avatars.githubusercontent.com/u/3465730?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/infirit', 'html_url': 'https://github.com/infirit', 'followers_url': 'https://api.github.com/users/infirit/followers', 'following_url': 'https://api.github.com/users/infirit/following{/other_user}', 'gists_url': 'https://api.github.com/users/infirit/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/infirit/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/infirit/subscriptions', 'organizations_url': 'https://api.github.com/users/infirit/orgs', 'repos_url': 'https://api.github.com/users/infirit/repos', 'events_url': 'https://api.github.com/users/infirit/events{/privacy}', 'received_events_url': 'https://api.github.com/users/infirit/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2026-11-07T15:11:18Z', 'updated_at': '2026-11-07T15:17:26Z', 'body': "I did some user testing on cachy under plasma 6.8. Overall things seem to work as expected. \r\n\r\nIssues I ran into:\r\n- This will break everyone's keyboard and mouse binds and hotkeys. There is a new K+M device name so none of the binds will work for existing users. Perhaps add a fake device with the old name that redirects to the new wayland one?\r\n- Hotkeys don't work when the window has no focus even when the `Hotkeys Require Window Focus` is disabled. This will likely require dolphin to request them from [`org.freedesktop.portal.GlobalShortcuts`](https://flatpak.github.io/xdg-desktop-portal/docs/doc-org.freedesktop.portal.GlobalShortcuts.html).\r\n- The appimage doesn't build with wayland due to missing dependencies.\r\n\r\nThings tested:\r\n- Background input :heavy_check_mark: \r\n- Hotkeys **with** window focus :heavy_check_mark: \r\n- Various graphics enhancements like internal resolution and post processing :heavy_check_mark: \r\n- Graphics mods :heavy_check_mark: \r\n- DPI scaling (applied instantly now) :heavy_check_mark: \r\n- Loading custom textures :heavy_check_mark: \r\n- OSD graphs and metrics look, better? Maybe placebo. :heavy_check_mark: ", 'author_association': 'CONTRIBUTOR', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6708769494/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-07T14:45:28Z', 'pushed_at': '2026-11-07T05:45:57Z', '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': 563784, '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': 'infirit', 'id': 3465730, 'node_id': 'MDQ6VXNlcjM0NjU3MzA=', 'avatar_url': 'https://avatars.githubusercontent.com/u/3465730?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/infirit', 'html_url': 'https://github.com/infirit', 'followers_url': 'https://api.github.com/users/infirit/followers', 'following_url': 'https://api.github.com/users/infirit/following{/other_user}', 'gists_url': 'https://api.github.com/users/infirit/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/infirit/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/infirit/subscriptions', 'organizations_url': 'https://api.github.com/users/infirit/orgs', 'repos_url': 'https://api.github.com/users/infirit/repos', 'events_url': 'https://api.github.com/users/infirit/events{/privacy}', 'received_events_url': 'https://api.github.com/users/infirit/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'gh_issue_comment'}
2026-11-07T15:11:20.812906 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'infirit', 'action': 'created', 'id': 14962, 'title': 'Add Wayland support (Linux only)', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14962#issuecomment-6708769494', 'safe_author': False, 'body': "I did some user testing on cachy under plasma 6.8. Overall things seem to work as expected. \r\n\r\nIssues I ran into:\r\n- This will break everyone's keyboard and mouse binds and hotkeys. There is a new K+M device name so none of the binds will work for existing users. Perhaps add a fake device with the old name that redirects to the new wayland one?\r\n- Hotkeys don't work when the window has no focus even when the `Hotkeys Require Window Focus` is disabled. This will likely require dolphin to request them from [`org.freedesktop.portal.GlobalShortcuts`](https://flatpak.github.io/xdg-desktop-portal/docs/doc-org.freedesktop.portal.GlobalShortcuts.html).\r\n\r\nThings tested:\r\n- Background input :heavy_check_mark: \r\n- Hotkeys **with** window focus :heavy_check_mark: \r\n- Various graphics enhancements like internal resolution and post processing :heavy_check_mark: \r\n- Graphics mods :heavy_check_mark: \r\n- DPI scaling (applied instantly now) :heavy_check_mark: \r\n- Loading custom textures :heavy_check_mark: \r\n- OSD graphs and metrics look, better? Maybe placebo. :heavy_check_mark: ", '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': 29, 'created_at': '2026-10-30T12:13:34Z', 'updated_at': '2026-11-07T15:11:18Z', '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/6708769494', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14962#issuecomment-6708769494', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14962', 'id': 6708769494, 'node_id': 'IC_kwDOALCn2M8AAAABj9-y1g', 'user': {'login': 'infirit', 'id': 3465730, 'node_id': 'MDQ6VXNlcjM0NjU3MzA=', 'avatar_url': 'https://avatars.githubusercontent.com/u/3465730?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/infirit', 'html_url': 'https://github.com/infirit', 'followers_url': 'https://api.github.com/users/infirit/followers', 'following_url': 'https://api.github.com/users/infirit/following{/other_user}', 'gists_url': 'https://api.github.com/users/infirit/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/infirit/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/infirit/subscriptions', 'organizations_url': 'https://api.github.com/users/infirit/orgs', 'repos_url': 'https://api.github.com/users/infirit/repos', 'events_url': 'https://api.github.com/users/infirit/events{/privacy}', 'received_events_url': 'https://api.github.com/users/infirit/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2026-11-07T15:11:18Z', 'updated_at': '2026-11-07T15:11:18Z', 'body': "I did some user testing on cachy under plasma 6.8. Overall things seem to work as expected. \r\n\r\nIssues I ran into:\r\n- This will break everyone's keyboard and mouse binds and hotkeys. There is a new K+M device name so none of the binds will work for existing users. Perhaps add a fake device with the old name that redirects to the new wayland one?\r\n- Hotkeys don't work when the window has no focus even when the `Hotkeys Require Window Focus` is disabled. This will likely require dolphin to request them from [`org.freedesktop.portal.GlobalShortcuts`](https://flatpak.github.io/xdg-desktop-portal/docs/doc-org.freedesktop.portal.GlobalShortcuts.html).\r\n\r\nThings tested:\r\n- Background input :heavy_check_mark: \r\n- Hotkeys **with** window focus :heavy_check_mark: \r\n- Various graphics enhancements like internal resolution and post processing :heavy_check_mark: \r\n- Graphics mods :heavy_check_mark: \r\n- DPI scaling (applied instantly now) :heavy_check_mark: \r\n- Loading custom textures :heavy_check_mark: \r\n- OSD graphs and metrics look, better? Maybe placebo. :heavy_check_mark: ", 'author_association': 'CONTRIBUTOR', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6708769494/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-07T14:45:28Z', 'pushed_at': '2026-11-07T05:45:57Z', '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': 563784, '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': 'infirit', 'id': 3465730, 'node_id': 'MDQ6VXNlcjM0NjU3MzA=', 'avatar_url': 'https://avatars.githubusercontent.com/u/3465730?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/infirit', 'html_url': 'https://github.com/infirit', 'followers_url': 'https://api.github.com/users/infirit/followers', 'following_url': 'https://api.github.com/users/infirit/following{/other_user}', 'gists_url': 'https://api.github.com/users/infirit/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/infirit/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/infirit/subscriptions', 'organizations_url': 'https://api.github.com/users/infirit/orgs', 'repos_url': 'https://api.github.com/users/infirit/repos', 'events_url': 'https://api.github.com/users/infirit/events{/privacy}', 'received_events_url': 'https://api.github.com/users/infirit/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'gh_issue_comment'}
2026-11-07T06:17:18.265611 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'Tilka', 'action': 'created', 'id': 14991, 'title': 'OGL: Warn about Intel Mesa GPU hangs on Linux', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14991#issuecomment-6703268470', 'safe_author': True, 'body': 'Did you report this to Mesa developers? Does it affect more than one user? I\'d rather not add scare warnings for something that could just be failing hardware or could get fixed in the next driver release. So far, I\'d call this an anecdote rather than "evidence".', 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14991', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14991/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14991/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14991/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14991', 'id': 6253640354, 'node_id': 'PR_kwDOALCn2M8AAAABNcZGmQ', 'number': 14991, 'title': 'OGL: Warn about Intel Mesa GPU hangs on Linux', 'user': {'login': 'jpferraz-git', 'id': 179407958, 'node_id': 'U_kgDOCrGMVg', 'avatar_url': 'https://avatars.githubusercontent.com/u/179407958?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jpferraz-git', 'html_url': 'https://github.com/jpferraz-git', 'followers_url': 'https://api.github.com/users/jpferraz-git/followers', 'following_url': 'https://api.github.com/users/jpferraz-git/following{/other_user}', 'gists_url': 'https://api.github.com/users/jpferraz-git/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jpferraz-git/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jpferraz-git/subscriptions', 'organizations_url': 'https://api.github.com/users/jpferraz-git/orgs', 'repos_url': 'https://api.github.com/users/jpferraz-git/repos', 'events_url': 'https://api.github.com/users/jpferraz-git/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jpferraz-git/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-07T01:23:58Z', 'updated_at': '2026-11-07T06:17:16Z', '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/14991', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14991', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14991.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14991.patch', 'merged_at': None}, 'body': 'When running Dolphin on Linux systems with Intel Integrated Graphics (Tiger Lake / Iris Xe using Mesa `iris`), using the OpenGL backend frequently leads to kernel GPU hangs (`i915` ring timeouts) during heavy EFB / shader workloads (such as in *Super Mario Galaxy* and *Skyward Sword*). Under Wayland compositors (GNOME Mutter / KDE KWin), this GPU reset causes an unrecoverable display freeze.\r\n\r\nWhile PR #14835 changed the default backend to Vulkan on Linux for clean installs, existing installations with an already generated `Dolphin.ini` keep `GFXBackend = OGL` and remain prone to these system freezes.\r\n\r\nThis patch adds an on-screen warning (OSD) in `PopulateConfig()` when `gl_vendor == "Intel"` and Mesa are detected on Linux under OpenGL, advising users to switch to Vulkan.\r\n\r\n### Evidence\r\n\r\n**System Environment:**\r\n- **OS:** Ubuntu Linux (Wayland / GNOME Mutter)\r\n- **GPU:** Intel Iris Xe Graphics (Tiger Lake GT2, `i915` kernel module)\r\n- **Mesa:** `iris` OpenGL driver (vendor string: `"Intel"`)\r\n\r\n**Kernel log signature during freeze (`dmesg` / `journalctl -k`):**\r\n```text\r\nkernel: i915 0000:00:02.0: [drm] GPU HANG: ecode 12:0:00000000, in dolphin-emu\r\nkernel: i915 0000:00:02.0: [drm] Resetting rcs0 for stopped heartbeat on rcs0\r\nkernel: [drm:drm_atomic_helper_wait_for_flip_done] *ERROR* [CRTC:...] flip_done timed out\r\n```\r\nOnce the `i915` reset sequence finishes, the Wayland compositor permanently loses display synchronization (`Pageflip timed out`), locking up all screen updates and requiring a forced hard reboot.\r\n\r\n*(Note per Contributing.md: The author drafted and refined this patch and PR description with LLM assistance.)*', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14991/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/14991/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6703268470', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14991#issuecomment-6703268470', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14991', 'id': 6703268470, 'node_id': 'IC_kwDOALCn2M8AAAABj4vCdg', 'user': {'login': 'Tilka', 'id': 123798, 'node_id': 'MDQ6VXNlcjEyMzc5OA==', 'avatar_url': 'https://avatars.githubusercontent.com/u/123798?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/Tilka', 'html_url': 'https://github.com/Tilka', 'followers_url': 'https://api.github.com/users/Tilka/followers', 'following_url': 'https://api.github.com/users/Tilka/following{/other_user}', 'gists_url': 'https://api.github.com/users/Tilka/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/Tilka/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/Tilka/subscriptions', 'organizations_url': 'https://api.github.com/users/Tilka/orgs', 'repos_url': 'https://api.github.com/users/Tilka/repos', 'events_url': 'https://api.github.com/users/Tilka/events{/privacy}', 'received_events_url': 'https://api.github.com/users/Tilka/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2026-11-07T06:17:16Z', 'updated_at': '2026-11-07T06:17:16Z', 'body': 'Did you report this to Mesa developers? Does it affect more than one user? I\'d rather not add scare warnings for something that could just be failing hardware or could get fixed in the next driver release. So far, I\'d call this an anecdote rather than "evidence".', 'author_association': 'MEMBER', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6703268470/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-07T03:19:39Z', 'pushed_at': '2026-11-07T05:45:57Z', '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': 563814, 'stargazers_count': 15773, 'watchers_count': 15773, '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': 15773, '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': 'Tilka', 'id': 123798, 'node_id': 'MDQ6VXNlcjEyMzc5OA==', 'avatar_url': 'https://avatars.githubusercontent.com/u/123798?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/Tilka', 'html_url': 'https://github.com/Tilka', 'followers_url': 'https://api.github.com/users/Tilka/followers', 'following_url': 'https://api.github.com/users/Tilka/following{/other_user}', 'gists_url': 'https://api.github.com/users/Tilka/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/Tilka/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/Tilka/subscriptions', 'organizations_url': 'https://api.github.com/users/Tilka/orgs', 'repos_url': 'https://api.github.com/users/Tilka/repos', 'events_url': 'https://api.github.com/users/Tilka/events{/privacy}', 'received_events_url': 'https://api.github.com/users/Tilka/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'gh_issue_comment'}
2026-11-07T03:31:07.889570 {'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-6701679169', 'safe_author': False, 'body': 'Rebased with the review feedback folded into the relevant commits.', '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': 28, 'created_at': '2026-10-30T12:13:34Z', 'updated_at': '2026-11-07T03:31:05Z', '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/6701679169', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14962#issuecomment-6701679169', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14962', 'id': 6701679169, 'node_id': 'IC_kwDOALCn2M8AAAABj3OCQQ', '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-07T03:31:05Z', 'updated_at': '2026-11-07T03:31:05Z', 'body': 'Rebased with the review feedback folded into the relevant commits.', 'author_association': 'NONE', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6701679169/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-07T03:19:39Z', 'pushed_at': '2026-11-06T01:29:35Z', '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': 563814, 'stargazers_count': 15773, 'watchers_count': 15773, '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': 15773, '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-06T22:25:17.838878 {'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-6697360996', 'safe_author': False, 'body': '> Hi, thanks for the reproducer! Unfortunately, it seems to disprove your theory from what I understand. Here is one where it went up to OOM: [qleak.3086368.txt](https://github.com/user-attachments/files/34473523/qleak.3086368.txt)\r\n> \r\n> A bug I found though is that Dolphin is receiving a flood of `leave`/`enter` events, according to `WAYLAND_DEBUG=1`. Timestamps here are in ms, so it’s looping approximately every 0.045ms, which could maybe be the cause of something:\r\n> \r\n> ```\r\n> [2292391.713] {Default Queue} wl_surface#63.leave(wl_output#12)\r\n> [2292391.718] {Default Queue} -> wl_surface#63.set_buffer_scale(1)\r\n> [2292391.722] {Default Queue} -> wl_surface#63.attach(wl_buffer#65, 0, 0)\r\n> [2292391.727] {Default Queue} -> wl_surface#63.damage(0, 0, 24, 24)\r\n> [2292391.732] {Default Queue} -> wl_surface#63.commit()\r\n> [2292391.736] {Default Queue} wl_surface#63.enter(wl_output#12)\r\n> [2292391.740] {Default Queue} -> wl_surface#63.set_buffer_scale(1)\r\n> [2292391.745] {Default Queue} -> wl_surface#63.attach(wl_buffer#65, 0, 0)\r\n> [2292391.749] {Default Queue} -> wl_surface#63.damage(0, 0, 24, 24)\r\n> [2292391.754] {Default Queue} -> wl_surface#63.commit()\r\n> [2292391.758] {Default Queue} wl_surface#63.leave(wl_output#12)\r\n> [2292391.763] {Default Queue} -> wl_surface#63.set_buffer_scale(1)\r\n> [2292391.767] {Default Queue} -> wl_surface#63.attach(wl_buffer#65, 0, 0)\r\n> [2292391.772] {Default Queue} -> wl_surface#63.damage(0, 0, 24, 24)\r\n> [2292391.776] {Default Queue} -> wl_surface#63.commit()\r\n> [2292391.793] {Default Queue} wl_surface#63.enter(wl_output#12)\r\n> [2292391.798] {Default Queue} -> wl_surface#63.set_buffer_scale(1)\r\n> [2292391.802] {Default Queue} -> wl_surface#63.attach(wl_buffer#65, 0, 0)\r\n> [2292391.807] {Default Queue} -> wl_surface#63.damage(0, 0, 24, 24)\r\n> [2292391.812] {Default Queue} -> wl_surface#63.commit()\r\n> ```\r\n> \r\n> I will try another compositor, maybe weston has a bug, in which case I’ll report it on their bug tracker.\r\n> \r\n> Edit: I can’t reproduce that one bug on [Niri](https://niri-wm.github.io/niri/), and the memory stays flat too! I could play the game for thee hours in a row without any issue to report back. :)\r\n> \r\n> I’ve now reported an issue to weston: https://gitlab.freedesktop.org/wayland/weston/-/work_items/1155\r\n\r\nAwesome!! thank you for your help with this and testing the branch out :D', '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': 27, 'created_at': '2026-10-30T12:13:34Z', 'updated_at': '2026-11-06T22:25:16Z', '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/6697360996', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14962#issuecomment-6697360996', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14962', 'id': 6697360996, 'node_id': 'IC_kwDOALCn2M8AAAABjzGeZA', '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-06T22:25:16Z', 'updated_at': '2026-11-06T22:25:16Z', 'body': '> Hi, thanks for the reproducer! Unfortunately, it seems to disprove your theory from what I understand. Here is one where it went up to OOM: [qleak.3086368.txt](https://github.com/user-attachments/files/34473523/qleak.3086368.txt)\r\n> \r\n> A bug I found though is that Dolphin is receiving a flood of `leave`/`enter` events, according to `WAYLAND_DEBUG=1`. Timestamps here are in ms, so it’s looping approximately every 0.045ms, which could maybe be the cause of something:\r\n> \r\n> ```\r\n> [2292391.713] {Default Queue} wl_surface#63.leave(wl_output#12)\r\n> [2292391.718] {Default Queue} -> wl_surface#63.set_buffer_scale(1)\r\n> [2292391.722] {Default Queue} -> wl_surface#63.attach(wl_buffer#65, 0, 0)\r\n> [2292391.727] {Default Queue} -> wl_surface#63.damage(0, 0, 24, 24)\r\n> [2292391.732] {Default Queue} -> wl_surface#63.commit()\r\n> [2292391.736] {Default Queue} wl_surface#63.enter(wl_output#12)\r\n> [2292391.740] {Default Queue} -> wl_surface#63.set_buffer_scale(1)\r\n> [2292391.745] {Default Queue} -> wl_surface#63.attach(wl_buffer#65, 0, 0)\r\n> [2292391.749] {Default Queue} -> wl_surface#63.damage(0, 0, 24, 24)\r\n> [2292391.754] {Default Queue} -> wl_surface#63.commit()\r\n> [2292391.758] {Default Queue} wl_surface#63.leave(wl_output#12)\r\n> [2292391.763] {Default Queue} -> wl_surface#63.set_buffer_scale(1)\r\n> [2292391.767] {Default Queue} -> wl_surface#63.attach(wl_buffer#65, 0, 0)\r\n> [2292391.772] {Default Queue} -> wl_surface#63.damage(0, 0, 24, 24)\r\n> [2292391.776] {Default Queue} -> wl_surface#63.commit()\r\n> [2292391.793] {Default Queue} wl_surface#63.enter(wl_output#12)\r\n> [2292391.798] {Default Queue} -> wl_surface#63.set_buffer_scale(1)\r\n> [2292391.802] {Default Queue} -> wl_surface#63.attach(wl_buffer#65, 0, 0)\r\n> [2292391.807] {Default Queue} -> wl_surface#63.damage(0, 0, 24, 24)\r\n> [2292391.812] {Default Queue} -> wl_surface#63.commit()\r\n> ```\r\n> \r\n> I will try another compositor, maybe weston has a bug, in which case I’ll report it on their bug tracker.\r\n> \r\n> Edit: I can’t reproduce that one bug on [Niri](https://niri-wm.github.io/niri/), and the memory stays flat too! I could play the game for thee hours in a row without any issue to report back. :)\r\n> \r\n> I’ve now reported an issue to weston: https://gitlab.freedesktop.org/wayland/weston/-/work_items/1155\r\n\r\nAwesome!! thank you for your help with this and testing the branch out :D', 'author_association': 'NONE', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6697360996/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-06T19:41:40Z', 'pushed_at': '2026-11-06T01:29:35Z', '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': 563814, 'stargazers_count': 15774, 'watchers_count': 15774, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3380, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 480, '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': 3380, 'open_issues': 480, 'watchers': 15774, '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-06T17:58:30.877254 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'JosJuice', 'action': 'created', 'id': 14989, 'title': 'DSPHLE/Zelda: Keep sync mails that arrive before MAIL_CONTINUE', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14989#issuecomment-6691723057', 'safe_author': True, 'body': 'AI usage is forbidden for this part of the codebase.', 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14989', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14989/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14989/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14989/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14989', 'id': 6247887709, 'node_id': 'PR_kwDOALCn2M8AAAABNXvVLg', 'number': 14989, 'title': 'DSPHLE/Zelda: Keep sync mails that arrive before MAIL_CONTINUE', 'user': {'login': 'Zontex', 'id': 19342533, 'node_id': 'MDQ6VXNlcjE5MzQyNTMz', 'avatar_url': 'https://avatars.githubusercontent.com/u/19342533?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/Zontex', 'html_url': 'https://github.com/Zontex', 'followers_url': 'https://api.github.com/users/Zontex/followers', 'following_url': 'https://api.github.com/users/Zontex/following{/other_user}', 'gists_url': 'https://api.github.com/users/Zontex/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/Zontex/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/Zontex/subscriptions', 'organizations_url': 'https://api.github.com/users/Zontex/orgs', 'repos_url': 'https://api.github.com/users/Zontex/repos', 'events_url': 'https://api.github.com/users/Zontex/events{/privacy}', 'received_events_url': 'https://api.github.com/users/Zontex/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'closed', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 1, 'created_at': '2026-11-06T17:55:04Z', 'updated_at': '2026-11-06T17:58:28Z', 'closed_at': '2026-11-06T17:58:28Z', '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/14989', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14989', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14989.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14989.patch', 'merged_at': None}, 'body': 'A game that falls behind can send its next rendering command (02), and the sync mails for that command\'s first frame, after the last frame\'s acknowledgment but before it has answered `DONE_RENDERING` with `MAIL_CONTINUE`. The real uCode keeps those sync mails and uses them when the queued command runs. The HLE treats them as "Sync mail received when rendering was not active" and halts, which silences the game for the rest of the session.\n\nThe change: in `WAITING`, a sync mail while a command is queued and execution is blocked waiting for the ACK goes to `RENDERING` as usual. In `RENDERING`, the flags are stored but `RenderAudio()` is only called when rendering is actually in progress. A sync mail with nothing queued still halts.\n\nIt also numbers the per-frame acknowledgments from 1, as the uCode does (`F355FF01` to `F355FF07` for a 7-frame render). The HLE sent them from 0.\n\n**How it was found.** This turned up in [wii-recomp](https://github.com/Zontex/wii-recomp), a static recompiler for Wii games, whose Zelda HLE is a C port of Dolphin\'s. Super Mario Galaxy 2 went silent for good about 75 seconds into a walk, as Mario first walks into the Star Festival. Running the real uCode on a DSP interpreter over the same walk showed it receiving sync mails before "continue" about 900 times and rendering normally each time. With the same change in the C port, a 240-second walk has sound the whole way.\n\n**Not included.** Under the interpreter, the uCode also sends `DONE_RENDERING` about 4,600–5,400 ticks after the last frame\'s acknowledgment rather than straight after it. That changes how often the game falls behind in the first place. Doing it here would need `CMailHandler` to delay a mail, not just its interrupt, so it\'s left for a separate change.\n\n**Testing.** I haven\'t built or run this Dolphin patch. It\'s a port of the change above. Super Mario Galaxy 2 with DSP HLE, playing until the Star Festival, should show it (look for the "Halting" notice in the DSPHLE log).\n\n🤖 Generated with [Claude Code](https://claude.com/claude-code)\n', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14989/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/14989/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6691723057', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14989#issuecomment-6691723057', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14989', 'id': 6691723057, 'node_id': 'IC_kwDOALCn2M8AAAABjtuXMQ', '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-06T17:58:28Z', 'updated_at': '2026-11-06T17:58:28Z', 'body': 'AI usage is forbidden for this part of the codebase.', 'author_association': 'MEMBER', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6691723057/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-06T16:47:36Z', 'pushed_at': '2026-11-06T01:29:35Z', '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': 563814, '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': 480, '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': 480, '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'}
Recent 'gh_pull_request' events
2026-11-08T13:36:00.902122 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'JustMLC4real', 'action': 'closed', 'id': 14807, 'title': 'Android: Add per-game touch overlay layouts', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14807', 'head_ref_name': 'agent/android-per-game-touch-layouts', 'safe_author': False, 'base_sha': '216ffb4581af2075bf7a9f975219c375767cae15', 'head_sha': '85df25f083f54c9b5867bd8727b0dbb284411c5e', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-11-08T11:12:59.100129 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'JoshuaVandaele', 'action': 'opened', 'id': 14996, 'title': 'GameSettings: Remove SyncOnSkipIdle for Battalion Wars 1&2', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14996', 'head_ref_name': 'gamesettings-battalion-wars', 'safe_author': True, 'base_sha': '257a6d0eac1d915216dbc974e9390af3050af2b9', 'head_sha': '9ec39294653b786f8392e199a3f02fec9e7a3a31', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-11-08T10:34:40.395386 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'llsc12', 'action': 'synchronize', 'id': 14713, 'title': 'Fix cheatsmanager crash', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14713', 'head_ref_name': 'master', 'safe_author': False, 'base_sha': '257a6d0eac1d915216dbc974e9390af3050af2b9', 'head_sha': '016e11d73621005cc2b7d20244884b72e286b4a5', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-11-08T08:58:01.803659 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'review_requested', 'id': 14654, 'title': 'GameINI: Add fix codes to the internal color bug in Capcom vs. SNK 2 EO', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14654', 'head_ref_name': 'master', 'safe_author': True, 'base_sha': '7b69949cec7afcd1691a9a046d26d5c4a99ce4fc', 'head_sha': '21d62d809366fed955f4481132f884ba22142749', 'merged': False, 'requested_reviewers': [{'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}], 'type': 'gh_pull_request'}
2026-11-08T08:45:06.170770 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'Twilight0', 'action': 'closed', 'id': 14992, 'title': 'OGL: Fix Nouveau driver detection on modern Mesa', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14992', 'head_ref_name': 'fix/nouveau-driver-detection', 'safe_author': False, 'base_sha': '4a70679d0adcd17220568f5c18d2d4005eeea0a2', 'head_sha': '494c39e23055617e2789df8c0a031bad6e307344', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-11-08T08:43:59.313638 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'Twilight0', 'action': 'closed', 'id': 14993, 'title': 'VideoCommon: Derive fog depth from clip space on Nouveau', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14993', 'head_ref_name': 'fix/nouveau-frag-coord-depth', 'safe_author': False, 'base_sha': '4a70679d0adcd17220568f5c18d2d4005eeea0a2', 'head_sha': '33a9f4b20661032c30c4ebe7d6cb22b1a5f3679f', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-11-08T04:07:10.480943 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'Tilka', 'action': 'synchronize', 'id': 14995, 'title': 'AX: fix two bugs', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14995', 'head_ref_name': 'ax_fixes', 'safe_author': True, 'base_sha': '257a6d0eac1d915216dbc974e9390af3050af2b9', 'head_sha': 'c25a5e47ec9a55a81414a2c3420764b4a6614ba8', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-11-08T02:59:23.138095 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'Tilka', 'action': 'opened', 'id': 14995, 'title': 'AX: fix two bugs', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14995', 'head_ref_name': 'ax_fixes', 'safe_author': True, 'base_sha': '257a6d0eac1d915216dbc974e9390af3050af2b9', 'head_sha': '2cf9900ebd1469a07e44d4e9af05deb04d5cadd4', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-11-07T23:45:27.322396 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'misantronic', 'action': 'synchronize', 'id': 14671, 'title': 'Android: Add RetroAchievements host override receiver', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14671', 'head_ref_name': 'android-ra-host-override', 'safe_author': False, 'base_sha': '257a6d0eac1d915216dbc974e9390af3050af2b9', 'head_sha': '8343bfcd38ec1922bed739418c9bea806f233955', 'merged': False, 'requested_reviewers': [{'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}, {'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}], 'type': 'gh_pull_request'}
2026-11-07T23:30:03.560862 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'misantronic', 'action': 'review_requested', 'id': 14671, 'title': 'Android: Add RetroAchievements host override receiver', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14671', 'head_ref_name': 'android-ra-host-override', 'safe_author': False, 'base_sha': 'a1e636d72c8469acf747ac6542f0b7ace7cea02f', 'head_sha': 'eed81300e7d37b2773d05b47dcf8fac522ce5576', 'merged': False, 'requested_reviewers': [{'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}, {'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}], 'type': 'gh_pull_request'}
2026-11-07T23:27:50.910263 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'misantronic', 'action': 'synchronize', 'id': 14671, 'title': 'Android: Add RetroAchievements host override receiver', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14671', 'head_ref_name': 'android-ra-host-override', 'safe_author': False, 'base_sha': 'a1e636d72c8469acf747ac6542f0b7ace7cea02f', 'head_sha': 'eed81300e7d37b2773d05b47dcf8fac522ce5576', 'merged': False, 'requested_reviewers': [{'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}], 'type': 'gh_pull_request'}
2026-11-07T22:36:09.185477 {'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': '257a6d0eac1d915216dbc974e9390af3050af2b9', 'head_sha': '5003b700ffecffde62fb8fe793921512a44feb5e', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-11-07T22:20:46.215854 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'OatmealDome', 'action': 'closed', 'id': 14994, 'title': 'DolphinQt: Use CMAKE_CURRENT_BINARY_DIR to temporarily store translation files during build on macOS', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14994', 'head_ref_name': 'macos-translation-cmake', 'safe_author': True, 'base_sha': '4a70679d0adcd17220568f5c18d2d4005eeea0a2', 'head_sha': 'd0609395c13b6a60dff0bb5b1289ef0bf9452d3b', 'merged': True, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-11-07T21:33:03.727203 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'OatmealDome', 'action': 'opened', 'id': 14994, 'title': 'DolphinQt: Use CMAKE_CURRENT_BINARY_DIR to temporarily store translation files during build on macOS', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14994', 'head_ref_name': 'macos-translation-cmake', 'safe_author': True, 'base_sha': '4a70679d0adcd17220568f5c18d2d4005eeea0a2', 'head_sha': 'd0609395c13b6a60dff0bb5b1289ef0bf9452d3b', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-11-07T15:33:19.435166 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'Twilight0', 'action': 'edited', 'id': 14993, 'title': 'VideoCommon: Derive fog depth from clip space on Nouveau', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14993', 'head_ref_name': 'fix/nouveau-frag-coord-depth', 'safe_author': False, 'base_sha': '4a70679d0adcd17220568f5c18d2d4005eeea0a2', 'head_sha': '33a9f4b20661032c30c4ebe7d6cb22b1a5f3679f', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-11-07T15:32:52.347381 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'Twilight0', 'action': 'opened', 'id': 14993, 'title': 'VideoCommon: Derive fog depth from clip space on Nouveau', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14993', 'head_ref_name': 'fix/nouveau-frag-coord-depth', 'safe_author': False, 'base_sha': '4a70679d0adcd17220568f5c18d2d4005eeea0a2', 'head_sha': '33a9f4b20661032c30c4ebe7d6cb22b1a5f3679f', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-11-07T15:32:42.955786 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'Twilight0', 'action': 'opened', 'id': 14992, 'title': 'OGL: Fix Nouveau driver detection on modern Mesa', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14992', 'head_ref_name': 'fix/nouveau-driver-detection', 'safe_author': False, 'base_sha': '4a70679d0adcd17220568f5c18d2d4005eeea0a2', 'head_sha': '494c39e23055617e2789df8c0a031bad6e307344', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-11-07T04:17:53.718282 {'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': '4a70679d0adcd17220568f5c18d2d4005eeea0a2', 'head_sha': 'c6c1c47eb788194fc7c4f4d85c7b28778f87bd45', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-11-07T03:18:05.980252 {'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': '4a70679d0adcd17220568f5c18d2d4005eeea0a2', 'head_sha': 'e135a01fdc3246260ffc5d22ae8e51ce3f3278f4', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-11-07T01:50:12.034762 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jpferraz-git', 'action': 'edited', 'id': 14991, 'title': 'OGL: Warn about Intel Mesa GPU hangs on Linux', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14991', 'head_ref_name': 'fix/ogl-mesa-intel-osd-warning', 'safe_author': False, 'base_sha': '4a70679d0adcd17220568f5c18d2d4005eeea0a2', 'head_sha': 'fa2a22682522402e2cc38de60182ab2271fde0e1', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-11-07T01:49:43.535509 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jpferraz-git', 'action': 'edited', 'id': 14991, 'title': 'OGL: Warn about Intel Mesa GPU hangs on Linux', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14991', 'head_ref_name': 'fix/ogl-mesa-intel-osd-warning', 'safe_author': False, 'base_sha': '4a70679d0adcd17220568f5c18d2d4005eeea0a2', 'head_sha': 'fa2a22682522402e2cc38de60182ab2271fde0e1', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-11-07T01:47:33.167551 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jpferraz-git', 'action': 'edited', 'id': 14991, 'title': 'OGL: Warn about Intel Mesa GPU hangs on Linux', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14991', 'head_ref_name': 'fix/ogl-mesa-intel-osd-warning', 'safe_author': False, 'base_sha': '4a70679d0adcd17220568f5c18d2d4005eeea0a2', 'head_sha': 'fa2a22682522402e2cc38de60182ab2271fde0e1', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-11-07T01:24:00.999317 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jpferraz-git', 'action': 'opened', 'id': 14991, 'title': 'OGL: Warn about Intel Mesa GPU hangs on Linux', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14991', 'head_ref_name': 'fix/ogl-mesa-intel-osd-warning', 'safe_author': False, 'base_sha': '4a70679d0adcd17220568f5c18d2d4005eeea0a2', 'head_sha': 'fa2a22682522402e2cc38de60182ab2271fde0e1', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-11-07T00:14:06.579356 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'review_requested', 'id': 14990, 'title': 'CMake: Bundle dolphin-tool on macOS', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14990', 'head_ref_name': 'macos-dolphintool', 'safe_author': True, 'base_sha': '4a70679d0adcd17220568f5c18d2d4005eeea0a2', 'head_sha': 'b183f8ea97c29eef5bd5b3832fb7f72697b3dd12', 'merged': False, 'requested_reviewers': [{'login': 'OatmealDome', 'id': 11504941, 'node_id': 'MDQ6VXNlcjExNTA0OTQx', 'avatar_url': 'https://avatars.githubusercontent.com/u/11504941?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/OatmealDome', 'html_url': 'https://github.com/OatmealDome', 'followers_url': 'https://api.github.com/users/OatmealDome/followers', 'following_url': 'https://api.github.com/users/OatmealDome/following{/other_user}', 'gists_url': 'https://api.github.com/users/OatmealDome/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/OatmealDome/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/OatmealDome/subscriptions', 'organizations_url': 'https://api.github.com/users/OatmealDome/orgs', 'repos_url': 'https://api.github.com/users/OatmealDome/repos', 'events_url': 'https://api.github.com/users/OatmealDome/events{/privacy}', 'received_events_url': 'https://api.github.com/users/OatmealDome/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}], 'type': 'gh_pull_request'}
2026-11-06T23:51:34.350893 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'JoshuaVandaele', 'action': 'opened', 'id': 14990, 'title': 'CMake: Bundle dolphin-tool on macOS', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14990', 'head_ref_name': 'macos-dolphintool', 'safe_author': True, 'base_sha': '4a70679d0adcd17220568f5c18d2d4005eeea0a2', 'head_sha': 'b183f8ea97c29eef5bd5b3832fb7f72697b3dd12', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
Recent 'gh_pull_request_comment' events
2026-11-07T04:20:56.808722 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'ellierocks', 'action': 'created', 'id': 14962, 'hash': '63a36f21071817a58a3c69c7cbfd298323dfd292', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14962#discussion_r4500068851', 'is_part_of_review': False, 'type': 'gh_pull_request_comment'}
2026-11-07T03:30:51.009156 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'created', 'id': 14962, 'hash': '63a36f21071817a58a3c69c7cbfd298323dfd292', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14962#discussion_r4499872484', 'is_part_of_review': True, 'type': 'gh_pull_request_comment'}
2026-11-07T03:22:03.276024 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'ellierocks', 'action': 'created', 'id': 14962, 'hash': '63a36f21071817a58a3c69c7cbfd298323dfd292', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14962#discussion_r4499838467', 'is_part_of_review': False, 'type': 'gh_pull_request_comment'}
2026-11-07T03:20:08.821985 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'ellierocks', 'action': 'created', 'id': 14962, 'hash': '63a36f21071817a58a3c69c7cbfd298323dfd292', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14962#discussion_r4499832197', 'is_part_of_review': True, 'type': 'gh_pull_request_comment'}
2026-11-07T03:19:37.959738 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'ellierocks', 'action': 'created', 'id': 14962, 'hash': '63a36f21071817a58a3c69c7cbfd298323dfd292', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14962#discussion_r4499830620', 'is_part_of_review': False, 'type': 'gh_pull_request_comment'}
2026-11-07T01:22:38.868140 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'created', 'id': 14962, 'hash': '63a36f21071817a58a3c69c7cbfd298323dfd292', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14962#discussion_r4499334392', 'is_part_of_review': False, 'type': 'gh_pull_request_comment'}
2026-11-07T00:58:15.424612 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'edited', 'id': 14962, 'hash': '63a36f21071817a58a3c69c7cbfd298323dfd292', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14962#discussion_r4499205346', 'is_part_of_review': False, 'type': 'gh_pull_request_comment'}
2026-11-07T00:57:08.859529 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'edited', 'id': 14962, 'hash': '63a36f21071817a58a3c69c7cbfd298323dfd292', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14962#discussion_r4499205346', 'is_part_of_review': False, 'type': 'gh_pull_request_comment'}
2026-11-07T00:56:07.271211 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'edited', 'id': 14962, 'hash': '63a36f21071817a58a3c69c7cbfd298323dfd292', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14962#discussion_r4499205346', 'is_part_of_review': False, 'type': 'gh_pull_request_comment'}
2026-11-07T00:55:31.362278 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'created', 'id': 14962, 'hash': '63a36f21071817a58a3c69c7cbfd298323dfd292', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14962#discussion_r4499205346', 'is_part_of_review': False, 'type': 'gh_pull_request_comment'}
2026-11-07T00:50:56.753971 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'created', 'id': 14962, 'hash': '63a36f21071817a58a3c69c7cbfd298323dfd292', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14962#discussion_r4499182957', 'is_part_of_review': False, 'type': 'gh_pull_request_comment'}
2026-11-05T22:08:07.132697 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'JosJuice', 'action': 'created', 'id': 14986, 'hash': 'e196d34c5961e2f057a3de5e98bb81b6d13909ef', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14986#discussion_r4486650077', 'is_part_of_review': True, 'type': 'gh_pull_request_comment'}
2026-11-05T22:05:23.520726 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'iwubcode', 'action': 'edited', 'id': 14986, 'hash': 'e196d34c5961e2f057a3de5e98bb81b6d13909ef', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14986#discussion_r4486623473', 'is_part_of_review': False, 'type': 'gh_pull_request_comment'}
2026-11-05T22:05:11.161102 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'iwubcode', 'action': 'created', 'id': 14986, 'hash': 'e196d34c5961e2f057a3de5e98bb81b6d13909ef', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14986#discussion_r4486623473', 'is_part_of_review': True, 'type': 'gh_pull_request_comment'}
2026-11-05T20:47:08.591543 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'edited', 'id': 14985, 'hash': '706ad79768d8817f043ff7562bb6a932155e7a9e', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14985#discussion_r4485828872', 'is_part_of_review': False, 'type': 'gh_pull_request_comment'}
2026-11-05T20:45:23.712975 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'created', 'id': 14985, 'hash': '706ad79768d8817f043ff7562bb6a932155e7a9e', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14985#discussion_r4485853093', 'is_part_of_review': False, 'type': 'gh_pull_request_comment'}
2026-11-05T20:43:41.737262 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'created', 'id': 14985, 'hash': '706ad79768d8817f043ff7562bb6a932155e7a9e', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14985#discussion_r4485834709', 'is_part_of_review': True, 'type': 'gh_pull_request_comment'}
2026-11-05T20:43:11.318391 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'created', 'id': 14985, 'hash': '706ad79768d8817f043ff7562bb6a932155e7a9e', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14985#discussion_r4485828872', 'is_part_of_review': True, 'type': 'gh_pull_request_comment'}
2026-11-05T19:36:09.649663 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'JosJuice', 'action': 'created', 'id': 14986, 'hash': 'e196d34c5961e2f057a3de5e98bb81b6d13909ef', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14986#discussion_r4485118824', 'is_part_of_review': True, 'type': 'gh_pull_request_comment'}
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'}
Recent 'gh_pull_request_review' events
2026-11-08T10:46:01.241525 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'Copilot', 'action': 'edited', 'pr_id': 14713, 'pr_title': 'Fix cheatsmanager crash', 'state': 'commented', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14713#pullrequestreview-4622533386', 'comments': [{'id': 3517267696, 'node_id': 'PRRC_kwDOALCn2M7RpT7w', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/3517267696', 'pull_request_review_id': 4622533386, 'diff_hunk': '@@ -57,16 +57,26 @@ void CheatsManager::OnStateChanged(Core::State state)\n \n void CheatsManager::OnFrameEnd()\n {\n- if (!isVisible())\n+ if (m_frame_end_update_queued.exchange(true))\n return;\n \n- auto* const selected_cheat_search_widget =\n- qobject_cast<CheatSearchWidget*>(m_tab_widget->currentWidget());\n- if (selected_cheat_search_widget != nullptr)\n- {\n- selected_cheat_search_widget->UpdateTableVisibleCurrentValues(\n- CheatSearchWidget::UpdateSource::Auto);\n- }\n+ QMetaObject::invokeMethod(\n+ this,\n+ [this] {\n+ m_frame_end_update_queued = false;\n+', 'path': 'Source/Core/DolphinQt/CheatsManager.cpp', 'position': 19, 'original_position': 19, 'commit_id': '016e11d73621005cc2b7d20244884b72e286b4a5', 'user': {'login': 'Copilot', 'id': 175728472, 'node_id': 'BOT_kgDOCnlnWA', 'avatar_url': 'https://avatars.githubusercontent.com/in/946600?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/Copilot', 'html_url': 'https://github.com/apps/copilot-pull-request-reviewer', 'followers_url': 'https://api.github.com/users/Copilot/followers', 'following_url': 'https://api.github.com/users/Copilot/following{/other_user}', 'gists_url': 'https://api.github.com/users/Copilot/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/Copilot/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/Copilot/subscriptions', 'organizations_url': 'https://api.github.com/users/Copilot/orgs', 'repos_url': 'https://api.github.com/users/Copilot/repos', 'events_url': 'https://api.github.com/users/Copilot/events{/privacy}', 'received_events_url': 'https://api.github.com/users/Copilot/received_events', 'type': 'Bot', 'user_view_type': 'public', 'site_admin': False}, 'body': '`m_frame_end_update_queued` is cleared at the start of the queued lambda, which allows the CPU thread to enqueue another `invokeMethod` call while the previous GUI-thread update is still running. That weakens the intended backpressure ("avoid posting events every frame if the GUI thread was to fall behind"). Also, if `QMetaObject::invokeMethod` ever fails, the flag will remain stuck `true` and updates will stop permanently.', 'created_at': '2026-07-03T03:17:31Z', 'updated_at': '2026-07-03T03:17:31Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14713#discussion_r3517267696', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14713', 'author_association': 'NONE', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/3517267696'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14713#discussion_r3517267696'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14713'}}, 'original_commit_id': 'ed99f890e428c81bd5419c5e8fb3fa0e420b1132', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/3517267696/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'is_copilot_code_review': True, 'copilot_code_review_sources': []}], 'type': 'gh_pull_request_review'}
2026-11-08T10:41:51.019067 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'JosJuice', 'action': 'submitted', 'pr_id': 14995, 'pr_title': 'AX: fix two bugs', 'state': 'changes_requested', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14995#pullrequestreview-5817566378', 'comments': [], 'type': 'gh_pull_request_review'}
2026-11-08T04:18:36.869631 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'Pokechu22', 'action': 'submitted', 'pr_id': 14995, 'pr_title': 'AX: fix two bugs', 'state': 'approved', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14995#pullrequestreview-5816583007', 'comments': [], 'type': 'gh_pull_request_review'}
2026-11-07T21:52:10.527541 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'JoshuaVandaele', 'action': 'submitted', 'pr_id': 14994, 'pr_title': 'DolphinQt: Use CMAKE_CURRENT_BINARY_DIR to temporarily store translation files during build on macOS', 'state': 'approved', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14994#pullrequestreview-5815168505', 'comments': [], 'type': 'gh_pull_request_review'}
2026-11-07T04:20:56.807802 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'ellierocks', 'action': 'submitted', 'pr_id': 14962, 'pr_title': 'Add Wayland support (Linux only)', 'state': 'commented', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14962#pullrequestreview-5810049696', 'comments': [{'id': 4500068851, 'node_id': 'PRRC_kwDOALCn2M8AAAABDDmZ8w', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4500068851', 'pull_request_review_id': 5810049696, 'diff_hunk': "@@ -299,8 +340,25 @@ bool SwapChain::CreateSwapChain()\n VkExtent2D size = surface_capabilities.currentExtent;\n if (size.width == UINT32_MAX)\n {\n- size.width = std::max(g_presenter->GetBackbufferWidth(), 1);\n- size.height = std::max(g_presenter->GetBackbufferHeight(), 1);\n+ // The surface doesn't know its size (Wayland), so use the size the host window reported.\n+ // (The presenter doesn't exist yet when the swap chain is first created.)\n+ const auto [requested_width, requested_height] =\n+ g_presenter ? g_presenter->GetRequestedSurfaceSize() : std::pair<u32, u32>{};\n+ if (requested_width != 0 && requested_height != 0)\n+ {\n+ size.width = requested_width;\n+ size.height = requested_height;\n+ }\n+ else if (m_wsi.render_surface_width > 0 && m_wsi.render_surface_height > 0)\n+ {\n+ size.width = m_wsi.render_surface_width;\n+ size.height = m_wsi.render_surface_height;\n+ }\n+ else\n+ {\n+ size.width = g_presenter ? std::max(g_presenter->GetBackbufferWidth(), 1) : 1;", 'path': 'Source/Core/VideoBackends/Vulkan/VKSwapChain.cpp', 'position': 1, 'original_position': 132, 'commit_id': '63a36f21071817a58a3c69c7cbfd298323dfd292', '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}, 'body': "Thanks! `GetBackbufferWidth`/`Height` had no users left, so I removed them. `GetNewSurfaceSize` is now the only size getter.\r\n\r\nI've kept the fields separate because they hold different values:\r\n\r\n- [`m_backbuffer_*`](https://github.com/ellierocks/dolphin/blob/c6c1c47eb788194fc7c4f4d85c7b28778f87bd45/Source/Core/VideoCommon/Present.h#L140-L141) is the size of the swap chain being presented to. The backend sets it in [`SetBackbuffer`](https://github.com/ellierocks/dolphin/blob/c6c1c47eb788194fc7c4f4d85c7b28778f87bd45/Source/Core/VideoCommon/Present.cpp#L327-L337), and the GPU thread reads it without a lock.\r\n- [`m_new_surface_*`](https://github.com/ellierocks/dolphin/blob/c6c1c47eb788194fc7c4f4d85c7b28778f87bd45/Source/Core/VideoCommon/Present.h#L145-L147) is the size the window just asked for. The UI thread writes it under `m_swap_mutex`, the same way `ChangeSurface` handles `m_new_surface_handle`. The backend [picks it up](https://github.com/ellierocks/dolphin/blob/c6c1c47eb788194fc7c4f4d85c7b28778f87bd45/Source/Core/VideoBackends/Vulkan/VKGfx.cpp#L400-L403) and reports the size it actually got.\r\n\r\nIf they were merged, the GPU thread could draw for a size the swap chain doesn't have yet, which is also a data race. `SetBackbuffer` would also stop seeing the size change, so `OnBackbufferSet` would be skipped. If you'd still prefer a single field, I could pass the size along with the resize request instead.", 'created_at': '2026-11-07T04:20:54Z', 'updated_at': '2026-11-07T04:20:54Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14962#discussion_r4500068851', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14962', 'author_association': 'NONE', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4500068851'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14962#discussion_r4500068851'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14962'}}, 'original_commit_id': '63a36f21071817a58a3c69c7cbfd298323dfd292', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4500068851/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'in_reply_to_id': 4499334392, 'is_copilot_code_review': False, 'copilot_code_review_sources': []}], 'type': 'gh_pull_request_review'}
2026-11-07T03:30:51.007038 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'submitted', 'pr_id': 14962, 'pr_title': 'Add Wayland support (Linux only)', 'state': 'commented', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14962#pullrequestreview-5809806361', 'comments': [{'id': 4499872484, 'node_id': 'PRRC_kwDOALCn2M8AAAABDDaa5A', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4499872484', 'pull_request_review_id': 5809806361, 'diff_hunk': "@@ -299,8 +340,25 @@ bool SwapChain::CreateSwapChain()\n VkExtent2D size = surface_capabilities.currentExtent;\n if (size.width == UINT32_MAX)\n {\n- size.width = std::max(g_presenter->GetBackbufferWidth(), 1);\n- size.height = std::max(g_presenter->GetBackbufferHeight(), 1);\n+ // The surface doesn't know its size (Wayland), so use the size the host window reported.\n+ // (The presenter doesn't exist yet when the swap chain is first created.)\n+ const auto [requested_width, requested_height] =\n+ g_presenter ? g_presenter->GetRequestedSurfaceSize() : std::pair<u32, u32>{};\n+ if (requested_width != 0 && requested_height != 0)\n+ {\n+ size.width = requested_width;\n+ size.height = requested_height;\n+ }\n+ else if (m_wsi.render_surface_width > 0 && m_wsi.render_surface_height > 0)\n+ {\n+ size.width = m_wsi.render_surface_width;\n+ size.height = m_wsi.render_surface_height;\n+ }\n+ else\n+ {\n+ size.width = g_presenter ? std::max(g_presenter->GetBackbufferWidth(), 1) : 1;", 'path': 'Source/Core/VideoBackends/Vulkan/VKSwapChain.cpp', 'position': 1, 'original_position': 132, 'commit_id': '63a36f21071817a58a3c69c7cbfd298323dfd292', '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 think you took a step in the right direction but `GetBackbufferWidth`/`Height` and `GetSurfaceSize` still both exist.\r\n\r\n`m_backbuffer_width`/`height` and `m_surface_width`/`height` both exist.\r\n\r\nShouldn't these be merged?", 'created_at': '2026-11-07T03:30:48Z', 'updated_at': '2026-11-07T03:30:49Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14962#discussion_r4499872484', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14962', 'author_association': 'MEMBER', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4499872484'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14962#discussion_r4499872484'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14962'}}, 'original_commit_id': '63a36f21071817a58a3c69c7cbfd298323dfd292', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4499872484/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'in_reply_to_id': 4499334392, 'is_copilot_code_review': False, 'copilot_code_review_sources': []}], 'type': 'gh_pull_request_review'}
2026-11-07T03:22:03.750062 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'ellierocks', 'action': 'submitted', 'pr_id': 14962, 'pr_title': 'Add Wayland support (Linux only)', 'state': 'commented', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14962#pullrequestreview-5809756138', 'comments': [{'id': 4499838467, 'node_id': 'PRRC_kwDOALCn2M8AAAABDDYWAw', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4499838467', 'pull_request_review_id': 5809756138, 'diff_hunk': "@@ -299,8 +340,25 @@ bool SwapChain::CreateSwapChain()\n VkExtent2D size = surface_capabilities.currentExtent;\n if (size.width == UINT32_MAX)\n {\n- size.width = std::max(g_presenter->GetBackbufferWidth(), 1);\n- size.height = std::max(g_presenter->GetBackbufferHeight(), 1);\n+ // The surface doesn't know its size (Wayland), so use the size the host window reported.\n+ // (The presenter doesn't exist yet when the swap chain is first created.)\n+ const auto [requested_width, requested_height] =\n+ g_presenter ? g_presenter->GetRequestedSurfaceSize() : std::pair<u32, u32>{};\n+ if (requested_width != 0 && requested_height != 0)\n+ {\n+ size.width = requested_width;\n+ size.height = requested_height;\n+ }\n+ else if (m_wsi.render_surface_width > 0 && m_wsi.render_surface_height > 0)\n+ {\n+ size.width = m_wsi.render_surface_width;\n+ size.height = m_wsi.render_surface_height;\n+ }\n+ else\n+ {\n+ size.width = g_presenter ? std::max(g_presenter->GetBackbufferWidth(), 1) : 1;", 'path': 'Source/Core/VideoBackends/Vulkan/VKSwapChain.cpp', 'position': 1, 'original_position': 132, 'commit_id': '63a36f21071817a58a3c69c7cbfd298323dfd292', '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}, 'body': 'Good point, I\'ve combined them. There\'s now one resize path: `Presenter::ResizeSurface(width, height)` takes the size in pixels on every platform. Qt\'s `Host` already had the size, and the NoGUI Win32, X11 and macOS callers now pass the size from their resize events.\r\n\r\nBackends that can query the surface still do, so nothing changes for them. This is in the VideoCommon commit, which I renamed to "Report the window size with surface resizes".', 'created_at': '2026-11-07T03:22:01Z', 'updated_at': '2026-11-07T03:22:01Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14962#discussion_r4499838467', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14962', 'author_association': 'NONE', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4499838467'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14962#discussion_r4499838467'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14962'}}, 'original_commit_id': '63a36f21071817a58a3c69c7cbfd298323dfd292', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4499838467/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'in_reply_to_id': 4499334392, 'is_copilot_code_review': False, 'copilot_code_review_sources': []}], 'type': 'gh_pull_request_review'}
2026-11-07T03:20:10.078977 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'ellierocks', 'action': 'submitted', 'pr_id': 14962, 'pr_title': 'Add Wayland support (Linux only)', 'state': 'commented', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14962#pullrequestreview-5809748693', 'comments': [{'id': 4499832197, 'node_id': 'PRRC_kwDOALCn2M8AAAABDDX9hQ', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4499832197', 'pull_request_review_id': 5809748693, 'diff_hunk': '@@ -84,6 +84,29 @@ VkSurfaceKHR SwapChain::CreateVulkanSurface(VkInstance instance, const WindowSys\n }\n #endif\n \n+#if defined(VK_USE_PLATFORM_WAYLAND_KHR)\n+ if (wsi.type == WindowSystemType::Wayland)\n+ {\n+ VkWaylandSurfaceCreateInfoKHR surface_create_info = {\n+ VK_STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR, // VkStructureType sType\n+ nullptr, // const void* pNext\n+ 0, // VkWaylandSurfaceCreateFlagsKHR flags\n+ static_cast<wl_display*>(wsi.display_connection), // struct wl_display* display\n+ static_cast<wl_surface*>(wsi.render_surface) // struct wl_surface* surface', 'path': 'Source/Core/VideoBackends/Vulkan/VKSwapChain.cpp', 'position': 1, 'original_position': 12, 'commit_id': '63a36f21071817a58a3c69c7cbfd298323dfd292', '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}, 'body': 'That was the only struct the branch adds with the end-of-line comments. The others in that file are existing code, so I left them alone.', 'created_at': '2026-11-07T03:20:06Z', 'updated_at': '2026-11-07T03:20:07Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14962#discussion_r4499832197', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14962', 'author_association': 'NONE', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4499832197'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14962#discussion_r4499832197'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14962'}}, 'original_commit_id': '63a36f21071817a58a3c69c7cbfd298323dfd292', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4499832197/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'in_reply_to_id': 4499205346, 'is_copilot_code_review': False, 'copilot_code_review_sources': []}], 'type': 'gh_pull_request_review'}
2026-11-07T03:19:37.554558 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'ellierocks', 'action': 'submitted', 'pr_id': 14962, 'pr_title': 'Add Wayland support (Linux only)', 'state': 'commented', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14962#pullrequestreview-5809746897', 'comments': [{'id': 4499830620, 'node_id': 'PRRC_kwDOALCn2M8AAAABDDX3XA', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4499830620', 'pull_request_review_id': 5809746897, 'diff_hunk': '@@ -36,6 +40,34 @@\n #include <dwmapi.h>\n #endif\n \n+#if !defined(_WIN32) && !defined(__APPLE__) && !defined(__HAIKU__)\n+#include <qpa/qplatformnativeinterface.h>\n+#endif\n+\n+namespace\n+{\n+bool IsWayland()\n+{\n+ return QGuiApplication::platformName().startsWith(QStringLiteral("wayland"));', 'path': 'Source/Core/DolphinQt/RenderWidget.cpp', 'position': 1, 'original_position': 23, 'commit_id': '63a36f21071817a58a3c69c7cbfd298323dfd292', '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}, 'body': "Moved it to `QtUtils::IsWayland()`. It's added in the RenderWidget commit, where it's first used, and the BalloonTip commit now uses it instead of its own copy.", 'created_at': '2026-11-07T03:19:35Z', 'updated_at': '2026-11-07T03:19:35Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14962#discussion_r4499830620', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14962', 'author_association': 'NONE', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4499830620'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14962#discussion_r4499830620'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14962'}}, 'original_commit_id': '63a36f21071817a58a3c69c7cbfd298323dfd292', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4499830620/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'in_reply_to_id': 4499182957, 'is_copilot_code_review': False, 'copilot_code_review_sources': []}], 'type': 'gh_pull_request_review'}
2026-11-07T02:34:44.570496 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'submitted', 'pr_id': 14991, 'pr_title': 'OGL: Warn about Intel Mesa GPU hangs on Linux', 'state': 'approved', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14991#pullrequestreview-5809531701', 'comments': [], 'type': 'gh_pull_request_review'}
2026-11-07T01:22:38.129448 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'submitted', 'pr_id': 14962, 'pr_title': 'Add Wayland support (Linux only)', 'state': 'commented', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14962#pullrequestreview-5809163843', 'comments': [{'id': 4499334392, 'node_id': 'PRRC_kwDOALCn2M8AAAABDC5k-A', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4499334392', 'pull_request_review_id': 5809163843, 'diff_hunk': "@@ -299,8 +340,25 @@ bool SwapChain::CreateSwapChain()\n VkExtent2D size = surface_capabilities.currentExtent;\n if (size.width == UINT32_MAX)\n {\n- size.width = std::max(g_presenter->GetBackbufferWidth(), 1);\n- size.height = std::max(g_presenter->GetBackbufferHeight(), 1);\n+ // The surface doesn't know its size (Wayland), so use the size the host window reported.\n+ // (The presenter doesn't exist yet when the swap chain is first created.)\n+ const auto [requested_width, requested_height] =\n+ g_presenter ? g_presenter->GetRequestedSurfaceSize() : std::pair<u32, u32>{};\n+ if (requested_width != 0 && requested_height != 0)\n+ {\n+ size.width = requested_width;\n+ size.height = requested_height;\n+ }\n+ else if (m_wsi.render_surface_width > 0 && m_wsi.render_surface_height > 0)\n+ {\n+ size.width = m_wsi.render_surface_width;\n+ size.height = m_wsi.render_surface_height;\n+ }\n+ else\n+ {\n+ size.width = g_presenter ? std::max(g_presenter->GetBackbufferWidth(), 1) : 1;", 'path': 'Source/Core/VideoBackends/Vulkan/VKSwapChain.cpp', 'position': 132, 'original_position': 132, 'commit_id': '63a36f21071817a58a3c69c7cbfd298323dfd292', '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 feel like `GetBackbufferWidth`/`Height` and `GetRequestedSurfaceSize` are redundant and this goes back to my comments of resizing now having two separate code paths which is making things unnecessarily complicated.\n\nI think these two paths can be combined.', 'created_at': '2026-11-07T01:22:34Z', 'updated_at': '2026-11-07T01:22:34Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14962#discussion_r4499334392', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14962', 'author_association': 'MEMBER', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4499334392'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14962#discussion_r4499334392'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14962'}}, 'original_commit_id': '63a36f21071817a58a3c69c7cbfd298323dfd292', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4499334392/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-07T00:55:31.047026 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'submitted', 'pr_id': 14962, 'pr_title': 'Add Wayland support (Linux only)', 'state': 'commented', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14962#pullrequestreview-5809011538', 'comments': [{'id': 4499205346, 'node_id': 'PRRC_kwDOALCn2M8AAAABDCxs4g', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4499205346', 'pull_request_review_id': 5809011538, 'diff_hunk': '@@ -84,6 +84,29 @@ VkSurfaceKHR SwapChain::CreateVulkanSurface(VkInstance instance, const WindowSys\n }\n #endif\n \n+#if defined(VK_USE_PLATFORM_WAYLAND_KHR)\n+ if (wsi.type == WindowSystemType::Wayland)\n+ {\n+ VkWaylandSurfaceCreateInfoKHR surface_create_info = {\n+ VK_STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR, // VkStructureType sType\n+ nullptr, // const void* pNext\n+ 0, // VkWaylandSurfaceCreateFlagsKHR flags\n+ static_cast<wl_display*>(wsi.display_connection), // struct wl_display* display\n+ static_cast<wl_surface*>(wsi.render_surface) // struct wl_surface* surface', 'path': 'Source/Core/VideoBackends/Vulkan/VKSwapChain.cpp', 'position': 12, 'original_position': 12, 'commit_id': '63a36f21071817a58a3c69c7cbfd298323dfd292', '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 think there's a few places like this where structured bindings would be nicer than the end-of-line comments.\n```suggestion\n .sType = VK_STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR,\n .pNext = nullptr,\n .flags = 0,\n .display = static_cast<wl_display*>(wsi.display_connection),\n .surface = static_cast<wl_surface*>(wsi.render_surface),\n```", 'created_at': '2026-11-07T00:55:27Z', 'updated_at': '2026-11-07T00:55:27Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14962#discussion_r4499205346', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14962', 'author_association': 'MEMBER', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4499205346'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14962#discussion_r4499205346'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14962'}}, 'original_commit_id': '63a36f21071817a58a3c69c7cbfd298323dfd292', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4499205346/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-07T00:50:56.752484 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'submitted', 'pr_id': 14962, 'pr_title': 'Add Wayland support (Linux only)', 'state': 'commented', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14962#pullrequestreview-5808985510', 'comments': [{'id': 4499182957, 'node_id': 'PRRC_kwDOALCn2M8AAAABDCwVbQ', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4499182957', 'pull_request_review_id': 5808985510, 'diff_hunk': '@@ -36,6 +40,34 @@\n #include <dwmapi.h>\n #endif\n \n+#if !defined(_WIN32) && !defined(__APPLE__) && !defined(__HAIKU__)\n+#include <qpa/qplatformnativeinterface.h>\n+#endif\n+\n+namespace\n+{\n+bool IsWayland()\n+{\n+ return QGuiApplication::platformName().startsWith(QStringLiteral("wayland"));', 'path': 'Source/Core/DolphinQt/RenderWidget.cpp', 'position': 23, 'original_position': 23, 'commit_id': '63a36f21071817a58a3c69c7cbfd298323dfd292', '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': 'This function is also defined in `BaloonTip.cpp`. It probably deserves to be in `QtUtils.h` or something.', 'created_at': '2026-11-07T00:50:52Z', 'updated_at': '2026-11-07T00:50:52Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14962#discussion_r4499182957', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14962', 'author_association': 'MEMBER', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4499182957'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14962#discussion_r4499182957'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14962'}}, 'original_commit_id': '63a36f21071817a58a3c69c7cbfd298323dfd292', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4499182957/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-06T17:42:07.517758 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'sepalani', 'action': 'submitted', 'pr_id': 14977, 'pr_title': 'Common/Logging: Eliminate fstream and mutex in FileLogListener.', 'state': 'approved', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14977#pullrequestreview-5804459958', 'comments': [], 'type': 'gh_pull_request_review'}
2026-11-06T02:28:20.084993 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'submitted', 'pr_id': 14713, 'pr_title': 'Fix cheatsmanager crash', 'state': 'commented', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14713#pullrequestreview-5794962948', 'comments': [], 'type': 'gh_pull_request_review'}
2026-11-05T22:53:18.446118 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'AdmiralCurtiss', 'action': 'submitted', 'pr_id': 14968, 'pr_title': 'Core: Bound legacy savestate LZO decompression', 'state': 'approved', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14968#pullrequestreview-5793297757', 'comments': [], 'type': 'gh_pull_request_review'}
2026-11-05T22:41:13.985305 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'AdmiralCurtiss', 'action': 'submitted', 'pr_id': 14969, 'pr_title': 'Core: Bound FIFO memory updates', 'state': 'approved', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14969#pullrequestreview-5793184520', 'comments': [], 'type': 'gh_pull_request_review'}
2026-11-05T22:32:00.824388 {'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': 'approved', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14970#pullrequestreview-5793094361', 'comments': [], 'type': 'gh_pull_request_review'}
2026-11-05T22:08:12.688553 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'JosJuice', '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-5792837612', 'comments': [{'id': 4486650077, 'node_id': 'PRRC_kwDOALCn2M8AAAABC2zY3Q', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4486650077', 'pull_request_review_id': 5792837612, 'diff_hunk': '@@ -50,19 +53,34 @@ 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+ const auto existing_type =\n+ CWDemangler::demangle(it->second.first.name(), CWDemangler::DemangleOptions())\n+ .value_or(std::string(it->second.first.name()));\n+ const auto new_type = CWDemangler::demangle(typeid(T).name(), CWDemangler::DemangleOptions())\n+ .value_or(std::string(typeid(T).name()));', 'path': 'Source/Core/VideoCommon/Assets/CustomAssetCache.h', 'position': 39, 'original_position': 39, 'commit_id': 'e196d34c5961e2f057a3de5e98bb81b6d13909ef', '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}, 'body': "I would say revert the log message back for now so we can get this merged so we're not blocking the hotfix release. If anyone feels strongly about having the type names in here, let's do it in a separate PR.", 'created_at': '2026-11-05T22:08:04Z', 'updated_at': '2026-11-05T22:08:05Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14986#discussion_r4486650077', '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/4486650077'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14986#discussion_r4486650077'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14986'}}, 'original_commit_id': 'e196d34c5961e2f057a3de5e98bb81b6d13909ef', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4486650077/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'in_reply_to_id': 4485118824, 'is_copilot_code_review': False, 'copilot_code_review_sources': []}], 'type': 'gh_pull_request_review'}
2026-11-05T22:05:11.108883 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'iwubcode', '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-5792805240', 'comments': [{'id': 4486623473, 'node_id': 'PRRC_kwDOALCn2M8AAAABC2xw8Q', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4486623473', 'pull_request_review_id': 5792805240, 'diff_hunk': '@@ -50,19 +53,34 @@ 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+ const auto existing_type =\n+ CWDemangler::demangle(it->second.first.name(), CWDemangler::DemangleOptions())\n+ .value_or(std::string(it->second.first.name()));\n+ const auto new_type = CWDemangler::demangle(typeid(T).name(), CWDemangler::DemangleOptions())\n+ .value_or(std::string(typeid(T).name()));', 'path': 'Source/Core/VideoCommon/Assets/CustomAssetCache.h', 'position': 39, 'original_position': 39, 'commit_id': 'e196d34c5961e2f057a3de5e98bb81b6d13909ef', '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': "I thought that too. So should I just use unmangled names or revert back to the generic log? I was trying to satisfy @sepalani 's request.", 'created_at': '2026-11-05T22:05:08Z', 'updated_at': '2026-11-05T22:05:09Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14986#discussion_r4486623473', '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/4486623473'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14986#discussion_r4486623473'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14986'}}, 'original_commit_id': 'e196d34c5961e2f057a3de5e98bb81b6d13909ef', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4486623473/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'in_reply_to_id': 4485118824, 'is_copilot_code_review': False, 'copilot_code_review_sources': []}], 'type': 'gh_pull_request_review'}
2026-11-05T21:02:07.284428 {'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': 'approved', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14982#pullrequestreview-5792071670', 'comments': [], 'type': 'gh_pull_request_review'}
2026-11-05T20:45:23.631343 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', '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-5791840185', 'comments': [{'id': 4485853093, 'node_id': 'PRRC_kwDOALCn2M8AAAABC2CvpQ', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4485853093', 'pull_request_review_id': 5791840185, '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': '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'm not aware of a place where `_WIN32` would have forward-slashes here.\r\n\r\nThe `static_assert` below should expose them if it does happen.", 'created_at': '2026-11-05T20:45:21Z', 'updated_at': '2026-11-05T20:45:21Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14985#discussion_r4485853093', '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/4485853093'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14985#discussion_r4485853093'}, '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/4485853093/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'in_reply_to_id': 4479803522, 'is_copilot_code_review': False, 'copilot_code_review_sources': []}], 'type': 'gh_pull_request_review'}
2026-11-05T20:43:41.552091 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', '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-5791816343', 'comments': [{'id': 4485834709, 'node_id': 'PRRC_kwDOALCn2M8AAAABC2Bn1Q', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4485834709', 'pull_request_review_id': 5791816343, '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': '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': 'Sorry, failed rebase. I `std::move` it later on in some future changes.', 'created_at': '2026-11-05T20:43:38Z', 'updated_at': '2026-11-05T20:43:39Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14985#discussion_r4485834709', '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/4485834709'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14985#discussion_r4485834709'}, '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/4485834709/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'in_reply_to_id': 4481534652, 'is_copilot_code_review': False, 'copilot_code_review_sources': []}], 'type': 'gh_pull_request_review'}
2026-11-05T20:43:11.316434 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', '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-5791809055', 'comments': [{'id': 4485828872, 'node_id': 'PRRC_kwDOALCn2M8AAAABC2BRCA', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4485828872', 'pull_request_review_id': 5791809055, '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': '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, it was made case-insensitive in fbdc239199d838afb5cdd175d9002909686155ed\r\n\r\nIt seems MSVC's `__FILE__` longer wrongly returns lowercase paths these days.\r\nI tested many old compilers on godbolt and they all return sensible things.\r\n\r\nThe `static_assert` below should catch any misbehaving compilers.", 'created_at': '2026-11-05T20:43:08Z', 'updated_at': '2026-11-05T20:43:09Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14985#discussion_r4485828872', '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/4485828872'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14985#discussion_r4485828872'}, '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/4485828872/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'in_reply_to_id': 4479911035, 'is_copilot_code_review': False, 'copilot_code_review_sources': []}], 'type': 'gh_pull_request_review'}
2026-11-05T19:36:09.646826 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'JosJuice', '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-5790925038', 'comments': [{'id': 4485118824, 'node_id': 'PRRC_kwDOALCn2M8AAAABC1V7aA', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4485118824', 'pull_request_review_id': 5790925038, 'diff_hunk': '@@ -50,19 +53,34 @@ 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+ const auto existing_type =\n+ CWDemangler::demangle(it->second.first.name(), CWDemangler::DemangleOptions())\n+ .value_or(std::string(it->second.first.name()));\n+ const auto new_type = CWDemangler::demangle(typeid(T).name(), CWDemangler::DemangleOptions())\n+ .value_or(std::string(typeid(T).name()));', 'path': 'Source/Core/VideoCommon/Assets/CustomAssetCache.h', 'position': 39, 'original_position': 39, 'commit_id': 'e196d34c5961e2f057a3de5e98bb81b6d13909ef', '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}, 'body': "Using CWDemangler here feels sketchy. There's no guarantee that the compiler in use does mangling the same way as CodeWarrior does.", 'created_at': '2026-11-05T19:36:06Z', 'updated_at': '2026-11-05T19:36:07Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14986#discussion_r4485118824', '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/4485118824'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14986#discussion_r4485118824'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14986'}}, 'original_commit_id': 'e196d34c5961e2f057a3de5e98bb81b6d13909ef', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4485118824/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'}
Recent 'gh_push' events
2026-11-08T01:16:43.099823 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'pusher': 'OatmealDome', 'before_sha': '0000000000000000000000000000000000000000', 'after_sha': '847cc451c687f759f788d12f02a82e0c49252038', 'commits': [], 'base_ref_name': None, 'ref_name': '2609b', 'ref_type': 'tags', 'created': True, 'deleted': False, 'forced': False, 'type': 'gh_push'}
2026-11-07T23:39:18.901555 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'pusher': 'OatmealDome', 'before_sha': '39e7f11c2c168577bcf3a248671a62550e042b02', 'after_sha': '3a5b3743b18da3e8f04cbc44f20dc50fbd3a9ef3', 'commits': [{'author': {'name': 'OatmealDome', 'email': 'julian@oatmealdome.me', 'date': '2026-11-07T00:45:44-05:00', 'username': 'OatmealDome'}, 'distinct': True, 'added': [], 'modified': ['CMake/ScmRevGen.cmake'], 'removed': [], 'message': 'ScmRevGen: Bump version to 2609b', 'url': 'https://github.com/dolphin-emu/dolphin/commit/3a5b3743b18da3e8f04cbc44f20dc50fbd3a9ef3', 'hash': '3a5b3743b18da3e8f04cbc44f20dc50fbd3a9ef3'}], 'base_ref_name': None, 'ref_name': 'release-prep-2609b-2', 'ref_type': 'heads', 'created': False, 'deleted': False, 'forced': False, 'type': 'gh_push'}
2026-11-07T23:35:57.459316 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'pusher': 'OatmealDome', 'before_sha': '0000000000000000000000000000000000000000', 'after_sha': '39e7f11c2c168577bcf3a248671a62550e042b02', 'commits': [{'author': {'name': 'OatmealDome', 'email': 'julian@oatmealdome.me', 'date': '2026-11-07T16:31:16-05:00', 'username': 'OatmealDome'}, 'distinct': True, 'added': [], 'modified': ['Source/Core/DolphinQt/CMakeLists.txt'], 'removed': [], 'message': 'DolphinQt: Use CMAKE_CURRENT_BINARY_DIR to temporarily store translation files during build on macOS', 'url': 'https://github.com/dolphin-emu/dolphin/commit/39e7f11c2c168577bcf3a248671a62550e042b02', 'hash': '39e7f11c2c168577bcf3a248671a62550e042b02'}], 'base_ref_name': None, 'ref_name': 'release-prep-2609b-2', 'ref_type': 'heads', 'created': True, 'deleted': False, 'forced': False, 'type': 'gh_push'}
2026-11-07T22:20:46.229194 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'pusher': 'OatmealDome', 'before_sha': '4a70679d0adcd17220568f5c18d2d4005eeea0a2', 'after_sha': '257a6d0eac1d915216dbc974e9390af3050af2b9', 'commits': [{'author': {'name': 'OatmealDome', 'email': 'julian@oatmealdome.me', 'date': '2026-11-07T16:31:16-05:00', 'username': 'OatmealDome'}, 'distinct': False, 'added': [], 'modified': ['Source/Core/DolphinQt/CMakeLists.txt'], 'removed': [], 'message': 'DolphinQt: Use CMAKE_CURRENT_BINARY_DIR to temporarily store translation files during build on macOS', 'url': 'https://github.com/dolphin-emu/dolphin/commit/d0609395c13b6a60dff0bb5b1289ef0bf9452d3b', 'hash': 'd0609395c13b6a60dff0bb5b1289ef0bf9452d3b'}, {'author': {'name': 'OatmealDome', 'email': 'OatmealDome@users.noreply.github.com', 'date': '2026-11-07T17:20:43-05:00', 'username': 'OatmealDome'}, 'distinct': True, 'added': [], 'modified': ['Source/Core/DolphinQt/CMakeLists.txt'], 'removed': [], 'message': 'Merge pull request #14994 from OatmealDome/macos-translation-cmake\n\nDolphinQt: Use CMAKE_CURRENT_BINARY_DIR to temporarily store translation files during build on macOS', 'url': 'https://github.com/dolphin-emu/dolphin/commit/257a6d0eac1d915216dbc974e9390af3050af2b9', 'hash': '257a6d0eac1d915216dbc974e9390af3050af2b9'}], 'base_ref_name': None, 'ref_name': 'master', 'ref_type': 'heads', 'created': False, 'deleted': False, 'forced': False, 'type': 'gh_push'}
2026-11-07T05:45:59.611151 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'pusher': 'OatmealDome', 'before_sha': '3c8388141325ac6ba9b399f16ee29ba34938e56f', 'after_sha': '18a9d1b0821c5142ceffa132ae7da87bcd4eb7b7', 'commits': [{'author': {'name': 'OatmealDome', 'email': 'julian@oatmealdome.me', 'date': '2026-11-07T00:45:44-05:00', 'username': 'OatmealDome'}, 'distinct': True, 'added': [], 'modified': ['CMake/ScmRevGen.cmake'], 'removed': [], 'message': 'ScmRevGen: Bump version to 2609b', 'url': 'https://github.com/dolphin-emu/dolphin/commit/18a9d1b0821c5142ceffa132ae7da87bcd4eb7b7', 'hash': '18a9d1b0821c5142ceffa132ae7da87bcd4eb7b7'}], 'base_ref_name': None, 'ref_name': 'release-prep-2609b', 'ref_type': 'heads', 'created': False, 'deleted': False, 'forced': False, 'type': 'gh_push'}
2026-11-07T05:42:05.795768 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'pusher': 'OatmealDome', 'before_sha': '0000000000000000000000000000000000000000', 'after_sha': '3c8388141325ac6ba9b399f16ee29ba34938e56f', 'commits': [{'author': {'name': 'OatmealDome', 'email': 'julian@oatmealdome.me', 'date': '2026-10-23T11:49:22-04:00', 'username': 'OatmealDome'}, 'distinct': True, 'added': [], 'modified': ['Source/Core/Common/Timer.cpp'], 'removed': [], 'message': 'Revert "msvc: use std::chrono for GetLocalTimeSinceJan1970"\n\nThis reverts commit 86da6c98fbd229d87de7cf8b9c7eb94c16923829.', 'url': 'https://github.com/dolphin-emu/dolphin/commit/24f04c3ba0beca819e0b97e5b4ca830b070f9f74', 'hash': '24f04c3ba0beca819e0b97e5b4ca830b070f9f74'}, {'author': {'name': 'JosJuice', 'email': 'josjuice@gmail.com', 'date': '2026-08-16T19:35:12+02:00', 'username': 'JosJuice'}, 'distinct': True, 'added': [], 'modified': ['Source/Core/VideoBackends/Vulkan/VulkanContext.cpp'], 'removed': [], 'message': 'Vulkan: Fetch driverVersion\n\nFor use with DriverDetails.', 'url': 'https://github.com/dolphin-emu/dolphin/commit/7093031c17e931f6be50b8cc1ea94ab055b23eb2', 'hash': '7093031c17e931f6be50b8cc1ea94ab055b23eb2'}, {'author': {'name': 'Starlightbotanist', 'email': 'starlightbotanist@gmail.com', 'date': '2026-10-01T13:28:38-04:00', 'username': 'Starlightbotanist'}, 'distinct': True, 'added': [], 'modified': ['Source/Core/VideoCommon/ConstantManager.h', 'Source/Core/VideoCommon/DriverDetails.cpp', 'Source/Core/VideoCommon/DriverDetails.h', 'Source/Core/VideoCommon/PixelShaderGen.cpp'], 'removed': [], 'message': 'VideoCommon: Work around Adreno TEV zero input miscompilation\n\nSome Qualcomm Android drivers from version 700 onward miscompile\nspecialized TEV pixel shaders when color input A or B is TevColorArg::Zero.\nUse konstLookup[8].rgb, which PixelShaderManager initializes to zero,\nto keep these inputs dependent on a uniform value.\n\nUse the existing driver bug gate for OpenGL and Vulkan. Other inputs and\nunaffected drivers retain their original shader expressions.', 'url': 'https://github.com/dolphin-emu/dolphin/commit/ba77539b53d79a8d7d5a7c6a63a692487ca75d08', 'hash': 'ba77539b53d79a8d7d5a7c6a63a692487ca75d08'}, {'author': {'name': 'debug687', 'email': '313431556+debug687@users.noreply.github.com', 'date': '2026-10-19T21:29:55Z', 'username': 'debug687'}, 'distinct': True, '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/5eaaba5a4328d63ab7fe1147c9478ebda26746ff', 'hash': '5eaaba5a4328d63ab7fe1147c9478ebda26746ff'}, {'author': {'name': 'JosJuice', 'email': 'josjuice@gmail.com', 'date': '2026-11-04T19:36:38+01:00', 'username': 'JosJuice'}, 'distinct': True, '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/254ae341ec29809a0fcec1f95ffe98da16f1524c', 'hash': '254ae341ec29809a0fcec1f95ffe98da16f1524c'}, {'author': {'name': 'Acts1631', 'email': 'acts1631kjv@proton.me', 'date': '2026-11-01T19:39:01-05:00', 'username': 'acts-1631'}, 'distinct': True, 'added': [], 'modified': ['Source/Core/Core/State.cpp'], 'removed': [], 'message': 'Core: bound legacy savestate LZO decompression\n\nLegacy savestate headers controlled both the compressed input length\nand the decompression buffer size. The input was read into a fixed-size\nbuffer without validation, and the unsafe LZO API could write past its\noutput buffer.\n\nUse the legacy block size as the output capacity, reject oversized\ncompressed blocks, and use the bounds-checking LZO decompressor.', 'url': 'https://github.com/dolphin-emu/dolphin/commit/0b8f943a7e9e8e494319c5c855c26bd0036f497d', 'hash': '0b8f943a7e9e8e494319c5c855c26bd0036f497d'}, {'author': {'name': 'Acts1631', 'email': 'acts1631kjv@proton.me', 'date': '2026-11-01T19:40:27-05:00', 'username': 'acts-1631'}, 'distinct': True, 'added': [], 'modified': ['Source/Core/Core/FifoPlayer/FifoPlayer.cpp'], 'removed': [], 'message': 'Core: bound FIFO memory updates\n\nFIFO logs control each memory update address and data size. Playback\nmasked only the start address into RAM or EXRAM, then copied the\ncomplete update contiguously. An update reaching the end of a mapped\nregion could therefore write beyond host-mapped emulated memory.\n\nResolve the target through MemoryManager and reject updates larger than\nthe remaining valid span before copying them.', 'url': 'https://github.com/dolphin-emu/dolphin/commit/879d19e9db222e907167e01831e8b13bfc693714', 'hash': '879d19e9db222e907167e01831e8b13bfc693714'}, {'author': {'name': 'iwubcode', 'email': 'iwubcode@users.noreply.github.com', 'date': '2026-11-04T19:27:06-06:00', 'username': 'iwubcode'}, 'distinct': True, 'added': [], 'modified': ['Source/Core/VideoCommon/Assets/CustomAssetCache.cpp', 'Source/Core/VideoCommon/Assets/CustomAssetCache.h', 'Source/Core/VideoCommon/Resources/MaterialResource.cpp', 'Source/Core/VideoCommon/Resources/ShaderResource.cpp', 'Source/Core/VideoCommon/Resources/TextureAndSamplerResource.cpp', 'Source/Core/VideoCommon/Resources/TextureDataResource.cpp'], 'removed': [], 'message': 'VideoCommon: error if the same asset id is used with a different type', 'url': 'https://github.com/dolphin-emu/dolphin/commit/3c8388141325ac6ba9b399f16ee29ba34938e56f', 'hash': '3c8388141325ac6ba9b399f16ee29ba34938e56f'}], 'base_ref_name': None, 'ref_name': 'release-prep-2609b', 'ref_type': 'heads', 'created': True, 'deleted': False, 'forced': False, 'type': 'gh_push'}
2026-11-06T01:29:38.305492 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'pusher': 'AdmiralCurtiss', 'before_sha': '322d8b8d8625e32b6ab275de096dbe33ce4427eb', 'after_sha': '4a70679d0adcd17220568f5c18d2d4005eeea0a2', 'commits': [{'author': {'name': 'Acts1631', 'email': 'acts1631kjv@proton.me', 'date': '2026-11-01T19:39:01-05:00', 'username': 'acts-1631'}, 'distinct': False, 'added': [], 'modified': ['Source/Core/Core/State.cpp'], 'removed': [], 'message': 'Core: bound legacy savestate LZO decompression\n\nLegacy savestate headers controlled both the compressed input length\nand the decompression buffer size. The input was read into a fixed-size\nbuffer without validation, and the unsafe LZO API could write past its\noutput buffer.\n\nUse the legacy block size as the output capacity, reject oversized\ncompressed blocks, and use the bounds-checking LZO decompressor.', 'url': 'https://github.com/dolphin-emu/dolphin/commit/f662e8585f327e03da026f58bc1e7cebb159b8cb', 'hash': 'f662e8585f327e03da026f58bc1e7cebb159b8cb'}, {'author': {'name': 'Admiral H. Curtiss', 'email': 'pikachu025@gmail.com', 'date': '2026-11-06T02:29:35+01:00', 'username': 'AdmiralCurtiss'}, 'distinct': True, 'added': [], 'modified': ['Source/Core/Core/State.cpp'], 'removed': [], 'message': 'Merge pull request #14968 from acts-1631/state-lzo-bounds\n\nCore: Bound legacy savestate LZO decompression', 'url': 'https://github.com/dolphin-emu/dolphin/commit/4a70679d0adcd17220568f5c18d2d4005eeea0a2', 'hash': '4a70679d0adcd17220568f5c18d2d4005eeea0a2'}], 'base_ref_name': None, 'ref_name': 'master', 'ref_type': 'heads', 'created': False, 'deleted': False, 'forced': False, 'type': 'gh_push'}
2026-11-05T22:43:56.251934 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'pusher': 'jordan-woyak', 'before_sha': 'f599a8e1adf10fcbb51e5796714a32415604f1d8', 'after_sha': '322d8b8d8625e32b6ab275de096dbe33ce4427eb', 'commits': [{'author': {'name': 'Acts1631', 'email': 'acts1631kjv@proton.me', 'date': '2026-11-01T19:40:27-05:00', 'username': 'acts-1631'}, 'distinct': False, 'added': [], 'modified': ['Source/Core/Core/FifoPlayer/FifoPlayer.cpp'], 'removed': [], 'message': 'Core: bound FIFO memory updates\n\nFIFO logs control each memory update address and data size. Playback\nmasked only the start address into RAM or EXRAM, then copied the\ncomplete update contiguously. An update reaching the end of a mapped\nregion could therefore write beyond host-mapped emulated memory.\n\nResolve the target through MemoryManager and reject updates larger than\nthe remaining valid span before copying them.', 'url': 'https://github.com/dolphin-emu/dolphin/commit/a95137ad33a80832f206e1c4f8872369b0d1a739', 'hash': 'a95137ad33a80832f206e1c4f8872369b0d1a739'}, {'author': {'name': 'Jordan Woyak', 'email': 'jordan.woyak@gmail.com', 'date': '2026-11-05T16:43:53-06:00', 'username': 'jordan-woyak'}, 'distinct': True, 'added': [], 'modified': ['Source/Core/Core/FifoPlayer/FifoPlayer.cpp'], 'removed': [], 'message': 'Merge pull request #14969 from acts-1631/fifo-memory-update-bounds\n\nCore: Bound FIFO memory updates', 'url': 'https://github.com/dolphin-emu/dolphin/commit/322d8b8d8625e32b6ab275de096dbe33ce4427eb', 'hash': '322d8b8d8625e32b6ab275de096dbe33ce4427eb'}], 'base_ref_name': None, 'ref_name': 'master', 'ref_type': 'heads', 'created': False, 'deleted': False, 'forced': False, 'type': 'gh_push'}
2026-11-05T22:36:59.124817 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'pusher': 'jordan-woyak', 'before_sha': '96f8181230e6b4445675e7b6c5d913c189f4d7bb', 'after_sha': 'f599a8e1adf10fcbb51e5796714a32415604f1d8', 'commits': [{'author': {'name': 'iwubcode', 'email': 'iwubcode@users.noreply.github.com', 'date': '2026-11-04T19:27:06-06:00', 'username': 'iwubcode'}, 'distinct': False, 'added': [], 'modified': ['Source/Core/VideoCommon/Assets/CustomAssetCache.cpp', 'Source/Core/VideoCommon/Assets/CustomAssetCache.h', 'Source/Core/VideoCommon/Resources/MaterialResource.cpp', 'Source/Core/VideoCommon/Resources/ShaderResource.cpp', 'Source/Core/VideoCommon/Resources/TextureAndSamplerResource.cpp', 'Source/Core/VideoCommon/Resources/TextureDataResource.cpp'], 'removed': [], 'message': 'VideoCommon: error if the same asset id is used with a different type', 'url': 'https://github.com/dolphin-emu/dolphin/commit/b0c7778406169f21f86937a8083852152811025d', 'hash': 'b0c7778406169f21f86937a8083852152811025d'}, {'author': {'name': 'Jordan Woyak', 'email': 'jordan.woyak@gmail.com', 'date': '2026-11-05T16:36:56-06:00', 'username': 'jordan-woyak'}, 'distinct': True, 'added': [], 'modified': ['Source/Core/VideoCommon/Assets/CustomAssetCache.cpp', 'Source/Core/VideoCommon/Assets/CustomAssetCache.h', 'Source/Core/VideoCommon/Resources/MaterialResource.cpp', 'Source/Core/VideoCommon/Resources/ShaderResource.cpp', 'Source/Core/VideoCommon/Resources/TextureAndSamplerResource.cpp', 'Source/Core/VideoCommon/Resources/TextureDataResource.cpp'], 'removed': [], 'message': 'Merge pull request #14986 from iwubcode/invalid_asset\n\nVideoCommon: error if the same asset id is used with a different type', 'url': 'https://github.com/dolphin-emu/dolphin/commit/f599a8e1adf10fcbb51e5796714a32415604f1d8', 'hash': 'f599a8e1adf10fcbb51e5796714a32415604f1d8'}], 'base_ref_name': None, 'ref_name': 'master', 'ref_type': 'heads', 'created': False, 'deleted': False, 'forced': False, 'type': 'gh_push'}
2026-11-05T21:51:30.254879 {'source': 'ghhookparser', 'repo': 'dolphin-emu/central', 'pusher': 'dependabot[bot]', 'before_sha': '11497c1e1dd07c9776ada61ae654537e201963c4', 'after_sha': '0000000000000000000000000000000000000000', 'commits': [], 'base_ref_name': None, 'ref_name': 'dependabot/uv/oauthlib-4.0.0', 'ref_type': 'heads', 'created': False, 'deleted': True, 'forced': False, 'type': 'gh_push'}
2026-11-05T21:51:15.372488 {'source': 'ghhookparser', 'repo': 'dolphin-emu/central', 'pusher': 'dependabot[bot]', 'before_sha': '0000000000000000000000000000000000000000', 'after_sha': '254835253784899c97ef73c8c4ad954e4a8fa04e', 'commits': [{'author': {'name': 'dependabot[bot]', 'email': '49699333+dependabot[bot]@users.noreply.github.com', 'date': '2026-11-05T21:51:12Z', 'username': 'dependabot[bot]'}, 'distinct': True, 'added': [], 'modified': ['uv.lock'], 'removed': [], 'message': 'build(deps): bump oauthlib from 3.3.1 to 4.0.1\n\nBumps [oauthlib](https://github.com/oauthlib/oauthlib) from 3.3.1 to 4.0.1.\n- [Release notes](https://github.com/oauthlib/oauthlib/releases)\n- [Changelog](https://github.com/oauthlib/oauthlib/blob/v4.0.1/CHANGELOG.rst)\n- [Commits](https://github.com/oauthlib/oauthlib/compare/v3.3.1...v4.0.1)\n\n---\nupdated-dependencies:\n- dependency-name: oauthlib\n dependency-version: 4.0.1\n dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>', 'url': 'https://github.com/dolphin-emu/central/commit/254835253784899c97ef73c8c4ad954e4a8fa04e', 'hash': '254835253784899c97ef73c8c4ad954e4a8fa04e'}], 'base_ref_name': None, 'ref_name': 'dependabot/uv/oauthlib-4.0.1', 'ref_type': 'heads', 'created': True, 'deleted': False, 'forced': False, 'type': 'gh_push'}
2026-11-05T19:32:39.116014 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'pusher': 'JosJuice', 'before_sha': '66df2b4e18ae6169f9718b869da334022914e305', 'after_sha': '96f8181230e6b4445675e7b6c5d913c189f4d7bb', 'commits': [{'author': {'name': 'Jordan Woyak', 'email': 'jordan.woyak@gmail.com', 'date': '2026-11-04T23:29:36-06:00', 'username': 'jordan-woyak'}, 'distinct': False, 'added': [], 'modified': ['Source/Core/Core/IOS/Network/Socket.cpp', 'Source/Core/Core/IOS/Network/Socket.h'], 'removed': [], 'message': 'Core/IOS/Network/Socket: Use a guaranteed monotonic clock instead of high_resolution_clock.', 'url': 'https://github.com/dolphin-emu/dolphin/commit/045f3fea555116afa46c071d5f0f48202bfeae6c', 'hash': '045f3fea555116afa46c071d5f0f48202bfeae6c'}, {'author': {'name': 'Jordan Woyak', 'email': 'jordan.woyak@gmail.com', 'date': '2026-11-04T23:31:37-06:00', 'username': 'jordan-woyak'}, 'distinct': False, 'added': [], 'modified': ['Source/UnitTests/Core/PageFaultTest.cpp'], 'removed': [], 'message': 'UnitTests/Core/PageFaultTest: Use a guaranteed monotonic clock instead of high_resolution_clock.', 'url': 'https://github.com/dolphin-emu/dolphin/commit/52d5313eb3c3a412b4bda0c1c7a5b0b839add8db', 'hash': '52d5313eb3c3a412b4bda0c1c7a5b0b839add8db'}, {'author': {'name': 'JosJuice', 'email': 'josjuice@gmail.com', 'date': '2026-11-05T20:32:36+01:00', 'username': 'JosJuice'}, 'distinct': True, 'added': [], 'modified': ['Source/Core/Core/IOS/Network/Socket.cpp', 'Source/Core/Core/IOS/Network/Socket.h', 'Source/UnitTests/Core/PageFaultTest.cpp'], 'removed': [], 'message': 'Merge pull request #14987 from jordan-woyak/no-high_resolution_clock\n\nReplace std::chrono::high_resolution_clock usages with a guaranteed monotonic clock.', 'url': 'https://github.com/dolphin-emu/dolphin/commit/96f8181230e6b4445675e7b6c5d913c189f4d7bb', 'hash': '96f8181230e6b4445675e7b6c5d913c189f4d7bb'}], 'base_ref_name': None, 'ref_name': 'master', 'ref_type': 'heads', 'created': False, 'deleted': False, 'forced': False, 'type': 'gh_push'}
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'}
Recent 'internal_log' events
2026-11-08T15:40:37.140142 {'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-08T15:40:35.502370 {'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-08T15:39:59.475214 {'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-08T15:39:59.165059 {'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-08T15:35:35.502028 {'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-08T15:35:33.876491 {'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-08T15:30:33.876130 {'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-08T15:30:32.210776 {'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-08T15:29:59.164809 {'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-08T15:29:58.715429 {'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-08T15:25:32.210317 {'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-08T15:25:30.641253 {'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-08T15:20:57.219832 {'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-08T15:20:30.640913 {'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-08T15:20:29.101003 {'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-08T15:19:58.715192 {'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-08T15:19:58.395869 {'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-08T15:15:29.100588 {'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-08T15:15:27.491810 {'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-08T15:10:27.491467 {'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-08T15:10:25.887263 {'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-08T15:09:58.395656 {'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-08T15:09:58.075226 {'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-08T15:05:25.886925 {'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-08T15:05:24.218137 {'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-07T00:41:57.616931 {'source': 'redmine', 'new': False, 'update': 8, 'issue': 14062, 'title': 'Pokemon XD Gale of Darkness 4 Player GBA connection issue', 'author': 'Billiard26', 'type': 'issue'}
2026-11-06T23:23:34.211246 {'source': 'redmine', 'new': False, 'update': 7, 'issue': 14062, 'title': 'Pokemon XD Gale of Darkness 4 Player GBA connection issue', 'author': 'Thundermeter', 'type': 'issue'}
2026-11-06T21:31:48.142748 {'source': 'redmine', 'new': False, 'update': 6, 'issue': 14062, 'title': 'Pokemon XD Gale of Darkness 4 Player GBA connection issue', 'author': 'Billiard26', 'type': 'issue'}
2026-11-06T21:18:56.972157 {'source': 'redmine', 'new': False, 'update': 5, 'issue': 14062, 'title': 'Pokemon XD Gale of Darkness 4 Player GBA connection issue', 'author': 'Thundermeter', 'type': 'issue'}
2026-11-05T21:46:09.066923 {'source': 'redmine', 'new': False, 'update': 5, 'issue': 13910, 'title': 'Driver: San Francisco - Issues related to uncapped framerate', 'author': 'Billiard26', 'type': 'issue'}
2026-11-05T21:41:31.297355 {'source': 'redmine', 'new': False, 'update': 6, 'issue': 14156, 'title': 'Driver: San Francisco patch causes freeze while loading the opening mission', 'author': 'Billiard26', 'type': 'issue'}
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-07T23:39:19.922332 {'source': 'repomanager', 'hash': '3a5b3743b18da3e8f04cbc44f20dc50fbd3a9ef3', 'branch': 'release-prep-2609b-2', 'shortrev': '2609a-10', 'author': 'OatmealDome', 'message': 'ScmRevGen: Bump version to 2609b', 'url': 'https://github.com/dolphin-emu/dolphin/commit/3a5b3743b18da3e8f04cbc44f20dc50fbd3a9ef3', 'type': 'new_dev_version'}
2026-11-07T23:35:58.635731 {'source': 'repomanager', 'hash': '39e7f11c2c168577bcf3a248671a62550e042b02', 'branch': 'release-prep-2609b-2', 'shortrev': '2609a-9', 'author': 'OatmealDome', 'message': 'DolphinQt: Use CMAKE_CURRENT_BINARY_DIR to temporarily store translation files during build on macOS', 'url': 'https://github.com/dolphin-emu/dolphin/commit/39e7f11c2c168577bcf3a248671a62550e042b02', 'type': 'new_dev_version'}
2026-11-07T22:20:47.642073 {'source': 'repomanager', 'hash': '257a6d0eac1d915216dbc974e9390af3050af2b9', 'branch': 'master', 'shortrev': '2609-193', 'author': 'OatmealDome', 'message': 'Merge pull request #14994 from OatmealDome/macos-translation-cmake\n\nDolphinQt: Use CMAKE_CURRENT_BINARY_DIR to temporarily store translation files during build on macOS', 'url': 'https://github.com/dolphin-emu/dolphin/commit/257a6d0eac1d915216dbc974e9390af3050af2b9', 'type': 'new_dev_version'}
2026-11-07T05:46:00.589839 {'source': 'repomanager', 'hash': '18a9d1b0821c5142ceffa132ae7da87bcd4eb7b7', 'branch': 'release-prep-2609b', 'shortrev': '2609a-9', 'author': 'OatmealDome', 'message': 'ScmRevGen: Bump version to 2609b', 'url': 'https://github.com/dolphin-emu/dolphin/commit/18a9d1b0821c5142ceffa132ae7da87bcd4eb7b7', 'type': 'new_dev_version'}
2026-11-07T05:42:07.448281 {'source': 'repomanager', 'hash': '3c8388141325ac6ba9b399f16ee29ba34938e56f', 'branch': 'release-prep-2609b', 'shortrev': '2609a-8', 'author': 'iwubcode', 'message': 'VideoCommon: error if the same asset id is used with a different type', 'url': 'https://github.com/dolphin-emu/dolphin/commit/3c8388141325ac6ba9b399f16ee29ba34938e56f', 'type': 'new_dev_version'}
2026-11-07T05:42:07.358835 {'source': 'repomanager', 'hash': '879d19e9db222e907167e01831e8b13bfc693714', 'branch': 'release-prep-2609b', 'shortrev': '2609a-7', 'author': 'Acts1631', 'message': 'Core: bound FIFO memory updates\n\nFIFO logs control each memory update address and data size. Playback\nmasked only the start address into RAM or EXRAM, then copied the\ncomplete update contiguously. An update reaching the end of a mapped\nregion could therefore write beyond host-mapped emulated memory.\n\nResolve the target through MemoryManager and reject updates larger than\nthe remaining valid span before copying them.', 'url': 'https://github.com/dolphin-emu/dolphin/commit/879d19e9db222e907167e01831e8b13bfc693714', 'type': 'new_dev_version'}
2026-11-07T05:42:07.278991 {'source': 'repomanager', 'hash': '0b8f943a7e9e8e494319c5c855c26bd0036f497d', 'branch': 'release-prep-2609b', 'shortrev': '2609a-6', 'author': 'Acts1631', 'message': 'Core: bound legacy savestate LZO decompression\n\nLegacy savestate headers controlled both the compressed input length\nand the decompression buffer size. The input was read into a fixed-size\nbuffer without validation, and the unsafe LZO API could write past its\noutput buffer.\n\nUse the legacy block size as the output capacity, reject oversized\ncompressed blocks, and use the bounds-checking LZO decompressor.', 'url': 'https://github.com/dolphin-emu/dolphin/commit/0b8f943a7e9e8e494319c5c855c26bd0036f497d', 'type': 'new_dev_version'}
2026-11-07T05:42:07.200199 {'source': 'repomanager', 'hash': '254ae341ec29809a0fcec1f95ffe98da16f1524c', 'branch': 'release-prep-2609b', 'shortrev': '2609a-5', 'author': 'JosJuice', '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/254ae341ec29809a0fcec1f95ffe98da16f1524c', 'type': 'new_dev_version'}
2026-11-07T05:42:07.114692 {'source': 'repomanager', 'hash': '5eaaba5a4328d63ab7fe1147c9478ebda26746ff', 'branch': 'release-prep-2609b', 'shortrev': '2609a-4', 'author': 'debug687', '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/5eaaba5a4328d63ab7fe1147c9478ebda26746ff', 'type': 'new_dev_version'}
2026-11-07T05:42:07.022761 {'source': 'repomanager', 'hash': 'ba77539b53d79a8d7d5a7c6a63a692487ca75d08', 'branch': 'release-prep-2609b', 'shortrev': '2609a-3', 'author': 'Starlightbotanist', 'message': 'VideoCommon: Work around Adreno TEV zero input miscompilation\n\nSome Qualcomm Android drivers from version 700 onward miscompile\nspecialized TEV pixel shaders when color input A or B is TevColorArg::Zero.\nUse konstLookup[8].rgb, which PixelShaderManager initializes to zero,\nto keep these inputs dependent on a uniform value.\n\nUse the existing driver bug gate for OpenGL and Vulkan. Other inputs and\nunaffected drivers retain their original shader expressions.', 'url': 'https://github.com/dolphin-emu/dolphin/commit/ba77539b53d79a8d7d5a7c6a63a692487ca75d08', 'type': 'new_dev_version'}
2026-11-07T05:42:06.940819 {'source': 'repomanager', 'hash': '7093031c17e931f6be50b8cc1ea94ab055b23eb2', 'branch': 'release-prep-2609b', 'shortrev': '2609a-2', 'author': 'JosJuice', 'message': 'Vulkan: Fetch driverVersion\n\nFor use with DriverDetails.', 'url': 'https://github.com/dolphin-emu/dolphin/commit/7093031c17e931f6be50b8cc1ea94ab055b23eb2', 'type': 'new_dev_version'}
2026-11-07T05:42:06.857347 {'source': 'repomanager', 'hash': '24f04c3ba0beca819e0b97e5b4ca830b070f9f74', 'branch': 'release-prep-2609b', 'shortrev': '2609a-1', 'author': 'OatmealDome', 'message': 'Revert "msvc: use std::chrono for GetLocalTimeSinceJan1970"\n\nThis reverts commit 86da6c98fbd229d87de7cf8b9c7eb94c16923829.', 'url': 'https://github.com/dolphin-emu/dolphin/commit/24f04c3ba0beca819e0b97e5b4ca830b070f9f74', 'type': 'new_dev_version'}
2026-11-06T01:29:39.776291 {'source': 'repomanager', 'hash': '4a70679d0adcd17220568f5c18d2d4005eeea0a2', 'branch': 'master', 'shortrev': '2609-191', 'author': 'Admiral H. Curtiss', 'message': 'Merge pull request #14968 from acts-1631/state-lzo-bounds\n\nCore: Bound legacy savestate LZO decompression', 'url': 'https://github.com/dolphin-emu/dolphin/commit/4a70679d0adcd17220568f5c18d2d4005eeea0a2', 'type': 'new_dev_version'}
2026-11-05T22:43:57.763105 {'source': 'repomanager', 'hash': '322d8b8d8625e32b6ab275de096dbe33ce4427eb', 'branch': 'master', 'shortrev': '2609-189', 'author': 'Jordan Woyak', 'message': 'Merge pull request #14969 from acts-1631/fifo-memory-update-bounds\n\nCore: Bound FIFO memory updates', 'url': 'https://github.com/dolphin-emu/dolphin/commit/322d8b8d8625e32b6ab275de096dbe33ce4427eb', 'type': 'new_dev_version'}
2026-11-05T22:37:01.084932 {'source': 'repomanager', 'hash': 'f599a8e1adf10fcbb51e5796714a32415604f1d8', 'branch': 'master', 'shortrev': '2609-187', 'author': 'Jordan Woyak', 'message': 'Merge pull request #14986 from iwubcode/invalid_asset\n\nVideoCommon: error if the same asset id is used with a different type', 'url': 'https://github.com/dolphin-emu/dolphin/commit/f599a8e1adf10fcbb51e5796714a32415604f1d8', 'type': 'new_dev_version'}
2026-11-05T19:32:40.697127 {'source': 'repomanager', 'hash': '96f8181230e6b4445675e7b6c5d913c189f4d7bb', 'branch': 'master', 'shortrev': '2609-185', 'author': 'JosJuice', 'message': 'Merge pull request #14987 from jordan-woyak/no-high_resolution_clock\n\nReplace std::chrono::high_resolution_clock usages with a guaranteed monotonic clock.', 'url': 'https://github.com/dolphin-emu/dolphin/commit/96f8181230e6b4445675e7b6c5d913c189f4d7bb', 'type': 'new_dev_version'}
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'}
Recent 'new_release_version' events
2026-11-08T01:16:44.144326 {'source': 'repomanager', 'hash': '3a5b3743b18da3e8f04cbc44f20dc50fbd3a9ef3', 'tag': '2609b', 'author': 'OatmealDome', 'type': 'new_release_version'}
Recent 'notification' events
2026-11-08T13:36:00.902440 {'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] \x0303J\ufeffustMLC4real\x03 closed pull request #14807: Android: Add per-game touch overlay layouts (\x0306master\x03...\x0306agent/android-per-game-touch-layouts\x03): \x1f\x0302https://dolp.in/pr14807\x03\x1f', 'type': 'notification'}
2026-11-08T11:13:41.812227 {'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] build for #14996 \x0304failed\x03 on builders [default]: \x1f\x0302<no url>\x03\x1f', 'type': 'notification'}
2026-11-08T11:12:59.100813 {'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] \x0303J\ufeffoshuaVandaele\x03 opened pull request #14996: GameSettings: Remove SyncOnSkipIdle for Battalion Wars 1&2 (\x0306master\x03...\x0306gamesettings-battalion-wars\x03): \x1f\x0302https://dolp.in/pr14996\x03\x1f', 'type': 'notification'}
2026-11-08T10:41:51.019317 {'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] \x0303J\ufeffosJuice\x03 requested changes to pull request #14995 (AX: fix two bugs): \x1f\x0302https://dolp.in/pr14995#pullrequestreview-5817566378\x03\x1f', 'type': 'notification'}
2026-11-08T10:39:58.584327 {'source': 'notifications', 'msg': "[\x1f\x0313dolphin-emu/dolphin\x03\x1f] \x0303J\ufeffosJuice\x03 commented on #14988 (DSPHLE/AXWii: Reset the depop values of channels a voice isn't mixed into): \x1f\x0302https://dolp.in/pr14988#issuecomment-6720461860\x03\x1f", 'type': 'notification'}
2026-11-08T10:35:30.559629 {'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] \x0303l\ufefflsc12\x03 commented on #14713 (Fix cheatsmanager crash): \x1f\x0302https://dolp.in/pr14713#issuecomment-6720421781\x03\x1f', 'type': 'notification'}
2026-11-08T10:35:22.273568 {'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] build for #14713 \x0304failed\x03 on builders [default]: \x1f\x0302<no url>\x03\x1f', 'type': 'notification'}
2026-11-08T10:34:40.396292 {'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] \x0303l\ufefflsc12\x03 synchronized pull request #14713: Fix cheatsmanager crash (\x0306master\x03...\x0306master\x03): \x1f\x0302https://dolp.in/pr14713\x03\x1f', 'type': 'notification'}
2026-11-08T10:29:34.625816 {'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] build for #14671 \x0304failed\x03 on builders [pr-appimage-arm64]: \x1f\x0302https://dolphin.ci/#/builders/50/builds/212\x03\x1f', 'type': 'notification'}
2026-11-08T10:25:19.047661 {'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] \x0303s\ufeffepalani\x03 deleted a comment on #14671 (Android: Add RetroAchievements host override receiver): \x1f\x0302https://dolp.in/pr14671#issuecomment-6720329698\x03\x1f', 'type': 'notification'}
2026-11-08T10:25:12.100043 {'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] \x0303s\ufeffepalani\x03 commented on #14671 (Android: Add RetroAchievements host override receiver): \x1f\x0302https://dolp.in/pr14671#issuecomment-6720329698\x03\x1f', 'type': 'notification'}
2026-11-08T08:58:01.803940 {'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] \x0303j\ufeffordan-woyak\x03 requested a review from jordan-woyak for pull request #14654: GameINI: Add fix codes to the internal color bug in Capcom vs. SNK 2 EO (\x0306master\x03...\x0306master\x03): \x1f\x0302https://dolp.in/pr14654\x03\x1f', 'type': 'notification'}
2026-11-08T08:51:22.974016 {'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] \x0303I\ufeffmmersion95\x03 commented on #14654 (GameINI: Add fix codes to the internal color bug in Capcom vs. SNK 2 EO): \x1f\x0302https://dolp.in/pr14654#issuecomment-6719477018\x03\x1f', 'type': 'notification'}
2026-11-08T08:45:06.171069 {'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] \x0303T\ufeffwilight0\x03 closed pull request #14992: OGL: Fix Nouveau driver detection on modern Mesa (\x0306master\x03...\x0306fix/nouveau-driver-detection\x03): \x1f\x0302https://dolp.in/pr14992\x03\x1f', 'type': 'notification'}
2026-11-08T08:45:04.379155 {'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] \x0303T\ufeffwilight0\x03 commented on #14992 (OGL: Fix Nouveau driver detection on modern Mesa): \x1f\x0302https://dolp.in/pr14992#issuecomment-6719420676\x03\x1f', 'type': 'notification'}
2026-11-08T08:43:59.313888 {'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] \x0303T\ufeffwilight0\x03 closed pull request #14993: VideoCommon: Derive fog depth from clip space on Nouveau (\x0306master\x03...\x0306fix/nouveau-frag-coord-depth\x03): \x1f\x0302https://dolp.in/pr14993\x03\x1f', 'type': 'notification'}
2026-11-08T08:43:59.271499 {'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] \x0303T\ufeffwilight0\x03 commented on #14993 (VideoCommon: Derive fog depth from clip space on Nouveau): \x1f\x0302https://dolp.in/pr14993#issuecomment-6719410913\x03\x1f', 'type': 'notification'}
2026-11-08T06:33:59.608382 {'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] \x0303j\ufeffordan-woyak\x03 commented on #14713 (Fix cheatsmanager crash): \x1f\x0302https://dolp.in/pr14713#issuecomment-6718281158\x03\x1f', 'type': 'notification'}
2026-11-08T04:18:36.869896 {'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] \x0303P\ufeffokechu22\x03 approved pull request #14995 (AX: fix two bugs): \x1f\x0302https://dolp.in/pr14995#pullrequestreview-5816583007\x03\x1f', 'type': 'notification'}
2026-11-08T04:08:17.839100 {'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] build for #14995 \x0304failed\x03 on builders [pr-flatpak-arm64]: \x1f\x0302https://dolphin.ci/#/builders/44/builds/6054\x03\x1f', 'type': 'notification'}
2026-11-08T04:07:10.481619 {'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] \x0303T\ufeffilka\x03 synchronized pull request #14995: AX: fix two bugs (\x0306master\x03...\x0306ax_fixes\x03): \x1f\x0302https://dolp.in/pr14995\x03\x1f', 'type': 'notification'}
2026-11-08T03:28:36.222620 {'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] build for #14995 \x0304failed\x03 on builders [pr-flatpak-arm64]: \x1f\x0302https://dolphin.ci/#/builders/44/builds/6053\x03\x1f', 'type': 'notification'}
2026-11-08T03:03:15.497020 {'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] \x0303M\ufeffayImilae\x03 commented on #14993 (VideoCommon: Derive fog depth from clip space on Nouveau): \x1f\x0302https://dolp.in/pr14993#issuecomment-6716481463\x03\x1f', 'type': 'notification'}
2026-11-08T03:02:34.720788 {'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] build for #14995 \x0304failed\x03 on builders [pr-flatpak-arm64]: \x1f\x0302https://dolphin.ci/#/builders/44/builds/6052\x03\x1f', 'type': 'notification'}
2026-11-08T02:59:23.139005 {'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] \x0303T\ufeffilka\x03 opened pull request #14995: AX: fix two bugs (\x0306master\x03...\x0306ax_fixes\x03): \x1f\x0302https://dolp.in/pr14995\x03\x1f', 'type': 'notification'}
Recent 'pull_request_fifoci_status' events
2026-11-08T11:04:32.373399 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '8343bfcd38ec1922bed739418c9bea806f233955', 'service': 'pr-fifoci-sw-lin-mesa', 'pr': 14671, 'type': 'pull_request_fifoci_status'}
2026-11-08T10:59:29.564011 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '8343bfcd38ec1922bed739418c9bea806f233955', 'service': 'pr-fifoci-mvk-osx-m1', 'pr': 14671, 'type': 'pull_request_fifoci_status'}
2026-11-08T10:56:43.112517 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '8343bfcd38ec1922bed739418c9bea806f233955', 'service': 'pr-fifoci-vk-lin-mesa', 'pr': 14671, 'type': 'pull_request_fifoci_status'}
2026-11-08T10:48:33.985059 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '8343bfcd38ec1922bed739418c9bea806f233955', 'service': 'pr-fifoci-mtl-osx-m1', 'pr': 14671, 'type': 'pull_request_fifoci_status'}
2026-11-08T10:44:00.455470 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '8343bfcd38ec1922bed739418c9bea806f233955', 'service': 'pr-fifoci-ogl-lin-mesa', 'pr': 14671, 'type': 'pull_request_fifoci_status'}
2026-11-08T04:42:50.103814 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': 'c25a5e47ec9a55a81414a2c3420764b4a6614ba8', 'service': 'pr-fifoci-sw-lin-mesa', 'pr': 14995, 'type': 'pull_request_fifoci_status'}
2026-11-08T04:41:26.370753 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': 'c25a5e47ec9a55a81414a2c3420764b4a6614ba8', 'service': 'pr-fifoci-mvk-osx-m1', 'pr': 14995, 'type': 'pull_request_fifoci_status'}
2026-11-08T04:35:15.880692 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': 'c25a5e47ec9a55a81414a2c3420764b4a6614ba8', 'service': 'pr-fifoci-vk-lin-mesa', 'pr': 14995, 'type': 'pull_request_fifoci_status'}
2026-11-08T04:30:34.948383 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': 'c25a5e47ec9a55a81414a2c3420764b4a6614ba8', 'service': 'pr-fifoci-mtl-osx-m1', 'pr': 14995, 'type': 'pull_request_fifoci_status'}
2026-11-08T04:22:54.454348 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': 'c25a5e47ec9a55a81414a2c3420764b4a6614ba8', 'service': 'pr-fifoci-ogl-lin-mesa', 'pr': 14995, 'type': 'pull_request_fifoci_status'}
2026-11-08T03:35:40.689529 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '2cf9900ebd1469a07e44d4e9af05deb04d5cadd4', 'service': 'pr-fifoci-sw-lin-mesa', 'pr': 14995, 'type': 'pull_request_fifoci_status'}
2026-11-08T03:33:58.060275 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '2cf9900ebd1469a07e44d4e9af05deb04d5cadd4', 'service': 'pr-fifoci-mvk-osx-m1', 'pr': 14995, 'type': 'pull_request_fifoci_status'}
2026-11-08T03:28:01.927344 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '2cf9900ebd1469a07e44d4e9af05deb04d5cadd4', 'service': 'pr-fifoci-vk-lin-mesa', 'pr': 14995, 'type': 'pull_request_fifoci_status'}
2026-11-08T03:23:03.267102 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '2cf9900ebd1469a07e44d4e9af05deb04d5cadd4', 'service': 'pr-fifoci-mtl-osx-m1', 'pr': 14995, 'type': 'pull_request_fifoci_status'}
2026-11-08T03:15:42.240595 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '2cf9900ebd1469a07e44d4e9af05deb04d5cadd4', 'service': 'pr-fifoci-ogl-lin-mesa', 'pr': 14995, 'type': 'pull_request_fifoci_status'}
2026-11-08T01:03:44.687743 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': 'd0609395c13b6a60dff0bb5b1289ef0bf9452d3b', 'service': 'pr-fifoci-sw-lin-mesa', 'pr': 14994, 'type': 'pull_request_fifoci_status'}
2026-11-07T23:53:06.528751 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': 'd0609395c13b6a60dff0bb5b1289ef0bf9452d3b', 'service': 'pr-fifoci-vk-lin-mesa', 'pr': 14994, 'type': 'pull_request_fifoci_status'}
2026-11-07T22:34:12.010345 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': 'd0609395c13b6a60dff0bb5b1289ef0bf9452d3b', 'service': 'pr-fifoci-ogl-lin-mesa', 'pr': 14994, 'type': 'pull_request_fifoci_status'}
2026-11-07T22:07:54.820388 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': 'd0609395c13b6a60dff0bb5b1289ef0bf9452d3b', 'service': 'pr-fifoci-mvk-osx-m1', 'pr': 14994, 'type': 'pull_request_fifoci_status'}
2026-11-07T21:57:10.701823 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': 'd0609395c13b6a60dff0bb5b1289ef0bf9452d3b', 'service': 'pr-fifoci-mtl-osx-m1', 'pr': 14994, 'type': 'pull_request_fifoci_status'}
2026-11-07T13:06:18.568523 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': 'c6c1c47eb788194fc7c4f4d85c7b28778f87bd45', 'service': 'pr-fifoci-sw-lin-mesa', 'pr': 14962, 'type': 'pull_request_fifoci_status'}
2026-11-07T12:53:39.325055 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': 'c6c1c47eb788194fc7c4f4d85c7b28778f87bd45', 'service': 'pr-fifoci-vk-lin-mesa', 'pr': 14962, 'type': 'pull_request_fifoci_status'}
2026-11-07T12:36:12.884473 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': 'c6c1c47eb788194fc7c4f4d85c7b28778f87bd45', 'service': 'pr-fifoci-ogl-lin-mesa', 'pr': 14962, 'type': 'pull_request_fifoci_status'}
2026-11-07T12:17:03.098610 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': 'c6c1c47eb788194fc7c4f4d85c7b28778f87bd45', 'service': 'pr-fifoci-mvk-osx-m1', 'pr': 14962, 'type': 'pull_request_fifoci_status'}
2026-11-07T12:06:01.860022 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': 'c6c1c47eb788194fc7c4f4d85c7b28778f87bd45', 'service': 'pr-fifoci-mtl-osx-m1', 'pr': 14962, 'type': 'pull_request_fifoci_status'}
Recent 'raw_bb_hook' events
2026-11-08T11:04:20.184029 {'source': 'webserver', 'raw': {'buildid': 197376, 'number': 9617, 'builderid': 35, 'buildrequestid': 198071, 'workerid': 5, 'masterid': 1, 'started_at': 1794135391, 'complete_at': 1794135859, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {'shortrev': ['8343bf', 'Trigger'], 'repo': ['dolphin-emu/dolphin', 'Trigger'], 'buildername': ['pr-fifoci-sw-lin-mesa', 'Builder'], 'builderid': [35, 'Builder'], 'workername': ['altair-fifoci', 'Worker'], 'branch': ['refs/pull/14671/head', 'Build'], 'repository': ['', 'Build'], 'codebase': ['', 'Build'], 'got_revision': ['8343bfcd38ec1922bed739418c9bea806f233955', 'GitNoBranch'], 'baserev': ['257a6d0eac1d915216dbc974e9390af3050af2b9', 'Change'], 'branchname': ['pr-14671', 'Trigger'], 'headrev': ['8343bfcd38ec1922bed739418c9bea806f233955', 'Trigger'], 'pr_id': [14671, 'Trigger'], 'scheduler': ['pr-fifoci-lin', 'Scheduler'], 'buildnumber': [9617, 'Build'], 'revision': ['8343bfcd38ec1922bed739418c9bea806f233955', 'Build'], 'project': ['', 'Build'], 'owners': [['Central (on behalf of: sepalani)'], 'Build'], 'basedir': ['/var/lib/fifoci-worker/worker', 'Worker'], 'builddir': ['/var/lib/fifoci-worker/worker/pr-fifoci-sw-lin-mesa', 'Worker'], 'warnings-count': [0, 'WarningCountingShellCommand']}, 'buildrequest': {'buildrequestid': 198071, 'buildsetid': 44308, 'builderid': 35, 'priority': 0, 'claimed': True, 'claimed_at': 1794135391, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1794133698, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 44308, 'external_idstring': None, 'reason': "The Triggerable scheduler named 'pr-fifoci-lin' triggered this build", 'submitted_at': 1794133698, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': 197368, 'parent_relationship': 'Triggered from', 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 13301, 'branch': 'refs/pull/14671/head', 'revision': '8343bfcd38ec1922bed739418c9bea806f233955', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1794133524, 'patch': None}]}, 'parentbuild': {'buildid': 197368, 'number': 10966, 'builderid': 27, 'buildrequestid': 198064, 'workerid': 10, 'masterid': 1, 'started_at': 1794133530, 'complete_at': 1794133698, '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/9617'}, 'type': 'raw_bb_hook'}
2026-11-08T10:59:28.400865 {'source': 'webserver', 'raw': {'buildid': 197375, 'number': 9304, 'builderid': 19, 'buildrequestid': 198073, 'workerid': 8, 'masterid': 1, 'started_at': 1794134909, 'complete_at': 1794135568, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {'shortrev': ['8343bf', 'Trigger'], 'workername': ['osx-m1', 'Worker'], 'repository': ['', 'Build'], 'project': ['', 'Build'], 'builddir': ['/Users/ci/worker/base/pr-fifoci-mvk-osx-m1', 'Worker'], 'warnings-count': [114, 'WarningCountingShellCommand'], 'branchname': ['pr-14671', 'Trigger'], 'baserev': ['257a6d0eac1d915216dbc974e9390af3050af2b9', 'Change'], 'repo': ['dolphin-emu/dolphin', 'Trigger'], 'buildername': ['pr-fifoci-mvk-osx-m1', 'Builder'], 'branch': ['refs/pull/14671/head', 'Build'], 'basedir': ['/Users/ci/worker/base', 'Worker'], 'got_revision': ['ca98b3030bcc70e67158ce899a5589aa2ec65d32', 'GitNoBranch'], 'headrev': ['8343bfcd38ec1922bed739418c9bea806f233955', 'Trigger'], 'pr_id': [14671, 'Trigger'], 'scheduler': ['pr-fifoci-osx', 'Scheduler'], 'builderid': [19, 'Builder'], 'buildnumber': [9304, 'Build'], 'revision': ['8343bfcd38ec1922bed739418c9bea806f233955', 'Build'], 'codebase': ['', 'Build'], 'owners': [['Central (on behalf of: sepalani)'], 'Build']}, 'buildrequest': {'buildrequestid': 198073, 'buildsetid': 44310, 'builderid': 19, 'priority': 0, 'claimed': True, 'claimed_at': 1794134909, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1794134244, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 44310, 'external_idstring': None, 'reason': "The Triggerable scheduler named 'pr-fifoci-osx' triggered this build", 'submitted_at': 1794134244, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': 197367, 'parent_relationship': 'Triggered from', 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 13301, 'branch': 'refs/pull/14671/head', 'revision': '8343bfcd38ec1922bed739418c9bea806f233955', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1794133524, 'patch': None}]}, 'parentbuild': {'buildid': 197367, 'number': 10985, 'builderid': 7, 'buildrequestid': 198058, 'workerid': 8, 'masterid': 1, 'started_at': 1794133525, 'complete_at': 1794134244, '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/9304'}, 'type': 'raw_bb_hook'}
2026-11-08T10:56:32.092460 {'source': 'webserver', 'raw': {'buildid': 197376, 'number': 9617, 'builderid': 35, 'buildrequestid': 198071, 'workerid': 5, 'masterid': 1, 'started_at': 1794135391, 'complete_at': None, 'locks_duration_s': 0, 'complete': False, 'state_string': 'starting', 'results': None, 'properties': {'shortrev': ['8343bf', 'Trigger'], 'repo': ['dolphin-emu/dolphin', 'Trigger'], 'buildername': ['pr-fifoci-sw-lin-mesa', 'Builder'], 'builderid': [35, 'Builder'], 'workername': ['altair-fifoci', 'Worker'], 'branch': ['refs/pull/14671/head', 'Build'], 'repository': ['', 'Build'], 'codebase': ['', 'Build'], 'baserev': ['257a6d0eac1d915216dbc974e9390af3050af2b9', 'Change'], 'branchname': ['pr-14671', 'Trigger'], 'headrev': ['8343bfcd38ec1922bed739418c9bea806f233955', 'Trigger'], 'pr_id': [14671, 'Trigger'], 'scheduler': ['pr-fifoci-lin', 'Scheduler'], 'buildnumber': [9617, 'Build'], 'revision': ['8343bfcd38ec1922bed739418c9bea806f233955', 'Build'], 'project': ['', 'Build'], 'owners': [['Central (on behalf of: sepalani)'], 'Build']}, 'buildrequest': {'buildrequestid': 198071, 'buildsetid': 44308, 'builderid': 35, 'priority': 0, 'claimed': True, 'claimed_at': 1794135391, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1794133698, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 44308, 'external_idstring': None, 'reason': "The Triggerable scheduler named 'pr-fifoci-lin' triggered this build", 'submitted_at': 1794133698, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': 197368, 'parent_relationship': 'Triggered from', 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 13301, 'branch': 'refs/pull/14671/head', 'revision': '8343bfcd38ec1922bed739418c9bea806f233955', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1794133524, 'patch': None}]}, 'parentbuild': {'buildid': 197368, 'number': 10966, 'builderid': 27, 'buildrequestid': 198064, 'workerid': 10, 'masterid': 1, 'started_at': 1794133530, 'complete_at': 1794133698, '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/9617'}, 'type': 'raw_bb_hook'}
2026-11-08T10:56:31.968861 {'source': 'webserver', 'raw': {'buildid': 197374, 'number': 5604, 'builderid': 41, 'buildrequestid': 198072, 'workerid': 5, 'masterid': 1, 'started_at': 1794134635, 'complete_at': 1794135391, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {'branchname': ['pr-14671', 'Trigger'], 'headrev': ['8343bfcd38ec1922bed739418c9bea806f233955', 'Trigger'], 'pr_id': [14671, 'Trigger'], 'repo': ['dolphin-emu/dolphin', 'Trigger'], 'buildername': ['pr-fifoci-vk-lin-mesa', 'Builder'], 'workername': ['altair-fifoci', 'Worker'], 'builddir': ['/var/lib/fifoci-worker/worker/pr-fifoci-vk-lin-mesa', 'Worker'], 'baserev': ['257a6d0eac1d915216dbc974e9390af3050af2b9', 'Change'], 'scheduler': ['pr-fifoci-lin', 'Scheduler'], 'branch': ['refs/pull/14671/head', 'Build'], 'repository': ['', 'Build'], 'project': ['', 'Build'], 'got_revision': ['8343bfcd38ec1922bed739418c9bea806f233955', 'GitNoBranch'], 'shortrev': ['8343bf', 'Trigger'], 'builderid': [41, 'Builder'], 'buildnumber': [5604, 'Build'], 'revision': ['8343bfcd38ec1922bed739418c9bea806f233955', 'Build'], 'codebase': ['', 'Build'], 'owners': [['Central (on behalf of: sepalani)'], 'Build'], 'basedir': ['/var/lib/fifoci-worker/worker', 'Worker'], 'warnings-count': [0, 'WarningCountingShellCommand']}, 'buildrequest': {'buildrequestid': 198072, 'buildsetid': 44308, 'builderid': 41, 'priority': 0, 'claimed': True, 'claimed_at': 1794134635, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1794133698, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 44308, 'external_idstring': None, 'reason': "The Triggerable scheduler named 'pr-fifoci-lin' triggered this build", 'submitted_at': 1794133698, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': 197368, 'parent_relationship': 'Triggered from', 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 13301, 'branch': 'refs/pull/14671/head', 'revision': '8343bfcd38ec1922bed739418c9bea806f233955', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1794133524, 'patch': None}]}, 'parentbuild': {'buildid': 197368, 'number': 10966, 'builderid': 27, 'buildrequestid': 198064, 'workerid': 10, 'masterid': 1, 'started_at': 1794133530, 'complete_at': 1794133698, '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/5604'}, 'type': 'raw_bb_hook'}
2026-11-08T10:48:29.834053 {'source': 'webserver', 'raw': {'buildid': 197373, 'number': 9306, 'builderid': 21, 'buildrequestid': 198074, 'workerid': 8, 'masterid': 1, 'started_at': 1794134244, 'complete_at': 1794134909, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {'baserev': ['257a6d0eac1d915216dbc974e9390af3050af2b9', 'Change'], 'headrev': ['8343bfcd38ec1922bed739418c9bea806f233955', 'Trigger'], 'repo': ['dolphin-emu/dolphin', 'Trigger'], 'scheduler': ['pr-fifoci-osx', 'Scheduler'], 'buildername': ['pr-fifoci-mtl-osx-m1', 'Builder'], 'builderid': [21, 'Builder'], 'workername': ['osx-m1', 'Worker'], 'branch': ['refs/pull/14671/head', 'Build'], 'repository': ['', 'Build'], 'codebase': ['', 'Build'], 'project': ['', 'Build'], 'basedir': ['/Users/ci/worker/base', 'Worker'], 'shortrev': ['8343bf', 'Trigger'], 'pr_id': [14671, 'Trigger'], 'owners': [['Central (on behalf of: sepalani)'], 'Build'], 'builddir': ['/Users/ci/worker/base/pr-fifoci-mtl-osx-m1', 'Worker'], 'warnings-count': [114, 'WarningCountingShellCommand'], 'branchname': ['pr-14671', 'Trigger'], 'buildnumber': [9306, 'Build'], 'revision': ['8343bfcd38ec1922bed739418c9bea806f233955', 'Build'], 'got_revision': ['ca98b3030bcc70e67158ce899a5589aa2ec65d32', 'GitNoBranch']}, 'buildrequest': {'buildrequestid': 198074, 'buildsetid': 44310, 'builderid': 21, 'priority': 0, 'claimed': True, 'claimed_at': 1794134244, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1794134244, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 44310, 'external_idstring': None, 'reason': "The Triggerable scheduler named 'pr-fifoci-osx' triggered this build", 'submitted_at': 1794134244, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': 197367, 'parent_relationship': 'Triggered from', 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 13301, 'branch': 'refs/pull/14671/head', 'revision': '8343bfcd38ec1922bed739418c9bea806f233955', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1794133524, 'patch': None}]}, 'parentbuild': {'buildid': 197367, 'number': 10985, 'builderid': 7, 'buildrequestid': 198058, 'workerid': 8, 'masterid': 1, 'started_at': 1794133525, 'complete_at': 1794134244, '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/9306'}, 'type': 'raw_bb_hook'}
2026-11-08T10:48:29.550146 {'source': 'webserver', 'raw': {'buildid': 197375, 'number': 9304, 'builderid': 19, 'buildrequestid': 198073, 'workerid': 8, 'masterid': 1, 'started_at': 1794134909, 'complete_at': None, 'locks_duration_s': 0, 'complete': False, 'state_string': 'starting', 'results': None, 'properties': {'shortrev': ['8343bf', 'Trigger'], 'workername': ['osx-m1', 'Worker'], 'repository': ['', 'Build'], 'project': ['', 'Build'], 'branchname': ['pr-14671', 'Trigger'], 'baserev': ['257a6d0eac1d915216dbc974e9390af3050af2b9', 'Change'], 'repo': ['dolphin-emu/dolphin', 'Trigger'], 'buildername': ['pr-fifoci-mvk-osx-m1', 'Builder'], 'branch': ['refs/pull/14671/head', 'Build'], 'headrev': ['8343bfcd38ec1922bed739418c9bea806f233955', 'Trigger'], 'pr_id': [14671, 'Trigger'], 'scheduler': ['pr-fifoci-osx', 'Scheduler'], 'builderid': [19, 'Builder'], 'buildnumber': [9304, 'Build'], 'revision': ['8343bfcd38ec1922bed739418c9bea806f233955', 'Build'], 'codebase': ['', 'Build'], 'owners': [['Central (on behalf of: sepalani)'], 'Build']}, 'buildrequest': {'buildrequestid': 198073, 'buildsetid': 44310, 'builderid': 19, 'priority': 0, 'claimed': True, 'claimed_at': 1794134909, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1794134244, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 44310, 'external_idstring': None, 'reason': "The Triggerable scheduler named 'pr-fifoci-osx' triggered this build", 'submitted_at': 1794134244, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': 197367, 'parent_relationship': 'Triggered from', 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 13301, 'branch': 'refs/pull/14671/head', 'revision': '8343bfcd38ec1922bed739418c9bea806f233955', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1794133524, 'patch': None}]}, 'parentbuild': {'buildid': 197367, 'number': 10985, 'builderid': 7, 'buildrequestid': 198058, 'workerid': 8, 'masterid': 1, 'started_at': 1794133525, 'complete_at': 1794134244, '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/9304'}, 'type': 'raw_bb_hook'}
2026-11-08T10:43:56.365689 {'source': 'webserver', 'raw': {'buildid': 197374, 'number': 5604, 'builderid': 41, 'buildrequestid': 198072, 'workerid': 5, 'masterid': 1, 'started_at': 1794134635, 'complete_at': None, 'locks_duration_s': 0, 'complete': False, 'state_string': 'starting', 'results': None, 'properties': {'branchname': ['pr-14671', 'Trigger'], 'headrev': ['8343bfcd38ec1922bed739418c9bea806f233955', 'Trigger'], 'pr_id': [14671, 'Trigger'], 'repo': ['dolphin-emu/dolphin', 'Trigger'], 'buildername': ['pr-fifoci-vk-lin-mesa', 'Builder'], 'workername': ['altair-fifoci', 'Worker'], 'baserev': ['257a6d0eac1d915216dbc974e9390af3050af2b9', 'Change'], 'scheduler': ['pr-fifoci-lin', 'Scheduler'], 'branch': ['refs/pull/14671/head', 'Build'], 'repository': ['', 'Build'], 'project': ['', 'Build'], 'shortrev': ['8343bf', 'Trigger'], 'builderid': [41, 'Builder'], 'buildnumber': [5604, 'Build'], 'revision': ['8343bfcd38ec1922bed739418c9bea806f233955', 'Build'], 'codebase': ['', 'Build'], 'owners': [['Central (on behalf of: sepalani)'], 'Build']}, 'buildrequest': {'buildrequestid': 198072, 'buildsetid': 44308, 'builderid': 41, 'priority': 0, 'claimed': True, 'claimed_at': 1794134635, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1794133698, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 44308, 'external_idstring': None, 'reason': "The Triggerable scheduler named 'pr-fifoci-lin' triggered this build", 'submitted_at': 1794133698, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': 197368, 'parent_relationship': 'Triggered from', 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 13301, 'branch': 'refs/pull/14671/head', 'revision': '8343bfcd38ec1922bed739418c9bea806f233955', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1794133524, 'patch': None}]}, 'parentbuild': {'buildid': 197368, 'number': 10966, 'builderid': 27, 'buildrequestid': 198064, 'workerid': 10, 'masterid': 1, 'started_at': 1794133530, 'complete_at': 1794133698, '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/5604'}, 'type': 'raw_bb_hook'}
2026-11-08T10:43:56.314501 {'source': 'webserver', 'raw': {'buildid': 197370, 'number': 9618, 'builderid': 10, 'buildrequestid': 198070, 'workerid': 5, 'masterid': 1, 'started_at': 1794133698, 'complete_at': 1794134635, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {'baserev': ['257a6d0eac1d915216dbc974e9390af3050af2b9', 'Change'], 'shortrev': ['8343bf', 'Trigger'], 'repo': ['dolphin-emu/dolphin', 'Trigger'], 'buildername': ['pr-fifoci-ogl-lin-mesa', 'Builder'], 'workername': ['altair-fifoci', 'Worker'], 'project': ['', 'Build'], 'owners': [['Central (on behalf of: sepalani)'], 'Build'], 'got_revision': ['8343bfcd38ec1922bed739418c9bea806f233955', 'GitNoBranch'], 'warnings-count': [0, 'WarningCountingShellCommand'], 'headrev': ['8343bfcd38ec1922bed739418c9bea806f233955', 'Trigger'], 'branch': ['refs/pull/14671/head', 'Build'], 'repository': ['', 'Build'], 'builddir': ['/var/lib/fifoci-worker/worker/pr-fifoci-ogl-lin-mesa', 'Worker'], 'branchname': ['pr-14671', 'Trigger'], 'pr_id': [14671, 'Trigger'], 'scheduler': ['pr-fifoci-lin', 'Scheduler'], 'builderid': [10, 'Builder'], 'buildnumber': [9618, 'Build'], 'revision': ['8343bfcd38ec1922bed739418c9bea806f233955', 'Build'], 'codebase': ['', 'Build'], 'basedir': ['/var/lib/fifoci-worker/worker', 'Worker']}, 'buildrequest': {'buildrequestid': 198070, 'buildsetid': 44308, 'builderid': 10, 'priority': 0, 'claimed': True, 'claimed_at': 1794133698, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1794133698, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 44308, 'external_idstring': None, 'reason': "The Triggerable scheduler named 'pr-fifoci-lin' triggered this build", 'submitted_at': 1794133698, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': 197368, 'parent_relationship': 'Triggered from', 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 13301, 'branch': 'refs/pull/14671/head', 'revision': '8343bfcd38ec1922bed739418c9bea806f233955', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1794133524, 'patch': None}]}, 'parentbuild': {'buildid': 197368, 'number': 10966, 'builderid': 27, 'buildrequestid': 198064, 'workerid': 10, 'masterid': 1, 'started_at': 1794133530, 'complete_at': 1794133698, '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/9618'}, 'type': 'raw_bb_hook'}
2026-11-08T10:37:24.807993 {'source': 'webserver', 'raw': {'buildid': 197373, 'number': 9306, 'builderid': 21, 'buildrequestid': 198074, 'workerid': 8, 'masterid': 1, 'started_at': 1794134244, 'complete_at': None, 'locks_duration_s': 0, 'complete': False, 'state_string': 'starting', 'results': None, 'properties': {'baserev': ['257a6d0eac1d915216dbc974e9390af3050af2b9', 'Change'], 'headrev': ['8343bfcd38ec1922bed739418c9bea806f233955', 'Trigger'], 'repo': ['dolphin-emu/dolphin', 'Trigger'], 'scheduler': ['pr-fifoci-osx', 'Scheduler'], 'buildername': ['pr-fifoci-mtl-osx-m1', 'Builder'], 'builderid': [21, 'Builder'], 'workername': ['osx-m1', 'Worker'], 'branch': ['refs/pull/14671/head', 'Build'], 'repository': ['', 'Build'], 'codebase': ['', 'Build'], 'project': ['', 'Build'], 'shortrev': ['8343bf', 'Trigger'], 'pr_id': [14671, 'Trigger'], 'owners': [['Central (on behalf of: sepalani)'], 'Build'], 'branchname': ['pr-14671', 'Trigger'], 'buildnumber': [9306, 'Build'], 'revision': ['8343bfcd38ec1922bed739418c9bea806f233955', 'Build']}, 'buildrequest': {'buildrequestid': 198074, 'buildsetid': 44310, 'builderid': 21, 'priority': 0, 'claimed': True, 'claimed_at': 1794134244, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1794134244, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 44310, 'external_idstring': None, 'reason': "The Triggerable scheduler named 'pr-fifoci-osx' triggered this build", 'submitted_at': 1794134244, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': 197367, 'parent_relationship': 'Triggered from', 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 13301, 'branch': 'refs/pull/14671/head', 'revision': '8343bfcd38ec1922bed739418c9bea806f233955', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1794133524, 'patch': None}]}, 'parentbuild': {'buildid': 197367, 'number': 10985, 'builderid': 7, 'buildrequestid': 198058, 'workerid': 8, 'masterid': 1, 'started_at': 1794133525, 'complete_at': 1794134244, '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/9306'}, 'type': 'raw_bb_hook'}
2026-11-08T10:37:24.756136 {'source': 'webserver', 'raw': {'buildid': 197367, 'number': 10985, 'builderid': 7, 'buildrequestid': 198058, 'workerid': 8, 'masterid': 1, 'started_at': 1794133525, 'complete_at': 1794134244, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {'headrev': ['8343bfcd38ec1922bed739418c9bea806f233955', 'Change'], 'builderid': [7, 'Builder'], 'workername': ['osx-m1', 'Worker'], 'branchname': ['pr-14671', 'Change'], 'scheduler': ['pr', 'Scheduler'], 'baserev': ['257a6d0eac1d915216dbc974e9390af3050af2b9', 'Change'], 'shortrev': ['8343bf', 'Change'], 'pr_id': [14671, 'Change'], 'repo': ['dolphin-emu/dolphin', 'Change'], 'branch': ['refs/pull/14671/head', 'Build'], 'revision': ['8343bfcd38ec1922bed739418c9bea806f233955', 'Build'], 'owners': [['Central (on behalf of: sepalani)'], 'Build'], 'basedir': ['/Users/ci/worker/base', 'Worker'], 'repository': ['', 'Build'], 'builddir': ['/Users/ci/worker/base/pr-osx-universal', 'Worker'], 'buildername': ['pr-osx-universal', 'Builder'], 'buildnumber': [10985, 'Build'], 'codebase': ['', 'Build'], 'project': ['', 'Build'], 'got_revision': ['8343bfcd38ec1922bed739418c9bea806f233955', 'GitNoBranch']}, 'buildrequest': {'buildrequestid': 198058, 'buildsetid': 44307, 'builderid': 7, 'priority': 0, 'claimed': True, 'claimed_at': 1794133525, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1794133524, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 44307, 'external_idstring': None, 'reason': "The AnyBranchScheduler scheduler named 'pr' triggered this build", 'submitted_at': 1794133524, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': None, 'parent_relationship': None, 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 13301, 'branch': 'refs/pull/14671/head', 'revision': '8343bfcd38ec1922bed739418c9bea806f233955', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1794133524, 'patch': None}]}, 'parentbuild': None, 'parentbuilder': None, 'builder': {'builderid': 7, 'name': 'pr-osx-universal', 'masterids': [1], 'description': None, 'description_format': None, 'description_html': None, 'projectid': None, 'tags': []}, 'url': 'https://dolphin.ci/#/builders/7/builds/10985'}, 'type': 'raw_bb_hook'}
2026-11-08T10:35:37.201250 {'source': 'webserver', 'raw': {'buildid': 197372, 'number': 10974, 'builderid': 31, 'buildrequestid': 198065, 'workerid': 4, 'masterid': 1, 'started_at': 1794133987, 'complete_at': 1794134136, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {'repo': ['dolphin-emu/dolphin', 'Change'], 'buildername': ['pr-win-dbg-x64', 'Builder'], 'builderid': [31, 'Builder'], 'workername': ['windows', 'Worker'], 'buildnumber': [10974, 'Build'], 'branch': ['refs/pull/14671/head', 'Build'], 'revision': ['8343bfcd38ec1922bed739418c9bea806f233955', 'Build'], 'repository': ['', 'Build'], 'codebase': ['', 'Build'], 'project': ['', 'Build'], 'basedir': ['c:\\buildbot', 'Worker'], 'warnings-count': [7, 'WarningCountingShellCommand'], 'build_url': ['https://dl.dolphin-emu.org/prs/75/c9/pr-14671-dolphin-latest-dbg-x64.7z', 'SetProperty'], 'branchname': ['pr-14671', 'Change'], 'headrev': ['8343bfcd38ec1922bed739418c9bea806f233955', 'Change'], 'pr_id': [14671, 'Change'], 'scheduler': ['pr', 'Scheduler'], 'owners': [['Central (on behalf of: sepalani)'], 'Build'], 'builddir': ['c:\\buildbot\\pr-win-dbg-x64', 'Worker'], 'baserev': ['257a6d0eac1d915216dbc974e9390af3050af2b9', 'Change'], 'shortrev': ['8343bf', 'Change'], 'got_revision': ['8343bfcd38ec1922bed739418c9bea806f233955', 'GitNoBranch'], 'sln_exists': ['false', 'SetPropertyFromCommand Step']}, 'buildrequest': {'buildrequestid': 198065, 'buildsetid': 44307, 'builderid': 31, 'priority': 0, 'claimed': True, 'claimed_at': 1794133987, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1794133524, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 44307, 'external_idstring': None, 'reason': "The AnyBranchScheduler scheduler named 'pr' triggered this build", 'submitted_at': 1794133524, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': None, 'parent_relationship': None, 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 13301, 'branch': 'refs/pull/14671/head', 'revision': '8343bfcd38ec1922bed739418c9bea806f233955', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1794133524, '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/10974'}, 'type': 'raw_bb_hook'}
2026-11-08T10:33:07.745177 {'source': 'webserver', 'raw': {'buildid': 197372, 'number': 10974, 'builderid': 31, 'buildrequestid': 198065, 'workerid': 4, 'masterid': 1, 'started_at': 1794133987, 'complete_at': None, 'locks_duration_s': 0, 'complete': False, 'state_string': 'starting', 'results': None, 'properties': {'repo': ['dolphin-emu/dolphin', 'Change'], 'buildername': ['pr-win-dbg-x64', 'Builder'], 'builderid': [31, 'Builder'], 'workername': ['windows', 'Worker'], 'buildnumber': [10974, 'Build'], 'branch': ['refs/pull/14671/head', 'Build'], 'revision': ['8343bfcd38ec1922bed739418c9bea806f233955', 'Build'], 'repository': ['', 'Build'], 'codebase': ['', 'Build'], 'project': ['', 'Build'], 'branchname': ['pr-14671', 'Change'], 'headrev': ['8343bfcd38ec1922bed739418c9bea806f233955', 'Change'], 'pr_id': [14671, 'Change'], 'scheduler': ['pr', 'Scheduler'], 'baserev': ['257a6d0eac1d915216dbc974e9390af3050af2b9', 'Change'], 'shortrev': ['8343bf', 'Change']}, 'buildrequest': {'buildrequestid': 198065, 'buildsetid': 44307, 'builderid': 31, 'priority': 0, 'claimed': True, 'claimed_at': 1794133987, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1794133524, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 44307, 'external_idstring': None, 'reason': "The AnyBranchScheduler scheduler named 'pr' triggered this build", 'submitted_at': 1794133524, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': None, 'parent_relationship': None, 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 13301, 'branch': 'refs/pull/14671/head', 'revision': '8343bfcd38ec1922bed739418c9bea806f233955', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1794133524, '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/10974'}, 'type': 'raw_bb_hook'}
2026-11-08T10:33:07.659813 {'source': 'webserver', 'raw': {'buildid': 197371, 'number': 10967, 'builderid': 2, 'buildrequestid': 198057, 'workerid': 4, 'masterid': 1, 'started_at': 1794133835, 'complete_at': 1794133987, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {'baserev': ['257a6d0eac1d915216dbc974e9390af3050af2b9', 'Change'], 'headrev': ['8343bfcd38ec1922bed739418c9bea806f233955', 'Change'], 'shortrev': ['8343bf', 'Change'], 'pr_id': [14671, 'Change'], 'workername': ['windows', 'Worker'], 'branch': ['refs/pull/14671/head', 'Build'], 'repository': ['', 'Build'], 'project': ['', 'Build'], 'basedir': ['c:\\buildbot', 'Worker'], 'warnings-count': [7, 'WarningCountingShellCommand'], 'build_url': ['https://dl.dolphin-emu.org/prs/36/d2/pr-14671-dolphin-latest-x64.7z', 'SetProperty'], 'branchname': ['pr-14671', 'Change'], 'repo': ['dolphin-emu/dolphin', 'Change'], 'scheduler': ['pr', 'Scheduler'], 'buildername': ['pr-win-x64', 'Builder'], 'builderid': [2, 'Builder'], 'revision': ['8343bfcd38ec1922bed739418c9bea806f233955', 'Build'], 'owners': [['Central (on behalf of: sepalani)'], 'Build'], 'builddir': ['c:\\buildbot\\pr-win-x64', 'Worker'], 'got_revision': ['8343bfcd38ec1922bed739418c9bea806f233955', 'GitNoBranch'], 'sln_exists': ['false', 'SetPropertyFromCommand Step'], 'buildnumber': [10967, 'Build'], 'codebase': ['', 'Build']}, 'buildrequest': {'buildrequestid': 198057, 'buildsetid': 44307, 'builderid': 2, 'priority': 0, 'claimed': True, 'claimed_at': 1794133835, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1794133524, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 44307, 'external_idstring': None, 'reason': "The AnyBranchScheduler scheduler named 'pr' triggered this build", 'submitted_at': 1794133524, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': None, 'parent_relationship': None, 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 13301, 'branch': 'refs/pull/14671/head', 'revision': '8343bfcd38ec1922bed739418c9bea806f233955', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1794133524, '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/10967'}, 'type': 'raw_bb_hook'}
2026-11-08T10:32:29.721514 {'source': 'webserver', 'raw': {'buildid': 197362, 'number': 6056, 'builderid': 44, 'buildrequestid': 198067, 'workerid': 14, 'masterid': 1, 'started_at': 1794133525, 'complete_at': 1794133949, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {'branchname': ['pr-14671', 'Change'], 'baserev': ['257a6d0eac1d915216dbc974e9390af3050af2b9', 'Change'], 'shortrev': ['8343bf', 'Change'], 'buildername': ['pr-flatpak-arm64', 'Builder'], 'headrev': ['8343bfcd38ec1922bed739418c9bea806f233955', 'Change'], 'repo': ['dolphin-emu/dolphin', 'Change'], 'branch': ['refs/pull/14671/head', 'Build'], 'pr_id': [14671, 'Change'], 'scheduler': ['pr', 'Scheduler'], 'builderid': [44, 'Builder'], 'revision': ['8343bfcd38ec1922bed739418c9bea806f233955', 'Build'], 'project': ['', 'Build'], 'buildnumber': [6056, 'Build'], 'workername': ['deneb-flatpak', 'Worker'], 'repository': ['', 'Build'], 'codebase': ['', 'Build'], 'owners': [['Central (on behalf of: sepalani)'], 'Build'], 'got_revision': ['8343bfcd38ec1922bed739418c9bea806f233955', 'GitNoBranch'], 'basedir': ['/var/lib/flatpak-worker/worker', 'Worker'], 'fm_build_url': ['https://flat-manager.dolphin-emu.org/api/v1/build/13505', 'SetPropertyFromCommand Step'], 'builddir': ['/var/lib/flatpak-worker/worker/pr-flatpak-arm64', 'Worker']}, 'buildrequest': {'buildrequestid': 198067, 'buildsetid': 44307, 'builderid': 44, 'priority': 0, 'claimed': True, 'claimed_at': 1794133525, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1794133524, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 44307, 'external_idstring': None, 'reason': "The AnyBranchScheduler scheduler named 'pr' triggered this build", 'submitted_at': 1794133524, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': None, 'parent_relationship': None, 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 13301, 'branch': 'refs/pull/14671/head', 'revision': '8343bfcd38ec1922bed739418c9bea806f233955', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1794133524, '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/6056'}, 'type': 'raw_bb_hook'}
2026-11-08T10:31:41.700855 {'source': 'webserver', 'raw': {'buildid': 197366, 'number': 6114, 'builderid': 43, 'buildrequestid': 198066, 'workerid': 13, 'masterid': 1, 'started_at': 1794133525, 'complete_at': 1794133901, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {'baserev': ['257a6d0eac1d915216dbc974e9390af3050af2b9', 'Change'], 'shortrev': ['8343bf', 'Change'], 'branchname': ['pr-14671', 'Change'], 'headrev': ['8343bfcd38ec1922bed739418c9bea806f233955', 'Change'], 'pr_id': [14671, 'Change'], 'repo': ['dolphin-emu/dolphin', 'Change'], 'revision': ['8343bfcd38ec1922bed739418c9bea806f233955', 'Build'], 'scheduler': ['pr', 'Scheduler'], 'buildername': ['pr-flatpak-x64', 'Builder'], 'branch': ['refs/pull/14671/head', 'Build'], 'builderid': [43, 'Builder'], 'buildnumber': [6114, 'Build'], 'workername': ['altair-flatpak', 'Worker'], 'codebase': ['', 'Build'], 'owners': [['Central (on behalf of: sepalani)'], 'Build'], 'builddir': ['/var/lib/flatpak-worker/worker/pr-flatpak-x64', 'Worker'], 'repository': ['', 'Build'], 'project': ['', 'Build'], 'got_revision': ['8343bfcd38ec1922bed739418c9bea806f233955', 'GitNoBranch'], 'fm_build_url': ['https://flat-manager.dolphin-emu.org/api/v1/build/13504', 'SetPropertyFromCommand Step'], 'basedir': ['/var/lib/flatpak-worker/worker', 'Worker']}, 'buildrequest': {'buildrequestid': 198066, 'buildsetid': 44307, 'builderid': 43, 'priority': 0, 'claimed': True, 'claimed_at': 1794133525, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1794133524, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 44307, 'external_idstring': None, 'reason': "The AnyBranchScheduler scheduler named 'pr' triggered this build", 'submitted_at': 1794133524, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': None, 'parent_relationship': None, 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 13301, 'branch': 'refs/pull/14671/head', 'revision': '8343bfcd38ec1922bed739418c9bea806f233955', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1794133524, 'patch': None}]}, 'parentbuild': None, 'parentbuilder': None, 'builder': {'builderid': 43, 'name': 'pr-flatpak-x64', 'masterids': [1], 'description': None, 'description_format': None, 'description_html': None, 'projectid': None, 'tags': []}, 'url': 'https://dolphin.ci/#/builders/43/builds/6114'}, 'type': 'raw_bb_hook'}
2026-11-08T10:31:24.726745 {'source': 'webserver', 'raw': {'buildid': 197369, 'number': 10965, 'builderid': 1, 'buildrequestid': 198056, 'workerid': 9, 'masterid': 1, 'started_at': 1794133695, 'complete_at': 1794133884, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {'branchname': ['pr-14671', 'Change'], 'shortrev': ['8343bf', 'Change'], 'pr_id': [14671, 'Change'], 'scheduler': ['pr', 'Scheduler'], 'builderid': [1, 'Builder'], 'buildnumber': [10965, 'Build'], 'revision': ['8343bfcd38ec1922bed739418c9bea806f233955', 'Build'], 'repository': ['', 'Build'], 'codebase': ['', 'Build'], 'project': ['', 'Build'], 'basedir': ['/buildbot', 'Worker'], 'builddir': ['/buildbot/pr-deb-dbg-x64', 'Worker'], 'warnings-count': [0, 'WarningCountingShellCommand'], 'baserev': ['257a6d0eac1d915216dbc974e9390af3050af2b9', 'Change'], 'headrev': ['8343bfcd38ec1922bed739418c9bea806f233955', 'Change'], 'repo': ['dolphin-emu/dolphin', 'Change'], 'buildername': ['pr-deb-dbg-x64', 'Builder'], 'branch': ['refs/pull/14671/head', 'Build'], 'owners': [['Central (on behalf of: sepalani)'], 'Build'], 'got_revision': ['8343bfcd38ec1922bed739418c9bea806f233955', 'GitNoBranch'], 'workername': ['debian', 'Worker']}, 'buildrequest': {'buildrequestid': 198056, 'buildsetid': 44307, 'builderid': 1, 'priority': 0, 'claimed': True, 'claimed_at': 1794133695, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1794133524, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 44307, 'external_idstring': None, 'reason': "The AnyBranchScheduler scheduler named 'pr' triggered this build", 'submitted_at': 1794133524, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': None, 'parent_relationship': None, 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 13301, 'branch': 'refs/pull/14671/head', 'revision': '8343bfcd38ec1922bed739418c9bea806f233955', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1794133524, '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/10965'}, 'type': 'raw_bb_hook'}
2026-11-08T10:30:37.020175 {'source': 'webserver', 'raw': {'buildid': 197371, 'number': 10967, 'builderid': 2, 'buildrequestid': 198057, 'workerid': 4, 'masterid': 1, 'started_at': 1794133835, 'complete_at': None, 'locks_duration_s': 0, 'complete': False, 'state_string': 'starting', 'results': None, 'properties': {'baserev': ['257a6d0eac1d915216dbc974e9390af3050af2b9', 'Change'], 'headrev': ['8343bfcd38ec1922bed739418c9bea806f233955', 'Change'], 'shortrev': ['8343bf', 'Change'], 'pr_id': [14671, 'Change'], 'workername': ['windows', 'Worker'], 'branch': ['refs/pull/14671/head', 'Build'], 'repository': ['', 'Build'], 'project': ['', 'Build'], 'branchname': ['pr-14671', 'Change'], 'repo': ['dolphin-emu/dolphin', 'Change'], 'scheduler': ['pr', 'Scheduler'], 'buildername': ['pr-win-x64', 'Builder'], 'builderid': [2, 'Builder'], 'revision': ['8343bfcd38ec1922bed739418c9bea806f233955', 'Build'], 'owners': [['Central (on behalf of: sepalani)'], 'Build'], 'buildnumber': [10967, 'Build'], 'codebase': ['', 'Build']}, 'buildrequest': {'buildrequestid': 198057, 'buildsetid': 44307, 'builderid': 2, 'priority': 0, 'claimed': True, 'claimed_at': 1794133835, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1794133524, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 44307, 'external_idstring': None, 'reason': "The AnyBranchScheduler scheduler named 'pr' triggered this build", 'submitted_at': 1794133524, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': None, 'parent_relationship': None, 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 13301, 'branch': 'refs/pull/14671/head', 'revision': '8343bfcd38ec1922bed739418c9bea806f233955', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1794133524, '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/10967'}, 'type': 'raw_bb_hook'}
2026-11-08T10:30:36.905944 {'source': 'webserver', 'raw': {'buildid': 197365, 'number': 10966, 'builderid': 13, 'buildrequestid': 198061, 'workerid': 4, 'masterid': 1, 'started_at': 1794133525, 'complete_at': 1794133835, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {'scheduler': ['pr', 'Scheduler'], 'headrev': ['8343bfcd38ec1922bed739418c9bea806f233955', 'Change'], 'shortrev': ['8343bf', 'Change'], 'workername': ['windows', 'Worker'], 'branchname': ['pr-14671', 'Change'], 'baserev': ['257a6d0eac1d915216dbc974e9390af3050af2b9', 'Change'], 'repository': ['', 'Build'], 'pr_id': [14671, 'Change'], 'repo': ['dolphin-emu/dolphin', 'Change'], 'buildername': ['pr-win-arm64', 'Builder'], 'branch': ['refs/pull/14671/head', 'Build'], 'revision': ['8343bfcd38ec1922bed739418c9bea806f233955', 'Build'], 'builderid': [13, 'Builder'], 'owners': [['Central (on behalf of: sepalani)'], 'Build'], 'buildnumber': [10966, 'Build'], 'codebase': ['', 'Build'], 'project': ['', 'Build'], 'warnings-count': [7, 'WarningCountingShellCommand'], 'build_url': ['https://dl.dolphin-emu.org/prs/0c/ce/pr-14671-dolphin-latest-arm64.7z', 'SetProperty'], 'basedir': ['c:\\buildbot', 'Worker'], 'got_revision': ['8343bfcd38ec1922bed739418c9bea806f233955', 'GitNoBranch'], 'builddir': ['c:\\buildbot\\pr-win-arm64', 'Worker'], 'sln_exists': ['false', 'SetPropertyFromCommand Step']}, 'buildrequest': {'buildrequestid': 198061, 'buildsetid': 44307, 'builderid': 13, 'priority': 0, 'claimed': True, 'claimed_at': 1794133525, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1794133524, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 44307, 'external_idstring': None, 'reason': "The AnyBranchScheduler scheduler named 'pr' triggered this build", 'submitted_at': 1794133524, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': None, 'parent_relationship': None, 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 13301, 'branch': 'refs/pull/14671/head', 'revision': '8343bfcd38ec1922bed739418c9bea806f233955', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1794133524, '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/10966'}, 'type': 'raw_bb_hook'}
2026-11-08T10:29:03.845556 {'source': 'webserver', 'raw': {'buildid': 197361, 'number': 212, 'builderid': 50, 'buildrequestid': 198069, 'workerid': 16, 'masterid': 1, 'started_at': 1794133525, 'complete_at': 1794133743, 'locks_duration_s': 0, 'complete': True, 'state_string': 'failed ran appimagetool (failure)', 'results': 2, 'properties': {'branchname': ['pr-14671', 'Change'], 'baserev': ['257a6d0eac1d915216dbc974e9390af3050af2b9', 'Change'], 'headrev': ['8343bfcd38ec1922bed739418c9bea806f233955', 'Change'], 'repo': ['dolphin-emu/dolphin', 'Change'], 'scheduler': ['pr', 'Scheduler'], 'buildername': ['pr-appimage-arm64', 'Builder'], 'builderid': [50, 'Builder'], 'owners': [['Central (on behalf of: sepalani)'], 'Build'], 'shortrev': ['8343bf', 'Change'], 'pr_id': [14671, 'Change'], 'workername': ['deneb-appimage', 'Worker'], 'buildnumber': [212, 'Build'], 'repository': ['', 'Build'], 'codebase': ['', 'Build'], 'project': ['', 'Build'], 'branch': ['refs/pull/14671/head', 'Build'], 'revision': ['8343bfcd38ec1922bed739418c9bea806f233955', 'Build'], 'builddir': ['/buildbot/pr-appimage-arm64', 'Worker'], 'warnings-count': [0, 'WarningCountingShellCommand'], 'got_revision': ['8343bfcd38ec1922bed739418c9bea806f233955', 'GitNoBranch'], 'basedir': ['/buildbot', 'Worker']}, 'buildrequest': {'buildrequestid': 198069, 'buildsetid': 44307, 'builderid': 50, 'priority': 0, 'claimed': True, 'claimed_at': 1794133525, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1794133524, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 44307, 'external_idstring': None, 'reason': "The AnyBranchScheduler scheduler named 'pr' triggered this build", 'submitted_at': 1794133524, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': None, 'parent_relationship': None, 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 13301, 'branch': 'refs/pull/14671/head', 'revision': '8343bfcd38ec1922bed739418c9bea806f233955', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1794133524, '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/212'}, 'type': 'raw_bb_hook'}
2026-11-08T10:28:56.341972 {'source': 'webserver', 'raw': {'buildid': 197360, 'number': 218, 'builderid': 49, 'buildrequestid': 198068, 'workerid': 15, 'masterid': 1, 'started_at': 1794133525, 'complete_at': 1794133735, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {'branchname': ['pr-14671', 'Change'], 'baserev': ['257a6d0eac1d915216dbc974e9390af3050af2b9', 'Change'], 'headrev': ['8343bfcd38ec1922bed739418c9bea806f233955', 'Change'], 'workername': ['altair-appimage', 'Worker'], 'branch': ['refs/pull/14671/head', 'Build'], 'revision': ['8343bfcd38ec1922bed739418c9bea806f233955', 'Build'], 'shortrev': ['8343bf', 'Change'], 'pr_id': [14671, 'Change'], 'repo': ['dolphin-emu/dolphin', 'Change'], 'scheduler': ['pr', 'Scheduler'], 'buildername': ['pr-appimage-x64', 'Builder'], 'builderid': [49, 'Builder'], 'owners': [['Central (on behalf of: sepalani)'], 'Build'], 'buildnumber': [218, 'Build'], 'project': ['', 'Build'], 'codebase': ['', 'Build'], 'repository': ['', 'Build'], 'got_revision': ['8343bfcd38ec1922bed739418c9bea806f233955', 'GitNoBranch'], 'warnings-count': [0, 'WarningCountingShellCommand'], 'builddir': ['/buildbot/pr-appimage-x64', 'Worker'], 'basedir': ['/buildbot', 'Worker']}, 'buildrequest': {'buildrequestid': 198068, 'buildsetid': 44307, 'builderid': 49, 'priority': 0, 'claimed': True, 'claimed_at': 1794133525, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1794133524, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 44307, 'external_idstring': None, 'reason': "The AnyBranchScheduler scheduler named 'pr' triggered this build", 'submitted_at': 1794133524, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': None, 'parent_relationship': None, 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 13301, 'branch': 'refs/pull/14671/head', 'revision': '8343bfcd38ec1922bed739418c9bea806f233955', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1794133524, '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/218'}, 'type': 'raw_bb_hook'}
2026-11-08T10:28:19.512003 {'source': 'webserver', 'raw': {'buildid': 197370, 'number': 9618, 'builderid': 10, 'buildrequestid': 198070, 'workerid': 5, 'masterid': 1, 'started_at': 1794133698, 'complete_at': None, 'locks_duration_s': 0, 'complete': False, 'state_string': 'starting', 'results': None, 'properties': {'baserev': ['257a6d0eac1d915216dbc974e9390af3050af2b9', 'Change'], 'shortrev': ['8343bf', 'Trigger'], 'repo': ['dolphin-emu/dolphin', 'Trigger'], 'buildername': ['pr-fifoci-ogl-lin-mesa', 'Builder'], 'workername': ['altair-fifoci', 'Worker'], 'project': ['', 'Build'], 'owners': [['Central (on behalf of: sepalani)'], 'Build'], 'headrev': ['8343bfcd38ec1922bed739418c9bea806f233955', 'Trigger'], 'branch': ['refs/pull/14671/head', 'Build'], 'repository': ['', 'Build'], 'branchname': ['pr-14671', 'Trigger'], 'pr_id': [14671, 'Trigger'], 'scheduler': ['pr-fifoci-lin', 'Scheduler'], 'builderid': [10, 'Builder'], 'buildnumber': [9618, 'Build'], 'revision': ['8343bfcd38ec1922bed739418c9bea806f233955', 'Build'], 'codebase': ['', 'Build']}, 'buildrequest': {'buildrequestid': 198070, 'buildsetid': 44308, 'builderid': 10, 'priority': 0, 'claimed': True, 'claimed_at': 1794133698, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1794133698, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 44308, 'external_idstring': None, 'reason': "The Triggerable scheduler named 'pr-fifoci-lin' triggered this build", 'submitted_at': 1794133698, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': 197368, 'parent_relationship': 'Triggered from', 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 13301, 'branch': 'refs/pull/14671/head', 'revision': '8343bfcd38ec1922bed739418c9bea806f233955', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1794133524, 'patch': None}]}, 'parentbuild': {'buildid': 197368, 'number': 10966, 'builderid': 27, 'buildrequestid': 198064, 'workerid': 10, 'masterid': 1, 'started_at': 1794133530, 'complete_at': 1794133698, '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/9618'}, 'type': 'raw_bb_hook'}
2026-11-08T10:28:19.383935 {'source': 'webserver', 'raw': {'buildid': 197368, 'number': 10966, 'builderid': 27, 'buildrequestid': 198064, 'workerid': 10, 'masterid': 1, 'started_at': 1794133530, 'complete_at': 1794133698, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {'branchname': ['pr-14671', 'Change'], 'headrev': ['8343bfcd38ec1922bed739418c9bea806f233955', 'Change'], 'shortrev': ['8343bf', 'Change'], 'scheduler': ['pr', 'Scheduler'], 'workername': ['ubuntu-lts', 'Worker'], 'branch': ['refs/pull/14671/head', 'Build'], 'repository': ['', 'Build'], 'project': ['', 'Build'], 'owners': [['Central (on behalf of: sepalani)'], 'Build'], 'builddir': ['/buildbot/pr-ubu-x64', 'Worker'], 'pr_id': [14671, 'Change'], 'builderid': [27, 'Builder'], 'buildnumber': [10966, 'Build'], 'revision': ['8343bfcd38ec1922bed739418c9bea806f233955', 'Build'], 'codebase': ['', 'Build'], 'basedir': ['/buildbot', 'Worker'], 'got_revision': ['8343bfcd38ec1922bed739418c9bea806f233955', 'GitNoBranch'], 'warnings-count': [0, 'WarningCountingShellCommand'], 'buildername': ['pr-ubu-x64', 'Builder'], 'baserev': ['257a6d0eac1d915216dbc974e9390af3050af2b9', 'Change'], 'repo': ['dolphin-emu/dolphin', 'Change']}, 'buildrequest': {'buildrequestid': 198064, 'buildsetid': 44307, 'builderid': 27, 'priority': 0, 'claimed': True, 'claimed_at': 1794133530, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1794133524, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 44307, 'external_idstring': None, 'reason': "The AnyBranchScheduler scheduler named 'pr' triggered this build", 'submitted_at': 1794133524, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': None, 'parent_relationship': None, 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 13301, 'branch': 'refs/pull/14671/head', 'revision': '8343bfcd38ec1922bed739418c9bea806f233955', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1794133524, '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/10966'}, 'type': 'raw_bb_hook'}
2026-11-08T10:28:18.656471 {'source': 'webserver', 'raw': {'buildid': 197363, 'number': 10972, 'builderid': 22, 'buildrequestid': 198062, 'workerid': 12, 'masterid': 1, 'started_at': 1794133525, 'complete_at': 1794133697, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {'shortrev': ['8343bf', 'Change'], 'builderid': [22, 'Builder'], 'branch': ['refs/pull/14671/head', 'Build'], 'revision': ['8343bfcd38ec1922bed739418c9bea806f233955', 'Build'], 'pr_id': [14671, 'Change'], 'buildnumber': [10972, 'Build'], 'branchname': ['pr-14671', 'Change'], 'baserev': ['257a6d0eac1d915216dbc974e9390af3050af2b9', 'Change'], 'headrev': ['8343bfcd38ec1922bed739418c9bea806f233955', 'Change'], 'repo': ['dolphin-emu/dolphin', 'Change'], 'workername': ['android', 'Worker'], 'scheduler': ['pr', 'Scheduler'], 'buildername': ['pr-android', 'Builder'], 'codebase': ['', 'Build'], 'project': ['', 'Build'], 'repository': ['', 'Build'], 'owners': [['Central (on behalf of: sepalani)'], 'Build'], 'basedir': ['/buildbot', 'Worker'], 'builddir': ['/buildbot/pr-android', 'Worker'], 'got_revision': ['8343bfcd38ec1922bed739418c9bea806f233955', 'GitNoBranch']}, 'buildrequest': {'buildrequestid': 198062, 'buildsetid': 44307, 'builderid': 22, 'priority': 0, 'claimed': True, 'claimed_at': 1794133525, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1794133524, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 44307, 'external_idstring': None, 'reason': "The AnyBranchScheduler scheduler named 'pr' triggered this build", 'submitted_at': 1794133524, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': None, 'parent_relationship': None, 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 13301, 'branch': 'refs/pull/14671/head', 'revision': '8343bfcd38ec1922bed739418c9bea806f233955', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1794133524, '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/10972'}, 'type': 'raw_bb_hook'}
2026-11-08T10:28:17.146978 {'source': 'webserver', 'raw': {'buildid': 197369, 'number': 10965, 'builderid': 1, 'buildrequestid': 198056, 'workerid': 9, 'masterid': 1, 'started_at': 1794133695, 'complete_at': None, 'locks_duration_s': 0, 'complete': False, 'state_string': 'starting', 'results': None, 'properties': {'branchname': ['pr-14671', 'Change'], 'shortrev': ['8343bf', 'Change'], 'pr_id': [14671, 'Change'], 'scheduler': ['pr', 'Scheduler'], 'builderid': [1, 'Builder'], 'buildnumber': [10965, 'Build'], 'revision': ['8343bfcd38ec1922bed739418c9bea806f233955', 'Build'], 'repository': ['', 'Build'], 'codebase': ['', 'Build'], 'project': ['', 'Build'], 'baserev': ['257a6d0eac1d915216dbc974e9390af3050af2b9', 'Change'], 'headrev': ['8343bfcd38ec1922bed739418c9bea806f233955', 'Change'], 'repo': ['dolphin-emu/dolphin', 'Change'], 'buildername': ['pr-deb-dbg-x64', 'Builder'], 'branch': ['refs/pull/14671/head', 'Build'], 'owners': [['Central (on behalf of: sepalani)'], 'Build'], 'workername': ['debian', 'Worker']}, 'buildrequest': {'buildrequestid': 198056, 'buildsetid': 44307, 'builderid': 1, 'priority': 0, 'claimed': True, 'claimed_at': 1794133695, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1794133524, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 44307, 'external_idstring': None, 'reason': "The AnyBranchScheduler scheduler named 'pr' triggered this build", 'submitted_at': 1794133524, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': None, 'parent_relationship': None, 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 13301, 'branch': 'refs/pull/14671/head', 'revision': '8343bfcd38ec1922bed739418c9bea806f233955', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1794133524, '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/10965'}, 'type': 'raw_bb_hook'}
2026-11-08T10:28:17.090116 {'source': 'webserver', 'raw': {'buildid': 197364, 'number': 10964, 'builderid': 26, 'buildrequestid': 198063, 'workerid': 9, 'masterid': 1, 'started_at': 1794133525, 'complete_at': 1794133695, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {'baserev': ['257a6d0eac1d915216dbc974e9390af3050af2b9', 'Change'], 'shortrev': ['8343bf', 'Change'], 'branchname': ['pr-14671', 'Change'], 'headrev': ['8343bfcd38ec1922bed739418c9bea806f233955', 'Change'], 'repo': ['dolphin-emu/dolphin', 'Change'], 'scheduler': ['pr', 'Scheduler'], 'builderid': [26, 'Builder'], 'workername': ['debian', 'Worker'], 'pr_id': [14671, 'Change'], 'buildername': ['pr-deb-x64', 'Builder'], 'repository': ['', 'Build'], 'revision': ['8343bfcd38ec1922bed739418c9bea806f233955', 'Build'], 'buildnumber': [10964, 'Build'], 'branch': ['refs/pull/14671/head', 'Build'], 'codebase': ['', 'Build'], 'project': ['', 'Build'], 'owners': [['Central (on behalf of: sepalani)'], 'Build'], 'builddir': ['/buildbot/pr-deb-x64', 'Worker'], 'warnings-count': [0, 'WarningCountingShellCommand'], 'got_revision': ['8343bfcd38ec1922bed739418c9bea806f233955', 'GitNoBranch'], 'basedir': ['/buildbot', 'Worker']}, 'buildrequest': {'buildrequestid': 198063, 'buildsetid': 44307, 'builderid': 26, 'priority': 0, 'claimed': True, 'claimed_at': 1794133525, 'claimed_by_masterid': 1, 'complete': True, 'results': 0, 'submitted_at': 1794133524, 'complete_at': 1794133695, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 44307, 'external_idstring': None, 'reason': "The AnyBranchScheduler scheduler named 'pr' triggered this build", 'submitted_at': 1794133524, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': None, 'parent_relationship': None, 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 13301, 'branch': 'refs/pull/14671/head', 'revision': '8343bfcd38ec1922bed739418c9bea806f233955', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1794133524, 'patch': None}]}, 'parentbuild': None, 'parentbuilder': None, 'builder': {'builderid': 26, 'name': 'pr-deb-x64', 'masterids': [1], 'description': None, 'description_format': None, 'description_html': None, 'projectid': None, 'tags': []}, 'url': 'https://dolphin.ci/#/builders/26/builds/10964'}, 'type': 'raw_bb_hook'}
Recent 'raw_gh_hook' events
2026-11-08T13:36:00.902135 {'source': 'webserver', 'gh_type': 'pull_request', 'raw': {'action': 'closed', 'number': 14807, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14807', 'id': 4247208442, 'node_id': 'PR_kwDOALCn2M79J0H6', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14807', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14807.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14807.patch', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14807', 'number': 14807, 'state': 'closed', 'locked': False, 'title': 'Android: Add per-game touch overlay layouts', 'user': {'login': 'JustMLC4real', 'id': 146988216, 'node_id': 'U_kgDOCMLcuA', 'avatar_url': 'https://avatars.githubusercontent.com/u/146988216?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/JustMLC4real', 'html_url': 'https://github.com/JustMLC4real', 'followers_url': 'https://api.github.com/users/JustMLC4real/followers', 'following_url': 'https://api.github.com/users/JustMLC4real/following{/other_user}', 'gists_url': 'https://api.github.com/users/JustMLC4real/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/JustMLC4real/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/JustMLC4real/subscriptions', 'organizations_url': 'https://api.github.com/users/JustMLC4real/orgs', 'repos_url': 'https://api.github.com/users/JustMLC4real/repos', 'events_url': 'https://api.github.com/users/JustMLC4real/events{/privacy}', 'received_events_url': 'https://api.github.com/users/JustMLC4real/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': "## Description\n\nAndroid touch overlay settings are currently global, which makes games with different control schemes overwrite each other's layouts.\n\nThis adds an opt-in **Use Game-Specific Layout** item to the GameCube and Wii overlay menus. When enabled, Dolphin:\n\n- stores control positions per game ID, controller type, and orientation;\n- writes overlay visibility, button, scale, opacity, controller, IR, and double-tap options to the running game's local configuration layer;\n- falls back to the global layout for values that the game has not overridden.\n\nThe option defaults to off, so existing global overlay behavior remains unchanged. Disabling it preserves the per-game profile for later use while immediately restoring the global layout.\n\n## Testing\n\n- `./gradlew :app:compileDebugKotlin --no-daemon --console=plain`\n- `./gradlew :app:assembleDebug --no-daemon --console=plain`\n\nBoth completed successfully with the repository's existing deprecation and optional-library warnings.\n\n## AI disclosure\n\nParts of this Android-only change were developed with assistance from OpenAI Codex. I reviewed and tested the submitted code and take responsibility for it. No emulated-console behavior or confidential console information was involved.\n", 'created_at': '2026-08-10T18:18:39Z', 'updated_at': '2026-11-08T13:35:58Z', 'closed_at': '2026-11-08T13:35:58Z', 'merged_at': None, 'merge_commit_sha': None, 'assignees': [], 'requested_reviewers': [], 'requested_teams': [], 'labels': [], 'milestone': None, 'draft': False, 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14807/commits', 'review_comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14807/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/14807/comments', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/85df25f083f54c9b5867bd8727b0dbb284411c5e', 'head': {'label': 'JustMLC4real:agent/android-per-game-touch-layouts', 'ref': 'agent/android-per-game-touch-layouts', 'sha': '85df25f083f54c9b5867bd8727b0dbb284411c5e', 'user': {'login': 'JustMLC4real', 'id': 146988216, 'node_id': 'U_kgDOCMLcuA', 'avatar_url': 'https://avatars.githubusercontent.com/u/146988216?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/JustMLC4real', 'html_url': 'https://github.com/JustMLC4real', 'followers_url': 'https://api.github.com/users/JustMLC4real/followers', 'following_url': 'https://api.github.com/users/JustMLC4real/following{/other_user}', 'gists_url': 'https://api.github.com/users/JustMLC4real/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/JustMLC4real/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/JustMLC4real/subscriptions', 'organizations_url': 'https://api.github.com/users/JustMLC4real/orgs', 'repos_url': 'https://api.github.com/users/JustMLC4real/repos', 'events_url': 'https://api.github.com/users/JustMLC4real/events{/privacy}', 'received_events_url': 'https://api.github.com/users/JustMLC4real/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'repo': None}, 'base': {'label': 'dolphin-emu:master', 'ref': 'master', 'sha': '216ffb4581af2075bf7a9f975219c375767cae15', '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-08T13:34:34Z', 'pushed_at': '2026-11-08T01:16:41Z', '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': 563799, 'stargazers_count': 15778, 'watchers_count': 15778, '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': 483, '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': 483, 'watchers': 15778, '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/14807'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14807'}, 'issue': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14807'}, 'comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14807/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14807/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/14807/commits'}, 'statuses': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/85df25f083f54c9b5867bd8727b0dbb284411c5e'}}, 'author_association': 'NONE', 'auto_merge': None, 'assignee': None, 'active_lock_reason': None, 'merged': False, 'mergeable': None, 'rebaseable': None, 'mergeable_state': 'unknown', 'merged_by': None, 'comments': 2, 'review_comments': 0, 'maintainer_can_modify': False, 'commits': 1, 'additions': 296, 'deletions': 111, 'changed_files': 9}, '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-08T13:34:34Z', 'pushed_at': '2026-11-08T01:16:41Z', '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': 563799, 'stargazers_count': 15778, 'watchers_count': 15778, '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': 483, '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': 483, 'watchers': 15778, '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': 'JustMLC4real', 'id': 146988216, 'node_id': 'U_kgDOCMLcuA', 'avatar_url': 'https://avatars.githubusercontent.com/u/146988216?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/JustMLC4real', 'html_url': 'https://github.com/JustMLC4real', 'followers_url': 'https://api.github.com/users/JustMLC4real/followers', 'following_url': 'https://api.github.com/users/JustMLC4real/following{/other_user}', 'gists_url': 'https://api.github.com/users/JustMLC4real/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/JustMLC4real/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/JustMLC4real/subscriptions', 'organizations_url': 'https://api.github.com/users/JustMLC4real/orgs', 'repos_url': 'https://api.github.com/users/JustMLC4real/repos', 'events_url': 'https://api.github.com/users/JustMLC4real/events{/privacy}', 'received_events_url': 'https://api.github.com/users/JustMLC4real/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'raw_gh_hook'}
2026-11-08T11:12:59.100139 {'source': 'webserver', 'gh_type': 'pull_request', 'raw': {'action': 'opened', 'number': 14996, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14996', 'id': 5210830009, 'node_id': 'PR_kwDOALCn2M8AAAABNpb0uQ', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14996', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14996.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14996.patch', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14996', 'number': 14996, 'state': 'open', 'locked': False, 'title': 'GameSettings: Remove SyncOnSkipIdle for Battalion Wars 1&2', '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': 'Users on Discord have been reporting issues with this setting enabled.\n\n<img width="1907" height="985" alt="image" src="https://github.com/user-attachments/assets/f89a7ba1-ac7b-4a86-98aa-515c0792f0ee" />\nThe reason given for disabling `SyncOnSkipIdle` 13 years ago was "Idle skipping slows down the game." Re-enabling it gets rid of the issue entirely. Users reported back "It does degrade GPU performance, but not in any meaningful way"\n\n---\n\nAdditional context given by SuperSamus:\n\n> This setting used to be added to the games that run uncapped or have an undetected idle loop... for some reason, since from my understanding, if a game has either of these, then this setting should do nothing (that is, it\'s always the equivalent of False) since Dolphin isn\'t seeing the trigger to make it sync. Maybe the setting used to be different? (Or I guess the game does wait on an idle loop, just not for a vblank.)\nAnyway, yeah, if it causes problems, remove it.', 'created_at': '2026-11-08T11:12:56Z', 'updated_at': '2026-11-08T11:12:56Z', 'closed_at': None, 'merged_at': None, 'merge_commit_sha': None, 'assignees': [], 'requested_reviewers': [], 'requested_teams': [], 'labels': [], 'milestone': None, 'draft': False, 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14996/commits', 'review_comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14996/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/14996/comments', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/9ec39294653b786f8392e199a3f02fec9e7a3a31', 'head': {'label': 'JoshuaVandaele:gamesettings-battalion-wars', 'ref': 'gamesettings-battalion-wars', 'sha': '9ec39294653b786f8392e199a3f02fec9e7a3a31', '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-08T11:06:44Z', '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': 522734, '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': '257a6d0eac1d915216dbc974e9390af3050af2b9', '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-08T09:28:56Z', 'pushed_at': '2026-11-08T01:16:41Z', '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': 563799, 'stargazers_count': 15776, 'watchers_count': 15776, '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': 15776, '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/14996'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14996'}, 'issue': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14996'}, 'comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14996/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14996/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/14996/commits'}, 'statuses': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/9ec39294653b786f8392e199a3f02fec9e7a3a31'}}, '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': 0, 'maintainer_can_modify': True, 'commits': 1, 'additions': 0, 'deletions': 16, 'changed_files': 2}, '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-08T09:28:56Z', 'pushed_at': '2026-11-08T01:16:41Z', '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': 563799, 'stargazers_count': 15776, 'watchers_count': 15776, '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': 15776, '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-08T10:46:01.241535 {'source': 'webserver', 'gh_type': 'pull_request_review', 'raw': {'action': 'edited', 'review': {'id': 4622533386, 'node_id': 'PRR_kwDOALCn2M8AAAABE4ZDCg', 'user': {'login': 'Copilot', 'id': 175728472, 'node_id': 'BOT_kgDOCnlnWA', 'avatar_url': 'https://avatars.githubusercontent.com/in/946600?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/Copilot', 'html_url': 'https://github.com/apps/copilot-pull-request-reviewer', 'followers_url': 'https://api.github.com/users/Copilot/followers', 'following_url': 'https://api.github.com/users/Copilot/following{/other_user}', 'gists_url': 'https://api.github.com/users/Copilot/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/Copilot/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/Copilot/subscriptions', 'organizations_url': 'https://api.github.com/users/Copilot/orgs', 'repos_url': 'https://api.github.com/users/Copilot/repos', 'events_url': 'https://api.github.com/users/Copilot/events{/privacy}', 'received_events_url': 'https://api.github.com/users/Copilot/received_events', 'type': 'Bot', 'user_view_type': 'public', 'site_admin': False}, 'body': '## Pull request overview\n\nThis PR addresses a crash in the Cheats Manager caused by `OnFrameEnd` being invoked from the CPU thread and directly interacting with Qt widgets. The fix moves widget-updating work onto the GUI thread and adds an atomic “update queued” flag to reduce redundant event posting when the GUI thread is behind.\n\n**Changes:**\n- Add an atomic flag to track whether a GUI-thread frame-end update is already queued.\n- Switch `OnFrameEnd` to post a GUI-thread task via `QMetaObject::invokeMethod(..., Qt::QueuedConnection)` before touching widgets.\n\n### Reviewed changes\n\nCopilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.\n\n| File | Description |\n| ---- | ----------- |\n| Source/Core/DolphinQt/CheatsManager.h | Adds `std::atomic<bool>` member used to gate queued GUI updates. |\n| Source/Core/DolphinQt/CheatsManager.cpp | Queues frame-end widget updates onto the GUI thread using `invokeMethod` and the atomic flag. |\n\n\n\n\n\n\n---\n\n💡 <a href="/dolphin-emu/dolphin/new/master?filename=.github/instructions/*.instructions.md" class="Link--inTextBlock" target="_blank" rel="noopener noreferrer">Add Copilot custom instructions</a> for smarter, more guided reviews. <a href="https://docs.github.com/en/copilot/customizing-copilot/adding-repository-custom-instructions-for-github-copilot" class="Link--inTextBlock" target="_blank" rel="noopener noreferrer">Learn how to get started</a>.', 'commit_id': 'ed99f890e428c81bd5419c5e8fb3fa0e420b1132', 'state': 'commented', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14713#pullrequestreview-4622533386', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14713', '_links': {'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14713#pullrequestreview-4622533386'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14713'}}, 'submitted_at': '2026-07-03T03:17:31Z', 'updated_at': '2026-11-08T10:45:59Z', 'author_association': 'NONE'}, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14713', 'id': 3983024327, 'node_id': 'PR_kwDOALCn2M7taCDH', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14713', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14713.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14713.patch', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14713', 'number': 14713, 'state': 'open', 'locked': False, 'title': 'Fix cheatsmanager crash', 'user': {'login': 'llsc12', 'id': 42747613, 'node_id': 'MDQ6VXNlcjQyNzQ3NjEz', 'avatar_url': 'https://avatars.githubusercontent.com/u/42747613?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/llsc12', 'html_url': 'https://github.com/llsc12', 'followers_url': 'https://api.github.com/users/llsc12/followers', 'following_url': 'https://api.github.com/users/llsc12/following{/other_user}', 'gists_url': 'https://api.github.com/users/llsc12/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/llsc12/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/llsc12/subscriptions', 'organizations_url': 'https://api.github.com/users/llsc12/orgs', 'repos_url': 'https://api.github.com/users/llsc12/repos', 'events_url': 'https://api.github.com/users/llsc12/events{/privacy}', 'received_events_url': 'https://api.github.com/users/llsc12/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': "`OnFrameEnd` is called from the CPU thread and starts calling methods on widgets. When searching memory for values, this caused Dolphin to crash a lot for me. Reproduced relatively reliably by having the game running, memory values auto-updating and trying to edit an address' description. \r\n\r\nThe fix just moves work onto the GUI thread, with an atomic flag to avoid posting events every frame if the GUI thread was to fall behind. \r\n\r\nI tested this for around 4 hours making some cheat codes for newer smbw. No crashes thus far.\r\n\r\nAI was used to examine crash logs.", 'created_at': '2026-07-03T03:15:08Z', 'updated_at': '2026-11-08T10:35:28Z', 'closed_at': None, 'merged_at': None, 'merge_commit_sha': 'cc578e5b2baaf23f28efc2015fba0d5f3546929a', 'assignees': [], 'requested_reviewers': [], 'requested_teams': [], 'labels': [], 'milestone': None, 'draft': False, 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14713/commits', 'review_comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14713/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/14713/comments', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/016e11d73621005cc2b7d20244884b72e286b4a5', 'head': {'label': 'llsc12:master', 'ref': 'master', 'sha': '016e11d73621005cc2b7d20244884b72e286b4a5', 'user': {'login': 'llsc12', 'id': 42747613, 'node_id': 'MDQ6VXNlcjQyNzQ3NjEz', 'avatar_url': 'https://avatars.githubusercontent.com/u/42747613?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/llsc12', 'html_url': 'https://github.com/llsc12', 'followers_url': 'https://api.github.com/users/llsc12/followers', 'following_url': 'https://api.github.com/users/llsc12/following{/other_user}', 'gists_url': 'https://api.github.com/users/llsc12/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/llsc12/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/llsc12/subscriptions', 'organizations_url': 'https://api.github.com/users/llsc12/orgs', 'repos_url': 'https://api.github.com/users/llsc12/repos', 'events_url': 'https://api.github.com/users/llsc12/events{/privacy}', 'received_events_url': 'https://api.github.com/users/llsc12/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 1287805369, 'node_id': 'R_kgDOTMJZuQ', 'name': 'dolphin', 'full_name': 'llsc12/dolphin', 'private': False, 'owner': {'login': 'llsc12', 'id': 42747613, 'node_id': 'MDQ6VXNlcjQyNzQ3NjEz', 'avatar_url': 'https://avatars.githubusercontent.com/u/42747613?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/llsc12', 'html_url': 'https://github.com/llsc12', 'followers_url': 'https://api.github.com/users/llsc12/followers', 'following_url': 'https://api.github.com/users/llsc12/following{/other_user}', 'gists_url': 'https://api.github.com/users/llsc12/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/llsc12/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/llsc12/subscriptions', 'organizations_url': 'https://api.github.com/users/llsc12/orgs', 'repos_url': 'https://api.github.com/users/llsc12/repos', 'events_url': 'https://api.github.com/users/llsc12/events{/privacy}', 'received_events_url': 'https://api.github.com/users/llsc12/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/llsc12/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/llsc12/dolphin', 'forks_url': 'https://api.github.com/repos/llsc12/dolphin/forks', 'keys_url': 'https://api.github.com/repos/llsc12/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/llsc12/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/llsc12/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/llsc12/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/llsc12/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/llsc12/dolphin/events', 'assignees_url': 'https://api.github.com/repos/llsc12/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/llsc12/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/llsc12/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/llsc12/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/llsc12/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/llsc12/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/llsc12/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/llsc12/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/llsc12/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/llsc12/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/llsc12/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/llsc12/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/llsc12/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/llsc12/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/llsc12/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/llsc12/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/llsc12/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/llsc12/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/llsc12/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/llsc12/dolphin/merges', 'archive_url': 'https://api.github.com/repos/llsc12/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/llsc12/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/llsc12/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/llsc12/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/llsc12/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/llsc12/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/llsc12/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/llsc12/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/llsc12/dolphin/deployments', 'created_at': '2026-07-03T02:52:06Z', 'updated_at': '2026-11-08T10:35:05Z', 'pushed_at': '2026-11-08T10:34:36Z', 'git_url': 'git://github.com/llsc12/dolphin.git', 'ssh_url': 'git@github.com:llsc12/dolphin.git', 'clone_url': 'https://github.com/llsc12/dolphin.git', 'svn_url': 'https://github.com/llsc12/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 523579, 'stargazers_count': 0, 'watchers_count': 0, 'language': 'C++', 'has_issues': False, 'has_projects': True, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 0, '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': 0, 'open_issues': 0, 'watchers': 0, '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': '257a6d0eac1d915216dbc974e9390af3050af2b9', '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-08T09:28:56Z', 'pushed_at': '2026-11-08T01:16:41Z', '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': 563799, 'stargazers_count': 15776, 'watchers_count': 15776, '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': 483, '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': 483, 'watchers': 15776, '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/14713'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14713'}, 'issue': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14713'}, 'comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14713/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14713/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/14713/commits'}, 'statuses': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/016e11d73621005cc2b7d20244884b72e286b4a5'}}, 'author_association': 'NONE', 'auto_merge': None, 'assignee': None, 'active_lock_reason': None}, 'changes': {'body': {'from': '## Pull request overview\n\nThis PR addresses a crash in the Cheats Manager caused by `OnFrameEnd` being invoked from the CPU thread and directly interacting with Qt widgets. The fix moves widget-updating work onto the GUI thread and adds an atomic “update queued” flag to reduce redundant event posting when the GUI thread is behind.\n\n**Changes:**\n- Add an atomic flag to track whether a GUI-thread frame-end update is already queued.\n- Switch `OnFrameEnd` to post a GUI-thread task via `QMetaObject::invokeMethod(..., Qt::QueuedConnection)` before touching widgets.\n\n### Reviewed changes\n\nCopilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.\n\n| File | Description |\n| ---- | ----------- |\n| Source/Core/DolphinQt/CheatsManager.h | Adds `std::atomic<bool>` member used to gate queued GUI updates. |\n| Source/Core/DolphinQt/CheatsManager.cpp | Queues frame-end widget updates onto the GUI thread using `invokeMethod` and the atomic flag. |\n\n\n\n\n\n\n---\n\n💡 <a href="/dolphin-emu/dolphin/new/master?filename=.github/instructions/*.instructions.md" class="Link--inTextBlock" target="_blank" rel="noopener noreferrer">Add Copilot custom instructions</a> for smarter, more guided reviews. <a href="https://docs.github.com/en/copilot/customizing-copilot/adding-repository-custom-instructions-for-github-copilot" class="Link--inTextBlock" target="_blank" rel="noopener noreferrer">Learn how to get started</a>.'}}, '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-08T09:28:56Z', 'pushed_at': '2026-11-08T01:16:41Z', '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': 563799, 'stargazers_count': 15776, 'watchers_count': 15776, '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': 483, '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': 483, 'watchers': 15776, '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': 'Copilot', 'id': 175728472, 'node_id': 'BOT_kgDOCnlnWA', 'avatar_url': 'https://avatars.githubusercontent.com/in/946600?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/Copilot', 'html_url': 'https://github.com/apps/copilot-pull-request-reviewer', 'followers_url': 'https://api.github.com/users/Copilot/followers', 'following_url': 'https://api.github.com/users/Copilot/following{/other_user}', 'gists_url': 'https://api.github.com/users/Copilot/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/Copilot/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/Copilot/subscriptions', 'organizations_url': 'https://api.github.com/users/Copilot/orgs', 'repos_url': 'https://api.github.com/users/Copilot/repos', 'events_url': 'https://api.github.com/users/Copilot/events{/privacy}', 'received_events_url': 'https://api.github.com/users/Copilot/received_events', 'type': 'Bot', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'raw_gh_hook'}
2026-11-08T10:41:51.019078 {'source': 'webserver', 'gh_type': 'pull_request_review', 'raw': {'action': 'submitted', 'review': {'id': 5817566378, 'node_id': 'PRR_kwDOALCn2M8AAAABWsEEqg', '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}, 'body': 'I am not comfortable with this kind of "provenance washing" of PRs like #14988. The reason why we forbade AI usage in this part of the code base isn\'t because the problem is that the AI is writing code, it\'s because we don\'t know where the AI\'s information came from.\r\n\r\nAt the same time, I do realize that this puts someone who read the AI-generated PR in an awkward position, because it\'s hard to "unrealize" a bug.', 'commit_id': 'c25a5e47ec9a55a81414a2c3420764b4a6614ba8', 'state': 'changes_requested', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14995#pullrequestreview-5817566378', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14995', '_links': {'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14995#pullrequestreview-5817566378'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14995'}}, 'submitted_at': '2026-11-08T10:41:49Z', 'updated_at': '2026-11-08T10:41:49Z', 'author_association': 'MEMBER'}, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14995', 'id': 5208102536, 'node_id': 'PR_kwDOALCn2M8AAAABNm1WiA', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14995', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14995.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14995.patch', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14995', 'number': 14995, 'state': 'open', 'locked': False, 'title': 'AX: fix two bugs', 'user': {'login': 'Tilka', 'id': 123798, 'node_id': 'MDQ6VXNlcjEyMzc5OA==', 'avatar_url': 'https://avatars.githubusercontent.com/u/123798?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/Tilka', 'html_url': 'https://github.com/Tilka', 'followers_url': 'https://api.github.com/users/Tilka/followers', 'following_url': 'https://api.github.com/users/Tilka/following{/other_user}', 'gists_url': 'https://api.github.com/users/Tilka/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/Tilka/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/Tilka/subscriptions', 'organizations_url': 'https://api.github.com/users/Tilka/orgs', 'repos_url': 'https://api.github.com/users/Tilka/repos', 'events_url': 'https://api.github.com/users/Tilka/events{/privacy}', 'received_events_url': 'https://api.github.com/users/Tilka/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': "The de-pop issue was reported in #14988.\n\nThe CMD_SUB_TO_LR bug was found by staring. No idea which games actually use this command. I assume it's one of the surround schemes.", 'created_at': '2026-11-08T02:59:20Z', 'updated_at': '2026-11-08T04:18:35Z', 'closed_at': None, 'merged_at': None, 'merge_commit_sha': '256ebf1dc8dac0b94f1c375d37872c05026f775c', 'assignees': [], 'requested_reviewers': [], 'requested_teams': [], 'labels': [], 'milestone': None, 'draft': False, 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14995/commits', 'review_comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14995/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/14995/comments', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/c25a5e47ec9a55a81414a2c3420764b4a6614ba8', 'head': {'label': 'Tilka:ax_fixes', 'ref': 'ax_fixes', 'sha': 'c25a5e47ec9a55a81414a2c3420764b4a6614ba8', 'user': {'login': 'Tilka', 'id': 123798, 'node_id': 'MDQ6VXNlcjEyMzc5OA==', 'avatar_url': 'https://avatars.githubusercontent.com/u/123798?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/Tilka', 'html_url': 'https://github.com/Tilka', 'followers_url': 'https://api.github.com/users/Tilka/followers', 'following_url': 'https://api.github.com/users/Tilka/following{/other_user}', 'gists_url': 'https://api.github.com/users/Tilka/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/Tilka/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/Tilka/subscriptions', 'organizations_url': 'https://api.github.com/users/Tilka/orgs', 'repos_url': 'https://api.github.com/users/Tilka/repos', 'events_url': 'https://api.github.com/users/Tilka/events{/privacy}', 'received_events_url': 'https://api.github.com/users/Tilka/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 16304949, 'node_id': 'MDEwOlJlcG9zaXRvcnkxNjMwNDk0OQ==', 'name': 'dolphin', 'full_name': 'Tilka/dolphin', 'private': False, 'owner': {'login': 'Tilka', 'id': 123798, 'node_id': 'MDQ6VXNlcjEyMzc5OA==', 'avatar_url': 'https://avatars.githubusercontent.com/u/123798?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/Tilka', 'html_url': 'https://github.com/Tilka', 'followers_url': 'https://api.github.com/users/Tilka/followers', 'following_url': 'https://api.github.com/users/Tilka/following{/other_user}', 'gists_url': 'https://api.github.com/users/Tilka/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/Tilka/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/Tilka/subscriptions', 'organizations_url': 'https://api.github.com/users/Tilka/orgs', 'repos_url': 'https://api.github.com/users/Tilka/repos', 'events_url': 'https://api.github.com/users/Tilka/events{/privacy}', 'received_events_url': 'https://api.github.com/users/Tilka/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/Tilka/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/Tilka/dolphin', 'forks_url': 'https://api.github.com/repos/Tilka/dolphin/forks', 'keys_url': 'https://api.github.com/repos/Tilka/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/Tilka/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/Tilka/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/Tilka/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/Tilka/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/Tilka/dolphin/events', 'assignees_url': 'https://api.github.com/repos/Tilka/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/Tilka/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/Tilka/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/Tilka/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/Tilka/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/Tilka/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/Tilka/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/Tilka/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/Tilka/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/Tilka/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/Tilka/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/Tilka/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/Tilka/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/Tilka/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/Tilka/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/Tilka/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/Tilka/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/Tilka/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/Tilka/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/Tilka/dolphin/merges', 'archive_url': 'https://api.github.com/repos/Tilka/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/Tilka/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/Tilka/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/Tilka/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/Tilka/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/Tilka/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/Tilka/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/Tilka/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/Tilka/dolphin/deployments', 'created_at': '2014-01-28T07:24:53Z', 'updated_at': '2024-12-24T17:03:46Z', 'pushed_at': '2026-11-08T04:06:59Z', 'git_url': 'git://github.com/Tilka/dolphin.git', 'ssh_url': 'git@github.com:Tilka/dolphin.git', 'clone_url': 'https://github.com/Tilka/dolphin.git', 'svn_url': 'https://github.com/Tilka/dolphin', 'homepage': None, 'size': 526102, 'stargazers_count': 3, 'watchers_count': 3, 'language': 'C++', 'has_issues': False, 'has_projects': True, 'has_downloads': False, 'has_wiki': False, 'has_pages': False, 'has_discussions': False, 'forks_count': 0, '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': 0, 'open_issues': 0, 'watchers': 3, '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': '257a6d0eac1d915216dbc974e9390af3050af2b9', '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-08T09:28:56Z', 'pushed_at': '2026-11-08T01:16:41Z', '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': 563799, 'stargazers_count': 15776, 'watchers_count': 15776, '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': 483, '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': 483, 'watchers': 15776, '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/14995'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14995'}, 'issue': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14995'}, 'comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14995/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14995/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/14995/commits'}, 'statuses': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/c25a5e47ec9a55a81414a2c3420764b4a6614ba8'}}, '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-08T09:28:56Z', 'pushed_at': '2026-11-08T01:16:41Z', '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': 563799, 'stargazers_count': 15776, 'watchers_count': 15776, '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': 483, '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': 483, 'watchers': 15776, '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': 'raw_gh_hook'}
2026-11-08T10:39:58.584037 {'source': 'webserver', 'gh_type': 'issue_comment', 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14988', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14988/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14988/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14988/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14988', 'id': 6247886876, 'node_id': 'PR_kwDOALCn2M8AAAABNXvSgQ', 'number': 14988, 'title': "DSPHLE/AXWii: Reset the depop values of channels a voice isn't mixed into", 'user': {'login': 'Zontex', 'id': 19342533, 'node_id': 'MDQ6VXNlcjE5MzQyNTMz', 'avatar_url': 'https://avatars.githubusercontent.com/u/19342533?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/Zontex', 'html_url': 'https://github.com/Zontex', 'followers_url': 'https://api.github.com/users/Zontex/followers', 'following_url': 'https://api.github.com/users/Zontex/following{/other_user}', 'gists_url': 'https://api.github.com/users/Zontex/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/Zontex/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/Zontex/subscriptions', 'organizations_url': 'https://api.github.com/users/Zontex/orgs', 'repos_url': 'https://api.github.com/users/Zontex/repos', 'events_url': 'https://api.github.com/users/Zontex/events{/privacy}', 'received_events_url': 'https://api.github.com/users/Zontex/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'closed', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 1, 'created_at': '2026-11-06T17:55:01Z', 'updated_at': '2026-11-08T10:39:56Z', 'closed_at': '2026-11-06T17:58:23Z', '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/14988', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14988', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14988.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14988.patch', 'merged_at': None}, 'body': "The AXWii uCode writes 0 to the depop value of every channel a running voice isn't mixed into. That covers the main, aux A/B/C and Wii Remote channels, and all the remote channels when the voice isn't sent to the remotes at all. The HLE only wrote these values from `MixAdd`, so a PB reused for another sound kept the value from its earlier use in the PB it wrote back to memory.\n\n**How it was found.** This turned up in [wii-recomp](https://github.com/Zontex/wii-recomp), a static recompiler for Wii games, which has a C port of the AX HLE checked against the real uCode on a DSP interpreter. Both versions were fed the same recorded PBs and mail, and the PBs written back to memory were compared word by word:\n\n- Mario Kart Wii (AXWii 347112ba): a voice set up again kept its last use's depop value on a main/aux channel it was no longer mixed into. The uCode wrote 0.\n- Wii Fit Plus (AXWii 4cc52064), 14,450 frames from power-on: two voices playing, mixed to main left only, with a remote channel set in `remote_mixer_control` but `remote` off, still carried -3 in `remote_dpop.main0`. The uCode wrote 0.\n\nWith the same change in the C port, both recordings match the uCode exactly: 0 of 240,902,160 words differ on Wii Fit Plus, and 0 of 183,973,056 on Mario Kart Wii. The change only applies to AXWii (`#ifdef AX_WII`). The GameCube AX version wasn't measured, so it's unchanged.\n\n**Testing.** I haven't built or run this Dolphin patch. It's a port of the change above. Comparing PBs under HLE and LLE in Dolphin on either game should show it.\n\n🤖 Generated with [Claude Code](https://claude.com/claude-code)\n", 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14988/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/14988/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6720461860', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14988#issuecomment-6720461860', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14988', 'id': 6720461860, 'node_id': 'IC_kwDOALCn2M8AAAABkJIcJA', '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-08T10:39:56Z', 'updated_at': '2026-11-08T10:39:56Z', 'body': 'AI usage is forbidden for this part of the codebase.\r\n\r\nI meant to post this on both of your PRs when I closed them, but it seems like I forgot to post it on this one. Posting it now just for clarity for others looking at this PR in the future.', 'author_association': 'MEMBER', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6720461860/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-08T09:28:56Z', 'pushed_at': '2026-11-08T01:16:41Z', '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': 563799, 'stargazers_count': 15776, 'watchers_count': 15776, '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': 483, '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': 483, 'watchers': 15776, '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': 'raw_gh_hook'}
2026-11-08T10:35:30.559324 {'source': 'webserver', 'gh_type': 'issue_comment', 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14713', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14713/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14713/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14713/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14713', 'id': 4799994243, 'node_id': 'PR_kwDOALCn2M7taCDH', 'number': 14713, 'title': 'Fix cheatsmanager crash', 'user': {'login': 'llsc12', 'id': 42747613, 'node_id': 'MDQ6VXNlcjQyNzQ3NjEz', 'avatar_url': 'https://avatars.githubusercontent.com/u/42747613?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/llsc12', 'html_url': 'https://github.com/llsc12', 'followers_url': 'https://api.github.com/users/llsc12/followers', 'following_url': 'https://api.github.com/users/llsc12/following{/other_user}', 'gists_url': 'https://api.github.com/users/llsc12/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/llsc12/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/llsc12/subscriptions', 'organizations_url': 'https://api.github.com/users/llsc12/orgs', 'repos_url': 'https://api.github.com/users/llsc12/repos', 'events_url': 'https://api.github.com/users/llsc12/events{/privacy}', 'received_events_url': 'https://api.github.com/users/llsc12/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 5, 'created_at': '2026-07-03T03:15:08Z', 'updated_at': '2026-11-08T10:35:28Z', '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/14713', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14713', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14713.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14713.patch', 'merged_at': None}, 'body': "`OnFrameEnd` is called from the CPU thread and starts calling methods on widgets. When searching memory for values, this caused Dolphin to crash a lot for me. Reproduced relatively reliably by having the game running, memory values auto-updating and trying to edit an address' description. \r\n\r\nThe fix just moves work onto the GUI thread, with an atomic flag to avoid posting events every frame if the GUI thread was to fall behind. \r\n\r\nI tested this for around 4 hours making some cheat codes for newer smbw. No crashes thus far.\r\n\r\nAI was used to examine crash logs.", 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14713/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/14713/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6720421781', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14713#issuecomment-6720421781', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14713', 'id': 6720421781, 'node_id': 'IC_kwDOALCn2M8AAAABkJF_lQ', 'user': {'login': 'llsc12', 'id': 42747613, 'node_id': 'MDQ6VXNlcjQyNzQ3NjEz', 'avatar_url': 'https://avatars.githubusercontent.com/u/42747613?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/llsc12', 'html_url': 'https://github.com/llsc12', 'followers_url': 'https://api.github.com/users/llsc12/followers', 'following_url': 'https://api.github.com/users/llsc12/following{/other_user}', 'gists_url': 'https://api.github.com/users/llsc12/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/llsc12/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/llsc12/subscriptions', 'organizations_url': 'https://api.github.com/users/llsc12/orgs', 'repos_url': 'https://api.github.com/users/llsc12/repos', 'events_url': 'https://api.github.com/users/llsc12/events{/privacy}', 'received_events_url': 'https://api.github.com/users/llsc12/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2026-11-08T10:35:28Z', 'updated_at': '2026-11-08T10:35:28Z', 'body': 'okii done', 'author_association': 'NONE', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6720421781/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-08T09:28:56Z', 'pushed_at': '2026-11-08T01:16:41Z', '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': 563799, 'stargazers_count': 15776, 'watchers_count': 15776, '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': 483, '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': 483, 'watchers': 15776, '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': 'llsc12', 'id': 42747613, 'node_id': 'MDQ6VXNlcjQyNzQ3NjEz', 'avatar_url': 'https://avatars.githubusercontent.com/u/42747613?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/llsc12', 'html_url': 'https://github.com/llsc12', 'followers_url': 'https://api.github.com/users/llsc12/followers', 'following_url': 'https://api.github.com/users/llsc12/following{/other_user}', 'gists_url': 'https://api.github.com/users/llsc12/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/llsc12/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/llsc12/subscriptions', 'organizations_url': 'https://api.github.com/users/llsc12/orgs', 'repos_url': 'https://api.github.com/users/llsc12/repos', 'events_url': 'https://api.github.com/users/llsc12/events{/privacy}', 'received_events_url': 'https://api.github.com/users/llsc12/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'raw_gh_hook'}
2026-11-08T10:34:40.395402 {'source': 'webserver', 'gh_type': 'pull_request', 'raw': {'action': 'synchronize', 'number': 14713, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14713', 'id': 3983024327, 'node_id': 'PR_kwDOALCn2M7taCDH', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14713', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14713.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14713.patch', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14713', 'number': 14713, 'state': 'open', 'locked': False, 'title': 'Fix cheatsmanager crash', 'user': {'login': 'llsc12', 'id': 42747613, 'node_id': 'MDQ6VXNlcjQyNzQ3NjEz', 'avatar_url': 'https://avatars.githubusercontent.com/u/42747613?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/llsc12', 'html_url': 'https://github.com/llsc12', 'followers_url': 'https://api.github.com/users/llsc12/followers', 'following_url': 'https://api.github.com/users/llsc12/following{/other_user}', 'gists_url': 'https://api.github.com/users/llsc12/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/llsc12/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/llsc12/subscriptions', 'organizations_url': 'https://api.github.com/users/llsc12/orgs', 'repos_url': 'https://api.github.com/users/llsc12/repos', 'events_url': 'https://api.github.com/users/llsc12/events{/privacy}', 'received_events_url': 'https://api.github.com/users/llsc12/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': "`OnFrameEnd` is called from the CPU thread and starts calling methods on widgets. When searching memory for values, this caused Dolphin to crash a lot for me. Reproduced relatively reliably by having the game running, memory values auto-updating and trying to edit an address' description. \r\n\r\nThe fix just moves work onto the GUI thread, with an atomic flag to avoid posting events every frame if the GUI thread was to fall behind. \r\n\r\nI tested this for around 4 hours making some cheat codes for newer smbw. No crashes thus far.\r\n\r\nAI was used to examine crash logs.", 'created_at': '2026-07-03T03:15:08Z', 'updated_at': '2026-11-08T10:34:38Z', 'closed_at': None, 'merged_at': None, 'merge_commit_sha': '7a5ea457811c7f482c094039976cd9c952ad08a2', 'assignees': [], 'requested_reviewers': [], 'requested_teams': [], 'labels': [], 'milestone': None, 'draft': False, 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14713/commits', 'review_comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14713/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/14713/comments', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/016e11d73621005cc2b7d20244884b72e286b4a5', 'head': {'label': 'llsc12:master', 'ref': 'master', 'sha': '016e11d73621005cc2b7d20244884b72e286b4a5', 'user': {'login': 'llsc12', 'id': 42747613, 'node_id': 'MDQ6VXNlcjQyNzQ3NjEz', 'avatar_url': 'https://avatars.githubusercontent.com/u/42747613?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/llsc12', 'html_url': 'https://github.com/llsc12', 'followers_url': 'https://api.github.com/users/llsc12/followers', 'following_url': 'https://api.github.com/users/llsc12/following{/other_user}', 'gists_url': 'https://api.github.com/users/llsc12/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/llsc12/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/llsc12/subscriptions', 'organizations_url': 'https://api.github.com/users/llsc12/orgs', 'repos_url': 'https://api.github.com/users/llsc12/repos', 'events_url': 'https://api.github.com/users/llsc12/events{/privacy}', 'received_events_url': 'https://api.github.com/users/llsc12/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 1287805369, 'node_id': 'R_kgDOTMJZuQ', 'name': 'dolphin', 'full_name': 'llsc12/dolphin', 'private': False, 'owner': {'login': 'llsc12', 'id': 42747613, 'node_id': 'MDQ6VXNlcjQyNzQ3NjEz', 'avatar_url': 'https://avatars.githubusercontent.com/u/42747613?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/llsc12', 'html_url': 'https://github.com/llsc12', 'followers_url': 'https://api.github.com/users/llsc12/followers', 'following_url': 'https://api.github.com/users/llsc12/following{/other_user}', 'gists_url': 'https://api.github.com/users/llsc12/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/llsc12/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/llsc12/subscriptions', 'organizations_url': 'https://api.github.com/users/llsc12/orgs', 'repos_url': 'https://api.github.com/users/llsc12/repos', 'events_url': 'https://api.github.com/users/llsc12/events{/privacy}', 'received_events_url': 'https://api.github.com/users/llsc12/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/llsc12/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/llsc12/dolphin', 'forks_url': 'https://api.github.com/repos/llsc12/dolphin/forks', 'keys_url': 'https://api.github.com/repos/llsc12/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/llsc12/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/llsc12/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/llsc12/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/llsc12/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/llsc12/dolphin/events', 'assignees_url': 'https://api.github.com/repos/llsc12/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/llsc12/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/llsc12/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/llsc12/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/llsc12/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/llsc12/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/llsc12/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/llsc12/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/llsc12/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/llsc12/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/llsc12/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/llsc12/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/llsc12/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/llsc12/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/llsc12/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/llsc12/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/llsc12/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/llsc12/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/llsc12/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/llsc12/dolphin/merges', 'archive_url': 'https://api.github.com/repos/llsc12/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/llsc12/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/llsc12/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/llsc12/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/llsc12/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/llsc12/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/llsc12/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/llsc12/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/llsc12/dolphin/deployments', 'created_at': '2026-07-03T02:52:06Z', 'updated_at': '2026-09-26T14:14:35Z', 'pushed_at': '2026-11-08T10:34:36Z', 'git_url': 'git://github.com/llsc12/dolphin.git', 'ssh_url': 'git@github.com:llsc12/dolphin.git', 'clone_url': 'https://github.com/llsc12/dolphin.git', 'svn_url': 'https://github.com/llsc12/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 523579, 'stargazers_count': 0, 'watchers_count': 0, 'language': 'C++', 'has_issues': False, 'has_projects': True, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 0, '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': 0, 'open_issues': 0, 'watchers': 0, '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': '257a6d0eac1d915216dbc974e9390af3050af2b9', '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-08T09:28:56Z', 'pushed_at': '2026-11-08T01:16:41Z', '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': 563799, 'stargazers_count': 15776, 'watchers_count': 15776, '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': 483, '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': 483, 'watchers': 15776, '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/14713'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14713'}, 'issue': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14713'}, 'comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14713/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14713/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/14713/commits'}, 'statuses': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/016e11d73621005cc2b7d20244884b72e286b4a5'}}, 'author_association': 'NONE', 'auto_merge': None, 'assignee': None, 'active_lock_reason': None, 'merged': False, 'mergeable': None, 'rebaseable': None, 'mergeable_state': 'unknown', 'merged_by': None, 'comments': 4, 'review_comments': 1, 'maintainer_can_modify': True, 'commits': 1, 'additions': 20, 'deletions': 8, 'changed_files': 2}, 'before': '42920ca2aa626258b111761f7281db3f03df8167', 'after': '016e11d73621005cc2b7d20244884b72e286b4a5', '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-08T09:28:56Z', 'pushed_at': '2026-11-08T01:16:41Z', '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': 563799, 'stargazers_count': 15776, 'watchers_count': 15776, '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': 483, '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': 483, 'watchers': 15776, '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': 'llsc12', 'id': 42747613, 'node_id': 'MDQ6VXNlcjQyNzQ3NjEz', 'avatar_url': 'https://avatars.githubusercontent.com/u/42747613?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/llsc12', 'html_url': 'https://github.com/llsc12', 'followers_url': 'https://api.github.com/users/llsc12/followers', 'following_url': 'https://api.github.com/users/llsc12/following{/other_user}', 'gists_url': 'https://api.github.com/users/llsc12/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/llsc12/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/llsc12/subscriptions', 'organizations_url': 'https://api.github.com/users/llsc12/orgs', 'repos_url': 'https://api.github.com/users/llsc12/repos', 'events_url': 'https://api.github.com/users/llsc12/events{/privacy}', 'received_events_url': 'https://api.github.com/users/llsc12/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'raw_gh_hook'}
2026-11-08T10:25:19.047433 {'source': 'webserver', 'gh_type': 'issue_comment', 'raw': {'action': 'deleted', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14671', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14671/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14671/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14671/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14671', 'id': 4583386340, 'node_id': 'PR_kwDOALCn2M7iZsjC', 'number': 14671, 'title': 'Android: Add RetroAchievements host override receiver', 'user': {'login': 'misantronic', 'id': 6033531, 'node_id': 'MDQ6VXNlcjYwMzM1MzE=', 'avatar_url': 'https://avatars.githubusercontent.com/u/6033531?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/misantronic', 'html_url': 'https://github.com/misantronic', 'followers_url': 'https://api.github.com/users/misantronic/followers', 'following_url': 'https://api.github.com/users/misantronic/following{/other_user}', 'gists_url': 'https://api.github.com/users/misantronic/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/misantronic/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/misantronic/subscriptions', 'organizations_url': 'https://api.github.com/users/misantronic/orgs', 'repos_url': 'https://api.github.com/users/misantronic/repos', 'events_url': 'https://api.github.com/users/misantronic/events{/privacy}', 'received_events_url': 'https://api.github.com/users/misantronic/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 21, 'created_at': '2026-06-03T20:26:42Z', 'updated_at': '2026-11-08T10:25:10Z', '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/14671', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14671', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14671.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14671.patch', 'merged_at': None}, 'body': "[RAOfflineProxy](https://raofflineproxy.com/) is an Android app that proxies RetroAchievements traffic through `127.0.0.1`, enabling offline softcore achievement play through local caching and later sync.\n\nThis makes the override controllable by the app at runtime instead of requiring external tools to patch `RetroAchievements.ini` directly, which is more brittle and harder to integrate cleanly on Android.\n\n## Summary\n- add an Android broadcast receiver for setting and clearing the RetroAchievements host override\n- persist the override to Dolphin's RetroAchievements config and disable hardcore while active\n- reload the achievement manager after config changes so the override takes effect without manual file edits\n\n## Testing\n- built `:app:assembleDebug`\n- installed the debug APK on device via `adb`\n- verified `SET_RETROACHIEVEMENTS_HOST_OVERRIDE` patches `RetroAchievements.ini` to `HostUrl = 127.0.0.1:8080` and sets `HardcoreEnabled = False`\n- verified traffic then routes through the local proxy\n- verified `CLEAR_RETROACHIEVEMENTS_HOST_OVERRIDE` resets `HostUrl =`\n\n## Related\n- mirrors the same Android broadcast-driven host override already merged for [PPSSPP](https://github.com/hrydgard/ppsspp/pull/21760), planned for the upcoming release\n- mirrors the same integration already merged for [flycast](https://github.com/flyinghead/flycast/pull/2371), planned for the upcoming release\n- mirrors the same integration already merged for [ARMSX2](https://github.com/ARMSX2/ARMSX2/pull/164) and shipped in the current build, and inherited by [ARMSX1](https://github.com/ARMSX2/ARMSX1)\n- mirrors the same integration already merged for [mupen64plus-ae](https://github.com/JoeysRetroHandhelds/mupen64plus-ae-retroachievements/pull/1)\n- mirrors the same integration already shipped in [WatermelonDS](https://github.com/SapphireRhodonite/WatermelonDS), with [SeedlessDS](https://github.com/SapphireRhodonite/SeedlessDS) pending\n- follows the same goal as the open PRs for [RetroArch](https://github.com/libretro/RetroArch/pull/19093) and [NetherSX2](https://github.com/Trixarian/NetherSX2-patch/pull/343)\n", 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14671/reactions', 'total_count': 1, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 1}, 'timeline_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14671/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6720329698', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14671#issuecomment-6720329698', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14671', 'id': 6720329698, 'node_id': 'IC_kwDOALCn2M8AAAABkJAX4g', '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}, 'created_at': '2026-11-08T10:25:10Z', 'updated_at': '2026-11-08T10:25:10Z', 'body': '@dolphin-emu-bot rebuild', 'author_association': 'MEMBER', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6720329698/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-08T09:28:56Z', 'pushed_at': '2026-11-08T01:16:41Z', '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': 563799, 'stargazers_count': 15776, 'watchers_count': 15776, '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': 483, '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': 483, 'watchers': 15776, '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-08T10:25:12.099707 {'source': 'webserver', 'gh_type': 'issue_comment', 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14671', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14671/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14671/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14671/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14671', 'id': 4583386340, 'node_id': 'PR_kwDOALCn2M7iZsjC', 'number': 14671, 'title': 'Android: Add RetroAchievements host override receiver', 'user': {'login': 'misantronic', 'id': 6033531, 'node_id': 'MDQ6VXNlcjYwMzM1MzE=', 'avatar_url': 'https://avatars.githubusercontent.com/u/6033531?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/misantronic', 'html_url': 'https://github.com/misantronic', 'followers_url': 'https://api.github.com/users/misantronic/followers', 'following_url': 'https://api.github.com/users/misantronic/following{/other_user}', 'gists_url': 'https://api.github.com/users/misantronic/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/misantronic/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/misantronic/subscriptions', 'organizations_url': 'https://api.github.com/users/misantronic/orgs', 'repos_url': 'https://api.github.com/users/misantronic/repos', 'events_url': 'https://api.github.com/users/misantronic/events{/privacy}', 'received_events_url': 'https://api.github.com/users/misantronic/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 21, 'created_at': '2026-06-03T20:26:42Z', 'updated_at': '2026-11-08T10:25:10Z', '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/14671', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14671', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14671.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14671.patch', 'merged_at': None}, 'body': "[RAOfflineProxy](https://raofflineproxy.com/) is an Android app that proxies RetroAchievements traffic through `127.0.0.1`, enabling offline softcore achievement play through local caching and later sync.\n\nThis makes the override controllable by the app at runtime instead of requiring external tools to patch `RetroAchievements.ini` directly, which is more brittle and harder to integrate cleanly on Android.\n\n## Summary\n- add an Android broadcast receiver for setting and clearing the RetroAchievements host override\n- persist the override to Dolphin's RetroAchievements config and disable hardcore while active\n- reload the achievement manager after config changes so the override takes effect without manual file edits\n\n## Testing\n- built `:app:assembleDebug`\n- installed the debug APK on device via `adb`\n- verified `SET_RETROACHIEVEMENTS_HOST_OVERRIDE` patches `RetroAchievements.ini` to `HostUrl = 127.0.0.1:8080` and sets `HardcoreEnabled = False`\n- verified traffic then routes through the local proxy\n- verified `CLEAR_RETROACHIEVEMENTS_HOST_OVERRIDE` resets `HostUrl =`\n\n## Related\n- mirrors the same Android broadcast-driven host override already merged for [PPSSPP](https://github.com/hrydgard/ppsspp/pull/21760), planned for the upcoming release\n- mirrors the same integration already merged for [flycast](https://github.com/flyinghead/flycast/pull/2371), planned for the upcoming release\n- mirrors the same integration already merged for [ARMSX2](https://github.com/ARMSX2/ARMSX2/pull/164) and shipped in the current build, and inherited by [ARMSX1](https://github.com/ARMSX2/ARMSX1)\n- mirrors the same integration already merged for [mupen64plus-ae](https://github.com/JoeysRetroHandhelds/mupen64plus-ae-retroachievements/pull/1)\n- mirrors the same integration already shipped in [WatermelonDS](https://github.com/SapphireRhodonite/WatermelonDS), with [SeedlessDS](https://github.com/SapphireRhodonite/SeedlessDS) pending\n- follows the same goal as the open PRs for [RetroArch](https://github.com/libretro/RetroArch/pull/19093) and [NetherSX2](https://github.com/Trixarian/NetherSX2-patch/pull/343)\n", 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14671/reactions', 'total_count': 1, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 1}, 'timeline_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14671/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6720329698', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14671#issuecomment-6720329698', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14671', 'id': 6720329698, 'node_id': 'IC_kwDOALCn2M8AAAABkJAX4g', '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}, 'created_at': '2026-11-08T10:25:10Z', 'updated_at': '2026-11-08T10:25:10Z', 'body': '@dolphin-emu-bot rebuild', 'author_association': 'MEMBER', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6720329698/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-08T09:28:56Z', 'pushed_at': '2026-11-08T01:16:41Z', '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': 563799, 'stargazers_count': 15776, 'watchers_count': 15776, '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': 483, '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': 483, 'watchers': 15776, '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-08T08:58:01.803669 {'source': 'webserver', 'gh_type': 'pull_request', 'raw': {'action': 'review_requested', 'number': 14654, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14654', 'id': 3708414795, 'node_id': 'PR_kwDOALCn2M7dCetL', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14654', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14654.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14654.patch', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14654', 'number': 14654, 'state': 'open', 'locked': False, 'title': 'GameINI: Add fix codes to the internal color bug in Capcom vs. SNK 2 EO', 'user': {'login': 'Immersion95', 'id': 47425204, 'node_id': 'MDQ6VXNlcjQ3NDI1MjA0', 'avatar_url': 'https://avatars.githubusercontent.com/u/47425204?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/Immersion95', 'html_url': 'https://github.com/Immersion95', 'followers_url': 'https://api.github.com/users/Immersion95/followers', 'following_url': 'https://api.github.com/users/Immersion95/following{/other_user}', 'gists_url': 'https://api.github.com/users/Immersion95/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/Immersion95/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/Immersion95/subscriptions', 'organizations_url': 'https://api.github.com/users/Immersion95/orgs', 'repos_url': 'https://api.github.com/users/Immersion95/repos', 'events_url': 'https://api.github.com/users/Immersion95/events{/privacy}', 'received_events_url': 'https://api.github.com/users/Immersion95/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': '## Summary\r\n\r\nThis PR adds Gecko codes for all three GameCube releases of **Capcom vs. SNK 2 EO**:\r\n\r\n- **GEOJ08** (Japan)\r\n- **GEOE08** (USA)\r\n- **GEOP08** (Europe)\r\n\r\nThese codes fix the **green-tinted gameplay colors** seen in the GameCube version and restore the in-game characters/objects colors from the **Naomi, Dreamcast and PS2** versions.\r\n\r\n---\r\n\r\n## Problem\r\n\r\nThe GameCube version of *Capcom vs. SNK 2 EO* applies an incorrect color treatment during gameplay.\r\n\r\nIn practice, this causes:\r\n- a noticeable **green tint** on characters and gameplay objects,\r\n- palette-dependent color shifts,\r\n- colors that do **not** match the game’s own **Color Edit mode**,\r\n- and colors that differ from the appearance seen in the **Dreamcast / PS2 / Naomi** versions.\r\n\r\nA simple way to observe the issue is to compare:\r\n1. a character’s appearance in **Color Edit mode**,\r\n2. the same character in **normal gameplay**,\r\n3. and the same character with the fix enabled.\r\n\r\nWithout the patch, gameplay colors are visibly off. With the patch, they become identical to the intended rendering.\r\n\r\n---\r\n\r\n## What does this cheat do ?\r\n\r\nThe fix targets two separate parts of the GameCube gameplay rendering path.\r\n\r\n### 1. Palette / TLUT high-bit forcing\r\n\r\nSeveral gameplay palette/TLUT copy routines force the RGB5A3 high bit with instructions equivalent to:\r\n\r\n ori ..., ..., 0x8000\r\n\r\nThis appears to be intended to force palette entries into opaque RGB555 mode. However, in the affected gameplay paths, this produces an unwanted green-bit bias on some colors.\r\n\r\nIn practical terms, some palette entries behave as if one bit of the 5-bit green channel was forced on:\r\n\r\n G5 = G5 | 0b00100\r\n\r\nThis is why the tint is not uniform. Colors where that green bit was already set stay mostly unchanged, while colors where it was clear gain roughly +33 green in 8-bit RGB.\r\n\r\nThe patch removes this forced high-bit operation from the relevant gameplay palette/TLUT paths:\r\n\r\n- main editable character palette path\r\n- common palette loader path\r\n- secondary runtime palette path used by objects and extra sprite palettes\r\n\r\n### 2. Gameplay vertex green multiplier\r\n\r\nGameplay also applies a vertex color multiplier that scales the green channel to 90%:\r\n\r\n mulli ..., ..., 0x5A\r\n\r\n0x5A is 90 in decimal.\r\n\r\nChanging this alone to 100% makes some colors worse, because the palette issue is still present. However, once the palette/TLUT high-bit issue is removed, the 90% green multiplier is no longer needed. The patch restores it to neutral 100%:\r\n\r\n 0x5A -> 0x64\r\n\r\nSo the corrected behavior becomes:\r\n\r\n no unwanted palette green-bit boost\r\n +\r\n neutral 100% gameplay green vertex multiplier\r\n\r\nTogether, these changes make GameCube gameplay colors match exactly the game’s own Color Edit mode and the Naomi / Dreamcast / PS2 references.\r\n\r\n---\r\n\r\n## Findings\r\n\r\nAfter comparing:\r\n- gameplay captures,\r\n- Color Edit mode output,\r\n- memory/state data,\r\n- FIFO captures,\r\n- and debugger traces,\r\n\r\nthe issue appears to be internal to the game’s rendering path rather than a Dolphin-specific bug.\r\n\r\n### Important observation\r\n\r\nThe game’s own **Color Edit mode** is the clearest internal reference for the intended colors.\r\n\r\nFor example:\r\n- **Ryu** in Color Edit mode matches the gameplay of the Naomi/DC/PS2 but not its own GC\'s gameplay which is weird.\r\n\r\nSo this is not just “subjective color preference”, the game itself exposes a cleaner reference path.\r\n\r\n---\r\n\r\n## Theory / likely explanation\r\n\r\nThis looks like an internal GameCube porting issue rather than a Dolphin bug or a display/output problem.\r\n\r\nThe exact reason this shipped in the retail GameCube version is impossible to know without Capcom’s original development notes, but two explanations seem plausible:\r\n\r\n### Theory 1: Capcom could not fully fix it in time\r\n\r\nCapcom may have noticed that the GameCube gameplay colors were too green/yellow late in development, but the real issue was buried in several gameplay palette/TLUT paths.\r\n\r\nInstead of safely rewriting all of those paths before release, they may have added a global 90% green multiplier as a quick mitigation. That reduced the visible tint, but it did not actually fix the underlying palette issue.\r\n\r\nThis would explain why the retail game looks partially corrected, but still does not match Color Edit, Naomi, Dreamcast, or PS2.\r\n\r\n### Theory 2: Capcom accepted or liked the final look\r\n\r\nAnother possibility is that Capcom saw the altered GameCube gameplay colors and simply accepted the result, or even preferred the slightly different look on GameCube displays at the time.\r\n\r\nOn CRTs and analog video output, the issue may have looked less obvious than it does today in clean digital captures or Dolphin screenshots.\r\n\r\nEither way, the final result in the retail GameCube build appears to be an **internal game bug / workaround**, not something caused by Dolphin.\r\n\r\n---\r\n\r\n## Why this matters\r\n\r\nI originally bought *Capcom vs. SNK 2 EO* on GameCube when I was younger, and for a long time I honestly thought **my GameCube had a problem**, because the colors in gameplay always looked wrong.\r\n\r\nOnly much later, after comparing versions and digging into the game more deeply, it became clear that the issue was actually **inside the game itself**.\r\n\r\n- "Just play the DC/PS2 version" Yes.... but CVS2 EO has unique balance change (Roll cancel removed, Stronger P-Groove).\r\n\r\n- "Just play Capcom Fighting Collection 2" Yes.... but there\'s no "Color edit mode" 😐.\r\n\r\n---\r\n\r\n## Result\r\n\r\nWith the codes enabled:\r\n- The green tint is removed, yay !\r\n- Palette behavior becomes much more consistent so your edited colors will match perfectly in gameplay !\r\n- The game colors matches exactly the **Naomi / DC / PS2** versions.\r\n\r\n---\r\n\r\n## Before / After (look at the contrast of the clothes)\r\n\r\n**Before :** 🤮\r\n<img width="640" height="491" alt="GEOJ08_2026-05-19_12-35-16" src="https://github.com/user-attachments/assets/ec89cb4a-7080-443f-8cb5-3aedd6aeb1aa" />\r\n**After :** 😃\r\n<img width="640" height="491" alt="GEOJ08_2026-05-19_12-35-58_4" src="https://github.com/user-attachments/assets/63cd9893-6870-4665-8c1d-503ed8ee6a3a" />\r\nColor Edit Mode for references :\r\n<img width="640" height="491" alt="Color Edit Eagle" src="https://github.com/user-attachments/assets/7266ae2c-2e16-4326-8b08-3f37c24c7114" />\r\n<img width="640" height="491" alt="Color Edit Vice" src="https://github.com/user-attachments/assets/093d534f-23ba-4d53-8410-7ddee7516634" />\r\n\r\n---\r\n\r\n## Notes\r\n\r\nThese are **Gecko codes**, so they are useful both in Dolphin and on real hardware setups that support Gecko codes (tested in **Nintendon\'t**).\r\n\r\n---\r\n\r\n## Credits\r\n\r\nThis investigation and fix were worked out using:\r\n- **Dolphin’s debugger / FIFO tools**\r\n- a lot of manual comparison and testing\r\n- and **ChatGPT** for assistance during the reverse-engineering / analysis process.', 'created_at': '2026-05-19T11:12:00Z', 'updated_at': '2026-11-08T08:57:59Z', 'closed_at': None, 'merged_at': None, 'merge_commit_sha': '682d710743615574a3f8ad8ad9eba9fe5a652389', 'assignees': [], 'requested_reviewers': [{'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}], 'requested_teams': [], 'labels': [], 'milestone': None, 'draft': False, 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14654/commits', 'review_comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14654/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/14654/comments', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/21d62d809366fed955f4481132f884ba22142749', 'head': {'label': 'Immersion95:master', 'ref': 'master', 'sha': '21d62d809366fed955f4481132f884ba22142749', 'user': {'login': 'Immersion95', 'id': 47425204, 'node_id': 'MDQ6VXNlcjQ3NDI1MjA0', 'avatar_url': 'https://avatars.githubusercontent.com/u/47425204?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/Immersion95', 'html_url': 'https://github.com/Immersion95', 'followers_url': 'https://api.github.com/users/Immersion95/followers', 'following_url': 'https://api.github.com/users/Immersion95/following{/other_user}', 'gists_url': 'https://api.github.com/users/Immersion95/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/Immersion95/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/Immersion95/subscriptions', 'organizations_url': 'https://api.github.com/users/Immersion95/orgs', 'repos_url': 'https://api.github.com/users/Immersion95/repos', 'events_url': 'https://api.github.com/users/Immersion95/events{/privacy}', 'received_events_url': 'https://api.github.com/users/Immersion95/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 1243404989, 'node_id': 'R_kgDOShzavQ', 'name': 'dolphin', 'full_name': 'Immersion95/dolphin', 'private': False, 'owner': {'login': 'Immersion95', 'id': 47425204, 'node_id': 'MDQ6VXNlcjQ3NDI1MjA0', 'avatar_url': 'https://avatars.githubusercontent.com/u/47425204?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/Immersion95', 'html_url': 'https://github.com/Immersion95', 'followers_url': 'https://api.github.com/users/Immersion95/followers', 'following_url': 'https://api.github.com/users/Immersion95/following{/other_user}', 'gists_url': 'https://api.github.com/users/Immersion95/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/Immersion95/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/Immersion95/subscriptions', 'organizations_url': 'https://api.github.com/users/Immersion95/orgs', 'repos_url': 'https://api.github.com/users/Immersion95/repos', 'events_url': 'https://api.github.com/users/Immersion95/events{/privacy}', 'received_events_url': 'https://api.github.com/users/Immersion95/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/Immersion95/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/Immersion95/dolphin', 'forks_url': 'https://api.github.com/repos/Immersion95/dolphin/forks', 'keys_url': 'https://api.github.com/repos/Immersion95/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/Immersion95/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/Immersion95/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/Immersion95/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/Immersion95/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/Immersion95/dolphin/events', 'assignees_url': 'https://api.github.com/repos/Immersion95/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/Immersion95/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/Immersion95/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/Immersion95/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/Immersion95/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/Immersion95/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/Immersion95/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/Immersion95/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/Immersion95/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/Immersion95/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/Immersion95/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/Immersion95/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/Immersion95/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/Immersion95/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/Immersion95/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/Immersion95/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/Immersion95/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/Immersion95/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/Immersion95/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/Immersion95/dolphin/merges', 'archive_url': 'https://api.github.com/repos/Immersion95/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/Immersion95/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/Immersion95/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/Immersion95/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/Immersion95/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/Immersion95/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/Immersion95/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/Immersion95/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/Immersion95/dolphin/deployments', 'created_at': '2026-05-19T10:04:29Z', 'updated_at': '2026-05-19T10:51:10Z', 'pushed_at': '2026-05-19T10:50:53Z', 'git_url': 'git://github.com/Immersion95/dolphin.git', 'ssh_url': 'git@github.com:Immersion95/dolphin.git', 'clone_url': 'https://github.com/Immersion95/dolphin.git', 'svn_url': 'https://github.com/Immersion95/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 505791, 'stargazers_count': 0, 'watchers_count': 0, 'language': 'C++', 'has_issues': False, 'has_projects': True, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 0, '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': 0, 'open_issues': 0, 'watchers': 0, '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': '7b69949cec7afcd1691a9a046d26d5c4a99ce4fc', '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-08T07:08:40Z', 'pushed_at': '2026-11-08T01:16:41Z', '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': 563799, 'stargazers_count': 15775, 'watchers_count': 15775, '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': 483, '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': 483, 'watchers': 15775, '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/14654'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14654'}, 'issue': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14654'}, 'comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14654/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14654/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/14654/commits'}, 'statuses': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/21d62d809366fed955f4481132f884ba22142749'}}, 'author_association': 'NONE', 'auto_merge': None, 'assignee': None, 'active_lock_reason': None, 'merged': False, 'mergeable': True, 'rebaseable': False, 'mergeable_state': 'clean', 'merged_by': None, 'comments': 2, 'review_comments': 0, 'maintainer_can_modify': True, 'commits': 1, 'additions': 69, 'deletions': 0, 'changed_files': 3}, 'requested_reviewer': {'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}, '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-08T07:08:40Z', 'pushed_at': '2026-11-08T01:16:41Z', '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': 563799, 'stargazers_count': 15775, 'watchers_count': 15775, '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': 483, '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': 483, 'watchers': 15775, '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': 'raw_gh_hook'}
2026-11-08T08:51:22.973753 {'source': 'webserver', 'gh_type': 'issue_comment', 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14654', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14654/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14654/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14654/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14654', 'id': 4476842719, 'node_id': 'PR_kwDOALCn2M7dCetL', 'number': 14654, 'title': 'GameINI: Add fix codes to the internal color bug in Capcom vs. SNK 2 EO', 'user': {'login': 'Immersion95', 'id': 47425204, 'node_id': 'MDQ6VXNlcjQ3NDI1MjA0', 'avatar_url': 'https://avatars.githubusercontent.com/u/47425204?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/Immersion95', 'html_url': 'https://github.com/Immersion95', 'followers_url': 'https://api.github.com/users/Immersion95/followers', 'following_url': 'https://api.github.com/users/Immersion95/following{/other_user}', 'gists_url': 'https://api.github.com/users/Immersion95/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/Immersion95/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/Immersion95/subscriptions', 'organizations_url': 'https://api.github.com/users/Immersion95/orgs', 'repos_url': 'https://api.github.com/users/Immersion95/repos', 'events_url': 'https://api.github.com/users/Immersion95/events{/privacy}', 'received_events_url': 'https://api.github.com/users/Immersion95/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 2, 'created_at': '2026-05-19T11:12:00Z', 'updated_at': '2026-11-08T08:51:20Z', '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/14654', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14654', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14654.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14654.patch', 'merged_at': None}, 'body': '## Summary\r\n\r\nThis PR adds Gecko codes for all three GameCube releases of **Capcom vs. SNK 2 EO**:\r\n\r\n- **GEOJ08** (Japan)\r\n- **GEOE08** (USA)\r\n- **GEOP08** (Europe)\r\n\r\nThese codes fix the **green-tinted gameplay colors** seen in the GameCube version and restore the in-game characters/objects colors from the **Naomi, Dreamcast and PS2** versions.\r\n\r\n---\r\n\r\n## Problem\r\n\r\nThe GameCube version of *Capcom vs. SNK 2 EO* applies an incorrect color treatment during gameplay.\r\n\r\nIn practice, this causes:\r\n- a noticeable **green tint** on characters and gameplay objects,\r\n- palette-dependent color shifts,\r\n- colors that do **not** match the game’s own **Color Edit mode**,\r\n- and colors that differ from the appearance seen in the **Dreamcast / PS2 / Naomi** versions.\r\n\r\nA simple way to observe the issue is to compare:\r\n1. a character’s appearance in **Color Edit mode**,\r\n2. the same character in **normal gameplay**,\r\n3. and the same character with the fix enabled.\r\n\r\nWithout the patch, gameplay colors are visibly off. With the patch, they become identical to the intended rendering.\r\n\r\n---\r\n\r\n## What does this cheat do ?\r\n\r\nThe fix targets two separate parts of the GameCube gameplay rendering path.\r\n\r\n### 1. Palette / TLUT high-bit forcing\r\n\r\nSeveral gameplay palette/TLUT copy routines force the RGB5A3 high bit with instructions equivalent to:\r\n\r\n ori ..., ..., 0x8000\r\n\r\nThis appears to be intended to force palette entries into opaque RGB555 mode. However, in the affected gameplay paths, this produces an unwanted green-bit bias on some colors.\r\n\r\nIn practical terms, some palette entries behave as if one bit of the 5-bit green channel was forced on:\r\n\r\n G5 = G5 | 0b00100\r\n\r\nThis is why the tint is not uniform. Colors where that green bit was already set stay mostly unchanged, while colors where it was clear gain roughly +33 green in 8-bit RGB.\r\n\r\nThe patch removes this forced high-bit operation from the relevant gameplay palette/TLUT paths:\r\n\r\n- main editable character palette path\r\n- common palette loader path\r\n- secondary runtime palette path used by objects and extra sprite palettes\r\n\r\n### 2. Gameplay vertex green multiplier\r\n\r\nGameplay also applies a vertex color multiplier that scales the green channel to 90%:\r\n\r\n mulli ..., ..., 0x5A\r\n\r\n0x5A is 90 in decimal.\r\n\r\nChanging this alone to 100% makes some colors worse, because the palette issue is still present. However, once the palette/TLUT high-bit issue is removed, the 90% green multiplier is no longer needed. The patch restores it to neutral 100%:\r\n\r\n 0x5A -> 0x64\r\n\r\nSo the corrected behavior becomes:\r\n\r\n no unwanted palette green-bit boost\r\n +\r\n neutral 100% gameplay green vertex multiplier\r\n\r\nTogether, these changes make GameCube gameplay colors match exactly the game’s own Color Edit mode and the Naomi / Dreamcast / PS2 references.\r\n\r\n---\r\n\r\n## Findings\r\n\r\nAfter comparing:\r\n- gameplay captures,\r\n- Color Edit mode output,\r\n- memory/state data,\r\n- FIFO captures,\r\n- and debugger traces,\r\n\r\nthe issue appears to be internal to the game’s rendering path rather than a Dolphin-specific bug.\r\n\r\n### Important observation\r\n\r\nThe game’s own **Color Edit mode** is the clearest internal reference for the intended colors.\r\n\r\nFor example:\r\n- **Ryu** in Color Edit mode matches the gameplay of the Naomi/DC/PS2 but not its own GC\'s gameplay which is weird.\r\n\r\nSo this is not just “subjective color preference”, the game itself exposes a cleaner reference path.\r\n\r\n---\r\n\r\n## Theory / likely explanation\r\n\r\nThis looks like an internal GameCube porting issue rather than a Dolphin bug or a display/output problem.\r\n\r\nThe exact reason this shipped in the retail GameCube version is impossible to know without Capcom’s original development notes, but two explanations seem plausible:\r\n\r\n### Theory 1: Capcom could not fully fix it in time\r\n\r\nCapcom may have noticed that the GameCube gameplay colors were too green/yellow late in development, but the real issue was buried in several gameplay palette/TLUT paths.\r\n\r\nInstead of safely rewriting all of those paths before release, they may have added a global 90% green multiplier as a quick mitigation. That reduced the visible tint, but it did not actually fix the underlying palette issue.\r\n\r\nThis would explain why the retail game looks partially corrected, but still does not match Color Edit, Naomi, Dreamcast, or PS2.\r\n\r\n### Theory 2: Capcom accepted or liked the final look\r\n\r\nAnother possibility is that Capcom saw the altered GameCube gameplay colors and simply accepted the result, or even preferred the slightly different look on GameCube displays at the time.\r\n\r\nOn CRTs and analog video output, the issue may have looked less obvious than it does today in clean digital captures or Dolphin screenshots.\r\n\r\nEither way, the final result in the retail GameCube build appears to be an **internal game bug / workaround**, not something caused by Dolphin.\r\n\r\n---\r\n\r\n## Why this matters\r\n\r\nI originally bought *Capcom vs. SNK 2 EO* on GameCube when I was younger, and for a long time I honestly thought **my GameCube had a problem**, because the colors in gameplay always looked wrong.\r\n\r\nOnly much later, after comparing versions and digging into the game more deeply, it became clear that the issue was actually **inside the game itself**.\r\n\r\n- "Just play the DC/PS2 version" Yes.... but CVS2 EO has unique balance change (Roll cancel removed, Stronger P-Groove).\r\n\r\n- "Just play Capcom Fighting Collection 2" Yes.... but there\'s no "Color edit mode" 😐.\r\n\r\n---\r\n\r\n## Result\r\n\r\nWith the codes enabled:\r\n- The green tint is removed, yay !\r\n- Palette behavior becomes much more consistent so your edited colors will match perfectly in gameplay !\r\n- The game colors matches exactly the **Naomi / DC / PS2** versions.\r\n\r\n---\r\n\r\n## Before / After (look at the contrast of the clothes)\r\n\r\n**Before :** 🤮\r\n<img width="640" height="491" alt="GEOJ08_2026-05-19_12-35-16" src="https://github.com/user-attachments/assets/ec89cb4a-7080-443f-8cb5-3aedd6aeb1aa" />\r\n**After :** 😃\r\n<img width="640" height="491" alt="GEOJ08_2026-05-19_12-35-58_4" src="https://github.com/user-attachments/assets/63cd9893-6870-4665-8c1d-503ed8ee6a3a" />\r\nColor Edit Mode for references :\r\n<img width="640" height="491" alt="Color Edit Eagle" src="https://github.com/user-attachments/assets/7266ae2c-2e16-4326-8b08-3f37c24c7114" />\r\n<img width="640" height="491" alt="Color Edit Vice" src="https://github.com/user-attachments/assets/093d534f-23ba-4d53-8410-7ddee7516634" />\r\n\r\n---\r\n\r\n## Notes\r\n\r\nThese are **Gecko codes**, so they are useful both in Dolphin and on real hardware setups that support Gecko codes (tested in **Nintendon\'t**).\r\n\r\n---\r\n\r\n## Credits\r\n\r\nThis investigation and fix were worked out using:\r\n- **Dolphin’s debugger / FIFO tools**\r\n- a lot of manual comparison and testing\r\n- and **ChatGPT** for assistance during the reverse-engineering / analysis process.', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14654/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/14654/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6719477018', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14654#issuecomment-6719477018', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14654', 'id': 6719477018, 'node_id': 'IC_kwDOALCn2M8AAAABkIMVGg', 'user': {'login': 'Immersion95', 'id': 47425204, 'node_id': 'MDQ6VXNlcjQ3NDI1MjA0', 'avatar_url': 'https://avatars.githubusercontent.com/u/47425204?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/Immersion95', 'html_url': 'https://github.com/Immersion95', 'followers_url': 'https://api.github.com/users/Immersion95/followers', 'following_url': 'https://api.github.com/users/Immersion95/following{/other_user}', 'gists_url': 'https://api.github.com/users/Immersion95/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/Immersion95/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/Immersion95/subscriptions', 'organizations_url': 'https://api.github.com/users/Immersion95/orgs', 'repos_url': 'https://api.github.com/users/Immersion95/repos', 'events_url': 'https://api.github.com/users/Immersion95/events{/privacy}', 'received_events_url': 'https://api.github.com/users/Immersion95/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2026-11-08T08:51:20Z', 'updated_at': '2026-11-08T08:51:20Z', 'body': "Is there any news on the merge ? I think it's an important cheat that should be considered as a internal bugfix :).", 'author_association': 'NONE', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6719477018/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-08T07:08:40Z', 'pushed_at': '2026-11-08T01:16:41Z', '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': 563799, 'stargazers_count': 15775, 'watchers_count': 15775, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3383, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 483, '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': 3383, 'open_issues': 483, 'watchers': 15775, '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': 'Immersion95', 'id': 47425204, 'node_id': 'MDQ6VXNlcjQ3NDI1MjA0', 'avatar_url': 'https://avatars.githubusercontent.com/u/47425204?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/Immersion95', 'html_url': 'https://github.com/Immersion95', 'followers_url': 'https://api.github.com/users/Immersion95/followers', 'following_url': 'https://api.github.com/users/Immersion95/following{/other_user}', 'gists_url': 'https://api.github.com/users/Immersion95/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/Immersion95/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/Immersion95/subscriptions', 'organizations_url': 'https://api.github.com/users/Immersion95/orgs', 'repos_url': 'https://api.github.com/users/Immersion95/repos', 'events_url': 'https://api.github.com/users/Immersion95/events{/privacy}', 'received_events_url': 'https://api.github.com/users/Immersion95/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'raw_gh_hook'}
2026-11-08T08:45:06.170781 {'source': 'webserver', 'gh_type': 'pull_request', 'raw': {'action': 'closed', 'number': 14992, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14992', 'id': 5203144391, 'node_id': 'PR_kwDOALCn2M8AAAABNiGuxw', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14992', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14992.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14992.patch', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14992', 'number': 14992, 'state': 'closed', 'locked': False, 'title': 'OGL: Fix Nouveau driver detection on modern Mesa', 'user': {'login': 'Twilight0', 'id': 1566256, 'node_id': 'MDQ6VXNlcjE1NjYyNTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1566256?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/Twilight0', 'html_url': 'https://github.com/Twilight0', 'followers_url': 'https://api.github.com/users/Twilight0/followers', 'following_url': 'https://api.github.com/users/Twilight0/following{/other_user}', 'gists_url': 'https://api.github.com/users/Twilight0/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/Twilight0/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/Twilight0/subscriptions', 'organizations_url': 'https://api.github.com/users/Twilight0/orgs', 'repos_url': 'https://api.github.com/users/Twilight0/repos', 'events_url': 'https://api.github.com/users/Twilight0/events{/privacy}', 'received_events_url': 'https://api.github.com/users/Twilight0/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': '## Problem\n\n`InitDriverInfo()` in `OGLConfig.cpp` only recognised Nouveau when `GL_VENDOR` was the literal string `"nouveau"`. Modern Mesa reports `GL_VENDOR` as `"Mesa"` with the GPU codename (e.g. `NVC3`) in `GL_RENDERER`, so `DRIVER_NOUVEAU` never matched and no Nouveau `DriverDetails` bug entry ever applied.\n\n## Fix\n\nIdentify Nouveau from the renderer string instead: it either contains `"nouveau"` (older Gallium strings) or starts with the `NV` chip codename prefix.\n\nThis is a small, self-contained correction; it only affects which driver is recorded for Mesa/Nouveau systems. Verified on GeForce GT 555M (NVC3) with Mesa 26.2.6, where `DRIVER_NOUVEAU` now matches.', 'created_at': '2026-11-07T15:32:39Z', 'updated_at': '2026-11-08T08:45:02Z', 'closed_at': '2026-11-08T08:45:01Z', 'merged_at': None, 'merge_commit_sha': '1a60fc716aabad36737975bcf2275b1047d8bd5c', 'assignees': [], 'requested_reviewers': [], 'requested_teams': [], 'labels': [], 'milestone': None, 'draft': False, 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14992/commits', 'review_comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14992/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/14992/comments', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/494c39e23055617e2789df8c0a031bad6e307344', 'head': {'label': 'Twilight0:fix/nouveau-driver-detection', 'ref': 'fix/nouveau-driver-detection', 'sha': '494c39e23055617e2789df8c0a031bad6e307344', 'user': {'login': 'Twilight0', 'id': 1566256, 'node_id': 'MDQ6VXNlcjE1NjYyNTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1566256?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/Twilight0', 'html_url': 'https://github.com/Twilight0', 'followers_url': 'https://api.github.com/users/Twilight0/followers', 'following_url': 'https://api.github.com/users/Twilight0/following{/other_user}', 'gists_url': 'https://api.github.com/users/Twilight0/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/Twilight0/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/Twilight0/subscriptions', 'organizations_url': 'https://api.github.com/users/Twilight0/orgs', 'repos_url': 'https://api.github.com/users/Twilight0/repos', 'events_url': 'https://api.github.com/users/Twilight0/events{/privacy}', 'received_events_url': 'https://api.github.com/users/Twilight0/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 1449487110, 'node_id': 'R_kgDOVmVrBg', 'name': 'dolphin', 'full_name': 'Twilight0/dolphin', 'private': False, 'owner': {'login': 'Twilight0', 'id': 1566256, 'node_id': 'MDQ6VXNlcjE1NjYyNTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1566256?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/Twilight0', 'html_url': 'https://github.com/Twilight0', 'followers_url': 'https://api.github.com/users/Twilight0/followers', 'following_url': 'https://api.github.com/users/Twilight0/following{/other_user}', 'gists_url': 'https://api.github.com/users/Twilight0/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/Twilight0/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/Twilight0/subscriptions', 'organizations_url': 'https://api.github.com/users/Twilight0/orgs', 'repos_url': 'https://api.github.com/users/Twilight0/repos', 'events_url': 'https://api.github.com/users/Twilight0/events{/privacy}', 'received_events_url': 'https://api.github.com/users/Twilight0/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/Twilight0/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/Twilight0/dolphin', 'forks_url': 'https://api.github.com/repos/Twilight0/dolphin/forks', 'keys_url': 'https://api.github.com/repos/Twilight0/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/Twilight0/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/Twilight0/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/Twilight0/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/Twilight0/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/Twilight0/dolphin/events', 'assignees_url': 'https://api.github.com/repos/Twilight0/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/Twilight0/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/Twilight0/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/Twilight0/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/Twilight0/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/Twilight0/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/Twilight0/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/Twilight0/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/Twilight0/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/Twilight0/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/Twilight0/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/Twilight0/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/Twilight0/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/Twilight0/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/Twilight0/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/Twilight0/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/Twilight0/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/Twilight0/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/Twilight0/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/Twilight0/dolphin/merges', 'archive_url': 'https://api.github.com/repos/Twilight0/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/Twilight0/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/Twilight0/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/Twilight0/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/Twilight0/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/Twilight0/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/Twilight0/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/Twilight0/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/Twilight0/dolphin/deployments', 'created_at': '2026-11-07T15:32:24Z', 'updated_at': '2026-11-07T15:32:24Z', 'pushed_at': '2026-11-07T15:32:32Z', 'git_url': 'git://github.com/Twilight0/dolphin.git', 'ssh_url': 'git@github.com:Twilight0/dolphin.git', 'clone_url': 'https://github.com/Twilight0/dolphin.git', 'svn_url': 'https://github.com/Twilight0/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 526265, 'stargazers_count': 0, 'watchers_count': 0, 'language': None, 'has_issues': False, 'has_projects': True, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 0, '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': 0, 'open_issues': 0, 'watchers': 0, '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': '4a70679d0adcd17220568f5c18d2d4005eeea0a2', '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-08T07:08:40Z', 'pushed_at': '2026-11-08T01:16:41Z', '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': 563799, 'stargazers_count': 15775, 'watchers_count': 15775, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3383, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 483, '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': 3383, 'open_issues': 483, 'watchers': 15775, '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/14992'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14992'}, 'issue': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14992'}, 'comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14992/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14992/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/14992/commits'}, 'statuses': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/494c39e23055617e2789df8c0a031bad6e307344'}}, 'author_association': 'NONE', 'auto_merge': None, 'assignee': None, 'active_lock_reason': None, 'merged': False, 'mergeable': True, 'rebaseable': False, 'mergeable_state': 'unstable', 'merged_by': None, 'comments': 1, 'review_comments': 0, 'maintainer_can_modify': False, 'commits': 1, 'additions': 5, 'deletions': 1, 'changed_files': 1}, '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-08T07:08:40Z', 'pushed_at': '2026-11-08T01:16:41Z', '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': 563799, 'stargazers_count': 15775, 'watchers_count': 15775, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3383, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 483, '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': 3383, 'open_issues': 483, 'watchers': 15775, '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': 'Twilight0', 'id': 1566256, 'node_id': 'MDQ6VXNlcjE1NjYyNTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1566256?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/Twilight0', 'html_url': 'https://github.com/Twilight0', 'followers_url': 'https://api.github.com/users/Twilight0/followers', 'following_url': 'https://api.github.com/users/Twilight0/following{/other_user}', 'gists_url': 'https://api.github.com/users/Twilight0/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/Twilight0/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/Twilight0/subscriptions', 'organizations_url': 'https://api.github.com/users/Twilight0/orgs', 'repos_url': 'https://api.github.com/users/Twilight0/repos', 'events_url': 'https://api.github.com/users/Twilight0/events{/privacy}', 'received_events_url': 'https://api.github.com/users/Twilight0/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'raw_gh_hook'}
2026-11-08T08:45:04.378874 {'source': 'webserver', 'gh_type': 'issue_comment', 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14992', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14992/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14992/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14992/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14992', 'id': 6260895115, 'node_id': 'PR_kwDOALCn2M8AAAABNiGuxw', 'number': 14992, 'title': 'OGL: Fix Nouveau driver detection on modern Mesa', 'user': {'login': 'Twilight0', 'id': 1566256, 'node_id': 'MDQ6VXNlcjE1NjYyNTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1566256?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/Twilight0', 'html_url': 'https://github.com/Twilight0', 'followers_url': 'https://api.github.com/users/Twilight0/followers', 'following_url': 'https://api.github.com/users/Twilight0/following{/other_user}', 'gists_url': 'https://api.github.com/users/Twilight0/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/Twilight0/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/Twilight0/subscriptions', 'organizations_url': 'https://api.github.com/users/Twilight0/orgs', 'repos_url': 'https://api.github.com/users/Twilight0/repos', 'events_url': 'https://api.github.com/users/Twilight0/events{/privacy}', 'received_events_url': 'https://api.github.com/users/Twilight0/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'closed', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 1, 'created_at': '2026-11-07T15:32:39Z', 'updated_at': '2026-11-08T08:45:02Z', 'closed_at': '2026-11-08T08:45:01Z', '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/14992', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14992', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14992.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14992.patch', 'merged_at': None}, 'body': '## Problem\n\n`InitDriverInfo()` in `OGLConfig.cpp` only recognised Nouveau when `GL_VENDOR` was the literal string `"nouveau"`. Modern Mesa reports `GL_VENDOR` as `"Mesa"` with the GPU codename (e.g. `NVC3`) in `GL_RENDERER`, so `DRIVER_NOUVEAU` never matched and no Nouveau `DriverDetails` bug entry ever applied.\n\n## Fix\n\nIdentify Nouveau from the renderer string instead: it either contains `"nouveau"` (older Gallium strings) or starts with the `NV` chip codename prefix.\n\nThis is a small, self-contained correction; it only affects which driver is recorded for Mesa/Nouveau systems. Verified on GeForce GT 555M (NVC3) with Mesa 26.2.6, where `DRIVER_NOUVEAU` now matches.', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14992/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/14992/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6719420676', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14992#issuecomment-6719420676', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14992', 'id': 6719420676, 'node_id': 'IC_kwDOALCn2M8AAAABkII5BA', 'user': {'login': 'Twilight0', 'id': 1566256, 'node_id': 'MDQ6VXNlcjE1NjYyNTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1566256?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/Twilight0', 'html_url': 'https://github.com/Twilight0', 'followers_url': 'https://api.github.com/users/Twilight0/followers', 'following_url': 'https://api.github.com/users/Twilight0/following{/other_user}', 'gists_url': 'https://api.github.com/users/Twilight0/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/Twilight0/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/Twilight0/subscriptions', 'organizations_url': 'https://api.github.com/users/Twilight0/orgs', 'repos_url': 'https://api.github.com/users/Twilight0/repos', 'events_url': 'https://api.github.com/users/Twilight0/events{/privacy}', 'received_events_url': 'https://api.github.com/users/Twilight0/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2026-11-08T08:45:02Z', 'updated_at': '2026-11-08T08:45:02Z', 'body': 'Closing as this is no longer necessary due to https://github.com/dolphin-emu/dolphin/pull/14993', 'author_association': 'NONE', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6719420676/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-08T07:08:40Z', 'pushed_at': '2026-11-08T01:16:41Z', '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': 563799, 'stargazers_count': 15775, 'watchers_count': 15775, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3383, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 483, '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': 3383, 'open_issues': 483, 'watchers': 15775, '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': 'Twilight0', 'id': 1566256, 'node_id': 'MDQ6VXNlcjE1NjYyNTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1566256?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/Twilight0', 'html_url': 'https://github.com/Twilight0', 'followers_url': 'https://api.github.com/users/Twilight0/followers', 'following_url': 'https://api.github.com/users/Twilight0/following{/other_user}', 'gists_url': 'https://api.github.com/users/Twilight0/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/Twilight0/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/Twilight0/subscriptions', 'organizations_url': 'https://api.github.com/users/Twilight0/orgs', 'repos_url': 'https://api.github.com/users/Twilight0/repos', 'events_url': 'https://api.github.com/users/Twilight0/events{/privacy}', 'received_events_url': 'https://api.github.com/users/Twilight0/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'raw_gh_hook'}
2026-11-08T08:43:59.313648 {'source': 'webserver', 'gh_type': 'pull_request', 'raw': {'action': 'closed', 'number': 14993, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14993', 'id': 5203145608, 'node_id': 'PR_kwDOALCn2M8AAAABNiGziA', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14993', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14993.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14993.patch', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14993', 'number': 14993, 'state': 'closed', 'locked': False, 'title': 'VideoCommon: Derive fog depth from clip space on Nouveau', 'user': {'login': 'Twilight0', 'id': 1566256, 'node_id': 'MDQ6VXNlcjE1NjYyNTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1566256?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/Twilight0', 'html_url': 'https://github.com/Twilight0', 'followers_url': 'https://api.github.com/users/Twilight0/followers', 'following_url': 'https://api.github.com/users/Twilight0/following{/other_user}', 'gists_url': 'https://api.github.com/users/Twilight0/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/Twilight0/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/Twilight0/subscriptions', 'organizations_url': 'https://api.github.com/users/Twilight0/orgs', 'repos_url': 'https://api.github.com/users/Twilight0/repos', 'events_url': 'https://api.github.com/users/Twilight0/events{/privacy}', 'received_events_url': 'https://api.github.com/users/Twilight0/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': "## Depends on\n\n#14992 (`fix/nouveau-driver-detection`) — `DRIVER_NOUVEAU` previously never matched on modern Mesa, so the bug entry added here would never trigger without it. This PR is a single commit based on `master` and touches disjoint files, so it is inert (but harmless) until #14992 lands; please merge #14992 first.\n\n## Problem\n\nWith `FastDepthCalc` enabled, the fog/ztexture depth (`zCoord`) is derived from the hardware fragment depth (`rawpos.z`). On Nouveau (verified on Fermi/NVC3 with Mesa) that value is wrong in full game shaders, which saturates perspective fog across entire scenes:\n\n- Metal Gear Solid: The Twin Snakes — cargo dock renders as a solid dark-green wash (HUD/minimap unaffected)\n- Super Smash Bros. Melee — menus wash out, some characters/stages wrong\n- Super Mario Sunshine — Mario turns monochrome in goop\n\nDisabling `FastDepthCalc` avoids it by recomputing depth from clip space (the existing non-fast path), at a performance cost.\n\n## Fix\n\nAdd `BUG_BROKEN_FRAG_COORD_DEPTH` for `DRIVER_NOUVEAU` and route affected drivers through the same clip-space depth calculation already used when `FastDepthCalc` is off, including emitting the `clipPos` varying in the vertex/geometry/uber shader generators. Other drivers generate identical shaders to before; the new `ShaderHostConfig` bit also separates the shader cache, so stale binaries compiled with the old formula are not reused.\n\nNote on placement: the root cause may be in Nouveau's handling of `gl_FragCoord.z` in these shaders, but minimal GL repros (fog math, `gl_FragCoord.z` under clip control/reversed ranges, early fragment tests, dynamic sampler indexing) all pass on the same driver, so no Mesa-side defect could be isolated. This uses Dolphin's existing driver-workaround mechanism, gated to Nouveau only.\n\n## Testing\n\nGeForce GT 555M (NVC3), `FastDepthCalc = True`, cold shader cache, both stock Mesa 26.2.6 (Arch) and a locally patched Mesa:\n\n- Twin Snakes cargo dock and the preceding diving-suit cutscene: correct colours (previously dark-green wash)\n- Melee title/menus/characters: correct (previously washed/grey-blue)\n- One-variable isolation runs: original shader cache = broken, fresh cache = correct; forcing `early_fragment_tests` or toggling image-load-store paths made no difference once the cache was cold\n", 'created_at': '2026-11-07T15:32:48Z', 'updated_at': '2026-11-08T08:43:57Z', 'closed_at': '2026-11-08T08:43:56Z', 'merged_at': None, 'merge_commit_sha': '3352b2a735a89dac5f28b887ee7dec6cd52013fb', 'assignees': [], 'requested_reviewers': [], 'requested_teams': [], 'labels': [], 'milestone': None, 'draft': False, 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14993/commits', 'review_comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14993/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/14993/comments', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/33a9f4b20661032c30c4ebe7d6cb22b1a5f3679f', 'head': {'label': 'Twilight0:fix/nouveau-frag-coord-depth', 'ref': 'fix/nouveau-frag-coord-depth', 'sha': '33a9f4b20661032c30c4ebe7d6cb22b1a5f3679f', 'user': {'login': 'Twilight0', 'id': 1566256, 'node_id': 'MDQ6VXNlcjE1NjYyNTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1566256?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/Twilight0', 'html_url': 'https://github.com/Twilight0', 'followers_url': 'https://api.github.com/users/Twilight0/followers', 'following_url': 'https://api.github.com/users/Twilight0/following{/other_user}', 'gists_url': 'https://api.github.com/users/Twilight0/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/Twilight0/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/Twilight0/subscriptions', 'organizations_url': 'https://api.github.com/users/Twilight0/orgs', 'repos_url': 'https://api.github.com/users/Twilight0/repos', 'events_url': 'https://api.github.com/users/Twilight0/events{/privacy}', 'received_events_url': 'https://api.github.com/users/Twilight0/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 1449487110, 'node_id': 'R_kgDOVmVrBg', 'name': 'dolphin', 'full_name': 'Twilight0/dolphin', 'private': False, 'owner': {'login': 'Twilight0', 'id': 1566256, 'node_id': 'MDQ6VXNlcjE1NjYyNTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1566256?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/Twilight0', 'html_url': 'https://github.com/Twilight0', 'followers_url': 'https://api.github.com/users/Twilight0/followers', 'following_url': 'https://api.github.com/users/Twilight0/following{/other_user}', 'gists_url': 'https://api.github.com/users/Twilight0/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/Twilight0/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/Twilight0/subscriptions', 'organizations_url': 'https://api.github.com/users/Twilight0/orgs', 'repos_url': 'https://api.github.com/users/Twilight0/repos', 'events_url': 'https://api.github.com/users/Twilight0/events{/privacy}', 'received_events_url': 'https://api.github.com/users/Twilight0/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/Twilight0/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/Twilight0/dolphin', 'forks_url': 'https://api.github.com/repos/Twilight0/dolphin/forks', 'keys_url': 'https://api.github.com/repos/Twilight0/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/Twilight0/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/Twilight0/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/Twilight0/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/Twilight0/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/Twilight0/dolphin/events', 'assignees_url': 'https://api.github.com/repos/Twilight0/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/Twilight0/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/Twilight0/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/Twilight0/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/Twilight0/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/Twilight0/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/Twilight0/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/Twilight0/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/Twilight0/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/Twilight0/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/Twilight0/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/Twilight0/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/Twilight0/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/Twilight0/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/Twilight0/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/Twilight0/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/Twilight0/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/Twilight0/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/Twilight0/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/Twilight0/dolphin/merges', 'archive_url': 'https://api.github.com/repos/Twilight0/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/Twilight0/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/Twilight0/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/Twilight0/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/Twilight0/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/Twilight0/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/Twilight0/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/Twilight0/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/Twilight0/dolphin/deployments', 'created_at': '2026-11-07T15:32:24Z', 'updated_at': '2026-11-07T15:32:24Z', 'pushed_at': '2026-11-07T15:32:32Z', 'git_url': 'git://github.com/Twilight0/dolphin.git', 'ssh_url': 'git@github.com:Twilight0/dolphin.git', 'clone_url': 'https://github.com/Twilight0/dolphin.git', 'svn_url': 'https://github.com/Twilight0/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 526265, 'stargazers_count': 0, 'watchers_count': 0, 'language': None, 'has_issues': False, 'has_projects': True, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 0, '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': 0, 'open_issues': 0, 'watchers': 0, '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': '4a70679d0adcd17220568f5c18d2d4005eeea0a2', '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-08T07:08:40Z', 'pushed_at': '2026-11-08T01:16:41Z', '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': 563799, 'stargazers_count': 15775, 'watchers_count': 15775, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3383, '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': 3383, 'open_issues': 484, 'watchers': 15775, '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/14993'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14993'}, 'issue': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14993'}, 'comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14993/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14993/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/14993/commits'}, 'statuses': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/33a9f4b20661032c30c4ebe7d6cb22b1a5f3679f'}}, 'author_association': 'NONE', 'auto_merge': None, 'assignee': None, 'active_lock_reason': None, 'merged': False, 'mergeable': True, 'rebaseable': False, 'mergeable_state': 'unstable', 'merged_by': None, 'comments': 2, 'review_comments': 0, 'maintainer_can_modify': False, 'commits': 1, 'additions': 35, 'deletions': 17, 'changed_files': 8}, '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-08T07:08:40Z', 'pushed_at': '2026-11-08T01:16:41Z', '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': 563799, 'stargazers_count': 15775, 'watchers_count': 15775, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3383, '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': 3383, 'open_issues': 484, 'watchers': 15775, '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': 'Twilight0', 'id': 1566256, 'node_id': 'MDQ6VXNlcjE1NjYyNTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1566256?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/Twilight0', 'html_url': 'https://github.com/Twilight0', 'followers_url': 'https://api.github.com/users/Twilight0/followers', 'following_url': 'https://api.github.com/users/Twilight0/following{/other_user}', 'gists_url': 'https://api.github.com/users/Twilight0/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/Twilight0/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/Twilight0/subscriptions', 'organizations_url': 'https://api.github.com/users/Twilight0/orgs', 'repos_url': 'https://api.github.com/users/Twilight0/repos', 'events_url': 'https://api.github.com/users/Twilight0/events{/privacy}', 'received_events_url': 'https://api.github.com/users/Twilight0/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'raw_gh_hook'}
2026-11-08T08:43:59.271211 {'source': 'webserver', 'gh_type': 'issue_comment', 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14993', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14993/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14993/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14993/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14993', 'id': 6260896606, 'node_id': 'PR_kwDOALCn2M8AAAABNiGziA', 'number': 14993, 'title': 'VideoCommon: Derive fog depth from clip space on Nouveau', 'user': {'login': 'Twilight0', 'id': 1566256, 'node_id': 'MDQ6VXNlcjE1NjYyNTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1566256?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/Twilight0', 'html_url': 'https://github.com/Twilight0', 'followers_url': 'https://api.github.com/users/Twilight0/followers', 'following_url': 'https://api.github.com/users/Twilight0/following{/other_user}', 'gists_url': 'https://api.github.com/users/Twilight0/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/Twilight0/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/Twilight0/subscriptions', 'organizations_url': 'https://api.github.com/users/Twilight0/orgs', 'repos_url': 'https://api.github.com/users/Twilight0/repos', 'events_url': 'https://api.github.com/users/Twilight0/events{/privacy}', 'received_events_url': 'https://api.github.com/users/Twilight0/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'closed', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 2, 'created_at': '2026-11-07T15:32:48Z', 'updated_at': '2026-11-08T08:43:57Z', 'closed_at': '2026-11-08T08:43:56Z', '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/14993', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14993', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14993.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14993.patch', 'merged_at': None}, 'body': "## Depends on\n\n#14992 (`fix/nouveau-driver-detection`) — `DRIVER_NOUVEAU` previously never matched on modern Mesa, so the bug entry added here would never trigger without it. This PR is a single commit based on `master` and touches disjoint files, so it is inert (but harmless) until #14992 lands; please merge #14992 first.\n\n## Problem\n\nWith `FastDepthCalc` enabled, the fog/ztexture depth (`zCoord`) is derived from the hardware fragment depth (`rawpos.z`). On Nouveau (verified on Fermi/NVC3 with Mesa) that value is wrong in full game shaders, which saturates perspective fog across entire scenes:\n\n- Metal Gear Solid: The Twin Snakes — cargo dock renders as a solid dark-green wash (HUD/minimap unaffected)\n- Super Smash Bros. Melee — menus wash out, some characters/stages wrong\n- Super Mario Sunshine — Mario turns monochrome in goop\n\nDisabling `FastDepthCalc` avoids it by recomputing depth from clip space (the existing non-fast path), at a performance cost.\n\n## Fix\n\nAdd `BUG_BROKEN_FRAG_COORD_DEPTH` for `DRIVER_NOUVEAU` and route affected drivers through the same clip-space depth calculation already used when `FastDepthCalc` is off, including emitting the `clipPos` varying in the vertex/geometry/uber shader generators. Other drivers generate identical shaders to before; the new `ShaderHostConfig` bit also separates the shader cache, so stale binaries compiled with the old formula are not reused.\n\nNote on placement: the root cause may be in Nouveau's handling of `gl_FragCoord.z` in these shaders, but minimal GL repros (fog math, `gl_FragCoord.z` under clip control/reversed ranges, early fragment tests, dynamic sampler indexing) all pass on the same driver, so no Mesa-side defect could be isolated. This uses Dolphin's existing driver-workaround mechanism, gated to Nouveau only.\n\n## Testing\n\nGeForce GT 555M (NVC3), `FastDepthCalc = True`, cold shader cache, both stock Mesa 26.2.6 (Arch) and a locally patched Mesa:\n\n- Twin Snakes cargo dock and the preceding diving-suit cutscene: correct colours (previously dark-green wash)\n- Melee title/menus/characters: correct (previously washed/grey-blue)\n- One-variable isolation runs: original shader cache = broken, fresh cache = correct; forcing `early_fragment_tests` or toggling image-load-store paths made no difference once the cache was cold\n", 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14993/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/14993/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6719410913', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14993#issuecomment-6719410913', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14993', 'id': 6719410913, 'node_id': 'IC_kwDOALCn2M8AAAABkIIS4Q', 'user': {'login': 'Twilight0', 'id': 1566256, 'node_id': 'MDQ6VXNlcjE1NjYyNTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1566256?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/Twilight0', 'html_url': 'https://github.com/Twilight0', 'followers_url': 'https://api.github.com/users/Twilight0/followers', 'following_url': 'https://api.github.com/users/Twilight0/following{/other_user}', 'gists_url': 'https://api.github.com/users/Twilight0/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/Twilight0/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/Twilight0/subscriptions', 'organizations_url': 'https://api.github.com/users/Twilight0/orgs', 'repos_url': 'https://api.github.com/users/Twilight0/repos', 'events_url': 'https://api.github.com/users/Twilight0/events{/privacy}', 'received_events_url': 'https://api.github.com/users/Twilight0/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2026-11-08T08:43:56Z', 'updated_at': '2026-11-08T08:43:56Z', 'body': "> This isn't a Dolphin bug, this is a Nouveau/Mesa bug. Report it to them or try to fix the bug in the driver. In the meantime, don't use fastdepth.\n\nYou 're right, i knew it from the start, but AI insisted we could try this path because I couldn't find the exact cause. And mesa fork is a base where I can experiment freely. Closing.", 'author_association': 'NONE', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6719410913/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-08T07:08:40Z', 'pushed_at': '2026-11-08T01:16:41Z', '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': 563799, 'stargazers_count': 15775, 'watchers_count': 15775, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3383, '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': 3383, 'open_issues': 484, 'watchers': 15775, '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': 'Twilight0', 'id': 1566256, 'node_id': 'MDQ6VXNlcjE1NjYyNTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1566256?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/Twilight0', 'html_url': 'https://github.com/Twilight0', 'followers_url': 'https://api.github.com/users/Twilight0/followers', 'following_url': 'https://api.github.com/users/Twilight0/following{/other_user}', 'gists_url': 'https://api.github.com/users/Twilight0/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/Twilight0/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/Twilight0/subscriptions', 'organizations_url': 'https://api.github.com/users/Twilight0/orgs', 'repos_url': 'https://api.github.com/users/Twilight0/repos', 'events_url': 'https://api.github.com/users/Twilight0/events{/privacy}', 'received_events_url': 'https://api.github.com/users/Twilight0/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'raw_gh_hook'}
2026-11-08T06:33:59.608125 {'source': 'webserver', 'gh_type': 'issue_comment', 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14713', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14713/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14713/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14713/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14713', 'id': 4799994243, 'node_id': 'PR_kwDOALCn2M7taCDH', 'number': 14713, 'title': 'Fix cheatsmanager crash', 'user': {'login': 'llsc12', 'id': 42747613, 'node_id': 'MDQ6VXNlcjQyNzQ3NjEz', 'avatar_url': 'https://avatars.githubusercontent.com/u/42747613?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/llsc12', 'html_url': 'https://github.com/llsc12', 'followers_url': 'https://api.github.com/users/llsc12/followers', 'following_url': 'https://api.github.com/users/llsc12/following{/other_user}', 'gists_url': 'https://api.github.com/users/llsc12/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/llsc12/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/llsc12/subscriptions', 'organizations_url': 'https://api.github.com/users/llsc12/orgs', 'repos_url': 'https://api.github.com/users/llsc12/repos', 'events_url': 'https://api.github.com/users/llsc12/events{/privacy}', 'received_events_url': 'https://api.github.com/users/llsc12/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 4, 'created_at': '2026-07-03T03:15:08Z', 'updated_at': '2026-11-08T06:33:57Z', '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/14713', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14713', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14713.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14713.patch', 'merged_at': None}, 'body': "`OnFrameEnd` is called from the CPU thread and starts calling methods on widgets. When searching memory for values, this caused Dolphin to crash a lot for me. Reproduced relatively reliably by having the game running, memory values auto-updating and trying to edit an address' description. \r\n\r\nThe fix just moves work onto the GUI thread, with an atomic flag to avoid posting events every frame if the GUI thread was to fall behind. \r\n\r\nI tested this for around 4 hours making some cheat codes for newer smbw. No crashes thus far.\r\n\r\nAI was used to examine crash logs.", 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14713/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/14713/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6718281158', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14713#issuecomment-6718281158', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14713', 'id': 6718281158, 'node_id': 'IC_kwDOALCn2M8AAAABkHDVxg', '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-08T06:33:57Z', 'updated_at': '2026-11-08T06:33:57Z', 'body': '> Bit (incredibly) offtopic, but why not just squash merge?\r\n\r\nApparently something in our auto build infrastructure expects us not to do this.', 'author_association': 'MEMBER', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6718281158/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-07T22:20:48Z', 'pushed_at': '2026-11-08T01:16:41Z', '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': 563799, 'stargazers_count': 15774, 'watchers_count': 15774, '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': 485, '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': 485, 'watchers': 15774, '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': 'raw_gh_hook'}
2026-11-08T04:18:36.869642 {'source': 'webserver', 'gh_type': 'pull_request_review', 'raw': {'action': 'submitted', 'review': {'id': 5816583007, 'node_id': 'PRR_kwDOALCn2M8AAAABWrIDXw', 'user': {'login': 'Pokechu22', 'id': 8334194, 'node_id': 'MDQ6VXNlcjgzMzQxOTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/8334194?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/Pokechu22', 'html_url': 'https://github.com/Pokechu22', 'followers_url': 'https://api.github.com/users/Pokechu22/followers', 'following_url': 'https://api.github.com/users/Pokechu22/following{/other_user}', 'gists_url': 'https://api.github.com/users/Pokechu22/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/Pokechu22/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/Pokechu22/subscriptions', 'organizations_url': 'https://api.github.com/users/Pokechu22/orgs', 'repos_url': 'https://api.github.com/users/Pokechu22/repos', 'events_url': 'https://api.github.com/users/Pokechu22/events{/privacy}', 'received_events_url': 'https://api.github.com/users/Pokechu22/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': "Changes look plausible to me, though I haven't directly confirmed with ghidra myself.", 'commit_id': 'c25a5e47ec9a55a81414a2c3420764b4a6614ba8', 'state': 'approved', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14995#pullrequestreview-5816583007', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14995', '_links': {'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14995#pullrequestreview-5816583007'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14995'}}, 'submitted_at': '2026-11-08T04:18:35Z', 'updated_at': '2026-11-08T04:18:35Z', 'author_association': 'CONTRIBUTOR'}, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14995', 'id': 5208102536, 'node_id': 'PR_kwDOALCn2M8AAAABNm1WiA', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14995', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14995.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14995.patch', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14995', 'number': 14995, 'state': 'open', 'locked': False, 'title': 'AX: fix two bugs', 'user': {'login': 'Tilka', 'id': 123798, 'node_id': 'MDQ6VXNlcjEyMzc5OA==', 'avatar_url': 'https://avatars.githubusercontent.com/u/123798?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/Tilka', 'html_url': 'https://github.com/Tilka', 'followers_url': 'https://api.github.com/users/Tilka/followers', 'following_url': 'https://api.github.com/users/Tilka/following{/other_user}', 'gists_url': 'https://api.github.com/users/Tilka/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/Tilka/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/Tilka/subscriptions', 'organizations_url': 'https://api.github.com/users/Tilka/orgs', 'repos_url': 'https://api.github.com/users/Tilka/repos', 'events_url': 'https://api.github.com/users/Tilka/events{/privacy}', 'received_events_url': 'https://api.github.com/users/Tilka/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': "The de-pop issue was reported in #14988.\n\nThe CMD_SUB_TO_LR bug was found by staring. No idea which games actually use this command. I assume it's one of the surround schemes.", 'created_at': '2026-11-08T02:59:20Z', 'updated_at': '2026-11-08T04:07:01Z', 'closed_at': None, 'merged_at': None, 'merge_commit_sha': '256ebf1dc8dac0b94f1c375d37872c05026f775c', 'assignees': [], 'requested_reviewers': [], 'requested_teams': [], 'labels': [], 'milestone': None, 'draft': False, 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14995/commits', 'review_comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14995/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/14995/comments', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/c25a5e47ec9a55a81414a2c3420764b4a6614ba8', 'head': {'label': 'Tilka:ax_fixes', 'ref': 'ax_fixes', 'sha': 'c25a5e47ec9a55a81414a2c3420764b4a6614ba8', 'user': {'login': 'Tilka', 'id': 123798, 'node_id': 'MDQ6VXNlcjEyMzc5OA==', 'avatar_url': 'https://avatars.githubusercontent.com/u/123798?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/Tilka', 'html_url': 'https://github.com/Tilka', 'followers_url': 'https://api.github.com/users/Tilka/followers', 'following_url': 'https://api.github.com/users/Tilka/following{/other_user}', 'gists_url': 'https://api.github.com/users/Tilka/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/Tilka/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/Tilka/subscriptions', 'organizations_url': 'https://api.github.com/users/Tilka/orgs', 'repos_url': 'https://api.github.com/users/Tilka/repos', 'events_url': 'https://api.github.com/users/Tilka/events{/privacy}', 'received_events_url': 'https://api.github.com/users/Tilka/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 16304949, 'node_id': 'MDEwOlJlcG9zaXRvcnkxNjMwNDk0OQ==', 'name': 'dolphin', 'full_name': 'Tilka/dolphin', 'private': False, 'owner': {'login': 'Tilka', 'id': 123798, 'node_id': 'MDQ6VXNlcjEyMzc5OA==', 'avatar_url': 'https://avatars.githubusercontent.com/u/123798?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/Tilka', 'html_url': 'https://github.com/Tilka', 'followers_url': 'https://api.github.com/users/Tilka/followers', 'following_url': 'https://api.github.com/users/Tilka/following{/other_user}', 'gists_url': 'https://api.github.com/users/Tilka/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/Tilka/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/Tilka/subscriptions', 'organizations_url': 'https://api.github.com/users/Tilka/orgs', 'repos_url': 'https://api.github.com/users/Tilka/repos', 'events_url': 'https://api.github.com/users/Tilka/events{/privacy}', 'received_events_url': 'https://api.github.com/users/Tilka/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/Tilka/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/Tilka/dolphin', 'forks_url': 'https://api.github.com/repos/Tilka/dolphin/forks', 'keys_url': 'https://api.github.com/repos/Tilka/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/Tilka/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/Tilka/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/Tilka/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/Tilka/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/Tilka/dolphin/events', 'assignees_url': 'https://api.github.com/repos/Tilka/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/Tilka/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/Tilka/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/Tilka/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/Tilka/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/Tilka/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/Tilka/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/Tilka/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/Tilka/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/Tilka/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/Tilka/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/Tilka/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/Tilka/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/Tilka/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/Tilka/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/Tilka/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/Tilka/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/Tilka/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/Tilka/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/Tilka/dolphin/merges', 'archive_url': 'https://api.github.com/repos/Tilka/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/Tilka/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/Tilka/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/Tilka/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/Tilka/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/Tilka/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/Tilka/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/Tilka/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/Tilka/dolphin/deployments', 'created_at': '2014-01-28T07:24:53Z', 'updated_at': '2024-12-24T17:03:46Z', 'pushed_at': '2026-11-08T04:06:59Z', 'git_url': 'git://github.com/Tilka/dolphin.git', 'ssh_url': 'git@github.com:Tilka/dolphin.git', 'clone_url': 'https://github.com/Tilka/dolphin.git', 'svn_url': 'https://github.com/Tilka/dolphin', 'homepage': None, 'size': 526092, 'stargazers_count': 3, 'watchers_count': 3, 'language': 'C++', 'has_issues': False, 'has_projects': True, 'has_downloads': False, 'has_wiki': False, 'has_pages': False, 'has_discussions': False, 'forks_count': 0, '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': 0, 'open_issues': 0, 'watchers': 3, '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': '257a6d0eac1d915216dbc974e9390af3050af2b9', '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-07T22:20:48Z', 'pushed_at': '2026-11-08T01:16:41Z', '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': 563799, 'stargazers_count': 15774, 'watchers_count': 15774, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3384, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 485, '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': 3384, 'open_issues': 485, 'watchers': 15774, '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/14995'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14995'}, 'issue': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14995'}, 'comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14995/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14995/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/14995/commits'}, 'statuses': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/c25a5e47ec9a55a81414a2c3420764b4a6614ba8'}}, '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-07T22:20:48Z', 'pushed_at': '2026-11-08T01:16:41Z', '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': 563799, 'stargazers_count': 15774, 'watchers_count': 15774, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3384, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 485, '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': 3384, 'open_issues': 485, 'watchers': 15774, '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': 'Pokechu22', 'id': 8334194, 'node_id': 'MDQ6VXNlcjgzMzQxOTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/8334194?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/Pokechu22', 'html_url': 'https://github.com/Pokechu22', 'followers_url': 'https://api.github.com/users/Pokechu22/followers', 'following_url': 'https://api.github.com/users/Pokechu22/following{/other_user}', 'gists_url': 'https://api.github.com/users/Pokechu22/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/Pokechu22/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/Pokechu22/subscriptions', 'organizations_url': 'https://api.github.com/users/Pokechu22/orgs', 'repos_url': 'https://api.github.com/users/Pokechu22/repos', 'events_url': 'https://api.github.com/users/Pokechu22/events{/privacy}', 'received_events_url': 'https://api.github.com/users/Pokechu22/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'raw_gh_hook'}
2026-11-08T04:07:10.480953 {'source': 'webserver', 'gh_type': 'pull_request', 'raw': {'action': 'synchronize', 'number': 14995, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14995', 'id': 5208102536, 'node_id': 'PR_kwDOALCn2M8AAAABNm1WiA', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14995', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14995.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14995.patch', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14995', 'number': 14995, 'state': 'open', 'locked': False, 'title': 'AX: fix two bugs', 'user': {'login': 'Tilka', 'id': 123798, 'node_id': 'MDQ6VXNlcjEyMzc5OA==', 'avatar_url': 'https://avatars.githubusercontent.com/u/123798?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/Tilka', 'html_url': 'https://github.com/Tilka', 'followers_url': 'https://api.github.com/users/Tilka/followers', 'following_url': 'https://api.github.com/users/Tilka/following{/other_user}', 'gists_url': 'https://api.github.com/users/Tilka/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/Tilka/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/Tilka/subscriptions', 'organizations_url': 'https://api.github.com/users/Tilka/orgs', 'repos_url': 'https://api.github.com/users/Tilka/repos', 'events_url': 'https://api.github.com/users/Tilka/events{/privacy}', 'received_events_url': 'https://api.github.com/users/Tilka/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': "The de-pop issue was reported in #14988.\n\nThe CMD_SUB_TO_LR bug was found by staring. No idea which games actually use this command. I assume it's one of the surround schemes.", 'created_at': '2026-11-08T02:59:20Z', 'updated_at': '2026-11-08T04:07:01Z', 'closed_at': None, 'merged_at': None, 'merge_commit_sha': '2baab03e275a15e150c517173ae4353f270b792f', 'assignees': [], 'requested_reviewers': [], 'requested_teams': [], 'labels': [], 'milestone': None, 'draft': False, 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14995/commits', 'review_comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14995/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/14995/comments', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/c25a5e47ec9a55a81414a2c3420764b4a6614ba8', 'head': {'label': 'Tilka:ax_fixes', 'ref': 'ax_fixes', 'sha': 'c25a5e47ec9a55a81414a2c3420764b4a6614ba8', 'user': {'login': 'Tilka', 'id': 123798, 'node_id': 'MDQ6VXNlcjEyMzc5OA==', 'avatar_url': 'https://avatars.githubusercontent.com/u/123798?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/Tilka', 'html_url': 'https://github.com/Tilka', 'followers_url': 'https://api.github.com/users/Tilka/followers', 'following_url': 'https://api.github.com/users/Tilka/following{/other_user}', 'gists_url': 'https://api.github.com/users/Tilka/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/Tilka/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/Tilka/subscriptions', 'organizations_url': 'https://api.github.com/users/Tilka/orgs', 'repos_url': 'https://api.github.com/users/Tilka/repos', 'events_url': 'https://api.github.com/users/Tilka/events{/privacy}', 'received_events_url': 'https://api.github.com/users/Tilka/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 16304949, 'node_id': 'MDEwOlJlcG9zaXRvcnkxNjMwNDk0OQ==', 'name': 'dolphin', 'full_name': 'Tilka/dolphin', 'private': False, 'owner': {'login': 'Tilka', 'id': 123798, 'node_id': 'MDQ6VXNlcjEyMzc5OA==', 'avatar_url': 'https://avatars.githubusercontent.com/u/123798?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/Tilka', 'html_url': 'https://github.com/Tilka', 'followers_url': 'https://api.github.com/users/Tilka/followers', 'following_url': 'https://api.github.com/users/Tilka/following{/other_user}', 'gists_url': 'https://api.github.com/users/Tilka/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/Tilka/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/Tilka/subscriptions', 'organizations_url': 'https://api.github.com/users/Tilka/orgs', 'repos_url': 'https://api.github.com/users/Tilka/repos', 'events_url': 'https://api.github.com/users/Tilka/events{/privacy}', 'received_events_url': 'https://api.github.com/users/Tilka/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/Tilka/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/Tilka/dolphin', 'forks_url': 'https://api.github.com/repos/Tilka/dolphin/forks', 'keys_url': 'https://api.github.com/repos/Tilka/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/Tilka/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/Tilka/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/Tilka/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/Tilka/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/Tilka/dolphin/events', 'assignees_url': 'https://api.github.com/repos/Tilka/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/Tilka/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/Tilka/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/Tilka/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/Tilka/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/Tilka/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/Tilka/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/Tilka/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/Tilka/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/Tilka/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/Tilka/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/Tilka/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/Tilka/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/Tilka/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/Tilka/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/Tilka/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/Tilka/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/Tilka/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/Tilka/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/Tilka/dolphin/merges', 'archive_url': 'https://api.github.com/repos/Tilka/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/Tilka/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/Tilka/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/Tilka/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/Tilka/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/Tilka/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/Tilka/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/Tilka/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/Tilka/dolphin/deployments', 'created_at': '2014-01-28T07:24:53Z', 'updated_at': '2024-12-24T17:03:46Z', 'pushed_at': '2026-11-08T04:06:59Z', 'git_url': 'git://github.com/Tilka/dolphin.git', 'ssh_url': 'git@github.com:Tilka/dolphin.git', 'clone_url': 'https://github.com/Tilka/dolphin.git', 'svn_url': 'https://github.com/Tilka/dolphin', 'homepage': None, 'size': 526092, 'stargazers_count': 3, 'watchers_count': 3, 'language': 'C++', 'has_issues': False, 'has_projects': True, 'has_downloads': False, 'has_wiki': False, 'has_pages': False, 'has_discussions': False, 'forks_count': 0, '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': 0, 'open_issues': 0, 'watchers': 3, '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': '257a6d0eac1d915216dbc974e9390af3050af2b9', '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-07T22:20:48Z', 'pushed_at': '2026-11-08T01:16:41Z', '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': 563799, 'stargazers_count': 15774, 'watchers_count': 15774, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3384, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 485, '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': 3384, 'open_issues': 485, 'watchers': 15774, '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/14995'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14995'}, 'issue': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14995'}, 'comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14995/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14995/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/14995/commits'}, 'statuses': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/c25a5e47ec9a55a81414a2c3420764b4a6614ba8'}}, 'author_association': 'MEMBER', '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': 0, 'maintainer_can_modify': True, 'commits': 4, 'additions': 59, 'deletions': 31, 'changed_files': 4}, 'before': '2cf9900ebd1469a07e44d4e9af05deb04d5cadd4', 'after': 'c25a5e47ec9a55a81414a2c3420764b4a6614ba8', '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-07T22:20:48Z', 'pushed_at': '2026-11-08T01:16:41Z', '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': 563799, 'stargazers_count': 15774, 'watchers_count': 15774, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3384, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 485, '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': 3384, 'open_issues': 485, 'watchers': 15774, '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': 'Tilka', 'id': 123798, 'node_id': 'MDQ6VXNlcjEyMzc5OA==', 'avatar_url': 'https://avatars.githubusercontent.com/u/123798?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/Tilka', 'html_url': 'https://github.com/Tilka', 'followers_url': 'https://api.github.com/users/Tilka/followers', 'following_url': 'https://api.github.com/users/Tilka/following{/other_user}', 'gists_url': 'https://api.github.com/users/Tilka/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/Tilka/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/Tilka/subscriptions', 'organizations_url': 'https://api.github.com/users/Tilka/orgs', 'repos_url': 'https://api.github.com/users/Tilka/repos', 'events_url': 'https://api.github.com/users/Tilka/events{/privacy}', 'received_events_url': 'https://api.github.com/users/Tilka/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'raw_gh_hook'}
2026-11-08T03:03:15.496726 {'source': 'webserver', 'gh_type': 'issue_comment', 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14993', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14993/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14993/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14993/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14993', 'id': 6260896606, 'node_id': 'PR_kwDOALCn2M8AAAABNiGziA', 'number': 14993, 'title': 'VideoCommon: Derive fog depth from clip space on Nouveau', 'user': {'login': 'Twilight0', 'id': 1566256, 'node_id': 'MDQ6VXNlcjE1NjYyNTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1566256?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/Twilight0', 'html_url': 'https://github.com/Twilight0', 'followers_url': 'https://api.github.com/users/Twilight0/followers', 'following_url': 'https://api.github.com/users/Twilight0/following{/other_user}', 'gists_url': 'https://api.github.com/users/Twilight0/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/Twilight0/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/Twilight0/subscriptions', 'organizations_url': 'https://api.github.com/users/Twilight0/orgs', 'repos_url': 'https://api.github.com/users/Twilight0/repos', 'events_url': 'https://api.github.com/users/Twilight0/events{/privacy}', 'received_events_url': 'https://api.github.com/users/Twilight0/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-07T15:32:48Z', 'updated_at': '2026-11-08T03:03:13Z', '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/14993', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14993', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14993.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14993.patch', 'merged_at': None}, 'body': "## Depends on\n\n#14992 (`fix/nouveau-driver-detection`) — `DRIVER_NOUVEAU` previously never matched on modern Mesa, so the bug entry added here would never trigger without it. This PR is a single commit based on `master` and touches disjoint files, so it is inert (but harmless) until #14992 lands; please merge #14992 first.\n\n## Problem\n\nWith `FastDepthCalc` enabled, the fog/ztexture depth (`zCoord`) is derived from the hardware fragment depth (`rawpos.z`). On Nouveau (verified on Fermi/NVC3 with Mesa) that value is wrong in full game shaders, which saturates perspective fog across entire scenes:\n\n- Metal Gear Solid: The Twin Snakes — cargo dock renders as a solid dark-green wash (HUD/minimap unaffected)\n- Super Smash Bros. Melee — menus wash out, some characters/stages wrong\n- Super Mario Sunshine — Mario turns monochrome in goop\n\nDisabling `FastDepthCalc` avoids it by recomputing depth from clip space (the existing non-fast path), at a performance cost.\n\n## Fix\n\nAdd `BUG_BROKEN_FRAG_COORD_DEPTH` for `DRIVER_NOUVEAU` and route affected drivers through the same clip-space depth calculation already used when `FastDepthCalc` is off, including emitting the `clipPos` varying in the vertex/geometry/uber shader generators. Other drivers generate identical shaders to before; the new `ShaderHostConfig` bit also separates the shader cache, so stale binaries compiled with the old formula are not reused.\n\nNote on placement: the root cause may be in Nouveau's handling of `gl_FragCoord.z` in these shaders, but minimal GL repros (fog math, `gl_FragCoord.z` under clip control/reversed ranges, early fragment tests, dynamic sampler indexing) all pass on the same driver, so no Mesa-side defect could be isolated. This uses Dolphin's existing driver-workaround mechanism, gated to Nouveau only.\n\n## Testing\n\nGeForce GT 555M (NVC3), `FastDepthCalc = True`, cold shader cache, both stock Mesa 26.2.6 (Arch) and a locally patched Mesa:\n\n- Twin Snakes cargo dock and the preceding diving-suit cutscene: correct colours (previously dark-green wash)\n- Melee title/menus/characters: correct (previously washed/grey-blue)\n- One-variable isolation runs: original shader cache = broken, fresh cache = correct; forcing `early_fragment_tests` or toggling image-load-store paths made no difference once the cache was cold\n", 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14993/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/14993/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6716481463', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14993#issuecomment-6716481463', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14993', 'id': 6716481463, 'node_id': 'IC_kwDOALCn2M8AAAABkFVftw', 'user': {'login': 'MayImilae', 'id': 6551020, 'node_id': 'MDQ6VXNlcjY1NTEwMjA=', 'avatar_url': 'https://avatars.githubusercontent.com/u/6551020?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/MayImilae', 'html_url': 'https://github.com/MayImilae', 'followers_url': 'https://api.github.com/users/MayImilae/followers', 'following_url': 'https://api.github.com/users/MayImilae/following{/other_user}', 'gists_url': 'https://api.github.com/users/MayImilae/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/MayImilae/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/MayImilae/subscriptions', 'organizations_url': 'https://api.github.com/users/MayImilae/orgs', 'repos_url': 'https://api.github.com/users/MayImilae/repos', 'events_url': 'https://api.github.com/users/MayImilae/events{/privacy}', 'received_events_url': 'https://api.github.com/users/MayImilae/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2026-11-08T03:03:13Z', 'updated_at': '2026-11-08T03:03:13Z', 'body': "This isn't a Dolphin bug, this is a Nouveau/Mesa bug. Report it to them or try to fix the bug in the driver. In the meantime, don't use fastdepth.", 'author_association': 'MEMBER', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6716481463/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-07T22:20:48Z', 'pushed_at': '2026-11-08T01:16:41Z', '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': 563799, 'stargazers_count': 15774, 'watchers_count': 15774, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3383, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 485, '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': 3383, 'open_issues': 485, 'watchers': 15774, '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': 'MayImilae', 'id': 6551020, 'node_id': 'MDQ6VXNlcjY1NTEwMjA=', 'avatar_url': 'https://avatars.githubusercontent.com/u/6551020?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/MayImilae', 'html_url': 'https://github.com/MayImilae', 'followers_url': 'https://api.github.com/users/MayImilae/followers', 'following_url': 'https://api.github.com/users/MayImilae/following{/other_user}', 'gists_url': 'https://api.github.com/users/MayImilae/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/MayImilae/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/MayImilae/subscriptions', 'organizations_url': 'https://api.github.com/users/MayImilae/orgs', 'repos_url': 'https://api.github.com/users/MayImilae/repos', 'events_url': 'https://api.github.com/users/MayImilae/events{/privacy}', 'received_events_url': 'https://api.github.com/users/MayImilae/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'raw_gh_hook'}
2026-11-08T02:59:23.138105 {'source': 'webserver', 'gh_type': 'pull_request', 'raw': {'action': 'opened', 'number': 14995, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14995', 'id': 5208102536, 'node_id': 'PR_kwDOALCn2M8AAAABNm1WiA', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14995', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14995.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14995.patch', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14995', 'number': 14995, 'state': 'open', 'locked': False, 'title': 'AX: fix two bugs', 'user': {'login': 'Tilka', 'id': 123798, 'node_id': 'MDQ6VXNlcjEyMzc5OA==', 'avatar_url': 'https://avatars.githubusercontent.com/u/123798?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/Tilka', 'html_url': 'https://github.com/Tilka', 'followers_url': 'https://api.github.com/users/Tilka/followers', 'following_url': 'https://api.github.com/users/Tilka/following{/other_user}', 'gists_url': 'https://api.github.com/users/Tilka/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/Tilka/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/Tilka/subscriptions', 'organizations_url': 'https://api.github.com/users/Tilka/orgs', 'repos_url': 'https://api.github.com/users/Tilka/repos', 'events_url': 'https://api.github.com/users/Tilka/events{/privacy}', 'received_events_url': 'https://api.github.com/users/Tilka/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': "The de-pop issue was reported in #14988.\n\nThe CMD_SUB_TO_LR bug was found by staring. No idea which games actually use this command. I assume it's one of the surround schemes.", 'created_at': '2026-11-08T02:59:20Z', 'updated_at': '2026-11-08T02:59:20Z', 'closed_at': None, 'merged_at': None, 'merge_commit_sha': None, 'assignees': [], 'requested_reviewers': [], 'requested_teams': [], 'labels': [], 'milestone': None, 'draft': False, 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14995/commits', 'review_comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14995/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/14995/comments', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/2cf9900ebd1469a07e44d4e9af05deb04d5cadd4', 'head': {'label': 'Tilka:ax_fixes', 'ref': 'ax_fixes', 'sha': '2cf9900ebd1469a07e44d4e9af05deb04d5cadd4', 'user': {'login': 'Tilka', 'id': 123798, 'node_id': 'MDQ6VXNlcjEyMzc5OA==', 'avatar_url': 'https://avatars.githubusercontent.com/u/123798?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/Tilka', 'html_url': 'https://github.com/Tilka', 'followers_url': 'https://api.github.com/users/Tilka/followers', 'following_url': 'https://api.github.com/users/Tilka/following{/other_user}', 'gists_url': 'https://api.github.com/users/Tilka/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/Tilka/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/Tilka/subscriptions', 'organizations_url': 'https://api.github.com/users/Tilka/orgs', 'repos_url': 'https://api.github.com/users/Tilka/repos', 'events_url': 'https://api.github.com/users/Tilka/events{/privacy}', 'received_events_url': 'https://api.github.com/users/Tilka/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 16304949, 'node_id': 'MDEwOlJlcG9zaXRvcnkxNjMwNDk0OQ==', 'name': 'dolphin', 'full_name': 'Tilka/dolphin', 'private': False, 'owner': {'login': 'Tilka', 'id': 123798, 'node_id': 'MDQ6VXNlcjEyMzc5OA==', 'avatar_url': 'https://avatars.githubusercontent.com/u/123798?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/Tilka', 'html_url': 'https://github.com/Tilka', 'followers_url': 'https://api.github.com/users/Tilka/followers', 'following_url': 'https://api.github.com/users/Tilka/following{/other_user}', 'gists_url': 'https://api.github.com/users/Tilka/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/Tilka/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/Tilka/subscriptions', 'organizations_url': 'https://api.github.com/users/Tilka/orgs', 'repos_url': 'https://api.github.com/users/Tilka/repos', 'events_url': 'https://api.github.com/users/Tilka/events{/privacy}', 'received_events_url': 'https://api.github.com/users/Tilka/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/Tilka/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/Tilka/dolphin', 'forks_url': 'https://api.github.com/repos/Tilka/dolphin/forks', 'keys_url': 'https://api.github.com/repos/Tilka/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/Tilka/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/Tilka/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/Tilka/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/Tilka/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/Tilka/dolphin/events', 'assignees_url': 'https://api.github.com/repos/Tilka/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/Tilka/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/Tilka/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/Tilka/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/Tilka/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/Tilka/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/Tilka/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/Tilka/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/Tilka/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/Tilka/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/Tilka/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/Tilka/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/Tilka/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/Tilka/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/Tilka/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/Tilka/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/Tilka/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/Tilka/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/Tilka/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/Tilka/dolphin/merges', 'archive_url': 'https://api.github.com/repos/Tilka/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/Tilka/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/Tilka/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/Tilka/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/Tilka/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/Tilka/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/Tilka/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/Tilka/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/Tilka/dolphin/deployments', 'created_at': '2014-01-28T07:24:53Z', 'updated_at': '2024-12-24T17:03:46Z', 'pushed_at': '2026-11-08T02:20:27Z', 'git_url': 'git://github.com/Tilka/dolphin.git', 'ssh_url': 'git@github.com:Tilka/dolphin.git', 'clone_url': 'https://github.com/Tilka/dolphin.git', 'svn_url': 'https://github.com/Tilka/dolphin', 'homepage': None, 'size': 522175, 'stargazers_count': 3, 'watchers_count': 3, 'language': 'C++', 'has_issues': False, 'has_projects': True, 'has_downloads': False, 'has_wiki': False, 'has_pages': False, 'has_discussions': False, 'forks_count': 0, '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': 0, 'open_issues': 0, 'watchers': 3, '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': '257a6d0eac1d915216dbc974e9390af3050af2b9', '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-07T22:20:48Z', 'pushed_at': '2026-11-08T01:16:41Z', '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': 563799, 'stargazers_count': 15774, 'watchers_count': 15774, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3383, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 485, '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': 3383, 'open_issues': 485, 'watchers': 15774, '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/14995'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14995'}, 'issue': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14995'}, 'comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14995/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14995/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/14995/commits'}, 'statuses': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/2cf9900ebd1469a07e44d4e9af05deb04d5cadd4'}}, 'author_association': 'MEMBER', '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': 0, 'maintainer_can_modify': True, 'commits': 3, 'additions': 17, 'deletions': 11, 'changed_files': 3}, '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-07T22:20:48Z', 'pushed_at': '2026-11-08T01:16:41Z', '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': 563799, 'stargazers_count': 15774, 'watchers_count': 15774, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3383, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 485, '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': 3383, 'open_issues': 485, 'watchers': 15774, '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': 'Tilka', 'id': 123798, 'node_id': 'MDQ6VXNlcjEyMzc5OA==', 'avatar_url': 'https://avatars.githubusercontent.com/u/123798?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/Tilka', 'html_url': 'https://github.com/Tilka', 'followers_url': 'https://api.github.com/users/Tilka/followers', 'following_url': 'https://api.github.com/users/Tilka/following{/other_user}', 'gists_url': 'https://api.github.com/users/Tilka/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/Tilka/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/Tilka/subscriptions', 'organizations_url': 'https://api.github.com/users/Tilka/orgs', 'repos_url': 'https://api.github.com/users/Tilka/repos', 'events_url': 'https://api.github.com/users/Tilka/events{/privacy}', 'received_events_url': 'https://api.github.com/users/Tilka/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'raw_gh_hook'}
2026-11-08T01:16:43.099837 {'source': 'webserver', 'gh_type': 'push', 'raw': {'ref': 'refs/tags/2609b', 'before': '0000000000000000000000000000000000000000', 'after': '847cc451c687f759f788d12f02a82e0c49252038', 'repository': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'name': 'dolphin-emu', 'email': None, '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': 1374484077, 'updated_at': '2026-11-07T22:20:48Z', 'pushed_at': 1794100601, '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': 563799, 'stargazers_count': 15774, 'watchers_count': 15774, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': True, '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': 15774, 'default_branch': 'master', 'stargazers': 15774, 'master_branch': 'master', 'organization': 'dolphin-emu', 'custom_properties': {}}, 'pusher': {'name': 'OatmealDome', 'email': 'OatmealDome@users.noreply.github.com'}, 'forced': False, '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': 'OatmealDome', 'id': 11504941, 'node_id': 'MDQ6VXNlcjExNTA0OTQx', 'avatar_url': 'https://avatars.githubusercontent.com/u/11504941?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/OatmealDome', 'html_url': 'https://github.com/OatmealDome', 'followers_url': 'https://api.github.com/users/OatmealDome/followers', 'following_url': 'https://api.github.com/users/OatmealDome/following{/other_user}', 'gists_url': 'https://api.github.com/users/OatmealDome/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/OatmealDome/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/OatmealDome/subscriptions', 'organizations_url': 'https://api.github.com/users/OatmealDome/orgs', 'repos_url': 'https://api.github.com/users/OatmealDome/repos', 'events_url': 'https://api.github.com/users/OatmealDome/events{/privacy}', 'received_events_url': 'https://api.github.com/users/OatmealDome/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created': True, 'deleted': False, 'base_ref': None, 'compare': 'https://github.com/dolphin-emu/dolphin/compare/2609b', 'commits': [], 'head_commit': {'id': '3a5b3743b18da3e8f04cbc44f20dc50fbd3a9ef3', 'tree_id': '6392bc4254aebb2ce5608c286ebda0a8ad99265c', 'distinct': True, 'message': 'ScmRevGen: Bump version to 2609b', 'timestamp': '2026-11-07T18:39:14-05:00', 'url': 'https://github.com/dolphin-emu/dolphin/commit/3a5b3743b18da3e8f04cbc44f20dc50fbd3a9ef3', 'author': {'name': 'OatmealDome', 'email': 'julian@oatmealdome.me', 'date': '2026-11-07T00:45:44-05:00', 'username': 'OatmealDome'}, 'committer': {'name': 'OatmealDome', 'email': 'julian@oatmealdome.me', 'date': '2026-11-07T18:39:14-05:00', 'username': 'OatmealDome'}, 'added': [], 'removed': [], 'modified': ['CMake/ScmRevGen.cmake']}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'raw_gh_hook'}
2026-11-08T00:11:04.796712 {'source': 'webserver', 'gh_type': 'issue_comment', 'raw': {'action': 'edited', 'changes': {'body': {'from': '> Please clean up the git history so there\'s just one commit.\r\n\r\nBit offtopic, but why not just squash merge?\r\n\r\n\r\n<img height="200" alt="chrome_73cQpbwebT" src="https://github.com/user-attachments/assets/2689de52-9bdf-4f73-8167-5aa1d6827c18" />\r\n'}}, 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14713', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14713/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14713/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14713/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14713', 'id': 4799994243, 'node_id': 'PR_kwDOALCn2M7taCDH', 'number': 14713, 'title': 'Fix cheatsmanager crash', 'user': {'login': 'llsc12', 'id': 42747613, 'node_id': 'MDQ6VXNlcjQyNzQ3NjEz', 'avatar_url': 'https://avatars.githubusercontent.com/u/42747613?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/llsc12', 'html_url': 'https://github.com/llsc12', 'followers_url': 'https://api.github.com/users/llsc12/followers', 'following_url': 'https://api.github.com/users/llsc12/following{/other_user}', 'gists_url': 'https://api.github.com/users/llsc12/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/llsc12/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/llsc12/subscriptions', 'organizations_url': 'https://api.github.com/users/llsc12/orgs', 'repos_url': 'https://api.github.com/users/llsc12/repos', 'events_url': 'https://api.github.com/users/llsc12/events{/privacy}', 'received_events_url': 'https://api.github.com/users/llsc12/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 3, 'created_at': '2026-07-03T03:15:08Z', 'updated_at': '2026-11-08T00:10:50Z', '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/14713', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14713', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14713.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14713.patch', 'merged_at': None}, 'body': "`OnFrameEnd` is called from the CPU thread and starts calling methods on widgets. When searching memory for values, this caused Dolphin to crash a lot for me. Reproduced relatively reliably by having the game running, memory values auto-updating and trying to edit an address' description. \r\n\r\nThe fix just moves work onto the GUI thread, with an atomic flag to avoid posting events every frame if the GUI thread was to fall behind. \r\n\r\nI tested this for around 4 hours making some cheat codes for newer smbw. No crashes thus far.\r\n\r\nAI was used to examine crash logs.", 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14713/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/14713/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6714874012', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14713#issuecomment-6714874012', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14713', 'id': 6714874012, 'node_id': 'IC_kwDOALCn2M8AAAABkDzYnA', 'user': {'login': 'chloricacid', 'id': 273623891, 'node_id': 'U_kgDOEE8rUw', 'avatar_url': 'https://avatars.githubusercontent.com/u/273623891?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/chloricacid', 'html_url': 'https://github.com/chloricacid', 'followers_url': 'https://api.github.com/users/chloricacid/followers', 'following_url': 'https://api.github.com/users/chloricacid/following{/other_user}', 'gists_url': 'https://api.github.com/users/chloricacid/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/chloricacid/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/chloricacid/subscriptions', 'organizations_url': 'https://api.github.com/users/chloricacid/orgs', 'repos_url': 'https://api.github.com/users/chloricacid/repos', 'events_url': 'https://api.github.com/users/chloricacid/events{/privacy}', 'received_events_url': 'https://api.github.com/users/chloricacid/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2026-11-08T00:10:50Z', 'updated_at': '2026-11-08T00:11:02Z', 'body': '> Please clean up the git history so there\'s just one commit.\r\n\r\nBit (incredibly) offtopic, but why not just squash merge?\r\n\r\n\r\n<img height="200" alt="chrome_73cQpbwebT" src="https://github.com/user-attachments/assets/2689de52-9bdf-4f73-8167-5aa1d6827c18" />\r\n', 'author_association': 'NONE', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6714874012/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-07T22:20:48Z', 'pushed_at': '2026-11-07T23:39:17Z', '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': 563797, 'stargazers_count': 15774, 'watchers_count': 15774, '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': 15774, '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': 'chloricacid', 'id': 273623891, 'node_id': 'U_kgDOEE8rUw', 'avatar_url': 'https://avatars.githubusercontent.com/u/273623891?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/chloricacid', 'html_url': 'https://github.com/chloricacid', 'followers_url': 'https://api.github.com/users/chloricacid/followers', 'following_url': 'https://api.github.com/users/chloricacid/following{/other_user}', 'gists_url': 'https://api.github.com/users/chloricacid/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/chloricacid/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/chloricacid/subscriptions', 'organizations_url': 'https://api.github.com/users/chloricacid/orgs', 'repos_url': 'https://api.github.com/users/chloricacid/repos', 'events_url': 'https://api.github.com/users/chloricacid/events{/privacy}', 'received_events_url': 'https://api.github.com/users/chloricacid/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'raw_gh_hook'}
2026-11-08T00:10:53.110757 {'source': 'webserver', 'gh_type': 'issue_comment', 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14713', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14713/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14713/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14713/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14713', 'id': 4799994243, 'node_id': 'PR_kwDOALCn2M7taCDH', 'number': 14713, 'title': 'Fix cheatsmanager crash', 'user': {'login': 'llsc12', 'id': 42747613, 'node_id': 'MDQ6VXNlcjQyNzQ3NjEz', 'avatar_url': 'https://avatars.githubusercontent.com/u/42747613?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/llsc12', 'html_url': 'https://github.com/llsc12', 'followers_url': 'https://api.github.com/users/llsc12/followers', 'following_url': 'https://api.github.com/users/llsc12/following{/other_user}', 'gists_url': 'https://api.github.com/users/llsc12/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/llsc12/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/llsc12/subscriptions', 'organizations_url': 'https://api.github.com/users/llsc12/orgs', 'repos_url': 'https://api.github.com/users/llsc12/repos', 'events_url': 'https://api.github.com/users/llsc12/events{/privacy}', 'received_events_url': 'https://api.github.com/users/llsc12/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 3, 'created_at': '2026-07-03T03:15:08Z', 'updated_at': '2026-11-08T00:10:50Z', '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/14713', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14713', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14713.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14713.patch', 'merged_at': None}, 'body': "`OnFrameEnd` is called from the CPU thread and starts calling methods on widgets. When searching memory for values, this caused Dolphin to crash a lot for me. Reproduced relatively reliably by having the game running, memory values auto-updating and trying to edit an address' description. \r\n\r\nThe fix just moves work onto the GUI thread, with an atomic flag to avoid posting events every frame if the GUI thread was to fall behind. \r\n\r\nI tested this for around 4 hours making some cheat codes for newer smbw. No crashes thus far.\r\n\r\nAI was used to examine crash logs.", 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14713/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/14713/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6714874012', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14713#issuecomment-6714874012', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14713', 'id': 6714874012, 'node_id': 'IC_kwDOALCn2M8AAAABkDzYnA', 'user': {'login': 'chloricacid', 'id': 273623891, 'node_id': 'U_kgDOEE8rUw', 'avatar_url': 'https://avatars.githubusercontent.com/u/273623891?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/chloricacid', 'html_url': 'https://github.com/chloricacid', 'followers_url': 'https://api.github.com/users/chloricacid/followers', 'following_url': 'https://api.github.com/users/chloricacid/following{/other_user}', 'gists_url': 'https://api.github.com/users/chloricacid/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/chloricacid/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/chloricacid/subscriptions', 'organizations_url': 'https://api.github.com/users/chloricacid/orgs', 'repos_url': 'https://api.github.com/users/chloricacid/repos', 'events_url': 'https://api.github.com/users/chloricacid/events{/privacy}', 'received_events_url': 'https://api.github.com/users/chloricacid/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2026-11-08T00:10:50Z', 'updated_at': '2026-11-08T00:10:50Z', 'body': '> Please clean up the git history so there\'s just one commit.\r\n\r\nBit offtopic, but why not just squash merge?\r\n\r\n\r\n<img height="200" alt="chrome_73cQpbwebT" src="https://github.com/user-attachments/assets/2689de52-9bdf-4f73-8167-5aa1d6827c18" />\r\n', 'author_association': 'NONE', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6714874012/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-07T22:20:48Z', 'pushed_at': '2026-11-07T23:39:17Z', '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': 563797, 'stargazers_count': 15774, 'watchers_count': 15774, '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': 15774, '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': 'chloricacid', 'id': 273623891, 'node_id': 'U_kgDOEE8rUw', 'avatar_url': 'https://avatars.githubusercontent.com/u/273623891?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/chloricacid', 'html_url': 'https://github.com/chloricacid', 'followers_url': 'https://api.github.com/users/chloricacid/followers', 'following_url': 'https://api.github.com/users/chloricacid/following{/other_user}', 'gists_url': 'https://api.github.com/users/chloricacid/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/chloricacid/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/chloricacid/subscriptions', 'organizations_url': 'https://api.github.com/users/chloricacid/orgs', 'repos_url': 'https://api.github.com/users/chloricacid/repos', 'events_url': 'https://api.github.com/users/chloricacid/events{/privacy}', 'received_events_url': 'https://api.github.com/users/chloricacid/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'raw_gh_hook'}
2026-11-07T23:45:27.322413 {'source': 'webserver', 'gh_type': 'pull_request', 'raw': {'action': 'synchronize', 'number': 14671, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14671', 'id': 3798386882, 'node_id': 'PR_kwDOALCn2M7iZsjC', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14671', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14671.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14671.patch', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14671', 'number': 14671, 'state': 'open', 'locked': False, 'title': 'Android: Add RetroAchievements host override receiver', 'user': {'login': 'misantronic', 'id': 6033531, 'node_id': 'MDQ6VXNlcjYwMzM1MzE=', 'avatar_url': 'https://avatars.githubusercontent.com/u/6033531?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/misantronic', 'html_url': 'https://github.com/misantronic', 'followers_url': 'https://api.github.com/users/misantronic/followers', 'following_url': 'https://api.github.com/users/misantronic/following{/other_user}', 'gists_url': 'https://api.github.com/users/misantronic/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/misantronic/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/misantronic/subscriptions', 'organizations_url': 'https://api.github.com/users/misantronic/orgs', 'repos_url': 'https://api.github.com/users/misantronic/repos', 'events_url': 'https://api.github.com/users/misantronic/events{/privacy}', 'received_events_url': 'https://api.github.com/users/misantronic/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': "[RAOfflineProxy](https://raofflineproxy.com/) is an Android app that proxies RetroAchievements traffic through `127.0.0.1`, enabling offline softcore achievement play through local caching and later sync.\n\nThis makes the override controllable by the app at runtime instead of requiring external tools to patch `RetroAchievements.ini` directly, which is more brittle and harder to integrate cleanly on Android.\n\n## Summary\n- add an Android broadcast receiver for setting and clearing the RetroAchievements host override\n- persist the override to Dolphin's RetroAchievements config and disable hardcore while active\n- reload the achievement manager after config changes so the override takes effect without manual file edits\n\n## Testing\n- built `:app:assembleDebug`\n- installed the debug APK on device via `adb`\n- verified `SET_RETROACHIEVEMENTS_HOST_OVERRIDE` patches `RetroAchievements.ini` to `HostUrl = 127.0.0.1:8080` and sets `HardcoreEnabled = False`\n- verified traffic then routes through the local proxy\n- verified `CLEAR_RETROACHIEVEMENTS_HOST_OVERRIDE` resets `HostUrl =`\n\n## Related\n- mirrors the same Android broadcast-driven host override already merged for [PPSSPP](https://github.com/hrydgard/ppsspp/pull/21760), planned for the upcoming release\n- mirrors the same integration already merged for [flycast](https://github.com/flyinghead/flycast/pull/2371), planned for the upcoming release\n- mirrors the same integration already merged for [ARMSX2](https://github.com/ARMSX2/ARMSX2/pull/164) and shipped in the current build, and inherited by [ARMSX1](https://github.com/ARMSX2/ARMSX1)\n- mirrors the same integration already merged for [mupen64plus-ae](https://github.com/JoeysRetroHandhelds/mupen64plus-ae-retroachievements/pull/1)\n- mirrors the same integration already shipped in [WatermelonDS](https://github.com/SapphireRhodonite/WatermelonDS), with [SeedlessDS](https://github.com/SapphireRhodonite/SeedlessDS) pending\n- follows the same goal as the open PRs for [RetroArch](https://github.com/libretro/RetroArch/pull/19093) and [NetherSX2](https://github.com/Trixarian/NetherSX2-patch/pull/343)\n", 'created_at': '2026-06-03T20:26:42Z', 'updated_at': '2026-11-07T23:45:23Z', 'closed_at': None, 'merged_at': None, 'merge_commit_sha': None, 'assignees': [], 'requested_reviewers': [{'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}, {'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}], 'requested_teams': [], 'labels': [], 'milestone': None, 'draft': False, 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14671/commits', 'review_comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14671/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/14671/comments', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/8343bfcd38ec1922bed739418c9bea806f233955', 'head': {'label': 'misantronic:android-ra-host-override', 'ref': 'android-ra-host-override', 'sha': '8343bfcd38ec1922bed739418c9bea806f233955', 'user': {'login': 'misantronic', 'id': 6033531, 'node_id': 'MDQ6VXNlcjYwMzM1MzE=', 'avatar_url': 'https://avatars.githubusercontent.com/u/6033531?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/misantronic', 'html_url': 'https://github.com/misantronic', 'followers_url': 'https://api.github.com/users/misantronic/followers', 'following_url': 'https://api.github.com/users/misantronic/following{/other_user}', 'gists_url': 'https://api.github.com/users/misantronic/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/misantronic/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/misantronic/subscriptions', 'organizations_url': 'https://api.github.com/users/misantronic/orgs', 'repos_url': 'https://api.github.com/users/misantronic/repos', 'events_url': 'https://api.github.com/users/misantronic/events{/privacy}', 'received_events_url': 'https://api.github.com/users/misantronic/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 1258687642, 'node_id': 'R_kgDOSwYMmg', 'name': 'dolphin', 'full_name': 'misantronic/dolphin', 'private': False, 'owner': {'login': 'misantronic', 'id': 6033531, 'node_id': 'MDQ6VXNlcjYwMzM1MzE=', 'avatar_url': 'https://avatars.githubusercontent.com/u/6033531?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/misantronic', 'html_url': 'https://github.com/misantronic', 'followers_url': 'https://api.github.com/users/misantronic/followers', 'following_url': 'https://api.github.com/users/misantronic/following{/other_user}', 'gists_url': 'https://api.github.com/users/misantronic/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/misantronic/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/misantronic/subscriptions', 'organizations_url': 'https://api.github.com/users/misantronic/orgs', 'repos_url': 'https://api.github.com/users/misantronic/repos', 'events_url': 'https://api.github.com/users/misantronic/events{/privacy}', 'received_events_url': 'https://api.github.com/users/misantronic/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/misantronic/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/misantronic/dolphin', 'forks_url': 'https://api.github.com/repos/misantronic/dolphin/forks', 'keys_url': 'https://api.github.com/repos/misantronic/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/misantronic/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/misantronic/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/misantronic/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/misantronic/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/misantronic/dolphin/events', 'assignees_url': 'https://api.github.com/repos/misantronic/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/misantronic/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/misantronic/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/misantronic/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/misantronic/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/misantronic/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/misantronic/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/misantronic/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/misantronic/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/misantronic/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/misantronic/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/misantronic/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/misantronic/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/misantronic/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/misantronic/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/misantronic/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/misantronic/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/misantronic/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/misantronic/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/misantronic/dolphin/merges', 'archive_url': 'https://api.github.com/repos/misantronic/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/misantronic/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/misantronic/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/misantronic/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/misantronic/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/misantronic/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/misantronic/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/misantronic/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/misantronic/dolphin/deployments', 'created_at': '2026-06-03T20:26:04Z', 'updated_at': '2026-06-03T20:26:04Z', 'pushed_at': '2026-11-07T23:45:21Z', 'git_url': 'git://github.com/misantronic/dolphin.git', 'ssh_url': 'git@github.com:misantronic/dolphin.git', 'clone_url': 'https://github.com/misantronic/dolphin.git', 'svn_url': 'https://github.com/misantronic/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 522275, 'stargazers_count': 0, 'watchers_count': 0, 'language': None, 'has_issues': False, 'has_projects': True, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 0, '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': 0, 'open_issues': 0, 'watchers': 0, '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': '257a6d0eac1d915216dbc974e9390af3050af2b9', '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-07T22:20:48Z', 'pushed_at': '2026-11-07T23:39:17Z', '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': 563797, 'stargazers_count': 15774, 'watchers_count': 15774, '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': 15774, '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/14671'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14671'}, 'issue': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14671'}, 'comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14671/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14671/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/14671/commits'}, 'statuses': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/8343bfcd38ec1922bed739418c9bea806f233955'}}, 'author_association': 'NONE', 'auto_merge': None, 'assignee': None, 'active_lock_reason': None, 'merged': False, 'mergeable': None, 'rebaseable': None, 'mergeable_state': 'unknown', 'merged_by': None, 'comments': 20, 'review_comments': 25, 'maintainer_can_modify': True, 'commits': 2, 'additions': 419, 'deletions': 4, 'changed_files': 11}, 'before': 'eed81300e7d37b2773d05b47dcf8fac522ce5576', 'after': '8343bfcd38ec1922bed739418c9bea806f233955', '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-07T22:20:48Z', 'pushed_at': '2026-11-07T23:39:17Z', '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': 563797, 'stargazers_count': 15774, 'watchers_count': 15774, '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': 15774, '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': 'misantronic', 'id': 6033531, 'node_id': 'MDQ6VXNlcjYwMzM1MzE=', 'avatar_url': 'https://avatars.githubusercontent.com/u/6033531?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/misantronic', 'html_url': 'https://github.com/misantronic', 'followers_url': 'https://api.github.com/users/misantronic/followers', 'following_url': 'https://api.github.com/users/misantronic/following{/other_user}', 'gists_url': 'https://api.github.com/users/misantronic/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/misantronic/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/misantronic/subscriptions', 'organizations_url': 'https://api.github.com/users/misantronic/orgs', 'repos_url': 'https://api.github.com/users/misantronic/repos', 'events_url': 'https://api.github.com/users/misantronic/events{/privacy}', 'received_events_url': 'https://api.github.com/users/misantronic/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'raw_gh_hook'}
2026-11-07T23:39:20.379189 {'source': 'webserver', 'gh_type': 'check_suite', 'raw': {'action': 'requested', 'check_suite': {'id': 114937114796, 'node_id': 'CS_kwDOALCn2M8AAAAawskwrA', 'head_branch': 'release-prep-2609b-2', 'head_sha': '3a5b3743b18da3e8f04cbc44f20dc50fbd3a9ef3', 'status': 'queued', 'conclusion': None, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/check-suites/114937114796', 'before': '39e7f11c2c168577bcf3a248671a62550e042b02', 'after': '3a5b3743b18da3e8f04cbc44f20dc50fbd3a9ef3', 'pull_requests': [], 'app': {'id': 49947, 'client_id': 'Iv1.1fcaea7644d8b727', 'slug': 'dolphin-ci', 'node_id': 'MDM6QXBwNDk5NDc=', '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}, 'name': 'Dolphin CI', 'description': 'Continuous Integration setup for [dolphin-emu.org](https://dolphin-emu.org/).', 'external_url': 'https://github.com/dolphin-emu', 'html_url': 'https://github.com/apps/dolphin-ci', 'created_at': '2019-12-26T22:26:07Z', 'updated_at': '2019-12-26T22:33:19Z', 'permissions': {'checks': 'write', 'contents': 'read', 'issues': 'write', 'members': 'read', 'metadata': 'read', 'pull_requests': 'write', 'statuses': 'write'}, 'events': ['check_run', 'commit_comment', 'issue_comment', 'pull_request', 'pull_request_review', 'pull_request_review_comment', 'push']}, 'created_at': '2026-11-07T23:39:18Z', 'updated_at': '2026-11-07T23:39:18Z', 'rerequestable': True, 'runs_rerequestable': True, 'latest_check_runs_count': 0, 'check_runs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/check-suites/114937114796/check-runs', 'head_commit': {'id': '3a5b3743b18da3e8f04cbc44f20dc50fbd3a9ef3', 'tree_id': '6392bc4254aebb2ce5608c286ebda0a8ad99265c', 'message': 'ScmRevGen: Bump version to 2609b', 'timestamp': '2026-11-07T23:39:14Z', 'author': {'name': 'OatmealDome', 'email': 'julian@oatmealdome.me'}, 'committer': {'name': 'OatmealDome', 'email': 'julian@oatmealdome.me'}}}, '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-07T22:20:48Z', 'pushed_at': '2026-11-07T23:39:17Z', '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': 563797, 'stargazers_count': 15774, 'watchers_count': 15774, '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': 15774, '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': 'OatmealDome', 'id': 11504941, 'node_id': 'MDQ6VXNlcjExNTA0OTQx', 'avatar_url': 'https://avatars.githubusercontent.com/u/11504941?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/OatmealDome', 'html_url': 'https://github.com/OatmealDome', 'followers_url': 'https://api.github.com/users/OatmealDome/followers', 'following_url': 'https://api.github.com/users/OatmealDome/following{/other_user}', 'gists_url': 'https://api.github.com/users/OatmealDome/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/OatmealDome/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/OatmealDome/subscriptions', 'organizations_url': 'https://api.github.com/users/OatmealDome/orgs', 'repos_url': 'https://api.github.com/users/OatmealDome/repos', 'events_url': 'https://api.github.com/users/OatmealDome/events{/privacy}', 'received_events_url': 'https://api.github.com/users/OatmealDome/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'raw_gh_hook'}