Status for Dolphin Central
Recent events
2026-10-03T21:14:28.929029 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/kzqhmmj65g7bykn4xzylrsf7m9r32zh5-central-env/lib/python3.13/site-packages/central/github/authz.py', 'lineno': 29, 'msg': 'New GH %s: %s', 'args': "('dolphin-emu/trusted-developers', 'CrossVR,meffij,kamiyo,moncefmechri,NanoByte011,OatmealDome,bentley,neobrain,tygyh,mahdihijazi,comex,JosJuice,FioraAeterna,LAGonauta,rlnilsen,noahpistilli,booto,merryhime,JoshuaVandaele,CookiePLMonster,shonumi,Gamer64ytb,mimimi085181,phire,Ziek,vladfi1,JordanTheToaster,riking,OrN,Linktothepast,crediar,galop1n,kayru,aldelaro5,DacoTaco,CelestialAmber,mmastrac,Zopolis4,delroth,RisingFog,Sir-Walrus,spxtr,TryTwo,malleoz,PatrickFerry,Simonx22,Techjar,gwicks,zopieux,LPFaint99,LillyJadeKatrin,iwubcode,mandar1jn,skidau,Sintendo,Hydr8gon,smurf3tte,Linkinworm,archshift,RachelBryk,BhaaLseN,zackhow,SuperSamus,Tilka,tom-pratt,adamdmoss,Parlane,jordan-woyak,hthh,Ebola16,CasualPokePlayer,JMC47,cscd98,jjdelvalle,rukai,hrydgard,CrystalGamma,Dentomologist,mrgreywater,AdmiralCurtiss,aroulin,Orphis,Filoppi,SirMangler,deReeperJosh,nullgemm,unknownbrackets,degasus,jloehr,Stevoisiak,EmptyChaos,leoetlino,magcius,krnlyng,skylersaleh,jezze,Tinob,Geotale,Sam-Belliveau,marcan,spycrab,yourWaifu,K0bin,glennricster,lioncash,magumagu,MayImilae,randomstuff,hackbar,mitaclaw,TellowKrinkle,linkmauve,Lobsterzelda,ligfx,Phatcat,sepalani,endrift,ShimmerGlass,cristian64,Helios747,mathieui,corwin-mcknight,orbea,dreamsyntax,nickbeth,Buddybenj,mbc07,hdcmeta,Pokechu22,ColinDTaylor,Starsam80')", 'type': 'internal_log'}
2026-10-03T21:14:27.395682 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/kzqhmmj65g7bykn4xzylrsf7m9r32zh5-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-10-03T21:13:23.615479 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/kzqhmmj65g7bykn4xzylrsf7m9r32zh5-central-env/lib/python3.13/site-packages/central/github/authz.py', 'lineno': 29, 'msg': 'New GH %s: %s', 'args': "('dolphin-emu/core-developers', 'AdmiralCurtiss,leoetlino,CrossVR,jordan-woyak,JosJuice,phire,degasus,Tilka,Pokechu22,Dentomologist,OatmealDome,linkmauve,iwubcode')", 'type': 'internal_log'}
2026-10-03T21:13:23.300885 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/kzqhmmj65g7bykn4xzylrsf7m9r32zh5-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-10-03T21:09:27.395358 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/kzqhmmj65g7bykn4xzylrsf7m9r32zh5-central-env/lib/python3.13/site-packages/central/github/authz.py', 'lineno': 29, 'msg': 'New GH %s: %s', 'args': "('dolphin-emu/trusted-developers', 'CrossVR,meffij,kamiyo,moncefmechri,NanoByte011,OatmealDome,bentley,neobrain,tygyh,mahdihijazi,comex,JosJuice,FioraAeterna,LAGonauta,rlnilsen,noahpistilli,booto,merryhime,JoshuaVandaele,CookiePLMonster,shonumi,Gamer64ytb,mimimi085181,phire,Ziek,vladfi1,JordanTheToaster,riking,OrN,Linktothepast,crediar,galop1n,kayru,aldelaro5,DacoTaco,CelestialAmber,mmastrac,Zopolis4,delroth,RisingFog,Sir-Walrus,spxtr,TryTwo,malleoz,PatrickFerry,Simonx22,Techjar,gwicks,zopieux,LPFaint99,LillyJadeKatrin,iwubcode,mandar1jn,skidau,Sintendo,Hydr8gon,smurf3tte,Linkinworm,archshift,RachelBryk,BhaaLseN,zackhow,SuperSamus,Tilka,tom-pratt,adamdmoss,Parlane,jordan-woyak,hthh,Ebola16,CasualPokePlayer,JMC47,cscd98,jjdelvalle,rukai,hrydgard,CrystalGamma,Dentomologist,mrgreywater,AdmiralCurtiss,aroulin,Orphis,Filoppi,SirMangler,deReeperJosh,nullgemm,unknownbrackets,degasus,jloehr,Stevoisiak,EmptyChaos,leoetlino,magcius,krnlyng,skylersaleh,jezze,Tinob,Geotale,Sam-Belliveau,marcan,spycrab,yourWaifu,K0bin,glennricster,lioncash,magumagu,MayImilae,randomstuff,hackbar,mitaclaw,TellowKrinkle,linkmauve,Lobsterzelda,ligfx,Phatcat,sepalani,endrift,ShimmerGlass,cristian64,Helios747,mathieui,corwin-mcknight,orbea,dreamsyntax,nickbeth,Buddybenj,mbc07,hdcmeta,Pokechu22,ColinDTaylor,Starsam80')", 'type': 'internal_log'}
2026-10-03T21:09:25.852868 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/kzqhmmj65g7bykn4xzylrsf7m9r32zh5-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-10-03T21:04:25.852514 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/kzqhmmj65g7bykn4xzylrsf7m9r32zh5-central-env/lib/python3.13/site-packages/central/github/authz.py', 'lineno': 29, 'msg': 'New GH %s: %s', 'args': "('dolphin-emu/trusted-developers', 'CrossVR,meffij,kamiyo,moncefmechri,NanoByte011,OatmealDome,bentley,neobrain,tygyh,mahdihijazi,comex,JosJuice,FioraAeterna,LAGonauta,rlnilsen,noahpistilli,booto,merryhime,JoshuaVandaele,CookiePLMonster,shonumi,Gamer64ytb,mimimi085181,phire,Ziek,vladfi1,JordanTheToaster,riking,OrN,Linktothepast,crediar,galop1n,kayru,aldelaro5,DacoTaco,CelestialAmber,mmastrac,Zopolis4,delroth,RisingFog,Sir-Walrus,spxtr,TryTwo,malleoz,PatrickFerry,Simonx22,Techjar,gwicks,zopieux,LPFaint99,LillyJadeKatrin,iwubcode,mandar1jn,skidau,Sintendo,Hydr8gon,smurf3tte,Linkinworm,archshift,RachelBryk,BhaaLseN,zackhow,SuperSamus,Tilka,tom-pratt,adamdmoss,Parlane,jordan-woyak,hthh,Ebola16,CasualPokePlayer,JMC47,cscd98,jjdelvalle,rukai,hrydgard,CrystalGamma,Dentomologist,mrgreywater,AdmiralCurtiss,aroulin,Orphis,Filoppi,SirMangler,deReeperJosh,nullgemm,unknownbrackets,degasus,jloehr,Stevoisiak,EmptyChaos,leoetlino,magcius,krnlyng,skylersaleh,jezze,Tinob,Geotale,Sam-Belliveau,marcan,spycrab,yourWaifu,K0bin,glennricster,lioncash,magumagu,MayImilae,randomstuff,hackbar,mitaclaw,TellowKrinkle,linkmauve,Lobsterzelda,ligfx,Phatcat,sepalani,endrift,ShimmerGlass,cristian64,Helios747,mathieui,corwin-mcknight,orbea,dreamsyntax,nickbeth,Buddybenj,mbc07,hdcmeta,Pokechu22,ColinDTaylor,Starsam80')", 'type': 'internal_log'}
2026-10-03T21:04:24.375610 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/kzqhmmj65g7bykn4xzylrsf7m9r32zh5-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-10-03T21:03:23.300651 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/kzqhmmj65g7bykn4xzylrsf7m9r32zh5-central-env/lib/python3.13/site-packages/central/github/authz.py', 'lineno': 29, 'msg': 'New GH %s: %s', 'args': "('dolphin-emu/core-developers', 'AdmiralCurtiss,leoetlino,CrossVR,jordan-woyak,JosJuice,phire,degasus,Tilka,Pokechu22,Dentomologist,OatmealDome,linkmauve,iwubcode')", 'type': 'internal_log'}
2026-10-03T21:03:22.949843 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/kzqhmmj65g7bykn4xzylrsf7m9r32zh5-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-10-03T20:59:24.375310 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/kzqhmmj65g7bykn4xzylrsf7m9r32zh5-central-env/lib/python3.13/site-packages/central/github/authz.py', 'lineno': 29, 'msg': 'New GH %s: %s', 'args': "('dolphin-emu/trusted-developers', 'CrossVR,meffij,kamiyo,moncefmechri,NanoByte011,OatmealDome,bentley,neobrain,tygyh,mahdihijazi,comex,JosJuice,FioraAeterna,LAGonauta,rlnilsen,noahpistilli,booto,merryhime,JoshuaVandaele,CookiePLMonster,shonumi,Gamer64ytb,mimimi085181,phire,Ziek,vladfi1,JordanTheToaster,riking,OrN,Linktothepast,crediar,galop1n,kayru,aldelaro5,DacoTaco,CelestialAmber,mmastrac,Zopolis4,delroth,RisingFog,Sir-Walrus,spxtr,TryTwo,malleoz,PatrickFerry,Simonx22,Techjar,gwicks,zopieux,LPFaint99,LillyJadeKatrin,iwubcode,mandar1jn,skidau,Sintendo,Hydr8gon,smurf3tte,Linkinworm,archshift,RachelBryk,BhaaLseN,zackhow,SuperSamus,Tilka,tom-pratt,adamdmoss,Parlane,jordan-woyak,hthh,Ebola16,CasualPokePlayer,JMC47,cscd98,jjdelvalle,rukai,hrydgard,CrystalGamma,Dentomologist,mrgreywater,AdmiralCurtiss,aroulin,Orphis,Filoppi,SirMangler,deReeperJosh,nullgemm,unknownbrackets,degasus,jloehr,Stevoisiak,EmptyChaos,leoetlino,magcius,krnlyng,skylersaleh,jezze,Tinob,Geotale,Sam-Belliveau,marcan,spycrab,yourWaifu,K0bin,glennricster,lioncash,magumagu,MayImilae,randomstuff,hackbar,mitaclaw,TellowKrinkle,linkmauve,Lobsterzelda,ligfx,Phatcat,sepalani,endrift,ShimmerGlass,cristian64,Helios747,mathieui,corwin-mcknight,orbea,dreamsyntax,nickbeth,Buddybenj,mbc07,hdcmeta,Pokechu22,ColinDTaylor,Starsam80')", 'type': 'internal_log'}
2026-10-03T20:59:22.912816 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/kzqhmmj65g7bykn4xzylrsf7m9r32zh5-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-10-03T20:54:22.912479 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/kzqhmmj65g7bykn4xzylrsf7m9r32zh5-central-env/lib/python3.13/site-packages/central/github/authz.py', 'lineno': 29, 'msg': 'New GH %s: %s', 'args': "('dolphin-emu/trusted-developers', 'CrossVR,meffij,kamiyo,moncefmechri,NanoByte011,OatmealDome,bentley,neobrain,tygyh,mahdihijazi,comex,JosJuice,FioraAeterna,LAGonauta,rlnilsen,noahpistilli,booto,merryhime,JoshuaVandaele,CookiePLMonster,shonumi,Gamer64ytb,mimimi085181,phire,Ziek,vladfi1,JordanTheToaster,riking,OrN,Linktothepast,crediar,galop1n,kayru,aldelaro5,DacoTaco,CelestialAmber,mmastrac,Zopolis4,delroth,RisingFog,Sir-Walrus,spxtr,TryTwo,malleoz,PatrickFerry,Simonx22,Techjar,gwicks,zopieux,LPFaint99,LillyJadeKatrin,iwubcode,mandar1jn,skidau,Sintendo,Hydr8gon,smurf3tte,Linkinworm,archshift,RachelBryk,BhaaLseN,zackhow,SuperSamus,Tilka,tom-pratt,adamdmoss,Parlane,jordan-woyak,hthh,Ebola16,CasualPokePlayer,JMC47,cscd98,jjdelvalle,rukai,hrydgard,CrystalGamma,Dentomologist,mrgreywater,AdmiralCurtiss,aroulin,Orphis,Filoppi,SirMangler,deReeperJosh,nullgemm,unknownbrackets,degasus,jloehr,Stevoisiak,EmptyChaos,leoetlino,magcius,krnlyng,skylersaleh,jezze,Tinob,Geotale,Sam-Belliveau,marcan,spycrab,yourWaifu,K0bin,glennricster,lioncash,magumagu,MayImilae,randomstuff,hackbar,mitaclaw,TellowKrinkle,linkmauve,Lobsterzelda,ligfx,Phatcat,sepalani,endrift,ShimmerGlass,cristian64,Helios747,mathieui,corwin-mcknight,orbea,dreamsyntax,nickbeth,Buddybenj,mbc07,hdcmeta,Pokechu22,ColinDTaylor,Starsam80')", 'type': 'internal_log'}
2026-10-03T20:54:21.421353 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/kzqhmmj65g7bykn4xzylrsf7m9r32zh5-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-10-03T20:53:22.949610 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/kzqhmmj65g7bykn4xzylrsf7m9r32zh5-central-env/lib/python3.13/site-packages/central/github/authz.py', 'lineno': 29, 'msg': 'New GH %s: %s', 'args': "('dolphin-emu/core-developers', 'AdmiralCurtiss,leoetlino,CrossVR,jordan-woyak,JosJuice,phire,degasus,Tilka,Pokechu22,Dentomologist,OatmealDome,linkmauve,iwubcode')", 'type': 'internal_log'}
2026-10-03T20:53:22.666866 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/kzqhmmj65g7bykn4xzylrsf7m9r32zh5-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-10-03T20:49:21.421018 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/kzqhmmj65g7bykn4xzylrsf7m9r32zh5-central-env/lib/python3.13/site-packages/central/github/authz.py', 'lineno': 29, 'msg': 'New GH %s: %s', 'args': "('dolphin-emu/trusted-developers', 'CrossVR,meffij,kamiyo,moncefmechri,NanoByte011,OatmealDome,bentley,neobrain,tygyh,mahdihijazi,comex,JosJuice,FioraAeterna,LAGonauta,rlnilsen,noahpistilli,booto,merryhime,JoshuaVandaele,CookiePLMonster,shonumi,Gamer64ytb,mimimi085181,phire,Ziek,vladfi1,JordanTheToaster,riking,OrN,Linktothepast,crediar,galop1n,kayru,aldelaro5,DacoTaco,CelestialAmber,mmastrac,Zopolis4,delroth,RisingFog,Sir-Walrus,spxtr,TryTwo,malleoz,PatrickFerry,Simonx22,Techjar,gwicks,zopieux,LPFaint99,LillyJadeKatrin,iwubcode,mandar1jn,skidau,Sintendo,Hydr8gon,smurf3tte,Linkinworm,archshift,RachelBryk,BhaaLseN,zackhow,SuperSamus,Tilka,tom-pratt,adamdmoss,Parlane,jordan-woyak,hthh,Ebola16,CasualPokePlayer,JMC47,cscd98,jjdelvalle,rukai,hrydgard,CrystalGamma,Dentomologist,mrgreywater,AdmiralCurtiss,aroulin,Orphis,Filoppi,SirMangler,deReeperJosh,nullgemm,unknownbrackets,degasus,jloehr,Stevoisiak,EmptyChaos,leoetlino,magcius,krnlyng,skylersaleh,jezze,Tinob,Geotale,Sam-Belliveau,marcan,spycrab,yourWaifu,K0bin,glennricster,lioncash,magumagu,MayImilae,randomstuff,hackbar,mitaclaw,TellowKrinkle,linkmauve,Lobsterzelda,ligfx,Phatcat,sepalani,endrift,ShimmerGlass,cristian64,Helios747,mathieui,corwin-mcknight,orbea,dreamsyntax,nickbeth,Buddybenj,mbc07,hdcmeta,Pokechu22,ColinDTaylor,Starsam80')", 'type': 'internal_log'}
2026-10-03T20:49:19.951531 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/kzqhmmj65g7bykn4xzylrsf7m9r32zh5-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-10-03T20:44:19.951220 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/kzqhmmj65g7bykn4xzylrsf7m9r32zh5-central-env/lib/python3.13/site-packages/central/github/authz.py', 'lineno': 29, 'msg': 'New GH %s: %s', 'args': "('dolphin-emu/trusted-developers', 'CrossVR,meffij,kamiyo,moncefmechri,NanoByte011,OatmealDome,bentley,neobrain,tygyh,mahdihijazi,comex,JosJuice,FioraAeterna,LAGonauta,rlnilsen,noahpistilli,booto,merryhime,JoshuaVandaele,CookiePLMonster,shonumi,Gamer64ytb,mimimi085181,phire,Ziek,vladfi1,JordanTheToaster,riking,OrN,Linktothepast,crediar,galop1n,kayru,aldelaro5,DacoTaco,CelestialAmber,mmastrac,Zopolis4,delroth,RisingFog,Sir-Walrus,spxtr,TryTwo,malleoz,PatrickFerry,Simonx22,Techjar,gwicks,zopieux,LPFaint99,LillyJadeKatrin,iwubcode,mandar1jn,skidau,Sintendo,Hydr8gon,smurf3tte,Linkinworm,archshift,RachelBryk,BhaaLseN,zackhow,SuperSamus,Tilka,tom-pratt,adamdmoss,Parlane,jordan-woyak,hthh,Ebola16,CasualPokePlayer,JMC47,cscd98,jjdelvalle,rukai,hrydgard,CrystalGamma,Dentomologist,mrgreywater,AdmiralCurtiss,aroulin,Orphis,Filoppi,SirMangler,deReeperJosh,nullgemm,unknownbrackets,degasus,jloehr,Stevoisiak,EmptyChaos,leoetlino,magcius,krnlyng,skylersaleh,jezze,Tinob,Geotale,Sam-Belliveau,marcan,spycrab,yourWaifu,K0bin,glennricster,lioncash,magumagu,MayImilae,randomstuff,hackbar,mitaclaw,TellowKrinkle,linkmauve,Lobsterzelda,ligfx,Phatcat,sepalani,endrift,ShimmerGlass,cristian64,Helios747,mathieui,corwin-mcknight,orbea,dreamsyntax,nickbeth,Buddybenj,mbc07,hdcmeta,Pokechu22,ColinDTaylor,Starsam80')", 'type': 'internal_log'}
2026-10-03T20:44:18.477624 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/kzqhmmj65g7bykn4xzylrsf7m9r32zh5-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-10-03T20:43:22.666603 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/kzqhmmj65g7bykn4xzylrsf7m9r32zh5-central-env/lib/python3.13/site-packages/central/github/authz.py', 'lineno': 29, 'msg': 'New GH %s: %s', 'args': "('dolphin-emu/core-developers', 'AdmiralCurtiss,leoetlino,CrossVR,jordan-woyak,JosJuice,phire,degasus,Tilka,Pokechu22,Dentomologist,OatmealDome,linkmauve,iwubcode')", 'type': 'internal_log'}
2026-10-03T20:43:21.996307 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/kzqhmmj65g7bykn4xzylrsf7m9r32zh5-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-10-03T20:39:18.477261 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/kzqhmmj65g7bykn4xzylrsf7m9r32zh5-central-env/lib/python3.13/site-packages/central/github/authz.py', 'lineno': 29, 'msg': 'New GH %s: %s', 'args': "('dolphin-emu/trusted-developers', 'CrossVR,meffij,kamiyo,moncefmechri,NanoByte011,OatmealDome,bentley,neobrain,tygyh,mahdihijazi,comex,JosJuice,FioraAeterna,LAGonauta,rlnilsen,noahpistilli,booto,merryhime,JoshuaVandaele,CookiePLMonster,shonumi,Gamer64ytb,mimimi085181,phire,Ziek,vladfi1,JordanTheToaster,riking,OrN,Linktothepast,crediar,galop1n,kayru,aldelaro5,DacoTaco,CelestialAmber,mmastrac,Zopolis4,delroth,RisingFog,Sir-Walrus,spxtr,TryTwo,malleoz,PatrickFerry,Simonx22,Techjar,gwicks,zopieux,LPFaint99,LillyJadeKatrin,iwubcode,mandar1jn,skidau,Sintendo,Hydr8gon,smurf3tte,Linkinworm,archshift,RachelBryk,BhaaLseN,zackhow,SuperSamus,Tilka,tom-pratt,adamdmoss,Parlane,jordan-woyak,hthh,Ebola16,CasualPokePlayer,JMC47,cscd98,jjdelvalle,rukai,hrydgard,CrystalGamma,Dentomologist,mrgreywater,AdmiralCurtiss,aroulin,Orphis,Filoppi,SirMangler,deReeperJosh,nullgemm,unknownbrackets,degasus,jloehr,Stevoisiak,EmptyChaos,leoetlino,magcius,krnlyng,skylersaleh,jezze,Tinob,Geotale,Sam-Belliveau,marcan,spycrab,yourWaifu,K0bin,glennricster,lioncash,magumagu,MayImilae,randomstuff,hackbar,mitaclaw,TellowKrinkle,linkmauve,Lobsterzelda,ligfx,Phatcat,sepalani,endrift,ShimmerGlass,cristian64,Helios747,mathieui,corwin-mcknight,orbea,dreamsyntax,nickbeth,Buddybenj,mbc07,hdcmeta,Pokechu22,ColinDTaylor,Starsam80')", 'type': 'internal_log'}
2026-10-03T20:39:17.048929 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/kzqhmmj65g7bykn4xzylrsf7m9r32zh5-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-10-03T20:36:57.004452 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': 'ca8f101300e2c59ce97c3d53ec21e0614e9c1646', 'service': 'pr-fifoci-vk-lin-mesa', 'pr': 14162, 'type': 'pull_request_fifoci_status'}
Recent 'build_status' events
2026-10-03T20:07:10.662796 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': 'ca8f101300e2c59ce97c3d53ec21e0614e9c1646', 'shortrev': 'ca8f10', 'service': 'pr-flatpak-x64', 'pr': 14162, 'success': True, 'pending': False, 'url': 'https://dolphin.ci/#/builders/43/builds/5778', 'description': 'Build succeeded on builder pr-flatpak-x64', 'type': 'build_status'}
2026-10-03T20:05:35.325865 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': 'ca8f101300e2c59ce97c3d53ec21e0614e9c1646', 'shortrev': 'ca8f10', 'service': 'pr-win-dbg-x64', 'pr': 14162, 'success': True, 'pending': False, 'url': 'https://dolphin.ci/#/builders/31/builds/10638', 'description': 'Build succeeded on builder pr-win-dbg-x64', 'type': 'build_status'}
2026-10-03T20:01:13.253880 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': 'ca8f101300e2c59ce97c3d53ec21e0614e9c1646', 'shortrev': 'ca8f10', 'service': 'pr-deb-dbg-x64', 'pr': 14162, 'success': True, 'pending': False, 'url': 'https://dolphin.ci/#/builders/1/builds/10630', 'description': 'Build succeeded on builder pr-deb-dbg-x64', 'type': 'build_status'}
2026-10-03T19:55:55.718058 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': 'ca8f101300e2c59ce97c3d53ec21e0614e9c1646', 'shortrev': 'ca8f10', 'service': 'pr-win-dbg-x64', 'pr': 14162, 'success': False, 'pending': True, 'url': 'https://dolphin.ci/#/builders/31/builds/10638', 'description': 'Auto build in progress on builder pr-win-dbg-x64', 'type': 'build_status'}
2026-10-03T19:55:55.032608 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': 'ca8f101300e2c59ce97c3d53ec21e0614e9c1646', 'shortrev': 'ca8f10', 'service': 'pr-win-arm64', 'pr': 14162, 'success': True, 'pending': False, 'url': 'https://dolphin.ci/#/builders/13/builds/10629', 'description': 'Build succeeded on builder pr-win-arm64', 'type': 'build_status'}
2026-10-03T19:48:28.433882 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': 'ca8f101300e2c59ce97c3d53ec21e0614e9c1646', 'shortrev': 'ca8f10', 'service': 'pr-android', 'pr': 14162, 'success': True, 'pending': False, 'url': 'https://dolphin.ci/#/builders/22/builds/10635', 'description': 'Build succeeded on builder pr-android', 'type': 'build_status'}
2026-10-03T19:44:45.222655 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': 'ca8f101300e2c59ce97c3d53ec21e0614e9c1646', 'shortrev': 'ca8f10', 'service': 'pr-deb-x64', 'pr': 14162, 'success': True, 'pending': False, 'url': 'https://dolphin.ci/#/builders/26/builds/10629', 'description': 'Build succeeded on builder pr-deb-x64', 'type': 'build_status'}
2026-10-03T19:44:44.340237 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': 'ca8f101300e2c59ce97c3d53ec21e0614e9c1646', 'shortrev': 'ca8f10', 'service': 'pr-deb-dbg-x64', 'pr': 14162, 'success': False, 'pending': True, 'url': 'https://dolphin.ci/#/builders/1/builds/10630', 'description': 'Auto build in progress on builder pr-deb-dbg-x64', 'type': 'build_status'}
2026-10-03T19:43:38.933422 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': 'ca8f101300e2c59ce97c3d53ec21e0614e9c1646', 'shortrev': 'ca8f10', 'service': 'pr-ubu-x64', 'pr': 14162, 'success': True, 'pending': False, 'url': 'https://dolphin.ci/#/builders/27/builds/10631', 'description': 'Build succeeded on builder pr-ubu-x64', 'type': 'build_status'}
2026-10-03T19:43:07.675484 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': 'ca8f101300e2c59ce97c3d53ec21e0614e9c1646', 'shortrev': 'ca8f10', 'service': 'pr-flatpak-arm64', 'pr': 14162, 'success': True, 'pending': False, 'url': 'https://dolphin.ci/#/builders/44/builds/5719', 'description': 'Build succeeded on builder pr-flatpak-arm64', 'type': 'build_status'}
2026-10-03T19:42:57.586399 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': 'ca8f101300e2c59ce97c3d53ec21e0614e9c1646', 'shortrev': 'ca8f10', 'service': 'pr-osx-universal', 'pr': 14162, 'success': True, 'pending': False, 'url': 'https://dolphin.ci/#/builders/7/builds/10649', 'description': 'Build succeeded on builder pr-osx-universal', 'type': 'build_status'}
2026-10-03T19:40:00.801605 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': 'ca8f101300e2c59ce97c3d53ec21e0614e9c1646', 'shortrev': 'ca8f10', 'service': 'pr-win-arm64', 'pr': 14162, 'success': False, 'pending': True, 'url': 'https://dolphin.ci/#/builders/13/builds/10629', 'description': 'Auto build in progress on builder pr-win-arm64', 'type': 'build_status'}
2026-10-03T19:40:00.111437 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': 'ca8f101300e2c59ce97c3d53ec21e0614e9c1646', 'shortrev': 'ca8f10', 'service': 'pr-win-x64', 'pr': 14162, 'success': True, 'pending': False, 'url': 'https://dolphin.ci/#/builders/2/builds/10632', 'description': 'Build succeeded on builder pr-win-x64', 'type': 'build_status'}
2026-10-03T19:30:37.964691 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': 'ca8f101300e2c59ce97c3d53ec21e0614e9c1646', 'shortrev': 'ca8f10', 'service': 'pr-freebsd-x64', 'pr': 14162, 'success': True, 'pending': False, 'url': 'https://dolphin.ci/#/builders/11/builds/10636', 'description': 'Build succeeded on builder pr-freebsd-x64', 'type': 'build_status'}
2026-10-03T19:27:26.954212 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': 'ca8f101300e2c59ce97c3d53ec21e0614e9c1646', 'shortrev': 'ca8f10', 'service': 'lint', 'pr': 14162, 'success': True, 'pending': False, 'url': 'https://dolphin.ci/#/builders/9/builds/10634', 'description': 'Build succeeded on builder lint', 'type': 'build_status'}
2026-10-03T19:27:25.967107 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': 'ca8f101300e2c59ce97c3d53ec21e0614e9c1646', 'shortrev': 'ca8f10', 'service': 'pr-ubu-x64', 'pr': 14162, 'success': False, 'pending': True, 'url': 'https://dolphin.ci/#/builders/27/builds/10631', 'description': 'Auto build in progress on builder pr-ubu-x64', 'type': 'build_status'}
2026-10-03T19:27:25.307363 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': 'ca8f101300e2c59ce97c3d53ec21e0614e9c1646', 'shortrev': 'ca8f10', 'service': 'pr-flatpak-arm64', 'pr': 14162, 'success': False, 'pending': True, 'url': 'https://dolphin.ci/#/builders/44/builds/5719', 'description': 'Auto build in progress on builder pr-flatpak-arm64', 'type': 'build_status'}
2026-10-03T19:27:24.639286 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': 'ca8f101300e2c59ce97c3d53ec21e0614e9c1646', 'shortrev': 'ca8f10', 'service': 'pr-flatpak-x64', 'pr': 14162, 'success': False, 'pending': True, 'url': 'https://dolphin.ci/#/builders/43/builds/5778', 'description': 'Auto build in progress on builder pr-flatpak-x64', 'type': 'build_status'}
2026-10-03T19:27:23.928032 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': 'ca8f101300e2c59ce97c3d53ec21e0614e9c1646', 'shortrev': 'ca8f10', 'service': 'pr-freebsd-x64', 'pr': 14162, 'success': False, 'pending': True, 'url': 'https://dolphin.ci/#/builders/11/builds/10636', 'description': 'Auto build in progress on builder pr-freebsd-x64', 'type': 'build_status'}
2026-10-03T19:27:23.332787 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': 'ca8f101300e2c59ce97c3d53ec21e0614e9c1646', 'shortrev': 'ca8f10', 'service': 'pr-android', 'pr': 14162, 'success': False, 'pending': True, 'url': 'https://dolphin.ci/#/builders/22/builds/10635', 'description': 'Auto build in progress on builder pr-android', 'type': 'build_status'}
2026-10-03T19:27:22.740007 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': 'ca8f101300e2c59ce97c3d53ec21e0614e9c1646', 'shortrev': 'ca8f10', 'service': 'pr-deb-x64', 'pr': 14162, 'success': False, 'pending': True, 'url': 'https://dolphin.ci/#/builders/26/builds/10629', 'description': 'Auto build in progress on builder pr-deb-x64', 'type': 'build_status'}
2026-10-03T19:27:21.706842 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': 'ca8f101300e2c59ce97c3d53ec21e0614e9c1646', 'shortrev': 'ca8f10', 'service': 'lint', 'pr': 14162, 'success': False, 'pending': True, 'url': 'https://dolphin.ci/#/builders/9/builds/10634', 'description': 'Auto build in progress on builder lint', 'type': 'build_status'}
2026-10-03T19:27:21.062659 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': 'ca8f101300e2c59ce97c3d53ec21e0614e9c1646', 'shortrev': 'ca8f10', 'service': 'pr-osx-universal', 'pr': 14162, 'success': False, 'pending': True, 'url': 'https://dolphin.ci/#/builders/7/builds/10649', 'description': 'Auto build in progress on builder pr-osx-universal', 'type': 'build_status'}
2026-10-03T19:27:20.359873 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': 'ca8f101300e2c59ce97c3d53ec21e0614e9c1646', 'shortrev': 'ca8f10', 'service': 'pr-win-x64', 'pr': 14162, 'success': False, 'pending': True, 'url': 'https://dolphin.ci/#/builders/2/builds/10632', 'description': 'Auto build in progress on builder pr-win-x64', 'type': 'build_status'}
2026-10-03T19:27:08.786402 {'source': 'prbuilder', 'repo': 'dolphin-emu/dolphin', 'hash': 'ca8f101300e2c59ce97c3d53ec21e0614e9c1646', 'shortrev': 'ca8f10', 'service': 'lint', 'pr': 14162, 'success': False, 'pending': True, 'url': 'https://dolphin.ci/', 'description': 'Auto build pending', 'type': 'build_status'}
Recent 'command_message' events
2026-10-03T11:07:44.563688 {'source': 'discord', 'who': 'josjuice', 'what': '<@1320924779556900984> please rebuild 14374', 'type': 'command_message'}
2026-10-03T07:49:30.388401 {'source': 'discord', 'who': 'josjuice', 'what': '<@1320924779556900984> please rebuild 14906', 'type': 'command_message'}
2026-10-03T01:28:00.147520 {'source': 'discord', 'who': 'billiard26', 'what': '<@1320924779556900984> please rebuild 14796', 'type': 'command_message'}
2026-10-02T23:20:45.523218 {'source': 'discord', 'who': 'billiard26', 'what': '<@1320924779556900984> pwease rebuild 14876', 'type': 'command_message'}
2026-10-02T19:11:22.120974 {'source': 'discord', 'who': 'josjuice', 'what': '<@1320924779556900984> please rebuild 14878', 'type': 'command_message'}
2026-10-02T18:18:02.238602 {'source': 'ircclient', 'who': 'AdmiralCurtiss', 'what': 'irrawaddy rebuild 14797', 'type': 'command_message'}
2026-10-02T18:05:54.323528 {'source': 'ircclient', 'who': 'AdmiralCurtiss', 'what': 'irrawaddy rebuild 14797', 'type': 'command_message'}
2026-10-02T17:56:53.885559 {'source': 'discord', 'who': 'josjuice', 'what': '<@1320924779556900984> please rebuild 14906', 'type': 'command_message'}
2026-10-02T17:53:58.434317 {'source': 'discord', 'who': 'josjuice', 'what': '<@1320924779556900984> please rebuild 14904', 'type': 'command_message'}
2026-10-01T17:57:38.815149 {'source': 'discord', 'who': 'josjuice', 'what': '<@1320924779556900984> please rebuild 14899', 'type': 'command_message'}
2026-10-01T17:50:29.391485 {'source': 'discord', 'who': 'josjuice', 'what': '<@1320924779556900984> please rebuild 14904', 'type': 'command_message'}
2026-10-01T17:48:09.620229 {'source': 'discord', 'who': 'josjuice', 'what': '<@1320924779556900984> please rebuild 14903', 'type': 'command_message'}
2026-10-01T14:07:16.229815 {'source': 'discord', 'who': 'joshuavandaele', 'what': '<@1320924779556900984> please rebuild 14899', 'type': 'command_message'}
2026-10-01T03:29:03.029268 {'source': 'discord', 'who': 'iwubcode', 'what': '<@1320924779556900984> - please rebuild 14899', 'type': 'command_message'}
2026-09-30T22:40:05.046449 {'source': 'discord', 'who': 'joshuavandaele', 'what': '<@1320924779556900984> please rebuild 14899', 'type': 'command_message'}
2026-09-30T17:09:12.344890 {'source': 'discord', 'who': 'josjuice', 'what': '<@1320924779556900984> please rebuild 14898', 'type': 'command_message'}
2026-09-30T16:52:58.193606 {'source': 'discord', 'who': 'josjuice', 'what': '<@1320924779556900984> please rebuild 14864', 'type': 'command_message'}
2026-09-30T16:51:19.002863 {'source': 'discord', 'who': 'josjuice', 'what': '<@1320924779556900984> please rebuild 14713', 'type': 'command_message'}
2026-09-30T15:33:48.071876 {'source': 'discord', 'who': 'iwubcode', 'what': '<@1320924779556900984> - please rebuild 14899', 'type': 'command_message'}
2026-09-30T01:01:52.967697 {'source': 'discord', 'who': 'iwubcode', 'what': '<@1320924779556900984> - please rebuild 14899', 'type': 'command_message'}
2026-09-27T14:45:00.347078 {'source': 'discord', 'who': 'joshuavandaele', 'what': '<@1320924779556900984> please rebuild 14890', 'type': 'command_message'}
2026-09-25T01:44:18.617752 {'source': 'ircclient', 'who': 'MayImilae', 'what': 'irrawaddy please rebuild pr14880', 'type': 'command_message'}
2026-09-24T16:12:49.916356 {'source': 'discord', 'who': 'josjuice', 'what': '<@1320924779556900984> please rebuild 14878', 'type': 'command_message'}
2026-09-24T15:28:06.973319 {'source': 'discord', 'who': 'iwubcode', 'what': '<@1320924779556900984> - please rebuild 14874', 'type': 'command_message'}
2026-09-24T04:50:44.946866 {'source': 'discord', 'who': 'mayimilae', 'what': '', 'type': 'command_message'}
Recent 'dev_wark' events
2026-10-03T01:28:00.147570 {'source': 'discord', 'accepted': True, 'type': 'dev_wark'}
2026-10-02T23:20:45.523243 {'source': 'discord', 'accepted': True, 'type': 'dev_wark'}
2026-10-02T18:18:02.238642 {'source': 'ircclient', 'accepted': True, 'type': 'dev_wark'}
2026-10-02T18:05:54.323557 {'source': 'ircclient', 'accepted': True, 'type': 'dev_wark'}
2026-10-01T03:29:03.029294 {'source': 'discord', 'accepted': True, 'type': 'dev_wark'}
2026-09-30T15:33:48.071899 {'source': 'discord', 'accepted': True, 'type': 'dev_wark'}
2026-09-30T01:01:52.967741 {'source': 'discord', 'accepted': True, 'type': 'dev_wark'}
2026-09-25T01:44:18.617778 {'source': 'ircclient', 'accepted': True, 'type': 'dev_wark'}
2026-09-24T15:28:06.973342 {'source': 'discord', 'accepted': True, 'type': 'dev_wark'}
2026-09-20T05:04:56.896502 {'source': 'ircclient', 'accepted': True, 'type': 'dev_wark'}
2026-09-20T01:21:25.660482 {'source': 'discord', 'accepted': True, 'type': 'dev_wark'}
2026-09-19T21:02:36.938954 {'source': 'discord', 'accepted': True, 'type': 'dev_wark'}
2026-09-19T20:49:50.877293 {'source': 'discord', 'accepted': True, 'type': 'dev_wark'}
Recent 'gh_commit_comment' events
2026-10-01T07:30:54.788283 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'minogalal66-cell', 'commit': 'cafb83736e1d3123a34d27b92f98a7c9a507eae5', 'url': 'https://github.com/dolphin-emu/dolphin/commit/cafb83736e1d3123a34d27b92f98a7c9a507eae5#commitcomment-202897744', 'type': 'gh_commit_comment'}
Recent 'gh_issue_comment' events
2026-10-03T19:29:37.025099 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'edited', 'id': 14162, 'title': 'Common: WorkQueueThread improvements.', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14162#issuecomment-3568762405', 'safe_author': True, 'body': "> @jordan-woyak:\r\n> \r\n> It seems that Windows builds are failing due to `_Callable`. You might want to check the relevant build logs.\r\n\r\n:D I'm working on it. It looks like it's a compiler bug. It doesn't like ~~the template-template-parameter for some reason.~~ ~~something~~ using non-type-template-parameters from a template.. sometimes.\r\n\r\nIt's a funky one: https://godbolt.org/z/Y9944rY1a\r\n\r\nEdit: I've found a workaround.\r\n\r\nEdit: Newer versions of MSVC seem to have been fixed.", 'raw': {'action': 'edited', 'changes': {'body': {'from': "> @jordan-woyak:\r\n> \r\n> It seems that Windows builds are failing due to `_Callable`. You might want to check the relevant build logs.\r\n\r\n:D I'm working on it. It looks like it's a compiler bug. It doesn't like ~~the template-template-parameter for some reason.~~ ~~something~~ using non-type-template-parameters from a template.. sometimes.\r\n\r\nIt's a funky one: https://godbolt.org/z/Y9944rY1a\r\n\r\nI've found a workaround."}}, 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14162', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14162/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14162/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14162/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14162', 'id': 3656750321, 'node_id': 'PR_kwDOALCn2M61Fkwo', 'number': 14162, 'title': 'Common: WorkQueueThread improvements.', '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}, 'labels': [], 'state': 'open', 'locked': False, 'assignees': [{'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}], 'milestone': None, 'comments': 1, 'created_at': '2025-11-24T01:26:30Z', 'updated_at': '2026-10-03T19:26:55Z', 'closed_at': None, 'assignee': {'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}, 'author_association': 'MEMBER', 'issue_field_values': [], 'type': None, 'active_lock_reason': None, 'draft': False, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14162', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14162', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14162.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14162.patch', 'merged_at': None}, 'body': 'This makes `WorkQueueThread` and `AsyncWorkThread` use `MoveOnlyFunction` intead of `std::function` so non-copyable function objects can be used.\r\n\r\n`AsyncWorkThread` (the wrapper around `WorkQueueThread` which takes function objects as jobs) now uses `InvokerOf<std::invoke<FuncType>>{}` instead of a type-erased `std::function{std::invoke<FuncType>}`, for less function call overhead on each job.\r\n\r\n`AsyncWorkThread::PushBlocking` is now a template to avoid the overhead of type-erased functions.\r\n\r\nPreviously, this would not compile, and if the `unique_ptr` was removed, it would more-or-less make 3 virtual function calls.\r\n```cpp\r\nmy_async_work_thread.PushBlocking([x = std::make_unique<int>()] {});\r\n```\r\n\r\nIt now compiles and only makes one virtual function call.\r\n', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14162/reactions', 'total_count': 1, '+1': 1, '-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/14162/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/3568762405', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14162#issuecomment-3568762405', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14162', 'id': 3568762405, 'node_id': 'IC_kwDOALCn2M7Utv4l', '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': '2025-11-24T02:59:10Z', 'updated_at': '2026-10-03T19:29:35Z', 'body': "> @jordan-woyak:\r\n> \r\n> It seems that Windows builds are failing due to `_Callable`. You might want to check the relevant build logs.\r\n\r\n:D I'm working on it. It looks like it's a compiler bug. It doesn't like ~~the template-template-parameter for some reason.~~ ~~something~~ using non-type-template-parameters from a template.. sometimes.\r\n\r\nIt's a funky one: https://godbolt.org/z/Y9944rY1a\r\n\r\nEdit: I've found a workaround.\r\n\r\nEdit: Newer versions of MSVC seem to have been fixed.", 'author_association': 'MEMBER', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/3568762405/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-10-03T19:08:11Z', 'pushed_at': '2026-10-03T10:25:06Z', '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': 561269, 'stargazers_count': 15604, 'watchers_count': 15604, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3284, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 474, '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': 3284, 'open_issues': 474, 'watchers': 15604, '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-10-03T19:00:03.542155 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'brand175', 'action': 'edited', 'id': 14640, 'title': 'DSPAccelerator: fix overflow behavior', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14640#issuecomment-5972424070', 'safe_author': False, 'body': "~~Assuming that this commit was already merged, it doesn't. I still have issues. I see this commit as a draft so I assume that means this hasn't been merged yet which is why I asked for it to be merged if it hasn't yet as I don't have VS studios installed to confirm it it does.~~\r\n\r\nedit: i didn't realize that build bot actually builds the build. It works", 'raw': {'action': 'edited', 'changes': {'body': {'from': "Assuming that this commit was already merged, it doesn't. I still have issues. I see this commit as a draft so I assume that means this hasn't been merged yet which is why I asked for it to be merged if it hasn't yet as I don't have VS studios installed to confirm it it does."}}, 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14640', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14640/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14640/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14640/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14640', 'id': 4372768132, 'node_id': 'PR_kwDOALCn2M7X0PNx', 'number': 14640, 'title': 'DSPAccelerator: fix overflow behavior', '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}, 'labels': [], 'state': 'open', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 4, 'created_at': '2026-05-03T19:38:21Z', 'updated_at': '2026-10-03T18:56:06Z', 'closed_at': None, 'assignee': None, 'author_association': 'MEMBER', 'issue_field_values': [], 'type': None, 'active_lock_reason': None, 'draft': True, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14640', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14640', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14640.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14640.patch', 'merged_at': None}, 'body': 'This was reported by brand175 who noticed pops in "007: Nightfire", see [issue 14042](https://bugs.dolphin-emu.org/issues/14042). I\'ve not tested the exact hardware behavior, just implemented what makes sense.', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14640/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/14640/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5972424070', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14640#issuecomment-5972424070', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14640', 'id': 5972424070, 'node_id': 'IC_kwDOALCn2M8AAAABY_v1hg', 'user': {'login': 'brand175', 'id': 20964160, 'node_id': 'MDQ6VXNlcjIwOTY0MTYw', 'avatar_url': 'https://avatars.githubusercontent.com/u/20964160?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/brand175', 'html_url': 'https://github.com/brand175', 'followers_url': 'https://api.github.com/users/brand175/followers', 'following_url': 'https://api.github.com/users/brand175/following{/other_user}', 'gists_url': 'https://api.github.com/users/brand175/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/brand175/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/brand175/subscriptions', 'organizations_url': 'https://api.github.com/users/brand175/orgs', 'repos_url': 'https://api.github.com/users/brand175/repos', 'events_url': 'https://api.github.com/users/brand175/events{/privacy}', 'received_events_url': 'https://api.github.com/users/brand175/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2026-10-03T18:56:06Z', 'updated_at': '2026-10-03T19:00:02Z', 'body': "~~Assuming that this commit was already merged, it doesn't. I still have issues. I see this commit as a draft so I assume that means this hasn't been merged yet which is why I asked for it to be merged if it hasn't yet as I don't have VS studios installed to confirm it it does.~~\r\n\r\nedit: i didn't realize that build bot actually builds the build. It works", 'author_association': 'NONE', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5972424070/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-10-03T18:16:47Z', 'pushed_at': '2026-10-03T10:25:06Z', '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': 561269, 'stargazers_count': 15605, 'watchers_count': 15605, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3284, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 474, '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': 3284, 'open_issues': 474, 'watchers': 15605, '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': 'brand175', 'id': 20964160, 'node_id': 'MDQ6VXNlcjIwOTY0MTYw', 'avatar_url': 'https://avatars.githubusercontent.com/u/20964160?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/brand175', 'html_url': 'https://github.com/brand175', 'followers_url': 'https://api.github.com/users/brand175/followers', 'following_url': 'https://api.github.com/users/brand175/following{/other_user}', 'gists_url': 'https://api.github.com/users/brand175/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/brand175/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/brand175/subscriptions', 'organizations_url': 'https://api.github.com/users/brand175/orgs', 'repos_url': 'https://api.github.com/users/brand175/repos', 'events_url': 'https://api.github.com/users/brand175/events{/privacy}', 'received_events_url': 'https://api.github.com/users/brand175/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'gh_issue_comment'}
2026-10-03T18:59:22.443227 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'created', 'id': 14902, 'title': 'UICommon: Add Web Interface for streaming integrated GBAs.', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14902#issuecomment-5972461956', 'safe_author': True, 'body': "> I did not focus on much other than the CMake since this is still WIP, however for the web interface I'd appreciate a little warning in-between `<noscript>` tags that say you need JavaScript support to use this :p\r\n\r\nFYI, other than CMake (and maybe the client-side code) I consider this PR mostly ready.", 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14902', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14902/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14902/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14902/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14902', 'id': 5658953473, 'node_id': 'PR_kwDOALCn2M8AAAABGDMPMA', 'number': 14902, 'title': 'UICommon: Add Web Interface for streaming integrated GBAs.', '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}, 'labels': [{'id': 221808232, 'node_id': 'MDU6TGFiZWwyMjE4MDgyMzI=', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels/WIP%20/%20do%20not%20merge', 'name': 'WIP / do not merge', 'color': '0052cc', 'default': False, 'description': 'Work in progress (do not merge)', 'archived_at': None, 'archived_by': None}, {'id': 221809816, 'node_id': 'MDU6TGFiZWwyMjE4MDk4MTY=', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels/RFC', 'name': 'RFC', 'color': 'FF6D00', 'default': False, 'description': 'Request for comments', 'archived_at': None, 'archived_by': None}], 'state': 'open', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 1, 'created_at': '2026-10-01T07:59:38Z', 'updated_at': '2026-10-03T18:59:19Z', 'closed_at': None, 'assignee': None, 'author_association': 'MEMBER', 'issue_field_values': [], 'type': None, 'active_lock_reason': None, 'draft': False, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14902', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14902', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14902.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14902.patch', 'merged_at': None}, 'body': 'This PR adds a web server to Dolphin for control of integrated GBAs.\r\n\r\n<img width="2560" height="1440" alt="image" src="https://github.com/user-attachments/assets/868f6f67-917f-40d7-a150-9e570bc77954" />\r\n\r\nThere are many future possibilities, changing settings, launching games, streaming the main window, etc. \r\nHowever, the current only feature is streaming the integrated GBAs.\r\n\r\nThere\'s no sort of authentication implemented right now.\r\nMultiple clients can connect to the same GBA (they fight over the latest button state).\r\n\r\nConnecting causes the relevant GBA window on the host-side to hide itself and audio to no longer play locally.\r\n\r\nThe main use case is playing Four Swords or Crystal Chronicles, with the GBA screens streamed to mobile devices over the local network.\r\nThis already works well.\r\n\r\nlibavcodec is used to encode to H264/Opus and stream to web browsers using some additional dependencies:\r\n- [cpp-httplib](https://github.com/yhirose/cpp-httplib) for a HTTP and WebSocket server.\r\n- [libdatachannel](https://github.com/paullouisageneau/libdatachannel) for WebRTC\r\n\r\nBoth of these dependencies require C++ exceptions.\r\nI\'ve enabled exceptions for only the required Dolphin source files.\r\n\r\nThe web server hosts files from `Sys/WebUI`\r\nI\'ve also included some 3rd party libraries there in `Sys/WebUI/deps`\r\n- [Notyf](https://github.com/caroso1222/notyf) for "toast" messages.\r\n- [OmniPad](https://github.com/WizardOfXerox/OmniPad) for touch controls.\r\n\r\nThe web client code I\'ve written is bad and I\'m hoping someone more interested in that side of things wants to re-write all that html/js/css stuff at some point.\r\nThat probably could be done in a future PR, things are working fine as-is, but it\'s ugly (visually and code-wise).\r\n\r\nlibdatachannel has a [bug](https://github.com/paullouisageneau/libdatachannel/issues/1647) with a pending fix that requires `std::locale::global(std::locale::classic());`.\r\nIt\'s only used when a client connects.\r\nSo.. streaming with the web interface will currently mess with locales.\r\nHopefully that bug will be fixed soon, otherwise we could use a clone that has the fix.\r\n\r\nI\'ve only tested building on Linux.\r\nI have almost no clue what I am doing with CMake.', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14902/reactions', 'total_count': 4, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 4, 'eyes': 0}, 'timeline_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14902/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5972461956', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14902#issuecomment-5972461956', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14902', 'id': 5972461956, 'node_id': 'IC_kwDOALCn2M8AAAABY_yJhA', '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-10-03T18:59:19Z', 'updated_at': '2026-10-03T18:59:19Z', 'body': "> I did not focus on much other than the CMake since this is still WIP, however for the web interface I'd appreciate a little warning in-between `<noscript>` tags that say you need JavaScript support to use this :p\r\n\r\nFYI, other than CMake (and maybe the client-side code) I consider this PR mostly ready.", 'author_association': 'MEMBER', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5972461956/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-10-03T18:16:47Z', 'pushed_at': '2026-10-03T10:25:06Z', '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': 561269, 'stargazers_count': 15605, 'watchers_count': 15605, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3284, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 474, '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': 3284, 'open_issues': 474, 'watchers': 15605, '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-10-03T18:56:08.691551 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'brand175', 'action': 'created', 'id': 14640, 'title': 'DSPAccelerator: fix overflow behavior', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14640#issuecomment-5972424070', 'safe_author': False, 'body': "Assuming that this commit was already merged, it doesn't. I still have issues. I see this commit as a draft so I assume that means this hasn't been merged yet which is why I asked for it to be merged if it hasn't yet as I don't have VS studios installed to confirm it it does.", 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14640', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14640/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14640/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14640/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14640', 'id': 4372768132, 'node_id': 'PR_kwDOALCn2M7X0PNx', 'number': 14640, 'title': 'DSPAccelerator: fix overflow behavior', '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}, 'labels': [], 'state': 'open', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 4, 'created_at': '2026-05-03T19:38:21Z', 'updated_at': '2026-10-03T18:56:06Z', 'closed_at': None, 'assignee': None, 'author_association': 'MEMBER', 'issue_field_values': [], 'type': None, 'active_lock_reason': None, 'draft': True, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14640', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14640', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14640.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14640.patch', 'merged_at': None}, 'body': 'This was reported by brand175 who noticed pops in "007: Nightfire", see [issue 14042](https://bugs.dolphin-emu.org/issues/14042). I\'ve not tested the exact hardware behavior, just implemented what makes sense.', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14640/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/14640/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5972424070', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14640#issuecomment-5972424070', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14640', 'id': 5972424070, 'node_id': 'IC_kwDOALCn2M8AAAABY_v1hg', 'user': {'login': 'brand175', 'id': 20964160, 'node_id': 'MDQ6VXNlcjIwOTY0MTYw', 'avatar_url': 'https://avatars.githubusercontent.com/u/20964160?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/brand175', 'html_url': 'https://github.com/brand175', 'followers_url': 'https://api.github.com/users/brand175/followers', 'following_url': 'https://api.github.com/users/brand175/following{/other_user}', 'gists_url': 'https://api.github.com/users/brand175/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/brand175/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/brand175/subscriptions', 'organizations_url': 'https://api.github.com/users/brand175/orgs', 'repos_url': 'https://api.github.com/users/brand175/repos', 'events_url': 'https://api.github.com/users/brand175/events{/privacy}', 'received_events_url': 'https://api.github.com/users/brand175/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2026-10-03T18:56:06Z', 'updated_at': '2026-10-03T18:56:06Z', 'body': "Assuming that this commit was already merged, it doesn't. I still have issues. I see this commit as a draft so I assume that means this hasn't been merged yet which is why I asked for it to be merged if it hasn't yet as I don't have VS studios installed to confirm it it does.", 'author_association': 'NONE', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5972424070/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-10-03T18:16:47Z', 'pushed_at': '2026-10-03T10:25:06Z', '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': 561269, 'stargazers_count': 15605, 'watchers_count': 15605, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3284, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 474, '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': 3284, 'open_issues': 474, 'watchers': 15605, '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': 'brand175', 'id': 20964160, 'node_id': 'MDQ6VXNlcjIwOTY0MTYw', 'avatar_url': 'https://avatars.githubusercontent.com/u/20964160?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/brand175', 'html_url': 'https://github.com/brand175', 'followers_url': 'https://api.github.com/users/brand175/followers', 'following_url': 'https://api.github.com/users/brand175/following{/other_user}', 'gists_url': 'https://api.github.com/users/brand175/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/brand175/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/brand175/subscriptions', 'organizations_url': 'https://api.github.com/users/brand175/orgs', 'repos_url': 'https://api.github.com/users/brand175/repos', 'events_url': 'https://api.github.com/users/brand175/events{/privacy}', 'received_events_url': 'https://api.github.com/users/brand175/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'gh_issue_comment'}
2026-10-03T16:41:56.570993 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'JMC47', 'action': 'created', 'id': 14899, 'title': 'VideoCommon: Work around Adreno TEV zero input miscompilation', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14899#issuecomment-5971192870', 'safe_author': True, 'body': '@dolphin-emu-bot rebuild', 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14899', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14899/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14899/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14899/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14899', 'id': 5638871264, 'node_id': 'PR_kwDOALCn2M8AAAABFzHTrw', 'number': 14899, 'title': 'VideoCommon: Work around Adreno TEV zero input miscompilation', 'user': {'login': 'Starlightbotanist', 'id': 115003461, 'node_id': 'U_kgDOBtrQRQ', 'avatar_url': 'https://avatars.githubusercontent.com/u/115003461?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/Starlightbotanist', 'html_url': 'https://github.com/Starlightbotanist', 'followers_url': 'https://api.github.com/users/Starlightbotanist/followers', 'following_url': 'https://api.github.com/users/Starlightbotanist/following{/other_user}', 'gists_url': 'https://api.github.com/users/Starlightbotanist/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/Starlightbotanist/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/Starlightbotanist/subscriptions', 'organizations_url': 'https://api.github.com/users/Starlightbotanist/orgs', 'repos_url': 'https://api.github.com/users/Starlightbotanist/repos', 'events_url': 'https://api.github.com/users/Starlightbotanist/events{/privacy}', 'received_events_url': 'https://api.github.com/users/Starlightbotanist/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 15, 'created_at': '2026-09-30T00:18:33Z', 'updated_at': '2026-10-03T16:41:54Z', 'closed_at': None, 'assignee': None, 'author_association': 'NONE', 'issue_field_values': [], 'type': None, 'active_lock_reason': None, 'draft': False, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14899', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14899', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14899.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14899.patch', 'merged_at': None}, 'body': 'In compliance with [Dolphin\'s Generative AI policy](https://github.com/dolphin-emu/dolphin/blob/5102a0339c2177575378107b76541e47cc52122d/Contributing.md#genai), be aware that debugging this issue, and drafting possible fixes was done with assistance from Codex. The final code is my own and understood by me, but determining the cause of this wouldn\'t have been possible for me without an LLM. This doesn\'t change any emulated behavior. It provides a workaround for an incorrect behavior caused by a GPU driver. This reuses existing combiner data that ubershaders already use.\r\n\r\nI am sure everyone has noticed bug reports for color issues from Android users with devices that have Qualcomm\'s Adreno GPU drivers, versions in the v0.7xx.xx+ range. Some common games I have seen with this issue New Super Mario Bros Wii, Animal Crossing City Folk, and Luigi\'s Mansion. Screenshots taken on a Samsung Galaxy S26.\r\n\r\n<img width="3120" height="1440" alt="Screenshot_20260929_191017_Dolphin Emulator" src="https://github.com/user-attachments/assets/cbad3160-e16d-4fbc-9381-7b6701efd326" />\r\n\r\n<img width="3120" height="1440" alt="Screenshot_20260929_191147_Dolphin Emulator" src="https://github.com/user-attachments/assets/4904c9f0-d32c-413f-8526-d5d87edddc7c" />\r\n\r\n<img width="3120" height="1440" alt="Screenshot_20260929_191333_Dolphin Emulator" src="https://github.com/user-attachments/assets/571da096-38d0-4139-861e-3915e32fa4af" />\r\n\r\n<img width="3120" height="1440" alt="Screenshot_20260929_191213_Dolphin Emulator" src="https://github.com/user-attachments/assets/08928aa2-d727-447e-b70f-0d7620029b28" />\r\n\r\nThis happens with Qualcomm\'s Adreno GPU drivers version 0.7xx.xx+, regardless of video backend. Using Specialized compilation, the colors will always be wrong in an effected game. Using Hybrid, it happens only when in Specialized mode (and it can cause a flickering effect when it switches between specialized and ubershaders). Using Exclusive Ubershaders never presents this issue.\r\n\r\nBefore this change, when the color input A or B of a TEV stage was set to Zero, the specialized shader generator looked that input up in the table and wrote the returned constant into the line that builds the stage\'s first input. On drivers version 0.7xx.xx+, it now writes an expression instead. That expression reads the stage\'s color A and B selector from the combiner data the shader already has access to (bpmem_pack1, which is used by Ubershaders) and XORs it with Zero. \r\n\r\nDespite digging into the qualcomm driver considerably, I can\'t understand why using the table causes this issue. Using a newer mesa turnip driver fixes the issue (obviously only on Vulkan). But I think it\'s worth having a workaround in place that doesn\'t require using Ubershaders or a custom driver.\r\n\r\nPerformance testing shows that this does have a small cost, but it\'s faster than simply using Ubershaders.\r\n\r\nAnimal Crossing City Folk\r\n -Specialized: 267fps\r\n -Exclusive Ubershaders: 251fps\r\n -Specialized with these changes: 266fps\r\n \r\n NSMBW\r\n -Specialized: 396fps\r\n -Exclusive Ubershaders: 311fps\r\n -Specialized with these changes: 371fps.\r\n \r\n The change is gated to Qualcomm\'s Adreno GPU drivers version 0.7xx.xx+, so you would only see this performance regression on those devices. \r\n \r\n Here are some screenshots of how specialized looks with these changes on the Samsung Galaxy S26.\r\n \r\n<img width="3120" height="1440" alt="Screenshot_20260929_191642_Dolphin TEV Perf" src="https://github.com/user-attachments/assets/06446ab7-8f5a-49c8-b27a-7f6ac546ed93" />\r\n\r\n<img width="3120" height="1440" alt="Screenshot_20260929_191033_Dolphin Emulator" src="https://github.com/user-attachments/assets/bdccd741-8bb6-450e-9d9b-01820d765dbe" />\r\n\r\n<img width="3120" height="1440" alt="Screenshot_20260929_191736_Dolphin TEV Perf" src="https://github.com/user-attachments/assets/60219c08-e21d-4a22-922b-fde6f1c04149" />\r\n\r\n<img width="3120" height="1440" alt="Screenshot_20260929_191803_Dolphin TEV Perf" src="https://github.com/user-attachments/assets/9590392b-883f-4564-a674-f672ac09ef81" />\r\n', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14899/reactions', 'total_count': 2, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 1, 'confused': 0, 'heart': 0, 'rocket': 1, 'eyes': 0}, 'timeline_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14899/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5971192870', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14899#issuecomment-5971192870', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14899', 'id': 5971192870, 'node_id': 'IC_kwDOALCn2M8AAAABY-ksJg', 'user': {'login': 'JMC47', 'id': 6598209, 'node_id': 'MDQ6VXNlcjY1OTgyMDk=', 'avatar_url': 'https://avatars.githubusercontent.com/u/6598209?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/JMC47', 'html_url': 'https://github.com/JMC47', 'followers_url': 'https://api.github.com/users/JMC47/followers', 'following_url': 'https://api.github.com/users/JMC47/following{/other_user}', 'gists_url': 'https://api.github.com/users/JMC47/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/JMC47/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/JMC47/subscriptions', 'organizations_url': 'https://api.github.com/users/JMC47/orgs', 'repos_url': 'https://api.github.com/users/JMC47/repos', 'events_url': 'https://api.github.com/users/JMC47/events{/privacy}', 'received_events_url': 'https://api.github.com/users/JMC47/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2026-10-03T16:41:54Z', 'updated_at': '2026-10-03T16:41:54Z', 'body': '@dolphin-emu-bot rebuild', 'author_association': 'MEMBER', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5971192870/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-10-03T13:38:13Z', 'pushed_at': '2026-10-03T10:25:06Z', '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': 561269, 'stargazers_count': 15604, 'watchers_count': 15604, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3284, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 474, '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': 3284, 'open_issues': 474, 'watchers': 15604, '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': 'JMC47', 'id': 6598209, 'node_id': 'MDQ6VXNlcjY1OTgyMDk=', 'avatar_url': 'https://avatars.githubusercontent.com/u/6598209?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/JMC47', 'html_url': 'https://github.com/JMC47', 'followers_url': 'https://api.github.com/users/JMC47/followers', 'following_url': 'https://api.github.com/users/JMC47/following{/other_user}', 'gists_url': 'https://api.github.com/users/JMC47/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/JMC47/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/JMC47/subscriptions', 'organizations_url': 'https://api.github.com/users/JMC47/orgs', 'repos_url': 'https://api.github.com/users/JMC47/repos', 'events_url': 'https://api.github.com/users/JMC47/events{/privacy}', 'received_events_url': 'https://api.github.com/users/JMC47/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'gh_issue_comment'}
2026-10-03T12:18:34.253768 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'dolphin-ci[bot]', 'action': 'created', 'id': 14374, 'title': 'GameINI: Formatting updates to The Legend of Zelda The Wind Waker', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14374#issuecomment-5969084973', 'safe_author': False, 'body': '[FifoCI](https://fifo.ci/about/) detected that this change impacts graphical rendering. Here are the [behavior differences](https://fifo.ci/version/c93135d647ad00d387628a8eef2cc2d49c9eedab/) detected by the system:\n\n<details>\n<summary>Detected differences</summary>\n\n||ogl-lin-mesa|vk-lin-mesa|\n|-|-|-|\n|DKCR-Char|[🔍 diff](https://fifo.ci/compare/16534613-15533320/)|[🔍 diff](https://fifo.ci/compare/16534754-15536120/)|\n|DKCR-fast-depth|[🔍 diff](https://fifo.ci/compare/16534634-15533341/)|[🔍 diff](https://fifo.ci/compare/16534775-15536141/)|\n|MaS-LOG-wiimote|[🔍 diff](https://fifo.ci/compare/16534651-15533358/)|[🔍 diff](https://fifo.ci/compare/16534792-15536158/)|\n|ab11-homebrew|[🔍 diff](https://fifo.ci/compare/16534639-15533346/)|[🔍 diff](https://fifo.ci/compare/16534780-15536146/)|\n|aeon-charge-attack|[🔍 diff](https://fifo.ci/compare/16534619-15533326/)|[🔍 diff](https://fifo.ci/compare/16534760-15536126/)|\n|bk-tev|[🔍 diff](https://fifo.ci/compare/16534661-15533368/)|[🔍 diff](https://fifo.ci/compare/16534802-15536168/)|\n|burnout2-vehicletextures|[🔍 diff](https://fifo.ci/compare/16534656-15533363/)|[🔍 diff](https://fifo.ci/compare/16534797-15536163/)|\n|chibi-robo-fastdepth|[🔍 diff](https://fifo.ci/compare/16534595-15533302/)|[🔍 diff](https://fifo.ci/compare/16534736-15536102/)|\n|chibi-robo-zfighting|[🔍 diff](https://fifo.ci/compare/16534561-15533268/)|[🔍 diff](https://fifo.ci/compare/16534702-15536068/)|\n|custom-brawl-char|[🔍 diff](https://fifo.ci/compare/16534621-15533328/)|[🔍 diff](https://fifo.ci/compare/16534762-15536128/)|\n|dbz-depth|[🔍 diff](https://fifo.ci/compare/16534593-15533300/)|[🔍 diff](https://fifo.ci/compare/16534734-15536100/)|\n|default-depth-range|[🔍 diff](https://fifo.ci/compare/16534688-15533395/)|[🔍 diff](https://fifo.ci/compare/16534829-15536195/)|\n|djfny-menu|[🔍 diff](https://fifo.ci/compare/16534597-15533304/)|[🔍 diff](https://fifo.ci/compare/16534738-15536104/)|\n|djhero2-blend|[🔍 diff](https://fifo.ci/compare/16534660-15533367/)|[🔍 diff](https://fifo.ci/compare/16534801-15536167/)|\n|ea-pink|[🔍 diff](https://fifo.ci/compare/16534673-15533380/)|[🔍 diff](https://fifo.ci/compare/16534814-15536180/)|\n|ea-vp6|[🔍 diff](https://fifo.ci/compare/16534579-15533286/)|[🔍 diff](https://fifo.ci/compare/16534720-15536086/)|\n|ed-updated|[🔍 diff](https://fifo.ci/compare/16534629-15533336/)|[🔍 diff](https://fifo.ci/compare/16534770-15536136/)|\n|et-vid|[🔍 diff](https://fifo.ci/compare/16534644-15533351/)|[🔍 diff](https://fifo.ci/compare/16534785-15536151/)|\n|f-zero-rain|[🔍 diff](https://fifo.ci/compare/16534627-15533334/)|[🔍 diff](https://fifo.ci/compare/16534768-15536134/)|\n|fifa-street|[🔍 diff](https://fifo.ci/compare/16534590-15533297/)|[🔍 diff](https://fifo.ci/compare/16534731-15536097/)|\n|find-mii|[🔍 diff](https://fifo.ci/compare/16534601-15533308/)|[🔍 diff](https://fifo.ci/compare/16534742-15536108/)|\n|fishing-resort-map|[🔍 diff](https://fifo.ci/compare/16534649-15533356/)|[🔍 diff](https://fifo.ci/compare/16534790-15536156/)|\n|fog-adj|[🔍 diff](https://fifo.ci/compare/16534568-15533275/)|[🔍 diff](https://fifo.ci/compare/16534709-15536075/)|\n|fortune-street|[🔍 diff](https://fifo.ci/compare/16534580-15533287/)|[🔍 diff](https://fifo.ci/compare/16534721-15536087/)|\n|fortune-street-fog|[🔍 diff](https://fifo.ci/compare/16534560-15533267/)|[🔍 diff](https://fifo.ci/compare/16534701-15536067/)|\n|fortune-street-white-box|[🔍 diff](https://fifo.ci/compare/16534582-15533289/)|[🔍 diff](https://fifo.ci/compare/16534723-15536089/)|\n|fsa-layers|[🔍 diff](https://fifo.ci/compare/16534605-15533312/)|[🔍 diff](https://fifo.ci/compare/16534746-15536112/)|\n|goldeneye-depth|[🔍 diff](https://fifo.ci/compare/16534624-15533331/)|[🔍 diff](https://fifo.ci/compare/16534765-15536131/)|\n|harvest-moon-mm-shadows|[🔍 diff](https://fifo.ci/compare/16534696-15533403/)|[🔍 diff](https://fifo.ci/compare/16534837-15536203/)|\n|hb-discgolf|[🔍 diff](https://fifo.ci/compare/16534646-15533353/)|[🔍 diff](https://fifo.ci/compare/16534787-15536153/)|\n|hotwheels-shadows|[🔍 diff](https://fifo.ci/compare/16534695-15533402/)|[🔍 diff](https://fifo.ci/compare/16534836-15536202/)|\n|inverted-depth-range|[🔍 diff](https://fifo.ci/compare/16534690-15533397/)|[🔍 diff](https://fifo.ci/compare/16534831-15536197/)|\n|jb-shadow|[🔍 diff](https://fifo.ci/compare/16534676-15533383/)|[🔍 diff](https://fifo.ci/compare/16534817-15536183/)|\n|jd2-fmv|[🔍 diff](https://fifo.ci/compare/16534664-15533371/)|[🔍 diff](https://fifo.ci/compare/16534805-15536171/)|\n|jj-awae-mirrored|[🔍 diff](https://fifo.ci/compare/16534655-15533362/)|[🔍 diff](https://fifo.ci/compare/16534796-15536162/)|\n|kirby-logicop|[🔍 diff](https://fifo.ci/compare/16534682-15533389/)|[🔍 diff](https://fifo.ci/compare/16534823-15536189/)|\n|kirby-shadows|[🔍 diff](https://fifo.ci/compare/16534569-15533276/)|[🔍 diff](https://fifo.ci/compare/16534710-15536076/)|\n|last-story-shadows|[🔍 diff](https://fifo.ci/compare/16534653-15533360/)|[🔍 diff](https://fifo.ci/compare/16534794-15536160/)|\n|lego-star-wars-crane-shadow|[🔍 diff](https://fifo.ci/compare/16534636-15533343/)|[🔍 diff](https://fifo.ci/compare/16534777-15536143/)|\n|lesson08|[🔍 diff](https://fifo.ci/compare/16534643-15533350/)|[🔍 diff](https://fifo.ci/compare/16534784-15536150/)|\n|line-width-test|[🔍 diff](https://fifo.ci/compare/16534565-15533272/)|[🔍 diff](https://fifo.ci/compare/16534706-15536072/)|\n|lit-cached-normal|[🔍 diff](https://fifo.ci/compare/16534692-15533399/)|[🔍 diff](https://fifo.ci/compare/16534833-15536199/)|\n|lm-mario-portrait|[🔍 diff](https://fifo.ci/compare/16534665-15533372/)|[🔍 diff](https://fifo.ci/compare/16534806-15536172/)|\n|luigi-shadows|[🔍 diff](https://fifo.ci/compare/16534570-15533277/)|[🔍 diff](https://fifo.ci/compare/16534711-15536077/)|\n|major-minor|[🔍 diff](https://fifo.ci/compare/16534670-15533377/)|[🔍 diff](https://fifo.ci/compare/16534811-15536177/)|\n|mario-baseball-shadows|[🔍 diff](https://fifo.ci/compare/16534648-15533355/)|[🔍 diff](https://fifo.ci/compare/16534789-15536155/)|\n|mario-golf-oob|[🔍 diff](https://fifo.ci/compare/16534679-15533386/)|[🔍 diff](https://fifo.ci/compare/16534820-15536186/)|\n|mario-golf-vertex-expansion|[🔍 diff](https://fifo.ci/compare/16534694-15533401/)|[🔍 diff](https://fifo.ci/compare/16534835-15536201/)|\n|mario-sluggers-bar|[🔍 diff](https://fifo.ci/compare/16534585-15533292/)|[🔍 diff](https://fifo.ci/compare/16534726-15536092/)|\n|mario-tennis-menu|[🔍 diff](https://fifo.ci/compare/16534584-15533291/)|[🔍 diff](https://fifo.ci/compare/16534725-15536091/)|\n|megaman-heat|[🔍 diff](https://fifo.ci/compare/16534589-15533296/)|[🔍 diff](https://fifo.ci/compare/16534730-15536096/)|\n|melee-depth|[🔍 diff](https://fifo.ci/compare/16534625-15533332/)|[🔍 diff](https://fifo.ci/compare/16534766-15536132/)|\n|melee-lighting|[🔍 diff](https://fifo.ci/compare/16534559-15533266/)|[🔍 diff](https://fifo.ci/compare/16534700-15536066/)|\n|metroid-visor|[🔍 diff](https://fifo.ci/compare/16534635-15533342/)|[🔍 diff](https://fifo.ci/compare/16534776-15536142/)|\n|mii-channel|[🔍 diff](https://fifo.ci/compare/16534600-15533307/)|[🔍 diff](https://fifo.ci/compare/16534741-15536107/)|\n|milotic-texture|[🔍 diff](https://fifo.ci/compare/16534604-15533311/)|[🔍 diff](https://fifo.ci/compare/16534745-15536111/)|\n|mini-ninjas|[🔍 diff](https://fifo.ci/compare/16534571-15533278/)|[🔍 diff](https://fifo.ci/compare/16534712-15536078/)|\n|mkdd-babypark|[🔍 diff](https://fifo.ci/compare/16534652-15533359/)|[🔍 diff](https://fifo.ci/compare/16534793-15536159/)|\n|mkdd-efb|[🔍 diff](https://fifo.ci/compare/16534572-15533279/)|[🔍 diff](https://fifo.ci/compare/16534713-15536079/)|\n|mkw-bridge|[🔍 diff](https://fifo.ci/compare/16534663-15533370/)|[🔍 diff](https://fifo.ci/compare/16534804-15536170/)|\n|mkw-flags|[🔍 diff](https://fifo.ci/compare/16534681-15533388/)|[🔍 diff](https://fifo.ci/compare/16534822-15536188/)|\n|mkwii-bluebox|[🔍 diff](https://fifo.ci/compare/16534573-15533280/)|[🔍 diff](https://fifo.ci/compare/16534714-15536080/)|\n|mmx-light|[🔍 diff](https://fifo.ci/compare/16534657-15533364/)|[🔍 diff](https://fifo.ci/compare/16534798-15536164/)|\n|monkeyball-fuse|[🔍 diff](https://fifo.ci/compare/16534588-15533295/)|[🔍 diff](https://fifo.ci/compare/16534729-15536095/)|\n|mp2-scanner|[🔍 diff](https://fifo.ci/compare/16534658-15533365/)|[🔍 diff](https://fifo.ci/compare/16534799-15536165/)|\n|mp3-bloom|[🔍 diff](https://fifo.ci/compare/16534650-15533357/)|[🔍 diff](https://fifo.ci/compare/16534791-15536157/)|\n|mp4-vertexcache|[🔍 diff](https://fifo.ci/compare/16534680-15533387/)|[🔍 diff](https://fifo.ci/compare/16534821-15536187/)|\n|mp7-text|[🔍 diff](https://fifo.ci/compare/16534602-15533309/)|[🔍 diff](https://fifo.ci/compare/16534743-15536109/)|\n|mp8-widescreen|[🔍 diff](https://fifo.ci/compare/16534678-15533385/)|[🔍 diff](https://fifo.ci/compare/16534819-15536185/)|\n|mtennis-zfreeze|[🔍 diff](https://fifo.ci/compare/16534587-15533294/)|[🔍 diff](https://fifo.ci/compare/16534728-15536094/)|\n|my-word-coach|[🔍 diff](https://fifo.ci/compare/16534599-15533306/)|[🔍 diff](https://fifo.ci/compare/16534740-15536106/)|\n|nddemo-bumpmapping|[🔍 diff](https://fifo.ci/compare/16534610-15533317/)|[🔍 diff](https://fifo.ci/compare/16534751-15536117/)|\n|nddemo-lighting|[🔍 diff](https://fifo.ci/compare/16534631-15533338/)|[🔍 diff](https://fifo.ci/compare/16534772-15536138/)|\n|nes-vc|[🔍 diff](https://fifo.ci/compare/16534628-15533335/)|[🔍 diff](https://fifo.ci/compare/16534769-15536135/)|\n|nfsu-purplerect|[🔍 diff](https://fifo.ci/compare/16534574-15533281/)|[🔍 diff](https://fifo.ci/compare/16534715-15536081/)|\n|nfsu-reflections|[🔍 diff](https://fifo.ci/compare/16534564-15533271/)|[🔍 diff](https://fifo.ci/compare/16534705-15536071/)|\n|nhl-slap|[🔍 diff](https://fifo.ci/compare/16534659-15533366/)|[🔍 diff](https://fifo.ci/compare/16534800-15536166/)|\n|nintendo-channel|[🔍 diff](https://fifo.ci/compare/16534668-15533375/)|[🔍 diff](https://fifo.ci/compare/16534809-15536175/)|\n|nsmbw-coins|[🔍 diff](https://fifo.ci/compare/16534617-15533324/)|[🔍 diff](https://fifo.ci/compare/16534758-15536124/)|\n|nsmbw-intro|[🔍 diff](https://fifo.ci/compare/16534566-15533273/)|[🔍 diff](https://fifo.ci/compare/16534707-15536073/)|\n|pbr-sfx|[🔍 diff](https://fifo.ci/compare/16534677-15533384/)|[🔍 diff](https://fifo.ci/compare/16534818-15536184/)|\n|pm-hc-jp|[🔍 diff](https://fifo.ci/compare/16534612-15533319/)|[🔍 diff](https://fifo.ci/compare/16534753-15536119/)|\n|pw-black-bars|[🔍 diff](https://fifo.ci/compare/16534603-15533310/)|[🔍 diff](https://fifo.ci/compare/16534744-15536110/)|\n|quake-gx|[🔍 diff](https://fifo.ci/compare/16534683-15533390/)|[🔍 diff](https://fifo.ci/compare/16534824-15536190/)|\n|rs2-bumpmapping|[🔍 diff](https://fifo.ci/compare/16534641-15533348/)|[🔍 diff](https://fifo.ci/compare/16534782-15536148/)|\n|rs2-glass|[🔍 diff](https://fifo.ci/compare/16534592-15533299/)|[🔍 diff](https://fifo.ci/compare/16534733-15536099/)|\n|rs2-skybox|[🔍 diff](https://fifo.ci/compare/16534609-15533316/)|[🔍 diff](https://fifo.ci/compare/16534750-15536116/)|\n|rs2-zfreeze|[🔍 diff](https://fifo.ci/compare/16534575-15533282/)|[🔍 diff](https://fifo.ci/compare/16534716-15536082/)|\n|rs3-bumpmapping|[🔍 diff](https://fifo.ci/compare/16534642-15533349/)|[🔍 diff](https://fifo.ci/compare/16534783-15536149/)|\n|rs3-skybox2|[🔍 diff](https://fifo.ci/compare/16534654-15533361/)|[🔍 diff](https://fifo.ci/compare/16534795-15536161/)|\n|sadx-ui|[🔍 diff](https://fifo.ci/compare/16534594-15533301/)|[🔍 diff](https://fifo.ci/compare/16534735-15536101/)|\n|sf-assault-flashing|[🔍 diff](https://fifo.ci/compare/16534563-15533270/)|[🔍 diff](https://fifo.ci/compare/16534704-15536070/)|\n|sfa-shadows|[🔍 diff](https://fifo.ci/compare/16534638-15533345/)|[🔍 diff](https://fifo.ci/compare/16534779-15536145/)|\n|shadow-eyes|[🔍 diff](https://fifo.ci/compare/16534669-15533376/)|[🔍 diff](https://fifo.ci/compare/16534810-15536176/)|\n|simpsons-game|[🔍 diff](https://fifo.ci/compare/16534640-15533347/)|[🔍 diff](https://fifo.ci/compare/16534781-15536147/)|\n|smb-mirror|[🔍 diff](https://fifo.ci/compare/16534662-15533369/)|[🔍 diff](https://fifo.ci/compare/16534803-15536169/)|\n|smg-marioeyes|[🔍 diff](https://fifo.ci/compare/16534576-15533283/)|[🔍 diff](https://fifo.ci/compare/16534717-15536083/)|\n|smg-mmg|[🔍 diff](https://fifo.ci/compare/16534672-15533379/)|[🔍 diff](https://fifo.ci/compare/16534813-15536179/)|\n|smg-roar|[🔍 diff](https://fifo.ci/compare/16534675-15533382/)|[🔍 diff](https://fifo.ci/compare/16534816-15536182/)|\n|smg2-fog|[🔍 diff](https://fifo.ci/compare/16534583-15533290/)|[🔍 diff](https://fifo.ci/compare/16534724-15536090/)|\n|sms-bubbles|[🔍 diff](https://fifo.ci/compare/16534562-15533269/)|[🔍 diff](https://fifo.ci/compare/16534703-15536069/)|\n|sms-coconut-drinks|[🔍 diff](https://fifo.ci/compare/16534686-15533393/)|[🔍 diff](https://fifo.ci/compare/16534827-15536193/)|\n|sms-gc|[🔍 diff](https://fifo.ci/compare/16534614-15533321/)|[🔍 diff](https://fifo.ci/compare/16534755-15536121/)|\n|sms-water|[🔍 diff](https://fifo.ci/compare/16534645-15533352/)|[🔍 diff](https://fifo.ci/compare/16534786-15536152/)|\n|soa-black|[🔍 diff](https://fifo.ci/compare/16534591-15533298/)|[🔍 diff](https://fifo.ci/compare/16534732-15536098/)|\n|sonic-riders-blur|[🔍 diff](https://fifo.ci/compare/16534647-15533354/)|[🔍 diff](https://fifo.ci/compare/16534788-15536154/)|\n|sonic-riders-zg-4p|[🔍 diff](https://fifo.ci/compare/16534674-15533381/)|[🔍 diff](https://fifo.ci/compare/16534815-15536181/)|\n|soniccolors-mm|[🔍 diff](https://fifo.ci/compare/16534616-15533323/)|[🔍 diff](https://fifo.ci/compare/16534757-15536123/)|\n|sonicriderszg-gb|[🔍 diff](https://fifo.ci/compare/16534615-15533322/)|[🔍 diff](https://fifo.ci/compare/16534756-15536122/)|\n|spider-man-inverted-depth|[🔍 diff](https://fifo.ci/compare/16534689-15533396/)|[🔍 diff](https://fifo.ci/compare/16534830-15536196/)|\n|spyro-bloom|[🔍 diff](https://fifo.ci/compare/16534611-15533318/)|[🔍 diff](https://fifo.ci/compare/16534752-15536118/)|\n|spyro-depth|[🔍 diff](https://fifo.ci/compare/16534632-15533339/)|[🔍 diff](https://fifo.ci/compare/16534773-15536139/)|\n|ss-map|[🔍 diff](https://fifo.ci/compare/16534618-15533325/)|[🔍 diff](https://fifo.ci/compare/16534759-15536125/)|\n|ssbb-mod-lloyd|[🔍 diff](https://fifo.ci/compare/16534633-15533340/)|[🔍 diff](https://fifo.ci/compare/16534774-15536140/)|\n|ssbm-pointsize|[🔍 diff](https://fifo.ci/compare/16534581-15533288/)|[🔍 diff](https://fifo.ci/compare/16534722-15536088/)|\n|super-sluggers-white-out|[🔍 diff](https://fifo.ci/compare/16534608-15533315/)|[🔍 diff](https://fifo.ci/compare/16534749-15536115/)|\n|sw3-dt|[🔍 diff](https://fifo.ci/compare/16534637-15533344/)|[🔍 diff](https://fifo.ci/compare/16534778-15536144/)|\n|taiko-depth|[🔍 diff](https://fifo.ci/compare/16534630-15533337/)|[🔍 diff](https://fifo.ci/compare/16534771-15536137/)|\n|thps3-earlyz|[🔍 diff](https://fifo.ci/compare/16534623-15533330/)|[🔍 diff](https://fifo.ci/compare/16534764-15536130/)|\n|thps4-shadow|[🔍 diff](https://fifo.ci/compare/16534596-15533303/)|[🔍 diff](https://fifo.ci/compare/16534737-15536103/)|\n|tla-menu|[🔍 diff](https://fifo.ci/compare/16534626-15533333/)|[🔍 diff](https://fifo.ci/compare/16534767-15536133/)|\n|tos-invis-char|[🔍 diff](https://fifo.ci/compare/16534567-15533274/)|[🔍 diff](https://fifo.ci/compare/16534708-15536074/)|\n|tp-skin|[🔍 diff](https://fifo.ci/compare/16534667-15533374/)|[🔍 diff](https://fifo.ci/compare/16534808-15536174/)|\n|tsp3-pinkgrass|[🔍 diff](https://fifo.ci/compare/16534577-15533284/)|[🔍 diff](https://fifo.ci/compare/16534718-15536084/)|\n|vegas-party-depth|[🔍 diff](https://fifo.ci/compare/16534622-15533329/)|[🔍 diff](https://fifo.ci/compare/16534763-15536129/)|\n|viewitful-joe-distortion|[🔍 diff](https://fifo.ci/compare/16534666-15533373/)|[🔍 diff](https://fifo.ci/compare/16534807-15536173/)|\n|ww-song-of-passing|[🔍 diff](https://fifo.ci/compare/16534685-15533392/)|[🔍 diff](https://fifo.ci/compare/16534826-15536192/)|\n|xblade-bloom|[🔍 diff](https://fifo.ci/compare/16534684-15533391/)|[🔍 diff](https://fifo.ci/compare/16534825-15536191/)|\n|xenoblade-menu|[🔍 diff](https://fifo.ci/compare/16534557-15533264/)|[🔍 diff](https://fifo.ci/compare/16534698-15536064/)|\n|zbuff-test|[🔍 diff](https://fifo.ci/compare/16534693-15533400/)|[🔍 diff](https://fifo.ci/compare/16534834-15536200/)|\n|zelda1-vc|[🔍 diff](https://fifo.ci/compare/16534606-15533313/)|[🔍 diff](https://fifo.ci/compare/16534747-15536113/)|\n|ztp-grass|[🔍 diff](https://fifo.ci/compare/16534578-15533285/)|[🔍 diff](https://fifo.ci/compare/16534719-15536085/)|\n|zww-armos|[🔍 diff](https://fifo.ci/compare/16534558-15533265/)|[🔍 diff](https://fifo.ci/compare/16534699-15536065/)|\n|zww-water|[🔍 diff](https://fifo.ci/compare/16534586-15533293/)|[🔍 diff](https://fifo.ci/compare/16534727-15536093/)|\n|zww-waves|[🔍 diff](https://fifo.ci/compare/16534598-15533305/)|[🔍 diff](https://fifo.ci/compare/16534739-15536105/)|\n</details>\n<sub><sup>automated-fifoci-reporter</sup></sub>', 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14374', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14374/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14374/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14374/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14374', 'id': 3934943021, 'node_id': 'PR_kwDOALCn2M7DcVVQ', 'number': 14374, 'title': 'GameINI: Formatting updates to The Legend of Zelda The Wind Waker', 'user': {'login': 'Windsurf7', 'id': 70599421, 'node_id': 'MDQ6VXNlcjcwNTk5NDIx', 'avatar_url': 'https://avatars.githubusercontent.com/u/70599421?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/Windsurf7', 'html_url': 'https://github.com/Windsurf7', 'followers_url': 'https://api.github.com/users/Windsurf7/followers', 'following_url': 'https://api.github.com/users/Windsurf7/following{/other_user}', 'gists_url': 'https://api.github.com/users/Windsurf7/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/Windsurf7/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/Windsurf7/subscriptions', 'organizations_url': 'https://api.github.com/users/Windsurf7/orgs', 'repos_url': 'https://api.github.com/users/Windsurf7/repos', 'events_url': 'https://api.github.com/users/Windsurf7/events{/privacy}', 'received_events_url': 'https://api.github.com/users/Windsurf7/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [{'id': 1667502011, 'node_id': 'MDU6TGFiZWwxNjY3NTAyMDEx', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels/needs%20rebase', 'name': 'needs rebase', 'color': '053663', 'default': False, 'description': '', 'archived_at': None, 'archived_by': None}], 'state': 'open', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 5, 'created_at': '2026-02-13T01:59:34Z', 'updated_at': '2026-10-03T12:18:32Z', 'closed_at': None, 'assignee': None, 'author_association': 'CONTRIBUTOR', 'issue_field_values': [], 'type': None, 'active_lock_reason': None, 'draft': False, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14374', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14374', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14374.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14374.patch', 'merged_at': None}, 'body': 'This PR provides formatting updates to The Legend of Zelda: The Wind Waker.\r\n\r\nAll regions:\r\n* Formatting fixes.', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14374/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/14374/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5969084973', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14374#issuecomment-5969084973', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14374', 'id': 5969084973, 'node_id': 'IC_kwDOALCn2M8AAAABY8kCLQ', 'user': {'login': 'dolphin-ci[bot]', 'id': 59266906, 'node_id': 'MDM6Qm90NTkyNjY5MDY=', 'avatar_url': 'https://avatars.githubusercontent.com/in/49947?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D', 'html_url': 'https://github.com/apps/dolphin-ci', 'followers_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/followers', 'following_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/orgs', 'repos_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/repos', 'events_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/received_events', 'type': 'Bot', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2026-10-03T12:18:31Z', 'updated_at': '2026-10-03T12:18:31Z', 'body': '[FifoCI](https://fifo.ci/about/) detected that this change impacts graphical rendering. Here are the [behavior differences](https://fifo.ci/version/c93135d647ad00d387628a8eef2cc2d49c9eedab/) detected by the system:\n\n<details>\n<summary>Detected differences</summary>\n\n||ogl-lin-mesa|vk-lin-mesa|\n|-|-|-|\n|DKCR-Char|[🔍 diff](https://fifo.ci/compare/16534613-15533320/)|[🔍 diff](https://fifo.ci/compare/16534754-15536120/)|\n|DKCR-fast-depth|[🔍 diff](https://fifo.ci/compare/16534634-15533341/)|[🔍 diff](https://fifo.ci/compare/16534775-15536141/)|\n|MaS-LOG-wiimote|[🔍 diff](https://fifo.ci/compare/16534651-15533358/)|[🔍 diff](https://fifo.ci/compare/16534792-15536158/)|\n|ab11-homebrew|[🔍 diff](https://fifo.ci/compare/16534639-15533346/)|[🔍 diff](https://fifo.ci/compare/16534780-15536146/)|\n|aeon-charge-attack|[🔍 diff](https://fifo.ci/compare/16534619-15533326/)|[🔍 diff](https://fifo.ci/compare/16534760-15536126/)|\n|bk-tev|[🔍 diff](https://fifo.ci/compare/16534661-15533368/)|[🔍 diff](https://fifo.ci/compare/16534802-15536168/)|\n|burnout2-vehicletextures|[🔍 diff](https://fifo.ci/compare/16534656-15533363/)|[🔍 diff](https://fifo.ci/compare/16534797-15536163/)|\n|chibi-robo-fastdepth|[🔍 diff](https://fifo.ci/compare/16534595-15533302/)|[🔍 diff](https://fifo.ci/compare/16534736-15536102/)|\n|chibi-robo-zfighting|[🔍 diff](https://fifo.ci/compare/16534561-15533268/)|[🔍 diff](https://fifo.ci/compare/16534702-15536068/)|\n|custom-brawl-char|[🔍 diff](https://fifo.ci/compare/16534621-15533328/)|[🔍 diff](https://fifo.ci/compare/16534762-15536128/)|\n|dbz-depth|[🔍 diff](https://fifo.ci/compare/16534593-15533300/)|[🔍 diff](https://fifo.ci/compare/16534734-15536100/)|\n|default-depth-range|[🔍 diff](https://fifo.ci/compare/16534688-15533395/)|[🔍 diff](https://fifo.ci/compare/16534829-15536195/)|\n|djfny-menu|[🔍 diff](https://fifo.ci/compare/16534597-15533304/)|[🔍 diff](https://fifo.ci/compare/16534738-15536104/)|\n|djhero2-blend|[🔍 diff](https://fifo.ci/compare/16534660-15533367/)|[🔍 diff](https://fifo.ci/compare/16534801-15536167/)|\n|ea-pink|[🔍 diff](https://fifo.ci/compare/16534673-15533380/)|[🔍 diff](https://fifo.ci/compare/16534814-15536180/)|\n|ea-vp6|[🔍 diff](https://fifo.ci/compare/16534579-15533286/)|[🔍 diff](https://fifo.ci/compare/16534720-15536086/)|\n|ed-updated|[🔍 diff](https://fifo.ci/compare/16534629-15533336/)|[🔍 diff](https://fifo.ci/compare/16534770-15536136/)|\n|et-vid|[🔍 diff](https://fifo.ci/compare/16534644-15533351/)|[🔍 diff](https://fifo.ci/compare/16534785-15536151/)|\n|f-zero-rain|[🔍 diff](https://fifo.ci/compare/16534627-15533334/)|[🔍 diff](https://fifo.ci/compare/16534768-15536134/)|\n|fifa-street|[🔍 diff](https://fifo.ci/compare/16534590-15533297/)|[🔍 diff](https://fifo.ci/compare/16534731-15536097/)|\n|find-mii|[🔍 diff](https://fifo.ci/compare/16534601-15533308/)|[🔍 diff](https://fifo.ci/compare/16534742-15536108/)|\n|fishing-resort-map|[🔍 diff](https://fifo.ci/compare/16534649-15533356/)|[🔍 diff](https://fifo.ci/compare/16534790-15536156/)|\n|fog-adj|[🔍 diff](https://fifo.ci/compare/16534568-15533275/)|[🔍 diff](https://fifo.ci/compare/16534709-15536075/)|\n|fortune-street|[🔍 diff](https://fifo.ci/compare/16534580-15533287/)|[🔍 diff](https://fifo.ci/compare/16534721-15536087/)|\n|fortune-street-fog|[🔍 diff](https://fifo.ci/compare/16534560-15533267/)|[🔍 diff](https://fifo.ci/compare/16534701-15536067/)|\n|fortune-street-white-box|[🔍 diff](https://fifo.ci/compare/16534582-15533289/)|[🔍 diff](https://fifo.ci/compare/16534723-15536089/)|\n|fsa-layers|[🔍 diff](https://fifo.ci/compare/16534605-15533312/)|[🔍 diff](https://fifo.ci/compare/16534746-15536112/)|\n|goldeneye-depth|[🔍 diff](https://fifo.ci/compare/16534624-15533331/)|[🔍 diff](https://fifo.ci/compare/16534765-15536131/)|\n|harvest-moon-mm-shadows|[🔍 diff](https://fifo.ci/compare/16534696-15533403/)|[🔍 diff](https://fifo.ci/compare/16534837-15536203/)|\n|hb-discgolf|[🔍 diff](https://fifo.ci/compare/16534646-15533353/)|[🔍 diff](https://fifo.ci/compare/16534787-15536153/)|\n|hotwheels-shadows|[🔍 diff](https://fifo.ci/compare/16534695-15533402/)|[🔍 diff](https://fifo.ci/compare/16534836-15536202/)|\n|inverted-depth-range|[🔍 diff](https://fifo.ci/compare/16534690-15533397/)|[🔍 diff](https://fifo.ci/compare/16534831-15536197/)|\n|jb-shadow|[🔍 diff](https://fifo.ci/compare/16534676-15533383/)|[🔍 diff](https://fifo.ci/compare/16534817-15536183/)|\n|jd2-fmv|[🔍 diff](https://fifo.ci/compare/16534664-15533371/)|[🔍 diff](https://fifo.ci/compare/16534805-15536171/)|\n|jj-awae-mirrored|[🔍 diff](https://fifo.ci/compare/16534655-15533362/)|[🔍 diff](https://fifo.ci/compare/16534796-15536162/)|\n|kirby-logicop|[🔍 diff](https://fifo.ci/compare/16534682-15533389/)|[🔍 diff](https://fifo.ci/compare/16534823-15536189/)|\n|kirby-shadows|[🔍 diff](https://fifo.ci/compare/16534569-15533276/)|[🔍 diff](https://fifo.ci/compare/16534710-15536076/)|\n|last-story-shadows|[🔍 diff](https://fifo.ci/compare/16534653-15533360/)|[🔍 diff](https://fifo.ci/compare/16534794-15536160/)|\n|lego-star-wars-crane-shadow|[🔍 diff](https://fifo.ci/compare/16534636-15533343/)|[🔍 diff](https://fifo.ci/compare/16534777-15536143/)|\n|lesson08|[🔍 diff](https://fifo.ci/compare/16534643-15533350/)|[🔍 diff](https://fifo.ci/compare/16534784-15536150/)|\n|line-width-test|[🔍 diff](https://fifo.ci/compare/16534565-15533272/)|[🔍 diff](https://fifo.ci/compare/16534706-15536072/)|\n|lit-cached-normal|[🔍 diff](https://fifo.ci/compare/16534692-15533399/)|[🔍 diff](https://fifo.ci/compare/16534833-15536199/)|\n|lm-mario-portrait|[🔍 diff](https://fifo.ci/compare/16534665-15533372/)|[🔍 diff](https://fifo.ci/compare/16534806-15536172/)|\n|luigi-shadows|[🔍 diff](https://fifo.ci/compare/16534570-15533277/)|[🔍 diff](https://fifo.ci/compare/16534711-15536077/)|\n|major-minor|[🔍 diff](https://fifo.ci/compare/16534670-15533377/)|[🔍 diff](https://fifo.ci/compare/16534811-15536177/)|\n|mario-baseball-shadows|[🔍 diff](https://fifo.ci/compare/16534648-15533355/)|[🔍 diff](https://fifo.ci/compare/16534789-15536155/)|\n|mario-golf-oob|[🔍 diff](https://fifo.ci/compare/16534679-15533386/)|[🔍 diff](https://fifo.ci/compare/16534820-15536186/)|\n|mario-golf-vertex-expansion|[🔍 diff](https://fifo.ci/compare/16534694-15533401/)|[🔍 diff](https://fifo.ci/compare/16534835-15536201/)|\n|mario-sluggers-bar|[🔍 diff](https://fifo.ci/compare/16534585-15533292/)|[🔍 diff](https://fifo.ci/compare/16534726-15536092/)|\n|mario-tennis-menu|[🔍 diff](https://fifo.ci/compare/16534584-15533291/)|[🔍 diff](https://fifo.ci/compare/16534725-15536091/)|\n|megaman-heat|[🔍 diff](https://fifo.ci/compare/16534589-15533296/)|[🔍 diff](https://fifo.ci/compare/16534730-15536096/)|\n|melee-depth|[🔍 diff](https://fifo.ci/compare/16534625-15533332/)|[🔍 diff](https://fifo.ci/compare/16534766-15536132/)|\n|melee-lighting|[🔍 diff](https://fifo.ci/compare/16534559-15533266/)|[🔍 diff](https://fifo.ci/compare/16534700-15536066/)|\n|metroid-visor|[🔍 diff](https://fifo.ci/compare/16534635-15533342/)|[🔍 diff](https://fifo.ci/compare/16534776-15536142/)|\n|mii-channel|[🔍 diff](https://fifo.ci/compare/16534600-15533307/)|[🔍 diff](https://fifo.ci/compare/16534741-15536107/)|\n|milotic-texture|[🔍 diff](https://fifo.ci/compare/16534604-15533311/)|[🔍 diff](https://fifo.ci/compare/16534745-15536111/)|\n|mini-ninjas|[🔍 diff](https://fifo.ci/compare/16534571-15533278/)|[🔍 diff](https://fifo.ci/compare/16534712-15536078/)|\n|mkdd-babypark|[🔍 diff](https://fifo.ci/compare/16534652-15533359/)|[🔍 diff](https://fifo.ci/compare/16534793-15536159/)|\n|mkdd-efb|[🔍 diff](https://fifo.ci/compare/16534572-15533279/)|[🔍 diff](https://fifo.ci/compare/16534713-15536079/)|\n|mkw-bridge|[🔍 diff](https://fifo.ci/compare/16534663-15533370/)|[🔍 diff](https://fifo.ci/compare/16534804-15536170/)|\n|mkw-flags|[🔍 diff](https://fifo.ci/compare/16534681-15533388/)|[🔍 diff](https://fifo.ci/compare/16534822-15536188/)|\n|mkwii-bluebox|[🔍 diff](https://fifo.ci/compare/16534573-15533280/)|[🔍 diff](https://fifo.ci/compare/16534714-15536080/)|\n|mmx-light|[🔍 diff](https://fifo.ci/compare/16534657-15533364/)|[🔍 diff](https://fifo.ci/compare/16534798-15536164/)|\n|monkeyball-fuse|[🔍 diff](https://fifo.ci/compare/16534588-15533295/)|[🔍 diff](https://fifo.ci/compare/16534729-15536095/)|\n|mp2-scanner|[🔍 diff](https://fifo.ci/compare/16534658-15533365/)|[🔍 diff](https://fifo.ci/compare/16534799-15536165/)|\n|mp3-bloom|[🔍 diff](https://fifo.ci/compare/16534650-15533357/)|[🔍 diff](https://fifo.ci/compare/16534791-15536157/)|\n|mp4-vertexcache|[🔍 diff](https://fifo.ci/compare/16534680-15533387/)|[🔍 diff](https://fifo.ci/compare/16534821-15536187/)|\n|mp7-text|[🔍 diff](https://fifo.ci/compare/16534602-15533309/)|[🔍 diff](https://fifo.ci/compare/16534743-15536109/)|\n|mp8-widescreen|[🔍 diff](https://fifo.ci/compare/16534678-15533385/)|[🔍 diff](https://fifo.ci/compare/16534819-15536185/)|\n|mtennis-zfreeze|[🔍 diff](https://fifo.ci/compare/16534587-15533294/)|[🔍 diff](https://fifo.ci/compare/16534728-15536094/)|\n|my-word-coach|[🔍 diff](https://fifo.ci/compare/16534599-15533306/)|[🔍 diff](https://fifo.ci/compare/16534740-15536106/)|\n|nddemo-bumpmapping|[🔍 diff](https://fifo.ci/compare/16534610-15533317/)|[🔍 diff](https://fifo.ci/compare/16534751-15536117/)|\n|nddemo-lighting|[🔍 diff](https://fifo.ci/compare/16534631-15533338/)|[🔍 diff](https://fifo.ci/compare/16534772-15536138/)|\n|nes-vc|[🔍 diff](https://fifo.ci/compare/16534628-15533335/)|[🔍 diff](https://fifo.ci/compare/16534769-15536135/)|\n|nfsu-purplerect|[🔍 diff](https://fifo.ci/compare/16534574-15533281/)|[🔍 diff](https://fifo.ci/compare/16534715-15536081/)|\n|nfsu-reflections|[🔍 diff](https://fifo.ci/compare/16534564-15533271/)|[🔍 diff](https://fifo.ci/compare/16534705-15536071/)|\n|nhl-slap|[🔍 diff](https://fifo.ci/compare/16534659-15533366/)|[🔍 diff](https://fifo.ci/compare/16534800-15536166/)|\n|nintendo-channel|[🔍 diff](https://fifo.ci/compare/16534668-15533375/)|[🔍 diff](https://fifo.ci/compare/16534809-15536175/)|\n|nsmbw-coins|[🔍 diff](https://fifo.ci/compare/16534617-15533324/)|[🔍 diff](https://fifo.ci/compare/16534758-15536124/)|\n|nsmbw-intro|[🔍 diff](https://fifo.ci/compare/16534566-15533273/)|[🔍 diff](https://fifo.ci/compare/16534707-15536073/)|\n|pbr-sfx|[🔍 diff](https://fifo.ci/compare/16534677-15533384/)|[🔍 diff](https://fifo.ci/compare/16534818-15536184/)|\n|pm-hc-jp|[🔍 diff](https://fifo.ci/compare/16534612-15533319/)|[🔍 diff](https://fifo.ci/compare/16534753-15536119/)|\n|pw-black-bars|[🔍 diff](https://fifo.ci/compare/16534603-15533310/)|[🔍 diff](https://fifo.ci/compare/16534744-15536110/)|\n|quake-gx|[🔍 diff](https://fifo.ci/compare/16534683-15533390/)|[🔍 diff](https://fifo.ci/compare/16534824-15536190/)|\n|rs2-bumpmapping|[🔍 diff](https://fifo.ci/compare/16534641-15533348/)|[🔍 diff](https://fifo.ci/compare/16534782-15536148/)|\n|rs2-glass|[🔍 diff](https://fifo.ci/compare/16534592-15533299/)|[🔍 diff](https://fifo.ci/compare/16534733-15536099/)|\n|rs2-skybox|[🔍 diff](https://fifo.ci/compare/16534609-15533316/)|[🔍 diff](https://fifo.ci/compare/16534750-15536116/)|\n|rs2-zfreeze|[🔍 diff](https://fifo.ci/compare/16534575-15533282/)|[🔍 diff](https://fifo.ci/compare/16534716-15536082/)|\n|rs3-bumpmapping|[🔍 diff](https://fifo.ci/compare/16534642-15533349/)|[🔍 diff](https://fifo.ci/compare/16534783-15536149/)|\n|rs3-skybox2|[🔍 diff](https://fifo.ci/compare/16534654-15533361/)|[🔍 diff](https://fifo.ci/compare/16534795-15536161/)|\n|sadx-ui|[🔍 diff](https://fifo.ci/compare/16534594-15533301/)|[🔍 diff](https://fifo.ci/compare/16534735-15536101/)|\n|sf-assault-flashing|[🔍 diff](https://fifo.ci/compare/16534563-15533270/)|[🔍 diff](https://fifo.ci/compare/16534704-15536070/)|\n|sfa-shadows|[🔍 diff](https://fifo.ci/compare/16534638-15533345/)|[🔍 diff](https://fifo.ci/compare/16534779-15536145/)|\n|shadow-eyes|[🔍 diff](https://fifo.ci/compare/16534669-15533376/)|[🔍 diff](https://fifo.ci/compare/16534810-15536176/)|\n|simpsons-game|[🔍 diff](https://fifo.ci/compare/16534640-15533347/)|[🔍 diff](https://fifo.ci/compare/16534781-15536147/)|\n|smb-mirror|[🔍 diff](https://fifo.ci/compare/16534662-15533369/)|[🔍 diff](https://fifo.ci/compare/16534803-15536169/)|\n|smg-marioeyes|[🔍 diff](https://fifo.ci/compare/16534576-15533283/)|[🔍 diff](https://fifo.ci/compare/16534717-15536083/)|\n|smg-mmg|[🔍 diff](https://fifo.ci/compare/16534672-15533379/)|[🔍 diff](https://fifo.ci/compare/16534813-15536179/)|\n|smg-roar|[🔍 diff](https://fifo.ci/compare/16534675-15533382/)|[🔍 diff](https://fifo.ci/compare/16534816-15536182/)|\n|smg2-fog|[🔍 diff](https://fifo.ci/compare/16534583-15533290/)|[🔍 diff](https://fifo.ci/compare/16534724-15536090/)|\n|sms-bubbles|[🔍 diff](https://fifo.ci/compare/16534562-15533269/)|[🔍 diff](https://fifo.ci/compare/16534703-15536069/)|\n|sms-coconut-drinks|[🔍 diff](https://fifo.ci/compare/16534686-15533393/)|[🔍 diff](https://fifo.ci/compare/16534827-15536193/)|\n|sms-gc|[🔍 diff](https://fifo.ci/compare/16534614-15533321/)|[🔍 diff](https://fifo.ci/compare/16534755-15536121/)|\n|sms-water|[🔍 diff](https://fifo.ci/compare/16534645-15533352/)|[🔍 diff](https://fifo.ci/compare/16534786-15536152/)|\n|soa-black|[🔍 diff](https://fifo.ci/compare/16534591-15533298/)|[🔍 diff](https://fifo.ci/compare/16534732-15536098/)|\n|sonic-riders-blur|[🔍 diff](https://fifo.ci/compare/16534647-15533354/)|[🔍 diff](https://fifo.ci/compare/16534788-15536154/)|\n|sonic-riders-zg-4p|[🔍 diff](https://fifo.ci/compare/16534674-15533381/)|[🔍 diff](https://fifo.ci/compare/16534815-15536181/)|\n|soniccolors-mm|[🔍 diff](https://fifo.ci/compare/16534616-15533323/)|[🔍 diff](https://fifo.ci/compare/16534757-15536123/)|\n|sonicriderszg-gb|[🔍 diff](https://fifo.ci/compare/16534615-15533322/)|[🔍 diff](https://fifo.ci/compare/16534756-15536122/)|\n|spider-man-inverted-depth|[🔍 diff](https://fifo.ci/compare/16534689-15533396/)|[🔍 diff](https://fifo.ci/compare/16534830-15536196/)|\n|spyro-bloom|[🔍 diff](https://fifo.ci/compare/16534611-15533318/)|[🔍 diff](https://fifo.ci/compare/16534752-15536118/)|\n|spyro-depth|[🔍 diff](https://fifo.ci/compare/16534632-15533339/)|[🔍 diff](https://fifo.ci/compare/16534773-15536139/)|\n|ss-map|[🔍 diff](https://fifo.ci/compare/16534618-15533325/)|[🔍 diff](https://fifo.ci/compare/16534759-15536125/)|\n|ssbb-mod-lloyd|[🔍 diff](https://fifo.ci/compare/16534633-15533340/)|[🔍 diff](https://fifo.ci/compare/16534774-15536140/)|\n|ssbm-pointsize|[🔍 diff](https://fifo.ci/compare/16534581-15533288/)|[🔍 diff](https://fifo.ci/compare/16534722-15536088/)|\n|super-sluggers-white-out|[🔍 diff](https://fifo.ci/compare/16534608-15533315/)|[🔍 diff](https://fifo.ci/compare/16534749-15536115/)|\n|sw3-dt|[🔍 diff](https://fifo.ci/compare/16534637-15533344/)|[🔍 diff](https://fifo.ci/compare/16534778-15536144/)|\n|taiko-depth|[🔍 diff](https://fifo.ci/compare/16534630-15533337/)|[🔍 diff](https://fifo.ci/compare/16534771-15536137/)|\n|thps3-earlyz|[🔍 diff](https://fifo.ci/compare/16534623-15533330/)|[🔍 diff](https://fifo.ci/compare/16534764-15536130/)|\n|thps4-shadow|[🔍 diff](https://fifo.ci/compare/16534596-15533303/)|[🔍 diff](https://fifo.ci/compare/16534737-15536103/)|\n|tla-menu|[🔍 diff](https://fifo.ci/compare/16534626-15533333/)|[🔍 diff](https://fifo.ci/compare/16534767-15536133/)|\n|tos-invis-char|[🔍 diff](https://fifo.ci/compare/16534567-15533274/)|[🔍 diff](https://fifo.ci/compare/16534708-15536074/)|\n|tp-skin|[🔍 diff](https://fifo.ci/compare/16534667-15533374/)|[🔍 diff](https://fifo.ci/compare/16534808-15536174/)|\n|tsp3-pinkgrass|[🔍 diff](https://fifo.ci/compare/16534577-15533284/)|[🔍 diff](https://fifo.ci/compare/16534718-15536084/)|\n|vegas-party-depth|[🔍 diff](https://fifo.ci/compare/16534622-15533329/)|[🔍 diff](https://fifo.ci/compare/16534763-15536129/)|\n|viewitful-joe-distortion|[🔍 diff](https://fifo.ci/compare/16534666-15533373/)|[🔍 diff](https://fifo.ci/compare/16534807-15536173/)|\n|ww-song-of-passing|[🔍 diff](https://fifo.ci/compare/16534685-15533392/)|[🔍 diff](https://fifo.ci/compare/16534826-15536192/)|\n|xblade-bloom|[🔍 diff](https://fifo.ci/compare/16534684-15533391/)|[🔍 diff](https://fifo.ci/compare/16534825-15536191/)|\n|xenoblade-menu|[🔍 diff](https://fifo.ci/compare/16534557-15533264/)|[🔍 diff](https://fifo.ci/compare/16534698-15536064/)|\n|zbuff-test|[🔍 diff](https://fifo.ci/compare/16534693-15533400/)|[🔍 diff](https://fifo.ci/compare/16534834-15536200/)|\n|zelda1-vc|[🔍 diff](https://fifo.ci/compare/16534606-15533313/)|[🔍 diff](https://fifo.ci/compare/16534747-15536113/)|\n|ztp-grass|[🔍 diff](https://fifo.ci/compare/16534578-15533285/)|[🔍 diff](https://fifo.ci/compare/16534719-15536085/)|\n|zww-armos|[🔍 diff](https://fifo.ci/compare/16534558-15533265/)|[🔍 diff](https://fifo.ci/compare/16534699-15536065/)|\n|zww-water|[🔍 diff](https://fifo.ci/compare/16534586-15533293/)|[🔍 diff](https://fifo.ci/compare/16534727-15536093/)|\n|zww-waves|[🔍 diff](https://fifo.ci/compare/16534598-15533305/)|[🔍 diff](https://fifo.ci/compare/16534739-15536105/)|\n</details>\n<sub><sup>automated-fifoci-reporter</sup></sub>', 'author_association': 'NONE', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5969084973/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'performed_via_github_app': {'id': 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']}, '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-10-03T10:25:15Z', 'pushed_at': '2026-10-03T10:25:06Z', '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': 561269, 'stargazers_count': 15603, 'watchers_count': 15603, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3283, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 474, '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': 3283, 'open_issues': 474, 'watchers': 15603, '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': 'dolphin-ci[bot]', 'id': 59266906, 'node_id': 'MDM6Qm90NTkyNjY5MDY=', 'avatar_url': 'https://avatars.githubusercontent.com/in/49947?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D', 'html_url': 'https://github.com/apps/dolphin-ci', 'followers_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/followers', 'following_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/orgs', 'repos_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/repos', 'events_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/received_events', 'type': 'Bot', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'gh_issue_comment'}
2026-10-03T12:18:31.688665 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'dolphin-ci[bot]', 'action': 'deleted', 'id': 14374, 'title': 'GameINI: Formatting updates to The Legend of Zelda The Wind Waker', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14374#issuecomment-5968964793', 'safe_author': False, 'body': '[FifoCI](https://fifo.ci/about/) detected that this change impacts graphical rendering. Here are the [behavior differences](https://fifo.ci/version/c93135d647ad00d387628a8eef2cc2d49c9eedab/) detected by the system:\n\n<details>\n<summary>Detected differences</summary>\n\n||ogl-lin-mesa|\n|-|-|\n|DKCR-Char|[🔍 diff](https://fifo.ci/compare/16534613-15533320/)|\n|DKCR-fast-depth|[🔍 diff](https://fifo.ci/compare/16534634-15533341/)|\n|MaS-LOG-wiimote|[🔍 diff](https://fifo.ci/compare/16534651-15533358/)|\n|ab11-homebrew|[🔍 diff](https://fifo.ci/compare/16534639-15533346/)|\n|aeon-charge-attack|[🔍 diff](https://fifo.ci/compare/16534619-15533326/)|\n|bk-tev|[🔍 diff](https://fifo.ci/compare/16534661-15533368/)|\n|burnout2-vehicletextures|[🔍 diff](https://fifo.ci/compare/16534656-15533363/)|\n|chibi-robo-fastdepth|[🔍 diff](https://fifo.ci/compare/16534595-15533302/)|\n|chibi-robo-zfighting|[🔍 diff](https://fifo.ci/compare/16534561-15533268/)|\n|custom-brawl-char|[🔍 diff](https://fifo.ci/compare/16534621-15533328/)|\n|dbz-depth|[🔍 diff](https://fifo.ci/compare/16534593-15533300/)|\n|default-depth-range|[🔍 diff](https://fifo.ci/compare/16534688-15533395/)|\n|djfny-menu|[🔍 diff](https://fifo.ci/compare/16534597-15533304/)|\n|djhero2-blend|[🔍 diff](https://fifo.ci/compare/16534660-15533367/)|\n|ea-pink|[🔍 diff](https://fifo.ci/compare/16534673-15533380/)|\n|ea-vp6|[🔍 diff](https://fifo.ci/compare/16534579-15533286/)|\n|ed-updated|[🔍 diff](https://fifo.ci/compare/16534629-15533336/)|\n|et-vid|[🔍 diff](https://fifo.ci/compare/16534644-15533351/)|\n|f-zero-rain|[🔍 diff](https://fifo.ci/compare/16534627-15533334/)|\n|fifa-street|[🔍 diff](https://fifo.ci/compare/16534590-15533297/)|\n|find-mii|[🔍 diff](https://fifo.ci/compare/16534601-15533308/)|\n|fishing-resort-map|[🔍 diff](https://fifo.ci/compare/16534649-15533356/)|\n|fog-adj|[🔍 diff](https://fifo.ci/compare/16534568-15533275/)|\n|fortune-street|[🔍 diff](https://fifo.ci/compare/16534580-15533287/)|\n|fortune-street-fog|[🔍 diff](https://fifo.ci/compare/16534560-15533267/)|\n|fortune-street-white-box|[🔍 diff](https://fifo.ci/compare/16534582-15533289/)|\n|fsa-layers|[🔍 diff](https://fifo.ci/compare/16534605-15533312/)|\n|goldeneye-depth|[🔍 diff](https://fifo.ci/compare/16534624-15533331/)|\n|harvest-moon-mm-shadows|[🔍 diff](https://fifo.ci/compare/16534696-15533403/)|\n|hb-discgolf|[🔍 diff](https://fifo.ci/compare/16534646-15533353/)|\n|hotwheels-shadows|[🔍 diff](https://fifo.ci/compare/16534695-15533402/)|\n|inverted-depth-range|[🔍 diff](https://fifo.ci/compare/16534690-15533397/)|\n|jb-shadow|[🔍 diff](https://fifo.ci/compare/16534676-15533383/)|\n|jd2-fmv|[🔍 diff](https://fifo.ci/compare/16534664-15533371/)|\n|jj-awae-mirrored|[🔍 diff](https://fifo.ci/compare/16534655-15533362/)|\n|kirby-logicop|[🔍 diff](https://fifo.ci/compare/16534682-15533389/)|\n|kirby-shadows|[🔍 diff](https://fifo.ci/compare/16534569-15533276/)|\n|last-story-shadows|[🔍 diff](https://fifo.ci/compare/16534653-15533360/)|\n|lego-star-wars-crane-shadow|[🔍 diff](https://fifo.ci/compare/16534636-15533343/)|\n|lesson08|[🔍 diff](https://fifo.ci/compare/16534643-15533350/)|\n|line-width-test|[🔍 diff](https://fifo.ci/compare/16534565-15533272/)|\n|lit-cached-normal|[🔍 diff](https://fifo.ci/compare/16534692-15533399/)|\n|lm-mario-portrait|[🔍 diff](https://fifo.ci/compare/16534665-15533372/)|\n|luigi-shadows|[🔍 diff](https://fifo.ci/compare/16534570-15533277/)|\n|major-minor|[🔍 diff](https://fifo.ci/compare/16534670-15533377/)|\n|mario-baseball-shadows|[🔍 diff](https://fifo.ci/compare/16534648-15533355/)|\n|mario-golf-oob|[🔍 diff](https://fifo.ci/compare/16534679-15533386/)|\n|mario-golf-vertex-expansion|[🔍 diff](https://fifo.ci/compare/16534694-15533401/)|\n|mario-sluggers-bar|[🔍 diff](https://fifo.ci/compare/16534585-15533292/)|\n|mario-tennis-menu|[🔍 diff](https://fifo.ci/compare/16534584-15533291/)|\n|megaman-heat|[🔍 diff](https://fifo.ci/compare/16534589-15533296/)|\n|melee-depth|[🔍 diff](https://fifo.ci/compare/16534625-15533332/)|\n|melee-lighting|[🔍 diff](https://fifo.ci/compare/16534559-15533266/)|\n|metroid-visor|[🔍 diff](https://fifo.ci/compare/16534635-15533342/)|\n|mii-channel|[🔍 diff](https://fifo.ci/compare/16534600-15533307/)|\n|milotic-texture|[🔍 diff](https://fifo.ci/compare/16534604-15533311/)|\n|mini-ninjas|[🔍 diff](https://fifo.ci/compare/16534571-15533278/)|\n|mkdd-babypark|[🔍 diff](https://fifo.ci/compare/16534652-15533359/)|\n|mkdd-efb|[🔍 diff](https://fifo.ci/compare/16534572-15533279/)|\n|mkw-bridge|[🔍 diff](https://fifo.ci/compare/16534663-15533370/)|\n|mkw-flags|[🔍 diff](https://fifo.ci/compare/16534681-15533388/)|\n|mkwii-bluebox|[🔍 diff](https://fifo.ci/compare/16534573-15533280/)|\n|mmx-light|[🔍 diff](https://fifo.ci/compare/16534657-15533364/)|\n|monkeyball-fuse|[🔍 diff](https://fifo.ci/compare/16534588-15533295/)|\n|mp2-scanner|[🔍 diff](https://fifo.ci/compare/16534658-15533365/)|\n|mp3-bloom|[🔍 diff](https://fifo.ci/compare/16534650-15533357/)|\n|mp4-vertexcache|[🔍 diff](https://fifo.ci/compare/16534680-15533387/)|\n|mp7-text|[🔍 diff](https://fifo.ci/compare/16534602-15533309/)|\n|mp8-widescreen|[🔍 diff](https://fifo.ci/compare/16534678-15533385/)|\n|mtennis-zfreeze|[🔍 diff](https://fifo.ci/compare/16534587-15533294/)|\n|my-word-coach|[🔍 diff](https://fifo.ci/compare/16534599-15533306/)|\n|nddemo-bumpmapping|[🔍 diff](https://fifo.ci/compare/16534610-15533317/)|\n|nddemo-lighting|[🔍 diff](https://fifo.ci/compare/16534631-15533338/)|\n|nes-vc|[🔍 diff](https://fifo.ci/compare/16534628-15533335/)|\n|nfsu-purplerect|[🔍 diff](https://fifo.ci/compare/16534574-15533281/)|\n|nfsu-reflections|[🔍 diff](https://fifo.ci/compare/16534564-15533271/)|\n|nhl-slap|[🔍 diff](https://fifo.ci/compare/16534659-15533366/)|\n|nintendo-channel|[🔍 diff](https://fifo.ci/compare/16534668-15533375/)|\n|nsmbw-coins|[🔍 diff](https://fifo.ci/compare/16534617-15533324/)|\n|nsmbw-intro|[🔍 diff](https://fifo.ci/compare/16534566-15533273/)|\n|pbr-sfx|[🔍 diff](https://fifo.ci/compare/16534677-15533384/)|\n|pm-hc-jp|[🔍 diff](https://fifo.ci/compare/16534612-15533319/)|\n|pw-black-bars|[🔍 diff](https://fifo.ci/compare/16534603-15533310/)|\n|quake-gx|[🔍 diff](https://fifo.ci/compare/16534683-15533390/)|\n|rs2-bumpmapping|[🔍 diff](https://fifo.ci/compare/16534641-15533348/)|\n|rs2-glass|[🔍 diff](https://fifo.ci/compare/16534592-15533299/)|\n|rs2-skybox|[🔍 diff](https://fifo.ci/compare/16534609-15533316/)|\n|rs2-zfreeze|[🔍 diff](https://fifo.ci/compare/16534575-15533282/)|\n|rs3-bumpmapping|[🔍 diff](https://fifo.ci/compare/16534642-15533349/)|\n|rs3-skybox2|[🔍 diff](https://fifo.ci/compare/16534654-15533361/)|\n|sadx-ui|[🔍 diff](https://fifo.ci/compare/16534594-15533301/)|\n|sf-assault-flashing|[🔍 diff](https://fifo.ci/compare/16534563-15533270/)|\n|sfa-shadows|[🔍 diff](https://fifo.ci/compare/16534638-15533345/)|\n|shadow-eyes|[🔍 diff](https://fifo.ci/compare/16534669-15533376/)|\n|simpsons-game|[🔍 diff](https://fifo.ci/compare/16534640-15533347/)|\n|smb-mirror|[🔍 diff](https://fifo.ci/compare/16534662-15533369/)|\n|smg-marioeyes|[🔍 diff](https://fifo.ci/compare/16534576-15533283/)|\n|smg-mmg|[🔍 diff](https://fifo.ci/compare/16534672-15533379/)|\n|smg-roar|[🔍 diff](https://fifo.ci/compare/16534675-15533382/)|\n|smg2-fog|[🔍 diff](https://fifo.ci/compare/16534583-15533290/)|\n|sms-bubbles|[🔍 diff](https://fifo.ci/compare/16534562-15533269/)|\n|sms-coconut-drinks|[🔍 diff](https://fifo.ci/compare/16534686-15533393/)|\n|sms-gc|[🔍 diff](https://fifo.ci/compare/16534614-15533321/)|\n|sms-water|[🔍 diff](https://fifo.ci/compare/16534645-15533352/)|\n|soa-black|[🔍 diff](https://fifo.ci/compare/16534591-15533298/)|\n|sonic-riders-blur|[🔍 diff](https://fifo.ci/compare/16534647-15533354/)|\n|sonic-riders-zg-4p|[🔍 diff](https://fifo.ci/compare/16534674-15533381/)|\n|soniccolors-mm|[🔍 diff](https://fifo.ci/compare/16534616-15533323/)|\n|sonicriderszg-gb|[🔍 diff](https://fifo.ci/compare/16534615-15533322/)|\n|spider-man-inverted-depth|[🔍 diff](https://fifo.ci/compare/16534689-15533396/)|\n|spyro-bloom|[🔍 diff](https://fifo.ci/compare/16534611-15533318/)|\n|spyro-depth|[🔍 diff](https://fifo.ci/compare/16534632-15533339/)|\n|ss-map|[🔍 diff](https://fifo.ci/compare/16534618-15533325/)|\n|ssbb-mod-lloyd|[🔍 diff](https://fifo.ci/compare/16534633-15533340/)|\n|ssbm-pointsize|[🔍 diff](https://fifo.ci/compare/16534581-15533288/)|\n|super-sluggers-white-out|[🔍 diff](https://fifo.ci/compare/16534608-15533315/)|\n|sw3-dt|[🔍 diff](https://fifo.ci/compare/16534637-15533344/)|\n|taiko-depth|[🔍 diff](https://fifo.ci/compare/16534630-15533337/)|\n|thps3-earlyz|[🔍 diff](https://fifo.ci/compare/16534623-15533330/)|\n|thps4-shadow|[🔍 diff](https://fifo.ci/compare/16534596-15533303/)|\n|tla-menu|[🔍 diff](https://fifo.ci/compare/16534626-15533333/)|\n|tos-invis-char|[🔍 diff](https://fifo.ci/compare/16534567-15533274/)|\n|tp-skin|[🔍 diff](https://fifo.ci/compare/16534667-15533374/)|\n|tsp3-pinkgrass|[🔍 diff](https://fifo.ci/compare/16534577-15533284/)|\n|vegas-party-depth|[🔍 diff](https://fifo.ci/compare/16534622-15533329/)|\n|viewitful-joe-distortion|[🔍 diff](https://fifo.ci/compare/16534666-15533373/)|\n|ww-song-of-passing|[🔍 diff](https://fifo.ci/compare/16534685-15533392/)|\n|xblade-bloom|[🔍 diff](https://fifo.ci/compare/16534684-15533391/)|\n|xenoblade-menu|[🔍 diff](https://fifo.ci/compare/16534557-15533264/)|\n|zbuff-test|[🔍 diff](https://fifo.ci/compare/16534693-15533400/)|\n|zelda1-vc|[🔍 diff](https://fifo.ci/compare/16534606-15533313/)|\n|ztp-grass|[🔍 diff](https://fifo.ci/compare/16534578-15533285/)|\n|zww-armos|[🔍 diff](https://fifo.ci/compare/16534558-15533265/)|\n|zww-water|[🔍 diff](https://fifo.ci/compare/16534586-15533293/)|\n|zww-waves|[🔍 diff](https://fifo.ci/compare/16534598-15533305/)|\n</details>\n<sub><sup>automated-fifoci-reporter</sup></sub>', 'raw': {'action': 'deleted', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14374', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14374/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14374/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14374/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14374', 'id': 3934943021, 'node_id': 'PR_kwDOALCn2M7DcVVQ', 'number': 14374, 'title': 'GameINI: Formatting updates to The Legend of Zelda The Wind Waker', 'user': {'login': 'Windsurf7', 'id': 70599421, 'node_id': 'MDQ6VXNlcjcwNTk5NDIx', 'avatar_url': 'https://avatars.githubusercontent.com/u/70599421?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/Windsurf7', 'html_url': 'https://github.com/Windsurf7', 'followers_url': 'https://api.github.com/users/Windsurf7/followers', 'following_url': 'https://api.github.com/users/Windsurf7/following{/other_user}', 'gists_url': 'https://api.github.com/users/Windsurf7/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/Windsurf7/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/Windsurf7/subscriptions', 'organizations_url': 'https://api.github.com/users/Windsurf7/orgs', 'repos_url': 'https://api.github.com/users/Windsurf7/repos', 'events_url': 'https://api.github.com/users/Windsurf7/events{/privacy}', 'received_events_url': 'https://api.github.com/users/Windsurf7/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [{'id': 1667502011, 'node_id': 'MDU6TGFiZWwxNjY3NTAyMDEx', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels/needs%20rebase', 'name': 'needs rebase', 'color': '053663', 'default': False, 'description': '', 'archived_at': None, 'archived_by': None}], 'state': 'open', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 5, 'created_at': '2026-02-13T01:59:34Z', 'updated_at': '2026-10-03T12:02:27Z', 'closed_at': None, 'assignee': None, 'author_association': 'CONTRIBUTOR', 'issue_field_values': [], 'type': None, 'active_lock_reason': None, 'draft': False, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14374', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14374', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14374.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14374.patch', 'merged_at': None}, 'body': 'This PR provides formatting updates to The Legend of Zelda: The Wind Waker.\r\n\r\nAll regions:\r\n* Formatting fixes.', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14374/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/14374/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5968964793', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14374#issuecomment-5968964793', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14374', 'id': 5968964793, 'node_id': 'IC_kwDOALCn2M8AAAABY8csuQ', 'user': {'login': 'dolphin-ci[bot]', 'id': 59266906, 'node_id': 'MDM6Qm90NTkyNjY5MDY=', 'avatar_url': 'https://avatars.githubusercontent.com/in/49947?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D', 'html_url': 'https://github.com/apps/dolphin-ci', 'followers_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/followers', 'following_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/orgs', 'repos_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/repos', 'events_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/received_events', 'type': 'Bot', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2026-10-03T12:02:27Z', 'updated_at': '2026-10-03T12:02:27Z', 'body': '[FifoCI](https://fifo.ci/about/) detected that this change impacts graphical rendering. Here are the [behavior differences](https://fifo.ci/version/c93135d647ad00d387628a8eef2cc2d49c9eedab/) detected by the system:\n\n<details>\n<summary>Detected differences</summary>\n\n||ogl-lin-mesa|\n|-|-|\n|DKCR-Char|[🔍 diff](https://fifo.ci/compare/16534613-15533320/)|\n|DKCR-fast-depth|[🔍 diff](https://fifo.ci/compare/16534634-15533341/)|\n|MaS-LOG-wiimote|[🔍 diff](https://fifo.ci/compare/16534651-15533358/)|\n|ab11-homebrew|[🔍 diff](https://fifo.ci/compare/16534639-15533346/)|\n|aeon-charge-attack|[🔍 diff](https://fifo.ci/compare/16534619-15533326/)|\n|bk-tev|[🔍 diff](https://fifo.ci/compare/16534661-15533368/)|\n|burnout2-vehicletextures|[🔍 diff](https://fifo.ci/compare/16534656-15533363/)|\n|chibi-robo-fastdepth|[🔍 diff](https://fifo.ci/compare/16534595-15533302/)|\n|chibi-robo-zfighting|[🔍 diff](https://fifo.ci/compare/16534561-15533268/)|\n|custom-brawl-char|[🔍 diff](https://fifo.ci/compare/16534621-15533328/)|\n|dbz-depth|[🔍 diff](https://fifo.ci/compare/16534593-15533300/)|\n|default-depth-range|[🔍 diff](https://fifo.ci/compare/16534688-15533395/)|\n|djfny-menu|[🔍 diff](https://fifo.ci/compare/16534597-15533304/)|\n|djhero2-blend|[🔍 diff](https://fifo.ci/compare/16534660-15533367/)|\n|ea-pink|[🔍 diff](https://fifo.ci/compare/16534673-15533380/)|\n|ea-vp6|[🔍 diff](https://fifo.ci/compare/16534579-15533286/)|\n|ed-updated|[🔍 diff](https://fifo.ci/compare/16534629-15533336/)|\n|et-vid|[🔍 diff](https://fifo.ci/compare/16534644-15533351/)|\n|f-zero-rain|[🔍 diff](https://fifo.ci/compare/16534627-15533334/)|\n|fifa-street|[🔍 diff](https://fifo.ci/compare/16534590-15533297/)|\n|find-mii|[🔍 diff](https://fifo.ci/compare/16534601-15533308/)|\n|fishing-resort-map|[🔍 diff](https://fifo.ci/compare/16534649-15533356/)|\n|fog-adj|[🔍 diff](https://fifo.ci/compare/16534568-15533275/)|\n|fortune-street|[🔍 diff](https://fifo.ci/compare/16534580-15533287/)|\n|fortune-street-fog|[🔍 diff](https://fifo.ci/compare/16534560-15533267/)|\n|fortune-street-white-box|[🔍 diff](https://fifo.ci/compare/16534582-15533289/)|\n|fsa-layers|[🔍 diff](https://fifo.ci/compare/16534605-15533312/)|\n|goldeneye-depth|[🔍 diff](https://fifo.ci/compare/16534624-15533331/)|\n|harvest-moon-mm-shadows|[🔍 diff](https://fifo.ci/compare/16534696-15533403/)|\n|hb-discgolf|[🔍 diff](https://fifo.ci/compare/16534646-15533353/)|\n|hotwheels-shadows|[🔍 diff](https://fifo.ci/compare/16534695-15533402/)|\n|inverted-depth-range|[🔍 diff](https://fifo.ci/compare/16534690-15533397/)|\n|jb-shadow|[🔍 diff](https://fifo.ci/compare/16534676-15533383/)|\n|jd2-fmv|[🔍 diff](https://fifo.ci/compare/16534664-15533371/)|\n|jj-awae-mirrored|[🔍 diff](https://fifo.ci/compare/16534655-15533362/)|\n|kirby-logicop|[🔍 diff](https://fifo.ci/compare/16534682-15533389/)|\n|kirby-shadows|[🔍 diff](https://fifo.ci/compare/16534569-15533276/)|\n|last-story-shadows|[🔍 diff](https://fifo.ci/compare/16534653-15533360/)|\n|lego-star-wars-crane-shadow|[🔍 diff](https://fifo.ci/compare/16534636-15533343/)|\n|lesson08|[🔍 diff](https://fifo.ci/compare/16534643-15533350/)|\n|line-width-test|[🔍 diff](https://fifo.ci/compare/16534565-15533272/)|\n|lit-cached-normal|[🔍 diff](https://fifo.ci/compare/16534692-15533399/)|\n|lm-mario-portrait|[🔍 diff](https://fifo.ci/compare/16534665-15533372/)|\n|luigi-shadows|[🔍 diff](https://fifo.ci/compare/16534570-15533277/)|\n|major-minor|[🔍 diff](https://fifo.ci/compare/16534670-15533377/)|\n|mario-baseball-shadows|[🔍 diff](https://fifo.ci/compare/16534648-15533355/)|\n|mario-golf-oob|[🔍 diff](https://fifo.ci/compare/16534679-15533386/)|\n|mario-golf-vertex-expansion|[🔍 diff](https://fifo.ci/compare/16534694-15533401/)|\n|mario-sluggers-bar|[🔍 diff](https://fifo.ci/compare/16534585-15533292/)|\n|mario-tennis-menu|[🔍 diff](https://fifo.ci/compare/16534584-15533291/)|\n|megaman-heat|[🔍 diff](https://fifo.ci/compare/16534589-15533296/)|\n|melee-depth|[🔍 diff](https://fifo.ci/compare/16534625-15533332/)|\n|melee-lighting|[🔍 diff](https://fifo.ci/compare/16534559-15533266/)|\n|metroid-visor|[🔍 diff](https://fifo.ci/compare/16534635-15533342/)|\n|mii-channel|[🔍 diff](https://fifo.ci/compare/16534600-15533307/)|\n|milotic-texture|[🔍 diff](https://fifo.ci/compare/16534604-15533311/)|\n|mini-ninjas|[🔍 diff](https://fifo.ci/compare/16534571-15533278/)|\n|mkdd-babypark|[🔍 diff](https://fifo.ci/compare/16534652-15533359/)|\n|mkdd-efb|[🔍 diff](https://fifo.ci/compare/16534572-15533279/)|\n|mkw-bridge|[🔍 diff](https://fifo.ci/compare/16534663-15533370/)|\n|mkw-flags|[🔍 diff](https://fifo.ci/compare/16534681-15533388/)|\n|mkwii-bluebox|[🔍 diff](https://fifo.ci/compare/16534573-15533280/)|\n|mmx-light|[🔍 diff](https://fifo.ci/compare/16534657-15533364/)|\n|monkeyball-fuse|[🔍 diff](https://fifo.ci/compare/16534588-15533295/)|\n|mp2-scanner|[🔍 diff](https://fifo.ci/compare/16534658-15533365/)|\n|mp3-bloom|[🔍 diff](https://fifo.ci/compare/16534650-15533357/)|\n|mp4-vertexcache|[🔍 diff](https://fifo.ci/compare/16534680-15533387/)|\n|mp7-text|[🔍 diff](https://fifo.ci/compare/16534602-15533309/)|\n|mp8-widescreen|[🔍 diff](https://fifo.ci/compare/16534678-15533385/)|\n|mtennis-zfreeze|[🔍 diff](https://fifo.ci/compare/16534587-15533294/)|\n|my-word-coach|[🔍 diff](https://fifo.ci/compare/16534599-15533306/)|\n|nddemo-bumpmapping|[🔍 diff](https://fifo.ci/compare/16534610-15533317/)|\n|nddemo-lighting|[🔍 diff](https://fifo.ci/compare/16534631-15533338/)|\n|nes-vc|[🔍 diff](https://fifo.ci/compare/16534628-15533335/)|\n|nfsu-purplerect|[🔍 diff](https://fifo.ci/compare/16534574-15533281/)|\n|nfsu-reflections|[🔍 diff](https://fifo.ci/compare/16534564-15533271/)|\n|nhl-slap|[🔍 diff](https://fifo.ci/compare/16534659-15533366/)|\n|nintendo-channel|[🔍 diff](https://fifo.ci/compare/16534668-15533375/)|\n|nsmbw-coins|[🔍 diff](https://fifo.ci/compare/16534617-15533324/)|\n|nsmbw-intro|[🔍 diff](https://fifo.ci/compare/16534566-15533273/)|\n|pbr-sfx|[🔍 diff](https://fifo.ci/compare/16534677-15533384/)|\n|pm-hc-jp|[🔍 diff](https://fifo.ci/compare/16534612-15533319/)|\n|pw-black-bars|[🔍 diff](https://fifo.ci/compare/16534603-15533310/)|\n|quake-gx|[🔍 diff](https://fifo.ci/compare/16534683-15533390/)|\n|rs2-bumpmapping|[🔍 diff](https://fifo.ci/compare/16534641-15533348/)|\n|rs2-glass|[🔍 diff](https://fifo.ci/compare/16534592-15533299/)|\n|rs2-skybox|[🔍 diff](https://fifo.ci/compare/16534609-15533316/)|\n|rs2-zfreeze|[🔍 diff](https://fifo.ci/compare/16534575-15533282/)|\n|rs3-bumpmapping|[🔍 diff](https://fifo.ci/compare/16534642-15533349/)|\n|rs3-skybox2|[🔍 diff](https://fifo.ci/compare/16534654-15533361/)|\n|sadx-ui|[🔍 diff](https://fifo.ci/compare/16534594-15533301/)|\n|sf-assault-flashing|[🔍 diff](https://fifo.ci/compare/16534563-15533270/)|\n|sfa-shadows|[🔍 diff](https://fifo.ci/compare/16534638-15533345/)|\n|shadow-eyes|[🔍 diff](https://fifo.ci/compare/16534669-15533376/)|\n|simpsons-game|[🔍 diff](https://fifo.ci/compare/16534640-15533347/)|\n|smb-mirror|[🔍 diff](https://fifo.ci/compare/16534662-15533369/)|\n|smg-marioeyes|[🔍 diff](https://fifo.ci/compare/16534576-15533283/)|\n|smg-mmg|[🔍 diff](https://fifo.ci/compare/16534672-15533379/)|\n|smg-roar|[🔍 diff](https://fifo.ci/compare/16534675-15533382/)|\n|smg2-fog|[🔍 diff](https://fifo.ci/compare/16534583-15533290/)|\n|sms-bubbles|[🔍 diff](https://fifo.ci/compare/16534562-15533269/)|\n|sms-coconut-drinks|[🔍 diff](https://fifo.ci/compare/16534686-15533393/)|\n|sms-gc|[🔍 diff](https://fifo.ci/compare/16534614-15533321/)|\n|sms-water|[🔍 diff](https://fifo.ci/compare/16534645-15533352/)|\n|soa-black|[🔍 diff](https://fifo.ci/compare/16534591-15533298/)|\n|sonic-riders-blur|[🔍 diff](https://fifo.ci/compare/16534647-15533354/)|\n|sonic-riders-zg-4p|[🔍 diff](https://fifo.ci/compare/16534674-15533381/)|\n|soniccolors-mm|[🔍 diff](https://fifo.ci/compare/16534616-15533323/)|\n|sonicriderszg-gb|[🔍 diff](https://fifo.ci/compare/16534615-15533322/)|\n|spider-man-inverted-depth|[🔍 diff](https://fifo.ci/compare/16534689-15533396/)|\n|spyro-bloom|[🔍 diff](https://fifo.ci/compare/16534611-15533318/)|\n|spyro-depth|[🔍 diff](https://fifo.ci/compare/16534632-15533339/)|\n|ss-map|[🔍 diff](https://fifo.ci/compare/16534618-15533325/)|\n|ssbb-mod-lloyd|[🔍 diff](https://fifo.ci/compare/16534633-15533340/)|\n|ssbm-pointsize|[🔍 diff](https://fifo.ci/compare/16534581-15533288/)|\n|super-sluggers-white-out|[🔍 diff](https://fifo.ci/compare/16534608-15533315/)|\n|sw3-dt|[🔍 diff](https://fifo.ci/compare/16534637-15533344/)|\n|taiko-depth|[🔍 diff](https://fifo.ci/compare/16534630-15533337/)|\n|thps3-earlyz|[🔍 diff](https://fifo.ci/compare/16534623-15533330/)|\n|thps4-shadow|[🔍 diff](https://fifo.ci/compare/16534596-15533303/)|\n|tla-menu|[🔍 diff](https://fifo.ci/compare/16534626-15533333/)|\n|tos-invis-char|[🔍 diff](https://fifo.ci/compare/16534567-15533274/)|\n|tp-skin|[🔍 diff](https://fifo.ci/compare/16534667-15533374/)|\n|tsp3-pinkgrass|[🔍 diff](https://fifo.ci/compare/16534577-15533284/)|\n|vegas-party-depth|[🔍 diff](https://fifo.ci/compare/16534622-15533329/)|\n|viewitful-joe-distortion|[🔍 diff](https://fifo.ci/compare/16534666-15533373/)|\n|ww-song-of-passing|[🔍 diff](https://fifo.ci/compare/16534685-15533392/)|\n|xblade-bloom|[🔍 diff](https://fifo.ci/compare/16534684-15533391/)|\n|xenoblade-menu|[🔍 diff](https://fifo.ci/compare/16534557-15533264/)|\n|zbuff-test|[🔍 diff](https://fifo.ci/compare/16534693-15533400/)|\n|zelda1-vc|[🔍 diff](https://fifo.ci/compare/16534606-15533313/)|\n|ztp-grass|[🔍 diff](https://fifo.ci/compare/16534578-15533285/)|\n|zww-armos|[🔍 diff](https://fifo.ci/compare/16534558-15533265/)|\n|zww-water|[🔍 diff](https://fifo.ci/compare/16534586-15533293/)|\n|zww-waves|[🔍 diff](https://fifo.ci/compare/16534598-15533305/)|\n</details>\n<sub><sup>automated-fifoci-reporter</sup></sub>', 'author_association': 'NONE', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5968964793/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'performed_via_github_app': {'id': 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']}, '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-10-03T10:25:15Z', 'pushed_at': '2026-10-03T10:25:06Z', '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': 561269, 'stargazers_count': 15603, 'watchers_count': 15603, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3283, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 474, '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': 3283, 'open_issues': 474, 'watchers': 15603, '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': 'dolphin-ci[bot]', 'id': 59266906, 'node_id': 'MDM6Qm90NTkyNjY5MDY=', 'avatar_url': 'https://avatars.githubusercontent.com/in/49947?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D', 'html_url': 'https://github.com/apps/dolphin-ci', 'followers_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/followers', 'following_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/orgs', 'repos_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/repos', 'events_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/received_events', 'type': 'Bot', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'gh_issue_comment'}
2026-10-03T12:02:28.804970 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'dolphin-ci[bot]', 'action': 'created', 'id': 14374, 'title': 'GameINI: Formatting updates to The Legend of Zelda The Wind Waker', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14374#issuecomment-5968964793', 'safe_author': False, 'body': '[FifoCI](https://fifo.ci/about/) detected that this change impacts graphical rendering. Here are the [behavior differences](https://fifo.ci/version/c93135d647ad00d387628a8eef2cc2d49c9eedab/) detected by the system:\n\n<details>\n<summary>Detected differences</summary>\n\n||ogl-lin-mesa|\n|-|-|\n|DKCR-Char|[🔍 diff](https://fifo.ci/compare/16534613-15533320/)|\n|DKCR-fast-depth|[🔍 diff](https://fifo.ci/compare/16534634-15533341/)|\n|MaS-LOG-wiimote|[🔍 diff](https://fifo.ci/compare/16534651-15533358/)|\n|ab11-homebrew|[🔍 diff](https://fifo.ci/compare/16534639-15533346/)|\n|aeon-charge-attack|[🔍 diff](https://fifo.ci/compare/16534619-15533326/)|\n|bk-tev|[🔍 diff](https://fifo.ci/compare/16534661-15533368/)|\n|burnout2-vehicletextures|[🔍 diff](https://fifo.ci/compare/16534656-15533363/)|\n|chibi-robo-fastdepth|[🔍 diff](https://fifo.ci/compare/16534595-15533302/)|\n|chibi-robo-zfighting|[🔍 diff](https://fifo.ci/compare/16534561-15533268/)|\n|custom-brawl-char|[🔍 diff](https://fifo.ci/compare/16534621-15533328/)|\n|dbz-depth|[🔍 diff](https://fifo.ci/compare/16534593-15533300/)|\n|default-depth-range|[🔍 diff](https://fifo.ci/compare/16534688-15533395/)|\n|djfny-menu|[🔍 diff](https://fifo.ci/compare/16534597-15533304/)|\n|djhero2-blend|[🔍 diff](https://fifo.ci/compare/16534660-15533367/)|\n|ea-pink|[🔍 diff](https://fifo.ci/compare/16534673-15533380/)|\n|ea-vp6|[🔍 diff](https://fifo.ci/compare/16534579-15533286/)|\n|ed-updated|[🔍 diff](https://fifo.ci/compare/16534629-15533336/)|\n|et-vid|[🔍 diff](https://fifo.ci/compare/16534644-15533351/)|\n|f-zero-rain|[🔍 diff](https://fifo.ci/compare/16534627-15533334/)|\n|fifa-street|[🔍 diff](https://fifo.ci/compare/16534590-15533297/)|\n|find-mii|[🔍 diff](https://fifo.ci/compare/16534601-15533308/)|\n|fishing-resort-map|[🔍 diff](https://fifo.ci/compare/16534649-15533356/)|\n|fog-adj|[🔍 diff](https://fifo.ci/compare/16534568-15533275/)|\n|fortune-street|[🔍 diff](https://fifo.ci/compare/16534580-15533287/)|\n|fortune-street-fog|[🔍 diff](https://fifo.ci/compare/16534560-15533267/)|\n|fortune-street-white-box|[🔍 diff](https://fifo.ci/compare/16534582-15533289/)|\n|fsa-layers|[🔍 diff](https://fifo.ci/compare/16534605-15533312/)|\n|goldeneye-depth|[🔍 diff](https://fifo.ci/compare/16534624-15533331/)|\n|harvest-moon-mm-shadows|[🔍 diff](https://fifo.ci/compare/16534696-15533403/)|\n|hb-discgolf|[🔍 diff](https://fifo.ci/compare/16534646-15533353/)|\n|hotwheels-shadows|[🔍 diff](https://fifo.ci/compare/16534695-15533402/)|\n|inverted-depth-range|[🔍 diff](https://fifo.ci/compare/16534690-15533397/)|\n|jb-shadow|[🔍 diff](https://fifo.ci/compare/16534676-15533383/)|\n|jd2-fmv|[🔍 diff](https://fifo.ci/compare/16534664-15533371/)|\n|jj-awae-mirrored|[🔍 diff](https://fifo.ci/compare/16534655-15533362/)|\n|kirby-logicop|[🔍 diff](https://fifo.ci/compare/16534682-15533389/)|\n|kirby-shadows|[🔍 diff](https://fifo.ci/compare/16534569-15533276/)|\n|last-story-shadows|[🔍 diff](https://fifo.ci/compare/16534653-15533360/)|\n|lego-star-wars-crane-shadow|[🔍 diff](https://fifo.ci/compare/16534636-15533343/)|\n|lesson08|[🔍 diff](https://fifo.ci/compare/16534643-15533350/)|\n|line-width-test|[🔍 diff](https://fifo.ci/compare/16534565-15533272/)|\n|lit-cached-normal|[🔍 diff](https://fifo.ci/compare/16534692-15533399/)|\n|lm-mario-portrait|[🔍 diff](https://fifo.ci/compare/16534665-15533372/)|\n|luigi-shadows|[🔍 diff](https://fifo.ci/compare/16534570-15533277/)|\n|major-minor|[🔍 diff](https://fifo.ci/compare/16534670-15533377/)|\n|mario-baseball-shadows|[🔍 diff](https://fifo.ci/compare/16534648-15533355/)|\n|mario-golf-oob|[🔍 diff](https://fifo.ci/compare/16534679-15533386/)|\n|mario-golf-vertex-expansion|[🔍 diff](https://fifo.ci/compare/16534694-15533401/)|\n|mario-sluggers-bar|[🔍 diff](https://fifo.ci/compare/16534585-15533292/)|\n|mario-tennis-menu|[🔍 diff](https://fifo.ci/compare/16534584-15533291/)|\n|megaman-heat|[🔍 diff](https://fifo.ci/compare/16534589-15533296/)|\n|melee-depth|[🔍 diff](https://fifo.ci/compare/16534625-15533332/)|\n|melee-lighting|[🔍 diff](https://fifo.ci/compare/16534559-15533266/)|\n|metroid-visor|[🔍 diff](https://fifo.ci/compare/16534635-15533342/)|\n|mii-channel|[🔍 diff](https://fifo.ci/compare/16534600-15533307/)|\n|milotic-texture|[🔍 diff](https://fifo.ci/compare/16534604-15533311/)|\n|mini-ninjas|[🔍 diff](https://fifo.ci/compare/16534571-15533278/)|\n|mkdd-babypark|[🔍 diff](https://fifo.ci/compare/16534652-15533359/)|\n|mkdd-efb|[🔍 diff](https://fifo.ci/compare/16534572-15533279/)|\n|mkw-bridge|[🔍 diff](https://fifo.ci/compare/16534663-15533370/)|\n|mkw-flags|[🔍 diff](https://fifo.ci/compare/16534681-15533388/)|\n|mkwii-bluebox|[🔍 diff](https://fifo.ci/compare/16534573-15533280/)|\n|mmx-light|[🔍 diff](https://fifo.ci/compare/16534657-15533364/)|\n|monkeyball-fuse|[🔍 diff](https://fifo.ci/compare/16534588-15533295/)|\n|mp2-scanner|[🔍 diff](https://fifo.ci/compare/16534658-15533365/)|\n|mp3-bloom|[🔍 diff](https://fifo.ci/compare/16534650-15533357/)|\n|mp4-vertexcache|[🔍 diff](https://fifo.ci/compare/16534680-15533387/)|\n|mp7-text|[🔍 diff](https://fifo.ci/compare/16534602-15533309/)|\n|mp8-widescreen|[🔍 diff](https://fifo.ci/compare/16534678-15533385/)|\n|mtennis-zfreeze|[🔍 diff](https://fifo.ci/compare/16534587-15533294/)|\n|my-word-coach|[🔍 diff](https://fifo.ci/compare/16534599-15533306/)|\n|nddemo-bumpmapping|[🔍 diff](https://fifo.ci/compare/16534610-15533317/)|\n|nddemo-lighting|[🔍 diff](https://fifo.ci/compare/16534631-15533338/)|\n|nes-vc|[🔍 diff](https://fifo.ci/compare/16534628-15533335/)|\n|nfsu-purplerect|[🔍 diff](https://fifo.ci/compare/16534574-15533281/)|\n|nfsu-reflections|[🔍 diff](https://fifo.ci/compare/16534564-15533271/)|\n|nhl-slap|[🔍 diff](https://fifo.ci/compare/16534659-15533366/)|\n|nintendo-channel|[🔍 diff](https://fifo.ci/compare/16534668-15533375/)|\n|nsmbw-coins|[🔍 diff](https://fifo.ci/compare/16534617-15533324/)|\n|nsmbw-intro|[🔍 diff](https://fifo.ci/compare/16534566-15533273/)|\n|pbr-sfx|[🔍 diff](https://fifo.ci/compare/16534677-15533384/)|\n|pm-hc-jp|[🔍 diff](https://fifo.ci/compare/16534612-15533319/)|\n|pw-black-bars|[🔍 diff](https://fifo.ci/compare/16534603-15533310/)|\n|quake-gx|[🔍 diff](https://fifo.ci/compare/16534683-15533390/)|\n|rs2-bumpmapping|[🔍 diff](https://fifo.ci/compare/16534641-15533348/)|\n|rs2-glass|[🔍 diff](https://fifo.ci/compare/16534592-15533299/)|\n|rs2-skybox|[🔍 diff](https://fifo.ci/compare/16534609-15533316/)|\n|rs2-zfreeze|[🔍 diff](https://fifo.ci/compare/16534575-15533282/)|\n|rs3-bumpmapping|[🔍 diff](https://fifo.ci/compare/16534642-15533349/)|\n|rs3-skybox2|[🔍 diff](https://fifo.ci/compare/16534654-15533361/)|\n|sadx-ui|[🔍 diff](https://fifo.ci/compare/16534594-15533301/)|\n|sf-assault-flashing|[🔍 diff](https://fifo.ci/compare/16534563-15533270/)|\n|sfa-shadows|[🔍 diff](https://fifo.ci/compare/16534638-15533345/)|\n|shadow-eyes|[🔍 diff](https://fifo.ci/compare/16534669-15533376/)|\n|simpsons-game|[🔍 diff](https://fifo.ci/compare/16534640-15533347/)|\n|smb-mirror|[🔍 diff](https://fifo.ci/compare/16534662-15533369/)|\n|smg-marioeyes|[🔍 diff](https://fifo.ci/compare/16534576-15533283/)|\n|smg-mmg|[🔍 diff](https://fifo.ci/compare/16534672-15533379/)|\n|smg-roar|[🔍 diff](https://fifo.ci/compare/16534675-15533382/)|\n|smg2-fog|[🔍 diff](https://fifo.ci/compare/16534583-15533290/)|\n|sms-bubbles|[🔍 diff](https://fifo.ci/compare/16534562-15533269/)|\n|sms-coconut-drinks|[🔍 diff](https://fifo.ci/compare/16534686-15533393/)|\n|sms-gc|[🔍 diff](https://fifo.ci/compare/16534614-15533321/)|\n|sms-water|[🔍 diff](https://fifo.ci/compare/16534645-15533352/)|\n|soa-black|[🔍 diff](https://fifo.ci/compare/16534591-15533298/)|\n|sonic-riders-blur|[🔍 diff](https://fifo.ci/compare/16534647-15533354/)|\n|sonic-riders-zg-4p|[🔍 diff](https://fifo.ci/compare/16534674-15533381/)|\n|soniccolors-mm|[🔍 diff](https://fifo.ci/compare/16534616-15533323/)|\n|sonicriderszg-gb|[🔍 diff](https://fifo.ci/compare/16534615-15533322/)|\n|spider-man-inverted-depth|[🔍 diff](https://fifo.ci/compare/16534689-15533396/)|\n|spyro-bloom|[🔍 diff](https://fifo.ci/compare/16534611-15533318/)|\n|spyro-depth|[🔍 diff](https://fifo.ci/compare/16534632-15533339/)|\n|ss-map|[🔍 diff](https://fifo.ci/compare/16534618-15533325/)|\n|ssbb-mod-lloyd|[🔍 diff](https://fifo.ci/compare/16534633-15533340/)|\n|ssbm-pointsize|[🔍 diff](https://fifo.ci/compare/16534581-15533288/)|\n|super-sluggers-white-out|[🔍 diff](https://fifo.ci/compare/16534608-15533315/)|\n|sw3-dt|[🔍 diff](https://fifo.ci/compare/16534637-15533344/)|\n|taiko-depth|[🔍 diff](https://fifo.ci/compare/16534630-15533337/)|\n|thps3-earlyz|[🔍 diff](https://fifo.ci/compare/16534623-15533330/)|\n|thps4-shadow|[🔍 diff](https://fifo.ci/compare/16534596-15533303/)|\n|tla-menu|[🔍 diff](https://fifo.ci/compare/16534626-15533333/)|\n|tos-invis-char|[🔍 diff](https://fifo.ci/compare/16534567-15533274/)|\n|tp-skin|[🔍 diff](https://fifo.ci/compare/16534667-15533374/)|\n|tsp3-pinkgrass|[🔍 diff](https://fifo.ci/compare/16534577-15533284/)|\n|vegas-party-depth|[🔍 diff](https://fifo.ci/compare/16534622-15533329/)|\n|viewitful-joe-distortion|[🔍 diff](https://fifo.ci/compare/16534666-15533373/)|\n|ww-song-of-passing|[🔍 diff](https://fifo.ci/compare/16534685-15533392/)|\n|xblade-bloom|[🔍 diff](https://fifo.ci/compare/16534684-15533391/)|\n|xenoblade-menu|[🔍 diff](https://fifo.ci/compare/16534557-15533264/)|\n|zbuff-test|[🔍 diff](https://fifo.ci/compare/16534693-15533400/)|\n|zelda1-vc|[🔍 diff](https://fifo.ci/compare/16534606-15533313/)|\n|ztp-grass|[🔍 diff](https://fifo.ci/compare/16534578-15533285/)|\n|zww-armos|[🔍 diff](https://fifo.ci/compare/16534558-15533265/)|\n|zww-water|[🔍 diff](https://fifo.ci/compare/16534586-15533293/)|\n|zww-waves|[🔍 diff](https://fifo.ci/compare/16534598-15533305/)|\n</details>\n<sub><sup>automated-fifoci-reporter</sup></sub>', 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14374', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14374/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14374/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14374/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14374', 'id': 3934943021, 'node_id': 'PR_kwDOALCn2M7DcVVQ', 'number': 14374, 'title': 'GameINI: Formatting updates to The Legend of Zelda The Wind Waker', 'user': {'login': 'Windsurf7', 'id': 70599421, 'node_id': 'MDQ6VXNlcjcwNTk5NDIx', 'avatar_url': 'https://avatars.githubusercontent.com/u/70599421?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/Windsurf7', 'html_url': 'https://github.com/Windsurf7', 'followers_url': 'https://api.github.com/users/Windsurf7/followers', 'following_url': 'https://api.github.com/users/Windsurf7/following{/other_user}', 'gists_url': 'https://api.github.com/users/Windsurf7/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/Windsurf7/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/Windsurf7/subscriptions', 'organizations_url': 'https://api.github.com/users/Windsurf7/orgs', 'repos_url': 'https://api.github.com/users/Windsurf7/repos', 'events_url': 'https://api.github.com/users/Windsurf7/events{/privacy}', 'received_events_url': 'https://api.github.com/users/Windsurf7/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [{'id': 1667502011, 'node_id': 'MDU6TGFiZWwxNjY3NTAyMDEx', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels/needs%20rebase', 'name': 'needs rebase', 'color': '053663', 'default': False, 'description': '', 'archived_at': None, 'archived_by': None}], 'state': 'open', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 5, 'created_at': '2026-02-13T01:59:34Z', 'updated_at': '2026-10-03T12:02:27Z', 'closed_at': None, 'assignee': None, 'author_association': 'CONTRIBUTOR', 'issue_field_values': [], 'type': None, 'active_lock_reason': None, 'draft': False, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14374', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14374', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14374.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14374.patch', 'merged_at': None}, 'body': 'This PR provides formatting updates to The Legend of Zelda: The Wind Waker.\r\n\r\nAll regions:\r\n* Formatting fixes.', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14374/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/14374/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5968964793', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14374#issuecomment-5968964793', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14374', 'id': 5968964793, 'node_id': 'IC_kwDOALCn2M8AAAABY8csuQ', 'user': {'login': 'dolphin-ci[bot]', 'id': 59266906, 'node_id': 'MDM6Qm90NTkyNjY5MDY=', 'avatar_url': 'https://avatars.githubusercontent.com/in/49947?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D', 'html_url': 'https://github.com/apps/dolphin-ci', 'followers_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/followers', 'following_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/orgs', 'repos_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/repos', 'events_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/received_events', 'type': 'Bot', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2026-10-03T12:02:27Z', 'updated_at': '2026-10-03T12:02:27Z', 'body': '[FifoCI](https://fifo.ci/about/) detected that this change impacts graphical rendering. Here are the [behavior differences](https://fifo.ci/version/c93135d647ad00d387628a8eef2cc2d49c9eedab/) detected by the system:\n\n<details>\n<summary>Detected differences</summary>\n\n||ogl-lin-mesa|\n|-|-|\n|DKCR-Char|[🔍 diff](https://fifo.ci/compare/16534613-15533320/)|\n|DKCR-fast-depth|[🔍 diff](https://fifo.ci/compare/16534634-15533341/)|\n|MaS-LOG-wiimote|[🔍 diff](https://fifo.ci/compare/16534651-15533358/)|\n|ab11-homebrew|[🔍 diff](https://fifo.ci/compare/16534639-15533346/)|\n|aeon-charge-attack|[🔍 diff](https://fifo.ci/compare/16534619-15533326/)|\n|bk-tev|[🔍 diff](https://fifo.ci/compare/16534661-15533368/)|\n|burnout2-vehicletextures|[🔍 diff](https://fifo.ci/compare/16534656-15533363/)|\n|chibi-robo-fastdepth|[🔍 diff](https://fifo.ci/compare/16534595-15533302/)|\n|chibi-robo-zfighting|[🔍 diff](https://fifo.ci/compare/16534561-15533268/)|\n|custom-brawl-char|[🔍 diff](https://fifo.ci/compare/16534621-15533328/)|\n|dbz-depth|[🔍 diff](https://fifo.ci/compare/16534593-15533300/)|\n|default-depth-range|[🔍 diff](https://fifo.ci/compare/16534688-15533395/)|\n|djfny-menu|[🔍 diff](https://fifo.ci/compare/16534597-15533304/)|\n|djhero2-blend|[🔍 diff](https://fifo.ci/compare/16534660-15533367/)|\n|ea-pink|[🔍 diff](https://fifo.ci/compare/16534673-15533380/)|\n|ea-vp6|[🔍 diff](https://fifo.ci/compare/16534579-15533286/)|\n|ed-updated|[🔍 diff](https://fifo.ci/compare/16534629-15533336/)|\n|et-vid|[🔍 diff](https://fifo.ci/compare/16534644-15533351/)|\n|f-zero-rain|[🔍 diff](https://fifo.ci/compare/16534627-15533334/)|\n|fifa-street|[🔍 diff](https://fifo.ci/compare/16534590-15533297/)|\n|find-mii|[🔍 diff](https://fifo.ci/compare/16534601-15533308/)|\n|fishing-resort-map|[🔍 diff](https://fifo.ci/compare/16534649-15533356/)|\n|fog-adj|[🔍 diff](https://fifo.ci/compare/16534568-15533275/)|\n|fortune-street|[🔍 diff](https://fifo.ci/compare/16534580-15533287/)|\n|fortune-street-fog|[🔍 diff](https://fifo.ci/compare/16534560-15533267/)|\n|fortune-street-white-box|[🔍 diff](https://fifo.ci/compare/16534582-15533289/)|\n|fsa-layers|[🔍 diff](https://fifo.ci/compare/16534605-15533312/)|\n|goldeneye-depth|[🔍 diff](https://fifo.ci/compare/16534624-15533331/)|\n|harvest-moon-mm-shadows|[🔍 diff](https://fifo.ci/compare/16534696-15533403/)|\n|hb-discgolf|[🔍 diff](https://fifo.ci/compare/16534646-15533353/)|\n|hotwheels-shadows|[🔍 diff](https://fifo.ci/compare/16534695-15533402/)|\n|inverted-depth-range|[🔍 diff](https://fifo.ci/compare/16534690-15533397/)|\n|jb-shadow|[🔍 diff](https://fifo.ci/compare/16534676-15533383/)|\n|jd2-fmv|[🔍 diff](https://fifo.ci/compare/16534664-15533371/)|\n|jj-awae-mirrored|[🔍 diff](https://fifo.ci/compare/16534655-15533362/)|\n|kirby-logicop|[🔍 diff](https://fifo.ci/compare/16534682-15533389/)|\n|kirby-shadows|[🔍 diff](https://fifo.ci/compare/16534569-15533276/)|\n|last-story-shadows|[🔍 diff](https://fifo.ci/compare/16534653-15533360/)|\n|lego-star-wars-crane-shadow|[🔍 diff](https://fifo.ci/compare/16534636-15533343/)|\n|lesson08|[🔍 diff](https://fifo.ci/compare/16534643-15533350/)|\n|line-width-test|[🔍 diff](https://fifo.ci/compare/16534565-15533272/)|\n|lit-cached-normal|[🔍 diff](https://fifo.ci/compare/16534692-15533399/)|\n|lm-mario-portrait|[🔍 diff](https://fifo.ci/compare/16534665-15533372/)|\n|luigi-shadows|[🔍 diff](https://fifo.ci/compare/16534570-15533277/)|\n|major-minor|[🔍 diff](https://fifo.ci/compare/16534670-15533377/)|\n|mario-baseball-shadows|[🔍 diff](https://fifo.ci/compare/16534648-15533355/)|\n|mario-golf-oob|[🔍 diff](https://fifo.ci/compare/16534679-15533386/)|\n|mario-golf-vertex-expansion|[🔍 diff](https://fifo.ci/compare/16534694-15533401/)|\n|mario-sluggers-bar|[🔍 diff](https://fifo.ci/compare/16534585-15533292/)|\n|mario-tennis-menu|[🔍 diff](https://fifo.ci/compare/16534584-15533291/)|\n|megaman-heat|[🔍 diff](https://fifo.ci/compare/16534589-15533296/)|\n|melee-depth|[🔍 diff](https://fifo.ci/compare/16534625-15533332/)|\n|melee-lighting|[🔍 diff](https://fifo.ci/compare/16534559-15533266/)|\n|metroid-visor|[🔍 diff](https://fifo.ci/compare/16534635-15533342/)|\n|mii-channel|[🔍 diff](https://fifo.ci/compare/16534600-15533307/)|\n|milotic-texture|[🔍 diff](https://fifo.ci/compare/16534604-15533311/)|\n|mini-ninjas|[🔍 diff](https://fifo.ci/compare/16534571-15533278/)|\n|mkdd-babypark|[🔍 diff](https://fifo.ci/compare/16534652-15533359/)|\n|mkdd-efb|[🔍 diff](https://fifo.ci/compare/16534572-15533279/)|\n|mkw-bridge|[🔍 diff](https://fifo.ci/compare/16534663-15533370/)|\n|mkw-flags|[🔍 diff](https://fifo.ci/compare/16534681-15533388/)|\n|mkwii-bluebox|[🔍 diff](https://fifo.ci/compare/16534573-15533280/)|\n|mmx-light|[🔍 diff](https://fifo.ci/compare/16534657-15533364/)|\n|monkeyball-fuse|[🔍 diff](https://fifo.ci/compare/16534588-15533295/)|\n|mp2-scanner|[🔍 diff](https://fifo.ci/compare/16534658-15533365/)|\n|mp3-bloom|[🔍 diff](https://fifo.ci/compare/16534650-15533357/)|\n|mp4-vertexcache|[🔍 diff](https://fifo.ci/compare/16534680-15533387/)|\n|mp7-text|[🔍 diff](https://fifo.ci/compare/16534602-15533309/)|\n|mp8-widescreen|[🔍 diff](https://fifo.ci/compare/16534678-15533385/)|\n|mtennis-zfreeze|[🔍 diff](https://fifo.ci/compare/16534587-15533294/)|\n|my-word-coach|[🔍 diff](https://fifo.ci/compare/16534599-15533306/)|\n|nddemo-bumpmapping|[🔍 diff](https://fifo.ci/compare/16534610-15533317/)|\n|nddemo-lighting|[🔍 diff](https://fifo.ci/compare/16534631-15533338/)|\n|nes-vc|[🔍 diff](https://fifo.ci/compare/16534628-15533335/)|\n|nfsu-purplerect|[🔍 diff](https://fifo.ci/compare/16534574-15533281/)|\n|nfsu-reflections|[🔍 diff](https://fifo.ci/compare/16534564-15533271/)|\n|nhl-slap|[🔍 diff](https://fifo.ci/compare/16534659-15533366/)|\n|nintendo-channel|[🔍 diff](https://fifo.ci/compare/16534668-15533375/)|\n|nsmbw-coins|[🔍 diff](https://fifo.ci/compare/16534617-15533324/)|\n|nsmbw-intro|[🔍 diff](https://fifo.ci/compare/16534566-15533273/)|\n|pbr-sfx|[🔍 diff](https://fifo.ci/compare/16534677-15533384/)|\n|pm-hc-jp|[🔍 diff](https://fifo.ci/compare/16534612-15533319/)|\n|pw-black-bars|[🔍 diff](https://fifo.ci/compare/16534603-15533310/)|\n|quake-gx|[🔍 diff](https://fifo.ci/compare/16534683-15533390/)|\n|rs2-bumpmapping|[🔍 diff](https://fifo.ci/compare/16534641-15533348/)|\n|rs2-glass|[🔍 diff](https://fifo.ci/compare/16534592-15533299/)|\n|rs2-skybox|[🔍 diff](https://fifo.ci/compare/16534609-15533316/)|\n|rs2-zfreeze|[🔍 diff](https://fifo.ci/compare/16534575-15533282/)|\n|rs3-bumpmapping|[🔍 diff](https://fifo.ci/compare/16534642-15533349/)|\n|rs3-skybox2|[🔍 diff](https://fifo.ci/compare/16534654-15533361/)|\n|sadx-ui|[🔍 diff](https://fifo.ci/compare/16534594-15533301/)|\n|sf-assault-flashing|[🔍 diff](https://fifo.ci/compare/16534563-15533270/)|\n|sfa-shadows|[🔍 diff](https://fifo.ci/compare/16534638-15533345/)|\n|shadow-eyes|[🔍 diff](https://fifo.ci/compare/16534669-15533376/)|\n|simpsons-game|[🔍 diff](https://fifo.ci/compare/16534640-15533347/)|\n|smb-mirror|[🔍 diff](https://fifo.ci/compare/16534662-15533369/)|\n|smg-marioeyes|[🔍 diff](https://fifo.ci/compare/16534576-15533283/)|\n|smg-mmg|[🔍 diff](https://fifo.ci/compare/16534672-15533379/)|\n|smg-roar|[🔍 diff](https://fifo.ci/compare/16534675-15533382/)|\n|smg2-fog|[🔍 diff](https://fifo.ci/compare/16534583-15533290/)|\n|sms-bubbles|[🔍 diff](https://fifo.ci/compare/16534562-15533269/)|\n|sms-coconut-drinks|[🔍 diff](https://fifo.ci/compare/16534686-15533393/)|\n|sms-gc|[🔍 diff](https://fifo.ci/compare/16534614-15533321/)|\n|sms-water|[🔍 diff](https://fifo.ci/compare/16534645-15533352/)|\n|soa-black|[🔍 diff](https://fifo.ci/compare/16534591-15533298/)|\n|sonic-riders-blur|[🔍 diff](https://fifo.ci/compare/16534647-15533354/)|\n|sonic-riders-zg-4p|[🔍 diff](https://fifo.ci/compare/16534674-15533381/)|\n|soniccolors-mm|[🔍 diff](https://fifo.ci/compare/16534616-15533323/)|\n|sonicriderszg-gb|[🔍 diff](https://fifo.ci/compare/16534615-15533322/)|\n|spider-man-inverted-depth|[🔍 diff](https://fifo.ci/compare/16534689-15533396/)|\n|spyro-bloom|[🔍 diff](https://fifo.ci/compare/16534611-15533318/)|\n|spyro-depth|[🔍 diff](https://fifo.ci/compare/16534632-15533339/)|\n|ss-map|[🔍 diff](https://fifo.ci/compare/16534618-15533325/)|\n|ssbb-mod-lloyd|[🔍 diff](https://fifo.ci/compare/16534633-15533340/)|\n|ssbm-pointsize|[🔍 diff](https://fifo.ci/compare/16534581-15533288/)|\n|super-sluggers-white-out|[🔍 diff](https://fifo.ci/compare/16534608-15533315/)|\n|sw3-dt|[🔍 diff](https://fifo.ci/compare/16534637-15533344/)|\n|taiko-depth|[🔍 diff](https://fifo.ci/compare/16534630-15533337/)|\n|thps3-earlyz|[🔍 diff](https://fifo.ci/compare/16534623-15533330/)|\n|thps4-shadow|[🔍 diff](https://fifo.ci/compare/16534596-15533303/)|\n|tla-menu|[🔍 diff](https://fifo.ci/compare/16534626-15533333/)|\n|tos-invis-char|[🔍 diff](https://fifo.ci/compare/16534567-15533274/)|\n|tp-skin|[🔍 diff](https://fifo.ci/compare/16534667-15533374/)|\n|tsp3-pinkgrass|[🔍 diff](https://fifo.ci/compare/16534577-15533284/)|\n|vegas-party-depth|[🔍 diff](https://fifo.ci/compare/16534622-15533329/)|\n|viewitful-joe-distortion|[🔍 diff](https://fifo.ci/compare/16534666-15533373/)|\n|ww-song-of-passing|[🔍 diff](https://fifo.ci/compare/16534685-15533392/)|\n|xblade-bloom|[🔍 diff](https://fifo.ci/compare/16534684-15533391/)|\n|xenoblade-menu|[🔍 diff](https://fifo.ci/compare/16534557-15533264/)|\n|zbuff-test|[🔍 diff](https://fifo.ci/compare/16534693-15533400/)|\n|zelda1-vc|[🔍 diff](https://fifo.ci/compare/16534606-15533313/)|\n|ztp-grass|[🔍 diff](https://fifo.ci/compare/16534578-15533285/)|\n|zww-armos|[🔍 diff](https://fifo.ci/compare/16534558-15533265/)|\n|zww-water|[🔍 diff](https://fifo.ci/compare/16534586-15533293/)|\n|zww-waves|[🔍 diff](https://fifo.ci/compare/16534598-15533305/)|\n</details>\n<sub><sup>automated-fifoci-reporter</sup></sub>', 'author_association': 'NONE', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5968964793/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'performed_via_github_app': {'id': 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']}, '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-10-03T10:25:15Z', 'pushed_at': '2026-10-03T10:25:06Z', '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': 561269, 'stargazers_count': 15603, 'watchers_count': 15603, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3283, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 474, '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': 3283, 'open_issues': 474, 'watchers': 15603, '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': 'dolphin-ci[bot]', 'id': 59266906, 'node_id': 'MDM6Qm90NTkyNjY5MDY=', 'avatar_url': 'https://avatars.githubusercontent.com/in/49947?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D', 'html_url': 'https://github.com/apps/dolphin-ci', 'followers_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/followers', 'following_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/orgs', 'repos_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/repos', 'events_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/received_events', 'type': 'Bot', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'gh_issue_comment'}
2026-10-03T10:56:13.360939 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'tom-pratt', 'action': 'created', 'id': 14889, 'title': 'Request ACCESS_LOCAL_NETWORK permission on android 17 and up', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14889#issuecomment-5968485740', 'safe_author': True, 'body': "I'm not sure what's best. It's going to be a bit awkward either way since we don't know for sure if they're using local or external.\r\n\r\nId probably keep it because that way people don't need to actively read and click the warning. Dismissing it one time for people who understood the warning and still want to deny the permission feels safer than potentially having people trying to use local connection but who didn't read or understand the warning. \r\n\r\nFortunately the WiFi direct permission and local network permission belong to the same group so I think granting one automatically grants the other ", 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14889', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14889/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14889/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14889/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14889', 'id': 5597190303, 'node_id': 'PR_kwDOALCn2M8AAAABFSLMNA', 'number': 14889, 'title': 'Request ACCESS_LOCAL_NETWORK permission on android 17 and up', 'user': {'login': 'tom-pratt', 'id': 10612949, 'node_id': 'MDQ6VXNlcjEwNjEyOTQ5', 'avatar_url': 'https://avatars.githubusercontent.com/u/10612949?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/tom-pratt', 'html_url': 'https://github.com/tom-pratt', 'followers_url': 'https://api.github.com/users/tom-pratt/followers', 'following_url': 'https://api.github.com/users/tom-pratt/following{/other_user}', 'gists_url': 'https://api.github.com/users/tom-pratt/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/tom-pratt/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/tom-pratt/subscriptions', 'organizations_url': 'https://api.github.com/users/tom-pratt/orgs', 'repos_url': 'https://api.github.com/users/tom-pratt/repos', 'events_url': 'https://api.github.com/users/tom-pratt/events{/privacy}', 'received_events_url': 'https://api.github.com/users/tom-pratt/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 3, 'created_at': '2026-09-26T20:46:20Z', 'updated_at': '2026-10-03T10:56:11Z', 'closed_at': None, 'assignee': None, 'author_association': 'CONTRIBUTOR', 'issue_field_values': [], 'type': None, 'active_lock_reason': None, 'draft': False, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14889', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14889', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14889.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14889.patch', 'merged_at': None}, 'body': 'Show the permission dialog the first time host or connect is clicked.\r\n\r\nWhile the permission is not granted, show an info box at the bottom of the netplay setup screen explaining the need for the permission with a button to grant permission. Launch the app settings menu where the permission can be granted manually if the user has denied twice previously preventing us from showing the permission dialog.\r\n\r\nWorkarounds using the shouldShowRationale flag and detecting if the dialog showed via onPause to account for well known limitations in the android permissions API.\r\n\r\n<img width="480" height="1070" alt="emulator-20260926-224604" src="https://github.com/user-attachments/assets/6418aae1-27d0-48f7-9c20-e9f9835522c4" />\r\n', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14889/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/14889/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5968485740', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14889#issuecomment-5968485740', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14889', 'id': 5968485740, 'node_id': 'IC_kwDOALCn2M8AAAABY7_dbA', 'user': {'login': 'tom-pratt', 'id': 10612949, 'node_id': 'MDQ6VXNlcjEwNjEyOTQ5', 'avatar_url': 'https://avatars.githubusercontent.com/u/10612949?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/tom-pratt', 'html_url': 'https://github.com/tom-pratt', 'followers_url': 'https://api.github.com/users/tom-pratt/followers', 'following_url': 'https://api.github.com/users/tom-pratt/following{/other_user}', 'gists_url': 'https://api.github.com/users/tom-pratt/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/tom-pratt/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/tom-pratt/subscriptions', 'organizations_url': 'https://api.github.com/users/tom-pratt/orgs', 'repos_url': 'https://api.github.com/users/tom-pratt/repos', 'events_url': 'https://api.github.com/users/tom-pratt/events{/privacy}', 'received_events_url': 'https://api.github.com/users/tom-pratt/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2026-10-03T10:56:11Z', 'updated_at': '2026-10-03T10:56:11Z', 'body': "I'm not sure what's best. It's going to be a bit awkward either way since we don't know for sure if they're using local or external.\r\n\r\nId probably keep it because that way people don't need to actively read and click the warning. Dismissing it one time for people who understood the warning and still want to deny the permission feels safer than potentially having people trying to use local connection but who didn't read or understand the warning. \r\n\r\nFortunately the WiFi direct permission and local network permission belong to the same group so I think granting one automatically grants the other ", 'author_association': 'MEMBER', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5968485740/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-10-03T10:25:15Z', 'pushed_at': '2026-10-03T10:25:06Z', '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': 561333, 'stargazers_count': 15603, 'watchers_count': 15603, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3282, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 474, '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': 3282, 'open_issues': 474, 'watchers': 15603, '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': 'tom-pratt', 'id': 10612949, 'node_id': 'MDQ6VXNlcjEwNjEyOTQ5', 'avatar_url': 'https://avatars.githubusercontent.com/u/10612949?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/tom-pratt', 'html_url': 'https://github.com/tom-pratt', 'followers_url': 'https://api.github.com/users/tom-pratt/followers', 'following_url': 'https://api.github.com/users/tom-pratt/following{/other_user}', 'gists_url': 'https://api.github.com/users/tom-pratt/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/tom-pratt/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/tom-pratt/subscriptions', 'organizations_url': 'https://api.github.com/users/tom-pratt/orgs', 'repos_url': 'https://api.github.com/users/tom-pratt/repos', 'events_url': 'https://api.github.com/users/tom-pratt/events{/privacy}', 'received_events_url': 'https://api.github.com/users/tom-pratt/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'gh_issue_comment'}
2026-10-03T08:53:32.566004 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'nyanpasu64', 'action': 'created', 'id': 12038, 'title': 'Fix increased audio latency and increased pitch after fast-forwarding ends', 'url': 'https://github.com/dolphin-emu/dolphin/pull/12038#issuecomment-5967373048', 'safe_author': False, 'body': "it does seem i don't get pitch shifts after ffw. annoyingly even on my vrr display I'm getting heavy intermittent tearing, exclusive/borderless fullscreen failures, the like. though it's not connected to this bug.", 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/12038', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/12038/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/12038/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/12038/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/12038', 'id': 1795262788, 'node_id': 'PR_kwDOALCn2M5VAgtL', 'number': 12038, 'title': 'Fix increased audio latency and increased pitch after fast-forwarding ends', 'user': {'login': 'nyanpasu64', 'id': 913957, 'node_id': 'MDQ6VXNlcjkxMzk1Nw==', 'avatar_url': 'https://avatars.githubusercontent.com/u/913957?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/nyanpasu64', 'html_url': 'https://github.com/nyanpasu64', 'followers_url': 'https://api.github.com/users/nyanpasu64/followers', 'following_url': 'https://api.github.com/users/nyanpasu64/following{/other_user}', 'gists_url': 'https://api.github.com/users/nyanpasu64/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/nyanpasu64/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/nyanpasu64/subscriptions', 'organizations_url': 'https://api.github.com/users/nyanpasu64/orgs', 'repos_url': 'https://api.github.com/users/nyanpasu64/repos', 'events_url': 'https://api.github.com/users/nyanpasu64/events{/privacy}', 'received_events_url': 'https://api.github.com/users/nyanpasu64/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'closed', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 8, 'created_at': '2023-07-09T06:28:23Z', 'updated_at': '2026-10-03T08:53:30Z', 'closed_at': '2026-10-03T08:53:30Z', 'assignee': None, 'author_association': 'CONTRIBUTOR', 'issue_field_values': [], 'type': None, 'active_lock_reason': None, 'draft': False, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/12038', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/12038', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/12038.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/12038.patch', 'merged_at': None}, 'body': 'When fast-forwarding emulation, the CPU thread fills the audio buffers with sound faster (`Mixer::MixerFifo::PushSamples()`) than sound gets played back (`Mixer::MixerFifo::Mix()`). When the buffer fills up `PushSamples()` drops incoming samples until enough samples get read to make room for pushing a new buffer.\r\n\r\nWhen fast-forwarding finishes, the excessive buffer contents were never cleared. This caused audio to remain playing at an elevated pitch for 10 seconds (assuming a 48 kHz system audio rate), slowly dropping to normal over ~10 more seconds.\r\n\r\nIn this PR, I changed `Mixer::MixerFifo::Mix()` to detect when fast-forwarding ends, and reset the read pointer to (`low_watermark` = target latency) (audio frames = samples not * channels) before the write pointer, and reset the current and smoothed latency values (used to calculate resampling ratio) to match. This causes a pop in the audio, but it\'s fine because during fast-forward the audio is already garbled. (The modified code should never be run when audio stretching is enabled and `consider_framelimit=false`.)\r\n\r\nI also had to change `CoreTimingManager::Throttle()` to properly throttle emulation immediately when you released the fast-forward key, so it wouldn\'t generate more audio after the mixer jumped ahead to catch up. Previously `m_throttle_deadline` was not being updated during fast-forward, causing the emulator to try to render as many frames as possible in zero seconds. And when you released fast-forward, the emulator would continue to fast-forward for an emulated time equal to the physical time you held the key, waiting for `m_throttle_deadline` to catch up to the physical time. This was only limited when the "System can not to keep up with timings!" fallback would keep the target timebase 100ms before the current time, so the emulator would never fast-forward more than 100ms emulated time after you released Tab.\r\n\r\nAfter fast-forwarding finishes, audio resumes playing at the perfect latency (offset is at ±single digits as opposed to 200 previously). When combined with #12035, with vsync enabled, audio may drop in pitch for 10 seconds or so after fast-forward ends, because emulation is being slowed down (generating less audio) because it\'s generating frames too soon relative to vsync.\r\n\r\nTested on Linux X11.\r\n\r\n## Concerns\r\n\r\n- [ ] This does not fix audio going flat when the game starts, or going sharp if the game pauses briefly and afterwards CoreTiming fast-forwards to compensate.\r\n\t- It may be a good idea to play silence until the buffer fills up to our latency target (then reset the resampling ratio to default), or reset buffer size after discontinuities are resolved and CoreTiming stabilizes. I\'d have to perform further testing before I come up with any concrete ideas on how to better improve the situation (and I personally think it\'s a bad idea for CoreTiming to fast-forward games after a slowdown, but that\'s another topic altogether).\r\n\t- IMO that requires heuristics to recognize and process reliably, and may create a second pop if it happens in gameplay rather than startup. It\'s worth special-casing fast-forward (and merging this PR) because it\'s more common than game startup and can be solved reliably without heuristics, regardless of whether we make further changes or not because this is good enough. (Also the other commits in the PR are good changes even if we later revert the fast-forward fix.)\r\n- [ ] Should I keep `ASSERT(numLeft == static_cast<float>(((indexW - indexR) & INDEX_MASK) / 2))`?\r\n- [x] Should I squash commits?\r\n- [x] I only resynchronize `m_dma_mixer` (the main game audio synthesized in real time) when fast-forward ends. Ideally you\'d resynchronize all of them to gameplay.\r\n\r\nIdeally all mixers would share a locked resampling offset to prevent them from going out of sync with each other, which could be a problem in DTK-based games with sound effects or user inputs synchronized with audio. But in practice, since the mixers are generated and consumed in sync, I\'d hope it\'s unlikely for them to desynchronize in normal gameplay (and this PR prevents them from desyncing after fast-forwarding). And since the mixers inherently run at different rates and have different durations (in real time), I don\'t think there\'s a good way to keep them synced once they buffers overflow or underflow.\r\n\r\n- [x] I did not remove my debug logging and "remove debug logging" commits from this PR. They are useful during development to see whether audio is being pitch-shifted or not (without having to second-guess subtle changes in your pitch perception), but pollute the Git history. Should I do that before it\'s merged?\r\n- Given a sufficiently brief fast-forward, it\'s theoretically possible for `Mixer::PushSamples` to miss `Core::GetIsThrottlerTempDisabled() = true` even though `CoreTiming` observed it. This is unlikely to occur in practice, since `AudioCommon::SendAIBuffer()` is supposed to execute at 4khz (0.25ms) while `HotkeyScheduler::Run()` updates hotkey state every 5ms.\r\n\t- [ ] Do we need a fast-forward generation counter to check if we\'ve fast-forwarded at all since the last read? Or is this failure mode too unlikely/unimportant to bother complicating the code?\r\n- The existing code updates `s_is_throttler_temp_disabled` on HotkeyScheduler but reads it on the CPU and Video threads. **This is a data race.** My code adds a new read of this flag on the CPU thread.\r\n\t- [x] Perhaps it should be a relaxed atomic? At which point we can **read `s_is_throttler_temp_disabled` directly in `Mixer::MixerFifo::Mix()`, avoiding the `m_resyncReader` song and dance altogether?** This also has the positive side effect of making all active mixers resynchronize themselves automatically, whereas right now I only tell `m_dma_mixer` to `EndFastForward()`.\r\n\t- Though this will reset the buffer reader\'s latency earlier on, before `Mixer::PushSamples` observes the change. I\'ll have to check whether this resets the buffer before `PushSamples()` finishes running too quickly (EDIT: it\'s ok). (Though even my current code doesn\'t wait for `CoreTimingManager` to see the change, and it still works well in practice.)\r\n\t- Screw it, move the check to `Mixer::Mix` so we only read the value once, so all mixers either reset together simultaneously or don\'t reset.\r\n- (outdated) I rolled my own atomics instead of using `Common::Flag` because I\'m unfamiliar with using `Flag`, and I think my code is more efficient than the current implementation. If necessary I could replace it with the existing flag code (it\'ll probably not be noticeably slower, considering we don\'t resample audio very often).\r\n\t- [x] Really in this case, we don\'t need memory orderings at all since we\'re just using the flags to trigger events at the right time, not for memory safety or logical correctness.\r\n\r\n## Speeding up atomic flags\r\n\r\nI\'m actually not sure if you can change `Flag` while keeping it 100% compatible with the current behavior (unlimited number of threads, sequential consistency, etc.). I have some ideas on how it can be more optimized around common use cases (two threads only, so I\'m not sure it can safely replace all use cases). It would be interesting to benchmark to see if any change in FPS is detectable, but I don\'t know how to benchmark Dolphin.\r\n\r\n- In common cases (where you set an atomic flag after finishing a task, and read it to check if the task is complete, such as mutex/semaphore-like patterns), you only need acquire and release orderings, not sequential consistency (which is slower). I cannot make a blanket statement that replacing all current uses of `Flag` with acquire/release orderings is correct.\r\n- In `TestAndClear/Set()`, you can probably perform an acquire read, and only [`compare_exchange_strong`](https://en.cppreference.com/w/cpp/atomic/atomic/compare_exchange) (and return whether the value was flipped) if the value is different from the target.\r\n- If you only need an acquire barrier if the value was changed, you can replace the initial acquire read with a relaxed read.\r\n- If one thread runs `TestAndClear()`, and all other threads only set the value to `true`, you can replace `compare_exchange_strong` with an acquire fence followed by a write (most likely a relaxed write, you can also use release, though I think other threads generally don\'t care what you were doing *before* you tested/set the flag).\r\n\t- Note that this can cause multiple threads calling `TestAndClear()` and perhaps `Clear()` to both erroneously indicate they cleared the flag.', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/12038/reactions', 'total_count': 2, '+1': 1, '-1': 0, 'laugh': 0, 'hooray': 1, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'timeline_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/12038/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5967373048', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/12038#issuecomment-5967373048', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/12038', 'id': 5967373048, 'node_id': 'IC_kwDOALCn2M8AAAABY67i-A', 'user': {'login': 'nyanpasu64', 'id': 913957, 'node_id': 'MDQ6VXNlcjkxMzk1Nw==', 'avatar_url': 'https://avatars.githubusercontent.com/u/913957?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/nyanpasu64', 'html_url': 'https://github.com/nyanpasu64', 'followers_url': 'https://api.github.com/users/nyanpasu64/followers', 'following_url': 'https://api.github.com/users/nyanpasu64/following{/other_user}', 'gists_url': 'https://api.github.com/users/nyanpasu64/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/nyanpasu64/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/nyanpasu64/subscriptions', 'organizations_url': 'https://api.github.com/users/nyanpasu64/orgs', 'repos_url': 'https://api.github.com/users/nyanpasu64/repos', 'events_url': 'https://api.github.com/users/nyanpasu64/events{/privacy}', 'received_events_url': 'https://api.github.com/users/nyanpasu64/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2026-10-03T08:53:30Z', 'updated_at': '2026-10-03T08:53:30Z', 'body': "it does seem i don't get pitch shifts after ffw. annoyingly even on my vrr display I'm getting heavy intermittent tearing, exclusive/borderless fullscreen failures, the like. though it's not connected to this bug.", 'author_association': 'CONTRIBUTOR', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5967373048/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-10-03T07:53:25Z', 'pushed_at': '2026-10-03T07:53:13Z', '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': 561324, 'stargazers_count': 15603, 'watchers_count': 15603, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3282, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 476, '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': 3282, 'open_issues': 476, 'watchers': 15603, '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': 'nyanpasu64', 'id': 913957, 'node_id': 'MDQ6VXNlcjkxMzk1Nw==', 'avatar_url': 'https://avatars.githubusercontent.com/u/913957?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/nyanpasu64', 'html_url': 'https://github.com/nyanpasu64', 'followers_url': 'https://api.github.com/users/nyanpasu64/followers', 'following_url': 'https://api.github.com/users/nyanpasu64/following{/other_user}', 'gists_url': 'https://api.github.com/users/nyanpasu64/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/nyanpasu64/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/nyanpasu64/subscriptions', 'organizations_url': 'https://api.github.com/users/nyanpasu64/orgs', 'repos_url': 'https://api.github.com/users/nyanpasu64/repos', 'events_url': 'https://api.github.com/users/nyanpasu64/events{/privacy}', 'received_events_url': 'https://api.github.com/users/nyanpasu64/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'gh_issue_comment'}
2026-10-03T08:16:09.157113 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'created', 'id': 12776, 'title': 'Remove min_clock_per_sleep to improve VPS consistency ', 'url': 'https://github.com/dolphin-emu/dolphin/pull/12776#issuecomment-5967095142', 'safe_author': True, 'body': 'This is a duplicate of #11814 and is no longer necessary because of larger `Throttle` rewrites. Thanks.', 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/12776', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/12776/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/12776/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/12776/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/12776', 'id': 2293734240, 'node_id': 'PR_kwDOALCn2M5vTwkZ', 'number': 12776, 'title': 'Remove min_clock_per_sleep to improve VPS consistency ', 'user': {'login': 'Sam-Belliveau', 'id': 28713194, 'node_id': 'MDQ6VXNlcjI4NzEzMTk0', 'avatar_url': 'https://avatars.githubusercontent.com/u/28713194?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/Sam-Belliveau', 'html_url': 'https://github.com/Sam-Belliveau', 'followers_url': 'https://api.github.com/users/Sam-Belliveau/followers', 'following_url': 'https://api.github.com/users/Sam-Belliveau/following{/other_user}', 'gists_url': 'https://api.github.com/users/Sam-Belliveau/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/Sam-Belliveau/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/Sam-Belliveau/subscriptions', 'organizations_url': 'https://api.github.com/users/Sam-Belliveau/orgs', 'repos_url': 'https://api.github.com/users/Sam-Belliveau/repos', 'events_url': 'https://api.github.com/users/Sam-Belliveau/events{/privacy}', 'received_events_url': 'https://api.github.com/users/Sam-Belliveau/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'closed', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 2, 'created_at': '2024-05-13T19:56:22Z', 'updated_at': '2026-10-03T08:16:06Z', 'closed_at': '2026-10-03T08:16:06Z', 'assignee': None, 'author_association': 'CONTRIBUTOR', 'issue_field_values': [], 'type': None, 'active_lock_reason': None, 'draft': False, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/12776', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/12776', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/12776.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/12776.patch', 'merged_at': None}, 'body': 'I think this one needs to be discussed before merging.\r\n\r\nBefore (std: 0.29ms):\r\n\r\n<img width="356" alt="image" src="https://github.com/dolphin-emu/dolphin/assets/28713194/07d45f4f-7d26-4472-894b-e5e143934ad1">\r\n\r\nAfter (std: 0.0ms):\r\n<img width="354" alt="image" src="https://github.com/dolphin-emu/dolphin/assets/28713194/cd03edf7-d4fb-4df8-a6e9-ce5e4674a40c">\r\n\r\nonly downside is it makes Max% appear to be too high, but this has more to do with Max% being unable to account for the GPU limitations and only counting the work done by the CPU.\r\n\r\nI think we originally decided against this because of the fear that too many sleep calls would hurt performance, but given that this is only called to throttle performance, it shouldn\'t be able to slow things down unless ', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/12776/reactions', 'total_count': 1, '+1': 1, '-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/12776/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5967095142', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/12776#issuecomment-5967095142', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/12776', 'id': 5967095142, 'node_id': 'IC_kwDOALCn2M8AAAABY6qlZg', '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-10-03T08:16:06Z', 'updated_at': '2026-10-03T08:16:06Z', 'body': 'This is a duplicate of #11814 and is no longer necessary because of larger `Throttle` rewrites. Thanks.', 'author_association': 'MEMBER', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5967095142/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-10-03T07:53:25Z', 'pushed_at': '2026-10-03T07:53:13Z', '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': 561310, 'stargazers_count': 15603, 'watchers_count': 15603, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3282, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 477, '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': 3282, 'open_issues': 477, 'watchers': 15603, '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-10-03T08:13:40.019375 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'created', 'id': 12987, 'title': 'Apply solution-wide refactorings', 'url': 'https://github.com/dolphin-emu/dolphin/pull/12987#issuecomment-5967078526', 'safe_author': True, 'body': "This PR has aged, needs a rebase, and is too large regardless, so I'm going to close it for now. Smaller PRs are good. Thanks. :)", 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/12987', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/12987/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/12987/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/12987/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/12987', 'id': 2458931439, 'node_id': 'PR_kwDOALCn2M54AFVG', 'number': 12987, 'title': 'Apply solution-wide refactorings', 'user': {'login': 'tygyh', 'id': 32486062, 'node_id': 'MDQ6VXNlcjMyNDg2MDYy', 'avatar_url': 'https://avatars.githubusercontent.com/u/32486062?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/tygyh', 'html_url': 'https://github.com/tygyh', 'followers_url': 'https://api.github.com/users/tygyh/followers', 'following_url': 'https://api.github.com/users/tygyh/following{/other_user}', 'gists_url': 'https://api.github.com/users/tygyh/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/tygyh/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/tygyh/subscriptions', 'organizations_url': 'https://api.github.com/users/tygyh/orgs', 'repos_url': 'https://api.github.com/users/tygyh/repos', 'events_url': 'https://api.github.com/users/tygyh/events{/privacy}', 'received_events_url': 'https://api.github.com/users/tygyh/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'closed', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 16, 'created_at': '2024-08-10T06:18:09Z', 'updated_at': '2026-10-03T08:13:38Z', 'closed_at': '2026-10-03T08:13:37Z', 'assignee': None, 'author_association': 'CONTRIBUTOR', 'issue_field_values': [], 'type': None, 'active_lock_reason': None, 'draft': False, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/12987', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/12987', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/12987.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/12987.patch', 'merged_at': None}, 'body': "Most of the refactorings are automated and can be found suggested in Jetbrains' IDEs. This PR will probably have conflicts with most other branches, so I'm in no hurry to have it merged.", 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/12987/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/12987/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5967078526', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/12987#issuecomment-5967078526', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/12987', 'id': 5967078526, 'node_id': 'IC_kwDOALCn2M8AAAABY6pkfg', '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-10-03T08:13:38Z', 'updated_at': '2026-10-03T08:13:38Z', 'body': "This PR has aged, needs a rebase, and is too large regardless, so I'm going to close it for now. Smaller PRs are good. Thanks. :)", 'author_association': 'MEMBER', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5967078526/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-10-03T07:53:25Z', 'pushed_at': '2026-10-03T07:53:13Z', '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': 561310, 'stargazers_count': 15603, 'watchers_count': 15603, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3282, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 478, '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': 3282, 'open_issues': 478, 'watchers': 15603, '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-10-03T08:10:45.437968 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'created', 'id': 12038, 'title': 'Fix increased audio latency and increased pitch after fast-forwarding ends', 'url': 'https://github.com/dolphin-emu/dolphin/pull/12038#issuecomment-5967057326', 'safe_author': True, 'body': 'Mixer was effectively rewritten in #13352. I think this PR is no longer necessary?', 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/12038', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/12038/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/12038/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/12038/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/12038', 'id': 1795262788, 'node_id': 'PR_kwDOALCn2M5VAgtL', 'number': 12038, 'title': 'Fix increased audio latency and increased pitch after fast-forwarding ends', 'user': {'login': 'nyanpasu64', 'id': 913957, 'node_id': 'MDQ6VXNlcjkxMzk1Nw==', 'avatar_url': 'https://avatars.githubusercontent.com/u/913957?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/nyanpasu64', 'html_url': 'https://github.com/nyanpasu64', 'followers_url': 'https://api.github.com/users/nyanpasu64/followers', 'following_url': 'https://api.github.com/users/nyanpasu64/following{/other_user}', 'gists_url': 'https://api.github.com/users/nyanpasu64/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/nyanpasu64/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/nyanpasu64/subscriptions', 'organizations_url': 'https://api.github.com/users/nyanpasu64/orgs', 'repos_url': 'https://api.github.com/users/nyanpasu64/repos', 'events_url': 'https://api.github.com/users/nyanpasu64/events{/privacy}', 'received_events_url': 'https://api.github.com/users/nyanpasu64/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 7, 'created_at': '2023-07-09T06:28:23Z', 'updated_at': '2026-10-03T08:10:43Z', 'closed_at': None, 'assignee': None, 'author_association': 'CONTRIBUTOR', 'issue_field_values': [], 'type': None, 'active_lock_reason': None, 'draft': False, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/12038', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/12038', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/12038.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/12038.patch', 'merged_at': None}, 'body': 'When fast-forwarding emulation, the CPU thread fills the audio buffers with sound faster (`Mixer::MixerFifo::PushSamples()`) than sound gets played back (`Mixer::MixerFifo::Mix()`). When the buffer fills up `PushSamples()` drops incoming samples until enough samples get read to make room for pushing a new buffer.\r\n\r\nWhen fast-forwarding finishes, the excessive buffer contents were never cleared. This caused audio to remain playing at an elevated pitch for 10 seconds (assuming a 48 kHz system audio rate), slowly dropping to normal over ~10 more seconds.\r\n\r\nIn this PR, I changed `Mixer::MixerFifo::Mix()` to detect when fast-forwarding ends, and reset the read pointer to (`low_watermark` = target latency) (audio frames = samples not * channels) before the write pointer, and reset the current and smoothed latency values (used to calculate resampling ratio) to match. This causes a pop in the audio, but it\'s fine because during fast-forward the audio is already garbled. (The modified code should never be run when audio stretching is enabled and `consider_framelimit=false`.)\r\n\r\nI also had to change `CoreTimingManager::Throttle()` to properly throttle emulation immediately when you released the fast-forward key, so it wouldn\'t generate more audio after the mixer jumped ahead to catch up. Previously `m_throttle_deadline` was not being updated during fast-forward, causing the emulator to try to render as many frames as possible in zero seconds. And when you released fast-forward, the emulator would continue to fast-forward for an emulated time equal to the physical time you held the key, waiting for `m_throttle_deadline` to catch up to the physical time. This was only limited when the "System can not to keep up with timings!" fallback would keep the target timebase 100ms before the current time, so the emulator would never fast-forward more than 100ms emulated time after you released Tab.\r\n\r\nAfter fast-forwarding finishes, audio resumes playing at the perfect latency (offset is at ±single digits as opposed to 200 previously). When combined with #12035, with vsync enabled, audio may drop in pitch for 10 seconds or so after fast-forward ends, because emulation is being slowed down (generating less audio) because it\'s generating frames too soon relative to vsync.\r\n\r\nTested on Linux X11.\r\n\r\n## Concerns\r\n\r\n- [ ] This does not fix audio going flat when the game starts, or going sharp if the game pauses briefly and afterwards CoreTiming fast-forwards to compensate.\r\n\t- It may be a good idea to play silence until the buffer fills up to our latency target (then reset the resampling ratio to default), or reset buffer size after discontinuities are resolved and CoreTiming stabilizes. I\'d have to perform further testing before I come up with any concrete ideas on how to better improve the situation (and I personally think it\'s a bad idea for CoreTiming to fast-forward games after a slowdown, but that\'s another topic altogether).\r\n\t- IMO that requires heuristics to recognize and process reliably, and may create a second pop if it happens in gameplay rather than startup. It\'s worth special-casing fast-forward (and merging this PR) because it\'s more common than game startup and can be solved reliably without heuristics, regardless of whether we make further changes or not because this is good enough. (Also the other commits in the PR are good changes even if we later revert the fast-forward fix.)\r\n- [ ] Should I keep `ASSERT(numLeft == static_cast<float>(((indexW - indexR) & INDEX_MASK) / 2))`?\r\n- [x] Should I squash commits?\r\n- [x] I only resynchronize `m_dma_mixer` (the main game audio synthesized in real time) when fast-forward ends. Ideally you\'d resynchronize all of them to gameplay.\r\n\r\nIdeally all mixers would share a locked resampling offset to prevent them from going out of sync with each other, which could be a problem in DTK-based games with sound effects or user inputs synchronized with audio. But in practice, since the mixers are generated and consumed in sync, I\'d hope it\'s unlikely for them to desynchronize in normal gameplay (and this PR prevents them from desyncing after fast-forwarding). And since the mixers inherently run at different rates and have different durations (in real time), I don\'t think there\'s a good way to keep them synced once they buffers overflow or underflow.\r\n\r\n- [x] I did not remove my debug logging and "remove debug logging" commits from this PR. They are useful during development to see whether audio is being pitch-shifted or not (without having to second-guess subtle changes in your pitch perception), but pollute the Git history. Should I do that before it\'s merged?\r\n- Given a sufficiently brief fast-forward, it\'s theoretically possible for `Mixer::PushSamples` to miss `Core::GetIsThrottlerTempDisabled() = true` even though `CoreTiming` observed it. This is unlikely to occur in practice, since `AudioCommon::SendAIBuffer()` is supposed to execute at 4khz (0.25ms) while `HotkeyScheduler::Run()` updates hotkey state every 5ms.\r\n\t- [ ] Do we need a fast-forward generation counter to check if we\'ve fast-forwarded at all since the last read? Or is this failure mode too unlikely/unimportant to bother complicating the code?\r\n- The existing code updates `s_is_throttler_temp_disabled` on HotkeyScheduler but reads it on the CPU and Video threads. **This is a data race.** My code adds a new read of this flag on the CPU thread.\r\n\t- [x] Perhaps it should be a relaxed atomic? At which point we can **read `s_is_throttler_temp_disabled` directly in `Mixer::MixerFifo::Mix()`, avoiding the `m_resyncReader` song and dance altogether?** This also has the positive side effect of making all active mixers resynchronize themselves automatically, whereas right now I only tell `m_dma_mixer` to `EndFastForward()`.\r\n\t- Though this will reset the buffer reader\'s latency earlier on, before `Mixer::PushSamples` observes the change. I\'ll have to check whether this resets the buffer before `PushSamples()` finishes running too quickly (EDIT: it\'s ok). (Though even my current code doesn\'t wait for `CoreTimingManager` to see the change, and it still works well in practice.)\r\n\t- Screw it, move the check to `Mixer::Mix` so we only read the value once, so all mixers either reset together simultaneously or don\'t reset.\r\n- (outdated) I rolled my own atomics instead of using `Common::Flag` because I\'m unfamiliar with using `Flag`, and I think my code is more efficient than the current implementation. If necessary I could replace it with the existing flag code (it\'ll probably not be noticeably slower, considering we don\'t resample audio very often).\r\n\t- [x] Really in this case, we don\'t need memory orderings at all since we\'re just using the flags to trigger events at the right time, not for memory safety or logical correctness.\r\n\r\n## Speeding up atomic flags\r\n\r\nI\'m actually not sure if you can change `Flag` while keeping it 100% compatible with the current behavior (unlimited number of threads, sequential consistency, etc.). I have some ideas on how it can be more optimized around common use cases (two threads only, so I\'m not sure it can safely replace all use cases). It would be interesting to benchmark to see if any change in FPS is detectable, but I don\'t know how to benchmark Dolphin.\r\n\r\n- In common cases (where you set an atomic flag after finishing a task, and read it to check if the task is complete, such as mutex/semaphore-like patterns), you only need acquire and release orderings, not sequential consistency (which is slower). I cannot make a blanket statement that replacing all current uses of `Flag` with acquire/release orderings is correct.\r\n- In `TestAndClear/Set()`, you can probably perform an acquire read, and only [`compare_exchange_strong`](https://en.cppreference.com/w/cpp/atomic/atomic/compare_exchange) (and return whether the value was flipped) if the value is different from the target.\r\n- If you only need an acquire barrier if the value was changed, you can replace the initial acquire read with a relaxed read.\r\n- If one thread runs `TestAndClear()`, and all other threads only set the value to `true`, you can replace `compare_exchange_strong` with an acquire fence followed by a write (most likely a relaxed write, you can also use release, though I think other threads generally don\'t care what you were doing *before* you tested/set the flag).\r\n\t- Note that this can cause multiple threads calling `TestAndClear()` and perhaps `Clear()` to both erroneously indicate they cleared the flag.', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/12038/reactions', 'total_count': 2, '+1': 1, '-1': 0, 'laugh': 0, 'hooray': 1, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'timeline_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/12038/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5967057326', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/12038#issuecomment-5967057326', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/12038', 'id': 5967057326, 'node_id': 'IC_kwDOALCn2M8AAAABY6oRrg', '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-10-03T08:10:43Z', 'updated_at': '2026-10-03T08:10:43Z', 'body': 'Mixer was effectively rewritten in #13352. I think this PR is no longer necessary?', 'author_association': 'MEMBER', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5967057326/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-10-03T07:53:25Z', 'pushed_at': '2026-10-03T07:53:13Z', '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': 561310, 'stargazers_count': 15603, 'watchers_count': 15603, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3282, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 479, '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': 3282, 'open_issues': 479, 'watchers': 15603, '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-10-03T08:10:16.233812 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'JosJuice', 'action': 'created', 'id': 14889, 'title': 'Request ACCESS_LOCAL_NETWORK permission on android 17 and up', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14889#issuecomment-5967053415', 'safe_author': True, 'body': "Hmm, but I guess most people who use direct connection are playing on a local network... I don't know, what do you think?", 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14889', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14889/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14889/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14889/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14889', 'id': 5597190303, 'node_id': 'PR_kwDOALCn2M8AAAABFSLMNA', 'number': 14889, 'title': 'Request ACCESS_LOCAL_NETWORK permission on android 17 and up', 'user': {'login': 'tom-pratt', 'id': 10612949, 'node_id': 'MDQ6VXNlcjEwNjEyOTQ5', 'avatar_url': 'https://avatars.githubusercontent.com/u/10612949?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/tom-pratt', 'html_url': 'https://github.com/tom-pratt', 'followers_url': 'https://api.github.com/users/tom-pratt/followers', 'following_url': 'https://api.github.com/users/tom-pratt/following{/other_user}', 'gists_url': 'https://api.github.com/users/tom-pratt/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/tom-pratt/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/tom-pratt/subscriptions', 'organizations_url': 'https://api.github.com/users/tom-pratt/orgs', 'repos_url': 'https://api.github.com/users/tom-pratt/repos', 'events_url': 'https://api.github.com/users/tom-pratt/events{/privacy}', 'received_events_url': 'https://api.github.com/users/tom-pratt/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 2, 'created_at': '2026-09-26T20:46:20Z', 'updated_at': '2026-10-03T08:10:13Z', 'closed_at': None, 'assignee': None, 'author_association': 'CONTRIBUTOR', 'issue_field_values': [], 'type': None, 'active_lock_reason': None, 'draft': False, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14889', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14889', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14889.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14889.patch', 'merged_at': None}, 'body': 'Show the permission dialog the first time host or connect is clicked.\r\n\r\nWhile the permission is not granted, show an info box at the bottom of the netplay setup screen explaining the need for the permission with a button to grant permission. Launch the app settings menu where the permission can be granted manually if the user has denied twice previously preventing us from showing the permission dialog.\r\n\r\nWorkarounds using the shouldShowRationale flag and detecting if the dialog showed via onPause to account for well known limitations in the android permissions API.\r\n\r\n<img width="480" height="1070" alt="emulator-20260926-224604" src="https://github.com/user-attachments/assets/6418aae1-27d0-48f7-9c20-e9f9835522c4" />\r\n', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14889/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/14889/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5967053415', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14889#issuecomment-5967053415', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14889', 'id': 5967053415, 'node_id': 'IC_kwDOALCn2M8AAAABY6oCZw', '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-10-03T08:10:13Z', 'updated_at': '2026-10-03T08:10:13Z', 'body': "Hmm, but I guess most people who use direct connection are playing on a local network... I don't know, what do you think?", 'author_association': 'MEMBER', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5967053415/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-10-03T07:53:25Z', 'pushed_at': '2026-10-03T07:53:13Z', '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': 561310, 'stargazers_count': 15603, 'watchers_count': 15603, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3282, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 479, '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': 3282, 'open_issues': 479, 'watchers': 15603, '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-10-03T08:05:28.645286 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'created', 'id': 11531, 'title': 'Split up VideoBackendBase and move backend_info out of g_config', 'url': 'https://github.com/dolphin-emu/dolphin/pull/11531#issuecomment-5967017072', 'safe_author': True, 'body': 'I think part of this was accomplished in #13403.', 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/11531', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/11531/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/11531/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/11531/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/11531', 'id': 1567890400, 'node_id': 'PR_kwDOALCn2M5JGfrU', 'number': 11531, 'title': 'Split up VideoBackendBase and move backend_info out of g_config', 'user': {'login': 'phire', 'id': 138484, 'node_id': 'MDQ6VXNlcjEzODQ4NA==', 'avatar_url': 'https://avatars.githubusercontent.com/u/138484?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/phire', 'html_url': 'https://github.com/phire', 'followers_url': 'https://api.github.com/users/phire/followers', 'following_url': 'https://api.github.com/users/phire/following{/other_user}', 'gists_url': 'https://api.github.com/users/phire/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/phire/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/phire/subscriptions', 'organizations_url': 'https://api.github.com/users/phire/orgs', 'repos_url': 'https://api.github.com/users/phire/repos', 'events_url': 'https://api.github.com/users/phire/events{/privacy}', 'received_events_url': 'https://api.github.com/users/phire/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 15, 'created_at': '2023-02-02T11:45:02Z', 'updated_at': '2026-10-03T08:05:27Z', 'closed_at': None, 'assignee': None, 'author_association': 'MEMBER', 'issue_field_values': [], 'type': None, 'active_lock_reason': None, 'draft': False, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/11531', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/11531', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/11531.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/11531.patch', 'merged_at': None}, 'body': 'More Video cleanups along the way to Async Present\r\n\r\n### Split up VideoBackendBase\r\n\r\nVideoBackendBase now contains just stuff directly related to a video backend. The more generic flipper emulation stuff has been moved to VideoBase. \r\n\r\nThe intention is that a VideoBackend can be started just for present, without having to initialise all of video common. Then VideoBase can be started and stopped as emulation starts and stops, reusing the already running VideoBackend. In the future, it will also be possible to have two VideoBackends, one for present and one for flipper emulation. \r\n\r\n### Move video backend selection logic out of core\r\n\r\nIt might be changing a bit in the future. \r\n\r\n### Move `backend_info` out of `g_Config`\r\n\r\nThere was a `TODO`, so I did. \r\nMore importantly, we might have more than one VideoBackend running. \r\n\r\nGoing though all the `backend_info` code did identify a few issues with initialisation order, which are now fixed. ', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/11531/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/11531/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5967017072', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/11531#issuecomment-5967017072', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/11531', 'id': 5967017072, 'node_id': 'IC_kwDOALCn2M8AAAABY6l0cA', '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-10-03T08:05:26Z', 'updated_at': '2026-10-03T08:05:26Z', 'body': 'I think part of this was accomplished in #13403.', 'author_association': 'MEMBER', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5967017072/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-10-03T07:53:25Z', 'pushed_at': '2026-10-03T07:53:13Z', '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': 561310, 'stargazers_count': 15603, 'watchers_count': 15603, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3282, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 479, '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': 3282, 'open_issues': 479, 'watchers': 15603, '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-10-03T08:01:50.548173 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'created', 'id': 11814, 'title': 'Increase frequency at which sleep is called', 'url': 'https://github.com/dolphin-emu/dolphin/pull/11814#issuecomment-5966992086', 'safe_author': True, 'body': 'There have since been many changes to the `Throttle` function and the `m_throttle_min_clock_per_sleep` functionality that you have removed was already removed elsewhere.\r\n\r\nThis PR is no longer necessary. Thank you.', 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/11814', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/11814/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/11814/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/11814/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/11814', 'id': 1694211312, 'node_id': 'PR_kwDOALCn2M5PrmMa', 'number': 11814, 'title': 'Increase frequency at which sleep is called', 'user': {'login': 'Sam-Belliveau', 'id': 28713194, 'node_id': 'MDQ6VXNlcjI4NzEzMTk0', 'avatar_url': 'https://avatars.githubusercontent.com/u/28713194?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/Sam-Belliveau', 'html_url': 'https://github.com/Sam-Belliveau', 'followers_url': 'https://api.github.com/users/Sam-Belliveau/followers', 'following_url': 'https://api.github.com/users/Sam-Belliveau/following{/other_user}', 'gists_url': 'https://api.github.com/users/Sam-Belliveau/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/Sam-Belliveau/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/Sam-Belliveau/subscriptions', 'organizations_url': 'https://api.github.com/users/Sam-Belliveau/orgs', 'repos_url': 'https://api.github.com/users/Sam-Belliveau/repos', 'events_url': 'https://api.github.com/users/Sam-Belliveau/events{/privacy}', 'received_events_url': 'https://api.github.com/users/Sam-Belliveau/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'closed', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 2, 'created_at': '2023-05-03T14:39:32Z', 'updated_at': '2026-10-03T08:01:48Z', 'closed_at': '2026-10-03T08:01:47Z', 'assignee': None, 'author_association': 'CONTRIBUTOR', 'issue_field_values': [], 'type': None, 'active_lock_reason': None, 'draft': False, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/11814', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/11814', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/11814.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/11814.patch', 'merged_at': None}, 'body': 'This was originally tabled before we merged VBI Skip into the beta, but I want to bring it up again because I still feel like this is the correct way to handle throttling.', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/11814/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/11814/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5966992086', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/11814#issuecomment-5966992086', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/11814', 'id': 5966992086, 'node_id': 'IC_kwDOALCn2M8AAAABY6kS1g', '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-10-03T08:01:47Z', 'updated_at': '2026-10-03T08:01:47Z', 'body': 'There have since been many changes to the `Throttle` function and the `m_throttle_min_clock_per_sleep` functionality that you have removed was already removed elsewhere.\r\n\r\nThis PR is no longer necessary. Thank you.', 'author_association': 'MEMBER', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5966992086/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-10-03T07:53:25Z', 'pushed_at': '2026-10-03T07:53:13Z', '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': 561310, 'stargazers_count': 15603, 'watchers_count': 15603, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3282, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 479, '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': 3282, 'open_issues': 479, 'watchers': 15603, '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-10-03T07:39:44.191981 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'created', 'id': 9023, 'title': "[RFC] Fix/Workaround for sporadic 'IOS_FS: Failed to rename temporary FST file' issue on Windows.", 'url': 'https://github.com/dolphin-emu/dolphin/pull/9023#issuecomment-5966848753', 'safe_author': True, 'body': 'FYI: A `DirectIOFile` class was added in #14052 that requests `DELETE` access and has `Rename` functionality that uses `SetFileInformationByHandle` on Windows like you wanted.', 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9023', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9023/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9023/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9023/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9023', 'id': 676529422, 'node_id': 'MDExOlB1bGxSZXF1ZXN0NDY1ODIzNTM3', 'number': 9023, 'title': "[RFC] Fix/Workaround for sporadic 'IOS_FS: Failed to rename temporary FST file' issue on Windows.", 'user': {'login': 'AdmiralCurtiss', 'id': 4522237, 'node_id': 'MDQ6VXNlcjQ1MjIyMzc=', 'avatar_url': 'https://avatars.githubusercontent.com/u/4522237?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/AdmiralCurtiss', 'html_url': 'https://github.com/AdmiralCurtiss', 'followers_url': 'https://api.github.com/users/AdmiralCurtiss/followers', 'following_url': 'https://api.github.com/users/AdmiralCurtiss/following{/other_user}', 'gists_url': 'https://api.github.com/users/AdmiralCurtiss/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/AdmiralCurtiss/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/AdmiralCurtiss/subscriptions', 'organizations_url': 'https://api.github.com/users/AdmiralCurtiss/orgs', 'repos_url': 'https://api.github.com/users/AdmiralCurtiss/repos', 'events_url': 'https://api.github.com/users/AdmiralCurtiss/events{/privacy}', 'received_events_url': 'https://api.github.com/users/AdmiralCurtiss/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 8, 'created_at': '2020-08-11T02:21:05Z', 'updated_at': '2026-10-03T07:39:42Z', 'closed_at': None, 'assignee': None, 'author_association': 'CONTRIBUTOR', 'issue_field_values': [], 'type': None, 'active_lock_reason': None, 'draft': True, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/9023', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9023', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/9023.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/9023.patch', 'merged_at': None}, 'body': "So in case you've been unaware, there have been [a handful](https://forums.dolphin-emu.org/Thread-error-after-5-0-11863) [of reports](https://www.reddit.com/r/DolphinEmulator/comments/hkoicv/keep_getting_message_ios_fs_failed_to_rename/) [about this](https://www.reddit.com/r/techsupport/comments/hlnxgn/dolphin_emulator_issues/) ([one more](https://www.reddit.com/r/DolphinEmulator/comments/icw8v5/is_this_important_if_so_how_do_i_fix_it_thanks/)) ([one more](https://forums.dolphin-emu.org/Thread-can-t-play-on-dolphin)), and I've personally also encountered it without much of a pattern. So I looked into this.\r\n\r\nUnfortunately, I haven't really been able to figure out *why* this happens, but my best guess is the following:\r\n- Dolphin opens temp file and writes FST to it.\r\n- Dolphin closes temp file.\r\n- Antivirus/Dropbox/some other background process sees that a file was closed and opens it to check it.\r\n- While other process still has the file open, Dolphin attempts to rename it to its non-temp filename. This fails.\r\n\r\nWith that guess in mind, I began my search for a way to release the file only *after* it was renamed, and actually ended up finding something. If you [open a file using CreateFileW()](https://docs.microsoft.com/en-us/windows/win32/api/fileapi/nf-fileapi-createfilew) and [request DELETE access](https://docs.microsoft.com/en-us/windows/win32/secauthz/access-mask), you can then [rename the file with SetFileInformationByHandle()](https://docs.microsoft.com/en-us/windows/win32/api/fileapi/nf-fileapi-setfileinformationbyhandle) ([see also](https://stackoverflow.com/questions/36450222/moving-a-file-using-setfileinformationbyhandle)) while keeping the handle open.\r\n\r\nNow, I can't be sure this actually fixes the issue -- because it only occurs sporadically it's hard to test -- but I think it's worth a shot.\r\n\r\n\r\nAs for the code itself, this is more of a proof-of-concept than anything mergeable. We should probably discuss how we want to approach this. At the very least, this also needs a Linux impl (which can probably just forward to IOFile?), and in general probably should be a bit cleaner -- though I have no idea how to write that allocation of the `FILE_RENAME_INFO` structure without violating several C++ guidelines.", 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9023/reactions', 'total_count': 1, '+1': 1, '-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/9023/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5966848753', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/9023#issuecomment-5966848753', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/9023', 'id': 5966848753, 'node_id': 'IC_kwDOALCn2M8AAAABY6bi8Q', '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-10-03T07:39:42Z', 'updated_at': '2026-10-03T07:39:42Z', 'body': 'FYI: A `DirectIOFile` class was added in #14052 that requests `DELETE` access and has `Rename` functionality that uses `SetFileInformationByHandle` on Windows like you wanted.', 'author_association': 'MEMBER', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5966848753/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-10-03T06:05:21Z', 'pushed_at': '2026-10-03T06:05:16Z', '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': 561310, 'stargazers_count': 15602, 'watchers_count': 15602, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3282, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 481, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3282, 'open_issues': 481, 'watchers': 15602, '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-10-03T04:01:19.329630 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'edited', 'id': 14564, 'title': 'InputCommon: Add support for DualSense adaptive triggers.', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14564#issuecomment-5965328786', 'safe_author': True, 'body': 'Rebased, relocated in the UI, and renamed to "DualSense Adaptive Triggers".', 'raw': {'action': 'edited', 'changes': {'body': {'from': 'Rebased and renamed to "DualSense Adaptive Triggers".'}}, 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14564', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14564/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14564/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14564/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14564', 'id': 4209070961, 'node_id': 'PR_kwDOALCn2M7QGUI1', 'number': 14564, 'title': 'InputCommon: Add support for DualSense adaptive triggers.', '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}, 'labels': [], 'state': 'open', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 4, 'created_at': '2026-04-06T01:50:29Z', 'updated_at': '2026-10-03T04:00:56Z', 'closed_at': None, 'assignee': None, 'author_association': 'MEMBER', 'issue_field_values': [], 'type': None, 'active_lock_reason': None, 'draft': False, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14564', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14564', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14564.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14564.patch', 'merged_at': None}, 'body': 'I\'ve been putting this off because I wanted to make things more configurable with the ability to send effects from input expressions, but for now there\'s just a checkbox to enable a basic "Feedback" effect type that simulates a GameCube controller trigger click.\r\n\r\nCode is in place for more options later.\r\n\r\n<img width="464" height="488" alt="image" src="https://github.com/user-attachments/assets/7f33cb4a-4d6e-4998-852d-8524546854bd" />\r\n', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14564/reactions', 'total_count': 2, '+1': 1, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 1, 'rocket': 0, 'eyes': 0}, 'timeline_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14564/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5965328786', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14564#issuecomment-5965328786', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14564', 'id': 5965328786, 'node_id': 'IC_kwDOALCn2M8AAAABY4-xkg', '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-10-03T04:00:56Z', 'updated_at': '2026-10-03T04:01:18Z', 'body': 'Rebased, relocated in the UI, and renamed to "DualSense Adaptive Triggers".', 'author_association': 'MEMBER', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5965328786/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-10-03T03:04:24Z', 'pushed_at': '2026-10-03T03:04:18Z', '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': 561294, 'stargazers_count': 15602, 'watchers_count': 15602, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3282, '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': 3282, 'open_issues': 482, 'watchers': 15602, '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-10-03T04:00:59.308568 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'created', 'id': 14564, 'title': 'InputCommon: Add support for DualSense adaptive triggers.', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14564#issuecomment-5965328786', 'safe_author': True, 'body': 'Rebased and renamed to "DualSense Adaptive Triggers".', 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14564', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14564/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14564/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14564/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14564', 'id': 4209070961, 'node_id': 'PR_kwDOALCn2M7QGUI1', 'number': 14564, 'title': 'InputCommon: Add support for DualSense adaptive triggers.', '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}, 'labels': [], 'state': 'open', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 4, 'created_at': '2026-04-06T01:50:29Z', 'updated_at': '2026-10-03T04:00:56Z', 'closed_at': None, 'assignee': None, 'author_association': 'MEMBER', 'issue_field_values': [], 'type': None, 'active_lock_reason': None, 'draft': False, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14564', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14564', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14564.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14564.patch', 'merged_at': None}, 'body': 'I\'ve been putting this off because I wanted to make things more configurable with the ability to send effects from input expressions, but for now there\'s just a checkbox to enable a basic "Feedback" effect type that simulates a GameCube controller trigger click.\r\n\r\nCode is in place for more options later.\r\n\r\n<img width="464" height="488" alt="image" src="https://github.com/user-attachments/assets/7f33cb4a-4d6e-4998-852d-8524546854bd" />\r\n', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14564/reactions', 'total_count': 2, '+1': 1, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 1, 'rocket': 0, 'eyes': 0}, 'timeline_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14564/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5965328786', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14564#issuecomment-5965328786', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14564', 'id': 5965328786, 'node_id': 'IC_kwDOALCn2M8AAAABY4-xkg', '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-10-03T04:00:56Z', 'updated_at': '2026-10-03T04:00:56Z', 'body': 'Rebased and renamed to "DualSense Adaptive Triggers".', 'author_association': 'MEMBER', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5965328786/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-10-03T03:04:24Z', 'pushed_at': '2026-10-03T03:04:18Z', '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': 561294, 'stargazers_count': 15602, 'watchers_count': 15602, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3282, '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': 3282, 'open_issues': 482, 'watchers': 15602, '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-10-02T21:00:45.024920 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'camdenorrb', 'action': 'edited', 'id': 13222, 'title': 'Vulkan DRM/KMS support', 'url': 'https://github.com/dolphin-emu/dolphin/pull/13222#issuecomment-5961399233', 'safe_author': False, 'body': '> Would this end up running with normal dolphin-emu command in the tty or does it have to use the nogui version?\n\nNogui is the only way atm. It would be ran in tty', 'raw': {'action': 'edited', 'changes': {'body': {'from': '> Would this end up running with normal dolphin-emu command in the tty or does it have to use the nogui version?\n\nNogui is the only way atm'}}, 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13222', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13222/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13222/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13222/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13222', 'id': 2740175449, 'node_id': 'PR_kwDOALCn2M6FPV0U', 'number': 13222, 'title': 'Vulkan DRM/KMS support', 'user': {'login': 'camdenorrb', 'id': 5360339, 'node_id': 'MDQ6VXNlcjUzNjAzMzk=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5360339?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/camdenorrb', 'html_url': 'https://github.com/camdenorrb', 'followers_url': 'https://api.github.com/users/camdenorrb/followers', 'following_url': 'https://api.github.com/users/camdenorrb/following{/other_user}', 'gists_url': 'https://api.github.com/users/camdenorrb/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/camdenorrb/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/camdenorrb/subscriptions', 'organizations_url': 'https://api.github.com/users/camdenorrb/orgs', 'repos_url': 'https://api.github.com/users/camdenorrb/repos', 'events_url': 'https://api.github.com/users/camdenorrb/events{/privacy}', 'received_events_url': 'https://api.github.com/users/camdenorrb/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 37, 'created_at': '2024-12-14T22:50:39Z', 'updated_at': '2026-10-02T21:00:25Z', '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/13222', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13222', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/13222.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/13222.patch', 'merged_at': None}, 'body': 'Utilizes vkCreateDisplayPlaneSurfaceKHR to create a DRM/KMS level surface.\r\n\r\nThis allows you to avoid dependency on X11, Wayland and other window systems', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13222/reactions', 'total_count': 19, '+1': 19, '-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/13222/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5961399233', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13222#issuecomment-5961399233', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13222', 'id': 5961399233, 'node_id': 'IC_kwDOALCn2M8AAAABY1O7wQ', 'user': {'login': 'camdenorrb', 'id': 5360339, 'node_id': 'MDQ6VXNlcjUzNjAzMzk=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5360339?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/camdenorrb', 'html_url': 'https://github.com/camdenorrb', 'followers_url': 'https://api.github.com/users/camdenorrb/followers', 'following_url': 'https://api.github.com/users/camdenorrb/following{/other_user}', 'gists_url': 'https://api.github.com/users/camdenorrb/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/camdenorrb/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/camdenorrb/subscriptions', 'organizations_url': 'https://api.github.com/users/camdenorrb/orgs', 'repos_url': 'https://api.github.com/users/camdenorrb/repos', 'events_url': 'https://api.github.com/users/camdenorrb/events{/privacy}', 'received_events_url': 'https://api.github.com/users/camdenorrb/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2026-10-02T21:00:25Z', 'updated_at': '2026-10-02T21:00:43Z', 'body': '> Would this end up running with normal dolphin-emu command in the tty or does it have to use the nogui version?\n\nNogui is the only way atm. It would be ran in tty', 'author_association': 'NONE', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5961399233/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-10-02T20:04:23Z', 'pushed_at': '2026-10-02T18:56:01Z', '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': 561284, 'stargazers_count': 15601, 'watchers_count': 15601, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3282, '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': 3282, 'open_issues': 485, 'watchers': 15601, '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': 'camdenorrb', 'id': 5360339, 'node_id': 'MDQ6VXNlcjUzNjAzMzk=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5360339?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/camdenorrb', 'html_url': 'https://github.com/camdenorrb', 'followers_url': 'https://api.github.com/users/camdenorrb/followers', 'following_url': 'https://api.github.com/users/camdenorrb/following{/other_user}', 'gists_url': 'https://api.github.com/users/camdenorrb/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/camdenorrb/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/camdenorrb/subscriptions', 'organizations_url': 'https://api.github.com/users/camdenorrb/orgs', 'repos_url': 'https://api.github.com/users/camdenorrb/repos', 'events_url': 'https://api.github.com/users/camdenorrb/events{/privacy}', 'received_events_url': 'https://api.github.com/users/camdenorrb/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'gh_issue_comment'}
2026-10-02T21:00:27.231562 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'camdenorrb', 'action': 'created', 'id': 13222, 'title': 'Vulkan DRM/KMS support', 'url': 'https://github.com/dolphin-emu/dolphin/pull/13222#issuecomment-5961399233', 'safe_author': False, 'body': '> Would this end up running with normal dolphin-emu command in the tty or does it have to use the nogui version?\n\nNogui is the only way atm', 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13222', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13222/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13222/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13222/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13222', 'id': 2740175449, 'node_id': 'PR_kwDOALCn2M6FPV0U', 'number': 13222, 'title': 'Vulkan DRM/KMS support', 'user': {'login': 'camdenorrb', 'id': 5360339, 'node_id': 'MDQ6VXNlcjUzNjAzMzk=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5360339?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/camdenorrb', 'html_url': 'https://github.com/camdenorrb', 'followers_url': 'https://api.github.com/users/camdenorrb/followers', 'following_url': 'https://api.github.com/users/camdenorrb/following{/other_user}', 'gists_url': 'https://api.github.com/users/camdenorrb/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/camdenorrb/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/camdenorrb/subscriptions', 'organizations_url': 'https://api.github.com/users/camdenorrb/orgs', 'repos_url': 'https://api.github.com/users/camdenorrb/repos', 'events_url': 'https://api.github.com/users/camdenorrb/events{/privacy}', 'received_events_url': 'https://api.github.com/users/camdenorrb/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 37, 'created_at': '2024-12-14T22:50:39Z', 'updated_at': '2026-10-02T21:00:25Z', '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/13222', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13222', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/13222.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/13222.patch', 'merged_at': None}, 'body': 'Utilizes vkCreateDisplayPlaneSurfaceKHR to create a DRM/KMS level surface.\r\n\r\nThis allows you to avoid dependency on X11, Wayland and other window systems', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13222/reactions', 'total_count': 19, '+1': 19, '-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/13222/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5961399233', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13222#issuecomment-5961399233', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13222', 'id': 5961399233, 'node_id': 'IC_kwDOALCn2M8AAAABY1O7wQ', 'user': {'login': 'camdenorrb', 'id': 5360339, 'node_id': 'MDQ6VXNlcjUzNjAzMzk=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5360339?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/camdenorrb', 'html_url': 'https://github.com/camdenorrb', 'followers_url': 'https://api.github.com/users/camdenorrb/followers', 'following_url': 'https://api.github.com/users/camdenorrb/following{/other_user}', 'gists_url': 'https://api.github.com/users/camdenorrb/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/camdenorrb/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/camdenorrb/subscriptions', 'organizations_url': 'https://api.github.com/users/camdenorrb/orgs', 'repos_url': 'https://api.github.com/users/camdenorrb/repos', 'events_url': 'https://api.github.com/users/camdenorrb/events{/privacy}', 'received_events_url': 'https://api.github.com/users/camdenorrb/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2026-10-02T21:00:25Z', 'updated_at': '2026-10-02T21:00:25Z', 'body': '> Would this end up running with normal dolphin-emu command in the tty or does it have to use the nogui version?\n\nNogui is the only way atm', 'author_association': 'NONE', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5961399233/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-10-02T20:04:23Z', 'pushed_at': '2026-10-02T18:56:01Z', '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': 561284, 'stargazers_count': 15601, 'watchers_count': 15601, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3282, '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': 3282, 'open_issues': 485, 'watchers': 15601, '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': 'camdenorrb', 'id': 5360339, 'node_id': 'MDQ6VXNlcjUzNjAzMzk=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5360339?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/camdenorrb', 'html_url': 'https://github.com/camdenorrb', 'followers_url': 'https://api.github.com/users/camdenorrb/followers', 'following_url': 'https://api.github.com/users/camdenorrb/following{/other_user}', 'gists_url': 'https://api.github.com/users/camdenorrb/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/camdenorrb/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/camdenorrb/subscriptions', 'organizations_url': 'https://api.github.com/users/camdenorrb/orgs', 'repos_url': 'https://api.github.com/users/camdenorrb/repos', 'events_url': 'https://api.github.com/users/camdenorrb/events{/privacy}', 'received_events_url': 'https://api.github.com/users/camdenorrb/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'gh_issue_comment'}
2026-10-02T20:50:57.344618 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'created', 'id': 14597, 'title': ' Data/Sys: Update "font_western.bin" to be based on a public domain font called, "Metropolis".', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14597#issuecomment-5961273344', 'safe_author': True, 'body': 'FYI, I emailed Hoefler&Co asking about what they think about the legal status of the font on the Mozilla page.\r\n\r\n> ...\r\nThe Metropolis font referenced in the Mozilla documentation is not offered on our Hoefler&Co Typography platform, so we’re unable to comment on its usage, licensing, or legal status in that context.\r\n>\r\n> We do offer a font named Metropolis through our sister platform MyFonts. For this version, usage is governed by the specific license terms provided at the time of purchase.\r\n...\r\n\r\nWhat I\'m gathering from this is that I think any issues Hoefler had with this font was maybe just in using the name, "Metropolis"?\r\n\r\nIf Mozilla is allowed to use this font and tell people that it\'s free and to use it, I really think we should be able to use it.\r\n\r\nBut if someone else finds a different font with the appropriate look, I can make that work too.', 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14597', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14597/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14597/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14597/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14597', 'id': 4271430387, 'node_id': 'PR_kwDOALCn2M7Sw1CM', 'number': 14597, 'title': ' Data/Sys: Update "font_western.bin" to be based on a public domain font called, "Metropolis".', '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}, 'labels': [], 'state': 'open', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 4, 'created_at': '2026-04-15T20:13:54Z', 'updated_at': '2026-10-02T20:50:55Z', 'closed_at': None, 'assignee': None, 'author_association': 'MEMBER', 'issue_field_values': [], 'type': None, 'active_lock_reason': None, 'draft': False, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14597', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14597', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14597.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14597.patch', 'merged_at': None}, 'body': 'The font is public domain:\r\nhttps://github.com/dw5/Metropolis\r\n\r\nI\'ve hacked a few things into `gc-font-tool.cpp` to allow increasing the width of all characters by a bit, and the space code-point by a bit more.\r\n\r\nI have the command arguments used to generate the font in the commit message.\r\n\r\n| master | IPL | Metropolis |\r\n| ---- | --- | --- |\r\n| <img width="1920" height="1580" alt="ID-cleanrip-gc_2026-04-15_15-00-39" src="https://github.com/user-attachments/assets/338503d4-8361-4d1e-8632-f8f613e10fa9" /> | <img width="1920" height="1580" alt="ID-cleanrip-gc_2026-04-15_14-55-00" src="https://github.com/user-attachments/assets/5b17052f-848f-41c9-8328-6a28f9cbfbc3" /> | <img width="1920" height="1580" alt="ID-cleanrip-gc_2026-04-15_19-30-23" src="https://github.com/user-attachments/assets/3d85ee86-d1de-4288-8742-a5de22a9f0a5" /> |\r\n| <img width="1920" height="1580" alt="PM4E01_2026-04-15_15-00-33" src="https://github.com/user-attachments/assets/cf471b51-c297-49a8-995a-e89ef01df182" /> | <img width="1920" height="1580" alt="PM4E01_2026-04-15_11-39-09" src="https://github.com/user-attachments/assets/5b895073-65fb-4679-a2a5-2503ab80478c" /> | <img width="1920" height="1580" alt="PM4E01_2026-04-15_19-54-58" src="https://github.com/user-attachments/assets/c048edd9-3514-46f2-97e8-9fca1390e690" /> |\r\n| <img width="1920" height="1532" alt="PC6E01_2026-04-15_15-00-24" src="https://github.com/user-attachments/assets/4fda26c2-96d3-45e6-8224-676f54c8388e" /> | <img width="1920" height="1532" alt="PC6E01_2026-04-15_00-21-41" src="https://github.com/user-attachments/assets/d57cbec8-2877-472c-8ac5-9c9066a54a1f" /> | <img width="1920" height="1532" alt="PC6E01_2026-04-15_19-54-09" src="https://github.com/user-attachments/assets/892ef7ce-2d32-4848-a16e-f75e14571c22" /> |\r\n\r\nThis addresses https://bugs.dolphin-emu.org/issues/8362 (at least for the western font)\r\n', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14597/reactions', 'total_count': 7, '+1': 7, '-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/14597/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5961273344', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14597#issuecomment-5961273344', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14597', 'id': 5961273344, 'node_id': 'IC_kwDOALCn2M8AAAABY1HQAA', '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-10-02T20:50:55Z', 'updated_at': '2026-10-02T20:50:55Z', 'body': 'FYI, I emailed Hoefler&Co asking about what they think about the legal status of the font on the Mozilla page.\r\n\r\n> ...\r\nThe Metropolis font referenced in the Mozilla documentation is not offered on our Hoefler&Co Typography platform, so we’re unable to comment on its usage, licensing, or legal status in that context.\r\n>\r\n> We do offer a font named Metropolis through our sister platform MyFonts. For this version, usage is governed by the specific license terms provided at the time of purchase.\r\n...\r\n\r\nWhat I\'m gathering from this is that I think any issues Hoefler had with this font was maybe just in using the name, "Metropolis"?\r\n\r\nIf Mozilla is allowed to use this font and tell people that it\'s free and to use it, I really think we should be able to use it.\r\n\r\nBut if someone else finds a different font with the appropriate look, I can make that work too.', 'author_association': 'MEMBER', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5961273344/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-10-02T20:04:23Z', 'pushed_at': '2026-10-02T18:56:01Z', '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': 561284, 'stargazers_count': 15601, 'watchers_count': 15601, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3282, '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': 3282, 'open_issues': 485, 'watchers': 15601, '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-10-02T19:52:25.931449 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'JosJuice', 'action': 'created', 'id': 14889, 'title': 'Request ACCESS_LOCAL_NETWORK permission on android 17 and up', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14889#issuecomment-5960270625', 'safe_author': True, 'body': "> Show the permission dialog the first time host or connect is clicked.\r\n\r\nI feel like this is excessive if you already have the info box. My experience from PC is that people are playing over the internet most of the time. (Maybe that could be a bit different with Android devices... But then again we're also going to get Wi-Fi Direct, which solves the local play problem in a different way.)", 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14889', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14889/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14889/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14889/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14889', 'id': 5597190303, 'node_id': 'PR_kwDOALCn2M8AAAABFSLMNA', 'number': 14889, 'title': 'Request ACCESS_LOCAL_NETWORK permission on android 17 and up', 'user': {'login': 'tom-pratt', 'id': 10612949, 'node_id': 'MDQ6VXNlcjEwNjEyOTQ5', 'avatar_url': 'https://avatars.githubusercontent.com/u/10612949?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/tom-pratt', 'html_url': 'https://github.com/tom-pratt', 'followers_url': 'https://api.github.com/users/tom-pratt/followers', 'following_url': 'https://api.github.com/users/tom-pratt/following{/other_user}', 'gists_url': 'https://api.github.com/users/tom-pratt/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/tom-pratt/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/tom-pratt/subscriptions', 'organizations_url': 'https://api.github.com/users/tom-pratt/orgs', 'repos_url': 'https://api.github.com/users/tom-pratt/repos', 'events_url': 'https://api.github.com/users/tom-pratt/events{/privacy}', 'received_events_url': 'https://api.github.com/users/tom-pratt/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 1, 'created_at': '2026-09-26T20:46:20Z', 'updated_at': '2026-10-02T19:52:23Z', 'closed_at': None, 'assignee': None, 'author_association': 'CONTRIBUTOR', 'issue_field_values': [], 'type': None, 'active_lock_reason': None, 'draft': False, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14889', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14889', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14889.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14889.patch', 'merged_at': None}, 'body': 'Show the permission dialog the first time host or connect is clicked.\r\n\r\nWhile the permission is not granted, show an info box at the bottom of the netplay setup screen explaining the need for the permission with a button to grant permission. Launch the app settings menu where the permission can be granted manually if the user has denied twice previously preventing us from showing the permission dialog.\r\n\r\nWorkarounds using the shouldShowRationale flag and detecting if the dialog showed via onPause to account for well known limitations in the android permissions API.\r\n\r\n<img width="480" height="1070" alt="emulator-20260926-224604" src="https://github.com/user-attachments/assets/6418aae1-27d0-48f7-9c20-e9f9835522c4" />\r\n', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14889/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/14889/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5960270625', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14889#issuecomment-5960270625', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14889', 'id': 5960270625, 'node_id': 'IC_kwDOALCn2M8AAAABY0KDIQ', '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-10-02T19:52:23Z', 'updated_at': '2026-10-02T19:52:23Z', 'body': "> Show the permission dialog the first time host or connect is clicked.\r\n\r\nI feel like this is excessive if you already have the info box. My experience from PC is that people are playing over the internet most of the time. (Maybe that could be a bit different with Android devices... But then again we're also going to get Wi-Fi Direct, which solves the local play problem in a different way.)", 'author_association': 'MEMBER', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5960270625/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-10-02T19:29:07Z', 'pushed_at': '2026-10-02T18:56:01Z', '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': 561275, 'stargazers_count': 15600, 'watchers_count': 15600, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3282, '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': 3282, 'open_issues': 485, 'watchers': 15600, '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-10-02T19:08:57.525657 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'AdmiralCurtiss', 'action': 'created', 'id': 14897, 'title': 'GBAPadEmu: Make GBAPad::GetInput use actual GBA button values.', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14897#issuecomment-5959561778', 'safe_author': True, 'body': '(untested)', 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14897', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14897/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14897/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14897/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14897', 'id': 5624761711, 'node_id': 'PR_kwDOALCn2M8AAAABFnzikg', 'number': 14897, 'title': 'GBAPadEmu: Make GBAPad::GetInput use actual GBA button values.', '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}, 'labels': [], 'state': 'open', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 1, 'created_at': '2026-09-29T03:45:36Z', 'updated_at': '2026-10-02T19:08:55Z', 'closed_at': None, 'assignee': None, 'author_association': 'MEMBER', 'issue_field_values': [], 'type': None, 'active_lock_reason': None, 'draft': False, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14897', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14897', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14897.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14897.patch', 'merged_at': None}, 'body': '`GCPadStatus` is overly misused all over the place for non-GameCube-controllers.\r\n\r\nThis makes our integrated GBA use GBA button values rather than do a weird translation from GCPad button values.\r\n\r\nNetPlay and Movie now also use GBA button values for integrated GBA.\r\n\r\nThis is a super baby step in the right direction.', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14897/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/14897/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5959561778', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14897#issuecomment-5959561778', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14897', 'id': 5959561778, 'node_id': 'IC_kwDOALCn2M8AAAABYzeyMg', 'user': {'login': 'AdmiralCurtiss', 'id': 4522237, 'node_id': 'MDQ6VXNlcjQ1MjIyMzc=', 'avatar_url': 'https://avatars.githubusercontent.com/u/4522237?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/AdmiralCurtiss', 'html_url': 'https://github.com/AdmiralCurtiss', 'followers_url': 'https://api.github.com/users/AdmiralCurtiss/followers', 'following_url': 'https://api.github.com/users/AdmiralCurtiss/following{/other_user}', 'gists_url': 'https://api.github.com/users/AdmiralCurtiss/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/AdmiralCurtiss/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/AdmiralCurtiss/subscriptions', 'organizations_url': 'https://api.github.com/users/AdmiralCurtiss/orgs', 'repos_url': 'https://api.github.com/users/AdmiralCurtiss/repos', 'events_url': 'https://api.github.com/users/AdmiralCurtiss/events{/privacy}', 'received_events_url': 'https://api.github.com/users/AdmiralCurtiss/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2026-10-02T19:08:55Z', 'updated_at': '2026-10-02T19:08:55Z', 'body': '(untested)', 'author_association': 'MEMBER', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5959561778/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-10-02T18:56:15Z', 'pushed_at': '2026-10-02T18:56:01Z', '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': 561275, 'stargazers_count': 15598, 'watchers_count': 15598, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3282, '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': 3282, 'open_issues': 485, 'watchers': 15598, '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': 'AdmiralCurtiss', 'id': 4522237, 'node_id': 'MDQ6VXNlcjQ1MjIyMzc=', 'avatar_url': 'https://avatars.githubusercontent.com/u/4522237?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/AdmiralCurtiss', 'html_url': 'https://github.com/AdmiralCurtiss', 'followers_url': 'https://api.github.com/users/AdmiralCurtiss/followers', 'following_url': 'https://api.github.com/users/AdmiralCurtiss/following{/other_user}', 'gists_url': 'https://api.github.com/users/AdmiralCurtiss/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/AdmiralCurtiss/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/AdmiralCurtiss/subscriptions', 'organizations_url': 'https://api.github.com/users/AdmiralCurtiss/orgs', 'repos_url': 'https://api.github.com/users/AdmiralCurtiss/repos', 'events_url': 'https://api.github.com/users/AdmiralCurtiss/events{/privacy}', 'received_events_url': 'https://api.github.com/users/AdmiralCurtiss/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'gh_issue_comment'}
2026-10-02T17:55:55.845230 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'JoshuaVandaele', 'action': 'created', 'id': 14784, 'title': 'Contributing: Modify header rules', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14784#issuecomment-5958188301', 'safe_author': True, 'body': 'Waiting on gcc version bump to 13', 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14784', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14784/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14784/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14784/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14784', 'id': 5041652019, 'node_id': 'PR_kwDOALCn2M75mhy7', 'number': 14784, 'title': 'Contributing: Modify header rules', 'user': {'login': 'JoshuaVandaele', 'id': 24195176, 'node_id': 'MDQ6VXNlcjI0MTk1MTc2', 'avatar_url': 'https://avatars.githubusercontent.com/u/24195176?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/JoshuaVandaele', 'html_url': 'https://github.com/JoshuaVandaele', 'followers_url': 'https://api.github.com/users/JoshuaVandaele/followers', 'following_url': 'https://api.github.com/users/JoshuaVandaele/following{/other_user}', 'gists_url': 'https://api.github.com/users/JoshuaVandaele/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/JoshuaVandaele/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/JoshuaVandaele/subscriptions', 'organizations_url': 'https://api.github.com/users/JoshuaVandaele/orgs', 'repos_url': 'https://api.github.com/users/JoshuaVandaele/repos', 'events_url': 'https://api.github.com/users/JoshuaVandaele/events{/privacy}', 'received_events_url': 'https://api.github.com/users/JoshuaVandaele/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 1, 'created_at': '2026-08-02T09:06:06Z', 'updated_at': '2026-10-02T17:55:54Z', 'closed_at': None, 'assignee': None, 'author_association': 'CONTRIBUTOR', 'issue_field_values': [], 'type': None, 'active_lock_reason': None, 'draft': True, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14784', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14784', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14784.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14784.patch', 'merged_at': None}, 'body': 'The order is now as follows:\r\n\r\n - The header for the source file\r\n - Dolphin source file headers\r\n - Non-standard library headers\r\n - System-specific headers\r\n - Standard library headers\r\n\r\nIt\'s also now codified that the source files\' name must start with the headers\' name.\r\n\r\nAdditionally, this PR makes clang-format automatically apply those rules, which should automatically prevent most include order errors in the future.\r\nSince I had to manually inspect every file to see if the rules were applied correctly and to re-order includes that e.g. had `#ifdef`s which clang-format wouldn\'t touch, I also took the occasion to remove a fair number of unused headers and do general clean-ups.\r\n\r\nI have also modified a few externals to add parents to the include directories, to e.g. replace `<include "disasm.h>` with `#include <bochs/disasm.h>`, which improves readability but also makes the clang-format rules easier.', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14784/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/14784/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5958188301', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14784#issuecomment-5958188301', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14784', 'id': 5958188301, 'node_id': 'IC_kwDOALCn2M8AAAABYyK9DQ', 'user': {'login': 'JoshuaVandaele', 'id': 24195176, 'node_id': 'MDQ6VXNlcjI0MTk1MTc2', 'avatar_url': 'https://avatars.githubusercontent.com/u/24195176?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/JoshuaVandaele', 'html_url': 'https://github.com/JoshuaVandaele', 'followers_url': 'https://api.github.com/users/JoshuaVandaele/followers', 'following_url': 'https://api.github.com/users/JoshuaVandaele/following{/other_user}', 'gists_url': 'https://api.github.com/users/JoshuaVandaele/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/JoshuaVandaele/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/JoshuaVandaele/subscriptions', 'organizations_url': 'https://api.github.com/users/JoshuaVandaele/orgs', 'repos_url': 'https://api.github.com/users/JoshuaVandaele/repos', 'events_url': 'https://api.github.com/users/JoshuaVandaele/events{/privacy}', 'received_events_url': 'https://api.github.com/users/JoshuaVandaele/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2026-10-02T17:55:54Z', 'updated_at': '2026-10-02T17:55:54Z', 'body': 'Waiting on gcc version bump to 13', 'author_association': 'MEMBER', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5958188301/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-10-02T17:55:43Z', 'pushed_at': '2026-10-02T17:55:36Z', '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': 561217, 'stargazers_count': 15598, 'watchers_count': 15598, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3281, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 487, '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': 3281, 'open_issues': 487, 'watchers': 15598, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'JoshuaVandaele', 'id': 24195176, 'node_id': 'MDQ6VXNlcjI0MTk1MTc2', 'avatar_url': 'https://avatars.githubusercontent.com/u/24195176?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/JoshuaVandaele', 'html_url': 'https://github.com/JoshuaVandaele', 'followers_url': 'https://api.github.com/users/JoshuaVandaele/followers', 'following_url': 'https://api.github.com/users/JoshuaVandaele/following{/other_user}', 'gists_url': 'https://api.github.com/users/JoshuaVandaele/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/JoshuaVandaele/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/JoshuaVandaele/subscriptions', 'organizations_url': 'https://api.github.com/users/JoshuaVandaele/orgs', 'repos_url': 'https://api.github.com/users/JoshuaVandaele/repos', 'events_url': 'https://api.github.com/users/JoshuaVandaele/events{/privacy}', 'received_events_url': 'https://api.github.com/users/JoshuaVandaele/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'gh_issue_comment'}
Recent 'gh_pull_request' events
2026-10-03T19:26:56.799545 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'synchronize', 'id': 14162, 'title': 'Common: WorkQueueThread improvements.', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14162', 'head_ref_name': 'work-queue-thread-improvements', 'safe_author': True, 'base_sha': '562875dd60fd0ff50b65dbbb611a2096802cd1b9', 'head_sha': 'ca8f101300e2c59ce97c3d53ec21e0614e9c1646', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-10-03T18:55:06.272113 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'synchronize', 'id': 14902, 'title': 'UICommon: Add Web Interface for streaming integrated GBAs.', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14902', 'head_ref_name': 'gba-web-interface', 'safe_author': True, 'base_sha': '562875dd60fd0ff50b65dbbb611a2096802cd1b9', 'head_sha': 'be139043dbcd7001ce2533aa58f273db5b8e1ff2', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-10-03T15:46:43.212793 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'Starlightbotanist', 'action': 'synchronize', 'id': 14899, 'title': 'VideoCommon: Work around Adreno TEV zero input miscompilation', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14899', 'head_ref_name': 'adreno-tev-zero-rewrite', 'safe_author': False, 'base_sha': '562875dd60fd0ff50b65dbbb611a2096802cd1b9', 'head_sha': '6c8a7f9ea814b9d05f9bf8bc277e433fe4df12b5', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-10-03T13:41:00.255129 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'SuperSamus', 'action': 'synchronize', 'id': 14853, 'title': 'Jit: Optimize trampoline info allocation', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14853', 'head_ref_name': 'jit-trampoline-info-optimize', 'safe_author': True, 'base_sha': '562875dd60fd0ff50b65dbbb611a2096802cd1b9', 'head_sha': '4c9019d6fb53ea81e49f6ed1ffeb70c52418a300', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-10-03T10:25:08.558569 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'AdmiralCurtiss', 'action': 'closed', 'id': 14879, 'title': 'DolphinQt/InfinityBaseWindow: Minor adjustments.', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14879', 'head_ref_name': 'infinity-window-adjustments', 'safe_author': True, 'base_sha': 'ee018d00e60b9eb727489908a8daec5c537f44a8', 'head_sha': '76320c7cdfa5de3268108e328a1a4038a8372bdf', 'merged': True, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-10-03T09:55:05.263424 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'Windsurf7', 'action': 'synchronize', 'id': 14374, 'title': 'GameINI: Formatting updates to The Legend of Zelda The Wind Waker', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14374', 'head_ref_name': 'lozww-gameini', 'safe_author': False, 'base_sha': '8c16ea6c2777800fc3437dd1016f786c88a97730', 'head_sha': 'c93135d647ad00d387628a8eef2cc2d49c9eedab', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-10-03T09:08:11.910764 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'AdmiralCurtiss', 'action': 'closed', 'id': 14797, 'title': 'NetPlay: reject oversized input buffer messages', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14797', 'head_ref_name': 'security/netplay-buffer-limit', 'safe_author': True, 'base_sha': 'bd094a0de5bccd4a0a14ab6a14810e31df45eb48', 'head_sha': '1eca2ca31c4e964be8f5e38bf01d786702737252', 'merged': True, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-10-03T08:53:32.037219 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'nyanpasu64', 'action': 'closed', 'id': 12038, 'title': 'Fix increased audio latency and increased pitch after fast-forwarding ends', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/12038', 'head_ref_name': 'fix-ffw-audio-latency', 'safe_author': False, 'base_sha': '17fa9dfc4e6007d497b6ae30f6651aaf38672d88', 'head_sha': 'dde6a616caad2c7984ca972f58abaeb75371b692', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-10-03T08:41:13.274451 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'synchronize', 'id': 14014, 'title': 'MathUtil: Add Rational class template.', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14014', 'head_ref_name': 'mathutil-rational', 'safe_author': True, 'base_sha': 'af1ab20b356d288208e7324512efed4b0913f79e', 'head_sha': 'c093b1323bc3b07fa21d920565d4ff6031dfae3c', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-10-03T08:16:08.785411 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'closed', 'id': 12776, 'title': 'Remove min_clock_per_sleep to improve VPS consistency ', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/12776', 'head_ref_name': 'timing-test', 'safe_author': True, 'base_sha': '7ba539d7965f6f20ff6557369cebac5bfd82e320', 'head_sha': '137cf485b235beca7a0ee32ee49231aa9b1e7e5d', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-10-03T08:13:40.171632 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'closed', 'id': 12987, 'title': 'Apply solution-wide refactorings', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/12987', 'head_ref_name': 'Automated-Refactorings', 'safe_author': True, 'base_sha': '5d5f1693b5be6965e2d2029b712af4bc6b506499', 'head_sha': '00c037858b076c464a3f4519ddea33ed3766f883', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-10-03T08:04:06.041731 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'labeled', 'id': 11532, 'title': 'Allow Custom DT Values To Be Passed To PerformanceTracker', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/11532', 'head_ref_name': 'PerformanceTracker/CustomDTs', 'safe_author': True, 'base_sha': '0b9b09ad3287445e23068b4d5a4cbd018f399515', 'head_sha': '061ce71a6bfecd78846f75f1a48a1ba4f637fb34', 'merged': False, 'requested_reviewers': [{'login': 'phire', 'id': 138484, 'node_id': 'MDQ6VXNlcjEzODQ4NA==', 'avatar_url': 'https://avatars.githubusercontent.com/u/138484?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/phire', 'html_url': 'https://github.com/phire', 'followers_url': 'https://api.github.com/users/phire/followers', 'following_url': 'https://api.github.com/users/phire/following{/other_user}', 'gists_url': 'https://api.github.com/users/phire/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/phire/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/phire/subscriptions', 'organizations_url': 'https://api.github.com/users/phire/orgs', 'repos_url': 'https://api.github.com/users/phire/repos', 'events_url': 'https://api.github.com/users/phire/events{/privacy}', 'received_events_url': 'https://api.github.com/users/phire/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}], 'type': 'gh_pull_request'}
2026-10-03T08:01:49.524594 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'closed', 'id': 11814, 'title': 'Increase frequency at which sleep is called', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/11814', 'head_ref_name': 'very-fine-sleep', 'safe_author': True, 'base_sha': '0b9b09ad3287445e23068b4d5a4cbd018f399515', 'head_sha': 'd6417a6d9c46da20da721b04f0b166681559c719', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-10-03T07:53:15.373502 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'JosJuice', 'action': 'closed', 'id': 14812, 'title': 'Fix crashes when using `std::locale{""}` with an invalid LC_ALL', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14812', 'head_ref_name': 'correct-env-locale', 'safe_author': True, 'base_sha': '4ff214cdd26f135251d2266d676ed72dc1c2f8c9', 'head_sha': '622c711ccfa9ce42b9d6b20bca0085f804f66e59', 'merged': True, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-10-03T07:13:37.603197 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'SuperSamus', 'action': 'synchronize', 'id': 14866, 'title': 'VideoCommon: Option for byte to memset in RAM when `EFBToTextureEnable = True`', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14866', 'head_ref_name': 'efb-to-texture-clear-byte', 'safe_author': True, 'base_sha': 'f76238742c70a3db637f2037b0ed380be4bdead1', 'head_sha': '8c1f30bb3043bff6b7d204fc162395d1fcd817c5', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-10-03T06:05:18.135734 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'closed', 'id': 14328, 'title': "DolphinTool: Show choices as metavars, and don't lie about defaults", 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14328', 'head_ref_name': 'choices-fix', 'safe_author': True, 'base_sha': 'a8fbe8f28f622851333538ee0a2899bc159161ba', 'head_sha': 'c7f2cca6e55f41f09a6152b369b21ffcc3f97363', 'merged': True, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-10-03T04:19:41.520115 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'labeled', 'id': 14266, 'title': 'c++23: Replace Common::Contains(Subrange) with std::ranges::contains(_subrange)', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14266', 'head_ref_name': 'std-contains', 'safe_author': True, 'base_sha': '2e940420c9866b310c33411edbea9451ae31515d', 'head_sha': '5e31a89419e814aeedf8581b8b6360e08e984b8e', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-10-03T04:12:36.902994 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'review_requested', 'id': 14276, 'title': 'Use more ConfigControls', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14276', 'head_ref_name': 'mo-config-controls', 'safe_author': True, 'base_sha': '707d3c7a732634ad8d522bd27e52b075f54ac4f3', 'head_sha': '9ac2b284b9255ec7bde12a499ab3f137476967ee', 'merged': False, 'requested_reviewers': [{'login': 'Dentomologist', 'id': 73494713, 'node_id': 'MDQ6VXNlcjczNDk0NzEz', 'avatar_url': 'https://avatars.githubusercontent.com/u/73494713?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/Dentomologist', 'html_url': 'https://github.com/Dentomologist', 'followers_url': 'https://api.github.com/users/Dentomologist/followers', 'following_url': 'https://api.github.com/users/Dentomologist/following{/other_user}', 'gists_url': 'https://api.github.com/users/Dentomologist/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/Dentomologist/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/Dentomologist/subscriptions', 'organizations_url': 'https://api.github.com/users/Dentomologist/orgs', 'repos_url': 'https://api.github.com/users/Dentomologist/repos', 'events_url': 'https://api.github.com/users/Dentomologist/events{/privacy}', 'received_events_url': 'https://api.github.com/users/Dentomologist/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}], 'type': 'gh_pull_request'}
2026-10-03T04:00:39.232546 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'synchronize', 'id': 14564, 'title': 'InputCommon: Add support for DualSense adaptive triggers.', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14564', 'head_ref_name': 'dualsense-triggers', 'safe_author': True, 'base_sha': 'a0c3ab78d391ff4703fed5a1d583e947dc8e7750', 'head_sha': 'ac4503a01a427c7d619162147b6dc37242b80d65', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-10-03T04:00:17.091257 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'edited', 'id': 14564, 'title': 'InputCommon: Add support for DualSense adaptive triggers.', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14564', 'head_ref_name': 'dualsense-triggers', 'safe_author': True, 'base_sha': 'a0c3ab78d391ff4703fed5a1d583e947dc8e7750', 'head_sha': 'a8cce6d2f05b4cebf4edaeb1e5b4bda90f6f10bf', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-10-03T04:00:09.372742 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'edited', 'id': 14564, 'title': 'InputCommon: Add support for DualSense tactile triggers.', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14564', 'head_ref_name': 'dualsense-triggers', 'safe_author': True, 'base_sha': 'a0c3ab78d391ff4703fed5a1d583e947dc8e7750', 'head_sha': 'a8cce6d2f05b4cebf4edaeb1e5b4bda90f6f10bf', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-10-03T04:00:01.647459 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'synchronize', 'id': 14564, 'title': 'InputCommon: Add support for DualSense tactile triggers.', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14564', 'head_ref_name': 'dualsense-triggers', 'safe_author': True, 'base_sha': 'a0c3ab78d391ff4703fed5a1d583e947dc8e7750', 'head_sha': 'a8cce6d2f05b4cebf4edaeb1e5b4bda90f6f10bf', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-10-03T03:11:25.621945 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'labeled', 'id': 13263, 'title': 'StringUtil: Modernize SplitString and add unit tests', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/13263', 'head_ref_name': 'test-splitstring', 'safe_author': True, 'base_sha': 'e526c1ffde96e619bc764167f6fc337db74551ed', 'head_sha': 'b64dac7a33339ebecb779c47828ee6d843b2d86b', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-10-03T03:06:57.131690 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'labeled', 'id': 14322, 'title': 'IOS/USB: Add "Connect USB Keyboard" support for HID', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14322', 'head_ref_name': 'kbd-hid', 'safe_author': True, 'base_sha': '57f1dc97e0e94024f3f931ec03dfd4a18811e670', 'head_sha': '988126d9bdef4a371eda08e19c2fdd3d6fed8547', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-10-03T03:06:35.824899 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'labeled', 'id': 14321, 'title': 'IOS/KBD: Move keyboard logic to Common/Keyboard', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14321', 'head_ref_name': 'kbd-base', 'safe_author': True, 'base_sha': '57f1dc97e0e94024f3f931ec03dfd4a18811e670', 'head_sha': '46063bf36c75199c8cf2ee5ff7a5e6cf418a5178', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
Recent 'gh_pull_request_comment' events
2026-10-03T17:42:30.020566 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'created', 'id': 14902, 'hash': '787567a8645f312760e573a7b5acd2380a53685c', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14902#discussion_r4174172248', 'is_part_of_review': False, 'type': 'gh_pull_request_comment'}
2026-10-03T15:48:57.995453 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'Starlightbotanist', 'action': 'created', 'id': 14899, 'hash': '6c8a7f9ea814b9d05f9bf8bc277e433fe4df12b5', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14899#discussion_r4173794220', 'is_part_of_review': True, 'type': 'gh_pull_request_comment'}
2026-10-03T15:35:56.647199 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'Mrlinkwii', 'action': 'edited', 'id': 14902, 'hash': '787567a8645f312760e573a7b5acd2380a53685c', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14902#discussion_r4173747102', 'is_part_of_review': False, 'type': 'gh_pull_request_comment'}
2026-10-03T15:33:50.144142 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'Mrlinkwii', 'action': 'created', 'id': 14902, 'hash': '787567a8645f312760e573a7b5acd2380a53685c', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14902#discussion_r4173747102', 'is_part_of_review': False, 'type': 'gh_pull_request_comment'}
2026-10-03T15:25:54.265462 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'JoshuaVandaele', 'action': 'created', 'id': 14902, 'hash': '787567a8645f312760e573a7b5acd2380a53685c', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14902#discussion_r4173621906', 'is_part_of_review': True, 'type': 'gh_pull_request_comment'}
2026-10-03T15:25:54.264835 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'JoshuaVandaele', 'action': 'created', 'id': 14902, 'hash': '787567a8645f312760e573a7b5acd2380a53685c', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14902#discussion_r4173637231', 'is_part_of_review': True, 'type': 'gh_pull_request_comment'}
2026-10-03T15:25:54.264223 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'JoshuaVandaele', 'action': 'created', 'id': 14902, 'hash': '787567a8645f312760e573a7b5acd2380a53685c', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14902#discussion_r4173613716', 'is_part_of_review': True, 'type': 'gh_pull_request_comment'}
2026-10-03T15:25:54.263595 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'JoshuaVandaele', 'action': 'created', 'id': 14902, 'hash': '787567a8645f312760e573a7b5acd2380a53685c', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14902#discussion_r4173605651', 'is_part_of_review': True, 'type': 'gh_pull_request_comment'}
2026-10-03T13:41:19.183649 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'SuperSamus', 'action': 'created', 'id': 14853, 'hash': 'c9494cbfd7c37e1ceea96235a29318756dd3b9a7', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14853#discussion_r4173397755', 'is_part_of_review': False, 'type': 'gh_pull_request_comment'}
2026-10-03T10:54:04.157975 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'sepalani', 'action': 'created', 'id': 8863, 'hash': 'd32b5fbb78eab3a82f380847f742fdaa4b415a50', 'url': 'https://github.com/dolphin-emu/dolphin/pull/8863#discussion_r4172862389', 'is_part_of_review': False, 'type': 'gh_pull_request_comment'}
2026-10-03T08:01:27.736042 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'SuperSamus', 'action': 'edited', 'id': 14853, 'hash': 'c9494cbfd7c37e1ceea96235a29318756dd3b9a7', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14853#discussion_r4172242970', 'is_part_of_review': False, 'type': 'gh_pull_request_comment'}
2026-10-03T08:00:59.484298 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'SuperSamus', 'action': 'created', 'id': 14853, 'hash': 'c9494cbfd7c37e1ceea96235a29318756dd3b9a7', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14853#discussion_r4172242970', 'is_part_of_review': False, 'type': 'gh_pull_request_comment'}
2026-10-03T07:48:58.075671 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'JosJuice', 'action': 'created', 'id': 14853, 'hash': 'c9494cbfd7c37e1ceea96235a29318756dd3b9a7', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14853#discussion_r4172213224', 'is_part_of_review': False, 'type': 'gh_pull_request_comment'}
2026-10-03T07:47:25.821272 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'JosJuice', 'action': 'created', 'id': 14853, 'hash': 'c9494cbfd7c37e1ceea96235a29318756dd3b9a7', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14853#discussion_r4172209256', 'is_part_of_review': True, 'type': 'gh_pull_request_comment'}
2026-10-03T07:01:05.605265 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'iwubcode', 'action': 'created', 'id': 14899, 'hash': '41bfc2380e028eec72b2eae7af5d5586917a1329', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14899#discussion_r4172087926', 'is_part_of_review': False, 'type': 'gh_pull_request_comment'}
2026-10-03T05:32:01.446557 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'edited', 'id': 14773, 'hash': '1c9064815d224f5c9624c17de4644897621fd1ed', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14773#discussion_r4171775221', 'is_part_of_review': False, 'type': 'gh_pull_request_comment'}
2026-10-03T05:31:27.144186 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'edited', 'id': 14773, 'hash': '1c9064815d224f5c9624c17de4644897621fd1ed', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14773#discussion_r4171775221', 'is_part_of_review': False, 'type': 'gh_pull_request_comment'}
2026-10-03T05:24:08.353356 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'edited', 'id': 14773, 'hash': '1c9064815d224f5c9624c17de4644897621fd1ed', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14773#discussion_r4171775221', 'is_part_of_review': False, 'type': 'gh_pull_request_comment'}
2026-10-03T05:07:05.523622 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'edited', 'id': 14773, 'hash': '1c9064815d224f5c9624c17de4644897621fd1ed', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14773#discussion_r4171775221', 'is_part_of_review': False, 'type': 'gh_pull_request_comment'}
2026-10-03T05:05:30.531185 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'created', 'id': 14773, 'hash': '1c9064815d224f5c9624c17de4644897621fd1ed', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14773#discussion_r4171775221', 'is_part_of_review': True, 'type': 'gh_pull_request_comment'}
2026-10-03T05:05:30.291871 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'created', 'id': 14773, 'hash': '1c9064815d224f5c9624c17de4644897621fd1ed', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14773#discussion_r4171783139', 'is_part_of_review': True, 'type': 'gh_pull_request_comment'}
2026-10-03T03:33:43.653061 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'created', 'id': 14866, 'hash': '46d1230882095275d75ed6cf5e3d3dd7352a2125', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14866#discussion_r4171534635', 'is_part_of_review': True, 'type': 'gh_pull_request_comment'}
2026-10-03T03:28:24.004446 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'created', 'id': 8863, 'hash': 'd32b5fbb78eab3a82f380847f742fdaa4b415a50', 'url': 'https://github.com/dolphin-emu/dolphin/pull/8863#discussion_r4171522448', 'is_part_of_review': True, 'type': 'gh_pull_request_comment'}
2026-10-03T02:52:05.391259 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'created', 'id': 13686, 'hash': '22d6a1aff3179ff96c77ae2e41b07dffaa0ecf5f', 'url': 'https://github.com/dolphin-emu/dolphin/pull/13686#discussion_r4171416852', 'is_part_of_review': True, 'type': 'gh_pull_request_comment'}
2026-10-02T23:16:33.897045 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'VampireFlower', 'action': 'created', 'id': 14876, 'hash': '304ef93a0edd14aebce240e7d43f9737c63dd0b2', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14876#discussion_r4170598373', 'is_part_of_review': True, 'type': 'gh_pull_request_comment'}
Recent 'gh_pull_request_review' events
2026-10-03T19:36:37.313787 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'submitted', 'pr_id': 14793, 'pr_title': 'CMake: Automatically disable warnings for Externals', 'state': 'approved', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14793#pullrequestreview-5402417537', 'comments': [], 'type': 'gh_pull_request_review'}
2026-10-03T17:42:29.995530 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'submitted', 'pr_id': 14902, 'pr_title': 'UICommon: Add Web Interface for streaming integrated GBAs.', 'state': 'commented', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14902#pullrequestreview-5401917278', 'comments': [{'id': 4174172248, 'node_id': 'PRRC_kwDOALCn2M74zNBY', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4174172248', 'pull_request_review_id': 5401917278, 'diff_hunk': '@@ -767,16 +769,36 @@ if(WIN32 OR LINUX OR CMAKE_SYSTEM_NAME STREQUAL "FreeBSD" OR CMAKE_SYSTEM_NAME S\n add_definitions(-DHAVE_CPPIPC)\n endif()\n \n-set(NO_MEDIA OFF CACHE BOOL "" FORCE)\n-set(NO_WEBSOCKET OFF CACHE BOOL "" FORCE)\n-set(NO_EXAMPLES ON CACHE BOOL "" FORCE)\n-set(NO_TESTS ON CACHE BOOL "" FORCE)\n-set(BUILD_SHARED_LIBS OFF CACHE BOOL "" FORCE)\n-set(PREFER_SYSTEM_LIB ON CACHE BOOL "" FORCE)\n-add_subdirectory(Externals/libdatachannel)\n+if(ENABLE_WEB_INTERFACE)\n+ # libdatachannel\n+ set(NO_MEDIA OFF CACHE BOOL "" FORCE)\n+ set(NO_WEBSOCKET OFF CACHE BOOL "" FORCE)\n+ set(NO_EXAMPLES ON CACHE BOOL "" FORCE)\n+ set(NO_TESTS ON CACHE BOOL "" FORCE)\n+ set(BUILD_SHARED_LIBS OFF CACHE BOOL "" FORCE)\n+ set(PREFER_SYSTEM_LIB ON CACHE BOOL "" FORCE)\n+\n+ FetchContent_Declare(\n+ libdatachannel\n+ GIT_REPOSITORY https://github.com/paullouisageneau/libdatachannel.git\n+ GIT_TAG 6b1e2e620f1e37f0eafeee702eaea0043cb305fd', 'path': 'CMakeLists.txt', 'position': 39, 'original_position': 39, 'commit_id': '787567a8645f312760e573a7b5acd2380a53685c', 'user': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': 'Yeah, I think using tags is a minor security issue.\r\nI can add a comment with the version number next to the hash, though.', 'created_at': '2026-10-03T17:42:28Z', 'updated_at': '2026-10-03T17:42:28Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14902#discussion_r4174172248', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14902', 'author_association': 'MEMBER', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4174172248'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14902#discussion_r4174172248'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14902'}}, 'original_commit_id': '787567a8645f312760e573a7b5acd2380a53685c', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4174172248/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'in_reply_to_id': 4173621906}], 'type': 'gh_pull_request_review'}
2026-10-03T15:48:57.993503 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'Starlightbotanist', 'action': 'submitted', 'pr_id': 14899, 'pr_title': 'VideoCommon: Work around Adreno TEV zero input miscompilation', 'state': 'commented', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14899#pullrequestreview-5401510911', 'comments': [{'id': 4173794220, 'node_id': 'PRRC_kwDOALCn2M74xwus', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4173794220', 'pull_request_review_id': 5401510911, 'diff_hunk': '@@ -1434,20 +1436,36 @@ static void WriteStage(ShaderCode& out, const pixel_shader_uid_data* uid_data, i\n if (ac.dest >= TevOutput::Color0)\n out.SetConstantsUsed(C_COLORS + u32(ac.dest.Value()), C_COLORS + u32(ac.dest.Value()));\n \n+ std::string color_a = tev_c_input_table[cc.a];\n+ std::string color_b = tev_c_input_table[cc.b];\n+ if ((cc.a == TevColorArg::Zero || cc.b == TevColorArg::Zero) &&\n+ DriverDetails::HasBug(DriverDetails::BUG_BROKEN_TEV_COLOR_ZERO))\n+ {\n+ const std::string combiner = fmt::format("bpmem_pack1[{}].x", n);\n+ // The shader UID includes the color combiner, so these runtime selectors are Zero here.\n+ // Keep zero dependent on those selectors to avoid folding it into the broken Adreno shader.\n+ if (cc.a == TevColorArg::Zero)', 'path': 'Source/Core/VideoCommon/PixelShaderGen.cpp', 'position': 21, 'original_position': 21, 'commit_id': '6c8a7f9ea814b9d05f9bf8bc277e433fe4df12b5', 'user': {'login': 'Starlightbotanist', 'id': 115003461, 'node_id': 'U_kgDOBtrQRQ', 'avatar_url': 'https://avatars.githubusercontent.com/u/115003461?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/Starlightbotanist', 'html_url': 'https://github.com/Starlightbotanist', 'followers_url': 'https://api.github.com/users/Starlightbotanist/followers', 'following_url': 'https://api.github.com/users/Starlightbotanist/following{/other_user}', 'gists_url': 'https://api.github.com/users/Starlightbotanist/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/Starlightbotanist/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/Starlightbotanist/subscriptions', 'organizations_url': 'https://api.github.com/users/Starlightbotanist/orgs', 'repos_url': 'https://api.github.com/users/Starlightbotanist/repos', 'events_url': 'https://api.github.com/users/Starlightbotanist/events{/privacy}', 'received_events_url': 'https://api.github.com/users/Starlightbotanist/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': 'Done! ', 'created_at': '2026-10-03T15:48:55Z', 'updated_at': '2026-10-03T15:48:56Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14899#discussion_r4173794220', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14899', 'author_association': 'NONE', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4173794220'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14899#discussion_r4173794220'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14899'}}, 'original_commit_id': '41bfc2380e028eec72b2eae7af5d5586917a1329', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4173794220/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'in_reply_to_id': 4172087926}], 'type': 'gh_pull_request_review'}
2026-10-03T15:33:50.002982 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'Mrlinkwii', 'action': 'submitted', 'pr_id': 14902, 'pr_title': 'UICommon: Add Web Interface for streaming integrated GBAs.', 'state': 'commented', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14902#pullrequestreview-5401458715', 'comments': [{'id': 4173747102, 'node_id': 'PRRC_kwDOALCn2M74xlOe', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4173747102', 'pull_request_review_id': 5401458715, 'diff_hunk': '@@ -767,16 +769,36 @@ if(WIN32 OR LINUX OR CMAKE_SYSTEM_NAME STREQUAL "FreeBSD" OR CMAKE_SYSTEM_NAME S\n add_definitions(-DHAVE_CPPIPC)\n endif()\n \n-set(NO_MEDIA OFF CACHE BOOL "" FORCE)\n-set(NO_WEBSOCKET OFF CACHE BOOL "" FORCE)\n-set(NO_EXAMPLES ON CACHE BOOL "" FORCE)\n-set(NO_TESTS ON CACHE BOOL "" FORCE)\n-set(BUILD_SHARED_LIBS OFF CACHE BOOL "" FORCE)\n-set(PREFER_SYSTEM_LIB ON CACHE BOOL "" FORCE)\n-add_subdirectory(Externals/libdatachannel)\n+if(ENABLE_WEB_INTERFACE)\n+ # libdatachannel\n+ set(NO_MEDIA OFF CACHE BOOL "" FORCE)\n+ set(NO_WEBSOCKET OFF CACHE BOOL "" FORCE)\n+ set(NO_EXAMPLES ON CACHE BOOL "" FORCE)\n+ set(NO_TESTS ON CACHE BOOL "" FORCE)\n+ set(BUILD_SHARED_LIBS OFF CACHE BOOL "" FORCE)\n+ set(PREFER_SYSTEM_LIB ON CACHE BOOL "" FORCE)\n+\n+ FetchContent_Declare(\n+ libdatachannel\n+ GIT_REPOSITORY https://github.com/paullouisageneau/libdatachannel.git\n+ GIT_TAG 6b1e2e620f1e37f0eafeee702eaea0043cb305fd', 'path': 'CMakeLists.txt', 'position': 39, 'original_position': 39, 'commit_id': '787567a8645f312760e573a7b5acd2380a53685c', 'user': {'login': 'Mrlinkwii', 'id': 17685135, 'node_id': 'MDQ6VXNlcjE3Njg1MTM1', 'avatar_url': 'https://avatars.githubusercontent.com/u/17685135?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/Mrlinkwii', 'html_url': 'https://github.com/Mrlinkwii', 'followers_url': 'https://api.github.com/users/Mrlinkwii/followers', 'following_url': 'https://api.github.com/users/Mrlinkwii/following{/other_user}', 'gists_url': 'https://api.github.com/users/Mrlinkwii/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/Mrlinkwii/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/Mrlinkwii/subscriptions', 'organizations_url': 'https://api.github.com/users/Mrlinkwii/orgs', 'repos_url': 'https://api.github.com/users/Mrlinkwii/repos', 'events_url': 'https://api.github.com/users/Mrlinkwii/events{/privacy}', 'received_events_url': 'https://api.github.com/users/Mrlinkwii/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': "I think it would be better to use git commits hashs due to the fact the release version contents can always be changed since what I see their releases aren't immutable , it harder to replicate a git hash than just replace the contents of a version ", 'created_at': '2026-10-03T15:33:48Z', 'updated_at': '2026-10-03T15:33:48Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14902#discussion_r4173747102', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14902', 'author_association': 'CONTRIBUTOR', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4173747102'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14902#discussion_r4173747102'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14902'}}, 'original_commit_id': '787567a8645f312760e573a7b5acd2380a53685c', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4173747102/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'in_reply_to_id': 4173621906}], 'type': 'gh_pull_request_review'}
2026-10-03T15:26:09.700233 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'JoshuaVandaele', 'action': 'edited', 'pr_id': 14902, 'pr_title': 'UICommon: Add Web Interface for streaming integrated GBAs.', 'state': 'changes_requested', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14902#pullrequestreview-5401304606', 'comments': [{'id': 4173605651, 'node_id': 'PRRC_kwDOALCn2M74xCsT', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4173605651', 'pull_request_review_id': 5401304606, 'diff_hunk': '@@ -767,16 +769,36 @@ if(WIN32 OR LINUX OR CMAKE_SYSTEM_NAME STREQUAL "FreeBSD" OR CMAKE_SYSTEM_NAME S\n add_definitions(-DHAVE_CPPIPC)\n endif()\n \n-set(NO_MEDIA OFF CACHE BOOL "" FORCE)\n-set(NO_WEBSOCKET OFF CACHE BOOL "" FORCE)\n-set(NO_EXAMPLES ON CACHE BOOL "" FORCE)\n-set(NO_TESTS ON CACHE BOOL "" FORCE)\n-set(BUILD_SHARED_LIBS OFF CACHE BOOL "" FORCE)\n-set(PREFER_SYSTEM_LIB ON CACHE BOOL "" FORCE)\n-add_subdirectory(Externals/libdatachannel)\n+if(ENABLE_WEB_INTERFACE)\n+ # libdatachannel\n+ set(NO_MEDIA OFF CACHE BOOL "" FORCE)\n+ set(NO_WEBSOCKET OFF CACHE BOOL "" FORCE)\n+ set(NO_EXAMPLES ON CACHE BOOL "" FORCE)\n+ set(NO_TESTS ON CACHE BOOL "" FORCE)\n+ set(BUILD_SHARED_LIBS OFF CACHE BOOL "" FORCE)\n+ set(PREFER_SYSTEM_LIB ON CACHE BOOL "" FORCE)\n+\n+ FetchContent_Declare(\n+ libdatachannel\n+ GIT_REPOSITORY https://github.com/paullouisageneau/libdatachannel.git\n+ GIT_TAG 6b1e2e620f1e37f0eafeee702eaea0043cb305fd\n+ GIT_SHALLOW TRUE\n+ )\n+ FetchContent_MakeAvailable(libdatachannel)\n+\n+ if(NOT MSVC)\n+ target_compile_options(datachannel PRIVATE -fexceptions)\n+ endif()', 'path': 'CMakeLists.txt', 'position': 46, 'original_position': 46, 'commit_id': '787567a8645f312760e573a7b5acd2380a53685c', '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': "Could this be moved to `Externals/LibDataChannel/CMakeLists.txt`, and then called here using ` dolphin_find_optional_system_library(LibDataChannel Externals/LibDataChannel)`?\n\nThis allows using system installations of LibDataChannel, and the `EXCLUDE_FROM_ALL` the function does should make it so Dolphin doesn't install the library:\n\n```sh\n~/Contributing/dolphin-upstream $ cmake --preset dev -DCMAKE_INSTALL_PREFIX=/tmp/dolphin && cmake --build --preset dev\n[...]\n~/Contributing/dolphin-upstream $ cmake --install build/debug/x64/\n[...]\n~/Contributing/dolphin-upstream $ ls /tmp/dolphin/include/\nhttplib.h rtc\n```", 'created_at': '2026-10-03T14:50:40Z', 'updated_at': '2026-10-03T15:25:52Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14902#discussion_r4173605651', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14902', 'author_association': 'MEMBER', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4173605651'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14902#discussion_r4173605651'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14902'}}, 'original_commit_id': '787567a8645f312760e573a7b5acd2380a53685c', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4173605651/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}}, {'id': 4173613716, 'node_id': 'PRRC_kwDOALCn2M74xEqU', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4173613716', 'pull_request_review_id': 5401304606, 'diff_hunk': '@@ -767,16 +769,36 @@ if(WIN32 OR LINUX OR CMAKE_SYSTEM_NAME STREQUAL "FreeBSD" OR CMAKE_SYSTEM_NAME S\n add_definitions(-DHAVE_CPPIPC)\n endif()\n \n-set(NO_MEDIA OFF CACHE BOOL "" FORCE)\n-set(NO_WEBSOCKET OFF CACHE BOOL "" FORCE)\n-set(NO_EXAMPLES ON CACHE BOOL "" FORCE)\n-set(NO_TESTS ON CACHE BOOL "" FORCE)\n-set(BUILD_SHARED_LIBS OFF CACHE BOOL "" FORCE)\n-set(PREFER_SYSTEM_LIB ON CACHE BOOL "" FORCE)\n-add_subdirectory(Externals/libdatachannel)\n+if(ENABLE_WEB_INTERFACE)\n+ # libdatachannel\n+ set(NO_MEDIA OFF CACHE BOOL "" FORCE)\n+ set(NO_WEBSOCKET OFF CACHE BOOL "" FORCE)\n+ set(NO_EXAMPLES ON CACHE BOOL "" FORCE)\n+ set(NO_TESTS ON CACHE BOOL "" FORCE)\n+ set(BUILD_SHARED_LIBS OFF CACHE BOOL "" FORCE)\n+ set(PREFER_SYSTEM_LIB ON CACHE BOOL "" FORCE)\n+\n+ FetchContent_Declare(\n+ libdatachannel\n+ GIT_REPOSITORY https://github.com/paullouisageneau/libdatachannel.git\n+ GIT_TAG 6b1e2e620f1e37f0eafeee702eaea0043cb305fd\n+ GIT_SHALLOW TRUE\n+ )\n+ FetchContent_MakeAvailable(libdatachannel)\n+\n+ if(NOT MSVC)\n+ target_compile_options(datachannel PRIVATE -fexceptions)\n+ endif()\n+\n+ FetchContent_Declare(\n+ httplib\n+ GIT_REPOSITORY https://github.com/yhirose/cpp-httplib.git\n+ GIT_TAG 4f3f9ef19be83ae97a5d9a059432dc00e445b7ab\n+ GIT_SHALLOW TRUE\n+ )\n+ FetchContent_MakeAvailable(httplib)', 'path': 'CMakeLists.txt', 'position': 54, 'original_position': 54, 'commit_id': '787567a8645f312760e573a7b5acd2380a53685c', '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': 'Same as LibDataChannel, please use `dolphin_find_optional_system_library`', 'created_at': '2026-10-03T14:53:14Z', 'updated_at': '2026-10-03T15:25:52Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14902#discussion_r4173613716', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14902', 'author_association': 'MEMBER', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4173613716'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14902#discussion_r4173613716'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14902'}}, 'original_commit_id': '787567a8645f312760e573a7b5acd2380a53685c', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4173613716/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}}, {'id': 4173621906, 'node_id': 'PRRC_kwDOALCn2M74xGqS', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4173621906', 'pull_request_review_id': 5401304606, 'diff_hunk': '@@ -767,16 +769,36 @@ if(WIN32 OR LINUX OR CMAKE_SYSTEM_NAME STREQUAL "FreeBSD" OR CMAKE_SYSTEM_NAME S\n add_definitions(-DHAVE_CPPIPC)\n endif()\n \n-set(NO_MEDIA OFF CACHE BOOL "" FORCE)\n-set(NO_WEBSOCKET OFF CACHE BOOL "" FORCE)\n-set(NO_EXAMPLES ON CACHE BOOL "" FORCE)\n-set(NO_TESTS ON CACHE BOOL "" FORCE)\n-set(BUILD_SHARED_LIBS OFF CACHE BOOL "" FORCE)\n-set(PREFER_SYSTEM_LIB ON CACHE BOOL "" FORCE)\n-add_subdirectory(Externals/libdatachannel)\n+if(ENABLE_WEB_INTERFACE)\n+ # libdatachannel\n+ set(NO_MEDIA OFF CACHE BOOL "" FORCE)\n+ set(NO_WEBSOCKET OFF CACHE BOOL "" FORCE)\n+ set(NO_EXAMPLES ON CACHE BOOL "" FORCE)\n+ set(NO_TESTS ON CACHE BOOL "" FORCE)\n+ set(BUILD_SHARED_LIBS OFF CACHE BOOL "" FORCE)\n+ set(PREFER_SYSTEM_LIB ON CACHE BOOL "" FORCE)\n+\n+ FetchContent_Declare(\n+ libdatachannel\n+ GIT_REPOSITORY https://github.com/paullouisageneau/libdatachannel.git\n+ GIT_TAG 6b1e2e620f1e37f0eafeee702eaea0043cb305fd', 'path': 'CMakeLists.txt', 'position': 39, 'original_position': 39, 'commit_id': '787567a8645f312760e573a7b5acd2380a53685c', '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': '`GIT_TAG` can be an actual tag, e.g. `v0.24.6`. Tags can be listed using `git tag` or more helpfully they\'re shown here in the release tab:\n\n<img width="776" height="258" alt="Image" src="https://github.com/user-attachments/assets/3224aeb8-66e9-4891-b1a8-998bf6a07724" />\n', 'created_at': '2026-10-03T14:55:06Z', 'updated_at': '2026-10-03T15:25:52Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14902#discussion_r4173621906', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14902', 'author_association': 'MEMBER', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4173621906'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14902#discussion_r4173621906'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14902'}}, 'original_commit_id': '787567a8645f312760e573a7b5acd2380a53685c', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4173621906/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}}, {'id': 4173637231, 'node_id': 'PRRC_kwDOALCn2M74xKZv', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4173637231', 'pull_request_review_id': 5401304606, 'diff_hunk': '@@ -0,0 +1,20 @@\n+add_library(webinterface\n+ AVStream.cpp\n+ AVStream.h\n+ AVEncoder.cpp\n+ AVEncoder.h\n+ WebServer.cpp\n+ WebServer.h\n+)\n+\n+# The cpp-httplib and libdatachannel APIs require some use of exceptions.\n+if(NOT MSVC)\n+ set_source_files_properties(\n+ AVStream.cpp\n+ WebServer.cpp\n+ PROPERTIES COMPILE_OPTIONS "-fexceptions"\n+ )\n+endif()\n+\n+target_link_libraries(webinterface PRIVATE datachannel)', 'path': 'Source/Core/UICommon/WebUI/CMakeLists.txt', 'position': 19, 'original_position': 19, 'commit_id': '787567a8645f312760e573a7b5acd2380a53685c', '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': 'I believe the target we should be using is `LibDataChannel::LibDataChannel` since this is probably what system libraries expose (as per their `examples`)', 'created_at': '2026-10-03T14:59:59Z', 'updated_at': '2026-10-03T15:25:52Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14902#discussion_r4173637231', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14902', 'author_association': 'MEMBER', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4173637231'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14902#discussion_r4173637231'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14902'}}, 'original_commit_id': '787567a8645f312760e573a7b5acd2380a53685c', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4173637231/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}}], 'type': 'gh_pull_request_review'}
2026-10-03T15:25:54.261540 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'JoshuaVandaele', 'action': 'submitted', 'pr_id': 14902, 'pr_title': 'UICommon: Add Web Interface for streaming integrated GBAs.', 'state': 'changes_requested', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14902#pullrequestreview-5401304606', 'comments': [{'id': 4173605651, 'node_id': 'PRRC_kwDOALCn2M74xCsT', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4173605651', 'pull_request_review_id': 5401304606, 'diff_hunk': '@@ -767,16 +769,36 @@ if(WIN32 OR LINUX OR CMAKE_SYSTEM_NAME STREQUAL "FreeBSD" OR CMAKE_SYSTEM_NAME S\n add_definitions(-DHAVE_CPPIPC)\n endif()\n \n-set(NO_MEDIA OFF CACHE BOOL "" FORCE)\n-set(NO_WEBSOCKET OFF CACHE BOOL "" FORCE)\n-set(NO_EXAMPLES ON CACHE BOOL "" FORCE)\n-set(NO_TESTS ON CACHE BOOL "" FORCE)\n-set(BUILD_SHARED_LIBS OFF CACHE BOOL "" FORCE)\n-set(PREFER_SYSTEM_LIB ON CACHE BOOL "" FORCE)\n-add_subdirectory(Externals/libdatachannel)\n+if(ENABLE_WEB_INTERFACE)\n+ # libdatachannel\n+ set(NO_MEDIA OFF CACHE BOOL "" FORCE)\n+ set(NO_WEBSOCKET OFF CACHE BOOL "" FORCE)\n+ set(NO_EXAMPLES ON CACHE BOOL "" FORCE)\n+ set(NO_TESTS ON CACHE BOOL "" FORCE)\n+ set(BUILD_SHARED_LIBS OFF CACHE BOOL "" FORCE)\n+ set(PREFER_SYSTEM_LIB ON CACHE BOOL "" FORCE)\n+\n+ FetchContent_Declare(\n+ libdatachannel\n+ GIT_REPOSITORY https://github.com/paullouisageneau/libdatachannel.git\n+ GIT_TAG 6b1e2e620f1e37f0eafeee702eaea0043cb305fd\n+ GIT_SHALLOW TRUE\n+ )\n+ FetchContent_MakeAvailable(libdatachannel)\n+\n+ if(NOT MSVC)\n+ target_compile_options(datachannel PRIVATE -fexceptions)\n+ endif()', 'path': 'CMakeLists.txt', 'position': 46, 'original_position': 46, 'commit_id': '787567a8645f312760e573a7b5acd2380a53685c', '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': "Could this be moved to `Externals/LibDataChannel/CMakeLists.txt`, and then called here using ` dolphin_find_optional_system_library(LibDataChannel Externals/LibDataChannel)`?\n\nThis allows using system installations of LibDataChannel, and the `EXCLUDE_FROM_ALL` the function does should make it so Dolphin doesn't install the library:\n\n```sh\n~/Contributing/dolphin-upstream $ cmake --preset dev -DCMAKE_INSTALL_PREFIX=/tmp/dolphin && cmake --build --preset dev\n[...]\n~/Contributing/dolphin-upstream $ cmake --install build/debug/x64/\n[...]\n~/Contributing/dolphin-upstream $ ls /tmp/dolphin/include/\nhttplib.h rtc\n```", 'created_at': '2026-10-03T14:50:40Z', 'updated_at': '2026-10-03T15:25:52Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14902#discussion_r4173605651', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14902', 'author_association': 'MEMBER', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4173605651'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14902#discussion_r4173605651'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14902'}}, 'original_commit_id': '787567a8645f312760e573a7b5acd2380a53685c', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4173605651/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}}, {'id': 4173613716, 'node_id': 'PRRC_kwDOALCn2M74xEqU', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4173613716', 'pull_request_review_id': 5401304606, 'diff_hunk': '@@ -767,16 +769,36 @@ if(WIN32 OR LINUX OR CMAKE_SYSTEM_NAME STREQUAL "FreeBSD" OR CMAKE_SYSTEM_NAME S\n add_definitions(-DHAVE_CPPIPC)\n endif()\n \n-set(NO_MEDIA OFF CACHE BOOL "" FORCE)\n-set(NO_WEBSOCKET OFF CACHE BOOL "" FORCE)\n-set(NO_EXAMPLES ON CACHE BOOL "" FORCE)\n-set(NO_TESTS ON CACHE BOOL "" FORCE)\n-set(BUILD_SHARED_LIBS OFF CACHE BOOL "" FORCE)\n-set(PREFER_SYSTEM_LIB ON CACHE BOOL "" FORCE)\n-add_subdirectory(Externals/libdatachannel)\n+if(ENABLE_WEB_INTERFACE)\n+ # libdatachannel\n+ set(NO_MEDIA OFF CACHE BOOL "" FORCE)\n+ set(NO_WEBSOCKET OFF CACHE BOOL "" FORCE)\n+ set(NO_EXAMPLES ON CACHE BOOL "" FORCE)\n+ set(NO_TESTS ON CACHE BOOL "" FORCE)\n+ set(BUILD_SHARED_LIBS OFF CACHE BOOL "" FORCE)\n+ set(PREFER_SYSTEM_LIB ON CACHE BOOL "" FORCE)\n+\n+ FetchContent_Declare(\n+ libdatachannel\n+ GIT_REPOSITORY https://github.com/paullouisageneau/libdatachannel.git\n+ GIT_TAG 6b1e2e620f1e37f0eafeee702eaea0043cb305fd\n+ GIT_SHALLOW TRUE\n+ )\n+ FetchContent_MakeAvailable(libdatachannel)\n+\n+ if(NOT MSVC)\n+ target_compile_options(datachannel PRIVATE -fexceptions)\n+ endif()\n+\n+ FetchContent_Declare(\n+ httplib\n+ GIT_REPOSITORY https://github.com/yhirose/cpp-httplib.git\n+ GIT_TAG 4f3f9ef19be83ae97a5d9a059432dc00e445b7ab\n+ GIT_SHALLOW TRUE\n+ )\n+ FetchContent_MakeAvailable(httplib)', 'path': 'CMakeLists.txt', 'position': 54, 'original_position': 54, 'commit_id': '787567a8645f312760e573a7b5acd2380a53685c', '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': 'Same as LibDataChannel, please use `dolphin_find_optional_system_library`', 'created_at': '2026-10-03T14:53:14Z', 'updated_at': '2026-10-03T15:25:52Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14902#discussion_r4173613716', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14902', 'author_association': 'MEMBER', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4173613716'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14902#discussion_r4173613716'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14902'}}, 'original_commit_id': '787567a8645f312760e573a7b5acd2380a53685c', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4173613716/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}}, {'id': 4173621906, 'node_id': 'PRRC_kwDOALCn2M74xGqS', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4173621906', 'pull_request_review_id': 5401304606, 'diff_hunk': '@@ -767,16 +769,36 @@ if(WIN32 OR LINUX OR CMAKE_SYSTEM_NAME STREQUAL "FreeBSD" OR CMAKE_SYSTEM_NAME S\n add_definitions(-DHAVE_CPPIPC)\n endif()\n \n-set(NO_MEDIA OFF CACHE BOOL "" FORCE)\n-set(NO_WEBSOCKET OFF CACHE BOOL "" FORCE)\n-set(NO_EXAMPLES ON CACHE BOOL "" FORCE)\n-set(NO_TESTS ON CACHE BOOL "" FORCE)\n-set(BUILD_SHARED_LIBS OFF CACHE BOOL "" FORCE)\n-set(PREFER_SYSTEM_LIB ON CACHE BOOL "" FORCE)\n-add_subdirectory(Externals/libdatachannel)\n+if(ENABLE_WEB_INTERFACE)\n+ # libdatachannel\n+ set(NO_MEDIA OFF CACHE BOOL "" FORCE)\n+ set(NO_WEBSOCKET OFF CACHE BOOL "" FORCE)\n+ set(NO_EXAMPLES ON CACHE BOOL "" FORCE)\n+ set(NO_TESTS ON CACHE BOOL "" FORCE)\n+ set(BUILD_SHARED_LIBS OFF CACHE BOOL "" FORCE)\n+ set(PREFER_SYSTEM_LIB ON CACHE BOOL "" FORCE)\n+\n+ FetchContent_Declare(\n+ libdatachannel\n+ GIT_REPOSITORY https://github.com/paullouisageneau/libdatachannel.git\n+ GIT_TAG 6b1e2e620f1e37f0eafeee702eaea0043cb305fd', 'path': 'CMakeLists.txt', 'position': 39, 'original_position': 39, 'commit_id': '787567a8645f312760e573a7b5acd2380a53685c', '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': '`GIT_TAG` can be an actual tag, e.g. `v0.24.6`. Tags can be listed using `git tag` or more helpfully they\'re shown here in the release tab:\n\n<img width="776" height="258" alt="Image" src="https://github.com/user-attachments/assets/3224aeb8-66e9-4891-b1a8-998bf6a07724" />\n', 'created_at': '2026-10-03T14:55:06Z', 'updated_at': '2026-10-03T15:25:52Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14902#discussion_r4173621906', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14902', 'author_association': 'MEMBER', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4173621906'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14902#discussion_r4173621906'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14902'}}, 'original_commit_id': '787567a8645f312760e573a7b5acd2380a53685c', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4173621906/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}}, {'id': 4173637231, 'node_id': 'PRRC_kwDOALCn2M74xKZv', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4173637231', 'pull_request_review_id': 5401304606, 'diff_hunk': '@@ -0,0 +1,20 @@\n+add_library(webinterface\n+ AVStream.cpp\n+ AVStream.h\n+ AVEncoder.cpp\n+ AVEncoder.h\n+ WebServer.cpp\n+ WebServer.h\n+)\n+\n+# The cpp-httplib and libdatachannel APIs require some use of exceptions.\n+if(NOT MSVC)\n+ set_source_files_properties(\n+ AVStream.cpp\n+ WebServer.cpp\n+ PROPERTIES COMPILE_OPTIONS "-fexceptions"\n+ )\n+endif()\n+\n+target_link_libraries(webinterface PRIVATE datachannel)', 'path': 'Source/Core/UICommon/WebUI/CMakeLists.txt', 'position': 19, 'original_position': 19, 'commit_id': '787567a8645f312760e573a7b5acd2380a53685c', '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': 'I believe the target we should be using is `LibDataChannel::LibDataChannel` since this is probably what system libraries expose (as per their `examples`)', 'created_at': '2026-10-03T14:59:59Z', 'updated_at': '2026-10-03T15:25:52Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14902#discussion_r4173637231', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14902', 'author_association': 'MEMBER', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4173637231'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14902#discussion_r4173637231'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14902'}}, 'original_commit_id': '787567a8645f312760e573a7b5acd2380a53685c', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4173637231/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}}], 'type': 'gh_pull_request_review'}
2026-10-03T15:25:53.874688 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'JoshuaVandaele', 'action': 'edited', 'pr_id': 14902, 'pr_title': 'UICommon: Add Web Interface for streaming integrated GBAs.', 'state': 'changes_requested', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14902#pullrequestreview-5401304606', 'comments': [{'id': 4173605651, 'node_id': 'PRRC_kwDOALCn2M74xCsT', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4173605651', 'pull_request_review_id': 5401304606, 'diff_hunk': '@@ -767,16 +769,36 @@ if(WIN32 OR LINUX OR CMAKE_SYSTEM_NAME STREQUAL "FreeBSD" OR CMAKE_SYSTEM_NAME S\n add_definitions(-DHAVE_CPPIPC)\n endif()\n \n-set(NO_MEDIA OFF CACHE BOOL "" FORCE)\n-set(NO_WEBSOCKET OFF CACHE BOOL "" FORCE)\n-set(NO_EXAMPLES ON CACHE BOOL "" FORCE)\n-set(NO_TESTS ON CACHE BOOL "" FORCE)\n-set(BUILD_SHARED_LIBS OFF CACHE BOOL "" FORCE)\n-set(PREFER_SYSTEM_LIB ON CACHE BOOL "" FORCE)\n-add_subdirectory(Externals/libdatachannel)\n+if(ENABLE_WEB_INTERFACE)\n+ # libdatachannel\n+ set(NO_MEDIA OFF CACHE BOOL "" FORCE)\n+ set(NO_WEBSOCKET OFF CACHE BOOL "" FORCE)\n+ set(NO_EXAMPLES ON CACHE BOOL "" FORCE)\n+ set(NO_TESTS ON CACHE BOOL "" FORCE)\n+ set(BUILD_SHARED_LIBS OFF CACHE BOOL "" FORCE)\n+ set(PREFER_SYSTEM_LIB ON CACHE BOOL "" FORCE)\n+\n+ FetchContent_Declare(\n+ libdatachannel\n+ GIT_REPOSITORY https://github.com/paullouisageneau/libdatachannel.git\n+ GIT_TAG 6b1e2e620f1e37f0eafeee702eaea0043cb305fd\n+ GIT_SHALLOW TRUE\n+ )\n+ FetchContent_MakeAvailable(libdatachannel)\n+\n+ if(NOT MSVC)\n+ target_compile_options(datachannel PRIVATE -fexceptions)\n+ endif()', 'path': 'CMakeLists.txt', 'position': 46, 'original_position': 46, 'commit_id': '787567a8645f312760e573a7b5acd2380a53685c', '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': "Could this be moved to `Externals/LibDataChannel/CMakeLists.txt`, and then called here using ` dolphin_find_optional_system_library(LibDataChannel Externals/LibDataChannel)`?\n\nThis allows using system installations of LibDataChannel, and the `EXCLUDE_FROM_ALL` the function does should make it so Dolphin doesn't install the library:\n\n```sh\n~/Contributing/dolphin-upstream $ cmake --preset dev -DCMAKE_INSTALL_PREFIX=/tmp/dolphin && cmake --build --preset dev\n[...]\n~/Contributing/dolphin-upstream $ cmake --install build/debug/x64/\n[...]\n~/Contributing/dolphin-upstream $ ls /tmp/dolphin/include/\nhttplib.h rtc\n```", 'created_at': '2026-10-03T14:50:40Z', 'updated_at': '2026-10-03T15:25:52Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14902#discussion_r4173605651', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14902', 'author_association': 'MEMBER', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4173605651'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14902#discussion_r4173605651'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14902'}}, 'original_commit_id': '787567a8645f312760e573a7b5acd2380a53685c', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4173605651/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}}, {'id': 4173613716, 'node_id': 'PRRC_kwDOALCn2M74xEqU', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4173613716', 'pull_request_review_id': 5401304606, 'diff_hunk': '@@ -767,16 +769,36 @@ if(WIN32 OR LINUX OR CMAKE_SYSTEM_NAME STREQUAL "FreeBSD" OR CMAKE_SYSTEM_NAME S\n add_definitions(-DHAVE_CPPIPC)\n endif()\n \n-set(NO_MEDIA OFF CACHE BOOL "" FORCE)\n-set(NO_WEBSOCKET OFF CACHE BOOL "" FORCE)\n-set(NO_EXAMPLES ON CACHE BOOL "" FORCE)\n-set(NO_TESTS ON CACHE BOOL "" FORCE)\n-set(BUILD_SHARED_LIBS OFF CACHE BOOL "" FORCE)\n-set(PREFER_SYSTEM_LIB ON CACHE BOOL "" FORCE)\n-add_subdirectory(Externals/libdatachannel)\n+if(ENABLE_WEB_INTERFACE)\n+ # libdatachannel\n+ set(NO_MEDIA OFF CACHE BOOL "" FORCE)\n+ set(NO_WEBSOCKET OFF CACHE BOOL "" FORCE)\n+ set(NO_EXAMPLES ON CACHE BOOL "" FORCE)\n+ set(NO_TESTS ON CACHE BOOL "" FORCE)\n+ set(BUILD_SHARED_LIBS OFF CACHE BOOL "" FORCE)\n+ set(PREFER_SYSTEM_LIB ON CACHE BOOL "" FORCE)\n+\n+ FetchContent_Declare(\n+ libdatachannel\n+ GIT_REPOSITORY https://github.com/paullouisageneau/libdatachannel.git\n+ GIT_TAG 6b1e2e620f1e37f0eafeee702eaea0043cb305fd\n+ GIT_SHALLOW TRUE\n+ )\n+ FetchContent_MakeAvailable(libdatachannel)\n+\n+ if(NOT MSVC)\n+ target_compile_options(datachannel PRIVATE -fexceptions)\n+ endif()\n+\n+ FetchContent_Declare(\n+ httplib\n+ GIT_REPOSITORY https://github.com/yhirose/cpp-httplib.git\n+ GIT_TAG 4f3f9ef19be83ae97a5d9a059432dc00e445b7ab\n+ GIT_SHALLOW TRUE\n+ )\n+ FetchContent_MakeAvailable(httplib)', 'path': 'CMakeLists.txt', 'position': 54, 'original_position': 54, 'commit_id': '787567a8645f312760e573a7b5acd2380a53685c', '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': 'Same as LibDataChannel, please use `dolphin_find_optional_system_library`', 'created_at': '2026-10-03T14:53:14Z', 'updated_at': '2026-10-03T15:25:52Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14902#discussion_r4173613716', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14902', 'author_association': 'MEMBER', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4173613716'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14902#discussion_r4173613716'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14902'}}, 'original_commit_id': '787567a8645f312760e573a7b5acd2380a53685c', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4173613716/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}}, {'id': 4173621906, 'node_id': 'PRRC_kwDOALCn2M74xGqS', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4173621906', 'pull_request_review_id': 5401304606, 'diff_hunk': '@@ -767,16 +769,36 @@ if(WIN32 OR LINUX OR CMAKE_SYSTEM_NAME STREQUAL "FreeBSD" OR CMAKE_SYSTEM_NAME S\n add_definitions(-DHAVE_CPPIPC)\n endif()\n \n-set(NO_MEDIA OFF CACHE BOOL "" FORCE)\n-set(NO_WEBSOCKET OFF CACHE BOOL "" FORCE)\n-set(NO_EXAMPLES ON CACHE BOOL "" FORCE)\n-set(NO_TESTS ON CACHE BOOL "" FORCE)\n-set(BUILD_SHARED_LIBS OFF CACHE BOOL "" FORCE)\n-set(PREFER_SYSTEM_LIB ON CACHE BOOL "" FORCE)\n-add_subdirectory(Externals/libdatachannel)\n+if(ENABLE_WEB_INTERFACE)\n+ # libdatachannel\n+ set(NO_MEDIA OFF CACHE BOOL "" FORCE)\n+ set(NO_WEBSOCKET OFF CACHE BOOL "" FORCE)\n+ set(NO_EXAMPLES ON CACHE BOOL "" FORCE)\n+ set(NO_TESTS ON CACHE BOOL "" FORCE)\n+ set(BUILD_SHARED_LIBS OFF CACHE BOOL "" FORCE)\n+ set(PREFER_SYSTEM_LIB ON CACHE BOOL "" FORCE)\n+\n+ FetchContent_Declare(\n+ libdatachannel\n+ GIT_REPOSITORY https://github.com/paullouisageneau/libdatachannel.git\n+ GIT_TAG 6b1e2e620f1e37f0eafeee702eaea0043cb305fd', 'path': 'CMakeLists.txt', 'position': 39, 'original_position': 39, 'commit_id': '787567a8645f312760e573a7b5acd2380a53685c', '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': '`GIT_TAG` can be an actual tag, e.g. `v0.24.6`. Tags can be listed using `git tag` or more helpfully they\'re shown here in the release tab:\n\n<img width="776" height="258" alt="Image" src="https://github.com/user-attachments/assets/3224aeb8-66e9-4891-b1a8-998bf6a07724" />\n', 'created_at': '2026-10-03T14:55:06Z', 'updated_at': '2026-10-03T15:25:52Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14902#discussion_r4173621906', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14902', 'author_association': 'MEMBER', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4173621906'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14902#discussion_r4173621906'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14902'}}, 'original_commit_id': '787567a8645f312760e573a7b5acd2380a53685c', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4173621906/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}}, {'id': 4173637231, 'node_id': 'PRRC_kwDOALCn2M74xKZv', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4173637231', 'pull_request_review_id': 5401304606, 'diff_hunk': '@@ -0,0 +1,20 @@\n+add_library(webinterface\n+ AVStream.cpp\n+ AVStream.h\n+ AVEncoder.cpp\n+ AVEncoder.h\n+ WebServer.cpp\n+ WebServer.h\n+)\n+\n+# The cpp-httplib and libdatachannel APIs require some use of exceptions.\n+if(NOT MSVC)\n+ set_source_files_properties(\n+ AVStream.cpp\n+ WebServer.cpp\n+ PROPERTIES COMPILE_OPTIONS "-fexceptions"\n+ )\n+endif()\n+\n+target_link_libraries(webinterface PRIVATE datachannel)', 'path': 'Source/Core/UICommon/WebUI/CMakeLists.txt', 'position': 19, 'original_position': 19, 'commit_id': '787567a8645f312760e573a7b5acd2380a53685c', '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': 'I believe the target we should be using is `LibDataChannel::LibDataChannel` since this is probably what system libraries expose (as per their `examples`)', 'created_at': '2026-10-03T14:59:59Z', 'updated_at': '2026-10-03T15:25:52Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14902#discussion_r4173637231', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14902', 'author_association': 'MEMBER', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4173637231'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14902#discussion_r4173637231'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14902'}}, 'original_commit_id': '787567a8645f312760e573a7b5acd2380a53685c', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4173637231/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}}], 'type': 'gh_pull_request_review'}
2026-10-03T13:41:19.182610 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'SuperSamus', 'action': 'submitted', 'pr_id': 14853, 'pr_title': 'Jit: Optimize trampoline info allocation', 'state': 'commented', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14853#pullrequestreview-5401062950', 'comments': [{'id': 4173397755, 'node_id': 'PRRC_kwDOALCn2M74wP77', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4173397755', 'pull_request_review_id': 5401062950, 'diff_hunk': '@@ -170,14 +170,28 @@ bool Jit64::BackPatch(SContext* ctx)\n if (!IsInSpace(codePtr))\n return false; // this will become a regular crash real soon after this\n \n- auto it = m_back_patch_info.find(codePtr);\n- if (it == m_back_patch_info.end())\n+ // Find the block\n+ auto block_it = m_back_patch_info.lower_bound(codePtr);\n+ if (block_it == m_back_patch_info.end())\n {\n- PanicAlertFmt("BackPatch: no register use entry for address {}", fmt::ptr(codePtr));\n+ PanicAlertFmt("BackPatch: no block returned for address {}", fmt::ptr(codePtr));\n+ return false;\n+ }\n+ // Then find the entry\n+ auto entry_it = std::ranges::find_if(\n+ block_it->second, [codePtr](auto& entry) { return codePtr < entry.start + entry.len; });', 'path': 'Source/Core/Core/PowerPC/Jit64/Jit.cpp', 'position': 1, 'original_position': 16, 'commit_id': 'c9494cbfd7c37e1ceea96235a29318756dd3b9a7', 'user': {'login': 'SuperSamus', 'id': 40663462, 'node_id': 'MDQ6VXNlcjQwNjYzNDYy', 'avatar_url': 'https://avatars.githubusercontent.com/u/40663462?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/SuperSamus', 'html_url': 'https://github.com/SuperSamus', 'followers_url': 'https://api.github.com/users/SuperSamus/followers', 'following_url': 'https://api.github.com/users/SuperSamus/following{/other_user}', 'gists_url': 'https://api.github.com/users/SuperSamus/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/SuperSamus/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/SuperSamus/subscriptions', 'organizations_url': 'https://api.github.com/users/SuperSamus/orgs', 'repos_url': 'https://api.github.com/users/SuperSamus/repos', 'events_url': 'https://api.github.com/users/SuperSamus/events{/privacy}', 'received_events_url': 'https://api.github.com/users/SuperSamus/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': "In the end I chose to move the check inside `find_if` (there's no need to hyper-optimize this, so it's better to make the code simpler).", 'created_at': '2026-10-03T13:41:17Z', 'updated_at': '2026-10-03T13:41:17Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14853#discussion_r4173397755', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14853', 'author_association': 'MEMBER', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4173397755'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14853#discussion_r4173397755'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14853'}}, 'original_commit_id': 'c9494cbfd7c37e1ceea96235a29318756dd3b9a7', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4173397755/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'in_reply_to_id': 4168698940}], 'type': 'gh_pull_request_review'}
2026-10-03T10:54:04.156949 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'sepalani', 'action': 'submitted', 'pr_id': 8863, 'pr_title': 'IOS/Network: Fix dual-core IPCEvent issue on shutdown', 'state': 'commented', 'url': 'https://github.com/dolphin-emu/dolphin/pull/8863#pullrequestreview-5400399641', 'comments': [{'id': 4172862389, 'node_id': 'PRRC_kwDOALCn2M74uNO1', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4172862389', 'pull_request_review_id': 5400399641, 'diff_hunk': '@@ -61,8 +61,11 @@ void Init()\n void Shutdown()\n {\n // IOS should always be shut down regardless of bWii because it can be running in GC mode (MIOS).\n- IOS::HLE::Shutdown(); // Depends on Memory\n- IOS::Shutdown();\n+ // The SocketManager can fire IPC events on shutdown so run it as CPU thread.\n+ Core::RunAsCPUThread([&] {', 'path': 'Source/Core/Core/HW/HW.cpp', 'position': 7, 'original_position': 7, 'commit_id': 'd32b5fbb78eab3a82f380847f742fdaa4b415a50', 'user': {'login': 'sepalani', 'id': 7890055, 'node_id': 'MDQ6VXNlcjc4OTAwNTU=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7890055?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/sepalani', 'html_url': 'https://github.com/sepalani', 'followers_url': 'https://api.github.com/users/sepalani/followers', 'following_url': 'https://api.github.com/users/sepalani/following{/other_user}', 'gists_url': 'https://api.github.com/users/sepalani/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/sepalani/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/sepalani/subscriptions', 'organizations_url': 'https://api.github.com/users/sepalani/orgs', 'repos_url': 'https://api.github.com/users/sepalani/repos', 'events_url': 'https://api.github.com/users/sepalani/events{/privacy}', 'received_events_url': 'https://api.github.com/users/sepalani/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': "I might be misremembering but IIRC, there was a panic alert raising from time to time due to this on dual core when `Shutdown` was requested _(requested from the Qt's UI thread when pressing the stop button)_ because the `IOS::HLE::Shutdown()` calls the SocketManager method to cleanup/shutdown active sockets.\r\n\r\nHowever, this seems completely unrelated to the issues I thought it was related to _(i.e. https://dolp.in/i11862, https://dolp.in/i11910)_. I'm going to try to replicate the issue to see if it was properly fixed somewhen or if this PR actually fixes it. That said, dual core shouldn't be the default anymore and this issue doesn't occur on single core.", 'created_at': '2026-10-03T10:54:02Z', 'updated_at': '2026-10-03T10:54:02Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/8863#discussion_r4172862389', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/8863', 'author_association': 'MEMBER', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4172862389'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/8863#discussion_r4172862389'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/8863'}}, 'original_commit_id': 'd32b5fbb78eab3a82f380847f742fdaa4b415a50', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4172862389/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'in_reply_to_id': 4171522448}], 'type': 'gh_pull_request_review'}
2026-10-03T08:00:59.479680 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'SuperSamus', 'action': 'submitted', 'pr_id': 14853, 'pr_title': 'Jit: Optimize trampoline info allocation', 'state': 'commented', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14853#pullrequestreview-5399634239', 'comments': [{'id': 4172242970, 'node_id': 'PRRC_kwDOALCn2M74r2Aa', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4172242970', 'pull_request_review_id': 5399634239, 'diff_hunk': '@@ -0,0 +1,13 @@\n+// Copyright 2026 Dolphin Emulator Project\n+// SPDX-License-Identifier: GPL-2.0-or-later\n+\n+#pragma once\n+\n+#include "Common/CommonTypes.h"\n+\n+struct FastmemArea\n+{\n+ u8* fast_access_start;\n+ u8* fast_access_end;\n+ const u8* slow_access_code;', 'path': 'Source/Core/Core/PowerPC/JitArm64/FastmemArea.h', 'position': 12, 'original_position': 12, 'commit_id': 'c9494cbfd7c37e1ceea96235a29318756dd3b9a7', 'user': {'login': 'SuperSamus', 'id': 40663462, 'node_id': 'MDQ6VXNlcjQwNjYzNDYy', 'avatar_url': 'https://avatars.githubusercontent.com/u/40663462?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/SuperSamus', 'html_url': 'https://github.com/SuperSamus', 'followers_url': 'https://api.github.com/users/SuperSamus/followers', 'following_url': 'https://api.github.com/users/SuperSamus/following{/other_user}', 'gists_url': 'https://api.github.com/users/SuperSamus/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/SuperSamus/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/SuperSamus/subscriptions', 'organizations_url': 'https://api.github.com/users/SuperSamus/orgs', 'repos_url': 'https://api.github.com/users/SuperSamus/repos', 'events_url': 'https://api.github.com/users/SuperSamus/events{/privacy}', 'received_events_url': 'https://api.github.com/users/SuperSamus/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': '> If all the members are u32, surely the each member would only be aligned to 4\r\n\r\nI\'m dumb and read the comment as "store _the length_ as an u32 (like on x86 (u16), where there are other members to avoid the padding).', 'created_at': '2026-10-03T08:00:57Z', 'updated_at': '2026-10-03T08:00:57Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14853#discussion_r4172242970', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14853', 'author_association': 'MEMBER', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4172242970'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14853#discussion_r4172242970'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14853'}}, 'original_commit_id': 'c9494cbfd7c37e1ceea96235a29318756dd3b9a7', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4172242970/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'in_reply_to_id': 4168815452}], 'type': 'gh_pull_request_review'}
2026-10-03T07:48:58.074612 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'JosJuice', 'action': 'submitted', 'pr_id': 14853, 'pr_title': 'Jit: Optimize trampoline info allocation', 'state': 'commented', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14853#pullrequestreview-5399604820', 'comments': [{'id': 4172213224, 'node_id': 'PRRC_kwDOALCn2M74ruvo', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4172213224', 'pull_request_review_id': 5399604820, 'diff_hunk': '@@ -170,14 +170,28 @@ bool Jit64::BackPatch(SContext* ctx)\n if (!IsInSpace(codePtr))\n return false; // this will become a regular crash real soon after this\n \n- auto it = m_back_patch_info.find(codePtr);\n- if (it == m_back_patch_info.end())\n+ // Find the block\n+ auto block_it = m_back_patch_info.lower_bound(codePtr);\n+ if (block_it == m_back_patch_info.end())\n {\n- PanicAlertFmt("BackPatch: no register use entry for address {}", fmt::ptr(codePtr));\n+ PanicAlertFmt("BackPatch: no block returned for address {}", fmt::ptr(codePtr));\n+ return false;\n+ }\n+ // Then find the entry\n+ auto entry_it = std::ranges::find_if(\n+ block_it->second, [codePtr](auto& entry) { return codePtr < entry.start + entry.len; });', 'path': 'Source/Core/Core/PowerPC/Jit64/Jit.cpp', 'position': 16, 'original_position': 16, 'commit_id': 'c9494cbfd7c37e1ceea96235a29318756dd3b9a7', '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': "> The vector is sorted by `entry.start` (the host's physical address can only increase while JITting a block) , so that check doesn't need to be inside the `find_if`.\r\n\r\nOh, so all the entries are in increasing order... Yeah okay, that makes sense then.\r\n\r\n> Do you prefer a comment about that, or to move the check inside `find_if`?\r\n\r\nA brief comment about the entries being sorted would be nice.", 'created_at': '2026-10-03T07:48:55Z', 'updated_at': '2026-10-03T07:48:55Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14853#discussion_r4172213224', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14853', 'author_association': 'MEMBER', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4172213224'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14853#discussion_r4172213224'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14853'}}, 'original_commit_id': 'c9494cbfd7c37e1ceea96235a29318756dd3b9a7', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4172213224/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'in_reply_to_id': 4168698940}], 'type': 'gh_pull_request_review'}
2026-10-03T07:47:25.818730 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'JosJuice', 'action': 'submitted', 'pr_id': 14853, 'pr_title': 'Jit: Optimize trampoline info allocation', 'state': 'commented', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14853#pullrequestreview-5399600059', 'comments': [{'id': 4172209256, 'node_id': 'PRRC_kwDOALCn2M74rtxo', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4172209256', 'pull_request_review_id': 5399600059, 'diff_hunk': '@@ -0,0 +1,13 @@\n+// Copyright 2026 Dolphin Emulator Project\n+// SPDX-License-Identifier: GPL-2.0-or-later\n+\n+#pragma once\n+\n+#include "Common/CommonTypes.h"\n+\n+struct FastmemArea\n+{\n+ u8* fast_access_start;\n+ u8* fast_access_end;\n+ const u8* slow_access_code;', 'path': 'Source/Core/Core/PowerPC/JitArm64/FastmemArea.h', 'position': 12, 'original_position': 12, 'commit_id': 'c9494cbfd7c37e1ceea96235a29318756dd3b9a7', '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': "> The struct may be bigger, but the new member is simply what used to be a map key, so the memory usage is the same. (Except for the keys of the block start address, these are new.) Considering that map keys have [a significant overhead per entry](https://web.archive.org/web/20141027052225/http://info.prelert.com/blog/stl-container-memory-usage), the memory usage should be reduced (though I didn't do any scientific measurements).\r\n\r\nRight, that makes sense. So don't feel the need to do anything about it in this PR.\r\n\r\n> Also, the alternative of storing the offset wouldn't decrease the size of the struct, because the member would be padded to 8 bytes due to alignment.\r\n\r\nIf all the members are u32, surely the each member would only be aligned to 4? I guess the struct as a whole would still be padded to 8, which brings the struct size to 16, the same as before this PR and less than the current 24.", 'created_at': '2026-10-03T07:47:23Z', 'updated_at': '2026-10-03T07:47:24Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14853#discussion_r4172209256', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14853', 'author_association': 'MEMBER', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4172209256'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14853#discussion_r4172209256'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14853'}}, 'original_commit_id': 'c9494cbfd7c37e1ceea96235a29318756dd3b9a7', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4172209256/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'in_reply_to_id': 4168815452}], 'type': 'gh_pull_request_review'}
2026-10-03T07:41:06.248155 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'submitted', 'pr_id': 9474, 'pr_title': 'Analytics refactoring', 'state': 'approved', 'url': 'https://github.com/dolphin-emu/dolphin/pull/9474#pullrequestreview-5399582450', 'comments': [], 'type': 'gh_pull_request_review'}
2026-10-03T07:01:05.604332 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'iwubcode', 'action': 'submitted', 'pr_id': 14899, 'pr_title': 'VideoCommon: Work around Adreno TEV zero input miscompilation', 'state': 'commented', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14899#pullrequestreview-5399458897', 'comments': [{'id': 4172087926, 'node_id': 'PRRC_kwDOALCn2M74rQJ2', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4172087926', 'pull_request_review_id': 5399458897, 'diff_hunk': '@@ -1434,20 +1436,36 @@ static void WriteStage(ShaderCode& out, const pixel_shader_uid_data* uid_data, i\n if (ac.dest >= TevOutput::Color0)\n out.SetConstantsUsed(C_COLORS + u32(ac.dest.Value()), C_COLORS + u32(ac.dest.Value()));\n \n+ std::string color_a = tev_c_input_table[cc.a];\n+ std::string color_b = tev_c_input_table[cc.b];\n+ if ((cc.a == TevColorArg::Zero || cc.b == TevColorArg::Zero) &&\n+ DriverDetails::HasBug(DriverDetails::BUG_BROKEN_TEV_COLOR_ZERO))\n+ {\n+ const std::string combiner = fmt::format("bpmem_pack1[{}].x", n);\n+ // The shader UID includes the color combiner, so these runtime selectors are Zero here.\n+ // Keep zero dependent on those selectors to avoid folding it into the broken Adreno shader.\n+ if (cc.a == TevColorArg::Zero)', 'path': 'Source/Core/VideoCommon/PixelShaderGen.cpp', 'position': 21, 'original_position': 21, 'commit_id': '41bfc2380e028eec72b2eae7af5d5586917a1329', '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': 'Please wrap statements that are multiple lines in `{}`', 'created_at': '2026-10-03T07:01:02Z', 'updated_at': '2026-10-03T07:01:02Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14899#discussion_r4172087926', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14899', 'author_association': 'MEMBER', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4172087926'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14899#discussion_r4172087926'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14899'}}, 'original_commit_id': '41bfc2380e028eec72b2eae7af5d5586917a1329', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4172087926/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}}], 'type': 'gh_pull_request_review'}
2026-10-03T06:04:36.112460 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'submitted', 'pr_id': 14328, 'pr_title': "DolphinTool: Show choices as metavars, and don't lie about defaults", 'state': 'approved', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14328#pullrequestreview-5399308446', 'comments': [], 'type': 'gh_pull_request_review'}
2026-10-03T05:05:30.281263 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'submitted', 'pr_id': 14773, 'pr_title': 'NetPlay: Implement local device discovery', 'state': 'commented', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14773#pullrequestreview-5399092682', 'comments': [{'id': 4171775221, 'node_id': 'PRRC_kwDOALCn2M74qDz1', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4171775221', 'pull_request_review_id': 5399092682, 'diff_hunk': '@@ -0,0 +1,270 @@\n+// Copyright 2026 Dolphin Emulator Project\n+// SPDX-License-Identifier: GPL-2.0-or-later\n+\n+#include "Core/NetPlayDiscovery.h"\n+\n+#include <cstring>\n+\n+#ifndef _WIN32\n+#include <arpa/inet.h>\n+#include <netinet/in.h>\n+#include <sys/socket.h>\n+#include <unistd.h>\n+#ifdef __APPLE__\n+#include <TargetConditionals.h>\n+#endif\n+#define closesocket close\n+#else\n+#include <winsock2.h>\n+#include <ws2ipdef.h>\n+#include <ws2tcpip.h>\n+using socklen_t = int;\n+#endif\n+#include <SFML/Network/Packet.hpp>\n+\n+#include "Common/Logging/Log.h"\n+#include "Common/Network.h"\n+\n+namespace NetPlay::Discovery\n+{\n+sf::Packet& operator<<(sf::Packet& packet, const Payload& payload)\n+{\n+ return packet << payload.server_name << payload.version << payload.game_name', 'path': 'Source/Core/Core/NetPlayDiscovery.cpp', 'position': 32, 'original_position': 32, 'commit_id': '1c9064815d224f5c9624c17de4644897621fd1ed', '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': 'Instead of this custom binary packet, what do you think about sending standard-ish `SSDP NOTIFY` message on port 1900?\nSSDP is text-based, so it would be more extensible, and I guess it would be less weird of a thing to be spamming on the local network.\n\nI think there\'s also a "going away" message too that could be implemented if really wanted to update the list sooner than a timeout.', 'created_at': '2026-10-03T05:01:54Z', 'updated_at': '2026-10-03T05:05:28Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14773#discussion_r4171775221', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14773', 'author_association': 'MEMBER', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4171775221'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14773#discussion_r4171775221'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14773'}}, 'original_commit_id': '1c9064815d224f5c9624c17de4644897621fd1ed', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4171775221/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}}, {'id': 4171783139, 'node_id': 'PRRC_kwDOALCn2M74qFvj', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4171783139', 'pull_request_review_id': 5399092682, 'diff_hunk': '@@ -0,0 +1,270 @@\n+// Copyright 2026 Dolphin Emulator Project\n+// SPDX-License-Identifier: GPL-2.0-or-later\n+\n+#include "Core/NetPlayDiscovery.h"\n+\n+#include <cstring>\n+\n+#ifndef _WIN32\n+#include <arpa/inet.h>\n+#include <netinet/in.h>\n+#include <sys/socket.h>\n+#include <unistd.h>\n+#ifdef __APPLE__\n+#include <TargetConditionals.h>\n+#endif\n+#define closesocket close\n+#else\n+#include <winsock2.h>\n+#include <ws2ipdef.h>\n+#include <ws2tcpip.h>\n+using socklen_t = int;\n+#endif\n+#include <SFML/Network/Packet.hpp>\n+\n+#include "Common/Logging/Log.h"\n+#include "Common/Network.h"\n+\n+namespace NetPlay::Discovery\n+{\n+sf::Packet& operator<<(sf::Packet& packet, const Payload& payload)\n+{\n+ return packet << payload.server_name << payload.version << payload.game_name\n+ << payload.player_count << payload.in_game << payload.port\n+ << static_cast<u8>(payload.platform);\n+}\n+\n+sf::Packet& operator>>(sf::Packet& packet, Payload& payload)\n+{\n+ u8 platform_raw = 0;\n+ packet >> payload.server_name >> payload.version >> payload.game_name >> payload.player_count >>\n+ payload.in_game >> payload.port >> platform_raw;\n+ payload.platform = static_cast<Platform>(platform_raw);\n+ return packet;\n+}\n+\n+Platform GetCurrentPlatform()\n+{\n+#ifdef __ANDROID__\n+ return Platform::Android;\n+#elifdef __linux__\n+ return Platform::Linux;\n+#elifdef _WIN32\n+ return Platform::Windows;\n+#elifdef TARGET_OS_OSX\n+ return Platform::macOS;\n+#elifdef TARGET_OS_IOS\n+ return Platform::iOS;\n+#elifdef __FreeBSD__\n+ return Platform::FreeBSD;\n+#elifdef __OpenBSD__\n+ return Platform::OpenBSD;\n+#elifdef __NetBSD__\n+ return Platform::NetBSD;\n+#elifdef __DragonFly__\n+ return Platform::DragonFlyBSD;\n+#elifdef __HAIKU__\n+ return Platform::Haiku;\n+#else\n+ return Platform::Unknown;\n+#endif\n+}\n+\n+void Server::Start()\n+{\n+ if (m_running.exchange(true))\n+ return;\n+\n+ m_thread = std::thread(&Server::DiscoveryThread, this);\n+}\n+\n+void Server::Stop()\n+{\n+ if (!m_running.exchange(false))\n+ return;\n+\n+ if (m_thread.joinable())\n+ m_thread.join();\n+}\n+\n+void Server::Update(Payload payload)\n+{\n+ std::lock_guard lock(m_payload_mutex);\n+ m_payload = payload;\n+}\n+\n+void Server::DiscoveryThread()\n+{\n+ const int sock = socket(AF_INET, SOCK_DGRAM, 0);\n+ if (sock < 0)\n+ {\n+ ERROR_LOG_FMT(NETPLAY, "NetPlayDiscovery: failed to create broadcast socket.");\n+ return;\n+ }\n+\n+ constexpr int broadcast_enable = 1;\n+ if (setsockopt(sock, SOL_SOCKET, SO_BROADCAST, reinterpret_cast<const char*>(&broadcast_enable),\n+ sizeof(broadcast_enable)) < 0)\n+ {\n+ ERROR_LOG_FMT(COMMON, "Failed to set SO_BROADCAST on socket: {}", Common::StrNetworkError());\n+ };\n+\n+ sockaddr_in addr{};\n+ addr.sin_family = AF_INET;\n+ addr.sin_port = htons(PORT);\n+ addr.sin_addr.s_addr = htonl(INADDR_BROADCAST);\n+\n+ INFO_LOG_FMT(NETPLAY, "Discovery broadcast started on port {}", PORT);\n+ while (m_running)\n+ {\n+ sf::Packet packet;\n+ packet.append(MAGIC.data(), sizeof(MAGIC));\n+\n+ {\n+ std::lock_guard lg(m_payload_mutex);\n+ packet << m_payload;\n+ }\n+\n+ sendto(sock, static_cast<const char*>(packet.getData()), static_cast<int>(packet.getDataSize()),\n+ 0, reinterpret_cast<sockaddr*>(&addr), sizeof(addr));\n+\n+ std::this_thread::sleep_for(SERVER_TIMEOUT / 3);', 'path': 'Source/Core/Core/NetPlayDiscovery.cpp', 'position': 131, 'original_position': 131, 'commit_id': '1c9064815d224f5c9624c17de4644897621fd1ed', '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 will stall shutdown for a bit.\nIf you added a member `std::binary_semaphore` you could replace the `sleep_for` with a [try_acquire_for](https://en.cppreference.com/cpp/thread/counting_semaphore/try_acquire_for).\nIt would give you a sleep that you can cancel from another thread with [release](https://en.cppreference.com/cpp/thread/counting_semaphore/release).', 'created_at': '2026-10-03T05:05:22Z', 'updated_at': '2026-10-03T05:05:28Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14773#discussion_r4171783139', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14773', 'author_association': 'MEMBER', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4171783139'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14773#discussion_r4171783139'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14773'}}, 'original_commit_id': '1c9064815d224f5c9624c17de4644897621fd1ed', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4171783139/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}}], 'type': 'gh_pull_request_review'}
2026-10-03T04:12:27.207888 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'submitted', 'pr_id': 14276, 'pr_title': 'Use more ConfigControls', 'state': 'approved', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14276#pullrequestreview-5398943066', 'comments': [], 'type': 'gh_pull_request_review'}
2026-10-03T04:04:54.489947 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'submitted', 'pr_id': 14812, 'pr_title': 'Fix crashes when using `std::locale{""}` with an invalid LC_ALL', 'state': 'approved', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14812#pullrequestreview-5398918208', 'comments': [], 'type': 'gh_pull_request_review'}
2026-10-03T03:36:14.987462 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'submitted', 'pr_id': 14656, 'pr_title': 'GameSettings: Update Mario Party games', 'state': 'approved', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14656#pullrequestreview-5398808293', 'comments': [], 'type': 'gh_pull_request_review'}
2026-10-03T03:33:43.594431 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'submitted', 'pr_id': 14866, 'pr_title': 'VideoCommon: Option for byte to memset in RAM when `EFBToTextureEnable = True`', 'state': 'changes_requested', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14866#pullrequestreview-5398800802', 'comments': [{'id': 4171534635, 'node_id': 'PRRC_kwDOALCn2M74pJEr', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4171534635', 'pull_request_review_id': 5398800802, 'diff_hunk': "@@ -1,13 +1,8 @@\n # REXE01, REXP01, REXJ01 - Excite Truck\n \n-[Core]\n-# Values set here will override the main Dolphin settings.\n-\n-[OnFrame]\n-# Add memory patches to be applied every frame here.\n-\n-[ActionReplay]\n-# Add action replay cheats here.\n-\n [Video_Hacks]\n+# Required for correct tree lighting.\n+# Tree lighting is CPU-sampled from the same texture used for terrain shadowing (which is rendered in real time).\n EFBToTextureEnable = False\n+# If a user needs `EFBToTextureEnable = False` for performance reasons, it's better to have the trees always completely lit rather than pitch black.", 'path': 'Data/Sys/GameSettings/REX.ini', 'position': 16, 'original_position': 16, 'commit_id': '46d1230882095275d75ed6cf5e3d3dd7352a2125', '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': "```suggestion\n# If a user needs `EFBToTextureEnable = True` for performance reasons, it's better to have the trees always completely lit rather than pitch black.\n```", 'created_at': '2026-10-03T03:33:27Z', 'updated_at': '2026-10-03T03:33:41Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14866#discussion_r4171534635', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14866', 'author_association': 'MEMBER', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4171534635'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14866#discussion_r4171534635'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14866'}}, 'original_commit_id': '46d1230882095275d75ed6cf5e3d3dd7352a2125', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4171534635/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}}], 'type': 'gh_pull_request_review'}
2026-10-03T03:28:24.002263 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'submitted', 'pr_id': 8863, 'pr_title': 'IOS/Network: Fix dual-core IPCEvent issue on shutdown', 'state': 'commented', 'url': 'https://github.com/dolphin-emu/dolphin/pull/8863#pullrequestreview-5398787434', 'comments': [{'id': 4171522448, 'node_id': 'PRRC_kwDOALCn2M74pGGQ', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4171522448', 'pull_request_review_id': 5398787434, 'diff_hunk': '@@ -61,8 +61,11 @@ void Init()\n void Shutdown()\n {\n // IOS should always be shut down regardless of bWii because it can be running in GC mode (MIOS).\n- IOS::HLE::Shutdown(); // Depends on Memory\n- IOS::Shutdown();\n+ // The SocketManager can fire IPC events on shutdown so run it as CPU thread.\n+ Core::RunAsCPUThread([&] {', 'path': 'Source/Core/Core/HW/HW.cpp', 'position': 7, 'original_position': 7, 'commit_id': 'd32b5fbb78eab3a82f380847f742fdaa4b415a50', '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': "`Core::RunAsCPUThread` was removed in favor of `CPUThreadGuard` in #12658.\n\nHaving said that, I don't think this will do anything. This already *is* the CPU thread and `Shutdown` happens after the CPU is done running.", 'created_at': '2026-10-03T03:28:19Z', 'updated_at': '2026-10-03T03:28:20Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/8863#discussion_r4171522448', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/8863', 'author_association': 'MEMBER', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4171522448'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/8863#discussion_r4171522448'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/8863'}}, 'original_commit_id': 'd32b5fbb78eab3a82f380847f742fdaa4b415a50', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4171522448/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}}], 'type': 'gh_pull_request_review'}
2026-10-03T03:04:12.894562 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'submitted', 'pr_id': 14772, 'pr_title': 'EXI_DeviceMic: Cleanup and small improvements', 'state': 'approved', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14772#pullrequestreview-5398713240', 'comments': [], 'type': 'gh_pull_request_review'}
2026-10-03T02:52:05.340398 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'submitted', 'pr_id': 13686, 'pr_title': 'AudioCommon: Integrate FreeSurround partially', 'state': 'changes_requested', 'url': 'https://github.com/dolphin-emu/dolphin/pull/13686#pullrequestreview-5398671067', 'comments': [{'id': 4171416852, 'node_id': 'PRRC_kwDOALCn2M74osUU', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4171416852', 'pull_request_review_id': 5398671067, 'diff_hunk': '@@ -1,55 +1,17 @@\n-/*\n-Copyright (c) 2003-2010, Mark Borgerding', 'path': 'Source/Core/AudioCommon/_KissFFTGuts.h', 'position': 2, 'original_position': 2, 'commit_id': '22d6a1aff3179ff96c77ae2e41b07dffaa0ecf5f', '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 we should probably keep some sort of references to these licenses that have been removed.\nMaybe something like what was done here: https://github.com/dolphin-emu/dolphin/blob/13e4143470cc7fc2c556c3b8ef94ebf7bc15b3e2/Source/Core/Core/HW/MagCard/C1231BR.h#L4', 'created_at': '2026-10-03T02:50:48Z', 'updated_at': '2026-10-03T02:52:03Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13686#discussion_r4171416852', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/13686', 'author_association': 'MEMBER', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4171416852'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/13686#discussion_r4171416852'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/13686'}}, 'original_commit_id': '22d6a1aff3179ff96c77ae2e41b07dffaa0ecf5f', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4171416852/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}}], 'type': 'gh_pull_request_review'}
2026-10-03T01:29:48.087848 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'submitted', 'pr_id': 14845, 'pr_title': 'generate_coefs.py: fix compatibility with modern NumPy', 'state': 'approved', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14845#pullrequestreview-5398345610', 'comments': [], 'type': 'gh_pull_request_review'}
2026-10-03T01:27:35.982888 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'submitted', 'pr_id': 14796, 'pr_title': 'Traversal: update pending-packet time on socket timeout', 'state': 'approved', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14796#pullrequestreview-5398338987', 'comments': [], 'type': 'gh_pull_request_review'}
Recent 'gh_push' events
2026-10-03T10:25:08.598791 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'pusher': 'AdmiralCurtiss', 'before_sha': '8c16ea6c2777800fc3437dd1016f786c88a97730', 'after_sha': '562875dd60fd0ff50b65dbbb611a2096802cd1b9', 'commits': [{'author': {'name': 'Jordan Woyak', 'email': 'jordan.woyak@gmail.com', 'date': '2026-09-18T01:58:43-05:00', 'username': 'jordan-woyak'}, 'distinct': False, 'added': [], 'modified': ['Source/Core/DolphinQt/InfinityBase/InfinityBaseWindow.cpp', 'Source/Core/DolphinQt/InfinityBase/InfinityBaseWindow.h'], 'removed': [], 'message': 'DolphinQt/InfinityBaseWindow: Minor adjustments.', 'url': 'https://github.com/dolphin-emu/dolphin/commit/76320c7cdfa5de3268108e328a1a4038a8372bdf', 'hash': '76320c7cdfa5de3268108e328a1a4038a8372bdf'}, {'author': {'name': 'Admiral H. Curtiss', 'email': 'pikachu025@gmail.com', 'date': '2026-10-03T12:25:05+02:00', 'username': 'AdmiralCurtiss'}, 'distinct': True, 'added': [], 'modified': ['Source/Core/DolphinQt/InfinityBase/InfinityBaseWindow.cpp', 'Source/Core/DolphinQt/InfinityBase/InfinityBaseWindow.h'], 'removed': [], 'message': 'Merge pull request #14879 from jordan-woyak/infinity-window-adjustments\n\nDolphinQt/InfinityBaseWindow: Minor adjustments.', 'url': 'https://github.com/dolphin-emu/dolphin/commit/562875dd60fd0ff50b65dbbb611a2096802cd1b9', 'hash': '562875dd60fd0ff50b65dbbb611a2096802cd1b9'}], 'base_ref_name': None, 'ref_name': 'master', 'ref_type': 'heads', 'created': False, 'deleted': False, 'forced': False, 'type': 'gh_push'}
2026-10-03T09:08:11.972738 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'pusher': 'AdmiralCurtiss', 'before_sha': 'af1ab20b356d288208e7324512efed4b0913f79e', 'after_sha': '8c16ea6c2777800fc3437dd1016f786c88a97730', 'commits': [{'author': {'name': 'Acts1631', 'email': 'acts1631kjv@proton.me', 'date': '2026-08-04T11:47:51-04:00', 'username': 'acts-1631'}, 'distinct': False, 'added': [], 'modified': ['Source/Core/Core/NetPlayClient.cpp', 'Source/Core/Core/NetPlayProto.h', 'Source/Core/DolphinQt/NetPlay/NetPlayDialog.cpp'], 'removed': [], 'message': 'NetPlay: reject oversized input buffer messages\n\nA NetPlay host could send an arbitrary buffer size to a client. The\nclient then tried to allocate input states until it reached that value.\n\nLimit buffer sizes to the existing user-interface maximum. Invalid peer\nvalues are ignored.', 'url': 'https://github.com/dolphin-emu/dolphin/commit/1eca2ca31c4e964be8f5e38bf01d786702737252', 'hash': '1eca2ca31c4e964be8f5e38bf01d786702737252'}, {'author': {'name': 'Admiral H. Curtiss', 'email': 'pikachu025@gmail.com', 'date': '2026-10-03T11:08:09+02:00', 'username': 'AdmiralCurtiss'}, 'distinct': True, 'added': [], 'modified': ['Source/Core/Core/NetPlayClient.cpp', 'Source/Core/Core/NetPlayProto.h', 'Source/Core/DolphinQt/NetPlay/NetPlayDialog.cpp'], 'removed': [], 'message': 'Merge pull request #14797 from acts-1631/security/netplay-buffer-limit\n\nNetPlay: reject oversized input buffer messages', 'url': 'https://github.com/dolphin-emu/dolphin/commit/8c16ea6c2777800fc3437dd1016f786c88a97730', 'hash': '8c16ea6c2777800fc3437dd1016f786c88a97730'}], 'base_ref_name': None, 'ref_name': 'master', 'ref_type': 'heads', 'created': False, 'deleted': False, 'forced': False, 'type': 'gh_push'}
2026-10-03T07:53:15.695398 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'pusher': 'JosJuice', 'before_sha': 'f76238742c70a3db637f2037b0ed380be4bdead1', 'after_sha': 'af1ab20b356d288208e7324512efed4b0913f79e', 'commits': [{'author': {'name': 'Joshua Vandaële', 'email': 'joshua@vandaele.software', 'date': '2026-08-12T19:12:42+02:00', 'username': 'JoshuaVandaele'}, 'distinct': False, 'added': ['Source/Core/Common/LocaleUtil.cpp', 'Source/Core/Common/LocaleUtil.h'], 'modified': ['Source/Core/Common/CMakeLists.txt', 'Source/Core/Core/Movie.cpp', 'Source/Core/Core/State.cpp', 'Source/Core/VideoCommon/PostProcessing.cpp'], 'removed': [], 'message': 'Fix crashes when using `std::locale{""}` with an invalid LC_ALL', 'url': 'https://github.com/dolphin-emu/dolphin/commit/622c711ccfa9ce42b9d6b20bca0085f804f66e59', 'hash': '622c711ccfa9ce42b9d6b20bca0085f804f66e59'}, {'author': {'name': 'JosJuice', 'email': 'josjuice@gmail.com', 'date': '2026-10-03T09:53:13+02:00', 'username': 'JosJuice'}, 'distinct': True, 'added': ['Source/Core/Common/LocaleUtil.cpp', 'Source/Core/Common/LocaleUtil.h'], 'modified': ['Source/Core/Common/CMakeLists.txt', 'Source/Core/Core/Movie.cpp', 'Source/Core/Core/State.cpp', 'Source/Core/VideoCommon/PostProcessing.cpp'], 'removed': [], 'message': 'Merge pull request #14812 from JoshuaVandaele/correct-env-locale\n\nFix crashes when using `std::locale{""}` with an invalid LC_ALL', 'url': 'https://github.com/dolphin-emu/dolphin/commit/af1ab20b356d288208e7324512efed4b0913f79e', 'hash': 'af1ab20b356d288208e7324512efed4b0913f79e'}], 'base_ref_name': None, 'ref_name': 'master', 'ref_type': 'heads', 'created': False, 'deleted': False, 'forced': False, 'type': 'gh_push'}
2026-10-03T06:05:18.061458 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'pusher': 'jordan-woyak', 'before_sha': 'a0c3ab78d391ff4703fed5a1d583e947dc8e7750', 'after_sha': 'f76238742c70a3db637f2037b0ed380be4bdead1', 'commits': [{'author': {'name': 'Joshua Vandaële', 'email': 'joshua@vandaele.software', 'date': '2026-02-06T22:48:34+01:00', 'username': 'JoshuaVandaele'}, 'distinct': False, 'added': [], 'modified': ['Readme.md', 'Source/Core/DolphinTool/ConvertCommand.cpp', 'Source/Core/DolphinTool/VerifyCommand.cpp'], 'removed': [], 'message': "DolphinTool: Show choices as metavars, and don't lie about defaults\n\nThe previous `%choices` string no longer works since cpp-optparse got updated. In a confusing turn of events, I believe cpp-optparse got renamed to cpp-argparse at some point in history, and a new cpp-optparse repository was made in its place as a fork of argparse before `%choices` was added to it, and picked up development without ever adding `%choices`. This lead to the breaking change not being documented anywhere in the commit history.\n\nShowing it as a metavar matches the style of many GNU tools, this is how it renders:\n\n```\n$ ./Binaries/dolphin-tool verify -h\nUsage: verify [options]...\n\nOptions:\n -h, --help show this help message and exit\n -u USER, --user=USER User folder path, required for temporary processing\n files. Will be automatically created if this option is\n not set.\n -i FILE, --input=FILE\n Path to input file.\n -a crc32|md5|sha1|rchash, --algorithm=crc32|md5|sha1|rchash\n Optional. Compute and print the digest using the\n selected algorithm, then exit.\n```\n\nAlso we were lying about RVZ being a default value in the convert command.", 'url': 'https://github.com/dolphin-emu/dolphin/commit/c7f2cca6e55f41f09a6152b369b21ffcc3f97363', 'hash': 'c7f2cca6e55f41f09a6152b369b21ffcc3f97363'}, {'author': {'name': 'Jordan Woyak', 'email': 'jordan.woyak@gmail.com', 'date': '2026-10-03T01:05:15-05:00', 'username': 'jordan-woyak'}, 'distinct': True, 'added': [], 'modified': ['Readme.md', 'Source/Core/DolphinTool/ConvertCommand.cpp', 'Source/Core/DolphinTool/VerifyCommand.cpp'], 'removed': [], 'message': "Merge pull request #14328 from JoshuaVandaele/choices-fix\n\nDolphinTool: Show choices as metavars, and don't lie about defaults", 'url': 'https://github.com/dolphin-emu/dolphin/commit/f76238742c70a3db637f2037b0ed380be4bdead1', 'hash': 'f76238742c70a3db637f2037b0ed380be4bdead1'}], 'base_ref_name': None, 'ref_name': 'master', 'ref_type': 'heads', 'created': False, 'deleted': False, 'forced': False, 'type': 'gh_push'}
2026-10-03T03:04:20.806275 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'pusher': 'jordan-woyak', 'before_sha': '13e4143470cc7fc2c556c3b8ef94ebf7bc15b3e2', 'after_sha': 'a0c3ab78d391ff4703fed5a1d583e947dc8e7750', 'commits': [{'author': {'name': 'Sepalani', 'email': 'sepalani@hotmail.fr', 'date': '2026-07-26T22:28:33+04:00', 'username': 'sepalani'}, 'distinct': False, 'added': [], 'modified': ['Source/Core/Core/HW/EXI/EXI_DeviceMic.cpp', 'Source/Core/Core/HW/EXI/EXI_DeviceMic.h'], 'removed': [], 'message': 'EXI_DeviceMic: Convert UStatus union to struct', 'url': 'https://github.com/dolphin-emu/dolphin/commit/afee1e8ae4c0b966880e060850eed2d01ed31cfa', 'hash': 'afee1e8ae4c0b966880e060850eed2d01ed31cfa'}, {'author': {'name': 'Sepalani', 'email': 'sepalani@hotmail.fr', 'date': '2026-07-26T22:38:11+04:00', 'username': 'sepalani'}, 'distinct': False, 'added': [], 'modified': ['Source/Core/Core/HW/EXI/EXI_DeviceMic.cpp', 'Source/Core/Core/HW/EXI/EXI_DeviceMic.h'], 'removed': [], 'message': 'EXI_DeviceMic: Make static constants constexpr', 'url': 'https://github.com/dolphin-emu/dolphin/commit/3ba9a6df1a85ec6d111d320ac1ea22e3119720ee', 'hash': '3ba9a6df1a85ec6d111d320ac1ea22e3119720ee'}, {'author': {'name': 'Sepalani', 'email': 'sepalani@hotmail.fr', 'date': '2026-07-26T22:42:47+04:00', 'username': 'sepalani'}, 'distinct': False, 'added': [], 'modified': ['Source/Core/Core/HW/EXI/EXI_DeviceMic.cpp', 'Source/Core/Core/HW/EXI/EXI_DeviceMic.h'], 'removed': [], 'message': 'EXI_DeviceMic: Replace C style array by std::array', 'url': 'https://github.com/dolphin-emu/dolphin/commit/4f717050dad5a2b2538a7784e157109118ae63f4', 'hash': '4f717050dad5a2b2538a7784e157109118ae63f4'}, {'author': {'name': 'Sepalani', 'email': 'sepalani@hotmail.fr', 'date': '2026-07-26T22:52:42+04:00', 'username': 'sepalani'}, 'distinct': False, 'added': [], 'modified': ['Source/Core/Core/HW/EXI/EXI_DeviceMic.cpp', 'Source/Core/Core/HW/EXI/EXI_DeviceMic.h'], 'removed': [], 'message': 'EXI_DeviceMic: Move members initialization to header file', 'url': 'https://github.com/dolphin-emu/dolphin/commit/7a3ac130d7a1d49f013bb2da983a42513e9ca935', 'hash': '7a3ac130d7a1d49f013bb2da983a42513e9ca935'}, {'author': {'name': 'Sepalani', 'email': 'sepalani@hotmail.fr', 'date': '2026-07-26T23:11:45+04:00', 'username': 'sepalani'}, 'distinct': False, 'added': [], 'modified': ['Source/Core/Core/HW/EXI/EXI_DeviceMic.cpp', 'Source/Core/Core/HW/EXI/EXI_DeviceMic.h'], 'removed': [], 'message': 'EXI_DeviceMic: Rename members as per Dolphin coding style', 'url': 'https://github.com/dolphin-emu/dolphin/commit/17e0c1bb833b5c884ba3b11b215024b67a48dba0', 'hash': '17e0c1bb833b5c884ba3b11b215024b67a48dba0'}, {'author': {'name': 'Sepalani', 'email': 'sepalani@hotmail.fr', 'date': '2026-07-26T23:25:40+04:00', 'username': 'sepalani'}, 'distinct': False, 'added': [], 'modified': ['Source/Core/Core/HW/EXI/EXI_DeviceMic.cpp'], 'removed': [], 'message': 'EXI_DeviceMic: Make some variables const', 'url': 'https://github.com/dolphin-emu/dolphin/commit/ff7d1d2485f2c1f1433214b6c6cd1161869a6f7a', 'hash': 'ff7d1d2485f2c1f1433214b6c6cd1161869a6f7a'}, {'author': {'name': 'Sepalani', 'email': 'sepalani@hotmail.fr', 'date': '2026-07-27T00:13:55+04:00', 'username': 'sepalani'}, 'distinct': False, 'added': [], 'modified': ['Source/Core/Core/HW/EXI/EXI_DeviceMic.cpp', 'Source/Core/Core/HW/EXI/EXI_DeviceMic.h'], 'removed': [], 'message': 'EXI_DeviceMic: Add some sanity checks', 'url': 'https://github.com/dolphin-emu/dolphin/commit/e02e385b16b5908d5c889c162c1b75ee3057c0e7', 'hash': 'e02e385b16b5908d5c889c162c1b75ee3057c0e7'}, {'author': {'name': 'Sepalani', 'email': 'sepalani@hotmail.fr', 'date': '2026-07-28T00:19:06+04:00', 'username': 'sepalani'}, 'distinct': False, 'added': [], 'modified': ['Source/Core/Core/HW/EXI/EXI_DeviceMic.cpp', 'Source/Core/Core/HW/EXI/EXI_DeviceMic.h'], 'removed': [], 'message': 'EXI_DeviceMic: Replace new[] by Common::UniqueBuffer', 'url': 'https://github.com/dolphin-emu/dolphin/commit/cee5888137aa34b0e0a264c815b6354ccb9f5b00', 'hash': 'cee5888137aa34b0e0a264c815b6354ccb9f5b00'}, {'author': {'name': 'Jordan Woyak', 'email': 'jordan.woyak@gmail.com', 'date': '2026-10-02T22:04:18-05:00', 'username': 'jordan-woyak'}, 'distinct': True, 'added': [], 'modified': ['Source/Core/Core/HW/EXI/EXI_DeviceMic.cpp', 'Source/Core/Core/HW/EXI/EXI_DeviceMic.h'], 'removed': [], 'message': 'Merge pull request #14772 from sepalani/mic-cleanup\n\nEXI_DeviceMic: Cleanup and small improvements', 'url': 'https://github.com/dolphin-emu/dolphin/commit/a0c3ab78d391ff4703fed5a1d583e947dc8e7750', 'hash': 'a0c3ab78d391ff4703fed5a1d583e947dc8e7750'}], 'base_ref_name': None, 'ref_name': 'master', 'ref_type': 'heads', 'created': False, 'deleted': False, 'forced': False, 'type': 'gh_push'}
2026-10-03T01:29:56.080643 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'pusher': 'jordan-woyak', 'before_sha': '8a40a9c01d01e768d37e6296b1bd1c836af1a264', 'after_sha': '13e4143470cc7fc2c556c3b8ef94ebf7bc15b3e2', 'commits': [{'author': {'name': 'Tillmann Karras', 'email': 'tilkax@gmail.com', 'date': '2026-09-04T02:15:49+01:00', 'username': 'Tilka'}, 'distinct': False, 'added': [], 'modified': ['docs/DSP/free_dsp_rom/generate_coefs.py'], 'removed': [], 'message': 'generate_coefs.py: fix compatibility with modern NumPy\n\nReported by apteryx.', 'url': 'https://github.com/dolphin-emu/dolphin/commit/5d4cf0ec6552e0dffdce0bc318932b9481e7084c', 'hash': '5d4cf0ec6552e0dffdce0bc318932b9481e7084c'}, {'author': {'name': 'Jordan Woyak', 'email': 'jordan.woyak@gmail.com', 'date': '2026-10-02T20:29:53-05:00', 'username': 'jordan-woyak'}, 'distinct': True, 'added': [], 'modified': ['docs/DSP/free_dsp_rom/generate_coefs.py'], 'removed': [], 'message': 'Merge pull request #14845 from Tilka/generate_coefs\n\ngenerate_coefs.py: fix compatibility with modern NumPy', 'url': 'https://github.com/dolphin-emu/dolphin/commit/13e4143470cc7fc2c556c3b8ef94ebf7bc15b3e2', 'hash': '13e4143470cc7fc2c556c3b8ef94ebf7bc15b3e2'}], 'base_ref_name': None, 'ref_name': 'master', 'ref_type': 'heads', 'created': False, 'deleted': False, 'forced': False, 'type': 'gh_push'}
2026-10-02T23:24:10.827764 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'pusher': 'jordan-woyak', 'before_sha': 'a475aba718746e7656e2e6b6e047dc98a4d05879', 'after_sha': '8a40a9c01d01e768d37e6296b1bd1c836af1a264', 'commits': [{'author': {'name': 'Jordan Woyak', 'email': 'jordan.woyak@gmail.com', 'date': '2026-09-28T22:38:27-05:00', 'username': 'jordan-woyak'}, 'distinct': False, 'added': [], 'modified': ['Source/Core/Core/HW/GBAPadEmu.cpp', 'Source/Core/Core/HW/GBAPadEmu.h', 'Source/Core/Core/HW/SI/SI_DeviceGBAEmu.cpp'], 'removed': [], 'message': 'GBAPadEmu: Make GBAPad::GetInput use actual GBA button values rather than have SI_DeviceGBAEmu translate bits from GCPad to GBA.', 'url': 'https://github.com/dolphin-emu/dolphin/commit/85a074056175ad463688b300d2f31f86ebbaef0d', 'hash': '85a074056175ad463688b300d2f31f86ebbaef0d'}, {'author': {'name': 'Jordan Woyak', 'email': 'jordan.woyak@gmail.com', 'date': '2026-10-02T18:24:08-05:00', 'username': 'jordan-woyak'}, 'distinct': True, 'added': [], 'modified': ['Source/Core/Core/HW/GBAPadEmu.cpp', 'Source/Core/Core/HW/GBAPadEmu.h', 'Source/Core/Core/HW/SI/SI_DeviceGBAEmu.cpp'], 'removed': [], 'message': 'Merge pull request #14897 from jordan-woyak/gba-button-bits\n\nGBAPadEmu: Make GBAPad::GetInput use actual GBA button values.', 'url': 'https://github.com/dolphin-emu/dolphin/commit/8a40a9c01d01e768d37e6296b1bd1c836af1a264', 'hash': '8a40a9c01d01e768d37e6296b1bd1c836af1a264'}], 'base_ref_name': None, 'ref_name': 'master', 'ref_type': 'heads', 'created': False, 'deleted': False, 'forced': False, 'type': 'gh_push'}
2026-10-02T18:56:03.273312 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'pusher': 'JosJuice', 'before_sha': 'bd094a0de5bccd4a0a14ab6a14810e31df45eb48', 'after_sha': 'a475aba718746e7656e2e6b6e047dc98a4d05879', 'commits': [{'author': {'name': 'Chase Harkcom', 'email': 'me@chasehark.com', 'date': '2026-09-09T21:44:21-06:00', 'username': 'ChaseParate'}, 'distinct': False, 'added': [], 'modified': ['Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/NativeLibrary.kt', 'Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/activities/EmulationActivity.kt', 'Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/fragments/EmulationFragment.kt', 'Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/fragments/MenuFragment.kt', 'Source/Android/app/src/main/res/layout/fragment_ingame_menu.xml', 'Source/Android/app/src/main/res/values/strings.xml', 'Source/Android/jni/MainAndroid.cpp'], 'removed': [], 'message': 'Add reset menu item to Android app', 'url': 'https://github.com/dolphin-emu/dolphin/commit/9e91582b95a928a61cde3dd5b6766e0af03e88a4', 'hash': '9e91582b95a928a61cde3dd5b6766e0af03e88a4'}, {'author': {'name': 'JosJuice', 'email': 'josjuice@gmail.com', 'date': '2026-10-02T20:56:00+02:00', 'username': 'JosJuice'}, 'distinct': True, 'added': [], 'modified': ['Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/NativeLibrary.kt', 'Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/activities/EmulationActivity.kt', 'Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/fragments/EmulationFragment.kt', 'Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/fragments/MenuFragment.kt', 'Source/Android/app/src/main/res/layout/fragment_ingame_menu.xml', 'Source/Android/app/src/main/res/values/strings.xml', 'Source/Android/jni/MainAndroid.cpp'], 'removed': [], 'message': 'Merge pull request #14857 from ChaseParate/chaseparate-android-add-reset-menu-item\n\nAndroid: Add reset item to emulation menu', 'url': 'https://github.com/dolphin-emu/dolphin/commit/a475aba718746e7656e2e6b6e047dc98a4d05879', 'hash': 'a475aba718746e7656e2e6b6e047dc98a4d05879'}], 'base_ref_name': None, 'ref_name': 'master', 'ref_type': 'heads', 'created': False, 'deleted': False, 'forced': False, 'type': 'gh_push'}
2026-10-02T17:58:19.018519 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'pusher': 'AdmiralCurtiss', 'before_sha': '5c2f8aec222289f0166be7dca984bd60cddbba36', 'after_sha': 'bd094a0de5bccd4a0a14ab6a14810e31df45eb48', 'commits': [{'author': {'name': 'Hanchen Li', 'email': 'hanchenl@nvidia.com', 'date': '2026-09-26T16:57:37-07:00', 'username': 'lihanchen'}, 'distinct': False, 'added': [], 'modified': ['Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/adapters/SettingsRowPresenter.kt', 'Source/Android/app/src/main/res/values/dimens.xml'], 'removed': [], 'message': 'Fix UI text truncation in 4K TV UI', 'url': 'https://github.com/dolphin-emu/dolphin/commit/a975e7a235434af5d77565dc8bc01b05b0ec54c2', 'hash': 'a975e7a235434af5d77565dc8bc01b05b0ec54c2'}, {'author': {'name': 'Admiral H. Curtiss', 'email': 'pikachu025@gmail.com', 'date': '2026-10-02T19:58:16+02:00', 'username': 'AdmiralCurtiss'}, 'distinct': True, 'added': [], 'modified': ['Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/adapters/SettingsRowPresenter.kt', 'Source/Android/app/src/main/res/values/dimens.xml'], 'removed': [], 'message': 'Merge pull request #14890 from lihanchen/master\n\nAndroid: Fix UI text truncation in 4K TV UI', 'url': 'https://github.com/dolphin-emu/dolphin/commit/bd094a0de5bccd4a0a14ab6a14810e31df45eb48', 'hash': 'bd094a0de5bccd4a0a14ab6a14810e31df45eb48'}], 'base_ref_name': None, 'ref_name': 'master', 'ref_type': 'heads', 'created': False, 'deleted': False, 'forced': False, 'type': 'gh_push'}
2026-10-02T17:55:38.470535 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'pusher': 'jordan-woyak', 'before_sha': '418f0cb7d3af7436b2abba9a99a2d5f7643ff3e7', 'after_sha': '5c2f8aec222289f0166be7dca984bd60cddbba36', 'commits': [{'author': {'name': 'matellush', 'email': '202132988+matellush@users.noreply.github.com', 'date': '2026-09-12T17:43:18+02:00', 'username': 'matellush'}, 'distinct': False, 'added': [], 'modified': ['Flatpak/org.DolphinEmu.dolphin-emu.yml'], 'removed': [], 'message': 'Flatpak: Bump `libevdev` to `1.13.7`', 'url': 'https://github.com/dolphin-emu/dolphin/commit/958ea7855b64ab16095452f4d717c5f845b26677', 'hash': '958ea7855b64ab16095452f4d717c5f845b26677'}, {'author': {'name': 'Jordan Woyak', 'email': 'jordan.woyak@gmail.com', 'date': '2026-10-02T12:55:35-05:00', 'username': 'jordan-woyak'}, 'distinct': True, 'added': [], 'modified': ['Flatpak/org.DolphinEmu.dolphin-emu.yml'], 'removed': [], 'message': 'Merge pull request #14861 from matellush/flatpak/libevdev\n\nFlatpak: Bump `libevdev` to `1.13.7`', 'url': 'https://github.com/dolphin-emu/dolphin/commit/5c2f8aec222289f0166be7dca984bd60cddbba36', 'hash': '5c2f8aec222289f0166be7dca984bd60cddbba36'}], 'base_ref_name': None, 'ref_name': 'master', 'ref_type': 'heads', 'created': False, 'deleted': False, 'forced': False, 'type': 'gh_push'}
2026-10-02T17:53:50.674374 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'pusher': 'AdmiralCurtiss', 'before_sha': '061f3e95bbe925bc52e1b491e586dcf039481d61', 'after_sha': '418f0cb7d3af7436b2abba9a99a2d5f7643ff3e7', 'commits': [{'author': {'name': 'Jordan Woyak', 'email': 'jordan.woyak@gmail.com', 'date': '2026-09-28T02:19:11-05:00', 'username': 'jordan-woyak'}, 'distinct': False, 'added': ['Data/Sys/GameSettings/R8V.ini', 'Data/Sys/GameSettings/RC3.ini', 'Data/Sys/GameSettings/RDO.ini'], 'modified': ['Data/Sys/GameSettings/RG8.ini'], 'removed': [], 'message': 'GameSettings: Add some required settings for Petz games.', 'url': 'https://github.com/dolphin-emu/dolphin/commit/b34a2a051343bbb597d9804a458f90887b1d86a8', 'hash': 'b34a2a051343bbb597d9804a458f90887b1d86a8'}, {'author': {'name': 'Admiral H. Curtiss', 'email': 'pikachu025@gmail.com', 'date': '2026-10-02T19:53:48+02:00', 'username': 'AdmiralCurtiss'}, 'distinct': True, 'added': ['Data/Sys/GameSettings/R8V.ini', 'Data/Sys/GameSettings/RC3.ini', 'Data/Sys/GameSettings/RDO.ini'], 'modified': ['Data/Sys/GameSettings/RG8.ini'], 'removed': [], 'message': 'Merge pull request #14894 from jordan-woyak/petz-gamesettingz\n\nGameSettings: Add some required settings for Petz games.', 'url': 'https://github.com/dolphin-emu/dolphin/commit/418f0cb7d3af7436b2abba9a99a2d5f7643ff3e7', 'hash': '418f0cb7d3af7436b2abba9a99a2d5f7643ff3e7'}], 'base_ref_name': None, 'ref_name': 'master', 'ref_type': 'heads', 'created': False, 'deleted': False, 'forced': False, 'type': 'gh_push'}
2026-10-02T17:52:32.235374 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'pusher': 'AdmiralCurtiss', 'before_sha': '8e7521c46eb674119038c9a5e19f103be0251ac8', 'after_sha': '061f3e95bbe925bc52e1b491e586dcf039481d61', 'commits': [{'author': {'name': 'Brad Smith', 'email': 'brad@comstyle.com', 'date': '2026-09-13T05:42:15-04:00', 'username': 'brad0'}, 'distinct': False, 'added': [], 'modified': ['Source/CMakeLists.txt', 'Source/Core/Common/FileUtil.cpp'], 'removed': [], 'message': 'Implement File::GetExePath() for OpenBSD with getexecpath()', 'url': 'https://github.com/dolphin-emu/dolphin/commit/71165c82a56292cdb5f2c78b4e8bfb46d8dadb02', 'hash': '71165c82a56292cdb5f2c78b4e8bfb46d8dadb02'}, {'author': {'name': 'Admiral H. Curtiss', 'email': 'pikachu025@gmail.com', 'date': '2026-10-02T19:52:29+02:00', 'username': 'AdmiralCurtiss'}, 'distinct': True, 'added': [], 'modified': ['Source/CMakeLists.txt', 'Source/Core/Common/FileUtil.cpp'], 'removed': [], 'message': 'Merge pull request #14863 from brad0/openbsd_getexecpath\n\nImplement File::GetExePath() for OpenBSD with getexecpath()', 'url': 'https://github.com/dolphin-emu/dolphin/commit/061f3e95bbe925bc52e1b491e586dcf039481d61', 'hash': '061f3e95bbe925bc52e1b491e586dcf039481d61'}], 'base_ref_name': None, 'ref_name': 'master', 'ref_type': 'heads', 'created': False, 'deleted': False, 'forced': False, 'type': 'gh_push'}
2026-10-02T17:50:40.064279 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'pusher': 'AdmiralCurtiss', 'before_sha': '24c80c5a32d9429bcd8e7b0b90d7b61763782009', 'after_sha': '8e7521c46eb674119038c9a5e19f103be0251ac8', 'commits': [{'author': {'name': 'VampireFlower', 'email': 'monstercatspedup1@gmail.com', 'date': '2026-09-30T04:04:23-06:00', 'username': 'VampireFlower'}, 'distinct': False, 'added': [], 'modified': ['Source/Core/Common/Assembler/GekkoLexer.cpp'], 'removed': [], 'message': 'Assembler: Fix crash from assembling malformed source', 'url': 'https://github.com/dolphin-emu/dolphin/commit/902587cae2b2247bc1b1e981c20067ca0082859b', 'hash': '902587cae2b2247bc1b1e981c20067ca0082859b'}, {'author': {'name': 'Admiral H. Curtiss', 'email': 'pikachu025@gmail.com', 'date': '2026-10-02T19:50:37+02:00', 'username': 'AdmiralCurtiss'}, 'distinct': True, 'added': [], 'modified': ['Source/Core/Common/Assembler/GekkoLexer.cpp'], 'removed': [], 'message': 'Merge pull request #14900 from VampireFlower/assembler-fix\n\nAssembler: Fix crash from assembling malformed source', 'url': 'https://github.com/dolphin-emu/dolphin/commit/8e7521c46eb674119038c9a5e19f103be0251ac8', 'hash': '8e7521c46eb674119038c9a5e19f103be0251ac8'}], 'base_ref_name': None, 'ref_name': 'master', 'ref_type': 'heads', 'created': False, 'deleted': False, 'forced': False, 'type': 'gh_push'}
2026-10-02T10:29:34.836618 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'pusher': 'JMC47', 'before_sha': '045c19b25636334865350d13da5f138bf7956bce', 'after_sha': '24c80c5a32d9429bcd8e7b0b90d7b61763782009', 'commits': [{'author': {'name': 'Jordan Woyak', 'email': 'jordan.woyak@gmail.com', 'date': '2026-04-13T20:51:14-05:00', 'username': 'jordan-woyak'}, 'distinct': False, 'added': [], 'modified': ['Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsFragmentPresenter.kt', 'Source/Core/Core/PowerPC/MMU.cpp', 'Source/Core/DolphinQt/Settings/AdvancedPane.cpp'], 'removed': [], 'message': 'PowerPC/MMU: Changed mask in DMA_LCToMemory and DMA_MemoryToLC functions to allow for a 256MiB MEM2.\n\nAlso adjusted maximum value for MEM2 to 256 MiB for Qt and Android UIs.', 'url': 'https://github.com/dolphin-emu/dolphin/commit/9599525ea16a539796048c42cbcf3c567f6c8205', 'hash': '9599525ea16a539796048c42cbcf3c567f6c8205'}, {'author': {'name': 'JMC47', 'email': 'JMC4789@gmail.com', 'date': '2026-10-02T06:29:32-04:00', 'username': 'JMC47'}, 'distinct': True, 'added': [], 'modified': ['Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsFragmentPresenter.kt', 'Source/Core/Core/PowerPC/MMU.cpp', 'Source/Core/DolphinQt/Settings/AdvancedPane.cpp'], 'removed': [], 'message': 'Merge pull request #14590 from jordan-woyak/mmu-256-mem2\n\nPowerPC/MMU: Change mask in DMA_LCToMemory and DMA_MemoryToLC functions to allow for a 256MiB MEM2.', 'url': 'https://github.com/dolphin-emu/dolphin/commit/24c80c5a32d9429bcd8e7b0b90d7b61763782009', 'hash': '24c80c5a32d9429bcd8e7b0b90d7b61763782009'}], 'base_ref_name': None, 'ref_name': 'master', 'ref_type': 'heads', 'created': False, 'deleted': False, 'forced': False, 'type': 'gh_push'}
2026-10-02T08:48:22.175152 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'pusher': 'jordan-woyak', 'before_sha': '8fe19d11187889de269f1fd01a23116f2de343ea', 'after_sha': '045c19b25636334865350d13da5f138bf7956bce', 'commits': [{'author': {'name': 'JordanTheToaster', 'email': 'jordanh48@ymail.com', 'date': '2026-09-09T02:35:47+01:00', 'username': 'JordanTheToaster'}, 'distinct': False, 'added': [], 'modified': ['Externals/SDL/SDL'], 'removed': [], 'message': 'Externals/SDL: Update to release 3.4.16', 'url': 'https://github.com/dolphin-emu/dolphin/commit/61ac5cb4efef0cd12019a362f143a23d32807d9c', 'hash': '61ac5cb4efef0cd12019a362f143a23d32807d9c'}, {'author': {'name': 'Jordan Woyak', 'email': 'jordan.woyak@gmail.com', 'date': '2026-10-02T03:48:19-05:00', 'username': 'jordan-woyak'}, 'distinct': True, 'added': [], 'modified': ['Externals/SDL/SDL'], 'removed': [], 'message': 'Merge pull request #14855 from JordanTheToaster/SDL-Has-Shoes-Now\n\nExternals/SDL: Update to release-3.4.16', 'url': 'https://github.com/dolphin-emu/dolphin/commit/045c19b25636334865350d13da5f138bf7956bce', 'hash': '045c19b25636334865350d13da5f138bf7956bce'}], 'base_ref_name': None, 'ref_name': 'master', 'ref_type': 'heads', 'created': False, 'deleted': False, 'forced': False, 'type': 'gh_push'}
2026-10-02T08:47:27.029113 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'pusher': 'jordan-woyak', 'before_sha': '5390a61e521013738a75102daa43513d79423192', 'after_sha': '8fe19d11187889de269f1fd01a23116f2de343ea', 'commits': [{'author': {'name': 'Joshua Vandaële', 'email': 'joshua@vandaele.software', 'date': '2026-09-11T22:38:03+02:00', 'username': 'JoshuaVandaele'}, 'distinct': False, 'added': [], 'modified': ['Source/Core/DolphinQt/Config/Mapping/IOWindow.cpp', 'Source/Core/InputCommon/ControlReference/FunctionExpression.cpp'], 'removed': [], 'message': 'Input Syntax: Add floor, ceil, round, and trunc functions', 'url': 'https://github.com/dolphin-emu/dolphin/commit/0cbf5a80abad9b007e46c648999953bc50e0af2f', 'hash': '0cbf5a80abad9b007e46c648999953bc50e0af2f'}, {'author': {'name': 'Jordan Woyak', 'email': 'jordan.woyak@gmail.com', 'date': '2026-10-02T03:47:24-05:00', 'username': 'jordan-woyak'}, 'distinct': True, 'added': [], 'modified': ['Source/Core/DolphinQt/Config/Mapping/IOWindow.cpp', 'Source/Core/InputCommon/ControlReference/FunctionExpression.cpp'], 'removed': [], 'message': 'Merge pull request #14860 from JoshuaVandaele/inputsyntax-nodecimal\n\nInput Syntax: Add floor, ceil, round, and trunc functions', 'url': 'https://github.com/dolphin-emu/dolphin/commit/8fe19d11187889de269f1fd01a23116f2de343ea', 'hash': '8fe19d11187889de269f1fd01a23116f2de343ea'}], 'base_ref_name': None, 'ref_name': 'master', 'ref_type': 'heads', 'created': False, 'deleted': False, 'forced': False, 'type': 'gh_push'}
2026-10-02T05:58:22.946856 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'pusher': 'JMC47', 'before_sha': '048e6306b82b183d061ee33c4ee32d5e76f3f09a', 'after_sha': '5390a61e521013738a75102daa43513d79423192', 'commits': [{'author': {'name': 'William Sullivan', 'email': 'willwill.sullivan@gmail.com', 'date': '2026-09-20T15:10:16-05:00', 'username': 'ICEREG1992'}, 'distinct': False, 'added': [], 'modified': ['Source/Core/AudioCommon/CubebStream.cpp', 'Source/Core/AudioCommon/CubebStream.h', 'Source/Core/AudioCommon/Mixer.cpp', 'Source/Core/AudioCommon/Mixer.h', 'Source/Core/Core/Config/MainSettings.cpp', 'Source/Core/Core/Config/MainSettings.h', 'Source/Core/DolphinQt/Settings/AudioPane.cpp', 'Source/Core/DolphinQt/Settings/AudioPane.h'], 'removed': [], 'message': 'Integrated GBA Audio Routing', 'url': 'https://github.com/dolphin-emu/dolphin/commit/0e6e00b1ef4fcc17025736e34389ac681dce193f', 'hash': '0e6e00b1ef4fcc17025736e34389ac681dce193f'}, {'author': {'name': 'JMC47', 'email': 'JMC4789@gmail.com', 'date': '2026-10-02T01:58:20-04:00', 'username': 'JMC47'}, 'distinct': True, 'added': [], 'modified': ['Source/Core/AudioCommon/CubebStream.cpp', 'Source/Core/AudioCommon/CubebStream.h', 'Source/Core/AudioCommon/Mixer.cpp', 'Source/Core/AudioCommon/Mixer.h', 'Source/Core/Core/Config/MainSettings.cpp', 'Source/Core/Core/Config/MainSettings.h', 'Source/Core/DolphinQt/Settings/AudioPane.cpp', 'Source/Core/DolphinQt/Settings/AudioPane.h'], 'removed': [], 'message': 'Merge pull request #14880 from ICEREG1992/GBARouting\n\nIntegrated GBA Audio Routing', 'url': 'https://github.com/dolphin-emu/dolphin/commit/5390a61e521013738a75102daa43513d79423192', 'hash': '5390a61e521013738a75102daa43513d79423192'}], 'base_ref_name': None, 'ref_name': 'master', 'ref_type': 'heads', 'created': False, 'deleted': False, 'forced': False, 'type': 'gh_push'}
2026-10-01T20:38:00.497828 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'pusher': 'JMC47', 'before_sha': '771fb154059c5812d6a715a23226249cc42877a2', 'after_sha': '048e6306b82b183d061ee33c4ee32d5e76f3f09a', 'commits': [{'author': {'name': 'Martino Fontana', 'email': 'tinozzo123@gmail.com', 'date': '2026-06-28T11:00:06+02:00', 'username': 'SuperSamus'}, 'distinct': False, 'added': ['Data/Sys/GameSettings/SVX.ini'], 'modified': ['Data/Sys/ApprovedInis.json'], 'removed': [], 'message': 'GameSettings: Add speed hack for Skylanders: Swap Force', 'url': 'https://github.com/dolphin-emu/dolphin/commit/0b4ebbfb94ff630963a3c94c1a6b47f991b68975', 'hash': '0b4ebbfb94ff630963a3c94c1a6b47f991b68975'}, {'author': {'name': 'JMC47', 'email': 'JMC4789@gmail.com', 'date': '2026-10-01T16:37:58-04:00', 'username': 'JMC47'}, 'distinct': True, 'added': ['Data/Sys/GameSettings/SVX.ini'], 'modified': ['Data/Sys/ApprovedInis.json'], 'removed': [], 'message': 'Merge pull request #14717 from SuperSamus/skylanders-swap-force-speed-hack\n\nGameSettings: Add speed hack for Skylanders: Swap Force', 'url': 'https://github.com/dolphin-emu/dolphin/commit/048e6306b82b183d061ee33c4ee32d5e76f3f09a', 'hash': '048e6306b82b183d061ee33c4ee32d5e76f3f09a'}], 'base_ref_name': None, 'ref_name': 'master', 'ref_type': 'heads', 'created': False, 'deleted': False, 'forced': False, 'type': 'gh_push'}
2026-10-01T02:16:57.167910 {'source': 'ghhookparser', 'repo': 'dolphin-emu/central', 'pusher': 'dependabot[bot]', 'before_sha': '0000000000000000000000000000000000000000', 'after_sha': 'dba9ec27ac82fe85388b3625f81f29ac15b1b6d0', 'commits': [{'author': {'name': 'dependabot[bot]', 'email': '49699333+dependabot[bot]@users.noreply.github.com', 'date': '2026-10-01T02:16:55Z', 'username': 'dependabot[bot]'}, 'distinct': True, 'added': [], 'modified': ['uv.lock'], 'removed': [], 'message': 'build(deps): bump urllib3 from 2.7.0 to 2.8.0\n\nBumps [urllib3](https://github.com/urllib3/urllib3) from 2.7.0 to 2.8.0.\n- [Release notes](https://github.com/urllib3/urllib3/releases)\n- [Changelog](https://github.com/urllib3/urllib3/blob/main/CHANGES.rst)\n- [Commits](https://github.com/urllib3/urllib3/compare/2.7.0...2.8.0)\n\n---\nupdated-dependencies:\n- dependency-name: urllib3\n dependency-version: 2.8.0\n dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>', 'url': 'https://github.com/dolphin-emu/central/commit/dba9ec27ac82fe85388b3625f81f29ac15b1b6d0', 'hash': 'dba9ec27ac82fe85388b3625f81f29ac15b1b6d0'}], 'base_ref_name': None, 'ref_name': 'dependabot/uv/urllib3-2.8.0', 'ref_type': 'heads', 'created': True, 'deleted': False, 'forced': False, 'type': 'gh_push'}
2026-10-01T02:16:50.563240 {'source': 'ghhookparser', 'repo': 'dolphin-emu/central', 'pusher': 'dependabot[bot]', 'before_sha': '0000000000000000000000000000000000000000', 'after_sha': '11497c1e1dd07c9776ada61ae654537e201963c4', 'commits': [{'author': {'name': 'dependabot[bot]', 'email': '49699333+dependabot[bot]@users.noreply.github.com', 'date': '2026-10-01T02:16:48Z', 'username': 'dependabot[bot]'}, 'distinct': True, 'added': [], 'modified': ['uv.lock'], 'removed': [], 'message': 'build(deps): bump oauthlib from 3.3.1 to 4.0.0\n\nBumps [oauthlib](https://github.com/oauthlib/oauthlib) from 3.3.1 to 4.0.0.\n- [Release notes](https://github.com/oauthlib/oauthlib/releases)\n- [Changelog](https://github.com/oauthlib/oauthlib/blob/master/CHANGELOG.rst)\n- [Commits](https://github.com/oauthlib/oauthlib/compare/v3.3.1...v4.0.0)\n\n---\nupdated-dependencies:\n- dependency-name: oauthlib\n dependency-version: 4.0.0\n dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>', 'url': 'https://github.com/dolphin-emu/central/commit/11497c1e1dd07c9776ada61ae654537e201963c4', 'hash': '11497c1e1dd07c9776ada61ae654537e201963c4'}], 'base_ref_name': None, 'ref_name': 'dependabot/uv/oauthlib-4.0.0', 'ref_type': 'heads', 'created': True, 'deleted': False, 'forced': False, 'type': 'gh_push'}
2026-09-30T17:06:25.037857 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'pusher': 'JosJuice', 'before_sha': '5102a0339c2177575378107b76541e47cc52122d', 'after_sha': '771fb154059c5812d6a715a23226249cc42877a2', 'commits': [{'author': {'name': 'Lilly Jade Katrin', 'email': 'lilly.kitty.1988@gmail.com', 'date': '2026-09-14T23:26:27-04:00', 'username': 'LillyJadeKatrin'}, 'distinct': False, 'added': ['Data/Sys/GameSettings/GYAE78.ini', 'Data/Sys/GameSettings/RBU.ini', 'Data/Sys/GameSettings/RDGEA4.ini', 'Data/Sys/GameSettings/SBDE08.ini', 'Data/Sys/GameSettings/SBDP08.ini'], 'modified': ['Data/Sys/ApprovedInis.json', 'Data/Sys/GameSettings/GDJEB2.ini', 'Data/Sys/GameSettings/GF7E01.ini', 'Data/Sys/GameSettings/GFTE01.ini', 'Data/Sys/GameSettings/GMSE01.ini', 'Data/Sys/GameSettings/GPOE8P.ini', 'Data/Sys/GameSettings/GQPP78.ini', 'Data/Sys/GameSettings/R3R.ini', 'Data/Sys/GameSettings/RHO.ini'], 'removed': [], 'message': 'RetroAchievements - Additional Code Approvals\n\nA handful of requested Gecko/AR codes and approvals for use with RetroAchievements.', 'url': 'https://github.com/dolphin-emu/dolphin/commit/d51d80b9ec42aaab7ee91398097dfdea5365ae6c', 'hash': 'd51d80b9ec42aaab7ee91398097dfdea5365ae6c'}, {'author': {'name': 'JosJuice', 'email': 'josjuice@gmail.com', 'date': '2026-09-30T19:06:22+02:00', 'username': 'JosJuice'}, 'distinct': True, 'added': ['Data/Sys/GameSettings/GYAE78.ini', 'Data/Sys/GameSettings/RBU.ini', 'Data/Sys/GameSettings/RDGEA4.ini', 'Data/Sys/GameSettings/SBDE08.ini', 'Data/Sys/GameSettings/SBDP08.ini'], 'modified': ['Data/Sys/ApprovedInis.json', 'Data/Sys/GameSettings/GDJEB2.ini', 'Data/Sys/GameSettings/GF7E01.ini', 'Data/Sys/GameSettings/GFTE01.ini', 'Data/Sys/GameSettings/GMSE01.ini', 'Data/Sys/GameSettings/GPOE8P.ini', 'Data/Sys/GameSettings/GQPP78.ini', 'Data/Sys/GameSettings/R3R.ini', 'Data/Sys/GameSettings/RHO.ini'], 'removed': [], 'message': 'Merge pull request #14870 from LillyJadeKatrin/retroachievements-allowlist-update\n\nRetroAchievements - Additional Code Approvals', 'url': 'https://github.com/dolphin-emu/dolphin/commit/771fb154059c5812d6a715a23226249cc42877a2', 'hash': '771fb154059c5812d6a715a23226249cc42877a2'}], 'base_ref_name': None, 'ref_name': 'master', 'ref_type': 'heads', 'created': False, 'deleted': False, 'forced': False, 'type': 'gh_push'}
2026-09-28T06:24:31.121374 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'pusher': 'JosJuice', 'before_sha': 'bb3558a70ecb767ca59c23bbe06fb6bcb78cd3bd', 'after_sha': '5102a0339c2177575378107b76541e47cc52122d', 'commits': [{'author': {'name': 'Tom Pratt', 'email': 'tom.pratt@outlook.com', 'date': '2026-09-27T21:04:53+02:00', 'username': 'tom-pratt'}, 'distinct': False, 'added': [], 'modified': ['Source/Android/app/src/main/res/layout/activity_settings.xml'], 'removed': [], 'message': "Fix android settings crash on API level 28 and lower\n\nThese API levels don't allow color selectors to be used as backgrounds.\n\nSwitch to MaterialDivider and set the color via dividerColor instead of background.", 'url': 'https://github.com/dolphin-emu/dolphin/commit/b5748b81d64bc8ee61c2a9c514f98adb2acd2cd7', 'hash': 'b5748b81d64bc8ee61c2a9c514f98adb2acd2cd7'}, {'author': {'name': 'JosJuice', 'email': 'josjuice@gmail.com', 'date': '2026-09-28T08:24:28+02:00', 'username': 'JosJuice'}, 'distinct': True, 'added': [], 'modified': ['Source/Android/app/src/main/res/layout/activity_settings.xml'], 'removed': [], 'message': 'Merge pull request #14893 from tom-pratt/android-settings-crash\n\nFix android settings crash on API level 28 and lower', 'url': 'https://github.com/dolphin-emu/dolphin/commit/5102a0339c2177575378107b76541e47cc52122d', 'hash': '5102a0339c2177575378107b76541e47cc52122d'}], 'base_ref_name': None, 'ref_name': 'master', 'ref_type': 'heads', 'created': False, 'deleted': False, 'forced': False, 'type': 'gh_push'}
2026-09-27T20:00:02.774566 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'pusher': 'JosJuice', 'before_sha': '465c652da1dc0b3048089701a1885084821c9574', 'after_sha': 'bb3558a70ecb767ca59c23bbe06fb6bcb78cd3bd', 'commits': [{'author': {'name': 'JosJuice', 'email': 'josjuice@gmail.com', 'date': '2026-09-27T20:39:11+02:00', 'username': 'JosJuice'}, 'distinct': False, 'added': [], 'modified': ['Source/Android/app/build.gradle.kts'], 'removed': [], 'message': 'Android: Set abiFilters for ndk\n\nNormally, Dolphin APKs have a lib folder that contains two subfolders:\narm64-v8a and x86_64. Both contain a libmain.so file, and arm64-v8a also\ncontains additional .so files for libadrenotools.\n\nWhen we added netplay support for Android, we brought in Jetpack Compose\nas a dependency, which in turn made libandroidx.graphics.path.so be\nincluded in Dolphin APKs. Unfortunately, this .so file was included not\nonly for arm64-v8a and x86_64, but also for armeabi-v7a and x86. This\nmade Dolphin installable on devices that use one of these older ABIs,\nbut because libmain.so is missing, trying to start Dolphin on such a\ndevice results in an instant crash. We have gotten a number of Google\nPlay reviews from armeabi-v7a users complaining about this crash.\n\nThis fixes the problem by setting abiFilters under ndk instead of under\ncmake, as documented at https://developer.android.com/ndk/guides/abis.', 'url': 'https://github.com/dolphin-emu/dolphin/commit/5f395ab79293cb88c266171a9caf0253592c70fb', 'hash': '5f395ab79293cb88c266171a9caf0253592c70fb'}, {'author': {'name': 'JosJuice', 'email': 'josjuice@gmail.com', 'date': '2026-09-27T22:00:00+02:00', 'username': 'JosJuice'}, 'distinct': True, 'added': [], 'modified': ['Source/Android/app/build.gradle.kts'], 'removed': [], 'message': 'Merge pull request #14892 from JosJuice/android-abis\n\nAndroid: Set abiFilters for ndk', 'url': 'https://github.com/dolphin-emu/dolphin/commit/bb3558a70ecb767ca59c23bbe06fb6bcb78cd3bd', 'hash': 'bb3558a70ecb767ca59c23bbe06fb6bcb78cd3bd'}], 'base_ref_name': None, 'ref_name': 'master', 'ref_type': 'heads', 'created': False, 'deleted': False, 'forced': False, 'type': 'gh_push'}
2026-09-24T21:42:41.444006 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'pusher': 'AdmiralCurtiss', 'before_sha': '0d93fc035539f25790deca638d06ee3b3b45ee64', 'after_sha': '465c652da1dc0b3048089701a1885084821c9574', 'commits': [{'author': {'name': 'Martino Fontana', 'email': 'tinozzo123@gmail.com', 'date': '2026-09-15T18:12:42+02:00', 'username': 'SuperSamus'}, 'distinct': False, 'added': [], 'modified': ['Source/Core/Core/DolphinAnalytics.h', 'Source/Core/VideoCommon/Statistics.cpp', 'Source/Core/VideoCommon/Statistics.h'], 'removed': [], 'message': "VideoCommon/Statistics: Use unsigned int where appropriate\n\nSome poorly coded games are able to overflow some statistics (e.g. Jimmy Neutron: Boy Genius's title screen).\nWhile funny, signed integer overflow is undefined behavior, and while in practice here it's extremely unlikely to cause issues, it's still better to avoid it.", 'url': 'https://github.com/dolphin-emu/dolphin/commit/910eeffc087a01a60652047d0697b6bb8a14ae4e', 'hash': '910eeffc087a01a60652047d0697b6bb8a14ae4e'}, {'author': {'name': 'Admiral H. Curtiss', 'email': 'pikachu025@gmail.com', 'date': '2026-09-24T23:42:38+02:00', 'username': 'AdmiralCurtiss'}, 'distinct': True, 'added': [], 'modified': ['Source/Core/Core/DolphinAnalytics.h', 'Source/Core/VideoCommon/Statistics.cpp', 'Source/Core/VideoCommon/Statistics.h'], 'removed': [], 'message': 'Merge pull request #14887 from SuperSamus/statistics-unsigned-members\n\nVideoCommon/Statistics: Use unsigned int where appropriate', 'url': 'https://github.com/dolphin-emu/dolphin/commit/465c652da1dc0b3048089701a1885084821c9574', 'hash': '465c652da1dc0b3048089701a1885084821c9574'}], 'base_ref_name': None, 'ref_name': 'master', 'ref_type': 'heads', 'created': False, 'deleted': False, 'forced': False, 'type': 'gh_push'}
2026-09-24T03:53:46.978497 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'pusher': 'OatmealDome', 'before_sha': '233b2dfe6d6427bed6874d641dfab04ccac2974e', 'after_sha': '0d93fc035539f25790deca638d06ee3b3b45ee64', 'commits': [{'author': {'name': 'Admiral H. Curtiss', 'email': 'pikachu025@gmail.com', 'date': '2026-07-22T03:21:19+02:00', 'username': 'AdmiralCurtiss'}, 'distinct': False, 'added': [], 'modified': ['Source/Core/Core/HW/DSPHLE/UCodes/AXVoice.h'], 'removed': [], 'message': 'HW/DSPHLE/AXVoice: Check array bounds in ApplyUpdatesForMs()\n\nFixes https://github.com/dolphin-emu/dolphin/security/advisories/GHSA-4q28-hhjv-hf3f', 'url': 'https://github.com/dolphin-emu/dolphin/commit/b2c4d543dd87e5344516d212ee29d256caa2adf1', 'hash': 'b2c4d543dd87e5344516d212ee29d256caa2adf1'}, {'author': {'name': 'Admiral H. Curtiss', 'email': 'pikachu025@gmail.com', 'date': '2026-07-22T12:18:43+02:00', 'username': 'AdmiralCurtiss'}, 'distinct': False, 'added': [], 'modified': ['Source/Core/Core/HW/DSPHLE/UCodes/AXVoice.h'], 'removed': [], 'message': 'HW/DSPHLE/AXVoice: Prefer BitCastPtr over BitCastToArray in ApplyUpdatesForMs()', 'url': 'https://github.com/dolphin-emu/dolphin/commit/6d2e3a1ecc1f2b3b140b650eda9d9be5dc0a92e3', 'hash': '6d2e3a1ecc1f2b3b140b650eda9d9be5dc0a92e3'}, {'author': {'name': 'Tillmann Karras', 'email': 'tilkax@gmail.com', 'date': '2026-08-08T19:32:53+01:00', 'username': 'Tilka'}, 'distinct': False, 'added': [], 'modified': ['Source/Core/Core/HW/DSPHLE/UCodes/Zelda.cpp'], 'removed': [], 'message': 'DSPHLE/Zelda: prevent out-of-bounds stack read\n\nReported by @RickdeJager.', 'url': 'https://github.com/dolphin-emu/dolphin/commit/5aa711db4144228435c41c6d4eacbab9cd6171db', 'hash': '5aa711db4144228435c41c6d4eacbab9cd6171db'}, {'author': {'name': 'Admiral H. Curtiss', 'email': 'pikachu025@gmail.com', 'date': '2026-07-20T22:27:08+02:00', 'username': 'AdmiralCurtiss'}, 'distinct': False, 'added': [], 'modified': ['Source/Core/Core/IOS/Network/IP/Top.cpp'], 'removed': [], 'message': 'IOS/NetIPTopDevice: Zero-initialize sockaddr structs\n\nFixes https://github.com/dolphin-emu/dolphin/security/advisories/GHSA-5fqv-9qrg-gm4j', 'url': 'https://github.com/dolphin-emu/dolphin/commit/b6282fb9abfa30e849fc4644356a58fd40f5589b', 'hash': 'b6282fb9abfa30e849fc4644356a58fd40f5589b'}, {'author': {'name': 'Scott Mansell', 'email': 'phiren@gmail.com', 'date': '2026-07-26T18:13:13+12:00', 'username': 'phire'}, 'distinct': False, 'added': [], 'modified': ['Source/Core/DiscIO/CompressedBlob.cpp'], 'removed': [], 'message': "GCZ: Don't trust GetBlockCompressedSize\n\nIt comes unverified from the file, and a maliciously crafted file could\ntrigger not one, but two buffer overflows in the heap.", 'url': 'https://github.com/dolphin-emu/dolphin/commit/2f5232fbf4c6b5856523e69b0634e36715981716', 'hash': '2f5232fbf4c6b5856523e69b0634e36715981716'}, {'author': {'name': 'Scott Mansell', 'email': 'phiren@gmail.com', 'date': '2026-07-26T18:15:07+12:00', 'username': 'phire'}, 'distinct': False, 'added': [], 'modified': ['Source/Core/DiscIO/CompressedBlob.cpp'], 'removed': [], 'message': "GCZ: Don't trust block_num either\n\nSectorReader::ReadChunk does do some validation on it, but it only\nchecks against the original disc size (reported by the GCZ file).\nIt has no idea how many blocks the header claimed the disc had.\n\nA maliciously crafted GCZ file could trigger read overflows off the end\nof the m_block_pointers/m_hashes arrays.", 'url': 'https://github.com/dolphin-emu/dolphin/commit/8f1e33a5f47dc350dc32f168252ecb2eba9ed2a2', 'hash': '8f1e33a5f47dc350dc32f168252ecb2eba9ed2a2'}, {'author': {'name': 'Scott Mansell', 'email': 'phiren@gmail.com', 'date': '2026-07-26T20:20:08+12:00', 'username': 'phire'}, 'distinct': False, 'added': [], 'modified': ['Source/Core/DiscIO/CompressedBlob.cpp', 'Source/Core/DiscIO/CompressedBlob.h'], 'removed': [], 'message': 'GCZ: validate while loading', 'url': 'https://github.com/dolphin-emu/dolphin/commit/4eb90c7314bed84a007ef2ec6fa9c0e35b5d72d1', 'hash': '4eb90c7314bed84a007ef2ec6fa9c0e35b5d72d1'}, {'author': {'name': 'Scott Mansell', 'email': 'phiren@gmail.com', 'date': '2026-07-26T22:22:18+12:00', 'username': 'phire'}, 'distinct': False, 'added': [], 'modified': ['Source/Core/DiscIO/CompressedBlob.h'], 'removed': [], 'message': "GCZ: use 64-bit for m_data_offset\n\nA malicious GCZ file could probably force this to be negative.\nShouldn't cause any issues other than file read failures, but need to fix\nbecause it is causing errors on MSVC.", 'url': 'https://github.com/dolphin-emu/dolphin/commit/b6d8da24b3d023c2a49498ab48b73258807ef688', 'hash': 'b6d8da24b3d023c2a49498ab48b73258807ef688'}, {'author': {'name': 'DacoTaco', 'email': 'daco_65@hotmail.com', 'date': '2026-05-13T20:26:47+02:00', 'username': 'DacoTaco'}, 'distinct': False, 'added': [], 'modified': ['Source/Core/Core/Boot/DolReader.cpp'], 'removed': [], 'message': 'fixes: make dolreader validate section addresses and sizes\n\nIOS and IPL reject non-32byte aligned sections', 'url': 'https://github.com/dolphin-emu/dolphin/commit/611d86489714606b75e426d68be78e0d5a24fcc6', 'hash': '611d86489714606b75e426d68be78e0d5a24fcc6'}, {'author': {'name': 'Scott Mansell', 'email': 'phiren@gmail.com', 'date': '2026-07-26T20:44:20+12:00', 'username': 'phire'}, 'distinct': False, 'added': [], 'modified': ['Source/Core/Core/Boot/DolReader.cpp'], 'removed': [], 'message': 'DolReader: Fix integer wraparound\n\nA malicious dol could theoretically use integer wraparound to bypass\nbounds checking and cause DolReader to read past the end of m_bytes.\n\nCould result in crashes, wasting large amounts of memory, or even the\ndisclosure of heap memory contents.', 'url': 'https://github.com/dolphin-emu/dolphin/commit/5e237fd28491f94e72ac3d87e854bb40ff4eeec2', 'hash': '5e237fd28491f94e72ac3d87e854bb40ff4eeec2'}, {'author': {'name': 'Acts1631', 'email': 'acts1631kjv@proton.me', 'date': '2026-07-19T21:28:01-04:00', 'username': 'acts-1631'}, 'distinct': False, 'added': [], 'modified': ['Source/Core/Core/NetPlayCommon.cpp'], 'removed': [], 'message': 'NetPlay: bound LZO decompression output\n\nNetPlay save synchronization decoded remote LZO blocks with the unsafe\ndecoder and no output capacity. A malicious host could overflow a client\nbuffer with a block larger than its declared size.\n\nUse the bounds-checking decoder, validate the declared output length, and\ngrow buffer results only after each checked block has been decoded.', 'url': 'https://github.com/dolphin-emu/dolphin/commit/a92697415379491f2cdccdee2cc956da2ca07fe1', 'hash': 'a92697415379491f2cdccdee2cc956da2ca07fe1'}, {'author': {'name': 'Acts1631', 'email': 'acts1631kjv@proton.me', 'date': '2026-07-20T19:50:54-04:00', 'username': 'acts-1631'}, 'distinct': False, 'added': [], 'modified': ['Source/Core/Core/Boot/ElfReader.cpp', 'Source/Core/Core/Boot/ElfReader.h'], 'removed': [], 'message': 'Core: validate standalone ELF input ranges\n\nElfReader trusted table offsets and counts from standalone ELF files.\nMalformed input could make it read and write past the loaded file buffer.\n\nValidate the ELF header, table ranges, segment data, section data, and\nstring-table references before accessing them. Invalid files use the\nexisting executable boot failure path.', 'url': 'https://github.com/dolphin-emu/dolphin/commit/7c4ed02b27ab6e73656697b54b35f0d1d92fd1d4', 'hash': '7c4ed02b27ab6e73656697b54b35f0d1d92fd1d4'}, {'author': {'name': 'Acts1631', 'email': 'acts1631kjv@proton.me', 'date': '2026-07-20T21:10:29-04:00', 'username': 'acts-1631'}, 'distinct': False, 'added': [], 'modified': ['Source/Core/Core/Boot/ElfReader.cpp'], 'removed': [], 'message': 'Core: log invalid ELF input\n\nLog each rejected ELF header, range, and symbol reference. This\nprovides actionable diagnostics for malformed files without changing the\nvalidation behavior.', 'url': 'https://github.com/dolphin-emu/dolphin/commit/f29ed945d0913f76e3c67eaf4e806f30244bf042', 'hash': 'f29ed945d0913f76e3c67eaf4e806f30244bf042'}, {'author': {'name': 'JosJuice', 'email': 'josjuice@gmail.com', 'date': '2026-07-26T10:48:23+02:00', 'username': 'JosJuice'}, 'distinct': False, 'added': [], 'modified': ['Source/Core/Core/IOS/FS/HostBackend/FS.cpp', 'Source/UnitTests/Core/IOS/FS/FileSystemTest.cpp'], 'removed': [], 'message': "IOS/FS: Fix loading savestate when files are open\n\nWe already had code to close open host files when reading or writing a\nsavestate, but due to d35fe1b we also need to close open guest files\nwhen reading a savestate, otherwise DoStateRead fails to delete them.\n\nI was considering an alternative solution where instead of copying and\nclearing m_handles, we just set `handle.opened = false;` for each handle\nbefore reading a savestate (but not before writing a savestate).\nHowever, this wouldn't solve the problem of DoStateWriteOrMeasure's\ncalls to OpenFile failing due to all handles being open. I'm not aware\nof any games that have that many handles open, though.", 'url': 'https://github.com/dolphin-emu/dolphin/commit/6376e0c1f130d7c3036f6be2bc38af1ea113242c', 'hash': '6376e0c1f130d7c3036f6be2bc38af1ea113242c'}, {'author': {'name': 'OatmealDome', 'email': 'julian@oatmealdome.me', 'date': '2026-07-22T17:11:18-04:00', 'username': 'OatmealDome'}, 'distinct': False, 'added': [], 'modified': ['BuildMacOSUniversalBinary.py'], 'removed': [], 'message': 'BuildMacOSUniversalBinary: Add flag to enable CCache', 'url': 'https://github.com/dolphin-emu/dolphin/commit/94b20d52f044ec3c19e0471ac505fe713980fe50', 'hash': '94b20d52f044ec3c19e0471ac505fe713980fe50'}, {'author': {'name': 'OatmealDome', 'email': 'julian@oatmealdome.me', 'date': '2026-08-10T18:06:46-04:00', 'username': 'OatmealDome'}, 'distinct': False, 'added': [], 'modified': ['CMake/ScmRevGen.cmake'], 'removed': [], 'message': 'ScmRevGen: Bump version to 2606a', 'url': 'https://github.com/dolphin-emu/dolphin/commit/596d71fbba607c4d887d851671901817e6cc3e50', 'hash': '596d71fbba607c4d887d851671901817e6cc3e50'}, {'author': {'name': 'OatmealDome', 'email': 'julian@oatmealdome.me', 'date': '2026-09-23T18:24:19-04:00', 'username': 'OatmealDome'}, 'distinct': False, 'added': [], 'modified': ['CMake/ScmRevGen.cmake'], 'removed': [], 'message': "Merge branch 'release-prep-2606a' into release-prep-2609", 'url': 'https://github.com/dolphin-emu/dolphin/commit/d085f97001ca4cdd1adfc3d20695cb59967fab7f', 'hash': 'd085f97001ca4cdd1adfc3d20695cb59967fab7f'}, {'author': {'name': 'OatmealDome', 'email': 'julian@oatmealdome.me', 'date': '2026-09-23T18:24:53-04:00', 'username': 'OatmealDome'}, 'distinct': False, 'added': [], 'modified': ['CMake/ScmRevGen.cmake'], 'removed': [], 'message': 'ScmRevGen: Bump version to 2609', 'url': 'https://github.com/dolphin-emu/dolphin/commit/f84df02055ab9610feec48e65648cac5a3c098fa', 'hash': 'f84df02055ab9610feec48e65648cac5a3c098fa'}, {'author': {'name': 'OatmealDome', 'email': 'julian@oatmealdome.me', 'date': '2026-09-23T23:53:19-04:00', 'username': 'OatmealDome'}, 'distinct': True, 'added': [], 'modified': ['CMake/ScmRevGen.cmake'], 'removed': [], 'message': "Merge branch 'release-prep-2609'", 'url': 'https://github.com/dolphin-emu/dolphin/commit/0d93fc035539f25790deca638d06ee3b3b45ee64', 'hash': '0d93fc035539f25790deca638d06ee3b3b45ee64'}], 'base_ref_name': None, 'ref_name': 'master', 'ref_type': 'heads', 'created': False, 'deleted': False, 'forced': False, 'type': 'gh_push'}
Recent 'internal_log' events
2026-10-03T21:14:28.929029 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/kzqhmmj65g7bykn4xzylrsf7m9r32zh5-central-env/lib/python3.13/site-packages/central/github/authz.py', 'lineno': 29, 'msg': 'New GH %s: %s', 'args': "('dolphin-emu/trusted-developers', 'CrossVR,meffij,kamiyo,moncefmechri,NanoByte011,OatmealDome,bentley,neobrain,tygyh,mahdihijazi,comex,JosJuice,FioraAeterna,LAGonauta,rlnilsen,noahpistilli,booto,merryhime,JoshuaVandaele,CookiePLMonster,shonumi,Gamer64ytb,mimimi085181,phire,Ziek,vladfi1,JordanTheToaster,riking,OrN,Linktothepast,crediar,galop1n,kayru,aldelaro5,DacoTaco,CelestialAmber,mmastrac,Zopolis4,delroth,RisingFog,Sir-Walrus,spxtr,TryTwo,malleoz,PatrickFerry,Simonx22,Techjar,gwicks,zopieux,LPFaint99,LillyJadeKatrin,iwubcode,mandar1jn,skidau,Sintendo,Hydr8gon,smurf3tte,Linkinworm,archshift,RachelBryk,BhaaLseN,zackhow,SuperSamus,Tilka,tom-pratt,adamdmoss,Parlane,jordan-woyak,hthh,Ebola16,CasualPokePlayer,JMC47,cscd98,jjdelvalle,rukai,hrydgard,CrystalGamma,Dentomologist,mrgreywater,AdmiralCurtiss,aroulin,Orphis,Filoppi,SirMangler,deReeperJosh,nullgemm,unknownbrackets,degasus,jloehr,Stevoisiak,EmptyChaos,leoetlino,magcius,krnlyng,skylersaleh,jezze,Tinob,Geotale,Sam-Belliveau,marcan,spycrab,yourWaifu,K0bin,glennricster,lioncash,magumagu,MayImilae,randomstuff,hackbar,mitaclaw,TellowKrinkle,linkmauve,Lobsterzelda,ligfx,Phatcat,sepalani,endrift,ShimmerGlass,cristian64,Helios747,mathieui,corwin-mcknight,orbea,dreamsyntax,nickbeth,Buddybenj,mbc07,hdcmeta,Pokechu22,ColinDTaylor,Starsam80')", 'type': 'internal_log'}
2026-10-03T21:14:27.395682 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/kzqhmmj65g7bykn4xzylrsf7m9r32zh5-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-10-03T21:13:23.615479 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/kzqhmmj65g7bykn4xzylrsf7m9r32zh5-central-env/lib/python3.13/site-packages/central/github/authz.py', 'lineno': 29, 'msg': 'New GH %s: %s', 'args': "('dolphin-emu/core-developers', 'AdmiralCurtiss,leoetlino,CrossVR,jordan-woyak,JosJuice,phire,degasus,Tilka,Pokechu22,Dentomologist,OatmealDome,linkmauve,iwubcode')", 'type': 'internal_log'}
2026-10-03T21:13:23.300885 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/kzqhmmj65g7bykn4xzylrsf7m9r32zh5-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-10-03T21:09:27.395358 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/kzqhmmj65g7bykn4xzylrsf7m9r32zh5-central-env/lib/python3.13/site-packages/central/github/authz.py', 'lineno': 29, 'msg': 'New GH %s: %s', 'args': "('dolphin-emu/trusted-developers', 'CrossVR,meffij,kamiyo,moncefmechri,NanoByte011,OatmealDome,bentley,neobrain,tygyh,mahdihijazi,comex,JosJuice,FioraAeterna,LAGonauta,rlnilsen,noahpistilli,booto,merryhime,JoshuaVandaele,CookiePLMonster,shonumi,Gamer64ytb,mimimi085181,phire,Ziek,vladfi1,JordanTheToaster,riking,OrN,Linktothepast,crediar,galop1n,kayru,aldelaro5,DacoTaco,CelestialAmber,mmastrac,Zopolis4,delroth,RisingFog,Sir-Walrus,spxtr,TryTwo,malleoz,PatrickFerry,Simonx22,Techjar,gwicks,zopieux,LPFaint99,LillyJadeKatrin,iwubcode,mandar1jn,skidau,Sintendo,Hydr8gon,smurf3tte,Linkinworm,archshift,RachelBryk,BhaaLseN,zackhow,SuperSamus,Tilka,tom-pratt,adamdmoss,Parlane,jordan-woyak,hthh,Ebola16,CasualPokePlayer,JMC47,cscd98,jjdelvalle,rukai,hrydgard,CrystalGamma,Dentomologist,mrgreywater,AdmiralCurtiss,aroulin,Orphis,Filoppi,SirMangler,deReeperJosh,nullgemm,unknownbrackets,degasus,jloehr,Stevoisiak,EmptyChaos,leoetlino,magcius,krnlyng,skylersaleh,jezze,Tinob,Geotale,Sam-Belliveau,marcan,spycrab,yourWaifu,K0bin,glennricster,lioncash,magumagu,MayImilae,randomstuff,hackbar,mitaclaw,TellowKrinkle,linkmauve,Lobsterzelda,ligfx,Phatcat,sepalani,endrift,ShimmerGlass,cristian64,Helios747,mathieui,corwin-mcknight,orbea,dreamsyntax,nickbeth,Buddybenj,mbc07,hdcmeta,Pokechu22,ColinDTaylor,Starsam80')", 'type': 'internal_log'}
2026-10-03T21:09:25.852868 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/kzqhmmj65g7bykn4xzylrsf7m9r32zh5-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-10-03T21:04:25.852514 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/kzqhmmj65g7bykn4xzylrsf7m9r32zh5-central-env/lib/python3.13/site-packages/central/github/authz.py', 'lineno': 29, 'msg': 'New GH %s: %s', 'args': "('dolphin-emu/trusted-developers', 'CrossVR,meffij,kamiyo,moncefmechri,NanoByte011,OatmealDome,bentley,neobrain,tygyh,mahdihijazi,comex,JosJuice,FioraAeterna,LAGonauta,rlnilsen,noahpistilli,booto,merryhime,JoshuaVandaele,CookiePLMonster,shonumi,Gamer64ytb,mimimi085181,phire,Ziek,vladfi1,JordanTheToaster,riking,OrN,Linktothepast,crediar,galop1n,kayru,aldelaro5,DacoTaco,CelestialAmber,mmastrac,Zopolis4,delroth,RisingFog,Sir-Walrus,spxtr,TryTwo,malleoz,PatrickFerry,Simonx22,Techjar,gwicks,zopieux,LPFaint99,LillyJadeKatrin,iwubcode,mandar1jn,skidau,Sintendo,Hydr8gon,smurf3tte,Linkinworm,archshift,RachelBryk,BhaaLseN,zackhow,SuperSamus,Tilka,tom-pratt,adamdmoss,Parlane,jordan-woyak,hthh,Ebola16,CasualPokePlayer,JMC47,cscd98,jjdelvalle,rukai,hrydgard,CrystalGamma,Dentomologist,mrgreywater,AdmiralCurtiss,aroulin,Orphis,Filoppi,SirMangler,deReeperJosh,nullgemm,unknownbrackets,degasus,jloehr,Stevoisiak,EmptyChaos,leoetlino,magcius,krnlyng,skylersaleh,jezze,Tinob,Geotale,Sam-Belliveau,marcan,spycrab,yourWaifu,K0bin,glennricster,lioncash,magumagu,MayImilae,randomstuff,hackbar,mitaclaw,TellowKrinkle,linkmauve,Lobsterzelda,ligfx,Phatcat,sepalani,endrift,ShimmerGlass,cristian64,Helios747,mathieui,corwin-mcknight,orbea,dreamsyntax,nickbeth,Buddybenj,mbc07,hdcmeta,Pokechu22,ColinDTaylor,Starsam80')", 'type': 'internal_log'}
2026-10-03T21:04:24.375610 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/kzqhmmj65g7bykn4xzylrsf7m9r32zh5-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-10-03T21:03:23.300651 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/kzqhmmj65g7bykn4xzylrsf7m9r32zh5-central-env/lib/python3.13/site-packages/central/github/authz.py', 'lineno': 29, 'msg': 'New GH %s: %s', 'args': "('dolphin-emu/core-developers', 'AdmiralCurtiss,leoetlino,CrossVR,jordan-woyak,JosJuice,phire,degasus,Tilka,Pokechu22,Dentomologist,OatmealDome,linkmauve,iwubcode')", 'type': 'internal_log'}
2026-10-03T21:03:22.949843 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/kzqhmmj65g7bykn4xzylrsf7m9r32zh5-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-10-03T20:59:24.375310 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/kzqhmmj65g7bykn4xzylrsf7m9r32zh5-central-env/lib/python3.13/site-packages/central/github/authz.py', 'lineno': 29, 'msg': 'New GH %s: %s', 'args': "('dolphin-emu/trusted-developers', 'CrossVR,meffij,kamiyo,moncefmechri,NanoByte011,OatmealDome,bentley,neobrain,tygyh,mahdihijazi,comex,JosJuice,FioraAeterna,LAGonauta,rlnilsen,noahpistilli,booto,merryhime,JoshuaVandaele,CookiePLMonster,shonumi,Gamer64ytb,mimimi085181,phire,Ziek,vladfi1,JordanTheToaster,riking,OrN,Linktothepast,crediar,galop1n,kayru,aldelaro5,DacoTaco,CelestialAmber,mmastrac,Zopolis4,delroth,RisingFog,Sir-Walrus,spxtr,TryTwo,malleoz,PatrickFerry,Simonx22,Techjar,gwicks,zopieux,LPFaint99,LillyJadeKatrin,iwubcode,mandar1jn,skidau,Sintendo,Hydr8gon,smurf3tte,Linkinworm,archshift,RachelBryk,BhaaLseN,zackhow,SuperSamus,Tilka,tom-pratt,adamdmoss,Parlane,jordan-woyak,hthh,Ebola16,CasualPokePlayer,JMC47,cscd98,jjdelvalle,rukai,hrydgard,CrystalGamma,Dentomologist,mrgreywater,AdmiralCurtiss,aroulin,Orphis,Filoppi,SirMangler,deReeperJosh,nullgemm,unknownbrackets,degasus,jloehr,Stevoisiak,EmptyChaos,leoetlino,magcius,krnlyng,skylersaleh,jezze,Tinob,Geotale,Sam-Belliveau,marcan,spycrab,yourWaifu,K0bin,glennricster,lioncash,magumagu,MayImilae,randomstuff,hackbar,mitaclaw,TellowKrinkle,linkmauve,Lobsterzelda,ligfx,Phatcat,sepalani,endrift,ShimmerGlass,cristian64,Helios747,mathieui,corwin-mcknight,orbea,dreamsyntax,nickbeth,Buddybenj,mbc07,hdcmeta,Pokechu22,ColinDTaylor,Starsam80')", 'type': 'internal_log'}
2026-10-03T20:59:22.912816 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/kzqhmmj65g7bykn4xzylrsf7m9r32zh5-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-10-03T20:54:22.912479 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/kzqhmmj65g7bykn4xzylrsf7m9r32zh5-central-env/lib/python3.13/site-packages/central/github/authz.py', 'lineno': 29, 'msg': 'New GH %s: %s', 'args': "('dolphin-emu/trusted-developers', 'CrossVR,meffij,kamiyo,moncefmechri,NanoByte011,OatmealDome,bentley,neobrain,tygyh,mahdihijazi,comex,JosJuice,FioraAeterna,LAGonauta,rlnilsen,noahpistilli,booto,merryhime,JoshuaVandaele,CookiePLMonster,shonumi,Gamer64ytb,mimimi085181,phire,Ziek,vladfi1,JordanTheToaster,riking,OrN,Linktothepast,crediar,galop1n,kayru,aldelaro5,DacoTaco,CelestialAmber,mmastrac,Zopolis4,delroth,RisingFog,Sir-Walrus,spxtr,TryTwo,malleoz,PatrickFerry,Simonx22,Techjar,gwicks,zopieux,LPFaint99,LillyJadeKatrin,iwubcode,mandar1jn,skidau,Sintendo,Hydr8gon,smurf3tte,Linkinworm,archshift,RachelBryk,BhaaLseN,zackhow,SuperSamus,Tilka,tom-pratt,adamdmoss,Parlane,jordan-woyak,hthh,Ebola16,CasualPokePlayer,JMC47,cscd98,jjdelvalle,rukai,hrydgard,CrystalGamma,Dentomologist,mrgreywater,AdmiralCurtiss,aroulin,Orphis,Filoppi,SirMangler,deReeperJosh,nullgemm,unknownbrackets,degasus,jloehr,Stevoisiak,EmptyChaos,leoetlino,magcius,krnlyng,skylersaleh,jezze,Tinob,Geotale,Sam-Belliveau,marcan,spycrab,yourWaifu,K0bin,glennricster,lioncash,magumagu,MayImilae,randomstuff,hackbar,mitaclaw,TellowKrinkle,linkmauve,Lobsterzelda,ligfx,Phatcat,sepalani,endrift,ShimmerGlass,cristian64,Helios747,mathieui,corwin-mcknight,orbea,dreamsyntax,nickbeth,Buddybenj,mbc07,hdcmeta,Pokechu22,ColinDTaylor,Starsam80')", 'type': 'internal_log'}
2026-10-03T20:54:21.421353 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/kzqhmmj65g7bykn4xzylrsf7m9r32zh5-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-10-03T20:53:22.949610 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/kzqhmmj65g7bykn4xzylrsf7m9r32zh5-central-env/lib/python3.13/site-packages/central/github/authz.py', 'lineno': 29, 'msg': 'New GH %s: %s', 'args': "('dolphin-emu/core-developers', 'AdmiralCurtiss,leoetlino,CrossVR,jordan-woyak,JosJuice,phire,degasus,Tilka,Pokechu22,Dentomologist,OatmealDome,linkmauve,iwubcode')", 'type': 'internal_log'}
2026-10-03T20:53:22.666866 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/kzqhmmj65g7bykn4xzylrsf7m9r32zh5-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-10-03T20:49:21.421018 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/kzqhmmj65g7bykn4xzylrsf7m9r32zh5-central-env/lib/python3.13/site-packages/central/github/authz.py', 'lineno': 29, 'msg': 'New GH %s: %s', 'args': "('dolphin-emu/trusted-developers', 'CrossVR,meffij,kamiyo,moncefmechri,NanoByte011,OatmealDome,bentley,neobrain,tygyh,mahdihijazi,comex,JosJuice,FioraAeterna,LAGonauta,rlnilsen,noahpistilli,booto,merryhime,JoshuaVandaele,CookiePLMonster,shonumi,Gamer64ytb,mimimi085181,phire,Ziek,vladfi1,JordanTheToaster,riking,OrN,Linktothepast,crediar,galop1n,kayru,aldelaro5,DacoTaco,CelestialAmber,mmastrac,Zopolis4,delroth,RisingFog,Sir-Walrus,spxtr,TryTwo,malleoz,PatrickFerry,Simonx22,Techjar,gwicks,zopieux,LPFaint99,LillyJadeKatrin,iwubcode,mandar1jn,skidau,Sintendo,Hydr8gon,smurf3tte,Linkinworm,archshift,RachelBryk,BhaaLseN,zackhow,SuperSamus,Tilka,tom-pratt,adamdmoss,Parlane,jordan-woyak,hthh,Ebola16,CasualPokePlayer,JMC47,cscd98,jjdelvalle,rukai,hrydgard,CrystalGamma,Dentomologist,mrgreywater,AdmiralCurtiss,aroulin,Orphis,Filoppi,SirMangler,deReeperJosh,nullgemm,unknownbrackets,degasus,jloehr,Stevoisiak,EmptyChaos,leoetlino,magcius,krnlyng,skylersaleh,jezze,Tinob,Geotale,Sam-Belliveau,marcan,spycrab,yourWaifu,K0bin,glennricster,lioncash,magumagu,MayImilae,randomstuff,hackbar,mitaclaw,TellowKrinkle,linkmauve,Lobsterzelda,ligfx,Phatcat,sepalani,endrift,ShimmerGlass,cristian64,Helios747,mathieui,corwin-mcknight,orbea,dreamsyntax,nickbeth,Buddybenj,mbc07,hdcmeta,Pokechu22,ColinDTaylor,Starsam80')", 'type': 'internal_log'}
2026-10-03T20:49:19.951531 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/kzqhmmj65g7bykn4xzylrsf7m9r32zh5-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-10-03T20:44:19.951220 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/kzqhmmj65g7bykn4xzylrsf7m9r32zh5-central-env/lib/python3.13/site-packages/central/github/authz.py', 'lineno': 29, 'msg': 'New GH %s: %s', 'args': "('dolphin-emu/trusted-developers', 'CrossVR,meffij,kamiyo,moncefmechri,NanoByte011,OatmealDome,bentley,neobrain,tygyh,mahdihijazi,comex,JosJuice,FioraAeterna,LAGonauta,rlnilsen,noahpistilli,booto,merryhime,JoshuaVandaele,CookiePLMonster,shonumi,Gamer64ytb,mimimi085181,phire,Ziek,vladfi1,JordanTheToaster,riking,OrN,Linktothepast,crediar,galop1n,kayru,aldelaro5,DacoTaco,CelestialAmber,mmastrac,Zopolis4,delroth,RisingFog,Sir-Walrus,spxtr,TryTwo,malleoz,PatrickFerry,Simonx22,Techjar,gwicks,zopieux,LPFaint99,LillyJadeKatrin,iwubcode,mandar1jn,skidau,Sintendo,Hydr8gon,smurf3tte,Linkinworm,archshift,RachelBryk,BhaaLseN,zackhow,SuperSamus,Tilka,tom-pratt,adamdmoss,Parlane,jordan-woyak,hthh,Ebola16,CasualPokePlayer,JMC47,cscd98,jjdelvalle,rukai,hrydgard,CrystalGamma,Dentomologist,mrgreywater,AdmiralCurtiss,aroulin,Orphis,Filoppi,SirMangler,deReeperJosh,nullgemm,unknownbrackets,degasus,jloehr,Stevoisiak,EmptyChaos,leoetlino,magcius,krnlyng,skylersaleh,jezze,Tinob,Geotale,Sam-Belliveau,marcan,spycrab,yourWaifu,K0bin,glennricster,lioncash,magumagu,MayImilae,randomstuff,hackbar,mitaclaw,TellowKrinkle,linkmauve,Lobsterzelda,ligfx,Phatcat,sepalani,endrift,ShimmerGlass,cristian64,Helios747,mathieui,corwin-mcknight,orbea,dreamsyntax,nickbeth,Buddybenj,mbc07,hdcmeta,Pokechu22,ColinDTaylor,Starsam80')", 'type': 'internal_log'}
2026-10-03T20:44:18.477624 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/kzqhmmj65g7bykn4xzylrsf7m9r32zh5-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-10-03T20:43:22.666603 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/kzqhmmj65g7bykn4xzylrsf7m9r32zh5-central-env/lib/python3.13/site-packages/central/github/authz.py', 'lineno': 29, 'msg': 'New GH %s: %s', 'args': "('dolphin-emu/core-developers', 'AdmiralCurtiss,leoetlino,CrossVR,jordan-woyak,JosJuice,phire,degasus,Tilka,Pokechu22,Dentomologist,OatmealDome,linkmauve,iwubcode')", 'type': 'internal_log'}
2026-10-03T20:43:21.996307 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/kzqhmmj65g7bykn4xzylrsf7m9r32zh5-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-10-03T20:39:18.477261 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/kzqhmmj65g7bykn4xzylrsf7m9r32zh5-central-env/lib/python3.13/site-packages/central/github/authz.py', 'lineno': 29, 'msg': 'New GH %s: %s', 'args': "('dolphin-emu/trusted-developers', 'CrossVR,meffij,kamiyo,moncefmechri,NanoByte011,OatmealDome,bentley,neobrain,tygyh,mahdihijazi,comex,JosJuice,FioraAeterna,LAGonauta,rlnilsen,noahpistilli,booto,merryhime,JoshuaVandaele,CookiePLMonster,shonumi,Gamer64ytb,mimimi085181,phire,Ziek,vladfi1,JordanTheToaster,riking,OrN,Linktothepast,crediar,galop1n,kayru,aldelaro5,DacoTaco,CelestialAmber,mmastrac,Zopolis4,delroth,RisingFog,Sir-Walrus,spxtr,TryTwo,malleoz,PatrickFerry,Simonx22,Techjar,gwicks,zopieux,LPFaint99,LillyJadeKatrin,iwubcode,mandar1jn,skidau,Sintendo,Hydr8gon,smurf3tte,Linkinworm,archshift,RachelBryk,BhaaLseN,zackhow,SuperSamus,Tilka,tom-pratt,adamdmoss,Parlane,jordan-woyak,hthh,Ebola16,CasualPokePlayer,JMC47,cscd98,jjdelvalle,rukai,hrydgard,CrystalGamma,Dentomologist,mrgreywater,AdmiralCurtiss,aroulin,Orphis,Filoppi,SirMangler,deReeperJosh,nullgemm,unknownbrackets,degasus,jloehr,Stevoisiak,EmptyChaos,leoetlino,magcius,krnlyng,skylersaleh,jezze,Tinob,Geotale,Sam-Belliveau,marcan,spycrab,yourWaifu,K0bin,glennricster,lioncash,magumagu,MayImilae,randomstuff,hackbar,mitaclaw,TellowKrinkle,linkmauve,Lobsterzelda,ligfx,Phatcat,sepalani,endrift,ShimmerGlass,cristian64,Helios747,mathieui,corwin-mcknight,orbea,dreamsyntax,nickbeth,Buddybenj,mbc07,hdcmeta,Pokechu22,ColinDTaylor,Starsam80')", 'type': 'internal_log'}
2026-10-03T20:39:17.048929 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/kzqhmmj65g7bykn4xzylrsf7m9r32zh5-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-10-03T20:34:17.048596 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/kzqhmmj65g7bykn4xzylrsf7m9r32zh5-central-env/lib/python3.13/site-packages/central/github/authz.py', 'lineno': 29, 'msg': 'New GH %s: %s', 'args': "('dolphin-emu/trusted-developers', 'CrossVR,meffij,kamiyo,moncefmechri,NanoByte011,OatmealDome,bentley,neobrain,tygyh,mahdihijazi,comex,JosJuice,FioraAeterna,LAGonauta,rlnilsen,noahpistilli,booto,merryhime,JoshuaVandaele,CookiePLMonster,shonumi,Gamer64ytb,mimimi085181,phire,Ziek,vladfi1,JordanTheToaster,riking,OrN,Linktothepast,crediar,galop1n,kayru,aldelaro5,DacoTaco,CelestialAmber,mmastrac,Zopolis4,delroth,RisingFog,Sir-Walrus,spxtr,TryTwo,malleoz,PatrickFerry,Simonx22,Techjar,gwicks,zopieux,LPFaint99,LillyJadeKatrin,iwubcode,mandar1jn,skidau,Sintendo,Hydr8gon,smurf3tte,Linkinworm,archshift,RachelBryk,BhaaLseN,zackhow,SuperSamus,Tilka,tom-pratt,adamdmoss,Parlane,jordan-woyak,hthh,Ebola16,CasualPokePlayer,JMC47,cscd98,jjdelvalle,rukai,hrydgard,CrystalGamma,Dentomologist,mrgreywater,AdmiralCurtiss,aroulin,Orphis,Filoppi,SirMangler,deReeperJosh,nullgemm,unknownbrackets,degasus,jloehr,Stevoisiak,EmptyChaos,leoetlino,magcius,krnlyng,skylersaleh,jezze,Tinob,Geotale,Sam-Belliveau,marcan,spycrab,yourWaifu,K0bin,glennricster,lioncash,magumagu,MayImilae,randomstuff,hackbar,mitaclaw,TellowKrinkle,linkmauve,Lobsterzelda,ligfx,Phatcat,sepalani,endrift,ShimmerGlass,cristian64,Helios747,mathieui,corwin-mcknight,orbea,dreamsyntax,nickbeth,Buddybenj,mbc07,hdcmeta,Pokechu22,ColinDTaylor,Starsam80')", 'type': 'internal_log'}
Recent 'issue' events
2026-10-03T18:29:04.758921 {'source': 'redmine', 'new': False, 'update': 3, 'issue': 14145, 'title': '2609 (macOS, Apple M4): Wii games fail at boot with "IntCPU: Unknown instruction 00000000"; 2606 works', 'author': 'OatmealDome', 'type': 'issue'}
2026-10-03T18:13:33.927102 {'source': 'redmine', 'new': False, 'update': 9, 'issue': 14144, 'title': '[Android / DeX] Wiimote fails to establish active connection in Dolphin if Nunchuk is attached (Connects immediately when unplugged)', 'author': 'gug4', 'type': 'issue'}
2026-10-03T17:56:23.225641 {'source': 'redmine', 'new': False, 'update': 2, 'issue': 14145, 'title': '2609 (macOS, Apple M4): Wii games fail at boot with "IntCPU: Unknown instruction 00000000"; 2606 works', 'author': 'Billiard26', 'type': 'issue'}
2026-10-03T17:48:00.219615 {'source': 'redmine', 'new': True, 'update': 0, 'issue': 14145, 'title': '2609 (macOS, Apple M4): Wii games fail at boot with "IntCPU: Unknown instruction 00000000"; 2606 works', 'author': 'MN', 'type': 'issue'}
2026-10-03T15:13:30.618893 {'source': 'redmine', 'new': False, 'update': 5, 'issue': 14143, 'title': "Games Can't Start Without Crashing Dolphin", 'author': 'TakahashiAkira', 'type': 'issue'}
2026-10-03T14:58:32.501993 {'source': 'redmine', 'new': False, 'update': 4, 'issue': 14143, 'title': "Games Can't Start Without Crashing Dolphin", 'author': 'TakahashiAkira', 'type': 'issue'}
2026-10-03T14:53:43.135406 {'source': 'redmine', 'new': False, 'update': 3, 'issue': 14143, 'title': "Games Can't Start Without Crashing Dolphin", 'author': 'TakahashiAkira', 'type': 'issue'}
2026-10-03T06:06:33.878339 {'source': 'redmine', 'new': False, 'update': 3, 'issue': 14082, 'title': 'flatpak dolphin-tool convert --help format option shows [%choices] instead of actual choices', 'author': 'Billiard26', 'type': 'issue'}
2026-10-03T05:57:54.402353 {'source': 'redmine', 'new': False, 'update': 6, 'issue': 14127, 'title': '[build] generate_coefs.py script relies on legacy numpy version', 'author': 'Billiard26', 'type': 'issue'}
2026-10-02T18:58:47.252229 {'source': 'redmine', 'new': False, 'update': 8, 'issue': 14144, 'title': '[Android / DeX] Wiimote fails to establish active connection in Dolphin if Nunchuk is attached (Connects immediately when unplugged)', 'author': 'Billiard26', 'type': 'issue'}
2026-10-02T18:47:54.921168 {'source': 'redmine', 'new': False, 'update': 7, 'issue': 14144, 'title': '[Android / DeX] Wiimote fails to establish active connection in Dolphin if Nunchuk is attached (Connects immediately when unplugged)', 'author': 'gug4', 'type': 'issue'}
2026-10-02T18:28:31.323369 {'source': 'redmine', 'new': False, 'update': 6, 'issue': 14144, 'title': '[Android / DeX] Wiimote fails to establish active connection in Dolphin if Nunchuk is attached (Connects immediately when unplugged)', 'author': 'gug4', 'type': 'issue'}
2026-10-02T17:12:18.216685 {'source': 'redmine', 'new': False, 'update': 5, 'issue': 14144, 'title': '[Android / DeX] Wiimote fails to establish active connection in Dolphin if Nunchuk is attached (Connects immediately when unplugged)', 'author': 'Billiard26', 'type': 'issue'}
2026-10-02T17:10:33.991744 {'source': 'redmine', 'new': False, 'update': 4, 'issue': 14144, 'title': '[Android / DeX] Wiimote fails to establish active connection in Dolphin if Nunchuk is attached (Connects immediately when unplugged)', 'author': 'gug4', 'type': 'issue'}
2026-10-02T17:08:54.698858 {'source': 'redmine', 'new': False, 'update': 3, 'issue': 13973, 'title': 'Allow MEM2 to be addressable up to 256 MB up from 128 MB on "Emulated Memory size override"', 'author': 'Billiard26', 'type': 'issue'}
2026-10-02T17:08:06.123921 {'source': 'redmine', 'new': False, 'update': 2, 'issue': 14138, 'title': "Netplay doesn't work on local network", 'author': 'Billiard26', 'type': 'issue'}
2026-10-02T17:03:50.435597 {'source': 'redmine', 'new': False, 'update': 2, 'issue': 14143, 'title': "Games Can't Start Without Crashing Dolphin", 'author': 'Billiard26', 'type': 'issue'}
2026-10-02T16:58:56.320690 {'source': 'redmine', 'new': False, 'update': 3, 'issue': 14144, 'title': '[Android / DeX] Wiimote fails to establish active connection in Dolphin if Nunchuk is attached (Connects immediately when unplugged)', 'author': 'Billiard26', 'type': 'issue'}
2026-10-02T16:43:21.903806 {'source': 'redmine', 'new': False, 'update': 2, 'issue': 14144, 'title': '[Android / DeX] Wiimote fails to establish active connection in Dolphin if Nunchuk is attached (Connects immediately when unplugged)', 'author': 'JosJuice', 'type': 'issue'}
2026-10-02T16:36:48.136182 {'source': 'redmine', 'new': True, 'update': 0, 'issue': 14144, 'title': '[Android / DeX] Wiimote fails to establish active connection in Dolphin if Nunchuk is attached (Connects immediately when unplugged)', 'author': 'gug4', 'type': 'issue'}
2026-10-02T06:53:43.220261 {'source': 'redmine', 'new': True, 'update': 0, 'issue': 14143, 'title': "Games Can't Start Without Crashing Dolphin", 'author': 'BluAura', 'type': 'issue'}
2026-10-01T17:21:39.091299 {'source': 'redmine', 'new': False, 'update': 3, 'issue': 13400, 'title': 'Chromebook keyboard input not detecting some keys', 'author': 'halfofinfinity', 'type': 'issue'}
2026-09-30T12:47:32.791330 {'source': 'redmine', 'new': True, 'update': 0, 'issue': 14142, 'title': '[Android] Unpredictable orange flashing in Resident Evil 4 Wii edition', 'author': 'commonlydesignatedman', 'type': 'issue'}
2026-09-29T23:36:05.520900 {'source': 'redmine', 'new': False, 'update': 8, 'issue': 14139, 'title': "Can't use an official GameCube Adapter on NetPlay when my controller is not assigned as GC Port 1", 'author': 'GunBlaze', 'type': 'issue'}
2026-09-29T23:15:46.469692 {'source': 'redmine', 'new': True, 'update': 0, 'issue': 14141, 'title': 'Emulator Closes/Crashes If I Do Anything Since Update (Even If I Install a Different Version)', 'author': 'oftheseaisme', 'type': 'issue'}
Recent 'new_dev_version' events
2026-10-03T09:08:13.813165 {'source': 'repomanager', 'hash': '8c16ea6c2777800fc3437dd1016f786c88a97730', 'branch': 'master', 'shortrev': '2609-50', 'author': 'Admiral H. Curtiss', 'message': 'Merge pull request #14797 from acts-1631/security/netplay-buffer-limit\n\nNetPlay: reject oversized input buffer messages', 'url': 'https://github.com/dolphin-emu/dolphin/commit/8c16ea6c2777800fc3437dd1016f786c88a97730', 'type': 'new_dev_version'}
2026-10-03T07:53:17.518503 {'source': 'repomanager', 'hash': 'af1ab20b356d288208e7324512efed4b0913f79e', 'branch': 'master', 'shortrev': '2609-48', 'author': 'JosJuice', 'message': 'Merge pull request #14812 from JoshuaVandaele/correct-env-locale\n\nFix crashes when using `std::locale{""}` with an invalid LC_ALL', 'url': 'https://github.com/dolphin-emu/dolphin/commit/af1ab20b356d288208e7324512efed4b0913f79e', 'type': 'new_dev_version'}
2026-10-03T06:05:19.445201 {'source': 'repomanager', 'hash': 'f76238742c70a3db637f2037b0ed380be4bdead1', 'branch': 'master', 'shortrev': '2609-46', 'author': 'Jordan Woyak', 'message': "Merge pull request #14328 from JoshuaVandaele/choices-fix\n\nDolphinTool: Show choices as metavars, and don't lie about defaults", 'url': 'https://github.com/dolphin-emu/dolphin/commit/f76238742c70a3db637f2037b0ed380be4bdead1', 'type': 'new_dev_version'}
2026-10-03T03:04:22.217883 {'source': 'repomanager', 'hash': 'a0c3ab78d391ff4703fed5a1d583e947dc8e7750', 'branch': 'master', 'shortrev': '2609-44', 'author': 'Jordan Woyak', 'message': 'Merge pull request #14772 from sepalani/mic-cleanup\n\nEXI_DeviceMic: Cleanup and small improvements', 'url': 'https://github.com/dolphin-emu/dolphin/commit/a0c3ab78d391ff4703fed5a1d583e947dc8e7750', 'type': 'new_dev_version'}
2026-10-03T01:29:58.006397 {'source': 'repomanager', 'hash': '13e4143470cc7fc2c556c3b8ef94ebf7bc15b3e2', 'branch': 'master', 'shortrev': '2609-35', 'author': 'Jordan Woyak', 'message': 'Merge pull request #14845 from Tilka/generate_coefs\n\ngenerate_coefs.py: fix compatibility with modern NumPy', 'url': 'https://github.com/dolphin-emu/dolphin/commit/13e4143470cc7fc2c556c3b8ef94ebf7bc15b3e2', 'type': 'new_dev_version'}
2026-10-02T23:24:12.704431 {'source': 'repomanager', 'hash': '8a40a9c01d01e768d37e6296b1bd1c836af1a264', 'branch': 'master', 'shortrev': '2609-33', 'author': 'Jordan Woyak', 'message': 'Merge pull request #14897 from jordan-woyak/gba-button-bits\n\nGBAPadEmu: Make GBAPad::GetInput use actual GBA button values.', 'url': 'https://github.com/dolphin-emu/dolphin/commit/8a40a9c01d01e768d37e6296b1bd1c836af1a264', 'type': 'new_dev_version'}
2026-10-02T18:56:04.866273 {'source': 'repomanager', 'hash': 'a475aba718746e7656e2e6b6e047dc98a4d05879', 'branch': 'master', 'shortrev': '2609-31', 'author': 'JosJuice', 'message': 'Merge pull request #14857 from ChaseParate/chaseparate-android-add-reset-menu-item\n\nAndroid: Add reset item to emulation menu', 'url': 'https://github.com/dolphin-emu/dolphin/commit/a475aba718746e7656e2e6b6e047dc98a4d05879', 'type': 'new_dev_version'}
2026-10-02T17:58:20.989985 {'source': 'repomanager', 'hash': 'bd094a0de5bccd4a0a14ab6a14810e31df45eb48', 'branch': 'master', 'shortrev': '2609-29', 'author': 'Admiral H. Curtiss', 'message': 'Merge pull request #14890 from lihanchen/master\n\nAndroid: Fix UI text truncation in 4K TV UI', 'url': 'https://github.com/dolphin-emu/dolphin/commit/bd094a0de5bccd4a0a14ab6a14810e31df45eb48', 'type': 'new_dev_version'}
2026-10-02T17:55:40.062106 {'source': 'repomanager', 'hash': '5c2f8aec222289f0166be7dca984bd60cddbba36', 'branch': 'master', 'shortrev': '2609-27', 'author': 'Jordan Woyak', 'message': 'Merge pull request #14861 from matellush/flatpak/libevdev\n\nFlatpak: Bump `libevdev` to `1.13.7`', 'url': 'https://github.com/dolphin-emu/dolphin/commit/5c2f8aec222289f0166be7dca984bd60cddbba36', 'type': 'new_dev_version'}
2026-10-02T17:53:52.172922 {'source': 'repomanager', 'hash': '418f0cb7d3af7436b2abba9a99a2d5f7643ff3e7', 'branch': 'master', 'shortrev': '2609-25', 'author': 'Admiral H. Curtiss', 'message': 'Merge pull request #14894 from jordan-woyak/petz-gamesettingz\n\nGameSettings: Add some required settings for Petz games.', 'url': 'https://github.com/dolphin-emu/dolphin/commit/418f0cb7d3af7436b2abba9a99a2d5f7643ff3e7', 'type': 'new_dev_version'}
2026-10-02T17:52:33.770885 {'source': 'repomanager', 'hash': '061f3e95bbe925bc52e1b491e586dcf039481d61', 'branch': 'master', 'shortrev': '2609-23', 'author': 'Admiral H. Curtiss', 'message': 'Merge pull request #14863 from brad0/openbsd_getexecpath\n\nImplement File::GetExePath() for OpenBSD with getexecpath()', 'url': 'https://github.com/dolphin-emu/dolphin/commit/061f3e95bbe925bc52e1b491e586dcf039481d61', 'type': 'new_dev_version'}
2026-10-02T17:50:41.606551 {'source': 'repomanager', 'hash': '8e7521c46eb674119038c9a5e19f103be0251ac8', 'branch': 'master', 'shortrev': '2609-21', 'author': 'Admiral H. Curtiss', 'message': 'Merge pull request #14900 from VampireFlower/assembler-fix\n\nAssembler: Fix crash from assembling malformed source', 'url': 'https://github.com/dolphin-emu/dolphin/commit/8e7521c46eb674119038c9a5e19f103be0251ac8', 'type': 'new_dev_version'}
2026-10-02T10:29:36.478380 {'source': 'repomanager', 'hash': '24c80c5a32d9429bcd8e7b0b90d7b61763782009', 'branch': 'master', 'shortrev': '2609-19', 'author': 'JMC47', 'message': 'Merge pull request #14590 from jordan-woyak/mmu-256-mem2\n\nPowerPC/MMU: Change mask in DMA_LCToMemory and DMA_MemoryToLC functions to allow for a 256MiB MEM2.', 'url': 'https://github.com/dolphin-emu/dolphin/commit/24c80c5a32d9429bcd8e7b0b90d7b61763782009', 'type': 'new_dev_version'}
2026-10-02T08:48:24.052107 {'source': 'repomanager', 'hash': '045c19b25636334865350d13da5f138bf7956bce', 'branch': 'master', 'shortrev': '2609-17', 'author': 'Jordan Woyak', 'message': 'Merge pull request #14855 from JordanTheToaster/SDL-Has-Shoes-Now\n\nExternals/SDL: Update to release-3.4.16', 'url': 'https://github.com/dolphin-emu/dolphin/commit/045c19b25636334865350d13da5f138bf7956bce', 'type': 'new_dev_version'}
2026-10-02T08:47:28.805938 {'source': 'repomanager', 'hash': '8fe19d11187889de269f1fd01a23116f2de343ea', 'branch': 'master', 'shortrev': '2609-15', 'author': 'Jordan Woyak', 'message': 'Merge pull request #14860 from JoshuaVandaele/inputsyntax-nodecimal\n\nInput Syntax: Add floor, ceil, round, and trunc functions', 'url': 'https://github.com/dolphin-emu/dolphin/commit/8fe19d11187889de269f1fd01a23116f2de343ea', 'type': 'new_dev_version'}
2026-10-02T05:58:24.438620 {'source': 'repomanager', 'hash': '5390a61e521013738a75102daa43513d79423192', 'branch': 'master', 'shortrev': '2609-13', 'author': 'JMC47', 'message': 'Merge pull request #14880 from ICEREG1992/GBARouting\n\nIntegrated GBA Audio Routing', 'url': 'https://github.com/dolphin-emu/dolphin/commit/5390a61e521013738a75102daa43513d79423192', 'type': 'new_dev_version'}
2026-10-01T20:38:02.927082 {'source': 'repomanager', 'hash': '048e6306b82b183d061ee33c4ee32d5e76f3f09a', 'branch': 'master', 'shortrev': '2609-11', 'author': 'JMC47', 'message': 'Merge pull request #14717 from SuperSamus/skylanders-swap-force-speed-hack\n\nGameSettings: Add speed hack for Skylanders: Swap Force', 'url': 'https://github.com/dolphin-emu/dolphin/commit/048e6306b82b183d061ee33c4ee32d5e76f3f09a', 'type': 'new_dev_version'}
2026-09-28T06:24:32.753974 {'source': 'repomanager', 'hash': '5102a0339c2177575378107b76541e47cc52122d', 'branch': 'master', 'shortrev': '2609-7', 'author': 'JosJuice', 'message': 'Merge pull request #14893 from tom-pratt/android-settings-crash\n\nFix android settings crash on API level 28 and lower', 'url': 'https://github.com/dolphin-emu/dolphin/commit/5102a0339c2177575378107b76541e47cc52122d', 'type': 'new_dev_version'}
2026-09-27T20:00:05.026876 {'source': 'repomanager', 'hash': 'bb3558a70ecb767ca59c23bbe06fb6bcb78cd3bd', 'branch': 'master', 'shortrev': '2609-5', 'author': 'JosJuice', 'message': 'Merge pull request #14892 from JosJuice/android-abis\n\nAndroid: Set abiFilters for ndk', 'url': 'https://github.com/dolphin-emu/dolphin/commit/bb3558a70ecb767ca59c23bbe06fb6bcb78cd3bd', 'type': 'new_dev_version'}
2026-09-24T21:42:43.885661 {'source': 'repomanager', 'hash': '465c652da1dc0b3048089701a1885084821c9574', 'branch': 'master', 'shortrev': '2609-3', 'author': 'Admiral H. Curtiss', 'message': 'Merge pull request #14887 from SuperSamus/statistics-unsigned-members\n\nVideoCommon/Statistics: Use unsigned int where appropriate', 'url': 'https://github.com/dolphin-emu/dolphin/commit/465c652da1dc0b3048089701a1885084821c9574', 'type': 'new_dev_version'}
2026-09-24T03:53:48.548769 {'source': 'repomanager', 'hash': '0d93fc035539f25790deca638d06ee3b3b45ee64', 'branch': 'master', 'shortrev': '2609-1', 'author': 'OatmealDome', 'message': "Merge branch 'release-prep-2609'", 'url': 'https://github.com/dolphin-emu/dolphin/commit/0d93fc035539f25790deca638d06ee3b3b45ee64', 'type': 'new_dev_version'}
2026-09-23T22:25:36.305976 {'source': 'repomanager', 'hash': 'f84df02055ab9610feec48e65648cac5a3c098fa', 'branch': 'release-prep-2609', 'shortrev': '2606-406', 'author': 'OatmealDome', 'message': 'ScmRevGen: Bump version to 2609', 'url': 'https://github.com/dolphin-emu/dolphin/commit/f84df02055ab9610feec48e65648cac5a3c098fa', 'type': 'new_dev_version'}
2026-09-23T22:25:36.235618 {'source': 'repomanager', 'hash': 'd085f97001ca4cdd1adfc3d20695cb59967fab7f', 'branch': 'release-prep-2609', 'shortrev': '2606-405', 'author': 'OatmealDome', 'message': "Merge branch 'release-prep-2606a' into release-prep-2609", 'url': 'https://github.com/dolphin-emu/dolphin/commit/d085f97001ca4cdd1adfc3d20695cb59967fab7f', 'type': 'new_dev_version'}
2026-09-21T18:17:36.251515 {'source': 'repomanager', 'hash': '233b2dfe6d6427bed6874d641dfab04ccac2974e', 'branch': 'master', 'shortrev': '2606-388', 'author': 'JosJuice', 'message': 'Translation resources sync with Transifex', 'url': 'https://github.com/dolphin-emu/dolphin/commit/233b2dfe6d6427bed6874d641dfab04ccac2974e', 'type': 'new_dev_version'}
2026-09-21T16:23:52.872601 {'source': 'repomanager', 'hash': '4619af1be06fb6ccb0499083848bc9ee0d8afc3b', 'branch': 'master', 'shortrev': '2606-387', 'author': 'JosJuice', 'message': 'Merge pull request #14883 from AdmiralCurtiss/zelda-hle-voice-flags\n\nDSPHLE/Zelda: Add bounds check for m_sync_voice_skip_flags in RenderAudio()', 'url': 'https://github.com/dolphin-emu/dolphin/commit/4619af1be06fb6ccb0499083848bc9ee0d8afc3b', 'type': 'new_dev_version'}
Recent 'new_release_version' events
2026-09-24T03:09:29.731289 {'source': 'repomanager', 'hash': 'f84df02055ab9610feec48e65648cac5a3c098fa', 'tag': '2609', 'author': 'OatmealDome', 'type': 'new_release_version'}
Recent 'notification' events
2026-10-03T19:36:37.318041 {'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] \x0303j\ufeffordan-woyak\x03 approved pull request #14793 (CMake: Automatically disable warnings for Externals): \x1f\x0302https://dolp.in/pr14793#pullrequestreview-5402417537\x03\x1f', 'type': 'notification'}
2026-10-03T19:29:37.025978 {'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] \x0303j\ufeffordan-woyak\x03 edited a comment on #14162 (Common: WorkQueueThread improvements.): \x1f\x0302https://dolp.in/pr14162#issuecomment-3568762405\x03\x1f', 'type': 'notification'}
2026-10-03T19:26:56.799875 {'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] \x0303j\ufeffordan-woyak\x03 synchronized pull request #14162: Common: WorkQueueThread improvements. (\x0306master\x03...\x0306work-queue-thread-improvements\x03): \x1f\x0302https://dolp.in/pr14162\x03\x1f', 'type': 'notification'}
2026-10-03T19:00:32.407600 {'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] build for #14902 \x0304failed\x03 on builders [pr-win-dbg-x64]: \x1f\x0302https://dolphin.ci/#/builders/31/builds/10637\x03\x1f', 'type': 'notification'}
2026-10-03T19:00:03.542378 {'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] \x0303b\ufeffrand175\x03 edited a comment on #14640 (DSPAccelerator: fix overflow behavior): \x1f\x0302https://dolp.in/pr14640#issuecomment-5972424070\x03\x1f', 'type': 'notification'}
2026-10-03T18:59:27.085954 {'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] build for #14902 \x0304failed\x03 on builders [pr-win-arm64]: \x1f\x0302https://dolphin.ci/#/builders/13/builds/10628\x03\x1f', 'type': 'notification'}
2026-10-03T18:59:22.443495 {'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] \x0303j\ufeffordan-woyak\x03 commented on #14902 (UICommon: Add Web Interface for streaming integrated GBAs.): \x1f\x0302https://dolp.in/pr14902#issuecomment-5972461956\x03\x1f', 'type': 'notification'}
2026-10-03T18:58:06.825496 {'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] build for #14902 \x0304failed\x03 on builders [pr-android, pr-deb-dbg-x64, pr-deb-x64, pr-flatpak-arm64, pr-flatpak-x64, pr-freebsd-x64, pr-osx-universal, pr-ubu-x64, pr-win-x64]: \x1f\x0302https://dolphin.ci/#/builders/22/builds/10634\x03\x1f', 'type': 'notification'}
2026-10-03T18:56:08.691941 {'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] \x0303b\ufeffrand175\x03 commented on #14640 (DSPAccelerator: fix overflow behavior): \x1f\x0302https://dolp.in/pr14640#issuecomment-5972424070\x03\x1f', 'type': 'notification'}
2026-10-03T18:55:06.273109 {'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] \x0303j\ufeffordan-woyak\x03 synchronized pull request #14902: UICommon: Add Web Interface for streaming integrated GBAs. (\x0306master\x03...\x0306gba-web-interface\x03): \x1f\x0302https://dolp.in/pr14902\x03\x1f', 'type': 'notification'}
2026-10-03T18:29:04.759155 {'source': 'notifications', 'msg': 'Update 3 to issue 14145 ("2609 (macOS, Apple M4): Wii games fail at boot with "IntCPU: Unknown instruction 00000000"; 2606 works") by \x0303O\ufeffatmealDome\x03 - \x1f\x0302https://dolp.in/i14145/3\x03\x1f', 'type': 'notification'}
2026-10-03T18:13:33.927279 {'source': 'notifications', 'msg': 'Update 9 to issue 14144 ("[Android / DeX] Wiimote fails to establish active connection in Dolphin if Nunchuk is attached (Connects immediately when unplugged)") by \x0303g\ufeffug4\x03 - \x1f\x0302https://dolp.in/i14144/9\x03\x1f', 'type': 'notification'}
2026-10-03T17:56:23.225838 {'source': 'notifications', 'msg': 'Update 2 to issue 14145 ("2609 (macOS, Apple M4): Wii games fail at boot with "IntCPU: Unknown instruction 00000000"; 2606 works") by \x0303B\ufeffilliard26\x03 - \x1f\x0302https://dolp.in/i14145/2\x03\x1f', 'type': 'notification'}
2026-10-03T17:48:00.219802 {'source': 'notifications', 'msg': 'Issue 14145 created: "2609 (macOS, Apple M4): Wii games fail at boot with "IntCPU: Unknown instruction 00000000"; 2606 works" by \x0303M\ufeffN\x03 - \x1f\x0302https://dolp.in/i14145\x03\x1f', 'type': 'notification'}
2026-10-03T17:42:30.020798 {'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] \x0303j\ufeffordan-woyak\x03 commented on #14902 787567: \x1f\x0302https://dolp.in/pr14902#discussion_r4174172248\x03\x1f', 'type': 'notification'}
2026-10-03T16:41:56.571989 {'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] \x0303J\ufeffMC47\x03 commented on #14899 (VideoCommon: Work around Adreno TEV zero input miscompilation): \x1f\x0302https://dolp.in/pr14899#issuecomment-5971192870\x03\x1f', 'type': 'notification'}
2026-10-03T15:48:57.993812 {'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] \x0303S\ufefftarlightbotanist\x03 commented on pull request #14899 (VideoCommon: Work around Adreno TEV zero input miscompilation): \x1f\x0302https://dolp.in/pr14899#pullrequestreview-5401510911\x03\x1f', 'type': 'notification'}
2026-10-03T15:47:14.260523 {'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] build for #14899 \x0304failed\x03 on builders [default]: \x1f\x0302<no url>\x03\x1f', 'type': 'notification'}
2026-10-03T15:46:43.213688 {'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] \x0303S\ufefftarlightbotanist\x03 synchronized pull request #14899: VideoCommon: Work around Adreno TEV zero input miscompilation (\x0306master\x03...\x0306adreno-tev-zero-rewrite\x03): \x1f\x0302https://dolp.in/pr14899\x03\x1f', 'type': 'notification'}
2026-10-03T15:33:50.144380 {'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] \x0303M\ufeffrlinkwii\x03 commented on #14902 787567: \x1f\x0302https://dolp.in/pr14902#discussion_r4173747102\x03\x1f', 'type': 'notification'}
2026-10-03T15:25:54.261820 {'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] \x0303J\ufeffoshuaVandaele\x03 requested changes to pull request #14902 (UICommon: Add Web Interface for streaming integrated GBAs.): \x1f\x0302https://dolp.in/pr14902#pullrequestreview-5401304606\x03\x1f', 'type': 'notification'}
2026-10-03T15:13:30.619128 {'source': 'notifications', 'msg': 'Update 5 to issue 14143 ("Games Can\'t Start Without Crashing Dolphin") by \x0303T\ufeffakahashiAkira\x03 - \x1f\x0302https://dolp.in/i14143/5\x03\x1f', 'type': 'notification'}
2026-10-03T14:58:32.502246 {'source': 'notifications', 'msg': 'Update 4 to issue 14143 ("Games Can\'t Start Without Crashing Dolphin") by \x0303T\ufeffakahashiAkira\x03 - \x1f\x0302https://dolp.in/i14143/4\x03\x1f', 'type': 'notification'}
2026-10-03T14:53:43.135644 {'source': 'notifications', 'msg': 'Update 3 to issue 14143 ("Games Can\'t Start Without Crashing Dolphin") by \x0303T\ufeffakahashiAkira\x03 - \x1f\x0302https://dolp.in/i14143/3\x03\x1f', 'type': 'notification'}
2026-10-03T13:41:19.183867 {'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] \x0303S\ufeffuperSamus\x03 commented on #14853 c9494c: \x1f\x0302https://dolp.in/pr14853#discussion_r4173397755\x03\x1f', 'type': 'notification'}
Recent 'pull_request_fifoci_status' events
2026-10-03T20:36:57.004452 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': 'ca8f101300e2c59ce97c3d53ec21e0614e9c1646', 'service': 'pr-fifoci-vk-lin-mesa', 'pr': 14162, 'type': 'pull_request_fifoci_status'}
2026-10-03T20:21:54.121930 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': 'ca8f101300e2c59ce97c3d53ec21e0614e9c1646', 'service': 'pr-fifoci-ogl-lin-mesa', 'pr': 14162, 'type': 'pull_request_fifoci_status'}
2026-10-03T20:04:46.112011 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': 'ca8f101300e2c59ce97c3d53ec21e0614e9c1646', 'service': 'pr-fifoci-mtl-osx-m1', 'pr': 14162, 'type': 'pull_request_fifoci_status'}
2026-10-03T20:04:26.072671 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': 'ca8f101300e2c59ce97c3d53ec21e0614e9c1646', 'service': 'pr-fifoci-sw-lin-mesa', 'pr': 14162, 'type': 'pull_request_fifoci_status'}
2026-10-03T19:53:52.811687 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': 'ca8f101300e2c59ce97c3d53ec21e0614e9c1646', 'service': 'pr-fifoci-mvk-osx-m1', 'pr': 14162, 'type': 'pull_request_fifoci_status'}
2026-10-03T17:23:50.440835 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '6c8a7f9ea814b9d05f9bf8bc277e433fe4df12b5', 'service': 'pr-fifoci-vk-lin-mesa', 'pr': 14899, 'type': 'pull_request_fifoci_status'}
2026-10-03T17:16:30.396954 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '6c8a7f9ea814b9d05f9bf8bc277e433fe4df12b5', 'service': 'pr-fifoci-mtl-osx-m1', 'pr': 14899, 'type': 'pull_request_fifoci_status'}
2026-10-03T17:09:48.150399 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '6c8a7f9ea814b9d05f9bf8bc277e433fe4df12b5', 'service': 'pr-fifoci-ogl-lin-mesa', 'pr': 14899, 'type': 'pull_request_fifoci_status'}
2026-10-03T17:05:38.448350 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '6c8a7f9ea814b9d05f9bf8bc277e433fe4df12b5', 'service': 'pr-fifoci-mvk-osx-m1', 'pr': 14899, 'type': 'pull_request_fifoci_status'}
2026-10-03T16:54:16.683875 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '6c8a7f9ea814b9d05f9bf8bc277e433fe4df12b5', 'service': 'pr-fifoci-sw-lin-mesa', 'pr': 14899, 'type': 'pull_request_fifoci_status'}
2026-10-03T14:29:39.118290 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '4c9019d6fb53ea81e49f6ed1ffeb70c52418a300', 'service': 'pr-fifoci-vk-lin-mesa', 'pr': 14853, 'type': 'pull_request_fifoci_status'}
2026-10-03T14:26:38.794580 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '4c9019d6fb53ea81e49f6ed1ffeb70c52418a300', 'service': 'pr-fifoci-ogl-lin-mesa', 'pr': 14853, 'type': 'pull_request_fifoci_status'}
2026-10-03T14:14:49.649087 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '4c9019d6fb53ea81e49f6ed1ffeb70c52418a300', 'service': 'pr-fifoci-mtl-osx-m1', 'pr': 14853, 'type': 'pull_request_fifoci_status'}
2026-10-03T14:03:56.273811 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '4c9019d6fb53ea81e49f6ed1ffeb70c52418a300', 'service': 'pr-fifoci-mvk-osx-m1', 'pr': 14853, 'type': 'pull_request_fifoci_status'}
2026-10-03T14:01:06.349929 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '4c9019d6fb53ea81e49f6ed1ffeb70c52418a300', 'service': 'pr-fifoci-sw-lin-mesa', 'pr': 14853, 'type': 'pull_request_fifoci_status'}
2026-10-03T12:18:32.074980 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': 'c93135d647ad00d387628a8eef2cc2d49c9eedab', 'service': 'pr-fifoci-vk-lin-mesa', 'pr': 14374, 'type': 'pull_request_fifoci_status'}
2026-10-03T12:02:27.515477 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': 'c93135d647ad00d387628a8eef2cc2d49c9eedab', 'service': 'pr-fifoci-ogl-lin-mesa', 'pr': 14374, 'type': 'pull_request_fifoci_status'}
2026-10-03T11:44:32.197361 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': 'c93135d647ad00d387628a8eef2cc2d49c9eedab', 'service': 'pr-fifoci-sw-lin-mesa', 'pr': 14374, 'type': 'pull_request_fifoci_status'}
2026-10-03T11:42:05.532240 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': 'c93135d647ad00d387628a8eef2cc2d49c9eedab', 'service': 'pr-fifoci-mtl-osx-m1', 'pr': 14374, 'type': 'pull_request_fifoci_status'}
2026-10-03T11:31:27.372222 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': 'c93135d647ad00d387628a8eef2cc2d49c9eedab', 'service': 'pr-fifoci-mvk-osx-m1', 'pr': 14374, 'type': 'pull_request_fifoci_status'}
2026-10-03T11:05:15.923798 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': 'c093b1323bc3b07fa21d920565d4ff6031dfae3c', 'service': 'pr-fifoci-sw-lin-mesa', 'pr': 14014, 'type': 'pull_request_fifoci_status'}
2026-10-03T10:54:02.930305 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': 'ecb1a7b69d0da4f7c227913156755f3e92a51cfb', 'service': 'pr-fifoci-sw-lin-mesa', 'pr': 14906, 'type': 'pull_request_fifoci_status'}
2026-10-03T10:45:20.679561 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': 'c093b1323bc3b07fa21d920565d4ff6031dfae3c', 'service': 'pr-fifoci-vk-lin-mesa', 'pr': 14014, 'type': 'pull_request_fifoci_status'}
2026-10-03T10:29:17.916114 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': 'ecb1a7b69d0da4f7c227913156755f3e92a51cfb', 'service': 'pr-fifoci-vk-lin-mesa', 'pr': 14906, 'type': 'pull_request_fifoci_status'}
2026-10-03T10:15:53.261983 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': 'c093b1323bc3b07fa21d920565d4ff6031dfae3c', 'service': 'pr-fifoci-ogl-lin-mesa', 'pr': 14014, 'type': 'pull_request_fifoci_status'}
Recent 'raw_bb_hook' events
2026-10-03T20:36:56.393955 {'source': 'webserver', 'raw': {'buildid': 190695, 'number': 5312, 'builderid': 41, 'buildrequestid': 191167, 'workerid': 5, 'masterid': 1, 'started_at': 1791058911, 'complete_at': 1791059814, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {'branchname': ['pr-14162', 'Trigger'], 'buildername': ['pr-fifoci-vk-lin-mesa', 'Builder'], 'got_revision': ['ca8f101300e2c59ce97c3d53ec21e0614e9c1646', 'GitNoBranch'], 'branch': ['refs/pull/14162/head', 'Build'], 'codebase': ['', 'Build'], 'basedir': ['/var/lib/fifoci-worker/worker', 'Worker'], 'pr_id': [14162, 'Trigger'], 'scheduler': ['pr-fifoci-lin', 'Scheduler'], 'workername': ['altair-fifoci', 'Worker'], 'revision': ['ca8f101300e2c59ce97c3d53ec21e0614e9c1646', 'Build'], 'owners': [['Central (on behalf of: jordan-woyak)'], 'Build'], 'baserev': ['562875dd60fd0ff50b65dbbb611a2096802cd1b9', 'Change'], 'shortrev': ['ca8f10', 'Trigger'], 'project': ['', 'Build'], 'warnings-count': [3, 'WarningCountingShellCommand'], 'headrev': ['ca8f101300e2c59ce97c3d53ec21e0614e9c1646', 'Trigger'], 'repo': ['dolphin-emu/dolphin', 'Trigger'], 'builderid': [41, 'Builder'], 'buildnumber': [5312, 'Build'], 'repository': ['', 'Build'], 'builddir': ['/var/lib/fifoci-worker/worker/pr-fifoci-vk-lin-mesa', 'Worker']}, 'buildrequest': {'buildrequestid': 191167, 'buildsetid': 43005, 'builderid': 41, 'priority': 0, 'claimed': True, 'claimed_at': 1791058911, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1791056611, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 43005, 'external_idstring': None, 'reason': "The Triggerable scheduler named 'pr-fifoci-lin' triggered this build", 'submitted_at': 1791056611, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': 190687, 'parent_relationship': 'Triggered from', 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 12905, 'branch': 'refs/pull/14162/head', 'revision': 'ca8f101300e2c59ce97c3d53ec21e0614e9c1646', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1791055628, 'patch': None}]}, 'parentbuild': {'buildid': 190687, 'number': 10631, 'builderid': 27, 'buildrequestid': 191159, 'workerid': 10, 'masterid': 1, 'started_at': 1791055634, 'complete_at': 1791056611, '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/5312'}, 'type': 'raw_bb_hook'}
2026-10-03T20:21:53.519408 {'source': 'webserver', 'raw': {'buildid': 190695, 'number': 5312, 'builderid': 41, 'buildrequestid': 191167, 'workerid': 5, 'masterid': 1, 'started_at': 1791058911, 'complete_at': None, 'locks_duration_s': 0, 'complete': False, 'state_string': 'starting', 'results': None, 'properties': {'branchname': ['pr-14162', 'Trigger'], 'buildername': ['pr-fifoci-vk-lin-mesa', 'Builder'], 'branch': ['refs/pull/14162/head', 'Build'], 'codebase': ['', 'Build'], 'pr_id': [14162, 'Trigger'], 'scheduler': ['pr-fifoci-lin', 'Scheduler'], 'workername': ['altair-fifoci', 'Worker'], 'revision': ['ca8f101300e2c59ce97c3d53ec21e0614e9c1646', 'Build'], 'owners': [['Central (on behalf of: jordan-woyak)'], 'Build'], 'baserev': ['562875dd60fd0ff50b65dbbb611a2096802cd1b9', 'Change'], 'shortrev': ['ca8f10', 'Trigger'], 'project': ['', 'Build'], 'headrev': ['ca8f101300e2c59ce97c3d53ec21e0614e9c1646', 'Trigger'], 'repo': ['dolphin-emu/dolphin', 'Trigger'], 'builderid': [41, 'Builder'], 'buildnumber': [5312, 'Build'], 'repository': ['', 'Build']}, 'buildrequest': {'buildrequestid': 191167, 'buildsetid': 43005, 'builderid': 41, 'priority': 0, 'claimed': True, 'claimed_at': 1791058911, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1791056611, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 43005, 'external_idstring': None, 'reason': "The Triggerable scheduler named 'pr-fifoci-lin' triggered this build", 'submitted_at': 1791056611, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': 190687, 'parent_relationship': 'Triggered from', 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 12905, 'branch': 'refs/pull/14162/head', 'revision': 'ca8f101300e2c59ce97c3d53ec21e0614e9c1646', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1791055628, 'patch': None}]}, 'parentbuild': {'buildid': 190687, 'number': 10631, 'builderid': 27, 'buildrequestid': 191159, 'workerid': 10, 'masterid': 1, 'started_at': 1791055634, 'complete_at': 1791056611, '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/5312'}, 'type': 'raw_bb_hook'}
2026-10-03T20:21:53.504445 {'source': 'webserver', 'raw': {'buildid': 190694, 'number': 9326, 'builderid': 10, 'buildrequestid': 191165, 'workerid': 5, 'masterid': 1, 'started_at': 1791057858, 'complete_at': 1791058911, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {'branchname': ['pr-14162', 'Trigger'], 'headrev': ['ca8f101300e2c59ce97c3d53ec21e0614e9c1646', 'Trigger'], 'pr_id': [14162, 'Trigger'], 'branch': ['refs/pull/14162/head', 'Build'], 'codebase': ['', 'Build'], 'owners': [['Central (on behalf of: jordan-woyak)'], 'Build'], 'builderid': [10, 'Builder'], 'buildnumber': [9326, 'Build'], 'revision': ['ca8f101300e2c59ce97c3d53ec21e0614e9c1646', 'Build'], 'baserev': ['562875dd60fd0ff50b65dbbb611a2096802cd1b9', 'Change'], 'scheduler': ['pr-fifoci-lin', 'Scheduler'], 'repository': ['', 'Build'], 'got_revision': ['ca8f101300e2c59ce97c3d53ec21e0614e9c1646', 'GitNoBranch'], 'buildername': ['pr-fifoci-ogl-lin-mesa', 'Builder'], 'workername': ['altair-fifoci', 'Worker'], 'project': ['', 'Build'], 'basedir': ['/var/lib/fifoci-worker/worker', 'Worker'], 'builddir': ['/var/lib/fifoci-worker/worker/pr-fifoci-ogl-lin-mesa', 'Worker'], 'shortrev': ['ca8f10', 'Trigger'], 'repo': ['dolphin-emu/dolphin', 'Trigger'], 'warnings-count': [3, 'WarningCountingShellCommand']}, 'buildrequest': {'buildrequestid': 191165, 'buildsetid': 43005, 'builderid': 10, 'priority': 0, 'claimed': True, 'claimed_at': 1791057858, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1791056611, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 43005, 'external_idstring': None, 'reason': "The Triggerable scheduler named 'pr-fifoci-lin' triggered this build", 'submitted_at': 1791056611, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': 190687, 'parent_relationship': 'Triggered from', 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 12905, 'branch': 'refs/pull/14162/head', 'revision': 'ca8f101300e2c59ce97c3d53ec21e0614e9c1646', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1791055628, 'patch': None}]}, 'parentbuild': {'buildid': 190687, 'number': 10631, 'builderid': 27, 'buildrequestid': 191159, 'workerid': 10, 'masterid': 1, 'started_at': 1791055634, 'complete_at': 1791056611, '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/9326'}, 'type': 'raw_bb_hook'}
2026-10-03T20:07:09.802733 {'source': 'webserver', 'raw': {'buildid': 190682, 'number': 5778, 'builderid': 43, 'buildrequestid': 191161, 'workerid': 13, 'masterid': 1, 'started_at': 1791055629, 'complete_at': 1791058025, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {'branchname': ['pr-14162', 'Change'], 'pr_id': [14162, 'Change'], 'repo': ['dolphin-emu/dolphin', 'Change'], 'buildername': ['pr-flatpak-x64', 'Builder'], 'baserev': ['562875dd60fd0ff50b65dbbb611a2096802cd1b9', 'Change'], 'scheduler': ['pr', 'Scheduler'], 'workername': ['altair-flatpak', 'Worker'], 'buildnumber': [5778, 'Build'], 'branch': ['refs/pull/14162/head', 'Build'], 'revision': ['ca8f101300e2c59ce97c3d53ec21e0614e9c1646', 'Build'], 'repository': ['', 'Build'], 'codebase': ['', 'Build'], 'headrev': ['ca8f101300e2c59ce97c3d53ec21e0614e9c1646', 'Change'], 'shortrev': ['ca8f10', 'Change'], 'builderid': [43, 'Builder'], 'project': ['', 'Build'], 'owners': [['Central (on behalf of: jordan-woyak)'], 'Build'], 'fm_build_url': ['https://flat-manager.dolphin-emu.org/api/v1/build/12846', 'SetPropertyFromCommand Step'], 'builddir': ['/var/lib/flatpak-worker/worker/pr-flatpak-x64', 'Worker'], 'basedir': ['/var/lib/flatpak-worker/worker', 'Worker'], 'got_revision': ['ca8f101300e2c59ce97c3d53ec21e0614e9c1646', 'GitNoBranch']}, 'buildrequest': {'buildrequestid': 191161, 'buildsetid': 43002, 'builderid': 43, 'priority': 0, 'claimed': True, 'claimed_at': 1791055629, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1791055628, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 43002, 'external_idstring': None, 'reason': "The AnyBranchScheduler scheduler named 'pr' triggered this build", 'submitted_at': 1791055628, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': None, 'parent_relationship': None, 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 12905, 'branch': 'refs/pull/14162/head', 'revision': 'ca8f101300e2c59ce97c3d53ec21e0614e9c1646', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1791055628, '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/5778'}, 'type': 'raw_bb_hook'}
2026-10-03T20:05:34.333372 {'source': 'webserver', 'raw': {'buildid': 190693, 'number': 10638, 'builderid': 31, 'buildrequestid': 191160, 'workerid': 4, 'masterid': 1, 'started_at': 1791057345, 'complete_at': 1791057932, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {'branchname': ['pr-14162', 'Change'], 'baserev': ['562875dd60fd0ff50b65dbbb611a2096802cd1b9', 'Change'], 'headrev': ['ca8f101300e2c59ce97c3d53ec21e0614e9c1646', 'Change'], 'pr_id': [14162, 'Change'], 'builderid': [31, 'Builder'], 'got_revision': ['ca8f101300e2c59ce97c3d53ec21e0614e9c1646', 'GitNoBranch'], 'sln_exists': ['false', 'SetPropertyFromCommand Step'], 'warnings-count': [247, 'WarningCountingShellCommand'], 'shortrev': ['ca8f10', 'Change'], 'scheduler': ['pr', 'Scheduler'], 'build_url': ['https://dl.dolphin-emu.org/prs/18/bd/pr-14162-dolphin-latest-dbg-x64.7z', 'SetProperty'], 'repo': ['dolphin-emu/dolphin', 'Change'], 'codebase': ['', 'Build'], 'owners': [['Central (on behalf of: jordan-woyak)'], 'Build'], 'basedir': ['c:\\buildbot', 'Worker'], 'buildername': ['pr-win-dbg-x64', 'Builder'], 'workername': ['windows', 'Worker'], 'branch': ['refs/pull/14162/head', 'Build'], 'repository': ['', 'Build'], 'project': ['', 'Build'], 'builddir': ['c:\\buildbot\\pr-win-dbg-x64', 'Worker'], 'buildnumber': [10638, 'Build'], 'revision': ['ca8f101300e2c59ce97c3d53ec21e0614e9c1646', 'Build']}, 'buildrequest': {'buildrequestid': 191160, 'buildsetid': 43002, 'builderid': 31, 'priority': 0, 'claimed': True, 'claimed_at': 1791057345, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1791055628, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 43002, 'external_idstring': None, 'reason': "The AnyBranchScheduler scheduler named 'pr' triggered this build", 'submitted_at': 1791055628, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': None, 'parent_relationship': None, 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 12905, 'branch': 'refs/pull/14162/head', 'revision': 'ca8f101300e2c59ce97c3d53ec21e0614e9c1646', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1791055628, '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/10638'}, 'type': 'raw_bb_hook'}
2026-10-03T20:04:45.936334 {'source': 'webserver', 'raw': {'buildid': 190692, 'number': 9038, 'builderid': 21, 'buildrequestid': 191164, 'workerid': 8, 'masterid': 1, 'started_at': 1791057226, 'complete_at': 1791057882, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {'branchname': ['pr-14162', 'Trigger'], 'baserev': ['562875dd60fd0ff50b65dbbb611a2096802cd1b9', 'Change'], 'headrev': ['ca8f101300e2c59ce97c3d53ec21e0614e9c1646', 'Trigger'], 'shortrev': ['ca8f10', 'Trigger'], 'pr_id': [14162, 'Trigger'], 'repo': ['dolphin-emu/dolphin', 'Trigger'], 'scheduler': ['pr-fifoci-osx', 'Scheduler'], 'builderid': [21, 'Builder'], 'buildnumber': [9038, 'Build'], 'branch': ['refs/pull/14162/head', 'Build'], 'revision': ['ca8f101300e2c59ce97c3d53ec21e0614e9c1646', 'Build'], 'repository': ['', 'Build'], 'codebase': ['', 'Build'], 'owners': [['Central (on behalf of: jordan-woyak)'], 'Build'], 'basedir': ['/Users/ci/worker/base', 'Worker'], 'got_revision': ['ca98b3030bcc70e67158ce899a5589aa2ec65d32', 'GitNoBranch'], 'buildername': ['pr-fifoci-mtl-osx-m1', 'Builder'], 'workername': ['osx-m1', 'Worker'], 'project': ['', 'Build'], 'builddir': ['/Users/ci/worker/base/pr-fifoci-mtl-osx-m1', 'Worker'], 'warnings-count': [114, 'WarningCountingShellCommand']}, 'buildrequest': {'buildrequestid': 191164, 'buildsetid': 43004, 'builderid': 21, 'priority': 0, 'claimed': True, 'claimed_at': 1791057226, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1791056569, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 43004, 'external_idstring': None, 'reason': "The Triggerable scheduler named 'pr-fifoci-osx' triggered this build", 'submitted_at': 1791056569, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': 190685, 'parent_relationship': 'Triggered from', 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 12905, 'branch': 'refs/pull/14162/head', 'revision': 'ca8f101300e2c59ce97c3d53ec21e0614e9c1646', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1791055628, 'patch': None}]}, 'parentbuild': {'buildid': 190685, 'number': 10649, 'builderid': 7, 'buildrequestid': 191153, 'workerid': 8, 'masterid': 1, 'started_at': 1791055629, 'complete_at': 1791056570, '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/9038'}, 'type': 'raw_bb_hook'}
2026-10-03T20:04:25.402694 {'source': 'webserver', 'raw': {'buildid': 190694, 'number': 9326, 'builderid': 10, 'buildrequestid': 191165, 'workerid': 5, 'masterid': 1, 'started_at': 1791057858, 'complete_at': None, 'locks_duration_s': 0, 'complete': False, 'state_string': 'starting', 'results': None, 'properties': {'branchname': ['pr-14162', 'Trigger'], 'headrev': ['ca8f101300e2c59ce97c3d53ec21e0614e9c1646', 'Trigger'], 'pr_id': [14162, 'Trigger'], 'branch': ['refs/pull/14162/head', 'Build'], 'codebase': ['', 'Build'], 'owners': [['Central (on behalf of: jordan-woyak)'], 'Build'], 'builderid': [10, 'Builder'], 'buildnumber': [9326, 'Build'], 'revision': ['ca8f101300e2c59ce97c3d53ec21e0614e9c1646', 'Build'], 'baserev': ['562875dd60fd0ff50b65dbbb611a2096802cd1b9', 'Change'], 'scheduler': ['pr-fifoci-lin', 'Scheduler'], 'repository': ['', 'Build'], 'buildername': ['pr-fifoci-ogl-lin-mesa', 'Builder'], 'workername': ['altair-fifoci', 'Worker'], 'project': ['', 'Build'], 'shortrev': ['ca8f10', 'Trigger'], 'repo': ['dolphin-emu/dolphin', 'Trigger']}, 'buildrequest': {'buildrequestid': 191165, 'buildsetid': 43005, 'builderid': 10, 'priority': 0, 'claimed': True, 'claimed_at': 1791057858, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1791056611, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 43005, 'external_idstring': None, 'reason': "The Triggerable scheduler named 'pr-fifoci-lin' triggered this build", 'submitted_at': 1791056611, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': 190687, 'parent_relationship': 'Triggered from', 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 12905, 'branch': 'refs/pull/14162/head', 'revision': 'ca8f101300e2c59ce97c3d53ec21e0614e9c1646', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1791055628, 'patch': None}]}, 'parentbuild': {'buildid': 190687, 'number': 10631, 'builderid': 27, 'buildrequestid': 191159, 'workerid': 10, 'masterid': 1, 'started_at': 1791055634, 'complete_at': 1791056611, '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/9326'}, 'type': 'raw_bb_hook'}
2026-10-03T20:04:25.376689 {'source': 'webserver', 'raw': {'buildid': 190690, 'number': 9325, 'builderid': 35, 'buildrequestid': 191166, 'workerid': 5, 'masterid': 1, 'started_at': 1791056611, 'complete_at': 1791057858, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {'branchname': ['pr-14162', 'Trigger'], 'baserev': ['562875dd60fd0ff50b65dbbb611a2096802cd1b9', 'Change'], 'headrev': ['ca8f101300e2c59ce97c3d53ec21e0614e9c1646', 'Trigger'], 'shortrev': ['ca8f10', 'Trigger'], 'repo': ['dolphin-emu/dolphin', 'Trigger'], 'scheduler': ['pr-fifoci-lin', 'Scheduler'], 'buildername': ['pr-fifoci-sw-lin-mesa', 'Builder'], 'builderid': [35, 'Builder'], 'workername': ['altair-fifoci', 'Worker'], 'buildnumber': [9325, 'Build'], 'branch': ['refs/pull/14162/head', 'Build'], 'revision': ['ca8f101300e2c59ce97c3d53ec21e0614e9c1646', 'Build'], 'repository': ['', 'Build'], 'project': ['', 'Build'], 'owners': [['Central (on behalf of: jordan-woyak)'], 'Build'], 'basedir': ['/var/lib/fifoci-worker/worker', 'Worker'], 'got_revision': ['ca8f101300e2c59ce97c3d53ec21e0614e9c1646', 'GitNoBranch'], 'warnings-count': [3, 'WarningCountingShellCommand'], 'pr_id': [14162, 'Trigger'], 'codebase': ['', 'Build'], 'builddir': ['/var/lib/fifoci-worker/worker/pr-fifoci-sw-lin-mesa', 'Worker']}, 'buildrequest': {'buildrequestid': 191166, 'buildsetid': 43005, 'builderid': 35, 'priority': 0, 'claimed': True, 'claimed_at': 1791056611, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1791056611, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 43005, 'external_idstring': None, 'reason': "The Triggerable scheduler named 'pr-fifoci-lin' triggered this build", 'submitted_at': 1791056611, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': 190687, 'parent_relationship': 'Triggered from', 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 12905, 'branch': 'refs/pull/14162/head', 'revision': 'ca8f101300e2c59ce97c3d53ec21e0614e9c1646', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1791055628, 'patch': None}]}, 'parentbuild': {'buildid': 190687, 'number': 10631, 'builderid': 27, 'buildrequestid': 191159, 'workerid': 10, 'masterid': 1, 'started_at': 1791055634, 'complete_at': 1791056611, '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/9325'}, 'type': 'raw_bb_hook'}
2026-10-03T20:01:12.341231 {'source': 'webserver', 'raw': {'buildid': 190691, 'number': 10630, 'builderid': 1, 'buildrequestid': 191151, 'workerid': 9, 'masterid': 1, 'started_at': 1791056677, 'complete_at': 1791057667, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {'branchname': ['pr-14162', 'Change'], 'baserev': ['562875dd60fd0ff50b65dbbb611a2096802cd1b9', 'Change'], 'headrev': ['ca8f101300e2c59ce97c3d53ec21e0614e9c1646', 'Change'], 'shortrev': ['ca8f10', 'Change'], 'pr_id': [14162, 'Change'], 'repo': ['dolphin-emu/dolphin', 'Change'], 'buildername': ['pr-deb-dbg-x64', 'Builder'], 'workername': ['debian', 'Worker'], 'branch': ['refs/pull/14162/head', 'Build'], 'revision': ['ca8f101300e2c59ce97c3d53ec21e0614e9c1646', 'Build'], 'repository': ['', 'Build'], 'codebase': ['', 'Build'], 'project': ['', 'Build'], 'owners': [['Central (on behalf of: jordan-woyak)'], 'Build'], 'builddir': ['/buildbot/pr-deb-dbg-x64', 'Worker'], 'got_revision': ['ca8f101300e2c59ce97c3d53ec21e0614e9c1646', 'GitNoBranch'], 'scheduler': ['pr', 'Scheduler'], 'builderid': [1, 'Builder'], 'buildnumber': [10630, 'Build'], 'basedir': ['/buildbot', 'Worker'], 'warnings-count': [3, 'WarningCountingShellCommand']}, 'buildrequest': {'buildrequestid': 191151, 'buildsetid': 43002, 'builderid': 1, 'priority': 0, 'claimed': True, 'claimed_at': 1791056677, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1791055628, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 43002, 'external_idstring': None, 'reason': "The AnyBranchScheduler scheduler named 'pr' triggered this build", 'submitted_at': 1791055628, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': None, 'parent_relationship': None, 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 12905, 'branch': 'refs/pull/14162/head', 'revision': 'ca8f101300e2c59ce97c3d53ec21e0614e9c1646', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1791055628, '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/10630'}, 'type': 'raw_bb_hook'}
2026-10-03T19:55:54.201697 {'source': 'webserver', 'raw': {'buildid': 190693, 'number': 10638, 'builderid': 31, 'buildrequestid': 191160, 'workerid': 4, 'masterid': 1, 'started_at': 1791057345, 'complete_at': None, 'locks_duration_s': 0, 'complete': False, 'state_string': 'starting', 'results': None, 'properties': {'branchname': ['pr-14162', 'Change'], 'baserev': ['562875dd60fd0ff50b65dbbb611a2096802cd1b9', 'Change'], 'headrev': ['ca8f101300e2c59ce97c3d53ec21e0614e9c1646', 'Change'], 'pr_id': [14162, 'Change'], 'builderid': [31, 'Builder'], 'shortrev': ['ca8f10', 'Change'], 'scheduler': ['pr', 'Scheduler'], 'repo': ['dolphin-emu/dolphin', 'Change'], 'codebase': ['', 'Build'], 'owners': [['Central (on behalf of: jordan-woyak)'], 'Build'], 'buildername': ['pr-win-dbg-x64', 'Builder'], 'workername': ['windows', 'Worker'], 'branch': ['refs/pull/14162/head', 'Build'], 'repository': ['', 'Build'], 'project': ['', 'Build'], 'buildnumber': [10638, 'Build'], 'revision': ['ca8f101300e2c59ce97c3d53ec21e0614e9c1646', 'Build']}, 'buildrequest': {'buildrequestid': 191160, 'buildsetid': 43002, 'builderid': 31, 'priority': 0, 'claimed': True, 'claimed_at': 1791057345, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1791055628, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 43002, 'external_idstring': None, 'reason': "The AnyBranchScheduler scheduler named 'pr' triggered this build", 'submitted_at': 1791055628, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': None, 'parent_relationship': None, 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 12905, 'branch': 'refs/pull/14162/head', 'revision': 'ca8f101300e2c59ce97c3d53ec21e0614e9c1646', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1791055628, '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/10638'}, 'type': 'raw_bb_hook'}
2026-10-03T19:55:54.187019 {'source': 'webserver', 'raw': {'buildid': 190688, 'number': 10629, 'builderid': 13, 'buildrequestid': 191156, 'workerid': 4, 'masterid': 1, 'started_at': 1791056391, 'complete_at': 1791057345, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {'branchname': ['pr-14162', 'Change'], 'baserev': ['562875dd60fd0ff50b65dbbb611a2096802cd1b9', 'Change'], 'shortrev': ['ca8f10', 'Change'], 'pr_id': [14162, 'Change'], 'repo': ['dolphin-emu/dolphin', 'Change'], 'scheduler': ['pr', 'Scheduler'], 'builderid': [13, 'Builder'], 'buildnumber': [10629, 'Build'], 'branch': ['refs/pull/14162/head', 'Build'], 'revision': ['ca8f101300e2c59ce97c3d53ec21e0614e9c1646', 'Build'], 'repository': ['', 'Build'], 'codebase': ['', 'Build'], 'project': ['', 'Build'], 'owners': [['Central (on behalf of: jordan-woyak)'], 'Build'], 'basedir': ['c:\\buildbot', 'Worker'], 'builddir': ['c:\\buildbot\\pr-win-arm64', 'Worker'], 'sln_exists': ['false', 'SetPropertyFromCommand Step'], 'warnings-count': [7, 'WarningCountingShellCommand'], 'build_url': ['https://dl.dolphin-emu.org/prs/e5/f1/pr-14162-dolphin-latest-arm64.7z', 'SetProperty'], 'headrev': ['ca8f101300e2c59ce97c3d53ec21e0614e9c1646', 'Change'], 'buildername': ['pr-win-arm64', 'Builder'], 'workername': ['windows', 'Worker'], 'got_revision': ['ca8f101300e2c59ce97c3d53ec21e0614e9c1646', 'GitNoBranch']}, 'buildrequest': {'buildrequestid': 191156, 'buildsetid': 43002, 'builderid': 13, 'priority': 0, 'claimed': True, 'claimed_at': 1791056391, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1791055628, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 43002, 'external_idstring': None, 'reason': "The AnyBranchScheduler scheduler named 'pr' triggered this build", 'submitted_at': 1791055628, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': None, 'parent_relationship': None, 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 12905, 'branch': 'refs/pull/14162/head', 'revision': 'ca8f101300e2c59ce97c3d53ec21e0614e9c1646', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1791055628, '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/10629'}, 'type': 'raw_bb_hook'}
2026-10-03T19:53:52.007011 {'source': 'webserver', 'raw': {'buildid': 190692, 'number': 9038, 'builderid': 21, 'buildrequestid': 191164, 'workerid': 8, 'masterid': 1, 'started_at': 1791057226, 'complete_at': None, 'locks_duration_s': 0, 'complete': False, 'state_string': 'starting', 'results': None, 'properties': {'branchname': ['pr-14162', 'Trigger'], 'baserev': ['562875dd60fd0ff50b65dbbb611a2096802cd1b9', 'Change'], 'headrev': ['ca8f101300e2c59ce97c3d53ec21e0614e9c1646', 'Trigger'], 'shortrev': ['ca8f10', 'Trigger'], 'pr_id': [14162, 'Trigger'], 'repo': ['dolphin-emu/dolphin', 'Trigger'], 'scheduler': ['pr-fifoci-osx', 'Scheduler'], 'builderid': [21, 'Builder'], 'buildnumber': [9038, 'Build'], 'branch': ['refs/pull/14162/head', 'Build'], 'revision': ['ca8f101300e2c59ce97c3d53ec21e0614e9c1646', 'Build'], 'repository': ['', 'Build'], 'codebase': ['', 'Build'], 'owners': [['Central (on behalf of: jordan-woyak)'], 'Build'], 'buildername': ['pr-fifoci-mtl-osx-m1', 'Builder'], 'workername': ['osx-m1', 'Worker'], 'project': ['', 'Build']}, 'buildrequest': {'buildrequestid': 191164, 'buildsetid': 43004, 'builderid': 21, 'priority': 0, 'claimed': True, 'claimed_at': 1791057226, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1791056569, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 43004, 'external_idstring': None, 'reason': "The Triggerable scheduler named 'pr-fifoci-osx' triggered this build", 'submitted_at': 1791056569, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': 190685, 'parent_relationship': 'Triggered from', 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 12905, 'branch': 'refs/pull/14162/head', 'revision': 'ca8f101300e2c59ce97c3d53ec21e0614e9c1646', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1791055628, 'patch': None}]}, 'parentbuild': {'buildid': 190685, 'number': 10649, 'builderid': 7, 'buildrequestid': 191153, 'workerid': 8, 'masterid': 1, 'started_at': 1791055629, 'complete_at': 1791056570, '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/9038'}, 'type': 'raw_bb_hook'}
2026-10-03T19:53:51.938828 {'source': 'webserver', 'raw': {'buildid': 190689, 'number': 9036, 'builderid': 19, 'buildrequestid': 191163, 'workerid': 8, 'masterid': 1, 'started_at': 1791056570, 'complete_at': 1791057226, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {'branchname': ['pr-14162', 'Trigger'], 'headrev': ['ca8f101300e2c59ce97c3d53ec21e0614e9c1646', 'Trigger'], 'pr_id': [14162, 'Trigger'], 'repo': ['dolphin-emu/dolphin', 'Trigger'], 'scheduler': ['pr-fifoci-osx', 'Scheduler'], 'buildername': ['pr-fifoci-mvk-osx-m1', 'Builder'], 'builderid': [19, 'Builder'], 'workername': ['osx-m1', 'Worker'], 'buildnumber': [9036, 'Build'], 'revision': ['ca8f101300e2c59ce97c3d53ec21e0614e9c1646', 'Build'], 'repository': ['', 'Build'], 'codebase': ['', 'Build'], 'project': ['', 'Build'], 'owners': [['Central (on behalf of: jordan-woyak)'], 'Build'], 'basedir': ['/Users/ci/worker/base', 'Worker'], 'builddir': ['/Users/ci/worker/base/pr-fifoci-mvk-osx-m1', 'Worker'], 'baserev': ['562875dd60fd0ff50b65dbbb611a2096802cd1b9', 'Change'], 'shortrev': ['ca8f10', 'Trigger'], 'branch': ['refs/pull/14162/head', 'Build'], 'got_revision': ['ca98b3030bcc70e67158ce899a5589aa2ec65d32', 'GitNoBranch'], 'warnings-count': [114, 'WarningCountingShellCommand']}, 'buildrequest': {'buildrequestid': 191163, 'buildsetid': 43004, 'builderid': 19, 'priority': 0, 'claimed': True, 'claimed_at': 1791056570, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1791056569, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 43004, 'external_idstring': None, 'reason': "The Triggerable scheduler named 'pr-fifoci-osx' triggered this build", 'submitted_at': 1791056569, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': 190685, 'parent_relationship': 'Triggered from', 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 12905, 'branch': 'refs/pull/14162/head', 'revision': 'ca8f101300e2c59ce97c3d53ec21e0614e9c1646', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1791055628, 'patch': None}]}, 'parentbuild': {'buildid': 190685, 'number': 10649, 'builderid': 7, 'buildrequestid': 191153, 'workerid': 8, 'masterid': 1, 'started_at': 1791055629, 'complete_at': 1791056570, '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/9036'}, 'type': 'raw_bb_hook'}
2026-10-03T19:48:27.582407 {'source': 'webserver', 'raw': {'buildid': 190684, 'number': 10635, 'builderid': 22, 'buildrequestid': 191157, 'workerid': 12, 'masterid': 1, 'started_at': 1791055629, 'complete_at': 1791056902, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {'branchname': ['pr-14162', 'Change'], 'headrev': ['ca8f101300e2c59ce97c3d53ec21e0614e9c1646', 'Change'], 'workername': ['android', 'Worker'], 'branch': ['refs/pull/14162/head', 'Build'], 'shortrev': ['ca8f10', 'Change'], 'baserev': ['562875dd60fd0ff50b65dbbb611a2096802cd1b9', 'Change'], 'pr_id': [14162, 'Change'], 'repo': ['dolphin-emu/dolphin', 'Change'], 'scheduler': ['pr', 'Scheduler'], 'buildername': ['pr-android', 'Builder'], 'builderid': [22, 'Builder'], 'buildnumber': [10635, 'Build'], 'project': ['', 'Build'], 'revision': ['ca8f101300e2c59ce97c3d53ec21e0614e9c1646', 'Build'], 'repository': ['', 'Build'], 'owners': [['Central (on behalf of: jordan-woyak)'], 'Build'], 'codebase': ['', 'Build'], 'basedir': ['/buildbot', 'Worker'], 'builddir': ['/buildbot/pr-android', 'Worker'], 'got_revision': ['ca8f101300e2c59ce97c3d53ec21e0614e9c1646', 'GitNoBranch']}, 'buildrequest': {'buildrequestid': 191157, 'buildsetid': 43002, 'builderid': 22, 'priority': 0, 'claimed': True, 'claimed_at': 1791055629, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1791055628, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 43002, 'external_idstring': None, 'reason': "The AnyBranchScheduler scheduler named 'pr' triggered this build", 'submitted_at': 1791055628, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': None, 'parent_relationship': None, 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 12905, 'branch': 'refs/pull/14162/head', 'revision': 'ca8f101300e2c59ce97c3d53ec21e0614e9c1646', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1791055628, '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/10635'}, 'type': 'raw_bb_hook'}
2026-10-03T19:44:43.714542 {'source': 'webserver', 'raw': {'buildid': 190683, 'number': 10629, 'builderid': 26, 'buildrequestid': 191158, 'workerid': 9, 'masterid': 1, 'started_at': 1791055629, 'complete_at': 1791056677, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {'baserev': ['562875dd60fd0ff50b65dbbb611a2096802cd1b9', 'Change'], 'headrev': ['ca8f101300e2c59ce97c3d53ec21e0614e9c1646', 'Change'], 'pr_id': [14162, 'Change'], 'scheduler': ['pr', 'Scheduler'], 'repo': ['dolphin-emu/dolphin', 'Change'], 'branchname': ['pr-14162', 'Change'], 'shortrev': ['ca8f10', 'Change'], 'branch': ['refs/pull/14162/head', 'Build'], 'buildername': ['pr-deb-x64', 'Builder'], 'builderid': [26, 'Builder'], 'repository': ['', 'Build'], 'codebase': ['', 'Build'], 'owners': [['Central (on behalf of: jordan-woyak)'], 'Build'], 'workername': ['debian', 'Worker'], 'buildnumber': [10629, 'Build'], 'project': ['', 'Build'], 'warnings-count': [8, 'WarningCountingShellCommand'], 'revision': ['ca8f101300e2c59ce97c3d53ec21e0614e9c1646', 'Build'], 'basedir': ['/buildbot', 'Worker'], 'builddir': ['/buildbot/pr-deb-x64', 'Worker'], 'got_revision': ['ca8f101300e2c59ce97c3d53ec21e0614e9c1646', 'GitNoBranch']}, 'buildrequest': {'buildrequestid': 191158, 'buildsetid': 43002, 'builderid': 26, 'priority': 0, 'claimed': True, 'claimed_at': 1791055629, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1791055628, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 43002, 'external_idstring': None, 'reason': "The AnyBranchScheduler scheduler named 'pr' triggered this build", 'submitted_at': 1791055628, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': None, 'parent_relationship': None, 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 12905, 'branch': 'refs/pull/14162/head', 'revision': 'ca8f101300e2c59ce97c3d53ec21e0614e9c1646', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1791055628, '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/10629'}, 'type': 'raw_bb_hook'}
2026-10-03T19:44:43.646976 {'source': 'webserver', 'raw': {'buildid': 190691, 'number': 10630, 'builderid': 1, 'buildrequestid': 191151, 'workerid': 9, 'masterid': 1, 'started_at': 1791056677, 'complete_at': None, 'locks_duration_s': 0, 'complete': False, 'state_string': 'starting', 'results': None, 'properties': {'branchname': ['pr-14162', 'Change'], 'baserev': ['562875dd60fd0ff50b65dbbb611a2096802cd1b9', 'Change'], 'headrev': ['ca8f101300e2c59ce97c3d53ec21e0614e9c1646', 'Change'], 'shortrev': ['ca8f10', 'Change'], 'pr_id': [14162, 'Change'], 'repo': ['dolphin-emu/dolphin', 'Change'], 'buildername': ['pr-deb-dbg-x64', 'Builder'], 'workername': ['debian', 'Worker'], 'branch': ['refs/pull/14162/head', 'Build'], 'revision': ['ca8f101300e2c59ce97c3d53ec21e0614e9c1646', 'Build'], 'repository': ['', 'Build'], 'codebase': ['', 'Build'], 'project': ['', 'Build'], 'owners': [['Central (on behalf of: jordan-woyak)'], 'Build'], 'scheduler': ['pr', 'Scheduler'], 'builderid': [1, 'Builder'], 'buildnumber': [10630, 'Build']}, 'buildrequest': {'buildrequestid': 191151, 'buildsetid': 43002, 'builderid': 1, 'priority': 0, 'claimed': True, 'claimed_at': 1791056677, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1791055628, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 43002, 'external_idstring': None, 'reason': "The AnyBranchScheduler scheduler named 'pr' triggered this build", 'submitted_at': 1791055628, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': None, 'parent_relationship': None, 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 12905, 'branch': 'refs/pull/14162/head', 'revision': 'ca8f101300e2c59ce97c3d53ec21e0614e9c1646', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1791055628, '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/10630'}, 'type': 'raw_bb_hook'}
2026-10-03T19:43:38.105739 {'source': 'webserver', 'raw': {'buildid': 190687, 'number': 10631, 'builderid': 27, 'buildrequestid': 191159, 'workerid': 10, 'masterid': 1, 'started_at': 1791055634, 'complete_at': 1791056611, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {'warnings-count': [7, 'WarningCountingShellCommand'], 'basedir': ['/buildbot', 'Worker'], 'builddir': ['/buildbot/pr-ubu-x64', 'Worker'], 'got_revision': ['ca8f101300e2c59ce97c3d53ec21e0614e9c1646', 'GitNoBranch'], 'branchname': ['pr-14162', 'Change'], 'baserev': ['562875dd60fd0ff50b65dbbb611a2096802cd1b9', 'Change'], 'owners': [['Central (on behalf of: jordan-woyak)'], 'Build'], 'headrev': ['ca8f101300e2c59ce97c3d53ec21e0614e9c1646', 'Change'], 'shortrev': ['ca8f10', 'Change'], 'repo': ['dolphin-emu/dolphin', 'Change'], 'pr_id': [14162, 'Change'], 'scheduler': ['pr', 'Scheduler'], 'buildername': ['pr-ubu-x64', 'Builder'], 'builderid': [27, 'Builder'], 'workername': ['ubuntu-lts', 'Worker'], 'buildnumber': [10631, 'Build'], 'branch': ['refs/pull/14162/head', 'Build'], 'revision': ['ca8f101300e2c59ce97c3d53ec21e0614e9c1646', 'Build'], 'repository': ['', 'Build'], 'codebase': ['', 'Build'], 'project': ['', 'Build']}, 'buildrequest': {'buildrequestid': 191159, 'buildsetid': 43002, 'builderid': 27, 'priority': 0, 'claimed': True, 'claimed_at': 1791055634, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1791055628, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 43002, 'external_idstring': None, 'reason': "The AnyBranchScheduler scheduler named 'pr' triggered this build", 'submitted_at': 1791055628, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': None, 'parent_relationship': None, 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 12905, 'branch': 'refs/pull/14162/head', 'revision': 'ca8f101300e2c59ce97c3d53ec21e0614e9c1646', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1791055628, '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/10631'}, 'type': 'raw_bb_hook'}
2026-10-03T19:43:37.797016 {'source': 'webserver', 'raw': {'buildid': 190690, 'number': 9325, 'builderid': 35, 'buildrequestid': 191166, 'workerid': 5, 'masterid': 1, 'started_at': 1791056611, 'complete_at': None, 'locks_duration_s': 0, 'complete': False, 'state_string': 'starting', 'results': None, 'properties': {'branchname': ['pr-14162', 'Trigger'], 'baserev': ['562875dd60fd0ff50b65dbbb611a2096802cd1b9', 'Change'], 'headrev': ['ca8f101300e2c59ce97c3d53ec21e0614e9c1646', 'Trigger'], 'shortrev': ['ca8f10', 'Trigger'], 'repo': ['dolphin-emu/dolphin', 'Trigger'], 'scheduler': ['pr-fifoci-lin', 'Scheduler'], 'buildername': ['pr-fifoci-sw-lin-mesa', 'Builder'], 'builderid': [35, 'Builder'], 'workername': ['altair-fifoci', 'Worker'], 'buildnumber': [9325, 'Build'], 'branch': ['refs/pull/14162/head', 'Build'], 'revision': ['ca8f101300e2c59ce97c3d53ec21e0614e9c1646', 'Build'], 'repository': ['', 'Build'], 'project': ['', 'Build'], 'owners': [['Central (on behalf of: jordan-woyak)'], 'Build'], 'pr_id': [14162, 'Trigger'], 'codebase': ['', 'Build']}, 'buildrequest': {'buildrequestid': 191166, 'buildsetid': 43005, 'builderid': 35, 'priority': 0, 'claimed': True, 'claimed_at': 1791056611, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1791056611, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 43005, 'external_idstring': None, 'reason': "The Triggerable scheduler named 'pr-fifoci-lin' triggered this build", 'submitted_at': 1791056611, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': 190687, 'parent_relationship': 'Triggered from', 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 12905, 'branch': 'refs/pull/14162/head', 'revision': 'ca8f101300e2c59ce97c3d53ec21e0614e9c1646', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1791055628, 'patch': None}]}, 'parentbuild': {'buildid': 190687, 'number': 10631, 'builderid': 27, 'buildrequestid': 191159, 'workerid': 10, 'masterid': 1, 'started_at': 1791055634, 'complete_at': 1791056611, '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/9325'}, 'type': 'raw_bb_hook'}
2026-10-03T19:43:06.802015 {'source': 'webserver', 'raw': {'buildid': 190681, 'number': 5719, 'builderid': 44, 'buildrequestid': 191162, 'workerid': 14, 'masterid': 1, 'started_at': 1791055629, 'complete_at': 1791056580, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {'scheduler': ['pr', 'Scheduler'], 'buildnumber': [5719, 'Build'], 'branch': ['refs/pull/14162/head', 'Build'], 'revision': ['ca8f101300e2c59ce97c3d53ec21e0614e9c1646', 'Build'], 'repository': ['', 'Build'], 'codebase': ['', 'Build'], 'branchname': ['pr-14162', 'Change'], 'shortrev': ['ca8f10', 'Change'], 'builderid': [44, 'Builder'], 'workername': ['deneb-flatpak', 'Worker'], 'baserev': ['562875dd60fd0ff50b65dbbb611a2096802cd1b9', 'Change'], 'repo': ['dolphin-emu/dolphin', 'Change'], 'pr_id': [14162, 'Change'], 'headrev': ['ca8f101300e2c59ce97c3d53ec21e0614e9c1646', 'Change'], 'buildername': ['pr-flatpak-arm64', 'Builder'], 'project': ['', 'Build'], 'owners': [['Central (on behalf of: jordan-woyak)'], 'Build'], 'fm_build_url': ['https://flat-manager.dolphin-emu.org/api/v1/build/12845', 'SetPropertyFromCommand Step'], 'basedir': ['/var/lib/flatpak-worker/worker', 'Worker'], 'builddir': ['/var/lib/flatpak-worker/worker/pr-flatpak-arm64', 'Worker'], 'got_revision': ['ca8f101300e2c59ce97c3d53ec21e0614e9c1646', 'GitNoBranch']}, 'buildrequest': {'buildrequestid': 191162, 'buildsetid': 43002, 'builderid': 44, 'priority': 0, 'claimed': True, 'claimed_at': 1791055629, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1791055628, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 43002, 'external_idstring': None, 'reason': "The AnyBranchScheduler scheduler named 'pr' triggered this build", 'submitted_at': 1791055628, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': None, 'parent_relationship': None, 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 12905, 'branch': 'refs/pull/14162/head', 'revision': 'ca8f101300e2c59ce97c3d53ec21e0614e9c1646', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1791055628, '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/5719'}, 'type': 'raw_bb_hook'}
2026-10-03T19:42:56.723038 {'source': 'webserver', 'raw': {'buildid': 190685, 'number': 10649, 'builderid': 7, 'buildrequestid': 191153, 'workerid': 8, 'masterid': 1, 'started_at': 1791055629, 'complete_at': 1791056570, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {'shortrev': ['ca8f10', 'Change'], 'headrev': ['ca8f101300e2c59ce97c3d53ec21e0614e9c1646', 'Change'], 'pr_id': [14162, 'Change'], 'repo': ['dolphin-emu/dolphin', 'Change'], 'branchname': ['pr-14162', 'Change'], 'baserev': ['562875dd60fd0ff50b65dbbb611a2096802cd1b9', 'Change'], 'branch': ['refs/pull/14162/head', 'Build'], 'basedir': ['/Users/ci/worker/base', 'Worker'], 'codebase': ['', 'Build'], 'project': ['', 'Build'], 'builddir': ['/Users/ci/worker/base/pr-osx-universal', 'Worker'], 'got_revision': ['ca8f101300e2c59ce97c3d53ec21e0614e9c1646', 'GitNoBranch'], 'scheduler': ['pr', 'Scheduler'], 'buildername': ['pr-osx-universal', 'Builder'], 'builderid': [7, 'Builder'], 'workername': ['osx-m1', 'Worker'], 'owners': [['Central (on behalf of: jordan-woyak)'], 'Build'], 'buildnumber': [10649, 'Build'], 'revision': ['ca8f101300e2c59ce97c3d53ec21e0614e9c1646', 'Build'], 'repository': ['', 'Build']}, 'buildrequest': {'buildrequestid': 191153, 'buildsetid': 43002, 'builderid': 7, 'priority': 0, 'claimed': True, 'claimed_at': 1791055629, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1791055628, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 43002, 'external_idstring': None, 'reason': "The AnyBranchScheduler scheduler named 'pr' triggered this build", 'submitted_at': 1791055628, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': None, 'parent_relationship': None, 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 12905, 'branch': 'refs/pull/14162/head', 'revision': 'ca8f101300e2c59ce97c3d53ec21e0614e9c1646', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1791055628, '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/10649'}, 'type': 'raw_bb_hook'}
2026-10-03T19:42:55.530182 {'source': 'webserver', 'raw': {'buildid': 190689, 'number': 9036, 'builderid': 19, 'buildrequestid': 191163, 'workerid': 8, 'masterid': 1, 'started_at': 1791056570, 'complete_at': None, 'locks_duration_s': 0, 'complete': False, 'state_string': 'starting', 'results': None, 'properties': {'branchname': ['pr-14162', 'Trigger'], 'headrev': ['ca8f101300e2c59ce97c3d53ec21e0614e9c1646', 'Trigger'], 'pr_id': [14162, 'Trigger'], 'repo': ['dolphin-emu/dolphin', 'Trigger'], 'scheduler': ['pr-fifoci-osx', 'Scheduler'], 'buildername': ['pr-fifoci-mvk-osx-m1', 'Builder'], 'builderid': [19, 'Builder'], 'workername': ['osx-m1', 'Worker'], 'buildnumber': [9036, 'Build'], 'revision': ['ca8f101300e2c59ce97c3d53ec21e0614e9c1646', 'Build'], 'repository': ['', 'Build'], 'codebase': ['', 'Build'], 'project': ['', 'Build'], 'owners': [['Central (on behalf of: jordan-woyak)'], 'Build'], 'baserev': ['562875dd60fd0ff50b65dbbb611a2096802cd1b9', 'Change'], 'shortrev': ['ca8f10', 'Trigger'], 'branch': ['refs/pull/14162/head', 'Build']}, 'buildrequest': {'buildrequestid': 191163, 'buildsetid': 43004, 'builderid': 19, 'priority': 0, 'claimed': True, 'claimed_at': 1791056570, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1791056569, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 43004, 'external_idstring': None, 'reason': "The Triggerable scheduler named 'pr-fifoci-osx' triggered this build", 'submitted_at': 1791056569, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': 190685, 'parent_relationship': 'Triggered from', 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 12905, 'branch': 'refs/pull/14162/head', 'revision': 'ca8f101300e2c59ce97c3d53ec21e0614e9c1646', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1791055628, 'patch': None}]}, 'parentbuild': {'buildid': 190685, 'number': 10649, 'builderid': 7, 'buildrequestid': 191153, 'workerid': 8, 'masterid': 1, 'started_at': 1791055629, 'complete_at': 1791056570, '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/9036'}, 'type': 'raw_bb_hook'}
2026-10-03T19:39:59.379660 {'source': 'webserver', 'raw': {'buildid': 190688, 'number': 10629, 'builderid': 13, 'buildrequestid': 191156, 'workerid': 4, 'masterid': 1, 'started_at': 1791056391, 'complete_at': None, 'locks_duration_s': 0, 'complete': False, 'state_string': 'starting', 'results': None, 'properties': {'branchname': ['pr-14162', 'Change'], 'baserev': ['562875dd60fd0ff50b65dbbb611a2096802cd1b9', 'Change'], 'shortrev': ['ca8f10', 'Change'], 'pr_id': [14162, 'Change'], 'repo': ['dolphin-emu/dolphin', 'Change'], 'scheduler': ['pr', 'Scheduler'], 'builderid': [13, 'Builder'], 'buildnumber': [10629, 'Build'], 'branch': ['refs/pull/14162/head', 'Build'], 'revision': ['ca8f101300e2c59ce97c3d53ec21e0614e9c1646', 'Build'], 'repository': ['', 'Build'], 'codebase': ['', 'Build'], 'project': ['', 'Build'], 'owners': [['Central (on behalf of: jordan-woyak)'], 'Build'], 'headrev': ['ca8f101300e2c59ce97c3d53ec21e0614e9c1646', 'Change'], 'buildername': ['pr-win-arm64', 'Builder'], 'workername': ['windows', 'Worker']}, 'buildrequest': {'buildrequestid': 191156, 'buildsetid': 43002, 'builderid': 13, 'priority': 0, 'claimed': True, 'claimed_at': 1791056391, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1791055628, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 43002, 'external_idstring': None, 'reason': "The AnyBranchScheduler scheduler named 'pr' triggered this build", 'submitted_at': 1791055628, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': None, 'parent_relationship': None, 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 12905, 'branch': 'refs/pull/14162/head', 'revision': 'ca8f101300e2c59ce97c3d53ec21e0614e9c1646', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1791055628, '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/10629'}, 'type': 'raw_bb_hook'}
2026-10-03T19:39:59.245088 {'source': 'webserver', 'raw': {'buildid': 190680, 'number': 10632, 'builderid': 2, 'buildrequestid': 191152, 'workerid': 4, 'masterid': 1, 'started_at': 1791055629, 'complete_at': 1791056391, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {'baserev': ['562875dd60fd0ff50b65dbbb611a2096802cd1b9', 'Change'], 'headrev': ['ca8f101300e2c59ce97c3d53ec21e0614e9c1646', 'Change'], 'shortrev': ['ca8f10', 'Change'], 'repo': ['dolphin-emu/dolphin', 'Change'], 'builderid': [2, 'Builder'], 'workername': ['windows', 'Worker'], 'buildnumber': [10632, 'Build'], 'codebase': ['', 'Build'], 'project': ['', 'Build'], 'owners': [['Central (on behalf of: jordan-woyak)'], 'Build'], 'branchname': ['pr-14162', 'Change'], 'pr_id': [14162, 'Change'], 'scheduler': ['pr', 'Scheduler'], 'buildername': ['pr-win-x64', 'Builder'], 'branch': ['refs/pull/14162/head', 'Build'], 'revision': ['ca8f101300e2c59ce97c3d53ec21e0614e9c1646', 'Build'], 'repository': ['', 'Build'], 'basedir': ['c:\\buildbot', 'Worker'], 'warnings-count': [247, 'WarningCountingShellCommand'], 'build_url': ['https://dl.dolphin-emu.org/prs/7c/3f/pr-14162-dolphin-latest-x64.7z', 'SetProperty'], 'builddir': ['c:\\buildbot\\pr-win-x64', 'Worker'], 'got_revision': ['ca8f101300e2c59ce97c3d53ec21e0614e9c1646', 'GitNoBranch'], 'sln_exists': ['false', 'SetPropertyFromCommand Step']}, 'buildrequest': {'buildrequestid': 191152, 'buildsetid': 43002, 'builderid': 2, 'priority': 0, 'claimed': True, 'claimed_at': 1791055629, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1791055628, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 43002, 'external_idstring': None, 'reason': "The AnyBranchScheduler scheduler named 'pr' triggered this build", 'submitted_at': 1791055628, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': None, 'parent_relationship': None, 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 12905, 'branch': 'refs/pull/14162/head', 'revision': 'ca8f101300e2c59ce97c3d53ec21e0614e9c1646', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1791055628, '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/10632'}, 'type': 'raw_bb_hook'}
2026-10-03T19:30:37.065079 {'source': 'webserver', 'raw': {'buildid': 190686, 'number': 10636, 'builderid': 11, 'buildrequestid': 191155, 'workerid': 1, 'masterid': 1, 'started_at': 1791055629, 'complete_at': 1791055832, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {'branchname': ['pr-14162', 'Change'], 'workername': ['freebsd', 'Worker'], 'owners': [['Central (on behalf of: jordan-woyak)'], 'Build'], 'basedir': ['/usr/home/buildbot/freebsd', 'Worker'], 'warnings-count': [0, 'WarningCountingShellCommand'], 'scheduler': ['pr', 'Scheduler'], 'builddir': ['/usr/home/buildbot/freebsd/pr-freebsd-x64', 'Worker'], 'buildnumber': [10636, 'Build'], 'got_revision': ['ca8f101300e2c59ce97c3d53ec21e0614e9c1646', 'GitNoBranch'], 'builderid': [11, 'Builder'], 'branch': ['refs/pull/14162/head', 'Build'], 'baserev': ['562875dd60fd0ff50b65dbbb611a2096802cd1b9', 'Change'], 'headrev': ['ca8f101300e2c59ce97c3d53ec21e0614e9c1646', 'Change'], 'buildername': ['pr-freebsd-x64', 'Builder'], 'revision': ['ca8f101300e2c59ce97c3d53ec21e0614e9c1646', 'Build'], 'repo': ['dolphin-emu/dolphin', 'Change'], 'repository': ['', 'Build'], 'codebase': ['', 'Build'], 'shortrev': ['ca8f10', 'Change'], 'project': ['', 'Build'], 'pr_id': [14162, 'Change']}, 'buildrequest': {'buildrequestid': 191155, 'buildsetid': 43002, 'builderid': 11, 'priority': 0, 'claimed': True, 'claimed_at': 1791055629, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1791055628, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 43002, 'external_idstring': None, 'reason': "The AnyBranchScheduler scheduler named 'pr' triggered this build", 'submitted_at': 1791055628, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': None, 'parent_relationship': None, 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 12905, 'branch': 'refs/pull/14162/head', 'revision': 'ca8f101300e2c59ce97c3d53ec21e0614e9c1646', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1791055628, 'patch': None}]}, 'parentbuild': None, 'parentbuilder': None, 'builder': {'builderid': 11, 'name': 'pr-freebsd-x64', 'masterids': [1], 'description': None, 'description_format': None, 'description_html': None, 'projectid': None, 'tags': []}, 'url': 'https://dolphin.ci/#/builders/11/builds/10636'}, 'type': 'raw_bb_hook'}
2026-10-03T19:27:23.027959 {'source': 'webserver', 'raw': {'buildid': 190679, 'number': 10634, 'builderid': 9, 'buildrequestid': 191154, 'workerid': 10, 'masterid': 1, 'started_at': 1791055629, 'complete_at': 1791055634, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {'branchname': ['pr-14162', 'Change'], 'baserev': ['562875dd60fd0ff50b65dbbb611a2096802cd1b9', 'Change'], 'builderid': [9, 'Builder'], 'workername': ['ubuntu-lts', 'Worker'], 'buildnumber': [10634, 'Build'], 'branch': ['refs/pull/14162/head', 'Build'], 'repository': ['', 'Build'], 'owners': [['Central (on behalf of: jordan-woyak)'], 'Build'], 'pr_id': [14162, 'Change'], 'revision': ['ca8f101300e2c59ce97c3d53ec21e0614e9c1646', 'Build'], 'shortrev': ['ca8f10', 'Change'], 'scheduler': ['pr', 'Scheduler'], 'codebase': ['', 'Build'], 'project': ['', 'Build'], 'headrev': ['ca8f101300e2c59ce97c3d53ec21e0614e9c1646', 'Change'], 'repo': ['dolphin-emu/dolphin', 'Change'], 'buildername': ['lint', 'Builder'], 'basedir': ['/buildbot', 'Worker'], 'builddir': ['/buildbot/lint', 'Worker'], 'got_revision': ['ca8f101300e2c59ce97c3d53ec21e0614e9c1646', 'GitNoBranch']}, 'buildrequest': {'buildrequestid': 191154, 'buildsetid': 43002, 'builderid': 9, 'priority': 0, 'claimed': True, 'claimed_at': 1791055629, 'claimed_by_masterid': 1, 'complete': True, 'results': 0, 'submitted_at': 1791055628, 'complete_at': 1791055634, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 43002, 'external_idstring': None, 'reason': "The AnyBranchScheduler scheduler named 'pr' triggered this build", 'submitted_at': 1791055628, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': None, 'parent_relationship': None, 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 12905, 'branch': 'refs/pull/14162/head', 'revision': 'ca8f101300e2c59ce97c3d53ec21e0614e9c1646', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1791055628, 'patch': None}]}, 'parentbuild': None, 'parentbuilder': None, 'builder': {'builderid': 9, 'name': 'lint', 'masterids': [1], 'description': None, 'description_format': None, 'description_html': None, 'projectid': None, 'tags': []}, 'url': 'https://dolphin.ci/#/builders/9/builds/10634'}, 'type': 'raw_bb_hook'}
Recent 'raw_gh_hook' events
2026-10-03T19:36:37.313802 {'source': 'webserver', 'gh_type': 'pull_request_review', 'raw': {'action': 'submitted', 'review': {'id': 5402417537, 'node_id': 'PRR_kwDOALCn2M8AAAABQgJZgQ', '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': 'Tested.', 'commit_id': '89660f5beae0a3f307ac1587c016e93a4efaed63', 'state': 'approved', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14793#pullrequestreview-5402417537', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14793', '_links': {'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14793#pullrequestreview-5402417537'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14793'}}, 'submitted_at': '2026-10-03T19:36:35Z', 'updated_at': '2026-10-03T19:36:35Z', 'author_association': 'MEMBER'}, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14793', 'id': 4196456667, 'node_id': 'PR_kwDOALCn2M76INjb', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14793', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14793.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14793.patch', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14793', 'number': 14793, 'state': 'open', 'locked': False, 'title': 'CMake: Automatically disable warnings for Externals', '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': '<!--- rebase `cubeb-update` once this gets merged, then `cxx-latest` once `cubeb-update` gets merged --->', 'created_at': '2026-08-03T17:06:42Z', 'updated_at': '2026-08-19T22:47:32Z', 'closed_at': None, 'merged_at': None, 'merge_commit_sha': 'ab1d8d64390d0a2485ff63b14455883ac3807e3c', 'assignees': [], 'requested_reviewers': [], 'requested_teams': [], 'labels': [], 'milestone': None, 'draft': False, 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14793/commits', 'review_comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14793/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/14793/comments', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/89660f5beae0a3f307ac1587c016e93a4efaed63', 'head': {'label': 'JoshuaVandaele:auto-off-warns', 'ref': 'auto-off-warns', 'sha': '89660f5beae0a3f307ac1587c016e93a4efaed63', '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-02-06T11:01:48Z', 'pushed_at': '2026-10-03T14:42:02Z', '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': 520091, 'stargazers_count': 1, 'watchers_count': 1, 'language': None, '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': None, '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': '46e38d28fa050ba1b9e933b57e1700a9073ce8ce', '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-10-03T19:08:11Z', 'pushed_at': '2026-10-03T10:25:06Z', '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': 561269, 'stargazers_count': 15604, 'watchers_count': 15604, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3284, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 474, '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': 3284, 'open_issues': 474, 'watchers': 15604, '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/14793'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14793'}, 'issue': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14793'}, 'comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14793/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14793/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/14793/commits'}, 'statuses': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/89660f5beae0a3f307ac1587c016e93a4efaed63'}}, 'author_association': 'CONTRIBUTOR', 'auto_merge': None, 'assignee': None, 'active_lock_reason': None}, 'repository': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-10-03T19:08:11Z', 'pushed_at': '2026-10-03T10:25:06Z', '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': 561269, 'stargazers_count': 15604, 'watchers_count': 15604, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3284, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 474, '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': 3284, 'open_issues': 474, 'watchers': 15604, '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-10-03T19:29:37.025159 {'source': 'webserver', 'gh_type': 'issue_comment', 'raw': {'action': 'edited', 'changes': {'body': {'from': "> @jordan-woyak:\r\n> \r\n> It seems that Windows builds are failing due to `_Callable`. You might want to check the relevant build logs.\r\n\r\n:D I'm working on it. It looks like it's a compiler bug. It doesn't like ~~the template-template-parameter for some reason.~~ ~~something~~ using non-type-template-parameters from a template.. sometimes.\r\n\r\nIt's a funky one: https://godbolt.org/z/Y9944rY1a\r\n\r\nI've found a workaround."}}, 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14162', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14162/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14162/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14162/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14162', 'id': 3656750321, 'node_id': 'PR_kwDOALCn2M61Fkwo', 'number': 14162, 'title': 'Common: WorkQueueThread improvements.', '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}, 'labels': [], 'state': 'open', 'locked': False, 'assignees': [{'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}], 'milestone': None, 'comments': 1, 'created_at': '2025-11-24T01:26:30Z', 'updated_at': '2026-10-03T19:26:55Z', 'closed_at': None, 'assignee': {'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}, 'author_association': 'MEMBER', 'issue_field_values': [], 'type': None, 'active_lock_reason': None, 'draft': False, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14162', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14162', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14162.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14162.patch', 'merged_at': None}, 'body': 'This makes `WorkQueueThread` and `AsyncWorkThread` use `MoveOnlyFunction` intead of `std::function` so non-copyable function objects can be used.\r\n\r\n`AsyncWorkThread` (the wrapper around `WorkQueueThread` which takes function objects as jobs) now uses `InvokerOf<std::invoke<FuncType>>{}` instead of a type-erased `std::function{std::invoke<FuncType>}`, for less function call overhead on each job.\r\n\r\n`AsyncWorkThread::PushBlocking` is now a template to avoid the overhead of type-erased functions.\r\n\r\nPreviously, this would not compile, and if the `unique_ptr` was removed, it would more-or-less make 3 virtual function calls.\r\n```cpp\r\nmy_async_work_thread.PushBlocking([x = std::make_unique<int>()] {});\r\n```\r\n\r\nIt now compiles and only makes one virtual function call.\r\n', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14162/reactions', 'total_count': 1, '+1': 1, '-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/14162/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/3568762405', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14162#issuecomment-3568762405', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14162', 'id': 3568762405, 'node_id': 'IC_kwDOALCn2M7Utv4l', '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': '2025-11-24T02:59:10Z', 'updated_at': '2026-10-03T19:29:35Z', 'body': "> @jordan-woyak:\r\n> \r\n> It seems that Windows builds are failing due to `_Callable`. You might want to check the relevant build logs.\r\n\r\n:D I'm working on it. It looks like it's a compiler bug. It doesn't like ~~the template-template-parameter for some reason.~~ ~~something~~ using non-type-template-parameters from a template.. sometimes.\r\n\r\nIt's a funky one: https://godbolt.org/z/Y9944rY1a\r\n\r\nEdit: I've found a workaround.\r\n\r\nEdit: Newer versions of MSVC seem to have been fixed.", 'author_association': 'MEMBER', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/3568762405/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-10-03T19:08:11Z', 'pushed_at': '2026-10-03T10:25:06Z', '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': 561269, 'stargazers_count': 15604, 'watchers_count': 15604, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3284, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 474, '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': 3284, 'open_issues': 474, 'watchers': 15604, '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-10-03T19:26:56.799554 {'source': 'webserver', 'gh_type': 'pull_request', 'raw': {'action': 'synchronize', 'number': 14162, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14162', 'id': 3038137384, 'node_id': 'PR_kwDOALCn2M61Fkwo', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14162', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14162.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14162.patch', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14162', 'number': 14162, 'state': 'open', 'locked': False, 'title': 'Common: WorkQueueThread improvements.', '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 makes `WorkQueueThread` and `AsyncWorkThread` use `MoveOnlyFunction` intead of `std::function` so non-copyable function objects can be used.\r\n\r\n`AsyncWorkThread` (the wrapper around `WorkQueueThread` which takes function objects as jobs) now uses `InvokerOf<std::invoke<FuncType>>{}` instead of a type-erased `std::function{std::invoke<FuncType>}`, for less function call overhead on each job.\r\n\r\n`AsyncWorkThread::PushBlocking` is now a template to avoid the overhead of type-erased functions.\r\n\r\nPreviously, this would not compile, and if the `unique_ptr` was removed, it would more-or-less make 3 virtual function calls.\r\n```cpp\r\nmy_async_work_thread.PushBlocking([x = std::make_unique<int>()] {});\r\n```\r\n\r\nIt now compiles and only makes one virtual function call.\r\n', 'created_at': '2025-11-24T01:26:30Z', 'updated_at': '2026-10-03T19:26:55Z', 'closed_at': None, 'merged_at': None, 'merge_commit_sha': '26aa66bc9b69026791b63a38687b0abcd223bbc1', 'assignees': [{'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}], 'requested_reviewers': [], 'requested_teams': [], 'labels': [], 'milestone': None, 'draft': False, 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14162/commits', 'review_comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14162/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/14162/comments', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/ca8f101300e2c59ce97c3d53ec21e0614e9c1646', 'head': {'label': 'jordan-woyak:work-queue-thread-improvements', 'ref': 'work-queue-thread-improvements', 'sha': 'ca8f101300e2c59ce97c3d53ec21e0614e9c1646', 'user': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 16818408, 'node_id': 'MDEwOlJlcG9zaXRvcnkxNjgxODQwOA==', 'name': 'dolphin', 'full_name': 'jordan-woyak/dolphin', 'private': False, 'owner': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/jordan-woyak/dolphin', 'description': 'Dolphin is a GameCube/Wii emulator, allowing you to play games for these two platforms on PC, with improvements.', 'fork': True, 'url': 'https://api.github.com/repos/jordan-woyak/dolphin', 'forks_url': 'https://api.github.com/repos/jordan-woyak/dolphin/forks', 'keys_url': 'https://api.github.com/repos/jordan-woyak/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/jordan-woyak/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/jordan-woyak/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/jordan-woyak/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/jordan-woyak/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/jordan-woyak/dolphin/events', 'assignees_url': 'https://api.github.com/repos/jordan-woyak/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/jordan-woyak/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/jordan-woyak/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/jordan-woyak/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/jordan-woyak/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/jordan-woyak/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/jordan-woyak/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/jordan-woyak/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/jordan-woyak/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/jordan-woyak/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/jordan-woyak/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/jordan-woyak/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/jordan-woyak/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/jordan-woyak/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/jordan-woyak/dolphin/merges', 'archive_url': 'https://api.github.com/repos/jordan-woyak/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/jordan-woyak/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/jordan-woyak/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/jordan-woyak/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/jordan-woyak/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/jordan-woyak/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/jordan-woyak/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/jordan-woyak/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/jordan-woyak/dolphin/deployments', 'created_at': '2014-02-13T21:50:38Z', 'updated_at': '2026-06-27T21:22:47Z', 'pushed_at': '2026-10-03T19:26:54Z', 'git_url': 'git://github.com/jordan-woyak/dolphin.git', 'ssh_url': 'git@github.com:jordan-woyak/dolphin.git', 'clone_url': 'https://github.com/jordan-woyak/dolphin.git', 'svn_url': 'https://github.com/jordan-woyak/dolphin', 'homepage': None, 'size': 527705, 'stargazers_count': 5, 'watchers_count': 5, 'language': 'C++', 'has_issues': False, 'has_projects': True, 'has_downloads': False, 'has_wiki': False, 'has_pages': False, 'has_discussions': False, 'forks_count': 5, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 2, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': [], 'visibility': 'public', 'forks': 5, 'open_issues': 2, 'watchers': 5, 'default_branch': 'master', 'allow_squash_merge': True, 'allow_merge_commit': True, 'allow_rebase_merge': True, 'allow_auto_merge': False, 'delete_branch_on_merge': True, 'allow_update_branch': False, 'use_squash_pr_title_as_default': False, 'squash_merge_commit_message': 'COMMIT_MESSAGES', 'squash_merge_commit_title': 'COMMIT_OR_PR_TITLE', 'merge_commit_message': 'PR_TITLE', 'merge_commit_title': 'MERGE_MESSAGE'}}, 'base': {'label': 'dolphin-emu:master', 'ref': 'master', 'sha': '562875dd60fd0ff50b65dbbb611a2096802cd1b9', '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-10-03T19:08:11Z', 'pushed_at': '2026-10-03T10:25:06Z', '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': 561269, 'stargazers_count': 15604, 'watchers_count': 15604, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3284, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 474, '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': 3284, 'open_issues': 474, 'watchers': 15604, '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/14162'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14162'}, 'issue': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14162'}, 'comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14162/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14162/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/14162/commits'}, 'statuses': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/ca8f101300e2c59ce97c3d53ec21e0614e9c1646'}}, 'author_association': 'MEMBER', 'auto_merge': None, 'assignee': {'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}, 'active_lock_reason': None, 'merged': False, 'mergeable': None, 'rebaseable': None, 'mergeable_state': 'unknown', 'merged_by': None, 'comments': 1, 'review_comments': 0, 'maintainer_can_modify': True, 'commits': 6, 'additions': 47, 'deletions': 36, 'changed_files': 3}, 'before': 'da3b9e0f39ac30ce2fb23f78c392f1d78f94ed22', 'after': 'ca8f101300e2c59ce97c3d53ec21e0614e9c1646', '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-10-03T19:08:11Z', 'pushed_at': '2026-10-03T10:25:06Z', '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': 561269, 'stargazers_count': 15604, 'watchers_count': 15604, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3284, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 474, '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': 3284, 'open_issues': 474, 'watchers': 15604, '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-10-03T19:00:03.542193 {'source': 'webserver', 'gh_type': 'issue_comment', 'raw': {'action': 'edited', 'changes': {'body': {'from': "Assuming that this commit was already merged, it doesn't. I still have issues. I see this commit as a draft so I assume that means this hasn't been merged yet which is why I asked for it to be merged if it hasn't yet as I don't have VS studios installed to confirm it it does."}}, 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14640', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14640/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14640/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14640/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14640', 'id': 4372768132, 'node_id': 'PR_kwDOALCn2M7X0PNx', 'number': 14640, 'title': 'DSPAccelerator: fix overflow behavior', '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}, 'labels': [], 'state': 'open', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 4, 'created_at': '2026-05-03T19:38:21Z', 'updated_at': '2026-10-03T18:56:06Z', 'closed_at': None, 'assignee': None, 'author_association': 'MEMBER', 'issue_field_values': [], 'type': None, 'active_lock_reason': None, 'draft': True, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14640', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14640', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14640.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14640.patch', 'merged_at': None}, 'body': 'This was reported by brand175 who noticed pops in "007: Nightfire", see [issue 14042](https://bugs.dolphin-emu.org/issues/14042). I\'ve not tested the exact hardware behavior, just implemented what makes sense.', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14640/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/14640/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5972424070', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14640#issuecomment-5972424070', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14640', 'id': 5972424070, 'node_id': 'IC_kwDOALCn2M8AAAABY_v1hg', 'user': {'login': 'brand175', 'id': 20964160, 'node_id': 'MDQ6VXNlcjIwOTY0MTYw', 'avatar_url': 'https://avatars.githubusercontent.com/u/20964160?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/brand175', 'html_url': 'https://github.com/brand175', 'followers_url': 'https://api.github.com/users/brand175/followers', 'following_url': 'https://api.github.com/users/brand175/following{/other_user}', 'gists_url': 'https://api.github.com/users/brand175/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/brand175/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/brand175/subscriptions', 'organizations_url': 'https://api.github.com/users/brand175/orgs', 'repos_url': 'https://api.github.com/users/brand175/repos', 'events_url': 'https://api.github.com/users/brand175/events{/privacy}', 'received_events_url': 'https://api.github.com/users/brand175/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2026-10-03T18:56:06Z', 'updated_at': '2026-10-03T19:00:02Z', 'body': "~~Assuming that this commit was already merged, it doesn't. I still have issues. I see this commit as a draft so I assume that means this hasn't been merged yet which is why I asked for it to be merged if it hasn't yet as I don't have VS studios installed to confirm it it does.~~\r\n\r\nedit: i didn't realize that build bot actually builds the build. It works", 'author_association': 'NONE', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5972424070/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-10-03T18:16:47Z', 'pushed_at': '2026-10-03T10:25:06Z', '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': 561269, 'stargazers_count': 15605, 'watchers_count': 15605, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3284, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 474, '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': 3284, 'open_issues': 474, 'watchers': 15605, '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': 'brand175', 'id': 20964160, 'node_id': 'MDQ6VXNlcjIwOTY0MTYw', 'avatar_url': 'https://avatars.githubusercontent.com/u/20964160?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/brand175', 'html_url': 'https://github.com/brand175', 'followers_url': 'https://api.github.com/users/brand175/followers', 'following_url': 'https://api.github.com/users/brand175/following{/other_user}', 'gists_url': 'https://api.github.com/users/brand175/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/brand175/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/brand175/subscriptions', 'organizations_url': 'https://api.github.com/users/brand175/orgs', 'repos_url': 'https://api.github.com/users/brand175/repos', 'events_url': 'https://api.github.com/users/brand175/events{/privacy}', 'received_events_url': 'https://api.github.com/users/brand175/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'raw_gh_hook'}
2026-10-03T18:59:22.443260 {'source': 'webserver', 'gh_type': 'issue_comment', 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14902', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14902/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14902/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14902/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14902', 'id': 5658953473, 'node_id': 'PR_kwDOALCn2M8AAAABGDMPMA', 'number': 14902, 'title': 'UICommon: Add Web Interface for streaming integrated GBAs.', '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}, 'labels': [{'id': 221808232, 'node_id': 'MDU6TGFiZWwyMjE4MDgyMzI=', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels/WIP%20/%20do%20not%20merge', 'name': 'WIP / do not merge', 'color': '0052cc', 'default': False, 'description': 'Work in progress (do not merge)', 'archived_at': None, 'archived_by': None}, {'id': 221809816, 'node_id': 'MDU6TGFiZWwyMjE4MDk4MTY=', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels/RFC', 'name': 'RFC', 'color': 'FF6D00', 'default': False, 'description': 'Request for comments', 'archived_at': None, 'archived_by': None}], 'state': 'open', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 1, 'created_at': '2026-10-01T07:59:38Z', 'updated_at': '2026-10-03T18:59:19Z', 'closed_at': None, 'assignee': None, 'author_association': 'MEMBER', 'issue_field_values': [], 'type': None, 'active_lock_reason': None, 'draft': False, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14902', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14902', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14902.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14902.patch', 'merged_at': None}, 'body': 'This PR adds a web server to Dolphin for control of integrated GBAs.\r\n\r\n<img width="2560" height="1440" alt="image" src="https://github.com/user-attachments/assets/868f6f67-917f-40d7-a150-9e570bc77954" />\r\n\r\nThere are many future possibilities, changing settings, launching games, streaming the main window, etc. \r\nHowever, the current only feature is streaming the integrated GBAs.\r\n\r\nThere\'s no sort of authentication implemented right now.\r\nMultiple clients can connect to the same GBA (they fight over the latest button state).\r\n\r\nConnecting causes the relevant GBA window on the host-side to hide itself and audio to no longer play locally.\r\n\r\nThe main use case is playing Four Swords or Crystal Chronicles, with the GBA screens streamed to mobile devices over the local network.\r\nThis already works well.\r\n\r\nlibavcodec is used to encode to H264/Opus and stream to web browsers using some additional dependencies:\r\n- [cpp-httplib](https://github.com/yhirose/cpp-httplib) for a HTTP and WebSocket server.\r\n- [libdatachannel](https://github.com/paullouisageneau/libdatachannel) for WebRTC\r\n\r\nBoth of these dependencies require C++ exceptions.\r\nI\'ve enabled exceptions for only the required Dolphin source files.\r\n\r\nThe web server hosts files from `Sys/WebUI`\r\nI\'ve also included some 3rd party libraries there in `Sys/WebUI/deps`\r\n- [Notyf](https://github.com/caroso1222/notyf) for "toast" messages.\r\n- [OmniPad](https://github.com/WizardOfXerox/OmniPad) for touch controls.\r\n\r\nThe web client code I\'ve written is bad and I\'m hoping someone more interested in that side of things wants to re-write all that html/js/css stuff at some point.\r\nThat probably could be done in a future PR, things are working fine as-is, but it\'s ugly (visually and code-wise).\r\n\r\nlibdatachannel has a [bug](https://github.com/paullouisageneau/libdatachannel/issues/1647) with a pending fix that requires `std::locale::global(std::locale::classic());`.\r\nIt\'s only used when a client connects.\r\nSo.. streaming with the web interface will currently mess with locales.\r\nHopefully that bug will be fixed soon, otherwise we could use a clone that has the fix.\r\n\r\nI\'ve only tested building on Linux.\r\nI have almost no clue what I am doing with CMake.', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14902/reactions', 'total_count': 4, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 4, 'eyes': 0}, 'timeline_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14902/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5972461956', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14902#issuecomment-5972461956', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14902', 'id': 5972461956, 'node_id': 'IC_kwDOALCn2M8AAAABY_yJhA', '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-10-03T18:59:19Z', 'updated_at': '2026-10-03T18:59:19Z', 'body': "> I did not focus on much other than the CMake since this is still WIP, however for the web interface I'd appreciate a little warning in-between `<noscript>` tags that say you need JavaScript support to use this :p\r\n\r\nFYI, other than CMake (and maybe the client-side code) I consider this PR mostly ready.", 'author_association': 'MEMBER', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5972461956/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-10-03T18:16:47Z', 'pushed_at': '2026-10-03T10:25:06Z', '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': 561269, 'stargazers_count': 15605, 'watchers_count': 15605, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3284, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 474, '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': 3284, 'open_issues': 474, 'watchers': 15605, '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-10-03T18:56:08.691588 {'source': 'webserver', 'gh_type': 'issue_comment', 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14640', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14640/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14640/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14640/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14640', 'id': 4372768132, 'node_id': 'PR_kwDOALCn2M7X0PNx', 'number': 14640, 'title': 'DSPAccelerator: fix overflow behavior', '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}, 'labels': [], 'state': 'open', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 4, 'created_at': '2026-05-03T19:38:21Z', 'updated_at': '2026-10-03T18:56:06Z', 'closed_at': None, 'assignee': None, 'author_association': 'MEMBER', 'issue_field_values': [], 'type': None, 'active_lock_reason': None, 'draft': True, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14640', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14640', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14640.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14640.patch', 'merged_at': None}, 'body': 'This was reported by brand175 who noticed pops in "007: Nightfire", see [issue 14042](https://bugs.dolphin-emu.org/issues/14042). I\'ve not tested the exact hardware behavior, just implemented what makes sense.', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14640/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/14640/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5972424070', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14640#issuecomment-5972424070', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14640', 'id': 5972424070, 'node_id': 'IC_kwDOALCn2M8AAAABY_v1hg', 'user': {'login': 'brand175', 'id': 20964160, 'node_id': 'MDQ6VXNlcjIwOTY0MTYw', 'avatar_url': 'https://avatars.githubusercontent.com/u/20964160?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/brand175', 'html_url': 'https://github.com/brand175', 'followers_url': 'https://api.github.com/users/brand175/followers', 'following_url': 'https://api.github.com/users/brand175/following{/other_user}', 'gists_url': 'https://api.github.com/users/brand175/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/brand175/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/brand175/subscriptions', 'organizations_url': 'https://api.github.com/users/brand175/orgs', 'repos_url': 'https://api.github.com/users/brand175/repos', 'events_url': 'https://api.github.com/users/brand175/events{/privacy}', 'received_events_url': 'https://api.github.com/users/brand175/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2026-10-03T18:56:06Z', 'updated_at': '2026-10-03T18:56:06Z', 'body': "Assuming that this commit was already merged, it doesn't. I still have issues. I see this commit as a draft so I assume that means this hasn't been merged yet which is why I asked for it to be merged if it hasn't yet as I don't have VS studios installed to confirm it it does.", 'author_association': 'NONE', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5972424070/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-10-03T18:16:47Z', 'pushed_at': '2026-10-03T10:25:06Z', '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': 561269, 'stargazers_count': 15605, 'watchers_count': 15605, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3284, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 474, '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': 3284, 'open_issues': 474, 'watchers': 15605, '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': 'brand175', 'id': 20964160, 'node_id': 'MDQ6VXNlcjIwOTY0MTYw', 'avatar_url': 'https://avatars.githubusercontent.com/u/20964160?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/brand175', 'html_url': 'https://github.com/brand175', 'followers_url': 'https://api.github.com/users/brand175/followers', 'following_url': 'https://api.github.com/users/brand175/following{/other_user}', 'gists_url': 'https://api.github.com/users/brand175/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/brand175/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/brand175/subscriptions', 'organizations_url': 'https://api.github.com/users/brand175/orgs', 'repos_url': 'https://api.github.com/users/brand175/repos', 'events_url': 'https://api.github.com/users/brand175/events{/privacy}', 'received_events_url': 'https://api.github.com/users/brand175/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'raw_gh_hook'}
2026-10-03T18:55:06.272124 {'source': 'webserver', 'gh_type': 'pull_request', 'raw': {'action': 'synchronize', 'number': 14902, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14902', 'id': 4700966704, 'node_id': 'PR_kwDOALCn2M8AAAABGDMPMA', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14902', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14902.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14902.patch', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14902', 'number': 14902, 'state': 'open', 'locked': False, 'title': 'UICommon: Add Web Interface for streaming integrated GBAs.', '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 PR adds a web server to Dolphin for control of integrated GBAs.\r\n\r\n<img width="2560" height="1440" alt="image" src="https://github.com/user-attachments/assets/868f6f67-917f-40d7-a150-9e570bc77954" />\r\n\r\nThere are many future possibilities, changing settings, launching games, streaming the main window, etc. \r\nHowever, the current only feature is streaming the integrated GBAs.\r\n\r\nThere\'s no sort of authentication implemented right now.\r\nMultiple clients can connect to the same GBA (they fight over the latest button state).\r\n\r\nConnecting causes the relevant GBA window on the host-side to hide itself and audio to no longer play locally.\r\n\r\nThe main use case is playing Four Swords or Crystal Chronicles, with the GBA screens streamed to mobile devices over the local network.\r\nThis already works well.\r\n\r\nlibavcodec is used to encode to H264/Opus and stream to web browsers using some additional dependencies:\r\n- [cpp-httplib](https://github.com/yhirose/cpp-httplib) for a HTTP and WebSocket server.\r\n- [libdatachannel](https://github.com/paullouisageneau/libdatachannel) for WebRTC\r\n\r\nBoth of these dependencies require C++ exceptions.\r\nI\'ve enabled exceptions for only the required Dolphin source files.\r\n\r\nThe web server hosts files from `Sys/WebUI`\r\nI\'ve also included some 3rd party libraries there in `Sys/WebUI/deps`\r\n- [Notyf](https://github.com/caroso1222/notyf) for "toast" messages.\r\n- [OmniPad](https://github.com/WizardOfXerox/OmniPad) for touch controls.\r\n\r\nThe web client code I\'ve written is bad and I\'m hoping someone more interested in that side of things wants to re-write all that html/js/css stuff at some point.\r\nThat probably could be done in a future PR, things are working fine as-is, but it\'s ugly (visually and code-wise).\r\n\r\nlibdatachannel has a [bug](https://github.com/paullouisageneau/libdatachannel/issues/1647) with a pending fix that requires `std::locale::global(std::locale::classic());`.\r\nIt\'s only used when a client connects.\r\nSo.. streaming with the web interface will currently mess with locales.\r\nHopefully that bug will be fixed soon, otherwise we could use a clone that has the fix.\r\n\r\nI\'ve only tested building on Linux.\r\nI have almost no clue what I am doing with CMake.', 'created_at': '2026-10-01T07:59:38Z', 'updated_at': '2026-10-03T18:55:04Z', 'closed_at': None, 'merged_at': None, 'merge_commit_sha': None, 'assignees': [], 'requested_reviewers': [], 'requested_teams': [], 'labels': [{'id': 221808232, 'node_id': 'MDU6TGFiZWwyMjE4MDgyMzI=', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels/WIP%20/%20do%20not%20merge', 'name': 'WIP / do not merge', 'color': '0052cc', 'default': False, 'description': 'Work in progress (do not merge)', 'archived_at': None, 'archived_by': None}, {'id': 221809816, 'node_id': 'MDU6TGFiZWwyMjE4MDk4MTY=', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels/RFC', 'name': 'RFC', 'color': 'FF6D00', 'default': False, 'description': 'Request for comments', 'archived_at': None, 'archived_by': None}], 'milestone': None, 'draft': False, 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14902/commits', 'review_comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14902/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/14902/comments', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/be139043dbcd7001ce2533aa58f273db5b8e1ff2', 'head': {'label': 'jordan-woyak:gba-web-interface', 'ref': 'gba-web-interface', 'sha': 'be139043dbcd7001ce2533aa58f273db5b8e1ff2', 'user': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 16818408, 'node_id': 'MDEwOlJlcG9zaXRvcnkxNjgxODQwOA==', 'name': 'dolphin', 'full_name': 'jordan-woyak/dolphin', 'private': False, 'owner': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/jordan-woyak/dolphin', 'description': 'Dolphin is a GameCube/Wii emulator, allowing you to play games for these two platforms on PC, with improvements.', 'fork': True, 'url': 'https://api.github.com/repos/jordan-woyak/dolphin', 'forks_url': 'https://api.github.com/repos/jordan-woyak/dolphin/forks', 'keys_url': 'https://api.github.com/repos/jordan-woyak/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/jordan-woyak/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/jordan-woyak/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/jordan-woyak/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/jordan-woyak/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/jordan-woyak/dolphin/events', 'assignees_url': 'https://api.github.com/repos/jordan-woyak/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/jordan-woyak/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/jordan-woyak/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/jordan-woyak/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/jordan-woyak/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/jordan-woyak/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/jordan-woyak/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/jordan-woyak/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/jordan-woyak/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/jordan-woyak/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/jordan-woyak/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/jordan-woyak/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/jordan-woyak/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/jordan-woyak/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/jordan-woyak/dolphin/merges', 'archive_url': 'https://api.github.com/repos/jordan-woyak/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/jordan-woyak/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/jordan-woyak/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/jordan-woyak/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/jordan-woyak/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/jordan-woyak/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/jordan-woyak/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/jordan-woyak/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/jordan-woyak/dolphin/deployments', 'created_at': '2014-02-13T21:50:38Z', 'updated_at': '2026-06-27T21:22:47Z', 'pushed_at': '2026-10-03T18:55:03Z', 'git_url': 'git://github.com/jordan-woyak/dolphin.git', 'ssh_url': 'git@github.com:jordan-woyak/dolphin.git', 'clone_url': 'https://github.com/jordan-woyak/dolphin.git', 'svn_url': 'https://github.com/jordan-woyak/dolphin', 'homepage': None, 'size': 527705, 'stargazers_count': 5, 'watchers_count': 5, 'language': 'C++', 'has_issues': False, 'has_projects': True, 'has_downloads': False, 'has_wiki': False, 'has_pages': False, 'has_discussions': False, 'forks_count': 5, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 2, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': [], 'visibility': 'public', 'forks': 5, 'open_issues': 2, 'watchers': 5, 'default_branch': 'master', 'allow_squash_merge': True, 'allow_merge_commit': True, 'allow_rebase_merge': True, 'allow_auto_merge': False, 'delete_branch_on_merge': True, 'allow_update_branch': False, 'use_squash_pr_title_as_default': False, 'squash_merge_commit_message': 'COMMIT_MESSAGES', 'squash_merge_commit_title': 'COMMIT_OR_PR_TITLE', 'merge_commit_message': 'PR_TITLE', 'merge_commit_title': 'MERGE_MESSAGE'}}, 'base': {'label': 'dolphin-emu:master', 'ref': 'master', 'sha': '562875dd60fd0ff50b65dbbb611a2096802cd1b9', '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-10-03T18:16:47Z', 'pushed_at': '2026-10-03T10:25:06Z', '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': 561269, 'stargazers_count': 15605, 'watchers_count': 15605, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3284, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 474, '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': 3284, 'open_issues': 474, 'watchers': 15605, '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/14902'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14902'}, 'issue': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14902'}, 'comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14902/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14902/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/14902/commits'}, 'statuses': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/be139043dbcd7001ce2533aa58f273db5b8e1ff2'}}, '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': 6, 'maintainer_can_modify': True, 'commits': 8, 'additions': 2038, 'deletions': 12, 'changed_files': 33}, 'before': 'b37072ae9b3a6d8f4c1c70e85b05d2b58c63a49f', 'after': 'be139043dbcd7001ce2533aa58f273db5b8e1ff2', '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-10-03T18:16:47Z', 'pushed_at': '2026-10-03T10:25:06Z', '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': 561269, 'stargazers_count': 15605, 'watchers_count': 15605, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3284, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 474, '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': 3284, 'open_issues': 474, 'watchers': 15605, '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-10-03T17:42:30.020578 {'source': 'webserver', 'gh_type': 'pull_request_review_comment', 'raw': {'action': 'created', 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4174172248', 'pull_request_review_id': 5401917278, 'id': 4174172248, 'node_id': 'PRRC_kwDOALCn2M74zNBY', 'diff_hunk': '@@ -767,16 +769,36 @@ if(WIN32 OR LINUX OR CMAKE_SYSTEM_NAME STREQUAL "FreeBSD" OR CMAKE_SYSTEM_NAME S\n add_definitions(-DHAVE_CPPIPC)\n endif()\n \n-set(NO_MEDIA OFF CACHE BOOL "" FORCE)\n-set(NO_WEBSOCKET OFF CACHE BOOL "" FORCE)\n-set(NO_EXAMPLES ON CACHE BOOL "" FORCE)\n-set(NO_TESTS ON CACHE BOOL "" FORCE)\n-set(BUILD_SHARED_LIBS OFF CACHE BOOL "" FORCE)\n-set(PREFER_SYSTEM_LIB ON CACHE BOOL "" FORCE)\n-add_subdirectory(Externals/libdatachannel)\n+if(ENABLE_WEB_INTERFACE)\n+ # libdatachannel\n+ set(NO_MEDIA OFF CACHE BOOL "" FORCE)\n+ set(NO_WEBSOCKET OFF CACHE BOOL "" FORCE)\n+ set(NO_EXAMPLES ON CACHE BOOL "" FORCE)\n+ set(NO_TESTS ON CACHE BOOL "" FORCE)\n+ set(BUILD_SHARED_LIBS OFF CACHE BOOL "" FORCE)\n+ set(PREFER_SYSTEM_LIB ON CACHE BOOL "" FORCE)\n+\n+ FetchContent_Declare(\n+ libdatachannel\n+ GIT_REPOSITORY https://github.com/paullouisageneau/libdatachannel.git\n+ GIT_TAG 6b1e2e620f1e37f0eafeee702eaea0043cb305fd', 'path': 'CMakeLists.txt', 'commit_id': '787567a8645f312760e573a7b5acd2380a53685c', 'original_commit_id': '787567a8645f312760e573a7b5acd2380a53685c', 'user': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': 'Yeah, I think using tags is a minor security issue.\r\nI can add a comment with the version number next to the hash, though.', 'created_at': '2026-10-03T17:42:28Z', 'updated_at': '2026-10-03T17:42:28Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14902#discussion_r4174172248', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14902', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4174172248'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14902#discussion_r4174172248'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14902'}}, 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4174172248/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'start_line': None, 'original_start_line': None, 'start_side': None, 'line': 784, 'original_line': 784, 'side': 'RIGHT', 'in_reply_to_id': 4173621906, 'author_association': 'MEMBER', 'original_position': 39, 'position': 39, 'subject_type': 'line'}, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14902', 'id': 4700966704, 'node_id': 'PR_kwDOALCn2M8AAAABGDMPMA', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14902', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14902.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14902.patch', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14902', 'number': 14902, 'state': 'open', 'locked': False, 'title': 'UICommon: Add Web Interface for streaming integrated GBAs.', '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 PR adds a web server to Dolphin for control of integrated GBAs.\r\n\r\n<img width="2560" height="1440" alt="image" src="https://github.com/user-attachments/assets/868f6f67-917f-40d7-a150-9e570bc77954" />\r\n\r\nThere are many future possibilities, changing settings, launching games, streaming the main window, etc. \r\nHowever, the current only feature is streaming the integrated GBAs.\r\n\r\nThere\'s no sort of authentication implemented right now.\r\nMultiple clients can connect to the same GBA (they fight over the latest button state).\r\n\r\nConnecting causes the relevant GBA window on the host-side to hide itself and audio to no longer play locally.\r\n\r\nThe main use case is playing Four Swords or Crystal Chronicles, with the GBA screens streamed to mobile devices over the local network.\r\nThis already works well.\r\n\r\nlibavcodec is used to encode to H264/Opus and stream to web browsers using some additional dependencies:\r\n- [cpp-httplib](https://github.com/yhirose/cpp-httplib) for a HTTP and WebSocket server.\r\n- [libdatachannel](https://github.com/paullouisageneau/libdatachannel) for WebRTC\r\n\r\nBoth of these dependencies require C++ exceptions.\r\nI\'ve enabled exceptions for only the required Dolphin source files.\r\n\r\nThe web server hosts files from `Sys/WebUI`\r\nI\'ve also included some 3rd party libraries there in `Sys/WebUI/deps`\r\n- [Notyf](https://github.com/caroso1222/notyf) for "toast" messages.\r\n- [OmniPad](https://github.com/WizardOfXerox/OmniPad) for touch controls.\r\n\r\nThe web client code I\'ve written is bad and I\'m hoping someone more interested in that side of things wants to re-write all that html/js/css stuff at some point.\r\nThat probably could be done in a future PR, things are working fine as-is, but it\'s ugly (visually and code-wise).\r\n\r\nlibdatachannel has a [bug](https://github.com/paullouisageneau/libdatachannel/issues/1647) with a pending fix that requires `std::locale::global(std::locale::classic());`.\r\nIt\'s only used when a client connects.\r\nSo.. streaming with the web interface will currently mess with locales.\r\nHopefully that bug will be fixed soon, otherwise we could use a clone that has the fix.\r\n\r\nI\'ve only tested building on Linux.\r\nI have almost no clue what I am doing with CMake.', 'created_at': '2026-10-01T07:59:38Z', 'updated_at': '2026-10-03T15:33:48Z', 'closed_at': None, 'merged_at': None, 'merge_commit_sha': None, 'assignees': [], 'requested_reviewers': [], 'requested_teams': [], 'labels': [{'id': 221808232, 'node_id': 'MDU6TGFiZWwyMjE4MDgyMzI=', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels/WIP%20/%20do%20not%20merge', 'name': 'WIP / do not merge', 'color': '0052cc', 'default': False, 'description': 'Work in progress (do not merge)', 'archived_at': None, 'archived_by': None}, {'id': 221809816, 'node_id': 'MDU6TGFiZWwyMjE4MDk4MTY=', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels/RFC', 'name': 'RFC', 'color': 'FF6D00', 'default': False, 'description': 'Request for comments', 'archived_at': None, 'archived_by': None}], 'milestone': None, 'draft': False, 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14902/commits', 'review_comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14902/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/14902/comments', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/b37072ae9b3a6d8f4c1c70e85b05d2b58c63a49f', 'head': {'label': 'jordan-woyak:gba-web-interface', 'ref': 'gba-web-interface', 'sha': 'b37072ae9b3a6d8f4c1c70e85b05d2b58c63a49f', 'user': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 16818408, 'node_id': 'MDEwOlJlcG9zaXRvcnkxNjgxODQwOA==', 'name': 'dolphin', 'full_name': 'jordan-woyak/dolphin', 'private': False, 'owner': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/jordan-woyak/dolphin', 'description': 'Dolphin is a GameCube/Wii emulator, allowing you to play games for these two platforms on PC, with improvements.', 'fork': True, 'url': 'https://api.github.com/repos/jordan-woyak/dolphin', 'forks_url': 'https://api.github.com/repos/jordan-woyak/dolphin/forks', 'keys_url': 'https://api.github.com/repos/jordan-woyak/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/jordan-woyak/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/jordan-woyak/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/jordan-woyak/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/jordan-woyak/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/jordan-woyak/dolphin/events', 'assignees_url': 'https://api.github.com/repos/jordan-woyak/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/jordan-woyak/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/jordan-woyak/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/jordan-woyak/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/jordan-woyak/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/jordan-woyak/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/jordan-woyak/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/jordan-woyak/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/jordan-woyak/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/jordan-woyak/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/jordan-woyak/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/jordan-woyak/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/jordan-woyak/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/jordan-woyak/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/jordan-woyak/dolphin/merges', 'archive_url': 'https://api.github.com/repos/jordan-woyak/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/jordan-woyak/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/jordan-woyak/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/jordan-woyak/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/jordan-woyak/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/jordan-woyak/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/jordan-woyak/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/jordan-woyak/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/jordan-woyak/dolphin/deployments', 'created_at': '2014-02-13T21:50:38Z', 'updated_at': '2026-06-27T21:22:47Z', 'pushed_at': '2026-10-03T08:41:10Z', 'git_url': 'git://github.com/jordan-woyak/dolphin.git', 'ssh_url': 'git@github.com:jordan-woyak/dolphin.git', 'clone_url': 'https://github.com/jordan-woyak/dolphin.git', 'svn_url': 'https://github.com/jordan-woyak/dolphin', 'homepage': None, 'size': 527705, 'stargazers_count': 5, 'watchers_count': 5, 'language': 'C++', 'has_issues': False, 'has_projects': True, 'has_downloads': False, 'has_wiki': False, 'has_pages': False, 'has_discussions': False, 'forks_count': 5, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 2, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': [], 'visibility': 'public', 'forks': 5, 'open_issues': 2, 'watchers': 5, 'default_branch': 'master', 'allow_squash_merge': True, 'allow_merge_commit': True, 'allow_rebase_merge': True, 'allow_auto_merge': False, 'delete_branch_on_merge': True, 'allow_update_branch': False, 'use_squash_pr_title_as_default': False, 'squash_merge_commit_message': 'COMMIT_MESSAGES', 'squash_merge_commit_title': 'COMMIT_OR_PR_TITLE', 'merge_commit_message': 'PR_TITLE', 'merge_commit_title': 'MERGE_MESSAGE'}}, 'base': {'label': 'dolphin-emu:master', 'ref': 'master', 'sha': '048e6306b82b183d061ee33c4ee32d5e76f3f09a', '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-10-03T13:38:13Z', 'pushed_at': '2026-10-03T10:25:06Z', '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': 561269, 'stargazers_count': 15604, 'watchers_count': 15604, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3284, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 474, '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': 3284, 'open_issues': 474, 'watchers': 15604, '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/14902'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14902'}, 'issue': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14902'}, 'comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14902/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14902/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/14902/commits'}, 'statuses': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/b37072ae9b3a6d8f4c1c70e85b05d2b58c63a49f'}}, '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-10-03T13:38:13Z', 'pushed_at': '2026-10-03T10:25:06Z', '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': 561269, 'stargazers_count': 15604, 'watchers_count': 15604, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3284, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 474, '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': 3284, 'open_issues': 474, 'watchers': 15604, '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-10-03T17:42:29.995540 {'source': 'webserver', 'gh_type': 'pull_request_review', 'raw': {'action': 'submitted', 'review': {'id': 5401917278, 'node_id': 'PRR_kwDOALCn2M8AAAABQfq3Xg', 'user': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': None, 'commit_id': '787567a8645f312760e573a7b5acd2380a53685c', 'state': 'commented', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14902#pullrequestreview-5401917278', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14902', '_links': {'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14902#pullrequestreview-5401917278'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14902'}}, 'submitted_at': '2026-10-03T17:42:28Z', 'updated_at': '2026-10-03T17:42:28Z', 'author_association': 'MEMBER'}, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14902', 'id': 4700966704, 'node_id': 'PR_kwDOALCn2M8AAAABGDMPMA', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14902', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14902.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14902.patch', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14902', 'number': 14902, 'state': 'open', 'locked': False, 'title': 'UICommon: Add Web Interface for streaming integrated GBAs.', '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 PR adds a web server to Dolphin for control of integrated GBAs.\r\n\r\n<img width="2560" height="1440" alt="image" src="https://github.com/user-attachments/assets/868f6f67-917f-40d7-a150-9e570bc77954" />\r\n\r\nThere are many future possibilities, changing settings, launching games, streaming the main window, etc. \r\nHowever, the current only feature is streaming the integrated GBAs.\r\n\r\nThere\'s no sort of authentication implemented right now.\r\nMultiple clients can connect to the same GBA (they fight over the latest button state).\r\n\r\nConnecting causes the relevant GBA window on the host-side to hide itself and audio to no longer play locally.\r\n\r\nThe main use case is playing Four Swords or Crystal Chronicles, with the GBA screens streamed to mobile devices over the local network.\r\nThis already works well.\r\n\r\nlibavcodec is used to encode to H264/Opus and stream to web browsers using some additional dependencies:\r\n- [cpp-httplib](https://github.com/yhirose/cpp-httplib) for a HTTP and WebSocket server.\r\n- [libdatachannel](https://github.com/paullouisageneau/libdatachannel) for WebRTC\r\n\r\nBoth of these dependencies require C++ exceptions.\r\nI\'ve enabled exceptions for only the required Dolphin source files.\r\n\r\nThe web server hosts files from `Sys/WebUI`\r\nI\'ve also included some 3rd party libraries there in `Sys/WebUI/deps`\r\n- [Notyf](https://github.com/caroso1222/notyf) for "toast" messages.\r\n- [OmniPad](https://github.com/WizardOfXerox/OmniPad) for touch controls.\r\n\r\nThe web client code I\'ve written is bad and I\'m hoping someone more interested in that side of things wants to re-write all that html/js/css stuff at some point.\r\nThat probably could be done in a future PR, things are working fine as-is, but it\'s ugly (visually and code-wise).\r\n\r\nlibdatachannel has a [bug](https://github.com/paullouisageneau/libdatachannel/issues/1647) with a pending fix that requires `std::locale::global(std::locale::classic());`.\r\nIt\'s only used when a client connects.\r\nSo.. streaming with the web interface will currently mess with locales.\r\nHopefully that bug will be fixed soon, otherwise we could use a clone that has the fix.\r\n\r\nI\'ve only tested building on Linux.\r\nI have almost no clue what I am doing with CMake.', 'created_at': '2026-10-01T07:59:38Z', 'updated_at': '2026-10-03T15:33:48Z', 'closed_at': None, 'merged_at': None, 'merge_commit_sha': None, 'assignees': [], 'requested_reviewers': [], 'requested_teams': [], 'labels': [{'id': 221808232, 'node_id': 'MDU6TGFiZWwyMjE4MDgyMzI=', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels/WIP%20/%20do%20not%20merge', 'name': 'WIP / do not merge', 'color': '0052cc', 'default': False, 'description': 'Work in progress (do not merge)', 'archived_at': None, 'archived_by': None}, {'id': 221809816, 'node_id': 'MDU6TGFiZWwyMjE4MDk4MTY=', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels/RFC', 'name': 'RFC', 'color': 'FF6D00', 'default': False, 'description': 'Request for comments', 'archived_at': None, 'archived_by': None}], 'milestone': None, 'draft': False, 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14902/commits', 'review_comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14902/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/14902/comments', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/b37072ae9b3a6d8f4c1c70e85b05d2b58c63a49f', 'head': {'label': 'jordan-woyak:gba-web-interface', 'ref': 'gba-web-interface', 'sha': 'b37072ae9b3a6d8f4c1c70e85b05d2b58c63a49f', 'user': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 16818408, 'node_id': 'MDEwOlJlcG9zaXRvcnkxNjgxODQwOA==', 'name': 'dolphin', 'full_name': 'jordan-woyak/dolphin', 'private': False, 'owner': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/jordan-woyak/dolphin', 'description': 'Dolphin is a GameCube/Wii emulator, allowing you to play games for these two platforms on PC, with improvements.', 'fork': True, 'url': 'https://api.github.com/repos/jordan-woyak/dolphin', 'forks_url': 'https://api.github.com/repos/jordan-woyak/dolphin/forks', 'keys_url': 'https://api.github.com/repos/jordan-woyak/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/jordan-woyak/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/jordan-woyak/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/jordan-woyak/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/jordan-woyak/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/jordan-woyak/dolphin/events', 'assignees_url': 'https://api.github.com/repos/jordan-woyak/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/jordan-woyak/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/jordan-woyak/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/jordan-woyak/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/jordan-woyak/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/jordan-woyak/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/jordan-woyak/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/jordan-woyak/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/jordan-woyak/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/jordan-woyak/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/jordan-woyak/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/jordan-woyak/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/jordan-woyak/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/jordan-woyak/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/jordan-woyak/dolphin/merges', 'archive_url': 'https://api.github.com/repos/jordan-woyak/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/jordan-woyak/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/jordan-woyak/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/jordan-woyak/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/jordan-woyak/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/jordan-woyak/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/jordan-woyak/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/jordan-woyak/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/jordan-woyak/dolphin/deployments', 'created_at': '2014-02-13T21:50:38Z', 'updated_at': '2026-06-27T21:22:47Z', 'pushed_at': '2026-10-03T08:41:10Z', 'git_url': 'git://github.com/jordan-woyak/dolphin.git', 'ssh_url': 'git@github.com:jordan-woyak/dolphin.git', 'clone_url': 'https://github.com/jordan-woyak/dolphin.git', 'svn_url': 'https://github.com/jordan-woyak/dolphin', 'homepage': None, 'size': 527705, 'stargazers_count': 5, 'watchers_count': 5, 'language': 'C++', 'has_issues': False, 'has_projects': True, 'has_downloads': False, 'has_wiki': False, 'has_pages': False, 'has_discussions': False, 'forks_count': 5, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 2, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': [], 'visibility': 'public', 'forks': 5, 'open_issues': 2, 'watchers': 5, 'default_branch': 'master', 'allow_squash_merge': True, 'allow_merge_commit': True, 'allow_rebase_merge': True, 'allow_auto_merge': False, 'delete_branch_on_merge': True, 'allow_update_branch': False, 'use_squash_pr_title_as_default': False, 'squash_merge_commit_message': 'COMMIT_MESSAGES', 'squash_merge_commit_title': 'COMMIT_OR_PR_TITLE', 'merge_commit_message': 'PR_TITLE', 'merge_commit_title': 'MERGE_MESSAGE'}}, 'base': {'label': 'dolphin-emu:master', 'ref': 'master', 'sha': '048e6306b82b183d061ee33c4ee32d5e76f3f09a', '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-10-03T13:38:13Z', 'pushed_at': '2026-10-03T10:25:06Z', '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': 561269, 'stargazers_count': 15604, 'watchers_count': 15604, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3284, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 474, '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': 3284, 'open_issues': 474, 'watchers': 15604, '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/14902'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14902'}, 'issue': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14902'}, 'comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14902/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14902/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/14902/commits'}, 'statuses': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/b37072ae9b3a6d8f4c1c70e85b05d2b58c63a49f'}}, '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-10-03T13:38:13Z', 'pushed_at': '2026-10-03T10:25:06Z', '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': 561269, 'stargazers_count': 15604, 'watchers_count': 15604, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3284, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 474, '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': 3284, 'open_issues': 474, 'watchers': 15604, '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-10-03T16:41:56.571033 {'source': 'webserver', 'gh_type': 'issue_comment', 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14899', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14899/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14899/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14899/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14899', 'id': 5638871264, 'node_id': 'PR_kwDOALCn2M8AAAABFzHTrw', 'number': 14899, 'title': 'VideoCommon: Work around Adreno TEV zero input miscompilation', 'user': {'login': 'Starlightbotanist', 'id': 115003461, 'node_id': 'U_kgDOBtrQRQ', 'avatar_url': 'https://avatars.githubusercontent.com/u/115003461?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/Starlightbotanist', 'html_url': 'https://github.com/Starlightbotanist', 'followers_url': 'https://api.github.com/users/Starlightbotanist/followers', 'following_url': 'https://api.github.com/users/Starlightbotanist/following{/other_user}', 'gists_url': 'https://api.github.com/users/Starlightbotanist/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/Starlightbotanist/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/Starlightbotanist/subscriptions', 'organizations_url': 'https://api.github.com/users/Starlightbotanist/orgs', 'repos_url': 'https://api.github.com/users/Starlightbotanist/repos', 'events_url': 'https://api.github.com/users/Starlightbotanist/events{/privacy}', 'received_events_url': 'https://api.github.com/users/Starlightbotanist/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 15, 'created_at': '2026-09-30T00:18:33Z', 'updated_at': '2026-10-03T16:41:54Z', 'closed_at': None, 'assignee': None, 'author_association': 'NONE', 'issue_field_values': [], 'type': None, 'active_lock_reason': None, 'draft': False, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14899', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14899', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14899.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14899.patch', 'merged_at': None}, 'body': 'In compliance with [Dolphin\'s Generative AI policy](https://github.com/dolphin-emu/dolphin/blob/5102a0339c2177575378107b76541e47cc52122d/Contributing.md#genai), be aware that debugging this issue, and drafting possible fixes was done with assistance from Codex. The final code is my own and understood by me, but determining the cause of this wouldn\'t have been possible for me without an LLM. This doesn\'t change any emulated behavior. It provides a workaround for an incorrect behavior caused by a GPU driver. This reuses existing combiner data that ubershaders already use.\r\n\r\nI am sure everyone has noticed bug reports for color issues from Android users with devices that have Qualcomm\'s Adreno GPU drivers, versions in the v0.7xx.xx+ range. Some common games I have seen with this issue New Super Mario Bros Wii, Animal Crossing City Folk, and Luigi\'s Mansion. Screenshots taken on a Samsung Galaxy S26.\r\n\r\n<img width="3120" height="1440" alt="Screenshot_20260929_191017_Dolphin Emulator" src="https://github.com/user-attachments/assets/cbad3160-e16d-4fbc-9381-7b6701efd326" />\r\n\r\n<img width="3120" height="1440" alt="Screenshot_20260929_191147_Dolphin Emulator" src="https://github.com/user-attachments/assets/4904c9f0-d32c-413f-8526-d5d87edddc7c" />\r\n\r\n<img width="3120" height="1440" alt="Screenshot_20260929_191333_Dolphin Emulator" src="https://github.com/user-attachments/assets/571da096-38d0-4139-861e-3915e32fa4af" />\r\n\r\n<img width="3120" height="1440" alt="Screenshot_20260929_191213_Dolphin Emulator" src="https://github.com/user-attachments/assets/08928aa2-d727-447e-b70f-0d7620029b28" />\r\n\r\nThis happens with Qualcomm\'s Adreno GPU drivers version 0.7xx.xx+, regardless of video backend. Using Specialized compilation, the colors will always be wrong in an effected game. Using Hybrid, it happens only when in Specialized mode (and it can cause a flickering effect when it switches between specialized and ubershaders). Using Exclusive Ubershaders never presents this issue.\r\n\r\nBefore this change, when the color input A or B of a TEV stage was set to Zero, the specialized shader generator looked that input up in the table and wrote the returned constant into the line that builds the stage\'s first input. On drivers version 0.7xx.xx+, it now writes an expression instead. That expression reads the stage\'s color A and B selector from the combiner data the shader already has access to (bpmem_pack1, which is used by Ubershaders) and XORs it with Zero. \r\n\r\nDespite digging into the qualcomm driver considerably, I can\'t understand why using the table causes this issue. Using a newer mesa turnip driver fixes the issue (obviously only on Vulkan). But I think it\'s worth having a workaround in place that doesn\'t require using Ubershaders or a custom driver.\r\n\r\nPerformance testing shows that this does have a small cost, but it\'s faster than simply using Ubershaders.\r\n\r\nAnimal Crossing City Folk\r\n -Specialized: 267fps\r\n -Exclusive Ubershaders: 251fps\r\n -Specialized with these changes: 266fps\r\n \r\n NSMBW\r\n -Specialized: 396fps\r\n -Exclusive Ubershaders: 311fps\r\n -Specialized with these changes: 371fps.\r\n \r\n The change is gated to Qualcomm\'s Adreno GPU drivers version 0.7xx.xx+, so you would only see this performance regression on those devices. \r\n \r\n Here are some screenshots of how specialized looks with these changes on the Samsung Galaxy S26.\r\n \r\n<img width="3120" height="1440" alt="Screenshot_20260929_191642_Dolphin TEV Perf" src="https://github.com/user-attachments/assets/06446ab7-8f5a-49c8-b27a-7f6ac546ed93" />\r\n\r\n<img width="3120" height="1440" alt="Screenshot_20260929_191033_Dolphin Emulator" src="https://github.com/user-attachments/assets/bdccd741-8bb6-450e-9d9b-01820d765dbe" />\r\n\r\n<img width="3120" height="1440" alt="Screenshot_20260929_191736_Dolphin TEV Perf" src="https://github.com/user-attachments/assets/60219c08-e21d-4a22-922b-fde6f1c04149" />\r\n\r\n<img width="3120" height="1440" alt="Screenshot_20260929_191803_Dolphin TEV Perf" src="https://github.com/user-attachments/assets/9590392b-883f-4564-a674-f672ac09ef81" />\r\n', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14899/reactions', 'total_count': 2, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 1, 'confused': 0, 'heart': 0, 'rocket': 1, 'eyes': 0}, 'timeline_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14899/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5971192870', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14899#issuecomment-5971192870', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14899', 'id': 5971192870, 'node_id': 'IC_kwDOALCn2M8AAAABY-ksJg', 'user': {'login': 'JMC47', 'id': 6598209, 'node_id': 'MDQ6VXNlcjY1OTgyMDk=', 'avatar_url': 'https://avatars.githubusercontent.com/u/6598209?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/JMC47', 'html_url': 'https://github.com/JMC47', 'followers_url': 'https://api.github.com/users/JMC47/followers', 'following_url': 'https://api.github.com/users/JMC47/following{/other_user}', 'gists_url': 'https://api.github.com/users/JMC47/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/JMC47/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/JMC47/subscriptions', 'organizations_url': 'https://api.github.com/users/JMC47/orgs', 'repos_url': 'https://api.github.com/users/JMC47/repos', 'events_url': 'https://api.github.com/users/JMC47/events{/privacy}', 'received_events_url': 'https://api.github.com/users/JMC47/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2026-10-03T16:41:54Z', 'updated_at': '2026-10-03T16:41:54Z', 'body': '@dolphin-emu-bot rebuild', 'author_association': 'MEMBER', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5971192870/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-10-03T13:38:13Z', 'pushed_at': '2026-10-03T10:25:06Z', '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': 561269, 'stargazers_count': 15604, 'watchers_count': 15604, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3284, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 474, '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': 3284, 'open_issues': 474, 'watchers': 15604, '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': 'JMC47', 'id': 6598209, 'node_id': 'MDQ6VXNlcjY1OTgyMDk=', 'avatar_url': 'https://avatars.githubusercontent.com/u/6598209?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/JMC47', 'html_url': 'https://github.com/JMC47', 'followers_url': 'https://api.github.com/users/JMC47/followers', 'following_url': 'https://api.github.com/users/JMC47/following{/other_user}', 'gists_url': 'https://api.github.com/users/JMC47/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/JMC47/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/JMC47/subscriptions', 'organizations_url': 'https://api.github.com/users/JMC47/orgs', 'repos_url': 'https://api.github.com/users/JMC47/repos', 'events_url': 'https://api.github.com/users/JMC47/events{/privacy}', 'received_events_url': 'https://api.github.com/users/JMC47/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'raw_gh_hook'}
2026-10-03T15:48:57.995460 {'source': 'webserver', 'gh_type': 'pull_request_review_comment', 'raw': {'action': 'created', 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4173794220', 'pull_request_review_id': 5401510911, 'id': 4173794220, 'node_id': 'PRRC_kwDOALCn2M74xwus', 'diff_hunk': '@@ -1434,20 +1436,36 @@ static void WriteStage(ShaderCode& out, const pixel_shader_uid_data* uid_data, i\n if (ac.dest >= TevOutput::Color0)\n out.SetConstantsUsed(C_COLORS + u32(ac.dest.Value()), C_COLORS + u32(ac.dest.Value()));\n \n+ std::string color_a = tev_c_input_table[cc.a];\n+ std::string color_b = tev_c_input_table[cc.b];\n+ if ((cc.a == TevColorArg::Zero || cc.b == TevColorArg::Zero) &&\n+ DriverDetails::HasBug(DriverDetails::BUG_BROKEN_TEV_COLOR_ZERO))\n+ {\n+ const std::string combiner = fmt::format("bpmem_pack1[{}].x", n);\n+ // The shader UID includes the color combiner, so these runtime selectors are Zero here.\n+ // Keep zero dependent on those selectors to avoid folding it into the broken Adreno shader.\n+ if (cc.a == TevColorArg::Zero)', 'path': 'Source/Core/VideoCommon/PixelShaderGen.cpp', 'commit_id': '6c8a7f9ea814b9d05f9bf8bc277e433fe4df12b5', 'original_commit_id': '41bfc2380e028eec72b2eae7af5d5586917a1329', 'user': {'login': 'Starlightbotanist', 'id': 115003461, 'node_id': 'U_kgDOBtrQRQ', 'avatar_url': 'https://avatars.githubusercontent.com/u/115003461?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/Starlightbotanist', 'html_url': 'https://github.com/Starlightbotanist', 'followers_url': 'https://api.github.com/users/Starlightbotanist/followers', 'following_url': 'https://api.github.com/users/Starlightbotanist/following{/other_user}', 'gists_url': 'https://api.github.com/users/Starlightbotanist/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/Starlightbotanist/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/Starlightbotanist/subscriptions', 'organizations_url': 'https://api.github.com/users/Starlightbotanist/orgs', 'repos_url': 'https://api.github.com/users/Starlightbotanist/repos', 'events_url': 'https://api.github.com/users/Starlightbotanist/events{/privacy}', 'received_events_url': 'https://api.github.com/users/Starlightbotanist/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': 'Done! ', 'created_at': '2026-10-03T15:48:55Z', 'updated_at': '2026-10-03T15:48:56Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14899#discussion_r4173794220', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14899', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4173794220'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14899#discussion_r4173794220'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14899'}}, 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4173794220/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'start_line': None, 'original_start_line': None, 'start_side': None, 'line': 1447, 'original_line': 1447, 'side': 'RIGHT', 'in_reply_to_id': 4172087926, 'author_association': 'NONE', 'original_position': 21, 'position': 21, 'subject_type': 'line'}, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14899', 'id': 4684108719, 'node_id': 'PR_kwDOALCn2M8AAAABFzHTrw', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14899', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14899.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14899.patch', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14899', 'number': 14899, 'state': 'open', 'locked': False, 'title': 'VideoCommon: Work around Adreno TEV zero input miscompilation', 'user': {'login': 'Starlightbotanist', 'id': 115003461, 'node_id': 'U_kgDOBtrQRQ', 'avatar_url': 'https://avatars.githubusercontent.com/u/115003461?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/Starlightbotanist', 'html_url': 'https://github.com/Starlightbotanist', 'followers_url': 'https://api.github.com/users/Starlightbotanist/followers', 'following_url': 'https://api.github.com/users/Starlightbotanist/following{/other_user}', 'gists_url': 'https://api.github.com/users/Starlightbotanist/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/Starlightbotanist/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/Starlightbotanist/subscriptions', 'organizations_url': 'https://api.github.com/users/Starlightbotanist/orgs', 'repos_url': 'https://api.github.com/users/Starlightbotanist/repos', 'events_url': 'https://api.github.com/users/Starlightbotanist/events{/privacy}', 'received_events_url': 'https://api.github.com/users/Starlightbotanist/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': 'In compliance with [Dolphin\'s Generative AI policy](https://github.com/dolphin-emu/dolphin/blob/5102a0339c2177575378107b76541e47cc52122d/Contributing.md#genai), be aware that debugging this issue, and drafting possible fixes was done with assistance from Codex. The final code is my own and understood by me, but determining the cause of this wouldn\'t have been possible for me without an LLM. This doesn\'t change any emulated behavior. It provides a workaround for an incorrect behavior caused by a GPU driver. This reuses existing combiner data that ubershaders already use.\r\n\r\nI am sure everyone has noticed bug reports for color issues from Android users with devices that have Qualcomm\'s Adreno GPU drivers, versions in the v0.7xx.xx+ range. Some common games I have seen with this issue New Super Mario Bros Wii, Animal Crossing City Folk, and Luigi\'s Mansion. Screenshots taken on a Samsung Galaxy S26.\r\n\r\n<img width="3120" height="1440" alt="Screenshot_20260929_191017_Dolphin Emulator" src="https://github.com/user-attachments/assets/cbad3160-e16d-4fbc-9381-7b6701efd326" />\r\n\r\n<img width="3120" height="1440" alt="Screenshot_20260929_191147_Dolphin Emulator" src="https://github.com/user-attachments/assets/4904c9f0-d32c-413f-8526-d5d87edddc7c" />\r\n\r\n<img width="3120" height="1440" alt="Screenshot_20260929_191333_Dolphin Emulator" src="https://github.com/user-attachments/assets/571da096-38d0-4139-861e-3915e32fa4af" />\r\n\r\n<img width="3120" height="1440" alt="Screenshot_20260929_191213_Dolphin Emulator" src="https://github.com/user-attachments/assets/08928aa2-d727-447e-b70f-0d7620029b28" />\r\n\r\nThis happens with Qualcomm\'s Adreno GPU drivers version 0.7xx.xx+, regardless of video backend. Using Specialized compilation, the colors will always be wrong in an effected game. Using Hybrid, it happens only when in Specialized mode (and it can cause a flickering effect when it switches between specialized and ubershaders). Using Exclusive Ubershaders never presents this issue.\r\n\r\nBefore this change, when the color input A or B of a TEV stage was set to Zero, the specialized shader generator looked that input up in the table and wrote the returned constant into the line that builds the stage\'s first input. On drivers version 0.7xx.xx+, it now writes an expression instead. That expression reads the stage\'s color A and B selector from the combiner data the shader already has access to (bpmem_pack1, which is used by Ubershaders) and XORs it with Zero. \r\n\r\nDespite digging into the qualcomm driver considerably, I can\'t understand why using the table causes this issue. Using a newer mesa turnip driver fixes the issue (obviously only on Vulkan). But I think it\'s worth having a workaround in place that doesn\'t require using Ubershaders or a custom driver.\r\n\r\nPerformance testing shows that this does have a small cost, but it\'s faster than simply using Ubershaders.\r\n\r\nAnimal Crossing City Folk\r\n -Specialized: 267fps\r\n -Exclusive Ubershaders: 251fps\r\n -Specialized with these changes: 266fps\r\n \r\n NSMBW\r\n -Specialized: 396fps\r\n -Exclusive Ubershaders: 311fps\r\n -Specialized with these changes: 371fps.\r\n \r\n The change is gated to Qualcomm\'s Adreno GPU drivers version 0.7xx.xx+, so you would only see this performance regression on those devices. \r\n \r\n Here are some screenshots of how specialized looks with these changes on the Samsung Galaxy S26.\r\n \r\n<img width="3120" height="1440" alt="Screenshot_20260929_191642_Dolphin TEV Perf" src="https://github.com/user-attachments/assets/06446ab7-8f5a-49c8-b27a-7f6ac546ed93" />\r\n\r\n<img width="3120" height="1440" alt="Screenshot_20260929_191033_Dolphin Emulator" src="https://github.com/user-attachments/assets/bdccd741-8bb6-450e-9d9b-01820d765dbe" />\r\n\r\n<img width="3120" height="1440" alt="Screenshot_20260929_191736_Dolphin TEV Perf" src="https://github.com/user-attachments/assets/60219c08-e21d-4a22-922b-fde6f1c04149" />\r\n\r\n<img width="3120" height="1440" alt="Screenshot_20260929_191803_Dolphin TEV Perf" src="https://github.com/user-attachments/assets/9590392b-883f-4564-a674-f672ac09ef81" />\r\n', 'created_at': '2026-09-30T00:18:33Z', 'updated_at': '2026-10-03T15:46:41Z', 'closed_at': None, 'merged_at': None, 'merge_commit_sha': '4207c8c072d6701e7d553a9f2038b594952b7836', 'assignees': [], 'requested_reviewers': [], 'requested_teams': [], 'labels': [], 'milestone': None, 'draft': False, 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14899/commits', 'review_comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14899/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/14899/comments', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/6c8a7f9ea814b9d05f9bf8bc277e433fe4df12b5', 'head': {'label': 'Starlightbotanist:adreno-tev-zero-rewrite', 'ref': 'adreno-tev-zero-rewrite', 'sha': '6c8a7f9ea814b9d05f9bf8bc277e433fe4df12b5', 'user': {'login': 'Starlightbotanist', 'id': 115003461, 'node_id': 'U_kgDOBtrQRQ', 'avatar_url': 'https://avatars.githubusercontent.com/u/115003461?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/Starlightbotanist', 'html_url': 'https://github.com/Starlightbotanist', 'followers_url': 'https://api.github.com/users/Starlightbotanist/followers', 'following_url': 'https://api.github.com/users/Starlightbotanist/following{/other_user}', 'gists_url': 'https://api.github.com/users/Starlightbotanist/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/Starlightbotanist/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/Starlightbotanist/subscriptions', 'organizations_url': 'https://api.github.com/users/Starlightbotanist/orgs', 'repos_url': 'https://api.github.com/users/Starlightbotanist/repos', 'events_url': 'https://api.github.com/users/Starlightbotanist/events{/privacy}', 'received_events_url': 'https://api.github.com/users/Starlightbotanist/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 1149264179, 'node_id': 'R_kgDORIBhMw', 'name': 'PrimeHack-Android', 'full_name': 'Starlightbotanist/PrimeHack-Android', 'private': False, 'owner': {'login': 'Starlightbotanist', 'id': 115003461, 'node_id': 'U_kgDOBtrQRQ', 'avatar_url': 'https://avatars.githubusercontent.com/u/115003461?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/Starlightbotanist', 'html_url': 'https://github.com/Starlightbotanist', 'followers_url': 'https://api.github.com/users/Starlightbotanist/followers', 'following_url': 'https://api.github.com/users/Starlightbotanist/following{/other_user}', 'gists_url': 'https://api.github.com/users/Starlightbotanist/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/Starlightbotanist/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/Starlightbotanist/subscriptions', 'organizations_url': 'https://api.github.com/users/Starlightbotanist/orgs', 'repos_url': 'https://api.github.com/users/Starlightbotanist/repos', 'events_url': 'https://api.github.com/users/Starlightbotanist/events{/privacy}', 'received_events_url': 'https://api.github.com/users/Starlightbotanist/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/Starlightbotanist/PrimeHack-Android', 'description': 'Dolphin fork intended to give Metroid Prime Trilogy mouselook controls', 'fork': True, 'url': 'https://api.github.com/repos/Starlightbotanist/PrimeHack-Android', 'forks_url': 'https://api.github.com/repos/Starlightbotanist/PrimeHack-Android/forks', 'keys_url': 'https://api.github.com/repos/Starlightbotanist/PrimeHack-Android/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/Starlightbotanist/PrimeHack-Android/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/Starlightbotanist/PrimeHack-Android/teams', 'hooks_url': 'https://api.github.com/repos/Starlightbotanist/PrimeHack-Android/hooks', 'issue_events_url': 'https://api.github.com/repos/Starlightbotanist/PrimeHack-Android/issues/events{/number}', 'events_url': 'https://api.github.com/repos/Starlightbotanist/PrimeHack-Android/events', 'assignees_url': 'https://api.github.com/repos/Starlightbotanist/PrimeHack-Android/assignees{/user}', 'branches_url': 'https://api.github.com/repos/Starlightbotanist/PrimeHack-Android/branches{/branch}', 'tags_url': 'https://api.github.com/repos/Starlightbotanist/PrimeHack-Android/tags', 'blobs_url': 'https://api.github.com/repos/Starlightbotanist/PrimeHack-Android/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/Starlightbotanist/PrimeHack-Android/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/Starlightbotanist/PrimeHack-Android/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/Starlightbotanist/PrimeHack-Android/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/Starlightbotanist/PrimeHack-Android/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/Starlightbotanist/PrimeHack-Android/languages', 'stargazers_url': 'https://api.github.com/repos/Starlightbotanist/PrimeHack-Android/stargazers', 'contributors_url': 'https://api.github.com/repos/Starlightbotanist/PrimeHack-Android/contributors', 'subscribers_url': 'https://api.github.com/repos/Starlightbotanist/PrimeHack-Android/subscribers', 'subscription_url': 'https://api.github.com/repos/Starlightbotanist/PrimeHack-Android/subscription', 'commits_url': 'https://api.github.com/repos/Starlightbotanist/PrimeHack-Android/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/Starlightbotanist/PrimeHack-Android/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/Starlightbotanist/PrimeHack-Android/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/Starlightbotanist/PrimeHack-Android/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/Starlightbotanist/PrimeHack-Android/contents/{+path}', 'compare_url': 'https://api.github.com/repos/Starlightbotanist/PrimeHack-Android/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/Starlightbotanist/PrimeHack-Android/merges', 'archive_url': 'https://api.github.com/repos/Starlightbotanist/PrimeHack-Android/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/Starlightbotanist/PrimeHack-Android/downloads', 'issues_url': 'https://api.github.com/repos/Starlightbotanist/PrimeHack-Android/issues{/number}', 'pulls_url': 'https://api.github.com/repos/Starlightbotanist/PrimeHack-Android/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/Starlightbotanist/PrimeHack-Android/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/Starlightbotanist/PrimeHack-Android/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/Starlightbotanist/PrimeHack-Android/labels{/name}', 'releases_url': 'https://api.github.com/repos/Starlightbotanist/PrimeHack-Android/releases{/id}', 'deployments_url': 'https://api.github.com/repos/Starlightbotanist/PrimeHack-Android/deployments', 'created_at': '2026-02-03T23:07:31Z', 'updated_at': '2026-09-22T00:39:09Z', 'pushed_at': '2026-10-03T15:46:40Z', 'git_url': 'git://github.com/Starlightbotanist/PrimeHack-Android.git', 'ssh_url': 'git@github.com:Starlightbotanist/PrimeHack-Android.git', 'clone_url': 'https://github.com/Starlightbotanist/PrimeHack-Android.git', 'svn_url': 'https://github.com/Starlightbotanist/PrimeHack-Android', 'homepage': '', 'size': 519174, 'stargazers_count': 18, 'watchers_count': 18, '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': 18, 'default_branch': 'primehack-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': '562875dd60fd0ff50b65dbbb611a2096802cd1b9', '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-10-03T13:38:13Z', 'pushed_at': '2026-10-03T10:25:06Z', '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': 561269, 'stargazers_count': 15604, 'watchers_count': 15604, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3284, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 474, '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': 3284, 'open_issues': 474, 'watchers': 15604, '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/14899'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14899'}, 'issue': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14899'}, 'comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14899/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14899/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/14899/commits'}, 'statuses': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/6c8a7f9ea814b9d05f9bf8bc277e433fe4df12b5'}}, 'author_association': 'NONE', '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-10-03T13:38:13Z', 'pushed_at': '2026-10-03T10:25:06Z', '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': 561269, 'stargazers_count': 15604, 'watchers_count': 15604, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3284, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 474, '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': 3284, 'open_issues': 474, 'watchers': 15604, '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': 'Starlightbotanist', 'id': 115003461, 'node_id': 'U_kgDOBtrQRQ', 'avatar_url': 'https://avatars.githubusercontent.com/u/115003461?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/Starlightbotanist', 'html_url': 'https://github.com/Starlightbotanist', 'followers_url': 'https://api.github.com/users/Starlightbotanist/followers', 'following_url': 'https://api.github.com/users/Starlightbotanist/following{/other_user}', 'gists_url': 'https://api.github.com/users/Starlightbotanist/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/Starlightbotanist/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/Starlightbotanist/subscriptions', 'organizations_url': 'https://api.github.com/users/Starlightbotanist/orgs', 'repos_url': 'https://api.github.com/users/Starlightbotanist/repos', 'events_url': 'https://api.github.com/users/Starlightbotanist/events{/privacy}', 'received_events_url': 'https://api.github.com/users/Starlightbotanist/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'raw_gh_hook'}
2026-10-03T15:48:57.993521 {'source': 'webserver', 'gh_type': 'pull_request_review', 'raw': {'action': 'submitted', 'review': {'id': 5401510911, 'node_id': 'PRR_kwDOALCn2M8AAAABQfSD_w', 'user': {'login': 'Starlightbotanist', 'id': 115003461, 'node_id': 'U_kgDOBtrQRQ', 'avatar_url': 'https://avatars.githubusercontent.com/u/115003461?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/Starlightbotanist', 'html_url': 'https://github.com/Starlightbotanist', 'followers_url': 'https://api.github.com/users/Starlightbotanist/followers', 'following_url': 'https://api.github.com/users/Starlightbotanist/following{/other_user}', 'gists_url': 'https://api.github.com/users/Starlightbotanist/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/Starlightbotanist/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/Starlightbotanist/subscriptions', 'organizations_url': 'https://api.github.com/users/Starlightbotanist/orgs', 'repos_url': 'https://api.github.com/users/Starlightbotanist/repos', 'events_url': 'https://api.github.com/users/Starlightbotanist/events{/privacy}', 'received_events_url': 'https://api.github.com/users/Starlightbotanist/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': None, 'commit_id': '41bfc2380e028eec72b2eae7af5d5586917a1329', 'state': 'commented', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14899#pullrequestreview-5401510911', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14899', '_links': {'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14899#pullrequestreview-5401510911'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14899'}}, 'submitted_at': '2026-10-03T15:48:56Z', 'updated_at': '2026-10-03T15:48:56Z', 'author_association': 'NONE'}, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14899', 'id': 4684108719, 'node_id': 'PR_kwDOALCn2M8AAAABFzHTrw', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14899', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14899.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14899.patch', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14899', 'number': 14899, 'state': 'open', 'locked': False, 'title': 'VideoCommon: Work around Adreno TEV zero input miscompilation', 'user': {'login': 'Starlightbotanist', 'id': 115003461, 'node_id': 'U_kgDOBtrQRQ', 'avatar_url': 'https://avatars.githubusercontent.com/u/115003461?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/Starlightbotanist', 'html_url': 'https://github.com/Starlightbotanist', 'followers_url': 'https://api.github.com/users/Starlightbotanist/followers', 'following_url': 'https://api.github.com/users/Starlightbotanist/following{/other_user}', 'gists_url': 'https://api.github.com/users/Starlightbotanist/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/Starlightbotanist/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/Starlightbotanist/subscriptions', 'organizations_url': 'https://api.github.com/users/Starlightbotanist/orgs', 'repos_url': 'https://api.github.com/users/Starlightbotanist/repos', 'events_url': 'https://api.github.com/users/Starlightbotanist/events{/privacy}', 'received_events_url': 'https://api.github.com/users/Starlightbotanist/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': 'In compliance with [Dolphin\'s Generative AI policy](https://github.com/dolphin-emu/dolphin/blob/5102a0339c2177575378107b76541e47cc52122d/Contributing.md#genai), be aware that debugging this issue, and drafting possible fixes was done with assistance from Codex. The final code is my own and understood by me, but determining the cause of this wouldn\'t have been possible for me without an LLM. This doesn\'t change any emulated behavior. It provides a workaround for an incorrect behavior caused by a GPU driver. This reuses existing combiner data that ubershaders already use.\r\n\r\nI am sure everyone has noticed bug reports for color issues from Android users with devices that have Qualcomm\'s Adreno GPU drivers, versions in the v0.7xx.xx+ range. Some common games I have seen with this issue New Super Mario Bros Wii, Animal Crossing City Folk, and Luigi\'s Mansion. Screenshots taken on a Samsung Galaxy S26.\r\n\r\n<img width="3120" height="1440" alt="Screenshot_20260929_191017_Dolphin Emulator" src="https://github.com/user-attachments/assets/cbad3160-e16d-4fbc-9381-7b6701efd326" />\r\n\r\n<img width="3120" height="1440" alt="Screenshot_20260929_191147_Dolphin Emulator" src="https://github.com/user-attachments/assets/4904c9f0-d32c-413f-8526-d5d87edddc7c" />\r\n\r\n<img width="3120" height="1440" alt="Screenshot_20260929_191333_Dolphin Emulator" src="https://github.com/user-attachments/assets/571da096-38d0-4139-861e-3915e32fa4af" />\r\n\r\n<img width="3120" height="1440" alt="Screenshot_20260929_191213_Dolphin Emulator" src="https://github.com/user-attachments/assets/08928aa2-d727-447e-b70f-0d7620029b28" />\r\n\r\nThis happens with Qualcomm\'s Adreno GPU drivers version 0.7xx.xx+, regardless of video backend. Using Specialized compilation, the colors will always be wrong in an effected game. Using Hybrid, it happens only when in Specialized mode (and it can cause a flickering effect when it switches between specialized and ubershaders). Using Exclusive Ubershaders never presents this issue.\r\n\r\nBefore this change, when the color input A or B of a TEV stage was set to Zero, the specialized shader generator looked that input up in the table and wrote the returned constant into the line that builds the stage\'s first input. On drivers version 0.7xx.xx+, it now writes an expression instead. That expression reads the stage\'s color A and B selector from the combiner data the shader already has access to (bpmem_pack1, which is used by Ubershaders) and XORs it with Zero. \r\n\r\nDespite digging into the qualcomm driver considerably, I can\'t understand why using the table causes this issue. Using a newer mesa turnip driver fixes the issue (obviously only on Vulkan). But I think it\'s worth having a workaround in place that doesn\'t require using Ubershaders or a custom driver.\r\n\r\nPerformance testing shows that this does have a small cost, but it\'s faster than simply using Ubershaders.\r\n\r\nAnimal Crossing City Folk\r\n -Specialized: 267fps\r\n -Exclusive Ubershaders: 251fps\r\n -Specialized with these changes: 266fps\r\n \r\n NSMBW\r\n -Specialized: 396fps\r\n -Exclusive Ubershaders: 311fps\r\n -Specialized with these changes: 371fps.\r\n \r\n The change is gated to Qualcomm\'s Adreno GPU drivers version 0.7xx.xx+, so you would only see this performance regression on those devices. \r\n \r\n Here are some screenshots of how specialized looks with these changes on the Samsung Galaxy S26.\r\n \r\n<img width="3120" height="1440" alt="Screenshot_20260929_191642_Dolphin TEV Perf" src="https://github.com/user-attachments/assets/06446ab7-8f5a-49c8-b27a-7f6ac546ed93" />\r\n\r\n<img width="3120" height="1440" alt="Screenshot_20260929_191033_Dolphin Emulator" src="https://github.com/user-attachments/assets/bdccd741-8bb6-450e-9d9b-01820d765dbe" />\r\n\r\n<img width="3120" height="1440" alt="Screenshot_20260929_191736_Dolphin TEV Perf" src="https://github.com/user-attachments/assets/60219c08-e21d-4a22-922b-fde6f1c04149" />\r\n\r\n<img width="3120" height="1440" alt="Screenshot_20260929_191803_Dolphin TEV Perf" src="https://github.com/user-attachments/assets/9590392b-883f-4564-a674-f672ac09ef81" />\r\n', 'created_at': '2026-09-30T00:18:33Z', 'updated_at': '2026-10-03T15:46:41Z', 'closed_at': None, 'merged_at': None, 'merge_commit_sha': '4207c8c072d6701e7d553a9f2038b594952b7836', 'assignees': [], 'requested_reviewers': [], 'requested_teams': [], 'labels': [], 'milestone': None, 'draft': False, 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14899/commits', 'review_comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14899/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/14899/comments', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/6c8a7f9ea814b9d05f9bf8bc277e433fe4df12b5', 'head': {'label': 'Starlightbotanist:adreno-tev-zero-rewrite', 'ref': 'adreno-tev-zero-rewrite', 'sha': '6c8a7f9ea814b9d05f9bf8bc277e433fe4df12b5', 'user': {'login': 'Starlightbotanist', 'id': 115003461, 'node_id': 'U_kgDOBtrQRQ', 'avatar_url': 'https://avatars.githubusercontent.com/u/115003461?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/Starlightbotanist', 'html_url': 'https://github.com/Starlightbotanist', 'followers_url': 'https://api.github.com/users/Starlightbotanist/followers', 'following_url': 'https://api.github.com/users/Starlightbotanist/following{/other_user}', 'gists_url': 'https://api.github.com/users/Starlightbotanist/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/Starlightbotanist/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/Starlightbotanist/subscriptions', 'organizations_url': 'https://api.github.com/users/Starlightbotanist/orgs', 'repos_url': 'https://api.github.com/users/Starlightbotanist/repos', 'events_url': 'https://api.github.com/users/Starlightbotanist/events{/privacy}', 'received_events_url': 'https://api.github.com/users/Starlightbotanist/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 1149264179, 'node_id': 'R_kgDORIBhMw', 'name': 'PrimeHack-Android', 'full_name': 'Starlightbotanist/PrimeHack-Android', 'private': False, 'owner': {'login': 'Starlightbotanist', 'id': 115003461, 'node_id': 'U_kgDOBtrQRQ', 'avatar_url': 'https://avatars.githubusercontent.com/u/115003461?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/Starlightbotanist', 'html_url': 'https://github.com/Starlightbotanist', 'followers_url': 'https://api.github.com/users/Starlightbotanist/followers', 'following_url': 'https://api.github.com/users/Starlightbotanist/following{/other_user}', 'gists_url': 'https://api.github.com/users/Starlightbotanist/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/Starlightbotanist/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/Starlightbotanist/subscriptions', 'organizations_url': 'https://api.github.com/users/Starlightbotanist/orgs', 'repos_url': 'https://api.github.com/users/Starlightbotanist/repos', 'events_url': 'https://api.github.com/users/Starlightbotanist/events{/privacy}', 'received_events_url': 'https://api.github.com/users/Starlightbotanist/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/Starlightbotanist/PrimeHack-Android', 'description': 'Dolphin fork intended to give Metroid Prime Trilogy mouselook controls', 'fork': True, 'url': 'https://api.github.com/repos/Starlightbotanist/PrimeHack-Android', 'forks_url': 'https://api.github.com/repos/Starlightbotanist/PrimeHack-Android/forks', 'keys_url': 'https://api.github.com/repos/Starlightbotanist/PrimeHack-Android/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/Starlightbotanist/PrimeHack-Android/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/Starlightbotanist/PrimeHack-Android/teams', 'hooks_url': 'https://api.github.com/repos/Starlightbotanist/PrimeHack-Android/hooks', 'issue_events_url': 'https://api.github.com/repos/Starlightbotanist/PrimeHack-Android/issues/events{/number}', 'events_url': 'https://api.github.com/repos/Starlightbotanist/PrimeHack-Android/events', 'assignees_url': 'https://api.github.com/repos/Starlightbotanist/PrimeHack-Android/assignees{/user}', 'branches_url': 'https://api.github.com/repos/Starlightbotanist/PrimeHack-Android/branches{/branch}', 'tags_url': 'https://api.github.com/repos/Starlightbotanist/PrimeHack-Android/tags', 'blobs_url': 'https://api.github.com/repos/Starlightbotanist/PrimeHack-Android/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/Starlightbotanist/PrimeHack-Android/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/Starlightbotanist/PrimeHack-Android/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/Starlightbotanist/PrimeHack-Android/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/Starlightbotanist/PrimeHack-Android/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/Starlightbotanist/PrimeHack-Android/languages', 'stargazers_url': 'https://api.github.com/repos/Starlightbotanist/PrimeHack-Android/stargazers', 'contributors_url': 'https://api.github.com/repos/Starlightbotanist/PrimeHack-Android/contributors', 'subscribers_url': 'https://api.github.com/repos/Starlightbotanist/PrimeHack-Android/subscribers', 'subscription_url': 'https://api.github.com/repos/Starlightbotanist/PrimeHack-Android/subscription', 'commits_url': 'https://api.github.com/repos/Starlightbotanist/PrimeHack-Android/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/Starlightbotanist/PrimeHack-Android/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/Starlightbotanist/PrimeHack-Android/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/Starlightbotanist/PrimeHack-Android/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/Starlightbotanist/PrimeHack-Android/contents/{+path}', 'compare_url': 'https://api.github.com/repos/Starlightbotanist/PrimeHack-Android/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/Starlightbotanist/PrimeHack-Android/merges', 'archive_url': 'https://api.github.com/repos/Starlightbotanist/PrimeHack-Android/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/Starlightbotanist/PrimeHack-Android/downloads', 'issues_url': 'https://api.github.com/repos/Starlightbotanist/PrimeHack-Android/issues{/number}', 'pulls_url': 'https://api.github.com/repos/Starlightbotanist/PrimeHack-Android/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/Starlightbotanist/PrimeHack-Android/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/Starlightbotanist/PrimeHack-Android/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/Starlightbotanist/PrimeHack-Android/labels{/name}', 'releases_url': 'https://api.github.com/repos/Starlightbotanist/PrimeHack-Android/releases{/id}', 'deployments_url': 'https://api.github.com/repos/Starlightbotanist/PrimeHack-Android/deployments', 'created_at': '2026-02-03T23:07:31Z', 'updated_at': '2026-09-22T00:39:09Z', 'pushed_at': '2026-10-03T15:46:40Z', 'git_url': 'git://github.com/Starlightbotanist/PrimeHack-Android.git', 'ssh_url': 'git@github.com:Starlightbotanist/PrimeHack-Android.git', 'clone_url': 'https://github.com/Starlightbotanist/PrimeHack-Android.git', 'svn_url': 'https://github.com/Starlightbotanist/PrimeHack-Android', 'homepage': '', 'size': 519174, 'stargazers_count': 18, 'watchers_count': 18, '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': 18, 'default_branch': 'primehack-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': '562875dd60fd0ff50b65dbbb611a2096802cd1b9', '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-10-03T13:38:13Z', 'pushed_at': '2026-10-03T10:25:06Z', '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': 561269, 'stargazers_count': 15604, 'watchers_count': 15604, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3284, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 474, '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': 3284, 'open_issues': 474, 'watchers': 15604, '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/14899'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14899'}, 'issue': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14899'}, 'comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14899/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14899/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/14899/commits'}, 'statuses': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/6c8a7f9ea814b9d05f9bf8bc277e433fe4df12b5'}}, 'author_association': 'NONE', '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-10-03T13:38:13Z', 'pushed_at': '2026-10-03T10:25:06Z', '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': 561269, 'stargazers_count': 15604, 'watchers_count': 15604, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3284, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 474, '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': 3284, 'open_issues': 474, 'watchers': 15604, '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': 'Starlightbotanist', 'id': 115003461, 'node_id': 'U_kgDOBtrQRQ', 'avatar_url': 'https://avatars.githubusercontent.com/u/115003461?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/Starlightbotanist', 'html_url': 'https://github.com/Starlightbotanist', 'followers_url': 'https://api.github.com/users/Starlightbotanist/followers', 'following_url': 'https://api.github.com/users/Starlightbotanist/following{/other_user}', 'gists_url': 'https://api.github.com/users/Starlightbotanist/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/Starlightbotanist/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/Starlightbotanist/subscriptions', 'organizations_url': 'https://api.github.com/users/Starlightbotanist/orgs', 'repos_url': 'https://api.github.com/users/Starlightbotanist/repos', 'events_url': 'https://api.github.com/users/Starlightbotanist/events{/privacy}', 'received_events_url': 'https://api.github.com/users/Starlightbotanist/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'raw_gh_hook'}
2026-10-03T15:46:43.212803 {'source': 'webserver', 'gh_type': 'pull_request', 'raw': {'action': 'synchronize', 'number': 14899, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14899', 'id': 4684108719, 'node_id': 'PR_kwDOALCn2M8AAAABFzHTrw', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14899', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14899.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14899.patch', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14899', 'number': 14899, 'state': 'open', 'locked': False, 'title': 'VideoCommon: Work around Adreno TEV zero input miscompilation', 'user': {'login': 'Starlightbotanist', 'id': 115003461, 'node_id': 'U_kgDOBtrQRQ', 'avatar_url': 'https://avatars.githubusercontent.com/u/115003461?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/Starlightbotanist', 'html_url': 'https://github.com/Starlightbotanist', 'followers_url': 'https://api.github.com/users/Starlightbotanist/followers', 'following_url': 'https://api.github.com/users/Starlightbotanist/following{/other_user}', 'gists_url': 'https://api.github.com/users/Starlightbotanist/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/Starlightbotanist/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/Starlightbotanist/subscriptions', 'organizations_url': 'https://api.github.com/users/Starlightbotanist/orgs', 'repos_url': 'https://api.github.com/users/Starlightbotanist/repos', 'events_url': 'https://api.github.com/users/Starlightbotanist/events{/privacy}', 'received_events_url': 'https://api.github.com/users/Starlightbotanist/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': 'In compliance with [Dolphin\'s Generative AI policy](https://github.com/dolphin-emu/dolphin/blob/5102a0339c2177575378107b76541e47cc52122d/Contributing.md#genai), be aware that debugging this issue, and drafting possible fixes was done with assistance from Codex. The final code is my own and understood by me, but determining the cause of this wouldn\'t have been possible for me without an LLM. This doesn\'t change any emulated behavior. It provides a workaround for an incorrect behavior caused by a GPU driver. This reuses existing combiner data that ubershaders already use.\r\n\r\nI am sure everyone has noticed bug reports for color issues from Android users with devices that have Qualcomm\'s Adreno GPU drivers, versions in the v0.7xx.xx+ range. Some common games I have seen with this issue New Super Mario Bros Wii, Animal Crossing City Folk, and Luigi\'s Mansion. Screenshots taken on a Samsung Galaxy S26.\r\n\r\n<img width="3120" height="1440" alt="Screenshot_20260929_191017_Dolphin Emulator" src="https://github.com/user-attachments/assets/cbad3160-e16d-4fbc-9381-7b6701efd326" />\r\n\r\n<img width="3120" height="1440" alt="Screenshot_20260929_191147_Dolphin Emulator" src="https://github.com/user-attachments/assets/4904c9f0-d32c-413f-8526-d5d87edddc7c" />\r\n\r\n<img width="3120" height="1440" alt="Screenshot_20260929_191333_Dolphin Emulator" src="https://github.com/user-attachments/assets/571da096-38d0-4139-861e-3915e32fa4af" />\r\n\r\n<img width="3120" height="1440" alt="Screenshot_20260929_191213_Dolphin Emulator" src="https://github.com/user-attachments/assets/08928aa2-d727-447e-b70f-0d7620029b28" />\r\n\r\nThis happens with Qualcomm\'s Adreno GPU drivers version 0.7xx.xx+, regardless of video backend. Using Specialized compilation, the colors will always be wrong in an effected game. Using Hybrid, it happens only when in Specialized mode (and it can cause a flickering effect when it switches between specialized and ubershaders). Using Exclusive Ubershaders never presents this issue.\r\n\r\nBefore this change, when the color input A or B of a TEV stage was set to Zero, the specialized shader generator looked that input up in the table and wrote the returned constant into the line that builds the stage\'s first input. On drivers version 0.7xx.xx+, it now writes an expression instead. That expression reads the stage\'s color A and B selector from the combiner data the shader already has access to (bpmem_pack1, which is used by Ubershaders) and XORs it with Zero. \r\n\r\nDespite digging into the qualcomm driver considerably, I can\'t understand why using the table causes this issue. Using a newer mesa turnip driver fixes the issue (obviously only on Vulkan). But I think it\'s worth having a workaround in place that doesn\'t require using Ubershaders or a custom driver.\r\n\r\nPerformance testing shows that this does have a small cost, but it\'s faster than simply using Ubershaders.\r\n\r\nAnimal Crossing City Folk\r\n -Specialized: 267fps\r\n -Exclusive Ubershaders: 251fps\r\n -Specialized with these changes: 266fps\r\n \r\n NSMBW\r\n -Specialized: 396fps\r\n -Exclusive Ubershaders: 311fps\r\n -Specialized with these changes: 371fps.\r\n \r\n The change is gated to Qualcomm\'s Adreno GPU drivers version 0.7xx.xx+, so you would only see this performance regression on those devices. \r\n \r\n Here are some screenshots of how specialized looks with these changes on the Samsung Galaxy S26.\r\n \r\n<img width="3120" height="1440" alt="Screenshot_20260929_191642_Dolphin TEV Perf" src="https://github.com/user-attachments/assets/06446ab7-8f5a-49c8-b27a-7f6ac546ed93" />\r\n\r\n<img width="3120" height="1440" alt="Screenshot_20260929_191033_Dolphin Emulator" src="https://github.com/user-attachments/assets/bdccd741-8bb6-450e-9d9b-01820d765dbe" />\r\n\r\n<img width="3120" height="1440" alt="Screenshot_20260929_191736_Dolphin TEV Perf" src="https://github.com/user-attachments/assets/60219c08-e21d-4a22-922b-fde6f1c04149" />\r\n\r\n<img width="3120" height="1440" alt="Screenshot_20260929_191803_Dolphin TEV Perf" src="https://github.com/user-attachments/assets/9590392b-883f-4564-a674-f672ac09ef81" />\r\n', 'created_at': '2026-09-30T00:18:33Z', 'updated_at': '2026-10-03T15:46:41Z', 'closed_at': None, 'merged_at': None, 'merge_commit_sha': 'ac9e2f6cbd2d93c90ed0194c03c7e9049ad235e6', 'assignees': [], 'requested_reviewers': [], 'requested_teams': [], 'labels': [], 'milestone': None, 'draft': False, 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14899/commits', 'review_comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14899/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/14899/comments', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/6c8a7f9ea814b9d05f9bf8bc277e433fe4df12b5', 'head': {'label': 'Starlightbotanist:adreno-tev-zero-rewrite', 'ref': 'adreno-tev-zero-rewrite', 'sha': '6c8a7f9ea814b9d05f9bf8bc277e433fe4df12b5', 'user': {'login': 'Starlightbotanist', 'id': 115003461, 'node_id': 'U_kgDOBtrQRQ', 'avatar_url': 'https://avatars.githubusercontent.com/u/115003461?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/Starlightbotanist', 'html_url': 'https://github.com/Starlightbotanist', 'followers_url': 'https://api.github.com/users/Starlightbotanist/followers', 'following_url': 'https://api.github.com/users/Starlightbotanist/following{/other_user}', 'gists_url': 'https://api.github.com/users/Starlightbotanist/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/Starlightbotanist/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/Starlightbotanist/subscriptions', 'organizations_url': 'https://api.github.com/users/Starlightbotanist/orgs', 'repos_url': 'https://api.github.com/users/Starlightbotanist/repos', 'events_url': 'https://api.github.com/users/Starlightbotanist/events{/privacy}', 'received_events_url': 'https://api.github.com/users/Starlightbotanist/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 1149264179, 'node_id': 'R_kgDORIBhMw', 'name': 'PrimeHack-Android', 'full_name': 'Starlightbotanist/PrimeHack-Android', 'private': False, 'owner': {'login': 'Starlightbotanist', 'id': 115003461, 'node_id': 'U_kgDOBtrQRQ', 'avatar_url': 'https://avatars.githubusercontent.com/u/115003461?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/Starlightbotanist', 'html_url': 'https://github.com/Starlightbotanist', 'followers_url': 'https://api.github.com/users/Starlightbotanist/followers', 'following_url': 'https://api.github.com/users/Starlightbotanist/following{/other_user}', 'gists_url': 'https://api.github.com/users/Starlightbotanist/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/Starlightbotanist/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/Starlightbotanist/subscriptions', 'organizations_url': 'https://api.github.com/users/Starlightbotanist/orgs', 'repos_url': 'https://api.github.com/users/Starlightbotanist/repos', 'events_url': 'https://api.github.com/users/Starlightbotanist/events{/privacy}', 'received_events_url': 'https://api.github.com/users/Starlightbotanist/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/Starlightbotanist/PrimeHack-Android', 'description': 'Dolphin fork intended to give Metroid Prime Trilogy mouselook controls', 'fork': True, 'url': 'https://api.github.com/repos/Starlightbotanist/PrimeHack-Android', 'forks_url': 'https://api.github.com/repos/Starlightbotanist/PrimeHack-Android/forks', 'keys_url': 'https://api.github.com/repos/Starlightbotanist/PrimeHack-Android/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/Starlightbotanist/PrimeHack-Android/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/Starlightbotanist/PrimeHack-Android/teams', 'hooks_url': 'https://api.github.com/repos/Starlightbotanist/PrimeHack-Android/hooks', 'issue_events_url': 'https://api.github.com/repos/Starlightbotanist/PrimeHack-Android/issues/events{/number}', 'events_url': 'https://api.github.com/repos/Starlightbotanist/PrimeHack-Android/events', 'assignees_url': 'https://api.github.com/repos/Starlightbotanist/PrimeHack-Android/assignees{/user}', 'branches_url': 'https://api.github.com/repos/Starlightbotanist/PrimeHack-Android/branches{/branch}', 'tags_url': 'https://api.github.com/repos/Starlightbotanist/PrimeHack-Android/tags', 'blobs_url': 'https://api.github.com/repos/Starlightbotanist/PrimeHack-Android/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/Starlightbotanist/PrimeHack-Android/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/Starlightbotanist/PrimeHack-Android/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/Starlightbotanist/PrimeHack-Android/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/Starlightbotanist/PrimeHack-Android/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/Starlightbotanist/PrimeHack-Android/languages', 'stargazers_url': 'https://api.github.com/repos/Starlightbotanist/PrimeHack-Android/stargazers', 'contributors_url': 'https://api.github.com/repos/Starlightbotanist/PrimeHack-Android/contributors', 'subscribers_url': 'https://api.github.com/repos/Starlightbotanist/PrimeHack-Android/subscribers', 'subscription_url': 'https://api.github.com/repos/Starlightbotanist/PrimeHack-Android/subscription', 'commits_url': 'https://api.github.com/repos/Starlightbotanist/PrimeHack-Android/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/Starlightbotanist/PrimeHack-Android/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/Starlightbotanist/PrimeHack-Android/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/Starlightbotanist/PrimeHack-Android/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/Starlightbotanist/PrimeHack-Android/contents/{+path}', 'compare_url': 'https://api.github.com/repos/Starlightbotanist/PrimeHack-Android/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/Starlightbotanist/PrimeHack-Android/merges', 'archive_url': 'https://api.github.com/repos/Starlightbotanist/PrimeHack-Android/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/Starlightbotanist/PrimeHack-Android/downloads', 'issues_url': 'https://api.github.com/repos/Starlightbotanist/PrimeHack-Android/issues{/number}', 'pulls_url': 'https://api.github.com/repos/Starlightbotanist/PrimeHack-Android/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/Starlightbotanist/PrimeHack-Android/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/Starlightbotanist/PrimeHack-Android/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/Starlightbotanist/PrimeHack-Android/labels{/name}', 'releases_url': 'https://api.github.com/repos/Starlightbotanist/PrimeHack-Android/releases{/id}', 'deployments_url': 'https://api.github.com/repos/Starlightbotanist/PrimeHack-Android/deployments', 'created_at': '2026-02-03T23:07:31Z', 'updated_at': '2026-09-22T00:39:09Z', 'pushed_at': '2026-10-03T15:46:40Z', 'git_url': 'git://github.com/Starlightbotanist/PrimeHack-Android.git', 'ssh_url': 'git@github.com:Starlightbotanist/PrimeHack-Android.git', 'clone_url': 'https://github.com/Starlightbotanist/PrimeHack-Android.git', 'svn_url': 'https://github.com/Starlightbotanist/PrimeHack-Android', 'homepage': '', 'size': 519174, 'stargazers_count': 18, 'watchers_count': 18, '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': 18, 'default_branch': 'primehack-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': '562875dd60fd0ff50b65dbbb611a2096802cd1b9', '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-10-03T13:38:13Z', 'pushed_at': '2026-10-03T10:25:06Z', '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': 561269, 'stargazers_count': 15604, 'watchers_count': 15604, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3284, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 474, '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': 3284, 'open_issues': 474, 'watchers': 15604, '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/14899'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14899'}, 'issue': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14899'}, 'comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14899/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14899/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/14899/commits'}, 'statuses': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/6c8a7f9ea814b9d05f9bf8bc277e433fe4df12b5'}}, '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': 14, 'review_comments': 11, 'maintainer_can_modify': True, 'commits': 2, 'additions': 44, 'deletions': 7, 'changed_files': 5}, 'before': '41bfc2380e028eec72b2eae7af5d5586917a1329', 'after': '6c8a7f9ea814b9d05f9bf8bc277e433fe4df12b5', '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-10-03T13:38:13Z', 'pushed_at': '2026-10-03T10:25:06Z', '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': 561269, 'stargazers_count': 15604, 'watchers_count': 15604, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3284, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 474, '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': 3284, 'open_issues': 474, 'watchers': 15604, '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': 'Starlightbotanist', 'id': 115003461, 'node_id': 'U_kgDOBtrQRQ', 'avatar_url': 'https://avatars.githubusercontent.com/u/115003461?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/Starlightbotanist', 'html_url': 'https://github.com/Starlightbotanist', 'followers_url': 'https://api.github.com/users/Starlightbotanist/followers', 'following_url': 'https://api.github.com/users/Starlightbotanist/following{/other_user}', 'gists_url': 'https://api.github.com/users/Starlightbotanist/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/Starlightbotanist/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/Starlightbotanist/subscriptions', 'organizations_url': 'https://api.github.com/users/Starlightbotanist/orgs', 'repos_url': 'https://api.github.com/users/Starlightbotanist/repos', 'events_url': 'https://api.github.com/users/Starlightbotanist/events{/privacy}', 'received_events_url': 'https://api.github.com/users/Starlightbotanist/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'raw_gh_hook'}
2026-10-03T15:35:56.647209 {'source': 'webserver', 'gh_type': 'pull_request_review_comment', 'raw': {'action': 'edited', 'changes': {'body': {'from': "I think it would be better to use git commits hashs due to the fact the release version contents can always be changed since what I see their releases aren't immutable , it harder to replicate a git hash than just replace the contents of a version "}}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4173747102', 'pull_request_review_id': 5401458715, 'id': 4173747102, 'node_id': 'PRRC_kwDOALCn2M74xlOe', 'diff_hunk': '@@ -767,16 +769,36 @@ if(WIN32 OR LINUX OR CMAKE_SYSTEM_NAME STREQUAL "FreeBSD" OR CMAKE_SYSTEM_NAME S\n add_definitions(-DHAVE_CPPIPC)\n endif()\n \n-set(NO_MEDIA OFF CACHE BOOL "" FORCE)\n-set(NO_WEBSOCKET OFF CACHE BOOL "" FORCE)\n-set(NO_EXAMPLES ON CACHE BOOL "" FORCE)\n-set(NO_TESTS ON CACHE BOOL "" FORCE)\n-set(BUILD_SHARED_LIBS OFF CACHE BOOL "" FORCE)\n-set(PREFER_SYSTEM_LIB ON CACHE BOOL "" FORCE)\n-add_subdirectory(Externals/libdatachannel)\n+if(ENABLE_WEB_INTERFACE)\n+ # libdatachannel\n+ set(NO_MEDIA OFF CACHE BOOL "" FORCE)\n+ set(NO_WEBSOCKET OFF CACHE BOOL "" FORCE)\n+ set(NO_EXAMPLES ON CACHE BOOL "" FORCE)\n+ set(NO_TESTS ON CACHE BOOL "" FORCE)\n+ set(BUILD_SHARED_LIBS OFF CACHE BOOL "" FORCE)\n+ set(PREFER_SYSTEM_LIB ON CACHE BOOL "" FORCE)\n+\n+ FetchContent_Declare(\n+ libdatachannel\n+ GIT_REPOSITORY https://github.com/paullouisageneau/libdatachannel.git\n+ GIT_TAG 6b1e2e620f1e37f0eafeee702eaea0043cb305fd', 'path': 'CMakeLists.txt', 'commit_id': '787567a8645f312760e573a7b5acd2380a53685c', 'original_commit_id': '787567a8645f312760e573a7b5acd2380a53685c', 'user': {'login': 'Mrlinkwii', 'id': 17685135, 'node_id': 'MDQ6VXNlcjE3Njg1MTM1', 'avatar_url': 'https://avatars.githubusercontent.com/u/17685135?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/Mrlinkwii', 'html_url': 'https://github.com/Mrlinkwii', 'followers_url': 'https://api.github.com/users/Mrlinkwii/followers', 'following_url': 'https://api.github.com/users/Mrlinkwii/following{/other_user}', 'gists_url': 'https://api.github.com/users/Mrlinkwii/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/Mrlinkwii/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/Mrlinkwii/subscriptions', 'organizations_url': 'https://api.github.com/users/Mrlinkwii/orgs', 'repos_url': 'https://api.github.com/users/Mrlinkwii/repos', 'events_url': 'https://api.github.com/users/Mrlinkwii/events{/privacy}', 'received_events_url': 'https://api.github.com/users/Mrlinkwii/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': "I think it would be better to use git commits hashs due to the fact the release version contents can always be changed since what I see their releases aren't immutable , it harder to replicate a git hash than just replace the contents of a version \n\nIm thinking security wise", 'created_at': '2026-10-03T15:33:48Z', 'updated_at': '2026-10-03T15:35:55Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14902#discussion_r4173747102', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14902', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4173747102'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14902#discussion_r4173747102'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14902'}}, 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4173747102/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'start_line': None, 'original_start_line': None, 'start_side': None, 'line': 784, 'original_line': 784, 'side': 'RIGHT', 'in_reply_to_id': 4173621906, 'author_association': 'CONTRIBUTOR', 'original_position': 39, 'position': 39, 'subject_type': 'line'}, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14902', 'id': 4700966704, 'node_id': 'PR_kwDOALCn2M8AAAABGDMPMA', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14902', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14902.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14902.patch', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14902', 'number': 14902, 'state': 'open', 'locked': False, 'title': 'UICommon: Add Web Interface for streaming integrated GBAs.', '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 PR adds a web server to Dolphin for control of integrated GBAs.\r\n\r\n<img width="2560" height="1440" alt="image" src="https://github.com/user-attachments/assets/868f6f67-917f-40d7-a150-9e570bc77954" />\r\n\r\nThere are many future possibilities, changing settings, launching games, streaming the main window, etc. \r\nHowever, the current only feature is streaming the integrated GBAs.\r\n\r\nThere\'s no sort of authentication implemented right now.\r\nMultiple clients can connect to the same GBA (they fight over the latest button state).\r\n\r\nConnecting causes the relevant GBA window on the host-side to hide itself and audio to no longer play locally.\r\n\r\nThe main use case is playing Four Swords or Crystal Chronicles, with the GBA screens streamed to mobile devices over the local network.\r\nThis already works well.\r\n\r\nlibavcodec is used to encode to H264/Opus and stream to web browsers using some additional dependencies:\r\n- [cpp-httplib](https://github.com/yhirose/cpp-httplib) for a HTTP and WebSocket server.\r\n- [libdatachannel](https://github.com/paullouisageneau/libdatachannel) for WebRTC\r\n\r\nBoth of these dependencies require C++ exceptions.\r\nI\'ve enabled exceptions for only the required Dolphin source files.\r\n\r\nThe web server hosts files from `Sys/WebUI`\r\nI\'ve also included some 3rd party libraries there in `Sys/WebUI/deps`\r\n- [Notyf](https://github.com/caroso1222/notyf) for "toast" messages.\r\n- [OmniPad](https://github.com/WizardOfXerox/OmniPad) for touch controls.\r\n\r\nThe web client code I\'ve written is bad and I\'m hoping someone more interested in that side of things wants to re-write all that html/js/css stuff at some point.\r\nThat probably could be done in a future PR, things are working fine as-is, but it\'s ugly (visually and code-wise).\r\n\r\nlibdatachannel has a [bug](https://github.com/paullouisageneau/libdatachannel/issues/1647) with a pending fix that requires `std::locale::global(std::locale::classic());`.\r\nIt\'s only used when a client connects.\r\nSo.. streaming with the web interface will currently mess with locales.\r\nHopefully that bug will be fixed soon, otherwise we could use a clone that has the fix.\r\n\r\nI\'ve only tested building on Linux.\r\nI have almost no clue what I am doing with CMake.', 'created_at': '2026-10-01T07:59:38Z', 'updated_at': '2026-10-03T15:33:48Z', 'closed_at': None, 'merged_at': None, 'merge_commit_sha': None, 'assignees': [], 'requested_reviewers': [], 'requested_teams': [], 'labels': [{'id': 221808232, 'node_id': 'MDU6TGFiZWwyMjE4MDgyMzI=', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels/WIP%20/%20do%20not%20merge', 'name': 'WIP / do not merge', 'color': '0052cc', 'default': False, 'description': 'Work in progress (do not merge)', 'archived_at': None, 'archived_by': None}, {'id': 221809816, 'node_id': 'MDU6TGFiZWwyMjE4MDk4MTY=', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels/RFC', 'name': 'RFC', 'color': 'FF6D00', 'default': False, 'description': 'Request for comments', 'archived_at': None, 'archived_by': None}], 'milestone': None, 'draft': False, 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14902/commits', 'review_comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14902/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/14902/comments', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/b37072ae9b3a6d8f4c1c70e85b05d2b58c63a49f', 'head': {'label': 'jordan-woyak:gba-web-interface', 'ref': 'gba-web-interface', 'sha': 'b37072ae9b3a6d8f4c1c70e85b05d2b58c63a49f', 'user': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 16818408, 'node_id': 'MDEwOlJlcG9zaXRvcnkxNjgxODQwOA==', 'name': 'dolphin', 'full_name': 'jordan-woyak/dolphin', 'private': False, 'owner': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/jordan-woyak/dolphin', 'description': 'Dolphin is a GameCube/Wii emulator, allowing you to play games for these two platforms on PC, with improvements.', 'fork': True, 'url': 'https://api.github.com/repos/jordan-woyak/dolphin', 'forks_url': 'https://api.github.com/repos/jordan-woyak/dolphin/forks', 'keys_url': 'https://api.github.com/repos/jordan-woyak/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/jordan-woyak/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/jordan-woyak/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/jordan-woyak/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/jordan-woyak/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/jordan-woyak/dolphin/events', 'assignees_url': 'https://api.github.com/repos/jordan-woyak/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/jordan-woyak/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/jordan-woyak/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/jordan-woyak/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/jordan-woyak/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/jordan-woyak/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/jordan-woyak/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/jordan-woyak/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/jordan-woyak/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/jordan-woyak/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/jordan-woyak/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/jordan-woyak/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/jordan-woyak/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/jordan-woyak/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/jordan-woyak/dolphin/merges', 'archive_url': 'https://api.github.com/repos/jordan-woyak/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/jordan-woyak/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/jordan-woyak/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/jordan-woyak/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/jordan-woyak/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/jordan-woyak/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/jordan-woyak/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/jordan-woyak/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/jordan-woyak/dolphin/deployments', 'created_at': '2014-02-13T21:50:38Z', 'updated_at': '2026-06-27T21:22:47Z', 'pushed_at': '2026-10-03T08:41:10Z', 'git_url': 'git://github.com/jordan-woyak/dolphin.git', 'ssh_url': 'git@github.com:jordan-woyak/dolphin.git', 'clone_url': 'https://github.com/jordan-woyak/dolphin.git', 'svn_url': 'https://github.com/jordan-woyak/dolphin', 'homepage': None, 'size': 527705, 'stargazers_count': 5, 'watchers_count': 5, 'language': 'C++', 'has_issues': False, 'has_projects': True, 'has_downloads': False, 'has_wiki': False, 'has_pages': False, 'has_discussions': False, 'forks_count': 5, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 2, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': [], 'visibility': 'public', 'forks': 5, 'open_issues': 2, 'watchers': 5, 'default_branch': 'master', 'allow_squash_merge': True, 'allow_merge_commit': True, 'allow_rebase_merge': True, 'allow_auto_merge': False, 'delete_branch_on_merge': True, 'allow_update_branch': False, 'use_squash_pr_title_as_default': False, 'squash_merge_commit_message': 'COMMIT_MESSAGES', 'squash_merge_commit_title': 'COMMIT_OR_PR_TITLE', 'merge_commit_message': 'PR_TITLE', 'merge_commit_title': 'MERGE_MESSAGE'}}, 'base': {'label': 'dolphin-emu:master', 'ref': 'master', 'sha': '048e6306b82b183d061ee33c4ee32d5e76f3f09a', '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-10-03T13:38:13Z', 'pushed_at': '2026-10-03T10:25:06Z', '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': 561269, 'stargazers_count': 15604, 'watchers_count': 15604, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3284, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 474, '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': 3284, 'open_issues': 474, 'watchers': 15604, '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/14902'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14902'}, 'issue': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14902'}, 'comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14902/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14902/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/14902/commits'}, 'statuses': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/b37072ae9b3a6d8f4c1c70e85b05d2b58c63a49f'}}, '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-10-03T13:38:13Z', 'pushed_at': '2026-10-03T10:25:06Z', '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': 561269, 'stargazers_count': 15604, 'watchers_count': 15604, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3284, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 474, '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': 3284, 'open_issues': 474, 'watchers': 15604, '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': 'Mrlinkwii', 'id': 17685135, 'node_id': 'MDQ6VXNlcjE3Njg1MTM1', 'avatar_url': 'https://avatars.githubusercontent.com/u/17685135?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/Mrlinkwii', 'html_url': 'https://github.com/Mrlinkwii', 'followers_url': 'https://api.github.com/users/Mrlinkwii/followers', 'following_url': 'https://api.github.com/users/Mrlinkwii/following{/other_user}', 'gists_url': 'https://api.github.com/users/Mrlinkwii/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/Mrlinkwii/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/Mrlinkwii/subscriptions', 'organizations_url': 'https://api.github.com/users/Mrlinkwii/orgs', 'repos_url': 'https://api.github.com/users/Mrlinkwii/repos', 'events_url': 'https://api.github.com/users/Mrlinkwii/events{/privacy}', 'received_events_url': 'https://api.github.com/users/Mrlinkwii/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'raw_gh_hook'}
2026-10-03T15:33:50.144151 {'source': 'webserver', 'gh_type': 'pull_request_review_comment', 'raw': {'action': 'created', 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4173747102', 'pull_request_review_id': 5401458715, 'id': 4173747102, 'node_id': 'PRRC_kwDOALCn2M74xlOe', 'diff_hunk': '@@ -767,16 +769,36 @@ if(WIN32 OR LINUX OR CMAKE_SYSTEM_NAME STREQUAL "FreeBSD" OR CMAKE_SYSTEM_NAME S\n add_definitions(-DHAVE_CPPIPC)\n endif()\n \n-set(NO_MEDIA OFF CACHE BOOL "" FORCE)\n-set(NO_WEBSOCKET OFF CACHE BOOL "" FORCE)\n-set(NO_EXAMPLES ON CACHE BOOL "" FORCE)\n-set(NO_TESTS ON CACHE BOOL "" FORCE)\n-set(BUILD_SHARED_LIBS OFF CACHE BOOL "" FORCE)\n-set(PREFER_SYSTEM_LIB ON CACHE BOOL "" FORCE)\n-add_subdirectory(Externals/libdatachannel)\n+if(ENABLE_WEB_INTERFACE)\n+ # libdatachannel\n+ set(NO_MEDIA OFF CACHE BOOL "" FORCE)\n+ set(NO_WEBSOCKET OFF CACHE BOOL "" FORCE)\n+ set(NO_EXAMPLES ON CACHE BOOL "" FORCE)\n+ set(NO_TESTS ON CACHE BOOL "" FORCE)\n+ set(BUILD_SHARED_LIBS OFF CACHE BOOL "" FORCE)\n+ set(PREFER_SYSTEM_LIB ON CACHE BOOL "" FORCE)\n+\n+ FetchContent_Declare(\n+ libdatachannel\n+ GIT_REPOSITORY https://github.com/paullouisageneau/libdatachannel.git\n+ GIT_TAG 6b1e2e620f1e37f0eafeee702eaea0043cb305fd', 'path': 'CMakeLists.txt', 'commit_id': '787567a8645f312760e573a7b5acd2380a53685c', 'original_commit_id': '787567a8645f312760e573a7b5acd2380a53685c', 'user': {'login': 'Mrlinkwii', 'id': 17685135, 'node_id': 'MDQ6VXNlcjE3Njg1MTM1', 'avatar_url': 'https://avatars.githubusercontent.com/u/17685135?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/Mrlinkwii', 'html_url': 'https://github.com/Mrlinkwii', 'followers_url': 'https://api.github.com/users/Mrlinkwii/followers', 'following_url': 'https://api.github.com/users/Mrlinkwii/following{/other_user}', 'gists_url': 'https://api.github.com/users/Mrlinkwii/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/Mrlinkwii/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/Mrlinkwii/subscriptions', 'organizations_url': 'https://api.github.com/users/Mrlinkwii/orgs', 'repos_url': 'https://api.github.com/users/Mrlinkwii/repos', 'events_url': 'https://api.github.com/users/Mrlinkwii/events{/privacy}', 'received_events_url': 'https://api.github.com/users/Mrlinkwii/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': "I think it would be better to use git commits hashs due to the fact the release version contents can always be changed since what I see their releases aren't immutable , it harder to replicate a git hash than just replace the contents of a version ", 'created_at': '2026-10-03T15:33:48Z', 'updated_at': '2026-10-03T15:33:48Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14902#discussion_r4173747102', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14902', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4173747102'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14902#discussion_r4173747102'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14902'}}, 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4173747102/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'start_line': None, 'original_start_line': None, 'start_side': None, 'line': 784, 'original_line': 784, 'side': 'RIGHT', 'in_reply_to_id': 4173621906, 'author_association': 'CONTRIBUTOR', 'original_position': 39, 'position': 39, 'subject_type': 'line'}, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14902', 'id': 4700966704, 'node_id': 'PR_kwDOALCn2M8AAAABGDMPMA', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14902', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14902.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14902.patch', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14902', 'number': 14902, 'state': 'open', 'locked': False, 'title': 'UICommon: Add Web Interface for streaming integrated GBAs.', '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 PR adds a web server to Dolphin for control of integrated GBAs.\r\n\r\n<img width="2560" height="1440" alt="image" src="https://github.com/user-attachments/assets/868f6f67-917f-40d7-a150-9e570bc77954" />\r\n\r\nThere are many future possibilities, changing settings, launching games, streaming the main window, etc. \r\nHowever, the current only feature is streaming the integrated GBAs.\r\n\r\nThere\'s no sort of authentication implemented right now.\r\nMultiple clients can connect to the same GBA (they fight over the latest button state).\r\n\r\nConnecting causes the relevant GBA window on the host-side to hide itself and audio to no longer play locally.\r\n\r\nThe main use case is playing Four Swords or Crystal Chronicles, with the GBA screens streamed to mobile devices over the local network.\r\nThis already works well.\r\n\r\nlibavcodec is used to encode to H264/Opus and stream to web browsers using some additional dependencies:\r\n- [cpp-httplib](https://github.com/yhirose/cpp-httplib) for a HTTP and WebSocket server.\r\n- [libdatachannel](https://github.com/paullouisageneau/libdatachannel) for WebRTC\r\n\r\nBoth of these dependencies require C++ exceptions.\r\nI\'ve enabled exceptions for only the required Dolphin source files.\r\n\r\nThe web server hosts files from `Sys/WebUI`\r\nI\'ve also included some 3rd party libraries there in `Sys/WebUI/deps`\r\n- [Notyf](https://github.com/caroso1222/notyf) for "toast" messages.\r\n- [OmniPad](https://github.com/WizardOfXerox/OmniPad) for touch controls.\r\n\r\nThe web client code I\'ve written is bad and I\'m hoping someone more interested in that side of things wants to re-write all that html/js/css stuff at some point.\r\nThat probably could be done in a future PR, things are working fine as-is, but it\'s ugly (visually and code-wise).\r\n\r\nlibdatachannel has a [bug](https://github.com/paullouisageneau/libdatachannel/issues/1647) with a pending fix that requires `std::locale::global(std::locale::classic());`.\r\nIt\'s only used when a client connects.\r\nSo.. streaming with the web interface will currently mess with locales.\r\nHopefully that bug will be fixed soon, otherwise we could use a clone that has the fix.\r\n\r\nI\'ve only tested building on Linux.\r\nI have almost no clue what I am doing with CMake.', 'created_at': '2026-10-01T07:59:38Z', 'updated_at': '2026-10-03T15:26:08Z', 'closed_at': None, 'merged_at': None, 'merge_commit_sha': None, 'assignees': [], 'requested_reviewers': [], 'requested_teams': [], 'labels': [{'id': 221808232, 'node_id': 'MDU6TGFiZWwyMjE4MDgyMzI=', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels/WIP%20/%20do%20not%20merge', 'name': 'WIP / do not merge', 'color': '0052cc', 'default': False, 'description': 'Work in progress (do not merge)', 'archived_at': None, 'archived_by': None}, {'id': 221809816, 'node_id': 'MDU6TGFiZWwyMjE4MDk4MTY=', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels/RFC', 'name': 'RFC', 'color': 'FF6D00', 'default': False, 'description': 'Request for comments', 'archived_at': None, 'archived_by': None}], 'milestone': None, 'draft': False, 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14902/commits', 'review_comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14902/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/14902/comments', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/b37072ae9b3a6d8f4c1c70e85b05d2b58c63a49f', 'head': {'label': 'jordan-woyak:gba-web-interface', 'ref': 'gba-web-interface', 'sha': 'b37072ae9b3a6d8f4c1c70e85b05d2b58c63a49f', 'user': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 16818408, 'node_id': 'MDEwOlJlcG9zaXRvcnkxNjgxODQwOA==', 'name': 'dolphin', 'full_name': 'jordan-woyak/dolphin', 'private': False, 'owner': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/jordan-woyak/dolphin', 'description': 'Dolphin is a GameCube/Wii emulator, allowing you to play games for these two platforms on PC, with improvements.', 'fork': True, 'url': 'https://api.github.com/repos/jordan-woyak/dolphin', 'forks_url': 'https://api.github.com/repos/jordan-woyak/dolphin/forks', 'keys_url': 'https://api.github.com/repos/jordan-woyak/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/jordan-woyak/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/jordan-woyak/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/jordan-woyak/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/jordan-woyak/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/jordan-woyak/dolphin/events', 'assignees_url': 'https://api.github.com/repos/jordan-woyak/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/jordan-woyak/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/jordan-woyak/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/jordan-woyak/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/jordan-woyak/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/jordan-woyak/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/jordan-woyak/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/jordan-woyak/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/jordan-woyak/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/jordan-woyak/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/jordan-woyak/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/jordan-woyak/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/jordan-woyak/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/jordan-woyak/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/jordan-woyak/dolphin/merges', 'archive_url': 'https://api.github.com/repos/jordan-woyak/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/jordan-woyak/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/jordan-woyak/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/jordan-woyak/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/jordan-woyak/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/jordan-woyak/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/jordan-woyak/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/jordan-woyak/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/jordan-woyak/dolphin/deployments', 'created_at': '2014-02-13T21:50:38Z', 'updated_at': '2026-06-27T21:22:47Z', 'pushed_at': '2026-10-03T08:41:10Z', 'git_url': 'git://github.com/jordan-woyak/dolphin.git', 'ssh_url': 'git@github.com:jordan-woyak/dolphin.git', 'clone_url': 'https://github.com/jordan-woyak/dolphin.git', 'svn_url': 'https://github.com/jordan-woyak/dolphin', 'homepage': None, 'size': 527705, 'stargazers_count': 5, 'watchers_count': 5, 'language': 'C++', 'has_issues': False, 'has_projects': True, 'has_downloads': False, 'has_wiki': False, 'has_pages': False, 'has_discussions': False, 'forks_count': 5, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 2, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': [], 'visibility': 'public', 'forks': 5, 'open_issues': 2, 'watchers': 5, 'default_branch': 'master', 'allow_squash_merge': True, 'allow_merge_commit': True, 'allow_rebase_merge': True, 'allow_auto_merge': False, 'delete_branch_on_merge': True, 'allow_update_branch': False, 'use_squash_pr_title_as_default': False, 'squash_merge_commit_message': 'COMMIT_MESSAGES', 'squash_merge_commit_title': 'COMMIT_OR_PR_TITLE', 'merge_commit_message': 'PR_TITLE', 'merge_commit_title': 'MERGE_MESSAGE'}}, 'base': {'label': 'dolphin-emu:master', 'ref': 'master', 'sha': '048e6306b82b183d061ee33c4ee32d5e76f3f09a', '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-10-03T13:38:13Z', 'pushed_at': '2026-10-03T10:25:06Z', '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': 561269, 'stargazers_count': 15604, 'watchers_count': 15604, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3284, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 474, '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': 3284, 'open_issues': 474, 'watchers': 15604, '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/14902'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14902'}, 'issue': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14902'}, 'comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14902/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14902/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/14902/commits'}, 'statuses': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/b37072ae9b3a6d8f4c1c70e85b05d2b58c63a49f'}}, '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-10-03T13:38:13Z', 'pushed_at': '2026-10-03T10:25:06Z', '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': 561269, 'stargazers_count': 15604, 'watchers_count': 15604, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3284, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 474, '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': 3284, 'open_issues': 474, 'watchers': 15604, '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': 'Mrlinkwii', 'id': 17685135, 'node_id': 'MDQ6VXNlcjE3Njg1MTM1', 'avatar_url': 'https://avatars.githubusercontent.com/u/17685135?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/Mrlinkwii', 'html_url': 'https://github.com/Mrlinkwii', 'followers_url': 'https://api.github.com/users/Mrlinkwii/followers', 'following_url': 'https://api.github.com/users/Mrlinkwii/following{/other_user}', 'gists_url': 'https://api.github.com/users/Mrlinkwii/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/Mrlinkwii/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/Mrlinkwii/subscriptions', 'organizations_url': 'https://api.github.com/users/Mrlinkwii/orgs', 'repos_url': 'https://api.github.com/users/Mrlinkwii/repos', 'events_url': 'https://api.github.com/users/Mrlinkwii/events{/privacy}', 'received_events_url': 'https://api.github.com/users/Mrlinkwii/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'raw_gh_hook'}
2026-10-03T15:33:50.002999 {'source': 'webserver', 'gh_type': 'pull_request_review', 'raw': {'action': 'submitted', 'review': {'id': 5401458715, 'node_id': 'PRR_kwDOALCn2M8AAAABQfO4Gw', 'user': {'login': 'Mrlinkwii', 'id': 17685135, 'node_id': 'MDQ6VXNlcjE3Njg1MTM1', 'avatar_url': 'https://avatars.githubusercontent.com/u/17685135?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/Mrlinkwii', 'html_url': 'https://github.com/Mrlinkwii', 'followers_url': 'https://api.github.com/users/Mrlinkwii/followers', 'following_url': 'https://api.github.com/users/Mrlinkwii/following{/other_user}', 'gists_url': 'https://api.github.com/users/Mrlinkwii/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/Mrlinkwii/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/Mrlinkwii/subscriptions', 'organizations_url': 'https://api.github.com/users/Mrlinkwii/orgs', 'repos_url': 'https://api.github.com/users/Mrlinkwii/repos', 'events_url': 'https://api.github.com/users/Mrlinkwii/events{/privacy}', 'received_events_url': 'https://api.github.com/users/Mrlinkwii/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': None, 'commit_id': 'b37072ae9b3a6d8f4c1c70e85b05d2b58c63a49f', 'state': 'commented', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14902#pullrequestreview-5401458715', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14902', '_links': {'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14902#pullrequestreview-5401458715'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14902'}}, 'submitted_at': '2026-10-03T15:33:48Z', 'updated_at': '2026-10-03T15:33:48Z', 'author_association': 'CONTRIBUTOR'}, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14902', 'id': 4700966704, 'node_id': 'PR_kwDOALCn2M8AAAABGDMPMA', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14902', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14902.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14902.patch', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14902', 'number': 14902, 'state': 'open', 'locked': False, 'title': 'UICommon: Add Web Interface for streaming integrated GBAs.', '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 PR adds a web server to Dolphin for control of integrated GBAs.\r\n\r\n<img width="2560" height="1440" alt="image" src="https://github.com/user-attachments/assets/868f6f67-917f-40d7-a150-9e570bc77954" />\r\n\r\nThere are many future possibilities, changing settings, launching games, streaming the main window, etc. \r\nHowever, the current only feature is streaming the integrated GBAs.\r\n\r\nThere\'s no sort of authentication implemented right now.\r\nMultiple clients can connect to the same GBA (they fight over the latest button state).\r\n\r\nConnecting causes the relevant GBA window on the host-side to hide itself and audio to no longer play locally.\r\n\r\nThe main use case is playing Four Swords or Crystal Chronicles, with the GBA screens streamed to mobile devices over the local network.\r\nThis already works well.\r\n\r\nlibavcodec is used to encode to H264/Opus and stream to web browsers using some additional dependencies:\r\n- [cpp-httplib](https://github.com/yhirose/cpp-httplib) for a HTTP and WebSocket server.\r\n- [libdatachannel](https://github.com/paullouisageneau/libdatachannel) for WebRTC\r\n\r\nBoth of these dependencies require C++ exceptions.\r\nI\'ve enabled exceptions for only the required Dolphin source files.\r\n\r\nThe web server hosts files from `Sys/WebUI`\r\nI\'ve also included some 3rd party libraries there in `Sys/WebUI/deps`\r\n- [Notyf](https://github.com/caroso1222/notyf) for "toast" messages.\r\n- [OmniPad](https://github.com/WizardOfXerox/OmniPad) for touch controls.\r\n\r\nThe web client code I\'ve written is bad and I\'m hoping someone more interested in that side of things wants to re-write all that html/js/css stuff at some point.\r\nThat probably could be done in a future PR, things are working fine as-is, but it\'s ugly (visually and code-wise).\r\n\r\nlibdatachannel has a [bug](https://github.com/paullouisageneau/libdatachannel/issues/1647) with a pending fix that requires `std::locale::global(std::locale::classic());`.\r\nIt\'s only used when a client connects.\r\nSo.. streaming with the web interface will currently mess with locales.\r\nHopefully that bug will be fixed soon, otherwise we could use a clone that has the fix.\r\n\r\nI\'ve only tested building on Linux.\r\nI have almost no clue what I am doing with CMake.', 'created_at': '2026-10-01T07:59:38Z', 'updated_at': '2026-10-03T15:26:08Z', 'closed_at': None, 'merged_at': None, 'merge_commit_sha': None, 'assignees': [], 'requested_reviewers': [], 'requested_teams': [], 'labels': [{'id': 221808232, 'node_id': 'MDU6TGFiZWwyMjE4MDgyMzI=', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels/WIP%20/%20do%20not%20merge', 'name': 'WIP / do not merge', 'color': '0052cc', 'default': False, 'description': 'Work in progress (do not merge)', 'archived_at': None, 'archived_by': None}, {'id': 221809816, 'node_id': 'MDU6TGFiZWwyMjE4MDk4MTY=', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels/RFC', 'name': 'RFC', 'color': 'FF6D00', 'default': False, 'description': 'Request for comments', 'archived_at': None, 'archived_by': None}], 'milestone': None, 'draft': False, 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14902/commits', 'review_comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14902/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/14902/comments', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/b37072ae9b3a6d8f4c1c70e85b05d2b58c63a49f', 'head': {'label': 'jordan-woyak:gba-web-interface', 'ref': 'gba-web-interface', 'sha': 'b37072ae9b3a6d8f4c1c70e85b05d2b58c63a49f', 'user': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 16818408, 'node_id': 'MDEwOlJlcG9zaXRvcnkxNjgxODQwOA==', 'name': 'dolphin', 'full_name': 'jordan-woyak/dolphin', 'private': False, 'owner': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/jordan-woyak/dolphin', 'description': 'Dolphin is a GameCube/Wii emulator, allowing you to play games for these two platforms on PC, with improvements.', 'fork': True, 'url': 'https://api.github.com/repos/jordan-woyak/dolphin', 'forks_url': 'https://api.github.com/repos/jordan-woyak/dolphin/forks', 'keys_url': 'https://api.github.com/repos/jordan-woyak/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/jordan-woyak/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/jordan-woyak/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/jordan-woyak/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/jordan-woyak/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/jordan-woyak/dolphin/events', 'assignees_url': 'https://api.github.com/repos/jordan-woyak/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/jordan-woyak/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/jordan-woyak/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/jordan-woyak/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/jordan-woyak/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/jordan-woyak/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/jordan-woyak/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/jordan-woyak/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/jordan-woyak/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/jordan-woyak/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/jordan-woyak/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/jordan-woyak/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/jordan-woyak/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/jordan-woyak/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/jordan-woyak/dolphin/merges', 'archive_url': 'https://api.github.com/repos/jordan-woyak/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/jordan-woyak/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/jordan-woyak/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/jordan-woyak/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/jordan-woyak/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/jordan-woyak/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/jordan-woyak/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/jordan-woyak/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/jordan-woyak/dolphin/deployments', 'created_at': '2014-02-13T21:50:38Z', 'updated_at': '2026-06-27T21:22:47Z', 'pushed_at': '2026-10-03T08:41:10Z', 'git_url': 'git://github.com/jordan-woyak/dolphin.git', 'ssh_url': 'git@github.com:jordan-woyak/dolphin.git', 'clone_url': 'https://github.com/jordan-woyak/dolphin.git', 'svn_url': 'https://github.com/jordan-woyak/dolphin', 'homepage': None, 'size': 527705, 'stargazers_count': 5, 'watchers_count': 5, 'language': 'C++', 'has_issues': False, 'has_projects': True, 'has_downloads': False, 'has_wiki': False, 'has_pages': False, 'has_discussions': False, 'forks_count': 5, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 2, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': [], 'visibility': 'public', 'forks': 5, 'open_issues': 2, 'watchers': 5, 'default_branch': 'master', 'allow_squash_merge': True, 'allow_merge_commit': True, 'allow_rebase_merge': True, 'allow_auto_merge': False, 'delete_branch_on_merge': True, 'allow_update_branch': False, 'use_squash_pr_title_as_default': False, 'squash_merge_commit_message': 'COMMIT_MESSAGES', 'squash_merge_commit_title': 'COMMIT_OR_PR_TITLE', 'merge_commit_message': 'PR_TITLE', 'merge_commit_title': 'MERGE_MESSAGE'}}, 'base': {'label': 'dolphin-emu:master', 'ref': 'master', 'sha': '048e6306b82b183d061ee33c4ee32d5e76f3f09a', '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-10-03T13:38:13Z', 'pushed_at': '2026-10-03T10:25:06Z', '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': 561269, 'stargazers_count': 15604, 'watchers_count': 15604, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3284, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 474, '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': 3284, 'open_issues': 474, 'watchers': 15604, '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/14902'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14902'}, 'issue': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14902'}, 'comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14902/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14902/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/14902/commits'}, 'statuses': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/b37072ae9b3a6d8f4c1c70e85b05d2b58c63a49f'}}, '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-10-03T13:38:13Z', 'pushed_at': '2026-10-03T10:25:06Z', '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': 561269, 'stargazers_count': 15604, 'watchers_count': 15604, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3284, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 474, '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': 3284, 'open_issues': 474, 'watchers': 15604, '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': 'Mrlinkwii', 'id': 17685135, 'node_id': 'MDQ6VXNlcjE3Njg1MTM1', 'avatar_url': 'https://avatars.githubusercontent.com/u/17685135?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/Mrlinkwii', 'html_url': 'https://github.com/Mrlinkwii', 'followers_url': 'https://api.github.com/users/Mrlinkwii/followers', 'following_url': 'https://api.github.com/users/Mrlinkwii/following{/other_user}', 'gists_url': 'https://api.github.com/users/Mrlinkwii/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/Mrlinkwii/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/Mrlinkwii/subscriptions', 'organizations_url': 'https://api.github.com/users/Mrlinkwii/orgs', 'repos_url': 'https://api.github.com/users/Mrlinkwii/repos', 'events_url': 'https://api.github.com/users/Mrlinkwii/events{/privacy}', 'received_events_url': 'https://api.github.com/users/Mrlinkwii/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'raw_gh_hook'}
2026-10-03T15:26:09.700256 {'source': 'webserver', 'gh_type': 'pull_request_review', 'raw': {'action': 'edited', 'review': {'id': 5401304606, 'node_id': 'PRR_kwDOALCn2M8AAAABQfFeHg', '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': "I did not focus on much other than the CMake since this is still WIP, however for the web interface I'd appreciate a little warning in-between `<noscript>` tags that say you need JavaScript support to use this :p ", 'commit_id': 'b37072ae9b3a6d8f4c1c70e85b05d2b58c63a49f', 'state': 'changes_requested', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14902#pullrequestreview-5401304606', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14902', '_links': {'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14902#pullrequestreview-5401304606'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14902'}}, 'submitted_at': '2026-10-03T15:25:51Z', 'updated_at': '2026-10-03T15:26:07Z', 'author_association': 'CONTRIBUTOR'}, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14902', 'id': 4700966704, 'node_id': 'PR_kwDOALCn2M8AAAABGDMPMA', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14902', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14902.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14902.patch', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14902', 'number': 14902, 'state': 'open', 'locked': False, 'title': 'UICommon: Add Web Interface for streaming integrated GBAs.', '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 PR adds a web server to Dolphin for control of integrated GBAs.\r\n\r\n<img width="2560" height="1440" alt="image" src="https://github.com/user-attachments/assets/868f6f67-917f-40d7-a150-9e570bc77954" />\r\n\r\nThere are many future possibilities, changing settings, launching games, streaming the main window, etc. \r\nHowever, the current only feature is streaming the integrated GBAs.\r\n\r\nThere\'s no sort of authentication implemented right now.\r\nMultiple clients can connect to the same GBA (they fight over the latest button state).\r\n\r\nConnecting causes the relevant GBA window on the host-side to hide itself and audio to no longer play locally.\r\n\r\nThe main use case is playing Four Swords or Crystal Chronicles, with the GBA screens streamed to mobile devices over the local network.\r\nThis already works well.\r\n\r\nlibavcodec is used to encode to H264/Opus and stream to web browsers using some additional dependencies:\r\n- [cpp-httplib](https://github.com/yhirose/cpp-httplib) for a HTTP and WebSocket server.\r\n- [libdatachannel](https://github.com/paullouisageneau/libdatachannel) for WebRTC\r\n\r\nBoth of these dependencies require C++ exceptions.\r\nI\'ve enabled exceptions for only the required Dolphin source files.\r\n\r\nThe web server hosts files from `Sys/WebUI`\r\nI\'ve also included some 3rd party libraries there in `Sys/WebUI/deps`\r\n- [Notyf](https://github.com/caroso1222/notyf) for "toast" messages.\r\n- [OmniPad](https://github.com/WizardOfXerox/OmniPad) for touch controls.\r\n\r\nThe web client code I\'ve written is bad and I\'m hoping someone more interested in that side of things wants to re-write all that html/js/css stuff at some point.\r\nThat probably could be done in a future PR, things are working fine as-is, but it\'s ugly (visually and code-wise).\r\n\r\nlibdatachannel has a [bug](https://github.com/paullouisageneau/libdatachannel/issues/1647) with a pending fix that requires `std::locale::global(std::locale::classic());`.\r\nIt\'s only used when a client connects.\r\nSo.. streaming with the web interface will currently mess with locales.\r\nHopefully that bug will be fixed soon, otherwise we could use a clone that has the fix.\r\n\r\nI\'ve only tested building on Linux.\r\nI have almost no clue what I am doing with CMake.', 'created_at': '2026-10-01T07:59:38Z', 'updated_at': '2026-10-03T15:25:52Z', 'closed_at': None, 'merged_at': None, 'merge_commit_sha': None, 'assignees': [], 'requested_reviewers': [], 'requested_teams': [], 'labels': [{'id': 221808232, 'node_id': 'MDU6TGFiZWwyMjE4MDgyMzI=', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels/WIP%20/%20do%20not%20merge', 'name': 'WIP / do not merge', 'color': '0052cc', 'default': False, 'description': 'Work in progress (do not merge)', 'archived_at': None, 'archived_by': None}, {'id': 221809816, 'node_id': 'MDU6TGFiZWwyMjE4MDk4MTY=', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels/RFC', 'name': 'RFC', 'color': 'FF6D00', 'default': False, 'description': 'Request for comments', 'archived_at': None, 'archived_by': None}], 'milestone': None, 'draft': False, 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14902/commits', 'review_comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14902/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/14902/comments', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/b37072ae9b3a6d8f4c1c70e85b05d2b58c63a49f', 'head': {'label': 'jordan-woyak:gba-web-interface', 'ref': 'gba-web-interface', 'sha': 'b37072ae9b3a6d8f4c1c70e85b05d2b58c63a49f', 'user': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 16818408, 'node_id': 'MDEwOlJlcG9zaXRvcnkxNjgxODQwOA==', 'name': 'dolphin', 'full_name': 'jordan-woyak/dolphin', 'private': False, 'owner': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/jordan-woyak/dolphin', 'description': 'Dolphin is a GameCube/Wii emulator, allowing you to play games for these two platforms on PC, with improvements.', 'fork': True, 'url': 'https://api.github.com/repos/jordan-woyak/dolphin', 'forks_url': 'https://api.github.com/repos/jordan-woyak/dolphin/forks', 'keys_url': 'https://api.github.com/repos/jordan-woyak/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/jordan-woyak/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/jordan-woyak/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/jordan-woyak/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/jordan-woyak/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/jordan-woyak/dolphin/events', 'assignees_url': 'https://api.github.com/repos/jordan-woyak/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/jordan-woyak/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/jordan-woyak/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/jordan-woyak/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/jordan-woyak/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/jordan-woyak/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/jordan-woyak/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/jordan-woyak/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/jordan-woyak/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/jordan-woyak/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/jordan-woyak/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/jordan-woyak/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/jordan-woyak/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/jordan-woyak/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/jordan-woyak/dolphin/merges', 'archive_url': 'https://api.github.com/repos/jordan-woyak/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/jordan-woyak/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/jordan-woyak/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/jordan-woyak/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/jordan-woyak/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/jordan-woyak/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/jordan-woyak/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/jordan-woyak/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/jordan-woyak/dolphin/deployments', 'created_at': '2014-02-13T21:50:38Z', 'updated_at': '2026-06-27T21:22:47Z', 'pushed_at': '2026-10-03T08:41:10Z', 'git_url': 'git://github.com/jordan-woyak/dolphin.git', 'ssh_url': 'git@github.com:jordan-woyak/dolphin.git', 'clone_url': 'https://github.com/jordan-woyak/dolphin.git', 'svn_url': 'https://github.com/jordan-woyak/dolphin', 'homepage': None, 'size': 527705, 'stargazers_count': 5, 'watchers_count': 5, 'language': 'C++', 'has_issues': False, 'has_projects': True, 'has_downloads': False, 'has_wiki': False, 'has_pages': False, 'has_discussions': False, 'forks_count': 5, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 2, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': [], 'visibility': 'public', 'forks': 5, 'open_issues': 2, 'watchers': 5, 'default_branch': 'master', 'allow_squash_merge': True, 'allow_merge_commit': True, 'allow_rebase_merge': True, 'allow_auto_merge': False, 'delete_branch_on_merge': True, 'allow_update_branch': False, 'use_squash_pr_title_as_default': False, 'squash_merge_commit_message': 'COMMIT_MESSAGES', 'squash_merge_commit_title': 'COMMIT_OR_PR_TITLE', 'merge_commit_message': 'PR_TITLE', 'merge_commit_title': 'MERGE_MESSAGE'}}, 'base': {'label': 'dolphin-emu:master', 'ref': 'master', 'sha': '048e6306b82b183d061ee33c4ee32d5e76f3f09a', '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-10-03T13:38:13Z', 'pushed_at': '2026-10-03T10:25:06Z', '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': 561269, 'stargazers_count': 15604, 'watchers_count': 15604, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3284, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 474, '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': 3284, 'open_issues': 474, 'watchers': 15604, '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/14902'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14902'}, 'issue': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14902'}, 'comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14902/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14902/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/14902/commits'}, 'statuses': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/b37072ae9b3a6d8f4c1c70e85b05d2b58c63a49f'}}, 'author_association': 'MEMBER', 'auto_merge': None, 'assignee': None, 'active_lock_reason': None}, 'changes': {'body': {'from': "I did not focus on much other than the CMake since this is still WIP, however for the web interface I'd appreciate a little warning in-between <noscript> tags that say you need JavaScript support to use this :p "}}, '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-10-03T13:38:13Z', 'pushed_at': '2026-10-03T10:25:06Z', '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': 561269, 'stargazers_count': 15604, 'watchers_count': 15604, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3284, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 474, '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': 3284, 'open_issues': 474, 'watchers': 15604, '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-10-03T15:25:54.265468 {'source': 'webserver', 'gh_type': 'pull_request_review_comment', 'raw': {'action': 'created', 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4173621906', 'pull_request_review_id': 5401304606, 'id': 4173621906, 'node_id': 'PRRC_kwDOALCn2M74xGqS', 'diff_hunk': '@@ -767,16 +769,36 @@ if(WIN32 OR LINUX OR CMAKE_SYSTEM_NAME STREQUAL "FreeBSD" OR CMAKE_SYSTEM_NAME S\n add_definitions(-DHAVE_CPPIPC)\n endif()\n \n-set(NO_MEDIA OFF CACHE BOOL "" FORCE)\n-set(NO_WEBSOCKET OFF CACHE BOOL "" FORCE)\n-set(NO_EXAMPLES ON CACHE BOOL "" FORCE)\n-set(NO_TESTS ON CACHE BOOL "" FORCE)\n-set(BUILD_SHARED_LIBS OFF CACHE BOOL "" FORCE)\n-set(PREFER_SYSTEM_LIB ON CACHE BOOL "" FORCE)\n-add_subdirectory(Externals/libdatachannel)\n+if(ENABLE_WEB_INTERFACE)\n+ # libdatachannel\n+ set(NO_MEDIA OFF CACHE BOOL "" FORCE)\n+ set(NO_WEBSOCKET OFF CACHE BOOL "" FORCE)\n+ set(NO_EXAMPLES ON CACHE BOOL "" FORCE)\n+ set(NO_TESTS ON CACHE BOOL "" FORCE)\n+ set(BUILD_SHARED_LIBS OFF CACHE BOOL "" FORCE)\n+ set(PREFER_SYSTEM_LIB ON CACHE BOOL "" FORCE)\n+\n+ FetchContent_Declare(\n+ libdatachannel\n+ GIT_REPOSITORY https://github.com/paullouisageneau/libdatachannel.git\n+ GIT_TAG 6b1e2e620f1e37f0eafeee702eaea0043cb305fd', 'path': 'CMakeLists.txt', 'commit_id': '787567a8645f312760e573a7b5acd2380a53685c', 'original_commit_id': '787567a8645f312760e573a7b5acd2380a53685c', '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': '`GIT_TAG` can be an actual tag, e.g. `v0.24.6`. Tags can be listed using `git tag` or more helpfully they\'re shown here in the release tab:\n\n<img width="776" height="258" alt="Image" src="https://github.com/user-attachments/assets/3224aeb8-66e9-4891-b1a8-998bf6a07724" />\n', 'created_at': '2026-10-03T14:55:06Z', 'updated_at': '2026-10-03T15:25:52Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14902#discussion_r4173621906', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14902', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4173621906'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14902#discussion_r4173621906'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14902'}}, 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4173621906/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'start_line': None, 'original_start_line': None, 'start_side': None, 'line': 784, 'original_line': 784, 'side': 'RIGHT', 'author_association': 'CONTRIBUTOR', 'original_position': 39, 'position': 39, 'subject_type': 'line'}, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14902', 'id': 4700966704, 'node_id': 'PR_kwDOALCn2M8AAAABGDMPMA', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14902', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14902.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14902.patch', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14902', 'number': 14902, 'state': 'open', 'locked': False, 'title': 'UICommon: Add Web Interface for streaming integrated GBAs.', '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 PR adds a web server to Dolphin for control of integrated GBAs.\r\n\r\n<img width="2560" height="1440" alt="image" src="https://github.com/user-attachments/assets/868f6f67-917f-40d7-a150-9e570bc77954" />\r\n\r\nThere are many future possibilities, changing settings, launching games, streaming the main window, etc. \r\nHowever, the current only feature is streaming the integrated GBAs.\r\n\r\nThere\'s no sort of authentication implemented right now.\r\nMultiple clients can connect to the same GBA (they fight over the latest button state).\r\n\r\nConnecting causes the relevant GBA window on the host-side to hide itself and audio to no longer play locally.\r\n\r\nThe main use case is playing Four Swords or Crystal Chronicles, with the GBA screens streamed to mobile devices over the local network.\r\nThis already works well.\r\n\r\nlibavcodec is used to encode to H264/Opus and stream to web browsers using some additional dependencies:\r\n- [cpp-httplib](https://github.com/yhirose/cpp-httplib) for a HTTP and WebSocket server.\r\n- [libdatachannel](https://github.com/paullouisageneau/libdatachannel) for WebRTC\r\n\r\nBoth of these dependencies require C++ exceptions.\r\nI\'ve enabled exceptions for only the required Dolphin source files.\r\n\r\nThe web server hosts files from `Sys/WebUI`\r\nI\'ve also included some 3rd party libraries there in `Sys/WebUI/deps`\r\n- [Notyf](https://github.com/caroso1222/notyf) for "toast" messages.\r\n- [OmniPad](https://github.com/WizardOfXerox/OmniPad) for touch controls.\r\n\r\nThe web client code I\'ve written is bad and I\'m hoping someone more interested in that side of things wants to re-write all that html/js/css stuff at some point.\r\nThat probably could be done in a future PR, things are working fine as-is, but it\'s ugly (visually and code-wise).\r\n\r\nlibdatachannel has a [bug](https://github.com/paullouisageneau/libdatachannel/issues/1647) with a pending fix that requires `std::locale::global(std::locale::classic());`.\r\nIt\'s only used when a client connects.\r\nSo.. streaming with the web interface will currently mess with locales.\r\nHopefully that bug will be fixed soon, otherwise we could use a clone that has the fix.\r\n\r\nI\'ve only tested building on Linux.\r\nI have almost no clue what I am doing with CMake.', 'created_at': '2026-10-01T07:59:38Z', 'updated_at': '2026-10-03T15:19:09Z', 'closed_at': None, 'merged_at': None, 'merge_commit_sha': None, 'assignees': [], 'requested_reviewers': [], 'requested_teams': [], 'labels': [{'id': 221808232, 'node_id': 'MDU6TGFiZWwyMjE4MDgyMzI=', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels/WIP%20/%20do%20not%20merge', 'name': 'WIP / do not merge', 'color': '0052cc', 'default': False, 'description': 'Work in progress (do not merge)', 'archived_at': None, 'archived_by': None}, {'id': 221809816, 'node_id': 'MDU6TGFiZWwyMjE4MDk4MTY=', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels/RFC', 'name': 'RFC', 'color': 'FF6D00', 'default': False, 'description': 'Request for comments', 'archived_at': None, 'archived_by': None}], 'milestone': None, 'draft': False, 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14902/commits', 'review_comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14902/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/14902/comments', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/b37072ae9b3a6d8f4c1c70e85b05d2b58c63a49f', 'head': {'label': 'jordan-woyak:gba-web-interface', 'ref': 'gba-web-interface', 'sha': 'b37072ae9b3a6d8f4c1c70e85b05d2b58c63a49f', 'user': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 16818408, 'node_id': 'MDEwOlJlcG9zaXRvcnkxNjgxODQwOA==', 'name': 'dolphin', 'full_name': 'jordan-woyak/dolphin', 'private': False, 'owner': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/jordan-woyak/dolphin', 'description': 'Dolphin is a GameCube/Wii emulator, allowing you to play games for these two platforms on PC, with improvements.', 'fork': True, 'url': 'https://api.github.com/repos/jordan-woyak/dolphin', 'forks_url': 'https://api.github.com/repos/jordan-woyak/dolphin/forks', 'keys_url': 'https://api.github.com/repos/jordan-woyak/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/jordan-woyak/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/jordan-woyak/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/jordan-woyak/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/jordan-woyak/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/jordan-woyak/dolphin/events', 'assignees_url': 'https://api.github.com/repos/jordan-woyak/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/jordan-woyak/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/jordan-woyak/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/jordan-woyak/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/jordan-woyak/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/jordan-woyak/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/jordan-woyak/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/jordan-woyak/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/jordan-woyak/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/jordan-woyak/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/jordan-woyak/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/jordan-woyak/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/jordan-woyak/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/jordan-woyak/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/jordan-woyak/dolphin/merges', 'archive_url': 'https://api.github.com/repos/jordan-woyak/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/jordan-woyak/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/jordan-woyak/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/jordan-woyak/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/jordan-woyak/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/jordan-woyak/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/jordan-woyak/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/jordan-woyak/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/jordan-woyak/dolphin/deployments', 'created_at': '2014-02-13T21:50:38Z', 'updated_at': '2026-06-27T21:22:47Z', 'pushed_at': '2026-10-03T08:41:10Z', 'git_url': 'git://github.com/jordan-woyak/dolphin.git', 'ssh_url': 'git@github.com:jordan-woyak/dolphin.git', 'clone_url': 'https://github.com/jordan-woyak/dolphin.git', 'svn_url': 'https://github.com/jordan-woyak/dolphin', 'homepage': None, 'size': 527705, 'stargazers_count': 5, 'watchers_count': 5, 'language': 'C++', 'has_issues': False, 'has_projects': True, 'has_downloads': False, 'has_wiki': False, 'has_pages': False, 'has_discussions': False, 'forks_count': 5, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 2, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': [], 'visibility': 'public', 'forks': 5, 'open_issues': 2, 'watchers': 5, 'default_branch': 'master', 'allow_squash_merge': True, 'allow_merge_commit': True, 'allow_rebase_merge': True, 'allow_auto_merge': False, 'delete_branch_on_merge': True, 'allow_update_branch': False, 'use_squash_pr_title_as_default': False, 'squash_merge_commit_message': 'COMMIT_MESSAGES', 'squash_merge_commit_title': 'COMMIT_OR_PR_TITLE', 'merge_commit_message': 'PR_TITLE', 'merge_commit_title': 'MERGE_MESSAGE'}}, 'base': {'label': 'dolphin-emu:master', 'ref': 'master', 'sha': '048e6306b82b183d061ee33c4ee32d5e76f3f09a', '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-10-03T13:38:13Z', 'pushed_at': '2026-10-03T10:25:06Z', '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': 561269, 'stargazers_count': 15604, 'watchers_count': 15604, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3284, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 474, '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': 3284, 'open_issues': 474, 'watchers': 15604, '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/14902'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14902'}, 'issue': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14902'}, 'comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14902/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14902/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/14902/commits'}, 'statuses': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/b37072ae9b3a6d8f4c1c70e85b05d2b58c63a49f'}}, '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-10-03T13:38:13Z', 'pushed_at': '2026-10-03T10:25:06Z', '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': 561269, 'stargazers_count': 15604, 'watchers_count': 15604, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3284, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 474, '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': 3284, 'open_issues': 474, 'watchers': 15604, '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-10-03T15:25:54.264842 {'source': 'webserver', 'gh_type': 'pull_request_review_comment', 'raw': {'action': 'created', 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4173637231', 'pull_request_review_id': 5401304606, 'id': 4173637231, 'node_id': 'PRRC_kwDOALCn2M74xKZv', 'diff_hunk': '@@ -0,0 +1,20 @@\n+add_library(webinterface\n+ AVStream.cpp\n+ AVStream.h\n+ AVEncoder.cpp\n+ AVEncoder.h\n+ WebServer.cpp\n+ WebServer.h\n+)\n+\n+# The cpp-httplib and libdatachannel APIs require some use of exceptions.\n+if(NOT MSVC)\n+ set_source_files_properties(\n+ AVStream.cpp\n+ WebServer.cpp\n+ PROPERTIES COMPILE_OPTIONS "-fexceptions"\n+ )\n+endif()\n+\n+target_link_libraries(webinterface PRIVATE datachannel)', 'path': 'Source/Core/UICommon/WebUI/CMakeLists.txt', 'commit_id': '787567a8645f312760e573a7b5acd2380a53685c', 'original_commit_id': '787567a8645f312760e573a7b5acd2380a53685c', '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': 'I believe the target we should be using is `LibDataChannel::LibDataChannel` since this is probably what system libraries expose (as per their `examples`)', 'created_at': '2026-10-03T14:59:59Z', 'updated_at': '2026-10-03T15:25:52Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14902#discussion_r4173637231', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14902', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4173637231'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14902#discussion_r4173637231'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14902'}}, 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4173637231/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'start_line': None, 'original_start_line': None, 'start_side': None, 'line': 19, 'original_line': 19, 'side': 'RIGHT', 'author_association': 'CONTRIBUTOR', 'original_position': 19, 'position': 19, 'subject_type': 'line'}, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14902', 'id': 4700966704, 'node_id': 'PR_kwDOALCn2M8AAAABGDMPMA', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14902', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14902.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14902.patch', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14902', 'number': 14902, 'state': 'open', 'locked': False, 'title': 'UICommon: Add Web Interface for streaming integrated GBAs.', '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 PR adds a web server to Dolphin for control of integrated GBAs.\r\n\r\n<img width="2560" height="1440" alt="image" src="https://github.com/user-attachments/assets/868f6f67-917f-40d7-a150-9e570bc77954" />\r\n\r\nThere are many future possibilities, changing settings, launching games, streaming the main window, etc. \r\nHowever, the current only feature is streaming the integrated GBAs.\r\n\r\nThere\'s no sort of authentication implemented right now.\r\nMultiple clients can connect to the same GBA (they fight over the latest button state).\r\n\r\nConnecting causes the relevant GBA window on the host-side to hide itself and audio to no longer play locally.\r\n\r\nThe main use case is playing Four Swords or Crystal Chronicles, with the GBA screens streamed to mobile devices over the local network.\r\nThis already works well.\r\n\r\nlibavcodec is used to encode to H264/Opus and stream to web browsers using some additional dependencies:\r\n- [cpp-httplib](https://github.com/yhirose/cpp-httplib) for a HTTP and WebSocket server.\r\n- [libdatachannel](https://github.com/paullouisageneau/libdatachannel) for WebRTC\r\n\r\nBoth of these dependencies require C++ exceptions.\r\nI\'ve enabled exceptions for only the required Dolphin source files.\r\n\r\nThe web server hosts files from `Sys/WebUI`\r\nI\'ve also included some 3rd party libraries there in `Sys/WebUI/deps`\r\n- [Notyf](https://github.com/caroso1222/notyf) for "toast" messages.\r\n- [OmniPad](https://github.com/WizardOfXerox/OmniPad) for touch controls.\r\n\r\nThe web client code I\'ve written is bad and I\'m hoping someone more interested in that side of things wants to re-write all that html/js/css stuff at some point.\r\nThat probably could be done in a future PR, things are working fine as-is, but it\'s ugly (visually and code-wise).\r\n\r\nlibdatachannel has a [bug](https://github.com/paullouisageneau/libdatachannel/issues/1647) with a pending fix that requires `std::locale::global(std::locale::classic());`.\r\nIt\'s only used when a client connects.\r\nSo.. streaming with the web interface will currently mess with locales.\r\nHopefully that bug will be fixed soon, otherwise we could use a clone that has the fix.\r\n\r\nI\'ve only tested building on Linux.\r\nI have almost no clue what I am doing with CMake.', 'created_at': '2026-10-01T07:59:38Z', 'updated_at': '2026-10-03T15:19:09Z', 'closed_at': None, 'merged_at': None, 'merge_commit_sha': None, 'assignees': [], 'requested_reviewers': [], 'requested_teams': [], 'labels': [{'id': 221808232, 'node_id': 'MDU6TGFiZWwyMjE4MDgyMzI=', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels/WIP%20/%20do%20not%20merge', 'name': 'WIP / do not merge', 'color': '0052cc', 'default': False, 'description': 'Work in progress (do not merge)', 'archived_at': None, 'archived_by': None}, {'id': 221809816, 'node_id': 'MDU6TGFiZWwyMjE4MDk4MTY=', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels/RFC', 'name': 'RFC', 'color': 'FF6D00', 'default': False, 'description': 'Request for comments', 'archived_at': None, 'archived_by': None}], 'milestone': None, 'draft': False, 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14902/commits', 'review_comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14902/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/14902/comments', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/b37072ae9b3a6d8f4c1c70e85b05d2b58c63a49f', 'head': {'label': 'jordan-woyak:gba-web-interface', 'ref': 'gba-web-interface', 'sha': 'b37072ae9b3a6d8f4c1c70e85b05d2b58c63a49f', 'user': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 16818408, 'node_id': 'MDEwOlJlcG9zaXRvcnkxNjgxODQwOA==', 'name': 'dolphin', 'full_name': 'jordan-woyak/dolphin', 'private': False, 'owner': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/jordan-woyak/dolphin', 'description': 'Dolphin is a GameCube/Wii emulator, allowing you to play games for these two platforms on PC, with improvements.', 'fork': True, 'url': 'https://api.github.com/repos/jordan-woyak/dolphin', 'forks_url': 'https://api.github.com/repos/jordan-woyak/dolphin/forks', 'keys_url': 'https://api.github.com/repos/jordan-woyak/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/jordan-woyak/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/jordan-woyak/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/jordan-woyak/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/jordan-woyak/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/jordan-woyak/dolphin/events', 'assignees_url': 'https://api.github.com/repos/jordan-woyak/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/jordan-woyak/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/jordan-woyak/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/jordan-woyak/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/jordan-woyak/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/jordan-woyak/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/jordan-woyak/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/jordan-woyak/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/jordan-woyak/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/jordan-woyak/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/jordan-woyak/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/jordan-woyak/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/jordan-woyak/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/jordan-woyak/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/jordan-woyak/dolphin/merges', 'archive_url': 'https://api.github.com/repos/jordan-woyak/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/jordan-woyak/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/jordan-woyak/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/jordan-woyak/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/jordan-woyak/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/jordan-woyak/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/jordan-woyak/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/jordan-woyak/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/jordan-woyak/dolphin/deployments', 'created_at': '2014-02-13T21:50:38Z', 'updated_at': '2026-06-27T21:22:47Z', 'pushed_at': '2026-10-03T08:41:10Z', 'git_url': 'git://github.com/jordan-woyak/dolphin.git', 'ssh_url': 'git@github.com:jordan-woyak/dolphin.git', 'clone_url': 'https://github.com/jordan-woyak/dolphin.git', 'svn_url': 'https://github.com/jordan-woyak/dolphin', 'homepage': None, 'size': 527705, 'stargazers_count': 5, 'watchers_count': 5, 'language': 'C++', 'has_issues': False, 'has_projects': True, 'has_downloads': False, 'has_wiki': False, 'has_pages': False, 'has_discussions': False, 'forks_count': 5, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 2, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': [], 'visibility': 'public', 'forks': 5, 'open_issues': 2, 'watchers': 5, 'default_branch': 'master', 'allow_squash_merge': True, 'allow_merge_commit': True, 'allow_rebase_merge': True, 'allow_auto_merge': False, 'delete_branch_on_merge': True, 'allow_update_branch': False, 'use_squash_pr_title_as_default': False, 'squash_merge_commit_message': 'COMMIT_MESSAGES', 'squash_merge_commit_title': 'COMMIT_OR_PR_TITLE', 'merge_commit_message': 'PR_TITLE', 'merge_commit_title': 'MERGE_MESSAGE'}}, 'base': {'label': 'dolphin-emu:master', 'ref': 'master', 'sha': '048e6306b82b183d061ee33c4ee32d5e76f3f09a', '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-10-03T13:38:13Z', 'pushed_at': '2026-10-03T10:25:06Z', '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': 561269, 'stargazers_count': 15604, 'watchers_count': 15604, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3284, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 474, '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': 3284, 'open_issues': 474, 'watchers': 15604, '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/14902'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14902'}, 'issue': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14902'}, 'comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14902/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14902/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/14902/commits'}, 'statuses': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/b37072ae9b3a6d8f4c1c70e85b05d2b58c63a49f'}}, '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-10-03T13:38:13Z', 'pushed_at': '2026-10-03T10:25:06Z', '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': 561269, 'stargazers_count': 15604, 'watchers_count': 15604, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3284, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 474, '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': 3284, 'open_issues': 474, 'watchers': 15604, '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-10-03T15:25:54.264230 {'source': 'webserver', 'gh_type': 'pull_request_review_comment', 'raw': {'action': 'created', 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4173613716', 'pull_request_review_id': 5401304606, 'id': 4173613716, 'node_id': 'PRRC_kwDOALCn2M74xEqU', 'diff_hunk': '@@ -767,16 +769,36 @@ if(WIN32 OR LINUX OR CMAKE_SYSTEM_NAME STREQUAL "FreeBSD" OR CMAKE_SYSTEM_NAME S\n add_definitions(-DHAVE_CPPIPC)\n endif()\n \n-set(NO_MEDIA OFF CACHE BOOL "" FORCE)\n-set(NO_WEBSOCKET OFF CACHE BOOL "" FORCE)\n-set(NO_EXAMPLES ON CACHE BOOL "" FORCE)\n-set(NO_TESTS ON CACHE BOOL "" FORCE)\n-set(BUILD_SHARED_LIBS OFF CACHE BOOL "" FORCE)\n-set(PREFER_SYSTEM_LIB ON CACHE BOOL "" FORCE)\n-add_subdirectory(Externals/libdatachannel)\n+if(ENABLE_WEB_INTERFACE)\n+ # libdatachannel\n+ set(NO_MEDIA OFF CACHE BOOL "" FORCE)\n+ set(NO_WEBSOCKET OFF CACHE BOOL "" FORCE)\n+ set(NO_EXAMPLES ON CACHE BOOL "" FORCE)\n+ set(NO_TESTS ON CACHE BOOL "" FORCE)\n+ set(BUILD_SHARED_LIBS OFF CACHE BOOL "" FORCE)\n+ set(PREFER_SYSTEM_LIB ON CACHE BOOL "" FORCE)\n+\n+ FetchContent_Declare(\n+ libdatachannel\n+ GIT_REPOSITORY https://github.com/paullouisageneau/libdatachannel.git\n+ GIT_TAG 6b1e2e620f1e37f0eafeee702eaea0043cb305fd\n+ GIT_SHALLOW TRUE\n+ )\n+ FetchContent_MakeAvailable(libdatachannel)\n+\n+ if(NOT MSVC)\n+ target_compile_options(datachannel PRIVATE -fexceptions)\n+ endif()\n+\n+ FetchContent_Declare(\n+ httplib\n+ GIT_REPOSITORY https://github.com/yhirose/cpp-httplib.git\n+ GIT_TAG 4f3f9ef19be83ae97a5d9a059432dc00e445b7ab\n+ GIT_SHALLOW TRUE\n+ )\n+ FetchContent_MakeAvailable(httplib)', 'path': 'CMakeLists.txt', 'commit_id': '787567a8645f312760e573a7b5acd2380a53685c', 'original_commit_id': '787567a8645f312760e573a7b5acd2380a53685c', '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': 'Same as LibDataChannel, please use `dolphin_find_optional_system_library`', 'created_at': '2026-10-03T14:53:14Z', 'updated_at': '2026-10-03T15:25:52Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14902#discussion_r4173613716', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14902', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4173613716'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14902#discussion_r4173613716'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14902'}}, 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4173613716/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'start_line': 793, 'original_start_line': 793, 'start_side': 'RIGHT', 'line': 799, 'original_line': 799, 'side': 'RIGHT', 'author_association': 'CONTRIBUTOR', 'original_position': 54, 'position': 54, 'subject_type': 'line'}, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14902', 'id': 4700966704, 'node_id': 'PR_kwDOALCn2M8AAAABGDMPMA', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14902', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14902.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14902.patch', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14902', 'number': 14902, 'state': 'open', 'locked': False, 'title': 'UICommon: Add Web Interface for streaming integrated GBAs.', '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 PR adds a web server to Dolphin for control of integrated GBAs.\r\n\r\n<img width="2560" height="1440" alt="image" src="https://github.com/user-attachments/assets/868f6f67-917f-40d7-a150-9e570bc77954" />\r\n\r\nThere are many future possibilities, changing settings, launching games, streaming the main window, etc. \r\nHowever, the current only feature is streaming the integrated GBAs.\r\n\r\nThere\'s no sort of authentication implemented right now.\r\nMultiple clients can connect to the same GBA (they fight over the latest button state).\r\n\r\nConnecting causes the relevant GBA window on the host-side to hide itself and audio to no longer play locally.\r\n\r\nThe main use case is playing Four Swords or Crystal Chronicles, with the GBA screens streamed to mobile devices over the local network.\r\nThis already works well.\r\n\r\nlibavcodec is used to encode to H264/Opus and stream to web browsers using some additional dependencies:\r\n- [cpp-httplib](https://github.com/yhirose/cpp-httplib) for a HTTP and WebSocket server.\r\n- [libdatachannel](https://github.com/paullouisageneau/libdatachannel) for WebRTC\r\n\r\nBoth of these dependencies require C++ exceptions.\r\nI\'ve enabled exceptions for only the required Dolphin source files.\r\n\r\nThe web server hosts files from `Sys/WebUI`\r\nI\'ve also included some 3rd party libraries there in `Sys/WebUI/deps`\r\n- [Notyf](https://github.com/caroso1222/notyf) for "toast" messages.\r\n- [OmniPad](https://github.com/WizardOfXerox/OmniPad) for touch controls.\r\n\r\nThe web client code I\'ve written is bad and I\'m hoping someone more interested in that side of things wants to re-write all that html/js/css stuff at some point.\r\nThat probably could be done in a future PR, things are working fine as-is, but it\'s ugly (visually and code-wise).\r\n\r\nlibdatachannel has a [bug](https://github.com/paullouisageneau/libdatachannel/issues/1647) with a pending fix that requires `std::locale::global(std::locale::classic());`.\r\nIt\'s only used when a client connects.\r\nSo.. streaming with the web interface will currently mess with locales.\r\nHopefully that bug will be fixed soon, otherwise we could use a clone that has the fix.\r\n\r\nI\'ve only tested building on Linux.\r\nI have almost no clue what I am doing with CMake.', 'created_at': '2026-10-01T07:59:38Z', 'updated_at': '2026-10-03T15:19:09Z', 'closed_at': None, 'merged_at': None, 'merge_commit_sha': None, 'assignees': [], 'requested_reviewers': [], 'requested_teams': [], 'labels': [{'id': 221808232, 'node_id': 'MDU6TGFiZWwyMjE4MDgyMzI=', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels/WIP%20/%20do%20not%20merge', 'name': 'WIP / do not merge', 'color': '0052cc', 'default': False, 'description': 'Work in progress (do not merge)', 'archived_at': None, 'archived_by': None}, {'id': 221809816, 'node_id': 'MDU6TGFiZWwyMjE4MDk4MTY=', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels/RFC', 'name': 'RFC', 'color': 'FF6D00', 'default': False, 'description': 'Request for comments', 'archived_at': None, 'archived_by': None}], 'milestone': None, 'draft': False, 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14902/commits', 'review_comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14902/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/14902/comments', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/b37072ae9b3a6d8f4c1c70e85b05d2b58c63a49f', 'head': {'label': 'jordan-woyak:gba-web-interface', 'ref': 'gba-web-interface', 'sha': 'b37072ae9b3a6d8f4c1c70e85b05d2b58c63a49f', 'user': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 16818408, 'node_id': 'MDEwOlJlcG9zaXRvcnkxNjgxODQwOA==', 'name': 'dolphin', 'full_name': 'jordan-woyak/dolphin', 'private': False, 'owner': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/jordan-woyak/dolphin', 'description': 'Dolphin is a GameCube/Wii emulator, allowing you to play games for these two platforms on PC, with improvements.', 'fork': True, 'url': 'https://api.github.com/repos/jordan-woyak/dolphin', 'forks_url': 'https://api.github.com/repos/jordan-woyak/dolphin/forks', 'keys_url': 'https://api.github.com/repos/jordan-woyak/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/jordan-woyak/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/jordan-woyak/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/jordan-woyak/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/jordan-woyak/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/jordan-woyak/dolphin/events', 'assignees_url': 'https://api.github.com/repos/jordan-woyak/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/jordan-woyak/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/jordan-woyak/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/jordan-woyak/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/jordan-woyak/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/jordan-woyak/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/jordan-woyak/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/jordan-woyak/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/jordan-woyak/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/jordan-woyak/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/jordan-woyak/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/jordan-woyak/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/jordan-woyak/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/jordan-woyak/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/jordan-woyak/dolphin/merges', 'archive_url': 'https://api.github.com/repos/jordan-woyak/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/jordan-woyak/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/jordan-woyak/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/jordan-woyak/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/jordan-woyak/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/jordan-woyak/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/jordan-woyak/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/jordan-woyak/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/jordan-woyak/dolphin/deployments', 'created_at': '2014-02-13T21:50:38Z', 'updated_at': '2026-06-27T21:22:47Z', 'pushed_at': '2026-10-03T08:41:10Z', 'git_url': 'git://github.com/jordan-woyak/dolphin.git', 'ssh_url': 'git@github.com:jordan-woyak/dolphin.git', 'clone_url': 'https://github.com/jordan-woyak/dolphin.git', 'svn_url': 'https://github.com/jordan-woyak/dolphin', 'homepage': None, 'size': 527705, 'stargazers_count': 5, 'watchers_count': 5, 'language': 'C++', 'has_issues': False, 'has_projects': True, 'has_downloads': False, 'has_wiki': False, 'has_pages': False, 'has_discussions': False, 'forks_count': 5, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 2, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': [], 'visibility': 'public', 'forks': 5, 'open_issues': 2, 'watchers': 5, 'default_branch': 'master', 'allow_squash_merge': True, 'allow_merge_commit': True, 'allow_rebase_merge': True, 'allow_auto_merge': False, 'delete_branch_on_merge': True, 'allow_update_branch': False, 'use_squash_pr_title_as_default': False, 'squash_merge_commit_message': 'COMMIT_MESSAGES', 'squash_merge_commit_title': 'COMMIT_OR_PR_TITLE', 'merge_commit_message': 'PR_TITLE', 'merge_commit_title': 'MERGE_MESSAGE'}}, 'base': {'label': 'dolphin-emu:master', 'ref': 'master', 'sha': '048e6306b82b183d061ee33c4ee32d5e76f3f09a', '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-10-03T13:38:13Z', 'pushed_at': '2026-10-03T10:25:06Z', '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': 561269, 'stargazers_count': 15604, 'watchers_count': 15604, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3284, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 474, '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': 3284, 'open_issues': 474, 'watchers': 15604, '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/14902'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14902'}, 'issue': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14902'}, 'comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14902/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14902/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/14902/commits'}, 'statuses': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/b37072ae9b3a6d8f4c1c70e85b05d2b58c63a49f'}}, '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-10-03T13:38:13Z', 'pushed_at': '2026-10-03T10:25:06Z', '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': 561269, 'stargazers_count': 15604, 'watchers_count': 15604, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3284, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 474, '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': 3284, 'open_issues': 474, 'watchers': 15604, '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-10-03T15:25:54.263602 {'source': 'webserver', 'gh_type': 'pull_request_review_comment', 'raw': {'action': 'created', 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4173605651', 'pull_request_review_id': 5401304606, 'id': 4173605651, 'node_id': 'PRRC_kwDOALCn2M74xCsT', 'diff_hunk': '@@ -767,16 +769,36 @@ if(WIN32 OR LINUX OR CMAKE_SYSTEM_NAME STREQUAL "FreeBSD" OR CMAKE_SYSTEM_NAME S\n add_definitions(-DHAVE_CPPIPC)\n endif()\n \n-set(NO_MEDIA OFF CACHE BOOL "" FORCE)\n-set(NO_WEBSOCKET OFF CACHE BOOL "" FORCE)\n-set(NO_EXAMPLES ON CACHE BOOL "" FORCE)\n-set(NO_TESTS ON CACHE BOOL "" FORCE)\n-set(BUILD_SHARED_LIBS OFF CACHE BOOL "" FORCE)\n-set(PREFER_SYSTEM_LIB ON CACHE BOOL "" FORCE)\n-add_subdirectory(Externals/libdatachannel)\n+if(ENABLE_WEB_INTERFACE)\n+ # libdatachannel\n+ set(NO_MEDIA OFF CACHE BOOL "" FORCE)\n+ set(NO_WEBSOCKET OFF CACHE BOOL "" FORCE)\n+ set(NO_EXAMPLES ON CACHE BOOL "" FORCE)\n+ set(NO_TESTS ON CACHE BOOL "" FORCE)\n+ set(BUILD_SHARED_LIBS OFF CACHE BOOL "" FORCE)\n+ set(PREFER_SYSTEM_LIB ON CACHE BOOL "" FORCE)\n+\n+ FetchContent_Declare(\n+ libdatachannel\n+ GIT_REPOSITORY https://github.com/paullouisageneau/libdatachannel.git\n+ GIT_TAG 6b1e2e620f1e37f0eafeee702eaea0043cb305fd\n+ GIT_SHALLOW TRUE\n+ )\n+ FetchContent_MakeAvailable(libdatachannel)\n+\n+ if(NOT MSVC)\n+ target_compile_options(datachannel PRIVATE -fexceptions)\n+ endif()', 'path': 'CMakeLists.txt', 'commit_id': '787567a8645f312760e573a7b5acd2380a53685c', 'original_commit_id': '787567a8645f312760e573a7b5acd2380a53685c', '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': "Could this be moved to `Externals/LibDataChannel/CMakeLists.txt`, and then called here using ` dolphin_find_optional_system_library(LibDataChannel Externals/LibDataChannel)`?\n\nThis allows using system installations of LibDataChannel, and the `EXCLUDE_FROM_ALL` the function does should make it so Dolphin doesn't install the library:\n\n```sh\n~/Contributing/dolphin-upstream $ cmake --preset dev -DCMAKE_INSTALL_PREFIX=/tmp/dolphin && cmake --build --preset dev\n[...]\n~/Contributing/dolphin-upstream $ cmake --install build/debug/x64/\n[...]\n~/Contributing/dolphin-upstream $ ls /tmp/dolphin/include/\nhttplib.h rtc\n```", 'created_at': '2026-10-03T14:50:40Z', 'updated_at': '2026-10-03T15:25:52Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14902#discussion_r4173605651', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14902', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4173605651'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14902#discussion_r4173605651'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14902'}}, 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4173605651/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'start_line': 773, 'original_start_line': 773, 'start_side': 'RIGHT', 'line': 791, 'original_line': 791, 'side': 'RIGHT', 'author_association': 'CONTRIBUTOR', 'original_position': 46, 'position': 46, 'subject_type': 'line'}, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14902', 'id': 4700966704, 'node_id': 'PR_kwDOALCn2M8AAAABGDMPMA', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14902', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14902.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14902.patch', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14902', 'number': 14902, 'state': 'open', 'locked': False, 'title': 'UICommon: Add Web Interface for streaming integrated GBAs.', '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 PR adds a web server to Dolphin for control of integrated GBAs.\r\n\r\n<img width="2560" height="1440" alt="image" src="https://github.com/user-attachments/assets/868f6f67-917f-40d7-a150-9e570bc77954" />\r\n\r\nThere are many future possibilities, changing settings, launching games, streaming the main window, etc. \r\nHowever, the current only feature is streaming the integrated GBAs.\r\n\r\nThere\'s no sort of authentication implemented right now.\r\nMultiple clients can connect to the same GBA (they fight over the latest button state).\r\n\r\nConnecting causes the relevant GBA window on the host-side to hide itself and audio to no longer play locally.\r\n\r\nThe main use case is playing Four Swords or Crystal Chronicles, with the GBA screens streamed to mobile devices over the local network.\r\nThis already works well.\r\n\r\nlibavcodec is used to encode to H264/Opus and stream to web browsers using some additional dependencies:\r\n- [cpp-httplib](https://github.com/yhirose/cpp-httplib) for a HTTP and WebSocket server.\r\n- [libdatachannel](https://github.com/paullouisageneau/libdatachannel) for WebRTC\r\n\r\nBoth of these dependencies require C++ exceptions.\r\nI\'ve enabled exceptions for only the required Dolphin source files.\r\n\r\nThe web server hosts files from `Sys/WebUI`\r\nI\'ve also included some 3rd party libraries there in `Sys/WebUI/deps`\r\n- [Notyf](https://github.com/caroso1222/notyf) for "toast" messages.\r\n- [OmniPad](https://github.com/WizardOfXerox/OmniPad) for touch controls.\r\n\r\nThe web client code I\'ve written is bad and I\'m hoping someone more interested in that side of things wants to re-write all that html/js/css stuff at some point.\r\nThat probably could be done in a future PR, things are working fine as-is, but it\'s ugly (visually and code-wise).\r\n\r\nlibdatachannel has a [bug](https://github.com/paullouisageneau/libdatachannel/issues/1647) with a pending fix that requires `std::locale::global(std::locale::classic());`.\r\nIt\'s only used when a client connects.\r\nSo.. streaming with the web interface will currently mess with locales.\r\nHopefully that bug will be fixed soon, otherwise we could use a clone that has the fix.\r\n\r\nI\'ve only tested building on Linux.\r\nI have almost no clue what I am doing with CMake.', 'created_at': '2026-10-01T07:59:38Z', 'updated_at': '2026-10-03T15:19:09Z', 'closed_at': None, 'merged_at': None, 'merge_commit_sha': None, 'assignees': [], 'requested_reviewers': [], 'requested_teams': [], 'labels': [{'id': 221808232, 'node_id': 'MDU6TGFiZWwyMjE4MDgyMzI=', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels/WIP%20/%20do%20not%20merge', 'name': 'WIP / do not merge', 'color': '0052cc', 'default': False, 'description': 'Work in progress (do not merge)', 'archived_at': None, 'archived_by': None}, {'id': 221809816, 'node_id': 'MDU6TGFiZWwyMjE4MDk4MTY=', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels/RFC', 'name': 'RFC', 'color': 'FF6D00', 'default': False, 'description': 'Request for comments', 'archived_at': None, 'archived_by': None}], 'milestone': None, 'draft': False, 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14902/commits', 'review_comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14902/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/14902/comments', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/b37072ae9b3a6d8f4c1c70e85b05d2b58c63a49f', 'head': {'label': 'jordan-woyak:gba-web-interface', 'ref': 'gba-web-interface', 'sha': 'b37072ae9b3a6d8f4c1c70e85b05d2b58c63a49f', 'user': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 16818408, 'node_id': 'MDEwOlJlcG9zaXRvcnkxNjgxODQwOA==', 'name': 'dolphin', 'full_name': 'jordan-woyak/dolphin', 'private': False, 'owner': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/jordan-woyak/dolphin', 'description': 'Dolphin is a GameCube/Wii emulator, allowing you to play games for these two platforms on PC, with improvements.', 'fork': True, 'url': 'https://api.github.com/repos/jordan-woyak/dolphin', 'forks_url': 'https://api.github.com/repos/jordan-woyak/dolphin/forks', 'keys_url': 'https://api.github.com/repos/jordan-woyak/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/jordan-woyak/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/jordan-woyak/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/jordan-woyak/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/jordan-woyak/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/jordan-woyak/dolphin/events', 'assignees_url': 'https://api.github.com/repos/jordan-woyak/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/jordan-woyak/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/jordan-woyak/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/jordan-woyak/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/jordan-woyak/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/jordan-woyak/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/jordan-woyak/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/jordan-woyak/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/jordan-woyak/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/jordan-woyak/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/jordan-woyak/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/jordan-woyak/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/jordan-woyak/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/jordan-woyak/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/jordan-woyak/dolphin/merges', 'archive_url': 'https://api.github.com/repos/jordan-woyak/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/jordan-woyak/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/jordan-woyak/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/jordan-woyak/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/jordan-woyak/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/jordan-woyak/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/jordan-woyak/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/jordan-woyak/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/jordan-woyak/dolphin/deployments', 'created_at': '2014-02-13T21:50:38Z', 'updated_at': '2026-06-27T21:22:47Z', 'pushed_at': '2026-10-03T08:41:10Z', 'git_url': 'git://github.com/jordan-woyak/dolphin.git', 'ssh_url': 'git@github.com:jordan-woyak/dolphin.git', 'clone_url': 'https://github.com/jordan-woyak/dolphin.git', 'svn_url': 'https://github.com/jordan-woyak/dolphin', 'homepage': None, 'size': 527705, 'stargazers_count': 5, 'watchers_count': 5, 'language': 'C++', 'has_issues': False, 'has_projects': True, 'has_downloads': False, 'has_wiki': False, 'has_pages': False, 'has_discussions': False, 'forks_count': 5, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 2, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': [], 'visibility': 'public', 'forks': 5, 'open_issues': 2, 'watchers': 5, 'default_branch': 'master', 'allow_squash_merge': True, 'allow_merge_commit': True, 'allow_rebase_merge': True, 'allow_auto_merge': False, 'delete_branch_on_merge': True, 'allow_update_branch': False, 'use_squash_pr_title_as_default': False, 'squash_merge_commit_message': 'COMMIT_MESSAGES', 'squash_merge_commit_title': 'COMMIT_OR_PR_TITLE', 'merge_commit_message': 'PR_TITLE', 'merge_commit_title': 'MERGE_MESSAGE'}}, 'base': {'label': 'dolphin-emu:master', 'ref': 'master', 'sha': '048e6306b82b183d061ee33c4ee32d5e76f3f09a', '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-10-03T13:38:13Z', 'pushed_at': '2026-10-03T10:25:06Z', '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': 561269, 'stargazers_count': 15604, 'watchers_count': 15604, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3284, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 474, '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': 3284, 'open_issues': 474, 'watchers': 15604, '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/14902'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14902'}, 'issue': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14902'}, 'comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14902/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14902/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/14902/commits'}, 'statuses': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/b37072ae9b3a6d8f4c1c70e85b05d2b58c63a49f'}}, '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-10-03T13:38:13Z', 'pushed_at': '2026-10-03T10:25:06Z', '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': 561269, 'stargazers_count': 15604, 'watchers_count': 15604, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3284, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 474, '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': 3284, 'open_issues': 474, 'watchers': 15604, '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-10-03T15:25:54.261558 {'source': 'webserver', 'gh_type': 'pull_request_review', 'raw': {'action': 'submitted', 'review': {'id': 5401304606, 'node_id': 'PRR_kwDOALCn2M8AAAABQfFeHg', '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': "I did not focus on much other than the CMake since this is still WIP, however for the web interface I'd appreciate a little warning in-between <noscript> tags that say you need JavaScript support to use this :p ", 'commit_id': 'b37072ae9b3a6d8f4c1c70e85b05d2b58c63a49f', 'state': 'changes_requested', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14902#pullrequestreview-5401304606', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14902', '_links': {'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14902#pullrequestreview-5401304606'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14902'}}, 'submitted_at': '2026-10-03T15:25:51Z', 'updated_at': '2026-10-03T15:25:51Z', 'author_association': 'CONTRIBUTOR'}, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14902', 'id': 4700966704, 'node_id': 'PR_kwDOALCn2M8AAAABGDMPMA', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14902', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14902.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14902.patch', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14902', 'number': 14902, 'state': 'open', 'locked': False, 'title': 'UICommon: Add Web Interface for streaming integrated GBAs.', '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 PR adds a web server to Dolphin for control of integrated GBAs.\r\n\r\n<img width="2560" height="1440" alt="image" src="https://github.com/user-attachments/assets/868f6f67-917f-40d7-a150-9e570bc77954" />\r\n\r\nThere are many future possibilities, changing settings, launching games, streaming the main window, etc. \r\nHowever, the current only feature is streaming the integrated GBAs.\r\n\r\nThere\'s no sort of authentication implemented right now.\r\nMultiple clients can connect to the same GBA (they fight over the latest button state).\r\n\r\nConnecting causes the relevant GBA window on the host-side to hide itself and audio to no longer play locally.\r\n\r\nThe main use case is playing Four Swords or Crystal Chronicles, with the GBA screens streamed to mobile devices over the local network.\r\nThis already works well.\r\n\r\nlibavcodec is used to encode to H264/Opus and stream to web browsers using some additional dependencies:\r\n- [cpp-httplib](https://github.com/yhirose/cpp-httplib) for a HTTP and WebSocket server.\r\n- [libdatachannel](https://github.com/paullouisageneau/libdatachannel) for WebRTC\r\n\r\nBoth of these dependencies require C++ exceptions.\r\nI\'ve enabled exceptions for only the required Dolphin source files.\r\n\r\nThe web server hosts files from `Sys/WebUI`\r\nI\'ve also included some 3rd party libraries there in `Sys/WebUI/deps`\r\n- [Notyf](https://github.com/caroso1222/notyf) for "toast" messages.\r\n- [OmniPad](https://github.com/WizardOfXerox/OmniPad) for touch controls.\r\n\r\nThe web client code I\'ve written is bad and I\'m hoping someone more interested in that side of things wants to re-write all that html/js/css stuff at some point.\r\nThat probably could be done in a future PR, things are working fine as-is, but it\'s ugly (visually and code-wise).\r\n\r\nlibdatachannel has a [bug](https://github.com/paullouisageneau/libdatachannel/issues/1647) with a pending fix that requires `std::locale::global(std::locale::classic());`.\r\nIt\'s only used when a client connects.\r\nSo.. streaming with the web interface will currently mess with locales.\r\nHopefully that bug will be fixed soon, otherwise we could use a clone that has the fix.\r\n\r\nI\'ve only tested building on Linux.\r\nI have almost no clue what I am doing with CMake.', 'created_at': '2026-10-01T07:59:38Z', 'updated_at': '2026-10-03T15:19:09Z', 'closed_at': None, 'merged_at': None, 'merge_commit_sha': None, 'assignees': [], 'requested_reviewers': [], 'requested_teams': [], 'labels': [{'id': 221808232, 'node_id': 'MDU6TGFiZWwyMjE4MDgyMzI=', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels/WIP%20/%20do%20not%20merge', 'name': 'WIP / do not merge', 'color': '0052cc', 'default': False, 'description': 'Work in progress (do not merge)', 'archived_at': None, 'archived_by': None}, {'id': 221809816, 'node_id': 'MDU6TGFiZWwyMjE4MDk4MTY=', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels/RFC', 'name': 'RFC', 'color': 'FF6D00', 'default': False, 'description': 'Request for comments', 'archived_at': None, 'archived_by': None}], 'milestone': None, 'draft': False, 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14902/commits', 'review_comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14902/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/14902/comments', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/b37072ae9b3a6d8f4c1c70e85b05d2b58c63a49f', 'head': {'label': 'jordan-woyak:gba-web-interface', 'ref': 'gba-web-interface', 'sha': 'b37072ae9b3a6d8f4c1c70e85b05d2b58c63a49f', 'user': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 16818408, 'node_id': 'MDEwOlJlcG9zaXRvcnkxNjgxODQwOA==', 'name': 'dolphin', 'full_name': 'jordan-woyak/dolphin', 'private': False, 'owner': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/jordan-woyak/dolphin', 'description': 'Dolphin is a GameCube/Wii emulator, allowing you to play games for these two platforms on PC, with improvements.', 'fork': True, 'url': 'https://api.github.com/repos/jordan-woyak/dolphin', 'forks_url': 'https://api.github.com/repos/jordan-woyak/dolphin/forks', 'keys_url': 'https://api.github.com/repos/jordan-woyak/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/jordan-woyak/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/jordan-woyak/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/jordan-woyak/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/jordan-woyak/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/jordan-woyak/dolphin/events', 'assignees_url': 'https://api.github.com/repos/jordan-woyak/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/jordan-woyak/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/jordan-woyak/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/jordan-woyak/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/jordan-woyak/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/jordan-woyak/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/jordan-woyak/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/jordan-woyak/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/jordan-woyak/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/jordan-woyak/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/jordan-woyak/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/jordan-woyak/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/jordan-woyak/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/jordan-woyak/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/jordan-woyak/dolphin/merges', 'archive_url': 'https://api.github.com/repos/jordan-woyak/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/jordan-woyak/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/jordan-woyak/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/jordan-woyak/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/jordan-woyak/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/jordan-woyak/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/jordan-woyak/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/jordan-woyak/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/jordan-woyak/dolphin/deployments', 'created_at': '2014-02-13T21:50:38Z', 'updated_at': '2026-06-27T21:22:47Z', 'pushed_at': '2026-10-03T08:41:10Z', 'git_url': 'git://github.com/jordan-woyak/dolphin.git', 'ssh_url': 'git@github.com:jordan-woyak/dolphin.git', 'clone_url': 'https://github.com/jordan-woyak/dolphin.git', 'svn_url': 'https://github.com/jordan-woyak/dolphin', 'homepage': None, 'size': 527705, 'stargazers_count': 5, 'watchers_count': 5, 'language': 'C++', 'has_issues': False, 'has_projects': True, 'has_downloads': False, 'has_wiki': False, 'has_pages': False, 'has_discussions': False, 'forks_count': 5, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 2, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': [], 'visibility': 'public', 'forks': 5, 'open_issues': 2, 'watchers': 5, 'default_branch': 'master', 'allow_squash_merge': True, 'allow_merge_commit': True, 'allow_rebase_merge': True, 'allow_auto_merge': False, 'delete_branch_on_merge': True, 'allow_update_branch': False, 'use_squash_pr_title_as_default': False, 'squash_merge_commit_message': 'COMMIT_MESSAGES', 'squash_merge_commit_title': 'COMMIT_OR_PR_TITLE', 'merge_commit_message': 'PR_TITLE', 'merge_commit_title': 'MERGE_MESSAGE'}}, 'base': {'label': 'dolphin-emu:master', 'ref': 'master', 'sha': '048e6306b82b183d061ee33c4ee32d5e76f3f09a', '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-10-03T13:38:13Z', 'pushed_at': '2026-10-03T10:25:06Z', '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': 561269, 'stargazers_count': 15604, 'watchers_count': 15604, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3284, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 474, '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': 3284, 'open_issues': 474, 'watchers': 15604, '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/14902'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14902'}, 'issue': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14902'}, 'comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14902/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14902/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/14902/commits'}, 'statuses': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/b37072ae9b3a6d8f4c1c70e85b05d2b58c63a49f'}}, '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-10-03T13:38:13Z', 'pushed_at': '2026-10-03T10:25:06Z', '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': 561269, 'stargazers_count': 15604, 'watchers_count': 15604, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3284, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 474, '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': 3284, 'open_issues': 474, 'watchers': 15604, '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-10-03T15:25:53.874705 {'source': 'webserver', 'gh_type': 'pull_request_review', 'raw': {'action': 'edited', 'review': {'id': 5401304606, 'node_id': 'PRR_kwDOALCn2M8AAAABQfFeHg', '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': "I did not focus on much other than the CMake since this is still WIP, however for the web interface I'd appreciate a little warning in-between <noscript> tags that say you need JavaScript support to use this :p ", 'commit_id': 'b37072ae9b3a6d8f4c1c70e85b05d2b58c63a49f', 'state': 'changes_requested', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14902#pullrequestreview-5401304606', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14902', '_links': {'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14902#pullrequestreview-5401304606'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14902'}}, 'submitted_at': '2026-10-03T15:25:51Z', 'updated_at': '2026-10-03T15:25:51Z', 'author_association': 'CONTRIBUTOR'}, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14902', 'id': 4700966704, 'node_id': 'PR_kwDOALCn2M8AAAABGDMPMA', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14902', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14902.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14902.patch', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14902', 'number': 14902, 'state': 'open', 'locked': False, 'title': 'UICommon: Add Web Interface for streaming integrated GBAs.', '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 PR adds a web server to Dolphin for control of integrated GBAs.\r\n\r\n<img width="2560" height="1440" alt="image" src="https://github.com/user-attachments/assets/868f6f67-917f-40d7-a150-9e570bc77954" />\r\n\r\nThere are many future possibilities, changing settings, launching games, streaming the main window, etc. \r\nHowever, the current only feature is streaming the integrated GBAs.\r\n\r\nThere\'s no sort of authentication implemented right now.\r\nMultiple clients can connect to the same GBA (they fight over the latest button state).\r\n\r\nConnecting causes the relevant GBA window on the host-side to hide itself and audio to no longer play locally.\r\n\r\nThe main use case is playing Four Swords or Crystal Chronicles, with the GBA screens streamed to mobile devices over the local network.\r\nThis already works well.\r\n\r\nlibavcodec is used to encode to H264/Opus and stream to web browsers using some additional dependencies:\r\n- [cpp-httplib](https://github.com/yhirose/cpp-httplib) for a HTTP and WebSocket server.\r\n- [libdatachannel](https://github.com/paullouisageneau/libdatachannel) for WebRTC\r\n\r\nBoth of these dependencies require C++ exceptions.\r\nI\'ve enabled exceptions for only the required Dolphin source files.\r\n\r\nThe web server hosts files from `Sys/WebUI`\r\nI\'ve also included some 3rd party libraries there in `Sys/WebUI/deps`\r\n- [Notyf](https://github.com/caroso1222/notyf) for "toast" messages.\r\n- [OmniPad](https://github.com/WizardOfXerox/OmniPad) for touch controls.\r\n\r\nThe web client code I\'ve written is bad and I\'m hoping someone more interested in that side of things wants to re-write all that html/js/css stuff at some point.\r\nThat probably could be done in a future PR, things are working fine as-is, but it\'s ugly (visually and code-wise).\r\n\r\nlibdatachannel has a [bug](https://github.com/paullouisageneau/libdatachannel/issues/1647) with a pending fix that requires `std::locale::global(std::locale::classic());`.\r\nIt\'s only used when a client connects.\r\nSo.. streaming with the web interface will currently mess with locales.\r\nHopefully that bug will be fixed soon, otherwise we could use a clone that has the fix.\r\n\r\nI\'ve only tested building on Linux.\r\nI have almost no clue what I am doing with CMake.', 'created_at': '2026-10-01T07:59:38Z', 'updated_at': '2026-10-03T15:19:09Z', 'closed_at': None, 'merged_at': None, 'merge_commit_sha': None, 'assignees': [], 'requested_reviewers': [], 'requested_teams': [], 'labels': [{'id': 221808232, 'node_id': 'MDU6TGFiZWwyMjE4MDgyMzI=', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels/WIP%20/%20do%20not%20merge', 'name': 'WIP / do not merge', 'color': '0052cc', 'default': False, 'description': 'Work in progress (do not merge)', 'archived_at': None, 'archived_by': None}, {'id': 221809816, 'node_id': 'MDU6TGFiZWwyMjE4MDk4MTY=', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels/RFC', 'name': 'RFC', 'color': 'FF6D00', 'default': False, 'description': 'Request for comments', 'archived_at': None, 'archived_by': None}], 'milestone': None, 'draft': False, 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14902/commits', 'review_comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14902/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/14902/comments', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/b37072ae9b3a6d8f4c1c70e85b05d2b58c63a49f', 'head': {'label': 'jordan-woyak:gba-web-interface', 'ref': 'gba-web-interface', 'sha': 'b37072ae9b3a6d8f4c1c70e85b05d2b58c63a49f', 'user': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 16818408, 'node_id': 'MDEwOlJlcG9zaXRvcnkxNjgxODQwOA==', 'name': 'dolphin', 'full_name': 'jordan-woyak/dolphin', 'private': False, 'owner': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/jordan-woyak/dolphin', 'description': 'Dolphin is a GameCube/Wii emulator, allowing you to play games for these two platforms on PC, with improvements.', 'fork': True, 'url': 'https://api.github.com/repos/jordan-woyak/dolphin', 'forks_url': 'https://api.github.com/repos/jordan-woyak/dolphin/forks', 'keys_url': 'https://api.github.com/repos/jordan-woyak/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/jordan-woyak/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/jordan-woyak/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/jordan-woyak/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/jordan-woyak/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/jordan-woyak/dolphin/events', 'assignees_url': 'https://api.github.com/repos/jordan-woyak/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/jordan-woyak/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/jordan-woyak/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/jordan-woyak/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/jordan-woyak/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/jordan-woyak/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/jordan-woyak/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/jordan-woyak/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/jordan-woyak/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/jordan-woyak/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/jordan-woyak/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/jordan-woyak/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/jordan-woyak/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/jordan-woyak/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/jordan-woyak/dolphin/merges', 'archive_url': 'https://api.github.com/repos/jordan-woyak/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/jordan-woyak/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/jordan-woyak/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/jordan-woyak/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/jordan-woyak/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/jordan-woyak/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/jordan-woyak/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/jordan-woyak/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/jordan-woyak/dolphin/deployments', 'created_at': '2014-02-13T21:50:38Z', 'updated_at': '2026-06-27T21:22:47Z', 'pushed_at': '2026-10-03T08:41:10Z', 'git_url': 'git://github.com/jordan-woyak/dolphin.git', 'ssh_url': 'git@github.com:jordan-woyak/dolphin.git', 'clone_url': 'https://github.com/jordan-woyak/dolphin.git', 'svn_url': 'https://github.com/jordan-woyak/dolphin', 'homepage': None, 'size': 527705, 'stargazers_count': 5, 'watchers_count': 5, 'language': 'C++', 'has_issues': False, 'has_projects': True, 'has_downloads': False, 'has_wiki': False, 'has_pages': False, 'has_discussions': False, 'forks_count': 5, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 2, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': [], 'visibility': 'public', 'forks': 5, 'open_issues': 2, 'watchers': 5, 'default_branch': 'master', 'allow_squash_merge': True, 'allow_merge_commit': True, 'allow_rebase_merge': True, 'allow_auto_merge': False, 'delete_branch_on_merge': True, 'allow_update_branch': False, 'use_squash_pr_title_as_default': False, 'squash_merge_commit_message': 'COMMIT_MESSAGES', 'squash_merge_commit_title': 'COMMIT_OR_PR_TITLE', 'merge_commit_message': 'PR_TITLE', 'merge_commit_title': 'MERGE_MESSAGE'}}, 'base': {'label': 'dolphin-emu:master', 'ref': 'master', 'sha': '048e6306b82b183d061ee33c4ee32d5e76f3f09a', '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-10-03T13:38:13Z', 'pushed_at': '2026-10-03T10:25:06Z', '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': 561269, 'stargazers_count': 15604, 'watchers_count': 15604, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3284, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 474, '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': 3284, 'open_issues': 474, 'watchers': 15604, '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/14902'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14902'}, 'issue': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14902'}, 'comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14902/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14902/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/14902/commits'}, 'statuses': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/b37072ae9b3a6d8f4c1c70e85b05d2b58c63a49f'}}, 'author_association': 'MEMBER', 'auto_merge': None, 'assignee': None, 'active_lock_reason': None}, 'changes': {}, 'repository': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-10-03T13:38:13Z', 'pushed_at': '2026-10-03T10:25:06Z', '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': 561269, 'stargazers_count': 15604, 'watchers_count': 15604, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3284, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 474, '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': 3284, 'open_issues': 474, 'watchers': 15604, '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-10-03T13:41:19.183658 {'source': 'webserver', 'gh_type': 'pull_request_review_comment', 'raw': {'action': 'created', 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4173397755', 'pull_request_review_id': 5401062950, 'id': 4173397755, 'node_id': 'PRRC_kwDOALCn2M74wP77', 'diff_hunk': '@@ -170,14 +170,28 @@ bool Jit64::BackPatch(SContext* ctx)\n if (!IsInSpace(codePtr))\n return false; // this will become a regular crash real soon after this\n \n- auto it = m_back_patch_info.find(codePtr);\n- if (it == m_back_patch_info.end())\n+ // Find the block\n+ auto block_it = m_back_patch_info.lower_bound(codePtr);\n+ if (block_it == m_back_patch_info.end())\n {\n- PanicAlertFmt("BackPatch: no register use entry for address {}", fmt::ptr(codePtr));\n+ PanicAlertFmt("BackPatch: no block returned for address {}", fmt::ptr(codePtr));\n+ return false;\n+ }\n+ // Then find the entry\n+ auto entry_it = std::ranges::find_if(\n+ block_it->second, [codePtr](auto& entry) { return codePtr < entry.start + entry.len; });', 'path': 'Source/Core/Core/PowerPC/Jit64/Jit.cpp', 'commit_id': 'c9494cbfd7c37e1ceea96235a29318756dd3b9a7', 'original_commit_id': 'c9494cbfd7c37e1ceea96235a29318756dd3b9a7', 'user': {'login': 'SuperSamus', 'id': 40663462, 'node_id': 'MDQ6VXNlcjQwNjYzNDYy', 'avatar_url': 'https://avatars.githubusercontent.com/u/40663462?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/SuperSamus', 'html_url': 'https://github.com/SuperSamus', 'followers_url': 'https://api.github.com/users/SuperSamus/followers', 'following_url': 'https://api.github.com/users/SuperSamus/following{/other_user}', 'gists_url': 'https://api.github.com/users/SuperSamus/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/SuperSamus/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/SuperSamus/subscriptions', 'organizations_url': 'https://api.github.com/users/SuperSamus/orgs', 'repos_url': 'https://api.github.com/users/SuperSamus/repos', 'events_url': 'https://api.github.com/users/SuperSamus/events{/privacy}', 'received_events_url': 'https://api.github.com/users/SuperSamus/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': "In the end I chose to move the check inside `find_if` (there's no need to hyper-optimize this, so it's better to make the code simpler).", 'created_at': '2026-10-03T13:41:17Z', 'updated_at': '2026-10-03T13:41:17Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14853#discussion_r4173397755', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14853', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4173397755'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14853#discussion_r4173397755'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14853'}}, 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4173397755/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'start_line': None, 'original_start_line': None, 'start_side': None, 'line': None, 'original_line': 182, 'side': 'RIGHT', 'in_reply_to_id': 4168698940, 'author_association': 'CONTRIBUTOR', 'original_position': 16, 'position': 1, 'subject_type': 'line'}, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14853', 'id': 4467080565, 'node_id': 'PR_kwDOALCn2M8AAAABCkI9dQ', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14853', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14853.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14853.patch', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14853', 'number': 14853, 'state': 'open', 'locked': False, 'title': 'Jit: Optimize trampoline info allocation', 'user': {'login': 'SuperSamus', 'id': 40663462, 'node_id': 'MDQ6VXNlcjQwNjYzNDYy', 'avatar_url': 'https://avatars.githubusercontent.com/u/40663462?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/SuperSamus', 'html_url': 'https://github.com/SuperSamus', 'followers_url': 'https://api.github.com/users/SuperSamus/followers', 'following_url': 'https://api.github.com/users/SuperSamus/following{/other_user}', 'gists_url': 'https://api.github.com/users/SuperSamus/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/SuperSamus/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/SuperSamus/subscriptions', 'organizations_url': 'https://api.github.com/users/SuperSamus/orgs', 'repos_url': 'https://api.github.com/users/SuperSamus/repos', 'events_url': 'https://api.github.com/users/SuperSamus/events{/privacy}', 'received_events_url': 'https://api.github.com/users/SuperSamus/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': 'Tested pausing and unpausing repeatedly in NBA Live 2005.\r\n\r\nBefore:\r\n<img width="1104" height="557" alt="JIT_before" src="https://github.com/user-attachments/assets/8fbc5d69-656c-4416-8b37-db4fa376de94" />\r\n\r\nAfter:\r\n<img width="1104" height="557" alt="JIT_after_trampoline_optimization" src="https://github.com/user-attachments/assets/51eab767-b079-47fd-a54f-9574f2a7d5ca" />\r\n\r\nAs you can see, the slowest function (allocating to the trampoline info map) is just gone from the profiling, and the improvement is noticeable.\r\n(And if MMU was enabled, then there would also be another hashmap. So, double the improvements for MMU titles.)\r\n\r\nARM is untested.\r\n\r\n<super><sub>MovInfo::address is now unused, should it be removed from the struct?</sub></super>', 'created_at': '2026-09-07T19:03:33Z', 'updated_at': '2026-10-03T13:40:58Z', 'closed_at': None, 'merged_at': None, 'merge_commit_sha': '1128fc137c112b357efd86dfbd2b4aaa91401b12', 'assignees': [], 'requested_reviewers': [], 'requested_teams': [], 'labels': [], 'milestone': None, 'draft': False, 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14853/commits', 'review_comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14853/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/14853/comments', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/4c9019d6fb53ea81e49f6ed1ffeb70c52418a300', 'head': {'label': 'SuperSamus:jit-trampoline-info-optimize', 'ref': 'jit-trampoline-info-optimize', 'sha': '4c9019d6fb53ea81e49f6ed1ffeb70c52418a300', 'user': {'login': 'SuperSamus', 'id': 40663462, 'node_id': 'MDQ6VXNlcjQwNjYzNDYy', 'avatar_url': 'https://avatars.githubusercontent.com/u/40663462?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/SuperSamus', 'html_url': 'https://github.com/SuperSamus', 'followers_url': 'https://api.github.com/users/SuperSamus/followers', 'following_url': 'https://api.github.com/users/SuperSamus/following{/other_user}', 'gists_url': 'https://api.github.com/users/SuperSamus/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/SuperSamus/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/SuperSamus/subscriptions', 'organizations_url': 'https://api.github.com/users/SuperSamus/orgs', 'repos_url': 'https://api.github.com/users/SuperSamus/repos', 'events_url': 'https://api.github.com/users/SuperSamus/events{/privacy}', 'received_events_url': 'https://api.github.com/users/SuperSamus/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 622923789, 'node_id': 'R_kgDOJSEQDQ', 'name': 'dolphin', 'full_name': 'SuperSamus/dolphin', 'private': False, 'owner': {'login': 'SuperSamus', 'id': 40663462, 'node_id': 'MDQ6VXNlcjQwNjYzNDYy', 'avatar_url': 'https://avatars.githubusercontent.com/u/40663462?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/SuperSamus', 'html_url': 'https://github.com/SuperSamus', 'followers_url': 'https://api.github.com/users/SuperSamus/followers', 'following_url': 'https://api.github.com/users/SuperSamus/following{/other_user}', 'gists_url': 'https://api.github.com/users/SuperSamus/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/SuperSamus/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/SuperSamus/subscriptions', 'organizations_url': 'https://api.github.com/users/SuperSamus/orgs', 'repos_url': 'https://api.github.com/users/SuperSamus/repos', 'events_url': 'https://api.github.com/users/SuperSamus/events{/privacy}', 'received_events_url': 'https://api.github.com/users/SuperSamus/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/SuperSamus/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/SuperSamus/dolphin', 'forks_url': 'https://api.github.com/repos/SuperSamus/dolphin/forks', 'keys_url': 'https://api.github.com/repos/SuperSamus/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/SuperSamus/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/SuperSamus/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/SuperSamus/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/SuperSamus/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/SuperSamus/dolphin/events', 'assignees_url': 'https://api.github.com/repos/SuperSamus/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/SuperSamus/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/SuperSamus/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/SuperSamus/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/SuperSamus/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/SuperSamus/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/SuperSamus/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/SuperSamus/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/SuperSamus/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/SuperSamus/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/SuperSamus/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/SuperSamus/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/SuperSamus/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/SuperSamus/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/SuperSamus/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/SuperSamus/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/SuperSamus/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/SuperSamus/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/SuperSamus/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/SuperSamus/dolphin/merges', 'archive_url': 'https://api.github.com/repos/SuperSamus/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/SuperSamus/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/SuperSamus/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/SuperSamus/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/SuperSamus/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/SuperSamus/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/SuperSamus/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/SuperSamus/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/SuperSamus/dolphin/deployments', 'created_at': '2023-04-03T10:43:10Z', 'updated_at': '2026-09-30T21:46:37Z', 'pushed_at': '2026-10-03T13:40:57Z', 'git_url': 'git://github.com/SuperSamus/dolphin.git', 'ssh_url': 'git@github.com:SuperSamus/dolphin.git', 'clone_url': 'https://github.com/SuperSamus/dolphin.git', 'svn_url': 'https://github.com/SuperSamus/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 518695, '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': '562875dd60fd0ff50b65dbbb611a2096802cd1b9', '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-10-03T13:38:13Z', 'pushed_at': '2026-10-03T10:25:06Z', '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': 561269, 'stargazers_count': 15604, 'watchers_count': 15604, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3284, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 474, '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': 3284, 'open_issues': 474, 'watchers': 15604, '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/14853'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14853'}, 'issue': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14853'}, 'comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14853/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14853/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/14853/commits'}, 'statuses': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/4c9019d6fb53ea81e49f6ed1ffeb70c52418a300'}}, 'author_association': 'CONTRIBUTOR', 'auto_merge': None, 'assignee': None, 'active_lock_reason': None}, 'repository': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-10-03T13:38:13Z', 'pushed_at': '2026-10-03T10:25:06Z', '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': 561269, 'stargazers_count': 15604, 'watchers_count': 15604, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3284, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 474, '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': 3284, 'open_issues': 474, 'watchers': 15604, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'SuperSamus', 'id': 40663462, 'node_id': 'MDQ6VXNlcjQwNjYzNDYy', 'avatar_url': 'https://avatars.githubusercontent.com/u/40663462?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/SuperSamus', 'html_url': 'https://github.com/SuperSamus', 'followers_url': 'https://api.github.com/users/SuperSamus/followers', 'following_url': 'https://api.github.com/users/SuperSamus/following{/other_user}', 'gists_url': 'https://api.github.com/users/SuperSamus/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/SuperSamus/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/SuperSamus/subscriptions', 'organizations_url': 'https://api.github.com/users/SuperSamus/orgs', 'repos_url': 'https://api.github.com/users/SuperSamus/repos', 'events_url': 'https://api.github.com/users/SuperSamus/events{/privacy}', 'received_events_url': 'https://api.github.com/users/SuperSamus/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'raw_gh_hook'}
2026-10-03T13:41:19.182629 {'source': 'webserver', 'gh_type': 'pull_request_review', 'raw': {'action': 'submitted', 'review': {'id': 5401062950, 'node_id': 'PRR_kwDOALCn2M8AAAABQe2uJg', 'user': {'login': 'SuperSamus', 'id': 40663462, 'node_id': 'MDQ6VXNlcjQwNjYzNDYy', 'avatar_url': 'https://avatars.githubusercontent.com/u/40663462?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/SuperSamus', 'html_url': 'https://github.com/SuperSamus', 'followers_url': 'https://api.github.com/users/SuperSamus/followers', 'following_url': 'https://api.github.com/users/SuperSamus/following{/other_user}', 'gists_url': 'https://api.github.com/users/SuperSamus/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/SuperSamus/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/SuperSamus/subscriptions', 'organizations_url': 'https://api.github.com/users/SuperSamus/orgs', 'repos_url': 'https://api.github.com/users/SuperSamus/repos', 'events_url': 'https://api.github.com/users/SuperSamus/events{/privacy}', 'received_events_url': 'https://api.github.com/users/SuperSamus/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': None, 'commit_id': '4c9019d6fb53ea81e49f6ed1ffeb70c52418a300', 'state': 'commented', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14853#pullrequestreview-5401062950', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14853', '_links': {'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14853#pullrequestreview-5401062950'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14853'}}, 'submitted_at': '2026-10-03T13:41:17Z', 'updated_at': '2026-10-03T13:41:17Z', 'author_association': 'CONTRIBUTOR'}, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14853', 'id': 4467080565, 'node_id': 'PR_kwDOALCn2M8AAAABCkI9dQ', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14853', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14853.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14853.patch', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14853', 'number': 14853, 'state': 'open', 'locked': False, 'title': 'Jit: Optimize trampoline info allocation', 'user': {'login': 'SuperSamus', 'id': 40663462, 'node_id': 'MDQ6VXNlcjQwNjYzNDYy', 'avatar_url': 'https://avatars.githubusercontent.com/u/40663462?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/SuperSamus', 'html_url': 'https://github.com/SuperSamus', 'followers_url': 'https://api.github.com/users/SuperSamus/followers', 'following_url': 'https://api.github.com/users/SuperSamus/following{/other_user}', 'gists_url': 'https://api.github.com/users/SuperSamus/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/SuperSamus/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/SuperSamus/subscriptions', 'organizations_url': 'https://api.github.com/users/SuperSamus/orgs', 'repos_url': 'https://api.github.com/users/SuperSamus/repos', 'events_url': 'https://api.github.com/users/SuperSamus/events{/privacy}', 'received_events_url': 'https://api.github.com/users/SuperSamus/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': 'Tested pausing and unpausing repeatedly in NBA Live 2005.\r\n\r\nBefore:\r\n<img width="1104" height="557" alt="JIT_before" src="https://github.com/user-attachments/assets/8fbc5d69-656c-4416-8b37-db4fa376de94" />\r\n\r\nAfter:\r\n<img width="1104" height="557" alt="JIT_after_trampoline_optimization" src="https://github.com/user-attachments/assets/51eab767-b079-47fd-a54f-9574f2a7d5ca" />\r\n\r\nAs you can see, the slowest function (allocating to the trampoline info map) is just gone from the profiling, and the improvement is noticeable.\r\n(And if MMU was enabled, then there would also be another hashmap. So, double the improvements for MMU titles.)\r\n\r\nARM is untested.\r\n\r\n<super><sub>MovInfo::address is now unused, should it be removed from the struct?</sub></super>', 'created_at': '2026-09-07T19:03:33Z', 'updated_at': '2026-10-03T13:40:58Z', 'closed_at': None, 'merged_at': None, 'merge_commit_sha': '1128fc137c112b357efd86dfbd2b4aaa91401b12', 'assignees': [], 'requested_reviewers': [], 'requested_teams': [], 'labels': [], 'milestone': None, 'draft': False, 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14853/commits', 'review_comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14853/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/14853/comments', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/4c9019d6fb53ea81e49f6ed1ffeb70c52418a300', 'head': {'label': 'SuperSamus:jit-trampoline-info-optimize', 'ref': 'jit-trampoline-info-optimize', 'sha': '4c9019d6fb53ea81e49f6ed1ffeb70c52418a300', 'user': {'login': 'SuperSamus', 'id': 40663462, 'node_id': 'MDQ6VXNlcjQwNjYzNDYy', 'avatar_url': 'https://avatars.githubusercontent.com/u/40663462?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/SuperSamus', 'html_url': 'https://github.com/SuperSamus', 'followers_url': 'https://api.github.com/users/SuperSamus/followers', 'following_url': 'https://api.github.com/users/SuperSamus/following{/other_user}', 'gists_url': 'https://api.github.com/users/SuperSamus/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/SuperSamus/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/SuperSamus/subscriptions', 'organizations_url': 'https://api.github.com/users/SuperSamus/orgs', 'repos_url': 'https://api.github.com/users/SuperSamus/repos', 'events_url': 'https://api.github.com/users/SuperSamus/events{/privacy}', 'received_events_url': 'https://api.github.com/users/SuperSamus/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 622923789, 'node_id': 'R_kgDOJSEQDQ', 'name': 'dolphin', 'full_name': 'SuperSamus/dolphin', 'private': False, 'owner': {'login': 'SuperSamus', 'id': 40663462, 'node_id': 'MDQ6VXNlcjQwNjYzNDYy', 'avatar_url': 'https://avatars.githubusercontent.com/u/40663462?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/SuperSamus', 'html_url': 'https://github.com/SuperSamus', 'followers_url': 'https://api.github.com/users/SuperSamus/followers', 'following_url': 'https://api.github.com/users/SuperSamus/following{/other_user}', 'gists_url': 'https://api.github.com/users/SuperSamus/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/SuperSamus/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/SuperSamus/subscriptions', 'organizations_url': 'https://api.github.com/users/SuperSamus/orgs', 'repos_url': 'https://api.github.com/users/SuperSamus/repos', 'events_url': 'https://api.github.com/users/SuperSamus/events{/privacy}', 'received_events_url': 'https://api.github.com/users/SuperSamus/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/SuperSamus/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/SuperSamus/dolphin', 'forks_url': 'https://api.github.com/repos/SuperSamus/dolphin/forks', 'keys_url': 'https://api.github.com/repos/SuperSamus/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/SuperSamus/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/SuperSamus/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/SuperSamus/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/SuperSamus/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/SuperSamus/dolphin/events', 'assignees_url': 'https://api.github.com/repos/SuperSamus/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/SuperSamus/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/SuperSamus/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/SuperSamus/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/SuperSamus/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/SuperSamus/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/SuperSamus/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/SuperSamus/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/SuperSamus/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/SuperSamus/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/SuperSamus/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/SuperSamus/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/SuperSamus/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/SuperSamus/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/SuperSamus/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/SuperSamus/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/SuperSamus/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/SuperSamus/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/SuperSamus/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/SuperSamus/dolphin/merges', 'archive_url': 'https://api.github.com/repos/SuperSamus/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/SuperSamus/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/SuperSamus/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/SuperSamus/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/SuperSamus/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/SuperSamus/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/SuperSamus/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/SuperSamus/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/SuperSamus/dolphin/deployments', 'created_at': '2023-04-03T10:43:10Z', 'updated_at': '2026-09-30T21:46:37Z', 'pushed_at': '2026-10-03T13:40:57Z', 'git_url': 'git://github.com/SuperSamus/dolphin.git', 'ssh_url': 'git@github.com:SuperSamus/dolphin.git', 'clone_url': 'https://github.com/SuperSamus/dolphin.git', 'svn_url': 'https://github.com/SuperSamus/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 518695, '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': '562875dd60fd0ff50b65dbbb611a2096802cd1b9', '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-10-03T13:38:13Z', 'pushed_at': '2026-10-03T10:25:06Z', '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': 561269, 'stargazers_count': 15604, 'watchers_count': 15604, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3284, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 474, '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': 3284, 'open_issues': 474, 'watchers': 15604, '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/14853'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14853'}, 'issue': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14853'}, 'comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14853/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14853/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/14853/commits'}, 'statuses': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/4c9019d6fb53ea81e49f6ed1ffeb70c52418a300'}}, 'author_association': 'CONTRIBUTOR', 'auto_merge': None, 'assignee': None, 'active_lock_reason': None}, 'repository': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-10-03T13:38:13Z', 'pushed_at': '2026-10-03T10:25:06Z', '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': 561269, 'stargazers_count': 15604, 'watchers_count': 15604, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3284, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 474, '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': 3284, 'open_issues': 474, 'watchers': 15604, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'SuperSamus', 'id': 40663462, 'node_id': 'MDQ6VXNlcjQwNjYzNDYy', 'avatar_url': 'https://avatars.githubusercontent.com/u/40663462?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/SuperSamus', 'html_url': 'https://github.com/SuperSamus', 'followers_url': 'https://api.github.com/users/SuperSamus/followers', 'following_url': 'https://api.github.com/users/SuperSamus/following{/other_user}', 'gists_url': 'https://api.github.com/users/SuperSamus/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/SuperSamus/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/SuperSamus/subscriptions', 'organizations_url': 'https://api.github.com/users/SuperSamus/orgs', 'repos_url': 'https://api.github.com/users/SuperSamus/repos', 'events_url': 'https://api.github.com/users/SuperSamus/events{/privacy}', 'received_events_url': 'https://api.github.com/users/SuperSamus/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'raw_gh_hook'}