Status for Dolphin Central
Recent events
2026-09-06T09:34:15.370341 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/7933ljz3wkpxq5yh5jyzlw5my2vav6cm-central-env/lib/python3.13/site-packages/central/github/authz.py', 'lineno': 29, 'msg': 'New GH %s: %s', 'args': "('dolphin-emu/trusted-developers', 'RisingFog,endrift,skylersaleh,hackbar,iwubcode,krnlyng,Buddybenj,tygyh,SuperSamus,Tilka,aroulin,magcius,nickbeth,Gamer64ytb,merryhime,Sintendo,Parlane,Ebola16,AdmiralCurtiss,Phatcat,comex,JoshuaVandaele,mbc07,leoetlino,smurf3tte,DacoTaco,Dentomologist,CasualPokePlayer,MayImilae,riking,PatrickFerry,Ziek,adamdmoss,mahdihijazi,Linkinworm,Linktothepast,jjdelvalle,rukai,CookiePLMonster,mathieui,hthh,mrgreywater,spxtr,spycrab,gwicks,jloehr,EmptyChaos,deReeperJosh,archshift,unknownbrackets,mimimi085181,ColinDTaylor,hdcmeta,SirMangler,NanoByte011,skidau,Zopolis4,Filoppi,rlnilsen,Sir-Walrus,cscd98,orbea,RachelBryk,linkmauve,shonumi,zopieux,degasus,OrN,FioraAeterna,TryTwo,ligfx,mmastrac,glennricster,malleoz,Geotale,cristian64,zackhow,moncefmechri,delroth,LAGonauta,phire,meffij,Orphis,galop1n,Sam-Belliveau,crediar,Techjar,bentley,dreamsyntax,CrossVR,JMC47,Helios747,jordan-woyak,Tinob,JordanTheToaster,Pokechu22,CelestialAmber,mandar1jn,Starsam80,noahpistilli,tom-pratt,booto,hrydgard,lioncash,Simonx22,corwin-mcknight,CrystalGamma,randomstuff,Lobsterzelda,marcan,nullgemm,TellowKrinkle,LillyJadeKatrin,Stevoisiak,jezze,ShimmerGlass,yourWaifu,kayru,mitaclaw,kamiyo,JosJuice,Hydr8gon,neobrain,BhaaLseN,K0bin,LPFaint99,OatmealDome,sepalani,vladfi1,magumagu,aldelaro5')", 'type': 'internal_log'}
2026-09-06T09:34:13.897825 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/7933ljz3wkpxq5yh5jyzlw5my2vav6cm-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-09-06T09:32:03.663513 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/7933ljz3wkpxq5yh5jyzlw5my2vav6cm-central-env/lib/python3.13/site-packages/central/github/authz.py', 'lineno': 29, 'msg': 'New GH %s: %s', 'args': "('dolphin-emu/core-developers', 'leoetlino,phire,CrossVR,OatmealDome,iwubcode,Dentomologist,linkmauve,AdmiralCurtiss,jordan-woyak,JosJuice,degasus,Tilka,Pokechu22')", 'type': 'internal_log'}
2026-09-06T09:32:03.372899 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/7933ljz3wkpxq5yh5jyzlw5my2vav6cm-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-09-06T09:29:13.897469 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/7933ljz3wkpxq5yh5jyzlw5my2vav6cm-central-env/lib/python3.13/site-packages/central/github/authz.py', 'lineno': 29, 'msg': 'New GH %s: %s', 'args': "('dolphin-emu/trusted-developers', 'RisingFog,endrift,skylersaleh,hackbar,iwubcode,krnlyng,Buddybenj,tygyh,SuperSamus,Tilka,aroulin,magcius,nickbeth,Gamer64ytb,merryhime,Sintendo,Parlane,Ebola16,AdmiralCurtiss,Phatcat,comex,JoshuaVandaele,mbc07,leoetlino,smurf3tte,DacoTaco,Dentomologist,CasualPokePlayer,MayImilae,riking,PatrickFerry,Ziek,adamdmoss,mahdihijazi,Linkinworm,Linktothepast,jjdelvalle,rukai,CookiePLMonster,mathieui,hthh,mrgreywater,spxtr,spycrab,gwicks,jloehr,EmptyChaos,deReeperJosh,archshift,unknownbrackets,mimimi085181,ColinDTaylor,hdcmeta,SirMangler,NanoByte011,skidau,Zopolis4,Filoppi,rlnilsen,Sir-Walrus,cscd98,orbea,RachelBryk,linkmauve,shonumi,zopieux,degasus,OrN,FioraAeterna,TryTwo,ligfx,mmastrac,glennricster,malleoz,Geotale,cristian64,zackhow,moncefmechri,delroth,LAGonauta,phire,meffij,Orphis,galop1n,Sam-Belliveau,crediar,Techjar,bentley,dreamsyntax,CrossVR,JMC47,Helios747,jordan-woyak,Tinob,JordanTheToaster,Pokechu22,CelestialAmber,mandar1jn,Starsam80,noahpistilli,tom-pratt,booto,hrydgard,lioncash,Simonx22,corwin-mcknight,CrystalGamma,randomstuff,Lobsterzelda,marcan,nullgemm,TellowKrinkle,LillyJadeKatrin,Stevoisiak,jezze,ShimmerGlass,yourWaifu,kayru,mitaclaw,kamiyo,JosJuice,Hydr8gon,neobrain,BhaaLseN,K0bin,LPFaint99,OatmealDome,sepalani,vladfi1,magumagu,aldelaro5')", 'type': 'internal_log'}
2026-09-06T09:29:12.306604 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/7933ljz3wkpxq5yh5jyzlw5my2vav6cm-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-09-06T09:24:12.306285 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/7933ljz3wkpxq5yh5jyzlw5my2vav6cm-central-env/lib/python3.13/site-packages/central/github/authz.py', 'lineno': 29, 'msg': 'New GH %s: %s', 'args': "('dolphin-emu/trusted-developers', 'RisingFog,endrift,skylersaleh,hackbar,iwubcode,krnlyng,Buddybenj,tygyh,SuperSamus,Tilka,aroulin,magcius,nickbeth,Gamer64ytb,merryhime,Sintendo,Parlane,Ebola16,AdmiralCurtiss,Phatcat,comex,JoshuaVandaele,mbc07,leoetlino,smurf3tte,DacoTaco,Dentomologist,CasualPokePlayer,MayImilae,riking,PatrickFerry,Ziek,adamdmoss,mahdihijazi,Linkinworm,Linktothepast,jjdelvalle,rukai,CookiePLMonster,mathieui,hthh,mrgreywater,spxtr,spycrab,gwicks,jloehr,EmptyChaos,deReeperJosh,archshift,unknownbrackets,mimimi085181,ColinDTaylor,hdcmeta,SirMangler,NanoByte011,skidau,Zopolis4,Filoppi,rlnilsen,Sir-Walrus,cscd98,orbea,RachelBryk,linkmauve,shonumi,zopieux,degasus,OrN,FioraAeterna,TryTwo,ligfx,mmastrac,glennricster,malleoz,Geotale,cristian64,zackhow,moncefmechri,delroth,LAGonauta,phire,meffij,Orphis,galop1n,Sam-Belliveau,crediar,Techjar,bentley,dreamsyntax,CrossVR,JMC47,Helios747,jordan-woyak,Tinob,JordanTheToaster,Pokechu22,CelestialAmber,mandar1jn,Starsam80,noahpistilli,tom-pratt,booto,hrydgard,lioncash,Simonx22,corwin-mcknight,CrystalGamma,randomstuff,Lobsterzelda,marcan,nullgemm,TellowKrinkle,LillyJadeKatrin,Stevoisiak,jezze,ShimmerGlass,yourWaifu,kayru,mitaclaw,kamiyo,JosJuice,Hydr8gon,neobrain,BhaaLseN,K0bin,LPFaint99,OatmealDome,sepalani,vladfi1,magumagu,aldelaro5')", 'type': 'internal_log'}
2026-09-06T09:24:10.832100 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/7933ljz3wkpxq5yh5jyzlw5my2vav6cm-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-09-06T09:22:03.372686 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/7933ljz3wkpxq5yh5jyzlw5my2vav6cm-central-env/lib/python3.13/site-packages/central/github/authz.py', 'lineno': 29, 'msg': 'New GH %s: %s', 'args': "('dolphin-emu/core-developers', 'leoetlino,phire,CrossVR,OatmealDome,iwubcode,Dentomologist,linkmauve,AdmiralCurtiss,jordan-woyak,JosJuice,degasus,Tilka,Pokechu22')", 'type': 'internal_log'}
2026-09-06T09:22:03.085501 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/7933ljz3wkpxq5yh5jyzlw5my2vav6cm-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-09-06T09:19:10.831736 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/7933ljz3wkpxq5yh5jyzlw5my2vav6cm-central-env/lib/python3.13/site-packages/central/github/authz.py', 'lineno': 29, 'msg': 'New GH %s: %s', 'args': "('dolphin-emu/trusted-developers', 'RisingFog,endrift,skylersaleh,hackbar,iwubcode,krnlyng,Buddybenj,tygyh,SuperSamus,Tilka,aroulin,magcius,nickbeth,Gamer64ytb,merryhime,Sintendo,Parlane,Ebola16,AdmiralCurtiss,Phatcat,comex,JoshuaVandaele,mbc07,leoetlino,smurf3tte,DacoTaco,Dentomologist,CasualPokePlayer,MayImilae,riking,PatrickFerry,Ziek,adamdmoss,mahdihijazi,Linkinworm,Linktothepast,jjdelvalle,rukai,CookiePLMonster,mathieui,hthh,mrgreywater,spxtr,spycrab,gwicks,jloehr,EmptyChaos,deReeperJosh,archshift,unknownbrackets,mimimi085181,ColinDTaylor,hdcmeta,SirMangler,NanoByte011,skidau,Zopolis4,Filoppi,rlnilsen,Sir-Walrus,cscd98,orbea,RachelBryk,linkmauve,shonumi,zopieux,degasus,OrN,FioraAeterna,TryTwo,ligfx,mmastrac,glennricster,malleoz,Geotale,cristian64,zackhow,moncefmechri,delroth,LAGonauta,phire,meffij,Orphis,galop1n,Sam-Belliveau,crediar,Techjar,bentley,dreamsyntax,CrossVR,JMC47,Helios747,jordan-woyak,Tinob,JordanTheToaster,Pokechu22,CelestialAmber,mandar1jn,Starsam80,noahpistilli,tom-pratt,booto,hrydgard,lioncash,Simonx22,corwin-mcknight,CrystalGamma,randomstuff,Lobsterzelda,marcan,nullgemm,TellowKrinkle,LillyJadeKatrin,Stevoisiak,jezze,ShimmerGlass,yourWaifu,kayru,mitaclaw,kamiyo,JosJuice,Hydr8gon,neobrain,BhaaLseN,K0bin,LPFaint99,OatmealDome,sepalani,vladfi1,magumagu,aldelaro5')", 'type': 'internal_log'}
2026-09-06T09:19:09.383860 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/7933ljz3wkpxq5yh5jyzlw5my2vav6cm-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-09-06T09:14:09.383455 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/7933ljz3wkpxq5yh5jyzlw5my2vav6cm-central-env/lib/python3.13/site-packages/central/github/authz.py', 'lineno': 29, 'msg': 'New GH %s: %s', 'args': "('dolphin-emu/trusted-developers', 'RisingFog,endrift,skylersaleh,hackbar,iwubcode,krnlyng,Buddybenj,tygyh,SuperSamus,Tilka,aroulin,magcius,nickbeth,Gamer64ytb,merryhime,Sintendo,Parlane,Ebola16,AdmiralCurtiss,Phatcat,comex,JoshuaVandaele,mbc07,leoetlino,smurf3tte,DacoTaco,Dentomologist,CasualPokePlayer,MayImilae,riking,PatrickFerry,Ziek,adamdmoss,mahdihijazi,Linkinworm,Linktothepast,jjdelvalle,rukai,CookiePLMonster,mathieui,hthh,mrgreywater,spxtr,spycrab,gwicks,jloehr,EmptyChaos,deReeperJosh,archshift,unknownbrackets,mimimi085181,ColinDTaylor,hdcmeta,SirMangler,NanoByte011,skidau,Zopolis4,Filoppi,rlnilsen,Sir-Walrus,cscd98,orbea,RachelBryk,linkmauve,shonumi,zopieux,degasus,OrN,FioraAeterna,TryTwo,ligfx,mmastrac,glennricster,malleoz,Geotale,cristian64,zackhow,moncefmechri,delroth,LAGonauta,phire,meffij,Orphis,galop1n,Sam-Belliveau,crediar,Techjar,bentley,dreamsyntax,CrossVR,JMC47,Helios747,jordan-woyak,Tinob,JordanTheToaster,Pokechu22,CelestialAmber,mandar1jn,Starsam80,noahpistilli,tom-pratt,booto,hrydgard,lioncash,Simonx22,corwin-mcknight,CrystalGamma,randomstuff,Lobsterzelda,marcan,nullgemm,TellowKrinkle,LillyJadeKatrin,Stevoisiak,jezze,ShimmerGlass,yourWaifu,kayru,mitaclaw,kamiyo,JosJuice,Hydr8gon,neobrain,BhaaLseN,K0bin,LPFaint99,OatmealDome,sepalani,vladfi1,magumagu,aldelaro5')", 'type': 'internal_log'}
2026-09-06T09:14:07.887133 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/7933ljz3wkpxq5yh5jyzlw5my2vav6cm-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-09-06T09:12:03.085288 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/7933ljz3wkpxq5yh5jyzlw5my2vav6cm-central-env/lib/python3.13/site-packages/central/github/authz.py', 'lineno': 29, 'msg': 'New GH %s: %s', 'args': "('dolphin-emu/core-developers', 'leoetlino,phire,CrossVR,OatmealDome,iwubcode,Dentomologist,linkmauve,AdmiralCurtiss,jordan-woyak,JosJuice,degasus,Tilka,Pokechu22')", 'type': 'internal_log'}
2026-09-06T09:12:02.774940 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/7933ljz3wkpxq5yh5jyzlw5my2vav6cm-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-09-06T09:09:07.886713 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/7933ljz3wkpxq5yh5jyzlw5my2vav6cm-central-env/lib/python3.13/site-packages/central/github/authz.py', 'lineno': 29, 'msg': 'New GH %s: %s', 'args': "('dolphin-emu/trusted-developers', 'RisingFog,endrift,skylersaleh,hackbar,iwubcode,krnlyng,Buddybenj,tygyh,SuperSamus,Tilka,aroulin,magcius,nickbeth,Gamer64ytb,merryhime,Sintendo,Parlane,Ebola16,AdmiralCurtiss,Phatcat,comex,JoshuaVandaele,mbc07,leoetlino,smurf3tte,DacoTaco,Dentomologist,CasualPokePlayer,MayImilae,riking,PatrickFerry,Ziek,adamdmoss,mahdihijazi,Linkinworm,Linktothepast,jjdelvalle,rukai,CookiePLMonster,mathieui,hthh,mrgreywater,spxtr,spycrab,gwicks,jloehr,EmptyChaos,deReeperJosh,archshift,unknownbrackets,mimimi085181,ColinDTaylor,hdcmeta,SirMangler,NanoByte011,skidau,Zopolis4,Filoppi,rlnilsen,Sir-Walrus,cscd98,orbea,RachelBryk,linkmauve,shonumi,zopieux,degasus,OrN,FioraAeterna,TryTwo,ligfx,mmastrac,glennricster,malleoz,Geotale,cristian64,zackhow,moncefmechri,delroth,LAGonauta,phire,meffij,Orphis,galop1n,Sam-Belliveau,crediar,Techjar,bentley,dreamsyntax,CrossVR,JMC47,Helios747,jordan-woyak,Tinob,JordanTheToaster,Pokechu22,CelestialAmber,mandar1jn,Starsam80,noahpistilli,tom-pratt,booto,hrydgard,lioncash,Simonx22,corwin-mcknight,CrystalGamma,randomstuff,Lobsterzelda,marcan,nullgemm,TellowKrinkle,LillyJadeKatrin,Stevoisiak,jezze,ShimmerGlass,yourWaifu,kayru,mitaclaw,kamiyo,JosJuice,Hydr8gon,neobrain,BhaaLseN,K0bin,LPFaint99,OatmealDome,sepalani,vladfi1,magumagu,aldelaro5')", 'type': 'internal_log'}
2026-09-06T09:09:06.282955 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/7933ljz3wkpxq5yh5jyzlw5my2vav6cm-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-09-06T09:04:06.282624 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/7933ljz3wkpxq5yh5jyzlw5my2vav6cm-central-env/lib/python3.13/site-packages/central/github/authz.py', 'lineno': 29, 'msg': 'New GH %s: %s', 'args': "('dolphin-emu/trusted-developers', 'RisingFog,endrift,skylersaleh,hackbar,iwubcode,krnlyng,Buddybenj,tygyh,SuperSamus,Tilka,aroulin,magcius,nickbeth,Gamer64ytb,merryhime,Sintendo,Parlane,Ebola16,AdmiralCurtiss,Phatcat,comex,JoshuaVandaele,mbc07,leoetlino,smurf3tte,DacoTaco,Dentomologist,CasualPokePlayer,MayImilae,riking,PatrickFerry,Ziek,adamdmoss,mahdihijazi,Linkinworm,Linktothepast,jjdelvalle,rukai,CookiePLMonster,mathieui,hthh,mrgreywater,spxtr,spycrab,gwicks,jloehr,EmptyChaos,deReeperJosh,archshift,unknownbrackets,mimimi085181,ColinDTaylor,hdcmeta,SirMangler,NanoByte011,skidau,Zopolis4,Filoppi,rlnilsen,Sir-Walrus,cscd98,orbea,RachelBryk,linkmauve,shonumi,zopieux,degasus,OrN,FioraAeterna,TryTwo,ligfx,mmastrac,glennricster,malleoz,Geotale,cristian64,zackhow,moncefmechri,delroth,LAGonauta,phire,meffij,Orphis,galop1n,Sam-Belliveau,crediar,Techjar,bentley,dreamsyntax,CrossVR,JMC47,Helios747,jordan-woyak,Tinob,JordanTheToaster,Pokechu22,CelestialAmber,mandar1jn,Starsam80,noahpistilli,tom-pratt,booto,hrydgard,lioncash,Simonx22,corwin-mcknight,CrystalGamma,randomstuff,Lobsterzelda,marcan,nullgemm,TellowKrinkle,LillyJadeKatrin,Stevoisiak,jezze,ShimmerGlass,yourWaifu,kayru,mitaclaw,kamiyo,JosJuice,Hydr8gon,neobrain,BhaaLseN,K0bin,LPFaint99,OatmealDome,sepalani,vladfi1,magumagu,aldelaro5')", 'type': 'internal_log'}
2026-09-06T09:04:04.768285 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/7933ljz3wkpxq5yh5jyzlw5my2vav6cm-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-09-06T09:02:02.774722 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/7933ljz3wkpxq5yh5jyzlw5my2vav6cm-central-env/lib/python3.13/site-packages/central/github/authz.py', 'lineno': 29, 'msg': 'New GH %s: %s', 'args': "('dolphin-emu/core-developers', 'leoetlino,phire,CrossVR,OatmealDome,iwubcode,Dentomologist,linkmauve,AdmiralCurtiss,jordan-woyak,JosJuice,degasus,Tilka,Pokechu22')", 'type': 'internal_log'}
2026-09-06T09:02:02.351029 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/7933ljz3wkpxq5yh5jyzlw5my2vav6cm-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-09-06T08:59:04.767949 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/7933ljz3wkpxq5yh5jyzlw5my2vav6cm-central-env/lib/python3.13/site-packages/central/github/authz.py', 'lineno': 29, 'msg': 'New GH %s: %s', 'args': "('dolphin-emu/trusted-developers', 'RisingFog,endrift,skylersaleh,hackbar,iwubcode,krnlyng,Buddybenj,tygyh,SuperSamus,Tilka,aroulin,magcius,nickbeth,Gamer64ytb,merryhime,Sintendo,Parlane,Ebola16,AdmiralCurtiss,Phatcat,comex,JoshuaVandaele,mbc07,leoetlino,smurf3tte,DacoTaco,Dentomologist,CasualPokePlayer,MayImilae,riking,PatrickFerry,Ziek,adamdmoss,mahdihijazi,Linkinworm,Linktothepast,jjdelvalle,rukai,CookiePLMonster,mathieui,hthh,mrgreywater,spxtr,spycrab,gwicks,jloehr,EmptyChaos,deReeperJosh,archshift,unknownbrackets,mimimi085181,ColinDTaylor,hdcmeta,SirMangler,NanoByte011,skidau,Zopolis4,Filoppi,rlnilsen,Sir-Walrus,cscd98,orbea,RachelBryk,linkmauve,shonumi,zopieux,degasus,OrN,FioraAeterna,TryTwo,ligfx,mmastrac,glennricster,malleoz,Geotale,cristian64,zackhow,moncefmechri,delroth,LAGonauta,phire,meffij,Orphis,galop1n,Sam-Belliveau,crediar,Techjar,bentley,dreamsyntax,CrossVR,JMC47,Helios747,jordan-woyak,Tinob,JordanTheToaster,Pokechu22,CelestialAmber,mandar1jn,Starsam80,noahpistilli,tom-pratt,booto,hrydgard,lioncash,Simonx22,corwin-mcknight,CrystalGamma,randomstuff,Lobsterzelda,marcan,nullgemm,TellowKrinkle,LillyJadeKatrin,Stevoisiak,jezze,ShimmerGlass,yourWaifu,kayru,mitaclaw,kamiyo,JosJuice,Hydr8gon,neobrain,BhaaLseN,K0bin,LPFaint99,OatmealDome,sepalani,vladfi1,magumagu,aldelaro5')", 'type': 'internal_log'}
2026-09-06T08:59:03.285470 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/7933ljz3wkpxq5yh5jyzlw5my2vav6cm-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-09-06T08:54:03.285147 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/7933ljz3wkpxq5yh5jyzlw5my2vav6cm-central-env/lib/python3.13/site-packages/central/github/authz.py', 'lineno': 29, 'msg': 'New GH %s: %s', 'args': "('dolphin-emu/trusted-developers', 'RisingFog,endrift,skylersaleh,hackbar,iwubcode,krnlyng,Buddybenj,tygyh,SuperSamus,Tilka,aroulin,magcius,nickbeth,Gamer64ytb,merryhime,Sintendo,Parlane,Ebola16,AdmiralCurtiss,Phatcat,comex,JoshuaVandaele,mbc07,leoetlino,smurf3tte,DacoTaco,Dentomologist,CasualPokePlayer,MayImilae,riking,PatrickFerry,Ziek,adamdmoss,mahdihijazi,Linkinworm,Linktothepast,jjdelvalle,rukai,CookiePLMonster,mathieui,hthh,mrgreywater,spxtr,spycrab,gwicks,jloehr,EmptyChaos,deReeperJosh,archshift,unknownbrackets,mimimi085181,ColinDTaylor,hdcmeta,SirMangler,NanoByte011,skidau,Zopolis4,Filoppi,rlnilsen,Sir-Walrus,cscd98,orbea,RachelBryk,linkmauve,shonumi,zopieux,degasus,OrN,FioraAeterna,TryTwo,ligfx,mmastrac,glennricster,malleoz,Geotale,cristian64,zackhow,moncefmechri,delroth,LAGonauta,phire,meffij,Orphis,galop1n,Sam-Belliveau,crediar,Techjar,bentley,dreamsyntax,CrossVR,JMC47,Helios747,jordan-woyak,Tinob,JordanTheToaster,Pokechu22,CelestialAmber,mandar1jn,Starsam80,noahpistilli,tom-pratt,booto,hrydgard,lioncash,Simonx22,corwin-mcknight,CrystalGamma,randomstuff,Lobsterzelda,marcan,nullgemm,TellowKrinkle,LillyJadeKatrin,Stevoisiak,jezze,ShimmerGlass,yourWaifu,kayru,mitaclaw,kamiyo,JosJuice,Hydr8gon,neobrain,BhaaLseN,K0bin,LPFaint99,OatmealDome,sepalani,vladfi1,magumagu,aldelaro5')", 'type': 'internal_log'}
Recent 'build_status' events
2026-09-06T07:28:38.001173 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '3e95d0fc16c53f3c51b6469c9419d05ca4b3401a', 'shortrev': '3e95d0', 'service': 'pr-osx-universal', 'pr': 14847, 'success': True, 'pending': False, 'url': 'https://dolphin.ci/#/builders/7/builds/10499', 'description': 'Build succeeded on builder pr-osx-universal', 'type': 'build_status'}
2026-09-06T07:17:51.110681 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '3e95d0fc16c53f3c51b6469c9419d05ca4b3401a', 'shortrev': '3e95d0', 'service': 'pr-win-dbg-x64', 'pr': 14847, 'success': True, 'pending': False, 'url': 'https://dolphin.ci/#/builders/31/builds/10490', 'description': 'Build succeeded on builder pr-win-dbg-x64', 'type': 'build_status'}
2026-09-06T07:17:06.160962 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '3e95d0fc16c53f3c51b6469c9419d05ca4b3401a', 'shortrev': '3e95d0', 'service': 'pr-flatpak-x64', 'pr': 14847, 'success': True, 'pending': False, 'url': 'https://dolphin.ci/#/builders/43/builds/5627', 'description': 'Build succeeded on builder pr-flatpak-x64', 'type': 'build_status'}
2026-09-06T07:15:58.939975 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '3e95d0fc16c53f3c51b6469c9419d05ca4b3401a', 'shortrev': '3e95d0', 'service': 'pr-win-arm64', 'pr': 14847, 'success': True, 'pending': False, 'url': 'https://dolphin.ci/#/builders/13/builds/10480', 'description': 'Build succeeded on builder pr-win-arm64', 'type': 'build_status'}
2026-09-06T07:15:58.131239 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '3e95d0fc16c53f3c51b6469c9419d05ca4b3401a', 'shortrev': '3e95d0', 'service': 'pr-win-dbg-x64', 'pr': 14847, 'success': False, 'pending': True, 'url': 'https://dolphin.ci/#/builders/31/builds/10490', 'description': 'Auto build in progress on builder pr-win-dbg-x64', 'type': 'build_status'}
2026-09-06T07:15:50.993590 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '3e95d0fc16c53f3c51b6469c9419d05ca4b3401a', 'shortrev': '3e95d0', 'service': 'pr-osx-universal', 'pr': 14847, 'success': False, 'pending': True, 'url': 'https://dolphin.ci/#/builders/7/builds/10499', 'description': 'Auto build in progress on builder pr-osx-universal', 'type': 'build_status'}
2026-09-06T07:15:25.764293 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '3e95d0fc16c53f3c51b6469c9419d05ca4b3401a', 'shortrev': '3e95d0', 'service': 'pr-deb-dbg-x64', 'pr': 14847, 'success': True, 'pending': False, 'url': 'https://dolphin.ci/#/builders/1/builds/10482', 'description': 'Build succeeded on builder pr-deb-dbg-x64', 'type': 'build_status'}
2026-09-06T07:14:49.046388 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '3e95d0fc16c53f3c51b6469c9419d05ca4b3401a', 'shortrev': '3e95d0', 'service': 'pr-flatpak-arm64', 'pr': 14847, 'success': True, 'pending': False, 'url': 'https://dolphin.ci/#/builders/44/builds/5570', 'description': 'Build succeeded on builder pr-flatpak-arm64', 'type': 'build_status'}
2026-09-06T07:12:31.667796 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '3e95d0fc16c53f3c51b6469c9419d05ca4b3401a', 'shortrev': '3e95d0', 'service': 'pr-android', 'pr': 14847, 'success': True, 'pending': False, 'url': 'https://dolphin.ci/#/builders/22/builds/10485', 'description': 'Build succeeded on builder pr-android', 'type': 'build_status'}
2026-09-06T07:12:17.968488 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '3e95d0fc16c53f3c51b6469c9419d05ca4b3401a', 'shortrev': '3e95d0', 'service': 'pr-win-x64', 'pr': 14847, 'success': True, 'pending': False, 'url': 'https://dolphin.ci/#/builders/2/builds/10483', 'description': 'Build succeeded on builder pr-win-x64', 'type': 'build_status'}
2026-09-06T07:12:17.199146 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '3e95d0fc16c53f3c51b6469c9419d05ca4b3401a', 'shortrev': '3e95d0', 'service': 'pr-win-arm64', 'pr': 14847, 'success': False, 'pending': True, 'url': 'https://dolphin.ci/#/builders/13/builds/10480', 'description': 'Auto build in progress on builder pr-win-arm64', 'type': 'build_status'}
2026-09-06T07:12:13.929899 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '3e95d0fc16c53f3c51b6469c9419d05ca4b3401a', 'shortrev': '3e95d0', 'service': 'pr-deb-dbg-x64', 'pr': 14847, 'success': False, 'pending': True, 'url': 'https://dolphin.ci/#/builders/1/builds/10482', 'description': 'Auto build in progress on builder pr-deb-dbg-x64', 'type': 'build_status'}
2026-09-06T07:12:13.393076 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '3e95d0fc16c53f3c51b6469c9419d05ca4b3401a', 'shortrev': '3e95d0', 'service': 'pr-deb-x64', 'pr': 14847, 'success': True, 'pending': False, 'url': 'https://dolphin.ci/#/builders/26/builds/10480', 'description': 'Build succeeded on builder pr-deb-x64', 'type': 'build_status'}
2026-09-06T07:12:10.351644 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '3e95d0fc16c53f3c51b6469c9419d05ca4b3401a', 'shortrev': '3e95d0', 'service': 'pr-ubu-x64', 'pr': 14847, 'success': True, 'pending': False, 'url': 'https://dolphin.ci/#/builders/27/builds/10482', 'description': 'Build succeeded on builder pr-ubu-x64', 'type': 'build_status'}
2026-09-06T07:09:57.608187 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '3e95d0fc16c53f3c51b6469c9419d05ca4b3401a', 'shortrev': '3e95d0', 'service': 'pr-freebsd-x64', 'pr': 14847, 'success': True, 'pending': False, 'url': 'https://dolphin.ci/#/builders/11/builds/10487', 'description': 'Build succeeded on builder pr-freebsd-x64', 'type': 'build_status'}
2026-09-06T07:09:56.020188 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '3e95d0fc16c53f3c51b6469c9419d05ca4b3401a', 'shortrev': '3e95d0', 'service': 'lint', 'pr': 14847, 'success': True, 'pending': False, 'url': 'https://dolphin.ci/#/builders/9/builds/10484', 'description': 'Build succeeded on builder lint', 'type': 'build_status'}
2026-09-06T07:09:16.847522 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '3e95d0fc16c53f3c51b6469c9419d05ca4b3401a', 'shortrev': '3e95d0', 'service': 'pr-ubu-x64', 'pr': 14847, 'success': False, 'pending': True, 'url': 'https://dolphin.ci/#/builders/27/builds/10482', 'description': 'Auto build in progress on builder pr-ubu-x64', 'type': 'build_status'}
2026-09-06T07:09:11.244394 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '3e95d0fc16c53f3c51b6469c9419d05ca4b3401a', 'shortrev': '3e95d0', 'service': 'pr-win-x64', 'pr': 14847, 'success': False, 'pending': True, 'url': 'https://dolphin.ci/#/builders/2/builds/10483', 'description': 'Auto build in progress on builder pr-win-x64', 'type': 'build_status'}
2026-09-06T07:09:10.742666 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '3e95d0fc16c53f3c51b6469c9419d05ca4b3401a', 'shortrev': '3e95d0', 'service': 'pr-freebsd-x64', 'pr': 14847, 'success': False, 'pending': True, 'url': 'https://dolphin.ci/#/builders/11/builds/10487', 'description': 'Auto build in progress on builder pr-freebsd-x64', 'type': 'build_status'}
2026-09-06T07:09:10.190276 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '3e95d0fc16c53f3c51b6469c9419d05ca4b3401a', 'shortrev': '3e95d0', 'service': 'pr-deb-x64', 'pr': 14847, 'success': False, 'pending': True, 'url': 'https://dolphin.ci/#/builders/26/builds/10480', 'description': 'Auto build in progress on builder pr-deb-x64', 'type': 'build_status'}
2026-09-06T07:09:09.527946 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '3e95d0fc16c53f3c51b6469c9419d05ca4b3401a', 'shortrev': '3e95d0', 'service': 'lint', 'pr': 14847, 'success': False, 'pending': True, 'url': 'https://dolphin.ci/#/builders/9/builds/10484', 'description': 'Auto build in progress on builder lint', 'type': 'build_status'}
2026-09-06T07:09:09.003809 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '3e95d0fc16c53f3c51b6469c9419d05ca4b3401a', 'shortrev': '3e95d0', 'service': 'pr-android', 'pr': 14847, 'success': False, 'pending': True, 'url': 'https://dolphin.ci/#/builders/22/builds/10485', 'description': 'Auto build in progress on builder pr-android', 'type': 'build_status'}
2026-09-06T07:08:25.508418 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '3e95d0fc16c53f3c51b6469c9419d05ca4b3401a', 'shortrev': '3e95d0', 'service': 'pr-flatpak-x64', 'pr': 14847, 'success': False, 'pending': True, 'url': 'https://dolphin.ci/#/builders/43/builds/5627', 'description': 'Auto build in progress on builder pr-flatpak-x64', 'type': 'build_status'}
2026-09-06T07:08:24.993337 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '3e95d0fc16c53f3c51b6469c9419d05ca4b3401a', 'shortrev': '3e95d0', 'service': 'pr-flatpak-arm64', 'pr': 14847, 'success': False, 'pending': True, 'url': 'https://dolphin.ci/#/builders/44/builds/5570', 'description': 'Auto build in progress on builder pr-flatpak-arm64', 'type': 'build_status'}
2026-09-06T07:07:41.306474 {'source': 'prbuilder', 'repo': 'dolphin-emu/dolphin', 'hash': '3e95d0fc16c53f3c51b6469c9419d05ca4b3401a', 'shortrev': '3e95d0', 'service': 'lint', 'pr': 14847, 'success': False, 'pending': True, 'url': 'https://dolphin.ci/', 'description': 'Auto build pending', 'type': 'build_status'}
Recent 'command_message' events
2026-09-03T20:59:12.365784 {'source': 'discord', 'who': 'josjuice', 'what': '<@1320924779556900984> please rebuild 14844', 'type': 'command_message'}
2026-09-03T14:12:48.101738 {'source': 'discord', 'who': 'josjuice', 'what': '<@1320924779556900984> please rebuild 14841', 'type': 'command_message'}
2026-09-03T14:04:14.300275 {'source': 'discord', 'who': 'josjuice', 'what': '<@1320924779556900984> please rebuild 13824', 'type': 'command_message'}
2026-09-03T08:40:54.689529 {'source': 'discord', 'who': 'joshuavandaele', 'what': '<@1320924779556900984> please rebuild 14841', 'type': 'command_message'}
2026-09-03T03:28:12.019938 {'source': 'discord', 'who': 'joshuavandaele', 'what': '<@1320924779556900984> please rebuild 14841', 'type': 'command_message'}
2026-09-03T01:35:38.435589 {'source': 'discord', 'who': 'oatmealdome', 'what': '<@1320924779556900984> please rebuild 14840', 'type': 'command_message'}
Recent 'gh_issue_comment' events
2026-09-06T08:51:36.343766 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'JosJuice', 'action': 'edited', 'id': 14789, 'title': 'Optimize vertex_shader_uid_data down to 28 bytes', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14789#issuecomment-5558142850', 'safe_author': True, 'body': "@phire Please keep in mind that we're close to a release. It's best to hold off on merging this kind of PR until after the release.\r\n\r\nThis PR isn't so big that we have reason to revert it or anything, I just wanted to let you know so you keep it in mind going forward.", 'raw': {'action': 'edited', 'changes': {'body': {'from': "@phire Please keep in mind that we're close to a release. It's best to hold off on merging this kind of PR until after the release."}}, 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14789', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14789/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14789/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14789/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14789', 'id': 5050641735, 'node_id': 'PR_kwDOALCn2M76CtH8', 'number': 14789, 'title': 'Optimize vertex_shader_uid_data down to 28 bytes', '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': 'closed', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 2, 'created_at': '2026-08-03T14:01:46Z', 'updated_at': '2026-09-06T08:50:40Z', 'closed_at': '2026-09-06T02:37:58Z', '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/14789', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14789', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14789.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14789.patch', 'merged_at': '2026-09-06T02:37:58Z'}, 'body': "This started as a fixing a misalignment issue, but I got carried away. Was originally 41 bytes (overflowing it's expected 40 bytes by 1 bit).\r\n\r\nNow it's 27 bytes with 8 bits of padding (ready for future expansion).\r\n\r\nThe savings come from:\r\n - Removing UV usage from components, it can be reconstructed from texcoord_elem_count (saved 8 bits)\r\n - Removed the 8 unused bits from texMtxInfo_n_projection (saved 8 bits)\r\n - Removing unused bit from from start of components (saved 1 bit)\r\n - Removed extra bit from inputform, texgentype and sourcerow\r\n - packed texMtxInfo_n_projection and texcoord_elem_count back into the per texgen info space freed up above. (saved 24 bits)\r\n - Overlayed postMtx index and Emboss mode shifts into a union based on texgentype (saved 56 bits)\r\n - Move to a single-bit union tag, freeing up an extra bit for regular texgens.\r\n - Move PotMtx normalize into the freed up space (saved 8 bits)\r\n\r\nTotal savings: 105 bits of data\r\n\r\nEDIT: Even worse, MSVC wasn't respecting pack(1) for bitfields at all, so on windows this struct was actually quite a bit larger. Something like 80 bytes, if not more. So this PR cuts vertex UID size by almost 75%. \r\n\r\nFixed this by dropping the size of any enums used in these bit structs to u8. Our Common::BitField allows for the underlying type to be explicitly specified to something larger.\r\n\r\nmsvc's bitfield packing appears to be completely braindead, can't mix sizes at all. (fortunately, bool counts as u8) ", 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14789/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/14789/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5558142850', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14789#issuecomment-5558142850', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14789', 'id': 5558142850, 'node_id': 'IC_kwDOALCn2M8AAAABS0qHgg', '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-09-06T08:50:39Z', 'updated_at': '2026-09-06T08:51:35Z', 'body': "@phire Please keep in mind that we're close to a release. It's best to hold off on merging this kind of PR until after the release.\r\n\r\nThis PR isn't so big that we have reason to revert it or anything, I just wanted to let you know so you keep it in mind going forward.", 'author_association': 'MEMBER', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5558142850/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-09-06T08:30:27Z', 'pushed_at': '2026-09-06T07:35:33Z', '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': 559864, 'stargazers_count': 15487, 'watchers_count': 15487, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3238, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 460, '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': 3238, 'open_issues': 460, 'watchers': 15487, '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-09-06T08:50:41.954259 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'JosJuice', 'action': 'created', 'id': 14789, 'title': 'Optimize vertex_shader_uid_data down to 28 bytes', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14789#issuecomment-5558142850', 'safe_author': True, 'body': "@phire Please keep in mind that we're close to a release. It's best to hold off on merging this kind of PR until after the release.", 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14789', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14789/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14789/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14789/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14789', 'id': 5050641735, 'node_id': 'PR_kwDOALCn2M76CtH8', 'number': 14789, 'title': 'Optimize vertex_shader_uid_data down to 28 bytes', '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': 'closed', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 2, 'created_at': '2026-08-03T14:01:46Z', 'updated_at': '2026-09-06T08:50:40Z', 'closed_at': '2026-09-06T02:37:58Z', '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/14789', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14789', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14789.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14789.patch', 'merged_at': '2026-09-06T02:37:58Z'}, 'body': "This started as a fixing a misalignment issue, but I got carried away. Was originally 41 bytes (overflowing it's expected 40 bytes by 1 bit).\r\n\r\nNow it's 27 bytes with 8 bits of padding (ready for future expansion).\r\n\r\nThe savings come from:\r\n - Removing UV usage from components, it can be reconstructed from texcoord_elem_count (saved 8 bits)\r\n - Removed the 8 unused bits from texMtxInfo_n_projection (saved 8 bits)\r\n - Removing unused bit from from start of components (saved 1 bit)\r\n - Removed extra bit from inputform, texgentype and sourcerow\r\n - packed texMtxInfo_n_projection and texcoord_elem_count back into the per texgen info space freed up above. (saved 24 bits)\r\n - Overlayed postMtx index and Emboss mode shifts into a union based on texgentype (saved 56 bits)\r\n - Move to a single-bit union tag, freeing up an extra bit for regular texgens.\r\n - Move PotMtx normalize into the freed up space (saved 8 bits)\r\n\r\nTotal savings: 105 bits of data\r\n\r\nEDIT: Even worse, MSVC wasn't respecting pack(1) for bitfields at all, so on windows this struct was actually quite a bit larger. Something like 80 bytes, if not more. So this PR cuts vertex UID size by almost 75%. \r\n\r\nFixed this by dropping the size of any enums used in these bit structs to u8. Our Common::BitField allows for the underlying type to be explicitly specified to something larger.\r\n\r\nmsvc's bitfield packing appears to be completely braindead, can't mix sizes at all. (fortunately, bool counts as u8) ", 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14789/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/14789/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5558142850', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14789#issuecomment-5558142850', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14789', 'id': 5558142850, 'node_id': 'IC_kwDOALCn2M8AAAABS0qHgg', '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-09-06T08:50:39Z', 'updated_at': '2026-09-06T08:50:39Z', 'body': "@phire Please keep in mind that we're close to a release. It's best to hold off on merging this kind of PR until after the release.", 'author_association': 'MEMBER', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5558142850/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-09-06T08:30:27Z', 'pushed_at': '2026-09-06T07:35:33Z', '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': 559864, 'stargazers_count': 15487, 'watchers_count': 15487, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3238, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 460, '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': 3238, 'open_issues': 460, 'watchers': 15487, '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-09-06T04:41:57.413163 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'Pokechu22', 'action': 'created', 'id': 14842, 'title': 'VideoCommon: Use correct size for PE token', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14842#issuecomment-5556955501', 'safe_author': True, 'body': 'The size includes the `0X` added by `#`, or at least my understanding is that it does, and https://godbolt.org/z/W1xnvnPYb shows that, but maybe something is behaving differently here?', 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14842', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14842/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14842/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14842/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14842', 'id': 5335022134, 'node_id': 'PR_kwDOALCn2M8AAAABCCNJ6Q', 'number': 14842, 'title': 'VideoCommon: Use correct size for PE token', 'user': {'login': 'linkmauve', 'id': 7755816, 'node_id': 'MDQ6VXNlcjc3NTU4MTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7755816?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/linkmauve', 'html_url': 'https://github.com/linkmauve', 'followers_url': 'https://api.github.com/users/linkmauve/followers', 'following_url': 'https://api.github.com/users/linkmauve/following{/other_user}', 'gists_url': 'https://api.github.com/users/linkmauve/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/linkmauve/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/linkmauve/subscriptions', 'organizations_url': 'https://api.github.com/users/linkmauve/orgs', 'repos_url': 'https://api.github.com/users/linkmauve/repos', 'events_url': 'https://api.github.com/users/linkmauve/events{/privacy}', 'received_events_url': 'https://api.github.com/users/linkmauve/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'closed', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 1, 'created_at': '2026-09-03T09:49:40Z', 'updated_at': '2026-09-06T04:41:55Z', 'closed_at': '2026-09-06T00:06:17Z', '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/14842', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14842', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14842.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14842.patch', 'merged_at': '2026-09-06T00:06:17Z'}, 'body': 'This token is a `u16`, not a `u24`, so let’s not display unnecessary `00` padding.', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14842/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/14842/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5556955501', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14842#issuecomment-5556955501', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14842', 'id': 5556955501, 'node_id': 'IC_kwDOALCn2M8AAAABSzhpbQ', 'user': {'login': 'Pokechu22', 'id': 8334194, 'node_id': 'MDQ6VXNlcjgzMzQxOTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/8334194?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/Pokechu22', 'html_url': 'https://github.com/Pokechu22', 'followers_url': 'https://api.github.com/users/Pokechu22/followers', 'following_url': 'https://api.github.com/users/Pokechu22/following{/other_user}', 'gists_url': 'https://api.github.com/users/Pokechu22/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/Pokechu22/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/Pokechu22/subscriptions', 'organizations_url': 'https://api.github.com/users/Pokechu22/orgs', 'repos_url': 'https://api.github.com/users/Pokechu22/repos', 'events_url': 'https://api.github.com/users/Pokechu22/events{/privacy}', 'received_events_url': 'https://api.github.com/users/Pokechu22/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2026-09-06T04:41:54Z', 'updated_at': '2026-09-06T04:41:54Z', 'body': 'The size includes the `0X` added by `#`, or at least my understanding is that it does, and https://godbolt.org/z/W1xnvnPYb shows that, but maybe something is behaving differently here?', 'author_association': 'MEMBER', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5556955501/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-09-06T02:38:03Z', 'pushed_at': '2026-09-06T02:37:57Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 559867, 'stargazers_count': 15484, 'watchers_count': 15484, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3237, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 461, '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': 3237, 'open_issues': 461, 'watchers': 15484, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'Pokechu22', 'id': 8334194, 'node_id': 'MDQ6VXNlcjgzMzQxOTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/8334194?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/Pokechu22', 'html_url': 'https://github.com/Pokechu22', 'followers_url': 'https://api.github.com/users/Pokechu22/followers', 'following_url': 'https://api.github.com/users/Pokechu22/following{/other_user}', 'gists_url': 'https://api.github.com/users/Pokechu22/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/Pokechu22/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/Pokechu22/subscriptions', 'organizations_url': 'https://api.github.com/users/Pokechu22/orgs', 'repos_url': 'https://api.github.com/users/Pokechu22/repos', 'events_url': 'https://api.github.com/users/Pokechu22/events{/privacy}', 'received_events_url': 'https://api.github.com/users/Pokechu22/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'gh_issue_comment'}
2026-09-05T18:45:08.012312 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'JMC47', 'action': 'created', 'id': 14844, 'title': 'Add AR codes for Timesplitters 2 (Retroachievements)', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14844#issuecomment-5553993277', 'safe_author': True, 'body': 'Neither code crashed my game on a quick test, so these are probably fine.', 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14844', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14844/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14844/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14844/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14844', 'id': 5341372586, 'node_id': 'PR_kwDOALCn2M8AAAABCHV5-Q', 'number': 14844, 'title': 'Add AR codes for Timesplitters 2 (Retroachievements)', 'user': {'login': 'retropieuser', 'id': 73472027, 'node_id': 'MDQ6VXNlcjczNDcyMDI3', 'avatar_url': 'https://avatars.githubusercontent.com/u/73472027?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/retropieuser', 'html_url': 'https://github.com/retropieuser', 'followers_url': 'https://api.github.com/users/retropieuser/followers', 'following_url': 'https://api.github.com/users/retropieuser/following{/other_user}', 'gists_url': 'https://api.github.com/users/retropieuser/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/retropieuser/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/retropieuser/subscriptions', 'organizations_url': 'https://api.github.com/users/retropieuser/orgs', 'repos_url': 'https://api.github.com/users/retropieuser/repos', 'events_url': 'https://api.github.com/users/retropieuser/events{/privacy}', 'received_events_url': 'https://api.github.com/users/retropieuser/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-03T20:54:10Z', 'updated_at': '2026-09-05T18:45:05Z', 'closed_at': None, 'assignee': None, 'author_association': 'NONE', 'issue_field_values': [], 'type': None, 'active_lock_reason': None, 'draft': False, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14844', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14844', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14844.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14844.patch', 'merged_at': None}, 'body': 'Added in the two codes quoted on the game wiki page\r\n\r\nhttps://wiki.dolphin-emu.org/index.php?title=TimeSplitters_2\r\n\r\n16:9 Widescreen during gameplay & the Border Fix', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14844/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/14844/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5553993277', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14844#issuecomment-5553993277', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14844', 'id': 5553993277, 'node_id': 'IC_kwDOALCn2M8AAAABSws2PQ', '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-09-05T18:45:05Z', 'updated_at': '2026-09-05T18:45:05Z', 'body': 'Neither code crashed my game on a quick test, so these are probably fine.', 'author_association': 'MEMBER', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5553993277/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-09-05T15:51:54Z', 'pushed_at': '2026-09-05T10:18:20Z', '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': 559836, 'stargazers_count': 15484, 'watchers_count': 15484, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3235, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 465, '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': 3235, 'open_issues': 465, 'watchers': 15484, '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-09-05T17:59:12.699066 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'Pokechu22', 'action': 'created', 'id': 14686, 'title': 'SDLGamepad: Support multiple touchpads', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14686#issuecomment-5553720947', 'safe_author': True, 'body': '(For reference the "Button 21" part was handled by #14830.)', 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14686', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14686/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14686/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14686/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14686', 'id': 4666184519, 'node_id': 'PR_kwDOALCn2M7ml5JX', 'number': 14686, 'title': 'SDLGamepad: Support multiple touchpads', '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': 'closed', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 5, 'created_at': '2026-06-15T14:50:55Z', 'updated_at': '2026-09-05T17:59:11Z', 'closed_at': '2026-09-03T19:28:20Z', '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/14686', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14686', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14686.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14686.patch', 'merged_at': '2026-09-03T19:28:20Z'}, 'body': 'Resolves [i14069](https://bugs.dolphin-emu.org/issues/14069)\r\n\r\n<img width="1666" height="298" alt="image" src="https://github.com/user-attachments/assets/81b1d7d4-183f-4cbc-b2ba-121518a73f0c" />\r\n', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14686/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/14686/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5553720947', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14686#issuecomment-5553720947', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14686', 'id': 5553720947, 'node_id': 'IC_kwDOALCn2M8AAAABSwcOcw', 'user': {'login': 'Pokechu22', 'id': 8334194, 'node_id': 'MDQ6VXNlcjgzMzQxOTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/8334194?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/Pokechu22', 'html_url': 'https://github.com/Pokechu22', 'followers_url': 'https://api.github.com/users/Pokechu22/followers', 'following_url': 'https://api.github.com/users/Pokechu22/following{/other_user}', 'gists_url': 'https://api.github.com/users/Pokechu22/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/Pokechu22/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/Pokechu22/subscriptions', 'organizations_url': 'https://api.github.com/users/Pokechu22/orgs', 'repos_url': 'https://api.github.com/users/Pokechu22/repos', 'events_url': 'https://api.github.com/users/Pokechu22/events{/privacy}', 'received_events_url': 'https://api.github.com/users/Pokechu22/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2026-09-05T17:59:11Z', 'updated_at': '2026-09-05T17:59:11Z', 'body': '(For reference the "Button 21" part was handled by #14830.)', 'author_association': 'MEMBER', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5553720947/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-09-05T15:51:54Z', 'pushed_at': '2026-09-05T10:18:20Z', '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': 559836, 'stargazers_count': 15484, 'watchers_count': 15484, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3235, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 465, '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': 3235, 'open_issues': 465, 'watchers': 15484, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'Pokechu22', 'id': 8334194, 'node_id': 'MDQ6VXNlcjgzMzQxOTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/8334194?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/Pokechu22', 'html_url': 'https://github.com/Pokechu22', 'followers_url': 'https://api.github.com/users/Pokechu22/followers', 'following_url': 'https://api.github.com/users/Pokechu22/following{/other_user}', 'gists_url': 'https://api.github.com/users/Pokechu22/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/Pokechu22/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/Pokechu22/subscriptions', 'organizations_url': 'https://api.github.com/users/Pokechu22/orgs', 'repos_url': 'https://api.github.com/users/Pokechu22/repos', 'events_url': 'https://api.github.com/users/Pokechu22/events{/privacy}', 'received_events_url': 'https://api.github.com/users/Pokechu22/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'gh_issue_comment'}
2026-09-05T10:21:10.769437 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'JosJuice', 'action': 'created', 'id': 14734, 'title': 'Android: Trigger netplay game digest check', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14734#issuecomment-5551138734', 'safe_author': True, 'body': 'This needs a rebase.', 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14734', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14734/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14734/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14734/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14734', 'id': 4910861401, 'node_id': 'PR_kwDOALCn2M7y9C71', 'number': 14734, 'title': 'Android: Trigger netplay game digest check', '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-07-17T11:26:56Z', 'updated_at': '2026-09-05T10:21:09Z', '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/14734', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14734', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14734.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14734.patch', 'merged_at': None}, 'body': 'Also trigger abort / dismiss from the host when closing the dialog.\r\nAdd explicit "finished" property to GameDigestProgress since the UI is different depending on this state.\r\n\r\n<img width="960" height="540" alt="Screenshot_20260717_132617" src="https://github.com/user-attachments/assets/e1c5c2f2-5fb3-4400-a9a3-d959264e352b" />\r\n\r\n<img width="960" height="540" alt="Screenshot_20260717_132608" src="https://github.com/user-attachments/assets/0595c231-9002-47e4-8025-9fa61b9cf8d5" />\r\n', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14734/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/14734/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5551138734', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14734#issuecomment-5551138734', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14734', 'id': 5551138734, 'node_id': 'IC_kwDOALCn2M8AAAABSt-nrg', '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-09-05T10:21:09Z', 'updated_at': '2026-09-05T10:21:09Z', 'body': 'This needs a rebase.', 'author_association': 'MEMBER', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5551138734/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-09-05T10:18:26Z', 'pushed_at': '2026-09-05T10:18:20Z', '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': 559832, 'stargazers_count': 15483, 'watchers_count': 15483, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3231, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 465, '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': 3231, 'open_issues': 465, 'watchers': 15483, '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-09-04T19:56:05.224331 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'dolphin-ci[bot]', 'action': 'deleted', 'id': 14605, 'title': 'Android: GBA systems added', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14605#issuecomment-5412804946', '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/4e5a5c23f59a9a614376f091c1dbc5ea68a967dc/) 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/16396433-16292375/)|[🔍 diff](https://fifo.ci/compare/16396292-16292516/)|\n|DKCR-fast-depth|[🔍 diff](https://fifo.ci/compare/16396454-16292396/)|[🔍 diff](https://fifo.ci/compare/16396313-16292537/)|\n|MaS-LOG-wiimote|[🔍 diff](https://fifo.ci/compare/16396471-16292413/)|[🔍 diff](https://fifo.ci/compare/16396330-16292554/)|\n|ab11-homebrew|[🔍 diff](https://fifo.ci/compare/16396459-16292401/)|[🔍 diff](https://fifo.ci/compare/16396318-16292542/)|\n|aeon-charge-attack|[🔍 diff](https://fifo.ci/compare/16396439-16292381/)|[🔍 diff](https://fifo.ci/compare/16396298-16292522/)|\n|bk-tev|[🔍 diff](https://fifo.ci/compare/16396481-16292423/)|[🔍 diff](https://fifo.ci/compare/16396340-16292564/)|\n|burnout2-vehicletextures|[🔍 diff](https://fifo.ci/compare/16396476-16292418/)|[🔍 diff](https://fifo.ci/compare/16396335-16292559/)|\n|chibi-robo-fastdepth|[🔍 diff](https://fifo.ci/compare/16396415-16292357/)|[🔍 diff](https://fifo.ci/compare/16396274-16292498/)|\n|chibi-robo-zfighting|[🔍 diff](https://fifo.ci/compare/16396381-16292323/)|[🔍 diff](https://fifo.ci/compare/16396240-16292464/)|\n|custom-brawl-char|[🔍 diff](https://fifo.ci/compare/16396441-16292383/)|[🔍 diff](https://fifo.ci/compare/16396300-16292524/)|\n|dbz-depth|[🔍 diff](https://fifo.ci/compare/16396413-16292355/)|[🔍 diff](https://fifo.ci/compare/16396272-16292496/)|\n|default-depth-range|[🔍 diff](https://fifo.ci/compare/16396508-16292450/)|[🔍 diff](https://fifo.ci/compare/16396367-16292591/)|\n|djfny-menu|[🔍 diff](https://fifo.ci/compare/16396417-16292359/)|[🔍 diff](https://fifo.ci/compare/16396276-16292500/)|\n|djhero2-blend|[🔍 diff](https://fifo.ci/compare/16396480-16292422/)|[🔍 diff](https://fifo.ci/compare/16396339-16292563/)|\n|ea-pink|[🔍 diff](https://fifo.ci/compare/16396493-16292435/)|[🔍 diff](https://fifo.ci/compare/16396352-16292576/)|\n|ea-vp6|[🔍 diff](https://fifo.ci/compare/16396399-16292341/)|[🔍 diff](https://fifo.ci/compare/16396258-16292482/)|\n|ed-updated|[🔍 diff](https://fifo.ci/compare/16396449-16292391/)|[🔍 diff](https://fifo.ci/compare/16396308-16292532/)|\n|et-vid|[🔍 diff](https://fifo.ci/compare/16396464-16292406/)|[🔍 diff](https://fifo.ci/compare/16396323-16292547/)|\n|f-zero-rain|[🔍 diff](https://fifo.ci/compare/16396447-16292389/)|[🔍 diff](https://fifo.ci/compare/16396306-16292530/)|\n|fifa-street|[🔍 diff](https://fifo.ci/compare/16396410-16292352/)|[🔍 diff](https://fifo.ci/compare/16396269-16292493/)|\n|find-mii|[🔍 diff](https://fifo.ci/compare/16396421-16292363/)|[🔍 diff](https://fifo.ci/compare/16396280-16292504/)|\n|fishing-resort-map|[🔍 diff](https://fifo.ci/compare/16396469-16292411/)|[🔍 diff](https://fifo.ci/compare/16396328-16292552/)|\n|fog-adj|[🔍 diff](https://fifo.ci/compare/16396388-16292330/)|[🔍 diff](https://fifo.ci/compare/16396247-16292471/)|\n|fortune-street|[🔍 diff](https://fifo.ci/compare/16396400-16292342/)|[🔍 diff](https://fifo.ci/compare/16396259-16292483/)|\n|fortune-street-fog|[🔍 diff](https://fifo.ci/compare/16396380-16292322/)|[🔍 diff](https://fifo.ci/compare/16396239-16292463/)|\n|fortune-street-white-box|[🔍 diff](https://fifo.ci/compare/16396402-16292344/)|[🔍 diff](https://fifo.ci/compare/16396261-16292485/)|\n|fsa-layers|[🔍 diff](https://fifo.ci/compare/16396425-16292367/)|[🔍 diff](https://fifo.ci/compare/16396284-16292508/)|\n|goldeneye-depth|[🔍 diff](https://fifo.ci/compare/16396444-16292386/)|[🔍 diff](https://fifo.ci/compare/16396303-16292527/)|\n|gx-points|[🔍 diff](https://fifo.ci/compare/16396517-16292459/)|[🔍 diff](https://fifo.ci/compare/16396376-16292600/)|\n|harvest-moon-mm-shadows|[🔍 diff](https://fifo.ci/compare/16396516-16292458/)|[🔍 diff](https://fifo.ci/compare/16396375-16292599/)|\n|hb-discgolf|[🔍 diff](https://fifo.ci/compare/16396466-16292408/)|[🔍 diff](https://fifo.ci/compare/16396325-16292549/)|\n|hotwheels-shadows|[🔍 diff](https://fifo.ci/compare/16396515-16292457/)|[🔍 diff](https://fifo.ci/compare/16396374-16292598/)|\n|inverted-depth-range|[🔍 diff](https://fifo.ci/compare/16396510-16292452/)|[🔍 diff](https://fifo.ci/compare/16396369-16292593/)|\n|jb-shadow|[🔍 diff](https://fifo.ci/compare/16396496-16292438/)|[🔍 diff](https://fifo.ci/compare/16396355-16292579/)|\n|jd2-fmv|[🔍 diff](https://fifo.ci/compare/16396484-16292426/)|[🔍 diff](https://fifo.ci/compare/16396343-16292567/)|\n|jj-awae-mirrored|[🔍 diff](https://fifo.ci/compare/16396475-16292417/)|[🔍 diff](https://fifo.ci/compare/16396334-16292558/)|\n|kirby-logicop|[🔍 diff](https://fifo.ci/compare/16396502-16292444/)|[🔍 diff](https://fifo.ci/compare/16396361-16292585/)|\n|kirby-shadows|[🔍 diff](https://fifo.ci/compare/16396389-16292331/)|[🔍 diff](https://fifo.ci/compare/16396248-16292472/)|\n|last-story-shadows|[🔍 diff](https://fifo.ci/compare/16396473-16292415/)|[🔍 diff](https://fifo.ci/compare/16396332-16292556/)|\n|lego-star-wars-crane-shadow|[🔍 diff](https://fifo.ci/compare/16396456-16292398/)|[🔍 diff](https://fifo.ci/compare/16396315-16292539/)|\n|lesson08|[🔍 diff](https://fifo.ci/compare/16396463-16292405/)|[🔍 diff](https://fifo.ci/compare/16396322-16292546/)|\n|line-width-test|[🔍 diff](https://fifo.ci/compare/16396385-16292327/)|[🔍 diff](https://fifo.ci/compare/16396244-16292468/)|\n|lit-cached-normal|[🔍 diff](https://fifo.ci/compare/16396512-16292454/)|[🔍 diff](https://fifo.ci/compare/16396371-16292595/)|\n|lm-mario-portrait|[🔍 diff](https://fifo.ci/compare/16396485-16292427/)|[🔍 diff](https://fifo.ci/compare/16396344-16292568/)|\n|luigi-shadows|[🔍 diff](https://fifo.ci/compare/16396390-16292332/)|[🔍 diff](https://fifo.ci/compare/16396249-16292473/)|\n|major-minor|[🔍 diff](https://fifo.ci/compare/16396490-16292432/)|[🔍 diff](https://fifo.ci/compare/16396349-16292573/)|\n|mario-baseball-shadows|[🔍 diff](https://fifo.ci/compare/16396468-16292410/)|[🔍 diff](https://fifo.ci/compare/16396327-16292551/)|\n|mario-golf-oob|[🔍 diff](https://fifo.ci/compare/16396499-16292441/)|[🔍 diff](https://fifo.ci/compare/16396358-16292582/)|\n|mario-golf-vertex-expansion|[🔍 diff](https://fifo.ci/compare/16396514-16292456/)|[🔍 diff](https://fifo.ci/compare/16396373-16292597/)|\n|mario-sluggers-bar|[🔍 diff](https://fifo.ci/compare/16396405-16292347/)|[🔍 diff](https://fifo.ci/compare/16396264-16292488/)|\n|mario-tennis-menu|[🔍 diff](https://fifo.ci/compare/16396404-16292346/)|[🔍 diff](https://fifo.ci/compare/16396263-16292487/)|\n|megaman-heat|[🔍 diff](https://fifo.ci/compare/16396409-16292351/)|[🔍 diff](https://fifo.ci/compare/16396268-16292492/)|\n|melee-depth|[🔍 diff](https://fifo.ci/compare/16396445-16292387/)|[🔍 diff](https://fifo.ci/compare/16396304-16292528/)|\n|melee-lighting|[🔍 diff](https://fifo.ci/compare/16396379-16292321/)|[🔍 diff](https://fifo.ci/compare/16396238-16292462/)|\n|metroid-visor|[🔍 diff](https://fifo.ci/compare/16396455-16292397/)|[🔍 diff](https://fifo.ci/compare/16396314-16292538/)|\n|mii-channel|[🔍 diff](https://fifo.ci/compare/16396420-16292362/)|[🔍 diff](https://fifo.ci/compare/16396279-16292503/)|\n|milotic-texture|[🔍 diff](https://fifo.ci/compare/16396424-16292366/)|[🔍 diff](https://fifo.ci/compare/16396283-16292507/)|\n|mini-ninjas|[🔍 diff](https://fifo.ci/compare/16396391-16292333/)|[🔍 diff](https://fifo.ci/compare/16396250-16292474/)|\n|mkdd-babypark|[🔍 diff](https://fifo.ci/compare/16396472-16292414/)|[🔍 diff](https://fifo.ci/compare/16396331-16292555/)|\n|mkdd-efb|[🔍 diff](https://fifo.ci/compare/16396392-16292334/)|[🔍 diff](https://fifo.ci/compare/16396251-16292475/)|\n|mkw-bridge|[🔍 diff](https://fifo.ci/compare/16396483-16292425/)|[🔍 diff](https://fifo.ci/compare/16396342-16292566/)|\n|mkw-flags|[🔍 diff](https://fifo.ci/compare/16396501-16292443/)|[🔍 diff](https://fifo.ci/compare/16396360-16292584/)|\n|mkwii-bluebox|[🔍 diff](https://fifo.ci/compare/16396393-16292335/)|[🔍 diff](https://fifo.ci/compare/16396252-16292476/)|\n|mmx-light|[🔍 diff](https://fifo.ci/compare/16396477-16292419/)|[🔍 diff](https://fifo.ci/compare/16396336-16292560/)|\n|monkeyball-fuse|[🔍 diff](https://fifo.ci/compare/16396408-16292350/)|[🔍 diff](https://fifo.ci/compare/16396267-16292491/)|\n|mp2-scanner|[🔍 diff](https://fifo.ci/compare/16396478-16292420/)|[🔍 diff](https://fifo.ci/compare/16396337-16292561/)|\n|mp3-bloom|[🔍 diff](https://fifo.ci/compare/16396470-16292412/)|[🔍 diff](https://fifo.ci/compare/16396329-16292553/)|\n|mp4-vertexcache|[🔍 diff](https://fifo.ci/compare/16396500-16292442/)|[🔍 diff](https://fifo.ci/compare/16396359-16292583/)|\n|mp7-text|[🔍 diff](https://fifo.ci/compare/16396422-16292364/)|[🔍 diff](https://fifo.ci/compare/16396281-16292505/)|\n|mp8-widescreen|[🔍 diff](https://fifo.ci/compare/16396498-16292440/)|[🔍 diff](https://fifo.ci/compare/16396357-16292581/)|\n|mtennis-zfreeze|[🔍 diff](https://fifo.ci/compare/16396407-16292349/)|[🔍 diff](https://fifo.ci/compare/16396266-16292490/)|\n|my-word-coach|[🔍 diff](https://fifo.ci/compare/16396419-16292361/)|[🔍 diff](https://fifo.ci/compare/16396278-16292502/)|\n|nddemo-bumpmapping|[🔍 diff](https://fifo.ci/compare/16396430-16292372/)|[🔍 diff](https://fifo.ci/compare/16396289-16292513/)|\n|nddemo-lighting|[🔍 diff](https://fifo.ci/compare/16396451-16292393/)|[🔍 diff](https://fifo.ci/compare/16396310-16292534/)|\n|nes-vc|[🔍 diff](https://fifo.ci/compare/16396448-16292390/)|[🔍 diff](https://fifo.ci/compare/16396307-16292531/)|\n|nfsu-purplerect|[🔍 diff](https://fifo.ci/compare/16396394-16292336/)|[🔍 diff](https://fifo.ci/compare/16396253-16292477/)|\n|nfsu-reflections|[🔍 diff](https://fifo.ci/compare/16396384-16292326/)|[🔍 diff](https://fifo.ci/compare/16396243-16292467/)|\n|nhl-slap|[🔍 diff](https://fifo.ci/compare/16396479-16292421/)|[🔍 diff](https://fifo.ci/compare/16396338-16292562/)|\n|nintendo-channel|[🔍 diff](https://fifo.ci/compare/16396488-16292430/)|[🔍 diff](https://fifo.ci/compare/16396347-16292571/)|\n|nsmbw-coins|[🔍 diff](https://fifo.ci/compare/16396437-16292379/)|[🔍 diff](https://fifo.ci/compare/16396296-16292520/)|\n|nsmbw-intro|[🔍 diff](https://fifo.ci/compare/16396386-16292328/)|[🔍 diff](https://fifo.ci/compare/16396245-16292469/)|\n|pbr-sfx|[🔍 diff](https://fifo.ci/compare/16396497-16292439/)|[🔍 diff](https://fifo.ci/compare/16396356-16292580/)|\n|pm-hc-jp|[🔍 diff](https://fifo.ci/compare/16396432-16292374/)|[🔍 diff](https://fifo.ci/compare/16396291-16292515/)|\n|pw-black-bars|[🔍 diff](https://fifo.ci/compare/16396423-16292365/)|[🔍 diff](https://fifo.ci/compare/16396282-16292506/)|\n|quake-gx|[🔍 diff](https://fifo.ci/compare/16396503-16292445/)|[🔍 diff](https://fifo.ci/compare/16396362-16292586/)|\n|rs2-bumpmapping|[🔍 diff](https://fifo.ci/compare/16396461-16292403/)|[🔍 diff](https://fifo.ci/compare/16396320-16292544/)|\n|rs2-glass|[🔍 diff](https://fifo.ci/compare/16396412-16292354/)|[🔍 diff](https://fifo.ci/compare/16396271-16292495/)|\n|rs2-skybox|[🔍 diff](https://fifo.ci/compare/16396429-16292371/)|[🔍 diff](https://fifo.ci/compare/16396288-16292512/)|\n|rs2-zfreeze|[🔍 diff](https://fifo.ci/compare/16396395-16292337/)|[🔍 diff](https://fifo.ci/compare/16396254-16292478/)|\n|rs3-bumpmapping|[🔍 diff](https://fifo.ci/compare/16396462-16292404/)|[🔍 diff](https://fifo.ci/compare/16396321-16292545/)|\n|rs3-skybox2|[🔍 diff](https://fifo.ci/compare/16396474-16292416/)|[🔍 diff](https://fifo.ci/compare/16396333-16292557/)|\n|sadx-ui|[🔍 diff](https://fifo.ci/compare/16396414-16292356/)|[🔍 diff](https://fifo.ci/compare/16396273-16292497/)|\n|sf-assault-flashing|[🔍 diff](https://fifo.ci/compare/16396383-16292325/)|[🔍 diff](https://fifo.ci/compare/16396242-16292466/)|\n|sfa-shadows|[🔍 diff](https://fifo.ci/compare/16396458-16292400/)|[🔍 diff](https://fifo.ci/compare/16396317-16292541/)|\n|shadow-eyes|[🔍 diff](https://fifo.ci/compare/16396489-16292431/)|[🔍 diff](https://fifo.ci/compare/16396348-16292572/)|\n|simpsons-game|[🔍 diff](https://fifo.ci/compare/16396460-16292402/)|[🔍 diff](https://fifo.ci/compare/16396319-16292543/)|\n|smb-mirror|[🔍 diff](https://fifo.ci/compare/16396482-16292424/)|[🔍 diff](https://fifo.ci/compare/16396341-16292565/)|\n|smg-marioeyes|[🔍 diff](https://fifo.ci/compare/16396396-16292338/)|[🔍 diff](https://fifo.ci/compare/16396255-16292479/)|\n|smg-mmg|[🔍 diff](https://fifo.ci/compare/16396492-16292434/)|[🔍 diff](https://fifo.ci/compare/16396351-16292575/)|\n|smg-roar|[🔍 diff](https://fifo.ci/compare/16396495-16292437/)|[🔍 diff](https://fifo.ci/compare/16396354-16292578/)|\n|smg2-fog|[🔍 diff](https://fifo.ci/compare/16396403-16292345/)|[🔍 diff](https://fifo.ci/compare/16396262-16292486/)|\n|sms-bubbles|[🔍 diff](https://fifo.ci/compare/16396382-16292324/)|[🔍 diff](https://fifo.ci/compare/16396241-16292465/)|\n|sms-coconut-drinks|[🔍 diff](https://fifo.ci/compare/16396506-16292448/)|[🔍 diff](https://fifo.ci/compare/16396365-16292589/)|\n|sms-gc|[🔍 diff](https://fifo.ci/compare/16396434-16292376/)|[🔍 diff](https://fifo.ci/compare/16396293-16292517/)|\n|sms-water|[🔍 diff](https://fifo.ci/compare/16396465-16292407/)|[🔍 diff](https://fifo.ci/compare/16396324-16292548/)|\n|soa-black|[🔍 diff](https://fifo.ci/compare/16396411-16292353/)|[🔍 diff](https://fifo.ci/compare/16396270-16292494/)|\n|sonic-riders-blur|[🔍 diff](https://fifo.ci/compare/16396467-16292409/)|[🔍 diff](https://fifo.ci/compare/16396326-16292550/)|\n|sonic-riders-zg-4p|[🔍 diff](https://fifo.ci/compare/16396494-16292436/)|[🔍 diff](https://fifo.ci/compare/16396353-16292577/)|\n|soniccolors-mm|[🔍 diff](https://fifo.ci/compare/16396436-16292378/)|[🔍 diff](https://fifo.ci/compare/16396295-16292519/)|\n|sonicriderszg-gb|[🔍 diff](https://fifo.ci/compare/16396435-16292377/)|[🔍 diff](https://fifo.ci/compare/16396294-16292518/)|\n|spider-man-inverted-depth|[🔍 diff](https://fifo.ci/compare/16396509-16292451/)|[🔍 diff](https://fifo.ci/compare/16396368-16292592/)|\n|spyro-bloom|[🔍 diff](https://fifo.ci/compare/16396431-16292373/)|[🔍 diff](https://fifo.ci/compare/16396290-16292514/)|\n|spyro-depth|[🔍 diff](https://fifo.ci/compare/16396452-16292394/)|[🔍 diff](https://fifo.ci/compare/16396311-16292535/)|\n|ss-map|[🔍 diff](https://fifo.ci/compare/16396438-16292380/)|[🔍 diff](https://fifo.ci/compare/16396297-16292521/)|\n|ssbb-mod-lloyd|[🔍 diff](https://fifo.ci/compare/16396453-16292395/)|[🔍 diff](https://fifo.ci/compare/16396312-16292536/)|\n|ssbm-pointsize|[🔍 diff](https://fifo.ci/compare/16396401-16292343/)|[🔍 diff](https://fifo.ci/compare/16396260-16292484/)|\n|super-sluggers-white-out|[🔍 diff](https://fifo.ci/compare/16396428-16292370/)|[🔍 diff](https://fifo.ci/compare/16396287-16292511/)|\n|sw3-dt|[🔍 diff](https://fifo.ci/compare/16396457-16292399/)|[🔍 diff](https://fifo.ci/compare/16396316-16292540/)|\n|taiko-depth|[🔍 diff](https://fifo.ci/compare/16396450-16292392/)|[🔍 diff](https://fifo.ci/compare/16396309-16292533/)|\n|thps3-earlyz|[🔍 diff](https://fifo.ci/compare/16396443-16292385/)|[🔍 diff](https://fifo.ci/compare/16396302-16292526/)|\n|thps4-shadow|[🔍 diff](https://fifo.ci/compare/16396416-16292358/)|[🔍 diff](https://fifo.ci/compare/16396275-16292499/)|\n|tla-menu|[🔍 diff](https://fifo.ci/compare/16396446-16292388/)|[🔍 diff](https://fifo.ci/compare/16396305-16292529/)|\n|tos-invis-char|[🔍 diff](https://fifo.ci/compare/16396387-16292329/)|[🔍 diff](https://fifo.ci/compare/16396246-16292470/)|\n|tp-skin|[🔍 diff](https://fifo.ci/compare/16396487-16292429/)|[🔍 diff](https://fifo.ci/compare/16396346-16292570/)|\n|tsp3-pinkgrass|[🔍 diff](https://fifo.ci/compare/16396397-16292339/)|[🔍 diff](https://fifo.ci/compare/16396256-16292480/)|\n|vegas-party-depth|[🔍 diff](https://fifo.ci/compare/16396442-16292384/)|[🔍 diff](https://fifo.ci/compare/16396301-16292525/)|\n|viewitful-joe-distortion|[🔍 diff](https://fifo.ci/compare/16396486-16292428/)|[🔍 diff](https://fifo.ci/compare/16396345-16292569/)|\n|ww-song-of-passing|[🔍 diff](https://fifo.ci/compare/16396505-16292447/)|[🔍 diff](https://fifo.ci/compare/16396364-16292588/)|\n|xblade-bloom|[🔍 diff](https://fifo.ci/compare/16396504-16292446/)|[🔍 diff](https://fifo.ci/compare/16396363-16292587/)|\n|xenoblade-menu|[🔍 diff](https://fifo.ci/compare/16396377-16292319/)|[🔍 diff](https://fifo.ci/compare/16396236-16292460/)|\n|zbuff-test|[🔍 diff](https://fifo.ci/compare/16396513-16292455/)|[🔍 diff](https://fifo.ci/compare/16396372-16292596/)|\n|zelda1-vc|[🔍 diff](https://fifo.ci/compare/16396426-16292368/)|[🔍 diff](https://fifo.ci/compare/16396285-16292509/)|\n|ztp-grass|[🔍 diff](https://fifo.ci/compare/16396398-16292340/)|[🔍 diff](https://fifo.ci/compare/16396257-16292481/)|\n|zww-armos|[🔍 diff](https://fifo.ci/compare/16396378-16292320/)|[🔍 diff](https://fifo.ci/compare/16396237-16292461/)|\n|zww-water|[🔍 diff](https://fifo.ci/compare/16396406-16292348/)|[🔍 diff](https://fifo.ci/compare/16396265-16292489/)|\n|zww-waves|[🔍 diff](https://fifo.ci/compare/16396418-16292360/)|[🔍 diff](https://fifo.ci/compare/16396277-16292501/)|\n</details>\n<sub><sup>automated-fifoci-reporter</sup></sub>', 'raw': {'action': 'deleted', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14605', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14605/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14605/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14605/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14605', 'id': 4285339684, 'node_id': 'PR_kwDOALCn2M7Tc0gl', 'number': 14605, 'title': 'Android: GBA systems added', 'user': {'login': 'Linkinworm', 'id': 32615992, 'node_id': 'MDQ6VXNlcjMyNjE1OTky', 'avatar_url': 'https://avatars.githubusercontent.com/u/32615992?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/Linkinworm', 'html_url': 'https://github.com/Linkinworm', 'followers_url': 'https://api.github.com/users/Linkinworm/followers', 'following_url': 'https://api.github.com/users/Linkinworm/following{/other_user}', 'gists_url': 'https://api.github.com/users/Linkinworm/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/Linkinworm/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/Linkinworm/subscriptions', 'organizations_url': 'https://api.github.com/users/Linkinworm/orgs', 'repos_url': 'https://api.github.com/users/Linkinworm/repos', 'events_url': 'https://api.github.com/users/Linkinworm/events{/privacy}', 'received_events_url': 'https://api.github.com/users/Linkinworm/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-17T21:07:24Z', 'updated_at': '2026-09-04T19:31:57Z', 'closed_at': None, 'assignee': None, 'author_association': 'NONE', 'issue_field_values': [], 'type': None, 'active_lock_reason': None, 'draft': False, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14605', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14605', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14605.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14605.patch', 'merged_at': None}, 'body': 'Adds GBA\'s as controller for linking to select games.\r\nloads rom from any directoy, saves in dolphin GBA/saves.\r\n\r\nFeatures: \r\nLoading GBA game per controller slot 1 through 4.\r\nLinks to gamecube games.\r\nSnap toggle, lock GBA screens to the left, or have them float (allows repositioning and scaling)\r\nReset screens(should they fall off the screen)\r\nReset core: Pokemon needs the rom loaded to initialise, but you have to reset the core at the point of linking for it to see>load>link. This is a global reset rather than a per slot.\r\nVolume controls (per slot)\r\nPhysical controller controls\r\nPer slot controls\r\ngb/gbc/gba all function.\r\n\r\nKnown issues/ talking points for solutions or ideas.\r\n\r\nMajor issues that need fixing\r\n1.\r\nGba in unlocked has overlay control touch conflicts, moving one over a higher ordered one will take control of that gba instead of keeping track of the one you want to move.\r\nUnable to come up with solution currently, minor annoyance at best, doesn\'t affect functionality.\r\n\r\nCurrent minor issues present that is considered cosmetic at best.\r\n1.\r\nScaling screen will snap to last finger touching screen on release.\r\n\r\n<img width="540" height="1170" alt="Screenshot_20260418_103831_Dolphin Debug" src="https://github.com/user-attachments/assets/d2582169-aa9c-4811-8f5a-d38170cebacf" />\r\n<img width="540" height="1170" alt="Screenshot_20260418_103851_Dolphin Debug" src="https://github.com/user-attachments/assets/93ecd8bf-96e9-4d8d-a262-e7320fabe5b4" />\r\n<img width="1170" height="540" alt="Screenshot_20260418_103908_Dolphin Debug" src="https://github.com/user-attachments/assets/a5b8d14b-e9ea-4b89-8946-ccd15fb5f7d7" />\r\n\r\nImages for portrait 4 slot enabled(disables GameCube overlay controls) 3slot enabled port 1 as GameCube controller and landscape view\r\n\r\n<img width="540" height="1170" alt="Screenshot_20260418_104158_Dolphin Debug" src="https://github.com/user-attachments/assets/7811c673-2cd8-4565-aebc-783aae974c41" />\r\n<img width="540" height="1170" alt="Screenshot_20260418_104221_Dolphin Debug" src="https://github.com/user-attachments/assets/a36f0202-b029-46eb-9805-d826e9f05481" />\r\n\r\nMenu options added, and without snap enabled views free float, can be moved scaled with drag/pinch to zoom gestures.', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14605/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/14605/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5412804946', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14605#issuecomment-5412804946', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14605', 'id': 5412804946, 'node_id': 'IC_kwDOALCn2M8AAAABQqDZUg', '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-08-25T15:32:49Z', 'updated_at': '2026-08-25T15:32:49Z', 'body': '[FifoCI](https://fifo.ci/about/) detected that this change impacts graphical rendering. Here are the [behavior differences](https://fifo.ci/version/4e5a5c23f59a9a614376f091c1dbc5ea68a967dc/) 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/16396433-16292375/)|[🔍 diff](https://fifo.ci/compare/16396292-16292516/)|\n|DKCR-fast-depth|[🔍 diff](https://fifo.ci/compare/16396454-16292396/)|[🔍 diff](https://fifo.ci/compare/16396313-16292537/)|\n|MaS-LOG-wiimote|[🔍 diff](https://fifo.ci/compare/16396471-16292413/)|[🔍 diff](https://fifo.ci/compare/16396330-16292554/)|\n|ab11-homebrew|[🔍 diff](https://fifo.ci/compare/16396459-16292401/)|[🔍 diff](https://fifo.ci/compare/16396318-16292542/)|\n|aeon-charge-attack|[🔍 diff](https://fifo.ci/compare/16396439-16292381/)|[🔍 diff](https://fifo.ci/compare/16396298-16292522/)|\n|bk-tev|[🔍 diff](https://fifo.ci/compare/16396481-16292423/)|[🔍 diff](https://fifo.ci/compare/16396340-16292564/)|\n|burnout2-vehicletextures|[🔍 diff](https://fifo.ci/compare/16396476-16292418/)|[🔍 diff](https://fifo.ci/compare/16396335-16292559/)|\n|chibi-robo-fastdepth|[🔍 diff](https://fifo.ci/compare/16396415-16292357/)|[🔍 diff](https://fifo.ci/compare/16396274-16292498/)|\n|chibi-robo-zfighting|[🔍 diff](https://fifo.ci/compare/16396381-16292323/)|[🔍 diff](https://fifo.ci/compare/16396240-16292464/)|\n|custom-brawl-char|[🔍 diff](https://fifo.ci/compare/16396441-16292383/)|[🔍 diff](https://fifo.ci/compare/16396300-16292524/)|\n|dbz-depth|[🔍 diff](https://fifo.ci/compare/16396413-16292355/)|[🔍 diff](https://fifo.ci/compare/16396272-16292496/)|\n|default-depth-range|[🔍 diff](https://fifo.ci/compare/16396508-16292450/)|[🔍 diff](https://fifo.ci/compare/16396367-16292591/)|\n|djfny-menu|[🔍 diff](https://fifo.ci/compare/16396417-16292359/)|[🔍 diff](https://fifo.ci/compare/16396276-16292500/)|\n|djhero2-blend|[🔍 diff](https://fifo.ci/compare/16396480-16292422/)|[🔍 diff](https://fifo.ci/compare/16396339-16292563/)|\n|ea-pink|[🔍 diff](https://fifo.ci/compare/16396493-16292435/)|[🔍 diff](https://fifo.ci/compare/16396352-16292576/)|\n|ea-vp6|[🔍 diff](https://fifo.ci/compare/16396399-16292341/)|[🔍 diff](https://fifo.ci/compare/16396258-16292482/)|\n|ed-updated|[🔍 diff](https://fifo.ci/compare/16396449-16292391/)|[🔍 diff](https://fifo.ci/compare/16396308-16292532/)|\n|et-vid|[🔍 diff](https://fifo.ci/compare/16396464-16292406/)|[🔍 diff](https://fifo.ci/compare/16396323-16292547/)|\n|f-zero-rain|[🔍 diff](https://fifo.ci/compare/16396447-16292389/)|[🔍 diff](https://fifo.ci/compare/16396306-16292530/)|\n|fifa-street|[🔍 diff](https://fifo.ci/compare/16396410-16292352/)|[🔍 diff](https://fifo.ci/compare/16396269-16292493/)|\n|find-mii|[🔍 diff](https://fifo.ci/compare/16396421-16292363/)|[🔍 diff](https://fifo.ci/compare/16396280-16292504/)|\n|fishing-resort-map|[🔍 diff](https://fifo.ci/compare/16396469-16292411/)|[🔍 diff](https://fifo.ci/compare/16396328-16292552/)|\n|fog-adj|[🔍 diff](https://fifo.ci/compare/16396388-16292330/)|[🔍 diff](https://fifo.ci/compare/16396247-16292471/)|\n|fortune-street|[🔍 diff](https://fifo.ci/compare/16396400-16292342/)|[🔍 diff](https://fifo.ci/compare/16396259-16292483/)|\n|fortune-street-fog|[🔍 diff](https://fifo.ci/compare/16396380-16292322/)|[🔍 diff](https://fifo.ci/compare/16396239-16292463/)|\n|fortune-street-white-box|[🔍 diff](https://fifo.ci/compare/16396402-16292344/)|[🔍 diff](https://fifo.ci/compare/16396261-16292485/)|\n|fsa-layers|[🔍 diff](https://fifo.ci/compare/16396425-16292367/)|[🔍 diff](https://fifo.ci/compare/16396284-16292508/)|\n|goldeneye-depth|[🔍 diff](https://fifo.ci/compare/16396444-16292386/)|[🔍 diff](https://fifo.ci/compare/16396303-16292527/)|\n|gx-points|[🔍 diff](https://fifo.ci/compare/16396517-16292459/)|[🔍 diff](https://fifo.ci/compare/16396376-16292600/)|\n|harvest-moon-mm-shadows|[🔍 diff](https://fifo.ci/compare/16396516-16292458/)|[🔍 diff](https://fifo.ci/compare/16396375-16292599/)|\n|hb-discgolf|[🔍 diff](https://fifo.ci/compare/16396466-16292408/)|[🔍 diff](https://fifo.ci/compare/16396325-16292549/)|\n|hotwheels-shadows|[🔍 diff](https://fifo.ci/compare/16396515-16292457/)|[🔍 diff](https://fifo.ci/compare/16396374-16292598/)|\n|inverted-depth-range|[🔍 diff](https://fifo.ci/compare/16396510-16292452/)|[🔍 diff](https://fifo.ci/compare/16396369-16292593/)|\n|jb-shadow|[🔍 diff](https://fifo.ci/compare/16396496-16292438/)|[🔍 diff](https://fifo.ci/compare/16396355-16292579/)|\n|jd2-fmv|[🔍 diff](https://fifo.ci/compare/16396484-16292426/)|[🔍 diff](https://fifo.ci/compare/16396343-16292567/)|\n|jj-awae-mirrored|[🔍 diff](https://fifo.ci/compare/16396475-16292417/)|[🔍 diff](https://fifo.ci/compare/16396334-16292558/)|\n|kirby-logicop|[🔍 diff](https://fifo.ci/compare/16396502-16292444/)|[🔍 diff](https://fifo.ci/compare/16396361-16292585/)|\n|kirby-shadows|[🔍 diff](https://fifo.ci/compare/16396389-16292331/)|[🔍 diff](https://fifo.ci/compare/16396248-16292472/)|\n|last-story-shadows|[🔍 diff](https://fifo.ci/compare/16396473-16292415/)|[🔍 diff](https://fifo.ci/compare/16396332-16292556/)|\n|lego-star-wars-crane-shadow|[🔍 diff](https://fifo.ci/compare/16396456-16292398/)|[🔍 diff](https://fifo.ci/compare/16396315-16292539/)|\n|lesson08|[🔍 diff](https://fifo.ci/compare/16396463-16292405/)|[🔍 diff](https://fifo.ci/compare/16396322-16292546/)|\n|line-width-test|[🔍 diff](https://fifo.ci/compare/16396385-16292327/)|[🔍 diff](https://fifo.ci/compare/16396244-16292468/)|\n|lit-cached-normal|[🔍 diff](https://fifo.ci/compare/16396512-16292454/)|[🔍 diff](https://fifo.ci/compare/16396371-16292595/)|\n|lm-mario-portrait|[🔍 diff](https://fifo.ci/compare/16396485-16292427/)|[🔍 diff](https://fifo.ci/compare/16396344-16292568/)|\n|luigi-shadows|[🔍 diff](https://fifo.ci/compare/16396390-16292332/)|[🔍 diff](https://fifo.ci/compare/16396249-16292473/)|\n|major-minor|[🔍 diff](https://fifo.ci/compare/16396490-16292432/)|[🔍 diff](https://fifo.ci/compare/16396349-16292573/)|\n|mario-baseball-shadows|[🔍 diff](https://fifo.ci/compare/16396468-16292410/)|[🔍 diff](https://fifo.ci/compare/16396327-16292551/)|\n|mario-golf-oob|[🔍 diff](https://fifo.ci/compare/16396499-16292441/)|[🔍 diff](https://fifo.ci/compare/16396358-16292582/)|\n|mario-golf-vertex-expansion|[🔍 diff](https://fifo.ci/compare/16396514-16292456/)|[🔍 diff](https://fifo.ci/compare/16396373-16292597/)|\n|mario-sluggers-bar|[🔍 diff](https://fifo.ci/compare/16396405-16292347/)|[🔍 diff](https://fifo.ci/compare/16396264-16292488/)|\n|mario-tennis-menu|[🔍 diff](https://fifo.ci/compare/16396404-16292346/)|[🔍 diff](https://fifo.ci/compare/16396263-16292487/)|\n|megaman-heat|[🔍 diff](https://fifo.ci/compare/16396409-16292351/)|[🔍 diff](https://fifo.ci/compare/16396268-16292492/)|\n|melee-depth|[🔍 diff](https://fifo.ci/compare/16396445-16292387/)|[🔍 diff](https://fifo.ci/compare/16396304-16292528/)|\n|melee-lighting|[🔍 diff](https://fifo.ci/compare/16396379-16292321/)|[🔍 diff](https://fifo.ci/compare/16396238-16292462/)|\n|metroid-visor|[🔍 diff](https://fifo.ci/compare/16396455-16292397/)|[🔍 diff](https://fifo.ci/compare/16396314-16292538/)|\n|mii-channel|[🔍 diff](https://fifo.ci/compare/16396420-16292362/)|[🔍 diff](https://fifo.ci/compare/16396279-16292503/)|\n|milotic-texture|[🔍 diff](https://fifo.ci/compare/16396424-16292366/)|[🔍 diff](https://fifo.ci/compare/16396283-16292507/)|\n|mini-ninjas|[🔍 diff](https://fifo.ci/compare/16396391-16292333/)|[🔍 diff](https://fifo.ci/compare/16396250-16292474/)|\n|mkdd-babypark|[🔍 diff](https://fifo.ci/compare/16396472-16292414/)|[🔍 diff](https://fifo.ci/compare/16396331-16292555/)|\n|mkdd-efb|[🔍 diff](https://fifo.ci/compare/16396392-16292334/)|[🔍 diff](https://fifo.ci/compare/16396251-16292475/)|\n|mkw-bridge|[🔍 diff](https://fifo.ci/compare/16396483-16292425/)|[🔍 diff](https://fifo.ci/compare/16396342-16292566/)|\n|mkw-flags|[🔍 diff](https://fifo.ci/compare/16396501-16292443/)|[🔍 diff](https://fifo.ci/compare/16396360-16292584/)|\n|mkwii-bluebox|[🔍 diff](https://fifo.ci/compare/16396393-16292335/)|[🔍 diff](https://fifo.ci/compare/16396252-16292476/)|\n|mmx-light|[🔍 diff](https://fifo.ci/compare/16396477-16292419/)|[🔍 diff](https://fifo.ci/compare/16396336-16292560/)|\n|monkeyball-fuse|[🔍 diff](https://fifo.ci/compare/16396408-16292350/)|[🔍 diff](https://fifo.ci/compare/16396267-16292491/)|\n|mp2-scanner|[🔍 diff](https://fifo.ci/compare/16396478-16292420/)|[🔍 diff](https://fifo.ci/compare/16396337-16292561/)|\n|mp3-bloom|[🔍 diff](https://fifo.ci/compare/16396470-16292412/)|[🔍 diff](https://fifo.ci/compare/16396329-16292553/)|\n|mp4-vertexcache|[🔍 diff](https://fifo.ci/compare/16396500-16292442/)|[🔍 diff](https://fifo.ci/compare/16396359-16292583/)|\n|mp7-text|[🔍 diff](https://fifo.ci/compare/16396422-16292364/)|[🔍 diff](https://fifo.ci/compare/16396281-16292505/)|\n|mp8-widescreen|[🔍 diff](https://fifo.ci/compare/16396498-16292440/)|[🔍 diff](https://fifo.ci/compare/16396357-16292581/)|\n|mtennis-zfreeze|[🔍 diff](https://fifo.ci/compare/16396407-16292349/)|[🔍 diff](https://fifo.ci/compare/16396266-16292490/)|\n|my-word-coach|[🔍 diff](https://fifo.ci/compare/16396419-16292361/)|[🔍 diff](https://fifo.ci/compare/16396278-16292502/)|\n|nddemo-bumpmapping|[🔍 diff](https://fifo.ci/compare/16396430-16292372/)|[🔍 diff](https://fifo.ci/compare/16396289-16292513/)|\n|nddemo-lighting|[🔍 diff](https://fifo.ci/compare/16396451-16292393/)|[🔍 diff](https://fifo.ci/compare/16396310-16292534/)|\n|nes-vc|[🔍 diff](https://fifo.ci/compare/16396448-16292390/)|[🔍 diff](https://fifo.ci/compare/16396307-16292531/)|\n|nfsu-purplerect|[🔍 diff](https://fifo.ci/compare/16396394-16292336/)|[🔍 diff](https://fifo.ci/compare/16396253-16292477/)|\n|nfsu-reflections|[🔍 diff](https://fifo.ci/compare/16396384-16292326/)|[🔍 diff](https://fifo.ci/compare/16396243-16292467/)|\n|nhl-slap|[🔍 diff](https://fifo.ci/compare/16396479-16292421/)|[🔍 diff](https://fifo.ci/compare/16396338-16292562/)|\n|nintendo-channel|[🔍 diff](https://fifo.ci/compare/16396488-16292430/)|[🔍 diff](https://fifo.ci/compare/16396347-16292571/)|\n|nsmbw-coins|[🔍 diff](https://fifo.ci/compare/16396437-16292379/)|[🔍 diff](https://fifo.ci/compare/16396296-16292520/)|\n|nsmbw-intro|[🔍 diff](https://fifo.ci/compare/16396386-16292328/)|[🔍 diff](https://fifo.ci/compare/16396245-16292469/)|\n|pbr-sfx|[🔍 diff](https://fifo.ci/compare/16396497-16292439/)|[🔍 diff](https://fifo.ci/compare/16396356-16292580/)|\n|pm-hc-jp|[🔍 diff](https://fifo.ci/compare/16396432-16292374/)|[🔍 diff](https://fifo.ci/compare/16396291-16292515/)|\n|pw-black-bars|[🔍 diff](https://fifo.ci/compare/16396423-16292365/)|[🔍 diff](https://fifo.ci/compare/16396282-16292506/)|\n|quake-gx|[🔍 diff](https://fifo.ci/compare/16396503-16292445/)|[🔍 diff](https://fifo.ci/compare/16396362-16292586/)|\n|rs2-bumpmapping|[🔍 diff](https://fifo.ci/compare/16396461-16292403/)|[🔍 diff](https://fifo.ci/compare/16396320-16292544/)|\n|rs2-glass|[🔍 diff](https://fifo.ci/compare/16396412-16292354/)|[🔍 diff](https://fifo.ci/compare/16396271-16292495/)|\n|rs2-skybox|[🔍 diff](https://fifo.ci/compare/16396429-16292371/)|[🔍 diff](https://fifo.ci/compare/16396288-16292512/)|\n|rs2-zfreeze|[🔍 diff](https://fifo.ci/compare/16396395-16292337/)|[🔍 diff](https://fifo.ci/compare/16396254-16292478/)|\n|rs3-bumpmapping|[🔍 diff](https://fifo.ci/compare/16396462-16292404/)|[🔍 diff](https://fifo.ci/compare/16396321-16292545/)|\n|rs3-skybox2|[🔍 diff](https://fifo.ci/compare/16396474-16292416/)|[🔍 diff](https://fifo.ci/compare/16396333-16292557/)|\n|sadx-ui|[🔍 diff](https://fifo.ci/compare/16396414-16292356/)|[🔍 diff](https://fifo.ci/compare/16396273-16292497/)|\n|sf-assault-flashing|[🔍 diff](https://fifo.ci/compare/16396383-16292325/)|[🔍 diff](https://fifo.ci/compare/16396242-16292466/)|\n|sfa-shadows|[🔍 diff](https://fifo.ci/compare/16396458-16292400/)|[🔍 diff](https://fifo.ci/compare/16396317-16292541/)|\n|shadow-eyes|[🔍 diff](https://fifo.ci/compare/16396489-16292431/)|[🔍 diff](https://fifo.ci/compare/16396348-16292572/)|\n|simpsons-game|[🔍 diff](https://fifo.ci/compare/16396460-16292402/)|[🔍 diff](https://fifo.ci/compare/16396319-16292543/)|\n|smb-mirror|[🔍 diff](https://fifo.ci/compare/16396482-16292424/)|[🔍 diff](https://fifo.ci/compare/16396341-16292565/)|\n|smg-marioeyes|[🔍 diff](https://fifo.ci/compare/16396396-16292338/)|[🔍 diff](https://fifo.ci/compare/16396255-16292479/)|\n|smg-mmg|[🔍 diff](https://fifo.ci/compare/16396492-16292434/)|[🔍 diff](https://fifo.ci/compare/16396351-16292575/)|\n|smg-roar|[🔍 diff](https://fifo.ci/compare/16396495-16292437/)|[🔍 diff](https://fifo.ci/compare/16396354-16292578/)|\n|smg2-fog|[🔍 diff](https://fifo.ci/compare/16396403-16292345/)|[🔍 diff](https://fifo.ci/compare/16396262-16292486/)|\n|sms-bubbles|[🔍 diff](https://fifo.ci/compare/16396382-16292324/)|[🔍 diff](https://fifo.ci/compare/16396241-16292465/)|\n|sms-coconut-drinks|[🔍 diff](https://fifo.ci/compare/16396506-16292448/)|[🔍 diff](https://fifo.ci/compare/16396365-16292589/)|\n|sms-gc|[🔍 diff](https://fifo.ci/compare/16396434-16292376/)|[🔍 diff](https://fifo.ci/compare/16396293-16292517/)|\n|sms-water|[🔍 diff](https://fifo.ci/compare/16396465-16292407/)|[🔍 diff](https://fifo.ci/compare/16396324-16292548/)|\n|soa-black|[🔍 diff](https://fifo.ci/compare/16396411-16292353/)|[🔍 diff](https://fifo.ci/compare/16396270-16292494/)|\n|sonic-riders-blur|[🔍 diff](https://fifo.ci/compare/16396467-16292409/)|[🔍 diff](https://fifo.ci/compare/16396326-16292550/)|\n|sonic-riders-zg-4p|[🔍 diff](https://fifo.ci/compare/16396494-16292436/)|[🔍 diff](https://fifo.ci/compare/16396353-16292577/)|\n|soniccolors-mm|[🔍 diff](https://fifo.ci/compare/16396436-16292378/)|[🔍 diff](https://fifo.ci/compare/16396295-16292519/)|\n|sonicriderszg-gb|[🔍 diff](https://fifo.ci/compare/16396435-16292377/)|[🔍 diff](https://fifo.ci/compare/16396294-16292518/)|\n|spider-man-inverted-depth|[🔍 diff](https://fifo.ci/compare/16396509-16292451/)|[🔍 diff](https://fifo.ci/compare/16396368-16292592/)|\n|spyro-bloom|[🔍 diff](https://fifo.ci/compare/16396431-16292373/)|[🔍 diff](https://fifo.ci/compare/16396290-16292514/)|\n|spyro-depth|[🔍 diff](https://fifo.ci/compare/16396452-16292394/)|[🔍 diff](https://fifo.ci/compare/16396311-16292535/)|\n|ss-map|[🔍 diff](https://fifo.ci/compare/16396438-16292380/)|[🔍 diff](https://fifo.ci/compare/16396297-16292521/)|\n|ssbb-mod-lloyd|[🔍 diff](https://fifo.ci/compare/16396453-16292395/)|[🔍 diff](https://fifo.ci/compare/16396312-16292536/)|\n|ssbm-pointsize|[🔍 diff](https://fifo.ci/compare/16396401-16292343/)|[🔍 diff](https://fifo.ci/compare/16396260-16292484/)|\n|super-sluggers-white-out|[🔍 diff](https://fifo.ci/compare/16396428-16292370/)|[🔍 diff](https://fifo.ci/compare/16396287-16292511/)|\n|sw3-dt|[🔍 diff](https://fifo.ci/compare/16396457-16292399/)|[🔍 diff](https://fifo.ci/compare/16396316-16292540/)|\n|taiko-depth|[🔍 diff](https://fifo.ci/compare/16396450-16292392/)|[🔍 diff](https://fifo.ci/compare/16396309-16292533/)|\n|thps3-earlyz|[🔍 diff](https://fifo.ci/compare/16396443-16292385/)|[🔍 diff](https://fifo.ci/compare/16396302-16292526/)|\n|thps4-shadow|[🔍 diff](https://fifo.ci/compare/16396416-16292358/)|[🔍 diff](https://fifo.ci/compare/16396275-16292499/)|\n|tla-menu|[🔍 diff](https://fifo.ci/compare/16396446-16292388/)|[🔍 diff](https://fifo.ci/compare/16396305-16292529/)|\n|tos-invis-char|[🔍 diff](https://fifo.ci/compare/16396387-16292329/)|[🔍 diff](https://fifo.ci/compare/16396246-16292470/)|\n|tp-skin|[🔍 diff](https://fifo.ci/compare/16396487-16292429/)|[🔍 diff](https://fifo.ci/compare/16396346-16292570/)|\n|tsp3-pinkgrass|[🔍 diff](https://fifo.ci/compare/16396397-16292339/)|[🔍 diff](https://fifo.ci/compare/16396256-16292480/)|\n|vegas-party-depth|[🔍 diff](https://fifo.ci/compare/16396442-16292384/)|[🔍 diff](https://fifo.ci/compare/16396301-16292525/)|\n|viewitful-joe-distortion|[🔍 diff](https://fifo.ci/compare/16396486-16292428/)|[🔍 diff](https://fifo.ci/compare/16396345-16292569/)|\n|ww-song-of-passing|[🔍 diff](https://fifo.ci/compare/16396505-16292447/)|[🔍 diff](https://fifo.ci/compare/16396364-16292588/)|\n|xblade-bloom|[🔍 diff](https://fifo.ci/compare/16396504-16292446/)|[🔍 diff](https://fifo.ci/compare/16396363-16292587/)|\n|xenoblade-menu|[🔍 diff](https://fifo.ci/compare/16396377-16292319/)|[🔍 diff](https://fifo.ci/compare/16396236-16292460/)|\n|zbuff-test|[🔍 diff](https://fifo.ci/compare/16396513-16292455/)|[🔍 diff](https://fifo.ci/compare/16396372-16292596/)|\n|zelda1-vc|[🔍 diff](https://fifo.ci/compare/16396426-16292368/)|[🔍 diff](https://fifo.ci/compare/16396285-16292509/)|\n|ztp-grass|[🔍 diff](https://fifo.ci/compare/16396398-16292340/)|[🔍 diff](https://fifo.ci/compare/16396257-16292481/)|\n|zww-armos|[🔍 diff](https://fifo.ci/compare/16396378-16292320/)|[🔍 diff](https://fifo.ci/compare/16396237-16292461/)|\n|zww-water|[🔍 diff](https://fifo.ci/compare/16396406-16292348/)|[🔍 diff](https://fifo.ci/compare/16396265-16292489/)|\n|zww-waves|[🔍 diff](https://fifo.ci/compare/16396418-16292360/)|[🔍 diff](https://fifo.ci/compare/16396277-16292501/)|\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/5412804946/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-09-04T05:59:31Z', 'pushed_at': '2026-09-03T19:28:31Z', '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': 559845, 'stargazers_count': 15479, 'watchers_count': 15479, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3230, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 467, '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': 3230, 'open_issues': 467, 'watchers': 15479, '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-09-03T23:00:36.159797 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'JoshuaVandaele', 'action': 'created', 'id': 14832, 'title': 'DolphinQt: Properly define QtPaths', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14832#issuecomment-5533222375', 'safe_author': True, 'body': 'This confirms to resolve the issue by the Windows on ARM user who reported this.', 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14832', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14832/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14832/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14832/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14832', 'id': 5290565902, 'node_id': 'PR_kwDOALCn2M8AAAABBfDrFA', 'number': 14832, 'title': 'DolphinQt: Properly define QtPaths', '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-30T05:41:23Z', 'updated_at': '2026-09-03T23:00:34Z', '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/14832', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14832', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14832.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14832.patch', 'merged_at': None}, 'body': "This fixes cross-compilation on Windows, where windeplotqt would previously always grab the host's DLLs instead of the target's.\r\n\r\nBefore/after:\r\n\r\n```sh\r\n$ file Dolphin-arm64/*.dll\r\nDolphin-arm64/Qt6Core.dll: PE32+ executable for MS Windows 6.00 (DLL), x86-64, 7 sections\r\nDolphin-arm64/Qt6Gui.dll: PE32+ executable for MS Windows 6.00 (DLL), x86-64, 6 sections\r\nDolphin-arm64/Qt6Svg.dll: PE32+ executable for MS Windows 6.00 (DLL), x86-64, 6 sections\r\nDolphin-arm64/Qt6Widgets.dll: PE32+ executable for MS Windows 6.00 (DLL), x86-64, 6 sections\r\n```\r\n```sh\r\n$ file Dolphin-arm64/*.dll\r\nDolphin-arm64/Qt6Core.dll: PE32+ executable for MS Windows 6.02 (DLL), ARM64, 7 sections\r\nDolphin-arm64/Qt6Gui.dll: PE32+ executable for MS Windows 6.02 (DLL), ARM64, 6 sections\r\nDolphin-arm64/Qt6Svg.dll: PE32+ executable for MS Windows 6.02 (DLL), ARM64, 6 sections\r\nDolphin-arm64/Qt6Widgets.dll: PE32+ executable for MS Windows 6.02 (DLL), ARM64, 6 sections\r\n```", 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14832/reactions', 'total_count': 2, '+1': 2, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'timeline_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14832/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5533222375', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14832#issuecomment-5533222375', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14832', 'id': 5533222375, 'node_id': 'IC_kwDOALCn2M8AAAABSc5F5w', '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-09-03T23:00:33Z', 'updated_at': '2026-09-03T23:00:33Z', 'body': 'This confirms to resolve the issue by the Windows on ARM user who reported this.', 'author_association': 'MEMBER', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5533222375/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-09-03T19:33:16Z', 'pushed_at': '2026-09-03T19:28:31Z', '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': 559845, 'stargazers_count': 15477, 'watchers_count': 15477, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3229, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 465, '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': 3229, 'open_issues': 465, 'watchers': 15477, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'JoshuaVandaele', 'id': 24195176, 'node_id': 'MDQ6VXNlcjI0MTk1MTc2', 'avatar_url': 'https://avatars.githubusercontent.com/u/24195176?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/JoshuaVandaele', 'html_url': 'https://github.com/JoshuaVandaele', 'followers_url': 'https://api.github.com/users/JoshuaVandaele/followers', 'following_url': 'https://api.github.com/users/JoshuaVandaele/following{/other_user}', 'gists_url': 'https://api.github.com/users/JoshuaVandaele/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/JoshuaVandaele/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/JoshuaVandaele/subscriptions', 'organizations_url': 'https://api.github.com/users/JoshuaVandaele/orgs', 'repos_url': 'https://api.github.com/users/JoshuaVandaele/repos', 'events_url': 'https://api.github.com/users/JoshuaVandaele/events{/privacy}', 'received_events_url': 'https://api.github.com/users/JoshuaVandaele/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'gh_issue_comment'}
2026-09-03T20:40:24.785793 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'retropieuser', 'action': 'created', 'id': 14839, 'title': 'Add AR codes for Timesplitters 2 (Retroachievements)', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14839#issuecomment-5531847398', 'safe_author': False, 'body': "I'll just close this and start again, have made a bit of a mess of this, silly GitHub", 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14839', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14839/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14839/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14839/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14839', 'id': 5327052762, 'node_id': 'PR_kwDOALCn2M8AAAABB72s4w', 'number': 14839, 'title': 'Add AR codes for Timesplitters 2 (Retroachievements)', 'user': {'login': 'retropieuser', 'id': 73472027, 'node_id': 'MDQ6VXNlcjczNDcyMDI3', 'avatar_url': 'https://avatars.githubusercontent.com/u/73472027?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/retropieuser', 'html_url': 'https://github.com/retropieuser', 'followers_url': 'https://api.github.com/users/retropieuser/followers', 'following_url': 'https://api.github.com/users/retropieuser/following{/other_user}', 'gists_url': 'https://api.github.com/users/retropieuser/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/retropieuser/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/retropieuser/subscriptions', 'organizations_url': 'https://api.github.com/users/retropieuser/orgs', 'repos_url': 'https://api.github.com/users/retropieuser/repos', 'events_url': 'https://api.github.com/users/retropieuser/events{/privacy}', 'received_events_url': 'https://api.github.com/users/retropieuser/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'closed', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 2, 'created_at': '2026-09-02T17:21:08Z', 'updated_at': '2026-09-03T20:40:22Z', 'closed_at': '2026-09-03T20:40:22Z', '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/14839', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14839', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14839.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14839.patch', 'merged_at': None}, 'body': 'Added in the two codes listed on the game wiki page\r\n\r\nhttps://wiki.dolphin-emu.org/index.php?title=TimeSplitters_2\r\n\r\n16:9 Widescreen during gameplay & the Border Fix', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14839/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/14839/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5531847398', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14839#issuecomment-5531847398', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14839', 'id': 5531847398, 'node_id': 'IC_kwDOALCn2M8AAAABSblK5g', 'user': {'login': 'retropieuser', 'id': 73472027, 'node_id': 'MDQ6VXNlcjczNDcyMDI3', 'avatar_url': 'https://avatars.githubusercontent.com/u/73472027?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/retropieuser', 'html_url': 'https://github.com/retropieuser', 'followers_url': 'https://api.github.com/users/retropieuser/followers', 'following_url': 'https://api.github.com/users/retropieuser/following{/other_user}', 'gists_url': 'https://api.github.com/users/retropieuser/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/retropieuser/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/retropieuser/subscriptions', 'organizations_url': 'https://api.github.com/users/retropieuser/orgs', 'repos_url': 'https://api.github.com/users/retropieuser/repos', 'events_url': 'https://api.github.com/users/retropieuser/events{/privacy}', 'received_events_url': 'https://api.github.com/users/retropieuser/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2026-09-03T20:40:22Z', 'updated_at': '2026-09-03T20:40:22Z', 'body': "I'll just close this and start again, have made a bit of a mess of this, silly GitHub", 'author_association': 'NONE', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5531847398/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-09-03T19:33:16Z', 'pushed_at': '2026-09-03T19:28:31Z', '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': 559845, 'stargazers_count': 15477, 'watchers_count': 15477, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3229, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 464, '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': 3229, 'open_issues': 464, 'watchers': 15477, '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': 'retropieuser', 'id': 73472027, 'node_id': 'MDQ6VXNlcjczNDcyMDI3', 'avatar_url': 'https://avatars.githubusercontent.com/u/73472027?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/retropieuser', 'html_url': 'https://github.com/retropieuser', 'followers_url': 'https://api.github.com/users/retropieuser/followers', 'following_url': 'https://api.github.com/users/retropieuser/following{/other_user}', 'gists_url': 'https://api.github.com/users/retropieuser/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/retropieuser/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/retropieuser/subscriptions', 'organizations_url': 'https://api.github.com/users/retropieuser/orgs', 'repos_url': 'https://api.github.com/users/retropieuser/repos', 'events_url': 'https://api.github.com/users/retropieuser/events{/privacy}', 'received_events_url': 'https://api.github.com/users/retropieuser/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'gh_issue_comment'}
2026-09-03T14:05:57.747055 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'apteryks', 'action': 'created', 'id': 14841, 'title': 'cmake: Try newer glslang versions first.', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14841#issuecomment-5527000668', 'safe_author': False, 'body': 'Done; tested with:\r\n\r\n```\r\nmodified CMake/DolphinLibraryTools.cmake\r\n@@ -90,6 +90,7 @@ function(dolphin_find_optional_system_library library bundled_path)\r\n endwhile()\r\n # Quietly check all the listed versions, from newest to oldest.\r\n list(SORT version_list COMPARE NATURAL ORDER DESCENDING)\r\n+ message(FATAL_ERROR "version_list: ${version_list}")\r\n foreach(version IN LISTS version_list)\r\n find_package(${library} ${version} ${ARGN} QUIET)\r\n if(${library}_FOUND)\r\n```\r\n\r\nwhich printed:\r\n```\r\nCMake Error at CMake/DolphinLibraryTools.cmake:93 (message):\r\n version_list: 16;15\r\n```\r\n\r\nWith the call reverted to the original `dolphin_find_optional_system_library(glslang Externals/glslang DOLPHIN_TRY_VERSIONS 15 16)`.\r\n', 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14841', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14841/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14841/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14841/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14841', 'id': 5331529800, 'node_id': 'PR_kwDOALCn2M8AAAABB_bDhA', 'number': 14841, 'title': 'cmake: Try newer glslang versions first.', 'user': {'login': 'apteryks', 'id': 8332263, 'node_id': 'MDQ6VXNlcjgzMzIyNjM=', 'avatar_url': 'https://avatars.githubusercontent.com/u/8332263?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/apteryks', 'html_url': 'https://github.com/apteryks', 'followers_url': 'https://api.github.com/users/apteryks/followers', 'following_url': 'https://api.github.com/users/apteryks/following{/other_user}', 'gists_url': 'https://api.github.com/users/apteryks/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/apteryks/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/apteryks/subscriptions', 'organizations_url': 'https://api.github.com/users/apteryks/orgs', 'repos_url': 'https://api.github.com/users/apteryks/repos', 'events_url': 'https://api.github.com/users/apteryks/events{/privacy}', 'received_events_url': 'https://api.github.com/users/apteryks/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-03T02:38:55Z', 'updated_at': '2026-09-03T14:05:54Z', '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/14841', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14841', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14841.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14841.patch', 'merged_at': None}, 'body': 'New is usually better; currently the newest version is also the one that is\nshown when the search fails.\n\n* CMakeLists.txt <glslang>: Search version 16 before 15.\n', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14841/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/14841/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5527000668', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14841#issuecomment-5527000668', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14841', 'id': 5527000668, 'node_id': 'IC_kwDOALCn2M8AAAABSW9WXA', 'user': {'login': 'apteryks', 'id': 8332263, 'node_id': 'MDQ6VXNlcjgzMzIyNjM=', 'avatar_url': 'https://avatars.githubusercontent.com/u/8332263?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/apteryks', 'html_url': 'https://github.com/apteryks', 'followers_url': 'https://api.github.com/users/apteryks/followers', 'following_url': 'https://api.github.com/users/apteryks/following{/other_user}', 'gists_url': 'https://api.github.com/users/apteryks/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/apteryks/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/apteryks/subscriptions', 'organizations_url': 'https://api.github.com/users/apteryks/orgs', 'repos_url': 'https://api.github.com/users/apteryks/repos', 'events_url': 'https://api.github.com/users/apteryks/events{/privacy}', 'received_events_url': 'https://api.github.com/users/apteryks/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2026-09-03T14:05:54Z', 'updated_at': '2026-09-03T14:05:54Z', 'body': 'Done; tested with:\r\n\r\n```\r\nmodified CMake/DolphinLibraryTools.cmake\r\n@@ -90,6 +90,7 @@ function(dolphin_find_optional_system_library library bundled_path)\r\n endwhile()\r\n # Quietly check all the listed versions, from newest to oldest.\r\n list(SORT version_list COMPARE NATURAL ORDER DESCENDING)\r\n+ message(FATAL_ERROR "version_list: ${version_list}")\r\n foreach(version IN LISTS version_list)\r\n find_package(${library} ${version} ${ARGN} QUIET)\r\n if(${library}_FOUND)\r\n```\r\n\r\nwhich printed:\r\n```\r\nCMake Error at CMake/DolphinLibraryTools.cmake:93 (message):\r\n version_list: 16;15\r\n```\r\n\r\nWith the call reverted to the original `dolphin_find_optional_system_library(glslang Externals/glslang DOLPHIN_TRY_VERSIONS 15 16)`.\r\n', 'author_association': 'CONTRIBUTOR', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5527000668/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-09-03T13:39:24Z', 'pushed_at': '2026-09-01T04:47:42Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 559822, 'stargazers_count': 15476, 'watchers_count': 15476, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3229, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 467, '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': 3229, 'open_issues': 467, 'watchers': 15476, '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': 'apteryks', 'id': 8332263, 'node_id': 'MDQ6VXNlcjgzMzIyNjM=', 'avatar_url': 'https://avatars.githubusercontent.com/u/8332263?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/apteryks', 'html_url': 'https://github.com/apteryks', 'followers_url': 'https://api.github.com/users/apteryks/followers', 'following_url': 'https://api.github.com/users/apteryks/following{/other_user}', 'gists_url': 'https://api.github.com/users/apteryks/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/apteryks/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/apteryks/subscriptions', 'organizations_url': 'https://api.github.com/users/apteryks/orgs', 'repos_url': 'https://api.github.com/users/apteryks/repos', 'events_url': 'https://api.github.com/users/apteryks/events{/privacy}', 'received_events_url': 'https://api.github.com/users/apteryks/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'gh_issue_comment'}
2026-09-03T13:54:31.568040 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'apteryks', 'action': 'created', 'id': 13824, 'title': 'Dolphin/allow system tinygltf', 'url': 'https://github.com/dolphin-emu/dolphin/pull/13824#issuecomment-5526858333', 'safe_author': False, 'body': 'Rebased.', 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13824', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13824/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13824/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13824/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13824', 'id': 3258584595, 'node_id': 'PR_kwDOALCn2M6gYtyY', 'number': 13824, 'title': 'Dolphin/allow system tinygltf', 'user': {'login': 'apteryks', 'id': 8332263, 'node_id': 'MDQ6VXNlcjgzMzIyNjM=', 'avatar_url': 'https://avatars.githubusercontent.com/u/8332263?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/apteryks', 'html_url': 'https://github.com/apteryks', 'followers_url': 'https://api.github.com/users/apteryks/followers', 'following_url': 'https://api.github.com/users/apteryks/following{/other_user}', 'gists_url': 'https://api.github.com/users/apteryks/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/apteryks/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/apteryks/subscriptions', 'organizations_url': 'https://api.github.com/users/apteryks/orgs', 'repos_url': 'https://api.github.com/users/apteryks/repos', 'events_url': 'https://api.github.com/users/apteryks/events{/privacy}', 'received_events_url': 'https://api.github.com/users/apteryks/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 11, 'created_at': '2025-07-24T05:47:53Z', 'updated_at': '2026-09-03T13:54:29Z', '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/13824', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13824', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/13824.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/13824.patch', 'merged_at': None}, 'body': 'This makes it possible to use a system provided tinygltf library instead of the bundled one.', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13824/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/13824/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5526858333', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13824#issuecomment-5526858333', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13824', 'id': 5526858333, 'node_id': 'IC_kwDOALCn2M8AAAABSW0qXQ', 'user': {'login': 'apteryks', 'id': 8332263, 'node_id': 'MDQ6VXNlcjgzMzIyNjM=', 'avatar_url': 'https://avatars.githubusercontent.com/u/8332263?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/apteryks', 'html_url': 'https://github.com/apteryks', 'followers_url': 'https://api.github.com/users/apteryks/followers', 'following_url': 'https://api.github.com/users/apteryks/following{/other_user}', 'gists_url': 'https://api.github.com/users/apteryks/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/apteryks/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/apteryks/subscriptions', 'organizations_url': 'https://api.github.com/users/apteryks/orgs', 'repos_url': 'https://api.github.com/users/apteryks/repos', 'events_url': 'https://api.github.com/users/apteryks/events{/privacy}', 'received_events_url': 'https://api.github.com/users/apteryks/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2026-09-03T13:54:29Z', 'updated_at': '2026-09-03T13:54:29Z', 'body': 'Rebased.', 'author_association': 'CONTRIBUTOR', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5526858333/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-09-03T13:39:24Z', 'pushed_at': '2026-09-01T04:47:42Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 559822, 'stargazers_count': 15476, 'watchers_count': 15476, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3229, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 467, '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': 3229, 'open_issues': 467, 'watchers': 15476, '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': 'apteryks', 'id': 8332263, 'node_id': 'MDQ6VXNlcjgzMzIyNjM=', 'avatar_url': 'https://avatars.githubusercontent.com/u/8332263?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/apteryks', 'html_url': 'https://github.com/apteryks', 'followers_url': 'https://api.github.com/users/apteryks/followers', 'following_url': 'https://api.github.com/users/apteryks/following{/other_user}', 'gists_url': 'https://api.github.com/users/apteryks/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/apteryks/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/apteryks/subscriptions', 'organizations_url': 'https://api.github.com/users/apteryks/orgs', 'repos_url': 'https://api.github.com/users/apteryks/repos', 'events_url': 'https://api.github.com/users/apteryks/events{/privacy}', 'received_events_url': 'https://api.github.com/users/apteryks/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'gh_issue_comment'}
2026-09-03T13:44:38.044578 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'apteryks', 'action': 'created', 'id': 13823, 'title': 'externals: allow using watcher header library from the system', 'url': 'https://github.com/dolphin-emu/dolphin/pull/13823#issuecomment-5526731561', 'safe_author': False, 'body': "Ah, I had forgotten that I had worked around this issue in the Guix packaging of `watcher`. I've now opened a PR addressing this in watcher itself: https://github.com/e-dant/watcher/pull/126", 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13823', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13823/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13823/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13823/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13823', 'id': 3258315781, 'node_id': 'PR_kwDOALCn2M6gX03g', 'number': 13823, 'title': 'externals: allow using watcher header library from the system', 'user': {'login': 'apteryks', 'id': 8332263, 'node_id': 'MDQ6VXNlcjgzMzIyNjM=', 'avatar_url': 'https://avatars.githubusercontent.com/u/8332263?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/apteryks', 'html_url': 'https://github.com/apteryks', 'followers_url': 'https://api.github.com/users/apteryks/followers', 'following_url': 'https://api.github.com/users/apteryks/following{/other_user}', 'gists_url': 'https://api.github.com/users/apteryks/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/apteryks/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/apteryks/subscriptions', 'organizations_url': 'https://api.github.com/users/apteryks/orgs', 'repos_url': 'https://api.github.com/users/apteryks/repos', 'events_url': 'https://api.github.com/users/apteryks/events{/privacy}', 'received_events_url': 'https://api.github.com/users/apteryks/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 11, 'created_at': '2025-07-24T02:59:44Z', 'updated_at': '2026-09-03T13:44:36Z', '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/13823', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13823', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/13823.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/13823.patch', 'merged_at': None}, 'body': '* CMake/DolphinLibraryTools.cmake (dolphin_find_optional_system_library_include): New function.\r\n* CMakeLists.txt: Use it to locate the watcher header-only library.', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13823/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/13823/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5526731561', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13823#issuecomment-5526731561', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13823', 'id': 5526731561, 'node_id': 'IC_kwDOALCn2M8AAAABSWs7KQ', 'user': {'login': 'apteryks', 'id': 8332263, 'node_id': 'MDQ6VXNlcjgzMzIyNjM=', 'avatar_url': 'https://avatars.githubusercontent.com/u/8332263?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/apteryks', 'html_url': 'https://github.com/apteryks', 'followers_url': 'https://api.github.com/users/apteryks/followers', 'following_url': 'https://api.github.com/users/apteryks/following{/other_user}', 'gists_url': 'https://api.github.com/users/apteryks/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/apteryks/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/apteryks/subscriptions', 'organizations_url': 'https://api.github.com/users/apteryks/orgs', 'repos_url': 'https://api.github.com/users/apteryks/repos', 'events_url': 'https://api.github.com/users/apteryks/events{/privacy}', 'received_events_url': 'https://api.github.com/users/apteryks/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2026-09-03T13:44:36Z', 'updated_at': '2026-09-03T13:44:36Z', 'body': "Ah, I had forgotten that I had worked around this issue in the Guix packaging of `watcher`. I've now opened a PR addressing this in watcher itself: https://github.com/e-dant/watcher/pull/126", 'author_association': 'CONTRIBUTOR', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5526731561/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-09-03T13:39:24Z', 'pushed_at': '2026-09-01T04:47:42Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 559822, 'stargazers_count': 15476, 'watchers_count': 15476, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3229, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 467, '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': 3229, 'open_issues': 467, 'watchers': 15476, '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': 'apteryks', 'id': 8332263, 'node_id': 'MDQ6VXNlcjgzMzIyNjM=', 'avatar_url': 'https://avatars.githubusercontent.com/u/8332263?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/apteryks', 'html_url': 'https://github.com/apteryks', 'followers_url': 'https://api.github.com/users/apteryks/followers', 'following_url': 'https://api.github.com/users/apteryks/following{/other_user}', 'gists_url': 'https://api.github.com/users/apteryks/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/apteryks/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/apteryks/subscriptions', 'organizations_url': 'https://api.github.com/users/apteryks/orgs', 'repos_url': 'https://api.github.com/users/apteryks/repos', 'events_url': 'https://api.github.com/users/apteryks/events{/privacy}', 'received_events_url': 'https://api.github.com/users/apteryks/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'gh_issue_comment'}
2026-09-03T12:13:24.907373 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'JosJuice', 'action': 'created', 'id': 14839, 'title': 'Add AR codes for Timesplitters 2 (Retroachievements)', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14839#issuecomment-5525556290', 'safe_author': True, 'body': 'Please squash the two commits into one.', 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14839', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14839/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14839/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14839/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14839', 'id': 5327052762, 'node_id': 'PR_kwDOALCn2M8AAAABB72s4w', 'number': 14839, 'title': 'Add AR codes for Timesplitters 2 (Retroachievements)', 'user': {'login': 'retropieuser', 'id': 73472027, 'node_id': 'MDQ6VXNlcjczNDcyMDI3', 'avatar_url': 'https://avatars.githubusercontent.com/u/73472027?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/retropieuser', 'html_url': 'https://github.com/retropieuser', 'followers_url': 'https://api.github.com/users/retropieuser/followers', 'following_url': 'https://api.github.com/users/retropieuser/following{/other_user}', 'gists_url': 'https://api.github.com/users/retropieuser/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/retropieuser/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/retropieuser/subscriptions', 'organizations_url': 'https://api.github.com/users/retropieuser/orgs', 'repos_url': 'https://api.github.com/users/retropieuser/repos', 'events_url': 'https://api.github.com/users/retropieuser/events{/privacy}', 'received_events_url': 'https://api.github.com/users/retropieuser/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-02T17:21:08Z', 'updated_at': '2026-09-03T12:13:22Z', '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/14839', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14839', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14839.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14839.patch', 'merged_at': None}, 'body': 'Added in the two codes listed on the game wiki page\r\n\r\nhttps://wiki.dolphin-emu.org/index.php?title=TimeSplitters_2\r\n\r\n16:9 Widescreen during gameplay & the Border Fix', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14839/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/14839/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5525556290', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14839#issuecomment-5525556290', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14839', 'id': 5525556290, 'node_id': 'IC_kwDOALCn2M8AAAABSVlMQg', '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-09-03T12:13:22Z', 'updated_at': '2026-09-03T12:13:22Z', 'body': 'Please squash the two commits into one.', 'author_association': 'MEMBER', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5525556290/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-09-03T10:41:39Z', 'pushed_at': '2026-09-01T04:47:42Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 559822, 'stargazers_count': 15475, 'watchers_count': 15475, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3229, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 467, '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': 3229, 'open_issues': 467, 'watchers': 15475, '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-09-03T12:10:42.071268 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'JosJuice', 'action': 'created', 'id': 13824, 'title': 'Dolphin/allow system tinygltf', 'url': 'https://github.com/dolphin-emu/dolphin/pull/13824#issuecomment-5525523332', 'safe_author': True, 'body': 'Looks like this needs a rebase now that time has passed. Note that the .vcxproj and .props files are no longer part of Dolphin because we removed support for MSBuild, so you can remove the changes you made to those files.', 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13824', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13824/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13824/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13824/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13824', 'id': 3258584595, 'node_id': 'PR_kwDOALCn2M6gYtyY', 'number': 13824, 'title': 'Dolphin/allow system tinygltf', 'user': {'login': 'apteryks', 'id': 8332263, 'node_id': 'MDQ6VXNlcjgzMzIyNjM=', 'avatar_url': 'https://avatars.githubusercontent.com/u/8332263?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/apteryks', 'html_url': 'https://github.com/apteryks', 'followers_url': 'https://api.github.com/users/apteryks/followers', 'following_url': 'https://api.github.com/users/apteryks/following{/other_user}', 'gists_url': 'https://api.github.com/users/apteryks/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/apteryks/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/apteryks/subscriptions', 'organizations_url': 'https://api.github.com/users/apteryks/orgs', 'repos_url': 'https://api.github.com/users/apteryks/repos', 'events_url': 'https://api.github.com/users/apteryks/events{/privacy}', 'received_events_url': 'https://api.github.com/users/apteryks/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 10, 'created_at': '2025-07-24T05:47:53Z', 'updated_at': '2026-09-03T12:10:40Z', '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/13824', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13824', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/13824.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/13824.patch', 'merged_at': None}, 'body': 'This makes it possible to use a system provided tinygltf library instead of the bundled one.', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13824/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/13824/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5525523332', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13824#issuecomment-5525523332', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13824', 'id': 5525523332, 'node_id': 'IC_kwDOALCn2M8AAAABSVjLhA', '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-09-03T12:10:40Z', 'updated_at': '2026-09-03T12:10:40Z', 'body': 'Looks like this needs a rebase now that time has passed. Note that the .vcxproj and .props files are no longer part of Dolphin because we removed support for MSBuild, so you can remove the changes you made to those files.', 'author_association': 'MEMBER', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5525523332/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-09-03T10:41:39Z', 'pushed_at': '2026-09-01T04:47:42Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 559822, 'stargazers_count': 15475, 'watchers_count': 15475, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3229, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 467, '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': 3229, 'open_issues': 467, 'watchers': 15475, '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-09-03T08:17:28.821912 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'JoshuaVandaele', 'action': 'created', 'id': 13823, 'title': 'externals: allow using watcher header library from the system', 'url': 'https://github.com/dolphin-emu/dolphin/pull/13823#issuecomment-5522729290', 'safe_author': True, 'body': 'Attempting to use a system-installed watcher (from either the latest version or the version Dolphin uses) from a system install isn\'t possible for now, I run into this issue:\r\n\r\n```\r\nCMake Error in Source/Core/Common/CMakeLists.txt:\r\n Target "_alias_PkgConfigWATCHER" contains relative path in its\r\n INTERFACE_INCLUDE_DIRECTORIES:\r\n\r\n "include/wtr"\r\n```\r\n\r\nI suspect their pkgconf file isn\'t correctly formatted. As such, this is currently mainly blocked by https://github.com/e-dant/watcher/issues/82. This is otherwise a change I\'m fine with, but the `dolphin_find_optional_system_library_pkgconfig` call will need to have `>=` to a version that doesn\'t have a broken pkgconf.', 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13823', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13823/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13823/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13823/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13823', 'id': 3258315781, 'node_id': 'PR_kwDOALCn2M6gX03g', 'number': 13823, 'title': 'externals: allow using watcher header library from the system', 'user': {'login': 'apteryks', 'id': 8332263, 'node_id': 'MDQ6VXNlcjgzMzIyNjM=', 'avatar_url': 'https://avatars.githubusercontent.com/u/8332263?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/apteryks', 'html_url': 'https://github.com/apteryks', 'followers_url': 'https://api.github.com/users/apteryks/followers', 'following_url': 'https://api.github.com/users/apteryks/following{/other_user}', 'gists_url': 'https://api.github.com/users/apteryks/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/apteryks/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/apteryks/subscriptions', 'organizations_url': 'https://api.github.com/users/apteryks/orgs', 'repos_url': 'https://api.github.com/users/apteryks/repos', 'events_url': 'https://api.github.com/users/apteryks/events{/privacy}', 'received_events_url': 'https://api.github.com/users/apteryks/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 10, 'created_at': '2025-07-24T02:59:44Z', 'updated_at': '2026-09-03T08:17:26Z', '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/13823', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13823', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/13823.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/13823.patch', 'merged_at': None}, 'body': '* CMake/DolphinLibraryTools.cmake (dolphin_find_optional_system_library_include): New function.\r\n* CMakeLists.txt: Use it to locate the watcher header-only library.', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13823/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/13823/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5522729290', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13823#issuecomment-5522729290', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13823', 'id': 5522729290, 'node_id': 'IC_kwDOALCn2M8AAAABSS4pSg', '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-09-03T08:17:26Z', 'updated_at': '2026-09-03T08:17:26Z', 'body': 'Attempting to use a system-installed watcher (from either the latest version or the version Dolphin uses) from a system install isn\'t possible for now, I run into this issue:\r\n\r\n```\r\nCMake Error in Source/Core/Common/CMakeLists.txt:\r\n Target "_alias_PkgConfigWATCHER" contains relative path in its\r\n INTERFACE_INCLUDE_DIRECTORIES:\r\n\r\n "include/wtr"\r\n```\r\n\r\nI suspect their pkgconf file isn\'t correctly formatted. As such, this is currently mainly blocked by https://github.com/e-dant/watcher/issues/82. This is otherwise a change I\'m fine with, but the `dolphin_find_optional_system_library_pkgconfig` call will need to have `>=` to a version that doesn\'t have a broken pkgconf.', 'author_association': 'MEMBER', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5522729290/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-09-03T02:10:13Z', 'pushed_at': '2026-09-01T04:47:42Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 559822, 'stargazers_count': 15474, 'watchers_count': 15474, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3228, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 465, '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': 3228, 'open_issues': 465, 'watchers': 15474, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'JoshuaVandaele', 'id': 24195176, 'node_id': 'MDQ6VXNlcjI0MTk1MTc2', 'avatar_url': 'https://avatars.githubusercontent.com/u/24195176?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/JoshuaVandaele', 'html_url': 'https://github.com/JoshuaVandaele', 'followers_url': 'https://api.github.com/users/JoshuaVandaele/followers', 'following_url': 'https://api.github.com/users/JoshuaVandaele/following{/other_user}', 'gists_url': 'https://api.github.com/users/JoshuaVandaele/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/JoshuaVandaele/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/JoshuaVandaele/subscriptions', 'organizations_url': 'https://api.github.com/users/JoshuaVandaele/orgs', 'repos_url': 'https://api.github.com/users/JoshuaVandaele/repos', 'events_url': 'https://api.github.com/users/JoshuaVandaele/events{/privacy}', 'received_events_url': 'https://api.github.com/users/JoshuaVandaele/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'gh_issue_comment'}
2026-09-03T07:51:52.667255 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'apteryks', 'action': 'created', 'id': 13823, 'title': 'externals: allow using watcher header library from the system', 'url': 'https://github.com/dolphin-emu/dolphin/pull/13823#issuecomment-5522439761', 'safe_author': False, 'body': "I've been using this in the `dolphin-emu` package in Guix for more than a year; for what it's worth :-).", 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13823', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13823/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13823/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13823/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13823', 'id': 3258315781, 'node_id': 'PR_kwDOALCn2M6gX03g', 'number': 13823, 'title': 'externals: allow using watcher header library from the system', 'user': {'login': 'apteryks', 'id': 8332263, 'node_id': 'MDQ6VXNlcjgzMzIyNjM=', 'avatar_url': 'https://avatars.githubusercontent.com/u/8332263?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/apteryks', 'html_url': 'https://github.com/apteryks', 'followers_url': 'https://api.github.com/users/apteryks/followers', 'following_url': 'https://api.github.com/users/apteryks/following{/other_user}', 'gists_url': 'https://api.github.com/users/apteryks/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/apteryks/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/apteryks/subscriptions', 'organizations_url': 'https://api.github.com/users/apteryks/orgs', 'repos_url': 'https://api.github.com/users/apteryks/repos', 'events_url': 'https://api.github.com/users/apteryks/events{/privacy}', 'received_events_url': 'https://api.github.com/users/apteryks/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 9, 'created_at': '2025-07-24T02:59:44Z', 'updated_at': '2026-09-03T07:51:51Z', 'closed_at': None, 'assignee': None, 'author_association': 'CONTRIBUTOR', 'issue_field_values': [], 'type': None, 'active_lock_reason': None, 'draft': False, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/13823', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13823', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/13823.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/13823.patch', 'merged_at': None}, 'body': '* CMake/DolphinLibraryTools.cmake (dolphin_find_optional_system_library_include): New function.\r\n* CMakeLists.txt: Use it to locate the watcher header-only library.', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13823/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/13823/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5522439761', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13823#issuecomment-5522439761', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13823', 'id': 5522439761, 'node_id': 'IC_kwDOALCn2M8AAAABSSm-UQ', 'user': {'login': 'apteryks', 'id': 8332263, 'node_id': 'MDQ6VXNlcjgzMzIyNjM=', 'avatar_url': 'https://avatars.githubusercontent.com/u/8332263?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/apteryks', 'html_url': 'https://github.com/apteryks', 'followers_url': 'https://api.github.com/users/apteryks/followers', 'following_url': 'https://api.github.com/users/apteryks/following{/other_user}', 'gists_url': 'https://api.github.com/users/apteryks/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/apteryks/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/apteryks/subscriptions', 'organizations_url': 'https://api.github.com/users/apteryks/orgs', 'repos_url': 'https://api.github.com/users/apteryks/repos', 'events_url': 'https://api.github.com/users/apteryks/events{/privacy}', 'received_events_url': 'https://api.github.com/users/apteryks/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2026-09-03T07:51:51Z', 'updated_at': '2026-09-03T07:51:51Z', 'body': "I've been using this in the `dolphin-emu` package in Guix for more than a year; for what it's worth :-).", 'author_association': 'CONTRIBUTOR', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5522439761/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-09-03T02:10:13Z', 'pushed_at': '2026-09-01T04:47:42Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 559822, 'stargazers_count': 15474, 'watchers_count': 15474, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3228, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 465, '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': 3228, 'open_issues': 465, 'watchers': 15474, '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': 'apteryks', 'id': 8332263, 'node_id': 'MDQ6VXNlcjgzMzIyNjM=', 'avatar_url': 'https://avatars.githubusercontent.com/u/8332263?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/apteryks', 'html_url': 'https://github.com/apteryks', 'followers_url': 'https://api.github.com/users/apteryks/followers', 'following_url': 'https://api.github.com/users/apteryks/following{/other_user}', 'gists_url': 'https://api.github.com/users/apteryks/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/apteryks/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/apteryks/subscriptions', 'organizations_url': 'https://api.github.com/users/apteryks/orgs', 'repos_url': 'https://api.github.com/users/apteryks/repos', 'events_url': 'https://api.github.com/users/apteryks/events{/privacy}', 'received_events_url': 'https://api.github.com/users/apteryks/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'gh_issue_comment'}
2026-09-03T01:49:56.034899 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'apteryks', 'action': 'created', 'id': 13824, 'title': 'Dolphin/allow system tinygltf', 'url': 'https://github.com/dolphin-emu/dolphin/pull/13824#issuecomment-5519088063', 'safe_author': False, 'body': 'Gentle ping :-)', 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13824', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13824/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13824/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13824/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13824', 'id': 3258584595, 'node_id': 'PR_kwDOALCn2M6gYtyY', 'number': 13824, 'title': 'Dolphin/allow system tinygltf', 'user': {'login': 'apteryks', 'id': 8332263, 'node_id': 'MDQ6VXNlcjgzMzIyNjM=', 'avatar_url': 'https://avatars.githubusercontent.com/u/8332263?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/apteryks', 'html_url': 'https://github.com/apteryks', 'followers_url': 'https://api.github.com/users/apteryks/followers', 'following_url': 'https://api.github.com/users/apteryks/following{/other_user}', 'gists_url': 'https://api.github.com/users/apteryks/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/apteryks/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/apteryks/subscriptions', 'organizations_url': 'https://api.github.com/users/apteryks/orgs', 'repos_url': 'https://api.github.com/users/apteryks/repos', 'events_url': 'https://api.github.com/users/apteryks/events{/privacy}', 'received_events_url': 'https://api.github.com/users/apteryks/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 9, 'created_at': '2025-07-24T05:47:53Z', 'updated_at': '2026-09-03T01:49:53Z', '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/13824', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13824', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/13824.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/13824.patch', 'merged_at': None}, 'body': 'This makes it possible to use a system provided tinygltf library instead of the bundled one.', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13824/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/13824/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5519088063', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13824#issuecomment-5519088063', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13824', 'id': 5519088063, 'node_id': 'IC_kwDOALCn2M8AAAABSPaZvw', 'user': {'login': 'apteryks', 'id': 8332263, 'node_id': 'MDQ6VXNlcjgzMzIyNjM=', 'avatar_url': 'https://avatars.githubusercontent.com/u/8332263?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/apteryks', 'html_url': 'https://github.com/apteryks', 'followers_url': 'https://api.github.com/users/apteryks/followers', 'following_url': 'https://api.github.com/users/apteryks/following{/other_user}', 'gists_url': 'https://api.github.com/users/apteryks/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/apteryks/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/apteryks/subscriptions', 'organizations_url': 'https://api.github.com/users/apteryks/orgs', 'repos_url': 'https://api.github.com/users/apteryks/repos', 'events_url': 'https://api.github.com/users/apteryks/events{/privacy}', 'received_events_url': 'https://api.github.com/users/apteryks/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2026-09-03T01:49:53Z', 'updated_at': '2026-09-03T01:49:53Z', 'body': 'Gentle ping :-)', 'author_association': 'CONTRIBUTOR', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5519088063/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-09-02T19:02:50Z', 'pushed_at': '2026-09-01T04:47:42Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 559822, 'stargazers_count': 15475, 'watchers_count': 15475, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3229, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 464, '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': 3229, 'open_issues': 464, 'watchers': 15475, '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': 'apteryks', 'id': 8332263, 'node_id': 'MDQ6VXNlcjgzMzIyNjM=', 'avatar_url': 'https://avatars.githubusercontent.com/u/8332263?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/apteryks', 'html_url': 'https://github.com/apteryks', 'followers_url': 'https://api.github.com/users/apteryks/followers', 'following_url': 'https://api.github.com/users/apteryks/following{/other_user}', 'gists_url': 'https://api.github.com/users/apteryks/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/apteryks/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/apteryks/subscriptions', 'organizations_url': 'https://api.github.com/users/apteryks/orgs', 'repos_url': 'https://api.github.com/users/apteryks/repos', 'events_url': 'https://api.github.com/users/apteryks/events{/privacy}', 'received_events_url': 'https://api.github.com/users/apteryks/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-09-06T07:35:35.332648 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'linkmauve', 'action': 'closed', 'id': 14847, 'title': 'Revert "VideoCommon: Use correct size for PE token"', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14847', 'head_ref_name': 'pe-token-2-bytes', 'safe_author': True, 'base_sha': '982e8d183d8df64b641a9809ec2f3b193f94e5e5', 'head_sha': '3e95d0fc16c53f3c51b6469c9419d05ca4b3401a', 'merged': True, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-09-06T07:07:33.003363 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'linkmauve', 'action': 'opened', 'id': 14847, 'title': 'Revert "VideoCommon: Use correct size for PE token"', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14847', 'head_ref_name': 'pe-token-2-bytes', 'safe_author': True, 'base_sha': '982e8d183d8df64b641a9809ec2f3b193f94e5e5', 'head_sha': '3e95d0fc16c53f3c51b6469c9419d05ca4b3401a', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-09-06T06:30:39.597518 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'iwubcode', 'action': 'synchronize', 'id': 14840, 'title': 'VideoCommon: split partial texture update logic from the actual rendering', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14840', 'head_ref_name': 'dolphin_texture_refactor_3', 'safe_author': True, 'base_sha': '982e8d183d8df64b641a9809ec2f3b193f94e5e5', 'head_sha': 'b21878da9c8f1c91b8a534a81a553a80d04d718a', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-09-06T06:04:08.021486 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'iwubcode', 'action': 'synchronize', 'id': 14836, 'title': 'VideoCommon: refactor texture cache frame buffer copies', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14836', 'head_ref_name': 'dolphin_texture_refactor_1', 'safe_author': True, 'base_sha': '982e8d183d8df64b641a9809ec2f3b193f94e5e5', 'head_sha': '6d620ebd902b7e915d462a2fc09d1148bf9faf68', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-09-06T05:04:50.629516 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'Dentomologist', 'action': 'closed', 'id': 14817, 'title': 'Common: Add Android to GetNetplayDolphinVer', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14817', 'head_ref_name': 'android-netplay-version', 'safe_author': True, 'base_sha': '38e70fda6597dab6b7e5e4d3949b199c0b4f2244', 'head_sha': 'c774385c7b7911f467fbaf01c70893f54c63fc99', 'merged': True, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-09-06T02:37:59.689254 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'phire', 'action': 'closed', 'id': 14789, 'title': 'Optimize vertex_shader_uid_data down to 28 bytes', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14789', 'head_ref_name': 'optimise_vs_uid', 'safe_author': True, 'base_sha': '430138f468effe6bf396adf3cd4d46df4cbd9050', 'head_sha': 'e5eabd08f583fbdd3bb2551778e5ecb67dff0843', 'merged': True, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-09-06T00:06:33.231313 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'phire', 'action': 'closed', 'id': 14843, 'title': 'Core: Improve error message on empty dff', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14843', 'head_ref_name': 'better-dff-error-message', 'safe_author': True, 'base_sha': 'a1e636d72c8469acf747ac6542f0b7ace7cea02f', 'head_sha': 'cdb1744994faa9dad6172f235b8e5801577c52c5', 'merged': True, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-09-06T00:06:19.428280 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'phire', 'action': 'closed', 'id': 14842, 'title': 'VideoCommon: Use correct size for PE token', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14842', 'head_ref_name': 'pe-token-2-bytes', 'safe_author': True, 'base_sha': 'a1e636d72c8469acf747ac6542f0b7ace7cea02f', 'head_sha': 'e4349ae1791dec688d91c6813eeadf049a8c73ec', 'merged': True, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-09-05T20:29:43.792720 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'iwubcode', 'action': 'synchronize', 'id': 14836, 'title': 'VideoCommon: refactor texture cache frame buffer copies', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14836', 'head_ref_name': 'dolphin_texture_refactor_1', 'safe_author': True, 'base_sha': 'f0862e12e18c75f508aa5423f8726bf5b39d8e8d', 'head_sha': 'a7698f4a921cbe63404bbf4c6d0f0ec6a6c2526f', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-09-05T18:45:16.642552 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'JMC47', 'action': 'closed', 'id': 14844, 'title': 'Add AR codes for Timesplitters 2 (Retroachievements)', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14844', 'head_ref_name': 'master', 'safe_author': True, 'base_sha': 'ca8c6ee45e419296226e4da8c2b2adaaf54e0299', 'head_sha': '4a9db521c14c2289af1429e76f9f622387f4359f', 'merged': True, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-09-05T10:18:22.109607 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'JosJuice', 'action': 'closed', 'id': 14838, 'title': 'MemArenaDarwin: Pass the MAP_MEM_VM_SHARE flag to mach_make_memory_entry_64', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14838', 'head_ref_name': 'mac-memory-increase-fail', 'safe_author': True, 'base_sha': 'a1e636d72c8469acf747ac6542f0b7ace7cea02f', 'head_sha': '27804b4e67a430133c0227265c0d9c0473efa783', 'merged': True, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-09-04T21:19:56.060309 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'Tilka', 'action': 'synchronize', 'id': 14845, 'title': 'generate_coefs.py: fix compatibility with modern NumPy', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14845', 'head_ref_name': 'generate_coefs', 'safe_author': True, 'base_sha': 'e559fd7c3cfe7eabe9650978655c2f64c1570f29', 'head_sha': '5d4cf0ec6552e0dffdce0bc318932b9481e7084c', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-09-04T20:03:27.450890 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'Tilka', 'action': 'closed', 'id': 14846, 'title': 'HW/EXI: Don’t dereference one item past end of array', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14846', 'head_ref_name': 'fix-usb-gecko', 'safe_author': True, 'base_sha': 'ca8c6ee45e419296226e4da8c2b2adaaf54e0299', 'head_sha': 'f80a78869a3babd939f7a85ae60726f671b45c39', 'merged': True, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-09-04T19:31:58.837283 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'Linkinworm', 'action': 'synchronize', 'id': 14605, 'title': 'Android: GBA systems added', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14605', 'head_ref_name': 'Android_GBA_Enabler', 'safe_author': True, 'base_sha': '73de7b8d3e59d4bef685f582d305b65bdb85a707', 'head_sha': '1c056d55b1b89bd1fb32525d1424e9638fcbb88d', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-09-04T13:39:28.055976 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'linkmauve', 'action': 'opened', 'id': 14846, 'title': 'HW/EXI: Don’t dereference one item past end of array', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14846', 'head_ref_name': 'fix-usb-gecko', 'safe_author': True, 'base_sha': 'ca8c6ee45e419296226e4da8c2b2adaaf54e0299', 'head_sha': 'f80a78869a3babd939f7a85ae60726f671b45c39', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-09-04T01:27:56.707103 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'Tilka', 'action': 'opened', 'id': 14845, 'title': 'generate_coefs.py: fix compatibility with modern NumPy', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14845', 'head_ref_name': 'generate_coefs', 'safe_author': True, 'base_sha': 'ca8c6ee45e419296226e4da8c2b2adaaf54e0299', 'head_sha': '6c8f3e3c04b1ba7b77feae5116f2125b6ba5af31', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-09-03T20:54:12.817188 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'retropieuser', 'action': 'opened', 'id': 14844, 'title': 'Add AR codes for Timesplitters 2 (Retroachievements)', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14844', 'head_ref_name': 'master', 'safe_author': False, 'base_sha': 'ca8c6ee45e419296226e4da8c2b2adaaf54e0299', 'head_sha': '4a9db521c14c2289af1429e76f9f622387f4359f', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-09-03T20:40:24.422286 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'retropieuser', 'action': 'closed', 'id': 14839, 'title': 'Add AR codes for Timesplitters 2 (Retroachievements)', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14839', 'head_ref_name': 'master', 'safe_author': False, 'base_sha': 'a1e636d72c8469acf747ac6542f0b7ace7cea02f', 'head_sha': '692e6e5070da28c755ef7e9a0550b1e8227ed3ec', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-09-03T20:10:22.484790 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'retropieuser', 'action': 'synchronize', 'id': 14839, 'title': 'Add AR codes for Timesplitters 2 (Retroachievements)', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14839', 'head_ref_name': 'master', 'safe_author': False, 'base_sha': 'a1e636d72c8469acf747ac6542f0b7ace7cea02f', 'head_sha': '692e6e5070da28c755ef7e9a0550b1e8227ed3ec', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-09-03T19:28:33.611901 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'JosJuice', 'action': 'closed', 'id': 14830, 'title': 'SDLGamepad: Add Misc 2 through 6', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14830', 'head_ref_name': 'sdl-miscs', 'safe_author': True, 'base_sha': '4f8af23db516d8b6e9cd00e7b261a65b026514a8', 'head_sha': 'b572e4ca5a74481fad0bd14e4c5f9719945d61d8', 'merged': True, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-09-03T19:28:22.359637 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'JosJuice', 'action': 'closed', 'id': 14686, 'title': 'SDLGamepad: Support multiple touchpads', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14686', 'head_ref_name': 'sdl-touchpads', 'safe_author': True, 'base_sha': '3450298af0109d85210d57e9b94bb3f71a5fbae5', 'head_sha': '7da0baae932f55a228ae92be7f4cf7231683f4ca', 'merged': True, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-09-03T14:04:43.398045 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'apteryks', 'action': 'synchronize', 'id': 14841, 'title': 'cmake: Try newer glslang versions first.', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14841', 'head_ref_name': 'try-newer-glslang-versions-first', 'safe_author': False, 'base_sha': 'a1e636d72c8469acf747ac6542f0b7ace7cea02f', 'head_sha': 'b9bd69d57ec6f97447bd7382659a9c3c882dba9a', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-09-03T13:54:03.968334 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'apteryks', 'action': 'synchronize', 'id': 13824, 'title': 'Dolphin/allow system tinygltf', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/13824', 'head_ref_name': 'dolphin/allow-system-tinygltf', 'safe_author': False, 'base_sha': 'a1e636d72c8469acf747ac6542f0b7ace7cea02f', 'head_sha': '7fe76c71e33c9444e7060fc90dd2f4013764d8c3', 'merged': False, 'requested_reviewers': [{'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}], 'type': 'gh_pull_request'}
2026-09-03T13:42:35.180915 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'retropieuser', 'action': 'ready_for_review', 'id': 14839, 'title': 'Add AR codes for Timesplitters 2 (Retroachievements)', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14839', 'head_ref_name': 'master', 'safe_author': False, 'base_sha': 'a1e636d72c8469acf747ac6542f0b7ace7cea02f', 'head_sha': '1eaf415b2428fb020bbc5dbf57ac1a5c83d1abbf', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-09-03T13:28:51.096583 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'retropieuser', 'action': 'converted_to_draft', 'id': 14839, 'title': 'Add AR codes for Timesplitters 2 (Retroachievements)', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14839', 'head_ref_name': 'master', 'safe_author': False, 'base_sha': 'a1e636d72c8469acf747ac6542f0b7ace7cea02f', 'head_sha': '1eaf415b2428fb020bbc5dbf57ac1a5c83d1abbf', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
Recent 'gh_pull_request_comment' events
2026-09-06T00:35:44.982726 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'iwubcode', 'action': 'created', 'id': 14840, 'hash': 'e7f23da63c5d81262c8efb5e3a320ce2509f11b8', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14840#discussion_r3942512666', 'is_part_of_review': False, 'type': 'gh_pull_request_comment'}
2026-09-06T00:31:08.678013 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'iwubcode', 'action': 'created', 'id': 14836, 'hash': 'a7698f4a921cbe63404bbf4c6d0f0ec6a6c2526f', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14836#discussion_r3942503601', 'is_part_of_review': False, 'type': 'gh_pull_request_comment'}
2026-09-06T00:24:57.218251 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'iwubcode', 'action': 'created', 'id': 14840, 'hash': 'e7f23da63c5d81262c8efb5e3a320ce2509f11b8', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14840#discussion_r3942465704', 'is_part_of_review': True, 'type': 'gh_pull_request_comment'}
2026-09-06T00:24:57.194209 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'iwubcode', 'action': 'created', 'id': 14840, 'hash': 'e7f23da63c5d81262c8efb5e3a320ce2509f11b8', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14840#discussion_r3942488181', 'is_part_of_review': True, 'type': 'gh_pull_request_comment'}
2026-09-06T00:24:57.134285 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'iwubcode', 'action': 'created', 'id': 14840, 'hash': 'e7f23da63c5d81262c8efb5e3a320ce2509f11b8', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14840#discussion_r3942484584', 'is_part_of_review': True, 'type': 'gh_pull_request_comment'}
2026-09-06T00:24:57.133623 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'iwubcode', 'action': 'created', 'id': 14840, 'hash': 'e7f23da63c5d81262c8efb5e3a320ce2509f11b8', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14840#discussion_r3942463695', 'is_part_of_review': True, 'type': 'gh_pull_request_comment'}
2026-09-06T00:12:13.299156 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'phire', 'action': 'created', 'id': 14836, 'hash': 'a7698f4a921cbe63404bbf4c6d0f0ec6a6c2526f', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14836#discussion_r3942467883', 'is_part_of_review': False, 'type': 'gh_pull_request_comment'}
2026-09-06T00:04:45.415171 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'phire', 'action': 'created', 'id': 14840, 'hash': 'e7f23da63c5d81262c8efb5e3a320ce2509f11b8', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14840#discussion_r3942449902', 'is_part_of_review': True, 'type': 'gh_pull_request_comment'}
2026-09-06T00:04:45.414515 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'phire', 'action': 'created', 'id': 14840, 'hash': 'e7f23da63c5d81262c8efb5e3a320ce2509f11b8', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14840#discussion_r3942442490', 'is_part_of_review': True, 'type': 'gh_pull_request_comment'}
2026-09-06T00:04:45.413896 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'phire', 'action': 'created', 'id': 14840, 'hash': 'e7f23da63c5d81262c8efb5e3a320ce2509f11b8', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14840#discussion_r3942437199', 'is_part_of_review': True, 'type': 'gh_pull_request_comment'}
2026-09-06T00:04:45.413240 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'phire', 'action': 'created', 'id': 14840, 'hash': 'e7f23da63c5d81262c8efb5e3a320ce2509f11b8', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14840#discussion_r3942422078', 'is_part_of_review': True, 'type': 'gh_pull_request_comment'}
2026-09-06T00:04:45.412547 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'phire', 'action': 'created', 'id': 14840, 'hash': 'e7f23da63c5d81262c8efb5e3a320ce2509f11b8', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14840#discussion_r3942428265', 'is_part_of_review': True, 'type': 'gh_pull_request_comment'}
2026-09-06T00:04:45.411711 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'phire', 'action': 'created', 'id': 14840, 'hash': 'e7f23da63c5d81262c8efb5e3a320ce2509f11b8', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14840#discussion_r3942399297', 'is_part_of_review': True, 'type': 'gh_pull_request_comment'}
2026-09-05T19:18:09.749163 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'JosJuice', 'action': 'created', 'id': 14833, 'hash': '2478b5715e15a702b3a516634527222bc920c2a0', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14833#discussion_r3941773736', 'is_part_of_review': True, 'type': 'gh_pull_request_comment'}
2026-09-05T19:16:18.718894 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'iwubcode', 'action': 'created', 'id': 14833, 'hash': '2478b5715e15a702b3a516634527222bc920c2a0', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14833#discussion_r3941768142', 'is_part_of_review': False, 'type': 'gh_pull_request_comment'}
2026-09-05T12:47:58.249384 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'JosJuice', 'action': 'created', 'id': 14844, 'hash': '4a9db521c14c2289af1429e76f9f622387f4359f', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14844#discussion_r3940671123', 'is_part_of_review': False, 'type': 'gh_pull_request_comment'}
2026-09-05T12:46:20.708828 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'retropieuser', 'action': 'created', 'id': 14844, 'hash': '4a9db521c14c2289af1429e76f9f622387f4359f', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14844#discussion_r3940668127', 'is_part_of_review': True, 'type': 'gh_pull_request_comment'}
2026-09-05T12:39:01.440587 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'JosJuice', 'action': 'created', 'id': 14844, 'hash': '4a9db521c14c2289af1429e76f9f622387f4359f', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14844#discussion_r3940653140', 'is_part_of_review': False, 'type': 'gh_pull_request_comment'}
2026-09-05T12:35:21.025758 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'retropieuser', 'action': 'created', 'id': 14844, 'hash': '4a9db521c14c2289af1429e76f9f622387f4359f', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14844#discussion_r3940645143', 'is_part_of_review': False, 'type': 'gh_pull_request_comment'}
2026-09-05T08:59:09.718915 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'JosJuice', 'action': 'created', 'id': 14844, 'hash': '4a9db521c14c2289af1429e76f9f622387f4359f', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14844#discussion_r3940081647', 'is_part_of_review': True, 'type': 'gh_pull_request_comment'}
2026-09-04T21:52:53.337488 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'sepalani', 'action': 'created', 'id': 14845, 'hash': '5d4cf0ec6552e0dffdce0bc318932b9481e7084c', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14845#discussion_r3938113307', 'is_part_of_review': False, 'type': 'gh_pull_request_comment'}
2026-09-04T08:18:52.699600 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'sepalani', 'action': 'created', 'id': 14845, 'hash': '6c8f3e3c04b1ba7b77feae5116f2125b6ba5af31', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14845#discussion_r3932180720', 'is_part_of_review': True, 'type': 'gh_pull_request_comment'}
Recent 'gh_pull_request_review' events
2026-09-06T07:08:06.962802 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'Pokechu22', 'action': 'submitted', 'pr_id': 14847, 'pr_title': 'Revert "VideoCommon: Use correct size for PE token"', 'state': 'approved', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14847#pullrequestreview-5124520594', 'comments': [], 'type': 'gh_pull_request_review'}
2026-09-06T05:04:35.543346 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'Dentomologist', 'action': 'submitted', 'pr_id': 14817, 'pr_title': 'Common: Add Android to GetNetplayDolphinVer', 'state': 'approved', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14817#pullrequestreview-5124230820', 'comments': [], 'type': 'gh_pull_request_review'}
2026-09-06T01:35:11.109073 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'JoshuaVandaele', 'action': 'submitted', 'pr_id': 14817, 'pr_title': 'Common: Add Android to GetNetplayDolphinVer', 'state': 'approved', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14817#pullrequestreview-5123722995', 'comments': [], 'type': 'gh_pull_request_review'}
2026-09-06T00:35:45.376238 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'iwubcode', 'action': 'submitted', 'pr_id': 14840, 'pr_title': 'VideoCommon: split partial texture update logic from the actual rendering', 'state': 'commented', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14840#pullrequestreview-5123572081', 'comments': [{'id': 3942512666, 'node_id': 'PRRC_kwDOALCn2M7q_fga', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/3942512666', 'pull_request_review_id': 5123572081, 'diff_hunk': "@@ -809,6 +810,149 @@ void TCacheEntry::DoState(PointerWrap& p)\n p.Do(frameCount);\n }\n \n+PartialTextureUpdateContext TextureCacheBase::BuildPartialUpdateContext(\n+ const RcTcacheEntry& target, const RcTcacheEntry& source, const u8* palette, TLUTFormat tlutfmt,\n+ bool is_palette_texture, u32 block_width, u32 block_height, u32 block_size, u32 numBlocksX)\n+{\n+ RcTcacheEntry source_entry = source;\n+\n+ PartialTextureUpdateContext context;\n+ context.target_entry = target;\n+ context.source_entry = source_entry;\n+\n+ // If the texture formats are not compatible or convertible, skip it.\n+ if (!IsCompatibleTextureFormat(target->format.texfmt, source_entry->format.texfmt))\n+ {\n+ if (CanReinterpretTextureOnGPU(target->format.texfmt, source_entry->format.texfmt))\n+ {\n+ context.needs_reinterpret = true;\n+ context.reinterpret_entry =\n+ CreateReinterpretEntry(context.source_entry, target->format.texfmt);\n+ if (!context.reinterpret_entry)\n+ return {};\n+\n+ source_entry = context.reinterpret_entry;\n+ }\n+ else\n+ {\n+ return {};\n+ }\n+ }\n+\n+ if (is_palette_texture)\n+ {\n+ context.needs_palette = true;\n+ context.tlutfmt = tlutfmt;\n+ std::tie(context.palette_entry, context.texel_offset) =\n+ CreatePaletteEntryWithOffset(source_entry, palette);\n+ if (!context.palette_entry)\n+ return {};\n+\n+ // Link the efb copy with the partially updated texture, so we won't apply this partial\n+ // update again\n+ source_entry->CreateReference(target.get());\n+ // Mark the texture update as used, as if it was loaded directly\n+ source_entry->frameCount = FRAMECOUNT_INVALID;\n+\n+ source_entry = context.palette_entry;\n+ }\n+\n+ u32 src_x, src_y, dst_x, dst_y;\n+\n+ // Note for understanding the math:\n+ // Normal textures can't be strided, so the 2 missing cases with src_x > 0 don't exist\n+ if (source_entry->addr >= target->addr)\n+ {\n+ u32 block_offset = (source_entry->addr - target->addr) / block_size;\n+ u32 block_x = block_offset % numBlocksX;\n+ u32 block_y = block_offset / numBlocksX;\n+ src_x = 0;\n+ src_y = 0;\n+ dst_x = block_x * block_width;\n+ dst_y = block_y * block_height;\n+ }\n+ else\n+ {\n+ u32 block_offset = (target->addr - source_entry->addr) / block_size;\n+ u32 block_x = (~block_offset + 1) % numBlocksX;\n+ u32 block_y = (block_offset + block_x) / numBlocksX;\n+ src_x = 0;\n+ src_y = block_y * block_height;\n+ dst_x = block_x * block_width;\n+ dst_y = 0;\n+ }\n+\n+ u32 copy_width = std::min(source_entry->native_width - src_x, target->native_width - dst_x);\n+ u32 copy_height = std::min(source_entry->native_height - src_y, target->native_height - dst_y);\n+\n+ // If one of the textures is scaled, scale both with the current efb scaling factor\n+ if (target->native_width != target->GetWidth() || target->native_height != target->GetHeight() ||\n+ source_entry->native_width != source_entry->GetWidth() ||\n+ source_entry->native_height != source_entry->GetHeight())\n+ {", 'path': 'Source/Core/VideoCommon/TextureCacheBase.cpp', 'position': 91, 'original_position': 91, 'commit_id': 'e7f23da63c5d81262c8efb5e3a320ce2509f11b8', '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': "Good question. This is an [old change](https://github.com/dolphin-emu/dolphin/commit/99555a35cad56b53ead422f23eae49a2251e52d6). The scale is [by region](https://github.com/dolphin-emu/dolphin/blob/bd389f6b003e9b2f910039a00262176672c2f56f/Source/Core/VideoCommon/AbstractGfx.cpp#L108), so not sure there's any concern from that angle. I haven't looked at it in much detail.", 'created_at': '2026-09-06T00:35:43Z', 'updated_at': '2026-09-06T00:35:43Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14840#discussion_r3942512666', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14840', 'author_association': 'MEMBER', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/3942512666'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14840#discussion_r3942512666'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14840'}}, 'original_commit_id': 'e7f23da63c5d81262c8efb5e3a320ce2509f11b8', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/3942512666/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'in_reply_to_id': 3942422078}], 'type': 'gh_pull_request_review'}
2026-09-06T00:31:08.677111 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'iwubcode', 'action': 'submitted', 'pr_id': 14836, 'pr_title': 'VideoCommon: refactor texture cache frame buffer copies', 'state': 'commented', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14836#pullrequestreview-5123563582', 'comments': [{'id': 3942503601, 'node_id': 'PRRC_kwDOALCn2M7q_dSx', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/3942503601', 'pull_request_review_id': 5123563582, 'diff_hunk': '@@ -98,6 +99,64 @@ struct EFBCopyParams\n bool apply_gamma;\n };\n \n+struct FramebufferCopyRawData\n+{\n+ UPE_Copy pe_copy;', 'path': 'Source/Core/VideoCommon/TextureCacheBase.h', 'position': 14, 'original_position': 14, 'commit_id': 'a7698f4a921cbe63404bbf4c6d0f0ec6a6c2526f', 'user': {'login': 'iwubcode', 'id': 15224722, 'node_id': 'MDQ6VXNlcjE1MjI0NzIy', 'avatar_url': 'https://avatars.githubusercontent.com/u/15224722?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/iwubcode', 'html_url': 'https://github.com/iwubcode', 'followers_url': 'https://api.github.com/users/iwubcode/followers', 'following_url': 'https://api.github.com/users/iwubcode/following{/other_user}', 'gists_url': 'https://api.github.com/users/iwubcode/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/iwubcode/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/iwubcode/subscriptions', 'organizations_url': 'https://api.github.com/users/iwubcode/orgs', 'repos_url': 'https://api.github.com/users/iwubcode/repos', 'events_url': 'https://api.github.com/users/iwubcode/events{/privacy}', 'received_events_url': 'https://api.github.com/users/iwubcode/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': 'I believe you are right. I can remove it!', 'created_at': '2026-09-06T00:31:06Z', 'updated_at': '2026-09-06T00:31:06Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14836#discussion_r3942503601', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14836', 'author_association': 'MEMBER', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/3942503601'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14836#discussion_r3942503601'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14836'}}, 'original_commit_id': 'a7698f4a921cbe63404bbf4c6d0f0ec6a6c2526f', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/3942503601/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'in_reply_to_id': 3942467883}], 'type': 'gh_pull_request_review'}
2026-09-06T00:24:57.131671 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'iwubcode', 'action': 'submitted', 'pr_id': 14840, 'pr_title': 'VideoCommon: split partial texture update logic from the actual rendering', 'state': 'commented', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14840#pullrequestreview-5123526063', 'comments': [{'id': 3942463695, 'node_id': 'PRRC_kwDOALCn2M7q_TjP', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/3942463695', 'pull_request_review_id': 5123526063, 'diff_hunk': '@@ -841,6 +985,10 @@ RcTcacheEntry TextureCacheBase::DoPartialTextureUpdates(RcTcacheEntry& entry_to_\n u32 numBlocksX = (entry_to_update->native_width + block_width - 1) / block_width;\n \n auto iter = FindOverlappingTextures(entry_to_update->addr, entry_to_update->size_in_bytes);\n+\n+ // Save off overlapping entries first so that we can cleanly invalidate textures\n+ // without causing iterator invalidation\n+ std::vector<RcTcacheEntry> partial_texture_update_entries;', 'path': 'Source/Core/VideoCommon/TextureCacheBase.cpp', 'position': 165, 'original_position': 165, 'commit_id': 'e7f23da63c5d81262c8efb5e3a320ce2509f11b8', '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': 'Yeah, I was meaning to look at this more and see if we could simply pre-reserve some set number. I expect this to be rather small most of the time.\n\nI did consider handling invalidations differently but this was the easiest path forward for now.\n\nI can try moving this into TextureCacheBase but I feel like making assumptions about when we are "done" will complicate things, I\'d rather keep it here for now.', 'created_at': '2026-09-06T00:10:15Z', 'updated_at': '2026-09-06T00:24:55Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14840#discussion_r3942463695', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14840', 'author_association': 'MEMBER', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/3942463695'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14840#discussion_r3942463695'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14840'}}, 'original_commit_id': 'e7f23da63c5d81262c8efb5e3a320ce2509f11b8', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/3942463695/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'in_reply_to_id': 3942399297}, {'id': 3942465704, 'node_id': 'PRRC_kwDOALCn2M7q_UCo', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/3942465704', 'pull_request_review_id': 5123526063, 'diff_hunk': "@@ -849,150 +997,108 @@ RcTcacheEntry TextureCacheBase::DoPartialTextureUpdates(RcTcacheEntry& entry_to_\n entry->OverlapsMemoryRange(entry_to_update->addr, entry_to_update->size_in_bytes) &&\n entry->memory_stride == numBlocksX * block_size)\n {\n- if (entry->hash == entry->CalculateHash())\n- {\n- // If the texture formats are not compatible or convertible, skip it.\n- if (!IsCompatibleTextureFormat(entry_to_update->format.texfmt, entry->format.texfmt))\n- {\n- if (!CanReinterpretTextureOnGPU(entry_to_update->format.texfmt, entry->format.texfmt))\n- {\n- ++iter.first;\n- continue;\n- }\n+ partial_texture_update_entries.push_back(entry);\n+ }\n+ ++iter.first;\n+ }\n \n- auto reinterpreted_entry = CreateReinterpretEntry(entry, entry_to_update->format.texfmt);\n- RenderReinterpretEntry(reinterpreted_entry, entry->texture.get(), entry->format.texfmt,\n- reinterpreted_entry->format.texfmt);\n- if (reinterpreted_entry)\n- entry = reinterpreted_entry;\n- }\n+ // Execute our partial texture updates\n+ for (const auto& entry : partial_texture_update_entries)\n+ {\n+ auto context =\n+ BuildPartialUpdateContext(entry_to_update, entry, palette, tlutfmt, isPaletteTexture,\n+ block_width, block_height, block_size, numBlocksX);\n+ if (context.target_entry)\n+ {\n+ ExecutePartialTextureUpdate(std::move(context));\n+ }\n+ }\n \n- if (isPaletteTexture)\n- {\n- const auto [decoded_entry, texel_buffer_offset] =\n- CreatePaletteEntryWithOffset(entry, palette);\n- RenderPaletteEntry(texel_buffer_offset, decoded_entry, entry->texture.get(), tlutfmt);\n- if (decoded_entry)\n- {\n- // Link the efb copy with the partially updated texture, so we won't apply this partial\n- // update again\n- entry->CreateReference(entry_to_update.get());\n- // Mark the texture update as used, as if it was loaded directly\n- entry->frameCount = FRAMECOUNT_INVALID;\n- entry = decoded_entry;\n- }\n- else\n- {\n- ++iter.first;\n- continue;\n- }\n- }\n+ return entry_to_update;\n+}\n \n- u32 src_x, src_y, dst_x, dst_y;\n+void TextureCacheBase::ExecutePartialTextureUpdate(PartialTextureUpdateContext context)\n+{\n+ auto target = context.target_entry;\n+ auto source = context.source_entry;\n \n- // Note for understanding the math:\n- // Normal textures can't be strided, so the 2 missing cases with src_x > 0 don't exist\n- if (entry->addr >= entry_to_update->addr)\n- {\n- u32 block_offset = (entry->addr - entry_to_update->addr) / block_size;\n- u32 block_x = block_offset % numBlocksX;\n- u32 block_y = block_offset / numBlocksX;\n- src_x = 0;\n- src_y = 0;\n- dst_x = block_x * block_width;\n- dst_y = block_y * block_height;\n- }\n- else\n- {\n- u32 block_offset = (entry_to_update->addr - entry->addr) / block_size;\n- u32 block_x = (~block_offset + 1) % numBlocksX;\n- u32 block_y = (block_offset + block_x) / numBlocksX;\n- src_x = 0;\n- src_y = block_y * block_height;\n- dst_x = block_x * block_width;\n- dst_y = 0;\n- }\n+ // Remove the temporary converted textures, they won't be used anywhere else\n+ // TODO: It would be nice to convert and copy in one step, but this code path isn't common\n+ Common::ScopeGuard cleanup{[this, &context] {\n+ if (context.needs_reinterpret && context.reinterpret_entry)\n+ InvalidateTexture(GetTexCacheIter(context.reinterpret_entry.get()));\n+ if (context.needs_palette && context.palette_entry)\n+ InvalidateTexture(GetTexCacheIter(context.palette_entry.get()));\n+ if (context.needs_scale && context.source_scale_entry)\n+ InvalidateTexture(GetTexCacheIter(context.source_scale_entry.get()));\n+ }};\n \n- u32 copy_width =\n- std::min(entry->native_width - src_x, entry_to_update->native_width - dst_x);\n- u32 copy_height =\n- std::min(entry->native_height - src_y, entry_to_update->native_height - dst_y);\n+ if (!source || source->invalidated)\n+ return;\n \n- // If one of the textures is scaled, scale both with the current efb scaling factor\n- if (entry_to_update->native_width != entry_to_update->GetWidth() ||\n- entry_to_update->native_height != entry_to_update->GetHeight() ||\n- entry->native_width != entry->GetWidth() || entry->native_height != entry->GetHeight())\n- {\n- ScaleTextureCacheEntryTo(\n- entry_to_update, g_framebuffer_manager->EFBToScaledX(entry_to_update->native_width),\n- g_framebuffer_manager->EFBToScaledY(entry_to_update->native_height));\n- ScaleTextureCacheEntryTo(entry, g_framebuffer_manager->EFBToScaledX(entry->native_width),\n- g_framebuffer_manager->EFBToScaledY(entry->native_height));\n-\n- src_x = g_framebuffer_manager->EFBToScaledX(src_x);\n- src_y = g_framebuffer_manager->EFBToScaledY(src_y);\n- dst_x = g_framebuffer_manager->EFBToScaledX(dst_x);\n- dst_y = g_framebuffer_manager->EFBToScaledY(dst_y);\n- copy_width = g_framebuffer_manager->EFBToScaledX(copy_width);\n- copy_height = g_framebuffer_manager->EFBToScaledY(copy_height);\n- }\n+ if (source->hash != source->CalculateHash())", 'path': 'Source/Core/VideoCommon/TextureCacheBase.cpp', 'position': 293, 'original_position': 293, 'commit_id': 'e7f23da63c5d81262c8efb5e3a320ce2509f11b8', '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': "Yes, in the future feature, the real hash isn't known until this point.", 'created_at': '2026-09-06T00:11:09Z', 'updated_at': '2026-09-06T00:24:55Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14840#discussion_r3942465704', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14840', 'author_association': 'MEMBER', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/3942465704'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14840#discussion_r3942465704'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14840'}}, 'original_commit_id': 'e7f23da63c5d81262c8efb5e3a320ce2509f11b8', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/3942465704/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'in_reply_to_id': 3942437199}, {'id': 3942484584, 'node_id': 'PRRC_kwDOALCn2M7q_Ypo', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/3942484584', 'pull_request_review_id': 5123526063, 'diff_hunk': "@@ -849,150 +997,108 @@ RcTcacheEntry TextureCacheBase::DoPartialTextureUpdates(RcTcacheEntry& entry_to_\n entry->OverlapsMemoryRange(entry_to_update->addr, entry_to_update->size_in_bytes) &&\n entry->memory_stride == numBlocksX * block_size)\n {\n- if (entry->hash == entry->CalculateHash())\n- {\n- // If the texture formats are not compatible or convertible, skip it.\n- if (!IsCompatibleTextureFormat(entry_to_update->format.texfmt, entry->format.texfmt))\n- {\n- if (!CanReinterpretTextureOnGPU(entry_to_update->format.texfmt, entry->format.texfmt))\n- {\n- ++iter.first;\n- continue;\n- }\n+ partial_texture_update_entries.push_back(entry);\n+ }\n+ ++iter.first;\n+ }\n \n- auto reinterpreted_entry = CreateReinterpretEntry(entry, entry_to_update->format.texfmt);\n- RenderReinterpretEntry(reinterpreted_entry, entry->texture.get(), entry->format.texfmt,\n- reinterpreted_entry->format.texfmt);\n- if (reinterpreted_entry)\n- entry = reinterpreted_entry;\n- }\n+ // Execute our partial texture updates\n+ for (const auto& entry : partial_texture_update_entries)\n+ {\n+ auto context =\n+ BuildPartialUpdateContext(entry_to_update, entry, palette, tlutfmt, isPaletteTexture,\n+ block_width, block_height, block_size, numBlocksX);\n+ if (context.target_entry)\n+ {\n+ ExecutePartialTextureUpdate(std::move(context));\n+ }\n+ }\n \n- if (isPaletteTexture)\n- {\n- const auto [decoded_entry, texel_buffer_offset] =\n- CreatePaletteEntryWithOffset(entry, palette);\n- RenderPaletteEntry(texel_buffer_offset, decoded_entry, entry->texture.get(), tlutfmt);\n- if (decoded_entry)\n- {\n- // Link the efb copy with the partially updated texture, so we won't apply this partial\n- // update again\n- entry->CreateReference(entry_to_update.get());\n- // Mark the texture update as used, as if it was loaded directly\n- entry->frameCount = FRAMECOUNT_INVALID;\n- entry = decoded_entry;\n- }\n- else\n- {\n- ++iter.first;\n- continue;\n- }\n- }\n+ return entry_to_update;\n+}\n \n- u32 src_x, src_y, dst_x, dst_y;\n+void TextureCacheBase::ExecutePartialTextureUpdate(PartialTextureUpdateContext context)\n+{\n+ auto target = context.target_entry;\n+ auto source = context.source_entry;\n \n- // Note for understanding the math:\n- // Normal textures can't be strided, so the 2 missing cases with src_x > 0 don't exist\n- if (entry->addr >= entry_to_update->addr)\n- {\n- u32 block_offset = (entry->addr - entry_to_update->addr) / block_size;\n- u32 block_x = block_offset % numBlocksX;\n- u32 block_y = block_offset / numBlocksX;\n- src_x = 0;\n- src_y = 0;\n- dst_x = block_x * block_width;\n- dst_y = block_y * block_height;\n- }\n- else\n- {\n- u32 block_offset = (entry_to_update->addr - entry->addr) / block_size;\n- u32 block_x = (~block_offset + 1) % numBlocksX;\n- u32 block_y = (block_offset + block_x) / numBlocksX;\n- src_x = 0;\n- src_y = block_y * block_height;\n- dst_x = block_x * block_width;\n- dst_y = 0;\n- }\n+ // Remove the temporary converted textures, they won't be used anywhere else\n+ // TODO: It would be nice to convert and copy in one step, but this code path isn't common\n+ Common::ScopeGuard cleanup{[this, &context] {\n+ if (context.needs_reinterpret && context.reinterpret_entry)\n+ InvalidateTexture(GetTexCacheIter(context.reinterpret_entry.get()));\n+ if (context.needs_palette && context.palette_entry)\n+ InvalidateTexture(GetTexCacheIter(context.palette_entry.get()));\n+ if (context.needs_scale && context.source_scale_entry)\n+ InvalidateTexture(GetTexCacheIter(context.source_scale_entry.get()));\n+ }};\n \n- u32 copy_width =\n- std::min(entry->native_width - src_x, entry_to_update->native_width - dst_x);\n- u32 copy_height =\n- std::min(entry->native_height - src_y, entry_to_update->native_height - dst_y);\n+ if (!source || source->invalidated)\n+ return;\n \n- // If one of the textures is scaled, scale both with the current efb scaling factor\n- if (entry_to_update->native_width != entry_to_update->GetWidth() ||\n- entry_to_update->native_height != entry_to_update->GetHeight() ||\n- entry->native_width != entry->GetWidth() || entry->native_height != entry->GetHeight())\n- {\n- ScaleTextureCacheEntryTo(\n- entry_to_update, g_framebuffer_manager->EFBToScaledX(entry_to_update->native_width),\n- g_framebuffer_manager->EFBToScaledY(entry_to_update->native_height));\n- ScaleTextureCacheEntryTo(entry, g_framebuffer_manager->EFBToScaledX(entry->native_width),\n- g_framebuffer_manager->EFBToScaledY(entry->native_height));\n-\n- src_x = g_framebuffer_manager->EFBToScaledX(src_x);\n- src_y = g_framebuffer_manager->EFBToScaledY(src_y);\n- dst_x = g_framebuffer_manager->EFBToScaledX(dst_x);\n- dst_y = g_framebuffer_manager->EFBToScaledY(dst_y);\n- copy_width = g_framebuffer_manager->EFBToScaledX(copy_width);\n- copy_height = g_framebuffer_manager->EFBToScaledY(copy_height);\n- }\n+ if (source->hash != source->CalculateHash())\n+ {\n+ InvalidateTexture(GetTexCacheIter(source.get()));\n+ return;\n+ }\n \n- // If the source rectangle is outside of what we actually have in VRAM, skip the copy.\n- // The backend doesn't do any clamping, so if we don't, we'd pass out-of-range coordinates\n- // to the graphics driver, which can cause GPU resets.\n- if (static_cast<u32>(src_x + copy_width) > entry->GetWidth() ||\n- static_cast<u32>(src_y + copy_height) > entry->GetHeight() ||\n- static_cast<u32>(dst_x + copy_width) > entry_to_update->GetWidth() ||\n- static_cast<u32>(dst_y + copy_height) > entry_to_update->GetHeight())\n- {\n- ++iter.first;\n- continue;\n- }\n+ if (context.needs_reinterpret)\n+ {\n+ if (!context.reinterpret_entry)\n+ return;\n+ RenderReinterpretEntry(context.reinterpret_entry, context.source_entry->texture.get(),\n+ context.source_entry->format.texfmt,\n+ context.target_entry->format.texfmt);\n+ source = context.reinterpret_entry;\n+ }\n \n- MathUtil::Rectangle<int> srcrect, dstrect;\n- srcrect.left = src_x;\n- srcrect.top = src_y;\n- srcrect.right = (src_x + copy_width);\n- srcrect.bottom = (src_y + copy_height);\n- dstrect.left = dst_x;\n- dstrect.top = dst_y;\n- dstrect.right = (dst_x + copy_width);\n- dstrect.bottom = (dst_y + copy_height);\n-\n- // If one copy is stereo, and the other isn't... not much we can do here :/\n- const u32 layers_to_copy = std::min(entry->GetNumLayers(), entry_to_update->GetNumLayers());\n- for (u32 layer = 0; layer < layers_to_copy; layer++)\n- {\n- entry_to_update->texture->CopyRectangleFromTexture(entry->texture.get(), srcrect, layer,\n- 0, dstrect, layer, 0);\n- }\n+ if (context.needs_palette)\n+ {\n+ if (!context.palette_entry)\n+ return;\n+ RenderPaletteEntry(context.texel_offset, context.palette_entry, source->texture.get(),\n+ context.tlutfmt);\n+ source = context.palette_entry;\n+ }\n \n- if (isPaletteTexture)\n- {\n- // Remove the temporary converted texture, it won't be used anywhere else\n- // TODO: It would be nice to convert and copy in one step, but this code path isn't common\n- iter.first = InvalidateTexture(iter.first);\n- continue;\n- }\n- else\n- {\n- // Link the two textures together, so we won't apply this partial update again\n- entry->CreateReference(entry_to_update.get());\n- // Mark the texture update as used, as if it was loaded directly\n- entry->frameCount = FRAMECOUNT_INVALID;\n- }\n- }\n- else\n- {\n- // If the hash does not match, this EFB copy will not be used for anything, so remove it\n- iter.first = InvalidateTexture(iter.first);\n- continue;\n- }\n+ if (context.needs_scale)\n+ {\n+ if (context.target_prescaled_entry)\n+ {\n+ g_gfx->ScaleTexture(target->framebuffer.get(), target->texture->GetConfig().GetRect(),\n+ context.target_prescaled_entry->texture.get(),\n+ context.target_prescaled_entry->texture->GetConfig().GetRect());\n+ target->texture->FinishedRendering();\n+ }\n+\n+ if (context.source_scale_entry)\n+ {\n+ g_gfx->ScaleTexture(context.source_scale_entry->framebuffer.get(),\n+ context.source_scale_entry->texture->GetConfig().GetRect(),\n+ source->texture.get(), source->texture->GetConfig().GetRect());\n+ context.source_scale_entry->texture->FinishedRendering();\n+ source = context.source_scale_entry;\n }\n- ++iter.first;\n }\n \n- return entry_to_update;\n+ // If the source rectangle is outside of what we actually have in VRAM, skip the copy.\n+ // The backend doesn't do any clamping, so if we don't, we'd pass out-of-range coordinates\n+ // to the graphics driver, which can cause GPU resets.\n+ if (static_cast<u32>(context.src_rect.right) > source->GetWidth() ||\n+ static_cast<u32>(context.src_rect.bottom) > source->GetHeight() ||\n+ static_cast<u32>(context.dst_rect.right) > target->GetWidth() ||\n+ static_cast<u32>(context.dst_rect.bottom) > target->GetHeight())\n+ {\n+ return;", 'path': 'Source/Core/VideoCommon/TextureCacheBase.cpp', 'position': 397, 'original_position': 397, 'commit_id': 'e7f23da63c5d81262c8efb5e3a320ce2509f11b8', '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': 'True, I had it there originally. I was seeing an early return in some cases, likely due to bad math. I will try moving it back.', 'created_at': '2026-09-06T00:21:02Z', 'updated_at': '2026-09-06T00:24:55Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14840#discussion_r3942484584', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14840', 'author_association': 'MEMBER', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/3942484584'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14840#discussion_r3942484584'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14840'}}, 'original_commit_id': 'e7f23da63c5d81262c8efb5e3a320ce2509f11b8', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/3942484584/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'in_reply_to_id': 3942442490}, {'id': 3942488181, 'node_id': 'PRRC_kwDOALCn2M7q_Zh1', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/3942488181', 'pull_request_review_id': 5123526063, 'diff_hunk': '@@ -242,6 +242,33 @@ struct TCacheEntry\n \n using RcTcacheEntry = std::shared_ptr<TCacheEntry>;\n \n+struct PartialTextureUpdateContext\n+{\n+ RcTcacheEntry target_entry;\n+ RcTcacheEntry source_entry;\n+\n+ bool needs_reinterpret = false;\n+ RcTcacheEntry reinterpret_entry;\n+\n+ bool needs_palette = false;\n+ TLUTFormat tlutfmt = TLUTFormat::IA8;\n+ u32 texel_offset;\n+ RcTcacheEntry palette_entry;\n+\n+ bool needs_scale = false;\n+ RcTcacheEntry source_scale_entry;\n+ u32 source_scale_w = 0;\n+ u32 source_scale_h = 0;', 'path': 'Source/Core/VideoCommon/TextureCacheBase.h', 'position': 20, 'original_position': 20, 'commit_id': 'e7f23da63c5d81262c8efb5e3a320ce2509f11b8', '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': 'Yes, there may be some opportunity to clean it up a bit. I was a bit nervous about assumptions and breaking behavior, so I opted to be a little cautious.', 'created_at': '2026-09-06T00:22:57Z', 'updated_at': '2026-09-06T00:24:55Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14840#discussion_r3942488181', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14840', 'author_association': 'MEMBER', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/3942488181'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14840#discussion_r3942488181'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14840'}}, 'original_commit_id': 'e7f23da63c5d81262c8efb5e3a320ce2509f11b8', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/3942488181/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'in_reply_to_id': 3942449902}], 'type': 'gh_pull_request_review'}
2026-09-06T00:17:45.265513 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'phire', 'action': 'submitted', 'pr_id': 14834, 'pr_title': 'Arm64Emitter: Make FixupBranch smaller', 'state': 'approved', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14834#pullrequestreview-5123540340', 'comments': [], 'type': 'gh_pull_request_review'}
2026-09-06T00:12:13.298332 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'phire', 'action': 'submitted', 'pr_id': 14836, 'pr_title': 'VideoCommon: refactor texture cache frame buffer copies', 'state': 'commented', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14836#pullrequestreview-5123530376', 'comments': [{'id': 3942467883, 'node_id': 'PRRC_kwDOALCn2M7q_Ukr', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/3942467883', 'pull_request_review_id': 5123530376, 'diff_hunk': '@@ -98,6 +99,64 @@ struct EFBCopyParams\n bool apply_gamma;\n };\n \n+struct FramebufferCopyRawData\n+{\n+ UPE_Copy pe_copy;', 'path': 'Source/Core/VideoCommon/TextureCacheBase.h', 'position': 14, 'original_position': 14, 'commit_id': 'a7698f4a921cbe63404bbf4c6d0f0ec6a6c2526f', '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}, 'body': 'Looks like `pe_copy` is now unused?', 'created_at': '2026-09-06T00:12:09Z', 'updated_at': '2026-09-06T00:12:09Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14836#discussion_r3942467883', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14836', 'author_association': 'MEMBER', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/3942467883'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14836#discussion_r3942467883'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14836'}}, 'original_commit_id': 'a7698f4a921cbe63404bbf4c6d0f0ec6a6c2526f', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/3942467883/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-09-06T00:06:03.284156 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'phire', 'action': 'submitted', 'pr_id': 14843, 'pr_title': 'Core: Improve error message on empty dff', 'state': 'approved', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14843#pullrequestreview-5123518471', 'comments': [], 'type': 'gh_pull_request_review'}
2026-09-06T00:05:33.138902 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'phire', 'action': 'submitted', 'pr_id': 14842, 'pr_title': 'VideoCommon: Use correct size for PE token', 'state': 'approved', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14842#pullrequestreview-5123517583', 'comments': [], 'type': 'gh_pull_request_review'}
2026-09-06T00:04:45.409490 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'phire', 'action': 'submitted', 'pr_id': 14840, 'pr_title': 'VideoCommon: split partial texture update logic from the actual rendering', 'state': 'approved', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14840#pullrequestreview-5123405262', 'comments': [{'id': 3942399297, 'node_id': 'PRRC_kwDOALCn2M7q_D1B', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/3942399297', 'pull_request_review_id': 5123405262, 'diff_hunk': '@@ -841,6 +985,10 @@ RcTcacheEntry TextureCacheBase::DoPartialTextureUpdates(RcTcacheEntry& entry_to_\n u32 numBlocksX = (entry_to_update->native_width + block_width - 1) / block_width;\n \n auto iter = FindOverlappingTextures(entry_to_update->addr, entry_to_update->size_in_bytes);\n+\n+ // Save off overlapping entries first so that we can cleanly invalidate textures\n+ // without causing iterator invalidation\n+ std::vector<RcTcacheEntry> partial_texture_update_entries;', 'path': 'Source/Core/VideoCommon/TextureCacheBase.cpp', 'position': 165, 'original_position': 165, 'commit_id': 'e7f23da63c5d81262c8efb5e3a320ce2509f11b8', '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}, 'body': 'Recreating this vector for every partial efb copy seems... wasteful. \n\nAt minimum, put this in TextureCacheBase and clear it after the partial updates are done. It will quickly grow to the required size and stay that large.\n\nAlternatively, you could refactor `ExecutePartialUpdates` to avoid actually invalidating textures. Push them into an "invalidate later" queue (also shared). As a bonus, we can later refactor things so the invalidations don\'t happen until the video thread is actually idle (or at least reached the end of the frame). ', 'created_at': '2026-09-05T23:35:13Z', 'updated_at': '2026-09-06T00:04:43Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14840#discussion_r3942399297', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14840', 'author_association': 'MEMBER', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/3942399297'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14840#discussion_r3942399297'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14840'}}, 'original_commit_id': 'e7f23da63c5d81262c8efb5e3a320ce2509f11b8', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/3942399297/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}}, {'id': 3942422078, 'node_id': 'PRRC_kwDOALCn2M7q_JY-', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/3942422078', 'pull_request_review_id': 5123405262, 'diff_hunk': "@@ -809,6 +810,149 @@ void TCacheEntry::DoState(PointerWrap& p)\n p.Do(frameCount);\n }\n \n+PartialTextureUpdateContext TextureCacheBase::BuildPartialUpdateContext(\n+ const RcTcacheEntry& target, const RcTcacheEntry& source, const u8* palette, TLUTFormat tlutfmt,\n+ bool is_palette_texture, u32 block_width, u32 block_height, u32 block_size, u32 numBlocksX)\n+{\n+ RcTcacheEntry source_entry = source;\n+\n+ PartialTextureUpdateContext context;\n+ context.target_entry = target;\n+ context.source_entry = source_entry;\n+\n+ // If the texture formats are not compatible or convertible, skip it.\n+ if (!IsCompatibleTextureFormat(target->format.texfmt, source_entry->format.texfmt))\n+ {\n+ if (CanReinterpretTextureOnGPU(target->format.texfmt, source_entry->format.texfmt))\n+ {\n+ context.needs_reinterpret = true;\n+ context.reinterpret_entry =\n+ CreateReinterpretEntry(context.source_entry, target->format.texfmt);\n+ if (!context.reinterpret_entry)\n+ return {};\n+\n+ source_entry = context.reinterpret_entry;\n+ }\n+ else\n+ {\n+ return {};\n+ }\n+ }\n+\n+ if (is_palette_texture)\n+ {\n+ context.needs_palette = true;\n+ context.tlutfmt = tlutfmt;\n+ std::tie(context.palette_entry, context.texel_offset) =\n+ CreatePaletteEntryWithOffset(source_entry, palette);\n+ if (!context.palette_entry)\n+ return {};\n+\n+ // Link the efb copy with the partially updated texture, so we won't apply this partial\n+ // update again\n+ source_entry->CreateReference(target.get());\n+ // Mark the texture update as used, as if it was loaded directly\n+ source_entry->frameCount = FRAMECOUNT_INVALID;\n+\n+ source_entry = context.palette_entry;\n+ }\n+\n+ u32 src_x, src_y, dst_x, dst_y;\n+\n+ // Note for understanding the math:\n+ // Normal textures can't be strided, so the 2 missing cases with src_x > 0 don't exist\n+ if (source_entry->addr >= target->addr)\n+ {\n+ u32 block_offset = (source_entry->addr - target->addr) / block_size;\n+ u32 block_x = block_offset % numBlocksX;\n+ u32 block_y = block_offset / numBlocksX;\n+ src_x = 0;\n+ src_y = 0;\n+ dst_x = block_x * block_width;\n+ dst_y = block_y * block_height;\n+ }\n+ else\n+ {\n+ u32 block_offset = (target->addr - source_entry->addr) / block_size;\n+ u32 block_x = (~block_offset + 1) % numBlocksX;\n+ u32 block_y = (block_offset + block_x) / numBlocksX;\n+ src_x = 0;\n+ src_y = block_y * block_height;\n+ dst_x = block_x * block_width;\n+ dst_y = 0;\n+ }\n+\n+ u32 copy_width = std::min(source_entry->native_width - src_x, target->native_width - dst_x);\n+ u32 copy_height = std::min(source_entry->native_height - src_y, target->native_height - dst_y);\n+\n+ // If one of the textures is scaled, scale both with the current efb scaling factor\n+ if (target->native_width != target->GetWidth() || target->native_height != target->GetHeight() ||\n+ source_entry->native_width != source_entry->GetWidth() ||\n+ source_entry->native_height != source_entry->GetHeight())\n+ {", 'path': 'Source/Core/VideoCommon/TextureCacheBase.cpp', 'position': 91, 'original_position': 91, 'commit_id': 'e7f23da63c5d81262c8efb5e3a320ce2509f11b8', '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}, 'body': 'Sigh... This (pre-existing) code acts like we support scaling on only one axis... Do we?', 'created_at': '2026-09-05T23:47:24Z', 'updated_at': '2026-09-06T00:04:43Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14840#discussion_r3942422078', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14840', 'author_association': 'MEMBER', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/3942422078'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14840#discussion_r3942422078'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14840'}}, 'original_commit_id': 'e7f23da63c5d81262c8efb5e3a320ce2509f11b8', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/3942422078/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}}, {'id': 3942428265, 'node_id': 'PRRC_kwDOALCn2M7q_K5p', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/3942428265', 'pull_request_review_id': 5123405262, 'diff_hunk': "@@ -849,150 +997,108 @@ RcTcacheEntry TextureCacheBase::DoPartialTextureUpdates(RcTcacheEntry& entry_to_\n entry->OverlapsMemoryRange(entry_to_update->addr, entry_to_update->size_in_bytes) &&\n entry->memory_stride == numBlocksX * block_size)\n {\n- if (entry->hash == entry->CalculateHash())\n- {\n- // If the texture formats are not compatible or convertible, skip it.\n- if (!IsCompatibleTextureFormat(entry_to_update->format.texfmt, entry->format.texfmt))\n- {\n- if (!CanReinterpretTextureOnGPU(entry_to_update->format.texfmt, entry->format.texfmt))\n- {\n- ++iter.first;\n- continue;\n- }\n+ partial_texture_update_entries.push_back(entry);\n+ }\n+ ++iter.first;\n+ }\n \n- auto reinterpreted_entry = CreateReinterpretEntry(entry, entry_to_update->format.texfmt);\n- RenderReinterpretEntry(reinterpreted_entry, entry->texture.get(), entry->format.texfmt,\n- reinterpreted_entry->format.texfmt);\n- if (reinterpreted_entry)\n- entry = reinterpreted_entry;\n- }\n+ // Execute our partial texture updates\n+ for (const auto& entry : partial_texture_update_entries)\n+ {\n+ auto context =\n+ BuildPartialUpdateContext(entry_to_update, entry, palette, tlutfmt, isPaletteTexture,\n+ block_width, block_height, block_size, numBlocksX);\n+ if (context.target_entry)\n+ {\n+ ExecutePartialTextureUpdate(std::move(context));\n+ }\n+ }\n \n- if (isPaletteTexture)\n- {\n- const auto [decoded_entry, texel_buffer_offset] =\n- CreatePaletteEntryWithOffset(entry, palette);\n- RenderPaletteEntry(texel_buffer_offset, decoded_entry, entry->texture.get(), tlutfmt);\n- if (decoded_entry)\n- {\n- // Link the efb copy with the partially updated texture, so we won't apply this partial\n- // update again\n- entry->CreateReference(entry_to_update.get());\n- // Mark the texture update as used, as if it was loaded directly\n- entry->frameCount = FRAMECOUNT_INVALID;\n- entry = decoded_entry;\n- }\n- else\n- {\n- ++iter.first;\n- continue;\n- }\n- }\n+ return entry_to_update;\n+}\n \n- u32 src_x, src_y, dst_x, dst_y;\n+void TextureCacheBase::ExecutePartialTextureUpdate(PartialTextureUpdateContext context)\n+{\n+ auto target = context.target_entry;\n+ auto source = context.source_entry;\n \n- // Note for understanding the math:\n- // Normal textures can't be strided, so the 2 missing cases with src_x > 0 don't exist\n- if (entry->addr >= entry_to_update->addr)\n- {\n- u32 block_offset = (entry->addr - entry_to_update->addr) / block_size;\n- u32 block_x = block_offset % numBlocksX;\n- u32 block_y = block_offset / numBlocksX;\n- src_x = 0;\n- src_y = 0;\n- dst_x = block_x * block_width;\n- dst_y = block_y * block_height;\n- }\n- else\n- {\n- u32 block_offset = (entry_to_update->addr - entry->addr) / block_size;\n- u32 block_x = (~block_offset + 1) % numBlocksX;\n- u32 block_y = (block_offset + block_x) / numBlocksX;\n- src_x = 0;\n- src_y = block_y * block_height;\n- dst_x = block_x * block_width;\n- dst_y = 0;\n- }\n+ // Remove the temporary converted textures, they won't be used anywhere else\n+ // TODO: It would be nice to convert and copy in one step, but this code path isn't common", 'path': 'Source/Core/VideoCommon/TextureCacheBase.cpp', 'position': 258, 'original_position': 258, 'commit_id': 'e7f23da63c5d81262c8efb5e3a320ce2509f11b8', '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}, 'body': 'Agreed, it would be nice to have some generic way of composing updates into a single shader. ', 'created_at': '2026-09-05T23:50:33Z', 'updated_at': '2026-09-06T00:04:43Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14840#discussion_r3942428265', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14840', 'author_association': 'MEMBER', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/3942428265'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14840#discussion_r3942428265'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14840'}}, 'original_commit_id': 'e7f23da63c5d81262c8efb5e3a320ce2509f11b8', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/3942428265/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}}, {'id': 3942437199, 'node_id': 'PRRC_kwDOALCn2M7q_NFP', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/3942437199', 'pull_request_review_id': 5123405262, 'diff_hunk': "@@ -849,150 +997,108 @@ RcTcacheEntry TextureCacheBase::DoPartialTextureUpdates(RcTcacheEntry& entry_to_\n entry->OverlapsMemoryRange(entry_to_update->addr, entry_to_update->size_in_bytes) &&\n entry->memory_stride == numBlocksX * block_size)\n {\n- if (entry->hash == entry->CalculateHash())\n- {\n- // If the texture formats are not compatible or convertible, skip it.\n- if (!IsCompatibleTextureFormat(entry_to_update->format.texfmt, entry->format.texfmt))\n- {\n- if (!CanReinterpretTextureOnGPU(entry_to_update->format.texfmt, entry->format.texfmt))\n- {\n- ++iter.first;\n- continue;\n- }\n+ partial_texture_update_entries.push_back(entry);\n+ }\n+ ++iter.first;\n+ }\n \n- auto reinterpreted_entry = CreateReinterpretEntry(entry, entry_to_update->format.texfmt);\n- RenderReinterpretEntry(reinterpreted_entry, entry->texture.get(), entry->format.texfmt,\n- reinterpreted_entry->format.texfmt);\n- if (reinterpreted_entry)\n- entry = reinterpreted_entry;\n- }\n+ // Execute our partial texture updates\n+ for (const auto& entry : partial_texture_update_entries)\n+ {\n+ auto context =\n+ BuildPartialUpdateContext(entry_to_update, entry, palette, tlutfmt, isPaletteTexture,\n+ block_width, block_height, block_size, numBlocksX);\n+ if (context.target_entry)\n+ {\n+ ExecutePartialTextureUpdate(std::move(context));\n+ }\n+ }\n \n- if (isPaletteTexture)\n- {\n- const auto [decoded_entry, texel_buffer_offset] =\n- CreatePaletteEntryWithOffset(entry, palette);\n- RenderPaletteEntry(texel_buffer_offset, decoded_entry, entry->texture.get(), tlutfmt);\n- if (decoded_entry)\n- {\n- // Link the efb copy with the partially updated texture, so we won't apply this partial\n- // update again\n- entry->CreateReference(entry_to_update.get());\n- // Mark the texture update as used, as if it was loaded directly\n- entry->frameCount = FRAMECOUNT_INVALID;\n- entry = decoded_entry;\n- }\n- else\n- {\n- ++iter.first;\n- continue;\n- }\n- }\n+ return entry_to_update;\n+}\n \n- u32 src_x, src_y, dst_x, dst_y;\n+void TextureCacheBase::ExecutePartialTextureUpdate(PartialTextureUpdateContext context)\n+{\n+ auto target = context.target_entry;\n+ auto source = context.source_entry;\n \n- // Note for understanding the math:\n- // Normal textures can't be strided, so the 2 missing cases with src_x > 0 don't exist\n- if (entry->addr >= entry_to_update->addr)\n- {\n- u32 block_offset = (entry->addr - entry_to_update->addr) / block_size;\n- u32 block_x = block_offset % numBlocksX;\n- u32 block_y = block_offset / numBlocksX;\n- src_x = 0;\n- src_y = 0;\n- dst_x = block_x * block_width;\n- dst_y = block_y * block_height;\n- }\n- else\n- {\n- u32 block_offset = (entry_to_update->addr - entry->addr) / block_size;\n- u32 block_x = (~block_offset + 1) % numBlocksX;\n- u32 block_y = (block_offset + block_x) / numBlocksX;\n- src_x = 0;\n- src_y = block_y * block_height;\n- dst_x = block_x * block_width;\n- dst_y = 0;\n- }\n+ // Remove the temporary converted textures, they won't be used anywhere else\n+ // TODO: It would be nice to convert and copy in one step, but this code path isn't common\n+ Common::ScopeGuard cleanup{[this, &context] {\n+ if (context.needs_reinterpret && context.reinterpret_entry)\n+ InvalidateTexture(GetTexCacheIter(context.reinterpret_entry.get()));\n+ if (context.needs_palette && context.palette_entry)\n+ InvalidateTexture(GetTexCacheIter(context.palette_entry.get()));\n+ if (context.needs_scale && context.source_scale_entry)\n+ InvalidateTexture(GetTexCacheIter(context.source_scale_entry.get()));\n+ }};\n \n- u32 copy_width =\n- std::min(entry->native_width - src_x, entry_to_update->native_width - dst_x);\n- u32 copy_height =\n- std::min(entry->native_height - src_y, entry_to_update->native_height - dst_y);\n+ if (!source || source->invalidated)\n+ return;\n \n- // If one of the textures is scaled, scale both with the current efb scaling factor\n- if (entry_to_update->native_width != entry_to_update->GetWidth() ||\n- entry_to_update->native_height != entry_to_update->GetHeight() ||\n- entry->native_width != entry->GetWidth() || entry->native_height != entry->GetHeight())\n- {\n- ScaleTextureCacheEntryTo(\n- entry_to_update, g_framebuffer_manager->EFBToScaledX(entry_to_update->native_width),\n- g_framebuffer_manager->EFBToScaledY(entry_to_update->native_height));\n- ScaleTextureCacheEntryTo(entry, g_framebuffer_manager->EFBToScaledX(entry->native_width),\n- g_framebuffer_manager->EFBToScaledY(entry->native_height));\n-\n- src_x = g_framebuffer_manager->EFBToScaledX(src_x);\n- src_y = g_framebuffer_manager->EFBToScaledY(src_y);\n- dst_x = g_framebuffer_manager->EFBToScaledX(dst_x);\n- dst_y = g_framebuffer_manager->EFBToScaledY(dst_y);\n- copy_width = g_framebuffer_manager->EFBToScaledX(copy_width);\n- copy_height = g_framebuffer_manager->EFBToScaledY(copy_height);\n- }\n+ if (source->hash != source->CalculateHash())", 'path': 'Source/Core/VideoCommon/TextureCacheBase.cpp', 'position': 293, 'original_position': 293, 'commit_id': 'e7f23da63c5d81262c8efb5e3a320ce2509f11b8', '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}, 'body': 'Is there a future reason why `CalculateHash` is delayed to now? Seems like we could have skipped much of `BuildPartialUpdateContext`', 'created_at': '2026-09-05T23:55:28Z', 'updated_at': '2026-09-06T00:04:43Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14840#discussion_r3942437199', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14840', 'author_association': 'MEMBER', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/3942437199'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14840#discussion_r3942437199'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14840'}}, 'original_commit_id': 'e7f23da63c5d81262c8efb5e3a320ce2509f11b8', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/3942437199/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}}, {'id': 3942442490, 'node_id': 'PRRC_kwDOALCn2M7q_OX6', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/3942442490', 'pull_request_review_id': 5123405262, 'diff_hunk': "@@ -849,150 +997,108 @@ RcTcacheEntry TextureCacheBase::DoPartialTextureUpdates(RcTcacheEntry& entry_to_\n entry->OverlapsMemoryRange(entry_to_update->addr, entry_to_update->size_in_bytes) &&\n entry->memory_stride == numBlocksX * block_size)\n {\n- if (entry->hash == entry->CalculateHash())\n- {\n- // If the texture formats are not compatible or convertible, skip it.\n- if (!IsCompatibleTextureFormat(entry_to_update->format.texfmt, entry->format.texfmt))\n- {\n- if (!CanReinterpretTextureOnGPU(entry_to_update->format.texfmt, entry->format.texfmt))\n- {\n- ++iter.first;\n- continue;\n- }\n+ partial_texture_update_entries.push_back(entry);\n+ }\n+ ++iter.first;\n+ }\n \n- auto reinterpreted_entry = CreateReinterpretEntry(entry, entry_to_update->format.texfmt);\n- RenderReinterpretEntry(reinterpreted_entry, entry->texture.get(), entry->format.texfmt,\n- reinterpreted_entry->format.texfmt);\n- if (reinterpreted_entry)\n- entry = reinterpreted_entry;\n- }\n+ // Execute our partial texture updates\n+ for (const auto& entry : partial_texture_update_entries)\n+ {\n+ auto context =\n+ BuildPartialUpdateContext(entry_to_update, entry, palette, tlutfmt, isPaletteTexture,\n+ block_width, block_height, block_size, numBlocksX);\n+ if (context.target_entry)\n+ {\n+ ExecutePartialTextureUpdate(std::move(context));\n+ }\n+ }\n \n- if (isPaletteTexture)\n- {\n- const auto [decoded_entry, texel_buffer_offset] =\n- CreatePaletteEntryWithOffset(entry, palette);\n- RenderPaletteEntry(texel_buffer_offset, decoded_entry, entry->texture.get(), tlutfmt);\n- if (decoded_entry)\n- {\n- // Link the efb copy with the partially updated texture, so we won't apply this partial\n- // update again\n- entry->CreateReference(entry_to_update.get());\n- // Mark the texture update as used, as if it was loaded directly\n- entry->frameCount = FRAMECOUNT_INVALID;\n- entry = decoded_entry;\n- }\n- else\n- {\n- ++iter.first;\n- continue;\n- }\n- }\n+ return entry_to_update;\n+}\n \n- u32 src_x, src_y, dst_x, dst_y;\n+void TextureCacheBase::ExecutePartialTextureUpdate(PartialTextureUpdateContext context)\n+{\n+ auto target = context.target_entry;\n+ auto source = context.source_entry;\n \n- // Note for understanding the math:\n- // Normal textures can't be strided, so the 2 missing cases with src_x > 0 don't exist\n- if (entry->addr >= entry_to_update->addr)\n- {\n- u32 block_offset = (entry->addr - entry_to_update->addr) / block_size;\n- u32 block_x = block_offset % numBlocksX;\n- u32 block_y = block_offset / numBlocksX;\n- src_x = 0;\n- src_y = 0;\n- dst_x = block_x * block_width;\n- dst_y = block_y * block_height;\n- }\n- else\n- {\n- u32 block_offset = (entry_to_update->addr - entry->addr) / block_size;\n- u32 block_x = (~block_offset + 1) % numBlocksX;\n- u32 block_y = (block_offset + block_x) / numBlocksX;\n- src_x = 0;\n- src_y = block_y * block_height;\n- dst_x = block_x * block_width;\n- dst_y = 0;\n- }\n+ // Remove the temporary converted textures, they won't be used anywhere else\n+ // TODO: It would be nice to convert and copy in one step, but this code path isn't common\n+ Common::ScopeGuard cleanup{[this, &context] {\n+ if (context.needs_reinterpret && context.reinterpret_entry)\n+ InvalidateTexture(GetTexCacheIter(context.reinterpret_entry.get()));\n+ if (context.needs_palette && context.palette_entry)\n+ InvalidateTexture(GetTexCacheIter(context.palette_entry.get()));\n+ if (context.needs_scale && context.source_scale_entry)\n+ InvalidateTexture(GetTexCacheIter(context.source_scale_entry.get()));\n+ }};\n \n- u32 copy_width =\n- std::min(entry->native_width - src_x, entry_to_update->native_width - dst_x);\n- u32 copy_height =\n- std::min(entry->native_height - src_y, entry_to_update->native_height - dst_y);\n+ if (!source || source->invalidated)\n+ return;\n \n- // If one of the textures is scaled, scale both with the current efb scaling factor\n- if (entry_to_update->native_width != entry_to_update->GetWidth() ||\n- entry_to_update->native_height != entry_to_update->GetHeight() ||\n- entry->native_width != entry->GetWidth() || entry->native_height != entry->GetHeight())\n- {\n- ScaleTextureCacheEntryTo(\n- entry_to_update, g_framebuffer_manager->EFBToScaledX(entry_to_update->native_width),\n- g_framebuffer_manager->EFBToScaledY(entry_to_update->native_height));\n- ScaleTextureCacheEntryTo(entry, g_framebuffer_manager->EFBToScaledX(entry->native_width),\n- g_framebuffer_manager->EFBToScaledY(entry->native_height));\n-\n- src_x = g_framebuffer_manager->EFBToScaledX(src_x);\n- src_y = g_framebuffer_manager->EFBToScaledY(src_y);\n- dst_x = g_framebuffer_manager->EFBToScaledX(dst_x);\n- dst_y = g_framebuffer_manager->EFBToScaledY(dst_y);\n- copy_width = g_framebuffer_manager->EFBToScaledX(copy_width);\n- copy_height = g_framebuffer_manager->EFBToScaledY(copy_height);\n- }\n+ if (source->hash != source->CalculateHash())\n+ {\n+ InvalidateTexture(GetTexCacheIter(source.get()));\n+ return;\n+ }\n \n- // If the source rectangle is outside of what we actually have in VRAM, skip the copy.\n- // The backend doesn't do any clamping, so if we don't, we'd pass out-of-range coordinates\n- // to the graphics driver, which can cause GPU resets.\n- if (static_cast<u32>(src_x + copy_width) > entry->GetWidth() ||\n- static_cast<u32>(src_y + copy_height) > entry->GetHeight() ||\n- static_cast<u32>(dst_x + copy_width) > entry_to_update->GetWidth() ||\n- static_cast<u32>(dst_y + copy_height) > entry_to_update->GetHeight())\n- {\n- ++iter.first;\n- continue;\n- }\n+ if (context.needs_reinterpret)\n+ {\n+ if (!context.reinterpret_entry)\n+ return;\n+ RenderReinterpretEntry(context.reinterpret_entry, context.source_entry->texture.get(),\n+ context.source_entry->format.texfmt,\n+ context.target_entry->format.texfmt);\n+ source = context.reinterpret_entry;\n+ }\n \n- MathUtil::Rectangle<int> srcrect, dstrect;\n- srcrect.left = src_x;\n- srcrect.top = src_y;\n- srcrect.right = (src_x + copy_width);\n- srcrect.bottom = (src_y + copy_height);\n- dstrect.left = dst_x;\n- dstrect.top = dst_y;\n- dstrect.right = (dst_x + copy_width);\n- dstrect.bottom = (dst_y + copy_height);\n-\n- // If one copy is stereo, and the other isn't... not much we can do here :/\n- const u32 layers_to_copy = std::min(entry->GetNumLayers(), entry_to_update->GetNumLayers());\n- for (u32 layer = 0; layer < layers_to_copy; layer++)\n- {\n- entry_to_update->texture->CopyRectangleFromTexture(entry->texture.get(), srcrect, layer,\n- 0, dstrect, layer, 0);\n- }\n+ if (context.needs_palette)\n+ {\n+ if (!context.palette_entry)\n+ return;\n+ RenderPaletteEntry(context.texel_offset, context.palette_entry, source->texture.get(),\n+ context.tlutfmt);\n+ source = context.palette_entry;\n+ }\n \n- if (isPaletteTexture)\n- {\n- // Remove the temporary converted texture, it won't be used anywhere else\n- // TODO: It would be nice to convert and copy in one step, but this code path isn't common\n- iter.first = InvalidateTexture(iter.first);\n- continue;\n- }\n- else\n- {\n- // Link the two textures together, so we won't apply this partial update again\n- entry->CreateReference(entry_to_update.get());\n- // Mark the texture update as used, as if it was loaded directly\n- entry->frameCount = FRAMECOUNT_INVALID;\n- }\n- }\n- else\n- {\n- // If the hash does not match, this EFB copy will not be used for anything, so remove it\n- iter.first = InvalidateTexture(iter.first);\n- continue;\n- }\n+ if (context.needs_scale)\n+ {\n+ if (context.target_prescaled_entry)\n+ {\n+ g_gfx->ScaleTexture(target->framebuffer.get(), target->texture->GetConfig().GetRect(),\n+ context.target_prescaled_entry->texture.get(),\n+ context.target_prescaled_entry->texture->GetConfig().GetRect());\n+ target->texture->FinishedRendering();\n+ }\n+\n+ if (context.source_scale_entry)\n+ {\n+ g_gfx->ScaleTexture(context.source_scale_entry->framebuffer.get(),\n+ context.source_scale_entry->texture->GetConfig().GetRect(),\n+ source->texture.get(), source->texture->GetConfig().GetRect());\n+ context.source_scale_entry->texture->FinishedRendering();\n+ source = context.source_scale_entry;\n }\n- ++iter.first;\n }\n \n- return entry_to_update;\n+ // If the source rectangle is outside of what we actually have in VRAM, skip the copy.\n+ // The backend doesn't do any clamping, so if we don't, we'd pass out-of-range coordinates\n+ // to the graphics driver, which can cause GPU resets.\n+ if (static_cast<u32>(context.src_rect.right) > source->GetWidth() ||\n+ static_cast<u32>(context.src_rect.bottom) > source->GetHeight() ||\n+ static_cast<u32>(context.dst_rect.right) > target->GetWidth() ||\n+ static_cast<u32>(context.dst_rect.bottom) > target->GetHeight())\n+ {\n+ return;", 'path': 'Source/Core/VideoCommon/TextureCacheBase.cpp', 'position': 397, 'original_position': 397, 'commit_id': 'e7f23da63c5d81262c8efb5e3a320ce2509f11b8', '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}, 'body': 'This check/return should be done in `BuildPartialUpdateContext`. No point rendering the scaled/reinterpered/repaletted versions just to abort. ', 'created_at': '2026-09-05T23:58:24Z', 'updated_at': '2026-09-06T00:04:43Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14840#discussion_r3942442490', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14840', 'author_association': 'MEMBER', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/3942442490'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14840#discussion_r3942442490'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14840'}}, 'original_commit_id': 'e7f23da63c5d81262c8efb5e3a320ce2509f11b8', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/3942442490/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}}, {'id': 3942449902, 'node_id': 'PRRC_kwDOALCn2M7q_QLu', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/3942449902', 'pull_request_review_id': 5123405262, 'diff_hunk': '@@ -242,6 +242,33 @@ struct TCacheEntry\n \n using RcTcacheEntry = std::shared_ptr<TCacheEntry>;\n \n+struct PartialTextureUpdateContext\n+{\n+ RcTcacheEntry target_entry;\n+ RcTcacheEntry source_entry;\n+\n+ bool needs_reinterpret = false;\n+ RcTcacheEntry reinterpret_entry;\n+\n+ bool needs_palette = false;\n+ TLUTFormat tlutfmt = TLUTFormat::IA8;\n+ u32 texel_offset;\n+ RcTcacheEntry palette_entry;\n+\n+ bool needs_scale = false;\n+ RcTcacheEntry source_scale_entry;\n+ u32 source_scale_w = 0;\n+ u32 source_scale_h = 0;', 'path': 'Source/Core/VideoCommon/TextureCacheBase.h', 'position': 20, 'original_position': 20, 'commit_id': 'e7f23da63c5d81262c8efb5e3a320ce2509f11b8', '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}, 'body': 'I *think* these are redundant with the src_rect below... not 100% sure. ', 'created_at': '2026-09-06T00:02:34Z', 'updated_at': '2026-09-06T00:04:43Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14840#discussion_r3942449902', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14840', 'author_association': 'MEMBER', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/3942449902'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14840#discussion_r3942449902'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14840'}}, 'original_commit_id': 'e7f23da63c5d81262c8efb5e3a320ce2509f11b8', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/3942449902/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-09-06T00:04:45.014777 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'phire', 'action': 'edited', 'pr_id': 14840, 'pr_title': 'VideoCommon: split partial texture update logic from the actual rendering', 'state': 'approved', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14840#pullrequestreview-5123405262', 'comments': [{'id': 3942399297, 'node_id': 'PRRC_kwDOALCn2M7q_D1B', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/3942399297', 'pull_request_review_id': 5123405262, 'diff_hunk': '@@ -841,6 +985,10 @@ RcTcacheEntry TextureCacheBase::DoPartialTextureUpdates(RcTcacheEntry& entry_to_\n u32 numBlocksX = (entry_to_update->native_width + block_width - 1) / block_width;\n \n auto iter = FindOverlappingTextures(entry_to_update->addr, entry_to_update->size_in_bytes);\n+\n+ // Save off overlapping entries first so that we can cleanly invalidate textures\n+ // without causing iterator invalidation\n+ std::vector<RcTcacheEntry> partial_texture_update_entries;', 'path': 'Source/Core/VideoCommon/TextureCacheBase.cpp', 'position': 165, 'original_position': 165, 'commit_id': 'e7f23da63c5d81262c8efb5e3a320ce2509f11b8', '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}, 'body': 'Recreating this vector for every partial efb copy seems... wasteful. \n\nAt minimum, put this in TextureCacheBase and clear it after the partial updates are done. It will quickly grow to the required size and stay that large.\n\nAlternatively, you could refactor `ExecutePartialUpdates` to avoid actually invalidating textures. Push them into an "invalidate later" queue (also shared). As a bonus, we can later refactor things so the invalidations don\'t happen until the video thread is actually idle (or at least reached the end of the frame). ', 'created_at': '2026-09-05T23:35:13Z', 'updated_at': '2026-09-06T00:04:43Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14840#discussion_r3942399297', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14840', 'author_association': 'MEMBER', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/3942399297'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14840#discussion_r3942399297'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14840'}}, 'original_commit_id': 'e7f23da63c5d81262c8efb5e3a320ce2509f11b8', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/3942399297/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}}, {'id': 3942422078, 'node_id': 'PRRC_kwDOALCn2M7q_JY-', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/3942422078', 'pull_request_review_id': 5123405262, 'diff_hunk': "@@ -809,6 +810,149 @@ void TCacheEntry::DoState(PointerWrap& p)\n p.Do(frameCount);\n }\n \n+PartialTextureUpdateContext TextureCacheBase::BuildPartialUpdateContext(\n+ const RcTcacheEntry& target, const RcTcacheEntry& source, const u8* palette, TLUTFormat tlutfmt,\n+ bool is_palette_texture, u32 block_width, u32 block_height, u32 block_size, u32 numBlocksX)\n+{\n+ RcTcacheEntry source_entry = source;\n+\n+ PartialTextureUpdateContext context;\n+ context.target_entry = target;\n+ context.source_entry = source_entry;\n+\n+ // If the texture formats are not compatible or convertible, skip it.\n+ if (!IsCompatibleTextureFormat(target->format.texfmt, source_entry->format.texfmt))\n+ {\n+ if (CanReinterpretTextureOnGPU(target->format.texfmt, source_entry->format.texfmt))\n+ {\n+ context.needs_reinterpret = true;\n+ context.reinterpret_entry =\n+ CreateReinterpretEntry(context.source_entry, target->format.texfmt);\n+ if (!context.reinterpret_entry)\n+ return {};\n+\n+ source_entry = context.reinterpret_entry;\n+ }\n+ else\n+ {\n+ return {};\n+ }\n+ }\n+\n+ if (is_palette_texture)\n+ {\n+ context.needs_palette = true;\n+ context.tlutfmt = tlutfmt;\n+ std::tie(context.palette_entry, context.texel_offset) =\n+ CreatePaletteEntryWithOffset(source_entry, palette);\n+ if (!context.palette_entry)\n+ return {};\n+\n+ // Link the efb copy with the partially updated texture, so we won't apply this partial\n+ // update again\n+ source_entry->CreateReference(target.get());\n+ // Mark the texture update as used, as if it was loaded directly\n+ source_entry->frameCount = FRAMECOUNT_INVALID;\n+\n+ source_entry = context.palette_entry;\n+ }\n+\n+ u32 src_x, src_y, dst_x, dst_y;\n+\n+ // Note for understanding the math:\n+ // Normal textures can't be strided, so the 2 missing cases with src_x > 0 don't exist\n+ if (source_entry->addr >= target->addr)\n+ {\n+ u32 block_offset = (source_entry->addr - target->addr) / block_size;\n+ u32 block_x = block_offset % numBlocksX;\n+ u32 block_y = block_offset / numBlocksX;\n+ src_x = 0;\n+ src_y = 0;\n+ dst_x = block_x * block_width;\n+ dst_y = block_y * block_height;\n+ }\n+ else\n+ {\n+ u32 block_offset = (target->addr - source_entry->addr) / block_size;\n+ u32 block_x = (~block_offset + 1) % numBlocksX;\n+ u32 block_y = (block_offset + block_x) / numBlocksX;\n+ src_x = 0;\n+ src_y = block_y * block_height;\n+ dst_x = block_x * block_width;\n+ dst_y = 0;\n+ }\n+\n+ u32 copy_width = std::min(source_entry->native_width - src_x, target->native_width - dst_x);\n+ u32 copy_height = std::min(source_entry->native_height - src_y, target->native_height - dst_y);\n+\n+ // If one of the textures is scaled, scale both with the current efb scaling factor\n+ if (target->native_width != target->GetWidth() || target->native_height != target->GetHeight() ||\n+ source_entry->native_width != source_entry->GetWidth() ||\n+ source_entry->native_height != source_entry->GetHeight())\n+ {", 'path': 'Source/Core/VideoCommon/TextureCacheBase.cpp', 'position': 91, 'original_position': 91, 'commit_id': 'e7f23da63c5d81262c8efb5e3a320ce2509f11b8', '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}, 'body': 'Sigh... This (pre-existing) code acts like we support scaling on only one axis... Do we?', 'created_at': '2026-09-05T23:47:24Z', 'updated_at': '2026-09-06T00:04:43Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14840#discussion_r3942422078', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14840', 'author_association': 'MEMBER', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/3942422078'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14840#discussion_r3942422078'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14840'}}, 'original_commit_id': 'e7f23da63c5d81262c8efb5e3a320ce2509f11b8', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/3942422078/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}}, {'id': 3942428265, 'node_id': 'PRRC_kwDOALCn2M7q_K5p', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/3942428265', 'pull_request_review_id': 5123405262, 'diff_hunk': "@@ -849,150 +997,108 @@ RcTcacheEntry TextureCacheBase::DoPartialTextureUpdates(RcTcacheEntry& entry_to_\n entry->OverlapsMemoryRange(entry_to_update->addr, entry_to_update->size_in_bytes) &&\n entry->memory_stride == numBlocksX * block_size)\n {\n- if (entry->hash == entry->CalculateHash())\n- {\n- // If the texture formats are not compatible or convertible, skip it.\n- if (!IsCompatibleTextureFormat(entry_to_update->format.texfmt, entry->format.texfmt))\n- {\n- if (!CanReinterpretTextureOnGPU(entry_to_update->format.texfmt, entry->format.texfmt))\n- {\n- ++iter.first;\n- continue;\n- }\n+ partial_texture_update_entries.push_back(entry);\n+ }\n+ ++iter.first;\n+ }\n \n- auto reinterpreted_entry = CreateReinterpretEntry(entry, entry_to_update->format.texfmt);\n- RenderReinterpretEntry(reinterpreted_entry, entry->texture.get(), entry->format.texfmt,\n- reinterpreted_entry->format.texfmt);\n- if (reinterpreted_entry)\n- entry = reinterpreted_entry;\n- }\n+ // Execute our partial texture updates\n+ for (const auto& entry : partial_texture_update_entries)\n+ {\n+ auto context =\n+ BuildPartialUpdateContext(entry_to_update, entry, palette, tlutfmt, isPaletteTexture,\n+ block_width, block_height, block_size, numBlocksX);\n+ if (context.target_entry)\n+ {\n+ ExecutePartialTextureUpdate(std::move(context));\n+ }\n+ }\n \n- if (isPaletteTexture)\n- {\n- const auto [decoded_entry, texel_buffer_offset] =\n- CreatePaletteEntryWithOffset(entry, palette);\n- RenderPaletteEntry(texel_buffer_offset, decoded_entry, entry->texture.get(), tlutfmt);\n- if (decoded_entry)\n- {\n- // Link the efb copy with the partially updated texture, so we won't apply this partial\n- // update again\n- entry->CreateReference(entry_to_update.get());\n- // Mark the texture update as used, as if it was loaded directly\n- entry->frameCount = FRAMECOUNT_INVALID;\n- entry = decoded_entry;\n- }\n- else\n- {\n- ++iter.first;\n- continue;\n- }\n- }\n+ return entry_to_update;\n+}\n \n- u32 src_x, src_y, dst_x, dst_y;\n+void TextureCacheBase::ExecutePartialTextureUpdate(PartialTextureUpdateContext context)\n+{\n+ auto target = context.target_entry;\n+ auto source = context.source_entry;\n \n- // Note for understanding the math:\n- // Normal textures can't be strided, so the 2 missing cases with src_x > 0 don't exist\n- if (entry->addr >= entry_to_update->addr)\n- {\n- u32 block_offset = (entry->addr - entry_to_update->addr) / block_size;\n- u32 block_x = block_offset % numBlocksX;\n- u32 block_y = block_offset / numBlocksX;\n- src_x = 0;\n- src_y = 0;\n- dst_x = block_x * block_width;\n- dst_y = block_y * block_height;\n- }\n- else\n- {\n- u32 block_offset = (entry_to_update->addr - entry->addr) / block_size;\n- u32 block_x = (~block_offset + 1) % numBlocksX;\n- u32 block_y = (block_offset + block_x) / numBlocksX;\n- src_x = 0;\n- src_y = block_y * block_height;\n- dst_x = block_x * block_width;\n- dst_y = 0;\n- }\n+ // Remove the temporary converted textures, they won't be used anywhere else\n+ // TODO: It would be nice to convert and copy in one step, but this code path isn't common", 'path': 'Source/Core/VideoCommon/TextureCacheBase.cpp', 'position': 258, 'original_position': 258, 'commit_id': 'e7f23da63c5d81262c8efb5e3a320ce2509f11b8', '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}, 'body': 'Agreed, it would be nice to have some generic way of composing updates into a single shader. ', 'created_at': '2026-09-05T23:50:33Z', 'updated_at': '2026-09-06T00:04:43Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14840#discussion_r3942428265', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14840', 'author_association': 'MEMBER', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/3942428265'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14840#discussion_r3942428265'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14840'}}, 'original_commit_id': 'e7f23da63c5d81262c8efb5e3a320ce2509f11b8', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/3942428265/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}}, {'id': 3942437199, 'node_id': 'PRRC_kwDOALCn2M7q_NFP', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/3942437199', 'pull_request_review_id': 5123405262, 'diff_hunk': "@@ -849,150 +997,108 @@ RcTcacheEntry TextureCacheBase::DoPartialTextureUpdates(RcTcacheEntry& entry_to_\n entry->OverlapsMemoryRange(entry_to_update->addr, entry_to_update->size_in_bytes) &&\n entry->memory_stride == numBlocksX * block_size)\n {\n- if (entry->hash == entry->CalculateHash())\n- {\n- // If the texture formats are not compatible or convertible, skip it.\n- if (!IsCompatibleTextureFormat(entry_to_update->format.texfmt, entry->format.texfmt))\n- {\n- if (!CanReinterpretTextureOnGPU(entry_to_update->format.texfmt, entry->format.texfmt))\n- {\n- ++iter.first;\n- continue;\n- }\n+ partial_texture_update_entries.push_back(entry);\n+ }\n+ ++iter.first;\n+ }\n \n- auto reinterpreted_entry = CreateReinterpretEntry(entry, entry_to_update->format.texfmt);\n- RenderReinterpretEntry(reinterpreted_entry, entry->texture.get(), entry->format.texfmt,\n- reinterpreted_entry->format.texfmt);\n- if (reinterpreted_entry)\n- entry = reinterpreted_entry;\n- }\n+ // Execute our partial texture updates\n+ for (const auto& entry : partial_texture_update_entries)\n+ {\n+ auto context =\n+ BuildPartialUpdateContext(entry_to_update, entry, palette, tlutfmt, isPaletteTexture,\n+ block_width, block_height, block_size, numBlocksX);\n+ if (context.target_entry)\n+ {\n+ ExecutePartialTextureUpdate(std::move(context));\n+ }\n+ }\n \n- if (isPaletteTexture)\n- {\n- const auto [decoded_entry, texel_buffer_offset] =\n- CreatePaletteEntryWithOffset(entry, palette);\n- RenderPaletteEntry(texel_buffer_offset, decoded_entry, entry->texture.get(), tlutfmt);\n- if (decoded_entry)\n- {\n- // Link the efb copy with the partially updated texture, so we won't apply this partial\n- // update again\n- entry->CreateReference(entry_to_update.get());\n- // Mark the texture update as used, as if it was loaded directly\n- entry->frameCount = FRAMECOUNT_INVALID;\n- entry = decoded_entry;\n- }\n- else\n- {\n- ++iter.first;\n- continue;\n- }\n- }\n+ return entry_to_update;\n+}\n \n- u32 src_x, src_y, dst_x, dst_y;\n+void TextureCacheBase::ExecutePartialTextureUpdate(PartialTextureUpdateContext context)\n+{\n+ auto target = context.target_entry;\n+ auto source = context.source_entry;\n \n- // Note for understanding the math:\n- // Normal textures can't be strided, so the 2 missing cases with src_x > 0 don't exist\n- if (entry->addr >= entry_to_update->addr)\n- {\n- u32 block_offset = (entry->addr - entry_to_update->addr) / block_size;\n- u32 block_x = block_offset % numBlocksX;\n- u32 block_y = block_offset / numBlocksX;\n- src_x = 0;\n- src_y = 0;\n- dst_x = block_x * block_width;\n- dst_y = block_y * block_height;\n- }\n- else\n- {\n- u32 block_offset = (entry_to_update->addr - entry->addr) / block_size;\n- u32 block_x = (~block_offset + 1) % numBlocksX;\n- u32 block_y = (block_offset + block_x) / numBlocksX;\n- src_x = 0;\n- src_y = block_y * block_height;\n- dst_x = block_x * block_width;\n- dst_y = 0;\n- }\n+ // Remove the temporary converted textures, they won't be used anywhere else\n+ // TODO: It would be nice to convert and copy in one step, but this code path isn't common\n+ Common::ScopeGuard cleanup{[this, &context] {\n+ if (context.needs_reinterpret && context.reinterpret_entry)\n+ InvalidateTexture(GetTexCacheIter(context.reinterpret_entry.get()));\n+ if (context.needs_palette && context.palette_entry)\n+ InvalidateTexture(GetTexCacheIter(context.palette_entry.get()));\n+ if (context.needs_scale && context.source_scale_entry)\n+ InvalidateTexture(GetTexCacheIter(context.source_scale_entry.get()));\n+ }};\n \n- u32 copy_width =\n- std::min(entry->native_width - src_x, entry_to_update->native_width - dst_x);\n- u32 copy_height =\n- std::min(entry->native_height - src_y, entry_to_update->native_height - dst_y);\n+ if (!source || source->invalidated)\n+ return;\n \n- // If one of the textures is scaled, scale both with the current efb scaling factor\n- if (entry_to_update->native_width != entry_to_update->GetWidth() ||\n- entry_to_update->native_height != entry_to_update->GetHeight() ||\n- entry->native_width != entry->GetWidth() || entry->native_height != entry->GetHeight())\n- {\n- ScaleTextureCacheEntryTo(\n- entry_to_update, g_framebuffer_manager->EFBToScaledX(entry_to_update->native_width),\n- g_framebuffer_manager->EFBToScaledY(entry_to_update->native_height));\n- ScaleTextureCacheEntryTo(entry, g_framebuffer_manager->EFBToScaledX(entry->native_width),\n- g_framebuffer_manager->EFBToScaledY(entry->native_height));\n-\n- src_x = g_framebuffer_manager->EFBToScaledX(src_x);\n- src_y = g_framebuffer_manager->EFBToScaledY(src_y);\n- dst_x = g_framebuffer_manager->EFBToScaledX(dst_x);\n- dst_y = g_framebuffer_manager->EFBToScaledY(dst_y);\n- copy_width = g_framebuffer_manager->EFBToScaledX(copy_width);\n- copy_height = g_framebuffer_manager->EFBToScaledY(copy_height);\n- }\n+ if (source->hash != source->CalculateHash())", 'path': 'Source/Core/VideoCommon/TextureCacheBase.cpp', 'position': 293, 'original_position': 293, 'commit_id': 'e7f23da63c5d81262c8efb5e3a320ce2509f11b8', '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}, 'body': 'Is there a future reason why `CalculateHash` is delayed to now? Seems like we could have skipped much of `BuildPartialUpdateContext`', 'created_at': '2026-09-05T23:55:28Z', 'updated_at': '2026-09-06T00:04:43Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14840#discussion_r3942437199', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14840', 'author_association': 'MEMBER', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/3942437199'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14840#discussion_r3942437199'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14840'}}, 'original_commit_id': 'e7f23da63c5d81262c8efb5e3a320ce2509f11b8', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/3942437199/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}}, {'id': 3942442490, 'node_id': 'PRRC_kwDOALCn2M7q_OX6', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/3942442490', 'pull_request_review_id': 5123405262, 'diff_hunk': "@@ -849,150 +997,108 @@ RcTcacheEntry TextureCacheBase::DoPartialTextureUpdates(RcTcacheEntry& entry_to_\n entry->OverlapsMemoryRange(entry_to_update->addr, entry_to_update->size_in_bytes) &&\n entry->memory_stride == numBlocksX * block_size)\n {\n- if (entry->hash == entry->CalculateHash())\n- {\n- // If the texture formats are not compatible or convertible, skip it.\n- if (!IsCompatibleTextureFormat(entry_to_update->format.texfmt, entry->format.texfmt))\n- {\n- if (!CanReinterpretTextureOnGPU(entry_to_update->format.texfmt, entry->format.texfmt))\n- {\n- ++iter.first;\n- continue;\n- }\n+ partial_texture_update_entries.push_back(entry);\n+ }\n+ ++iter.first;\n+ }\n \n- auto reinterpreted_entry = CreateReinterpretEntry(entry, entry_to_update->format.texfmt);\n- RenderReinterpretEntry(reinterpreted_entry, entry->texture.get(), entry->format.texfmt,\n- reinterpreted_entry->format.texfmt);\n- if (reinterpreted_entry)\n- entry = reinterpreted_entry;\n- }\n+ // Execute our partial texture updates\n+ for (const auto& entry : partial_texture_update_entries)\n+ {\n+ auto context =\n+ BuildPartialUpdateContext(entry_to_update, entry, palette, tlutfmt, isPaletteTexture,\n+ block_width, block_height, block_size, numBlocksX);\n+ if (context.target_entry)\n+ {\n+ ExecutePartialTextureUpdate(std::move(context));\n+ }\n+ }\n \n- if (isPaletteTexture)\n- {\n- const auto [decoded_entry, texel_buffer_offset] =\n- CreatePaletteEntryWithOffset(entry, palette);\n- RenderPaletteEntry(texel_buffer_offset, decoded_entry, entry->texture.get(), tlutfmt);\n- if (decoded_entry)\n- {\n- // Link the efb copy with the partially updated texture, so we won't apply this partial\n- // update again\n- entry->CreateReference(entry_to_update.get());\n- // Mark the texture update as used, as if it was loaded directly\n- entry->frameCount = FRAMECOUNT_INVALID;\n- entry = decoded_entry;\n- }\n- else\n- {\n- ++iter.first;\n- continue;\n- }\n- }\n+ return entry_to_update;\n+}\n \n- u32 src_x, src_y, dst_x, dst_y;\n+void TextureCacheBase::ExecutePartialTextureUpdate(PartialTextureUpdateContext context)\n+{\n+ auto target = context.target_entry;\n+ auto source = context.source_entry;\n \n- // Note for understanding the math:\n- // Normal textures can't be strided, so the 2 missing cases with src_x > 0 don't exist\n- if (entry->addr >= entry_to_update->addr)\n- {\n- u32 block_offset = (entry->addr - entry_to_update->addr) / block_size;\n- u32 block_x = block_offset % numBlocksX;\n- u32 block_y = block_offset / numBlocksX;\n- src_x = 0;\n- src_y = 0;\n- dst_x = block_x * block_width;\n- dst_y = block_y * block_height;\n- }\n- else\n- {\n- u32 block_offset = (entry_to_update->addr - entry->addr) / block_size;\n- u32 block_x = (~block_offset + 1) % numBlocksX;\n- u32 block_y = (block_offset + block_x) / numBlocksX;\n- src_x = 0;\n- src_y = block_y * block_height;\n- dst_x = block_x * block_width;\n- dst_y = 0;\n- }\n+ // Remove the temporary converted textures, they won't be used anywhere else\n+ // TODO: It would be nice to convert and copy in one step, but this code path isn't common\n+ Common::ScopeGuard cleanup{[this, &context] {\n+ if (context.needs_reinterpret && context.reinterpret_entry)\n+ InvalidateTexture(GetTexCacheIter(context.reinterpret_entry.get()));\n+ if (context.needs_palette && context.palette_entry)\n+ InvalidateTexture(GetTexCacheIter(context.palette_entry.get()));\n+ if (context.needs_scale && context.source_scale_entry)\n+ InvalidateTexture(GetTexCacheIter(context.source_scale_entry.get()));\n+ }};\n \n- u32 copy_width =\n- std::min(entry->native_width - src_x, entry_to_update->native_width - dst_x);\n- u32 copy_height =\n- std::min(entry->native_height - src_y, entry_to_update->native_height - dst_y);\n+ if (!source || source->invalidated)\n+ return;\n \n- // If one of the textures is scaled, scale both with the current efb scaling factor\n- if (entry_to_update->native_width != entry_to_update->GetWidth() ||\n- entry_to_update->native_height != entry_to_update->GetHeight() ||\n- entry->native_width != entry->GetWidth() || entry->native_height != entry->GetHeight())\n- {\n- ScaleTextureCacheEntryTo(\n- entry_to_update, g_framebuffer_manager->EFBToScaledX(entry_to_update->native_width),\n- g_framebuffer_manager->EFBToScaledY(entry_to_update->native_height));\n- ScaleTextureCacheEntryTo(entry, g_framebuffer_manager->EFBToScaledX(entry->native_width),\n- g_framebuffer_manager->EFBToScaledY(entry->native_height));\n-\n- src_x = g_framebuffer_manager->EFBToScaledX(src_x);\n- src_y = g_framebuffer_manager->EFBToScaledY(src_y);\n- dst_x = g_framebuffer_manager->EFBToScaledX(dst_x);\n- dst_y = g_framebuffer_manager->EFBToScaledY(dst_y);\n- copy_width = g_framebuffer_manager->EFBToScaledX(copy_width);\n- copy_height = g_framebuffer_manager->EFBToScaledY(copy_height);\n- }\n+ if (source->hash != source->CalculateHash())\n+ {\n+ InvalidateTexture(GetTexCacheIter(source.get()));\n+ return;\n+ }\n \n- // If the source rectangle is outside of what we actually have in VRAM, skip the copy.\n- // The backend doesn't do any clamping, so if we don't, we'd pass out-of-range coordinates\n- // to the graphics driver, which can cause GPU resets.\n- if (static_cast<u32>(src_x + copy_width) > entry->GetWidth() ||\n- static_cast<u32>(src_y + copy_height) > entry->GetHeight() ||\n- static_cast<u32>(dst_x + copy_width) > entry_to_update->GetWidth() ||\n- static_cast<u32>(dst_y + copy_height) > entry_to_update->GetHeight())\n- {\n- ++iter.first;\n- continue;\n- }\n+ if (context.needs_reinterpret)\n+ {\n+ if (!context.reinterpret_entry)\n+ return;\n+ RenderReinterpretEntry(context.reinterpret_entry, context.source_entry->texture.get(),\n+ context.source_entry->format.texfmt,\n+ context.target_entry->format.texfmt);\n+ source = context.reinterpret_entry;\n+ }\n \n- MathUtil::Rectangle<int> srcrect, dstrect;\n- srcrect.left = src_x;\n- srcrect.top = src_y;\n- srcrect.right = (src_x + copy_width);\n- srcrect.bottom = (src_y + copy_height);\n- dstrect.left = dst_x;\n- dstrect.top = dst_y;\n- dstrect.right = (dst_x + copy_width);\n- dstrect.bottom = (dst_y + copy_height);\n-\n- // If one copy is stereo, and the other isn't... not much we can do here :/\n- const u32 layers_to_copy = std::min(entry->GetNumLayers(), entry_to_update->GetNumLayers());\n- for (u32 layer = 0; layer < layers_to_copy; layer++)\n- {\n- entry_to_update->texture->CopyRectangleFromTexture(entry->texture.get(), srcrect, layer,\n- 0, dstrect, layer, 0);\n- }\n+ if (context.needs_palette)\n+ {\n+ if (!context.palette_entry)\n+ return;\n+ RenderPaletteEntry(context.texel_offset, context.palette_entry, source->texture.get(),\n+ context.tlutfmt);\n+ source = context.palette_entry;\n+ }\n \n- if (isPaletteTexture)\n- {\n- // Remove the temporary converted texture, it won't be used anywhere else\n- // TODO: It would be nice to convert and copy in one step, but this code path isn't common\n- iter.first = InvalidateTexture(iter.first);\n- continue;\n- }\n- else\n- {\n- // Link the two textures together, so we won't apply this partial update again\n- entry->CreateReference(entry_to_update.get());\n- // Mark the texture update as used, as if it was loaded directly\n- entry->frameCount = FRAMECOUNT_INVALID;\n- }\n- }\n- else\n- {\n- // If the hash does not match, this EFB copy will not be used for anything, so remove it\n- iter.first = InvalidateTexture(iter.first);\n- continue;\n- }\n+ if (context.needs_scale)\n+ {\n+ if (context.target_prescaled_entry)\n+ {\n+ g_gfx->ScaleTexture(target->framebuffer.get(), target->texture->GetConfig().GetRect(),\n+ context.target_prescaled_entry->texture.get(),\n+ context.target_prescaled_entry->texture->GetConfig().GetRect());\n+ target->texture->FinishedRendering();\n+ }\n+\n+ if (context.source_scale_entry)\n+ {\n+ g_gfx->ScaleTexture(context.source_scale_entry->framebuffer.get(),\n+ context.source_scale_entry->texture->GetConfig().GetRect(),\n+ source->texture.get(), source->texture->GetConfig().GetRect());\n+ context.source_scale_entry->texture->FinishedRendering();\n+ source = context.source_scale_entry;\n }\n- ++iter.first;\n }\n \n- return entry_to_update;\n+ // If the source rectangle is outside of what we actually have in VRAM, skip the copy.\n+ // The backend doesn't do any clamping, so if we don't, we'd pass out-of-range coordinates\n+ // to the graphics driver, which can cause GPU resets.\n+ if (static_cast<u32>(context.src_rect.right) > source->GetWidth() ||\n+ static_cast<u32>(context.src_rect.bottom) > source->GetHeight() ||\n+ static_cast<u32>(context.dst_rect.right) > target->GetWidth() ||\n+ static_cast<u32>(context.dst_rect.bottom) > target->GetHeight())\n+ {\n+ return;", 'path': 'Source/Core/VideoCommon/TextureCacheBase.cpp', 'position': 397, 'original_position': 397, 'commit_id': 'e7f23da63c5d81262c8efb5e3a320ce2509f11b8', '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}, 'body': 'This check/return should be done in `BuildPartialUpdateContext`. No point rendering the scaled/reinterpered/repaletted versions just to abort. ', 'created_at': '2026-09-05T23:58:24Z', 'updated_at': '2026-09-06T00:04:43Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14840#discussion_r3942442490', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14840', 'author_association': 'MEMBER', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/3942442490'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14840#discussion_r3942442490'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14840'}}, 'original_commit_id': 'e7f23da63c5d81262c8efb5e3a320ce2509f11b8', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/3942442490/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}}, {'id': 3942449902, 'node_id': 'PRRC_kwDOALCn2M7q_QLu', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/3942449902', 'pull_request_review_id': 5123405262, 'diff_hunk': '@@ -242,6 +242,33 @@ struct TCacheEntry\n \n using RcTcacheEntry = std::shared_ptr<TCacheEntry>;\n \n+struct PartialTextureUpdateContext\n+{\n+ RcTcacheEntry target_entry;\n+ RcTcacheEntry source_entry;\n+\n+ bool needs_reinterpret = false;\n+ RcTcacheEntry reinterpret_entry;\n+\n+ bool needs_palette = false;\n+ TLUTFormat tlutfmt = TLUTFormat::IA8;\n+ u32 texel_offset;\n+ RcTcacheEntry palette_entry;\n+\n+ bool needs_scale = false;\n+ RcTcacheEntry source_scale_entry;\n+ u32 source_scale_w = 0;\n+ u32 source_scale_h = 0;', 'path': 'Source/Core/VideoCommon/TextureCacheBase.h', 'position': 20, 'original_position': 20, 'commit_id': 'e7f23da63c5d81262c8efb5e3a320ce2509f11b8', '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}, 'body': 'I *think* these are redundant with the src_rect below... not 100% sure. ', 'created_at': '2026-09-06T00:02:34Z', 'updated_at': '2026-09-06T00:04:43Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14840#discussion_r3942449902', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14840', 'author_association': 'MEMBER', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/3942449902'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14840#discussion_r3942449902'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14840'}}, 'original_commit_id': 'e7f23da63c5d81262c8efb5e3a320ce2509f11b8', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/3942449902/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-09-05T19:18:09.747132 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'JosJuice', 'action': 'submitted', 'pr_id': 14833, 'pr_title': 'IOS/FS: Fix loading savestate while TASing', 'state': 'commented', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14833#pullrequestreview-5122680295', 'comments': [{'id': 3941773736, 'node_id': 'PRRC_kwDOALCn2M7q8rGo', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/3941773736', 'pull_request_review_id': 5122680295, 'diff_hunk': '@@ -139,12 +139,45 @@ ResultCode FileSystem::CreateFullPath(Uid uid, Gid gid, const std::string& path,\n \n void FileSystem::DoStateRead(PointerWrap& p, const std::string& directory_path)\n {\n- const ResultCode delete_result = Delete(0, 0, directory_path);\n- if (delete_result != ResultCode::Success && delete_result != ResultCode::NotFound)\n+ const auto delete_ = [this](const std::string& directory_path_) {\n+ const ResultCode delete_result = Delete(0, 0, directory_path_);\n+ if (delete_result != ResultCode::Success && delete_result != ResultCode::NotFound)\n+ {\n+ ERROR_LOG_FMT(IOS_FS, "DoStateRead failed to call Delete for {}: {}", directory_path_,\n+ delete_result);\n+ return false;\n+ }\n+ return true;\n+ };\n+\n+ if (directory_path != "/")\n {\n- ERROR_LOG_FMT(IOS_FS, "DoStateRead failed to call Delete: {}", delete_result);\n- p.SetVerifyMode();\n- return;\n+ if (!delete_(directory_path))\n+ {\n+ p.SetVerifyMode();\n+ return;\n+ }\n+ }\n+ else\n+ {\n+ // Calling Delete for the root would return Invalid. Let\'s delete all children instead.\n+ auto children = ReadDirectory(0, 0, directory_path);\n+ if (!children)\n+ {\n+ ERROR_LOG_FMT(IOS_FS, "DoStateRead failed to call ReadDirectory for {}: {}", directory_path,\n+ children.error());\n+ p.SetVerifyMode();\n+ return;\n+ }\n+\n+ for (const std::string& child_name : children.value())\n+ {\n+ if (!delete_(directory_path + child_name))', 'path': 'Source/Core/Core/IOS/FS/FileSystemCommon.cpp', 'position': 42, 'original_position': 42, 'commit_id': '2478b5715e15a702b3a516634527222bc920c2a0', 'user': {'login': 'JosJuice', 'id': 6716818, 'node_id': 'MDQ6VXNlcjY3MTY4MTg=', 'avatar_url': 'https://avatars.githubusercontent.com/u/6716818?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/JosJuice', 'html_url': 'https://github.com/JosJuice', 'followers_url': 'https://api.github.com/users/JosJuice/followers', 'following_url': 'https://api.github.com/users/JosJuice/following{/other_user}', 'gists_url': 'https://api.github.com/users/JosJuice/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/JosJuice/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/JosJuice/subscriptions', 'organizations_url': 'https://api.github.com/users/JosJuice/orgs', 'repos_url': 'https://api.github.com/users/JosJuice/repos', 'events_url': 'https://api.github.com/users/JosJuice/events{/privacy}', 'received_events_url': 'https://api.github.com/users/JosJuice/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': "I don't think it matters. Since at least one child failed deletion, we're going to get a partial state either way.", 'created_at': '2026-09-05T19:18:07Z', 'updated_at': '2026-09-05T19:18:08Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14833#discussion_r3941773736', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14833', 'author_association': 'MEMBER', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/3941773736'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14833#discussion_r3941773736'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14833'}}, 'original_commit_id': '2478b5715e15a702b3a516634527222bc920c2a0', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/3941773736/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'in_reply_to_id': 3941768142}], 'type': 'gh_pull_request_review'}
2026-09-05T19:16:18.604014 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'iwubcode', 'action': 'submitted', 'pr_id': 14833, 'pr_title': 'IOS/FS: Fix loading savestate while TASing', 'state': 'commented', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14833#pullrequestreview-5122674090', 'comments': [{'id': 3941768142, 'node_id': 'PRRC_kwDOALCn2M7q8pvO', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/3941768142', 'pull_request_review_id': 5122674090, 'diff_hunk': '@@ -139,12 +139,45 @@ ResultCode FileSystem::CreateFullPath(Uid uid, Gid gid, const std::string& path,\n \n void FileSystem::DoStateRead(PointerWrap& p, const std::string& directory_path)\n {\n- const ResultCode delete_result = Delete(0, 0, directory_path);\n- if (delete_result != ResultCode::Success && delete_result != ResultCode::NotFound)\n+ const auto delete_ = [this](const std::string& directory_path_) {\n+ const ResultCode delete_result = Delete(0, 0, directory_path_);\n+ if (delete_result != ResultCode::Success && delete_result != ResultCode::NotFound)\n+ {\n+ ERROR_LOG_FMT(IOS_FS, "DoStateRead failed to call Delete for {}: {}", directory_path_,\n+ delete_result);\n+ return false;\n+ }\n+ return true;\n+ };\n+\n+ if (directory_path != "/")\n {\n- ERROR_LOG_FMT(IOS_FS, "DoStateRead failed to call Delete: {}", delete_result);\n- p.SetVerifyMode();\n- return;\n+ if (!delete_(directory_path))\n+ {\n+ p.SetVerifyMode();\n+ return;\n+ }\n+ }\n+ else\n+ {\n+ // Calling Delete for the root would return Invalid. Let\'s delete all children instead.\n+ auto children = ReadDirectory(0, 0, directory_path);\n+ if (!children)\n+ {\n+ ERROR_LOG_FMT(IOS_FS, "DoStateRead failed to call ReadDirectory for {}: {}", directory_path,\n+ children.error());\n+ p.SetVerifyMode();\n+ return;\n+ }\n+\n+ for (const std::string& child_name : children.value())\n+ {\n+ if (!delete_(directory_path + child_name))', 'path': 'Source/Core/Core/IOS/FS/FileSystemCommon.cpp', 'position': 42, 'original_position': 42, 'commit_id': '2478b5715e15a702b3a516634527222bc920c2a0', 'user': {'login': 'iwubcode', 'id': 15224722, 'node_id': 'MDQ6VXNlcjE1MjI0NzIy', 'avatar_url': 'https://avatars.githubusercontent.com/u/15224722?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/iwubcode', 'html_url': 'https://github.com/iwubcode', 'followers_url': 'https://api.github.com/users/iwubcode/followers', 'following_url': 'https://api.github.com/users/iwubcode/following{/other_user}', 'gists_url': 'https://api.github.com/users/iwubcode/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/iwubcode/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/iwubcode/subscriptions', 'organizations_url': 'https://api.github.com/users/iwubcode/orgs', 'repos_url': 'https://api.github.com/users/iwubcode/repos', 'events_url': 'https://api.github.com/users/iwubcode/events{/privacy}', 'received_events_url': 'https://api.github.com/users/iwubcode/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': "I don't know much about this but if this fails, should we leave things in a partial state? Would it be better to `continue` and then `SetVerifyMode()` and return at the end?", 'created_at': '2026-09-05T19:16:15Z', 'updated_at': '2026-09-05T19:16:15Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14833#discussion_r3941768142', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14833', 'author_association': 'MEMBER', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/3941768142'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14833#discussion_r3941768142'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14833'}}, 'original_commit_id': '2478b5715e15a702b3a516634527222bc920c2a0', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/3941768142/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-09-05T12:48:03.898612 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'JosJuice', 'action': 'submitted', 'pr_id': 14844, 'pr_title': 'Add AR codes for Timesplitters 2 (Retroachievements)', 'state': 'approved', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14844#pullrequestreview-5121323640', 'comments': [], 'type': 'gh_pull_request_review'}
2026-09-05T12:47:58.645799 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'JosJuice', 'action': 'submitted', 'pr_id': 14844, 'pr_title': 'Add AR codes for Timesplitters 2 (Retroachievements)', 'state': 'commented', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14844#pullrequestreview-5121323289', 'comments': [{'id': 3940671123, 'node_id': 'PRRC_kwDOALCn2M7q4d6T', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/3940671123', 'pull_request_review_id': 5121323289, 'diff_hunk': '@@ -5,6 +5,43 @@\n \n [ActionReplay]\n # Add action replay cheats here.\n+$Border Fix\n+0446E504 44200000\n+04335720 44200000\n+0446E500 43DC0000\n+04335724 43DC0000\n+$16:9', 'path': 'Data/Sys/GameSettings/GTSE4F.ini', 'position': 9, 'original_position': 9, 'commit_id': '4a9db521c14c2289af1429e76f9f622387f4359f', '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': "Okay, then there's no problem. It can be called 16:9.", 'created_at': '2026-09-05T12:47:50Z', 'updated_at': '2026-09-05T12:47:50Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14844#discussion_r3940671123', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14844', 'author_association': 'MEMBER', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/3940671123'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14844#discussion_r3940671123'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14844'}}, 'original_commit_id': '4a9db521c14c2289af1429e76f9f622387f4359f', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/3940671123/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'in_reply_to_id': 3940081647}], 'type': 'gh_pull_request_review'}
2026-09-05T12:46:20.707013 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'retropieuser', 'action': 'submitted', 'pr_id': 14844, 'pr_title': 'Add AR codes for Timesplitters 2 (Retroachievements)', 'state': 'commented', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14844#pullrequestreview-5121320507', 'comments': [{'id': 3940668127, 'node_id': 'PRRC_kwDOALCn2M7q4dLf', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/3940668127', 'pull_request_review_id': 5121320507, 'diff_hunk': '@@ -5,6 +5,43 @@\n \n [ActionReplay]\n # Add action replay cheats here.\n+$Border Fix\n+0446E504 44200000\n+04335720 44200000\n+0446E500 43DC0000\n+04335724 43DC0000\n+$16:9', 'path': 'Data/Sys/GameSettings/GTSE4F.ini', 'position': 9, 'original_position': 9, 'commit_id': '4a9db521c14c2289af1429e76f9f622387f4359f', 'user': {'login': 'retropieuser', 'id': 73472027, 'node_id': 'MDQ6VXNlcjczNDcyMDI3', 'avatar_url': 'https://avatars.githubusercontent.com/u/73472027?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/retropieuser', 'html_url': 'https://github.com/retropieuser', 'followers_url': 'https://api.github.com/users/retropieuser/followers', 'following_url': 'https://api.github.com/users/retropieuser/following{/other_user}', 'gists_url': 'https://api.github.com/users/retropieuser/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/retropieuser/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/retropieuser/subscriptions', 'organizations_url': 'https://api.github.com/users/retropieuser/orgs', 'repos_url': 'https://api.github.com/users/retropieuser/repos', 'events_url': 'https://api.github.com/users/retropieuser/events{/privacy}', 'received_events_url': 'https://api.github.com/users/retropieuser/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': "> So the Widescreen Hack setting isn't needed?\r\n\r\nIndeed Widescreen Hack needs to be turned off. I think it's similar to most of the wiki 16:9 codes if you run the Widescreen Hack at the same time you run into graphical errors. The original Widescreen Hack you can see in the wiki causes graphical problems like specific weapons don't appear on screen.\r\n", 'created_at': '2026-09-05T12:46:18Z', 'updated_at': '2026-09-05T12:46:19Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14844#discussion_r3940668127', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14844', 'author_association': 'NONE', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/3940668127'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14844#discussion_r3940668127'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14844'}}, 'original_commit_id': '4a9db521c14c2289af1429e76f9f622387f4359f', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/3940668127/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'in_reply_to_id': 3940081647}], 'type': 'gh_pull_request_review'}
2026-09-05T12:39:01.439745 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'JosJuice', 'action': 'submitted', 'pr_id': 14844, 'pr_title': 'Add AR codes for Timesplitters 2 (Retroachievements)', 'state': 'commented', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14844#pullrequestreview-5121306643', 'comments': [{'id': 3940653140, 'node_id': 'PRRC_kwDOALCn2M7q4ZhU', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/3940653140', 'pull_request_review_id': 5121306643, 'diff_hunk': '@@ -5,6 +5,43 @@\n \n [ActionReplay]\n # Add action replay cheats here.\n+$Border Fix\n+0446E504 44200000\n+04335720 44200000\n+0446E500 43DC0000\n+04335724 43DC0000\n+$16:9', 'path': 'Data/Sys/GameSettings/GTSE4F.ini', 'position': 9, 'original_position': 9, 'commit_id': '4a9db521c14c2289af1429e76f9f622387f4359f', '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': "> You can have a test of the code yourself\r\n\r\nSorry, I don't have this game.\r\n\r\n> but I find on Mac and Linux you need to use force 16:9 (AspectRatio = 1) which changes all the menus to 16:9 anyway (it's a tradeoff between that to get a 16:9 viewpoint in gameplay to live with menus stretched, which isn't a big deal in my opinion for users).\r\n\r\nSo the Widescreen Hack setting isn't needed?", 'created_at': '2026-09-05T12:38:59Z', 'updated_at': '2026-09-05T12:38:59Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14844#discussion_r3940653140', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14844', 'author_association': 'MEMBER', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/3940653140'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14844#discussion_r3940653140'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14844'}}, 'original_commit_id': '4a9db521c14c2289af1429e76f9f622387f4359f', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/3940653140/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'in_reply_to_id': 3940081647}], 'type': 'gh_pull_request_review'}
2026-09-05T12:35:21.024872 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'retropieuser', 'action': 'submitted', 'pr_id': 14844, 'pr_title': 'Add AR codes for Timesplitters 2 (Retroachievements)', 'state': 'commented', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14844#pullrequestreview-5121298048', 'comments': [{'id': 3940645143, 'node_id': 'PRRC_kwDOALCn2M7q4XkX', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/3940645143', 'pull_request_review_id': 5121298048, 'diff_hunk': '@@ -5,6 +5,43 @@\n \n [ActionReplay]\n # Add action replay cheats here.\n+$Border Fix\n+0446E504 44200000\n+04335720 44200000\n+0446E500 43DC0000\n+04335724 43DC0000\n+$16:9', 'path': 'Data/Sys/GameSettings/GTSE4F.ini', 'position': 9, 'original_position': 9, 'commit_id': '4a9db521c14c2289af1429e76f9f622387f4359f', 'user': {'login': 'retropieuser', 'id': 73472027, 'node_id': 'MDQ6VXNlcjczNDcyMDI3', 'avatar_url': 'https://avatars.githubusercontent.com/u/73472027?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/retropieuser', 'html_url': 'https://github.com/retropieuser', 'followers_url': 'https://api.github.com/users/retropieuser/followers', 'following_url': 'https://api.github.com/users/retropieuser/following{/other_user}', 'gists_url': 'https://api.github.com/users/retropieuser/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/retropieuser/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/retropieuser/subscriptions', 'organizations_url': 'https://api.github.com/users/retropieuser/orgs', 'repos_url': 'https://api.github.com/users/retropieuser/repos', 'events_url': 'https://api.github.com/users/retropieuser/events{/privacy}', 'received_events_url': 'https://api.github.com/users/retropieuser/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': "So the wording on the wiki is 16:9 Widescreen (Perspective only, Action Replay)\r\n\r\nhttps://wiki.dolphin-emu.org/index.php?title=TimeSplitters_2\r\n\r\nYou can have a test of the code yourself, but I find on Mac and Linux you need to use force 16:9 (AspectRatio = 1) which changes all the menus to 16:9 anyway (it's a tradeoff between that to get a 16:9 viewpoint in gameplay to live with menus stretched, which isn't a big deal in my opinion for users). \r\n\r\nBut I can rename it to 16:9 Widescreen (Perspective only, Action Replay) or something else if that helps", 'created_at': '2026-09-05T12:35:19Z', 'updated_at': '2026-09-05T12:35:19Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14844#discussion_r3940645143', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14844', 'author_association': 'NONE', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/3940645143'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14844#discussion_r3940645143'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14844'}}, 'original_commit_id': '4a9db521c14c2289af1429e76f9f622387f4359f', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/3940645143/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'in_reply_to_id': 3940081647}], 'type': 'gh_pull_request_review'}
2026-09-05T08:59:09.717050 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'JosJuice', 'action': 'submitted', 'pr_id': 14844, 'pr_title': 'Add AR codes for Timesplitters 2 (Retroachievements)', 'state': 'commented', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14844#pullrequestreview-5120612626', 'comments': [{'id': 3940081647, 'node_id': 'PRRC_kwDOALCn2M7q2N_v', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/3940081647', 'pull_request_review_id': 5120612626, 'diff_hunk': '@@ -5,6 +5,43 @@\n \n [ActionReplay]\n # Add action replay cheats here.\n+$Border Fix\n+0446E504 44200000\n+04335720 44200000\n+0446E500 43DC0000\n+04335724 43DC0000\n+$16:9', 'path': 'Data/Sys/GameSettings/GTSE4F.ini', 'position': 9, 'original_position': 9, 'commit_id': '4a9db521c14c2289af1429e76f9f622387f4359f', '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': "Does this code in itself make the game 16:9, or is it just a code that adjusts culling and such? If it's the latter, this code could use a clearer name.", 'created_at': '2026-09-05T08:59:07Z', 'updated_at': '2026-09-05T08:59:08Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14844#discussion_r3940081647', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14844', 'author_association': 'MEMBER', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/3940081647'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14844#discussion_r3940081647'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14844'}}, 'original_commit_id': '4a9db521c14c2289af1429e76f9f622387f4359f', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/3940081647/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-09-04T21:52:53.265613 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'sepalani', 'action': 'submitted', 'pr_id': 14845, 'pr_title': 'generate_coefs.py: fix compatibility with modern NumPy', 'state': 'commented', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14845#pullrequestreview-5118124343', 'comments': [{'id': 3938113307, 'node_id': 'PRRC_kwDOALCn2M7qutcb', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/3938113307', 'pull_request_review_id': 5118124343, 'diff_hunk': "@@ -12,14 +14,14 @@ def convert_coefs(c):\n def pack_coefs(short_coefs):\n return b''.join(pack('>H', c) for c in short_coefs)\n \n-x = linspace(-2, 2, 512, endpoint=True)\n+x = np.linspace(-2, 2, 512, endpoint=True)\n \n-w1 = hamming(512)\n-w2 = kaiser(512, pi * 9/4)\n+w1 = np.hamming(512)\n+w2 = np.kaiser(512, np.pi * 9/4)\n \n-coef_1 = [sinc(n * 0.5) for n in x] * w1\n-coef_2 = [sinc(n * 0.75) for n in x] * w2\n-coef_3 = [sinc(n) for n in x] * w1\n+coef_1 = [np.sinc(n * 0.5) for n in x] * w1\n+coef_2 = [np.sinc(n * 0.75) for n in x] * w2\n+coef_3 = [np.sinc(n) for n in x] * w1", 'path': 'docs/DSP/free_dsp_rom/generate_coefs.py', 'position': 25, 'original_position': 25, 'commit_id': '5d4cf0ec6552e0dffdce0bc318932b9481e7084c', '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': 'IIRC, these can be simplified as follows:\n\n```python\ncoef_1 = np.sinc(x * 0.5) * w1\ncoef_2 = np.sinc(x * 0.75) * w2\ncoef_3 = np.sinc(x) * w1\n```\n\nThe multiplication will be applied to all the elements of the array, ditto for the `sinc` function.', 'created_at': '2026-09-04T21:52:49Z', 'updated_at': '2026-09-04T21:52:49Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14845#discussion_r3938113307', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14845', 'author_association': 'MEMBER', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/3938113307'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14845#discussion_r3938113307'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14845'}}, 'original_commit_id': '5d4cf0ec6552e0dffdce0bc318932b9481e7084c', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/3938113307/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-09-04T18:03:11.471177 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'Dentomologist', 'action': 'submitted', 'pr_id': 14846, 'pr_title': 'HW/EXI: Don’t dereference one item past end of array', 'state': 'approved', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14846#pullrequestreview-5116363640', 'comments': [], 'type': 'gh_pull_request_review'}
2026-09-04T08:18:52.697646 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'sepalani', 'action': 'submitted', 'pr_id': 14845, 'pr_title': 'generate_coefs.py: fix compatibility with modern NumPy', 'state': 'commented', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14845#pullrequestreview-5110741685', 'comments': [{'id': 3932180720, 'node_id': 'PRRC_kwDOALCn2M7qYFDw', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/3932180720', 'pull_request_review_id': 5110741685, 'diff_hunk': '@@ -6,7 +6,7 @@ def convert_coefs(c):\n c[128:256][::-1],\n c[256:384][::-1],\n c[384: ][::-1]))\n- m = max(sum(x) for x in cw)\n+ m = max([sum(x) for x in cw])', 'path': 'docs/DSP/free_dsp_rom/generate_coefs.py', 'position': 5, 'original_position': 5, 'commit_id': '6c8f3e3c04b1ba7b77feae5116f2125b6ba5af31', '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': "Assuming it's using `numpy`'s `max`/`sum` functions, the following is probably equivalent:\n```python\nm = numpy.sum(cw).max()\n```\nYou might need to specify the axis for `sum` _(i.e. `sum(cw, axis=1)`)_ assuming I got the list shape right.", 'created_at': '2026-09-04T08:17:12Z', 'updated_at': '2026-09-04T08:18:50Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14845#discussion_r3932180720', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14845', 'author_association': 'MEMBER', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/3932180720'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14845#discussion_r3932180720'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14845'}}, 'original_commit_id': '6c8f3e3c04b1ba7b77feae5116f2125b6ba5af31', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/3932180720/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-09-04T08:18:52.307383 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'sepalani', 'action': 'edited', 'pr_id': 14845, 'pr_title': 'generate_coefs.py: fix compatibility with modern NumPy', 'state': 'commented', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14845#pullrequestreview-5110741685', 'comments': [{'id': 3932180720, 'node_id': 'PRRC_kwDOALCn2M7qYFDw', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/3932180720', 'pull_request_review_id': 5110741685, 'diff_hunk': '@@ -6,7 +6,7 @@ def convert_coefs(c):\n c[128:256][::-1],\n c[256:384][::-1],\n c[384: ][::-1]))\n- m = max(sum(x) for x in cw)\n+ m = max([sum(x) for x in cw])', 'path': 'docs/DSP/free_dsp_rom/generate_coefs.py', 'position': 5, 'original_position': 5, 'commit_id': '6c8f3e3c04b1ba7b77feae5116f2125b6ba5af31', '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': "Assuming it's using `numpy`'s `max`/`sum` functions, the following is probably equivalent:\n```python\nm = numpy.sum(cw).max()\n```\nYou might need to specify the axis for `sum` _(i.e. `sum(cw, axis=1)`)_ assuming I got the list shape right.", 'created_at': '2026-09-04T08:17:12Z', 'updated_at': '2026-09-04T08:18:50Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14845#discussion_r3932180720', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14845', 'author_association': 'MEMBER', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/3932180720'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14845#discussion_r3932180720'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14845'}}, 'original_commit_id': '6c8f3e3c04b1ba7b77feae5116f2125b6ba5af31', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/3932180720/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-09-03T22:42:28.067032 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'JoshuaVandaele', 'action': 'submitted', 'pr_id': 14841, 'pr_title': 'cmake: Try newer glslang versions first.', 'state': 'approved', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14841#pullrequestreview-5107499575', 'comments': [], 'type': 'gh_pull_request_review'}
Recent 'gh_push' events
2026-09-06T07:35:35.637801 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'pusher': 'linkmauve', 'before_sha': '982e8d183d8df64b641a9809ec2f3b193f94e5e5', 'after_sha': 'a2efdf1197be8132674b90fe9cf4761df39752ed', 'commits': [{'author': {'name': 'Link Mauve', 'email': 'linkmauve@linkmauve.fr', 'date': '2026-09-06T09:04:49+02:00', 'username': 'linkmauve'}, 'distinct': False, 'added': [], 'modified': ['Source/Core/VideoCommon/BPStructs.cpp'], 'removed': [], 'message': 'Revert "VideoCommon: Use correct size for PE token"\n\nThis reverts commit e4349ae1791dec688d91c6813eeadf049a8c73ec.\n\nThe 0x prefix is included in the characters count (unlike e.g. in Rust\nwhere there is no 0x prefix), so that commit was wrong. Sorry about\nthat!\n\nFixes regression introduced in #14842.', 'url': 'https://github.com/dolphin-emu/dolphin/commit/3e95d0fc16c53f3c51b6469c9419d05ca4b3401a', 'hash': '3e95d0fc16c53f3c51b6469c9419d05ca4b3401a'}, {'author': {'name': 'linkmauve', 'email': 'linkmauve@linkmauve.fr', 'date': '2026-09-06T09:35:33+02:00', 'username': 'linkmauve'}, 'distinct': True, 'added': [], 'modified': ['Source/Core/VideoCommon/BPStructs.cpp'], 'removed': [], 'message': 'Merge pull request #14847 from linkmauve/pe-token-2-bytes\n\nRevert "VideoCommon: Use correct size for PE token"', 'url': 'https://github.com/dolphin-emu/dolphin/commit/a2efdf1197be8132674b90fe9cf4761df39752ed', 'hash': 'a2efdf1197be8132674b90fe9cf4761df39752ed'}], 'base_ref_name': None, 'ref_name': 'master', 'ref_type': 'heads', 'created': False, 'deleted': False, 'forced': False, 'type': 'gh_push'}
2026-09-06T05:04:50.767110 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'pusher': 'Dentomologist', 'before_sha': 'debe8e9fd974517062a7622142bba2ecce0e6c60', 'after_sha': '982e8d183d8df64b641a9809ec2f3b193f94e5e5', 'commits': [{'author': {'name': 'JosJuice', 'email': 'josjuice@gmail.com', 'date': '2026-08-16T09:18:37+02:00', 'username': 'JosJuice'}, 'distinct': False, 'added': [], 'modified': ['Source/Core/Common/Version.cpp'], 'removed': [], 'message': 'Common: Add Android to GetNetplayDolphinVer\n\nThis makes Android players show up as "Android" instead of "Lin".\n(This is only visible in DolphinQt, not in the Android GUI.)\n\nI\'m also unabbreviating all the existing operating system names:\n\n* Win -> Windows\n* Mac -> macOS\n* Lin -> Linux', 'url': 'https://github.com/dolphin-emu/dolphin/commit/c774385c7b7911f467fbaf01c70893f54c63fc99', 'hash': 'c774385c7b7911f467fbaf01c70893f54c63fc99'}, {'author': {'name': 'Dentomologist', 'email': 'dentomologist@gmail.com', 'date': '2026-09-05T22:04:48-07:00', 'username': 'Dentomologist'}, 'distinct': True, 'added': [], 'modified': ['Source/Core/Common/Version.cpp'], 'removed': [], 'message': 'Merge pull request #14817 from JosJuice/android-netplay-version\n\nCommon: Add Android to GetNetplayDolphinVer', 'url': 'https://github.com/dolphin-emu/dolphin/commit/982e8d183d8df64b641a9809ec2f3b193f94e5e5', 'hash': '982e8d183d8df64b641a9809ec2f3b193f94e5e5'}], 'base_ref_name': None, 'ref_name': 'master', 'ref_type': 'heads', 'created': False, 'deleted': False, 'forced': False, 'type': 'gh_push'}
2026-09-06T02:37:59.987808 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'pusher': 'phire', 'before_sha': 'bd389f6b003e9b2f910039a00262176672c2f56f', 'after_sha': 'debe8e9fd974517062a7622142bba2ecce0e6c60', 'commits': [{'author': {'name': 'Scott Mansell', 'email': 'phiren@gmail.com', 'date': '2026-08-07T17:12:00+12:00', 'username': 'phire'}, 'distinct': False, 'added': [], 'modified': ['Source/Core/VideoCommon/GXPipelineTypes.h', 'Source/Core/VideoCommon/NativeVertexFormat.h', 'Source/Core/VideoCommon/PipelineUtils.cpp', 'Source/Core/VideoCommon/VertexShaderGen.cpp', 'Source/Core/VideoCommon/VertexShaderGen.h', 'Source/Core/VideoCommon/XFMemory.h'], 'removed': [], 'message': "Optimize vertex_shader_uid_data down to 28 bytes\n\nThis started as a fixing a misalignment issue, but I got carried away.\nWas originally 41 bytes (overflowing it's expected 40 bytes by 1 bit).\n\nNow it's 27 bytes plus 8 bits of padding (ready for future expansion).\n\nThe savings come from:\n - Removing UV usage from components, it can be reconstructed from\n texcoord_elem_count (saved 8 bits)\n - Removed the 8 unused bits from texMtxInfo_n_projection (saved 8 bits)\n - Removing unused bit from from start of components (saved 1 bit)\n - Removed extra bit from inputform, texgentype and sourcerow\n - packed texMtxInfo_n_projection and texcoord_elem_count back into\n the per texgen info space freed up above. (saved 24 bits)\n - Overlayed postMtx index and Emboss mode shifts into a union based on\n texgentype (saved 56 bits)\n - Move to a single-bit union tag, freeing up an extra bit for regular\n texgens.\n - Move PotMtx normalize into the freed up space (saved 8 bits)\n\nTotal savings: 105 bits of data\n\nEDIT: Even worse, MSVC wasn't respecting pack(1) for bitfields at all,\n so on windows this struct was actually quite a bit larger.\n Something like 80 bytes, if not more.\n\n Fixed this by dropping the size of any enums used in these\n bit structs to u8. Our Common::BitField allows for the underlying\n type to be explicitly specified to something larger.\n\n msvc's bitfield packing appears to be completely braindead, can't\n mix sizes at all.", 'url': 'https://github.com/dolphin-emu/dolphin/commit/e5eabd08f583fbdd3bb2551778e5ecb67dff0843', 'hash': 'e5eabd08f583fbdd3bb2551778e5ecb67dff0843'}, {'author': {'name': 'Scott Mansell', 'email': 'phiren@gmail.com', 'date': '2026-09-06T14:37:57+12:00', 'username': 'phire'}, 'distinct': True, 'added': [], 'modified': ['Source/Core/VideoCommon/GXPipelineTypes.h', 'Source/Core/VideoCommon/NativeVertexFormat.h', 'Source/Core/VideoCommon/PipelineUtils.cpp', 'Source/Core/VideoCommon/VertexShaderGen.cpp', 'Source/Core/VideoCommon/VertexShaderGen.h', 'Source/Core/VideoCommon/XFMemory.h'], 'removed': [], 'message': 'Merge pull request #14789 from phire/optimise_vs_uid\n\nOptimize vertex_shader_uid_data down to 28 bytes', 'url': 'https://github.com/dolphin-emu/dolphin/commit/debe8e9fd974517062a7622142bba2ecce0e6c60', 'hash': 'debe8e9fd974517062a7622142bba2ecce0e6c60'}], 'base_ref_name': None, 'ref_name': 'master', 'ref_type': 'heads', 'created': False, 'deleted': False, 'forced': False, 'type': 'gh_push'}
2026-09-06T00:06:33.546841 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'pusher': 'phire', 'before_sha': 'ef0038ddedef11bcbe85b071b0d9edf5bc17a828', 'after_sha': 'bd389f6b003e9b2f910039a00262176672c2f56f', 'commits': [{'author': {'name': 'Link Mauve', 'email': 'linkmauve@linkmauve.fr', 'date': '2026-09-03T11:50:21+02:00', 'username': 'linkmauve'}, 'distinct': False, 'added': [], 'modified': ['Source/Core/Core/Core.cpp'], 'removed': [], 'message': 'Core: Improve error message on empty dff\n\nThis also lets us remove the comment, which is now unnecessary.', 'url': 'https://github.com/dolphin-emu/dolphin/commit/cdb1744994faa9dad6172f235b8e5801577c52c5', 'hash': 'cdb1744994faa9dad6172f235b8e5801577c52c5'}, {'author': {'name': 'Scott Mansell', 'email': 'phiren@gmail.com', 'date': '2026-09-06T12:06:31+12:00', 'username': 'phire'}, 'distinct': True, 'added': [], 'modified': ['Source/Core/Core/Core.cpp'], 'removed': [], 'message': 'Merge pull request #14843 from linkmauve/better-dff-error-message\n\nCore: Improve error message on empty dff', 'url': 'https://github.com/dolphin-emu/dolphin/commit/bd389f6b003e9b2f910039a00262176672c2f56f', 'hash': 'bd389f6b003e9b2f910039a00262176672c2f56f'}], 'base_ref_name': None, 'ref_name': 'master', 'ref_type': 'heads', 'created': False, 'deleted': False, 'forced': False, 'type': 'gh_push'}
2026-09-06T00:06:19.740077 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'pusher': 'phire', 'before_sha': 'f0862e12e18c75f508aa5423f8726bf5b39d8e8d', 'after_sha': 'ef0038ddedef11bcbe85b071b0d9edf5bc17a828', 'commits': [{'author': {'name': 'Link Mauve', 'email': 'linkmauve@linkmauve.fr', 'date': '2026-09-03T11:47:50+02:00', 'username': 'linkmauve'}, 'distinct': False, 'added': [], 'modified': ['Source/Core/VideoCommon/BPStructs.cpp'], 'removed': [], 'message': 'VideoCommon: Use correct size for PE token\n\nThis token is a u16, not a u24, so let’s not display unnecessary 00\npadding.', 'url': 'https://github.com/dolphin-emu/dolphin/commit/e4349ae1791dec688d91c6813eeadf049a8c73ec', 'hash': 'e4349ae1791dec688d91c6813eeadf049a8c73ec'}, {'author': {'name': 'Scott Mansell', 'email': 'phiren@gmail.com', 'date': '2026-09-06T12:06:17+12:00', 'username': 'phire'}, 'distinct': True, 'added': [], 'modified': ['Source/Core/VideoCommon/BPStructs.cpp'], 'removed': [], 'message': 'Merge pull request #14842 from linkmauve/pe-token-2-bytes\n\nVideoCommon: Use correct size for PE token', 'url': 'https://github.com/dolphin-emu/dolphin/commit/ef0038ddedef11bcbe85b071b0d9edf5bc17a828', 'hash': 'ef0038ddedef11bcbe85b071b0d9edf5bc17a828'}], 'base_ref_name': None, 'ref_name': 'master', 'ref_type': 'heads', 'created': False, 'deleted': False, 'forced': False, 'type': 'gh_push'}
2026-09-05T18:45:16.938435 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'pusher': 'JMC47', 'before_sha': '7f6eb621ad2b52455c023f9eed74734de814f2c4', 'after_sha': 'f0862e12e18c75f508aa5423f8726bf5b39d8e8d', 'commits': [{'author': {'name': 'retropieuser', 'email': '73472027+retropieuser@users.noreply.github.com', 'date': '2026-09-03T21:53:16+01:00', 'username': 'retropieuser'}, 'distinct': False, 'added': [], 'modified': ['Data/Sys/ApprovedInis.json', 'Data/Sys/GameSettings/GTSE4F.ini'], 'removed': [], 'message': 'Add AR codes for Timesplitters 2 (Retroachievements)\n\nAdded in the two codes quoted on the game wiki page\n\nhttps://wiki.dolphin-emu.org/index.php?title=TimeSplitters_2\n\n16:9 Widescreen during gameplay & the Border Fix', 'url': 'https://github.com/dolphin-emu/dolphin/commit/4a9db521c14c2289af1429e76f9f622387f4359f', 'hash': '4a9db521c14c2289af1429e76f9f622387f4359f'}, {'author': {'name': 'JMC47', 'email': 'JMC4789@gmail.com', 'date': '2026-09-05T14:45:14-04:00', 'username': 'JMC47'}, 'distinct': True, 'added': [], 'modified': ['Data/Sys/ApprovedInis.json', 'Data/Sys/GameSettings/GTSE4F.ini'], 'removed': [], 'message': 'Merge pull request #14844 from retropieuser/master\n\nAdd AR codes for Timesplitters 2 (Retroachievements)', 'url': 'https://github.com/dolphin-emu/dolphin/commit/f0862e12e18c75f508aa5423f8726bf5b39d8e8d', 'hash': 'f0862e12e18c75f508aa5423f8726bf5b39d8e8d'}], 'base_ref_name': None, 'ref_name': 'master', 'ref_type': 'heads', 'created': False, 'deleted': False, 'forced': False, 'type': 'gh_push'}
2026-09-05T10:18:22.237686 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'pusher': 'JosJuice', 'before_sha': 'e559fd7c3cfe7eabe9650978655c2f64c1570f29', 'after_sha': '7f6eb621ad2b52455c023f9eed74734de814f2c4', 'commits': [{'author': {'name': 'OatmealDome', 'email': 'julian@oatmealdome.me', 'date': '2026-09-01T21:50:27-04:00', 'username': 'OatmealDome'}, 'distinct': False, 'added': [], 'modified': ['Source/Core/Common/MemArenaDarwin.cpp'], 'removed': [], 'message': 'MemArenaDarwin: Pass the MAP_MEM_VM_SHARE flag to mach_make_memory_entry_64\nLarge anonymous mappings are split into 128 MB chunks. Without MAP_MEM_VM_SHARE,\nmach_make_memory_entry_64 will only return an entry spanning the first chunk.\nAttempting to map through that entry will fail if it extends beyond the 128 MB\nboundary, which can happen when the sizes of MEM1/MEM2 are overridden.', 'url': 'https://github.com/dolphin-emu/dolphin/commit/27804b4e67a430133c0227265c0d9c0473efa783', 'hash': '27804b4e67a430133c0227265c0d9c0473efa783'}, {'author': {'name': 'JosJuice', 'email': 'josjuice@gmail.com', 'date': '2026-09-05T12:18:19+02:00', 'username': 'JosJuice'}, 'distinct': True, 'added': [], 'modified': ['Source/Core/Common/MemArenaDarwin.cpp'], 'removed': [], 'message': 'Merge pull request #14838 from OatmealDome/mac-memory-increase-fail\n\nMemArenaDarwin: Pass the MAP_MEM_VM_SHARE flag to mach_make_memory_entry_64', 'url': 'https://github.com/dolphin-emu/dolphin/commit/7f6eb621ad2b52455c023f9eed74734de814f2c4', 'hash': '7f6eb621ad2b52455c023f9eed74734de814f2c4'}], 'base_ref_name': None, 'ref_name': 'master', 'ref_type': 'heads', 'created': False, 'deleted': False, 'forced': False, 'type': 'gh_push'}
2026-09-04T20:03:27.527153 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'pusher': 'Tilka', 'before_sha': 'ca8c6ee45e419296226e4da8c2b2adaaf54e0299', 'after_sha': 'e559fd7c3cfe7eabe9650978655c2f64c1570f29', 'commits': [{'author': {'name': 'Link Mauve', 'email': 'linkmauve@linkmauve.fr', 'date': '2026-09-04T15:32:11+02:00', 'username': 'linkmauve'}, 'distinct': False, 'added': [], 'modified': ['Source/Core/Core/HW/EXI/EXI_DeviceGecko.cpp'], 'removed': [], 'message': "HW/EXI: Don’t dereference one item past end of array\n\nDolphin would previously crash while accessing &buffer[got], as if we\nwere trying to access that element instead of just obtaining a pointer\nto it. The proper solution is to obtain a pointer to the first element,\nand only add the offset we want to get the range.\n\nHere is the printed message:\n/usr/include/c++/16/array:210: constexpr std::array<_Tp, _Nm>::value_type& std::array<_Tp, _Nm>::operator[](size_type) [with _Tp = char; long unsigned int _Nm = 128; reference = char&; size_type = long unsigned int]: Assertion '__n < this->size()' failed.\n\nThe stack trace originates from:\nSource/Core/Core/HW/EXI/EXI_DeviceGecko.cpp:139", 'url': 'https://github.com/dolphin-emu/dolphin/commit/f80a78869a3babd939f7a85ae60726f671b45c39', 'hash': 'f80a78869a3babd939f7a85ae60726f671b45c39'}, {'author': {'name': 'Tilka', 'email': 'tilkax@gmail.com', 'date': '2026-09-04T21:03:25+01:00', 'username': 'Tilka'}, 'distinct': True, 'added': [], 'modified': ['Source/Core/Core/HW/EXI/EXI_DeviceGecko.cpp'], 'removed': [], 'message': 'Merge pull request #14846 from linkmauve/fix-usb-gecko\n\nHW/EXI: Don’t dereference one item past end of array', 'url': 'https://github.com/dolphin-emu/dolphin/commit/e559fd7c3cfe7eabe9650978655c2f64c1570f29', 'hash': 'e559fd7c3cfe7eabe9650978655c2f64c1570f29'}], 'base_ref_name': None, 'ref_name': 'master', 'ref_type': 'heads', 'created': False, 'deleted': False, 'forced': False, 'type': 'gh_push'}
2026-09-03T19:28:33.872853 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'pusher': 'JosJuice', 'before_sha': '5ff90a0471d7ac6905290c508559db1c4da5193f', 'after_sha': 'ca8c6ee45e419296226e4da8c2b2adaaf54e0299', 'commits': [{'author': {'name': 'Joshua Vandaële', 'email': 'joshua@vandaele.software', 'date': '2026-08-28T07:37:18+02:00', 'username': 'JoshuaVandaele'}, 'distinct': False, 'added': [], 'modified': ['Source/Core/InputCommon/ControllerInterface/SDL/SDLGamepad.cpp', 'Source/Core/InputCommon/ControllerInterface/SDL/SDLGamepad.h'], 'removed': [], 'message': 'SDLGamepad: Add Misc 2 through 6\n\nSDL 3 has more misc buttons for "additional controller buttons" (e.g. left/right trigger clicks on a GameCube controller, or for the second touchpad click on the Steam Controller) which use these additional named Misc buttons. Taken from [SDL_GamepadButton](https://wiki.libsdl.org/SDL3/SDL_GamepadButton)', 'url': 'https://github.com/dolphin-emu/dolphin/commit/b572e4ca5a74481fad0bd14e4c5f9719945d61d8', 'hash': 'b572e4ca5a74481fad0bd14e4c5f9719945d61d8'}, {'author': {'name': 'JosJuice', 'email': 'josjuice@gmail.com', 'date': '2026-09-03T21:28:31+02:00', 'username': 'JosJuice'}, 'distinct': True, 'added': [], 'modified': ['Source/Core/InputCommon/ControllerInterface/SDL/SDLGamepad.cpp', 'Source/Core/InputCommon/ControllerInterface/SDL/SDLGamepad.h'], 'removed': [], 'message': 'Merge pull request #14830 from JoshuaVandaele/sdl-miscs\n\nSDLGamepad: Add Misc 2 through 6', 'url': 'https://github.com/dolphin-emu/dolphin/commit/ca8c6ee45e419296226e4da8c2b2adaaf54e0299', 'hash': 'ca8c6ee45e419296226e4da8c2b2adaaf54e0299'}], 'base_ref_name': None, 'ref_name': 'master', 'ref_type': 'heads', 'created': False, 'deleted': False, 'forced': False, 'type': 'gh_push'}
2026-09-03T19:28:22.648526 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'pusher': 'JosJuice', 'before_sha': 'a1e636d72c8469acf747ac6542f0b7ace7cea02f', 'after_sha': '5ff90a0471d7ac6905290c508559db1c4da5193f', 'commits': [{'author': {'name': 'Joshua Vandaële', 'email': 'joshua@vandaele.software', 'date': '2026-06-15T16:42:16+02:00', 'username': 'JoshuaVandaele'}, 'distinct': False, 'added': [], 'modified': ['Source/Core/InputCommon/ControllerInterface/SDL/SDLGamepad.cpp', 'Source/Core/InputCommon/ControllerInterface/SDL/SDLGamepad.h'], 'removed': [], 'message': 'SDLGamepad: Support multiple touchpads', 'url': 'https://github.com/dolphin-emu/dolphin/commit/7da0baae932f55a228ae92be7f4cf7231683f4ca', 'hash': '7da0baae932f55a228ae92be7f4cf7231683f4ca'}, {'author': {'name': 'JosJuice', 'email': 'josjuice@gmail.com', 'date': '2026-09-03T21:28:20+02:00', 'username': 'JosJuice'}, 'distinct': True, 'added': [], 'modified': ['Source/Core/InputCommon/ControllerInterface/SDL/SDLGamepad.cpp', 'Source/Core/InputCommon/ControllerInterface/SDL/SDLGamepad.h'], 'removed': [], 'message': 'Merge pull request #14686 from JoshuaVandaele/sdl-touchpads\n\nSDLGamepad: Support multiple touchpads', 'url': 'https://github.com/dolphin-emu/dolphin/commit/5ff90a0471d7ac6905290c508559db1c4da5193f', 'hash': '5ff90a0471d7ac6905290c508559db1c4da5193f'}], 'base_ref_name': None, 'ref_name': 'master', 'ref_type': 'heads', 'created': False, 'deleted': False, 'forced': False, 'type': 'gh_push'}
Recent 'internal_log' events
2026-09-06T09:34:15.370341 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/7933ljz3wkpxq5yh5jyzlw5my2vav6cm-central-env/lib/python3.13/site-packages/central/github/authz.py', 'lineno': 29, 'msg': 'New GH %s: %s', 'args': "('dolphin-emu/trusted-developers', 'RisingFog,endrift,skylersaleh,hackbar,iwubcode,krnlyng,Buddybenj,tygyh,SuperSamus,Tilka,aroulin,magcius,nickbeth,Gamer64ytb,merryhime,Sintendo,Parlane,Ebola16,AdmiralCurtiss,Phatcat,comex,JoshuaVandaele,mbc07,leoetlino,smurf3tte,DacoTaco,Dentomologist,CasualPokePlayer,MayImilae,riking,PatrickFerry,Ziek,adamdmoss,mahdihijazi,Linkinworm,Linktothepast,jjdelvalle,rukai,CookiePLMonster,mathieui,hthh,mrgreywater,spxtr,spycrab,gwicks,jloehr,EmptyChaos,deReeperJosh,archshift,unknownbrackets,mimimi085181,ColinDTaylor,hdcmeta,SirMangler,NanoByte011,skidau,Zopolis4,Filoppi,rlnilsen,Sir-Walrus,cscd98,orbea,RachelBryk,linkmauve,shonumi,zopieux,degasus,OrN,FioraAeterna,TryTwo,ligfx,mmastrac,glennricster,malleoz,Geotale,cristian64,zackhow,moncefmechri,delroth,LAGonauta,phire,meffij,Orphis,galop1n,Sam-Belliveau,crediar,Techjar,bentley,dreamsyntax,CrossVR,JMC47,Helios747,jordan-woyak,Tinob,JordanTheToaster,Pokechu22,CelestialAmber,mandar1jn,Starsam80,noahpistilli,tom-pratt,booto,hrydgard,lioncash,Simonx22,corwin-mcknight,CrystalGamma,randomstuff,Lobsterzelda,marcan,nullgemm,TellowKrinkle,LillyJadeKatrin,Stevoisiak,jezze,ShimmerGlass,yourWaifu,kayru,mitaclaw,kamiyo,JosJuice,Hydr8gon,neobrain,BhaaLseN,K0bin,LPFaint99,OatmealDome,sepalani,vladfi1,magumagu,aldelaro5')", 'type': 'internal_log'}
2026-09-06T09:34:13.897825 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/7933ljz3wkpxq5yh5jyzlw5my2vav6cm-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-09-06T09:32:03.663513 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/7933ljz3wkpxq5yh5jyzlw5my2vav6cm-central-env/lib/python3.13/site-packages/central/github/authz.py', 'lineno': 29, 'msg': 'New GH %s: %s', 'args': "('dolphin-emu/core-developers', 'leoetlino,phire,CrossVR,OatmealDome,iwubcode,Dentomologist,linkmauve,AdmiralCurtiss,jordan-woyak,JosJuice,degasus,Tilka,Pokechu22')", 'type': 'internal_log'}
2026-09-06T09:32:03.372899 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/7933ljz3wkpxq5yh5jyzlw5my2vav6cm-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-09-06T09:29:13.897469 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/7933ljz3wkpxq5yh5jyzlw5my2vav6cm-central-env/lib/python3.13/site-packages/central/github/authz.py', 'lineno': 29, 'msg': 'New GH %s: %s', 'args': "('dolphin-emu/trusted-developers', 'RisingFog,endrift,skylersaleh,hackbar,iwubcode,krnlyng,Buddybenj,tygyh,SuperSamus,Tilka,aroulin,magcius,nickbeth,Gamer64ytb,merryhime,Sintendo,Parlane,Ebola16,AdmiralCurtiss,Phatcat,comex,JoshuaVandaele,mbc07,leoetlino,smurf3tte,DacoTaco,Dentomologist,CasualPokePlayer,MayImilae,riking,PatrickFerry,Ziek,adamdmoss,mahdihijazi,Linkinworm,Linktothepast,jjdelvalle,rukai,CookiePLMonster,mathieui,hthh,mrgreywater,spxtr,spycrab,gwicks,jloehr,EmptyChaos,deReeperJosh,archshift,unknownbrackets,mimimi085181,ColinDTaylor,hdcmeta,SirMangler,NanoByte011,skidau,Zopolis4,Filoppi,rlnilsen,Sir-Walrus,cscd98,orbea,RachelBryk,linkmauve,shonumi,zopieux,degasus,OrN,FioraAeterna,TryTwo,ligfx,mmastrac,glennricster,malleoz,Geotale,cristian64,zackhow,moncefmechri,delroth,LAGonauta,phire,meffij,Orphis,galop1n,Sam-Belliveau,crediar,Techjar,bentley,dreamsyntax,CrossVR,JMC47,Helios747,jordan-woyak,Tinob,JordanTheToaster,Pokechu22,CelestialAmber,mandar1jn,Starsam80,noahpistilli,tom-pratt,booto,hrydgard,lioncash,Simonx22,corwin-mcknight,CrystalGamma,randomstuff,Lobsterzelda,marcan,nullgemm,TellowKrinkle,LillyJadeKatrin,Stevoisiak,jezze,ShimmerGlass,yourWaifu,kayru,mitaclaw,kamiyo,JosJuice,Hydr8gon,neobrain,BhaaLseN,K0bin,LPFaint99,OatmealDome,sepalani,vladfi1,magumagu,aldelaro5')", 'type': 'internal_log'}
2026-09-06T09:29:12.306604 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/7933ljz3wkpxq5yh5jyzlw5my2vav6cm-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-09-06T09:24:12.306285 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/7933ljz3wkpxq5yh5jyzlw5my2vav6cm-central-env/lib/python3.13/site-packages/central/github/authz.py', 'lineno': 29, 'msg': 'New GH %s: %s', 'args': "('dolphin-emu/trusted-developers', 'RisingFog,endrift,skylersaleh,hackbar,iwubcode,krnlyng,Buddybenj,tygyh,SuperSamus,Tilka,aroulin,magcius,nickbeth,Gamer64ytb,merryhime,Sintendo,Parlane,Ebola16,AdmiralCurtiss,Phatcat,comex,JoshuaVandaele,mbc07,leoetlino,smurf3tte,DacoTaco,Dentomologist,CasualPokePlayer,MayImilae,riking,PatrickFerry,Ziek,adamdmoss,mahdihijazi,Linkinworm,Linktothepast,jjdelvalle,rukai,CookiePLMonster,mathieui,hthh,mrgreywater,spxtr,spycrab,gwicks,jloehr,EmptyChaos,deReeperJosh,archshift,unknownbrackets,mimimi085181,ColinDTaylor,hdcmeta,SirMangler,NanoByte011,skidau,Zopolis4,Filoppi,rlnilsen,Sir-Walrus,cscd98,orbea,RachelBryk,linkmauve,shonumi,zopieux,degasus,OrN,FioraAeterna,TryTwo,ligfx,mmastrac,glennricster,malleoz,Geotale,cristian64,zackhow,moncefmechri,delroth,LAGonauta,phire,meffij,Orphis,galop1n,Sam-Belliveau,crediar,Techjar,bentley,dreamsyntax,CrossVR,JMC47,Helios747,jordan-woyak,Tinob,JordanTheToaster,Pokechu22,CelestialAmber,mandar1jn,Starsam80,noahpistilli,tom-pratt,booto,hrydgard,lioncash,Simonx22,corwin-mcknight,CrystalGamma,randomstuff,Lobsterzelda,marcan,nullgemm,TellowKrinkle,LillyJadeKatrin,Stevoisiak,jezze,ShimmerGlass,yourWaifu,kayru,mitaclaw,kamiyo,JosJuice,Hydr8gon,neobrain,BhaaLseN,K0bin,LPFaint99,OatmealDome,sepalani,vladfi1,magumagu,aldelaro5')", 'type': 'internal_log'}
2026-09-06T09:24:10.832100 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/7933ljz3wkpxq5yh5jyzlw5my2vav6cm-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-09-06T09:22:03.372686 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/7933ljz3wkpxq5yh5jyzlw5my2vav6cm-central-env/lib/python3.13/site-packages/central/github/authz.py', 'lineno': 29, 'msg': 'New GH %s: %s', 'args': "('dolphin-emu/core-developers', 'leoetlino,phire,CrossVR,OatmealDome,iwubcode,Dentomologist,linkmauve,AdmiralCurtiss,jordan-woyak,JosJuice,degasus,Tilka,Pokechu22')", 'type': 'internal_log'}
2026-09-06T09:22:03.085501 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/7933ljz3wkpxq5yh5jyzlw5my2vav6cm-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-09-06T09:19:10.831736 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/7933ljz3wkpxq5yh5jyzlw5my2vav6cm-central-env/lib/python3.13/site-packages/central/github/authz.py', 'lineno': 29, 'msg': 'New GH %s: %s', 'args': "('dolphin-emu/trusted-developers', 'RisingFog,endrift,skylersaleh,hackbar,iwubcode,krnlyng,Buddybenj,tygyh,SuperSamus,Tilka,aroulin,magcius,nickbeth,Gamer64ytb,merryhime,Sintendo,Parlane,Ebola16,AdmiralCurtiss,Phatcat,comex,JoshuaVandaele,mbc07,leoetlino,smurf3tte,DacoTaco,Dentomologist,CasualPokePlayer,MayImilae,riking,PatrickFerry,Ziek,adamdmoss,mahdihijazi,Linkinworm,Linktothepast,jjdelvalle,rukai,CookiePLMonster,mathieui,hthh,mrgreywater,spxtr,spycrab,gwicks,jloehr,EmptyChaos,deReeperJosh,archshift,unknownbrackets,mimimi085181,ColinDTaylor,hdcmeta,SirMangler,NanoByte011,skidau,Zopolis4,Filoppi,rlnilsen,Sir-Walrus,cscd98,orbea,RachelBryk,linkmauve,shonumi,zopieux,degasus,OrN,FioraAeterna,TryTwo,ligfx,mmastrac,glennricster,malleoz,Geotale,cristian64,zackhow,moncefmechri,delroth,LAGonauta,phire,meffij,Orphis,galop1n,Sam-Belliveau,crediar,Techjar,bentley,dreamsyntax,CrossVR,JMC47,Helios747,jordan-woyak,Tinob,JordanTheToaster,Pokechu22,CelestialAmber,mandar1jn,Starsam80,noahpistilli,tom-pratt,booto,hrydgard,lioncash,Simonx22,corwin-mcknight,CrystalGamma,randomstuff,Lobsterzelda,marcan,nullgemm,TellowKrinkle,LillyJadeKatrin,Stevoisiak,jezze,ShimmerGlass,yourWaifu,kayru,mitaclaw,kamiyo,JosJuice,Hydr8gon,neobrain,BhaaLseN,K0bin,LPFaint99,OatmealDome,sepalani,vladfi1,magumagu,aldelaro5')", 'type': 'internal_log'}
2026-09-06T09:19:09.383860 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/7933ljz3wkpxq5yh5jyzlw5my2vav6cm-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-09-06T09:14:09.383455 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/7933ljz3wkpxq5yh5jyzlw5my2vav6cm-central-env/lib/python3.13/site-packages/central/github/authz.py', 'lineno': 29, 'msg': 'New GH %s: %s', 'args': "('dolphin-emu/trusted-developers', 'RisingFog,endrift,skylersaleh,hackbar,iwubcode,krnlyng,Buddybenj,tygyh,SuperSamus,Tilka,aroulin,magcius,nickbeth,Gamer64ytb,merryhime,Sintendo,Parlane,Ebola16,AdmiralCurtiss,Phatcat,comex,JoshuaVandaele,mbc07,leoetlino,smurf3tte,DacoTaco,Dentomologist,CasualPokePlayer,MayImilae,riking,PatrickFerry,Ziek,adamdmoss,mahdihijazi,Linkinworm,Linktothepast,jjdelvalle,rukai,CookiePLMonster,mathieui,hthh,mrgreywater,spxtr,spycrab,gwicks,jloehr,EmptyChaos,deReeperJosh,archshift,unknownbrackets,mimimi085181,ColinDTaylor,hdcmeta,SirMangler,NanoByte011,skidau,Zopolis4,Filoppi,rlnilsen,Sir-Walrus,cscd98,orbea,RachelBryk,linkmauve,shonumi,zopieux,degasus,OrN,FioraAeterna,TryTwo,ligfx,mmastrac,glennricster,malleoz,Geotale,cristian64,zackhow,moncefmechri,delroth,LAGonauta,phire,meffij,Orphis,galop1n,Sam-Belliveau,crediar,Techjar,bentley,dreamsyntax,CrossVR,JMC47,Helios747,jordan-woyak,Tinob,JordanTheToaster,Pokechu22,CelestialAmber,mandar1jn,Starsam80,noahpistilli,tom-pratt,booto,hrydgard,lioncash,Simonx22,corwin-mcknight,CrystalGamma,randomstuff,Lobsterzelda,marcan,nullgemm,TellowKrinkle,LillyJadeKatrin,Stevoisiak,jezze,ShimmerGlass,yourWaifu,kayru,mitaclaw,kamiyo,JosJuice,Hydr8gon,neobrain,BhaaLseN,K0bin,LPFaint99,OatmealDome,sepalani,vladfi1,magumagu,aldelaro5')", 'type': 'internal_log'}
2026-09-06T09:14:07.887133 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/7933ljz3wkpxq5yh5jyzlw5my2vav6cm-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-09-06T09:12:03.085288 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/7933ljz3wkpxq5yh5jyzlw5my2vav6cm-central-env/lib/python3.13/site-packages/central/github/authz.py', 'lineno': 29, 'msg': 'New GH %s: %s', 'args': "('dolphin-emu/core-developers', 'leoetlino,phire,CrossVR,OatmealDome,iwubcode,Dentomologist,linkmauve,AdmiralCurtiss,jordan-woyak,JosJuice,degasus,Tilka,Pokechu22')", 'type': 'internal_log'}
2026-09-06T09:12:02.774940 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/7933ljz3wkpxq5yh5jyzlw5my2vav6cm-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-09-06T09:09:07.886713 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/7933ljz3wkpxq5yh5jyzlw5my2vav6cm-central-env/lib/python3.13/site-packages/central/github/authz.py', 'lineno': 29, 'msg': 'New GH %s: %s', 'args': "('dolphin-emu/trusted-developers', 'RisingFog,endrift,skylersaleh,hackbar,iwubcode,krnlyng,Buddybenj,tygyh,SuperSamus,Tilka,aroulin,magcius,nickbeth,Gamer64ytb,merryhime,Sintendo,Parlane,Ebola16,AdmiralCurtiss,Phatcat,comex,JoshuaVandaele,mbc07,leoetlino,smurf3tte,DacoTaco,Dentomologist,CasualPokePlayer,MayImilae,riking,PatrickFerry,Ziek,adamdmoss,mahdihijazi,Linkinworm,Linktothepast,jjdelvalle,rukai,CookiePLMonster,mathieui,hthh,mrgreywater,spxtr,spycrab,gwicks,jloehr,EmptyChaos,deReeperJosh,archshift,unknownbrackets,mimimi085181,ColinDTaylor,hdcmeta,SirMangler,NanoByte011,skidau,Zopolis4,Filoppi,rlnilsen,Sir-Walrus,cscd98,orbea,RachelBryk,linkmauve,shonumi,zopieux,degasus,OrN,FioraAeterna,TryTwo,ligfx,mmastrac,glennricster,malleoz,Geotale,cristian64,zackhow,moncefmechri,delroth,LAGonauta,phire,meffij,Orphis,galop1n,Sam-Belliveau,crediar,Techjar,bentley,dreamsyntax,CrossVR,JMC47,Helios747,jordan-woyak,Tinob,JordanTheToaster,Pokechu22,CelestialAmber,mandar1jn,Starsam80,noahpistilli,tom-pratt,booto,hrydgard,lioncash,Simonx22,corwin-mcknight,CrystalGamma,randomstuff,Lobsterzelda,marcan,nullgemm,TellowKrinkle,LillyJadeKatrin,Stevoisiak,jezze,ShimmerGlass,yourWaifu,kayru,mitaclaw,kamiyo,JosJuice,Hydr8gon,neobrain,BhaaLseN,K0bin,LPFaint99,OatmealDome,sepalani,vladfi1,magumagu,aldelaro5')", 'type': 'internal_log'}
2026-09-06T09:09:06.282955 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/7933ljz3wkpxq5yh5jyzlw5my2vav6cm-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-09-06T09:04:06.282624 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/7933ljz3wkpxq5yh5jyzlw5my2vav6cm-central-env/lib/python3.13/site-packages/central/github/authz.py', 'lineno': 29, 'msg': 'New GH %s: %s', 'args': "('dolphin-emu/trusted-developers', 'RisingFog,endrift,skylersaleh,hackbar,iwubcode,krnlyng,Buddybenj,tygyh,SuperSamus,Tilka,aroulin,magcius,nickbeth,Gamer64ytb,merryhime,Sintendo,Parlane,Ebola16,AdmiralCurtiss,Phatcat,comex,JoshuaVandaele,mbc07,leoetlino,smurf3tte,DacoTaco,Dentomologist,CasualPokePlayer,MayImilae,riking,PatrickFerry,Ziek,adamdmoss,mahdihijazi,Linkinworm,Linktothepast,jjdelvalle,rukai,CookiePLMonster,mathieui,hthh,mrgreywater,spxtr,spycrab,gwicks,jloehr,EmptyChaos,deReeperJosh,archshift,unknownbrackets,mimimi085181,ColinDTaylor,hdcmeta,SirMangler,NanoByte011,skidau,Zopolis4,Filoppi,rlnilsen,Sir-Walrus,cscd98,orbea,RachelBryk,linkmauve,shonumi,zopieux,degasus,OrN,FioraAeterna,TryTwo,ligfx,mmastrac,glennricster,malleoz,Geotale,cristian64,zackhow,moncefmechri,delroth,LAGonauta,phire,meffij,Orphis,galop1n,Sam-Belliveau,crediar,Techjar,bentley,dreamsyntax,CrossVR,JMC47,Helios747,jordan-woyak,Tinob,JordanTheToaster,Pokechu22,CelestialAmber,mandar1jn,Starsam80,noahpistilli,tom-pratt,booto,hrydgard,lioncash,Simonx22,corwin-mcknight,CrystalGamma,randomstuff,Lobsterzelda,marcan,nullgemm,TellowKrinkle,LillyJadeKatrin,Stevoisiak,jezze,ShimmerGlass,yourWaifu,kayru,mitaclaw,kamiyo,JosJuice,Hydr8gon,neobrain,BhaaLseN,K0bin,LPFaint99,OatmealDome,sepalani,vladfi1,magumagu,aldelaro5')", 'type': 'internal_log'}
2026-09-06T09:04:04.768285 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/7933ljz3wkpxq5yh5jyzlw5my2vav6cm-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-09-06T09:02:02.774722 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/7933ljz3wkpxq5yh5jyzlw5my2vav6cm-central-env/lib/python3.13/site-packages/central/github/authz.py', 'lineno': 29, 'msg': 'New GH %s: %s', 'args': "('dolphin-emu/core-developers', 'leoetlino,phire,CrossVR,OatmealDome,iwubcode,Dentomologist,linkmauve,AdmiralCurtiss,jordan-woyak,JosJuice,degasus,Tilka,Pokechu22')", 'type': 'internal_log'}
2026-09-06T09:02:02.351029 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/7933ljz3wkpxq5yh5jyzlw5my2vav6cm-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-09-06T08:59:04.767949 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/7933ljz3wkpxq5yh5jyzlw5my2vav6cm-central-env/lib/python3.13/site-packages/central/github/authz.py', 'lineno': 29, 'msg': 'New GH %s: %s', 'args': "('dolphin-emu/trusted-developers', 'RisingFog,endrift,skylersaleh,hackbar,iwubcode,krnlyng,Buddybenj,tygyh,SuperSamus,Tilka,aroulin,magcius,nickbeth,Gamer64ytb,merryhime,Sintendo,Parlane,Ebola16,AdmiralCurtiss,Phatcat,comex,JoshuaVandaele,mbc07,leoetlino,smurf3tte,DacoTaco,Dentomologist,CasualPokePlayer,MayImilae,riking,PatrickFerry,Ziek,adamdmoss,mahdihijazi,Linkinworm,Linktothepast,jjdelvalle,rukai,CookiePLMonster,mathieui,hthh,mrgreywater,spxtr,spycrab,gwicks,jloehr,EmptyChaos,deReeperJosh,archshift,unknownbrackets,mimimi085181,ColinDTaylor,hdcmeta,SirMangler,NanoByte011,skidau,Zopolis4,Filoppi,rlnilsen,Sir-Walrus,cscd98,orbea,RachelBryk,linkmauve,shonumi,zopieux,degasus,OrN,FioraAeterna,TryTwo,ligfx,mmastrac,glennricster,malleoz,Geotale,cristian64,zackhow,moncefmechri,delroth,LAGonauta,phire,meffij,Orphis,galop1n,Sam-Belliveau,crediar,Techjar,bentley,dreamsyntax,CrossVR,JMC47,Helios747,jordan-woyak,Tinob,JordanTheToaster,Pokechu22,CelestialAmber,mandar1jn,Starsam80,noahpistilli,tom-pratt,booto,hrydgard,lioncash,Simonx22,corwin-mcknight,CrystalGamma,randomstuff,Lobsterzelda,marcan,nullgemm,TellowKrinkle,LillyJadeKatrin,Stevoisiak,jezze,ShimmerGlass,yourWaifu,kayru,mitaclaw,kamiyo,JosJuice,Hydr8gon,neobrain,BhaaLseN,K0bin,LPFaint99,OatmealDome,sepalani,vladfi1,magumagu,aldelaro5')", 'type': 'internal_log'}
2026-09-06T08:59:03.285470 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/7933ljz3wkpxq5yh5jyzlw5my2vav6cm-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-09-06T08:54:03.285147 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/7933ljz3wkpxq5yh5jyzlw5my2vav6cm-central-env/lib/python3.13/site-packages/central/github/authz.py', 'lineno': 29, 'msg': 'New GH %s: %s', 'args': "('dolphin-emu/trusted-developers', 'RisingFog,endrift,skylersaleh,hackbar,iwubcode,krnlyng,Buddybenj,tygyh,SuperSamus,Tilka,aroulin,magcius,nickbeth,Gamer64ytb,merryhime,Sintendo,Parlane,Ebola16,AdmiralCurtiss,Phatcat,comex,JoshuaVandaele,mbc07,leoetlino,smurf3tte,DacoTaco,Dentomologist,CasualPokePlayer,MayImilae,riking,PatrickFerry,Ziek,adamdmoss,mahdihijazi,Linkinworm,Linktothepast,jjdelvalle,rukai,CookiePLMonster,mathieui,hthh,mrgreywater,spxtr,spycrab,gwicks,jloehr,EmptyChaos,deReeperJosh,archshift,unknownbrackets,mimimi085181,ColinDTaylor,hdcmeta,SirMangler,NanoByte011,skidau,Zopolis4,Filoppi,rlnilsen,Sir-Walrus,cscd98,orbea,RachelBryk,linkmauve,shonumi,zopieux,degasus,OrN,FioraAeterna,TryTwo,ligfx,mmastrac,glennricster,malleoz,Geotale,cristian64,zackhow,moncefmechri,delroth,LAGonauta,phire,meffij,Orphis,galop1n,Sam-Belliveau,crediar,Techjar,bentley,dreamsyntax,CrossVR,JMC47,Helios747,jordan-woyak,Tinob,JordanTheToaster,Pokechu22,CelestialAmber,mandar1jn,Starsam80,noahpistilli,tom-pratt,booto,hrydgard,lioncash,Simonx22,corwin-mcknight,CrystalGamma,randomstuff,Lobsterzelda,marcan,nullgemm,TellowKrinkle,LillyJadeKatrin,Stevoisiak,jezze,ShimmerGlass,yourWaifu,kayru,mitaclaw,kamiyo,JosJuice,Hydr8gon,neobrain,BhaaLseN,K0bin,LPFaint99,OatmealDome,sepalani,vladfi1,magumagu,aldelaro5')", 'type': 'internal_log'}
Recent 'issue' events
2026-09-06T07:03:33.345007 {'source': 'redmine', 'new': False, 'update': 4, 'issue': 11786, 'title': 'Prince of persia Warrior within - Green flickering bottom line', 'author': 'eightuser', 'type': 'issue'}
2026-09-06T02:12:59.918113 {'source': 'redmine', 'new': False, 'update': 9, 'issue': 13983, 'title': 'Dolphin freezes when exiting, loses settings', 'author': 'themaritimegirl', 'type': 'issue'}
2026-09-05T20:44:32.221725 {'source': 'redmine', 'new': False, 'update': 5, 'issue': 12577, 'title': 'Barnyard - Colored beams of light on Top/left edges of screen ', 'author': 'eightuser', 'type': 'issue'}
2026-09-05T20:38:46.521392 {'source': 'redmine', 'new': False, 'update': 4, 'issue': 12577, 'title': 'Barnyard - Colored beams of light on Top/left edges of screen ', 'author': 'eightuser', 'type': 'issue'}
2026-09-05T20:37:28.737245 {'source': 'redmine', 'new': False, 'update': 3, 'issue': 12577, 'title': 'Barnyard - Colored beams of light on Top/left edges of screen ', 'author': 'eightuser', 'type': 'issue'}
2026-09-05T19:01:34.736810 {'source': 'redmine', 'new': False, 'update': 4, 'issue': 9518, 'title': 'Rockstar Table Tennis: Weird EFB Copies not clearing issue', 'author': 'eightuser', 'type': 'issue'}
2026-09-05T19:00:57.091135 {'source': 'redmine', 'new': False, 'update': 3, 'issue': 9518, 'title': 'Rockstar Table Tennis: Weird EFB Copies not clearing issue', 'author': 'eightuser', 'type': 'issue'}
2026-09-05T11:22:08.812848 {'source': 'redmine', 'new': False, 'update': 2, 'issue': 14130, 'title': 'Blacklist known bad drivers', 'author': 'JosJuice', 'type': 'issue'}
2026-09-05T11:20:51.865865 {'source': 'redmine', 'new': True, 'update': 0, 'issue': 14130, 'title': 'Blacklist known bad drivers', 'author': 'Henke37', 'type': 'issue'}
2026-09-04T09:54:29.160710 {'source': 'redmine', 'new': True, 'update': 0, 'issue': 14129, 'title': 'Attaching GDB does not allow stepping unless performing a vain "stepi" and an "interrupt"', 'author': 'aramya', 'type': 'issue'}
2026-09-04T07:10:29.213189 {'source': 'redmine', 'new': False, 'update': 5, 'issue': 14127, 'title': '[build] generate_coefs.py script relies on legacy numpy version', 'author': 'JosJuice', 'type': 'issue'}
2026-09-04T01:28:41.720515 {'source': 'redmine', 'new': False, 'update': 4, 'issue': 14127, 'title': '[build] generate_coefs.py script relies on legacy numpy version', 'author': 'flacs', 'type': 'issue'}
2026-09-04T00:27:13.395651 {'source': 'redmine', 'new': False, 'update': 3, 'issue': 14127, 'title': '[build] generate_coefs.py script relies on legacy numpy version', 'author': 'apteryx', 'type': 'issue'}
2026-09-03T20:12:11.699843 {'source': 'redmine', 'new': False, 'update': 5, 'issue': 14128, 'title': 'Graphical corruption in Need for Speed: Most Wanted (GameCube) on Adreon GPU (Android)', 'author': 'Sabuze', 'type': 'issue'}
2026-09-03T20:05:08.387221 {'source': 'redmine', 'new': False, 'update': 4, 'issue': 14128, 'title': 'Graphical corruption in Need for Speed: Most Wanted (GameCube) on Adreon GPU (Android)', 'author': 'JosJuice', 'type': 'issue'}
2026-09-03T20:04:01.792672 {'source': 'redmine', 'new': False, 'update': 3, 'issue': 14128, 'title': 'Graphical corruption in Need for Speed: Most Wanted (GameCube) on Adreon GPU (Android)', 'author': 'Sabuze', 'type': 'issue'}
2026-09-03T19:54:12.065258 {'source': 'redmine', 'new': False, 'update': 2, 'issue': 14128, 'title': 'Graphical corruption in Need for Speed: Most Wanted (GameCube) on Adreon GPU (Android)', 'author': 'JosJuice', 'type': 'issue'}
2026-09-03T19:50:23.982730 {'source': 'redmine', 'new': True, 'update': 0, 'issue': 14128, 'title': 'Graphical corruption in Need for Speed: Most Wanted (GameCube) on Adreon GPU (Android)', 'author': 'Sabuze', 'type': 'issue'}
2026-09-03T07:08:21.130710 {'source': 'redmine', 'new': False, 'update': 2, 'issue': 14127, 'title': '[build] generate_coefs.py script relies on legacy numpy version', 'author': 'JoshuaVandaele', 'type': 'issue'}
2026-09-03T06:49:16.553357 {'source': 'redmine', 'new': True, 'update': 0, 'issue': 14127, 'title': '[build] generate_coefs.py script relies on legacy numpy version', 'author': 'apteryx', 'type': 'issue'}
Recent 'new_dev_version' events
2026-09-06T07:35:37.290496 {'source': 'repomanager', 'hash': 'a2efdf1197be8132674b90fe9cf4761df39752ed', 'branch': 'master', 'shortrev': '2606-364', 'author': 'linkmauve', 'message': 'Merge pull request #14847 from linkmauve/pe-token-2-bytes\n\nRevert "VideoCommon: Use correct size for PE token"', 'url': 'https://github.com/dolphin-emu/dolphin/commit/a2efdf1197be8132674b90fe9cf4761df39752ed', 'type': 'new_dev_version'}
2026-09-06T05:04:52.264695 {'source': 'repomanager', 'hash': '982e8d183d8df64b641a9809ec2f3b193f94e5e5', 'branch': 'master', 'shortrev': '2606-362', 'author': 'Dentomologist', 'message': 'Merge pull request #14817 from JosJuice/android-netplay-version\n\nCommon: Add Android to GetNetplayDolphinVer', 'url': 'https://github.com/dolphin-emu/dolphin/commit/982e8d183d8df64b641a9809ec2f3b193f94e5e5', 'type': 'new_dev_version'}
2026-09-06T02:38:01.462595 {'source': 'repomanager', 'hash': 'debe8e9fd974517062a7622142bba2ecce0e6c60', 'branch': 'master', 'shortrev': '2606-360', 'author': 'Scott Mansell', 'message': 'Merge pull request #14789 from phire/optimise_vs_uid\n\nOptimize vertex_shader_uid_data down to 28 bytes', 'url': 'https://github.com/dolphin-emu/dolphin/commit/debe8e9fd974517062a7622142bba2ecce0e6c60', 'type': 'new_dev_version'}
2026-09-06T00:06:35.162257 {'source': 'repomanager', 'hash': 'bd389f6b003e9b2f910039a00262176672c2f56f', 'branch': 'master', 'shortrev': '2606-358', 'author': 'Scott Mansell', 'message': 'Merge pull request #14843 from linkmauve/better-dff-error-message\n\nCore: Improve error message on empty dff', 'url': 'https://github.com/dolphin-emu/dolphin/commit/bd389f6b003e9b2f910039a00262176672c2f56f', 'type': 'new_dev_version'}
2026-09-06T00:06:21.246298 {'source': 'repomanager', 'hash': 'ef0038ddedef11bcbe85b071b0d9edf5bc17a828', 'branch': 'master', 'shortrev': '2606-356', 'author': 'Scott Mansell', 'message': 'Merge pull request #14842 from linkmauve/pe-token-2-bytes\n\nVideoCommon: Use correct size for PE token', 'url': 'https://github.com/dolphin-emu/dolphin/commit/ef0038ddedef11bcbe85b071b0d9edf5bc17a828', 'type': 'new_dev_version'}
2026-09-05T18:45:18.470834 {'source': 'repomanager', 'hash': 'f0862e12e18c75f508aa5423f8726bf5b39d8e8d', 'branch': 'master', 'shortrev': '2606-354', 'author': 'JMC47', 'message': 'Merge pull request #14844 from retropieuser/master\n\nAdd AR codes for Timesplitters 2 (Retroachievements)', 'url': 'https://github.com/dolphin-emu/dolphin/commit/f0862e12e18c75f508aa5423f8726bf5b39d8e8d', 'type': 'new_dev_version'}
2026-09-05T10:18:23.840966 {'source': 'repomanager', 'hash': '7f6eb621ad2b52455c023f9eed74734de814f2c4', 'branch': 'master', 'shortrev': '2606-352', 'author': 'JosJuice', 'message': 'Merge pull request #14838 from OatmealDome/mac-memory-increase-fail\n\nMemArenaDarwin: Pass the MAP_MEM_VM_SHARE flag to mach_make_memory_entry_64', 'url': 'https://github.com/dolphin-emu/dolphin/commit/7f6eb621ad2b52455c023f9eed74734de814f2c4', 'type': 'new_dev_version'}
2026-09-04T20:03:29.437217 {'source': 'repomanager', 'hash': 'e559fd7c3cfe7eabe9650978655c2f64c1570f29', 'branch': 'master', 'shortrev': '2606-350', 'author': 'Tilka', 'message': 'Merge pull request #14846 from linkmauve/fix-usb-gecko\n\nHW/EXI: Don’t dereference one item past end of array', 'url': 'https://github.com/dolphin-emu/dolphin/commit/e559fd7c3cfe7eabe9650978655c2f64c1570f29', 'type': 'new_dev_version'}
2026-09-03T19:28:35.454282 {'source': 'repomanager', 'hash': 'ca8c6ee45e419296226e4da8c2b2adaaf54e0299', 'branch': 'master', 'shortrev': '2606-348', 'author': 'JosJuice', 'message': 'Merge pull request #14830 from JoshuaVandaele/sdl-miscs\n\nSDLGamepad: Add Misc 2 through 6', 'url': 'https://github.com/dolphin-emu/dolphin/commit/ca8c6ee45e419296226e4da8c2b2adaaf54e0299', 'type': 'new_dev_version'}
2026-09-03T19:28:24.741251 {'source': 'repomanager', 'hash': '5ff90a0471d7ac6905290c508559db1c4da5193f', 'branch': 'master', 'shortrev': '2606-346', 'author': 'JosJuice', 'message': 'Merge pull request #14686 from JoshuaVandaele/sdl-touchpads\n\nSDLGamepad: Support multiple touchpads', 'url': 'https://github.com/dolphin-emu/dolphin/commit/5ff90a0471d7ac6905290c508559db1c4da5193f', 'type': 'new_dev_version'}
Recent 'notification' events
2026-09-06T08:51:36.343992 {'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] \x0303J\ufeffosJuice\x03 edited a comment on #14789 (Optimize vertex_shader_uid_data down to 28 bytes): \x1f\x0302https://dolp.in/pr14789#issuecomment-5558142850\x03\x1f', 'type': 'notification'}
2026-09-06T08:50:41.954481 {'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] \x0303J\ufeffosJuice\x03 commented on #14789 (Optimize vertex_shader_uid_data down to 28 bytes): \x1f\x0302https://dolp.in/pr14789#issuecomment-5558142850\x03\x1f', 'type': 'notification'}
2026-09-06T07:35:35.638262 {'source': 'notifications', 'msg': 'a2efdf by \x0303l\ufeffinkmauve\x03 [\x03090\x03|\x03091\x03|\x03040\x03] \x1f\x0302https://dolp.in/ra2efdf1197be8132674b90fe9cf4761df39752ed\x03\x1f Merge pull request #14847 from linkmauve/pe-token-2-bytes', 'type': 'notification'}
2026-09-06T07:35:35.638146 {'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x1f\x03] \x0303l\ufeffinkmauve\x03 pushed \x021\x02 new commit to \x0306master\x03', 'type': 'notification'}
2026-09-06T07:35:35.332947 {'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] \x0303l\ufeffinkmauve\x03 merged pull request #14847: Revert "VideoCommon: Use correct size for PE token" (\x0306master\x03...\x0306pe-token-2-bytes\x03): \x1f\x0302https://dolp.in/pr14847\x03\x1f', 'type': 'notification'}
2026-09-06T07:08:06.968138 {'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] \x0303P\ufeffokechu22\x03 approved pull request #14847 (Revert "VideoCommon: Use correct size for PE token"): \x1f\x0302https://dolp.in/pr14847#pullrequestreview-5124520594\x03\x1f', 'type': 'notification'}
2026-09-06T07:07:33.004385 {'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] \x0303l\ufeffinkmauve\x03 opened pull request #14847: Revert "VideoCommon: Use correct size for PE token" (\x0306master\x03...\x0306pe-token-2-bytes\x03): \x1f\x0302https://dolp.in/pr14847\x03\x1f', 'type': 'notification'}
2026-09-06T07:03:33.345171 {'source': 'notifications', 'msg': 'Update 4 to issue 11786 ("Prince of persia Warrior within - Green flickering bottom line") by \x0303e\ufeffightuser\x03 - \x1f\x0302https://dolp.in/i11786/4\x03\x1f', 'type': 'notification'}
2026-09-06T06:30:39.598457 {'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] \x0303i\ufeffwubcode\x03 synchronized pull request #14840: VideoCommon: split partial texture update logic from the actual rendering (\x0306master\x03...\x0306dolphin_texture_refactor_3\x03): \x1f\x0302https://dolp.in/pr14840\x03\x1f', 'type': 'notification'}
2026-09-06T06:04:08.022393 {'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] \x0303i\ufeffwubcode\x03 synchronized pull request #14836: VideoCommon: refactor texture cache frame buffer copies (\x0306master\x03...\x0306dolphin_texture_refactor_1\x03): \x1f\x0302https://dolp.in/pr14836\x03\x1f', 'type': 'notification'}
2026-09-06T05:04:50.767500 {'source': 'notifications', 'msg': '982e8d by \x0303D\ufeffentomologist\x03 [\x03090\x03|\x03091\x03|\x03040\x03] \x1f\x0302https://dolp.in/r982e8d183d8df64b641a9809ec2f3b193f94e5e5\x03\x1f Merge pull request #14817 from JosJuice/android-netplay-version', 'type': 'notification'}
2026-09-06T05:04:50.767406 {'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x1f\x03] \x0303D\ufeffentomologist\x03 pushed \x021\x02 new commit to \x0306master\x03', 'type': 'notification'}
2026-09-06T05:04:50.629789 {'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] \x0303D\ufeffentomologist\x03 merged pull request #14817: Common: Add Android to GetNetplayDolphinVer (\x0306master\x03...\x0306android-netplay-version\x03): \x1f\x0302https://dolp.in/pr14817\x03\x1f', 'type': 'notification'}
2026-09-06T05:04:35.543650 {'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] \x0303D\ufeffentomologist\x03 approved pull request #14817 (Common: Add Android to GetNetplayDolphinVer): \x1f\x0302https://dolp.in/pr14817#pullrequestreview-5124230820\x03\x1f', 'type': 'notification'}
2026-09-06T04:41:57.413424 {'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] \x0303P\ufeffokechu22\x03 commented on #14842 (VideoCommon: Use correct size for PE token): \x1f\x0302https://dolp.in/pr14842#issuecomment-5556955501\x03\x1f', 'type': 'notification'}
2026-09-06T02:37:59.988262 {'source': 'notifications', 'msg': 'debe8e by \x0303S\ufeffcott Mansell\x03 [\x03090\x03|\x03096\x03|\x03040\x03] \x1f\x0302https://dolp.in/rdebe8e9fd974517062a7622142bba2ecce0e6c60\x03\x1f Merge pull request #14789 from phire/optimise_vs_uid', 'type': 'notification'}
2026-09-06T02:37:59.988157 {'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x1f\x03] \x0303p\ufeffhire\x03 pushed \x021\x02 new commit to \x0306master\x03', 'type': 'notification'}
2026-09-06T02:37:59.689568 {'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] \x0303p\ufeffhire\x03 merged pull request #14789: Optimize vertex_shader_uid_data down to 28 bytes (\x0306master\x03...\x0306optimise_vs_uid\x03): \x1f\x0302https://dolp.in/pr14789\x03\x1f', 'type': 'notification'}
2026-09-06T02:12:59.918319 {'source': 'notifications', 'msg': 'Update 9 to issue 13983 ("Dolphin freezes when exiting, loses settings") by \x0303t\ufeffhemaritimegirl\x03 - \x1f\x0302https://dolp.in/i13983/9\x03\x1f', 'type': 'notification'}
2026-09-06T01:35:11.109363 {'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] \x0303J\ufeffoshuaVandaele\x03 approved pull request #14817 (Common: Add Android to GetNetplayDolphinVer): \x1f\x0302https://dolp.in/pr14817#pullrequestreview-5123722995\x03\x1f', 'type': 'notification'}
2026-09-06T00:35:44.982935 {'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] \x0303i\ufeffwubcode\x03 commented on #14840 e7f23d: \x1f\x0302https://dolp.in/pr14840#discussion_r3942512666\x03\x1f', 'type': 'notification'}
2026-09-06T00:31:08.678228 {'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] \x0303i\ufeffwubcode\x03 commented on #14836 a7698f: \x1f\x0302https://dolp.in/pr14836#discussion_r3942503601\x03\x1f', 'type': 'notification'}
2026-09-06T00:24:57.131969 {'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] \x0303i\ufeffwubcode\x03 commented on pull request #14840 (VideoCommon: split partial texture update logic from the actual rendering): \x1f\x0302https://dolp.in/pr14840#pullrequestreview-5123526063\x03\x1f', 'type': 'notification'}
2026-09-06T00:17:45.265853 {'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] \x0303p\ufeffhire\x03 approved pull request #14834 (Arm64Emitter: Make FixupBranch smaller): \x1f\x0302https://dolp.in/pr14834#pullrequestreview-5123540340\x03\x1f', 'type': 'notification'}
2026-09-06T00:12:13.299377 {'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] \x0303p\ufeffhire\x03 commented on #14836 a7698f: \x1f\x0302https://dolp.in/pr14836#discussion_r3942467883\x03\x1f', 'type': 'notification'}
Recent 'pull_request_fifoci_status' events
2026-09-06T08:27:15.311481 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '3e95d0fc16c53f3c51b6469c9419d05ca4b3401a', 'service': 'pr-fifoci-mtl-osx-m1', 'pr': 14847, 'type': 'pull_request_fifoci_status'}
2026-09-06T08:19:18.267588 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '3e95d0fc16c53f3c51b6469c9419d05ca4b3401a', 'service': 'pr-fifoci-vk-lin-mesa', 'pr': 14847, 'type': 'pull_request_fifoci_status'}
2026-09-06T07:40:05.438289 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '3e95d0fc16c53f3c51b6469c9419d05ca4b3401a', 'service': 'pr-fifoci-mvk-osx-m1', 'pr': 14847, 'type': 'pull_request_fifoci_status'}
2026-09-06T07:36:26.484151 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '3e95d0fc16c53f3c51b6469c9419d05ca4b3401a', 'service': 'pr-fifoci-ogl-lin-mesa', 'pr': 14847, 'type': 'pull_request_fifoci_status'}
2026-09-06T07:22:37.864171 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '3e95d0fc16c53f3c51b6469c9419d05ca4b3401a', 'service': 'pr-fifoci-sw-lin-mesa', 'pr': 14847, 'type': 'pull_request_fifoci_status'}
2026-09-06T07:15:23.012980 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': 'b21878da9c8f1c91b8a534a81a553a80d04d718a', 'service': 'pr-fifoci-mtl-osx-m1', 'pr': 14840, 'type': 'pull_request_fifoci_status'}
2026-09-06T07:14:44.522392 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': 'b21878da9c8f1c91b8a534a81a553a80d04d718a', 'service': 'pr-fifoci-vk-lin-mesa', 'pr': 14840, 'type': 'pull_request_fifoci_status'}
2026-09-06T07:03:59.455169 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': 'b21878da9c8f1c91b8a534a81a553a80d04d718a', 'service': 'pr-fifoci-mvk-osx-m1', 'pr': 14840, 'type': 'pull_request_fifoci_status'}
2026-09-06T07:00:23.234887 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': 'b21878da9c8f1c91b8a534a81a553a80d04d718a', 'service': 'pr-fifoci-ogl-lin-mesa', 'pr': 14840, 'type': 'pull_request_fifoci_status'}
2026-09-06T06:47:04.059656 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': 'b21878da9c8f1c91b8a534a81a553a80d04d718a', 'service': 'pr-fifoci-sw-lin-mesa', 'pr': 14840, 'type': 'pull_request_fifoci_status'}
2026-09-06T06:40:27.209094 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '6d620ebd902b7e915d462a2fc09d1148bf9faf68', 'service': 'pr-fifoci-mtl-osx-m1', 'pr': 14836, 'type': 'pull_request_fifoci_status'}
2026-09-06T06:40:12.008081 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '6d620ebd902b7e915d462a2fc09d1148bf9faf68', 'service': 'pr-fifoci-vk-lin-mesa', 'pr': 14836, 'type': 'pull_request_fifoci_status'}
2026-09-06T06:29:02.369484 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '6d620ebd902b7e915d462a2fc09d1148bf9faf68', 'service': 'pr-fifoci-mvk-osx-m1', 'pr': 14836, 'type': 'pull_request_fifoci_status'}
2026-09-06T06:27:13.032390 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '6d620ebd902b7e915d462a2fc09d1148bf9faf68', 'service': 'pr-fifoci-sw-lin-mesa', 'pr': 14836, 'type': 'pull_request_fifoci_status'}
2026-09-06T06:20:20.435944 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '6d620ebd902b7e915d462a2fc09d1148bf9faf68', 'service': 'pr-fifoci-ogl-lin-mesa', 'pr': 14836, 'type': 'pull_request_fifoci_status'}
2026-09-05T21:05:16.042147 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': 'a7698f4a921cbe63404bbf4c6d0f0ec6a6c2526f', 'service': 'pr-fifoci-vk-lin-mesa', 'pr': 14836, 'type': 'pull_request_fifoci_status'}
2026-09-05T21:04:56.735387 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': 'a7698f4a921cbe63404bbf4c6d0f0ec6a6c2526f', 'service': 'pr-fifoci-mtl-osx-m1', 'pr': 14836, 'type': 'pull_request_fifoci_status'}
2026-09-05T20:53:31.153262 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': 'a7698f4a921cbe63404bbf4c6d0f0ec6a6c2526f', 'service': 'pr-fifoci-mvk-osx-m1', 'pr': 14836, 'type': 'pull_request_fifoci_status'}
2026-09-05T20:53:30.200636 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': 'a7698f4a921cbe63404bbf4c6d0f0ec6a6c2526f', 'service': 'pr-fifoci-sw-lin-mesa', 'pr': 14836, 'type': 'pull_request_fifoci_status'}
2026-09-05T20:46:31.688125 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': 'a7698f4a921cbe63404bbf4c6d0f0ec6a6c2526f', 'service': 'pr-fifoci-ogl-lin-mesa', 'pr': 14836, 'type': 'pull_request_fifoci_status'}
2026-09-04T22:36:38.649428 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '5d4cf0ec6552e0dffdce0bc318932b9481e7084c', 'service': 'pr-fifoci-vk-lin-mesa', 'pr': 14845, 'type': 'pull_request_fifoci_status'}
2026-09-04T22:20:31.820430 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '5d4cf0ec6552e0dffdce0bc318932b9481e7084c', 'service': 'pr-fifoci-sw-lin-mesa', 'pr': 14845, 'type': 'pull_request_fifoci_status'}
2026-09-04T22:09:08.343181 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '5d4cf0ec6552e0dffdce0bc318932b9481e7084c', 'service': 'pr-fifoci-ogl-lin-mesa', 'pr': 14845, 'type': 'pull_request_fifoci_status'}
2026-09-04T21:55:00.347107 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '5d4cf0ec6552e0dffdce0bc318932b9481e7084c', 'service': 'pr-fifoci-mtl-osx-m1', 'pr': 14845, 'type': 'pull_request_fifoci_status'}
2026-09-04T21:43:33.264703 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '5d4cf0ec6552e0dffdce0bc318932b9481e7084c', 'service': 'pr-fifoci-mvk-osx-m1', 'pr': 14845, 'type': 'pull_request_fifoci_status'}
Recent 'raw_bb_hook' events
2026-09-06T08:27:14.777578 {'source': 'webserver', 'raw': {'buildid': 187838, 'number': 8911, 'builderid': 21, 'buildrequestid': 188295, 'workerid': 8, 'masterid': 1, 'started_at': 1788682545, 'complete_at': 1788683226, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {'warnings-count': [114, 'WarningCountingShellCommand'], 'baserev': ['982e8d183d8df64b641a9809ec2f3b193f94e5e5', 'Change'], 'shortrev': ['3e95d0', 'Trigger'], 'repo': ['dolphin-emu/dolphin', 'Trigger'], 'buildername': ['pr-fifoci-mtl-osx-m1', 'Builder'], 'workername': ['osx-m1', 'Worker'], 'branch': ['refs/pull/14847/head', 'Build'], 'repository': ['', 'Build'], 'project': ['', 'Build'], 'owners': [['Central (on behalf of: linkmauve)'], 'Build'], 'builddir': ['/Users/ci/worker/base/pr-fifoci-mtl-osx-m1', 'Worker'], 'branchname': ['pr-14847', 'Trigger'], 'headrev': ['3e95d0fc16c53f3c51b6469c9419d05ca4b3401a', 'Trigger'], 'pr_id': [14847, 'Trigger'], 'scheduler': ['pr-fifoci-osx', 'Scheduler'], 'builderid': [21, 'Builder'], 'buildnumber': [8911, 'Build'], 'revision': ['3e95d0fc16c53f3c51b6469c9419d05ca4b3401a', 'Build'], 'codebase': ['', 'Build'], 'basedir': ['/Users/ci/worker/base', 'Worker'], 'got_revision': ['ca98b3030bcc70e67158ce899a5589aa2ec65d32', 'GitNoBranch']}, 'buildrequest': {'buildrequestid': 188295, 'buildsetid': 42388, 'builderid': 21, 'priority': 0, 'claimed': True, 'claimed_at': 1788682545, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1788679704, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 42388, 'external_idstring': None, 'reason': "The Triggerable scheduler named 'pr-fifoci-osx' triggered this build", 'submitted_at': 1788679704, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': 187822, 'parent_relationship': 'Triggered from', 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 12730, 'branch': 'refs/pull/14847/head', 'revision': '3e95d0fc16c53f3c51b6469c9419d05ca4b3401a', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1788678461, 'patch': None}]}, 'parentbuild': {'buildid': 187822, 'number': 10499, 'builderid': 7, 'buildrequestid': 188281, 'workerid': 8, 'masterid': 1, 'started_at': 1788678922, 'complete_at': 1788679704, '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/8911'}, 'type': 'raw_bb_hook'}
2026-09-06T08:19:17.740172 {'source': 'webserver', 'raw': {'buildid': 187837, 'number': 5178, 'builderid': 41, 'buildrequestid': 188293, 'workerid': 5, 'masterid': 1, 'started_at': 1788682040, 'complete_at': 1788682752, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {'baserev': ['982e8d183d8df64b641a9809ec2f3b193f94e5e5', 'Change'], 'scheduler': ['pr-fifoci-lin', 'Scheduler'], 'branch': ['refs/pull/14847/head', 'Build'], 'owners': [['Central (on behalf of: linkmauve)'], 'Build'], 'builddir': ['/var/lib/fifoci-worker/worker/pr-fifoci-vk-lin-mesa', 'Worker'], 'pr_id': [14847, 'Trigger'], 'workername': ['altair-fifoci', 'Worker'], 'codebase': ['', 'Build'], 'got_revision': ['3e95d0fc16c53f3c51b6469c9419d05ca4b3401a', 'GitNoBranch'], 'shortrev': ['3e95d0', 'Trigger'], 'builderid': [41, 'Builder'], 'repository': ['', 'Build'], 'basedir': ['/var/lib/fifoci-worker/worker', 'Worker'], 'warnings-count': [1, 'WarningCountingShellCommand'], 'branchname': ['pr-14847', 'Trigger'], 'repo': ['dolphin-emu/dolphin', 'Trigger'], 'buildnumber': [5178, 'Build'], 'project': ['', 'Build'], 'headrev': ['3e95d0fc16c53f3c51b6469c9419d05ca4b3401a', 'Trigger'], 'buildername': ['pr-fifoci-vk-lin-mesa', 'Builder'], 'revision': ['3e95d0fc16c53f3c51b6469c9419d05ca4b3401a', 'Build']}, 'buildrequest': {'buildrequestid': 188293, 'buildsetid': 42386, 'builderid': 41, 'priority': 0, 'claimed': True, 'claimed_at': 1788682040, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1788678693, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 42386, 'external_idstring': None, 'reason': "The Triggerable scheduler named 'pr-fifoci-lin' triggered this build", 'submitted_at': 1788678693, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': 187818, 'parent_relationship': 'Triggered from', 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 12730, 'branch': 'refs/pull/14847/head', 'revision': '3e95d0fc16c53f3c51b6469c9419d05ca4b3401a', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1788678461, 'patch': None}]}, 'parentbuild': {'buildid': 187818, 'number': 10482, 'builderid': 27, 'buildrequestid': 188287, 'workerid': 10, 'masterid': 1, 'started_at': 1788678466, 'complete_at': 1788678693, '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/5178'}, 'type': 'raw_bb_hook'}
2026-09-06T08:15:55.827800 {'source': 'webserver', 'raw': {'buildid': 187838, 'number': 8911, 'builderid': 21, 'buildrequestid': 188295, 'workerid': 8, 'masterid': 1, 'started_at': 1788682545, 'complete_at': None, 'locks_duration_s': 0, 'complete': False, 'state_string': 'starting', 'results': None, 'properties': {'baserev': ['982e8d183d8df64b641a9809ec2f3b193f94e5e5', 'Change'], 'shortrev': ['3e95d0', 'Trigger'], 'repo': ['dolphin-emu/dolphin', 'Trigger'], 'buildername': ['pr-fifoci-mtl-osx-m1', 'Builder'], 'workername': ['osx-m1', 'Worker'], 'branch': ['refs/pull/14847/head', 'Build'], 'repository': ['', 'Build'], 'project': ['', 'Build'], 'owners': [['Central (on behalf of: linkmauve)'], 'Build'], 'branchname': ['pr-14847', 'Trigger'], 'headrev': ['3e95d0fc16c53f3c51b6469c9419d05ca4b3401a', 'Trigger'], 'pr_id': [14847, 'Trigger'], 'scheduler': ['pr-fifoci-osx', 'Scheduler'], 'builderid': [21, 'Builder'], 'buildnumber': [8911, 'Build'], 'revision': ['3e95d0fc16c53f3c51b6469c9419d05ca4b3401a', 'Build'], 'codebase': ['', 'Build']}, 'buildrequest': {'buildrequestid': 188295, 'buildsetid': 42388, 'builderid': 21, 'priority': 0, 'claimed': True, 'claimed_at': 1788682545, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1788679704, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 42388, 'external_idstring': None, 'reason': "The Triggerable scheduler named 'pr-fifoci-osx' triggered this build", 'submitted_at': 1788679704, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': 187822, 'parent_relationship': 'Triggered from', 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 12730, 'branch': 'refs/pull/14847/head', 'revision': '3e95d0fc16c53f3c51b6469c9419d05ca4b3401a', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1788678461, 'patch': None}]}, 'parentbuild': {'buildid': 187822, 'number': 10499, 'builderid': 7, 'buildrequestid': 188281, 'workerid': 8, 'masterid': 1, 'started_at': 1788678922, 'complete_at': 1788679704, '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/8911'}, 'type': 'raw_bb_hook'}
2026-09-06T08:15:45.776392 {'source': 'webserver', 'raw': {'buildid': 187836, 'number': 2562, 'builderid': 8, 'buildrequestid': 188297, 'workerid': 8, 'masterid': 1, 'started_at': 1788681860, 'complete_at': 1788682545, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {'author': ['linkmauve', 'Change'], 'workername': ['osx-m1', 'Worker'], 'codebase': ['', 'Build'], 'basedir': ['/Users/ci/worker/base', 'Worker'], 'branchname': ['master', 'Change'], 'scheduler': ['dev', 'Scheduler'], 'branch': ['master', 'Build'], 'owners': [['linkmauve'], 'Build'], 'got_revision': ['ca98b3030bcc70e67158ce899a5589aa2ec65d32', 'GitNoBranch'], 'warnings-count': [114, 'WarningCountingShellCommand'], 'shortrev': ['2606-364', 'Change'], 'builderid': [8, 'Builder'], 'repository': ['', 'Build'], 'buildername': ['fifoci-mvk-osx-m1', 'Builder'], 'revision': ['a2efdf1197be8132674b90fe9cf4761df39752ed', 'Build'], 'description': ['Merge pull request #14847 from linkmauve/pe-token-2-bytes\n\nRevert "VideoCommon: Use correct size for PE token"', 'Change'], 'buildnumber': [2562, 'Build'], 'project': ['', 'Build'], 'builddir': ['/Users/ci/worker/base/fifoci-mvk-osx-m1', 'Worker']}, 'buildrequest': {'buildrequestid': 188297, 'buildsetid': 42389, 'builderid': 8, 'priority': 0, 'claimed': True, 'claimed_at': 1788681860, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1788680137, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 42389, 'external_idstring': None, 'reason': "The AnyBranchScheduler scheduler named 'dev' triggered this build", 'submitted_at': 1788680137, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': None, 'parent_relationship': None, 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 12731, 'branch': 'master', 'revision': 'a2efdf1197be8132674b90fe9cf4761df39752ed', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1788680137, 'patch': None}]}, 'parentbuild': None, 'parentbuilder': None, 'builder': {'builderid': 8, 'name': 'fifoci-mvk-osx-m1', 'masterids': [1], 'description': None, 'description_format': None, 'description_html': None, 'projectid': None, 'tags': []}, 'url': 'https://dolphin.ci/#/builders/8/builds/2562'}, 'type': 'raw_bb_hook'}
2026-09-06T08:07:26.392423 {'source': 'webserver', 'raw': {'buildid': 187837, 'number': 5178, 'builderid': 41, 'buildrequestid': 188293, 'workerid': 5, 'masterid': 1, 'started_at': 1788682040, 'complete_at': None, 'locks_duration_s': 0, 'complete': False, 'state_string': 'starting', 'results': None, 'properties': {'baserev': ['982e8d183d8df64b641a9809ec2f3b193f94e5e5', 'Change'], 'scheduler': ['pr-fifoci-lin', 'Scheduler'], 'branch': ['refs/pull/14847/head', 'Build'], 'owners': [['Central (on behalf of: linkmauve)'], 'Build'], 'pr_id': [14847, 'Trigger'], 'workername': ['altair-fifoci', 'Worker'], 'codebase': ['', 'Build'], 'shortrev': ['3e95d0', 'Trigger'], 'builderid': [41, 'Builder'], 'repository': ['', 'Build'], 'branchname': ['pr-14847', 'Trigger'], 'repo': ['dolphin-emu/dolphin', 'Trigger'], 'buildnumber': [5178, 'Build'], 'project': ['', 'Build'], 'headrev': ['3e95d0fc16c53f3c51b6469c9419d05ca4b3401a', 'Trigger'], 'buildername': ['pr-fifoci-vk-lin-mesa', 'Builder'], 'revision': ['3e95d0fc16c53f3c51b6469c9419d05ca4b3401a', 'Build']}, 'buildrequest': {'buildrequestid': 188293, 'buildsetid': 42386, 'builderid': 41, 'priority': 0, 'claimed': True, 'claimed_at': 1788682040, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1788678693, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 42386, 'external_idstring': None, 'reason': "The Triggerable scheduler named 'pr-fifoci-lin' triggered this build", 'submitted_at': 1788678693, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': 187818, 'parent_relationship': 'Triggered from', 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 12730, 'branch': 'refs/pull/14847/head', 'revision': '3e95d0fc16c53f3c51b6469c9419d05ca4b3401a', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1788678461, 'patch': None}]}, 'parentbuild': {'buildid': 187818, 'number': 10482, 'builderid': 27, 'buildrequestid': 188287, 'workerid': 10, 'masterid': 1, 'started_at': 1788678466, 'complete_at': 1788678693, '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/5178'}, 'type': 'raw_bb_hook'}
2026-09-06T08:07:20.583500 {'source': 'webserver', 'raw': {'buildid': 187835, 'number': 2506, 'builderid': 5, 'buildrequestid': 188296, 'workerid': 5, 'masterid': 1, 'started_at': 1788681259, 'complete_at': 1788682040, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {'author': ['linkmauve', 'Change'], 'workername': ['altair-fifoci', 'Worker'], 'codebase': ['', 'Build'], 'shortrev': ['2606-364', 'Change'], 'builderid': [5, 'Builder'], 'repository': ['', 'Build'], 'description': ['Merge pull request #14847 from linkmauve/pe-token-2-bytes\n\nRevert "VideoCommon: Use correct size for PE token"', 'Change'], 'buildnumber': [2506, 'Build'], 'project': ['', 'Build'], 'builddir': ['/var/lib/fifoci-worker/worker/fifoci-ogl-lin-mesa', 'Worker'], 'branchname': ['master', 'Change'], 'buildername': ['fifoci-ogl-lin-mesa', 'Builder'], 'revision': ['a2efdf1197be8132674b90fe9cf4761df39752ed', 'Build'], 'basedir': ['/var/lib/fifoci-worker/worker', 'Worker'], 'warnings-count': [0, 'WarningCountingShellCommand'], 'scheduler': ['dev', 'Scheduler'], 'branch': ['master', 'Build'], 'owners': [['linkmauve'], 'Build'], 'got_revision': ['a2efdf1197be8132674b90fe9cf4761df39752ed', 'GitNoBranch']}, 'buildrequest': {'buildrequestid': 188296, 'buildsetid': 42389, 'builderid': 5, 'priority': 0, 'claimed': True, 'claimed_at': 1788681259, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1788680137, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 42389, 'external_idstring': None, 'reason': "The AnyBranchScheduler scheduler named 'dev' triggered this build", 'submitted_at': 1788680137, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': None, 'parent_relationship': None, 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 12731, 'branch': 'master', 'revision': 'a2efdf1197be8132674b90fe9cf4761df39752ed', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1788680137, 'patch': None}]}, 'parentbuild': None, 'parentbuilder': None, 'builder': {'builderid': 5, 'name': 'fifoci-ogl-lin-mesa', 'masterids': [1], 'description': None, 'description_format': None, 'description_html': None, 'projectid': None, 'tags': []}, 'url': 'https://dolphin.ci/#/builders/5/builds/2506'}, 'type': 'raw_bb_hook'}
2026-09-06T08:04:20.247568 {'source': 'webserver', 'raw': {'buildid': 187836, 'number': 2562, 'builderid': 8, 'buildrequestid': 188297, 'workerid': 8, 'masterid': 1, 'started_at': 1788681860, 'complete_at': None, 'locks_duration_s': 0, 'complete': False, 'state_string': 'starting', 'results': None, 'properties': {'author': ['linkmauve', 'Change'], 'workername': ['osx-m1', 'Worker'], 'codebase': ['', 'Build'], 'branchname': ['master', 'Change'], 'scheduler': ['dev', 'Scheduler'], 'branch': ['master', 'Build'], 'shortrev': ['2606-364', 'Change'], 'builderid': [8, 'Builder'], 'repository': ['', 'Build'], 'buildername': ['fifoci-mvk-osx-m1', 'Builder'], 'revision': ['a2efdf1197be8132674b90fe9cf4761df39752ed', 'Build'], 'description': ['Merge pull request #14847 from linkmauve/pe-token-2-bytes\n\nRevert "VideoCommon: Use correct size for PE token"', 'Change'], 'buildnumber': [2562, 'Build'], 'project': ['', 'Build']}, 'buildrequest': {'buildrequestid': 188297, 'buildsetid': 42389, 'builderid': 8, 'priority': 0, 'claimed': True, 'claimed_at': 1788681860, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1788680137, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 42389, 'external_idstring': None, 'reason': "The AnyBranchScheduler scheduler named 'dev' triggered this build", 'submitted_at': 1788680137, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': None, 'parent_relationship': None, 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 12731, 'branch': 'master', 'revision': 'a2efdf1197be8132674b90fe9cf4761df39752ed', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1788680137, 'patch': None}]}, 'parentbuild': None, 'parentbuilder': None, 'builder': {'builderid': 8, 'name': 'fifoci-mvk-osx-m1', 'masterids': [1], 'description': None, 'description_format': None, 'description_html': None, 'projectid': None, 'tags': []}, 'url': 'https://dolphin.ci/#/builders/8/builds/2562'}, 'type': 'raw_bb_hook'}
2026-09-06T08:04:20.173298 {'source': 'webserver', 'raw': {'buildid': 187834, 'number': 2559, 'builderid': 17, 'buildrequestid': 188298, 'workerid': 8, 'masterid': 1, 'started_at': 1788681177, 'complete_at': 1788681860, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {'shortrev': ['2606-364', 'Change'], 'builderid': [17, 'Builder'], 'repository': ['', 'Build'], 'got_revision': ['ca98b3030bcc70e67158ce899a5589aa2ec65d32', 'GitNoBranch'], 'author': ['linkmauve', 'Change'], 'workername': ['osx-m1', 'Worker'], 'codebase': ['', 'Build'], 'basedir': ['/Users/ci/worker/base', 'Worker'], 'scheduler': ['dev', 'Scheduler'], 'branch': ['master', 'Build'], 'owners': [['linkmauve'], 'Build'], 'warnings-count': [114, 'WarningCountingShellCommand'], 'description': ['Merge pull request #14847 from linkmauve/pe-token-2-bytes\n\nRevert "VideoCommon: Use correct size for PE token"', 'Change'], 'buildnumber': [2559, 'Build'], 'project': ['', 'Build'], 'branchname': ['master', 'Change'], 'buildername': ['fifoci-mtl-osx-m1', 'Builder'], 'revision': ['a2efdf1197be8132674b90fe9cf4761df39752ed', 'Build'], 'builddir': ['/Users/ci/worker/base/fifoci-mtl-osx-m1', 'Worker']}, 'buildrequest': {'buildrequestid': 188298, 'buildsetid': 42389, 'builderid': 17, 'priority': 0, 'claimed': True, 'claimed_at': 1788681177, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1788680137, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 42389, 'external_idstring': None, 'reason': "The AnyBranchScheduler scheduler named 'dev' triggered this build", 'submitted_at': 1788680137, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': None, 'parent_relationship': None, 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 12731, 'branch': 'master', 'revision': 'a2efdf1197be8132674b90fe9cf4761df39752ed', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1788680137, 'patch': None}]}, 'parentbuild': None, 'parentbuilder': None, 'builder': {'builderid': 17, 'name': 'fifoci-mtl-osx-m1', 'masterids': [1], 'description': None, 'description_format': None, 'description_html': None, 'projectid': None, 'tags': []}, 'url': 'https://dolphin.ci/#/builders/17/builds/2559'}, 'type': 'raw_bb_hook'}
2026-09-06T07:54:19.662762 {'source': 'webserver', 'raw': {'buildid': 187835, 'number': 2506, 'builderid': 5, 'buildrequestid': 188296, 'workerid': 5, 'masterid': 1, 'started_at': 1788681259, 'complete_at': None, 'locks_duration_s': 0, 'complete': False, 'state_string': 'starting', 'results': None, 'properties': {'author': ['linkmauve', 'Change'], 'workername': ['altair-fifoci', 'Worker'], 'codebase': ['', 'Build'], 'shortrev': ['2606-364', 'Change'], 'builderid': [5, 'Builder'], 'repository': ['', 'Build'], 'description': ['Merge pull request #14847 from linkmauve/pe-token-2-bytes\n\nRevert "VideoCommon: Use correct size for PE token"', 'Change'], 'buildnumber': [2506, 'Build'], 'project': ['', 'Build'], 'branchname': ['master', 'Change'], 'buildername': ['fifoci-ogl-lin-mesa', 'Builder'], 'revision': ['a2efdf1197be8132674b90fe9cf4761df39752ed', 'Build'], 'scheduler': ['dev', 'Scheduler'], 'branch': ['master', 'Build']}, 'buildrequest': {'buildrequestid': 188296, 'buildsetid': 42389, 'builderid': 5, 'priority': 0, 'claimed': True, 'claimed_at': 1788681259, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1788680137, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 42389, 'external_idstring': None, 'reason': "The AnyBranchScheduler scheduler named 'dev' triggered this build", 'submitted_at': 1788680137, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': None, 'parent_relationship': None, 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 12731, 'branch': 'master', 'revision': 'a2efdf1197be8132674b90fe9cf4761df39752ed', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1788680137, 'patch': None}]}, 'parentbuild': None, 'parentbuilder': None, 'builder': {'builderid': 5, 'name': 'fifoci-ogl-lin-mesa', 'masterids': [1], 'description': None, 'description_format': None, 'description_html': None, 'projectid': None, 'tags': []}, 'url': 'https://dolphin.ci/#/builders/5/builds/2506'}, 'type': 'raw_bb_hook'}
2026-09-06T07:54:19.595331 {'source': 'webserver', 'raw': {'buildid': 187833, 'number': 2514, 'builderid': 24, 'buildrequestid': 188299, 'workerid': 5, 'masterid': 1, 'started_at': 1788680870, 'complete_at': 1788681259, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {'branchname': ['master', 'Change'], 'author': ['linkmauve', 'Change'], 'scheduler': ['dev', 'Scheduler'], 'builderid': [24, 'Builder'], 'buildnumber': [2514, 'Build'], 'revision': ['a2efdf1197be8132674b90fe9cf4761df39752ed', 'Build'], 'codebase': ['', 'Build'], 'builddir': ['/var/lib/fifoci-worker/worker/fifoci-sw-lin-mesa', 'Worker'], 'warnings-count': [0, 'WarningCountingShellCommand'], 'shortrev': ['2606-364', 'Change'], 'description': ['Merge pull request #14847 from linkmauve/pe-token-2-bytes\n\nRevert "VideoCommon: Use correct size for PE token"', 'Change'], 'buildername': ['fifoci-sw-lin-mesa', 'Builder'], 'workername': ['altair-fifoci', 'Worker'], 'branch': ['master', 'Build'], 'repository': ['', 'Build'], 'project': ['', 'Build'], 'owners': [['linkmauve'], 'Build'], 'basedir': ['/var/lib/fifoci-worker/worker', 'Worker'], 'got_revision': ['a2efdf1197be8132674b90fe9cf4761df39752ed', 'GitNoBranch']}, 'buildrequest': {'buildrequestid': 188299, 'buildsetid': 42389, 'builderid': 24, 'priority': 0, 'claimed': True, 'claimed_at': 1788680870, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1788680137, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 42389, 'external_idstring': None, 'reason': "The AnyBranchScheduler scheduler named 'dev' triggered this build", 'submitted_at': 1788680137, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': None, 'parent_relationship': None, 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 12731, 'branch': 'master', 'revision': 'a2efdf1197be8132674b90fe9cf4761df39752ed', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1788680137, 'patch': None}]}, 'parentbuild': None, 'parentbuilder': None, 'builder': {'builderid': 24, 'name': 'fifoci-sw-lin-mesa', 'masterids': [1], 'description': None, 'description_format': None, 'description_html': None, 'projectid': None, 'tags': []}, 'url': 'https://dolphin.ci/#/builders/24/builds/2514'}, 'type': 'raw_bb_hook'}
2026-09-06T07:52:57.951636 {'source': 'webserver', 'raw': {'buildid': 187834, 'number': 2559, 'builderid': 17, 'buildrequestid': 188298, 'workerid': 8, 'masterid': 1, 'started_at': 1788681177, 'complete_at': None, 'locks_duration_s': 0, 'complete': False, 'state_string': 'starting', 'results': None, 'properties': {'shortrev': ['2606-364', 'Change'], 'builderid': [17, 'Builder'], 'repository': ['', 'Build'], 'author': ['linkmauve', 'Change'], 'workername': ['osx-m1', 'Worker'], 'codebase': ['', 'Build'], 'scheduler': ['dev', 'Scheduler'], 'branch': ['master', 'Build'], 'description': ['Merge pull request #14847 from linkmauve/pe-token-2-bytes\n\nRevert "VideoCommon: Use correct size for PE token"', 'Change'], 'buildnumber': [2559, 'Build'], 'project': ['', 'Build'], 'branchname': ['master', 'Change'], 'buildername': ['fifoci-mtl-osx-m1', 'Builder'], 'revision': ['a2efdf1197be8132674b90fe9cf4761df39752ed', 'Build']}, 'buildrequest': {'buildrequestid': 188298, 'buildsetid': 42389, 'builderid': 17, 'priority': 0, 'claimed': True, 'claimed_at': 1788681177, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1788680137, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 42389, 'external_idstring': None, 'reason': "The AnyBranchScheduler scheduler named 'dev' triggered this build", 'submitted_at': 1788680137, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': None, 'parent_relationship': None, 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 12731, 'branch': 'master', 'revision': 'a2efdf1197be8132674b90fe9cf4761df39752ed', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1788680137, 'patch': None}]}, 'parentbuild': None, 'parentbuilder': None, 'builder': {'builderid': 17, 'name': 'fifoci-mtl-osx-m1', 'masterids': [1], 'description': None, 'description_format': None, 'description_html': None, 'projectid': None, 'tags': []}, 'url': 'https://dolphin.ci/#/builders/17/builds/2559'}, 'type': 'raw_bb_hook'}
2026-09-06T07:52:57.883385 {'source': 'webserver', 'raw': {'buildid': 187832, 'number': 1576, 'builderid': 38, 'buildrequestid': 188302, 'workerid': 8, 'masterid': 1, 'started_at': 1788680394, 'complete_at': 1788681177, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {'author': ['linkmauve', 'Change'], 'scheduler': ['dev', 'Scheduler'], 'buildnumber': [1576, 'Build'], 'owners': [['linkmauve'], 'Build'], 'basedir': ['/Users/ci/worker/base', 'Worker'], 'branchname': ['master', 'Change'], 'buildername': ['dev-osx-universal', 'Builder'], 'branch': ['master', 'Build'], 'repository': ['', 'Build'], 'project': ['', 'Build'], 'got_revision': ['a2efdf1197be8132674b90fe9cf4761df39752ed', 'GitNoBranch'], 'shortrev': ['2606-364', 'Change'], 'description': ['Merge pull request #14847 from linkmauve/pe-token-2-bytes\n\nRevert "VideoCommon: Use correct size for PE token"', 'Change'], 'workername': ['osx-m1', 'Worker'], 'codebase': ['', 'Build'], 'builderid': [38, 'Builder'], 'revision': ['a2efdf1197be8132674b90fe9cf4761df39752ed', 'Build'], 'builddir': ['/Users/ci/worker/base/dev-osx-universal', 'Worker']}, 'buildrequest': {'buildrequestid': 188302, 'buildsetid': 42389, 'builderid': 38, 'priority': 0, 'claimed': True, 'claimed_at': 1788680394, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1788680137, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 42389, 'external_idstring': None, 'reason': "The AnyBranchScheduler scheduler named 'dev' triggered this build", 'submitted_at': 1788680137, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': None, 'parent_relationship': None, 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 12731, 'branch': 'master', 'revision': 'a2efdf1197be8132674b90fe9cf4761df39752ed', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1788680137, 'patch': None}]}, 'parentbuild': None, 'parentbuilder': None, 'builder': {'builderid': 38, 'name': 'dev-osx-universal', 'masterids': [1], 'description': None, 'description_format': None, 'description_html': None, 'projectid': None, 'tags': []}, 'url': 'https://dolphin.ci/#/builders/38/builds/1576'}, 'type': 'raw_bb_hook'}
2026-09-06T07:47:50.761138 {'source': 'webserver', 'raw': {'buildid': 187833, 'number': 2514, 'builderid': 24, 'buildrequestid': 188299, 'workerid': 5, 'masterid': 1, 'started_at': 1788680870, 'complete_at': None, 'locks_duration_s': 0, 'complete': False, 'state_string': 'starting', 'results': None, 'properties': {'branchname': ['master', 'Change'], 'author': ['linkmauve', 'Change'], 'scheduler': ['dev', 'Scheduler'], 'builderid': [24, 'Builder'], 'buildnumber': [2514, 'Build'], 'revision': ['a2efdf1197be8132674b90fe9cf4761df39752ed', 'Build'], 'codebase': ['', 'Build'], 'shortrev': ['2606-364', 'Change'], 'description': ['Merge pull request #14847 from linkmauve/pe-token-2-bytes\n\nRevert "VideoCommon: Use correct size for PE token"', 'Change'], 'buildername': ['fifoci-sw-lin-mesa', 'Builder'], 'workername': ['altair-fifoci', 'Worker'], 'branch': ['master', 'Build'], 'repository': ['', 'Build'], 'project': ['', 'Build']}, 'buildrequest': {'buildrequestid': 188299, 'buildsetid': 42389, 'builderid': 24, 'priority': 0, 'claimed': True, 'claimed_at': 1788680870, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1788680137, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 42389, 'external_idstring': None, 'reason': "The AnyBranchScheduler scheduler named 'dev' triggered this build", 'submitted_at': 1788680137, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': None, 'parent_relationship': None, 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 12731, 'branch': 'master', 'revision': 'a2efdf1197be8132674b90fe9cf4761df39752ed', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1788680137, 'patch': None}]}, 'parentbuild': None, 'parentbuilder': None, 'builder': {'builderid': 24, 'name': 'fifoci-sw-lin-mesa', 'masterids': [1], 'description': None, 'description_format': None, 'description_html': None, 'projectid': None, 'tags': []}, 'url': 'https://dolphin.ci/#/builders/24/builds/2514'}, 'type': 'raw_bb_hook'}
2026-09-06T07:47:50.647243 {'source': 'webserver', 'raw': {'buildid': 187830, 'number': 1370, 'builderid': 40, 'buildrequestid': 188304, 'workerid': 5, 'masterid': 1, 'started_at': 1788680170, 'complete_at': 1788680870, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {'description': ['Merge pull request #14847 from linkmauve/pe-token-2-bytes\n\nRevert "VideoCommon: Use correct size for PE token"', 'Change'], 'revision': ['a2efdf1197be8132674b90fe9cf4761df39752ed', 'Build'], 'owners': [['linkmauve'], 'Build'], 'branchname': ['master', 'Change'], 'shortrev': ['2606-364', 'Change'], 'author': ['linkmauve', 'Change'], 'scheduler': ['dev', 'Scheduler'], 'buildername': ['fifoci-vk-lin-mesa', 'Builder'], 'builderid': [40, 'Builder'], 'workername': ['altair-fifoci', 'Worker'], 'buildnumber': [1370, 'Build'], 'branch': ['master', 'Build'], 'repository': ['', 'Build'], 'codebase': ['', 'Build'], 'project': ['', 'Build'], 'basedir': ['/var/lib/fifoci-worker/worker', 'Worker'], 'builddir': ['/var/lib/fifoci-worker/worker/fifoci-vk-lin-mesa', 'Worker'], 'got_revision': ['a2efdf1197be8132674b90fe9cf4761df39752ed', 'GitNoBranch'], 'warnings-count': [0, 'WarningCountingShellCommand']}, 'buildrequest': {'buildrequestid': 188304, 'buildsetid': 42389, 'builderid': 40, 'priority': 0, 'claimed': True, 'claimed_at': 1788680170, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1788680137, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 42389, 'external_idstring': None, 'reason': "The AnyBranchScheduler scheduler named 'dev' triggered this build", 'submitted_at': 1788680137, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': None, 'parent_relationship': None, 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 12731, 'branch': 'master', 'revision': 'a2efdf1197be8132674b90fe9cf4761df39752ed', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1788680137, 'patch': None}]}, 'parentbuild': None, 'parentbuilder': None, 'builder': {'builderid': 40, 'name': 'fifoci-vk-lin-mesa', 'masterids': [1], 'description': None, 'description_format': None, 'description_html': None, 'projectid': None, 'tags': []}, 'url': 'https://dolphin.ci/#/builders/40/builds/1370'}, 'type': 'raw_bb_hook'}
2026-09-06T07:41:29.263169 {'source': 'webserver', 'raw': {'buildid': 187828, 'number': 1518, 'builderid': 39, 'buildrequestid': 188303, 'workerid': 12, 'masterid': 1, 'started_at': 1788680137, 'complete_at': 1788680489, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {'shortrev': ['2606-364', 'Change'], 'revision': ['a2efdf1197be8132674b90fe9cf4761df39752ed', 'Build'], 'repository': ['', 'Build'], 'branchname': ['master', 'Change'], 'author': ['linkmauve', 'Change'], 'description': ['Merge pull request #14847 from linkmauve/pe-token-2-bytes\n\nRevert "VideoCommon: Use correct size for PE token"', 'Change'], 'scheduler': ['dev', 'Scheduler'], 'buildername': ['dev-android', 'Builder'], 'builderid': [39, 'Builder'], 'workername': ['android', 'Worker'], 'buildnumber': [1518, 'Build'], 'branch': ['master', 'Build'], 'codebase': ['', 'Build'], 'project': ['', 'Build'], 'owners': [['linkmauve'], 'Build'], 'basedir': ['/buildbot', 'Worker'], 'builddir': ['/buildbot/dev-android', 'Worker'], 'got_revision': ['a2efdf1197be8132674b90fe9cf4761df39752ed', 'GitNoBranch']}, 'buildrequest': {'buildrequestid': 188303, 'buildsetid': 42389, 'builderid': 39, 'priority': 0, 'claimed': True, 'claimed_at': 1788680137, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1788680137, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 42389, 'external_idstring': None, 'reason': "The AnyBranchScheduler scheduler named 'dev' triggered this build", 'submitted_at': 1788680137, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': None, 'parent_relationship': None, 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 12731, 'branch': 'master', 'revision': 'a2efdf1197be8132674b90fe9cf4761df39752ed', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1788680137, 'patch': None}]}, 'parentbuild': None, 'parentbuilder': None, 'builder': {'builderid': 39, 'name': 'dev-android', 'masterids': [1], 'description': None, 'description_format': None, 'description_html': None, 'projectid': None, 'tags': []}, 'url': 'https://dolphin.ci/#/builders/39/builds/1518'}, 'type': 'raw_bb_hook'}
2026-09-06T07:40:04.892531 {'source': 'webserver', 'raw': {'buildid': 187825, 'number': 8909, 'builderid': 19, 'buildrequestid': 188294, 'workerid': 8, 'masterid': 1, 'started_at': 1788679704, 'complete_at': 1788680394, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {'repository': ['', 'Build'], 'project': ['', 'Build'], 'basedir': ['/Users/ci/worker/base', 'Worker'], 'got_revision': ['ca98b3030bcc70e67158ce899a5589aa2ec65d32', 'GitNoBranch'], 'warnings-count': [114, 'WarningCountingShellCommand'], 'branchname': ['pr-14847', 'Trigger'], 'baserev': ['982e8d183d8df64b641a9809ec2f3b193f94e5e5', 'Change'], 'headrev': ['3e95d0fc16c53f3c51b6469c9419d05ca4b3401a', 'Trigger'], 'shortrev': ['3e95d0', 'Trigger'], 'pr_id': [14847, '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': [8909, 'Build'], 'branch': ['refs/pull/14847/head', 'Build'], 'revision': ['3e95d0fc16c53f3c51b6469c9419d05ca4b3401a', 'Build'], 'codebase': ['', 'Build'], 'owners': [['Central (on behalf of: linkmauve)'], 'Build'], 'builddir': ['/Users/ci/worker/base/pr-fifoci-mvk-osx-m1', 'Worker']}, 'buildrequest': {'buildrequestid': 188294, 'buildsetid': 42388, 'builderid': 19, 'priority': 0, 'claimed': True, 'claimed_at': 1788679704, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1788679704, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 42388, 'external_idstring': None, 'reason': "The Triggerable scheduler named 'pr-fifoci-osx' triggered this build", 'submitted_at': 1788679704, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': 187822, 'parent_relationship': 'Triggered from', 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 12730, 'branch': 'refs/pull/14847/head', 'revision': '3e95d0fc16c53f3c51b6469c9419d05ca4b3401a', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1788678461, 'patch': None}]}, 'parentbuild': {'buildid': 187822, 'number': 10499, 'builderid': 7, 'buildrequestid': 188281, 'workerid': 8, 'masterid': 1, 'started_at': 1788678922, 'complete_at': 1788679704, '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/8909'}, 'type': 'raw_bb_hook'}
2026-09-06T07:40:01.667602 {'source': 'webserver', 'raw': {'buildid': 187829, 'number': 1324, 'builderid': 45, 'buildrequestid': 188305, 'workerid': 14, 'masterid': 1, 'started_at': 1788680137, 'complete_at': 1788680401, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {'description': ['Merge pull request #14847 from linkmauve/pe-token-2-bytes\n\nRevert "VideoCommon: Use correct size for PE token"', 'Change'], 'builderid': [45, 'Builder'], 'workername': ['deneb-flatpak', 'Worker'], 'project': ['', 'Build'], 'owners': [['linkmauve'], 'Build'], 'builddir': ['/var/lib/flatpak-worker/worker/dev-flatpak-arm64', 'Worker'], 'fm_build_url': ['https://flat-manager.dolphin-emu.org/api/v1/build/12498', 'SetPropertyFromCommand Step'], 'branchname': ['master', 'Change'], 'shortrev': ['2606-364', 'Change'], 'author': ['linkmauve', 'Change'], 'scheduler': ['dev', 'Scheduler'], 'buildername': ['dev-flatpak-arm64', 'Builder'], 'buildnumber': [1324, 'Build'], 'branch': ['master', 'Build'], 'revision': ['a2efdf1197be8132674b90fe9cf4761df39752ed', 'Build'], 'repository': ['', 'Build'], 'codebase': ['', 'Build'], 'basedir': ['/var/lib/flatpak-worker/worker', 'Worker'], 'got_revision': ['a2efdf1197be8132674b90fe9cf4761df39752ed', 'GitNoBranch']}, 'buildrequest': {'buildrequestid': 188305, 'buildsetid': 42389, 'builderid': 45, 'priority': 0, 'claimed': True, 'claimed_at': 1788680137, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1788680137, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 42389, 'external_idstring': None, 'reason': "The AnyBranchScheduler scheduler named 'dev' triggered this build", 'submitted_at': 1788680137, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': None, 'parent_relationship': None, 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 12731, 'branch': 'master', 'revision': 'a2efdf1197be8132674b90fe9cf4761df39752ed', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1788680137, 'patch': None}]}, 'parentbuild': None, 'parentbuilder': None, 'builder': {'builderid': 45, 'name': 'dev-flatpak-arm64', 'masterids': [1], 'description': None, 'description_format': None, 'description_html': None, 'projectid': None, 'tags': []}, 'url': 'https://dolphin.ci/#/builders/45/builds/1324'}, 'type': 'raw_bb_hook'}
2026-09-06T07:39:54.563612 {'source': 'webserver', 'raw': {'buildid': 187832, 'number': 1576, 'builderid': 38, 'buildrequestid': 188302, 'workerid': 8, 'masterid': 1, 'started_at': 1788680394, 'complete_at': None, 'locks_duration_s': 0, 'complete': False, 'state_string': 'starting', 'results': None, 'properties': {'author': ['linkmauve', 'Change'], 'scheduler': ['dev', 'Scheduler'], 'buildnumber': [1576, 'Build'], 'owners': [['linkmauve'], 'Build'], 'branchname': ['master', 'Change'], 'buildername': ['dev-osx-universal', 'Builder'], 'branch': ['master', 'Build'], 'repository': ['', 'Build'], 'project': ['', 'Build'], 'shortrev': ['2606-364', 'Change'], 'description': ['Merge pull request #14847 from linkmauve/pe-token-2-bytes\n\nRevert "VideoCommon: Use correct size for PE token"', 'Change'], 'workername': ['osx-m1', 'Worker'], 'codebase': ['', 'Build'], 'builderid': [38, 'Builder'], 'revision': ['a2efdf1197be8132674b90fe9cf4761df39752ed', 'Build']}, 'buildrequest': {'buildrequestid': 188302, 'buildsetid': 42389, 'builderid': 38, 'priority': 0, 'claimed': True, 'claimed_at': 1788680394, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1788680137, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 42389, 'external_idstring': None, 'reason': "The AnyBranchScheduler scheduler named 'dev' triggered this build", 'submitted_at': 1788680137, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': None, 'parent_relationship': None, 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 12731, 'branch': 'master', 'revision': 'a2efdf1197be8132674b90fe9cf4761df39752ed', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1788680137, 'patch': None}]}, 'parentbuild': None, 'parentbuilder': None, 'builder': {'builderid': 38, 'name': 'dev-osx-universal', 'masterids': [1], 'description': None, 'description_format': None, 'description_html': None, 'projectid': None, 'tags': []}, 'url': 'https://dolphin.ci/#/builders/38/builds/1576'}, 'type': 'raw_bb_hook'}
2026-09-06T07:39:10.042342 {'source': 'webserver', 'raw': {'buildid': 187826, 'number': 1322, 'builderid': 46, 'buildrequestid': 188306, 'workerid': 13, 'masterid': 1, 'started_at': 1788680137, 'complete_at': 1788680350, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {'author': ['linkmauve', 'Change'], 'branch': ['master', 'Build'], 'revision': ['a2efdf1197be8132674b90fe9cf4761df39752ed', 'Build'], 'got_revision': ['a2efdf1197be8132674b90fe9cf4761df39752ed', 'GitNoBranch'], 'branchname': ['master', 'Change'], 'shortrev': ['2606-364', 'Change'], 'description': ['Merge pull request #14847 from linkmauve/pe-token-2-bytes\n\nRevert "VideoCommon: Use correct size for PE token"', 'Change'], 'scheduler': ['dev', 'Scheduler'], 'buildername': ['dev-flatpak-x64', 'Builder'], 'builderid': [46, 'Builder'], 'workername': ['altair-flatpak', 'Worker'], 'buildnumber': [1322, 'Build'], 'repository': ['', 'Build'], 'codebase': ['', 'Build'], 'project': ['', 'Build'], 'owners': [['linkmauve'], 'Build'], 'basedir': ['/var/lib/flatpak-worker/worker', 'Worker'], 'builddir': ['/var/lib/flatpak-worker/worker/dev-flatpak-x64', 'Worker'], 'fm_build_url': ['https://flat-manager.dolphin-emu.org/api/v1/build/12497', 'SetPropertyFromCommand Step']}, 'buildrequest': {'buildrequestid': 188306, 'buildsetid': 42389, 'builderid': 46, 'priority': 0, 'claimed': True, 'claimed_at': 1788680137, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1788680137, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 42389, 'external_idstring': None, 'reason': "The AnyBranchScheduler scheduler named 'dev' triggered this build", 'submitted_at': 1788680137, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': None, 'parent_relationship': None, 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 12731, 'branch': 'master', 'revision': 'a2efdf1197be8132674b90fe9cf4761df39752ed', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1788680137, 'patch': None}]}, 'parentbuild': None, 'parentbuilder': None, 'builder': {'builderid': 46, 'name': 'dev-flatpak-x64', 'masterids': [1], 'description': None, 'description_format': None, 'description_html': None, 'projectid': None, 'tags': []}, 'url': 'https://dolphin.ci/#/builders/46/builds/1322'}, 'type': 'raw_bb_hook'}
2026-09-06T07:38:46.173095 {'source': 'webserver', 'raw': {'buildid': 187831, 'number': 1533, 'builderid': 36, 'buildrequestid': 188300, 'workerid': 4, 'masterid': 1, 'started_at': 1788680235, 'complete_at': 1788680326, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {'description': ['Merge pull request #14847 from linkmauve/pe-token-2-bytes\n\nRevert "VideoCommon: Use correct size for PE token"', 'Change'], 'buildnumber': [1533, 'Build'], 'project': ['', 'Build'], 'basedir': ['c:\\buildbot', 'Worker'], 'sln_exists': ['false', 'SetPropertyFromCommand Step'], 'branchname': ['master', 'Change'], 'buildername': ['dev-win-arm64', 'Builder'], 'revision': ['a2efdf1197be8132674b90fe9cf4761df39752ed', 'Build'], 'builddir': ['c:\\buildbot\\dev-win-arm64', 'Worker'], 'warnings-count': [7, 'WarningCountingShellCommand'], 'author': ['linkmauve', 'Change'], 'workername': ['windows', 'Worker'], 'codebase': ['', 'Build'], 'got_revision': ['a2efdf1197be8132674b90fe9cf4761df39752ed', 'GitNoBranch'], 'shortrev': ['2606-364', 'Change'], 'builderid': [36, 'Builder'], 'repository': ['', 'Build'], 'scheduler': ['dev', 'Scheduler'], 'branch': ['master', 'Build'], 'owners': [['linkmauve'], 'Build'], 'build_url': ['https://dl.dolphin-emu.org/builds/86/f4/dolphin-master-2606-364-arm64.7z', 'SetProperty']}, 'buildrequest': {'buildrequestid': 188300, 'buildsetid': 42389, 'builderid': 36, 'priority': 0, 'claimed': True, 'claimed_at': 1788680235, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1788680137, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 42389, 'external_idstring': None, 'reason': "The AnyBranchScheduler scheduler named 'dev' triggered this build", 'submitted_at': 1788680137, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': None, 'parent_relationship': None, 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 12731, 'branch': 'master', 'revision': 'a2efdf1197be8132674b90fe9cf4761df39752ed', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1788680137, 'patch': None}]}, 'parentbuild': None, 'parentbuilder': None, 'builder': {'builderid': 36, 'name': 'dev-win-arm64', 'masterids': [1], 'description': None, 'description_format': None, 'description_html': None, 'projectid': None, 'tags': []}, 'url': 'https://dolphin.ci/#/builders/36/builds/1533'}, 'type': 'raw_bb_hook'}
2026-09-06T07:37:15.636743 {'source': 'webserver', 'raw': {'buildid': 187831, 'number': 1533, 'builderid': 36, 'buildrequestid': 188300, 'workerid': 4, 'masterid': 1, 'started_at': 1788680235, 'complete_at': None, 'locks_duration_s': 0, 'complete': False, 'state_string': 'starting', 'results': None, 'properties': {'description': ['Merge pull request #14847 from linkmauve/pe-token-2-bytes\n\nRevert "VideoCommon: Use correct size for PE token"', 'Change'], 'buildnumber': [1533, 'Build'], 'project': ['', 'Build'], 'branchname': ['master', 'Change'], 'buildername': ['dev-win-arm64', 'Builder'], 'revision': ['a2efdf1197be8132674b90fe9cf4761df39752ed', 'Build'], 'author': ['linkmauve', 'Change'], 'workername': ['windows', 'Worker'], 'codebase': ['', 'Build'], 'shortrev': ['2606-364', 'Change'], 'builderid': [36, 'Builder'], 'repository': ['', 'Build'], 'scheduler': ['dev', 'Scheduler'], 'branch': ['master', 'Build'], 'owners': [['linkmauve'], 'Build']}, 'buildrequest': {'buildrequestid': 188300, 'buildsetid': 42389, 'builderid': 36, 'priority': 0, 'claimed': True, 'claimed_at': 1788680235, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1788680137, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 42389, 'external_idstring': None, 'reason': "The AnyBranchScheduler scheduler named 'dev' triggered this build", 'submitted_at': 1788680137, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': None, 'parent_relationship': None, 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 12731, 'branch': 'master', 'revision': 'a2efdf1197be8132674b90fe9cf4761df39752ed', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1788680137, 'patch': None}]}, 'parentbuild': None, 'parentbuilder': None, 'builder': {'builderid': 36, 'name': 'dev-win-arm64', 'masterids': [1], 'description': None, 'description_format': None, 'description_html': None, 'projectid': None, 'tags': []}, 'url': 'https://dolphin.ci/#/builders/36/builds/1533'}, 'type': 'raw_bb_hook'}
2026-09-06T07:37:15.470555 {'source': 'webserver', 'raw': {'buildid': 187827, 'number': 1534, 'builderid': 37, 'buildrequestid': 188301, 'workerid': 4, 'masterid': 1, 'started_at': 1788680137, 'complete_at': 1788680235, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {'branchname': ['master', 'Change'], 'scheduler': ['dev', 'Scheduler'], 'branch': ['master', 'Build'], 'got_revision': ['a2efdf1197be8132674b90fe9cf4761df39752ed', 'GitNoBranch'], 'sln_exists': ['false', 'SetPropertyFromCommand Step'], 'shortrev': ['2606-364', 'Change'], 'author': ['linkmauve', 'Change'], 'description': ['Merge pull request #14847 from linkmauve/pe-token-2-bytes\n\nRevert "VideoCommon: Use correct size for PE token"', 'Change'], 'buildername': ['dev-win-x64', 'Builder'], 'builderid': [37, 'Builder'], 'workername': ['windows', 'Worker'], 'buildnumber': [1534, 'Build'], 'revision': ['a2efdf1197be8132674b90fe9cf4761df39752ed', 'Build'], 'repository': ['', 'Build'], 'codebase': ['', 'Build'], 'project': ['', 'Build'], 'owners': [['linkmauve'], 'Build'], 'basedir': ['c:\\buildbot', 'Worker'], 'builddir': ['c:\\buildbot\\dev-win-x64', 'Worker'], 'warnings-count': [7, 'WarningCountingShellCommand'], 'build_url': ['https://dl.dolphin-emu.org/builds/12/90/dolphin-master-2606-364-x64.7z', 'SetProperty']}, 'buildrequest': {'buildrequestid': 188301, 'buildsetid': 42389, 'builderid': 37, 'priority': 0, 'claimed': True, 'claimed_at': 1788680137, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1788680137, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 42389, 'external_idstring': None, 'reason': "The AnyBranchScheduler scheduler named 'dev' triggered this build", 'submitted_at': 1788680137, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': None, 'parent_relationship': None, 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 12731, 'branch': 'master', 'revision': 'a2efdf1197be8132674b90fe9cf4761df39752ed', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1788680137, 'patch': None}]}, 'parentbuild': None, 'parentbuilder': None, 'builder': {'builderid': 37, 'name': 'dev-win-x64', 'masterids': [1], 'description': None, 'description_format': None, 'description_html': None, 'projectid': None, 'tags': []}, 'url': 'https://dolphin.ci/#/builders/37/builds/1534'}, 'type': 'raw_bb_hook'}
2026-09-06T07:36:25.854253 {'source': 'webserver', 'raw': {'buildid': 187824, 'number': 9192, 'builderid': 10, 'buildrequestid': 188291, 'workerid': 5, 'masterid': 1, 'started_at': 1788679338, 'complete_at': 1788680170, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {'headrev': ['3e95d0fc16c53f3c51b6469c9419d05ca4b3401a', 'Trigger'], 'repo': ['dolphin-emu/dolphin', 'Trigger'], 'buildername': ['pr-fifoci-ogl-lin-mesa', 'Builder'], 'buildnumber': [9192, 'Build'], 'repository': ['', 'Build'], 'warnings-count': [1, 'WarningCountingShellCommand'], 'branchname': ['pr-14847', 'Trigger'], 'baserev': ['982e8d183d8df64b641a9809ec2f3b193f94e5e5', 'Change'], 'shortrev': ['3e95d0', 'Trigger'], 'pr_id': [14847, 'Trigger'], 'scheduler': ['pr-fifoci-lin', 'Scheduler'], 'builderid': [10, 'Builder'], 'workername': ['altair-fifoci', 'Worker'], 'branch': ['refs/pull/14847/head', 'Build'], 'revision': ['3e95d0fc16c53f3c51b6469c9419d05ca4b3401a', 'Build'], 'codebase': ['', 'Build'], 'project': ['', 'Build'], 'owners': [['Central (on behalf of: linkmauve)'], 'Build'], 'basedir': ['/var/lib/fifoci-worker/worker', 'Worker'], 'builddir': ['/var/lib/fifoci-worker/worker/pr-fifoci-ogl-lin-mesa', 'Worker'], 'got_revision': ['3e95d0fc16c53f3c51b6469c9419d05ca4b3401a', 'GitNoBranch']}, 'buildrequest': {'buildrequestid': 188291, 'buildsetid': 42386, 'builderid': 10, 'priority': 0, 'claimed': True, 'claimed_at': 1788679338, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1788678693, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 42386, 'external_idstring': None, 'reason': "The Triggerable scheduler named 'pr-fifoci-lin' triggered this build", 'submitted_at': 1788678693, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': 187818, 'parent_relationship': 'Triggered from', 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 12730, 'branch': 'refs/pull/14847/head', 'revision': '3e95d0fc16c53f3c51b6469c9419d05ca4b3401a', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1788678461, 'patch': None}]}, 'parentbuild': {'buildid': 187818, 'number': 10482, 'builderid': 27, 'buildrequestid': 188287, 'workerid': 10, 'masterid': 1, 'started_at': 1788678466, 'complete_at': 1788678693, '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/9192'}, 'type': 'raw_bb_hook'}
2026-09-06T07:36:11.142928 {'source': 'webserver', 'raw': {'buildid': 187830, 'number': 1370, 'builderid': 40, 'buildrequestid': 188304, 'workerid': 5, 'masterid': 1, 'started_at': 1788680170, 'complete_at': None, 'locks_duration_s': 0, 'complete': False, 'state_string': 'starting', 'results': None, 'properties': {'description': ['Merge pull request #14847 from linkmauve/pe-token-2-bytes\n\nRevert "VideoCommon: Use correct size for PE token"', 'Change'], 'revision': ['a2efdf1197be8132674b90fe9cf4761df39752ed', 'Build'], 'owners': [['linkmauve'], 'Build'], 'branchname': ['master', 'Change'], 'shortrev': ['2606-364', 'Change'], 'author': ['linkmauve', 'Change'], 'scheduler': ['dev', 'Scheduler'], 'buildername': ['fifoci-vk-lin-mesa', 'Builder'], 'builderid': [40, 'Builder'], 'workername': ['altair-fifoci', 'Worker'], 'buildnumber': [1370, 'Build'], 'branch': ['master', 'Build'], 'repository': ['', 'Build'], 'codebase': ['', 'Build'], 'project': ['', 'Build']}, 'buildrequest': {'buildrequestid': 188304, 'buildsetid': 42389, 'builderid': 40, 'priority': 0, 'claimed': True, 'claimed_at': 1788680170, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1788680137, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 42389, 'external_idstring': None, 'reason': "The AnyBranchScheduler scheduler named 'dev' triggered this build", 'submitted_at': 1788680137, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': None, 'parent_relationship': None, 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 12731, 'branch': 'master', 'revision': 'a2efdf1197be8132674b90fe9cf4761df39752ed', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1788680137, 'patch': None}]}, 'parentbuild': None, 'parentbuilder': None, 'builder': {'builderid': 40, 'name': 'fifoci-vk-lin-mesa', 'masterids': [1], 'description': None, 'description_format': None, 'description_html': None, 'projectid': None, 'tags': []}, 'url': 'https://dolphin.ci/#/builders/40/builds/1370'}, 'type': 'raw_bb_hook'}
2026-09-06T07:35:37.782837 {'source': 'webserver', 'raw': {'buildid': 187829, 'number': 1324, 'builderid': 45, 'buildrequestid': 188305, 'workerid': 14, 'masterid': 1, 'started_at': 1788680137, 'complete_at': None, 'locks_duration_s': 0, 'complete': False, 'state_string': 'starting', 'results': None, 'properties': {'description': ['Merge pull request #14847 from linkmauve/pe-token-2-bytes\n\nRevert "VideoCommon: Use correct size for PE token"', 'Change'], 'builderid': [45, 'Builder'], 'workername': ['deneb-flatpak', 'Worker'], 'project': ['', 'Build'], 'owners': [['linkmauve'], 'Build'], 'branchname': ['master', 'Change'], 'shortrev': ['2606-364', 'Change'], 'author': ['linkmauve', 'Change'], 'scheduler': ['dev', 'Scheduler'], 'buildername': ['dev-flatpak-arm64', 'Builder'], 'buildnumber': [1324, 'Build'], 'branch': ['master', 'Build'], 'revision': ['a2efdf1197be8132674b90fe9cf4761df39752ed', 'Build'], 'repository': ['', 'Build'], 'codebase': ['', 'Build']}, 'buildrequest': {'buildrequestid': 188305, 'buildsetid': 42389, 'builderid': 45, 'priority': 0, 'claimed': True, 'claimed_at': 1788680137, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1788680137, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 42389, 'external_idstring': None, 'reason': "The AnyBranchScheduler scheduler named 'dev' triggered this build", 'submitted_at': 1788680137, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': None, 'parent_relationship': None, 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 12731, 'branch': 'master', 'revision': 'a2efdf1197be8132674b90fe9cf4761df39752ed', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1788680137, 'patch': None}]}, 'parentbuild': None, 'parentbuilder': None, 'builder': {'builderid': 45, 'name': 'dev-flatpak-arm64', 'masterids': [1], 'description': None, 'description_format': None, 'description_html': None, 'projectid': None, 'tags': []}, 'url': 'https://dolphin.ci/#/builders/45/builds/1324'}, 'type': 'raw_bb_hook'}
Recent 'raw_gh_hook' events
2026-09-06T08:51:36.343774 {'source': 'webserver', 'gh_type': 'issue_comment', 'raw': {'action': 'edited', 'changes': {'body': {'from': "@phire Please keep in mind that we're close to a release. It's best to hold off on merging this kind of PR until after the release."}}, 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14789', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14789/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14789/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14789/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14789', 'id': 5050641735, 'node_id': 'PR_kwDOALCn2M76CtH8', 'number': 14789, 'title': 'Optimize vertex_shader_uid_data down to 28 bytes', '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': 'closed', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 2, 'created_at': '2026-08-03T14:01:46Z', 'updated_at': '2026-09-06T08:50:40Z', 'closed_at': '2026-09-06T02:37:58Z', '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/14789', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14789', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14789.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14789.patch', 'merged_at': '2026-09-06T02:37:58Z'}, 'body': "This started as a fixing a misalignment issue, but I got carried away. Was originally 41 bytes (overflowing it's expected 40 bytes by 1 bit).\r\n\r\nNow it's 27 bytes with 8 bits of padding (ready for future expansion).\r\n\r\nThe savings come from:\r\n - Removing UV usage from components, it can be reconstructed from texcoord_elem_count (saved 8 bits)\r\n - Removed the 8 unused bits from texMtxInfo_n_projection (saved 8 bits)\r\n - Removing unused bit from from start of components (saved 1 bit)\r\n - Removed extra bit from inputform, texgentype and sourcerow\r\n - packed texMtxInfo_n_projection and texcoord_elem_count back into the per texgen info space freed up above. (saved 24 bits)\r\n - Overlayed postMtx index and Emboss mode shifts into a union based on texgentype (saved 56 bits)\r\n - Move to a single-bit union tag, freeing up an extra bit for regular texgens.\r\n - Move PotMtx normalize into the freed up space (saved 8 bits)\r\n\r\nTotal savings: 105 bits of data\r\n\r\nEDIT: Even worse, MSVC wasn't respecting pack(1) for bitfields at all, so on windows this struct was actually quite a bit larger. Something like 80 bytes, if not more. So this PR cuts vertex UID size by almost 75%. \r\n\r\nFixed this by dropping the size of any enums used in these bit structs to u8. Our Common::BitField allows for the underlying type to be explicitly specified to something larger.\r\n\r\nmsvc's bitfield packing appears to be completely braindead, can't mix sizes at all. (fortunately, bool counts as u8) ", 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14789/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/14789/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5558142850', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14789#issuecomment-5558142850', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14789', 'id': 5558142850, 'node_id': 'IC_kwDOALCn2M8AAAABS0qHgg', '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-09-06T08:50:39Z', 'updated_at': '2026-09-06T08:51:35Z', 'body': "@phire Please keep in mind that we're close to a release. It's best to hold off on merging this kind of PR until after the release.\r\n\r\nThis PR isn't so big that we have reason to revert it or anything, I just wanted to let you know so you keep it in mind going forward.", 'author_association': 'MEMBER', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5558142850/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-09-06T08:30:27Z', 'pushed_at': '2026-09-06T07:35:33Z', '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': 559864, 'stargazers_count': 15487, 'watchers_count': 15487, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3238, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 460, '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': 3238, 'open_issues': 460, 'watchers': 15487, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'JosJuice', 'id': 6716818, 'node_id': 'MDQ6VXNlcjY3MTY4MTg=', 'avatar_url': 'https://avatars.githubusercontent.com/u/6716818?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/JosJuice', 'html_url': 'https://github.com/JosJuice', 'followers_url': 'https://api.github.com/users/JosJuice/followers', 'following_url': 'https://api.github.com/users/JosJuice/following{/other_user}', 'gists_url': 'https://api.github.com/users/JosJuice/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/JosJuice/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/JosJuice/subscriptions', 'organizations_url': 'https://api.github.com/users/JosJuice/orgs', 'repos_url': 'https://api.github.com/users/JosJuice/repos', 'events_url': 'https://api.github.com/users/JosJuice/events{/privacy}', 'received_events_url': 'https://api.github.com/users/JosJuice/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'raw_gh_hook'}
2026-09-06T08:50:41.954266 {'source': 'webserver', 'gh_type': 'issue_comment', 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14789', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14789/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14789/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14789/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14789', 'id': 5050641735, 'node_id': 'PR_kwDOALCn2M76CtH8', 'number': 14789, 'title': 'Optimize vertex_shader_uid_data down to 28 bytes', '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': 'closed', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 2, 'created_at': '2026-08-03T14:01:46Z', 'updated_at': '2026-09-06T08:50:40Z', 'closed_at': '2026-09-06T02:37:58Z', '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/14789', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14789', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14789.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14789.patch', 'merged_at': '2026-09-06T02:37:58Z'}, 'body': "This started as a fixing a misalignment issue, but I got carried away. Was originally 41 bytes (overflowing it's expected 40 bytes by 1 bit).\r\n\r\nNow it's 27 bytes with 8 bits of padding (ready for future expansion).\r\n\r\nThe savings come from:\r\n - Removing UV usage from components, it can be reconstructed from texcoord_elem_count (saved 8 bits)\r\n - Removed the 8 unused bits from texMtxInfo_n_projection (saved 8 bits)\r\n - Removing unused bit from from start of components (saved 1 bit)\r\n - Removed extra bit from inputform, texgentype and sourcerow\r\n - packed texMtxInfo_n_projection and texcoord_elem_count back into the per texgen info space freed up above. (saved 24 bits)\r\n - Overlayed postMtx index and Emboss mode shifts into a union based on texgentype (saved 56 bits)\r\n - Move to a single-bit union tag, freeing up an extra bit for regular texgens.\r\n - Move PotMtx normalize into the freed up space (saved 8 bits)\r\n\r\nTotal savings: 105 bits of data\r\n\r\nEDIT: Even worse, MSVC wasn't respecting pack(1) for bitfields at all, so on windows this struct was actually quite a bit larger. Something like 80 bytes, if not more. So this PR cuts vertex UID size by almost 75%. \r\n\r\nFixed this by dropping the size of any enums used in these bit structs to u8. Our Common::BitField allows for the underlying type to be explicitly specified to something larger.\r\n\r\nmsvc's bitfield packing appears to be completely braindead, can't mix sizes at all. (fortunately, bool counts as u8) ", 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14789/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/14789/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5558142850', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14789#issuecomment-5558142850', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14789', 'id': 5558142850, 'node_id': 'IC_kwDOALCn2M8AAAABS0qHgg', '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-09-06T08:50:39Z', 'updated_at': '2026-09-06T08:50:39Z', 'body': "@phire Please keep in mind that we're close to a release. It's best to hold off on merging this kind of PR until after the release.", 'author_association': 'MEMBER', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5558142850/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-09-06T08:30:27Z', 'pushed_at': '2026-09-06T07:35:33Z', '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': 559864, 'stargazers_count': 15487, 'watchers_count': 15487, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3238, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 460, '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': 3238, 'open_issues': 460, 'watchers': 15487, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'JosJuice', 'id': 6716818, 'node_id': 'MDQ6VXNlcjY3MTY4MTg=', 'avatar_url': 'https://avatars.githubusercontent.com/u/6716818?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/JosJuice', 'html_url': 'https://github.com/JosJuice', 'followers_url': 'https://api.github.com/users/JosJuice/followers', 'following_url': 'https://api.github.com/users/JosJuice/following{/other_user}', 'gists_url': 'https://api.github.com/users/JosJuice/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/JosJuice/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/JosJuice/subscriptions', 'organizations_url': 'https://api.github.com/users/JosJuice/orgs', 'repos_url': 'https://api.github.com/users/JosJuice/repos', 'events_url': 'https://api.github.com/users/JosJuice/events{/privacy}', 'received_events_url': 'https://api.github.com/users/JosJuice/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'raw_gh_hook'}
2026-09-06T07:35:36.505324 {'source': 'webserver', 'gh_type': 'check_suite', 'raw': {'action': 'requested', 'check_suite': {'id': 92176745357, 'node_id': 'CS_kwDOALCn2M8AAAAVdimDjQ', 'head_branch': 'master', 'head_sha': 'a2efdf1197be8132674b90fe9cf4761df39752ed', 'status': 'queued', 'conclusion': None, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/check-suites/92176745357', 'before': '982e8d183d8df64b641a9809ec2f3b193f94e5e5', 'after': 'a2efdf1197be8132674b90fe9cf4761df39752ed', 'pull_requests': [{'url': 'https://api.github.com/repos/MarioPartyNetplay/Dolphin-MPN/pulls/224', 'id': 4391850780, 'number': 224, 'head': {'ref': 'master', 'sha': 'a2efdf1197be8132674b90fe9cf4761df39752ed', 'repo': {'id': 11577304, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'name': 'dolphin'}}, 'base': {'ref': 'master', 'sha': '3e4a703265359301aed20e50fb62036e22928f79', 'repo': {'id': 623850328, 'url': 'https://api.github.com/repos/MarioPartyNetplay/Dolphin-MPN', 'name': 'Dolphin-MPN'}}}, {'url': 'https://api.github.com/repos/Faster-Brawl/dolphin/pulls/5', 'id': 1222541325, 'number': 5, 'head': {'ref': 'master', 'sha': 'a2efdf1197be8132674b90fe9cf4761df39752ed', 'repo': {'id': 11577304, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'name': 'dolphin'}}, 'base': {'ref': 'master', 'sha': 'eb9e232680dfdc04ec2adab05dbc530b1e707fc9', 'repo': {'id': 577809188, 'url': 'https://api.github.com/repos/Faster-Brawl/dolphin', 'name': 'dolphin'}}}, {'url': 'https://api.github.com/repos/dirextric-auto/dolphin/pulls/1', 'id': 571486662, 'number': 1, 'head': {'ref': 'master', 'sha': 'a2efdf1197be8132674b90fe9cf4761df39752ed', 'repo': {'id': 11577304, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'name': 'dolphin'}}, 'base': {'ref': 'master', 'sha': '1e71904cb9930eccc036e2ce2360beaa746befa7', 'repo': {'id': 337848960, 'url': 'https://api.github.com/repos/dirextric-auto/dolphin', 'name': 'dolphin'}}}, {'url': 'https://api.github.com/repos/zurgeg/dolphin-vr-no-ovr/pulls/1', 'id': 518053317, 'number': 1, 'head': {'ref': 'master', 'sha': 'a2efdf1197be8132674b90fe9cf4761df39752ed', 'repo': {'id': 11577304, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'name': 'dolphin'}}, 'base': {'ref': 'VR-Hydra', 'sha': 'ea9f95955e5335cc238b2f9c5a0a6dfdc8698aec', 'repo': {'id': 311469400, 'url': 'https://api.github.com/repos/zurgeg/dolphin-vr-no-ovr', 'name': 'dolphin-vr-no-ovr'}}}, {'url': 'https://api.github.com/repos/weihuoya/dolphin/pulls/1', 'id': 400884538, 'number': 1, 'head': {'ref': 'master', 'sha': 'a2efdf1197be8132674b90fe9cf4761df39752ed', 'repo': {'id': 11577304, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'name': 'dolphin'}}, 'base': {'ref': 'master', 'sha': '0f4c971326ae9389b3ad55b0fefacb708d148f4d', 'repo': {'id': 143011855, 'url': 'https://api.github.com/repos/weihuoya/dolphin', 'name': 'dolphin'}}}], 'app': {'id': 49947, 'client_id': 'Iv1.1fcaea7644d8b727', 'slug': 'dolphin-ci', 'node_id': 'MDM6QXBwNDk5NDc=', 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'name': 'Dolphin CI', 'description': 'Continuous Integration setup for [dolphin-emu.org](https://dolphin-emu.org/).', 'external_url': 'https://github.com/dolphin-emu', 'html_url': 'https://github.com/apps/dolphin-ci', 'created_at': '2019-12-26T22:26:07Z', 'updated_at': '2019-12-26T22:33:19Z', 'permissions': {'checks': 'write', 'contents': 'read', 'issues': 'write', 'members': 'read', 'metadata': 'read', 'pull_requests': 'write', 'statuses': 'write'}, 'events': ['check_run', 'commit_comment', 'issue_comment', 'pull_request', 'pull_request_review', 'pull_request_review_comment', 'push']}, 'created_at': '2026-09-06T07:35:35Z', 'updated_at': '2026-09-06T07:35:35Z', 'rerequestable': True, 'runs_rerequestable': True, 'latest_check_runs_count': 0, 'check_runs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/check-suites/92176745357/check-runs', 'head_commit': {'id': 'a2efdf1197be8132674b90fe9cf4761df39752ed', 'tree_id': '9f4fec2662ce83cdc0291685236d7dda96920283', 'message': 'Merge pull request #14847 from linkmauve/pe-token-2-bytes\n\nRevert "VideoCommon: Use correct size for PE token"', 'timestamp': '2026-09-06T07:35:33Z', 'author': {'name': 'linkmauve', 'email': 'linkmauve@linkmauve.fr'}, 'committer': {'name': 'GitHub', 'email': 'noreply@github.com'}}}, '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-09-06T06:48:16Z', 'pushed_at': '2026-09-06T07:35:33Z', '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': 559861, 'stargazers_count': 15485, 'watchers_count': 15485, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3238, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 460, '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': 3238, 'open_issues': 460, 'watchers': 15485, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'linkmauve', 'id': 7755816, 'node_id': 'MDQ6VXNlcjc3NTU4MTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7755816?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/linkmauve', 'html_url': 'https://github.com/linkmauve', 'followers_url': 'https://api.github.com/users/linkmauve/followers', 'following_url': 'https://api.github.com/users/linkmauve/following{/other_user}', 'gists_url': 'https://api.github.com/users/linkmauve/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/linkmauve/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/linkmauve/subscriptions', 'organizations_url': 'https://api.github.com/users/linkmauve/orgs', 'repos_url': 'https://api.github.com/users/linkmauve/repos', 'events_url': 'https://api.github.com/users/linkmauve/events{/privacy}', 'received_events_url': 'https://api.github.com/users/linkmauve/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'raw_gh_hook'}
2026-09-06T07:35:35.637812 {'source': 'webserver', 'gh_type': 'push', 'raw': {'ref': 'refs/heads/master', 'before': '982e8d183d8df64b641a9809ec2f3b193f94e5e5', 'after': 'a2efdf1197be8132674b90fe9cf4761df39752ed', 'repository': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'name': 'dolphin-emu', 'email': None, 'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': 1374484077, 'updated_at': '2026-09-06T06:48:16Z', 'pushed_at': 1788680133, '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': 559861, 'stargazers_count': 15485, 'watchers_count': 15485, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': True, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3238, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 460, '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': 3238, 'open_issues': 460, 'watchers': 15485, 'default_branch': 'master', 'stargazers': 15485, 'master_branch': 'master', 'organization': 'dolphin-emu', 'custom_properties': {}}, 'pusher': {'name': 'linkmauve', 'email': 'linkmauve@linkmauve.fr'}, 'forced': False, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'linkmauve', 'id': 7755816, 'node_id': 'MDQ6VXNlcjc3NTU4MTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7755816?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/linkmauve', 'html_url': 'https://github.com/linkmauve', 'followers_url': 'https://api.github.com/users/linkmauve/followers', 'following_url': 'https://api.github.com/users/linkmauve/following{/other_user}', 'gists_url': 'https://api.github.com/users/linkmauve/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/linkmauve/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/linkmauve/subscriptions', 'organizations_url': 'https://api.github.com/users/linkmauve/orgs', 'repos_url': 'https://api.github.com/users/linkmauve/repos', 'events_url': 'https://api.github.com/users/linkmauve/events{/privacy}', 'received_events_url': 'https://api.github.com/users/linkmauve/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created': False, 'deleted': False, 'base_ref': None, 'compare': 'https://github.com/dolphin-emu/dolphin/compare/982e8d183d8d...a2efdf1197be', 'commits': [{'id': '3e95d0fc16c53f3c51b6469c9419d05ca4b3401a', 'tree_id': '9f4fec2662ce83cdc0291685236d7dda96920283', 'distinct': False, 'message': 'Revert "VideoCommon: Use correct size for PE token"\n\nThis reverts commit e4349ae1791dec688d91c6813eeadf049a8c73ec.\n\nThe 0x prefix is included in the characters count (unlike e.g. in Rust\nwhere there is no 0x prefix), so that commit was wrong. Sorry about\nthat!\n\nFixes regression introduced in #14842.', 'timestamp': '2026-09-06T09:06:48+02:00', 'url': 'https://github.com/dolphin-emu/dolphin/commit/3e95d0fc16c53f3c51b6469c9419d05ca4b3401a', 'author': {'name': 'Link Mauve', 'email': 'linkmauve@linkmauve.fr', 'date': '2026-09-06T09:04:49+02:00', 'username': 'linkmauve'}, 'committer': {'name': 'Link Mauve', 'email': 'linkmauve@linkmauve.fr', 'date': '2026-09-06T09:06:48+02:00', 'username': 'linkmauve'}, 'added': [], 'removed': [], 'modified': ['Source/Core/VideoCommon/BPStructs.cpp']}, {'id': 'a2efdf1197be8132674b90fe9cf4761df39752ed', 'tree_id': '9f4fec2662ce83cdc0291685236d7dda96920283', 'distinct': True, 'message': 'Merge pull request #14847 from linkmauve/pe-token-2-bytes\n\nRevert "VideoCommon: Use correct size for PE token"', 'timestamp': '2026-09-06T09:35:33+02:00', 'url': 'https://github.com/dolphin-emu/dolphin/commit/a2efdf1197be8132674b90fe9cf4761df39752ed', 'author': {'name': 'linkmauve', 'email': 'linkmauve@linkmauve.fr', 'date': '2026-09-06T09:35:33+02:00', 'username': 'linkmauve'}, 'committer': {'name': 'GitHub', 'email': 'noreply@github.com', 'date': '2026-09-06T09:35:33+02:00', 'username': 'web-flow'}, 'added': [], 'removed': [], 'modified': ['Source/Core/VideoCommon/BPStructs.cpp']}], 'head_commit': {'id': 'a2efdf1197be8132674b90fe9cf4761df39752ed', 'tree_id': '9f4fec2662ce83cdc0291685236d7dda96920283', 'distinct': True, 'message': 'Merge pull request #14847 from linkmauve/pe-token-2-bytes\n\nRevert "VideoCommon: Use correct size for PE token"', 'timestamp': '2026-09-06T09:35:33+02:00', 'url': 'https://github.com/dolphin-emu/dolphin/commit/a2efdf1197be8132674b90fe9cf4761df39752ed', 'author': {'name': 'linkmauve', 'email': 'linkmauve@linkmauve.fr', 'date': '2026-09-06T09:35:33+02:00', 'username': 'linkmauve'}, 'committer': {'name': 'GitHub', 'email': 'noreply@github.com', 'date': '2026-09-06T09:35:33+02:00', 'username': 'web-flow'}, 'added': [], 'removed': [], 'modified': ['Source/Core/VideoCommon/BPStructs.cpp']}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'raw_gh_hook'}
2026-09-06T07:35:35.332661 {'source': 'webserver', 'gh_type': 'pull_request', 'raw': {'action': 'closed', 'number': 14847, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14847', 'id': 4455007426, 'node_id': 'PR_kwDOALCn2M8AAAABCYoEwg', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14847', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14847.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14847.patch', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14847', 'number': 14847, 'state': 'closed', 'locked': False, 'title': 'Revert "VideoCommon: Use correct size for PE token"', 'user': {'login': 'linkmauve', 'id': 7755816, 'node_id': 'MDQ6VXNlcjc3NTU4MTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7755816?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/linkmauve', 'html_url': 'https://github.com/linkmauve', 'followers_url': 'https://api.github.com/users/linkmauve/followers', 'following_url': 'https://api.github.com/users/linkmauve/following{/other_user}', 'gists_url': 'https://api.github.com/users/linkmauve/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/linkmauve/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/linkmauve/subscriptions', 'organizations_url': 'https://api.github.com/users/linkmauve/orgs', 'repos_url': 'https://api.github.com/users/linkmauve/repos', 'events_url': 'https://api.github.com/users/linkmauve/events{/privacy}', 'received_events_url': 'https://api.github.com/users/linkmauve/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': 'This reverts commit e4349ae1791dec688d91c6813eeadf049a8c73ec.\r\n\r\nThe `0x` prefix is included in the characters count (unlike e.g. in Rust where there is no `0x` prefix), so that commit was wrong. Sorry about that!\r\n\r\nFixes regression introduced in #14842.', 'created_at': '2026-09-06T07:07:30Z', 'updated_at': '2026-09-06T07:35:33Z', 'closed_at': '2026-09-06T07:35:33Z', 'merged_at': '2026-09-06T07:35:33Z', 'merge_commit_sha': 'a2efdf1197be8132674b90fe9cf4761df39752ed', 'assignees': [], 'requested_reviewers': [], 'requested_teams': [], 'labels': [], 'milestone': None, 'draft': False, 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14847/commits', 'review_comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14847/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/14847/comments', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/3e95d0fc16c53f3c51b6469c9419d05ca4b3401a', 'head': {'label': 'linkmauve:pe-token-2-bytes', 'ref': 'pe-token-2-bytes', 'sha': '3e95d0fc16c53f3c51b6469c9419d05ca4b3401a', 'user': {'login': 'linkmauve', 'id': 7755816, 'node_id': 'MDQ6VXNlcjc3NTU4MTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7755816?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/linkmauve', 'html_url': 'https://github.com/linkmauve', 'followers_url': 'https://api.github.com/users/linkmauve/followers', 'following_url': 'https://api.github.com/users/linkmauve/following{/other_user}', 'gists_url': 'https://api.github.com/users/linkmauve/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/linkmauve/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/linkmauve/subscriptions', 'organizations_url': 'https://api.github.com/users/linkmauve/orgs', 'repos_url': 'https://api.github.com/users/linkmauve/repos', 'events_url': 'https://api.github.com/users/linkmauve/events{/privacy}', 'received_events_url': 'https://api.github.com/users/linkmauve/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 34171638, 'node_id': 'MDEwOlJlcG9zaXRvcnkzNDE3MTYzOA==', 'name': 'dolphin', 'full_name': 'linkmauve/dolphin', 'private': False, 'owner': {'login': 'linkmauve', 'id': 7755816, 'node_id': 'MDQ6VXNlcjc3NTU4MTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7755816?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/linkmauve', 'html_url': 'https://github.com/linkmauve', 'followers_url': 'https://api.github.com/users/linkmauve/followers', 'following_url': 'https://api.github.com/users/linkmauve/following{/other_user}', 'gists_url': 'https://api.github.com/users/linkmauve/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/linkmauve/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/linkmauve/subscriptions', 'organizations_url': 'https://api.github.com/users/linkmauve/orgs', 'repos_url': 'https://api.github.com/users/linkmauve/repos', 'events_url': 'https://api.github.com/users/linkmauve/events{/privacy}', 'received_events_url': 'https://api.github.com/users/linkmauve/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/linkmauve/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/linkmauve/dolphin', 'forks_url': 'https://api.github.com/repos/linkmauve/dolphin/forks', 'keys_url': 'https://api.github.com/repos/linkmauve/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/linkmauve/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/linkmauve/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/linkmauve/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/linkmauve/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/linkmauve/dolphin/events', 'assignees_url': 'https://api.github.com/repos/linkmauve/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/linkmauve/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/linkmauve/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/linkmauve/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/linkmauve/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/linkmauve/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/linkmauve/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/linkmauve/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/linkmauve/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/linkmauve/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/linkmauve/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/linkmauve/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/linkmauve/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/linkmauve/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/linkmauve/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/linkmauve/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/linkmauve/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/linkmauve/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/linkmauve/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/linkmauve/dolphin/merges', 'archive_url': 'https://api.github.com/repos/linkmauve/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/linkmauve/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/linkmauve/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/linkmauve/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/linkmauve/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/linkmauve/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/linkmauve/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/linkmauve/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/linkmauve/dolphin/deployments', 'created_at': '2015-04-18T15:45:11Z', 'updated_at': '2023-11-07T12:39:33Z', 'pushed_at': '2026-09-06T07:07:08Z', 'git_url': 'git://github.com/linkmauve/dolphin.git', 'ssh_url': 'git@github.com:linkmauve/dolphin.git', 'clone_url': 'https://github.com/linkmauve/dolphin.git', 'svn_url': 'https://github.com/linkmauve/dolphin', 'homepage': 'https://dolphin-emu.org/', 'size': 521888, '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': 'gpl-2.0', 'name': 'GNU General Public License v2.0', 'spdx_id': 'GPL-2.0', 'url': 'https://api.github.com/licenses/gpl-2.0', 'node_id': 'MDc6TGljZW5zZTg='}, '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': '982e8d183d8df64b641a9809ec2f3b193f94e5e5', '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-09-06T06:48:16Z', 'pushed_at': '2026-09-06T05:04:48Z', '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': 559861, 'stargazers_count': 15485, 'watchers_count': 15485, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3238, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 460, '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': 3238, 'open_issues': 460, 'watchers': 15485, '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/14847'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14847'}, 'issue': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14847'}, 'comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14847/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14847/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/14847/commits'}, 'statuses': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/3e95d0fc16c53f3c51b6469c9419d05ca4b3401a'}}, 'author_association': 'MEMBER', 'auto_merge': None, 'assignee': None, 'active_lock_reason': None, 'merged': True, 'mergeable': None, 'rebaseable': None, 'mergeable_state': 'unknown', 'merged_by': {'login': 'linkmauve', 'id': 7755816, 'node_id': 'MDQ6VXNlcjc3NTU4MTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7755816?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/linkmauve', 'html_url': 'https://github.com/linkmauve', 'followers_url': 'https://api.github.com/users/linkmauve/followers', 'following_url': 'https://api.github.com/users/linkmauve/following{/other_user}', 'gists_url': 'https://api.github.com/users/linkmauve/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/linkmauve/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/linkmauve/subscriptions', 'organizations_url': 'https://api.github.com/users/linkmauve/orgs', 'repos_url': 'https://api.github.com/users/linkmauve/repos', 'events_url': 'https://api.github.com/users/linkmauve/events{/privacy}', 'received_events_url': 'https://api.github.com/users/linkmauve/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'comments': 0, 'review_comments': 0, 'maintainer_can_modify': False, 'commits': 1, 'additions': 2, 'deletions': 2, 'changed_files': 1}, 'repository': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-09-06T06:48:16Z', 'pushed_at': '2026-09-06T05:04:48Z', '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': 559861, 'stargazers_count': 15485, 'watchers_count': 15485, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3238, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 460, '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': 3238, 'open_issues': 460, 'watchers': 15485, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'linkmauve', 'id': 7755816, 'node_id': 'MDQ6VXNlcjc3NTU4MTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7755816?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/linkmauve', 'html_url': 'https://github.com/linkmauve', 'followers_url': 'https://api.github.com/users/linkmauve/followers', 'following_url': 'https://api.github.com/users/linkmauve/following{/other_user}', 'gists_url': 'https://api.github.com/users/linkmauve/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/linkmauve/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/linkmauve/subscriptions', 'organizations_url': 'https://api.github.com/users/linkmauve/orgs', 'repos_url': 'https://api.github.com/users/linkmauve/repos', 'events_url': 'https://api.github.com/users/linkmauve/events{/privacy}', 'received_events_url': 'https://api.github.com/users/linkmauve/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'raw_gh_hook'}
2026-09-06T07:08:06.962819 {'source': 'webserver', 'gh_type': 'pull_request_review', 'raw': {'action': 'submitted', 'review': {'id': 5124520594, 'node_id': 'PRR_kwDOALCn2M8AAAABMXH6kg', 'user': {'login': 'Pokechu22', 'id': 8334194, 'node_id': 'MDQ6VXNlcjgzMzQxOTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/8334194?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/Pokechu22', 'html_url': 'https://github.com/Pokechu22', 'followers_url': 'https://api.github.com/users/Pokechu22/followers', 'following_url': 'https://api.github.com/users/Pokechu22/following{/other_user}', 'gists_url': 'https://api.github.com/users/Pokechu22/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/Pokechu22/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/Pokechu22/subscriptions', 'organizations_url': 'https://api.github.com/users/Pokechu22/orgs', 'repos_url': 'https://api.github.com/users/Pokechu22/repos', 'events_url': 'https://api.github.com/users/Pokechu22/events{/privacy}', 'received_events_url': 'https://api.github.com/users/Pokechu22/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': None, 'commit_id': '3e95d0fc16c53f3c51b6469c9419d05ca4b3401a', 'state': 'approved', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14847#pullrequestreview-5124520594', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14847', '_links': {'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14847#pullrequestreview-5124520594'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14847'}}, 'submitted_at': '2026-09-06T07:08:05Z', 'updated_at': '2026-09-06T07:08:05Z', 'author_association': 'CONTRIBUTOR'}, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14847', 'id': 4455007426, 'node_id': 'PR_kwDOALCn2M8AAAABCYoEwg', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14847', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14847.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14847.patch', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14847', 'number': 14847, 'state': 'open', 'locked': False, 'title': 'Revert "VideoCommon: Use correct size for PE token"', 'user': {'login': 'linkmauve', 'id': 7755816, 'node_id': 'MDQ6VXNlcjc3NTU4MTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7755816?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/linkmauve', 'html_url': 'https://github.com/linkmauve', 'followers_url': 'https://api.github.com/users/linkmauve/followers', 'following_url': 'https://api.github.com/users/linkmauve/following{/other_user}', 'gists_url': 'https://api.github.com/users/linkmauve/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/linkmauve/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/linkmauve/subscriptions', 'organizations_url': 'https://api.github.com/users/linkmauve/orgs', 'repos_url': 'https://api.github.com/users/linkmauve/repos', 'events_url': 'https://api.github.com/users/linkmauve/events{/privacy}', 'received_events_url': 'https://api.github.com/users/linkmauve/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': 'This reverts commit e4349ae1791dec688d91c6813eeadf049a8c73ec.\r\n\r\nThe `0x` prefix is included in the characters count (unlike e.g. in Rust where there is no `0x` prefix), so that commit was wrong. Sorry about that!\r\n\r\nFixes regression introduced in #14842.', 'created_at': '2026-09-06T07:07:30Z', 'updated_at': '2026-09-06T07:07:30Z', 'closed_at': None, 'merged_at': None, 'merge_commit_sha': '8b4fe0eba4747ec00a73975194c418bb39940691', 'assignees': [], 'requested_reviewers': [], 'requested_teams': [], 'labels': [], 'milestone': None, 'draft': False, 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14847/commits', 'review_comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14847/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/14847/comments', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/3e95d0fc16c53f3c51b6469c9419d05ca4b3401a', 'head': {'label': 'linkmauve:pe-token-2-bytes', 'ref': 'pe-token-2-bytes', 'sha': '3e95d0fc16c53f3c51b6469c9419d05ca4b3401a', 'user': {'login': 'linkmauve', 'id': 7755816, 'node_id': 'MDQ6VXNlcjc3NTU4MTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7755816?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/linkmauve', 'html_url': 'https://github.com/linkmauve', 'followers_url': 'https://api.github.com/users/linkmauve/followers', 'following_url': 'https://api.github.com/users/linkmauve/following{/other_user}', 'gists_url': 'https://api.github.com/users/linkmauve/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/linkmauve/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/linkmauve/subscriptions', 'organizations_url': 'https://api.github.com/users/linkmauve/orgs', 'repos_url': 'https://api.github.com/users/linkmauve/repos', 'events_url': 'https://api.github.com/users/linkmauve/events{/privacy}', 'received_events_url': 'https://api.github.com/users/linkmauve/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 34171638, 'node_id': 'MDEwOlJlcG9zaXRvcnkzNDE3MTYzOA==', 'name': 'dolphin', 'full_name': 'linkmauve/dolphin', 'private': False, 'owner': {'login': 'linkmauve', 'id': 7755816, 'node_id': 'MDQ6VXNlcjc3NTU4MTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7755816?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/linkmauve', 'html_url': 'https://github.com/linkmauve', 'followers_url': 'https://api.github.com/users/linkmauve/followers', 'following_url': 'https://api.github.com/users/linkmauve/following{/other_user}', 'gists_url': 'https://api.github.com/users/linkmauve/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/linkmauve/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/linkmauve/subscriptions', 'organizations_url': 'https://api.github.com/users/linkmauve/orgs', 'repos_url': 'https://api.github.com/users/linkmauve/repos', 'events_url': 'https://api.github.com/users/linkmauve/events{/privacy}', 'received_events_url': 'https://api.github.com/users/linkmauve/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/linkmauve/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/linkmauve/dolphin', 'forks_url': 'https://api.github.com/repos/linkmauve/dolphin/forks', 'keys_url': 'https://api.github.com/repos/linkmauve/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/linkmauve/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/linkmauve/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/linkmauve/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/linkmauve/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/linkmauve/dolphin/events', 'assignees_url': 'https://api.github.com/repos/linkmauve/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/linkmauve/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/linkmauve/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/linkmauve/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/linkmauve/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/linkmauve/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/linkmauve/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/linkmauve/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/linkmauve/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/linkmauve/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/linkmauve/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/linkmauve/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/linkmauve/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/linkmauve/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/linkmauve/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/linkmauve/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/linkmauve/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/linkmauve/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/linkmauve/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/linkmauve/dolphin/merges', 'archive_url': 'https://api.github.com/repos/linkmauve/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/linkmauve/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/linkmauve/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/linkmauve/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/linkmauve/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/linkmauve/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/linkmauve/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/linkmauve/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/linkmauve/dolphin/deployments', 'created_at': '2015-04-18T15:45:11Z', 'updated_at': '2023-11-07T12:39:33Z', 'pushed_at': '2026-09-06T07:07:08Z', 'git_url': 'git://github.com/linkmauve/dolphin.git', 'ssh_url': 'git@github.com:linkmauve/dolphin.git', 'clone_url': 'https://github.com/linkmauve/dolphin.git', 'svn_url': 'https://github.com/linkmauve/dolphin', 'homepage': 'https://dolphin-emu.org/', 'size': 521888, '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': 'gpl-2.0', 'name': 'GNU General Public License v2.0', 'spdx_id': 'GPL-2.0', 'url': 'https://api.github.com/licenses/gpl-2.0', 'node_id': 'MDc6TGljZW5zZTg='}, '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': '982e8d183d8df64b641a9809ec2f3b193f94e5e5', '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-09-06T06:48:16Z', 'pushed_at': '2026-09-06T05:04:48Z', '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': 559861, 'stargazers_count': 15485, 'watchers_count': 15485, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3238, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 461, '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': 3238, 'open_issues': 461, 'watchers': 15485, '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/14847'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14847'}, 'issue': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14847'}, 'comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14847/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14847/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/14847/commits'}, 'statuses': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/3e95d0fc16c53f3c51b6469c9419d05ca4b3401a'}}, '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-09-06T06:48:16Z', 'pushed_at': '2026-09-06T05:04:48Z', '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': 559861, 'stargazers_count': 15485, 'watchers_count': 15485, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3238, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 461, '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': 3238, 'open_issues': 461, 'watchers': 15485, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'Pokechu22', 'id': 8334194, 'node_id': 'MDQ6VXNlcjgzMzQxOTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/8334194?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/Pokechu22', 'html_url': 'https://github.com/Pokechu22', 'followers_url': 'https://api.github.com/users/Pokechu22/followers', 'following_url': 'https://api.github.com/users/Pokechu22/following{/other_user}', 'gists_url': 'https://api.github.com/users/Pokechu22/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/Pokechu22/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/Pokechu22/subscriptions', 'organizations_url': 'https://api.github.com/users/Pokechu22/orgs', 'repos_url': 'https://api.github.com/users/Pokechu22/repos', 'events_url': 'https://api.github.com/users/Pokechu22/events{/privacy}', 'received_events_url': 'https://api.github.com/users/Pokechu22/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'raw_gh_hook'}
2026-09-06T07:07:33.003374 {'source': 'webserver', 'gh_type': 'pull_request', 'raw': {'action': 'opened', 'number': 14847, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14847', 'id': 4455007426, 'node_id': 'PR_kwDOALCn2M8AAAABCYoEwg', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14847', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14847.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14847.patch', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14847', 'number': 14847, 'state': 'open', 'locked': False, 'title': 'Revert "VideoCommon: Use correct size for PE token"', 'user': {'login': 'linkmauve', 'id': 7755816, 'node_id': 'MDQ6VXNlcjc3NTU4MTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7755816?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/linkmauve', 'html_url': 'https://github.com/linkmauve', 'followers_url': 'https://api.github.com/users/linkmauve/followers', 'following_url': 'https://api.github.com/users/linkmauve/following{/other_user}', 'gists_url': 'https://api.github.com/users/linkmauve/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/linkmauve/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/linkmauve/subscriptions', 'organizations_url': 'https://api.github.com/users/linkmauve/orgs', 'repos_url': 'https://api.github.com/users/linkmauve/repos', 'events_url': 'https://api.github.com/users/linkmauve/events{/privacy}', 'received_events_url': 'https://api.github.com/users/linkmauve/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': 'This reverts commit e4349ae1791dec688d91c6813eeadf049a8c73ec.\r\n\r\nThe `0x` prefix is included in the characters count (unlike e.g. in Rust where there is no `0x` prefix), so that commit was wrong. Sorry about that!\r\n\r\nFixes regression introduced in #14842.', 'created_at': '2026-09-06T07:07:30Z', 'updated_at': '2026-09-06T07:07:30Z', 'closed_at': None, 'merged_at': None, 'merge_commit_sha': None, 'assignees': [], 'requested_reviewers': [], 'requested_teams': [], 'labels': [], 'milestone': None, 'draft': False, 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14847/commits', 'review_comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14847/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/14847/comments', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/3e95d0fc16c53f3c51b6469c9419d05ca4b3401a', 'head': {'label': 'linkmauve:pe-token-2-bytes', 'ref': 'pe-token-2-bytes', 'sha': '3e95d0fc16c53f3c51b6469c9419d05ca4b3401a', 'user': {'login': 'linkmauve', 'id': 7755816, 'node_id': 'MDQ6VXNlcjc3NTU4MTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7755816?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/linkmauve', 'html_url': 'https://github.com/linkmauve', 'followers_url': 'https://api.github.com/users/linkmauve/followers', 'following_url': 'https://api.github.com/users/linkmauve/following{/other_user}', 'gists_url': 'https://api.github.com/users/linkmauve/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/linkmauve/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/linkmauve/subscriptions', 'organizations_url': 'https://api.github.com/users/linkmauve/orgs', 'repos_url': 'https://api.github.com/users/linkmauve/repos', 'events_url': 'https://api.github.com/users/linkmauve/events{/privacy}', 'received_events_url': 'https://api.github.com/users/linkmauve/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 34171638, 'node_id': 'MDEwOlJlcG9zaXRvcnkzNDE3MTYzOA==', 'name': 'dolphin', 'full_name': 'linkmauve/dolphin', 'private': False, 'owner': {'login': 'linkmauve', 'id': 7755816, 'node_id': 'MDQ6VXNlcjc3NTU4MTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7755816?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/linkmauve', 'html_url': 'https://github.com/linkmauve', 'followers_url': 'https://api.github.com/users/linkmauve/followers', 'following_url': 'https://api.github.com/users/linkmauve/following{/other_user}', 'gists_url': 'https://api.github.com/users/linkmauve/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/linkmauve/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/linkmauve/subscriptions', 'organizations_url': 'https://api.github.com/users/linkmauve/orgs', 'repos_url': 'https://api.github.com/users/linkmauve/repos', 'events_url': 'https://api.github.com/users/linkmauve/events{/privacy}', 'received_events_url': 'https://api.github.com/users/linkmauve/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/linkmauve/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/linkmauve/dolphin', 'forks_url': 'https://api.github.com/repos/linkmauve/dolphin/forks', 'keys_url': 'https://api.github.com/repos/linkmauve/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/linkmauve/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/linkmauve/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/linkmauve/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/linkmauve/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/linkmauve/dolphin/events', 'assignees_url': 'https://api.github.com/repos/linkmauve/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/linkmauve/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/linkmauve/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/linkmauve/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/linkmauve/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/linkmauve/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/linkmauve/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/linkmauve/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/linkmauve/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/linkmauve/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/linkmauve/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/linkmauve/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/linkmauve/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/linkmauve/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/linkmauve/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/linkmauve/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/linkmauve/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/linkmauve/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/linkmauve/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/linkmauve/dolphin/merges', 'archive_url': 'https://api.github.com/repos/linkmauve/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/linkmauve/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/linkmauve/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/linkmauve/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/linkmauve/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/linkmauve/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/linkmauve/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/linkmauve/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/linkmauve/dolphin/deployments', 'created_at': '2015-04-18T15:45:11Z', 'updated_at': '2023-11-07T12:39:33Z', 'pushed_at': '2026-09-06T07:07:08Z', 'git_url': 'git://github.com/linkmauve/dolphin.git', 'ssh_url': 'git@github.com:linkmauve/dolphin.git', 'clone_url': 'https://github.com/linkmauve/dolphin.git', 'svn_url': 'https://github.com/linkmauve/dolphin', 'homepage': 'https://dolphin-emu.org/', 'size': 521888, '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': 'gpl-2.0', 'name': 'GNU General Public License v2.0', 'spdx_id': 'GPL-2.0', 'url': 'https://api.github.com/licenses/gpl-2.0', 'node_id': 'MDc6TGljZW5zZTg='}, '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': '982e8d183d8df64b641a9809ec2f3b193f94e5e5', '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-09-06T06:48:16Z', 'pushed_at': '2026-09-06T05:04:48Z', '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': 559861, 'stargazers_count': 15485, 'watchers_count': 15485, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3238, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 461, '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': 3238, 'open_issues': 461, 'watchers': 15485, '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/14847'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14847'}, 'issue': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14847'}, 'comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14847/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14847/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/14847/commits'}, 'statuses': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/3e95d0fc16c53f3c51b6469c9419d05ca4b3401a'}}, 'author_association': 'MEMBER', 'auto_merge': None, 'assignee': None, 'active_lock_reason': None, 'merged': False, 'mergeable': None, 'rebaseable': None, 'mergeable_state': 'unknown', 'merged_by': None, 'comments': 0, 'review_comments': 0, 'maintainer_can_modify': True, 'commits': 1, 'additions': 2, 'deletions': 2, 'changed_files': 1}, 'repository': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-09-06T06:48:16Z', 'pushed_at': '2026-09-06T05:04:48Z', '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': 559861, 'stargazers_count': 15485, 'watchers_count': 15485, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3238, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 461, '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': 3238, 'open_issues': 461, 'watchers': 15485, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'linkmauve', 'id': 7755816, 'node_id': 'MDQ6VXNlcjc3NTU4MTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7755816?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/linkmauve', 'html_url': 'https://github.com/linkmauve', 'followers_url': 'https://api.github.com/users/linkmauve/followers', 'following_url': 'https://api.github.com/users/linkmauve/following{/other_user}', 'gists_url': 'https://api.github.com/users/linkmauve/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/linkmauve/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/linkmauve/subscriptions', 'organizations_url': 'https://api.github.com/users/linkmauve/orgs', 'repos_url': 'https://api.github.com/users/linkmauve/repos', 'events_url': 'https://api.github.com/users/linkmauve/events{/privacy}', 'received_events_url': 'https://api.github.com/users/linkmauve/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'raw_gh_hook'}
2026-09-06T06:30:39.597528 {'source': 'webserver', 'gh_type': 'pull_request', 'raw': {'action': 'synchronize', 'number': 14840, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14840', 'id': 4427828350, 'node_id': 'PR_kwDOALCn2M8AAAABB-tMfg', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14840', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14840.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14840.patch', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14840', 'number': 14840, 'state': 'open', 'locked': False, 'title': 'VideoCommon: split partial texture update logic from the actual rendering', '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': 'Late last year I started working on a new feature that required Dolphin to think about how it renders in a different way. In order to prepare for that, I will be creating some PRs that restructure or refactor our existing code.\r\n\r\nThis PR is for the texture cache. Partial texture updates are a complex piece of logic that currently interweave the rendering and the logic details. This change attempts to split them out into two separate parts. There is a tiny bit of overhead to avoid invalidation of entries in a map we are iterating (that was previously avoided due to everything being in one function) but I think this code has value even without my future changes from a readability perspective.\r\n\r\nFunctionality should not change with these PRs. I did some mild testing but fifo ci should hopefully confirm if any changes slipped through.', 'created_at': '2026-09-03T00:10:29Z', 'updated_at': '2026-09-06T06:30:38Z', 'closed_at': None, 'merged_at': None, 'merge_commit_sha': 'e6470f53a3c7c6fc44834bc6bebd682b2f110f62', 'assignees': [], 'requested_reviewers': [], 'requested_teams': [], 'labels': [], 'milestone': None, 'draft': False, 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14840/commits', 'review_comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14840/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/14840/comments', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/b21878da9c8f1c91b8a534a81a553a80d04d718a', 'head': {'label': 'iwubcode:dolphin_texture_refactor_3', 'ref': 'dolphin_texture_refactor_3', 'sha': 'b21878da9c8f1c91b8a534a81a553a80d04d718a', 'user': {'login': 'iwubcode', 'id': 15224722, 'node_id': 'MDQ6VXNlcjE1MjI0NzIy', 'avatar_url': 'https://avatars.githubusercontent.com/u/15224722?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/iwubcode', 'html_url': 'https://github.com/iwubcode', 'followers_url': 'https://api.github.com/users/iwubcode/followers', 'following_url': 'https://api.github.com/users/iwubcode/following{/other_user}', 'gists_url': 'https://api.github.com/users/iwubcode/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/iwubcode/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/iwubcode/subscriptions', 'organizations_url': 'https://api.github.com/users/iwubcode/orgs', 'repos_url': 'https://api.github.com/users/iwubcode/repos', 'events_url': 'https://api.github.com/users/iwubcode/events{/privacy}', 'received_events_url': 'https://api.github.com/users/iwubcode/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 77596353, 'node_id': 'MDEwOlJlcG9zaXRvcnk3NzU5NjM1Mw==', 'name': 'dolphin', 'full_name': 'iwubcode/dolphin', 'private': False, 'owner': {'login': 'iwubcode', 'id': 15224722, 'node_id': 'MDQ6VXNlcjE1MjI0NzIy', 'avatar_url': 'https://avatars.githubusercontent.com/u/15224722?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/iwubcode', 'html_url': 'https://github.com/iwubcode', 'followers_url': 'https://api.github.com/users/iwubcode/followers', 'following_url': 'https://api.github.com/users/iwubcode/following{/other_user}', 'gists_url': 'https://api.github.com/users/iwubcode/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/iwubcode/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/iwubcode/subscriptions', 'organizations_url': 'https://api.github.com/users/iwubcode/orgs', 'repos_url': 'https://api.github.com/users/iwubcode/repos', 'events_url': 'https://api.github.com/users/iwubcode/events{/privacy}', 'received_events_url': 'https://api.github.com/users/iwubcode/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/iwubcode/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': True, 'url': 'https://api.github.com/repos/iwubcode/dolphin', 'forks_url': 'https://api.github.com/repos/iwubcode/dolphin/forks', 'keys_url': 'https://api.github.com/repos/iwubcode/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/iwubcode/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/iwubcode/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/iwubcode/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/iwubcode/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/iwubcode/dolphin/events', 'assignees_url': 'https://api.github.com/repos/iwubcode/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/iwubcode/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/iwubcode/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/iwubcode/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/iwubcode/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/iwubcode/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/iwubcode/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/iwubcode/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/iwubcode/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/iwubcode/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/iwubcode/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/iwubcode/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/iwubcode/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/iwubcode/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/iwubcode/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/iwubcode/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/iwubcode/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/iwubcode/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/iwubcode/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/iwubcode/dolphin/merges', 'archive_url': 'https://api.github.com/repos/iwubcode/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/iwubcode/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/iwubcode/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/iwubcode/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/iwubcode/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/iwubcode/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/iwubcode/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/iwubcode/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/iwubcode/dolphin/deployments', 'created_at': '2016-12-29T08:26:39Z', 'updated_at': '2026-08-30T16:51:14Z', 'pushed_at': '2026-09-06T06:30:36Z', 'git_url': 'git://github.com/iwubcode/dolphin.git', 'ssh_url': 'git@github.com:iwubcode/dolphin.git', 'clone_url': 'https://github.com/iwubcode/dolphin.git', 'svn_url': 'https://github.com/iwubcode/dolphin', 'homepage': 'https://dolphin-emu.org/', 'size': 523959, 'stargazers_count': 2, 'watchers_count': 2, 'language': 'C++', 'has_issues': False, 'has_projects': True, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 1, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': [], 'visibility': 'public', 'forks': 3, 'open_issues': 1, 'watchers': 2, 'default_branch': 'master', 'allow_squash_merge': True, 'allow_merge_commit': True, 'allow_rebase_merge': True, 'allow_auto_merge': False, 'delete_branch_on_merge': False, 'allow_update_branch': False, 'use_squash_pr_title_as_default': False, 'squash_merge_commit_message': 'COMMIT_MESSAGES', 'squash_merge_commit_title': 'COMMIT_OR_PR_TITLE', 'merge_commit_message': 'PR_TITLE', 'merge_commit_title': 'MERGE_MESSAGE'}}, 'base': {'label': 'dolphin-emu:master', 'ref': 'master', 'sha': '982e8d183d8df64b641a9809ec2f3b193f94e5e5', '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-09-06T05:04:53Z', 'pushed_at': '2026-09-06T05:04:48Z', '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': 559861, 'stargazers_count': 15484, 'watchers_count': 15484, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3238, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 460, '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': 3238, 'open_issues': 460, 'watchers': 15484, '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/14840'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14840'}, 'issue': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14840'}, 'comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14840/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14840/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/14840/commits'}, 'statuses': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/b21878da9c8f1c91b8a534a81a553a80d04d718a'}}, 'author_association': 'CONTRIBUTOR', 'auto_merge': None, 'assignee': None, 'active_lock_reason': None, 'merged': False, 'mergeable': None, 'rebaseable': None, 'mergeable_state': 'unknown', 'merged_by': None, 'comments': 0, 'review_comments': 11, 'maintainer_can_modify': True, 'commits': 1, 'additions': 284, 'deletions': 132, 'changed_files': 2}, 'before': 'e7f23da63c5d81262c8efb5e3a320ce2509f11b8', 'after': 'b21878da9c8f1c91b8a534a81a553a80d04d718a', '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-09-06T05:04:53Z', 'pushed_at': '2026-09-06T05:04:48Z', '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': 559861, 'stargazers_count': 15484, 'watchers_count': 15484, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3238, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 460, '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': 3238, 'open_issues': 460, 'watchers': 15484, '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': '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}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'raw_gh_hook'}
2026-09-06T06:04:08.021495 {'source': 'webserver', 'gh_type': 'pull_request', 'raw': {'action': 'synchronize', 'number': 14836, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14836', 'id': 4399903594, 'node_id': 'PR_kwDOALCn2M8AAAABBkEzag', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14836', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14836.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14836.patch', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14836', 'number': 14836, 'state': 'open', 'locked': False, 'title': 'VideoCommon: refactor texture cache frame buffer copies', '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': "Late last year I started working on a new feature that required Dolphin to think about how it renders in a different way. In order to prepare for that, I will be creating some PRs that restructure or refactor our existing code.\r\n\r\nThis PR is for the texture cache. Frame buffer copies (EFB or XFB) have a number of paths they take and this PR tries to split up the main function 'CopyRenderTargetToTexture' into smaller functions.\r\n\r\nFunctionality should not change with these PRs. I did some mild testing but fifo ci should hopefully confirm if any changes slipped through.", 'created_at': '2026-08-31T06:46:04Z', 'updated_at': '2026-09-06T06:04:06Z', 'closed_at': None, 'merged_at': None, 'merge_commit_sha': 'cb2dc47a9cc071591e253acc5de414e88009532e', 'assignees': [], 'requested_reviewers': [], 'requested_teams': [], 'labels': [], 'milestone': None, 'draft': False, 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14836/commits', 'review_comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14836/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/14836/comments', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/6d620ebd902b7e915d462a2fc09d1148bf9faf68', 'head': {'label': 'iwubcode:dolphin_texture_refactor_1', 'ref': 'dolphin_texture_refactor_1', 'sha': '6d620ebd902b7e915d462a2fc09d1148bf9faf68', 'user': {'login': 'iwubcode', 'id': 15224722, 'node_id': 'MDQ6VXNlcjE1MjI0NzIy', 'avatar_url': 'https://avatars.githubusercontent.com/u/15224722?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/iwubcode', 'html_url': 'https://github.com/iwubcode', 'followers_url': 'https://api.github.com/users/iwubcode/followers', 'following_url': 'https://api.github.com/users/iwubcode/following{/other_user}', 'gists_url': 'https://api.github.com/users/iwubcode/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/iwubcode/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/iwubcode/subscriptions', 'organizations_url': 'https://api.github.com/users/iwubcode/orgs', 'repos_url': 'https://api.github.com/users/iwubcode/repos', 'events_url': 'https://api.github.com/users/iwubcode/events{/privacy}', 'received_events_url': 'https://api.github.com/users/iwubcode/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 77596353, 'node_id': 'MDEwOlJlcG9zaXRvcnk3NzU5NjM1Mw==', 'name': 'dolphin', 'full_name': 'iwubcode/dolphin', 'private': False, 'owner': {'login': 'iwubcode', 'id': 15224722, 'node_id': 'MDQ6VXNlcjE1MjI0NzIy', 'avatar_url': 'https://avatars.githubusercontent.com/u/15224722?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/iwubcode', 'html_url': 'https://github.com/iwubcode', 'followers_url': 'https://api.github.com/users/iwubcode/followers', 'following_url': 'https://api.github.com/users/iwubcode/following{/other_user}', 'gists_url': 'https://api.github.com/users/iwubcode/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/iwubcode/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/iwubcode/subscriptions', 'organizations_url': 'https://api.github.com/users/iwubcode/orgs', 'repos_url': 'https://api.github.com/users/iwubcode/repos', 'events_url': 'https://api.github.com/users/iwubcode/events{/privacy}', 'received_events_url': 'https://api.github.com/users/iwubcode/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/iwubcode/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': True, 'url': 'https://api.github.com/repos/iwubcode/dolphin', 'forks_url': 'https://api.github.com/repos/iwubcode/dolphin/forks', 'keys_url': 'https://api.github.com/repos/iwubcode/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/iwubcode/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/iwubcode/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/iwubcode/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/iwubcode/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/iwubcode/dolphin/events', 'assignees_url': 'https://api.github.com/repos/iwubcode/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/iwubcode/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/iwubcode/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/iwubcode/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/iwubcode/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/iwubcode/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/iwubcode/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/iwubcode/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/iwubcode/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/iwubcode/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/iwubcode/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/iwubcode/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/iwubcode/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/iwubcode/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/iwubcode/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/iwubcode/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/iwubcode/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/iwubcode/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/iwubcode/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/iwubcode/dolphin/merges', 'archive_url': 'https://api.github.com/repos/iwubcode/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/iwubcode/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/iwubcode/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/iwubcode/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/iwubcode/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/iwubcode/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/iwubcode/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/iwubcode/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/iwubcode/dolphin/deployments', 'created_at': '2016-12-29T08:26:39Z', 'updated_at': '2026-08-30T16:51:14Z', 'pushed_at': '2026-09-06T06:04:05Z', 'git_url': 'git://github.com/iwubcode/dolphin.git', 'ssh_url': 'git@github.com:iwubcode/dolphin.git', 'clone_url': 'https://github.com/iwubcode/dolphin.git', 'svn_url': 'https://github.com/iwubcode/dolphin', 'homepage': 'https://dolphin-emu.org/', 'size': 523959, 'stargazers_count': 2, 'watchers_count': 2, 'language': 'C++', 'has_issues': False, 'has_projects': True, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 1, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': [], 'visibility': 'public', 'forks': 3, 'open_issues': 1, 'watchers': 2, 'default_branch': 'master', 'allow_squash_merge': True, 'allow_merge_commit': True, 'allow_rebase_merge': True, 'allow_auto_merge': False, 'delete_branch_on_merge': False, 'allow_update_branch': False, 'use_squash_pr_title_as_default': False, 'squash_merge_commit_message': 'COMMIT_MESSAGES', 'squash_merge_commit_title': 'COMMIT_OR_PR_TITLE', 'merge_commit_message': 'PR_TITLE', 'merge_commit_title': 'MERGE_MESSAGE'}}, 'base': {'label': 'dolphin-emu:master', 'ref': 'master', 'sha': '982e8d183d8df64b641a9809ec2f3b193f94e5e5', '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-09-06T05:04:53Z', 'pushed_at': '2026-09-06T05:04:48Z', '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': 559867, 'stargazers_count': 15484, 'watchers_count': 15484, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3238, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 460, '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': 3238, 'open_issues': 460, 'watchers': 15484, '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/14836'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14836'}, 'issue': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14836'}, 'comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14836/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14836/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/14836/commits'}, 'statuses': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/6d620ebd902b7e915d462a2fc09d1148bf9faf68'}}, 'author_association': 'CONTRIBUTOR', 'auto_merge': None, 'assignee': None, 'active_lock_reason': None, 'merged': False, 'mergeable': None, 'rebaseable': None, 'mergeable_state': 'unknown', 'merged_by': None, 'comments': 1, 'review_comments': 2, 'maintainer_can_modify': True, 'commits': 1, 'additions': 481, 'deletions': 312, 'changed_files': 5}, 'before': 'a7698f4a921cbe63404bbf4c6d0f0ec6a6c2526f', 'after': '6d620ebd902b7e915d462a2fc09d1148bf9faf68', '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-09-06T05:04:53Z', 'pushed_at': '2026-09-06T05:04:48Z', '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': 559867, 'stargazers_count': 15484, 'watchers_count': 15484, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3238, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 460, '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': 3238, 'open_issues': 460, 'watchers': 15484, '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': '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}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'raw_gh_hook'}
2026-09-06T05:04:51.619151 {'source': 'webserver', 'gh_type': 'check_suite', 'raw': {'action': 'requested', 'check_suite': {'id': 92161012925, 'node_id': 'CS_kwDOALCn2M8AAAAVdTl0vQ', 'head_branch': 'master', 'head_sha': '982e8d183d8df64b641a9809ec2f3b193f94e5e5', 'status': 'queued', 'conclusion': None, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/check-suites/92161012925', 'before': 'debe8e9fd974517062a7622142bba2ecce0e6c60', 'after': '982e8d183d8df64b641a9809ec2f3b193f94e5e5', 'pull_requests': [{'url': 'https://api.github.com/repos/MarioPartyNetplay/Dolphin-MPN/pulls/224', 'id': 4391850780, 'number': 224, 'head': {'ref': 'master', 'sha': '982e8d183d8df64b641a9809ec2f3b193f94e5e5', 'repo': {'id': 11577304, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'name': 'dolphin'}}, 'base': {'ref': 'master', 'sha': '3e4a703265359301aed20e50fb62036e22928f79', 'repo': {'id': 623850328, 'url': 'https://api.github.com/repos/MarioPartyNetplay/Dolphin-MPN', 'name': 'Dolphin-MPN'}}}, {'url': 'https://api.github.com/repos/Faster-Brawl/dolphin/pulls/5', 'id': 1222541325, 'number': 5, 'head': {'ref': 'master', 'sha': '982e8d183d8df64b641a9809ec2f3b193f94e5e5', 'repo': {'id': 11577304, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'name': 'dolphin'}}, 'base': {'ref': 'master', 'sha': 'eb9e232680dfdc04ec2adab05dbc530b1e707fc9', 'repo': {'id': 577809188, 'url': 'https://api.github.com/repos/Faster-Brawl/dolphin', 'name': 'dolphin'}}}, {'url': 'https://api.github.com/repos/dirextric-auto/dolphin/pulls/1', 'id': 571486662, 'number': 1, 'head': {'ref': 'master', 'sha': '982e8d183d8df64b641a9809ec2f3b193f94e5e5', 'repo': {'id': 11577304, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'name': 'dolphin'}}, 'base': {'ref': 'master', 'sha': '1e71904cb9930eccc036e2ce2360beaa746befa7', 'repo': {'id': 337848960, 'url': 'https://api.github.com/repos/dirextric-auto/dolphin', 'name': 'dolphin'}}}, {'url': 'https://api.github.com/repos/zurgeg/dolphin-vr-no-ovr/pulls/1', 'id': 518053317, 'number': 1, 'head': {'ref': 'master', 'sha': '982e8d183d8df64b641a9809ec2f3b193f94e5e5', 'repo': {'id': 11577304, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'name': 'dolphin'}}, 'base': {'ref': 'VR-Hydra', 'sha': 'ea9f95955e5335cc238b2f9c5a0a6dfdc8698aec', 'repo': {'id': 311469400, 'url': 'https://api.github.com/repos/zurgeg/dolphin-vr-no-ovr', 'name': 'dolphin-vr-no-ovr'}}}, {'url': 'https://api.github.com/repos/weihuoya/dolphin/pulls/1', 'id': 400884538, 'number': 1, 'head': {'ref': 'master', 'sha': '982e8d183d8df64b641a9809ec2f3b193f94e5e5', 'repo': {'id': 11577304, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'name': 'dolphin'}}, 'base': {'ref': 'master', 'sha': '0f4c971326ae9389b3ad55b0fefacb708d148f4d', 'repo': {'id': 143011855, 'url': 'https://api.github.com/repos/weihuoya/dolphin', 'name': 'dolphin'}}}], 'app': {'id': 49947, 'client_id': 'Iv1.1fcaea7644d8b727', 'slug': 'dolphin-ci', 'node_id': 'MDM6QXBwNDk5NDc=', 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'name': 'Dolphin CI', 'description': 'Continuous Integration setup for [dolphin-emu.org](https://dolphin-emu.org/).', 'external_url': 'https://github.com/dolphin-emu', 'html_url': 'https://github.com/apps/dolphin-ci', 'created_at': '2019-12-26T22:26:07Z', 'updated_at': '2019-12-26T22:33:19Z', 'permissions': {'checks': 'write', 'contents': 'read', 'issues': 'write', 'members': 'read', 'metadata': 'read', 'pull_requests': 'write', 'statuses': 'write'}, 'events': ['check_run', 'commit_comment', 'issue_comment', 'pull_request', 'pull_request_review', 'pull_request_review_comment', 'push']}, 'created_at': '2026-09-06T05:04:50Z', 'updated_at': '2026-09-06T05:04:50Z', 'rerequestable': True, 'runs_rerequestable': True, 'latest_check_runs_count': 0, 'check_runs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/check-suites/92161012925/check-runs', 'head_commit': {'id': '982e8d183d8df64b641a9809ec2f3b193f94e5e5', 'tree_id': 'cbee4a268bef161ea350155f00b5ee606f2191a2', 'message': 'Merge pull request #14817 from JosJuice/android-netplay-version\n\nCommon: Add Android to GetNetplayDolphinVer', 'timestamp': '2026-09-06T05:04:48Z', 'author': {'name': 'Dentomologist', 'email': 'dentomologist@gmail.com'}, 'committer': {'name': 'GitHub', 'email': 'noreply@github.com'}}}, '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-09-06T04:54:19Z', 'pushed_at': '2026-09-06T05:04:48Z', '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': 559867, 'stargazers_count': 15484, 'watchers_count': 15484, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3237, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 460, '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': 3237, 'open_issues': 460, 'watchers': 15484, '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': '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}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'raw_gh_hook'}
2026-09-06T05:04:50.767119 {'source': 'webserver', 'gh_type': 'push', 'raw': {'ref': 'refs/heads/master', 'before': 'debe8e9fd974517062a7622142bba2ecce0e6c60', 'after': '982e8d183d8df64b641a9809ec2f3b193f94e5e5', 'repository': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'name': 'dolphin-emu', 'email': None, 'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': 1374484077, 'updated_at': '2026-09-06T04:54:19Z', 'pushed_at': 1788671088, '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': 559867, 'stargazers_count': 15484, 'watchers_count': 15484, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': True, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3237, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 460, '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': 3237, 'open_issues': 460, 'watchers': 15484, 'default_branch': 'master', 'stargazers': 15484, 'master_branch': 'master', 'organization': 'dolphin-emu', 'custom_properties': {}}, 'pusher': {'name': 'Dentomologist', 'email': 'dentomologist@gmail.com'}, 'forced': False, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': '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}, 'created': False, 'deleted': False, 'base_ref': None, 'compare': 'https://github.com/dolphin-emu/dolphin/compare/debe8e9fd974...982e8d183d8d', 'commits': [{'id': 'c774385c7b7911f467fbaf01c70893f54c63fc99', 'tree_id': '55666665208bba96e4f75ca2683fda1ef71b9920', 'distinct': False, 'message': 'Common: Add Android to GetNetplayDolphinVer\n\nThis makes Android players show up as "Android" instead of "Lin".\n(This is only visible in DolphinQt, not in the Android GUI.)\n\nI\'m also unabbreviating all the existing operating system names:\n\n* Win -> Windows\n* Mac -> macOS\n* Lin -> Linux', 'timestamp': '2026-08-21T20:04:13+02:00', 'url': 'https://github.com/dolphin-emu/dolphin/commit/c774385c7b7911f467fbaf01c70893f54c63fc99', 'author': {'name': 'JosJuice', 'email': 'josjuice@gmail.com', 'date': '2026-08-16T09:18:37+02:00', 'username': 'JosJuice'}, 'committer': {'name': 'JosJuice', 'email': 'josjuice@gmail.com', 'date': '2026-08-21T20:04:13+02:00', 'username': 'JosJuice'}, 'added': [], 'removed': [], 'modified': ['Source/Core/Common/Version.cpp']}, {'id': '982e8d183d8df64b641a9809ec2f3b193f94e5e5', 'tree_id': 'cbee4a268bef161ea350155f00b5ee606f2191a2', 'distinct': True, 'message': 'Merge pull request #14817 from JosJuice/android-netplay-version\n\nCommon: Add Android to GetNetplayDolphinVer', 'timestamp': '2026-09-05T22:04:48-07:00', 'url': 'https://github.com/dolphin-emu/dolphin/commit/982e8d183d8df64b641a9809ec2f3b193f94e5e5', 'author': {'name': 'Dentomologist', 'email': 'dentomologist@gmail.com', 'date': '2026-09-05T22:04:48-07:00', 'username': 'Dentomologist'}, 'committer': {'name': 'GitHub', 'email': 'noreply@github.com', 'date': '2026-09-05T22:04:48-07:00', 'username': 'web-flow'}, 'added': [], 'removed': [], 'modified': ['Source/Core/Common/Version.cpp']}], 'head_commit': {'id': '982e8d183d8df64b641a9809ec2f3b193f94e5e5', 'tree_id': 'cbee4a268bef161ea350155f00b5ee606f2191a2', 'distinct': True, 'message': 'Merge pull request #14817 from JosJuice/android-netplay-version\n\nCommon: Add Android to GetNetplayDolphinVer', 'timestamp': '2026-09-05T22:04:48-07:00', 'url': 'https://github.com/dolphin-emu/dolphin/commit/982e8d183d8df64b641a9809ec2f3b193f94e5e5', 'author': {'name': 'Dentomologist', 'email': 'dentomologist@gmail.com', 'date': '2026-09-05T22:04:48-07:00', 'username': 'Dentomologist'}, 'committer': {'name': 'GitHub', 'email': 'noreply@github.com', 'date': '2026-09-05T22:04:48-07:00', 'username': 'web-flow'}, 'added': [], 'removed': [], 'modified': ['Source/Core/Common/Version.cpp']}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'raw_gh_hook'}
2026-09-06T05:04:50.629526 {'source': 'webserver', 'gh_type': 'pull_request', 'raw': {'action': 'closed', 'number': 14817, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14817', 'id': 4289216385, 'node_id': 'PR_kwDOALCn2M7_qD-B', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14817', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14817.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14817.patch', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14817', 'number': 14817, 'state': 'closed', 'locked': False, 'title': 'Common: Add Android to GetNetplayDolphinVer', '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': 'This makes Android players show up as "Droid" instead of "Lin". (This is only visible in DolphinQt, not in the Android GUI.)', 'created_at': '2026-08-16T07:20:06Z', 'updated_at': '2026-09-06T05:04:49Z', 'closed_at': '2026-09-06T05:04:49Z', 'merged_at': '2026-09-06T05:04:49Z', 'merge_commit_sha': '982e8d183d8df64b641a9809ec2f3b193f94e5e5', 'assignees': [], 'requested_reviewers': [], 'requested_teams': [], 'labels': [], 'milestone': None, 'draft': False, 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14817/commits', 'review_comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14817/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/14817/comments', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/c774385c7b7911f467fbaf01c70893f54c63fc99', 'head': {'label': 'JosJuice:android-netplay-version', 'ref': 'android-netplay-version', 'sha': 'c774385c7b7911f467fbaf01c70893f54c63fc99', '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}, 'repo': {'id': 26057138, 'node_id': 'MDEwOlJlcG9zaXRvcnkyNjA1NzEzOA==', 'name': 'dolphin', 'full_name': 'JosJuice/dolphin', 'private': False, 'owner': {'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}, 'html_url': 'https://github.com/JosJuice/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/JosJuice/dolphin', 'forks_url': 'https://api.github.com/repos/JosJuice/dolphin/forks', 'keys_url': 'https://api.github.com/repos/JosJuice/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/JosJuice/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/JosJuice/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/JosJuice/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/JosJuice/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/JosJuice/dolphin/events', 'assignees_url': 'https://api.github.com/repos/JosJuice/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/JosJuice/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/JosJuice/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/JosJuice/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/JosJuice/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/JosJuice/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/JosJuice/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/JosJuice/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/JosJuice/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/JosJuice/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/JosJuice/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/JosJuice/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/JosJuice/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/JosJuice/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/JosJuice/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/JosJuice/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/JosJuice/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/JosJuice/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/JosJuice/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/JosJuice/dolphin/merges', 'archive_url': 'https://api.github.com/repos/JosJuice/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/JosJuice/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/JosJuice/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/JosJuice/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/JosJuice/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/JosJuice/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/JosJuice/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/JosJuice/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/JosJuice/dolphin/deployments', 'created_at': '2014-11-01T17:12:40Z', 'updated_at': '2026-08-08T11:03:15Z', 'pushed_at': '2026-08-30T14:43:10Z', 'git_url': 'git://github.com/JosJuice/dolphin.git', 'ssh_url': 'git@github.com:JosJuice/dolphin.git', 'clone_url': 'https://github.com/JosJuice/dolphin.git', 'svn_url': 'https://github.com/JosJuice/dolphin', 'homepage': None, 'size': 525658, 'stargazers_count': 6, 'watchers_count': 6, 'language': 'C++', 'has_issues': False, 'has_projects': True, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 1, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 0, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': [], 'visibility': 'public', 'forks': 1, 'open_issues': 0, 'watchers': 6, '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': '38e70fda6597dab6b7e5e4d3949b199c0b4f2244', '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-09-06T04:54:19Z', 'pushed_at': '2026-09-06T02:37:57Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 559867, 'stargazers_count': 15484, 'watchers_count': 15484, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3237, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 460, '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': 3237, 'open_issues': 460, 'watchers': 15484, '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/14817'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14817'}, 'issue': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14817'}, 'comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14817/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14817/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/14817/commits'}, 'statuses': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/c774385c7b7911f467fbaf01c70893f54c63fc99'}}, 'author_association': 'MEMBER', 'auto_merge': None, 'assignee': None, 'active_lock_reason': None, 'merged': True, 'mergeable': None, 'rebaseable': None, 'mergeable_state': 'unknown', 'merged_by': {'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}, 'comments': 3, 'review_comments': 0, 'maintainer_can_modify': False, 'commits': 1, 'additions': 7, 'deletions': 3, 'changed_files': 1}, 'repository': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-09-06T04:54:19Z', 'pushed_at': '2026-09-06T02:37:57Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 559867, 'stargazers_count': 15484, 'watchers_count': 15484, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3237, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 460, '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': 3237, 'open_issues': 460, 'watchers': 15484, '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': '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}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'raw_gh_hook'}
2026-09-06T05:04:35.543357 {'source': 'webserver', 'gh_type': 'pull_request_review', 'raw': {'action': 'submitted', 'review': {'id': 5124230820, 'node_id': 'PRR_kwDOALCn2M8AAAABMW2OpA', 'user': {'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}, 'body': None, 'commit_id': 'c774385c7b7911f467fbaf01c70893f54c63fc99', 'state': 'approved', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14817#pullrequestreview-5124230820', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14817', '_links': {'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14817#pullrequestreview-5124230820'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14817'}}, 'submitted_at': '2026-09-06T05:04:33Z', 'updated_at': '2026-09-06T05:04:33Z', 'author_association': 'CONTRIBUTOR'}, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14817', 'id': 4289216385, 'node_id': 'PR_kwDOALCn2M7_qD-B', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14817', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14817.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14817.patch', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14817', 'number': 14817, 'state': 'open', 'locked': False, 'title': 'Common: Add Android to GetNetplayDolphinVer', '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': 'This makes Android players show up as "Droid" instead of "Lin". (This is only visible in DolphinQt, not in the Android GUI.)', 'created_at': '2026-08-16T07:20:06Z', 'updated_at': '2026-09-06T01:35:09Z', 'closed_at': None, 'merged_at': None, 'merge_commit_sha': '767e3a8c3d67e50b5e5639b124cdbacdae2c6cd8', 'assignees': [], 'requested_reviewers': [], 'requested_teams': [], 'labels': [], 'milestone': None, 'draft': False, 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14817/commits', 'review_comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14817/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/14817/comments', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/c774385c7b7911f467fbaf01c70893f54c63fc99', 'head': {'label': 'JosJuice:android-netplay-version', 'ref': 'android-netplay-version', 'sha': 'c774385c7b7911f467fbaf01c70893f54c63fc99', '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}, 'repo': {'id': 26057138, 'node_id': 'MDEwOlJlcG9zaXRvcnkyNjA1NzEzOA==', 'name': 'dolphin', 'full_name': 'JosJuice/dolphin', 'private': False, 'owner': {'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}, 'html_url': 'https://github.com/JosJuice/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/JosJuice/dolphin', 'forks_url': 'https://api.github.com/repos/JosJuice/dolphin/forks', 'keys_url': 'https://api.github.com/repos/JosJuice/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/JosJuice/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/JosJuice/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/JosJuice/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/JosJuice/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/JosJuice/dolphin/events', 'assignees_url': 'https://api.github.com/repos/JosJuice/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/JosJuice/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/JosJuice/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/JosJuice/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/JosJuice/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/JosJuice/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/JosJuice/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/JosJuice/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/JosJuice/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/JosJuice/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/JosJuice/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/JosJuice/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/JosJuice/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/JosJuice/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/JosJuice/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/JosJuice/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/JosJuice/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/JosJuice/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/JosJuice/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/JosJuice/dolphin/merges', 'archive_url': 'https://api.github.com/repos/JosJuice/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/JosJuice/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/JosJuice/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/JosJuice/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/JosJuice/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/JosJuice/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/JosJuice/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/JosJuice/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/JosJuice/dolphin/deployments', 'created_at': '2014-11-01T17:12:40Z', 'updated_at': '2026-08-08T11:03:15Z', 'pushed_at': '2026-08-30T14:43:10Z', 'git_url': 'git://github.com/JosJuice/dolphin.git', 'ssh_url': 'git@github.com:JosJuice/dolphin.git', 'clone_url': 'https://github.com/JosJuice/dolphin.git', 'svn_url': 'https://github.com/JosJuice/dolphin', 'homepage': None, 'size': 525658, 'stargazers_count': 6, 'watchers_count': 6, 'language': 'C++', 'has_issues': False, 'has_projects': True, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 1, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 0, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': [], 'visibility': 'public', 'forks': 1, 'open_issues': 0, 'watchers': 6, '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': '38e70fda6597dab6b7e5e4d3949b199c0b4f2244', '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-09-06T04:54:19Z', 'pushed_at': '2026-09-06T02:37:57Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 559867, 'stargazers_count': 15484, 'watchers_count': 15484, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3237, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 461, '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': 3237, 'open_issues': 461, 'watchers': 15484, '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/14817'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14817'}, 'issue': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14817'}, 'comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14817/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14817/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/14817/commits'}, 'statuses': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/c774385c7b7911f467fbaf01c70893f54c63fc99'}}, '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-09-06T04:54:19Z', 'pushed_at': '2026-09-06T02:37:57Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 559867, 'stargazers_count': 15484, 'watchers_count': 15484, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3237, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 461, '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': 3237, 'open_issues': 461, 'watchers': 15484, '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': '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}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'raw_gh_hook'}
2026-09-06T04:41:57.413170 {'source': 'webserver', 'gh_type': 'issue_comment', 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14842', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14842/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14842/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14842/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14842', 'id': 5335022134, 'node_id': 'PR_kwDOALCn2M8AAAABCCNJ6Q', 'number': 14842, 'title': 'VideoCommon: Use correct size for PE token', 'user': {'login': 'linkmauve', 'id': 7755816, 'node_id': 'MDQ6VXNlcjc3NTU4MTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7755816?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/linkmauve', 'html_url': 'https://github.com/linkmauve', 'followers_url': 'https://api.github.com/users/linkmauve/followers', 'following_url': 'https://api.github.com/users/linkmauve/following{/other_user}', 'gists_url': 'https://api.github.com/users/linkmauve/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/linkmauve/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/linkmauve/subscriptions', 'organizations_url': 'https://api.github.com/users/linkmauve/orgs', 'repos_url': 'https://api.github.com/users/linkmauve/repos', 'events_url': 'https://api.github.com/users/linkmauve/events{/privacy}', 'received_events_url': 'https://api.github.com/users/linkmauve/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'closed', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 1, 'created_at': '2026-09-03T09:49:40Z', 'updated_at': '2026-09-06T04:41:55Z', 'closed_at': '2026-09-06T00:06:17Z', '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/14842', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14842', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14842.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14842.patch', 'merged_at': '2026-09-06T00:06:17Z'}, 'body': 'This token is a `u16`, not a `u24`, so let’s not display unnecessary `00` padding.', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14842/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/14842/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5556955501', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14842#issuecomment-5556955501', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14842', 'id': 5556955501, 'node_id': 'IC_kwDOALCn2M8AAAABSzhpbQ', 'user': {'login': 'Pokechu22', 'id': 8334194, 'node_id': 'MDQ6VXNlcjgzMzQxOTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/8334194?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/Pokechu22', 'html_url': 'https://github.com/Pokechu22', 'followers_url': 'https://api.github.com/users/Pokechu22/followers', 'following_url': 'https://api.github.com/users/Pokechu22/following{/other_user}', 'gists_url': 'https://api.github.com/users/Pokechu22/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/Pokechu22/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/Pokechu22/subscriptions', 'organizations_url': 'https://api.github.com/users/Pokechu22/orgs', 'repos_url': 'https://api.github.com/users/Pokechu22/repos', 'events_url': 'https://api.github.com/users/Pokechu22/events{/privacy}', 'received_events_url': 'https://api.github.com/users/Pokechu22/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2026-09-06T04:41:54Z', 'updated_at': '2026-09-06T04:41:54Z', 'body': 'The size includes the `0X` added by `#`, or at least my understanding is that it does, and https://godbolt.org/z/W1xnvnPYb shows that, but maybe something is behaving differently here?', 'author_association': 'MEMBER', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5556955501/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-09-06T02:38:03Z', 'pushed_at': '2026-09-06T02:37:57Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 559867, 'stargazers_count': 15484, 'watchers_count': 15484, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3237, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 461, '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': 3237, 'open_issues': 461, 'watchers': 15484, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'Pokechu22', 'id': 8334194, 'node_id': 'MDQ6VXNlcjgzMzQxOTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/8334194?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/Pokechu22', 'html_url': 'https://github.com/Pokechu22', 'followers_url': 'https://api.github.com/users/Pokechu22/followers', 'following_url': 'https://api.github.com/users/Pokechu22/following{/other_user}', 'gists_url': 'https://api.github.com/users/Pokechu22/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/Pokechu22/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/Pokechu22/subscriptions', 'organizations_url': 'https://api.github.com/users/Pokechu22/orgs', 'repos_url': 'https://api.github.com/users/Pokechu22/repos', 'events_url': 'https://api.github.com/users/Pokechu22/events{/privacy}', 'received_events_url': 'https://api.github.com/users/Pokechu22/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'raw_gh_hook'}
2026-09-06T02:38:00.738483 {'source': 'webserver', 'gh_type': 'check_suite', 'raw': {'action': 'requested', 'check_suite': {'id': 92146130084, 'node_id': 'CS_kwDOALCn2M8AAAAVdFZcpA', 'head_branch': 'master', 'head_sha': 'debe8e9fd974517062a7622142bba2ecce0e6c60', 'status': 'queued', 'conclusion': None, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/check-suites/92146130084', 'before': 'bd389f6b003e9b2f910039a00262176672c2f56f', 'after': 'debe8e9fd974517062a7622142bba2ecce0e6c60', 'pull_requests': [{'url': 'https://api.github.com/repos/MarioPartyNetplay/Dolphin-MPN/pulls/224', 'id': 4391850780, 'number': 224, 'head': {'ref': 'master', 'sha': 'debe8e9fd974517062a7622142bba2ecce0e6c60', 'repo': {'id': 11577304, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'name': 'dolphin'}}, 'base': {'ref': 'master', 'sha': '3e4a703265359301aed20e50fb62036e22928f79', 'repo': {'id': 623850328, 'url': 'https://api.github.com/repos/MarioPartyNetplay/Dolphin-MPN', 'name': 'Dolphin-MPN'}}}, {'url': 'https://api.github.com/repos/Faster-Brawl/dolphin/pulls/5', 'id': 1222541325, 'number': 5, 'head': {'ref': 'master', 'sha': 'debe8e9fd974517062a7622142bba2ecce0e6c60', 'repo': {'id': 11577304, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'name': 'dolphin'}}, 'base': {'ref': 'master', 'sha': 'eb9e232680dfdc04ec2adab05dbc530b1e707fc9', 'repo': {'id': 577809188, 'url': 'https://api.github.com/repos/Faster-Brawl/dolphin', 'name': 'dolphin'}}}, {'url': 'https://api.github.com/repos/dirextric-auto/dolphin/pulls/1', 'id': 571486662, 'number': 1, 'head': {'ref': 'master', 'sha': 'debe8e9fd974517062a7622142bba2ecce0e6c60', 'repo': {'id': 11577304, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'name': 'dolphin'}}, 'base': {'ref': 'master', 'sha': '1e71904cb9930eccc036e2ce2360beaa746befa7', 'repo': {'id': 337848960, 'url': 'https://api.github.com/repos/dirextric-auto/dolphin', 'name': 'dolphin'}}}, {'url': 'https://api.github.com/repos/zurgeg/dolphin-vr-no-ovr/pulls/1', 'id': 518053317, 'number': 1, 'head': {'ref': 'master', 'sha': 'debe8e9fd974517062a7622142bba2ecce0e6c60', 'repo': {'id': 11577304, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'name': 'dolphin'}}, 'base': {'ref': 'VR-Hydra', 'sha': 'ea9f95955e5335cc238b2f9c5a0a6dfdc8698aec', 'repo': {'id': 311469400, 'url': 'https://api.github.com/repos/zurgeg/dolphin-vr-no-ovr', 'name': 'dolphin-vr-no-ovr'}}}, {'url': 'https://api.github.com/repos/weihuoya/dolphin/pulls/1', 'id': 400884538, 'number': 1, 'head': {'ref': 'master', 'sha': 'debe8e9fd974517062a7622142bba2ecce0e6c60', 'repo': {'id': 11577304, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'name': 'dolphin'}}, 'base': {'ref': 'master', 'sha': '0f4c971326ae9389b3ad55b0fefacb708d148f4d', 'repo': {'id': 143011855, 'url': 'https://api.github.com/repos/weihuoya/dolphin', 'name': 'dolphin'}}}], 'app': {'id': 49947, 'client_id': 'Iv1.1fcaea7644d8b727', 'slug': 'dolphin-ci', 'node_id': 'MDM6QXBwNDk5NDc=', 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'name': 'Dolphin CI', 'description': 'Continuous Integration setup for [dolphin-emu.org](https://dolphin-emu.org/).', 'external_url': 'https://github.com/dolphin-emu', 'html_url': 'https://github.com/apps/dolphin-ci', 'created_at': '2019-12-26T22:26:07Z', 'updated_at': '2019-12-26T22:33:19Z', 'permissions': {'checks': 'write', 'contents': 'read', 'issues': 'write', 'members': 'read', 'metadata': 'read', 'pull_requests': 'write', 'statuses': 'write'}, 'events': ['check_run', 'commit_comment', 'issue_comment', 'pull_request', 'pull_request_review', 'pull_request_review_comment', 'push']}, 'created_at': '2026-09-06T02:37:59Z', 'updated_at': '2026-09-06T02:37:59Z', 'rerequestable': True, 'runs_rerequestable': True, 'latest_check_runs_count': 0, 'check_runs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/check-suites/92146130084/check-runs', 'head_commit': {'id': 'debe8e9fd974517062a7622142bba2ecce0e6c60', 'tree_id': 'f635c3fb95812b7c29ec60fe867522068783e8d8', 'message': 'Merge pull request #14789 from phire/optimise_vs_uid\n\nOptimize vertex_shader_uid_data down to 28 bytes', 'timestamp': '2026-09-06T02:37:57Z', 'author': {'name': 'Scott Mansell', 'email': 'phiren@gmail.com'}, 'committer': {'name': 'GitHub', 'email': 'noreply@github.com'}}}, '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-09-06T00:06:35Z', 'pushed_at': '2026-09-06T02:37:57Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 559857, 'stargazers_count': 15484, 'watchers_count': 15484, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3237, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 461, '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': 3237, 'open_issues': 461, 'watchers': 15484, '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': '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}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'raw_gh_hook'}
2026-09-06T02:37:59.987816 {'source': 'webserver', 'gh_type': 'push', 'raw': {'ref': 'refs/heads/master', 'before': 'bd389f6b003e9b2f910039a00262176672c2f56f', 'after': 'debe8e9fd974517062a7622142bba2ecce0e6c60', 'repository': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'name': 'dolphin-emu', 'email': None, 'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': 1374484077, 'updated_at': '2026-09-06T00:06:35Z', 'pushed_at': 1788662277, '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': 559857, 'stargazers_count': 15484, 'watchers_count': 15484, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': True, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3237, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 461, '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': 3237, 'open_issues': 461, 'watchers': 15484, 'default_branch': 'master', 'stargazers': 15484, 'master_branch': 'master', 'organization': 'dolphin-emu', 'custom_properties': {}}, 'pusher': {'name': 'phire', 'email': 'phiren@gmail.com'}, 'forced': False, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': '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}, 'created': False, 'deleted': False, 'base_ref': None, 'compare': 'https://github.com/dolphin-emu/dolphin/compare/bd389f6b003e...debe8e9fd974', 'commits': [{'id': 'e5eabd08f583fbdd3bb2551778e5ecb67dff0843', 'tree_id': 'be3f2202e01d477b2de1fa7df11945691028528a', 'distinct': False, 'message': "Optimize vertex_shader_uid_data down to 28 bytes\n\nThis started as a fixing a misalignment issue, but I got carried away.\nWas originally 41 bytes (overflowing it's expected 40 bytes by 1 bit).\n\nNow it's 27 bytes plus 8 bits of padding (ready for future expansion).\n\nThe savings come from:\n - Removing UV usage from components, it can be reconstructed from\n texcoord_elem_count (saved 8 bits)\n - Removed the 8 unused bits from texMtxInfo_n_projection (saved 8 bits)\n - Removing unused bit from from start of components (saved 1 bit)\n - Removed extra bit from inputform, texgentype and sourcerow\n - packed texMtxInfo_n_projection and texcoord_elem_count back into\n the per texgen info space freed up above. (saved 24 bits)\n - Overlayed postMtx index and Emboss mode shifts into a union based on\n texgentype (saved 56 bits)\n - Move to a single-bit union tag, freeing up an extra bit for regular\n texgens.\n - Move PotMtx normalize into the freed up space (saved 8 bits)\n\nTotal savings: 105 bits of data\n\nEDIT: Even worse, MSVC wasn't respecting pack(1) for bitfields at all,\n so on windows this struct was actually quite a bit larger.\n Something like 80 bytes, if not more.\n\n Fixed this by dropping the size of any enums used in these\n bit structs to u8. Our Common::BitField allows for the underlying\n type to be explicitly specified to something larger.\n\n msvc's bitfield packing appears to be completely braindead, can't\n mix sizes at all.", 'timestamp': '2026-08-07T18:42:52+12:00', 'url': 'https://github.com/dolphin-emu/dolphin/commit/e5eabd08f583fbdd3bb2551778e5ecb67dff0843', 'author': {'name': 'Scott Mansell', 'email': 'phiren@gmail.com', 'date': '2026-08-07T17:12:00+12:00', 'username': 'phire'}, 'committer': {'name': 'Scott Mansell', 'email': 'phiren@gmail.com', 'date': '2026-08-07T18:42:52+12:00', 'username': 'phire'}, 'added': [], 'removed': [], 'modified': ['Source/Core/VideoCommon/GXPipelineTypes.h', 'Source/Core/VideoCommon/NativeVertexFormat.h', 'Source/Core/VideoCommon/PipelineUtils.cpp', 'Source/Core/VideoCommon/VertexShaderGen.cpp', 'Source/Core/VideoCommon/VertexShaderGen.h', 'Source/Core/VideoCommon/XFMemory.h']}, {'id': 'debe8e9fd974517062a7622142bba2ecce0e6c60', 'tree_id': 'f635c3fb95812b7c29ec60fe867522068783e8d8', 'distinct': True, 'message': 'Merge pull request #14789 from phire/optimise_vs_uid\n\nOptimize vertex_shader_uid_data down to 28 bytes', 'timestamp': '2026-09-06T14:37:57+12:00', 'url': 'https://github.com/dolphin-emu/dolphin/commit/debe8e9fd974517062a7622142bba2ecce0e6c60', 'author': {'name': 'Scott Mansell', 'email': 'phiren@gmail.com', 'date': '2026-09-06T14:37:57+12:00', 'username': 'phire'}, 'committer': {'name': 'GitHub', 'email': 'noreply@github.com', 'date': '2026-09-06T14:37:57+12:00', 'username': 'web-flow'}, 'added': [], 'removed': [], 'modified': ['Source/Core/VideoCommon/GXPipelineTypes.h', 'Source/Core/VideoCommon/NativeVertexFormat.h', 'Source/Core/VideoCommon/PipelineUtils.cpp', 'Source/Core/VideoCommon/VertexShaderGen.cpp', 'Source/Core/VideoCommon/VertexShaderGen.h', 'Source/Core/VideoCommon/XFMemory.h']}], 'head_commit': {'id': 'debe8e9fd974517062a7622142bba2ecce0e6c60', 'tree_id': 'f635c3fb95812b7c29ec60fe867522068783e8d8', 'distinct': True, 'message': 'Merge pull request #14789 from phire/optimise_vs_uid\n\nOptimize vertex_shader_uid_data down to 28 bytes', 'timestamp': '2026-09-06T14:37:57+12:00', 'url': 'https://github.com/dolphin-emu/dolphin/commit/debe8e9fd974517062a7622142bba2ecce0e6c60', 'author': {'name': 'Scott Mansell', 'email': 'phiren@gmail.com', 'date': '2026-09-06T14:37:57+12:00', 'username': 'phire'}, 'committer': {'name': 'GitHub', 'email': 'noreply@github.com', 'date': '2026-09-06T14:37:57+12:00', 'username': 'web-flow'}, 'added': [], 'removed': [], 'modified': ['Source/Core/VideoCommon/GXPipelineTypes.h', 'Source/Core/VideoCommon/NativeVertexFormat.h', 'Source/Core/VideoCommon/PipelineUtils.cpp', 'Source/Core/VideoCommon/VertexShaderGen.cpp', 'Source/Core/VideoCommon/VertexShaderGen.h', 'Source/Core/VideoCommon/XFMemory.h']}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'raw_gh_hook'}
2026-09-06T02:37:59.689264 {'source': 'webserver', 'gh_type': 'pull_request', 'raw': {'action': 'closed', 'number': 14789, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14789', 'id': 4195013116, 'node_id': 'PR_kwDOALCn2M76CtH8', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14789', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14789.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14789.patch', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14789', 'number': 14789, 'state': 'closed', 'locked': False, 'title': 'Optimize vertex_shader_uid_data down to 28 bytes', '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}, 'body': "This started as a fixing a misalignment issue, but I got carried away. Was originally 41 bytes (overflowing it's expected 40 bytes by 1 bit).\r\n\r\nNow it's 27 bytes with 8 bits of padding (ready for future expansion).\r\n\r\nThe savings come from:\r\n - Removing UV usage from components, it can be reconstructed from texcoord_elem_count (saved 8 bits)\r\n - Removed the 8 unused bits from texMtxInfo_n_projection (saved 8 bits)\r\n - Removing unused bit from from start of components (saved 1 bit)\r\n - Removed extra bit from inputform, texgentype and sourcerow\r\n - packed texMtxInfo_n_projection and texcoord_elem_count back into the per texgen info space freed up above. (saved 24 bits)\r\n - Overlayed postMtx index and Emboss mode shifts into a union based on texgentype (saved 56 bits)\r\n - Move to a single-bit union tag, freeing up an extra bit for regular texgens.\r\n - Move PotMtx normalize into the freed up space (saved 8 bits)\r\n\r\nTotal savings: 105 bits of data\r\n\r\nEDIT: Even worse, MSVC wasn't respecting pack(1) for bitfields at all, so on windows this struct was actually quite a bit larger. Something like 80 bytes, if not more. So this PR cuts vertex UID size by almost 75%. \r\n\r\nFixed this by dropping the size of any enums used in these bit structs to u8. Our Common::BitField allows for the underlying type to be explicitly specified to something larger.\r\n\r\nmsvc's bitfield packing appears to be completely braindead, can't mix sizes at all. (fortunately, bool counts as u8) ", 'created_at': '2026-08-03T14:01:46Z', 'updated_at': '2026-09-06T02:37:58Z', 'closed_at': '2026-09-06T02:37:58Z', 'merged_at': '2026-09-06T02:37:58Z', 'merge_commit_sha': 'debe8e9fd974517062a7622142bba2ecce0e6c60', 'assignees': [], 'requested_reviewers': [], 'requested_teams': [], 'labels': [], 'milestone': None, 'draft': False, 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14789/commits', 'review_comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14789/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/14789/comments', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/e5eabd08f583fbdd3bb2551778e5ecb67dff0843', 'head': {'label': 'phire:optimise_vs_uid', 'ref': 'optimise_vs_uid', 'sha': 'e5eabd08f583fbdd3bb2551778e5ecb67dff0843', '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}, 'repo': {'id': 16432729, 'node_id': 'MDEwOlJlcG9zaXRvcnkxNjQzMjcyOQ==', 'name': 'dolphin', 'full_name': 'phire/dolphin', 'private': False, 'owner': {'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}, 'html_url': 'https://github.com/phire/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/phire/dolphin', 'forks_url': 'https://api.github.com/repos/phire/dolphin/forks', 'keys_url': 'https://api.github.com/repos/phire/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/phire/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/phire/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/phire/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/phire/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/phire/dolphin/events', 'assignees_url': 'https://api.github.com/repos/phire/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/phire/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/phire/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/phire/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/phire/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/phire/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/phire/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/phire/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/phire/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/phire/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/phire/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/phire/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/phire/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/phire/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/phire/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/phire/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/phire/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/phire/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/phire/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/phire/dolphin/merges', 'archive_url': 'https://api.github.com/repos/phire/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/phire/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/phire/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/phire/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/phire/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/phire/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/phire/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/phire/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/phire/dolphin/deployments', 'created_at': '2014-02-01T11:17:19Z', 'updated_at': '2026-07-31T03:08:13Z', 'pushed_at': '2026-08-11T05:05:29Z', 'git_url': 'git://github.com/phire/dolphin.git', 'ssh_url': 'git@github.com:phire/dolphin.git', 'clone_url': 'https://github.com/phire/dolphin.git', 'svn_url': 'https://github.com/phire/dolphin', 'homepage': None, 'size': 523110, 'stargazers_count': 4, 'watchers_count': 4, 'language': None, 'has_issues': False, 'has_projects': True, 'has_downloads': False, 'has_wiki': False, 'has_pages': False, 'has_discussions': False, 'forks_count': 0, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 1, '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': 0, 'open_issues': 1, 'watchers': 4, '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': '430138f468effe6bf396adf3cd4d46df4cbd9050', '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-09-06T00:06:35Z', 'pushed_at': '2026-09-06T00:06:31Z', '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': 559857, 'stargazers_count': 15484, 'watchers_count': 15484, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3237, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 461, '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': 3237, 'open_issues': 461, 'watchers': 15484, '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/14789'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14789'}, 'issue': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14789'}, 'comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14789/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14789/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/14789/commits'}, 'statuses': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/e5eabd08f583fbdd3bb2551778e5ecb67dff0843'}}, 'author_association': 'MEMBER', 'auto_merge': None, 'assignee': None, 'active_lock_reason': None, 'merged': True, 'mergeable': None, 'rebaseable': None, 'mergeable_state': 'unknown', 'merged_by': {'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}, 'comments': 1, 'review_comments': 2, 'maintainer_can_modify': False, 'commits': 1, 'additions': 165, 'deletions': 133, 'changed_files': 6}, '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-09-06T00:06:35Z', 'pushed_at': '2026-09-06T00:06:31Z', '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': 559857, 'stargazers_count': 15484, 'watchers_count': 15484, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3237, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 461, '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': 3237, 'open_issues': 461, 'watchers': 15484, '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': '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}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'raw_gh_hook'}
2026-09-06T01:35:11.109083 {'source': 'webserver', 'gh_type': 'pull_request_review', 'raw': {'action': 'submitted', 'review': {'id': 5123722995, 'node_id': 'PRR_kwDOALCn2M8AAAABMWXO8w', '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': None, 'commit_id': 'c774385c7b7911f467fbaf01c70893f54c63fc99', 'state': 'approved', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14817#pullrequestreview-5123722995', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14817', '_links': {'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14817#pullrequestreview-5123722995'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14817'}}, 'submitted_at': '2026-09-06T01:35:09Z', 'updated_at': '2026-09-06T01:35:09Z', 'author_association': 'CONTRIBUTOR'}, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14817', 'id': 4289216385, 'node_id': 'PR_kwDOALCn2M7_qD-B', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14817', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14817.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14817.patch', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14817', 'number': 14817, 'state': 'open', 'locked': False, 'title': 'Common: Add Android to GetNetplayDolphinVer', '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': 'This makes Android players show up as "Droid" instead of "Lin". (This is only visible in DolphinQt, not in the Android GUI.)', 'created_at': '2026-08-16T07:20:06Z', 'updated_at': '2026-08-21T18:37:33Z', 'closed_at': None, 'merged_at': None, 'merge_commit_sha': '767e3a8c3d67e50b5e5639b124cdbacdae2c6cd8', 'assignees': [], 'requested_reviewers': [], 'requested_teams': [], 'labels': [], 'milestone': None, 'draft': False, 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14817/commits', 'review_comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14817/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/14817/comments', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/c774385c7b7911f467fbaf01c70893f54c63fc99', 'head': {'label': 'JosJuice:android-netplay-version', 'ref': 'android-netplay-version', 'sha': 'c774385c7b7911f467fbaf01c70893f54c63fc99', '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}, 'repo': {'id': 26057138, 'node_id': 'MDEwOlJlcG9zaXRvcnkyNjA1NzEzOA==', 'name': 'dolphin', 'full_name': 'JosJuice/dolphin', 'private': False, 'owner': {'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}, 'html_url': 'https://github.com/JosJuice/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/JosJuice/dolphin', 'forks_url': 'https://api.github.com/repos/JosJuice/dolphin/forks', 'keys_url': 'https://api.github.com/repos/JosJuice/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/JosJuice/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/JosJuice/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/JosJuice/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/JosJuice/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/JosJuice/dolphin/events', 'assignees_url': 'https://api.github.com/repos/JosJuice/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/JosJuice/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/JosJuice/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/JosJuice/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/JosJuice/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/JosJuice/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/JosJuice/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/JosJuice/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/JosJuice/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/JosJuice/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/JosJuice/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/JosJuice/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/JosJuice/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/JosJuice/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/JosJuice/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/JosJuice/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/JosJuice/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/JosJuice/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/JosJuice/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/JosJuice/dolphin/merges', 'archive_url': 'https://api.github.com/repos/JosJuice/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/JosJuice/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/JosJuice/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/JosJuice/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/JosJuice/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/JosJuice/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/JosJuice/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/JosJuice/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/JosJuice/dolphin/deployments', 'created_at': '2014-11-01T17:12:40Z', 'updated_at': '2026-08-08T11:03:15Z', 'pushed_at': '2026-08-30T14:43:10Z', 'git_url': 'git://github.com/JosJuice/dolphin.git', 'ssh_url': 'git@github.com:JosJuice/dolphin.git', 'clone_url': 'https://github.com/JosJuice/dolphin.git', 'svn_url': 'https://github.com/JosJuice/dolphin', 'homepage': None, 'size': 525658, 'stargazers_count': 6, 'watchers_count': 6, 'language': 'C++', 'has_issues': False, 'has_projects': True, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 1, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 0, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': [], 'visibility': 'public', 'forks': 1, 'open_issues': 0, 'watchers': 6, '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': '38e70fda6597dab6b7e5e4d3949b199c0b4f2244', '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-09-06T00:06:35Z', 'pushed_at': '2026-09-06T00:06:31Z', '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': 559857, 'stargazers_count': 15484, 'watchers_count': 15484, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3237, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 462, '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': 3237, 'open_issues': 462, 'watchers': 15484, '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/14817'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14817'}, 'issue': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14817'}, 'comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14817/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14817/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/14817/commits'}, 'statuses': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/c774385c7b7911f467fbaf01c70893f54c63fc99'}}, '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-09-06T00:06:35Z', 'pushed_at': '2026-09-06T00:06:31Z', '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': 559857, 'stargazers_count': 15484, 'watchers_count': 15484, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3237, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 462, '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': 3237, 'open_issues': 462, 'watchers': 15484, '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-09-06T00:35:45.376245 {'source': 'webserver', 'gh_type': 'pull_request_review', 'raw': {'action': 'submitted', 'review': {'id': 5123572081, 'node_id': 'PRR_kwDOALCn2M8AAAABMWOBcQ', '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': None, 'commit_id': 'e7f23da63c5d81262c8efb5e3a320ce2509f11b8', 'state': 'commented', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14840#pullrequestreview-5123572081', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14840', '_links': {'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14840#pullrequestreview-5123572081'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14840'}}, 'submitted_at': '2026-09-06T00:35:43Z', 'updated_at': '2026-09-06T00:35:43Z', 'author_association': 'CONTRIBUTOR'}, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14840', 'id': 4427828350, 'node_id': 'PR_kwDOALCn2M8AAAABB-tMfg', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14840', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14840.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14840.patch', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14840', 'number': 14840, 'state': 'open', 'locked': False, 'title': 'VideoCommon: split partial texture update logic from the actual rendering', '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': 'Late last year I started working on a new feature that required Dolphin to think about how it renders in a different way. In order to prepare for that, I will be creating some PRs that restructure or refactor our existing code.\r\n\r\nThis PR is for the texture cache. Partial texture updates are a complex piece of logic that currently interweave the rendering and the logic details. This change attempts to split them out into two separate parts. There is a tiny bit of overhead to avoid invalidation of entries in a map we are iterating (that was previously avoided due to everything being in one function) but I think this code has value even without my future changes from a readability perspective.\r\n\r\nFunctionality should not change with these PRs. I did some mild testing but fifo ci should hopefully confirm if any changes slipped through.', 'created_at': '2026-09-03T00:10:29Z', 'updated_at': '2026-09-06T00:24:55Z', 'closed_at': None, 'merged_at': None, 'merge_commit_sha': 'e6470f53a3c7c6fc44834bc6bebd682b2f110f62', 'assignees': [], 'requested_reviewers': [], 'requested_teams': [], 'labels': [], 'milestone': None, 'draft': False, 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14840/commits', 'review_comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14840/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/14840/comments', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/e7f23da63c5d81262c8efb5e3a320ce2509f11b8', 'head': {'label': 'iwubcode:dolphin_texture_refactor_3', 'ref': 'dolphin_texture_refactor_3', 'sha': 'e7f23da63c5d81262c8efb5e3a320ce2509f11b8', 'user': {'login': 'iwubcode', 'id': 15224722, 'node_id': 'MDQ6VXNlcjE1MjI0NzIy', 'avatar_url': 'https://avatars.githubusercontent.com/u/15224722?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/iwubcode', 'html_url': 'https://github.com/iwubcode', 'followers_url': 'https://api.github.com/users/iwubcode/followers', 'following_url': 'https://api.github.com/users/iwubcode/following{/other_user}', 'gists_url': 'https://api.github.com/users/iwubcode/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/iwubcode/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/iwubcode/subscriptions', 'organizations_url': 'https://api.github.com/users/iwubcode/orgs', 'repos_url': 'https://api.github.com/users/iwubcode/repos', 'events_url': 'https://api.github.com/users/iwubcode/events{/privacy}', 'received_events_url': 'https://api.github.com/users/iwubcode/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 77596353, 'node_id': 'MDEwOlJlcG9zaXRvcnk3NzU5NjM1Mw==', 'name': 'dolphin', 'full_name': 'iwubcode/dolphin', 'private': False, 'owner': {'login': 'iwubcode', 'id': 15224722, 'node_id': 'MDQ6VXNlcjE1MjI0NzIy', 'avatar_url': 'https://avatars.githubusercontent.com/u/15224722?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/iwubcode', 'html_url': 'https://github.com/iwubcode', 'followers_url': 'https://api.github.com/users/iwubcode/followers', 'following_url': 'https://api.github.com/users/iwubcode/following{/other_user}', 'gists_url': 'https://api.github.com/users/iwubcode/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/iwubcode/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/iwubcode/subscriptions', 'organizations_url': 'https://api.github.com/users/iwubcode/orgs', 'repos_url': 'https://api.github.com/users/iwubcode/repos', 'events_url': 'https://api.github.com/users/iwubcode/events{/privacy}', 'received_events_url': 'https://api.github.com/users/iwubcode/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/iwubcode/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': True, 'url': 'https://api.github.com/repos/iwubcode/dolphin', 'forks_url': 'https://api.github.com/repos/iwubcode/dolphin/forks', 'keys_url': 'https://api.github.com/repos/iwubcode/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/iwubcode/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/iwubcode/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/iwubcode/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/iwubcode/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/iwubcode/dolphin/events', 'assignees_url': 'https://api.github.com/repos/iwubcode/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/iwubcode/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/iwubcode/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/iwubcode/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/iwubcode/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/iwubcode/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/iwubcode/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/iwubcode/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/iwubcode/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/iwubcode/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/iwubcode/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/iwubcode/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/iwubcode/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/iwubcode/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/iwubcode/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/iwubcode/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/iwubcode/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/iwubcode/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/iwubcode/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/iwubcode/dolphin/merges', 'archive_url': 'https://api.github.com/repos/iwubcode/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/iwubcode/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/iwubcode/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/iwubcode/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/iwubcode/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/iwubcode/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/iwubcode/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/iwubcode/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/iwubcode/dolphin/deployments', 'created_at': '2016-12-29T08:26:39Z', 'updated_at': '2026-08-30T16:51:14Z', 'pushed_at': '2026-09-05T20:29:41Z', 'git_url': 'git://github.com/iwubcode/dolphin.git', 'ssh_url': 'git@github.com:iwubcode/dolphin.git', 'clone_url': 'https://github.com/iwubcode/dolphin.git', 'svn_url': 'https://github.com/iwubcode/dolphin', 'homepage': 'https://dolphin-emu.org/', 'size': 523959, 'stargazers_count': 2, 'watchers_count': 2, 'language': 'C++', 'has_issues': False, 'has_projects': True, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 1, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': [], 'visibility': 'public', 'forks': 3, 'open_issues': 1, 'watchers': 2, 'default_branch': 'master', 'allow_squash_merge': True, 'allow_merge_commit': True, 'allow_rebase_merge': True, 'allow_auto_merge': False, 'delete_branch_on_merge': False, 'allow_update_branch': False, 'use_squash_pr_title_as_default': False, 'squash_merge_commit_message': 'COMMIT_MESSAGES', 'squash_merge_commit_title': 'COMMIT_OR_PR_TITLE', 'merge_commit_message': 'PR_TITLE', 'merge_commit_title': 'MERGE_MESSAGE'}}, 'base': {'label': 'dolphin-emu:master', 'ref': 'master', 'sha': 'a1e636d72c8469acf747ac6542f0b7ace7cea02f', '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-09-06T00:06:35Z', 'pushed_at': '2026-09-06T00:06:31Z', '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': 559851, 'stargazers_count': 15484, 'watchers_count': 15484, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3237, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 462, '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': 3237, 'open_issues': 462, 'watchers': 15484, '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/14840'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14840'}, 'issue': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14840'}, 'comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14840/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14840/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/14840/commits'}, 'statuses': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/e7f23da63c5d81262c8efb5e3a320ce2509f11b8'}}, '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-09-06T00:06:35Z', 'pushed_at': '2026-09-06T00:06:31Z', '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': 559851, 'stargazers_count': 15484, 'watchers_count': 15484, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3237, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 462, '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': 3237, 'open_issues': 462, 'watchers': 15484, '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': '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}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'raw_gh_hook'}
2026-09-06T00:35:44.982734 {'source': 'webserver', 'gh_type': 'pull_request_review_comment', 'raw': {'action': 'created', 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/3942512666', 'pull_request_review_id': 5123572081, 'id': 3942512666, 'node_id': 'PRRC_kwDOALCn2M7q_fga', 'diff_hunk': "@@ -809,6 +810,149 @@ void TCacheEntry::DoState(PointerWrap& p)\n p.Do(frameCount);\n }\n \n+PartialTextureUpdateContext TextureCacheBase::BuildPartialUpdateContext(\n+ const RcTcacheEntry& target, const RcTcacheEntry& source, const u8* palette, TLUTFormat tlutfmt,\n+ bool is_palette_texture, u32 block_width, u32 block_height, u32 block_size, u32 numBlocksX)\n+{\n+ RcTcacheEntry source_entry = source;\n+\n+ PartialTextureUpdateContext context;\n+ context.target_entry = target;\n+ context.source_entry = source_entry;\n+\n+ // If the texture formats are not compatible or convertible, skip it.\n+ if (!IsCompatibleTextureFormat(target->format.texfmt, source_entry->format.texfmt))\n+ {\n+ if (CanReinterpretTextureOnGPU(target->format.texfmt, source_entry->format.texfmt))\n+ {\n+ context.needs_reinterpret = true;\n+ context.reinterpret_entry =\n+ CreateReinterpretEntry(context.source_entry, target->format.texfmt);\n+ if (!context.reinterpret_entry)\n+ return {};\n+\n+ source_entry = context.reinterpret_entry;\n+ }\n+ else\n+ {\n+ return {};\n+ }\n+ }\n+\n+ if (is_palette_texture)\n+ {\n+ context.needs_palette = true;\n+ context.tlutfmt = tlutfmt;\n+ std::tie(context.palette_entry, context.texel_offset) =\n+ CreatePaletteEntryWithOffset(source_entry, palette);\n+ if (!context.palette_entry)\n+ return {};\n+\n+ // Link the efb copy with the partially updated texture, so we won't apply this partial\n+ // update again\n+ source_entry->CreateReference(target.get());\n+ // Mark the texture update as used, as if it was loaded directly\n+ source_entry->frameCount = FRAMECOUNT_INVALID;\n+\n+ source_entry = context.palette_entry;\n+ }\n+\n+ u32 src_x, src_y, dst_x, dst_y;\n+\n+ // Note for understanding the math:\n+ // Normal textures can't be strided, so the 2 missing cases with src_x > 0 don't exist\n+ if (source_entry->addr >= target->addr)\n+ {\n+ u32 block_offset = (source_entry->addr - target->addr) / block_size;\n+ u32 block_x = block_offset % numBlocksX;\n+ u32 block_y = block_offset / numBlocksX;\n+ src_x = 0;\n+ src_y = 0;\n+ dst_x = block_x * block_width;\n+ dst_y = block_y * block_height;\n+ }\n+ else\n+ {\n+ u32 block_offset = (target->addr - source_entry->addr) / block_size;\n+ u32 block_x = (~block_offset + 1) % numBlocksX;\n+ u32 block_y = (block_offset + block_x) / numBlocksX;\n+ src_x = 0;\n+ src_y = block_y * block_height;\n+ dst_x = block_x * block_width;\n+ dst_y = 0;\n+ }\n+\n+ u32 copy_width = std::min(source_entry->native_width - src_x, target->native_width - dst_x);\n+ u32 copy_height = std::min(source_entry->native_height - src_y, target->native_height - dst_y);\n+\n+ // If one of the textures is scaled, scale both with the current efb scaling factor\n+ if (target->native_width != target->GetWidth() || target->native_height != target->GetHeight() ||\n+ source_entry->native_width != source_entry->GetWidth() ||\n+ source_entry->native_height != source_entry->GetHeight())\n+ {", 'path': 'Source/Core/VideoCommon/TextureCacheBase.cpp', 'commit_id': 'e7f23da63c5d81262c8efb5e3a320ce2509f11b8', 'original_commit_id': 'e7f23da63c5d81262c8efb5e3a320ce2509f11b8', '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': "Good question. This is an [old change](https://github.com/dolphin-emu/dolphin/commit/99555a35cad56b53ead422f23eae49a2251e52d6). The scale is [by region](https://github.com/dolphin-emu/dolphin/blob/bd389f6b003e9b2f910039a00262176672c2f56f/Source/Core/VideoCommon/AbstractGfx.cpp#L108), so not sure there's any concern from that angle. I haven't looked at it in much detail.", 'created_at': '2026-09-06T00:35:43Z', 'updated_at': '2026-09-06T00:35:43Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14840#discussion_r3942512666', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14840', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/3942512666'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14840#discussion_r3942512666'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14840'}}, 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/3942512666/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'start_line': 889, 'original_start_line': 889, 'start_side': 'RIGHT', 'line': 892, 'original_line': 892, 'side': 'RIGHT', 'in_reply_to_id': 3942422078, 'author_association': 'CONTRIBUTOR', 'original_position': 91, 'position': 91, 'subject_type': 'line'}, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14840', 'id': 4427828350, 'node_id': 'PR_kwDOALCn2M8AAAABB-tMfg', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14840', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14840.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14840.patch', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14840', 'number': 14840, 'state': 'open', 'locked': False, 'title': 'VideoCommon: split partial texture update logic from the actual rendering', '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': 'Late last year I started working on a new feature that required Dolphin to think about how it renders in a different way. In order to prepare for that, I will be creating some PRs that restructure or refactor our existing code.\r\n\r\nThis PR is for the texture cache. Partial texture updates are a complex piece of logic that currently interweave the rendering and the logic details. This change attempts to split them out into two separate parts. There is a tiny bit of overhead to avoid invalidation of entries in a map we are iterating (that was previously avoided due to everything being in one function) but I think this code has value even without my future changes from a readability perspective.\r\n\r\nFunctionality should not change with these PRs. I did some mild testing but fifo ci should hopefully confirm if any changes slipped through.', 'created_at': '2026-09-03T00:10:29Z', 'updated_at': '2026-09-06T00:24:55Z', 'closed_at': None, 'merged_at': None, 'merge_commit_sha': 'e6470f53a3c7c6fc44834bc6bebd682b2f110f62', 'assignees': [], 'requested_reviewers': [], 'requested_teams': [], 'labels': [], 'milestone': None, 'draft': False, 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14840/commits', 'review_comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14840/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/14840/comments', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/e7f23da63c5d81262c8efb5e3a320ce2509f11b8', 'head': {'label': 'iwubcode:dolphin_texture_refactor_3', 'ref': 'dolphin_texture_refactor_3', 'sha': 'e7f23da63c5d81262c8efb5e3a320ce2509f11b8', 'user': {'login': 'iwubcode', 'id': 15224722, 'node_id': 'MDQ6VXNlcjE1MjI0NzIy', 'avatar_url': 'https://avatars.githubusercontent.com/u/15224722?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/iwubcode', 'html_url': 'https://github.com/iwubcode', 'followers_url': 'https://api.github.com/users/iwubcode/followers', 'following_url': 'https://api.github.com/users/iwubcode/following{/other_user}', 'gists_url': 'https://api.github.com/users/iwubcode/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/iwubcode/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/iwubcode/subscriptions', 'organizations_url': 'https://api.github.com/users/iwubcode/orgs', 'repos_url': 'https://api.github.com/users/iwubcode/repos', 'events_url': 'https://api.github.com/users/iwubcode/events{/privacy}', 'received_events_url': 'https://api.github.com/users/iwubcode/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 77596353, 'node_id': 'MDEwOlJlcG9zaXRvcnk3NzU5NjM1Mw==', 'name': 'dolphin', 'full_name': 'iwubcode/dolphin', 'private': False, 'owner': {'login': 'iwubcode', 'id': 15224722, 'node_id': 'MDQ6VXNlcjE1MjI0NzIy', 'avatar_url': 'https://avatars.githubusercontent.com/u/15224722?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/iwubcode', 'html_url': 'https://github.com/iwubcode', 'followers_url': 'https://api.github.com/users/iwubcode/followers', 'following_url': 'https://api.github.com/users/iwubcode/following{/other_user}', 'gists_url': 'https://api.github.com/users/iwubcode/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/iwubcode/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/iwubcode/subscriptions', 'organizations_url': 'https://api.github.com/users/iwubcode/orgs', 'repos_url': 'https://api.github.com/users/iwubcode/repos', 'events_url': 'https://api.github.com/users/iwubcode/events{/privacy}', 'received_events_url': 'https://api.github.com/users/iwubcode/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/iwubcode/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': True, 'url': 'https://api.github.com/repos/iwubcode/dolphin', 'forks_url': 'https://api.github.com/repos/iwubcode/dolphin/forks', 'keys_url': 'https://api.github.com/repos/iwubcode/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/iwubcode/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/iwubcode/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/iwubcode/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/iwubcode/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/iwubcode/dolphin/events', 'assignees_url': 'https://api.github.com/repos/iwubcode/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/iwubcode/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/iwubcode/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/iwubcode/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/iwubcode/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/iwubcode/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/iwubcode/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/iwubcode/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/iwubcode/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/iwubcode/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/iwubcode/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/iwubcode/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/iwubcode/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/iwubcode/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/iwubcode/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/iwubcode/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/iwubcode/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/iwubcode/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/iwubcode/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/iwubcode/dolphin/merges', 'archive_url': 'https://api.github.com/repos/iwubcode/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/iwubcode/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/iwubcode/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/iwubcode/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/iwubcode/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/iwubcode/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/iwubcode/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/iwubcode/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/iwubcode/dolphin/deployments', 'created_at': '2016-12-29T08:26:39Z', 'updated_at': '2026-08-30T16:51:14Z', 'pushed_at': '2026-09-05T20:29:41Z', 'git_url': 'git://github.com/iwubcode/dolphin.git', 'ssh_url': 'git@github.com:iwubcode/dolphin.git', 'clone_url': 'https://github.com/iwubcode/dolphin.git', 'svn_url': 'https://github.com/iwubcode/dolphin', 'homepage': 'https://dolphin-emu.org/', 'size': 523959, 'stargazers_count': 2, 'watchers_count': 2, 'language': 'C++', 'has_issues': False, 'has_projects': True, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 1, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': [], 'visibility': 'public', 'forks': 3, 'open_issues': 1, 'watchers': 2, 'default_branch': 'master', 'allow_squash_merge': True, 'allow_merge_commit': True, 'allow_rebase_merge': True, 'allow_auto_merge': False, 'delete_branch_on_merge': False, 'allow_update_branch': False, 'use_squash_pr_title_as_default': False, 'squash_merge_commit_message': 'COMMIT_MESSAGES', 'squash_merge_commit_title': 'COMMIT_OR_PR_TITLE', 'merge_commit_message': 'PR_TITLE', 'merge_commit_title': 'MERGE_MESSAGE'}}, 'base': {'label': 'dolphin-emu:master', 'ref': 'master', 'sha': 'a1e636d72c8469acf747ac6542f0b7ace7cea02f', '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-09-06T00:06:35Z', 'pushed_at': '2026-09-06T00:06:31Z', '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': 559851, 'stargazers_count': 15484, 'watchers_count': 15484, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3237, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 462, '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': 3237, 'open_issues': 462, 'watchers': 15484, '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/14840'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14840'}, 'issue': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14840'}, 'comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14840/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14840/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/14840/commits'}, 'statuses': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/e7f23da63c5d81262c8efb5e3a320ce2509f11b8'}}, '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-09-06T00:06:35Z', 'pushed_at': '2026-09-06T00:06:31Z', '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': 559851, 'stargazers_count': 15484, 'watchers_count': 15484, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3237, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 462, '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': 3237, 'open_issues': 462, 'watchers': 15484, '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': '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}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'raw_gh_hook'}
2026-09-06T00:31:08.678018 {'source': 'webserver', 'gh_type': 'pull_request_review_comment', 'raw': {'action': 'created', 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/3942503601', 'pull_request_review_id': 5123563582, 'id': 3942503601, 'node_id': 'PRRC_kwDOALCn2M7q_dSx', 'diff_hunk': '@@ -98,6 +99,64 @@ struct EFBCopyParams\n bool apply_gamma;\n };\n \n+struct FramebufferCopyRawData\n+{\n+ UPE_Copy pe_copy;', 'path': 'Source/Core/VideoCommon/TextureCacheBase.h', 'commit_id': 'a7698f4a921cbe63404bbf4c6d0f0ec6a6c2526f', 'original_commit_id': 'a7698f4a921cbe63404bbf4c6d0f0ec6a6c2526f', 'user': {'login': 'iwubcode', 'id': 15224722, 'node_id': 'MDQ6VXNlcjE1MjI0NzIy', 'avatar_url': 'https://avatars.githubusercontent.com/u/15224722?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/iwubcode', 'html_url': 'https://github.com/iwubcode', 'followers_url': 'https://api.github.com/users/iwubcode/followers', 'following_url': 'https://api.github.com/users/iwubcode/following{/other_user}', 'gists_url': 'https://api.github.com/users/iwubcode/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/iwubcode/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/iwubcode/subscriptions', 'organizations_url': 'https://api.github.com/users/iwubcode/orgs', 'repos_url': 'https://api.github.com/users/iwubcode/repos', 'events_url': 'https://api.github.com/users/iwubcode/events{/privacy}', 'received_events_url': 'https://api.github.com/users/iwubcode/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': 'I believe you are right. I can remove it!', 'created_at': '2026-09-06T00:31:06Z', 'updated_at': '2026-09-06T00:31:06Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14836#discussion_r3942503601', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14836', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/3942503601'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14836#discussion_r3942503601'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14836'}}, 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/3942503601/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': 104, 'original_line': 104, 'side': 'RIGHT', 'in_reply_to_id': 3942467883, 'author_association': 'CONTRIBUTOR', 'original_position': 14, 'position': 14, 'subject_type': 'line'}, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14836', 'id': 4399903594, 'node_id': 'PR_kwDOALCn2M8AAAABBkEzag', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14836', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14836.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14836.patch', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14836', 'number': 14836, 'state': 'open', 'locked': False, 'title': 'VideoCommon: refactor texture cache frame buffer copies', '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': "Late last year I started working on a new feature that required Dolphin to think about how it renders in a different way. In order to prepare for that, I will be creating some PRs that restructure or refactor our existing code.\r\n\r\nThis PR is for the texture cache. Frame buffer copies (EFB or XFB) have a number of paths they take and this PR tries to split up the main function 'CopyRenderTargetToTexture' into smaller functions.\r\n\r\nFunctionality should not change with these PRs. I did some mild testing but fifo ci should hopefully confirm if any changes slipped through.", 'created_at': '2026-08-31T06:46:04Z', 'updated_at': '2026-09-06T00:12:10Z', 'closed_at': None, 'merged_at': None, 'merge_commit_sha': 'cb2dc47a9cc071591e253acc5de414e88009532e', 'assignees': [], 'requested_reviewers': [], 'requested_teams': [], 'labels': [], 'milestone': None, 'draft': False, 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14836/commits', 'review_comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14836/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/14836/comments', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/a7698f4a921cbe63404bbf4c6d0f0ec6a6c2526f', 'head': {'label': 'iwubcode:dolphin_texture_refactor_1', 'ref': 'dolphin_texture_refactor_1', 'sha': 'a7698f4a921cbe63404bbf4c6d0f0ec6a6c2526f', 'user': {'login': 'iwubcode', 'id': 15224722, 'node_id': 'MDQ6VXNlcjE1MjI0NzIy', 'avatar_url': 'https://avatars.githubusercontent.com/u/15224722?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/iwubcode', 'html_url': 'https://github.com/iwubcode', 'followers_url': 'https://api.github.com/users/iwubcode/followers', 'following_url': 'https://api.github.com/users/iwubcode/following{/other_user}', 'gists_url': 'https://api.github.com/users/iwubcode/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/iwubcode/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/iwubcode/subscriptions', 'organizations_url': 'https://api.github.com/users/iwubcode/orgs', 'repos_url': 'https://api.github.com/users/iwubcode/repos', 'events_url': 'https://api.github.com/users/iwubcode/events{/privacy}', 'received_events_url': 'https://api.github.com/users/iwubcode/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 77596353, 'node_id': 'MDEwOlJlcG9zaXRvcnk3NzU5NjM1Mw==', 'name': 'dolphin', 'full_name': 'iwubcode/dolphin', 'private': False, 'owner': {'login': 'iwubcode', 'id': 15224722, 'node_id': 'MDQ6VXNlcjE1MjI0NzIy', 'avatar_url': 'https://avatars.githubusercontent.com/u/15224722?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/iwubcode', 'html_url': 'https://github.com/iwubcode', 'followers_url': 'https://api.github.com/users/iwubcode/followers', 'following_url': 'https://api.github.com/users/iwubcode/following{/other_user}', 'gists_url': 'https://api.github.com/users/iwubcode/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/iwubcode/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/iwubcode/subscriptions', 'organizations_url': 'https://api.github.com/users/iwubcode/orgs', 'repos_url': 'https://api.github.com/users/iwubcode/repos', 'events_url': 'https://api.github.com/users/iwubcode/events{/privacy}', 'received_events_url': 'https://api.github.com/users/iwubcode/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/iwubcode/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': True, 'url': 'https://api.github.com/repos/iwubcode/dolphin', 'forks_url': 'https://api.github.com/repos/iwubcode/dolphin/forks', 'keys_url': 'https://api.github.com/repos/iwubcode/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/iwubcode/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/iwubcode/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/iwubcode/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/iwubcode/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/iwubcode/dolphin/events', 'assignees_url': 'https://api.github.com/repos/iwubcode/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/iwubcode/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/iwubcode/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/iwubcode/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/iwubcode/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/iwubcode/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/iwubcode/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/iwubcode/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/iwubcode/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/iwubcode/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/iwubcode/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/iwubcode/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/iwubcode/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/iwubcode/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/iwubcode/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/iwubcode/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/iwubcode/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/iwubcode/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/iwubcode/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/iwubcode/dolphin/merges', 'archive_url': 'https://api.github.com/repos/iwubcode/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/iwubcode/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/iwubcode/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/iwubcode/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/iwubcode/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/iwubcode/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/iwubcode/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/iwubcode/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/iwubcode/dolphin/deployments', 'created_at': '2016-12-29T08:26:39Z', 'updated_at': '2026-08-30T16:51:14Z', 'pushed_at': '2026-09-05T20:29:41Z', 'git_url': 'git://github.com/iwubcode/dolphin.git', 'ssh_url': 'git@github.com:iwubcode/dolphin.git', 'clone_url': 'https://github.com/iwubcode/dolphin.git', 'svn_url': 'https://github.com/iwubcode/dolphin', 'homepage': 'https://dolphin-emu.org/', 'size': 523959, 'stargazers_count': 2, 'watchers_count': 2, 'language': 'C++', 'has_issues': False, 'has_projects': True, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 1, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': [], 'visibility': 'public', 'forks': 3, 'open_issues': 1, 'watchers': 2, 'default_branch': 'master', 'allow_squash_merge': True, 'allow_merge_commit': True, 'allow_rebase_merge': True, 'allow_auto_merge': False, 'delete_branch_on_merge': False, 'allow_update_branch': False, 'use_squash_pr_title_as_default': False, 'squash_merge_commit_message': 'COMMIT_MESSAGES', 'squash_merge_commit_title': 'COMMIT_OR_PR_TITLE', 'merge_commit_message': 'PR_TITLE', 'merge_commit_title': 'MERGE_MESSAGE'}}, 'base': {'label': 'dolphin-emu:master', 'ref': 'master', 'sha': 'f0862e12e18c75f508aa5423f8726bf5b39d8e8d', '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-09-06T00:06:35Z', 'pushed_at': '2026-09-06T00:06:31Z', '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': 559851, 'stargazers_count': 15484, 'watchers_count': 15484, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3237, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 462, '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': 3237, 'open_issues': 462, 'watchers': 15484, '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/14836'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14836'}, 'issue': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14836'}, 'comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14836/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14836/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/14836/commits'}, 'statuses': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/a7698f4a921cbe63404bbf4c6d0f0ec6a6c2526f'}}, '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-09-06T00:06:35Z', 'pushed_at': '2026-09-06T00:06:31Z', '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': 559851, 'stargazers_count': 15484, 'watchers_count': 15484, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3237, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 462, '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': 3237, 'open_issues': 462, 'watchers': 15484, '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': '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}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'raw_gh_hook'}
2026-09-06T00:31:08.677120 {'source': 'webserver', 'gh_type': 'pull_request_review', 'raw': {'action': 'submitted', 'review': {'id': 5123563582, 'node_id': 'PRR_kwDOALCn2M8AAAABMWNgPg', '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': None, 'commit_id': 'a7698f4a921cbe63404bbf4c6d0f0ec6a6c2526f', 'state': 'commented', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14836#pullrequestreview-5123563582', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14836', '_links': {'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14836#pullrequestreview-5123563582'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14836'}}, 'submitted_at': '2026-09-06T00:31:06Z', 'updated_at': '2026-09-06T00:31:06Z', 'author_association': 'CONTRIBUTOR'}, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14836', 'id': 4399903594, 'node_id': 'PR_kwDOALCn2M8AAAABBkEzag', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14836', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14836.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14836.patch', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14836', 'number': 14836, 'state': 'open', 'locked': False, 'title': 'VideoCommon: refactor texture cache frame buffer copies', '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': "Late last year I started working on a new feature that required Dolphin to think about how it renders in a different way. In order to prepare for that, I will be creating some PRs that restructure or refactor our existing code.\r\n\r\nThis PR is for the texture cache. Frame buffer copies (EFB or XFB) have a number of paths they take and this PR tries to split up the main function 'CopyRenderTargetToTexture' into smaller functions.\r\n\r\nFunctionality should not change with these PRs. I did some mild testing but fifo ci should hopefully confirm if any changes slipped through.", 'created_at': '2026-08-31T06:46:04Z', 'updated_at': '2026-09-06T00:12:10Z', 'closed_at': None, 'merged_at': None, 'merge_commit_sha': 'cb2dc47a9cc071591e253acc5de414e88009532e', 'assignees': [], 'requested_reviewers': [], 'requested_teams': [], 'labels': [], 'milestone': None, 'draft': False, 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14836/commits', 'review_comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14836/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/14836/comments', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/a7698f4a921cbe63404bbf4c6d0f0ec6a6c2526f', 'head': {'label': 'iwubcode:dolphin_texture_refactor_1', 'ref': 'dolphin_texture_refactor_1', 'sha': 'a7698f4a921cbe63404bbf4c6d0f0ec6a6c2526f', 'user': {'login': 'iwubcode', 'id': 15224722, 'node_id': 'MDQ6VXNlcjE1MjI0NzIy', 'avatar_url': 'https://avatars.githubusercontent.com/u/15224722?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/iwubcode', 'html_url': 'https://github.com/iwubcode', 'followers_url': 'https://api.github.com/users/iwubcode/followers', 'following_url': 'https://api.github.com/users/iwubcode/following{/other_user}', 'gists_url': 'https://api.github.com/users/iwubcode/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/iwubcode/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/iwubcode/subscriptions', 'organizations_url': 'https://api.github.com/users/iwubcode/orgs', 'repos_url': 'https://api.github.com/users/iwubcode/repos', 'events_url': 'https://api.github.com/users/iwubcode/events{/privacy}', 'received_events_url': 'https://api.github.com/users/iwubcode/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 77596353, 'node_id': 'MDEwOlJlcG9zaXRvcnk3NzU5NjM1Mw==', 'name': 'dolphin', 'full_name': 'iwubcode/dolphin', 'private': False, 'owner': {'login': 'iwubcode', 'id': 15224722, 'node_id': 'MDQ6VXNlcjE1MjI0NzIy', 'avatar_url': 'https://avatars.githubusercontent.com/u/15224722?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/iwubcode', 'html_url': 'https://github.com/iwubcode', 'followers_url': 'https://api.github.com/users/iwubcode/followers', 'following_url': 'https://api.github.com/users/iwubcode/following{/other_user}', 'gists_url': 'https://api.github.com/users/iwubcode/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/iwubcode/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/iwubcode/subscriptions', 'organizations_url': 'https://api.github.com/users/iwubcode/orgs', 'repos_url': 'https://api.github.com/users/iwubcode/repos', 'events_url': 'https://api.github.com/users/iwubcode/events{/privacy}', 'received_events_url': 'https://api.github.com/users/iwubcode/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/iwubcode/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': True, 'url': 'https://api.github.com/repos/iwubcode/dolphin', 'forks_url': 'https://api.github.com/repos/iwubcode/dolphin/forks', 'keys_url': 'https://api.github.com/repos/iwubcode/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/iwubcode/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/iwubcode/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/iwubcode/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/iwubcode/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/iwubcode/dolphin/events', 'assignees_url': 'https://api.github.com/repos/iwubcode/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/iwubcode/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/iwubcode/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/iwubcode/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/iwubcode/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/iwubcode/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/iwubcode/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/iwubcode/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/iwubcode/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/iwubcode/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/iwubcode/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/iwubcode/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/iwubcode/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/iwubcode/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/iwubcode/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/iwubcode/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/iwubcode/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/iwubcode/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/iwubcode/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/iwubcode/dolphin/merges', 'archive_url': 'https://api.github.com/repos/iwubcode/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/iwubcode/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/iwubcode/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/iwubcode/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/iwubcode/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/iwubcode/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/iwubcode/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/iwubcode/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/iwubcode/dolphin/deployments', 'created_at': '2016-12-29T08:26:39Z', 'updated_at': '2026-08-30T16:51:14Z', 'pushed_at': '2026-09-05T20:29:41Z', 'git_url': 'git://github.com/iwubcode/dolphin.git', 'ssh_url': 'git@github.com:iwubcode/dolphin.git', 'clone_url': 'https://github.com/iwubcode/dolphin.git', 'svn_url': 'https://github.com/iwubcode/dolphin', 'homepage': 'https://dolphin-emu.org/', 'size': 523959, 'stargazers_count': 2, 'watchers_count': 2, 'language': 'C++', 'has_issues': False, 'has_projects': True, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 1, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': [], 'visibility': 'public', 'forks': 3, 'open_issues': 1, 'watchers': 2, 'default_branch': 'master', 'allow_squash_merge': True, 'allow_merge_commit': True, 'allow_rebase_merge': True, 'allow_auto_merge': False, 'delete_branch_on_merge': False, 'allow_update_branch': False, 'use_squash_pr_title_as_default': False, 'squash_merge_commit_message': 'COMMIT_MESSAGES', 'squash_merge_commit_title': 'COMMIT_OR_PR_TITLE', 'merge_commit_message': 'PR_TITLE', 'merge_commit_title': 'MERGE_MESSAGE'}}, 'base': {'label': 'dolphin-emu:master', 'ref': 'master', 'sha': 'f0862e12e18c75f508aa5423f8726bf5b39d8e8d', '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-09-06T00:06:35Z', 'pushed_at': '2026-09-06T00:06:31Z', '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': 559851, 'stargazers_count': 15484, 'watchers_count': 15484, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3237, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 462, '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': 3237, 'open_issues': 462, 'watchers': 15484, '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/14836'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14836'}, 'issue': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14836'}, 'comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14836/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14836/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/14836/commits'}, 'statuses': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/a7698f4a921cbe63404bbf4c6d0f0ec6a6c2526f'}}, '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-09-06T00:06:35Z', 'pushed_at': '2026-09-06T00:06:31Z', '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': 559851, 'stargazers_count': 15484, 'watchers_count': 15484, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3237, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 462, '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': 3237, 'open_issues': 462, 'watchers': 15484, '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': '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}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'raw_gh_hook'}
2026-09-06T00:24:57.218258 {'source': 'webserver', 'gh_type': 'pull_request_review_comment', 'raw': {'action': 'created', 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/3942465704', 'pull_request_review_id': 5123526063, 'id': 3942465704, 'node_id': 'PRRC_kwDOALCn2M7q_UCo', 'diff_hunk': "@@ -849,150 +997,108 @@ RcTcacheEntry TextureCacheBase::DoPartialTextureUpdates(RcTcacheEntry& entry_to_\n entry->OverlapsMemoryRange(entry_to_update->addr, entry_to_update->size_in_bytes) &&\n entry->memory_stride == numBlocksX * block_size)\n {\n- if (entry->hash == entry->CalculateHash())\n- {\n- // If the texture formats are not compatible or convertible, skip it.\n- if (!IsCompatibleTextureFormat(entry_to_update->format.texfmt, entry->format.texfmt))\n- {\n- if (!CanReinterpretTextureOnGPU(entry_to_update->format.texfmt, entry->format.texfmt))\n- {\n- ++iter.first;\n- continue;\n- }\n+ partial_texture_update_entries.push_back(entry);\n+ }\n+ ++iter.first;\n+ }\n \n- auto reinterpreted_entry = CreateReinterpretEntry(entry, entry_to_update->format.texfmt);\n- RenderReinterpretEntry(reinterpreted_entry, entry->texture.get(), entry->format.texfmt,\n- reinterpreted_entry->format.texfmt);\n- if (reinterpreted_entry)\n- entry = reinterpreted_entry;\n- }\n+ // Execute our partial texture updates\n+ for (const auto& entry : partial_texture_update_entries)\n+ {\n+ auto context =\n+ BuildPartialUpdateContext(entry_to_update, entry, palette, tlutfmt, isPaletteTexture,\n+ block_width, block_height, block_size, numBlocksX);\n+ if (context.target_entry)\n+ {\n+ ExecutePartialTextureUpdate(std::move(context));\n+ }\n+ }\n \n- if (isPaletteTexture)\n- {\n- const auto [decoded_entry, texel_buffer_offset] =\n- CreatePaletteEntryWithOffset(entry, palette);\n- RenderPaletteEntry(texel_buffer_offset, decoded_entry, entry->texture.get(), tlutfmt);\n- if (decoded_entry)\n- {\n- // Link the efb copy with the partially updated texture, so we won't apply this partial\n- // update again\n- entry->CreateReference(entry_to_update.get());\n- // Mark the texture update as used, as if it was loaded directly\n- entry->frameCount = FRAMECOUNT_INVALID;\n- entry = decoded_entry;\n- }\n- else\n- {\n- ++iter.first;\n- continue;\n- }\n- }\n+ return entry_to_update;\n+}\n \n- u32 src_x, src_y, dst_x, dst_y;\n+void TextureCacheBase::ExecutePartialTextureUpdate(PartialTextureUpdateContext context)\n+{\n+ auto target = context.target_entry;\n+ auto source = context.source_entry;\n \n- // Note for understanding the math:\n- // Normal textures can't be strided, so the 2 missing cases with src_x > 0 don't exist\n- if (entry->addr >= entry_to_update->addr)\n- {\n- u32 block_offset = (entry->addr - entry_to_update->addr) / block_size;\n- u32 block_x = block_offset % numBlocksX;\n- u32 block_y = block_offset / numBlocksX;\n- src_x = 0;\n- src_y = 0;\n- dst_x = block_x * block_width;\n- dst_y = block_y * block_height;\n- }\n- else\n- {\n- u32 block_offset = (entry_to_update->addr - entry->addr) / block_size;\n- u32 block_x = (~block_offset + 1) % numBlocksX;\n- u32 block_y = (block_offset + block_x) / numBlocksX;\n- src_x = 0;\n- src_y = block_y * block_height;\n- dst_x = block_x * block_width;\n- dst_y = 0;\n- }\n+ // Remove the temporary converted textures, they won't be used anywhere else\n+ // TODO: It would be nice to convert and copy in one step, but this code path isn't common\n+ Common::ScopeGuard cleanup{[this, &context] {\n+ if (context.needs_reinterpret && context.reinterpret_entry)\n+ InvalidateTexture(GetTexCacheIter(context.reinterpret_entry.get()));\n+ if (context.needs_palette && context.palette_entry)\n+ InvalidateTexture(GetTexCacheIter(context.palette_entry.get()));\n+ if (context.needs_scale && context.source_scale_entry)\n+ InvalidateTexture(GetTexCacheIter(context.source_scale_entry.get()));\n+ }};\n \n- u32 copy_width =\n- std::min(entry->native_width - src_x, entry_to_update->native_width - dst_x);\n- u32 copy_height =\n- std::min(entry->native_height - src_y, entry_to_update->native_height - dst_y);\n+ if (!source || source->invalidated)\n+ return;\n \n- // If one of the textures is scaled, scale both with the current efb scaling factor\n- if (entry_to_update->native_width != entry_to_update->GetWidth() ||\n- entry_to_update->native_height != entry_to_update->GetHeight() ||\n- entry->native_width != entry->GetWidth() || entry->native_height != entry->GetHeight())\n- {\n- ScaleTextureCacheEntryTo(\n- entry_to_update, g_framebuffer_manager->EFBToScaledX(entry_to_update->native_width),\n- g_framebuffer_manager->EFBToScaledY(entry_to_update->native_height));\n- ScaleTextureCacheEntryTo(entry, g_framebuffer_manager->EFBToScaledX(entry->native_width),\n- g_framebuffer_manager->EFBToScaledY(entry->native_height));\n-\n- src_x = g_framebuffer_manager->EFBToScaledX(src_x);\n- src_y = g_framebuffer_manager->EFBToScaledY(src_y);\n- dst_x = g_framebuffer_manager->EFBToScaledX(dst_x);\n- dst_y = g_framebuffer_manager->EFBToScaledY(dst_y);\n- copy_width = g_framebuffer_manager->EFBToScaledX(copy_width);\n- copy_height = g_framebuffer_manager->EFBToScaledY(copy_height);\n- }\n+ if (source->hash != source->CalculateHash())", 'path': 'Source/Core/VideoCommon/TextureCacheBase.cpp', 'commit_id': 'e7f23da63c5d81262c8efb5e3a320ce2509f11b8', 'original_commit_id': 'e7f23da63c5d81262c8efb5e3a320ce2509f11b8', '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': "Yes, in the future feature, the real hash isn't known until this point.", 'created_at': '2026-09-06T00:11:09Z', 'updated_at': '2026-09-06T00:24:55Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14840#discussion_r3942465704', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14840', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/3942465704'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14840#discussion_r3942465704'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14840'}}, 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/3942465704/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': 1039, 'original_line': 1039, 'side': 'RIGHT', 'in_reply_to_id': 3942437199, 'author_association': 'CONTRIBUTOR', 'original_position': 293, 'position': 293, 'subject_type': 'line'}, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14840', 'id': 4427828350, 'node_id': 'PR_kwDOALCn2M8AAAABB-tMfg', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14840', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14840.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14840.patch', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14840', 'number': 14840, 'state': 'open', 'locked': False, 'title': 'VideoCommon: split partial texture update logic from the actual rendering', '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': 'Late last year I started working on a new feature that required Dolphin to think about how it renders in a different way. In order to prepare for that, I will be creating some PRs that restructure or refactor our existing code.\r\n\r\nThis PR is for the texture cache. Partial texture updates are a complex piece of logic that currently interweave the rendering and the logic details. This change attempts to split them out into two separate parts. There is a tiny bit of overhead to avoid invalidation of entries in a map we are iterating (that was previously avoided due to everything being in one function) but I think this code has value even without my future changes from a readability perspective.\r\n\r\nFunctionality should not change with these PRs. I did some mild testing but fifo ci should hopefully confirm if any changes slipped through.', 'created_at': '2026-09-03T00:10:29Z', 'updated_at': '2026-09-06T00:04:43Z', 'closed_at': None, 'merged_at': None, 'merge_commit_sha': 'e6470f53a3c7c6fc44834bc6bebd682b2f110f62', 'assignees': [], 'requested_reviewers': [], 'requested_teams': [], 'labels': [], 'milestone': None, 'draft': False, 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14840/commits', 'review_comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14840/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/14840/comments', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/e7f23da63c5d81262c8efb5e3a320ce2509f11b8', 'head': {'label': 'iwubcode:dolphin_texture_refactor_3', 'ref': 'dolphin_texture_refactor_3', 'sha': 'e7f23da63c5d81262c8efb5e3a320ce2509f11b8', 'user': {'login': 'iwubcode', 'id': 15224722, 'node_id': 'MDQ6VXNlcjE1MjI0NzIy', 'avatar_url': 'https://avatars.githubusercontent.com/u/15224722?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/iwubcode', 'html_url': 'https://github.com/iwubcode', 'followers_url': 'https://api.github.com/users/iwubcode/followers', 'following_url': 'https://api.github.com/users/iwubcode/following{/other_user}', 'gists_url': 'https://api.github.com/users/iwubcode/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/iwubcode/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/iwubcode/subscriptions', 'organizations_url': 'https://api.github.com/users/iwubcode/orgs', 'repos_url': 'https://api.github.com/users/iwubcode/repos', 'events_url': 'https://api.github.com/users/iwubcode/events{/privacy}', 'received_events_url': 'https://api.github.com/users/iwubcode/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 77596353, 'node_id': 'MDEwOlJlcG9zaXRvcnk3NzU5NjM1Mw==', 'name': 'dolphin', 'full_name': 'iwubcode/dolphin', 'private': False, 'owner': {'login': 'iwubcode', 'id': 15224722, 'node_id': 'MDQ6VXNlcjE1MjI0NzIy', 'avatar_url': 'https://avatars.githubusercontent.com/u/15224722?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/iwubcode', 'html_url': 'https://github.com/iwubcode', 'followers_url': 'https://api.github.com/users/iwubcode/followers', 'following_url': 'https://api.github.com/users/iwubcode/following{/other_user}', 'gists_url': 'https://api.github.com/users/iwubcode/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/iwubcode/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/iwubcode/subscriptions', 'organizations_url': 'https://api.github.com/users/iwubcode/orgs', 'repos_url': 'https://api.github.com/users/iwubcode/repos', 'events_url': 'https://api.github.com/users/iwubcode/events{/privacy}', 'received_events_url': 'https://api.github.com/users/iwubcode/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/iwubcode/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': True, 'url': 'https://api.github.com/repos/iwubcode/dolphin', 'forks_url': 'https://api.github.com/repos/iwubcode/dolphin/forks', 'keys_url': 'https://api.github.com/repos/iwubcode/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/iwubcode/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/iwubcode/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/iwubcode/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/iwubcode/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/iwubcode/dolphin/events', 'assignees_url': 'https://api.github.com/repos/iwubcode/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/iwubcode/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/iwubcode/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/iwubcode/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/iwubcode/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/iwubcode/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/iwubcode/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/iwubcode/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/iwubcode/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/iwubcode/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/iwubcode/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/iwubcode/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/iwubcode/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/iwubcode/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/iwubcode/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/iwubcode/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/iwubcode/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/iwubcode/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/iwubcode/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/iwubcode/dolphin/merges', 'archive_url': 'https://api.github.com/repos/iwubcode/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/iwubcode/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/iwubcode/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/iwubcode/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/iwubcode/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/iwubcode/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/iwubcode/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/iwubcode/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/iwubcode/dolphin/deployments', 'created_at': '2016-12-29T08:26:39Z', 'updated_at': '2026-08-30T16:51:14Z', 'pushed_at': '2026-09-05T20:29:41Z', 'git_url': 'git://github.com/iwubcode/dolphin.git', 'ssh_url': 'git@github.com:iwubcode/dolphin.git', 'clone_url': 'https://github.com/iwubcode/dolphin.git', 'svn_url': 'https://github.com/iwubcode/dolphin', 'homepage': 'https://dolphin-emu.org/', 'size': 523959, 'stargazers_count': 2, 'watchers_count': 2, 'language': 'C++', 'has_issues': False, 'has_projects': True, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 1, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': [], 'visibility': 'public', 'forks': 3, 'open_issues': 1, 'watchers': 2, 'default_branch': 'master', 'allow_squash_merge': True, 'allow_merge_commit': True, 'allow_rebase_merge': True, 'allow_auto_merge': False, 'delete_branch_on_merge': False, 'allow_update_branch': False, 'use_squash_pr_title_as_default': False, 'squash_merge_commit_message': 'COMMIT_MESSAGES', 'squash_merge_commit_title': 'COMMIT_OR_PR_TITLE', 'merge_commit_message': 'PR_TITLE', 'merge_commit_title': 'MERGE_MESSAGE'}}, 'base': {'label': 'dolphin-emu:master', 'ref': 'master', 'sha': 'a1e636d72c8469acf747ac6542f0b7ace7cea02f', '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-09-06T00:06:35Z', 'pushed_at': '2026-09-06T00:06:31Z', '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': 559851, 'stargazers_count': 15484, 'watchers_count': 15484, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3237, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 462, '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': 3237, 'open_issues': 462, 'watchers': 15484, '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/14840'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14840'}, 'issue': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14840'}, 'comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14840/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14840/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/14840/commits'}, 'statuses': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/e7f23da63c5d81262c8efb5e3a320ce2509f11b8'}}, '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-09-06T00:06:35Z', 'pushed_at': '2026-09-06T00:06:31Z', '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': 559851, 'stargazers_count': 15484, 'watchers_count': 15484, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3237, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 462, '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': 3237, 'open_issues': 462, 'watchers': 15484, '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': '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}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'raw_gh_hook'}
2026-09-06T00:24:57.194219 {'source': 'webserver', 'gh_type': 'pull_request_review_comment', 'raw': {'action': 'created', 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/3942488181', 'pull_request_review_id': 5123526063, 'id': 3942488181, 'node_id': 'PRRC_kwDOALCn2M7q_Zh1', 'diff_hunk': '@@ -242,6 +242,33 @@ struct TCacheEntry\n \n using RcTcacheEntry = std::shared_ptr<TCacheEntry>;\n \n+struct PartialTextureUpdateContext\n+{\n+ RcTcacheEntry target_entry;\n+ RcTcacheEntry source_entry;\n+\n+ bool needs_reinterpret = false;\n+ RcTcacheEntry reinterpret_entry;\n+\n+ bool needs_palette = false;\n+ TLUTFormat tlutfmt = TLUTFormat::IA8;\n+ u32 texel_offset;\n+ RcTcacheEntry palette_entry;\n+\n+ bool needs_scale = false;\n+ RcTcacheEntry source_scale_entry;\n+ u32 source_scale_w = 0;\n+ u32 source_scale_h = 0;', 'path': 'Source/Core/VideoCommon/TextureCacheBase.h', 'commit_id': 'e7f23da63c5d81262c8efb5e3a320ce2509f11b8', 'original_commit_id': 'e7f23da63c5d81262c8efb5e3a320ce2509f11b8', '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': 'Yes, there may be some opportunity to clean it up a bit. I was a bit nervous about assumptions and breaking behavior, so I opted to be a little cautious.', 'created_at': '2026-09-06T00:22:57Z', 'updated_at': '2026-09-06T00:24:55Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14840#discussion_r3942488181', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14840', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/3942488181'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14840#discussion_r3942488181'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14840'}}, 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/3942488181/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': 261, 'original_line': 261, 'side': 'RIGHT', 'in_reply_to_id': 3942449902, 'author_association': 'CONTRIBUTOR', 'original_position': 20, 'position': 20, 'subject_type': 'line'}, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14840', 'id': 4427828350, 'node_id': 'PR_kwDOALCn2M8AAAABB-tMfg', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14840', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14840.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14840.patch', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14840', 'number': 14840, 'state': 'open', 'locked': False, 'title': 'VideoCommon: split partial texture update logic from the actual rendering', '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': 'Late last year I started working on a new feature that required Dolphin to think about how it renders in a different way. In order to prepare for that, I will be creating some PRs that restructure or refactor our existing code.\r\n\r\nThis PR is for the texture cache. Partial texture updates are a complex piece of logic that currently interweave the rendering and the logic details. This change attempts to split them out into two separate parts. There is a tiny bit of overhead to avoid invalidation of entries in a map we are iterating (that was previously avoided due to everything being in one function) but I think this code has value even without my future changes from a readability perspective.\r\n\r\nFunctionality should not change with these PRs. I did some mild testing but fifo ci should hopefully confirm if any changes slipped through.', 'created_at': '2026-09-03T00:10:29Z', 'updated_at': '2026-09-06T00:04:43Z', 'closed_at': None, 'merged_at': None, 'merge_commit_sha': 'e6470f53a3c7c6fc44834bc6bebd682b2f110f62', 'assignees': [], 'requested_reviewers': [], 'requested_teams': [], 'labels': [], 'milestone': None, 'draft': False, 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14840/commits', 'review_comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14840/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/14840/comments', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/e7f23da63c5d81262c8efb5e3a320ce2509f11b8', 'head': {'label': 'iwubcode:dolphin_texture_refactor_3', 'ref': 'dolphin_texture_refactor_3', 'sha': 'e7f23da63c5d81262c8efb5e3a320ce2509f11b8', 'user': {'login': 'iwubcode', 'id': 15224722, 'node_id': 'MDQ6VXNlcjE1MjI0NzIy', 'avatar_url': 'https://avatars.githubusercontent.com/u/15224722?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/iwubcode', 'html_url': 'https://github.com/iwubcode', 'followers_url': 'https://api.github.com/users/iwubcode/followers', 'following_url': 'https://api.github.com/users/iwubcode/following{/other_user}', 'gists_url': 'https://api.github.com/users/iwubcode/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/iwubcode/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/iwubcode/subscriptions', 'organizations_url': 'https://api.github.com/users/iwubcode/orgs', 'repos_url': 'https://api.github.com/users/iwubcode/repos', 'events_url': 'https://api.github.com/users/iwubcode/events{/privacy}', 'received_events_url': 'https://api.github.com/users/iwubcode/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 77596353, 'node_id': 'MDEwOlJlcG9zaXRvcnk3NzU5NjM1Mw==', 'name': 'dolphin', 'full_name': 'iwubcode/dolphin', 'private': False, 'owner': {'login': 'iwubcode', 'id': 15224722, 'node_id': 'MDQ6VXNlcjE1MjI0NzIy', 'avatar_url': 'https://avatars.githubusercontent.com/u/15224722?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/iwubcode', 'html_url': 'https://github.com/iwubcode', 'followers_url': 'https://api.github.com/users/iwubcode/followers', 'following_url': 'https://api.github.com/users/iwubcode/following{/other_user}', 'gists_url': 'https://api.github.com/users/iwubcode/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/iwubcode/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/iwubcode/subscriptions', 'organizations_url': 'https://api.github.com/users/iwubcode/orgs', 'repos_url': 'https://api.github.com/users/iwubcode/repos', 'events_url': 'https://api.github.com/users/iwubcode/events{/privacy}', 'received_events_url': 'https://api.github.com/users/iwubcode/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/iwubcode/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': True, 'url': 'https://api.github.com/repos/iwubcode/dolphin', 'forks_url': 'https://api.github.com/repos/iwubcode/dolphin/forks', 'keys_url': 'https://api.github.com/repos/iwubcode/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/iwubcode/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/iwubcode/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/iwubcode/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/iwubcode/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/iwubcode/dolphin/events', 'assignees_url': 'https://api.github.com/repos/iwubcode/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/iwubcode/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/iwubcode/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/iwubcode/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/iwubcode/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/iwubcode/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/iwubcode/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/iwubcode/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/iwubcode/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/iwubcode/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/iwubcode/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/iwubcode/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/iwubcode/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/iwubcode/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/iwubcode/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/iwubcode/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/iwubcode/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/iwubcode/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/iwubcode/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/iwubcode/dolphin/merges', 'archive_url': 'https://api.github.com/repos/iwubcode/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/iwubcode/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/iwubcode/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/iwubcode/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/iwubcode/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/iwubcode/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/iwubcode/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/iwubcode/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/iwubcode/dolphin/deployments', 'created_at': '2016-12-29T08:26:39Z', 'updated_at': '2026-08-30T16:51:14Z', 'pushed_at': '2026-09-05T20:29:41Z', 'git_url': 'git://github.com/iwubcode/dolphin.git', 'ssh_url': 'git@github.com:iwubcode/dolphin.git', 'clone_url': 'https://github.com/iwubcode/dolphin.git', 'svn_url': 'https://github.com/iwubcode/dolphin', 'homepage': 'https://dolphin-emu.org/', 'size': 523959, 'stargazers_count': 2, 'watchers_count': 2, 'language': 'C++', 'has_issues': False, 'has_projects': True, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 1, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': [], 'visibility': 'public', 'forks': 3, 'open_issues': 1, 'watchers': 2, 'default_branch': 'master', 'allow_squash_merge': True, 'allow_merge_commit': True, 'allow_rebase_merge': True, 'allow_auto_merge': False, 'delete_branch_on_merge': False, 'allow_update_branch': False, 'use_squash_pr_title_as_default': False, 'squash_merge_commit_message': 'COMMIT_MESSAGES', 'squash_merge_commit_title': 'COMMIT_OR_PR_TITLE', 'merge_commit_message': 'PR_TITLE', 'merge_commit_title': 'MERGE_MESSAGE'}}, 'base': {'label': 'dolphin-emu:master', 'ref': 'master', 'sha': 'a1e636d72c8469acf747ac6542f0b7ace7cea02f', '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-09-06T00:06:35Z', 'pushed_at': '2026-09-06T00:06:31Z', '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': 559851, 'stargazers_count': 15484, 'watchers_count': 15484, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3237, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 462, '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': 3237, 'open_issues': 462, 'watchers': 15484, '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/14840'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14840'}, 'issue': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14840'}, 'comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14840/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14840/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/14840/commits'}, 'statuses': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/e7f23da63c5d81262c8efb5e3a320ce2509f11b8'}}, '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-09-06T00:06:35Z', 'pushed_at': '2026-09-06T00:06:31Z', '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': 559851, 'stargazers_count': 15484, 'watchers_count': 15484, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3237, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 462, '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': 3237, 'open_issues': 462, 'watchers': 15484, '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': '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}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'raw_gh_hook'}
2026-09-06T00:24:57.134291 {'source': 'webserver', 'gh_type': 'pull_request_review_comment', 'raw': {'action': 'created', 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/3942484584', 'pull_request_review_id': 5123526063, 'id': 3942484584, 'node_id': 'PRRC_kwDOALCn2M7q_Ypo', 'diff_hunk': "@@ -849,150 +997,108 @@ RcTcacheEntry TextureCacheBase::DoPartialTextureUpdates(RcTcacheEntry& entry_to_\n entry->OverlapsMemoryRange(entry_to_update->addr, entry_to_update->size_in_bytes) &&\n entry->memory_stride == numBlocksX * block_size)\n {\n- if (entry->hash == entry->CalculateHash())\n- {\n- // If the texture formats are not compatible or convertible, skip it.\n- if (!IsCompatibleTextureFormat(entry_to_update->format.texfmt, entry->format.texfmt))\n- {\n- if (!CanReinterpretTextureOnGPU(entry_to_update->format.texfmt, entry->format.texfmt))\n- {\n- ++iter.first;\n- continue;\n- }\n+ partial_texture_update_entries.push_back(entry);\n+ }\n+ ++iter.first;\n+ }\n \n- auto reinterpreted_entry = CreateReinterpretEntry(entry, entry_to_update->format.texfmt);\n- RenderReinterpretEntry(reinterpreted_entry, entry->texture.get(), entry->format.texfmt,\n- reinterpreted_entry->format.texfmt);\n- if (reinterpreted_entry)\n- entry = reinterpreted_entry;\n- }\n+ // Execute our partial texture updates\n+ for (const auto& entry : partial_texture_update_entries)\n+ {\n+ auto context =\n+ BuildPartialUpdateContext(entry_to_update, entry, palette, tlutfmt, isPaletteTexture,\n+ block_width, block_height, block_size, numBlocksX);\n+ if (context.target_entry)\n+ {\n+ ExecutePartialTextureUpdate(std::move(context));\n+ }\n+ }\n \n- if (isPaletteTexture)\n- {\n- const auto [decoded_entry, texel_buffer_offset] =\n- CreatePaletteEntryWithOffset(entry, palette);\n- RenderPaletteEntry(texel_buffer_offset, decoded_entry, entry->texture.get(), tlutfmt);\n- if (decoded_entry)\n- {\n- // Link the efb copy with the partially updated texture, so we won't apply this partial\n- // update again\n- entry->CreateReference(entry_to_update.get());\n- // Mark the texture update as used, as if it was loaded directly\n- entry->frameCount = FRAMECOUNT_INVALID;\n- entry = decoded_entry;\n- }\n- else\n- {\n- ++iter.first;\n- continue;\n- }\n- }\n+ return entry_to_update;\n+}\n \n- u32 src_x, src_y, dst_x, dst_y;\n+void TextureCacheBase::ExecutePartialTextureUpdate(PartialTextureUpdateContext context)\n+{\n+ auto target = context.target_entry;\n+ auto source = context.source_entry;\n \n- // Note for understanding the math:\n- // Normal textures can't be strided, so the 2 missing cases with src_x > 0 don't exist\n- if (entry->addr >= entry_to_update->addr)\n- {\n- u32 block_offset = (entry->addr - entry_to_update->addr) / block_size;\n- u32 block_x = block_offset % numBlocksX;\n- u32 block_y = block_offset / numBlocksX;\n- src_x = 0;\n- src_y = 0;\n- dst_x = block_x * block_width;\n- dst_y = block_y * block_height;\n- }\n- else\n- {\n- u32 block_offset = (entry_to_update->addr - entry->addr) / block_size;\n- u32 block_x = (~block_offset + 1) % numBlocksX;\n- u32 block_y = (block_offset + block_x) / numBlocksX;\n- src_x = 0;\n- src_y = block_y * block_height;\n- dst_x = block_x * block_width;\n- dst_y = 0;\n- }\n+ // Remove the temporary converted textures, they won't be used anywhere else\n+ // TODO: It would be nice to convert and copy in one step, but this code path isn't common\n+ Common::ScopeGuard cleanup{[this, &context] {\n+ if (context.needs_reinterpret && context.reinterpret_entry)\n+ InvalidateTexture(GetTexCacheIter(context.reinterpret_entry.get()));\n+ if (context.needs_palette && context.palette_entry)\n+ InvalidateTexture(GetTexCacheIter(context.palette_entry.get()));\n+ if (context.needs_scale && context.source_scale_entry)\n+ InvalidateTexture(GetTexCacheIter(context.source_scale_entry.get()));\n+ }};\n \n- u32 copy_width =\n- std::min(entry->native_width - src_x, entry_to_update->native_width - dst_x);\n- u32 copy_height =\n- std::min(entry->native_height - src_y, entry_to_update->native_height - dst_y);\n+ if (!source || source->invalidated)\n+ return;\n \n- // If one of the textures is scaled, scale both with the current efb scaling factor\n- if (entry_to_update->native_width != entry_to_update->GetWidth() ||\n- entry_to_update->native_height != entry_to_update->GetHeight() ||\n- entry->native_width != entry->GetWidth() || entry->native_height != entry->GetHeight())\n- {\n- ScaleTextureCacheEntryTo(\n- entry_to_update, g_framebuffer_manager->EFBToScaledX(entry_to_update->native_width),\n- g_framebuffer_manager->EFBToScaledY(entry_to_update->native_height));\n- ScaleTextureCacheEntryTo(entry, g_framebuffer_manager->EFBToScaledX(entry->native_width),\n- g_framebuffer_manager->EFBToScaledY(entry->native_height));\n-\n- src_x = g_framebuffer_manager->EFBToScaledX(src_x);\n- src_y = g_framebuffer_manager->EFBToScaledY(src_y);\n- dst_x = g_framebuffer_manager->EFBToScaledX(dst_x);\n- dst_y = g_framebuffer_manager->EFBToScaledY(dst_y);\n- copy_width = g_framebuffer_manager->EFBToScaledX(copy_width);\n- copy_height = g_framebuffer_manager->EFBToScaledY(copy_height);\n- }\n+ if (source->hash != source->CalculateHash())\n+ {\n+ InvalidateTexture(GetTexCacheIter(source.get()));\n+ return;\n+ }\n \n- // If the source rectangle is outside of what we actually have in VRAM, skip the copy.\n- // The backend doesn't do any clamping, so if we don't, we'd pass out-of-range coordinates\n- // to the graphics driver, which can cause GPU resets.\n- if (static_cast<u32>(src_x + copy_width) > entry->GetWidth() ||\n- static_cast<u32>(src_y + copy_height) > entry->GetHeight() ||\n- static_cast<u32>(dst_x + copy_width) > entry_to_update->GetWidth() ||\n- static_cast<u32>(dst_y + copy_height) > entry_to_update->GetHeight())\n- {\n- ++iter.first;\n- continue;\n- }\n+ if (context.needs_reinterpret)\n+ {\n+ if (!context.reinterpret_entry)\n+ return;\n+ RenderReinterpretEntry(context.reinterpret_entry, context.source_entry->texture.get(),\n+ context.source_entry->format.texfmt,\n+ context.target_entry->format.texfmt);\n+ source = context.reinterpret_entry;\n+ }\n \n- MathUtil::Rectangle<int> srcrect, dstrect;\n- srcrect.left = src_x;\n- srcrect.top = src_y;\n- srcrect.right = (src_x + copy_width);\n- srcrect.bottom = (src_y + copy_height);\n- dstrect.left = dst_x;\n- dstrect.top = dst_y;\n- dstrect.right = (dst_x + copy_width);\n- dstrect.bottom = (dst_y + copy_height);\n-\n- // If one copy is stereo, and the other isn't... not much we can do here :/\n- const u32 layers_to_copy = std::min(entry->GetNumLayers(), entry_to_update->GetNumLayers());\n- for (u32 layer = 0; layer < layers_to_copy; layer++)\n- {\n- entry_to_update->texture->CopyRectangleFromTexture(entry->texture.get(), srcrect, layer,\n- 0, dstrect, layer, 0);\n- }\n+ if (context.needs_palette)\n+ {\n+ if (!context.palette_entry)\n+ return;\n+ RenderPaletteEntry(context.texel_offset, context.palette_entry, source->texture.get(),\n+ context.tlutfmt);\n+ source = context.palette_entry;\n+ }\n \n- if (isPaletteTexture)\n- {\n- // Remove the temporary converted texture, it won't be used anywhere else\n- // TODO: It would be nice to convert and copy in one step, but this code path isn't common\n- iter.first = InvalidateTexture(iter.first);\n- continue;\n- }\n- else\n- {\n- // Link the two textures together, so we won't apply this partial update again\n- entry->CreateReference(entry_to_update.get());\n- // Mark the texture update as used, as if it was loaded directly\n- entry->frameCount = FRAMECOUNT_INVALID;\n- }\n- }\n- else\n- {\n- // If the hash does not match, this EFB copy will not be used for anything, so remove it\n- iter.first = InvalidateTexture(iter.first);\n- continue;\n- }\n+ if (context.needs_scale)\n+ {\n+ if (context.target_prescaled_entry)\n+ {\n+ g_gfx->ScaleTexture(target->framebuffer.get(), target->texture->GetConfig().GetRect(),\n+ context.target_prescaled_entry->texture.get(),\n+ context.target_prescaled_entry->texture->GetConfig().GetRect());\n+ target->texture->FinishedRendering();\n+ }\n+\n+ if (context.source_scale_entry)\n+ {\n+ g_gfx->ScaleTexture(context.source_scale_entry->framebuffer.get(),\n+ context.source_scale_entry->texture->GetConfig().GetRect(),\n+ source->texture.get(), source->texture->GetConfig().GetRect());\n+ context.source_scale_entry->texture->FinishedRendering();\n+ source = context.source_scale_entry;\n }\n- ++iter.first;\n }\n \n- return entry_to_update;\n+ // If the source rectangle is outside of what we actually have in VRAM, skip the copy.\n+ // The backend doesn't do any clamping, so if we don't, we'd pass out-of-range coordinates\n+ // to the graphics driver, which can cause GPU resets.\n+ if (static_cast<u32>(context.src_rect.right) > source->GetWidth() ||\n+ static_cast<u32>(context.src_rect.bottom) > source->GetHeight() ||\n+ static_cast<u32>(context.dst_rect.right) > target->GetWidth() ||\n+ static_cast<u32>(context.dst_rect.bottom) > target->GetHeight())\n+ {\n+ return;", 'path': 'Source/Core/VideoCommon/TextureCacheBase.cpp', 'commit_id': 'e7f23da63c5d81262c8efb5e3a320ce2509f11b8', 'original_commit_id': 'e7f23da63c5d81262c8efb5e3a320ce2509f11b8', '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': 'True, I had it there originally. I was seeing an early return in some cases, likely due to bad math. I will try moving it back.', 'created_at': '2026-09-06T00:21:02Z', 'updated_at': '2026-09-06T00:24:55Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14840#discussion_r3942484584', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14840', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/3942484584'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14840#discussion_r3942484584'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14840'}}, 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/3942484584/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': 1092, 'original_line': 1092, 'side': 'RIGHT', 'in_reply_to_id': 3942442490, 'author_association': 'CONTRIBUTOR', 'original_position': 397, 'position': 397, 'subject_type': 'line'}, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14840', 'id': 4427828350, 'node_id': 'PR_kwDOALCn2M8AAAABB-tMfg', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14840', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14840.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14840.patch', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14840', 'number': 14840, 'state': 'open', 'locked': False, 'title': 'VideoCommon: split partial texture update logic from the actual rendering', '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': 'Late last year I started working on a new feature that required Dolphin to think about how it renders in a different way. In order to prepare for that, I will be creating some PRs that restructure or refactor our existing code.\r\n\r\nThis PR is for the texture cache. Partial texture updates are a complex piece of logic that currently interweave the rendering and the logic details. This change attempts to split them out into two separate parts. There is a tiny bit of overhead to avoid invalidation of entries in a map we are iterating (that was previously avoided due to everything being in one function) but I think this code has value even without my future changes from a readability perspective.\r\n\r\nFunctionality should not change with these PRs. I did some mild testing but fifo ci should hopefully confirm if any changes slipped through.', 'created_at': '2026-09-03T00:10:29Z', 'updated_at': '2026-09-06T00:04:43Z', 'closed_at': None, 'merged_at': None, 'merge_commit_sha': 'e6470f53a3c7c6fc44834bc6bebd682b2f110f62', 'assignees': [], 'requested_reviewers': [], 'requested_teams': [], 'labels': [], 'milestone': None, 'draft': False, 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14840/commits', 'review_comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14840/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/14840/comments', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/e7f23da63c5d81262c8efb5e3a320ce2509f11b8', 'head': {'label': 'iwubcode:dolphin_texture_refactor_3', 'ref': 'dolphin_texture_refactor_3', 'sha': 'e7f23da63c5d81262c8efb5e3a320ce2509f11b8', 'user': {'login': 'iwubcode', 'id': 15224722, 'node_id': 'MDQ6VXNlcjE1MjI0NzIy', 'avatar_url': 'https://avatars.githubusercontent.com/u/15224722?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/iwubcode', 'html_url': 'https://github.com/iwubcode', 'followers_url': 'https://api.github.com/users/iwubcode/followers', 'following_url': 'https://api.github.com/users/iwubcode/following{/other_user}', 'gists_url': 'https://api.github.com/users/iwubcode/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/iwubcode/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/iwubcode/subscriptions', 'organizations_url': 'https://api.github.com/users/iwubcode/orgs', 'repos_url': 'https://api.github.com/users/iwubcode/repos', 'events_url': 'https://api.github.com/users/iwubcode/events{/privacy}', 'received_events_url': 'https://api.github.com/users/iwubcode/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 77596353, 'node_id': 'MDEwOlJlcG9zaXRvcnk3NzU5NjM1Mw==', 'name': 'dolphin', 'full_name': 'iwubcode/dolphin', 'private': False, 'owner': {'login': 'iwubcode', 'id': 15224722, 'node_id': 'MDQ6VXNlcjE1MjI0NzIy', 'avatar_url': 'https://avatars.githubusercontent.com/u/15224722?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/iwubcode', 'html_url': 'https://github.com/iwubcode', 'followers_url': 'https://api.github.com/users/iwubcode/followers', 'following_url': 'https://api.github.com/users/iwubcode/following{/other_user}', 'gists_url': 'https://api.github.com/users/iwubcode/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/iwubcode/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/iwubcode/subscriptions', 'organizations_url': 'https://api.github.com/users/iwubcode/orgs', 'repos_url': 'https://api.github.com/users/iwubcode/repos', 'events_url': 'https://api.github.com/users/iwubcode/events{/privacy}', 'received_events_url': 'https://api.github.com/users/iwubcode/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/iwubcode/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': True, 'url': 'https://api.github.com/repos/iwubcode/dolphin', 'forks_url': 'https://api.github.com/repos/iwubcode/dolphin/forks', 'keys_url': 'https://api.github.com/repos/iwubcode/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/iwubcode/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/iwubcode/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/iwubcode/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/iwubcode/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/iwubcode/dolphin/events', 'assignees_url': 'https://api.github.com/repos/iwubcode/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/iwubcode/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/iwubcode/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/iwubcode/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/iwubcode/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/iwubcode/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/iwubcode/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/iwubcode/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/iwubcode/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/iwubcode/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/iwubcode/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/iwubcode/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/iwubcode/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/iwubcode/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/iwubcode/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/iwubcode/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/iwubcode/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/iwubcode/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/iwubcode/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/iwubcode/dolphin/merges', 'archive_url': 'https://api.github.com/repos/iwubcode/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/iwubcode/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/iwubcode/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/iwubcode/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/iwubcode/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/iwubcode/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/iwubcode/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/iwubcode/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/iwubcode/dolphin/deployments', 'created_at': '2016-12-29T08:26:39Z', 'updated_at': '2026-08-30T16:51:14Z', 'pushed_at': '2026-09-05T20:29:41Z', 'git_url': 'git://github.com/iwubcode/dolphin.git', 'ssh_url': 'git@github.com:iwubcode/dolphin.git', 'clone_url': 'https://github.com/iwubcode/dolphin.git', 'svn_url': 'https://github.com/iwubcode/dolphin', 'homepage': 'https://dolphin-emu.org/', 'size': 523959, 'stargazers_count': 2, 'watchers_count': 2, 'language': 'C++', 'has_issues': False, 'has_projects': True, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 1, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': [], 'visibility': 'public', 'forks': 3, 'open_issues': 1, 'watchers': 2, 'default_branch': 'master', 'allow_squash_merge': True, 'allow_merge_commit': True, 'allow_rebase_merge': True, 'allow_auto_merge': False, 'delete_branch_on_merge': False, 'allow_update_branch': False, 'use_squash_pr_title_as_default': False, 'squash_merge_commit_message': 'COMMIT_MESSAGES', 'squash_merge_commit_title': 'COMMIT_OR_PR_TITLE', 'merge_commit_message': 'PR_TITLE', 'merge_commit_title': 'MERGE_MESSAGE'}}, 'base': {'label': 'dolphin-emu:master', 'ref': 'master', 'sha': 'a1e636d72c8469acf747ac6542f0b7ace7cea02f', '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-09-06T00:06:35Z', 'pushed_at': '2026-09-06T00:06:31Z', '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': 559851, 'stargazers_count': 15484, 'watchers_count': 15484, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3237, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 462, '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': 3237, 'open_issues': 462, 'watchers': 15484, '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/14840'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14840'}, 'issue': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14840'}, 'comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14840/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14840/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/14840/commits'}, 'statuses': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/e7f23da63c5d81262c8efb5e3a320ce2509f11b8'}}, '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-09-06T00:06:35Z', 'pushed_at': '2026-09-06T00:06:31Z', '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': 559851, 'stargazers_count': 15484, 'watchers_count': 15484, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3237, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 462, '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': 3237, 'open_issues': 462, 'watchers': 15484, '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': '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}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'raw_gh_hook'}