Status for Dolphin Central

Recent events

2026-09-13T02:29:41.002908	{'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-13T02:29:39.471593	{'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-13T02:27:22.896034	{'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-13T02:27:22.610886	{'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-13T02:24:39.471253	{'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-13T02:24:37.996746	{'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-13T02:19:37.996403	{'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-13T02:19:36.511063	{'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-13T02:17:22.610627	{'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-13T02:17:22.300260	{'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-13T02:14:36.510734	{'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-13T02:14:35.085479	{'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-13T02:09:35.085143	{'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-13T02:09:33.602444	{'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-13T02:07:22.300025	{'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-13T02:07:22.002900	{'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-13T02:04:33.602106	{'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-13T02:04:32.138705	{'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-13T01:59:32.138397	{'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-13T01:59:30.530498	{'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-13T01:57:22.002615	{'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-13T01:57:21.540991	{'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-13T01:54:30.530161	{'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-13T01:54:28.980374	{'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-13T01:49:28.980059	{'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-12T18:30:54.759146	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '304a534d16c1d68f5e2a8fbf7778253ca2551713', 'shortrev': '304a53', 'service': 'pr-win-dbg-x64', 'pr': 14862, 'success': True, 'pending': False, 'url': 'https://dolphin.ci/#/builders/31/builds/10521', 'description': 'Build succeeded on builder pr-win-dbg-x64', 'type': 'build_status'}
2026-09-12T18:29:40.450521	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '304a534d16c1d68f5e2a8fbf7778253ca2551713', 'shortrev': '304a53', 'service': 'pr-win-dbg-x64', 'pr': 14862, 'success': False, 'pending': True, 'url': 'https://dolphin.ci/#/builders/31/builds/10521', 'description': 'Auto build in progress on builder pr-win-dbg-x64', 'type': 'build_status'}
2026-09-12T18:29:39.938673	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '958ea7855b64ab16095452f4d717c5f845b26677', 'shortrev': '958ea7', 'service': 'pr-win-dbg-x64', 'pr': 14861, 'success': True, 'pending': False, 'url': 'https://dolphin.ci/#/builders/31/builds/10520', 'description': 'Build succeeded on builder pr-win-dbg-x64', 'type': 'build_status'}
2026-09-12T18:18:48.942880	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '304a534d16c1d68f5e2a8fbf7778253ca2551713', 'shortrev': '304a53', 'service': 'pr-win-arm64', 'pr': 14862, 'success': True, 'pending': False, 'url': 'https://dolphin.ci/#/builders/13/builds/10511', 'description': 'Build succeeded on builder pr-win-arm64', 'type': 'build_status'}
2026-09-12T18:18:48.231261	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '958ea7855b64ab16095452f4d717c5f845b26677', 'shortrev': '958ea7', 'service': 'pr-win-dbg-x64', 'pr': 14861, 'success': False, 'pending': True, 'url': 'https://dolphin.ci/#/builders/31/builds/10520', 'description': 'Auto build in progress on builder pr-win-dbg-x64', 'type': 'build_status'}
2026-09-12T18:18:00.643029	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '304a534d16c1d68f5e2a8fbf7778253ca2551713', 'shortrev': '304a53', 'service': 'pr-osx-universal', 'pr': 14862, 'success': True, 'pending': False, 'url': 'https://dolphin.ci/#/builders/7/builds/10530', 'description': 'Build succeeded on builder pr-osx-universal', 'type': 'build_status'}
2026-09-12T18:17:51.526571	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '304a534d16c1d68f5e2a8fbf7778253ca2551713', 'shortrev': '304a53', 'service': 'pr-win-x64', 'pr': 14862, 'success': True, 'pending': False, 'url': 'https://dolphin.ci/#/builders/2/builds/10514', 'description': 'Build succeeded on builder pr-win-x64', 'type': 'build_status'}
2026-09-12T18:17:50.862314	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '304a534d16c1d68f5e2a8fbf7778253ca2551713', 'shortrev': '304a53', 'service': 'pr-win-arm64', 'pr': 14862, 'success': False, 'pending': True, 'url': 'https://dolphin.ci/#/builders/13/builds/10511', 'description': 'Auto build in progress on builder pr-win-arm64', 'type': 'build_status'}
2026-09-12T18:16:46.382278	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '304a534d16c1d68f5e2a8fbf7778253ca2551713', 'shortrev': '304a53', 'service': 'pr-win-x64', 'pr': 14862, 'success': False, 'pending': True, 'url': 'https://dolphin.ci/#/builders/2/builds/10514', 'description': 'Auto build in progress on builder pr-win-x64', 'type': 'build_status'}
2026-09-12T18:16:45.877012	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '958ea7855b64ab16095452f4d717c5f845b26677', 'shortrev': '958ea7', 'service': 'pr-win-arm64', 'pr': 14861, 'success': True, 'pending': False, 'url': 'https://dolphin.ci/#/builders/13/builds/10510', 'description': 'Build succeeded on builder pr-win-arm64', 'type': 'build_status'}
2026-09-12T18:10:19.444132	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '304a534d16c1d68f5e2a8fbf7778253ca2551713', 'shortrev': '304a53', 'service': 'pr-flatpak-arm64', 'pr': 14862, 'success': True, 'pending': False, 'url': 'https://dolphin.ci/#/builders/44/builds/5601', 'description': 'Build succeeded on builder pr-flatpak-arm64', 'type': 'build_status'}
2026-09-12T18:09:47.618853	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '304a534d16c1d68f5e2a8fbf7778253ca2551713', 'shortrev': '304a53', 'service': 'pr-flatpak-x64', 'pr': 14862, 'success': True, 'pending': False, 'url': 'https://dolphin.ci/#/builders/43/builds/5658', 'description': 'Build succeeded on builder pr-flatpak-x64', 'type': 'build_status'}
2026-09-12T18:09:20.483098	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '304a534d16c1d68f5e2a8fbf7778253ca2551713', 'shortrev': '304a53', 'service': 'pr-freebsd-x64', 'pr': 14862, 'success': True, 'pending': False, 'url': 'https://dolphin.ci/#/builders/11/builds/10518', 'description': 'Build succeeded on builder pr-freebsd-x64', 'type': 'build_status'}
2026-09-12T18:07:20.898694	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '304a534d16c1d68f5e2a8fbf7778253ca2551713', 'shortrev': '304a53', 'service': 'pr-deb-dbg-x64', 'pr': 14862, 'success': True, 'pending': False, 'url': 'https://dolphin.ci/#/builders/1/builds/10513', 'description': 'Build succeeded on builder pr-deb-dbg-x64', 'type': 'build_status'}
2026-09-12T18:07:14.070615	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '304a534d16c1d68f5e2a8fbf7778253ca2551713', 'shortrev': '304a53', 'service': 'pr-ubu-x64', 'pr': 14862, 'success': True, 'pending': False, 'url': 'https://dolphin.ci/#/builders/27/builds/10513', 'description': 'Build succeeded on builder pr-ubu-x64', 'type': 'build_status'}
2026-09-12T18:07:10.105000	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '304a534d16c1d68f5e2a8fbf7778253ca2551713', 'shortrev': '304a53', 'service': 'pr-android', 'pr': 14862, 'success': True, 'pending': False, 'url': 'https://dolphin.ci/#/builders/22/builds/10516', 'description': 'Build succeeded on builder pr-android', 'type': 'build_status'}
2026-09-12T18:07:09.422844	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '304a534d16c1d68f5e2a8fbf7778253ca2551713', 'shortrev': '304a53', 'service': 'pr-deb-x64', 'pr': 14862, 'success': True, 'pending': False, 'url': 'https://dolphin.ci/#/builders/26/builds/10511', 'description': 'Build succeeded on builder pr-deb-x64', 'type': 'build_status'}
2026-09-12T18:07:07.618643	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '304a534d16c1d68f5e2a8fbf7778253ca2551713', 'shortrev': '304a53', 'service': 'lint', 'pr': 14862, 'success': True, 'pending': False, 'url': 'https://dolphin.ci/#/builders/9/builds/10515', 'description': 'Build succeeded on builder lint', 'type': 'build_status'}
2026-09-12T18:06:51.040136	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '304a534d16c1d68f5e2a8fbf7778253ca2551713', 'shortrev': '304a53', 'service': 'pr-osx-universal', 'pr': 14862, 'success': False, 'pending': True, 'url': 'https://dolphin.ci/#/builders/7/builds/10530', 'description': 'Auto build in progress on builder pr-osx-universal', 'type': 'build_status'}
2026-09-12T18:06:49.266361	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '304a534d16c1d68f5e2a8fbf7778253ca2551713', 'shortrev': '304a53', 'service': 'pr-deb-dbg-x64', 'pr': 14862, 'success': False, 'pending': True, 'url': 'https://dolphin.ci/#/builders/1/builds/10513', 'description': 'Auto build in progress on builder pr-deb-dbg-x64', 'type': 'build_status'}
2026-09-12T18:06:34.591903	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '304a534d16c1d68f5e2a8fbf7778253ca2551713', 'shortrev': '304a53', 'service': 'pr-ubu-x64', 'pr': 14862, 'success': False, 'pending': True, 'url': 'https://dolphin.ci/#/builders/27/builds/10513', 'description': 'Auto build in progress on builder pr-ubu-x64', 'type': 'build_status'}
2026-09-12T18:06:31.486696	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '304a534d16c1d68f5e2a8fbf7778253ca2551713', 'shortrev': '304a53', 'service': 'pr-freebsd-x64', 'pr': 14862, 'success': False, 'pending': True, 'url': 'https://dolphin.ci/#/builders/11/builds/10518', 'description': 'Auto build in progress on builder pr-freebsd-x64', 'type': 'build_status'}
2026-09-12T18:06:30.352834	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '304a534d16c1d68f5e2a8fbf7778253ca2551713', 'shortrev': '304a53', 'service': 'pr-deb-x64', 'pr': 14862, 'success': False, 'pending': True, 'url': 'https://dolphin.ci/#/builders/26/builds/10511', 'description': 'Auto build in progress on builder pr-deb-x64', 'type': 'build_status'}
2026-09-12T18:06:29.876305	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '304a534d16c1d68f5e2a8fbf7778253ca2551713', 'shortrev': '304a53', 'service': 'pr-android', 'pr': 14862, 'success': False, 'pending': True, 'url': 'https://dolphin.ci/#/builders/22/builds/10516', 'description': 'Auto build in progress on builder pr-android', 'type': 'build_status'}
2026-09-12T18:06:29.185597	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '304a534d16c1d68f5e2a8fbf7778253ca2551713', 'shortrev': '304a53', 'service': 'lint', 'pr': 14862, 'success': False, 'pending': True, 'url': 'https://dolphin.ci/#/builders/9/builds/10515', 'description': 'Auto build in progress on builder lint', 'type': 'build_status'}

Recent 'command_message' events

2026-09-12T18:05:29.768511	{'source': 'discord', 'who': 'joshuavandaele', 'what': '<@1320924779556900984> please rebuild 14862', 'type': 'command_message'}
2026-09-12T17:42:14.630234	{'source': 'discord', 'who': 'joshuavandaele', 'what': '<@1320924779556900984> please rebuild 14861', 'type': 'command_message'}
2026-09-10T23:08:13.400074	{'source': 'discord', 'who': 'oatmealdome', 'what': '<@1320924779556900984> please rebuild 14857', 'type': 'command_message'}
2026-09-10T23:08:02.847235	{'source': 'discord', 'who': 'oatmealdome', 'what': '<@1320924779556900984> please rebuild 14856', 'type': 'command_message'}
2026-09-10T23:07:52.433248	{'source': 'discord', 'who': 'oatmealdome', 'what': '<@1320924779556900984> please rebuild 14855', 'type': 'command_message'}
2026-09-10T23:07:42.125623	{'source': 'discord', 'who': 'oatmealdome', 'what': '<@1320924779556900984> please rebuild 14854', 'type': 'command_message'}
2026-09-10T23:07:31.768641	{'source': 'discord', 'who': 'oatmealdome', 'what': '<@1320924779556900984> please rebuild 14853', 'type': 'command_message'}
2026-09-10T23:07:12.191129	{'source': 'discord', 'who': 'oatmealdome', 'what': '<@1320924779556900984> please rebuild 14851', 'type': 'command_message'}
2026-09-10T23:07:01.649856	{'source': 'discord', 'who': 'oatmealdome', 'what': '<@1320924779556900984> please rebuild 14850', 'type': 'command_message'}
2026-09-10T20:57:53.013144	{'source': 'discord', 'who': 'josjuice', 'what': '<@1320924779556900984> please rebuild 14857', 'type': 'command_message'}
2026-09-10T20:53:21.212761	{'source': 'discord', 'who': 'josjuice', 'what': '<@1320924779556900984> please rebuild 14857', 'type': 'command_message'}
2026-09-10T19:01:18.197443	{'source': 'discord', 'who': 'josjuice', 'what': '<@1320924779556900984> please rebuild 14857', 'type': 'command_message'}
2026-09-08T19:42:09.669694	{'source': 'discord', 'who': 'josjuice', 'what': '<@1320924779556900984> please rebuild 14854', 'type': 'command_message'}
2026-09-07T21:13:09.057355	{'source': 'discord', 'who': 'josjuice', 'what': '<@1320924779556900984> please rebuild 14849', 'type': 'command_message'}
2026-09-07T18:12:30.195509	{'source': 'discord', 'who': 'josjuice', 'what': '<@1320924779556900984> please rebuild 14849', 'type': 'command_message'}
2026-09-06T14:08:04.216777	{'source': 'discord', 'who': 'oatmealdome', 'what': '<@1320924779556900984> please rebuild 14848', 'type': 'command_message'}
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 'dev_wark' events

2026-09-06T14:08:04.216804	{'source': 'discord', 'accepted': True, 'type': 'dev_wark'}

Recent 'gh_issue_comment' events

2026-09-12T18:18:28.309845	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'JoshuaVandaele', 'action': 'created', 'id': 14862, 'title': 'Flatpak: Fix Discord rich presence', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14862#issuecomment-5647785610', 'safe_author': True, 'body': "> > > Now, while looking at this, I noticed that the other `--filesystem=xdg-run/discord-ipc-0:create` flag, which is intended to expose a non-Flatpak Discord socket, is wrong. Due to the `:create` suffix, if Discord is not running, a directory will be created rather than a socket, breaking rich presence. The path must not be treated as a directory, which is why the suffix was removed.\r\n> > \r\n> > \r\n> > On this, this was directly taken from the flatpak's wiki: https://github.com/flathub/com.discordapp.Discord/wiki/Rich-Precense-(discord-rpc)#flatpak-applications\r\n> > > Add `--filesystem=xdg-run/app/com.discordapp.Discord:create` to `finish-args`\r\n> > \r\n> > \r\n> > If you are sure this is incorrect, could you modify that wiki page for others, or otherwise raise an issue in the repository?\r\n> \r\n> You are reading this wrong. Note the difference between `--filesystem=xdg-run/discord-ipc-0:create` and `--filesystem=xdg-run/app/com.discordapp.Discord:create`.\r\n\r\nAh right, this makes more sense", 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14862', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14862/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14862/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14862/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14862', 'id': 5434982070, 'node_id': 'PR_kwDOALCn2M8AAAABDRc87w', 'number': 14862, 'title': 'Flatpak: Fix Discord rich presence', 'user': {'login': 'matellush', 'id': 202132988, 'node_id': 'U_kgDODAxN_A', 'avatar_url': 'https://avatars.githubusercontent.com/u/202132988?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/matellush', 'html_url': 'https://github.com/matellush', 'followers_url': 'https://api.github.com/users/matellush/followers', 'following_url': 'https://api.github.com/users/matellush/following{/other_user}', 'gists_url': 'https://api.github.com/users/matellush/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/matellush/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/matellush/subscriptions', 'organizations_url': 'https://api.github.com/users/matellush/orgs', 'repos_url': 'https://api.github.com/users/matellush/repos', 'events_url': 'https://api.github.com/users/matellush/events{/privacy}', 'received_events_url': 'https://api.github.com/users/matellush/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 4, 'created_at': '2026-09-12T17:42:43Z', 'updated_at': '2026-09-12T18:18: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/14862', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14862', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14862.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14862.patch', 'merged_at': None}, 'body': "The main goal of this PR is to support Flatpak install of the `beta` branch of Discord (Discord Canary) for rich presence. The way I propose it, a Discord Canary Flatpak running while Dolphin is started using the Dolphin wrapper should be picked up if no stable (or native) version of Discord is running at the same time.\r\n\r\nThe flow works as follows (if `$XDG_RUNTIME_DIR/discord-ipc-0` starts out as a regular file, directory, or is non-existent; assuming no symlinks exist inside the sandbox yet):\r\n- If only the stable Discord Flatpak is running with, e.g., its `discord-ipc-0` socket exposed in `$XDG_RUNTIME_DIR/app/com.discordapp.Discord`, then the first `test ... || ln -sf ...` line will see that `$XDG_RUNTIME_DIR/discord-ipc-0` is not a socket and will thus make it point to `$XDG_RUNTIME_DIR/app/com.discordapp.Discord/discord-ipc-0`. The subsequent two lines would run the `test` and see that the file represented by `$XDG_RUNTIME_DIR/discord-ipc-0` is indeed now a socket, and will not change the symlink(s).\r\n- If only the beta Discord Canary Flatpak is running with its  `discord-ipc-0` socket exposed in `$XDG_RUNTIME_DIR/app/com.discordapp.DiscordCanary`, then the first `test ... || ln -sf ...` line will see that `$XDG_RUNTIME_DIR/discord-ipc-0` is not a socket and will thus make it point to `$XDG_RUNTIME_DIR/app/com.discordapp.Discord/discord-ipc-0` (same as above). The second `test` line will test `$XDG_RUNTIME_DIR/discord-ipc-0` again, and see that it is not a socket due to being a broken symlink. The `ln -sf ...` part will now make `$XDG_RUNTIME_DIR/discord-ipc-0` point to `$XDG_RUNTIME_DIR/app/com.discordapp.DiscordCanary/discord-ipc-0`, which is the socket of Discord Canary. Thus, the third `test` line will return early and not change the symlink again.\r\n- If both stable and beta Discord Flatpak versions are running, the stable version should take precedence as it is the first candidate symlink target.\r\n- If none of the two Discord Flatpak versions are running, the third `test` line ensures that `$XDG_RUNTIME_DIR/discord-ipc-0` ends up pointing at `$XDG_RUNTIME_DIR/app/com.discordapp.Discord/discord-ipc-0` (the stable version's socket location) with a dangling symlink, prioritizing the stable installation. Since the entire `xdg-run/app/com.discordapp.Discord:create` directory is exposed, launching the stable Discord Flatpak at a later time should make the symlink point to its socket.\r\n\r\nNow, while looking at this, I noticed that the other `--filesystem=xdg-run/discord-ipc-0:create` flag, which is intended to expose a non-Flatpak Discord socket, is wrong. Due to the `:create` suffix, if Discord is not running, a directory will be created rather than a socket, breaking rich presence. The path must not be treated as a directory, which is why the suffix was removed. It now behaves like this: If the socket file exists, it is exposed to the Dolphin Flatpak, and if it does not exist, a `0-byte` regular file is created inside Dolphin's sandbox, which can then be symlinked to point to something else by the wrapper. It should be noted that exposing the single native `discord-ipc-0` socket (out of up to 10 potential sockets) is not exactly the best solution for this, and also only gets correctly forwarded into the sandbox if Discord is already running (which is similar to the proposed Canary case).\r\n\r\nEvidence of `:create` being a problem:\r\n```\r\nError: listen EADDRINUSE: address already in use /run/user/1000/discord-ipc-0\r\n```\r\n\r\nRelated PR: #14120", 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14862/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/14862/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5647785610', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14862#issuecomment-5647785610', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14862', 'id': 5647785610, 'node_id': 'IC_kwDOALCn2M8AAAABUKJeig', '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-12T18:18:26Z', 'updated_at': '2026-09-12T18:18:26Z', 'body': "> > > Now, while looking at this, I noticed that the other `--filesystem=xdg-run/discord-ipc-0:create` flag, which is intended to expose a non-Flatpak Discord socket, is wrong. Due to the `:create` suffix, if Discord is not running, a directory will be created rather than a socket, breaking rich presence. The path must not be treated as a directory, which is why the suffix was removed.\r\n> > \r\n> > \r\n> > On this, this was directly taken from the flatpak's wiki: https://github.com/flathub/com.discordapp.Discord/wiki/Rich-Precense-(discord-rpc)#flatpak-applications\r\n> > > Add `--filesystem=xdg-run/app/com.discordapp.Discord:create` to `finish-args`\r\n> > \r\n> > \r\n> > If you are sure this is incorrect, could you modify that wiki page for others, or otherwise raise an issue in the repository?\r\n> \r\n> You are reading this wrong. Note the difference between `--filesystem=xdg-run/discord-ipc-0:create` and `--filesystem=xdg-run/app/com.discordapp.Discord:create`.\r\n\r\nAh right, this makes more sense", 'author_association': 'MEMBER', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5647785610/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-12T17:37:49Z', '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': 15518, 'watchers_count': 15518, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3250, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 473, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3250, 'open_issues': 473, 'watchers': 15518, '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-12T18:17:39.507812	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'matellush', 'action': 'created', 'id': 14862, 'title': 'Flatpak: Fix Discord rich presence', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14862#issuecomment-5647781078', 'safe_author': False, 'body': 'The wiki page never mentions this `--filesystem=xdg-run/discord-ipc-0:create` flag.', 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14862', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14862/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14862/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14862/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14862', 'id': 5434982070, 'node_id': 'PR_kwDOALCn2M8AAAABDRc87w', 'number': 14862, 'title': 'Flatpak: Fix Discord rich presence', 'user': {'login': 'matellush', 'id': 202132988, 'node_id': 'U_kgDODAxN_A', 'avatar_url': 'https://avatars.githubusercontent.com/u/202132988?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/matellush', 'html_url': 'https://github.com/matellush', 'followers_url': 'https://api.github.com/users/matellush/followers', 'following_url': 'https://api.github.com/users/matellush/following{/other_user}', 'gists_url': 'https://api.github.com/users/matellush/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/matellush/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/matellush/subscriptions', 'organizations_url': 'https://api.github.com/users/matellush/orgs', 'repos_url': 'https://api.github.com/users/matellush/repos', 'events_url': 'https://api.github.com/users/matellush/events{/privacy}', 'received_events_url': 'https://api.github.com/users/matellush/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 3, 'created_at': '2026-09-12T17:42:43Z', 'updated_at': '2026-09-12T18:17: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/14862', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14862', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14862.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14862.patch', 'merged_at': None}, 'body': "The main goal of this PR is to support Flatpak install of the `beta` branch of Discord (Discord Canary) for rich presence. The way I propose it, a Discord Canary Flatpak running while Dolphin is started using the Dolphin wrapper should be picked up if no stable (or native) version of Discord is running at the same time.\r\n\r\nThe flow works as follows (if `$XDG_RUNTIME_DIR/discord-ipc-0` starts out as a regular file, directory, or is non-existent; assuming no symlinks exist inside the sandbox yet):\r\n- If only the stable Discord Flatpak is running with, e.g., its `discord-ipc-0` socket exposed in `$XDG_RUNTIME_DIR/app/com.discordapp.Discord`, then the first `test ... || ln -sf ...` line will see that `$XDG_RUNTIME_DIR/discord-ipc-0` is not a socket and will thus make it point to `$XDG_RUNTIME_DIR/app/com.discordapp.Discord/discord-ipc-0`. The subsequent two lines would run the `test` and see that the file represented by `$XDG_RUNTIME_DIR/discord-ipc-0` is indeed now a socket, and will not change the symlink(s).\r\n- If only the beta Discord Canary Flatpak is running with its  `discord-ipc-0` socket exposed in `$XDG_RUNTIME_DIR/app/com.discordapp.DiscordCanary`, then the first `test ... || ln -sf ...` line will see that `$XDG_RUNTIME_DIR/discord-ipc-0` is not a socket and will thus make it point to `$XDG_RUNTIME_DIR/app/com.discordapp.Discord/discord-ipc-0` (same as above). The second `test` line will test `$XDG_RUNTIME_DIR/discord-ipc-0` again, and see that it is not a socket due to being a broken symlink. The `ln -sf ...` part will now make `$XDG_RUNTIME_DIR/discord-ipc-0` point to `$XDG_RUNTIME_DIR/app/com.discordapp.DiscordCanary/discord-ipc-0`, which is the socket of Discord Canary. Thus, the third `test` line will return early and not change the symlink again.\r\n- If both stable and beta Discord Flatpak versions are running, the stable version should take precedence as it is the first candidate symlink target.\r\n- If none of the two Discord Flatpak versions are running, the third `test` line ensures that `$XDG_RUNTIME_DIR/discord-ipc-0` ends up pointing at `$XDG_RUNTIME_DIR/app/com.discordapp.Discord/discord-ipc-0` (the stable version's socket location) with a dangling symlink, prioritizing the stable installation. Since the entire `xdg-run/app/com.discordapp.Discord:create` directory is exposed, launching the stable Discord Flatpak at a later time should make the symlink point to its socket.\r\n\r\nNow, while looking at this, I noticed that the other `--filesystem=xdg-run/discord-ipc-0:create` flag, which is intended to expose a non-Flatpak Discord socket, is wrong. Due to the `:create` suffix, if Discord is not running, a directory will be created rather than a socket, breaking rich presence. The path must not be treated as a directory, which is why the suffix was removed. It now behaves like this: If the socket file exists, it is exposed to the Dolphin Flatpak, and if it does not exist, a `0-byte` regular file is created inside Dolphin's sandbox, which can then be symlinked to point to something else by the wrapper. It should be noted that exposing the single native `discord-ipc-0` socket (out of up to 10 potential sockets) is not exactly the best solution for this, and also only gets correctly forwarded into the sandbox if Discord is already running (which is similar to the proposed Canary case).\r\n\r\nEvidence of `:create` being a problem:\r\n```\r\nError: listen EADDRINUSE: address already in use /run/user/1000/discord-ipc-0\r\n```\r\n\r\nRelated PR: #14120", 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14862/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/14862/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5647781078', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14862#issuecomment-5647781078', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14862', 'id': 5647781078, 'node_id': 'IC_kwDOALCn2M8AAAABUKJM1g', 'user': {'login': 'matellush', 'id': 202132988, 'node_id': 'U_kgDODAxN_A', 'avatar_url': 'https://avatars.githubusercontent.com/u/202132988?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/matellush', 'html_url': 'https://github.com/matellush', 'followers_url': 'https://api.github.com/users/matellush/followers', 'following_url': 'https://api.github.com/users/matellush/following{/other_user}', 'gists_url': 'https://api.github.com/users/matellush/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/matellush/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/matellush/subscriptions', 'organizations_url': 'https://api.github.com/users/matellush/orgs', 'repos_url': 'https://api.github.com/users/matellush/repos', 'events_url': 'https://api.github.com/users/matellush/events{/privacy}', 'received_events_url': 'https://api.github.com/users/matellush/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2026-09-12T18:17:36Z', 'updated_at': '2026-09-12T18:17:36Z', 'body': 'The wiki page never mentions this `--filesystem=xdg-run/discord-ipc-0:create` flag.', 'author_association': 'CONTRIBUTOR', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5647781078/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-12T17:37:49Z', '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': 15518, 'watchers_count': 15518, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3250, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 473, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3250, 'open_issues': 473, 'watchers': 15518, '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': 'matellush', 'id': 202132988, 'node_id': 'U_kgDODAxN_A', 'avatar_url': 'https://avatars.githubusercontent.com/u/202132988?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/matellush', 'html_url': 'https://github.com/matellush', 'followers_url': 'https://api.github.com/users/matellush/followers', 'following_url': 'https://api.github.com/users/matellush/following{/other_user}', 'gists_url': 'https://api.github.com/users/matellush/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/matellush/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/matellush/subscriptions', 'organizations_url': 'https://api.github.com/users/matellush/orgs', 'repos_url': 'https://api.github.com/users/matellush/repos', 'events_url': 'https://api.github.com/users/matellush/events{/privacy}', 'received_events_url': 'https://api.github.com/users/matellush/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'gh_issue_comment'}
2026-09-12T18:16:26.446506	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'matellush', 'action': 'created', 'id': 14862, 'title': 'Flatpak: Fix Discord rich presence', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14862#issuecomment-5647773947', 'safe_author': False, 'body': "> > Now, while looking at this, I noticed that the other `--filesystem=xdg-run/discord-ipc-0:create` flag, which is intended to expose a non-Flatpak Discord socket, is wrong. Due to the `:create` suffix, if Discord is not running, a directory will be created rather than a socket, breaking rich presence. The path must not be treated as a directory, which is why the suffix was removed.\r\n> \r\n> On this, this was directly taken from the flatpak's wiki: https://github.com/flathub/com.discordapp.Discord/wiki/Rich-Precense-(discord-rpc)#flatpak-applications\r\n> \r\n> > Add `--filesystem=xdg-run/app/com.discordapp.Discord:create` to `finish-args`\r\n> \r\n> If you are sure this is incorrect, could you modify that wiki page for others, or otherwise raise an issue in the repository?\r\n\r\nYou are reading this wrong. Note the difference between `--filesystem=xdg-run/discord-ipc-0:create` and `--filesystem=xdg-run/app/com.discordapp.Discord:create`.", 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14862', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14862/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14862/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14862/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14862', 'id': 5434982070, 'node_id': 'PR_kwDOALCn2M8AAAABDRc87w', 'number': 14862, 'title': 'Flatpak: Fix Discord rich presence', 'user': {'login': 'matellush', 'id': 202132988, 'node_id': 'U_kgDODAxN_A', 'avatar_url': 'https://avatars.githubusercontent.com/u/202132988?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/matellush', 'html_url': 'https://github.com/matellush', 'followers_url': 'https://api.github.com/users/matellush/followers', 'following_url': 'https://api.github.com/users/matellush/following{/other_user}', 'gists_url': 'https://api.github.com/users/matellush/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/matellush/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/matellush/subscriptions', 'organizations_url': 'https://api.github.com/users/matellush/orgs', 'repos_url': 'https://api.github.com/users/matellush/repos', 'events_url': 'https://api.github.com/users/matellush/events{/privacy}', 'received_events_url': 'https://api.github.com/users/matellush/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 2, 'created_at': '2026-09-12T17:42:43Z', 'updated_at': '2026-09-12T18:16:24Z', '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/14862', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14862', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14862.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14862.patch', 'merged_at': None}, 'body': "The main goal of this PR is to support Flatpak install of the `beta` branch of Discord (Discord Canary) for rich presence. The way I propose it, a Discord Canary Flatpak running while Dolphin is started using the Dolphin wrapper should be picked up if no stable (or native) version of Discord is running at the same time.\r\n\r\nThe flow works as follows (if `$XDG_RUNTIME_DIR/discord-ipc-0` starts out as a regular file, directory, or is non-existent; assuming no symlinks exist inside the sandbox yet):\r\n- If only the stable Discord Flatpak is running with, e.g., its `discord-ipc-0` socket exposed in `$XDG_RUNTIME_DIR/app/com.discordapp.Discord`, then the first `test ... || ln -sf ...` line will see that `$XDG_RUNTIME_DIR/discord-ipc-0` is not a socket and will thus make it point to `$XDG_RUNTIME_DIR/app/com.discordapp.Discord/discord-ipc-0`. The subsequent two lines would run the `test` and see that the file represented by `$XDG_RUNTIME_DIR/discord-ipc-0` is indeed now a socket, and will not change the symlink(s).\r\n- If only the beta Discord Canary Flatpak is running with its  `discord-ipc-0` socket exposed in `$XDG_RUNTIME_DIR/app/com.discordapp.DiscordCanary`, then the first `test ... || ln -sf ...` line will see that `$XDG_RUNTIME_DIR/discord-ipc-0` is not a socket and will thus make it point to `$XDG_RUNTIME_DIR/app/com.discordapp.Discord/discord-ipc-0` (same as above). The second `test` line will test `$XDG_RUNTIME_DIR/discord-ipc-0` again, and see that it is not a socket due to being a broken symlink. The `ln -sf ...` part will now make `$XDG_RUNTIME_DIR/discord-ipc-0` point to `$XDG_RUNTIME_DIR/app/com.discordapp.DiscordCanary/discord-ipc-0`, which is the socket of Discord Canary. Thus, the third `test` line will return early and not change the symlink again.\r\n- If both stable and beta Discord Flatpak versions are running, the stable version should take precedence as it is the first candidate symlink target.\r\n- If none of the two Discord Flatpak versions are running, the third `test` line ensures that `$XDG_RUNTIME_DIR/discord-ipc-0` ends up pointing at `$XDG_RUNTIME_DIR/app/com.discordapp.Discord/discord-ipc-0` (the stable version's socket location) with a dangling symlink, prioritizing the stable installation. Since the entire `xdg-run/app/com.discordapp.Discord:create` directory is exposed, launching the stable Discord Flatpak at a later time should make the symlink point to its socket.\r\n\r\nNow, while looking at this, I noticed that the other `--filesystem=xdg-run/discord-ipc-0:create` flag, which is intended to expose a non-Flatpak Discord socket, is wrong. Due to the `:create` suffix, if Discord is not running, a directory will be created rather than a socket, breaking rich presence. The path must not be treated as a directory, which is why the suffix was removed. It now behaves like this: If the socket file exists, it is exposed to the Dolphin Flatpak, and if it does not exist, a `0-byte` regular file is created inside Dolphin's sandbox, which can then be symlinked to point to something else by the wrapper. It should be noted that exposing the single native `discord-ipc-0` socket (out of up to 10 potential sockets) is not exactly the best solution for this, and also only gets correctly forwarded into the sandbox if Discord is already running (which is similar to the proposed Canary case).\r\n\r\nEvidence of `:create` being a problem:\r\n```\r\nError: listen EADDRINUSE: address already in use /run/user/1000/discord-ipc-0\r\n```\r\n\r\nRelated PR: #14120", 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14862/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/14862/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5647773947', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14862#issuecomment-5647773947', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14862', 'id': 5647773947, 'node_id': 'IC_kwDOALCn2M8AAAABUKIw-w', 'user': {'login': 'matellush', 'id': 202132988, 'node_id': 'U_kgDODAxN_A', 'avatar_url': 'https://avatars.githubusercontent.com/u/202132988?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/matellush', 'html_url': 'https://github.com/matellush', 'followers_url': 'https://api.github.com/users/matellush/followers', 'following_url': 'https://api.github.com/users/matellush/following{/other_user}', 'gists_url': 'https://api.github.com/users/matellush/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/matellush/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/matellush/subscriptions', 'organizations_url': 'https://api.github.com/users/matellush/orgs', 'repos_url': 'https://api.github.com/users/matellush/repos', 'events_url': 'https://api.github.com/users/matellush/events{/privacy}', 'received_events_url': 'https://api.github.com/users/matellush/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2026-09-12T18:16:23Z', 'updated_at': '2026-09-12T18:16:23Z', 'body': "> > Now, while looking at this, I noticed that the other `--filesystem=xdg-run/discord-ipc-0:create` flag, which is intended to expose a non-Flatpak Discord socket, is wrong. Due to the `:create` suffix, if Discord is not running, a directory will be created rather than a socket, breaking rich presence. The path must not be treated as a directory, which is why the suffix was removed.\r\n> \r\n> On this, this was directly taken from the flatpak's wiki: https://github.com/flathub/com.discordapp.Discord/wiki/Rich-Precense-(discord-rpc)#flatpak-applications\r\n> \r\n> > Add `--filesystem=xdg-run/app/com.discordapp.Discord:create` to `finish-args`\r\n> \r\n> If you are sure this is incorrect, could you modify that wiki page for others, or otherwise raise an issue in the repository?\r\n\r\nYou are reading this wrong. Note the difference between `--filesystem=xdg-run/discord-ipc-0:create` and `--filesystem=xdg-run/app/com.discordapp.Discord:create`.", 'author_association': 'CONTRIBUTOR', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5647773947/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-12T17:37:49Z', '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': 15518, 'watchers_count': 15518, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3250, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 473, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3250, 'open_issues': 473, 'watchers': 15518, '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': 'matellush', 'id': 202132988, 'node_id': 'U_kgDODAxN_A', 'avatar_url': 'https://avatars.githubusercontent.com/u/202132988?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/matellush', 'html_url': 'https://github.com/matellush', 'followers_url': 'https://api.github.com/users/matellush/followers', 'following_url': 'https://api.github.com/users/matellush/following{/other_user}', 'gists_url': 'https://api.github.com/users/matellush/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/matellush/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/matellush/subscriptions', 'organizations_url': 'https://api.github.com/users/matellush/orgs', 'repos_url': 'https://api.github.com/users/matellush/repos', 'events_url': 'https://api.github.com/users/matellush/events{/privacy}', 'received_events_url': 'https://api.github.com/users/matellush/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'gh_issue_comment'}
2026-09-12T18:14:24.781281	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'JoshuaVandaele', 'action': 'created', 'id': 14862, 'title': 'Flatpak: Fix Discord rich presence', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14862#issuecomment-5647762286', 'safe_author': True, 'body': "> Now, while looking at this, I noticed that the other `--filesystem=xdg-run/discord-ipc-0:create` flag, which is intended to expose a non-Flatpak Discord socket, is wrong. Due to the `:create` suffix, if Discord is not running, a directory will be created rather than a socket, breaking rich presence. The path must not be treated as a directory, which is why the suffix was removed. \r\n\r\nOn this, this was directly taken from the flatpak's wiki: https://github.com/flathub/com.discordapp.Discord/wiki/Rich-Precense-(discord-rpc)#flatpak-applications\r\n\r\n> Add `--filesystem=xdg-run/app/com.discordapp.Discord:create` to `finish-args`\r\n\r\nIf you are sure this is incorrect, could you modify that wiki page for others, or otherwise raise an issue in the repository?", 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14862', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14862/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14862/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14862/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14862', 'id': 5434982070, 'node_id': 'PR_kwDOALCn2M8AAAABDRc87w', 'number': 14862, 'title': 'Flatpak: Fix Discord rich presence', 'user': {'login': 'matellush', 'id': 202132988, 'node_id': 'U_kgDODAxN_A', 'avatar_url': 'https://avatars.githubusercontent.com/u/202132988?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/matellush', 'html_url': 'https://github.com/matellush', 'followers_url': 'https://api.github.com/users/matellush/followers', 'following_url': 'https://api.github.com/users/matellush/following{/other_user}', 'gists_url': 'https://api.github.com/users/matellush/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/matellush/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/matellush/subscriptions', 'organizations_url': 'https://api.github.com/users/matellush/orgs', 'repos_url': 'https://api.github.com/users/matellush/repos', 'events_url': 'https://api.github.com/users/matellush/events{/privacy}', 'received_events_url': 'https://api.github.com/users/matellush/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-12T17:42:43Z', 'updated_at': '2026-09-12T18:14:23Z', 'closed_at': None, 'assignee': None, 'author_association': 'CONTRIBUTOR', 'issue_field_values': [], 'type': None, 'active_lock_reason': None, 'draft': False, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14862', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14862', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14862.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14862.patch', 'merged_at': None}, 'body': "The main goal of this PR is to support Flatpak install of the `beta` branch of Discord (Discord Canary) for rich presence. The way I propose it, a Discord Canary Flatpak running while Dolphin is started using the Dolphin wrapper should be picked up if no stable (or native) version of Discord is running at the same time.\r\n\r\nThe flow works as follows (if `$XDG_RUNTIME_DIR/discord-ipc-0` starts out as a regular file, directory, or is non-existent; assuming no symlinks exist inside the sandbox yet):\r\n- If only the stable Discord Flatpak is running with, e.g., its `discord-ipc-0` socket exposed in `$XDG_RUNTIME_DIR/app/com.discordapp.Discord`, then the first `test ... || ln -sf ...` line will see that `$XDG_RUNTIME_DIR/discord-ipc-0` is not a socket and will thus make it point to `$XDG_RUNTIME_DIR/app/com.discordapp.Discord/discord-ipc-0`. The subsequent two lines would run the `test` and see that the file represented by `$XDG_RUNTIME_DIR/discord-ipc-0` is indeed now a socket, and will not change the symlink(s).\r\n- If only the beta Discord Canary Flatpak is running with its  `discord-ipc-0` socket exposed in `$XDG_RUNTIME_DIR/app/com.discordapp.DiscordCanary`, then the first `test ... || ln -sf ...` line will see that `$XDG_RUNTIME_DIR/discord-ipc-0` is not a socket and will thus make it point to `$XDG_RUNTIME_DIR/app/com.discordapp.Discord/discord-ipc-0` (same as above). The second `test` line will test `$XDG_RUNTIME_DIR/discord-ipc-0` again, and see that it is not a socket due to being a broken symlink. The `ln -sf ...` part will now make `$XDG_RUNTIME_DIR/discord-ipc-0` point to `$XDG_RUNTIME_DIR/app/com.discordapp.DiscordCanary/discord-ipc-0`, which is the socket of Discord Canary. Thus, the third `test` line will return early and not change the symlink again.\r\n- If both stable and beta Discord Flatpak versions are running, the stable version should take precedence as it is the first candidate symlink target.\r\n- If none of the two Discord Flatpak versions are running, the third `test` line ensures that `$XDG_RUNTIME_DIR/discord-ipc-0` ends up pointing at `$XDG_RUNTIME_DIR/app/com.discordapp.Discord/discord-ipc-0` (the stable version's socket location) with a dangling symlink, prioritizing the stable installation. Since the entire `xdg-run/app/com.discordapp.Discord:create` directory is exposed, launching the stable Discord Flatpak at a later time should make the symlink point to its socket.\r\n\r\nNow, while looking at this, I noticed that the other `--filesystem=xdg-run/discord-ipc-0:create` flag, which is intended to expose a non-Flatpak Discord socket, is wrong. Due to the `:create` suffix, if Discord is not running, a directory will be created rather than a socket, breaking rich presence. The path must not be treated as a directory, which is why the suffix was removed. It now behaves like this: If the socket file exists, it is exposed to the Dolphin Flatpak, and if it does not exist, a `0-byte` regular file is created inside Dolphin's sandbox, which can then be symlinked to point to something else by the wrapper. It should be noted that exposing the single native `discord-ipc-0` socket (out of up to 10 potential sockets) is not exactly the best solution for this, and also only gets correctly forwarded into the sandbox if Discord is already running (which is similar to the proposed Canary case).\r\n\r\nEvidence of `:create` being a problem:\r\n```\r\nError: listen EADDRINUSE: address already in use /run/user/1000/discord-ipc-0\r\n```\r\n\r\nRelated PR: #14120", 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14862/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/14862/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5647762286', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14862#issuecomment-5647762286', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14862', 'id': 5647762286, 'node_id': 'IC_kwDOALCn2M8AAAABUKIDbg', '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-12T18:14:23Z', 'updated_at': '2026-09-12T18:14:23Z', 'body': "> Now, while looking at this, I noticed that the other `--filesystem=xdg-run/discord-ipc-0:create` flag, which is intended to expose a non-Flatpak Discord socket, is wrong. Due to the `:create` suffix, if Discord is not running, a directory will be created rather than a socket, breaking rich presence. The path must not be treated as a directory, which is why the suffix was removed. \r\n\r\nOn this, this was directly taken from the flatpak's wiki: https://github.com/flathub/com.discordapp.Discord/wiki/Rich-Precense-(discord-rpc)#flatpak-applications\r\n\r\n> Add `--filesystem=xdg-run/app/com.discordapp.Discord:create` to `finish-args`\r\n\r\nIf you are sure this is incorrect, could you modify that wiki page for others, or otherwise raise an issue in the repository?", 'author_association': 'MEMBER', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5647762286/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-12T17:37:49Z', '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': 15518, 'watchers_count': 15518, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3250, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 473, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3250, 'open_issues': 473, 'watchers': 15518, '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-11T17:57:48.895800	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'JosJuice', 'action': 'created', 'id': 14857, 'title': 'Android: Add reset item to emulation menu', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14857#issuecomment-5638617019', 'safe_author': True, 'body': 'LGTM for merge after the next release.', 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14857', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14857/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14857/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14857/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14857', 'id': 5407636863, 'node_id': 'PR_kwDOALCn2M8AAAABC7ujwQ', 'number': 14857, 'title': 'Android: Add reset item to emulation menu', 'user': {'login': 'ChaseParate', 'id': 97500441, 'node_id': 'U_kgDOBc-9GQ', 'avatar_url': 'https://avatars.githubusercontent.com/u/97500441?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/ChaseParate', 'html_url': 'https://github.com/ChaseParate', 'followers_url': 'https://api.github.com/users/ChaseParate/followers', 'following_url': 'https://api.github.com/users/ChaseParate/following{/other_user}', 'gists_url': 'https://api.github.com/users/ChaseParate/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/ChaseParate/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/ChaseParate/subscriptions', 'organizations_url': 'https://api.github.com/users/ChaseParate/orgs', 'repos_url': 'https://api.github.com/users/ChaseParate/repos', 'events_url': 'https://api.github.com/users/ChaseParate/events{/privacy}', 'received_events_url': 'https://api.github.com/users/ChaseParate/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 5, 'created_at': '2026-09-10T04:08:18Z', 'updated_at': '2026-09-11T17:57:47Z', '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/14857', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14857', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14857.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14857.patch', 'merged_at': None}, 'body': 'Just adds the reset action to the Android app.\r\n\r\nDemo:\r\n\r\n[reset-demo.webm](https://github.com/user-attachments/assets/8852c43b-2733-4f80-a0bb-d6d19bf3f391)\r\n', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14857/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/14857/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5638617019', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14857#issuecomment-5638617019', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14857', 'id': 5638617019, 'node_id': 'IC_kwDOALCn2M8AAAABUBZ3uw', '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-11T17:57:47Z', 'updated_at': '2026-09-11T17:57:47Z', 'body': 'LGTM for merge after the next release.', 'author_association': 'MEMBER', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5638617019/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-11T17:10:28Z', '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': 15514, 'watchers_count': 15514, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3247, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 470, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3247, 'open_issues': 470, 'watchers': 15514, '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-11T12:47:32.207355	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'OatmealDome', 'action': 'created', 'id': 14859, 'title': 'name: Build Dolphin Custom SWBF3', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14859#issuecomment-5634649534', 'safe_author': True, 'body': "You are opening PRs in the upstream Dolphin repo. If you are trying to produce builds with GitHub Actions for your own use, you don't need to open a PR.", 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14859', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14859/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14859/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14859/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14859', 'id': 5424332348, 'node_id': 'PR_kwDOALCn2M8AAAABDJHIQw', 'number': 14859, 'title': 'name: Build Dolphin Custom SWBF3', 'user': {'login': 'Budyman2920', 'id': 327944765, 'node_id': 'U_kgDOE4wKPQ', 'avatar_url': 'https://avatars.githubusercontent.com/u/327944765?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/Budyman2920', 'html_url': 'https://github.com/Budyman2920', 'followers_url': 'https://api.github.com/users/Budyman2920/followers', 'following_url': 'https://api.github.com/users/Budyman2920/following{/other_user}', 'gists_url': 'https://api.github.com/users/Budyman2920/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/Budyman2920/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/Budyman2920/subscriptions', 'organizations_url': 'https://api.github.com/users/Budyman2920/orgs', 'repos_url': 'https://api.github.com/users/Budyman2920/repos', 'events_url': 'https://api.github.com/users/Budyman2920/events{/privacy}', 'received_events_url': 'https://api.github.com/users/Budyman2920/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-11T12:32:53Z', 'updated_at': '2026-09-11T12:47:30Z', 'closed_at': '2026-09-11T12:47:29Z', '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/14859', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14859', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14859.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14859.patch', 'merged_at': None}, 'body': 'on: [workflow_dispatch]\r\n\r\njobs:\r\n  build:\r\n      runs-on: ubuntu-latest\r\n          steps:\r\n                - name: Ambil Sumber Resmi Dolphin Terbaru\r\n                        uses: actions/checkout@v4\r\n                                with:\r\n                                          fetch-depth: 0\r\n\r\n                                                - name: Siapkan Sistem Java SDK 17\r\n                                                        uses: actions/setup-java@v4\r\n                                                                with:\r\n                                                                          java-version: \'17\'\r\n                                                                                    distribution: \'temurin\'\r\n\r\n                                                                                          - name: Paksa Masuk Perbaikan Vertex PR 13227\r\n                                                                                                  run: |\r\n                                                                                                            git config --global user.name "Budyman2920"\r\n                                                                                                                      git config --global user.email "fauzanromadhon735@gmail.com"\r\n                                                                                                                                git fetch origin pull/13227/head:pr13227\r\n                                                                                                                                          git merge pr13227 --no-edit\r\n\r\n                                                                                                                                                - name: Build APK Menggunakan SDK Internal Android\r\n                                                                                                                                                        run: |\r\n                                                                                                                                                                  cd Source/Android\r\n                                                                                                                                                                            chmod +x gradlew\r\n                                                                                                                                                                                      ./gradlew assembleDebug\r\n\r\n                                                                                                                                                                                            - name: Simpan Hasil APK\r\n                                                                                                                                                                                                    uses: actions/upload-artifact@v4\r\n                                                                                                                                                                                                            with:\r\n                                                                                                                                                                                                                      name: Dolphin-SWBF3-PR13227\r\n                                                                                                                                                                                                                                path: Source/Android/app/build/outputs/apk/debug/app-debug.apk', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14859/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/14859/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5634649534', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14859#issuecomment-5634649534', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14859', 'id': 5634649534, 'node_id': 'IC_kwDOALCn2M8AAAABT9ntvg', 'user': {'login': 'OatmealDome', 'id': 11504941, 'node_id': 'MDQ6VXNlcjExNTA0OTQx', 'avatar_url': 'https://avatars.githubusercontent.com/u/11504941?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/OatmealDome', 'html_url': 'https://github.com/OatmealDome', 'followers_url': 'https://api.github.com/users/OatmealDome/followers', 'following_url': 'https://api.github.com/users/OatmealDome/following{/other_user}', 'gists_url': 'https://api.github.com/users/OatmealDome/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/OatmealDome/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/OatmealDome/subscriptions', 'organizations_url': 'https://api.github.com/users/OatmealDome/orgs', 'repos_url': 'https://api.github.com/users/OatmealDome/repos', 'events_url': 'https://api.github.com/users/OatmealDome/events{/privacy}', 'received_events_url': 'https://api.github.com/users/OatmealDome/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2026-09-11T12:47:29Z', 'updated_at': '2026-09-11T12:47:29Z', 'body': "You are opening PRs in the upstream Dolphin repo. If you are trying to produce builds with GitHub Actions for your own use, you don't need to open a PR.", 'author_association': 'MEMBER', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5634649534/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-11T08:39:06Z', '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': 15513, 'watchers_count': 15513, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3247, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 470, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3247, 'open_issues': 470, 'watchers': 15513, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'OatmealDome', 'id': 11504941, 'node_id': 'MDQ6VXNlcjExNTA0OTQx', 'avatar_url': 'https://avatars.githubusercontent.com/u/11504941?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/OatmealDome', 'html_url': 'https://github.com/OatmealDome', 'followers_url': 'https://api.github.com/users/OatmealDome/followers', 'following_url': 'https://api.github.com/users/OatmealDome/following{/other_user}', 'gists_url': 'https://api.github.com/users/OatmealDome/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/OatmealDome/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/OatmealDome/subscriptions', 'organizations_url': 'https://api.github.com/users/OatmealDome/orgs', 'repos_url': 'https://api.github.com/users/OatmealDome/repos', 'events_url': 'https://api.github.com/users/OatmealDome/events{/privacy}', 'received_events_url': 'https://api.github.com/users/OatmealDome/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'gh_issue_comment'}
2026-09-10T21:00:00.585688	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'ChaseParate', 'action': 'edited', 'id': 14857, 'title': 'Android: Add reset item to emulation menu', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14857#issuecomment-5625315315', 'safe_author': False, 'body': 'That makes sense. I put it above them initially as I thought it made more sense to put it near the other "emulation state" options.\r\n\r\nFixed.', 'raw': {'action': 'edited', 'changes': {'body': {'from': 'That makes sense. I put it above them initially as I thought it made sense near the other "emulation state" options.\r\n\r\nFixed.'}}, 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14857', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14857/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14857/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14857/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14857', 'id': 5407636863, 'node_id': 'PR_kwDOALCn2M8AAAABC7ujwQ', 'number': 14857, 'title': 'Android: Add reset item to emulation menu', 'user': {'login': 'ChaseParate', 'id': 97500441, 'node_id': 'U_kgDOBc-9GQ', 'avatar_url': 'https://avatars.githubusercontent.com/u/97500441?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/ChaseParate', 'html_url': 'https://github.com/ChaseParate', 'followers_url': 'https://api.github.com/users/ChaseParate/followers', 'following_url': 'https://api.github.com/users/ChaseParate/following{/other_user}', 'gists_url': 'https://api.github.com/users/ChaseParate/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/ChaseParate/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/ChaseParate/subscriptions', 'organizations_url': 'https://api.github.com/users/ChaseParate/orgs', 'repos_url': 'https://api.github.com/users/ChaseParate/repos', 'events_url': 'https://api.github.com/users/ChaseParate/events{/privacy}', 'received_events_url': 'https://api.github.com/users/ChaseParate/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 4, 'created_at': '2026-09-10T04:08:18Z', 'updated_at': '2026-09-10T20:55:38Z', '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/14857', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14857', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14857.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14857.patch', 'merged_at': None}, 'body': 'Just adds the reset action to the Android app.\r\n\r\nDemo:\r\n\r\n[reset-demo.webm](https://github.com/user-attachments/assets/8852c43b-2733-4f80-a0bb-d6d19bf3f391)\r\n', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14857/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/14857/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5625315315', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14857#issuecomment-5625315315', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14857', 'id': 5625315315, 'node_id': 'IC_kwDOALCn2M8AAAABT0t_8w', 'user': {'login': 'ChaseParate', 'id': 97500441, 'node_id': 'U_kgDOBc-9GQ', 'avatar_url': 'https://avatars.githubusercontent.com/u/97500441?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/ChaseParate', 'html_url': 'https://github.com/ChaseParate', 'followers_url': 'https://api.github.com/users/ChaseParate/followers', 'following_url': 'https://api.github.com/users/ChaseParate/following{/other_user}', 'gists_url': 'https://api.github.com/users/ChaseParate/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/ChaseParate/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/ChaseParate/subscriptions', 'organizations_url': 'https://api.github.com/users/ChaseParate/orgs', 'repos_url': 'https://api.github.com/users/ChaseParate/repos', 'events_url': 'https://api.github.com/users/ChaseParate/events{/privacy}', 'received_events_url': 'https://api.github.com/users/ChaseParate/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2026-09-10T20:55:37Z', 'updated_at': '2026-09-10T20:59:59Z', 'body': 'That makes sense. I put it above them initially as I thought it made more sense to put it near the other "emulation state" options.\r\n\r\nFixed.', 'author_association': 'CONTRIBUTOR', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5625315315/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-10T17:15:03Z', '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': 15509, 'watchers_count': 15509, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3245, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 470, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3245, 'open_issues': 470, 'watchers': 15509, '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': 'ChaseParate', 'id': 97500441, 'node_id': 'U_kgDOBc-9GQ', 'avatar_url': 'https://avatars.githubusercontent.com/u/97500441?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/ChaseParate', 'html_url': 'https://github.com/ChaseParate', 'followers_url': 'https://api.github.com/users/ChaseParate/followers', 'following_url': 'https://api.github.com/users/ChaseParate/following{/other_user}', 'gists_url': 'https://api.github.com/users/ChaseParate/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/ChaseParate/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/ChaseParate/subscriptions', 'organizations_url': 'https://api.github.com/users/ChaseParate/orgs', 'repos_url': 'https://api.github.com/users/ChaseParate/repos', 'events_url': 'https://api.github.com/users/ChaseParate/events{/privacy}', 'received_events_url': 'https://api.github.com/users/ChaseParate/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'gh_issue_comment'}
2026-09-10T20:55:39.988917	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'ChaseParate', 'action': 'created', 'id': 14857, 'title': 'Android: Add reset item to emulation menu', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14857#issuecomment-5625315315', 'safe_author': False, 'body': 'That makes sense. I put it above them initially as I thought it made sense near the other "emulation state" options.\r\n\r\nFixed.', 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14857', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14857/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14857/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14857/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14857', 'id': 5407636863, 'node_id': 'PR_kwDOALCn2M8AAAABC7ujwQ', 'number': 14857, 'title': 'Android: Add reset item to emulation menu', 'user': {'login': 'ChaseParate', 'id': 97500441, 'node_id': 'U_kgDOBc-9GQ', 'avatar_url': 'https://avatars.githubusercontent.com/u/97500441?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/ChaseParate', 'html_url': 'https://github.com/ChaseParate', 'followers_url': 'https://api.github.com/users/ChaseParate/followers', 'following_url': 'https://api.github.com/users/ChaseParate/following{/other_user}', 'gists_url': 'https://api.github.com/users/ChaseParate/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/ChaseParate/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/ChaseParate/subscriptions', 'organizations_url': 'https://api.github.com/users/ChaseParate/orgs', 'repos_url': 'https://api.github.com/users/ChaseParate/repos', 'events_url': 'https://api.github.com/users/ChaseParate/events{/privacy}', 'received_events_url': 'https://api.github.com/users/ChaseParate/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 4, 'created_at': '2026-09-10T04:08:18Z', 'updated_at': '2026-09-10T20:55:38Z', '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/14857', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14857', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14857.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14857.patch', 'merged_at': None}, 'body': 'Just adds the reset action to the Android app.\r\n\r\nDemo:\r\n\r\n[reset-demo.webm](https://github.com/user-attachments/assets/8852c43b-2733-4f80-a0bb-d6d19bf3f391)\r\n', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14857/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/14857/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5625315315', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14857#issuecomment-5625315315', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14857', 'id': 5625315315, 'node_id': 'IC_kwDOALCn2M8AAAABT0t_8w', 'user': {'login': 'ChaseParate', 'id': 97500441, 'node_id': 'U_kgDOBc-9GQ', 'avatar_url': 'https://avatars.githubusercontent.com/u/97500441?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/ChaseParate', 'html_url': 'https://github.com/ChaseParate', 'followers_url': 'https://api.github.com/users/ChaseParate/followers', 'following_url': 'https://api.github.com/users/ChaseParate/following{/other_user}', 'gists_url': 'https://api.github.com/users/ChaseParate/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/ChaseParate/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/ChaseParate/subscriptions', 'organizations_url': 'https://api.github.com/users/ChaseParate/orgs', 'repos_url': 'https://api.github.com/users/ChaseParate/repos', 'events_url': 'https://api.github.com/users/ChaseParate/events{/privacy}', 'received_events_url': 'https://api.github.com/users/ChaseParate/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2026-09-10T20:55:37Z', 'updated_at': '2026-09-10T20:55:37Z', 'body': 'That makes sense. I put it above them initially as I thought it made sense near the other "emulation state" options.\r\n\r\nFixed.', 'author_association': 'CONTRIBUTOR', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5625315315/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-10T17:15:03Z', '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': 15509, 'watchers_count': 15509, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3245, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 470, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3245, 'open_issues': 470, 'watchers': 15509, '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': 'ChaseParate', 'id': 97500441, 'node_id': 'U_kgDOBc-9GQ', 'avatar_url': 'https://avatars.githubusercontent.com/u/97500441?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/ChaseParate', 'html_url': 'https://github.com/ChaseParate', 'followers_url': 'https://api.github.com/users/ChaseParate/followers', 'following_url': 'https://api.github.com/users/ChaseParate/following{/other_user}', 'gists_url': 'https://api.github.com/users/ChaseParate/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/ChaseParate/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/ChaseParate/subscriptions', 'organizations_url': 'https://api.github.com/users/ChaseParate/orgs', 'repos_url': 'https://api.github.com/users/ChaseParate/repos', 'events_url': 'https://api.github.com/users/ChaseParate/events{/privacy}', 'received_events_url': 'https://api.github.com/users/ChaseParate/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'gh_issue_comment'}
2026-09-10T20:52:57.306889	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'JosJuice', 'action': 'created', 'id': 14857, 'title': 'Android: Add reset item to emulation menu', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14857#issuecomment-5625284194', 'safe_author': True, 'body': "By at the bottom of the ScrollView, I mean below Skylanders and Disney Infinity. Those two options are much more important than Reset if you're playing one of the relevant games.\r\n\r\nVertical space is at a premium when using a phone in landscape mode, so the order is important here.", 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14857', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14857/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14857/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14857/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14857', 'id': 5407636863, 'node_id': 'PR_kwDOALCn2M8AAAABC7ujwQ', 'number': 14857, 'title': 'Android: Add reset item to emulation menu', 'user': {'login': 'ChaseParate', 'id': 97500441, 'node_id': 'U_kgDOBc-9GQ', 'avatar_url': 'https://avatars.githubusercontent.com/u/97500441?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/ChaseParate', 'html_url': 'https://github.com/ChaseParate', 'followers_url': 'https://api.github.com/users/ChaseParate/followers', 'following_url': 'https://api.github.com/users/ChaseParate/following{/other_user}', 'gists_url': 'https://api.github.com/users/ChaseParate/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/ChaseParate/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/ChaseParate/subscriptions', 'organizations_url': 'https://api.github.com/users/ChaseParate/orgs', 'repos_url': 'https://api.github.com/users/ChaseParate/repos', 'events_url': 'https://api.github.com/users/ChaseParate/events{/privacy}', 'received_events_url': 'https://api.github.com/users/ChaseParate/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 3, 'created_at': '2026-09-10T04:08:18Z', 'updated_at': '2026-09-10T20:52:55Z', '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/14857', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14857', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14857.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14857.patch', 'merged_at': None}, 'body': 'Just adds the reset action to the Android app.\r\n\r\nDemo:\r\n\r\n[reset-demo.webm](https://github.com/user-attachments/assets/8852c43b-2733-4f80-a0bb-d6d19bf3f391)\r\n', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14857/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/14857/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5625284194', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14857#issuecomment-5625284194', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14857', 'id': 5625284194, 'node_id': 'IC_kwDOALCn2M8AAAABT0sGYg', '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-10T20:52:55Z', 'updated_at': '2026-09-10T20:52:55Z', 'body': "By at the bottom of the ScrollView, I mean below Skylanders and Disney Infinity. Those two options are much more important than Reset if you're playing one of the relevant games.\r\n\r\nVertical space is at a premium when using a phone in landscape mode, so the order is important here.", 'author_association': 'MEMBER', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5625284194/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-10T17:15:03Z', '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': 15509, 'watchers_count': 15509, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3245, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 470, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3245, 'open_issues': 470, 'watchers': 15509, '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-10T20:52:23.717628	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'ChaseParate', 'action': 'created', 'id': 14857, 'title': 'Android: Add reset item to emulation menu', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14857#issuecomment-5625277829', 'safe_author': False, 'body': 'Squashed and applied your suggestion.', 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14857', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14857/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14857/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14857/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14857', 'id': 5407636863, 'node_id': 'PR_kwDOALCn2M8AAAABC7ujwQ', 'number': 14857, 'title': 'Android: Add reset item to emulation menu', 'user': {'login': 'ChaseParate', 'id': 97500441, 'node_id': 'U_kgDOBc-9GQ', 'avatar_url': 'https://avatars.githubusercontent.com/u/97500441?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/ChaseParate', 'html_url': 'https://github.com/ChaseParate', 'followers_url': 'https://api.github.com/users/ChaseParate/followers', 'following_url': 'https://api.github.com/users/ChaseParate/following{/other_user}', 'gists_url': 'https://api.github.com/users/ChaseParate/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/ChaseParate/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/ChaseParate/subscriptions', 'organizations_url': 'https://api.github.com/users/ChaseParate/orgs', 'repos_url': 'https://api.github.com/users/ChaseParate/repos', 'events_url': 'https://api.github.com/users/ChaseParate/events{/privacy}', 'received_events_url': 'https://api.github.com/users/ChaseParate/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 2, 'created_at': '2026-09-10T04:08:18Z', 'updated_at': '2026-09-10T20:52:21Z', '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/14857', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14857', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14857.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14857.patch', 'merged_at': None}, 'body': 'Just adds the reset action to the Android app.\r\n\r\nDemo:\r\n\r\n[reset-demo.webm](https://github.com/user-attachments/assets/8852c43b-2733-4f80-a0bb-d6d19bf3f391)\r\n', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14857/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/14857/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5625277829', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14857#issuecomment-5625277829', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14857', 'id': 5625277829, 'node_id': 'IC_kwDOALCn2M8AAAABT0rthQ', 'user': {'login': 'ChaseParate', 'id': 97500441, 'node_id': 'U_kgDOBc-9GQ', 'avatar_url': 'https://avatars.githubusercontent.com/u/97500441?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/ChaseParate', 'html_url': 'https://github.com/ChaseParate', 'followers_url': 'https://api.github.com/users/ChaseParate/followers', 'following_url': 'https://api.github.com/users/ChaseParate/following{/other_user}', 'gists_url': 'https://api.github.com/users/ChaseParate/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/ChaseParate/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/ChaseParate/subscriptions', 'organizations_url': 'https://api.github.com/users/ChaseParate/orgs', 'repos_url': 'https://api.github.com/users/ChaseParate/repos', 'events_url': 'https://api.github.com/users/ChaseParate/events{/privacy}', 'received_events_url': 'https://api.github.com/users/ChaseParate/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2026-09-10T20:52:21Z', 'updated_at': '2026-09-10T20:52:21Z', 'body': 'Squashed and applied your suggestion.', 'author_association': 'CONTRIBUTOR', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5625277829/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-10T17:15:03Z', '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': 15509, 'watchers_count': 15509, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3245, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 470, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3245, 'open_issues': 470, 'watchers': 15509, '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': 'ChaseParate', 'id': 97500441, 'node_id': 'U_kgDOBc-9GQ', 'avatar_url': 'https://avatars.githubusercontent.com/u/97500441?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/ChaseParate', 'html_url': 'https://github.com/ChaseParate', 'followers_url': 'https://api.github.com/users/ChaseParate/followers', 'following_url': 'https://api.github.com/users/ChaseParate/following{/other_user}', 'gists_url': 'https://api.github.com/users/ChaseParate/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/ChaseParate/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/ChaseParate/subscriptions', 'organizations_url': 'https://api.github.com/users/ChaseParate/orgs', 'repos_url': 'https://api.github.com/users/ChaseParate/repos', 'events_url': 'https://api.github.com/users/ChaseParate/events{/privacy}', 'received_events_url': 'https://api.github.com/users/ChaseParate/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'gh_issue_comment'}
2026-09-10T19:07:21.536696	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'JosJuice', 'action': 'created', 'id': 14857, 'title': 'Android: Add reset item to emulation menu', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14857#issuecomment-5624010512', 'safe_author': True, 'body': "I would prefer to have this at the bottom of the ScrollView instead of below the ScrollView, because this isn't a commonly used option.\r\n\r\nAlso, please squash the commits into one.", 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14857', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14857/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14857/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14857/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14857', 'id': 5407636863, 'node_id': 'PR_kwDOALCn2M8AAAABC7ujwQ', 'number': 14857, 'title': 'Android: Add reset item to emulation menu', 'user': {'login': 'ChaseParate', 'id': 97500441, 'node_id': 'U_kgDOBc-9GQ', 'avatar_url': 'https://avatars.githubusercontent.com/u/97500441?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/ChaseParate', 'html_url': 'https://github.com/ChaseParate', 'followers_url': 'https://api.github.com/users/ChaseParate/followers', 'following_url': 'https://api.github.com/users/ChaseParate/following{/other_user}', 'gists_url': 'https://api.github.com/users/ChaseParate/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/ChaseParate/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/ChaseParate/subscriptions', 'organizations_url': 'https://api.github.com/users/ChaseParate/orgs', 'repos_url': 'https://api.github.com/users/ChaseParate/repos', 'events_url': 'https://api.github.com/users/ChaseParate/events{/privacy}', 'received_events_url': 'https://api.github.com/users/ChaseParate/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-10T04:08:18Z', 'updated_at': '2026-09-10T19:07:19Z', '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/14857', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14857', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14857.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14857.patch', 'merged_at': None}, 'body': 'Just adds the reset action to the Android app.\r\n\r\nDemo:\r\n\r\n[reset-demo.webm](https://github.com/user-attachments/assets/8852c43b-2733-4f80-a0bb-d6d19bf3f391)\r\n', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14857/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/14857/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5624010512', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14857#issuecomment-5624010512', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14857', 'id': 5624010512, 'node_id': 'IC_kwDOALCn2M8AAAABTzeXEA', '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-10T19:07:19Z', 'updated_at': '2026-09-10T19:07:19Z', 'body': "I would prefer to have this at the bottom of the ScrollView instead of below the ScrollView, because this isn't a commonly used option.\r\n\r\nAlso, please squash the commits into one.", 'author_association': 'MEMBER', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5624010512/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-10T17:15:03Z', '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': 15509, 'watchers_count': 15509, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3245, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 470, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3245, 'open_issues': 470, 'watchers': 15509, '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-10T18:22:24.491711	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'created', 'id': 11545, 'title': 'DualShockUDPClient: add motors for rumble', 'url': 'https://github.com/dolphin-emu/dolphin/pull/11545#issuecomment-5623422289', 'safe_author': True, 'body': "> Fwiw, I'd be more than happy to transfer my protocol repository either to dolphin-emu or to a new github org with r/w access for interested people. I never intended my document to become a source of authority - merely an RE effort - and if it has to be one then it's probably best to have someone else hold power over it; preferably a group of people across the DSU ecosystem (i.e. both client and server sides).\r\n> \r\n> On the other hand, given that a version bump is going to require updating code all across the ecosystem either way, I believe this is an opportunity to rework the protocol in general - e.g to make it a little more generic than the DS4-centric current version. Additionally, giving it a new name would make the upgrade less confusing for end users who'd otherwise have to live with sudden incompatibilities vaguely reflected in release dates.\r\n\r\nI'd still vote for increasing the protocol version at this time. If clients explode we can add a version selector or tell them to fix their version handling.\r\n\r\nI think making the protocol more generic is also a good idea for the future, and there can be another version bump then.", 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/11545', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/11545/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/11545/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/11545/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/11545', 'id': 1572612992, 'node_id': 'PR_kwDOALCn2M5JV3qR', 'number': 11545, 'title': 'DualShockUDPClient: add motors for rumble', 'user': {'login': 'breeze2', 'id': 5266711, 'node_id': 'MDQ6VXNlcjUyNjY3MTE=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5266711?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/breeze2', 'html_url': 'https://github.com/breeze2', 'followers_url': 'https://api.github.com/users/breeze2/followers', 'following_url': 'https://api.github.com/users/breeze2/following{/other_user}', 'gists_url': 'https://api.github.com/users/breeze2/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/breeze2/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/breeze2/subscriptions', 'organizations_url': 'https://api.github.com/users/breeze2/orgs', 'repos_url': 'https://api.github.com/users/breeze2/repos', 'events_url': 'https://api.github.com/users/breeze2/events{/privacy}', 'received_events_url': 'https://api.github.com/users/breeze2/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'closed', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 10, 'created_at': '2023-02-06T13:55:04Z', 'updated_at': '2026-09-10T18:22:22Z', 'closed_at': '2023-03-03T20:36:42Z', '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/11545', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/11545', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/11545.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/11545.patch', 'merged_at': None}, 'body': '[cemuhook-protocol](https://github.com/v1993/cemuhook-protocol) has been updated, two unofficial message types about rumble were added, so I implemented them.\r\nBy the way, I am developing a mobile application about DSU Server, I can vibrate the phone to simulate a rumble.\r\n', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/11545/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/11545/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5623422289', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/11545#issuecomment-5623422289', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/11545', 'id': 5623422289, 'node_id': 'IC_kwDOALCn2M8AAAABTy6dUQ', 'user': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2026-09-10T18:22:22Z', 'updated_at': '2026-09-10T18:22:22Z', 'body': "> Fwiw, I'd be more than happy to transfer my protocol repository either to dolphin-emu or to a new github org with r/w access for interested people. I never intended my document to become a source of authority - merely an RE effort - and if it has to be one then it's probably best to have someone else hold power over it; preferably a group of people across the DSU ecosystem (i.e. both client and server sides).\r\n> \r\n> On the other hand, given that a version bump is going to require updating code all across the ecosystem either way, I believe this is an opportunity to rework the protocol in general - e.g to make it a little more generic than the DS4-centric current version. Additionally, giving it a new name would make the upgrade less confusing for end users who'd otherwise have to live with sudden incompatibilities vaguely reflected in release dates.\r\n\r\nI'd still vote for increasing the protocol version at this time. If clients explode we can add a version selector or tell them to fix their version handling.\r\n\r\nI think making the protocol more generic is also a good idea for the future, and there can be another version bump then.", 'author_association': 'MEMBER', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5623422289/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-10T17:15:03Z', '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': 15509, 'watchers_count': 15509, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3245, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 470, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3245, 'open_issues': 470, 'watchers': 15509, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'gh_issue_comment'}
2026-09-10T18:17:18.622838	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'v1993', 'action': 'created', 'id': 11545, 'title': 'DualShockUDPClient: add motors for rumble', 'url': 'https://github.com/dolphin-emu/dolphin/pull/11545#issuecomment-5623359214', 'safe_author': False, 'body': "Fwiw, I'd be more than happy to transfer my protocol repository either to dolphin-emu or to a new github org with r/w access for interested people. I never intended my document to become a source of authority - merely an RE effort - and if it has to be one then it's probably best to have someone else hold power over it; preferably a group of people across the DSU ecosystem (i.e. both client and server sides).\r\n\r\nOn the other hand, given that a version bump is going to require updating code all across the ecosystem either way, I believe this is an opportunity to rework the protocol in general - e.g to make it a little more generic than the DS4-centric current version. Additionally, giving it a new name would make the upgrade less confusing for end users who'd otherwise have to live with sudden incompatibilities vaguely reflected in release dates.", 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/11545', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/11545/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/11545/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/11545/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/11545', 'id': 1572612992, 'node_id': 'PR_kwDOALCn2M5JV3qR', 'number': 11545, 'title': 'DualShockUDPClient: add motors for rumble', 'user': {'login': 'breeze2', 'id': 5266711, 'node_id': 'MDQ6VXNlcjUyNjY3MTE=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5266711?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/breeze2', 'html_url': 'https://github.com/breeze2', 'followers_url': 'https://api.github.com/users/breeze2/followers', 'following_url': 'https://api.github.com/users/breeze2/following{/other_user}', 'gists_url': 'https://api.github.com/users/breeze2/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/breeze2/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/breeze2/subscriptions', 'organizations_url': 'https://api.github.com/users/breeze2/orgs', 'repos_url': 'https://api.github.com/users/breeze2/repos', 'events_url': 'https://api.github.com/users/breeze2/events{/privacy}', 'received_events_url': 'https://api.github.com/users/breeze2/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'closed', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 9, 'created_at': '2023-02-06T13:55:04Z', 'updated_at': '2026-09-10T18:17:16Z', 'closed_at': '2023-03-03T20:36:42Z', '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/11545', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/11545', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/11545.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/11545.patch', 'merged_at': None}, 'body': '[cemuhook-protocol](https://github.com/v1993/cemuhook-protocol) has been updated, two unofficial message types about rumble were added, so I implemented them.\r\nBy the way, I am developing a mobile application about DSU Server, I can vibrate the phone to simulate a rumble.\r\n', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/11545/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/11545/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5623359214', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/11545#issuecomment-5623359214', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/11545', 'id': 5623359214, 'node_id': 'IC_kwDOALCn2M8AAAABTy2m7g', 'user': {'login': 'v1993', 'id': 16255906, 'node_id': 'MDQ6VXNlcjE2MjU1OTA2', 'avatar_url': 'https://avatars.githubusercontent.com/u/16255906?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/v1993', 'html_url': 'https://github.com/v1993', 'followers_url': 'https://api.github.com/users/v1993/followers', 'following_url': 'https://api.github.com/users/v1993/following{/other_user}', 'gists_url': 'https://api.github.com/users/v1993/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/v1993/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/v1993/subscriptions', 'organizations_url': 'https://api.github.com/users/v1993/orgs', 'repos_url': 'https://api.github.com/users/v1993/repos', 'events_url': 'https://api.github.com/users/v1993/events{/privacy}', 'received_events_url': 'https://api.github.com/users/v1993/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2026-09-10T18:17:16Z', 'updated_at': '2026-09-10T18:17:16Z', 'body': "Fwiw, I'd be more than happy to transfer my protocol repository either to dolphin-emu or to a new github org with r/w access for interested people. I never intended my document to become a source of authority - merely an RE effort - and if it has to be one then it's probably best to have someone else hold power over it; preferably a group of people across the DSU ecosystem (i.e. both client and server sides).\r\n\r\nOn the other hand, given that a version bump is going to require updating code all across the ecosystem either way, I believe this is an opportunity to rework the protocol in general - e.g to make it a little more generic than the DS4-centric current version. Additionally, giving it a new name would make the upgrade less confusing for end users who'd otherwise have to live with sudden incompatibilities vaguely reflected in release dates.", 'author_association': 'CONTRIBUTOR', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5623359214/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-10T17:15:03Z', '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': 15509, 'watchers_count': 15509, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3245, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 470, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3245, 'open_issues': 470, 'watchers': 15509, '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': 'v1993', 'id': 16255906, 'node_id': 'MDQ6VXNlcjE2MjU1OTA2', 'avatar_url': 'https://avatars.githubusercontent.com/u/16255906?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/v1993', 'html_url': 'https://github.com/v1993', 'followers_url': 'https://api.github.com/users/v1993/followers', 'following_url': 'https://api.github.com/users/v1993/following{/other_user}', 'gists_url': 'https://api.github.com/users/v1993/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/v1993/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/v1993/subscriptions', 'organizations_url': 'https://api.github.com/users/v1993/orgs', 'repos_url': 'https://api.github.com/users/v1993/repos', 'events_url': 'https://api.github.com/users/v1993/events{/privacy}', 'received_events_url': 'https://api.github.com/users/v1993/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'gh_issue_comment'}
2026-09-10T17:46:16.411249	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jkcoxson', 'action': 'edited', 'id': 11545, 'title': 'DualShockUDPClient: add motors for rumble', 'url': 'https://github.com/dolphin-emu/dolphin/pull/11545#issuecomment-5622973597', 'safe_author': False, 'body': 'What would the path forward be for this PR? https://github.com/v1993/cemuhook-protocol/pull/7 was merged without bumping the protocol version. Would Dolphin merge this as-is, or would you prefer a new PR with protocol version 1002?\r\n\r\nThis is blocking for BLE drivers (Switch 2 controllers) on MacOS that can only expose DSU.', 'raw': {'action': 'edited', 'changes': {'body': {'from': 'What would the path forward be for this PR? https://github.com/v1993/cemuhook-protocol/pull/7 was merged without bumping the protocol version. Would Dolphin this as-is, or would you prefer a new PR with protocol version 1002?\r\n\r\nThis is blocking for BLE drivers (Switch 2 controllers) on MacOS that can only expose DSU.'}}, 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/11545', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/11545/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/11545/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/11545/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/11545', 'id': 1572612992, 'node_id': 'PR_kwDOALCn2M5JV3qR', 'number': 11545, 'title': 'DualShockUDPClient: add motors for rumble', 'user': {'login': 'breeze2', 'id': 5266711, 'node_id': 'MDQ6VXNlcjUyNjY3MTE=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5266711?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/breeze2', 'html_url': 'https://github.com/breeze2', 'followers_url': 'https://api.github.com/users/breeze2/followers', 'following_url': 'https://api.github.com/users/breeze2/following{/other_user}', 'gists_url': 'https://api.github.com/users/breeze2/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/breeze2/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/breeze2/subscriptions', 'organizations_url': 'https://api.github.com/users/breeze2/orgs', 'repos_url': 'https://api.github.com/users/breeze2/repos', 'events_url': 'https://api.github.com/users/breeze2/events{/privacy}', 'received_events_url': 'https://api.github.com/users/breeze2/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'closed', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 8, 'created_at': '2023-02-06T13:55:04Z', 'updated_at': '2026-09-10T17:46:03Z', 'closed_at': '2023-03-03T20:36:42Z', '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/11545', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/11545', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/11545.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/11545.patch', 'merged_at': None}, 'body': '[cemuhook-protocol](https://github.com/v1993/cemuhook-protocol) has been updated, two unofficial message types about rumble were added, so I implemented them.\r\nBy the way, I am developing a mobile application about DSU Server, I can vibrate the phone to simulate a rumble.\r\n', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/11545/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/11545/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5622973597', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/11545#issuecomment-5622973597', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/11545', 'id': 5622973597, 'node_id': 'IC_kwDOALCn2M8AAAABTyfEnQ', 'user': {'login': 'jkcoxson', 'id': 28877351, 'node_id': 'MDQ6VXNlcjI4ODc3MzUx', 'avatar_url': 'https://avatars.githubusercontent.com/u/28877351?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jkcoxson', 'html_url': 'https://github.com/jkcoxson', 'followers_url': 'https://api.github.com/users/jkcoxson/followers', 'following_url': 'https://api.github.com/users/jkcoxson/following{/other_user}', 'gists_url': 'https://api.github.com/users/jkcoxson/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jkcoxson/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jkcoxson/subscriptions', 'organizations_url': 'https://api.github.com/users/jkcoxson/orgs', 'repos_url': 'https://api.github.com/users/jkcoxson/repos', 'events_url': 'https://api.github.com/users/jkcoxson/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jkcoxson/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2026-09-10T17:46:03Z', 'updated_at': '2026-09-10T17:46:15Z', 'body': 'What would the path forward be for this PR? https://github.com/v1993/cemuhook-protocol/pull/7 was merged without bumping the protocol version. Would Dolphin merge this as-is, or would you prefer a new PR with protocol version 1002?\r\n\r\nThis is blocking for BLE drivers (Switch 2 controllers) on MacOS that can only expose DSU.', 'author_association': 'NONE', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5622973597/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-10T17:15:03Z', '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': 15509, 'watchers_count': 15509, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3245, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 470, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3245, 'open_issues': 470, 'watchers': 15509, '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': 'jkcoxson', 'id': 28877351, 'node_id': 'MDQ6VXNlcjI4ODc3MzUx', 'avatar_url': 'https://avatars.githubusercontent.com/u/28877351?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jkcoxson', 'html_url': 'https://github.com/jkcoxson', 'followers_url': 'https://api.github.com/users/jkcoxson/followers', 'following_url': 'https://api.github.com/users/jkcoxson/following{/other_user}', 'gists_url': 'https://api.github.com/users/jkcoxson/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jkcoxson/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jkcoxson/subscriptions', 'organizations_url': 'https://api.github.com/users/jkcoxson/orgs', 'repos_url': 'https://api.github.com/users/jkcoxson/repos', 'events_url': 'https://api.github.com/users/jkcoxson/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jkcoxson/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'gh_issue_comment'}
2026-09-10T17:46:05.964070	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jkcoxson', 'action': 'created', 'id': 11545, 'title': 'DualShockUDPClient: add motors for rumble', 'url': 'https://github.com/dolphin-emu/dolphin/pull/11545#issuecomment-5622973597', 'safe_author': False, 'body': 'What would the path forward be for this PR? https://github.com/v1993/cemuhook-protocol/pull/7 was merged without bumping the protocol version. Would Dolphin this as-is, or would you prefer a new PR with protocol version 1002?\r\n\r\nThis is blocking for BLE drivers (Switch 2 controllers) on MacOS that can only expose DSU.', 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/11545', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/11545/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/11545/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/11545/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/11545', 'id': 1572612992, 'node_id': 'PR_kwDOALCn2M5JV3qR', 'number': 11545, 'title': 'DualShockUDPClient: add motors for rumble', 'user': {'login': 'breeze2', 'id': 5266711, 'node_id': 'MDQ6VXNlcjUyNjY3MTE=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5266711?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/breeze2', 'html_url': 'https://github.com/breeze2', 'followers_url': 'https://api.github.com/users/breeze2/followers', 'following_url': 'https://api.github.com/users/breeze2/following{/other_user}', 'gists_url': 'https://api.github.com/users/breeze2/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/breeze2/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/breeze2/subscriptions', 'organizations_url': 'https://api.github.com/users/breeze2/orgs', 'repos_url': 'https://api.github.com/users/breeze2/repos', 'events_url': 'https://api.github.com/users/breeze2/events{/privacy}', 'received_events_url': 'https://api.github.com/users/breeze2/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'closed', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 8, 'created_at': '2023-02-06T13:55:04Z', 'updated_at': '2026-09-10T17:46:03Z', 'closed_at': '2023-03-03T20:36:42Z', '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/11545', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/11545', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/11545.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/11545.patch', 'merged_at': None}, 'body': '[cemuhook-protocol](https://github.com/v1993/cemuhook-protocol) has been updated, two unofficial message types about rumble were added, so I implemented them.\r\nBy the way, I am developing a mobile application about DSU Server, I can vibrate the phone to simulate a rumble.\r\n', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/11545/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/11545/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5622973597', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/11545#issuecomment-5622973597', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/11545', 'id': 5622973597, 'node_id': 'IC_kwDOALCn2M8AAAABTyfEnQ', 'user': {'login': 'jkcoxson', 'id': 28877351, 'node_id': 'MDQ6VXNlcjI4ODc3MzUx', 'avatar_url': 'https://avatars.githubusercontent.com/u/28877351?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jkcoxson', 'html_url': 'https://github.com/jkcoxson', 'followers_url': 'https://api.github.com/users/jkcoxson/followers', 'following_url': 'https://api.github.com/users/jkcoxson/following{/other_user}', 'gists_url': 'https://api.github.com/users/jkcoxson/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jkcoxson/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jkcoxson/subscriptions', 'organizations_url': 'https://api.github.com/users/jkcoxson/orgs', 'repos_url': 'https://api.github.com/users/jkcoxson/repos', 'events_url': 'https://api.github.com/users/jkcoxson/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jkcoxson/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2026-09-10T17:46:03Z', 'updated_at': '2026-09-10T17:46:03Z', 'body': 'What would the path forward be for this PR? https://github.com/v1993/cemuhook-protocol/pull/7 was merged without bumping the protocol version. Would Dolphin this as-is, or would you prefer a new PR with protocol version 1002?\r\n\r\nThis is blocking for BLE drivers (Switch 2 controllers) on MacOS that can only expose DSU.', 'author_association': 'NONE', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5622973597/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-10T17:15:03Z', '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': 15509, 'watchers_count': 15509, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3245, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 470, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3245, 'open_issues': 470, 'watchers': 15509, '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': 'jkcoxson', 'id': 28877351, 'node_id': 'MDQ6VXNlcjI4ODc3MzUx', 'avatar_url': 'https://avatars.githubusercontent.com/u/28877351?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jkcoxson', 'html_url': 'https://github.com/jkcoxson', 'followers_url': 'https://api.github.com/users/jkcoxson/followers', 'following_url': 'https://api.github.com/users/jkcoxson/following{/other_user}', 'gists_url': 'https://api.github.com/users/jkcoxson/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jkcoxson/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jkcoxson/subscriptions', 'organizations_url': 'https://api.github.com/users/jkcoxson/orgs', 'repos_url': 'https://api.github.com/users/jkcoxson/repos', 'events_url': 'https://api.github.com/users/jkcoxson/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jkcoxson/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'gh_issue_comment'}
2026-09-09T13:26:41.479485	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'SuperSamus', 'action': 'created', 'id': 14854, 'title': 'GameSettings: Fix startup and fadeout crashes in 1080 Snowboarding', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14854#issuecomment-5602627178', 'safe_author': True, 'body': "Looking at it further, in the comment above I missed that due to the iCache invalidation works, the entirety of `InstructionCache::Invalidate` (until the call to `InvalidateICacheLine`) would need to be properly implemented in the JIT to get any significant performance benefit. Still feasible, that function is pretty simple, it's just not as trivial as I implied. I apologize if I came across as impolite.", 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14854', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14854/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14854/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14854/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14854', 'id': 5382191955, 'node_id': 'PR_kwDOALCn2M8AAAABCnSddg', 'number': 14854, 'title': 'GameSettings: Fix startup and fadeout crashes in 1080 Snowboarding', 'user': {'login': 'Rebbacus', 'id': 100238547, 'node_id': 'U_kgDOBfmE0w', 'avatar_url': 'https://avatars.githubusercontent.com/u/100238547?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/Rebbacus', 'html_url': 'https://github.com/Rebbacus', 'followers_url': 'https://api.github.com/users/Rebbacus/followers', 'following_url': 'https://api.github.com/users/Rebbacus/following{/other_user}', 'gists_url': 'https://api.github.com/users/Rebbacus/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/Rebbacus/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/Rebbacus/subscriptions', 'organizations_url': 'https://api.github.com/users/Rebbacus/orgs', 'repos_url': 'https://api.github.com/users/Rebbacus/repos', 'events_url': 'https://api.github.com/users/Rebbacus/events{/privacy}', 'received_events_url': 'https://api.github.com/users/Rebbacus/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 2, 'created_at': '2026-09-08T04:48:10Z', 'updated_at': '2026-09-09T13:26:39Z', 'closed_at': None, 'assignee': None, 'author_association': 'NONE', 'issue_field_values': [], 'type': None, 'active_lock_reason': None, 'draft': False, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14854', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14854', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14854.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14854.patch', 'merged_at': None}, 'body': "Fixes [issue 8037](https://bugs.dolphin-emu.org/issues/8037l).\r\n\r\nThe startup/fadeout hangs on JIT were caused by one of the virtual console's code cleanup functions not using an ICInvalidateRange/icbi for self-modding instructions.\r\n\r\nWhile it could've been easier to just patch in the needed icbi instruction, performance would take hit as this game's N64 emulator is really aggressive with those self-modifiying instructions and icache invalidates. The other N64 virtual console titles use icache quite a bit, but this one's rough.\r\n\r\nIf you'd like to check out the simpler patch, try this on the US (NAOE01) version:\r\n\r\n> $Simple startup fix\r\n> 0x80040EB8:dword:0x4bfc3638\r\n> 0x800044F0:dword:0x90690000\r\n> 0x800044F4:dword:0x7c004fac\r\n> 0x800044F8:dword:0x4803c9c4\r\n> 0x8003A394:dword:0x7CA32B78\r\n> 0x8003A3B4:dword:0x8061000C", 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14854/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/14854/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5602627178', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14854#issuecomment-5602627178', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14854', 'id': 5602627178, 'node_id': 'IC_kwDOALCn2M8AAAABTfFOag', 'user': {'login': 'SuperSamus', 'id': 40663462, 'node_id': 'MDQ6VXNlcjQwNjYzNDYy', 'avatar_url': 'https://avatars.githubusercontent.com/u/40663462?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/SuperSamus', 'html_url': 'https://github.com/SuperSamus', 'followers_url': 'https://api.github.com/users/SuperSamus/followers', 'following_url': 'https://api.github.com/users/SuperSamus/following{/other_user}', 'gists_url': 'https://api.github.com/users/SuperSamus/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/SuperSamus/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/SuperSamus/subscriptions', 'organizations_url': 'https://api.github.com/users/SuperSamus/orgs', 'repos_url': 'https://api.github.com/users/SuperSamus/repos', 'events_url': 'https://api.github.com/users/SuperSamus/events{/privacy}', 'received_events_url': 'https://api.github.com/users/SuperSamus/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2026-09-09T13:26:39Z', 'updated_at': '2026-09-09T13:26:39Z', 'body': "Looking at it further, in the comment above I missed that due to the iCache invalidation works, the entirety of `InstructionCache::Invalidate` (until the call to `InvalidateICacheLine`) would need to be properly implemented in the JIT to get any significant performance benefit. Still feasible, that function is pretty simple, it's just not as trivial as I implied. I apologize if I came across as impolite.", 'author_association': 'MEMBER', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5602627178/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-09T12:08:09Z', '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': 15498, 'watchers_count': 15498, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3242, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 468, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3242, 'open_issues': 468, 'watchers': 15498, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'SuperSamus', 'id': 40663462, 'node_id': 'MDQ6VXNlcjQwNjYzNDYy', 'avatar_url': 'https://avatars.githubusercontent.com/u/40663462?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/SuperSamus', 'html_url': 'https://github.com/SuperSamus', 'followers_url': 'https://api.github.com/users/SuperSamus/followers', 'following_url': 'https://api.github.com/users/SuperSamus/following{/other_user}', 'gists_url': 'https://api.github.com/users/SuperSamus/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/SuperSamus/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/SuperSamus/subscriptions', 'organizations_url': 'https://api.github.com/users/SuperSamus/orgs', 'repos_url': 'https://api.github.com/users/SuperSamus/repos', 'events_url': 'https://api.github.com/users/SuperSamus/events{/privacy}', 'received_events_url': 'https://api.github.com/users/SuperSamus/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'gh_issue_comment'}
2026-09-09T13:14:25.124638	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'SuperSamus', 'action': 'edited', 'id': 14854, 'title': 'GameSettings: Fix startup and fadeout crashes in 1080 Snowboarding', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14854#issuecomment-5602269425', 'safe_author': True, 'body': "> While it could've been easier to just patch in the needed icbi instruction, performance would take hit\r\n\r\nSomething important to note is that currently `icbi` is unimplemented in the JIT, and thus falls back to the interpreter.\r\nIt shouldn't be particularly hard to implement, it would basically be the same implementation of `dcbx`[^1] but it calls a different function (`InstructionCache::Invalidate`).\r\n\r\nIf the above fixes the performance, then it may be preferable to use the simpler patch that only fixes the hangs (fixing that properly in the JIT is much harder).\r\n\r\nEDIT: If you want, I can do the patch myself for testing that.\r\n\r\nIf that's not enough, the JIT implementation of `dcbx` has an optimization for when called in a loop in the following form:\r\n```\r\n  - dcbx rX\r\n  - addi rX,rX,32\r\n  - bdnz+ -8\r\n```\r\nSo that could help if the virtual console uses `icbi` in the same way. (In that case, note that in PPCTables.cpp, `icbi` ends the block (`FL_ENDBLOCK`), so that needs to be removed for the loop optimization to work. I did work on something related to fixing this properly). \r\n\r\n[^1]: `dcbx` invalidates erases blocks from the block cache as an heuristic for games that don't call `icbi`", 'raw': {'action': 'edited', 'changes': {'body': {'from': "> While it could've been easier to just patch in the needed icbi instruction, performance would take hit\r\n\r\nSomething important to note is that currently `icbi` is unimplemented in the JIT, and thus falls back to the interpreter.\r\nIt shouldn't be particularly hard to implement, it would basically be the same implementation of `dcbx`[^1] but it calls a different function (`InstructionCache::Invalidate`).\r\n\r\nIf the above fixes the performance, then it may be preferable to use the simpler patch that only fixes the hangs (fixing that properly in the JIT is much harder).\r\n\r\nIf that's not enough, the JIT implementation of `dcbx` has an optimization for when called in a loop in the following form:\r\n```\r\n  - dcbx rX\r\n  - addi rX,rX,32\r\n  - bdnz+ -8\r\n```\r\nSo check if the same applies to `icbi`. (In that case, note that in PPCTables.cpp, `icbi` ends the block (`FL_ENDBLOCK`), so that needs to be removed for the loop optimization to work. I did work on something related to fixing this properly). \r\n\r\n[^1]: `dcbx` invalidates erases blocks from the block cache as an heuristic for games that don't call `icbi`"}}, 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14854', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14854/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14854/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14854/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14854', 'id': 5382191955, 'node_id': 'PR_kwDOALCn2M8AAAABCnSddg', 'number': 14854, 'title': 'GameSettings: Fix startup and fadeout crashes in 1080 Snowboarding', 'user': {'login': 'Rebbacus', 'id': 100238547, 'node_id': 'U_kgDOBfmE0w', 'avatar_url': 'https://avatars.githubusercontent.com/u/100238547?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/Rebbacus', 'html_url': 'https://github.com/Rebbacus', 'followers_url': 'https://api.github.com/users/Rebbacus/followers', 'following_url': 'https://api.github.com/users/Rebbacus/following{/other_user}', 'gists_url': 'https://api.github.com/users/Rebbacus/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/Rebbacus/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/Rebbacus/subscriptions', 'organizations_url': 'https://api.github.com/users/Rebbacus/orgs', 'repos_url': 'https://api.github.com/users/Rebbacus/repos', 'events_url': 'https://api.github.com/users/Rebbacus/events{/privacy}', 'received_events_url': 'https://api.github.com/users/Rebbacus/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-08T04:48:10Z', 'updated_at': '2026-09-09T13:03:26Z', 'closed_at': None, 'assignee': None, 'author_association': 'NONE', 'issue_field_values': [], 'type': None, 'active_lock_reason': None, 'draft': False, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14854', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14854', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14854.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14854.patch', 'merged_at': None}, 'body': "Fixes [issue 8037](https://bugs.dolphin-emu.org/issues/8037l).\r\n\r\nThe startup/fadeout hangs on JIT were caused by one of the virtual console's code cleanup functions not using an ICInvalidateRange/icbi for self-modding instructions.\r\n\r\nWhile it could've been easier to just patch in the needed icbi instruction, performance would take hit as this game's N64 emulator is really aggressive with those self-modifiying instructions and icache invalidates. The other N64 virtual console titles use icache quite a bit, but this one's rough.\r\n\r\nIf you'd like to check out the simpler patch, try this on the US (NAOE01) version:\r\n\r\n> $Simple startup fix\r\n> 0x80040EB8:dword:0x4bfc3638\r\n> 0x800044F0:dword:0x90690000\r\n> 0x800044F4:dword:0x7c004fac\r\n> 0x800044F8:dword:0x4803c9c4\r\n> 0x8003A394:dword:0x7CA32B78\r\n> 0x8003A3B4:dword:0x8061000C", 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14854/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/14854/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5602269425', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14854#issuecomment-5602269425', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14854', 'id': 5602269425, 'node_id': 'IC_kwDOALCn2M8AAAABTevY8Q', 'user': {'login': 'SuperSamus', 'id': 40663462, 'node_id': 'MDQ6VXNlcjQwNjYzNDYy', 'avatar_url': 'https://avatars.githubusercontent.com/u/40663462?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/SuperSamus', 'html_url': 'https://github.com/SuperSamus', 'followers_url': 'https://api.github.com/users/SuperSamus/followers', 'following_url': 'https://api.github.com/users/SuperSamus/following{/other_user}', 'gists_url': 'https://api.github.com/users/SuperSamus/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/SuperSamus/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/SuperSamus/subscriptions', 'organizations_url': 'https://api.github.com/users/SuperSamus/orgs', 'repos_url': 'https://api.github.com/users/SuperSamus/repos', 'events_url': 'https://api.github.com/users/SuperSamus/events{/privacy}', 'received_events_url': 'https://api.github.com/users/SuperSamus/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2026-09-09T13:02:04Z', 'updated_at': '2026-09-09T13:14:23Z', 'body': "> While it could've been easier to just patch in the needed icbi instruction, performance would take hit\r\n\r\nSomething important to note is that currently `icbi` is unimplemented in the JIT, and thus falls back to the interpreter.\r\nIt shouldn't be particularly hard to implement, it would basically be the same implementation of `dcbx`[^1] but it calls a different function (`InstructionCache::Invalidate`).\r\n\r\nIf the above fixes the performance, then it may be preferable to use the simpler patch that only fixes the hangs (fixing that properly in the JIT is much harder).\r\n\r\nEDIT: If you want, I can do the patch myself for testing that.\r\n\r\nIf that's not enough, the JIT implementation of `dcbx` has an optimization for when called in a loop in the following form:\r\n```\r\n  - dcbx rX\r\n  - addi rX,rX,32\r\n  - bdnz+ -8\r\n```\r\nSo that could help if the virtual console uses `icbi` in the same way. (In that case, note that in PPCTables.cpp, `icbi` ends the block (`FL_ENDBLOCK`), so that needs to be removed for the loop optimization to work. I did work on something related to fixing this properly). \r\n\r\n[^1]: `dcbx` invalidates erases blocks from the block cache as an heuristic for games that don't call `icbi`", 'author_association': 'MEMBER', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5602269425/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-09T12:08:09Z', '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': 15498, 'watchers_count': 15498, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3242, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 468, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3242, 'open_issues': 468, 'watchers': 15498, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'SuperSamus', 'id': 40663462, 'node_id': 'MDQ6VXNlcjQwNjYzNDYy', 'avatar_url': 'https://avatars.githubusercontent.com/u/40663462?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/SuperSamus', 'html_url': 'https://github.com/SuperSamus', 'followers_url': 'https://api.github.com/users/SuperSamus/followers', 'following_url': 'https://api.github.com/users/SuperSamus/following{/other_user}', 'gists_url': 'https://api.github.com/users/SuperSamus/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/SuperSamus/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/SuperSamus/subscriptions', 'organizations_url': 'https://api.github.com/users/SuperSamus/orgs', 'repos_url': 'https://api.github.com/users/SuperSamus/repos', 'events_url': 'https://api.github.com/users/SuperSamus/events{/privacy}', 'received_events_url': 'https://api.github.com/users/SuperSamus/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'gh_issue_comment'}
2026-09-09T13:03:27.617470	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'SuperSamus', 'action': 'edited', 'id': 14854, 'title': 'GameSettings: Fix startup and fadeout crashes in 1080 Snowboarding', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14854#issuecomment-5602269425', 'safe_author': True, 'body': "> While it could've been easier to just patch in the needed icbi instruction, performance would take hit\r\n\r\nSomething important to note is that currently `icbi` is unimplemented in the JIT, and thus falls back to the interpreter.\r\nIt shouldn't be particularly hard to implement, it would basically be the same implementation of `dcbx`[^1] but it calls a different function (`InstructionCache::Invalidate`).\r\n\r\nIf the above fixes the performance, then it may be preferable to use the simpler patch that only fixes the hangs (fixing that properly in the JIT is much harder).\r\n\r\nIf that's not enough, the JIT implementation of `dcbx` has an optimization for when called in a loop in the following form:\r\n```\r\n  - dcbx rX\r\n  - addi rX,rX,32\r\n  - bdnz+ -8\r\n```\r\nSo check if the same applies to `icbi`. (In that case, note that in PPCTables.cpp, `icbi` ends the block (`FL_ENDBLOCK`), so that needs to be removed for the loop optimization to work. I did work on something related to fixing this properly). \r\n\r\n[^1]: `dcbx` invalidates erases blocks from the block cache as an heuristic for games that don't call `icbi`", 'raw': {'action': 'edited', 'changes': {'body': {'from': "> While it could've been easier to just patch in the needed icbi instruction, performance would take hit\r\n\r\nSomething important to note is that currently `icbi` is unimplemented in the JIT, and thus falls back to the interpreter.\r\nIt shouldn't be particularly hard to implement, it would basically be the same implementation of `dcbx`[^1] but it calls a different function (`InstructionCache::Invalidate`).\r\n\r\nIf that's not enough, the JIT implementation of `dcbx` has an optimization for when called in a loop in the following form:\r\n```\r\n  - dcbx rX\r\n  - addi rX,rX,32\r\n  - bdnz+ -8\r\n```\r\nSo check if the same applies to `icbi`. (In that case, note that in PPCTables.cpp, `icbi` ends the block (`FL_ENDBLOCK`), so that needs to be removed for the loop optimization to work. I did work on something related to fixing this properly). \r\n\r\nAnd finally, I've been working to optimize the actual erase in the block cache here [here](https://github.com/SuperSamus/dolphin/tree/block-cache-optimizations) (haven't made a PR yet).\r\n\r\nIf all the above fixes the performance, then it may be preferable to use the simpler patch that only fixes the hangs (fixing that properly in the JIT is much harder).\r\n\r\n[^1]: `dcbx` invalidates erases blocks from the block cache as an heuristic for games that don't call `icbi`"}}, 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14854', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14854/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14854/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14854/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14854', 'id': 5382191955, 'node_id': 'PR_kwDOALCn2M8AAAABCnSddg', 'number': 14854, 'title': 'GameSettings: Fix startup and fadeout crashes in 1080 Snowboarding', 'user': {'login': 'Rebbacus', 'id': 100238547, 'node_id': 'U_kgDOBfmE0w', 'avatar_url': 'https://avatars.githubusercontent.com/u/100238547?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/Rebbacus', 'html_url': 'https://github.com/Rebbacus', 'followers_url': 'https://api.github.com/users/Rebbacus/followers', 'following_url': 'https://api.github.com/users/Rebbacus/following{/other_user}', 'gists_url': 'https://api.github.com/users/Rebbacus/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/Rebbacus/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/Rebbacus/subscriptions', 'organizations_url': 'https://api.github.com/users/Rebbacus/orgs', 'repos_url': 'https://api.github.com/users/Rebbacus/repos', 'events_url': 'https://api.github.com/users/Rebbacus/events{/privacy}', 'received_events_url': 'https://api.github.com/users/Rebbacus/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-08T04:48:10Z', 'updated_at': '2026-09-09T13:02:04Z', 'closed_at': None, 'assignee': None, 'author_association': 'NONE', 'issue_field_values': [], 'type': None, 'active_lock_reason': None, 'draft': False, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14854', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14854', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14854.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14854.patch', 'merged_at': None}, 'body': "Fixes [issue 8037](https://bugs.dolphin-emu.org/issues/8037l).\r\n\r\nThe startup/fadeout hangs on JIT were caused by one of the virtual console's code cleanup functions not using an ICInvalidateRange/icbi for self-modding instructions.\r\n\r\nWhile it could've been easier to just patch in the needed icbi instruction, performance would take hit as this game's N64 emulator is really aggressive with those self-modifiying instructions and icache invalidates. The other N64 virtual console titles use icache quite a bit, but this one's rough.\r\n\r\nIf you'd like to check out the simpler patch, try this on the US (NAOE01) version:\r\n\r\n> $Simple startup fix\r\n> 0x80040EB8:dword:0x4bfc3638\r\n> 0x800044F0:dword:0x90690000\r\n> 0x800044F4:dword:0x7c004fac\r\n> 0x800044F8:dword:0x4803c9c4\r\n> 0x8003A394:dword:0x7CA32B78\r\n> 0x8003A3B4:dword:0x8061000C", 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14854/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/14854/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5602269425', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14854#issuecomment-5602269425', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14854', 'id': 5602269425, 'node_id': 'IC_kwDOALCn2M8AAAABTevY8Q', 'user': {'login': 'SuperSamus', 'id': 40663462, 'node_id': 'MDQ6VXNlcjQwNjYzNDYy', 'avatar_url': 'https://avatars.githubusercontent.com/u/40663462?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/SuperSamus', 'html_url': 'https://github.com/SuperSamus', 'followers_url': 'https://api.github.com/users/SuperSamus/followers', 'following_url': 'https://api.github.com/users/SuperSamus/following{/other_user}', 'gists_url': 'https://api.github.com/users/SuperSamus/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/SuperSamus/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/SuperSamus/subscriptions', 'organizations_url': 'https://api.github.com/users/SuperSamus/orgs', 'repos_url': 'https://api.github.com/users/SuperSamus/repos', 'events_url': 'https://api.github.com/users/SuperSamus/events{/privacy}', 'received_events_url': 'https://api.github.com/users/SuperSamus/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2026-09-09T13:02:04Z', 'updated_at': '2026-09-09T13:03:26Z', 'body': "> While it could've been easier to just patch in the needed icbi instruction, performance would take hit\r\n\r\nSomething important to note is that currently `icbi` is unimplemented in the JIT, and thus falls back to the interpreter.\r\nIt shouldn't be particularly hard to implement, it would basically be the same implementation of `dcbx`[^1] but it calls a different function (`InstructionCache::Invalidate`).\r\n\r\nIf the above fixes the performance, then it may be preferable to use the simpler patch that only fixes the hangs (fixing that properly in the JIT is much harder).\r\n\r\nIf that's not enough, the JIT implementation of `dcbx` has an optimization for when called in a loop in the following form:\r\n```\r\n  - dcbx rX\r\n  - addi rX,rX,32\r\n  - bdnz+ -8\r\n```\r\nSo check if the same applies to `icbi`. (In that case, note that in PPCTables.cpp, `icbi` ends the block (`FL_ENDBLOCK`), so that needs to be removed for the loop optimization to work. I did work on something related to fixing this properly). \r\n\r\n[^1]: `dcbx` invalidates erases blocks from the block cache as an heuristic for games that don't call `icbi`", 'author_association': 'MEMBER', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5602269425/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-09T12:08:09Z', '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': 15498, 'watchers_count': 15498, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3242, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 468, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3242, 'open_issues': 468, 'watchers': 15498, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'SuperSamus', 'id': 40663462, 'node_id': 'MDQ6VXNlcjQwNjYzNDYy', 'avatar_url': 'https://avatars.githubusercontent.com/u/40663462?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/SuperSamus', 'html_url': 'https://github.com/SuperSamus', 'followers_url': 'https://api.github.com/users/SuperSamus/followers', 'following_url': 'https://api.github.com/users/SuperSamus/following{/other_user}', 'gists_url': 'https://api.github.com/users/SuperSamus/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/SuperSamus/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/SuperSamus/subscriptions', 'organizations_url': 'https://api.github.com/users/SuperSamus/orgs', 'repos_url': 'https://api.github.com/users/SuperSamus/repos', 'events_url': 'https://api.github.com/users/SuperSamus/events{/privacy}', 'received_events_url': 'https://api.github.com/users/SuperSamus/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'gh_issue_comment'}
2026-09-09T13:02:06.284836	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'SuperSamus', 'action': 'created', 'id': 14854, 'title': 'GameSettings: Fix startup and fadeout crashes in 1080 Snowboarding', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14854#issuecomment-5602269425', 'safe_author': True, 'body': "> While it could've been easier to just patch in the needed icbi instruction, performance would take hit\r\n\r\nSomething important to note is that currently `icbi` is unimplemented in the JIT, and thus falls back to the interpreter.\r\nIt shouldn't be particularly hard to implement, it would basically be the same implementation of `dcbx`[^1] but it calls a different function (`InstructionCache::Invalidate`).\r\n\r\nIf that's not enough, the JIT implementation of `dcbx` has an optimization for when called in a loop in the following form:\r\n```\r\n  - dcbx rX\r\n  - addi rX,rX,32\r\n  - bdnz+ -8\r\n```\r\nSo check if the same applies to `icbi`. (In that case, note that in PPCTables.cpp, `icbi` ends the block (`FL_ENDBLOCK`), so that needs to be removed for the loop optimization to work. I did work on something related to fixing this properly). \r\n\r\nAnd finally, I've been working to optimize the actual erase in the block cache here [here](https://github.com/SuperSamus/dolphin/tree/block-cache-optimizations) (haven't made a PR yet).\r\n\r\nIf all the above fixes the performance, then it may be preferable to use the simpler patch that only fixes the hangs (fixing that properly in the JIT is much harder).\r\n\r\n[^1]: `dcbx` invalidates erases blocks from the block cache as an heuristic for games that don't call `icbi`", 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14854', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14854/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14854/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14854/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14854', 'id': 5382191955, 'node_id': 'PR_kwDOALCn2M8AAAABCnSddg', 'number': 14854, 'title': 'GameSettings: Fix startup and fadeout crashes in 1080 Snowboarding', 'user': {'login': 'Rebbacus', 'id': 100238547, 'node_id': 'U_kgDOBfmE0w', 'avatar_url': 'https://avatars.githubusercontent.com/u/100238547?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/Rebbacus', 'html_url': 'https://github.com/Rebbacus', 'followers_url': 'https://api.github.com/users/Rebbacus/followers', 'following_url': 'https://api.github.com/users/Rebbacus/following{/other_user}', 'gists_url': 'https://api.github.com/users/Rebbacus/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/Rebbacus/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/Rebbacus/subscriptions', 'organizations_url': 'https://api.github.com/users/Rebbacus/orgs', 'repos_url': 'https://api.github.com/users/Rebbacus/repos', 'events_url': 'https://api.github.com/users/Rebbacus/events{/privacy}', 'received_events_url': 'https://api.github.com/users/Rebbacus/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-08T04:48:10Z', 'updated_at': '2026-09-09T13:02:04Z', 'closed_at': None, 'assignee': None, 'author_association': 'NONE', 'issue_field_values': [], 'type': None, 'active_lock_reason': None, 'draft': False, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14854', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14854', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14854.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14854.patch', 'merged_at': None}, 'body': "Fixes [issue 8037](https://bugs.dolphin-emu.org/issues/8037l).\r\n\r\nThe startup/fadeout hangs on JIT were caused by one of the virtual console's code cleanup functions not using an ICInvalidateRange/icbi for self-modding instructions.\r\n\r\nWhile it could've been easier to just patch in the needed icbi instruction, performance would take hit as this game's N64 emulator is really aggressive with those self-modifiying instructions and icache invalidates. The other N64 virtual console titles use icache quite a bit, but this one's rough.\r\n\r\nIf you'd like to check out the simpler patch, try this on the US (NAOE01) version:\r\n\r\n> $Simple startup fix\r\n> 0x80040EB8:dword:0x4bfc3638\r\n> 0x800044F0:dword:0x90690000\r\n> 0x800044F4:dword:0x7c004fac\r\n> 0x800044F8:dword:0x4803c9c4\r\n> 0x8003A394:dword:0x7CA32B78\r\n> 0x8003A3B4:dword:0x8061000C", 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14854/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/14854/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5602269425', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14854#issuecomment-5602269425', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14854', 'id': 5602269425, 'node_id': 'IC_kwDOALCn2M8AAAABTevY8Q', 'user': {'login': 'SuperSamus', 'id': 40663462, 'node_id': 'MDQ6VXNlcjQwNjYzNDYy', 'avatar_url': 'https://avatars.githubusercontent.com/u/40663462?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/SuperSamus', 'html_url': 'https://github.com/SuperSamus', 'followers_url': 'https://api.github.com/users/SuperSamus/followers', 'following_url': 'https://api.github.com/users/SuperSamus/following{/other_user}', 'gists_url': 'https://api.github.com/users/SuperSamus/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/SuperSamus/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/SuperSamus/subscriptions', 'organizations_url': 'https://api.github.com/users/SuperSamus/orgs', 'repos_url': 'https://api.github.com/users/SuperSamus/repos', 'events_url': 'https://api.github.com/users/SuperSamus/events{/privacy}', 'received_events_url': 'https://api.github.com/users/SuperSamus/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2026-09-09T13:02:04Z', 'updated_at': '2026-09-09T13:02:04Z', 'body': "> While it could've been easier to just patch in the needed icbi instruction, performance would take hit\r\n\r\nSomething important to note is that currently `icbi` is unimplemented in the JIT, and thus falls back to the interpreter.\r\nIt shouldn't be particularly hard to implement, it would basically be the same implementation of `dcbx`[^1] but it calls a different function (`InstructionCache::Invalidate`).\r\n\r\nIf that's not enough, the JIT implementation of `dcbx` has an optimization for when called in a loop in the following form:\r\n```\r\n  - dcbx rX\r\n  - addi rX,rX,32\r\n  - bdnz+ -8\r\n```\r\nSo check if the same applies to `icbi`. (In that case, note that in PPCTables.cpp, `icbi` ends the block (`FL_ENDBLOCK`), so that needs to be removed for the loop optimization to work. I did work on something related to fixing this properly). \r\n\r\nAnd finally, I've been working to optimize the actual erase in the block cache here [here](https://github.com/SuperSamus/dolphin/tree/block-cache-optimizations) (haven't made a PR yet).\r\n\r\nIf all the above fixes the performance, then it may be preferable to use the simpler patch that only fixes the hangs (fixing that properly in the JIT is much harder).\r\n\r\n[^1]: `dcbx` invalidates erases blocks from the block cache as an heuristic for games that don't call `icbi`", 'author_association': 'MEMBER', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5602269425/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-09T12:08:09Z', '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': 15498, 'watchers_count': 15498, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3242, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 468, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3242, 'open_issues': 468, 'watchers': 15498, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'SuperSamus', 'id': 40663462, 'node_id': 'MDQ6VXNlcjQwNjYzNDYy', 'avatar_url': 'https://avatars.githubusercontent.com/u/40663462?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/SuperSamus', 'html_url': 'https://github.com/SuperSamus', 'followers_url': 'https://api.github.com/users/SuperSamus/followers', 'following_url': 'https://api.github.com/users/SuperSamus/following{/other_user}', 'gists_url': 'https://api.github.com/users/SuperSamus/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/SuperSamus/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/SuperSamus/subscriptions', 'organizations_url': 'https://api.github.com/users/SuperSamus/orgs', 'repos_url': 'https://api.github.com/users/SuperSamus/repos', 'events_url': 'https://api.github.com/users/SuperSamus/events{/privacy}', 'received_events_url': 'https://api.github.com/users/SuperSamus/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'gh_issue_comment'}
2026-09-09T07:19:57.858127	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'thethiny', 'action': 'created', 'id': 14731, 'title': 'Convert To WBFS Support', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14731#issuecomment-5597849511', 'safe_author': False, 'body': "Good day everyone. Just wanted to check if we're still waiting for @Nanook to move forward with this, or if the feature is not going to be picked up. ", 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14731', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14731/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14731/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14731/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14731', 'id': 4888393904, 'node_id': 'PR_kwDOALCn2M7x0I-2', 'number': 14731, 'title': 'Convert To WBFS Support', 'user': {'login': 'thethiny', 'id': 6018214, 'node_id': 'MDQ6VXNlcjYwMTgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/6018214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/thethiny', 'html_url': 'https://github.com/thethiny', 'followers_url': 'https://api.github.com/users/thethiny/followers', 'following_url': 'https://api.github.com/users/thethiny/following{/other_user}', 'gists_url': 'https://api.github.com/users/thethiny/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/thethiny/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/thethiny/subscriptions', 'organizations_url': 'https://api.github.com/users/thethiny/orgs', 'repos_url': 'https://api.github.com/users/thethiny/repos', 'events_url': 'https://api.github.com/users/thethiny/events{/privacy}', 'received_events_url': 'https://api.github.com/users/thethiny/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 85, 'created_at': '2026-07-15T01:16:25Z', 'updated_at': '2026-09-09T07:19:56Z', 'closed_at': None, 'assignee': None, 'author_association': 'NONE', 'issue_field_values': [], 'type': None, 'active_lock_reason': None, 'draft': False, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14731', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14731', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14731.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14731.patch', 'merged_at': None}, 'body': "This PR introduces Conversion **to** WBFS support. WBFS is the format that is used by USB Loaders on a real Wii device.\r\n\r\n## Design decisions & hardcoded values\r\nThe writer uses fixed sector sizes that match what [libwbfs (the reference implementation by kwiirk)](https://github.com/kwiirk/wbfs/blob/master/libwbfs/libwbfs.c#L128-L134) computes for a standard single-layer Wii disc. These 2 hardcodes are stable and work correctly across all my testings.\r\n- HD sector shift: 9 (512 bytes)\r\n- WBFS sector shift: 21 (2 MiB)\r\nThese are not configurable via the UI. All existing WBFS tools use these values, and since the aim is to support USB Loaders then this has been tested and it is working on a real Wii.\r\n\r\nConverting from WBFS is not enabled. The existing `WbfsFileReader` reports `DataSizeType::UpperBound`, and `ShouldAllowConversion()` requires `Accurate`. I am able to support this but since it was hardcoded by the Dolphin team I thought a discussion is warranted.\r\n\r\n## Testing\r\n- Verified with DolphinTool header and DolphinTool verify\r\n- Verified with wit FILETYPE and wit DUMP (Wiimm's ISO Tools recognizes valid WBFS structure, partitions, encryption)\r\n- Tested ISO to WBFS and RVZ to WBFS conversions\r\n- Output file sizes match Wii Backup Manager when scrubbing is enabled (~0.1% difference), works when scrubbing is disabled.\r\n- Output WBFS files play correctly in Dolphin\r\n- Output WBFS files play correctly on a real Wii using USB Loader GX e25c4f3\r\n", 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14731/reactions', 'total_count': 4, '+1': 3, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 1, 'rocket': 0, 'eyes': 0}, 'timeline_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14731/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5597849511', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14731#issuecomment-5597849511', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14731', 'id': 5597849511, 'node_id': 'IC_kwDOALCn2M8AAAABTahnpw', 'user': {'login': 'thethiny', 'id': 6018214, 'node_id': 'MDQ6VXNlcjYwMTgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/6018214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/thethiny', 'html_url': 'https://github.com/thethiny', 'followers_url': 'https://api.github.com/users/thethiny/followers', 'following_url': 'https://api.github.com/users/thethiny/following{/other_user}', 'gists_url': 'https://api.github.com/users/thethiny/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/thethiny/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/thethiny/subscriptions', 'organizations_url': 'https://api.github.com/users/thethiny/orgs', 'repos_url': 'https://api.github.com/users/thethiny/repos', 'events_url': 'https://api.github.com/users/thethiny/events{/privacy}', 'received_events_url': 'https://api.github.com/users/thethiny/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2026-09-09T07:19:55Z', 'updated_at': '2026-09-09T07:19:55Z', 'body': "Good day everyone. Just wanted to check if we're still waiting for @Nanook to move forward with this, or if the feature is not going to be picked up. ", 'author_association': 'NONE', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5597849511/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-09T03:40:19Z', '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': 15497, 'watchers_count': 15497, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3242, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 468, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3242, 'open_issues': 468, 'watchers': 15497, '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': 'thethiny', 'id': 6018214, 'node_id': 'MDQ6VXNlcjYwMTgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/6018214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/thethiny', 'html_url': 'https://github.com/thethiny', 'followers_url': 'https://api.github.com/users/thethiny/followers', 'following_url': 'https://api.github.com/users/thethiny/following{/other_user}', 'gists_url': 'https://api.github.com/users/thethiny/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/thethiny/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/thethiny/subscriptions', 'organizations_url': 'https://api.github.com/users/thethiny/orgs', 'repos_url': 'https://api.github.com/users/thethiny/repos', 'events_url': 'https://api.github.com/users/thethiny/events{/privacy}', 'received_events_url': 'https://api.github.com/users/thethiny/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'gh_issue_comment'}
2026-09-07T23:36:27.829871	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'SuperSamus', 'action': 'created', 'id': 14388, 'title': 'Jit: Followed unconditional branches are a property added by the Analyzer, not something to assume', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14388#issuecomment-5576775821', 'safe_author': True, 'body': 'Rebased and made BranchAction a `u8`.', 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14388', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14388/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14388/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14388/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14388', 'id': 3944193967, 'node_id': 'PR_kwDOALCn2M7D603o', 'number': 14388, 'title': 'Jit: Followed unconditional branches are a property added by the Analyzer, not something to assume', 'user': {'login': 'SuperSamus', 'id': 40663462, 'node_id': 'MDQ6VXNlcjQwNjYzNDYy', 'avatar_url': 'https://avatars.githubusercontent.com/u/40663462?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/SuperSamus', 'html_url': 'https://github.com/SuperSamus', 'followers_url': 'https://api.github.com/users/SuperSamus/followers', 'following_url': 'https://api.github.com/users/SuperSamus/following{/other_user}', 'gists_url': 'https://api.github.com/users/SuperSamus/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/SuperSamus/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/SuperSamus/subscriptions', 'organizations_url': 'https://api.github.com/users/SuperSamus/orgs', 'repos_url': 'https://api.github.com/users/SuperSamus/repos', 'events_url': 'https://api.github.com/users/SuperSamus/events{/privacy}', 'received_events_url': 'https://api.github.com/users/SuperSamus/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 4, 'created_at': '2026-02-15T14:29:11Z', 'updated_at': '2026-09-07T23:36: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/14388', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14388', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14388.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14388.patch', 'merged_at': None}, 'body': "If an unconditional branch is not the last instruction of the block, assuming that this means that the branch must have been followed is an unsafe assumption on how the analyzer works that may not hold true in the future.\r\nAs a bonus: JitArm64, unlike x86, didn't skip followed `bcx`s. Now it does.", 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14388/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/14388/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5576775821', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14388#issuecomment-5576775821', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14388', 'id': 5576775821, 'node_id': 'IC_kwDOALCn2M8AAAABTGbYjQ', 'user': {'login': 'SuperSamus', 'id': 40663462, 'node_id': 'MDQ6VXNlcjQwNjYzNDYy', 'avatar_url': 'https://avatars.githubusercontent.com/u/40663462?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/SuperSamus', 'html_url': 'https://github.com/SuperSamus', 'followers_url': 'https://api.github.com/users/SuperSamus/followers', 'following_url': 'https://api.github.com/users/SuperSamus/following{/other_user}', 'gists_url': 'https://api.github.com/users/SuperSamus/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/SuperSamus/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/SuperSamus/subscriptions', 'organizations_url': 'https://api.github.com/users/SuperSamus/orgs', 'repos_url': 'https://api.github.com/users/SuperSamus/repos', 'events_url': 'https://api.github.com/users/SuperSamus/events{/privacy}', 'received_events_url': 'https://api.github.com/users/SuperSamus/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2026-09-07T23:36:26Z', 'updated_at': '2026-09-07T23:36:26Z', 'body': 'Rebased and made BranchAction a `u8`.', 'author_association': 'MEMBER', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5576775821/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-07T18:57:50Z', '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': 15497, 'watchers_count': 15497, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3239, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 466, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3239, 'open_issues': 466, 'watchers': 15497, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'SuperSamus', 'id': 40663462, 'node_id': 'MDQ6VXNlcjQwNjYzNDYy', 'avatar_url': 'https://avatars.githubusercontent.com/u/40663462?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/SuperSamus', 'html_url': 'https://github.com/SuperSamus', 'followers_url': 'https://api.github.com/users/SuperSamus/followers', 'following_url': 'https://api.github.com/users/SuperSamus/following{/other_user}', 'gists_url': 'https://api.github.com/users/SuperSamus/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/SuperSamus/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/SuperSamus/subscriptions', 'organizations_url': 'https://api.github.com/users/SuperSamus/orgs', 'repos_url': 'https://api.github.com/users/SuperSamus/repos', 'events_url': 'https://api.github.com/users/SuperSamus/events{/privacy}', 'received_events_url': 'https://api.github.com/users/SuperSamus/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'gh_issue_comment'}
2026-09-07T17:50:55.837024	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'sepalani', 'action': 'created', 'id': 14852, 'title': 'sfl-library: add to Externals', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14852#issuecomment-5574130692', 'safe_author': True, 'body': "> I have to admit that the main motivation of this is simply... I hate std::map, and I wanted to reduce the usage of it in the codebase.\r\n> \r\n> Also, sfl isn't _required_ in the block cache PR, so if you don't want more dependencies and want me to use std's stuff instead, tell me now. (It's [here](https://github.com/SuperSamus/dolphin/commits/block-cache-optimizations/), specifically used [here](https://github.com/SuperSamus/dolphin/commit/637bf92b0a8b42c3e0ab9a1202bc9e055368ef50), [here](https://github.com/SuperSamus/dolphin/commit/6beba25faa99f2e36931ad3334dd90aa4e94305f) and [here](https://github.com/SuperSamus/dolphin/commit/6beba25faa99f2e36931ad3334dd90aa4e94305f))\r\n\r\nAs long as it provides a real benefit for your use case, I wouldn't be against adding this new dependency. That said, I'm not a JIT expert, so I have not much to say about the code.", 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14852', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14852/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14852/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14852/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14852', 'id': 5377022307, 'node_id': 'PR_kwDOALCn2M8AAAABCjOIRQ', 'number': 14852, 'title': 'sfl-library: add to Externals', 'user': {'login': 'SuperSamus', 'id': 40663462, 'node_id': 'MDQ6VXNlcjQwNjYzNDYy', 'avatar_url': 'https://avatars.githubusercontent.com/u/40663462?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/SuperSamus', 'html_url': 'https://github.com/SuperSamus', 'followers_url': 'https://api.github.com/users/SuperSamus/followers', 'following_url': 'https://api.github.com/users/SuperSamus/following{/other_user}', 'gists_url': 'https://api.github.com/users/SuperSamus/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/SuperSamus/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/SuperSamus/subscriptions', 'organizations_url': 'https://api.github.com/users/SuperSamus/orgs', 'repos_url': 'https://api.github.com/users/SuperSamus/repos', 'events_url': 'https://api.github.com/users/SuperSamus/events{/privacy}', 'received_events_url': 'https://api.github.com/users/SuperSamus/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 5, 'created_at': '2026-09-07T16:19:15Z', 'updated_at': '2026-09-07T17:50:54Z', 'closed_at': None, 'assignee': None, 'author_association': 'CONTRIBUTOR', 'issue_field_values': [], 'type': None, 'active_lock_reason': None, 'draft': True, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14852', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14852', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14852.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14852.patch', 'merged_at': None}, 'body': "A small library that contains some containers I want to use.\r\n\r\nThe library used by other projects such as OpenRCT2, so it's battle-tested.\r\n\r\nAlso replace `static const set`/`map`  with sfl's equivalents, so that they can be constexpr and thus not allocate at program start.\r\n\r\nNote: draft because it'd be better to merge it after #14793.", 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14852/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/14852/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5574130692', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14852#issuecomment-5574130692', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14852', 'id': 5574130692, 'node_id': 'IC_kwDOALCn2M8AAAABTD58BA', 'user': {'login': 'sepalani', 'id': 7890055, 'node_id': 'MDQ6VXNlcjc4OTAwNTU=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7890055?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/sepalani', 'html_url': 'https://github.com/sepalani', 'followers_url': 'https://api.github.com/users/sepalani/followers', 'following_url': 'https://api.github.com/users/sepalani/following{/other_user}', 'gists_url': 'https://api.github.com/users/sepalani/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/sepalani/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/sepalani/subscriptions', 'organizations_url': 'https://api.github.com/users/sepalani/orgs', 'repos_url': 'https://api.github.com/users/sepalani/repos', 'events_url': 'https://api.github.com/users/sepalani/events{/privacy}', 'received_events_url': 'https://api.github.com/users/sepalani/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2026-09-07T17:50:54Z', 'updated_at': '2026-09-07T17:50:54Z', 'body': "> I have to admit that the main motivation of this is simply... I hate std::map, and I wanted to reduce the usage of it in the codebase.\r\n> \r\n> Also, sfl isn't _required_ in the block cache PR, so if you don't want more dependencies and want me to use std's stuff instead, tell me now. (It's [here](https://github.com/SuperSamus/dolphin/commits/block-cache-optimizations/), specifically used [here](https://github.com/SuperSamus/dolphin/commit/637bf92b0a8b42c3e0ab9a1202bc9e055368ef50), [here](https://github.com/SuperSamus/dolphin/commit/6beba25faa99f2e36931ad3334dd90aa4e94305f) and [here](https://github.com/SuperSamus/dolphin/commit/6beba25faa99f2e36931ad3334dd90aa4e94305f))\r\n\r\nAs long as it provides a real benefit for your use case, I wouldn't be against adding this new dependency. That said, I'm not a JIT expert, so I have not much to say about the code.", 'author_association': 'MEMBER', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5574130692/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-07T16:53:31Z', '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': 15495, 'watchers_count': 15495, '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': 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': 3238, 'open_issues': 465, 'watchers': 15495, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'sepalani', 'id': 7890055, 'node_id': 'MDQ6VXNlcjc4OTAwNTU=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7890055?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/sepalani', 'html_url': 'https://github.com/sepalani', 'followers_url': 'https://api.github.com/users/sepalani/followers', 'following_url': 'https://api.github.com/users/sepalani/following{/other_user}', 'gists_url': 'https://api.github.com/users/sepalani/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/sepalani/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/sepalani/subscriptions', 'organizations_url': 'https://api.github.com/users/sepalani/orgs', 'repos_url': 'https://api.github.com/users/sepalani/repos', 'events_url': 'https://api.github.com/users/sepalani/events{/privacy}', 'received_events_url': 'https://api.github.com/users/sepalani/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'gh_issue_comment'}
2026-09-07T17:34:02.706493	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'SuperSamus', 'action': 'created', 'id': 14852, 'title': 'sfl-library: add to Externals', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14852#issuecomment-5573993898', 'safe_author': True, 'body': "Well, the third commit is bust thanks to Android and MacOS...\r\nThere's still the option of settling with `const` instead of `constexpr`, but if you don't like this I'll close it.\r\n\r\nI have to admit that the main motivation of this is simply... I hate std::map, and I wanted to reduce the usage of it in the codebase.\r\n\r\nAlso, sfl isn't *required* in the block cache PR, so if you don't want more dependencies and want me to use std's stuff instead, tell me now. (It's [here](https://github.com/SuperSamus/dolphin/commits/block-cache-optimizations/), specifically used [here](https://github.com/SuperSamus/dolphin/commit/637bf92b0a8b42c3e0ab9a1202bc9e055368ef50), [here](https://github.com/SuperSamus/dolphin/commit/6beba25faa99f2e36931ad3334dd90aa4e94305f) and [here](https://github.com/SuperSamus/dolphin/commit/6beba25faa99f2e36931ad3334dd90aa4e94305f))", 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14852', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14852/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14852/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14852/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14852', 'id': 5377022307, 'node_id': 'PR_kwDOALCn2M8AAAABCjOIRQ', 'number': 14852, 'title': 'sfl-library: add to Externals', 'user': {'login': 'SuperSamus', 'id': 40663462, 'node_id': 'MDQ6VXNlcjQwNjYzNDYy', 'avatar_url': 'https://avatars.githubusercontent.com/u/40663462?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/SuperSamus', 'html_url': 'https://github.com/SuperSamus', 'followers_url': 'https://api.github.com/users/SuperSamus/followers', 'following_url': 'https://api.github.com/users/SuperSamus/following{/other_user}', 'gists_url': 'https://api.github.com/users/SuperSamus/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/SuperSamus/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/SuperSamus/subscriptions', 'organizations_url': 'https://api.github.com/users/SuperSamus/orgs', 'repos_url': 'https://api.github.com/users/SuperSamus/repos', 'events_url': 'https://api.github.com/users/SuperSamus/events{/privacy}', 'received_events_url': 'https://api.github.com/users/SuperSamus/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 4, 'created_at': '2026-09-07T16:19:15Z', 'updated_at': '2026-09-07T17:34:00Z', 'closed_at': None, 'assignee': None, 'author_association': 'CONTRIBUTOR', 'issue_field_values': [], 'type': None, 'active_lock_reason': None, 'draft': True, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14852', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14852', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14852.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14852.patch', 'merged_at': None}, 'body': "A small library that contains some containers I want to use.\r\n\r\nThe library used by other projects such as OpenRCT2, so it's battle-tested.\r\n\r\nAlso replace `static const set`/`map`  with sfl's equivalents, so that they can be constexpr and thus not allocate at program start.\r\n\r\nNote: draft because it'd be better to merge it after #14793.", 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14852/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/14852/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5573993898', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14852#issuecomment-5573993898', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14852', 'id': 5573993898, 'node_id': 'IC_kwDOALCn2M8AAAABTDxlqg', 'user': {'login': 'SuperSamus', 'id': 40663462, 'node_id': 'MDQ6VXNlcjQwNjYzNDYy', 'avatar_url': 'https://avatars.githubusercontent.com/u/40663462?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/SuperSamus', 'html_url': 'https://github.com/SuperSamus', 'followers_url': 'https://api.github.com/users/SuperSamus/followers', 'following_url': 'https://api.github.com/users/SuperSamus/following{/other_user}', 'gists_url': 'https://api.github.com/users/SuperSamus/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/SuperSamus/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/SuperSamus/subscriptions', 'organizations_url': 'https://api.github.com/users/SuperSamus/orgs', 'repos_url': 'https://api.github.com/users/SuperSamus/repos', 'events_url': 'https://api.github.com/users/SuperSamus/events{/privacy}', 'received_events_url': 'https://api.github.com/users/SuperSamus/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2026-09-07T17:34:00Z', 'updated_at': '2026-09-07T17:34:00Z', 'body': "Well, the third commit is bust thanks to Android and MacOS...\r\nThere's still the option of settling with `const` instead of `constexpr`, but if you don't like this I'll close it.\r\n\r\nI have to admit that the main motivation of this is simply... I hate std::map, and I wanted to reduce the usage of it in the codebase.\r\n\r\nAlso, sfl isn't *required* in the block cache PR, so if you don't want more dependencies and want me to use std's stuff instead, tell me now. (It's [here](https://github.com/SuperSamus/dolphin/commits/block-cache-optimizations/), specifically used [here](https://github.com/SuperSamus/dolphin/commit/637bf92b0a8b42c3e0ab9a1202bc9e055368ef50), [here](https://github.com/SuperSamus/dolphin/commit/6beba25faa99f2e36931ad3334dd90aa4e94305f) and [here](https://github.com/SuperSamus/dolphin/commit/6beba25faa99f2e36931ad3334dd90aa4e94305f))", 'author_association': 'MEMBER', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5573993898/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-07T16:53:31Z', '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': 15495, 'watchers_count': 15495, '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': 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': 3238, 'open_issues': 465, 'watchers': 15495, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'SuperSamus', 'id': 40663462, 'node_id': 'MDQ6VXNlcjQwNjYzNDYy', 'avatar_url': 'https://avatars.githubusercontent.com/u/40663462?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/SuperSamus', 'html_url': 'https://github.com/SuperSamus', 'followers_url': 'https://api.github.com/users/SuperSamus/followers', 'following_url': 'https://api.github.com/users/SuperSamus/following{/other_user}', 'gists_url': 'https://api.github.com/users/SuperSamus/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/SuperSamus/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/SuperSamus/subscriptions', 'organizations_url': 'https://api.github.com/users/SuperSamus/orgs', 'repos_url': 'https://api.github.com/users/SuperSamus/repos', 'events_url': 'https://api.github.com/users/SuperSamus/events{/privacy}', 'received_events_url': 'https://api.github.com/users/SuperSamus/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'gh_issue_comment'}
2026-09-07T17:04:08.270764	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'sepalani', 'action': 'created', 'id': 14852, 'title': 'sfl-library: add to Externals', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14852#issuecomment-5573744899', 'safe_author': True, 'body': "I second @iwubcode comment. While I wouldn't mind switching the code in places where this library is heavily used, I'm concerned that this new dependency (especially in Common) might be(come) a future burden/technical debt.\r\n\r\nTo give a more concrete example with a dependency we use: I think it's fine to massively use SFML helpers, (network) types and such in code where we need SFML but it makes less sense and might be error prone to mix it with existing pieces of code unrelated to SFML so far.\r\n\r\nIMHO, it probably would be fine to include this SFL library when submitting your PR requiring it. IIRC, you'll also need to update `Externals/licenses.md` file, assuming the licence is compatible with Dolphin's.", 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14852', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14852/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14852/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14852/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14852', 'id': 5377022307, 'node_id': 'PR_kwDOALCn2M8AAAABCjOIRQ', 'number': 14852, 'title': 'sfl-library: add to Externals', 'user': {'login': 'SuperSamus', 'id': 40663462, 'node_id': 'MDQ6VXNlcjQwNjYzNDYy', 'avatar_url': 'https://avatars.githubusercontent.com/u/40663462?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/SuperSamus', 'html_url': 'https://github.com/SuperSamus', 'followers_url': 'https://api.github.com/users/SuperSamus/followers', 'following_url': 'https://api.github.com/users/SuperSamus/following{/other_user}', 'gists_url': 'https://api.github.com/users/SuperSamus/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/SuperSamus/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/SuperSamus/subscriptions', 'organizations_url': 'https://api.github.com/users/SuperSamus/orgs', 'repos_url': 'https://api.github.com/users/SuperSamus/repos', 'events_url': 'https://api.github.com/users/SuperSamus/events{/privacy}', 'received_events_url': 'https://api.github.com/users/SuperSamus/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 3, 'created_at': '2026-09-07T16:19:15Z', 'updated_at': '2026-09-07T17:04:06Z', 'closed_at': None, 'assignee': None, 'author_association': 'CONTRIBUTOR', 'issue_field_values': [], 'type': None, 'active_lock_reason': None, 'draft': True, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14852', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14852', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14852.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14852.patch', 'merged_at': None}, 'body': "A small library that contains some containers I want to use.\r\n\r\nThe library used by other projects such as OpenRCT2, so it's battle-tested.\r\n\r\nAlso replace `static const set`/`map`  with sfl's equivalents, so that they can be constexpr and thus not allocate at program start.\r\n\r\nNote: draft because it'd be better to merge it after #14793.", 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14852/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/14852/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5573744899', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14852#issuecomment-5573744899', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14852', 'id': 5573744899, 'node_id': 'IC_kwDOALCn2M8AAAABTDiZAw', 'user': {'login': 'sepalani', 'id': 7890055, 'node_id': 'MDQ6VXNlcjc4OTAwNTU=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7890055?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/sepalani', 'html_url': 'https://github.com/sepalani', 'followers_url': 'https://api.github.com/users/sepalani/followers', 'following_url': 'https://api.github.com/users/sepalani/following{/other_user}', 'gists_url': 'https://api.github.com/users/sepalani/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/sepalani/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/sepalani/subscriptions', 'organizations_url': 'https://api.github.com/users/sepalani/orgs', 'repos_url': 'https://api.github.com/users/sepalani/repos', 'events_url': 'https://api.github.com/users/sepalani/events{/privacy}', 'received_events_url': 'https://api.github.com/users/sepalani/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2026-09-07T17:04:06Z', 'updated_at': '2026-09-07T17:04:06Z', 'body': "I second @iwubcode comment. While I wouldn't mind switching the code in places where this library is heavily used, I'm concerned that this new dependency (especially in Common) might be(come) a future burden/technical debt.\r\n\r\nTo give a more concrete example with a dependency we use: I think it's fine to massively use SFML helpers, (network) types and such in code where we need SFML but it makes less sense and might be error prone to mix it with existing pieces of code unrelated to SFML so far.\r\n\r\nIMHO, it probably would be fine to include this SFL library when submitting your PR requiring it. IIRC, you'll also need to update `Externals/licenses.md` file, assuming the licence is compatible with Dolphin's.", 'author_association': 'MEMBER', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5573744899/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-07T16:53:31Z', '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': 15495, 'watchers_count': 15495, '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': 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': 3238, 'open_issues': 465, 'watchers': 15495, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'sepalani', 'id': 7890055, 'node_id': 'MDQ6VXNlcjc4OTAwNTU=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7890055?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/sepalani', 'html_url': 'https://github.com/sepalani', 'followers_url': 'https://api.github.com/users/sepalani/followers', 'following_url': 'https://api.github.com/users/sepalani/following{/other_user}', 'gists_url': 'https://api.github.com/users/sepalani/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/sepalani/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/sepalani/subscriptions', 'organizations_url': 'https://api.github.com/users/sepalani/orgs', 'repos_url': 'https://api.github.com/users/sepalani/repos', 'events_url': 'https://api.github.com/users/sepalani/events{/privacy}', 'received_events_url': 'https://api.github.com/users/sepalani/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'gh_issue_comment'}
2026-09-07T16:57:03.762411	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'SuperSamus', 'action': 'created', 'id': 14852, 'title': 'sfl-library: add to Externals', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14852#issuecomment-5573682011', 'safe_author': True, 'body': "> My main desire for wanting to add better container support over the standard is the performance it can bring. But this library doesn't even have benchmarks. Curious what advantage you see?\r\n\r\nI mean to use it in a future PR, mainly the one that improves performance in the block cache: there are around 50000 blocks (in a game like Mario Kart Wii), so micro-optimizing them doesn't hurt.\r\nThe ones I'm already using locally:\r\n- `sfl::compact_vector` replaces the LinkData vector that is in each block, saving 8 bytes to not store the capacity\r\n- `sfl::flat_map` stores the the keys and values in pairs, compared to `std::flat_map` which uses one vector for the keys and another for the values, so again, small memory savings when lookups are rare (like the RangeSet in each block)\r\n\r\nIt's not a library that brings enormous performance improvements that you can't live without, but its features are a nice QoL.\r\n<super><sub>Though I do *also* want the library that brings enormous performance improvements, a.k.a. an actually good hashmap to replace std's.</sub></super>\r\n", 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14852', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14852/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14852/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14852/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14852', 'id': 5377022307, 'node_id': 'PR_kwDOALCn2M8AAAABCjOIRQ', 'number': 14852, 'title': 'sfl-library: add to Externals', 'user': {'login': 'SuperSamus', 'id': 40663462, 'node_id': 'MDQ6VXNlcjQwNjYzNDYy', 'avatar_url': 'https://avatars.githubusercontent.com/u/40663462?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/SuperSamus', 'html_url': 'https://github.com/SuperSamus', 'followers_url': 'https://api.github.com/users/SuperSamus/followers', 'following_url': 'https://api.github.com/users/SuperSamus/following{/other_user}', 'gists_url': 'https://api.github.com/users/SuperSamus/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/SuperSamus/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/SuperSamus/subscriptions', 'organizations_url': 'https://api.github.com/users/SuperSamus/orgs', 'repos_url': 'https://api.github.com/users/SuperSamus/repos', 'events_url': 'https://api.github.com/users/SuperSamus/events{/privacy}', 'received_events_url': 'https://api.github.com/users/SuperSamus/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 2, 'created_at': '2026-09-07T16:19:15Z', 'updated_at': '2026-09-07T16:57:01Z', 'closed_at': None, 'assignee': None, 'author_association': 'CONTRIBUTOR', 'issue_field_values': [], 'type': None, 'active_lock_reason': None, 'draft': True, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14852', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14852', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14852.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14852.patch', 'merged_at': None}, 'body': "A small library that contains some containers I want to use.\r\n\r\nThe library used by other projects such as OpenRCT2, so it's battle-tested.\r\n\r\nAlso replace `static const set`/`map`  with sfl's equivalents, so that they can be constexpr and thus not allocate at program start.\r\n\r\nNote: draft because it'd be better to merge it after #14793.", 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14852/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/14852/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5573682011', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14852#issuecomment-5573682011', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14852', 'id': 5573682011, 'node_id': 'IC_kwDOALCn2M8AAAABTDejWw', 'user': {'login': 'SuperSamus', 'id': 40663462, 'node_id': 'MDQ6VXNlcjQwNjYzNDYy', 'avatar_url': 'https://avatars.githubusercontent.com/u/40663462?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/SuperSamus', 'html_url': 'https://github.com/SuperSamus', 'followers_url': 'https://api.github.com/users/SuperSamus/followers', 'following_url': 'https://api.github.com/users/SuperSamus/following{/other_user}', 'gists_url': 'https://api.github.com/users/SuperSamus/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/SuperSamus/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/SuperSamus/subscriptions', 'organizations_url': 'https://api.github.com/users/SuperSamus/orgs', 'repos_url': 'https://api.github.com/users/SuperSamus/repos', 'events_url': 'https://api.github.com/users/SuperSamus/events{/privacy}', 'received_events_url': 'https://api.github.com/users/SuperSamus/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2026-09-07T16:57:01Z', 'updated_at': '2026-09-07T16:57:01Z', 'body': "> My main desire for wanting to add better container support over the standard is the performance it can bring. But this library doesn't even have benchmarks. Curious what advantage you see?\r\n\r\nI mean to use it in a future PR, mainly the one that improves performance in the block cache: there are around 50000 blocks (in a game like Mario Kart Wii), so micro-optimizing them doesn't hurt.\r\nThe ones I'm already using locally:\r\n- `sfl::compact_vector` replaces the LinkData vector that is in each block, saving 8 bytes to not store the capacity\r\n- `sfl::flat_map` stores the the keys and values in pairs, compared to `std::flat_map` which uses one vector for the keys and another for the values, so again, small memory savings when lookups are rare (like the RangeSet in each block)\r\n\r\nIt's not a library that brings enormous performance improvements that you can't live without, but its features are a nice QoL.\r\n<super><sub>Though I do *also* want the library that brings enormous performance improvements, a.k.a. an actually good hashmap to replace std's.</sub></super>\r\n", 'author_association': 'MEMBER', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5573682011/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-07T16:53:31Z', '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': 15495, 'watchers_count': 15495, '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': 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': 3238, 'open_issues': 465, 'watchers': 15495, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'SuperSamus', 'id': 40663462, 'node_id': 'MDQ6VXNlcjQwNjYzNDYy', 'avatar_url': 'https://avatars.githubusercontent.com/u/40663462?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/SuperSamus', 'html_url': 'https://github.com/SuperSamus', 'followers_url': 'https://api.github.com/users/SuperSamus/followers', 'following_url': 'https://api.github.com/users/SuperSamus/following{/other_user}', 'gists_url': 'https://api.github.com/users/SuperSamus/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/SuperSamus/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/SuperSamus/subscriptions', 'organizations_url': 'https://api.github.com/users/SuperSamus/orgs', 'repos_url': 'https://api.github.com/users/SuperSamus/repos', 'events_url': 'https://api.github.com/users/SuperSamus/events{/privacy}', 'received_events_url': 'https://api.github.com/users/SuperSamus/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'gh_issue_comment'}

Recent 'gh_pull_request' events

2026-09-12T21:10:21.470061	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'JosJuice', 'action': 'closed', 'id': 14851, 'title': 'RetroAchievements - Fix Achievement Progress Toggle', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14851', 'head_ref_name': 'retroachievements-progress-fix', 'safe_author': True, 'base_sha': 'a2efdf1197be8132674b90fe9cf4761df39752ed', 'head_sha': '3a55a0e1a246bb573d47704d2c6b2d52191e0880', 'merged': True, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-09-12T21:01:51.960576	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'JoshuaVandaele', 'action': 'edited', 'id': 14850, 'title': 'DolphinNoGUI: Default to OFF', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14850', 'head_ref_name': 'no-nogui', 'safe_author': True, 'base_sha': 'a2efdf1197be8132674b90fe9cf4761df39752ed', 'head_sha': '14e3c61d62495d452f51692cc677cdc31493ec80', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-09-12T17:42:45.249108	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'matellush', 'action': 'opened', 'id': 14862, 'title': 'Flatpak: Fix Discord rich presence', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14862', 'head_ref_name': 'flatpak/discord-rich-presence', 'safe_author': False, 'base_sha': 'a2efdf1197be8132674b90fe9cf4761df39752ed', 'head_sha': '304a534d16c1d68f5e2a8fbf7778253ca2551713', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-09-12T15:52:17.574022	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'matellush', 'action': 'opened', 'id': 14861, 'title': 'Flatpak: Bump `libevdev` to `1.13.7`', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14861', 'head_ref_name': 'flatpak/libevdev', 'safe_author': False, 'base_sha': 'a2efdf1197be8132674b90fe9cf4761df39752ed', 'head_sha': '958ea7855b64ab16095452f4d717c5f845b26677', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-09-11T21:09:23.739915	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'JoshuaVandaele', 'action': 'opened', 'id': 14860, 'title': 'Input Syntax: Add floor, ceil, round, and trunc functions', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14860', 'head_ref_name': 'inputsyntax-nodecimal', 'safe_author': True, 'base_sha': 'a2efdf1197be8132674b90fe9cf4761df39752ed', 'head_sha': '0cbf5a80abad9b007e46c648999953bc50e0af2f', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-09-11T12:47:31.992995	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'OatmealDome', 'action': 'closed', 'id': 14859, 'title': 'name: Build Dolphin Custom SWBF3', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14859', 'head_ref_name': 'master', 'safe_author': True, 'base_sha': 'a2efdf1197be8132674b90fe9cf4761df39752ed', 'head_sha': 'de63cf2231aae7613f3711b9264f8a008cdd83a0', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-09-11T12:32:56.249616	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'Budyman2920', 'action': 'opened', 'id': 14859, 'title': 'name: Build Dolphin Custom SWBF3', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14859', 'head_ref_name': 'master', 'safe_author': False, 'base_sha': 'a2efdf1197be8132674b90fe9cf4761df39752ed', 'head_sha': 'de63cf2231aae7613f3711b9264f8a008cdd83a0', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-09-11T12:23:02.463491	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'Budyman2920', 'action': 'closed', 'id': 14858, 'title': 'Swbf3 wii dolphin emulator android visuals glitch fix', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14858', 'head_ref_name': 'master', 'safe_author': False, 'base_sha': 'a2efdf1197be8132674b90fe9cf4761df39752ed', 'head_sha': 'a0ae54528b7f239af895ce81608f835675ae1ca7', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-09-11T11:49:47.155219	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'Budyman2920', 'action': 'opened', 'id': 14858, 'title': 'Swbf3 wii dolphin emulator android visuals glitch fix', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14858', 'head_ref_name': 'master', 'safe_author': False, 'base_sha': 'a2efdf1197be8132674b90fe9cf4761df39752ed', 'head_sha': 'a0ae54528b7f239af895ce81608f835675ae1ca7', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-09-10T20:54:55.122226	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'ChaseParate', 'action': 'synchronize', 'id': 14857, 'title': 'Android: Add reset item to emulation menu', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14857', 'head_ref_name': 'chaseparate-android-add-reset-menu-item', 'safe_author': False, 'base_sha': 'a2efdf1197be8132674b90fe9cf4761df39752ed', 'head_sha': '9e91582b95a928a61cde3dd5b6766e0af03e88a4', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-09-10T20:50:37.546651	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'ChaseParate', 'action': 'synchronize', 'id': 14857, 'title': 'Android: Add reset item to emulation menu', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14857', 'head_ref_name': 'chaseparate-android-add-reset-menu-item', 'safe_author': False, 'base_sha': 'a2efdf1197be8132674b90fe9cf4761df39752ed', 'head_sha': 'a00e96610b989140e1dc0ea2b50579c99bf8e5df', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-09-10T04:08:21.360271	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'ChaseParate', 'action': 'opened', 'id': 14857, 'title': 'Android: Add reset item to emulation menu', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14857', 'head_ref_name': 'chaseparate-android-add-reset-menu-item', 'safe_author': False, 'base_sha': 'a2efdf1197be8132674b90fe9cf4761df39752ed', 'head_sha': '6d8cafb47826d8bd7242982b5659e03c442b4b9d', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-09-09T23:00:23.354901	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'Tilka', 'action': 'opened', 'id': 14856, 'title': 'EXI: add Waikiki device', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14856', 'head_ref_name': 'waikiki', 'safe_author': True, 'base_sha': 'a2efdf1197be8132674b90fe9cf4761df39752ed', 'head_sha': 'b89e21e0ef11f674f3d33f644db3e0a507ec3448', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-09-09T20:26:51.934047	{'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': 'f7bba1ad6d7f8457e20efe9a3f2e58d61b98e8cd', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-09-09T15:09:25.275063	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'SuperSamus', 'action': 'synchronize', 'id': 14853, 'title': 'Jit: Optimize trampoline info allocation', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14853', 'head_ref_name': 'jit-trampoline-info-optimize', 'safe_author': True, 'base_sha': 'a2efdf1197be8132674b90fe9cf4761df39752ed', 'head_sha': '02f4e25208214c3088ff25388d48b23fefa4b57b', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-09-09T12:19:29.593601	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'JoshuaVandaele', 'action': 'edited', 'id': 14850, 'title': 'DolphinNoGUI: Default to OFF', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14850', 'head_ref_name': 'no-nogui', 'safe_author': True, 'base_sha': 'a2efdf1197be8132674b90fe9cf4761df39752ed', 'head_sha': '14e3c61d62495d452f51692cc677cdc31493ec80', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-09-09T09:07:54.016603	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'SuperSamus', 'action': 'edited', 'id': 14806, 'title': 'JitRegCache: Refactor using a data oriented design', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14806', 'head_ref_name': 'regcache-data-oriented', 'safe_author': True, 'base_sha': '4ff214cdd26f135251d2266d676ed72dc1c2f8c9', 'head_sha': '9b56e39b607ca49456511b19d2176af280d6a0ea', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-09-09T01:39:14.360281	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'JordanTheToaster', 'action': 'opened', 'id': 14855, 'title': 'Externals/SDL: Update to release-3.4.16', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14855', 'head_ref_name': 'SDL-Has-Shoes-Now', 'safe_author': True, 'base_sha': 'a2efdf1197be8132674b90fe9cf4761df39752ed', 'head_sha': '61ac5cb4efef0cd12019a362f143a23d32807d9c', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-09-08T04:48:12.618427	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'Rebbacus', 'action': 'opened', 'id': 14854, 'title': 'GameSettings: Fix startup and fadeout crashes in 1080 Snowboarding', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14854', 'head_ref_name': '1080snowboarding', 'safe_author': False, 'base_sha': 'a2efdf1197be8132674b90fe9cf4761df39752ed', 'head_sha': 'f74f2e54d649dbb98aee12876582bbadd40d203d', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-09-07T23:35:26.678162	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'SuperSamus', 'action': 'synchronize', 'id': 14388, 'title': 'Jit: Followed unconditional branches are a property added by the Analyzer, not something to assume', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14388', 'head_ref_name': 'jit-branch-follow-explicit', 'safe_author': True, 'base_sha': 'a2efdf1197be8132674b90fe9cf4761df39752ed', 'head_sha': 'bb31ef8dfdd7794caeb6a57cb4586559d2bbde0e', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-09-07T21:18:09.632851	{'source': 'ghhookparser', 'repo': 'dolphin-emu/www', 'author': 'OatmealDome', 'action': 'closed', 'id': 197, 'title': 'downloads: Update MSVC requirement', 'base_ref_name': 'stable', 'url': 'https://github.com/dolphin-emu/www/pull/197', 'head_ref_name': 'vc-v14', 'safe_author': True, 'base_sha': '9d68a88212c67f7d075898f9bc887c09dc3d88fa', 'head_sha': '17e1bc5ea9312ff032478cfcce5a6357282eb6db', 'merged': True, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-09-07T21:07:41.471333	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'retropieuser', 'action': 'synchronize', 'id': 14849, 'title': 'Add Gecko Code for 18 Wheeler (Retroachievements)', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14849', 'head_ref_name': 'master', 'safe_author': False, 'base_sha': 'a2efdf1197be8132674b90fe9cf4761df39752ed', 'head_sha': '820cd977535786b300ccb207d03556d911f06230', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-09-07T19:03:35.417903	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'SuperSamus', 'action': 'opened', 'id': 14853, 'title': 'Jit: Optimize trampoline info allocation', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14853', 'head_ref_name': 'jit-trampoline-info-optimize', 'safe_author': True, 'base_sha': 'a2efdf1197be8132674b90fe9cf4761df39752ed', 'head_sha': 'a801bdba069cb8a2e9e0075aeedcc4977961d9c1', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-09-07T16:19:19.639219	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'SuperSamus', 'action': 'opened', 'id': 14852, 'title': 'sfl-library: add to Externals', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14852', 'head_ref_name': 'const-static-cleanup-with-sfl', 'safe_author': True, 'base_sha': 'a2efdf1197be8132674b90fe9cf4761df39752ed', 'head_sha': '6f6bb820467a3152e1b54bd98542e0d15d934294', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-09-07T14:01:36.704254	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'LillyJadeKatrin', 'action': 'synchronize', 'id': 14851, 'title': 'RetroAchievements - Fix Achievement Progress Toggle', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14851', 'head_ref_name': 'retroachievements-progress-fix', 'safe_author': True, 'base_sha': 'a2efdf1197be8132674b90fe9cf4761df39752ed', 'head_sha': '3a55a0e1a246bb573d47704d2c6b2d52191e0880', '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-12T21:29:21.953276	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'submitted', 'pr_id': 14850, 'pr_title': 'DolphinNoGUI: Default to OFF', 'state': 'approved', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14850#pullrequestreview-5188155472', 'comments': [], 'type': 'gh_pull_request_review'}
2026-09-12T21:04:43.795956	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'iwubcode', 'action': 'submitted', 'pr_id': 14850, 'pr_title': 'DolphinNoGUI: Default to OFF', 'state': 'approved', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14850#pullrequestreview-5188061130', 'comments': [], 'type': 'gh_pull_request_review'}
2026-09-12T18:26:14.708977	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'JoshuaVandaele', 'action': 'submitted', 'pr_id': 14861, 'pr_title': 'Flatpak: Bump `libevdev` to `1.13.7`', 'state': 'approved', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14861#pullrequestreview-5187494784', 'comments': [], 'type': 'gh_pull_request_review'}
2026-09-12T18:20:33.464741	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'JoshuaVandaele', 'action': 'submitted', 'pr_id': 14862, 'pr_title': 'Flatpak: Fix Discord rich presence', 'state': 'approved', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14862#pullrequestreview-5187482604', 'comments': [], 'type': 'gh_pull_request_review'}
2026-09-12T00:56:05.679638	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'submitted', 'pr_id': 14860, 'pr_title': 'Input Syntax: Add floor, ceil, round, and trunc functions', 'state': 'approved', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14860#pullrequestreview-5184526150', 'comments': [], 'type': 'gh_pull_request_review'}
2026-09-11T11:52:43.518664	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'sepalani', 'action': 'submitted', 'pr_id': 14858, 'pr_title': 'Swbf3 wii dolphin emulator android visuals glitch fix', 'state': 'changes_requested', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14858#pullrequestreview-5178323666', 'comments': [], 'type': 'gh_pull_request_review'}
2026-09-09T12:18:57.285933	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'JoshuaVandaele', 'action': 'submitted', 'pr_id': 14851, 'pr_title': 'RetroAchievements - Fix Achievement Progress Toggle', 'state': 'approved', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14851#pullrequestreview-5154106135', 'comments': [], 'type': 'gh_pull_request_review'}
2026-09-09T12:17:14.617107	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'JoshuaVandaele', 'action': 'submitted', 'pr_id': 14855, 'pr_title': 'Externals/SDL: Update to release-3.4.16', 'state': 'approved', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14855#pullrequestreview-5154088451', 'comments': [], 'type': 'gh_pull_request_review'}
2026-09-07T21:18:03.515763	{'source': 'ghhookparser', 'repo': 'dolphin-emu/www', 'author': 'OatmealDome', 'action': 'submitted', 'pr_id': 197, 'pr_title': 'downloads: Update MSVC requirement', 'state': 'approved', 'url': 'https://github.com/dolphin-emu/www/pull/197#pullrequestreview-5135279802', 'comments': [], 'type': 'gh_pull_request_review'}
2026-09-07T18:10:12.126616	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'JosJuice', 'action': 'submitted', 'pr_id': 14851, 'pr_title': 'RetroAchievements - Fix Achievement Progress Toggle', 'state': 'approved', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14851#pullrequestreview-5134505160', 'comments': [], 'type': 'gh_pull_request_review'}
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'}

Recent 'gh_push' events

2026-09-12T21:10:21.541209	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'pusher': 'JosJuice', 'before_sha': 'a2efdf1197be8132674b90fe9cf4761df39752ed', 'after_sha': 'c185d27ede09771fe93a3b520c576f646f937ed9', 'commits': [{'author': {'name': 'LillyJadeKatrin', 'email': 'lilly.kitty.1988@gmail.com', 'date': '2026-09-07T09:32:51-04:00', 'username': 'LillyJadeKatrin'}, 'distinct': False, 'added': [], 'modified': ['Source/Core/Core/AchievementManager.cpp'], 'removed': [], 'message': 'RetroAchievements - Fix Achievement Progress Toggle\n\nThe RA_PROGRESS_ENABLED flag was added but not currently being invoked, this\nmakes sure it is checked before popping up progress messages.', 'url': 'https://github.com/dolphin-emu/dolphin/commit/3a55a0e1a246bb573d47704d2c6b2d52191e0880', 'hash': '3a55a0e1a246bb573d47704d2c6b2d52191e0880'}, {'author': {'name': 'JosJuice', 'email': 'josjuice@gmail.com', 'date': '2026-09-12T23:10:19+02:00', 'username': 'JosJuice'}, 'distinct': True, 'added': [], 'modified': ['Source/Core/Core/AchievementManager.cpp'], 'removed': [], 'message': 'Merge pull request #14851 from LillyJadeKatrin/retroachievements-progress-fix\n\nRetroAchievements - Fix Achievement Progress Toggle', 'url': 'https://github.com/dolphin-emu/dolphin/commit/c185d27ede09771fe93a3b520c576f646f937ed9', 'hash': 'c185d27ede09771fe93a3b520c576f646f937ed9'}], 'base_ref_name': None, 'ref_name': 'master', 'ref_type': 'heads', 'created': False, 'deleted': False, 'forced': False, 'type': 'gh_push'}
2026-09-12T05:25:50.404940	{'source': 'ghhookparser', 'repo': 'dolphin-emu/sadm', 'pusher': 'OatmealDome', 'before_sha': '262aeea52824404badb521ccd19bbb9d5a451f45', 'after_sha': 'c9a39bd1b330eaa54110480b3bb2626008b05140', 'commits': [{'author': {'name': 'OatmealDome', 'email': 'julian@oatmealdome.me', 'date': '2026-09-12T01:23:53-04:00', 'username': 'OatmealDome'}, 'distinct': True, 'added': [], 'modified': ['flake.nix'], 'removed': [], 'message': 'flake: Switch to our cargo2nix fork with a fix for crates.io', 'url': 'https://github.com/dolphin-emu/sadm/commit/0d7eb0e21214f3b62af4faa21b1d982678dbeb92', 'hash': '0d7eb0e21214f3b62af4faa21b1d982678dbeb92'}, {'author': {'name': 'OatmealDome', 'email': 'julian@oatmealdome.me', 'date': '2026-09-12T01:24:26-04:00', 'username': 'OatmealDome'}, 'distinct': True, 'added': [], 'modified': ['flake.lock'], 'removed': [], 'message': "flake.lock: Update\n\nFlake lock file updates:\n\n• Updated input 'cargo2nix':\n    'github:cargo2nix/cargo2nix/a709c74619e1a2b68ed12bb398e12fbe29d69657?narHash=sha256-l06DIwnB4JHwP1isUUXk85F%2BAHQkUSUyAWnAmRxXICg%3D' (2025-06-19)\n  → 'github:dolphin-emu/cargo2nix/60406c3efae0af1e6f8e66899760b98df65447a9?narHash=sha256-MQHxVZoGWIVV3PJGPWUcL71AeyZ2YpZVkL%2BovojwkkU%3D' (2026-09-12)", 'url': 'https://github.com/dolphin-emu/sadm/commit/c9a39bd1b330eaa54110480b3bb2626008b05140', 'hash': 'c9a39bd1b330eaa54110480b3bb2626008b05140'}], 'base_ref_name': None, 'ref_name': 'actions-test', 'ref_type': 'heads', 'created': False, 'deleted': False, 'forced': False, 'type': 'gh_push'}
2026-09-12T04:24:03.720498	{'source': 'ghhookparser', 'repo': 'dolphin-emu/sadm', 'pusher': 'OatmealDome', 'before_sha': '0000000000000000000000000000000000000000', 'after_sha': '262aeea52824404badb521ccd19bbb9d5a451f45', 'commits': [{'author': {'name': 'OatmealDome', 'email': 'julian@oatmealdome.me', 'date': '2026-09-12T00:23:55-04:00', 'username': 'OatmealDome'}, 'distinct': True, 'added': ['.github/workflows/build.yml'], 'modified': [], 'removed': [], 'message': 'Actions: Add workflow for building altair and deneb on PRs and non-master branches', 'url': 'https://github.com/dolphin-emu/sadm/commit/262aeea52824404badb521ccd19bbb9d5a451f45', 'hash': '262aeea52824404badb521ccd19bbb9d5a451f45'}], 'base_ref_name': None, 'ref_name': 'actions-test', 'ref_type': 'heads', 'created': True, 'deleted': False, 'forced': False, 'type': 'gh_push'}
2026-09-07T21:18:09.548629	{'source': 'ghhookparser', 'repo': 'dolphin-emu/www', 'pusher': 'OatmealDome', 'before_sha': '9c791500b9964d08af9b7680a7b41a47f8e1f666', 'after_sha': '2abcc9bb77edced307d2774566b4aa3782b29435', 'commits': [{'author': {'name': 'Joshua Vandaële', 'email': 'joshua@vandaele.software', 'date': '2026-07-30T00:02:35+02:00', 'username': 'JoshuaVandaele'}, 'distinct': False, 'added': [], 'modified': ['dolweb/downloads/templates/downloads-index.html'], 'removed': [], 'message': "downloads: Update MSVC requirement\n\nThose requirements were changed to require VS2026 in 2606-215. I wanted to wait until the next stable release to update both of these URLs, however since Visual C++ v14 bundles both 2022 and 2026, I suppose it's fine to update them pre-emptively.", 'url': 'https://github.com/dolphin-emu/www/commit/17e1bc5ea9312ff032478cfcce5a6357282eb6db', 'hash': '17e1bc5ea9312ff032478cfcce5a6357282eb6db'}, {'author': {'name': 'OatmealDome', 'email': 'OatmealDome@users.noreply.github.com', 'date': '2026-09-07T17:18:07-04:00', 'username': 'OatmealDome'}, 'distinct': True, 'added': [], 'modified': ['dolweb/downloads/templates/downloads-index.html'], 'removed': [], 'message': 'Merge pull request #197 from JoshuaVandaele/vc-v14\n\ndownloads: Update MSVC requirement', 'url': 'https://github.com/dolphin-emu/www/commit/2abcc9bb77edced307d2774566b4aa3782b29435', 'hash': '2abcc9bb77edced307d2774566b4aa3782b29435'}], 'base_ref_name': None, 'ref_name': 'stable', 'ref_type': 'heads', 'created': False, 'deleted': False, 'forced': False, 'type': 'gh_push'}
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-13T02:29:41.002908	{'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-13T02:29:39.471593	{'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-13T02:27:22.896034	{'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-13T02:27:22.610886	{'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-13T02:24:39.471253	{'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-13T02:24:37.996746	{'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-13T02:19:37.996403	{'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-13T02:19:36.511063	{'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-13T02:17:22.610627	{'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-13T02:17:22.300260	{'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-13T02:14:36.510734	{'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-13T02:14:35.085479	{'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-13T02:09:35.085143	{'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-13T02:09:33.602444	{'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-13T02:07:22.300025	{'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-13T02:07:22.002900	{'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-13T02:04:33.602106	{'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-13T02:04:32.138705	{'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-13T01:59:32.138397	{'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-13T01:59:30.530498	{'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-13T01:57:22.002615	{'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-13T01:57:21.540991	{'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-13T01:54:30.530161	{'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-13T01:54:28.980374	{'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-13T01:49:28.980059	{'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-09T02:17:57.432084	{'source': 'redmine', 'new': False, 'update': 5, 'issue': 12634, 'title': "Cruis'n - Company Logos Missing before Title Screen", 'author': 'flacs', 'type': 'issue'}
2026-09-08T07:56:18.369175	{'source': 'redmine', 'new': False, 'update': 4, 'issue': 12634, 'title': "Cruis'n - Company Logos Missing before Title Screen", 'author': 'eightuser', 'type': 'issue'}
2026-09-08T00:12:04.187614	{'source': 'redmine', 'new': False, 'update': 2, 'issue': 14125, 'title': 'Render to Main Window Exits into New Window', 'author': 'eightuser', 'type': 'issue'}
2026-09-07T17:55:32.562445	{'source': 'redmine', 'new': True, 'update': 0, 'issue': 14131, 'title': 'Consistent GUI buffering (Windows x64) rendering Dolphin functionally stalled --> Qt-style/theme related? ', 'author': 'sheldor287', 'type': 'issue'}
2026-09-06T14:34:59.330237	{'source': 'redmine', 'new': False, 'update': 4, 'issue': 12692, 'title': 'The Urbz: Sims in the city - Stomach Lines Issue', 'author': 'eightuser', 'type': 'issue'}
2026-09-06T14:11:44.962514	{'source': 'redmine', 'new': False, 'update': 1, 'issue': 13219, 'title': 'The Urbz: Sims in the city - Maxis Logo Upscale issue', 'author': 'eightuser', 'type': 'issue'}
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'}

Recent 'new_dev_version' events

2026-09-12T21:10:23.140144	{'source': 'repomanager', 'hash': 'c185d27ede09771fe93a3b520c576f646f937ed9', 'branch': 'master', 'shortrev': '2606-366', 'author': 'JosJuice', 'message': 'Merge pull request #14851 from LillyJadeKatrin/retroachievements-progress-fix\n\nRetroAchievements - Fix Achievement Progress Toggle', 'url': 'https://github.com/dolphin-emu/dolphin/commit/c185d27ede09771fe93a3b520c576f646f937ed9', 'type': 'new_dev_version'}
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-12T21:29:21.953585	{'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] \x0303j\ufeffordan-woyak\x03 approved pull request #14850 (DolphinNoGUI: Default to OFF): \x1f\x0302https://dolp.in/pr14850#pullrequestreview-5188155472\x03\x1f', 'type': 'notification'}
2026-09-12T21:10:21.541826	{'source': 'notifications', 'msg': 'c185d2 by \x0303J\ufeffosJuice\x03 [\x03090\x03|\x03091\x03|\x03040\x03] \x1f\x0302https://dolp.in/rc185d27ede09771fe93a3b520c576f646f937ed9\x03\x1f Merge pull request #14851 from LillyJadeKatrin/retroachievements-progress-fix', 'type': 'notification'}
2026-09-12T21:10:21.541635	{'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x1f\x03] \x0303J\ufeffosJuice\x03 pushed \x021\x02 new commit to \x0306master\x03', 'type': 'notification'}
2026-09-12T21:10:21.470354	{'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] \x0303J\ufeffosJuice\x03 merged pull request #14851: RetroAchievements - Fix Achievement Progress Toggle (\x0306master\x03...\x0306retroachievements-progress-fix\x03): \x1f\x0302https://dolp.in/pr14851\x03\x1f', 'type': 'notification'}
2026-09-12T21:04:43.796252	{'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] \x0303i\ufeffwubcode\x03 approved pull request #14850 (DolphinNoGUI: Default to OFF): \x1f\x0302https://dolp.in/pr14850#pullrequestreview-5188061130\x03\x1f', 'type': 'notification'}
2026-09-12T21:01:51.960856	{'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] \x0303J\ufeffoshuaVandaele\x03 edited pull request #14850: DolphinNoGUI: Default to OFF (\x0306master\x03...\x0306no-nogui\x03): \x1f\x0302https://dolp.in/pr14850\x03\x1f', 'type': 'notification'}
2026-09-12T18:26:14.709306	{'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] \x0303J\ufeffoshuaVandaele\x03 approved pull request #14861 (Flatpak: Bump `libevdev` to `1.13.7`): \x1f\x0302https://dolp.in/pr14861#pullrequestreview-5187494784\x03\x1f', 'type': 'notification'}
2026-09-12T18:20:33.464970	{'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] \x0303J\ufeffoshuaVandaele\x03 approved pull request #14862 (Flatpak: Fix Discord rich presence): \x1f\x0302https://dolp.in/pr14862#pullrequestreview-5187482604\x03\x1f', 'type': 'notification'}
2026-09-12T18:18:28.310187	{'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] \x0303J\ufeffoshuaVandaele\x03 commented on #14862 (Flatpak: Fix Discord rich presence): \x1f\x0302https://dolp.in/pr14862#issuecomment-5647785610\x03\x1f', 'type': 'notification'}
2026-09-12T18:17:39.508160	{'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] \x0303m\ufeffatellush\x03 commented on #14862 (Flatpak: Fix Discord rich presence): \x1f\x0302https://dolp.in/pr14862#issuecomment-5647781078\x03\x1f', 'type': 'notification'}
2026-09-12T18:16:26.446774	{'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] \x0303m\ufeffatellush\x03 commented on #14862 (Flatpak: Fix Discord rich presence): \x1f\x0302https://dolp.in/pr14862#issuecomment-5647773947\x03\x1f', 'type': 'notification'}
2026-09-12T18:14:24.781734	{'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] \x0303J\ufeffoshuaVandaele\x03 commented on #14862 (Flatpak: Fix Discord rich presence): \x1f\x0302https://dolp.in/pr14862#issuecomment-5647762286\x03\x1f', 'type': 'notification'}
2026-09-12T17:43:16.149296	{'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] build for #14862 \x0304failed\x03 on builders [default]: \x1f\x0302<no url>\x03\x1f', 'type': 'notification'}
2026-09-12T17:42:45.249534	{'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] \x0303m\ufeffatellush\x03 opened pull request #14862: Flatpak: Fix Discord rich presence (\x0306master\x03...\x0306flatpak/discord-rich-presence\x03): \x1f\x0302https://dolp.in/pr14862\x03\x1f', 'type': 'notification'}
2026-09-12T15:52:48.529490	{'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] build for #14861 \x0304failed\x03 on builders [default]: \x1f\x0302<no url>\x03\x1f', 'type': 'notification'}
2026-09-12T15:52:17.574892	{'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] \x0303m\ufeffatellush\x03 opened pull request #14861: Flatpak: Bump `libevdev` to `1.13.7` (\x0306master\x03...\x0306flatpak/libevdev\x03): \x1f\x0302https://dolp.in/pr14861\x03\x1f', 'type': 'notification'}
2026-09-12T05:25:50.405356	{'source': 'notifications', 'msg': 'c9a39b by \x0303O\ufeffatmealDome\x03 [\x03090\x03|\x03091\x03|\x03040\x03] \x1f\x0302https://github.com/dolphin-emu/sadm/commit/c9a39bd1b330eaa54110480b3bb2626008b05140\x03\x1f flake.lock: Update', 'type': 'notification'}
2026-09-12T05:25:50.405267	{'source': 'notifications', 'msg': '0d7eb0 by \x0303O\ufeffatmealDome\x03 [\x03090\x03|\x03091\x03|\x03040\x03] \x1f\x0302https://github.com/dolphin-emu/sadm/commit/0d7eb0e21214f3b62af4faa21b1d982678dbeb92\x03\x1f flake: Switch to our cargo2nix fork with a fix for crates.io', 'type': 'notification'}
2026-09-12T05:25:50.405168	{'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/sadm\x1f\x03] \x0303O\ufeffatmealDome\x03 pushed \x022\x02 new commits to \x0306actions-test\x03', 'type': 'notification'}
2026-09-12T04:24:03.720952	{'source': 'notifications', 'msg': '262aee by \x0303O\ufeffatmealDome\x03 [\x03091\x03|\x03090\x03|\x03040\x03] \x1f\x0302https://github.com/dolphin-emu/sadm/commit/262aeea52824404badb521ccd19bbb9d5a451f45\x03\x1f Actions: Add workflow for building altair and deneb on PRs and non-master branches', 'type': 'notification'}
2026-09-12T04:24:03.720722	{'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/sadm\x1f\x03] \x0303O\ufeffatmealDome\x03 created \x0306actions-test\x03 +\x021\x02 new commit', 'type': 'notification'}
2026-09-12T00:56:05.679851	{'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] \x0303j\ufeffordan-woyak\x03 approved pull request #14860 (Input Syntax: Add floor, ceil, round, and trunc functions): \x1f\x0302https://dolp.in/pr14860#pullrequestreview-5184526150\x03\x1f', 'type': 'notification'}
2026-09-11T21:09:23.740521	{'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] \x0303J\ufeffoshuaVandaele\x03 opened pull request #14860: Input Syntax: Add floor, ceil, round, and trunc functions (\x0306master\x03...\x0306inputsyntax-nodecimal\x03): \x1f\x0302https://dolp.in/pr14860\x03\x1f', 'type': 'notification'}
2026-09-11T17:57:48.896019	{'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] \x0303J\ufeffosJuice\x03 commented on #14857 (Android: Add reset item to emulation menu): \x1f\x0302https://dolp.in/pr14857#issuecomment-5638617019\x03\x1f', 'type': 'notification'}
2026-09-11T12:47:32.207608	{'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] \x0303O\ufeffatmealDome\x03 commented on #14859 (name: Build Dolphin Custom SWBF3): \x1f\x0302https://dolp.in/pr14859#issuecomment-5634649534\x03\x1f', 'type': 'notification'}

Recent 'pull_request_fifoci_status' events

2026-09-12T18:52:15.569536	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '304a534d16c1d68f5e2a8fbf7778253ca2551713', 'service': 'pr-fifoci-mtl-osx-m1', 'pr': 14862, 'type': 'pull_request_fifoci_status'}
2026-09-12T18:49:13.856738	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '304a534d16c1d68f5e2a8fbf7778253ca2551713', 'service': 'pr-fifoci-vk-lin-mesa', 'pr': 14862, 'type': 'pull_request_fifoci_status'}
2026-09-12T18:40:51.346409	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '958ea7855b64ab16095452f4d717c5f845b26677', 'service': 'pr-fifoci-mtl-osx-m1', 'pr': 14861, 'type': 'pull_request_fifoci_status'}
2026-09-12T18:38:07.278124	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '304a534d16c1d68f5e2a8fbf7778253ca2551713', 'service': 'pr-fifoci-ogl-lin-mesa', 'pr': 14862, 'type': 'pull_request_fifoci_status'}
2026-09-12T18:29:26.221076	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '304a534d16c1d68f5e2a8fbf7778253ca2551713', 'service': 'pr-fifoci-mvk-osx-m1', 'pr': 14862, 'type': 'pull_request_fifoci_status'}
2026-09-12T18:24:14.414757	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '304a534d16c1d68f5e2a8fbf7778253ca2551713', 'service': 'pr-fifoci-sw-lin-mesa', 'pr': 14862, 'type': 'pull_request_fifoci_status'}
2026-09-12T18:17:24.727556	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '958ea7855b64ab16095452f4d717c5f845b26677', 'service': 'pr-fifoci-vk-lin-mesa', 'pr': 14861, 'type': 'pull_request_fifoci_status'}
2026-09-12T18:06:43.705236	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '958ea7855b64ab16095452f4d717c5f845b26677', 'service': 'pr-fifoci-mvk-osx-m1', 'pr': 14861, 'type': 'pull_request_fifoci_status'}
2026-09-12T18:04:36.966257	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '958ea7855b64ab16095452f4d717c5f845b26677', 'service': 'pr-fifoci-sw-lin-mesa', 'pr': 14861, 'type': 'pull_request_fifoci_status'}
2026-09-12T17:57:57.601378	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '958ea7855b64ab16095452f4d717c5f845b26677', 'service': 'pr-fifoci-ogl-lin-mesa', 'pr': 14861, 'type': 'pull_request_fifoci_status'}
2026-09-11T21:46:19.983335	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '0cbf5a80abad9b007e46c648999953bc50e0af2f', 'service': 'pr-fifoci-mtl-osx-m1', 'pr': 14860, 'type': 'pull_request_fifoci_status'}
2026-09-11T21:41:24.523476	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '0cbf5a80abad9b007e46c648999953bc50e0af2f', 'service': 'pr-fifoci-vk-lin-mesa', 'pr': 14860, 'type': 'pull_request_fifoci_status'}
2026-09-11T21:34:59.399236	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '0cbf5a80abad9b007e46c648999953bc50e0af2f', 'service': 'pr-fifoci-mvk-osx-m1', 'pr': 14860, 'type': 'pull_request_fifoci_status'}
2026-09-11T21:30:19.363330	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '0cbf5a80abad9b007e46c648999953bc50e0af2f', 'service': 'pr-fifoci-sw-lin-mesa', 'pr': 14860, 'type': 'pull_request_fifoci_status'}
2026-09-11T21:23:55.592100	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '0cbf5a80abad9b007e46c648999953bc50e0af2f', 'service': 'pr-fifoci-ogl-lin-mesa', 'pr': 14860, 'type': 'pull_request_fifoci_status'}
2026-09-11T04:06:28.995664	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '9e91582b95a928a61cde3dd5b6766e0af03e88a4', 'service': 'pr-fifoci-vk-lin-mesa', 'pr': 14857, 'type': 'pull_request_fifoci_status'}
2026-09-11T03:54:51.304759	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': 'b89e21e0ef11f674f3d33f644db3e0a507ec3448', 'service': 'pr-fifoci-vk-lin-mesa', 'pr': 14856, 'type': 'pull_request_fifoci_status'}
2026-09-11T03:43:14.974604	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '61ac5cb4efef0cd12019a362f143a23d32807d9c', 'service': 'pr-fifoci-vk-lin-mesa', 'pr': 14855, 'type': 'pull_request_fifoci_status'}
2026-09-11T03:32:06.538225	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': 'f74f2e54d649dbb98aee12876582bbadd40d203d', 'service': 'pr-fifoci-vk-lin-mesa', 'pr': 14854, 'type': 'pull_request_fifoci_status'}
2026-09-11T03:15:51.843260	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '02f4e25208214c3088ff25388d48b23fefa4b57b', 'service': 'pr-fifoci-vk-lin-mesa', 'pr': 14853, 'type': 'pull_request_fifoci_status'}
2026-09-11T03:06:17.463978	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '9e91582b95a928a61cde3dd5b6766e0af03e88a4', 'service': 'pr-fifoci-mtl-osx-m1', 'pr': 14857, 'type': 'pull_request_fifoci_status'}
2026-09-11T02:59:40.378044	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '3a55a0e1a246bb573d47704d2c6b2d52191e0880', 'service': 'pr-fifoci-vk-lin-mesa', 'pr': 14851, 'type': 'pull_request_fifoci_status'}
2026-09-11T02:54:55.976116	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': 'b89e21e0ef11f674f3d33f644db3e0a507ec3448', 'service': 'pr-fifoci-mtl-osx-m1', 'pr': 14856, 'type': 'pull_request_fifoci_status'}
2026-09-11T02:48:25.383642	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '14e3c61d62495d452f51692cc677cdc31493ec80', 'service': 'pr-fifoci-vk-lin-mesa', 'pr': 14850, 'type': 'pull_request_fifoci_status'}
2026-09-11T02:43:31.151266	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '61ac5cb4efef0cd12019a362f143a23d32807d9c', 'service': 'pr-fifoci-mtl-osx-m1', 'pr': 14855, 'type': 'pull_request_fifoci_status'}

Recent 'raw_bb_hook' events

2026-09-13T00:00:34.423090	{'source': 'webserver', 'raw': {'buildid': 188367, 'number': 1252, 'builderid': 20, 'buildrequestid': 188835, 'workerid': 10, 'masterid': 1, 'started_at': 1789257600, 'complete_at': 1789257634, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {'workername': ['ubuntu-lts', 'Worker'], 'codebase': ['', 'Build'], 'buildername': ['nightly-generic', 'Builder'], 'revision': [None, 'Build'], 'builddir': ['/buildbot/nightly-generic', 'Worker'], 'scheduler': ['nightly', 'Scheduler'], 'branch': [None, 'Build'], 'warnings-count': [0, 'WarningCountingShellCommand'], 'buildnumber': [1252, 'Build'], 'project': ['', 'Build'], 'got_revision': ['c185d27ede09771fe93a3b520c576f646f937ed9', 'GitNoBranch'], 'builderid': [20, 'Builder'], 'repository': ['', 'Build'], 'basedir': ['/buildbot', 'Worker']}, 'buildrequest': {'buildrequestid': 188835, 'buildsetid': 42511, 'builderid': 20, 'priority': 0, 'claimed': True, 'claimed_at': 1789257600, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1789257600, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 42511, 'external_idstring': None, 'reason': "The Nightly scheduler named 'nightly' triggered this build", 'submitted_at': 1789257600, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': None, 'parent_relationship': None, 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 1, 'branch': None, 'revision': None, 'project': '', 'repository': '', 'codebase': '', 'created_at': 1681171200, 'patch': None}]}, 'parentbuild': None, 'parentbuilder': None, 'builder': {'builderid': 20, 'name': 'nightly-generic', 'masterids': [1], 'description': None, 'description_format': None, 'description_html': None, 'projectid': None, 'tags': []}, 'url': 'https://dolphin.ci/#/builders/20/builds/1252'}, 'type': 'raw_bb_hook'}
2026-09-13T00:00:00.306078	{'source': 'webserver', 'raw': {'buildid': 188367, 'number': 1252, 'builderid': 20, 'buildrequestid': 188835, 'workerid': 10, 'masterid': 1, 'started_at': 1789257600, 'complete_at': None, 'locks_duration_s': 0, 'complete': False, 'state_string': 'starting', 'results': None, 'properties': {'workername': ['ubuntu-lts', 'Worker'], 'codebase': ['', 'Build'], 'buildername': ['nightly-generic', 'Builder'], 'revision': [None, 'Build'], 'scheduler': ['nightly', 'Scheduler'], 'branch': [None, 'Build'], 'buildnumber': [1252, 'Build'], 'project': ['', 'Build'], 'builderid': [20, 'Builder'], 'repository': ['', 'Build']}, 'buildrequest': {'buildrequestid': 188835, 'buildsetid': 42511, 'builderid': 20, 'priority': 0, 'claimed': True, 'claimed_at': 1789257600, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1789257600, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 42511, 'external_idstring': None, 'reason': "The Nightly scheduler named 'nightly' triggered this build", 'submitted_at': 1789257600, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': None, 'parent_relationship': None, 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 1, 'branch': None, 'revision': None, 'project': '', 'repository': '', 'codebase': '', 'created_at': 1681171200, 'patch': None}]}, 'parentbuild': None, 'parentbuilder': None, 'builder': {'builderid': 20, 'name': 'nightly-generic', 'masterids': [1], 'description': None, 'description_format': None, 'description_html': None, 'projectid': None, 'tags': []}, 'url': 'https://dolphin.ci/#/builders/20/builds/1252'}, 'type': 'raw_bb_hook'}
2026-09-12T21:46:25.271513	{'source': 'webserver', 'raw': {'buildid': 188366, 'number': 2563, 'builderid': 8, 'buildrequestid': 188825, 'workerid': 8, 'masterid': 1, 'started_at': 1789248894, 'complete_at': 1789249585, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {'description': ['Merge pull request #14851 from LillyJadeKatrin/retroachievements-progress-fix\n\nRetroAchievements - Fix Achievement Progress Toggle', 'Change'], 'buildnumber': [2563, 'Build'], 'project': ['', 'Build'], 'warnings-count': [114, 'WarningCountingShellCommand'], 'shortrev': ['2606-366', 'Change'], 'builderid': [8, 'Builder'], 'repository': ['', 'Build'], 'basedir': ['/Users/ci/worker/base', 'Worker'], 'branchname': ['master', 'Change'], 'buildername': ['fifoci-mvk-osx-m1', 'Builder'], 'revision': ['c185d27ede09771fe93a3b520c576f646f937ed9', 'Build'], 'owners': [['JosJuice'], 'Build'], 'builddir': ['/Users/ci/worker/base/fifoci-mvk-osx-m1', 'Worker'], 'author': ['JosJuice', 'Change'], 'workername': ['osx-m1', 'Worker'], 'codebase': ['', 'Build'], 'got_revision': ['ca98b3030bcc70e67158ce899a5589aa2ec65d32', 'GitNoBranch'], 'scheduler': ['dev', 'Scheduler'], 'branch': ['master', 'Build']}, 'buildrequest': {'buildrequestid': 188825, 'buildsetid': 42510, 'builderid': 8, 'priority': 0, 'claimed': True, 'claimed_at': 1789248894, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1789247423, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 42510, 'external_idstring': None, 'reason': "The AnyBranchScheduler scheduler named 'dev' triggered this build", 'submitted_at': 1789247423, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': None, 'parent_relationship': None, 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 12755, 'branch': 'master', 'revision': 'c185d27ede09771fe93a3b520c576f646f937ed9', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1789247423, '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/2563'}, 'type': 'raw_bb_hook'}
2026-09-12T21:45:34.286452	{'source': 'webserver', 'raw': {'buildid': 188364, 'number': 1534, 'builderid': 36, 'buildrequestid': 188828, 'workerid': 4, 'masterid': 1, 'started_at': 1789248274, 'complete_at': 1789249534, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {'branchname': ['master', 'Change'], 'buildername': ['dev-win-arm64', 'Builder'], 'revision': ['c185d27ede09771fe93a3b520c576f646f937ed9', 'Build'], 'owners': [['JosJuice'], 'Build'], 'builddir': ['c:\\buildbot\\dev-win-arm64', 'Worker'], 'sln_exists': ['false', 'SetPropertyFromCommand Step'], 'author': ['JosJuice', 'Change'], 'workername': ['windows', 'Worker'], 'codebase': ['', 'Build'], 'build_url': ['https://dl.dolphin-emu.org/builds/f1/e1/dolphin-master-2606-366-arm64.7z', 'SetProperty'], 'scheduler': ['dev', 'Scheduler'], 'branch': ['master', 'Build'], 'got_revision': ['c185d27ede09771fe93a3b520c576f646f937ed9', 'GitNoBranch'], 'shortrev': ['2606-366', 'Change'], 'builderid': [36, 'Builder'], 'repository': ['', 'Build'], 'basedir': ['c:\\buildbot', 'Worker'], 'description': ['Merge pull request #14851 from LillyJadeKatrin/retroachievements-progress-fix\n\nRetroAchievements - Fix Achievement Progress Toggle', 'Change'], 'buildnumber': [1534, 'Build'], 'project': ['', 'Build'], 'warnings-count': [61, 'WarningCountingShellCommand']}, 'buildrequest': {'buildrequestid': 188828, 'buildsetid': 42510, 'builderid': 36, 'priority': 0, 'claimed': True, 'claimed_at': 1789248274, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1789247423, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 42510, 'external_idstring': None, 'reason': "The AnyBranchScheduler scheduler named 'dev' triggered this build", 'submitted_at': 1789247423, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': None, 'parent_relationship': None, 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 12755, 'branch': 'master', 'revision': 'c185d27ede09771fe93a3b520c576f646f937ed9', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1789247423, '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/1534'}, 'type': 'raw_bb_hook'}
2026-09-12T21:45:21.842465	{'source': 'webserver', 'raw': {'buildid': 188365, 'number': 2507, 'builderid': 5, 'buildrequestid': 188824, 'workerid': 5, 'masterid': 1, 'started_at': 1789248665, 'complete_at': 1789249521, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {'description': ['Merge pull request #14851 from LillyJadeKatrin/retroachievements-progress-fix\n\nRetroAchievements - Fix Achievement Progress Toggle', 'Change'], 'buildnumber': [2507, 'Build'], 'project': ['', 'Build'], 'got_revision': ['c185d27ede09771fe93a3b520c576f646f937ed9', 'GitNoBranch'], 'warnings-count': [0, 'WarningCountingShellCommand'], 'shortrev': ['2606-366', 'Change'], 'builderid': [5, 'Builder'], 'repository': ['', 'Build'], 'builddir': ['/var/lib/fifoci-worker/worker/fifoci-ogl-lin-mesa', 'Worker'], 'branchname': ['master', 'Change'], 'buildername': ['fifoci-ogl-lin-mesa', 'Builder'], 'revision': ['c185d27ede09771fe93a3b520c576f646f937ed9', 'Build'], 'owners': [['JosJuice'], 'Build'], 'scheduler': ['dev', 'Scheduler'], 'branch': ['master', 'Build'], 'author': ['JosJuice', 'Change'], 'workername': ['altair-fifoci', 'Worker'], 'codebase': ['', 'Build'], 'basedir': ['/var/lib/fifoci-worker/worker', 'Worker']}, 'buildrequest': {'buildrequestid': 188824, 'buildsetid': 42510, 'builderid': 5, 'priority': 0, 'claimed': True, 'claimed_at': 1789248665, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1789247423, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 42510, 'external_idstring': None, 'reason': "The AnyBranchScheduler scheduler named 'dev' triggered this build", 'submitted_at': 1789247423, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': None, 'parent_relationship': None, 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 12755, 'branch': 'master', 'revision': 'c185d27ede09771fe93a3b520c576f646f937ed9', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1789247423, '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/2507'}, 'type': 'raw_bb_hook'}
2026-09-12T21:34:55.051205	{'source': 'webserver', 'raw': {'buildid': 188366, 'number': 2563, 'builderid': 8, 'buildrequestid': 188825, 'workerid': 8, 'masterid': 1, 'started_at': 1789248894, 'complete_at': None, 'locks_duration_s': 0, 'complete': False, 'state_string': 'starting', 'results': None, 'properties': {'description': ['Merge pull request #14851 from LillyJadeKatrin/retroachievements-progress-fix\n\nRetroAchievements - Fix Achievement Progress Toggle', 'Change'], 'buildnumber': [2563, 'Build'], 'project': ['', 'Build'], 'shortrev': ['2606-366', 'Change'], 'builderid': [8, 'Builder'], 'repository': ['', 'Build'], 'branchname': ['master', 'Change'], 'buildername': ['fifoci-mvk-osx-m1', 'Builder'], 'revision': ['c185d27ede09771fe93a3b520c576f646f937ed9', 'Build'], 'author': ['JosJuice', 'Change'], 'workername': ['osx-m1', 'Worker'], 'codebase': ['', 'Build'], 'scheduler': ['dev', 'Scheduler'], 'branch': ['master', 'Build']}, 'buildrequest': {'buildrequestid': 188825, 'buildsetid': 42510, 'builderid': 8, 'priority': 0, 'claimed': True, 'claimed_at': 1789248894, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1789247423, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 42510, 'external_idstring': None, 'reason': "The AnyBranchScheduler scheduler named 'dev' triggered this build", 'submitted_at': 1789247423, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': None, 'parent_relationship': None, 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 12755, 'branch': 'master', 'revision': 'c185d27ede09771fe93a3b520c576f646f937ed9', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1789247423, '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/2563'}, 'type': 'raw_bb_hook'}
2026-09-12T21:34:54.980423	{'source': 'webserver', 'raw': {'buildid': 188362, 'number': 2560, 'builderid': 17, 'buildrequestid': 188826, 'workerid': 8, 'masterid': 1, 'started_at': 1789248209, 'complete_at': 1789248894, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {'branchname': ['master', 'Change'], 'shortrev': ['2606-366', 'Change'], 'author': ['JosJuice', 'Change'], 'description': ['Merge pull request #14851 from LillyJadeKatrin/retroachievements-progress-fix\n\nRetroAchievements - Fix Achievement Progress Toggle', 'Change'], 'scheduler': ['dev', 'Scheduler'], 'buildername': ['fifoci-mtl-osx-m1', 'Builder'], 'builderid': [17, 'Builder'], 'workername': ['osx-m1', 'Worker'], 'buildnumber': [2560, 'Build'], 'branch': ['master', 'Build'], 'revision': ['c185d27ede09771fe93a3b520c576f646f937ed9', 'Build'], 'repository': ['', 'Build'], 'codebase': ['', 'Build'], 'project': ['', 'Build'], 'owners': [['JosJuice'], 'Build'], 'basedir': ['/Users/ci/worker/base', 'Worker'], 'builddir': ['/Users/ci/worker/base/fifoci-mtl-osx-m1', 'Worker'], 'got_revision': ['ca98b3030bcc70e67158ce899a5589aa2ec65d32', 'GitNoBranch'], 'warnings-count': [114, 'WarningCountingShellCommand']}, 'buildrequest': {'buildrequestid': 188826, 'buildsetid': 42510, 'builderid': 17, 'priority': 0, 'claimed': True, 'claimed_at': 1789248209, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1789247423, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 42510, 'external_idstring': None, 'reason': "The AnyBranchScheduler scheduler named 'dev' triggered this build", 'submitted_at': 1789247423, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': None, 'parent_relationship': None, 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 12755, 'branch': 'master', 'revision': 'c185d27ede09771fe93a3b520c576f646f937ed9', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1789247423, '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/2560'}, 'type': 'raw_bb_hook'}
2026-09-12T21:31:05.245862	{'source': 'webserver', 'raw': {'buildid': 188365, 'number': 2507, 'builderid': 5, 'buildrequestid': 188824, 'workerid': 5, 'masterid': 1, 'started_at': 1789248665, 'complete_at': None, 'locks_duration_s': 0, 'complete': False, 'state_string': 'starting', 'results': None, 'properties': {'description': ['Merge pull request #14851 from LillyJadeKatrin/retroachievements-progress-fix\n\nRetroAchievements - Fix Achievement Progress Toggle', 'Change'], 'buildnumber': [2507, 'Build'], 'project': ['', 'Build'], 'shortrev': ['2606-366', 'Change'], 'builderid': [5, 'Builder'], 'repository': ['', 'Build'], 'branchname': ['master', 'Change'], 'buildername': ['fifoci-ogl-lin-mesa', 'Builder'], 'revision': ['c185d27ede09771fe93a3b520c576f646f937ed9', 'Build'], 'owners': [['JosJuice'], 'Build'], 'scheduler': ['dev', 'Scheduler'], 'branch': ['master', 'Build'], 'author': ['JosJuice', 'Change'], 'workername': ['altair-fifoci', 'Worker'], 'codebase': ['', 'Build']}, 'buildrequest': {'buildrequestid': 188824, 'buildsetid': 42510, 'builderid': 5, 'priority': 0, 'claimed': True, 'claimed_at': 1789248665, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1789247423, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 42510, 'external_idstring': None, 'reason': "The AnyBranchScheduler scheduler named 'dev' triggered this build", 'submitted_at': 1789247423, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': None, 'parent_relationship': None, 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 12755, 'branch': 'master', 'revision': 'c185d27ede09771fe93a3b520c576f646f937ed9', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1789247423, '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/2507'}, 'type': 'raw_bb_hook'}
2026-09-12T21:31:05.139031	{'source': 'webserver', 'raw': {'buildid': 188363, 'number': 2515, 'builderid': 24, 'buildrequestid': 188827, 'workerid': 5, 'masterid': 1, 'started_at': 1789248264, 'complete_at': 1789248665, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {'branchname': ['master', 'Change'], 'shortrev': ['2606-366', 'Change'], 'author': ['JosJuice', 'Change'], 'description': ['Merge pull request #14851 from LillyJadeKatrin/retroachievements-progress-fix\n\nRetroAchievements - Fix Achievement Progress Toggle', 'Change'], 'scheduler': ['dev', 'Scheduler'], 'buildername': ['fifoci-sw-lin-mesa', 'Builder'], 'builderid': [24, 'Builder'], 'workername': ['altair-fifoci', 'Worker'], 'buildnumber': [2515, 'Build'], 'branch': ['master', 'Build'], 'revision': ['c185d27ede09771fe93a3b520c576f646f937ed9', 'Build'], 'repository': ['', 'Build'], 'codebase': ['', 'Build'], 'project': ['', 'Build'], 'basedir': ['/var/lib/fifoci-worker/worker', 'Worker'], 'owners': [['JosJuice'], 'Build'], 'builddir': ['/var/lib/fifoci-worker/worker/fifoci-sw-lin-mesa', 'Worker'], 'got_revision': ['c185d27ede09771fe93a3b520c576f646f937ed9', 'GitNoBranch'], 'warnings-count': [0, 'WarningCountingShellCommand']}, 'buildrequest': {'buildrequestid': 188827, 'buildsetid': 42510, 'builderid': 24, 'priority': 0, 'claimed': True, 'claimed_at': 1789248264, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1789247423, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 42510, 'external_idstring': None, 'reason': "The AnyBranchScheduler scheduler named 'dev' triggered this build", 'submitted_at': 1789247423, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': None, 'parent_relationship': None, 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 12755, 'branch': 'master', 'revision': 'c185d27ede09771fe93a3b520c576f646f937ed9', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1789247423, '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/2515'}, 'type': 'raw_bb_hook'}
2026-09-12T21:24:35.000796	{'source': 'webserver', 'raw': {'buildid': 188364, 'number': 1534, 'builderid': 36, 'buildrequestid': 188828, 'workerid': 4, 'masterid': 1, 'started_at': 1789248274, 'complete_at': None, 'locks_duration_s': 0, 'complete': False, 'state_string': 'starting', 'results': None, 'properties': {'branchname': ['master', 'Change'], 'buildername': ['dev-win-arm64', 'Builder'], 'revision': ['c185d27ede09771fe93a3b520c576f646f937ed9', 'Build'], 'author': ['JosJuice', 'Change'], 'workername': ['windows', 'Worker'], 'codebase': ['', 'Build'], 'scheduler': ['dev', 'Scheduler'], 'branch': ['master', 'Build'], 'shortrev': ['2606-366', 'Change'], 'builderid': [36, 'Builder'], 'repository': ['', 'Build'], 'description': ['Merge pull request #14851 from LillyJadeKatrin/retroachievements-progress-fix\n\nRetroAchievements - Fix Achievement Progress Toggle', 'Change'], 'buildnumber': [1534, 'Build'], 'project': ['', 'Build']}, 'buildrequest': {'buildrequestid': 188828, 'buildsetid': 42510, 'builderid': 36, 'priority': 0, 'claimed': True, 'claimed_at': 1789248274, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1789247423, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 42510, 'external_idstring': None, 'reason': "The AnyBranchScheduler scheduler named 'dev' triggered this build", 'submitted_at': 1789247423, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': None, 'parent_relationship': None, 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 12755, 'branch': 'master', 'revision': 'c185d27ede09771fe93a3b520c576f646f937ed9', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1789247423, '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/1534'}, 'type': 'raw_bb_hook'}
2026-09-12T21:24:34.906126	{'source': 'webserver', 'raw': {'buildid': 188357, 'number': 1535, 'builderid': 37, 'buildrequestid': 188829, 'workerid': 4, 'masterid': 1, 'started_at': 1789247423, 'complete_at': 1789248274, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {'shortrev': ['2606-366', 'Change'], 'author': ['JosJuice', 'Change'], 'description': ['Merge pull request #14851 from LillyJadeKatrin/retroachievements-progress-fix\n\nRetroAchievements - Fix Achievement Progress Toggle', 'Change'], 'workername': ['windows', 'Worker'], 'buildnumber': [1535, 'Build'], 'branch': ['master', 'Build'], 'revision': ['c185d27ede09771fe93a3b520c576f646f937ed9', 'Build'], 'repository': ['', 'Build'], 'codebase': ['', 'Build'], 'buildername': ['dev-win-x64', 'Builder'], 'scheduler': ['dev', 'Scheduler'], 'builderid': [37, 'Builder'], 'branchname': ['master', 'Change'], 'project': ['', 'Build'], 'owners': [['JosJuice'], 'Build'], 'basedir': ['c:\\buildbot', 'Worker'], 'builddir': ['c:\\buildbot\\dev-win-x64', 'Worker'], 'got_revision': ['c185d27ede09771fe93a3b520c576f646f937ed9', 'GitNoBranch'], 'sln_exists': ['false', 'SetPropertyFromCommand Step'], 'warnings-count': [4754, 'WarningCountingShellCommand'], 'build_url': ['https://dl.dolphin-emu.org/builds/e1/ff/dolphin-master-2606-366-x64.7z', 'SetProperty']}, 'buildrequest': {'buildrequestid': 188829, 'buildsetid': 42510, 'builderid': 37, 'priority': 0, 'claimed': True, 'claimed_at': 1789247423, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1789247423, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 42510, 'external_idstring': None, 'reason': "The AnyBranchScheduler scheduler named 'dev' triggered this build", 'submitted_at': 1789247423, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': None, 'parent_relationship': None, 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 12755, 'branch': 'master', 'revision': 'c185d27ede09771fe93a3b520c576f646f937ed9', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1789247423, '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/1535'}, 'type': 'raw_bb_hook'}
2026-09-12T21:24:24.982983	{'source': 'webserver', 'raw': {'buildid': 188363, 'number': 2515, 'builderid': 24, 'buildrequestid': 188827, 'workerid': 5, 'masterid': 1, 'started_at': 1789248264, 'complete_at': None, 'locks_duration_s': 0, 'complete': False, 'state_string': 'starting', 'results': None, 'properties': {'branchname': ['master', 'Change'], 'shortrev': ['2606-366', 'Change'], 'author': ['JosJuice', 'Change'], 'description': ['Merge pull request #14851 from LillyJadeKatrin/retroachievements-progress-fix\n\nRetroAchievements - Fix Achievement Progress Toggle', 'Change'], 'scheduler': ['dev', 'Scheduler'], 'buildername': ['fifoci-sw-lin-mesa', 'Builder'], 'builderid': [24, 'Builder'], 'workername': ['altair-fifoci', 'Worker'], 'buildnumber': [2515, 'Build'], 'branch': ['master', 'Build'], 'revision': ['c185d27ede09771fe93a3b520c576f646f937ed9', 'Build'], 'repository': ['', 'Build'], 'codebase': ['', 'Build'], 'project': ['', 'Build']}, 'buildrequest': {'buildrequestid': 188827, 'buildsetid': 42510, 'builderid': 24, 'priority': 0, 'claimed': True, 'claimed_at': 1789248264, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1789247423, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 42510, 'external_idstring': None, 'reason': "The AnyBranchScheduler scheduler named 'dev' triggered this build", 'submitted_at': 1789247423, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': None, 'parent_relationship': None, 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 12755, 'branch': 'master', 'revision': 'c185d27ede09771fe93a3b520c576f646f937ed9', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1789247423, '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/2515'}, 'type': 'raw_bb_hook'}
2026-09-12T21:24:24.858496	{'source': 'webserver', 'raw': {'buildid': 188361, 'number': 1371, 'builderid': 40, 'buildrequestid': 188832, 'workerid': 5, 'masterid': 1, 'started_at': 1789247423, 'complete_at': 1789248264, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {'branchname': ['master', 'Change'], 'codebase': ['', 'Build'], 'shortrev': ['2606-366', 'Change'], 'author': ['JosJuice', 'Change'], 'description': ['Merge pull request #14851 from LillyJadeKatrin/retroachievements-progress-fix\n\nRetroAchievements - Fix Achievement Progress Toggle', 'Change'], 'scheduler': ['dev', 'Scheduler'], 'buildername': ['fifoci-vk-lin-mesa', 'Builder'], 'builderid': [40, 'Builder'], 'workername': ['altair-fifoci', 'Worker'], 'buildnumber': [1371, 'Build'], 'branch': ['master', 'Build'], 'revision': ['c185d27ede09771fe93a3b520c576f646f937ed9', 'Build'], 'repository': ['', 'Build'], 'project': ['', 'Build'], 'owners': [['JosJuice'], 'Build'], 'basedir': ['/var/lib/fifoci-worker/worker', 'Worker'], 'builddir': ['/var/lib/fifoci-worker/worker/fifoci-vk-lin-mesa', 'Worker'], 'got_revision': ['c185d27ede09771fe93a3b520c576f646f937ed9', 'GitNoBranch'], 'warnings-count': [0, 'WarningCountingShellCommand']}, 'buildrequest': {'buildrequestid': 188832, 'buildsetid': 42510, 'builderid': 40, 'priority': 0, 'claimed': True, 'claimed_at': 1789247423, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1789247423, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 42510, 'external_idstring': None, 'reason': "The AnyBranchScheduler scheduler named 'dev' triggered this build", 'submitted_at': 1789247423, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': None, 'parent_relationship': None, 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 12755, 'branch': 'master', 'revision': 'c185d27ede09771fe93a3b520c576f646f937ed9', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1789247423, '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/1371'}, 'type': 'raw_bb_hook'}
2026-09-12T21:23:29.472643	{'source': 'webserver', 'raw': {'buildid': 188362, 'number': 2560, 'builderid': 17, 'buildrequestid': 188826, 'workerid': 8, 'masterid': 1, 'started_at': 1789248209, 'complete_at': None, 'locks_duration_s': 0, 'complete': False, 'state_string': 'starting', 'results': None, 'properties': {'branchname': ['master', 'Change'], 'shortrev': ['2606-366', 'Change'], 'author': ['JosJuice', 'Change'], 'description': ['Merge pull request #14851 from LillyJadeKatrin/retroachievements-progress-fix\n\nRetroAchievements - Fix Achievement Progress Toggle', 'Change'], 'scheduler': ['dev', 'Scheduler'], 'buildername': ['fifoci-mtl-osx-m1', 'Builder'], 'builderid': [17, 'Builder'], 'workername': ['osx-m1', 'Worker'], 'buildnumber': [2560, 'Build'], 'branch': ['master', 'Build'], 'revision': ['c185d27ede09771fe93a3b520c576f646f937ed9', 'Build'], 'repository': ['', 'Build'], 'codebase': ['', 'Build'], 'project': ['', 'Build']}, 'buildrequest': {'buildrequestid': 188826, 'buildsetid': 42510, 'builderid': 17, 'priority': 0, 'claimed': True, 'claimed_at': 1789248209, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1789247423, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 42510, 'external_idstring': None, 'reason': "The AnyBranchScheduler scheduler named 'dev' triggered this build", 'submitted_at': 1789247423, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': None, 'parent_relationship': None, 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 12755, 'branch': 'master', 'revision': 'c185d27ede09771fe93a3b520c576f646f937ed9', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1789247423, '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/2560'}, 'type': 'raw_bb_hook'}
2026-09-12T21:23:29.408234	{'source': 'webserver', 'raw': {'buildid': 188358, 'number': 1577, 'builderid': 38, 'buildrequestid': 188830, 'workerid': 8, 'masterid': 1, 'started_at': 1789247423, 'complete_at': 1789248209, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {'branch': ['master', 'Build'], 'revision': ['c185d27ede09771fe93a3b520c576f646f937ed9', 'Build'], 'description': ['Merge pull request #14851 from LillyJadeKatrin/retroachievements-progress-fix\n\nRetroAchievements - Fix Achievement Progress Toggle', 'Change'], 'repository': ['', 'Build'], 'codebase': ['', 'Build'], 'branchname': ['master', 'Change'], 'buildername': ['dev-osx-universal', 'Builder'], 'shortrev': ['2606-366', 'Change'], 'author': ['JosJuice', 'Change'], 'scheduler': ['dev', 'Scheduler'], 'builderid': [38, 'Builder'], 'workername': ['osx-m1', 'Worker'], 'buildnumber': [1577, 'Build'], 'project': ['', 'Build'], 'owners': [['JosJuice'], 'Build'], 'basedir': ['/Users/ci/worker/base', 'Worker'], 'builddir': ['/Users/ci/worker/base/dev-osx-universal', 'Worker'], 'got_revision': ['c185d27ede09771fe93a3b520c576f646f937ed9', 'GitNoBranch']}, 'buildrequest': {'buildrequestid': 188830, 'buildsetid': 42510, 'builderid': 38, 'priority': 0, 'claimed': True, 'claimed_at': 1789247423, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1789247423, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 42510, 'external_idstring': None, 'reason': "The AnyBranchScheduler scheduler named 'dev' triggered this build", 'submitted_at': 1789247423, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': None, 'parent_relationship': None, 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 12755, 'branch': 'master', 'revision': 'c185d27ede09771fe93a3b520c576f646f937ed9', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1789247423, '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/1577'}, 'type': 'raw_bb_hook'}
2026-09-12T21:20:27.576016	{'source': 'webserver', 'raw': {'buildid': 188359, 'number': 1519, 'builderid': 39, 'buildrequestid': 188831, 'workerid': 12, 'masterid': 1, 'started_at': 1789247423, 'complete_at': 1789248027, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {'author': ['JosJuice', 'Change'], 'description': ['Merge pull request #14851 from LillyJadeKatrin/retroachievements-progress-fix\n\nRetroAchievements - Fix Achievement Progress Toggle', 'Change'], 'buildername': ['dev-android', 'Builder'], 'builderid': [39, 'Builder'], 'workername': ['android', 'Worker'], 'scheduler': ['dev', 'Scheduler'], 'project': ['', 'Build'], 'branchname': ['master', 'Change'], 'shortrev': ['2606-366', 'Change'], 'buildnumber': [1519, 'Build'], 'branch': ['master', 'Build'], 'revision': ['c185d27ede09771fe93a3b520c576f646f937ed9', 'Build'], 'repository': ['', 'Build'], 'codebase': ['', 'Build'], 'owners': [['JosJuice'], 'Build'], 'basedir': ['/buildbot', 'Worker'], 'builddir': ['/buildbot/dev-android', 'Worker'], 'got_revision': ['c185d27ede09771fe93a3b520c576f646f937ed9', 'GitNoBranch']}, 'buildrequest': {'buildrequestid': 188831, 'buildsetid': 42510, 'builderid': 39, 'priority': 0, 'claimed': True, 'claimed_at': 1789247423, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1789247423, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 42510, 'external_idstring': None, 'reason': "The AnyBranchScheduler scheduler named 'dev' triggered this build", 'submitted_at': 1789247423, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': None, 'parent_relationship': None, 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 12755, 'branch': 'master', 'revision': 'c185d27ede09771fe93a3b520c576f646f937ed9', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1789247423, '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/1519'}, 'type': 'raw_bb_hook'}
2026-09-12T21:14:46.668623	{'source': 'webserver', 'raw': {'buildid': 188360, 'number': 1325, 'builderid': 45, 'buildrequestid': 188833, 'workerid': 14, 'masterid': 1, 'started_at': 1789247423, 'complete_at': 1789247686, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {'project': ['', 'Build'], 'author': ['JosJuice', 'Change'], 'description': ['Merge pull request #14851 from LillyJadeKatrin/retroachievements-progress-fix\n\nRetroAchievements - Fix Achievement Progress Toggle', 'Change'], 'scheduler': ['dev', 'Scheduler'], 'buildername': ['dev-flatpak-arm64', 'Builder'], 'builderid': [45, 'Builder'], 'branchname': ['master', 'Change'], 'shortrev': ['2606-366', 'Change'], 'workername': ['deneb-flatpak', 'Worker'], 'buildnumber': [1325, 'Build'], 'branch': ['master', 'Build'], 'revision': ['c185d27ede09771fe93a3b520c576f646f937ed9', 'Build'], 'repository': ['', 'Build'], 'codebase': ['', 'Build'], 'owners': [['JosJuice'], 'Build'], 'basedir': ['/var/lib/flatpak-worker/worker', 'Worker'], 'builddir': ['/var/lib/flatpak-worker/worker/dev-flatpak-arm64', 'Worker'], 'got_revision': ['c185d27ede09771fe93a3b520c576f646f937ed9', 'GitNoBranch'], 'fm_build_url': ['https://flat-manager.dolphin-emu.org/api/v1/build/12561', 'SetPropertyFromCommand Step']}, 'buildrequest': {'buildrequestid': 188833, 'buildsetid': 42510, 'builderid': 45, 'priority': 0, 'claimed': True, 'claimed_at': 1789247423, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1789247423, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 42510, 'external_idstring': None, 'reason': "The AnyBranchScheduler scheduler named 'dev' triggered this build", 'submitted_at': 1789247423, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': None, 'parent_relationship': None, 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 12755, 'branch': 'master', 'revision': 'c185d27ede09771fe93a3b520c576f646f937ed9', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1789247423, '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/1325'}, 'type': 'raw_bb_hook'}
2026-09-12T21:14:10.639003	{'source': 'webserver', 'raw': {'buildid': 188356, 'number': 1323, 'builderid': 46, 'buildrequestid': 188834, 'workerid': 13, 'masterid': 1, 'started_at': 1789247423, 'complete_at': 1789247650, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {'author': ['JosJuice', 'Change'], 'branchname': ['master', 'Change'], 'scheduler': ['dev', 'Scheduler'], 'buildername': ['dev-flatpak-x64', 'Builder'], 'branch': ['master', 'Build'], 'revision': ['c185d27ede09771fe93a3b520c576f646f937ed9', 'Build'], 'shortrev': ['2606-366', 'Change'], 'description': ['Merge pull request #14851 from LillyJadeKatrin/retroachievements-progress-fix\n\nRetroAchievements - Fix Achievement Progress Toggle', 'Change'], 'builderid': [46, 'Builder'], 'workername': ['altair-flatpak', 'Worker'], 'buildnumber': [1323, 'Build'], 'repository': ['', 'Build'], 'codebase': ['', 'Build'], 'project': ['', 'Build'], 'owners': [['JosJuice'], 'Build'], 'basedir': ['/var/lib/flatpak-worker/worker', 'Worker'], 'builddir': ['/var/lib/flatpak-worker/worker/dev-flatpak-x64', 'Worker'], 'got_revision': ['c185d27ede09771fe93a3b520c576f646f937ed9', 'GitNoBranch'], 'fm_build_url': ['https://flat-manager.dolphin-emu.org/api/v1/build/12560', 'SetPropertyFromCommand Step']}, 'buildrequest': {'buildrequestid': 188834, 'buildsetid': 42510, 'builderid': 46, 'priority': 0, 'claimed': True, 'claimed_at': 1789247423, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1789247423, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 42510, 'external_idstring': None, 'reason': "The AnyBranchScheduler scheduler named 'dev' triggered this build", 'submitted_at': 1789247423, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': None, 'parent_relationship': None, 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 12755, 'branch': 'master', 'revision': 'c185d27ede09771fe93a3b520c576f646f937ed9', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1789247423, '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/1323'}, 'type': 'raw_bb_hook'}
2026-09-12T21:10:23.692886	{'source': 'webserver', 'raw': {'buildid': 188361, 'number': 1371, 'builderid': 40, 'buildrequestid': 188832, 'workerid': 5, 'masterid': 1, 'started_at': 1789247423, 'complete_at': None, 'locks_duration_s': 0, 'complete': False, 'state_string': 'starting', 'results': None, 'properties': {'branchname': ['master', 'Change'], 'codebase': ['', 'Build'], 'shortrev': ['2606-366', 'Change'], 'author': ['JosJuice', 'Change'], 'description': ['Merge pull request #14851 from LillyJadeKatrin/retroachievements-progress-fix\n\nRetroAchievements - Fix Achievement Progress Toggle', 'Change'], 'scheduler': ['dev', 'Scheduler'], 'buildername': ['fifoci-vk-lin-mesa', 'Builder'], 'builderid': [40, 'Builder'], 'workername': ['altair-fifoci', 'Worker'], 'buildnumber': [1371, 'Build'], 'branch': ['master', 'Build'], 'revision': ['c185d27ede09771fe93a3b520c576f646f937ed9', 'Build'], 'repository': ['', 'Build'], 'project': ['', 'Build'], 'owners': [['JosJuice'], 'Build']}, 'buildrequest': {'buildrequestid': 188832, 'buildsetid': 42510, 'builderid': 40, 'priority': 0, 'claimed': True, 'claimed_at': 1789247423, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1789247423, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 42510, 'external_idstring': None, 'reason': "The AnyBranchScheduler scheduler named 'dev' triggered this build", 'submitted_at': 1789247423, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': None, 'parent_relationship': None, 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 12755, 'branch': 'master', 'revision': 'c185d27ede09771fe93a3b520c576f646f937ed9', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1789247423, '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/1371'}, 'type': 'raw_bb_hook'}
2026-09-12T21:10:23.636708	{'source': 'webserver', 'raw': {'buildid': 188360, 'number': 1325, 'builderid': 45, 'buildrequestid': 188833, 'workerid': 14, 'masterid': 1, 'started_at': 1789247423, 'complete_at': None, 'locks_duration_s': 0, 'complete': False, 'state_string': 'starting', 'results': None, 'properties': {'project': ['', 'Build'], 'author': ['JosJuice', 'Change'], 'description': ['Merge pull request #14851 from LillyJadeKatrin/retroachievements-progress-fix\n\nRetroAchievements - Fix Achievement Progress Toggle', 'Change'], 'scheduler': ['dev', 'Scheduler'], 'buildername': ['dev-flatpak-arm64', 'Builder'], 'builderid': [45, 'Builder'], 'branchname': ['master', 'Change'], 'shortrev': ['2606-366', 'Change'], 'workername': ['deneb-flatpak', 'Worker'], 'buildnumber': [1325, 'Build'], 'branch': ['master', 'Build'], 'revision': ['c185d27ede09771fe93a3b520c576f646f937ed9', 'Build'], 'repository': ['', 'Build'], 'codebase': ['', 'Build'], 'owners': [['JosJuice'], 'Build']}, 'buildrequest': {'buildrequestid': 188833, 'buildsetid': 42510, 'builderid': 45, 'priority': 0, 'claimed': True, 'claimed_at': 1789247423, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1789247423, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 42510, 'external_idstring': None, 'reason': "The AnyBranchScheduler scheduler named 'dev' triggered this build", 'submitted_at': 1789247423, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': None, 'parent_relationship': None, 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 12755, 'branch': 'master', 'revision': 'c185d27ede09771fe93a3b520c576f646f937ed9', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1789247423, '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/1325'}, 'type': 'raw_bb_hook'}
2026-09-12T21:10:23.611362	{'source': 'webserver', 'raw': {'buildid': 188359, 'number': 1519, 'builderid': 39, 'buildrequestid': 188831, 'workerid': 12, 'masterid': 1, 'started_at': 1789247423, 'complete_at': None, 'locks_duration_s': 0, 'complete': False, 'state_string': 'starting', 'results': None, 'properties': {'author': ['JosJuice', 'Change'], 'description': ['Merge pull request #14851 from LillyJadeKatrin/retroachievements-progress-fix\n\nRetroAchievements - Fix Achievement Progress Toggle', 'Change'], 'buildername': ['dev-android', 'Builder'], 'builderid': [39, 'Builder'], 'workername': ['android', 'Worker'], 'scheduler': ['dev', 'Scheduler'], 'project': ['', 'Build'], 'branchname': ['master', 'Change'], 'shortrev': ['2606-366', 'Change'], 'buildnumber': [1519, 'Build'], 'branch': ['master', 'Build'], 'revision': ['c185d27ede09771fe93a3b520c576f646f937ed9', 'Build'], 'repository': ['', 'Build'], 'codebase': ['', 'Build'], 'owners': [['JosJuice'], 'Build']}, 'buildrequest': {'buildrequestid': 188831, 'buildsetid': 42510, 'builderid': 39, 'priority': 0, 'claimed': True, 'claimed_at': 1789247423, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1789247423, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 42510, 'external_idstring': None, 'reason': "The AnyBranchScheduler scheduler named 'dev' triggered this build", 'submitted_at': 1789247423, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': None, 'parent_relationship': None, 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 12755, 'branch': 'master', 'revision': 'c185d27ede09771fe93a3b520c576f646f937ed9', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1789247423, '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/1519'}, 'type': 'raw_bb_hook'}
2026-09-12T21:10:23.598353	{'source': 'webserver', 'raw': {'buildid': 188358, 'number': 1577, 'builderid': 38, 'buildrequestid': 188830, 'workerid': 8, 'masterid': 1, 'started_at': 1789247423, 'complete_at': None, 'locks_duration_s': 0, 'complete': False, 'state_string': 'starting', 'results': None, 'properties': {'branch': ['master', 'Build'], 'revision': ['c185d27ede09771fe93a3b520c576f646f937ed9', 'Build'], 'description': ['Merge pull request #14851 from LillyJadeKatrin/retroachievements-progress-fix\n\nRetroAchievements - Fix Achievement Progress Toggle', 'Change'], 'repository': ['', 'Build'], 'codebase': ['', 'Build'], 'branchname': ['master', 'Change'], 'buildername': ['dev-osx-universal', 'Builder'], 'shortrev': ['2606-366', 'Change'], 'author': ['JosJuice', 'Change'], 'scheduler': ['dev', 'Scheduler'], 'builderid': [38, 'Builder'], 'workername': ['osx-m1', 'Worker'], 'buildnumber': [1577, 'Build'], 'project': ['', 'Build'], 'owners': [['JosJuice'], 'Build']}, 'buildrequest': {'buildrequestid': 188830, 'buildsetid': 42510, 'builderid': 38, 'priority': 0, 'claimed': True, 'claimed_at': 1789247423, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1789247423, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 42510, 'external_idstring': None, 'reason': "The AnyBranchScheduler scheduler named 'dev' triggered this build", 'submitted_at': 1789247423, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': None, 'parent_relationship': None, 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 12755, 'branch': 'master', 'revision': 'c185d27ede09771fe93a3b520c576f646f937ed9', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1789247423, '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/1577'}, 'type': 'raw_bb_hook'}
2026-09-12T21:10:23.591791	{'source': 'webserver', 'raw': {'buildid': 188357, 'number': 1535, 'builderid': 37, 'buildrequestid': 188829, 'workerid': 4, 'masterid': 1, 'started_at': 1789247423, 'complete_at': None, 'locks_duration_s': 0, 'complete': False, 'state_string': 'starting', 'results': None, 'properties': {'shortrev': ['2606-366', 'Change'], 'author': ['JosJuice', 'Change'], 'description': ['Merge pull request #14851 from LillyJadeKatrin/retroachievements-progress-fix\n\nRetroAchievements - Fix Achievement Progress Toggle', 'Change'], 'workername': ['windows', 'Worker'], 'buildnumber': [1535, 'Build'], 'branch': ['master', 'Build'], 'revision': ['c185d27ede09771fe93a3b520c576f646f937ed9', 'Build'], 'repository': ['', 'Build'], 'codebase': ['', 'Build'], 'buildername': ['dev-win-x64', 'Builder'], 'scheduler': ['dev', 'Scheduler'], 'builderid': [37, 'Builder'], 'branchname': ['master', 'Change'], 'project': ['', 'Build']}, 'buildrequest': {'buildrequestid': 188829, 'buildsetid': 42510, 'builderid': 37, 'priority': 0, 'claimed': True, 'claimed_at': 1789247423, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1789247423, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 42510, 'external_idstring': None, 'reason': "The AnyBranchScheduler scheduler named 'dev' triggered this build", 'submitted_at': 1789247423, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': None, 'parent_relationship': None, 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 12755, 'branch': 'master', 'revision': 'c185d27ede09771fe93a3b520c576f646f937ed9', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1789247423, '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/1535'}, 'type': 'raw_bb_hook'}
2026-09-12T21:10:23.531736	{'source': 'webserver', 'raw': {'buildid': 188356, 'number': 1323, 'builderid': 46, 'buildrequestid': 188834, 'workerid': 13, 'masterid': 1, 'started_at': 1789247423, 'complete_at': None, 'locks_duration_s': 0, 'complete': False, 'state_string': 'starting', 'results': None, 'properties': {'author': ['JosJuice', 'Change'], 'branchname': ['master', 'Change'], 'scheduler': ['dev', 'Scheduler'], 'buildername': ['dev-flatpak-x64', 'Builder'], 'branch': ['master', 'Build'], 'revision': ['c185d27ede09771fe93a3b520c576f646f937ed9', 'Build'], 'shortrev': ['2606-366', 'Change'], 'description': ['Merge pull request #14851 from LillyJadeKatrin/retroachievements-progress-fix\n\nRetroAchievements - Fix Achievement Progress Toggle', 'Change'], 'builderid': [46, 'Builder'], 'workername': ['altair-flatpak', 'Worker'], 'buildnumber': [1323, 'Build'], 'repository': ['', 'Build'], 'codebase': ['', 'Build'], 'project': ['', 'Build'], 'owners': [['JosJuice'], 'Build']}, 'buildrequest': {'buildrequestid': 188834, 'buildsetid': 42510, 'builderid': 46, 'priority': 0, 'claimed': True, 'claimed_at': 1789247423, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1789247423, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 42510, 'external_idstring': None, 'reason': "The AnyBranchScheduler scheduler named 'dev' triggered this build", 'submitted_at': 1789247423, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': None, 'parent_relationship': None, 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 12755, 'branch': 'master', 'revision': 'c185d27ede09771fe93a3b520c576f646f937ed9', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1789247423, '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/1323'}, 'type': 'raw_bb_hook'}
2026-09-12T18:52:14.958410	{'source': 'webserver', 'raw': {'buildid': 188355, 'number': 8937, 'builderid': 21, 'buildrequestid': 188823, 'workerid': 8, 'masterid': 1, 'started_at': 1789238440, 'complete_at': 1789239126, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {'branchname': ['pr-14862', 'Trigger'], 'headrev': ['304a534d16c1d68f5e2a8fbf7778253ca2551713', 'Trigger'], 'pr_id': [14862, 'Trigger'], 'scheduler': ['pr-fifoci-osx', 'Scheduler'], 'builderid': [21, 'Builder'], 'buildnumber': [8937, 'Build'], 'revision': ['304a534d16c1d68f5e2a8fbf7778253ca2551713', 'Build'], 'codebase': ['', 'Build'], 'builddir': ['/Users/ci/worker/base/pr-fifoci-mtl-osx-m1', 'Worker'], 'workername': ['osx-m1', 'Worker'], 'owners': [['Central (on behalf of: joshuavandaele)'], 'Build'], 'buildername': ['pr-fifoci-mtl-osx-m1', 'Builder'], 'basedir': ['/Users/ci/worker/base', 'Worker'], 'baserev': ['a2efdf1197be8132674b90fe9cf4761df39752ed', 'Change'], 'shortrev': ['304a53', 'Trigger'], 'repo': ['dolphin-emu/dolphin', 'Trigger'], 'got_revision': ['ca98b3030bcc70e67158ce899a5589aa2ec65d32', 'GitNoBranch'], 'branch': ['refs/pull/14862/head', 'Build'], 'repository': ['', 'Build'], 'project': ['', 'Build'], 'warnings-count': [114, 'WarningCountingShellCommand']}, 'buildrequest': {'buildrequestid': 188823, 'buildsetid': 42509, 'builderid': 21, 'priority': 0, 'claimed': True, 'claimed_at': 1789238440, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1789237065, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 42509, 'external_idstring': None, 'reason': "The Triggerable scheduler named 'pr-fifoci-osx' triggered this build", 'submitted_at': 1789237065, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': 188345, 'parent_relationship': 'Triggered from', 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 12754, 'branch': 'refs/pull/14862/head', 'revision': '304a534d16c1d68f5e2a8fbf7778253ca2551713', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1789236338, 'patch': None}]}, 'parentbuild': {'buildid': 188345, 'number': 10530, 'builderid': 7, 'buildrequestid': 188809, 'workerid': 8, 'masterid': 1, 'started_at': 1789236365, 'complete_at': 1789237066, '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/8937'}, 'type': 'raw_bb_hook'}

Recent 'raw_gh_hook' events

2026-09-12T21:29:21.953295	{'source': 'webserver', 'gh_type': 'pull_request_review', 'raw': {'action': 'submitted', 'review': {'id': 5188155472, 'node_id': 'PRR_kwDOALCn2M8AAAABNTz4UA', 'user': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': 'Sounds fine to me.', 'commit_id': '14e3c61d62495d452f51692cc677cdc31493ec80', 'state': 'approved', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14850#pullrequestreview-5188155472', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14850', '_links': {'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14850#pullrequestreview-5188155472'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14850'}}, 'submitted_at': '2026-09-12T21:29:20Z', 'updated_at': '2026-09-12T21:29:20Z', 'author_association': 'MEMBER'}, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14850', 'id': 4461810656, 'node_id': 'PR_kwDOALCn2M8AAAABCfHT4A', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14850', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14850.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14850.patch', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14850', 'number': 14850, 'state': 'open', 'locked': False, 'title': 'DolphinNoGUI: Default to OFF', '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': 'Having both Dolphin NoGUI and Qt is largely redundant, as Qt can do everything NoGUI can do, including CLI functionality.\r\nNeeded before merge: https://github.com/dolphin-emu/sadm/pull/206', 'created_at': '2026-09-07T08:17:06Z', 'updated_at': '2026-09-12T21:04:42Z', 'closed_at': None, 'merged_at': None, 'merge_commit_sha': '6a72c4129d749aa8d359e3f33f4a1bdf66c1f21d', 'assignees': [], 'requested_reviewers': [], 'requested_teams': [], 'labels': [], 'milestone': None, 'draft': False, 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14850/commits', 'review_comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14850/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/14850/comments', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/14e3c61d62495d452f51692cc677cdc31493ec80', 'head': {'label': 'JoshuaVandaele:no-nogui', 'ref': 'no-nogui', 'sha': '14e3c61d62495d452f51692cc677cdc31493ec80', 'user': {'login': 'JoshuaVandaele', 'id': 24195176, 'node_id': 'MDQ6VXNlcjI0MTk1MTc2', 'avatar_url': 'https://avatars.githubusercontent.com/u/24195176?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/JoshuaVandaele', 'html_url': 'https://github.com/JoshuaVandaele', 'followers_url': 'https://api.github.com/users/JoshuaVandaele/followers', 'following_url': 'https://api.github.com/users/JoshuaVandaele/following{/other_user}', 'gists_url': 'https://api.github.com/users/JoshuaVandaele/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/JoshuaVandaele/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/JoshuaVandaele/subscriptions', 'organizations_url': 'https://api.github.com/users/JoshuaVandaele/orgs', 'repos_url': 'https://api.github.com/users/JoshuaVandaele/repos', 'events_url': 'https://api.github.com/users/JoshuaVandaele/events{/privacy}', 'received_events_url': 'https://api.github.com/users/JoshuaVandaele/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 915253252, 'node_id': 'R_kgDONo2oBA', 'name': 'dolphin', 'full_name': 'JoshuaVandaele/dolphin', 'private': False, 'owner': {'login': 'JoshuaVandaele', 'id': 24195176, 'node_id': 'MDQ6VXNlcjI0MTk1MTc2', 'avatar_url': 'https://avatars.githubusercontent.com/u/24195176?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/JoshuaVandaele', 'html_url': 'https://github.com/JoshuaVandaele', 'followers_url': 'https://api.github.com/users/JoshuaVandaele/followers', 'following_url': 'https://api.github.com/users/JoshuaVandaele/following{/other_user}', 'gists_url': 'https://api.github.com/users/JoshuaVandaele/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/JoshuaVandaele/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/JoshuaVandaele/subscriptions', 'organizations_url': 'https://api.github.com/users/JoshuaVandaele/orgs', 'repos_url': 'https://api.github.com/users/JoshuaVandaele/repos', 'events_url': 'https://api.github.com/users/JoshuaVandaele/events{/privacy}', 'received_events_url': 'https://api.github.com/users/JoshuaVandaele/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/JoshuaVandaele/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': True, 'url': 'https://api.github.com/repos/JoshuaVandaele/dolphin', 'forks_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/forks', 'keys_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/events', 'assignees_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/merges', 'archive_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/deployments', 'created_at': '2025-01-11T11:19:57Z', 'updated_at': '2026-02-06T11:01:48Z', 'pushed_at': '2026-09-11T20:38:09Z', 'git_url': 'git://github.com/JoshuaVandaele/dolphin.git', 'ssh_url': 'git@github.com:JoshuaVandaele/dolphin.git', 'clone_url': 'https://github.com/JoshuaVandaele/dolphin.git', 'svn_url': 'https://github.com/JoshuaVandaele/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 518761, 'stargazers_count': 1, 'watchers_count': 1, 'language': None, 'has_issues': False, 'has_projects': True, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 1, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 0, 'license': None, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': [], 'visibility': 'public', 'forks': 1, 'open_issues': 0, 'watchers': 1, 'default_branch': 'master', 'allow_squash_merge': True, 'allow_merge_commit': True, 'allow_rebase_merge': True, 'allow_auto_merge': False, 'delete_branch_on_merge': False, 'allow_update_branch': False, 'use_squash_pr_title_as_default': False, 'squash_merge_commit_message': 'COMMIT_MESSAGES', 'squash_merge_commit_title': 'COMMIT_OR_PR_TITLE', 'merge_commit_message': 'PR_TITLE', 'merge_commit_title': 'MERGE_MESSAGE'}}, 'base': {'label': 'dolphin-emu:master', 'ref': 'master', 'sha': 'a2efdf1197be8132674b90fe9cf4761df39752ed', '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-12T21:10:27Z', 'pushed_at': '2026-09-12T21:10:19Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.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': 15518, 'watchers_count': 15518, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3251, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 472, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3251, 'open_issues': 472, 'watchers': 15518, '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/14850'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14850'}, 'issue': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14850'}, 'comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14850/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14850/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/14850/commits'}, 'statuses': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/14e3c61d62495d452f51692cc677cdc31493ec80'}}, '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-12T21:10:27Z', 'pushed_at': '2026-09-12T21:10:19Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.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': 15518, 'watchers_count': 15518, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3251, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 472, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3251, 'open_issues': 472, 'watchers': 15518, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'raw_gh_hook'}
2026-09-12T21:10:22.360235	{'source': 'webserver', 'gh_type': 'check_suite', 'raw': {'action': 'requested', 'check_suite': {'id': 94041129738, 'node_id': 'CS_kwDOALCn2M8AAAAV5UnDCg', 'head_branch': 'master', 'head_sha': 'c185d27ede09771fe93a3b520c576f646f937ed9', 'status': 'queued', 'conclusion': None, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/check-suites/94041129738', 'before': 'a2efdf1197be8132674b90fe9cf4761df39752ed', 'after': 'c185d27ede09771fe93a3b520c576f646f937ed9', 'pull_requests': [{'url': 'https://api.github.com/repos/MarioPartyNetplay/Dolphin-MPN/pulls/224', 'id': 4391850780, 'number': 224, 'head': {'ref': 'master', 'sha': 'c185d27ede09771fe93a3b520c576f646f937ed9', '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': 'c185d27ede09771fe93a3b520c576f646f937ed9', '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': 'c185d27ede09771fe93a3b520c576f646f937ed9', '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': 'c185d27ede09771fe93a3b520c576f646f937ed9', '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': 'c185d27ede09771fe93a3b520c576f646f937ed9', '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-12T21:10:21Z', 'updated_at': '2026-09-12T21:10:21Z', 'rerequestable': True, 'runs_rerequestable': True, 'latest_check_runs_count': 0, 'check_runs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/check-suites/94041129738/check-runs', 'head_commit': {'id': 'c185d27ede09771fe93a3b520c576f646f937ed9', 'tree_id': '6db7171bd69501cf7caa9573267878402799bdb0', 'message': 'Merge pull request #14851 from LillyJadeKatrin/retroachievements-progress-fix\n\nRetroAchievements - Fix Achievement Progress Toggle', 'timestamp': '2026-09-12T21:10:19Z', 'author': {'name': 'JosJuice', 'email': 'josjuice@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-12T17:37:49Z', 'pushed_at': '2026-09-12T21:10:19Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.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': 15518, 'watchers_count': 15518, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3251, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 472, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3251, 'open_issues': 472, 'watchers': 15518, '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-12T21:10:21.541217	{'source': 'webserver', 'gh_type': 'push', 'raw': {'ref': 'refs/heads/master', 'before': 'a2efdf1197be8132674b90fe9cf4761df39752ed', 'after': 'c185d27ede09771fe93a3b520c576f646f937ed9', '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-12T17:37:49Z', 'pushed_at': 1789247419, 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.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': 15518, 'watchers_count': 15518, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': True, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3251, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 472, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3251, 'open_issues': 472, 'watchers': 15518, 'default_branch': 'master', 'stargazers': 15518, 'master_branch': 'master', 'organization': 'dolphin-emu', 'custom_properties': {}}, 'pusher': {'name': 'JosJuice', 'email': 'josjuice@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': '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': False, 'deleted': False, 'base_ref': None, 'compare': 'https://github.com/dolphin-emu/dolphin/compare/a2efdf1197be...c185d27ede09', 'commits': [{'id': '3a55a0e1a246bb573d47704d2c6b2d52191e0880', 'tree_id': '6db7171bd69501cf7caa9573267878402799bdb0', 'distinct': False, 'message': 'RetroAchievements - Fix Achievement Progress Toggle\n\nThe RA_PROGRESS_ENABLED flag was added but not currently being invoked, this\nmakes sure it is checked before popping up progress messages.', 'timestamp': '2026-09-07T09:59:22-04:00', 'url': 'https://github.com/dolphin-emu/dolphin/commit/3a55a0e1a246bb573d47704d2c6b2d52191e0880', 'author': {'name': 'LillyJadeKatrin', 'email': 'lilly.kitty.1988@gmail.com', 'date': '2026-09-07T09:32:51-04:00', 'username': 'LillyJadeKatrin'}, 'committer': {'name': 'LillyJadeKatrin', 'email': 'lilly.kitty.1988@gmail.com', 'date': '2026-09-07T09:59:22-04:00', 'username': 'LillyJadeKatrin'}, 'added': [], 'removed': [], 'modified': ['Source/Core/Core/AchievementManager.cpp']}, {'id': 'c185d27ede09771fe93a3b520c576f646f937ed9', 'tree_id': '6db7171bd69501cf7caa9573267878402799bdb0', 'distinct': True, 'message': 'Merge pull request #14851 from LillyJadeKatrin/retroachievements-progress-fix\n\nRetroAchievements - Fix Achievement Progress Toggle', 'timestamp': '2026-09-12T23:10:19+02:00', 'url': 'https://github.com/dolphin-emu/dolphin/commit/c185d27ede09771fe93a3b520c576f646f937ed9', 'author': {'name': 'JosJuice', 'email': 'josjuice@gmail.com', 'date': '2026-09-12T23:10:19+02:00', 'username': 'JosJuice'}, 'committer': {'name': 'GitHub', 'email': 'noreply@github.com', 'date': '2026-09-12T23:10:19+02:00', 'username': 'web-flow'}, 'added': [], 'removed': [], 'modified': ['Source/Core/Core/AchievementManager.cpp']}], 'head_commit': {'id': 'c185d27ede09771fe93a3b520c576f646f937ed9', 'tree_id': '6db7171bd69501cf7caa9573267878402799bdb0', 'distinct': True, 'message': 'Merge pull request #14851 from LillyJadeKatrin/retroachievements-progress-fix\n\nRetroAchievements - Fix Achievement Progress Toggle', 'timestamp': '2026-09-12T23:10:19+02:00', 'url': 'https://github.com/dolphin-emu/dolphin/commit/c185d27ede09771fe93a3b520c576f646f937ed9', 'author': {'name': 'JosJuice', 'email': 'josjuice@gmail.com', 'date': '2026-09-12T23:10:19+02:00', 'username': 'JosJuice'}, 'committer': {'name': 'GitHub', 'email': 'noreply@github.com', 'date': '2026-09-12T23:10:19+02:00', 'username': 'web-flow'}, 'added': [], 'removed': [], 'modified': ['Source/Core/Core/AchievementManager.cpp']}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'raw_gh_hook'}
2026-09-12T21:10:21.470071	{'source': 'webserver', 'gh_type': 'pull_request', 'raw': {'action': 'closed', 'number': 14851, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14851', 'id': 4464738138, 'node_id': 'PR_kwDOALCn2M8AAAABCh5_Wg', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14851', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14851.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14851.patch', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14851', 'number': 14851, 'state': 'closed', 'locked': False, 'title': 'RetroAchievements - Fix Achievement Progress Toggle', 'user': {'login': 'LillyJadeKatrin', 'id': 122337285, 'node_id': 'U_kgDOB0q4BQ', 'avatar_url': 'https://avatars.githubusercontent.com/u/122337285?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/LillyJadeKatrin', 'html_url': 'https://github.com/LillyJadeKatrin', 'followers_url': 'https://api.github.com/users/LillyJadeKatrin/followers', 'following_url': 'https://api.github.com/users/LillyJadeKatrin/following{/other_user}', 'gists_url': 'https://api.github.com/users/LillyJadeKatrin/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/LillyJadeKatrin/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/LillyJadeKatrin/subscriptions', 'organizations_url': 'https://api.github.com/users/LillyJadeKatrin/orgs', 'repos_url': 'https://api.github.com/users/LillyJadeKatrin/repos', 'events_url': 'https://api.github.com/users/LillyJadeKatrin/events{/privacy}', 'received_events_url': 'https://api.github.com/users/LillyJadeKatrin/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': 'The RA_PROGRESS_ENABLED flag was added but not currently being invoked, this makes sure it is checked before popping up progress messages.', 'created_at': '2026-09-07T13:35:37Z', 'updated_at': '2026-09-12T21:10:19Z', 'closed_at': '2026-09-12T21:10:19Z', 'merged_at': '2026-09-12T21:10:19Z', 'merge_commit_sha': 'c185d27ede09771fe93a3b520c576f646f937ed9', 'assignees': [], 'requested_reviewers': [], 'requested_teams': [], 'labels': [], 'milestone': None, 'draft': False, 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14851/commits', 'review_comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14851/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/14851/comments', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/3a55a0e1a246bb573d47704d2c6b2d52191e0880', 'head': {'label': 'LillyJadeKatrin:retroachievements-progress-fix', 'ref': 'retroachievements-progress-fix', 'sha': '3a55a0e1a246bb573d47704d2c6b2d52191e0880', 'user': {'login': 'LillyJadeKatrin', 'id': 122337285, 'node_id': 'U_kgDOB0q4BQ', 'avatar_url': 'https://avatars.githubusercontent.com/u/122337285?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/LillyJadeKatrin', 'html_url': 'https://github.com/LillyJadeKatrin', 'followers_url': 'https://api.github.com/users/LillyJadeKatrin/followers', 'following_url': 'https://api.github.com/users/LillyJadeKatrin/following{/other_user}', 'gists_url': 'https://api.github.com/users/LillyJadeKatrin/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/LillyJadeKatrin/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/LillyJadeKatrin/subscriptions', 'organizations_url': 'https://api.github.com/users/LillyJadeKatrin/orgs', 'repos_url': 'https://api.github.com/users/LillyJadeKatrin/repos', 'events_url': 'https://api.github.com/users/LillyJadeKatrin/events{/privacy}', 'received_events_url': 'https://api.github.com/users/LillyJadeKatrin/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 604890132, 'node_id': 'R_kgDOJA3kFA', 'name': 'dolphin-retroachievements', 'full_name': 'LillyJadeKatrin/dolphin-retroachievements', 'private': False, 'owner': {'login': 'LillyJadeKatrin', 'id': 122337285, 'node_id': 'U_kgDOB0q4BQ', 'avatar_url': 'https://avatars.githubusercontent.com/u/122337285?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/LillyJadeKatrin', 'html_url': 'https://github.com/LillyJadeKatrin', 'followers_url': 'https://api.github.com/users/LillyJadeKatrin/followers', 'following_url': 'https://api.github.com/users/LillyJadeKatrin/following{/other_user}', 'gists_url': 'https://api.github.com/users/LillyJadeKatrin/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/LillyJadeKatrin/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/LillyJadeKatrin/subscriptions', 'organizations_url': 'https://api.github.com/users/LillyJadeKatrin/orgs', 'repos_url': 'https://api.github.com/users/LillyJadeKatrin/repos', 'events_url': 'https://api.github.com/users/LillyJadeKatrin/events{/privacy}', 'received_events_url': 'https://api.github.com/users/LillyJadeKatrin/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/LillyJadeKatrin/dolphin-retroachievements', '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/LillyJadeKatrin/dolphin-retroachievements', 'forks_url': 'https://api.github.com/repos/LillyJadeKatrin/dolphin-retroachievements/forks', 'keys_url': 'https://api.github.com/repos/LillyJadeKatrin/dolphin-retroachievements/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/LillyJadeKatrin/dolphin-retroachievements/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/LillyJadeKatrin/dolphin-retroachievements/teams', 'hooks_url': 'https://api.github.com/repos/LillyJadeKatrin/dolphin-retroachievements/hooks', 'issue_events_url': 'https://api.github.com/repos/LillyJadeKatrin/dolphin-retroachievements/issues/events{/number}', 'events_url': 'https://api.github.com/repos/LillyJadeKatrin/dolphin-retroachievements/events', 'assignees_url': 'https://api.github.com/repos/LillyJadeKatrin/dolphin-retroachievements/assignees{/user}', 'branches_url': 'https://api.github.com/repos/LillyJadeKatrin/dolphin-retroachievements/branches{/branch}', 'tags_url': 'https://api.github.com/repos/LillyJadeKatrin/dolphin-retroachievements/tags', 'blobs_url': 'https://api.github.com/repos/LillyJadeKatrin/dolphin-retroachievements/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/LillyJadeKatrin/dolphin-retroachievements/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/LillyJadeKatrin/dolphin-retroachievements/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/LillyJadeKatrin/dolphin-retroachievements/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/LillyJadeKatrin/dolphin-retroachievements/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/LillyJadeKatrin/dolphin-retroachievements/languages', 'stargazers_url': 'https://api.github.com/repos/LillyJadeKatrin/dolphin-retroachievements/stargazers', 'contributors_url': 'https://api.github.com/repos/LillyJadeKatrin/dolphin-retroachievements/contributors', 'subscribers_url': 'https://api.github.com/repos/LillyJadeKatrin/dolphin-retroachievements/subscribers', 'subscription_url': 'https://api.github.com/repos/LillyJadeKatrin/dolphin-retroachievements/subscription', 'commits_url': 'https://api.github.com/repos/LillyJadeKatrin/dolphin-retroachievements/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/LillyJadeKatrin/dolphin-retroachievements/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/LillyJadeKatrin/dolphin-retroachievements/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/LillyJadeKatrin/dolphin-retroachievements/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/LillyJadeKatrin/dolphin-retroachievements/contents/{+path}', 'compare_url': 'https://api.github.com/repos/LillyJadeKatrin/dolphin-retroachievements/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/LillyJadeKatrin/dolphin-retroachievements/merges', 'archive_url': 'https://api.github.com/repos/LillyJadeKatrin/dolphin-retroachievements/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/LillyJadeKatrin/dolphin-retroachievements/downloads', 'issues_url': 'https://api.github.com/repos/LillyJadeKatrin/dolphin-retroachievements/issues{/number}', 'pulls_url': 'https://api.github.com/repos/LillyJadeKatrin/dolphin-retroachievements/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/LillyJadeKatrin/dolphin-retroachievements/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/LillyJadeKatrin/dolphin-retroachievements/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/LillyJadeKatrin/dolphin-retroachievements/labels{/name}', 'releases_url': 'https://api.github.com/repos/LillyJadeKatrin/dolphin-retroachievements/releases{/id}', 'deployments_url': 'https://api.github.com/repos/LillyJadeKatrin/dolphin-retroachievements/deployments', 'created_at': '2023-02-22T02:00:37Z', 'updated_at': '2026-09-07T13:59:58Z', 'pushed_at': '2026-09-07T14:01:33Z', 'git_url': 'git://github.com/LillyJadeKatrin/dolphin-retroachievements.git', 'ssh_url': 'git@github.com:LillyJadeKatrin/dolphin-retroachievements.git', 'clone_url': 'https://github.com/LillyJadeKatrin/dolphin-retroachievements.git', 'svn_url': 'https://github.com/LillyJadeKatrin/dolphin-retroachievements', 'homepage': 'https://dolphin-emu.org', 'size': 519567, 'stargazers_count': 13, 'watchers_count': 13, 'language': 'C++', 'has_issues': False, 'has_projects': True, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 0, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 0, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': [], 'visibility': 'public', 'forks': 0, 'open_issues': 0, 'watchers': 13, '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': 'a2efdf1197be8132674b90fe9cf4761df39752ed', '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-12T17:37:49Z', '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': 15518, 'watchers_count': 15518, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3251, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 472, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3251, 'open_issues': 472, 'watchers': 15518, '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/14851'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14851'}, 'issue': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14851'}, 'comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14851/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14851/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/14851/commits'}, 'statuses': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/3a55a0e1a246bb573d47704d2c6b2d52191e0880'}}, 'author_association': 'CONTRIBUTOR', 'auto_merge': None, 'assignee': None, 'active_lock_reason': None, 'merged': True, 'mergeable': None, 'rebaseable': None, 'mergeable_state': 'unknown', 'merged_by': {'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}, 'comments': 0, 'review_comments': 0, 'maintainer_can_modify': False, 'commits': 1, 'additions': 3, 'deletions': 1, 'changed_files': 1}, 'repository': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-09-12T17:37:49Z', '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': 15518, 'watchers_count': 15518, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3251, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 472, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3251, 'open_issues': 472, 'watchers': 15518, '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-12T21:04:43.795972	{'source': 'webserver', 'gh_type': 'pull_request_review', 'raw': {'action': 'submitted', 'review': {'id': 5188061130, 'node_id': 'PRR_kwDOALCn2M8AAAABNTuHyg', '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': 'Seems reasonable', 'commit_id': '14e3c61d62495d452f51692cc677cdc31493ec80', 'state': 'approved', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14850#pullrequestreview-5188061130', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14850', '_links': {'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14850#pullrequestreview-5188061130'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14850'}}, 'submitted_at': '2026-09-12T21:04:42Z', 'updated_at': '2026-09-12T21:04:42Z', 'author_association': 'CONTRIBUTOR'}, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14850', 'id': 4461810656, 'node_id': 'PR_kwDOALCn2M8AAAABCfHT4A', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14850', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14850.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14850.patch', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14850', 'number': 14850, 'state': 'open', 'locked': False, 'title': 'DolphinNoGUI: Default to OFF', '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': 'Having both Dolphin NoGUI and Qt is largely redundant, as Qt can do everything NoGUI can do, including CLI functionality.\r\nNeeded before merge: https://github.com/dolphin-emu/sadm/pull/206', 'created_at': '2026-09-07T08:17:06Z', 'updated_at': '2026-09-12T21:01:49Z', 'closed_at': None, 'merged_at': None, 'merge_commit_sha': '61a39df30fbcdb6c854aa3c8825780da311c6e0f', 'assignees': [], 'requested_reviewers': [], 'requested_teams': [], 'labels': [], 'milestone': None, 'draft': False, 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14850/commits', 'review_comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14850/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/14850/comments', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/14e3c61d62495d452f51692cc677cdc31493ec80', 'head': {'label': 'JoshuaVandaele:no-nogui', 'ref': 'no-nogui', 'sha': '14e3c61d62495d452f51692cc677cdc31493ec80', 'user': {'login': 'JoshuaVandaele', 'id': 24195176, 'node_id': 'MDQ6VXNlcjI0MTk1MTc2', 'avatar_url': 'https://avatars.githubusercontent.com/u/24195176?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/JoshuaVandaele', 'html_url': 'https://github.com/JoshuaVandaele', 'followers_url': 'https://api.github.com/users/JoshuaVandaele/followers', 'following_url': 'https://api.github.com/users/JoshuaVandaele/following{/other_user}', 'gists_url': 'https://api.github.com/users/JoshuaVandaele/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/JoshuaVandaele/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/JoshuaVandaele/subscriptions', 'organizations_url': 'https://api.github.com/users/JoshuaVandaele/orgs', 'repos_url': 'https://api.github.com/users/JoshuaVandaele/repos', 'events_url': 'https://api.github.com/users/JoshuaVandaele/events{/privacy}', 'received_events_url': 'https://api.github.com/users/JoshuaVandaele/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 915253252, 'node_id': 'R_kgDONo2oBA', 'name': 'dolphin', 'full_name': 'JoshuaVandaele/dolphin', 'private': False, 'owner': {'login': 'JoshuaVandaele', 'id': 24195176, 'node_id': 'MDQ6VXNlcjI0MTk1MTc2', 'avatar_url': 'https://avatars.githubusercontent.com/u/24195176?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/JoshuaVandaele', 'html_url': 'https://github.com/JoshuaVandaele', 'followers_url': 'https://api.github.com/users/JoshuaVandaele/followers', 'following_url': 'https://api.github.com/users/JoshuaVandaele/following{/other_user}', 'gists_url': 'https://api.github.com/users/JoshuaVandaele/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/JoshuaVandaele/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/JoshuaVandaele/subscriptions', 'organizations_url': 'https://api.github.com/users/JoshuaVandaele/orgs', 'repos_url': 'https://api.github.com/users/JoshuaVandaele/repos', 'events_url': 'https://api.github.com/users/JoshuaVandaele/events{/privacy}', 'received_events_url': 'https://api.github.com/users/JoshuaVandaele/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/JoshuaVandaele/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': True, 'url': 'https://api.github.com/repos/JoshuaVandaele/dolphin', 'forks_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/forks', 'keys_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/events', 'assignees_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/merges', 'archive_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/deployments', 'created_at': '2025-01-11T11:19:57Z', 'updated_at': '2026-02-06T11:01:48Z', 'pushed_at': '2026-09-11T20:38:09Z', 'git_url': 'git://github.com/JoshuaVandaele/dolphin.git', 'ssh_url': 'git@github.com:JoshuaVandaele/dolphin.git', 'clone_url': 'https://github.com/JoshuaVandaele/dolphin.git', 'svn_url': 'https://github.com/JoshuaVandaele/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 518761, 'stargazers_count': 1, 'watchers_count': 1, 'language': None, 'has_issues': False, 'has_projects': True, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 1, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 0, 'license': None, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': [], 'visibility': 'public', 'forks': 1, 'open_issues': 0, 'watchers': 1, 'default_branch': 'master', 'allow_squash_merge': True, 'allow_merge_commit': True, 'allow_rebase_merge': True, 'allow_auto_merge': False, 'delete_branch_on_merge': False, 'allow_update_branch': False, 'use_squash_pr_title_as_default': False, 'squash_merge_commit_message': 'COMMIT_MESSAGES', 'squash_merge_commit_title': 'COMMIT_OR_PR_TITLE', 'merge_commit_message': 'PR_TITLE', 'merge_commit_title': 'MERGE_MESSAGE'}}, 'base': {'label': 'dolphin-emu:master', 'ref': 'master', 'sha': 'a2efdf1197be8132674b90fe9cf4761df39752ed', '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-12T17:37:49Z', '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': 15518, 'watchers_count': 15518, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3251, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 473, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3251, 'open_issues': 473, 'watchers': 15518, '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/14850'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14850'}, 'issue': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14850'}, 'comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14850/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14850/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/14850/commits'}, 'statuses': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/14e3c61d62495d452f51692cc677cdc31493ec80'}}, '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-12T17:37:49Z', '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': 15518, 'watchers_count': 15518, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3251, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 473, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3251, 'open_issues': 473, 'watchers': 15518, '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-12T21:01:51.960586	{'source': 'webserver', 'gh_type': 'pull_request', 'raw': {'action': 'edited', 'number': 14850, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14850', 'id': 4461810656, 'node_id': 'PR_kwDOALCn2M8AAAABCfHT4A', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14850', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14850.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14850.patch', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14850', 'number': 14850, 'state': 'open', 'locked': False, 'title': 'DolphinNoGUI: Default to OFF', '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': 'Having both Dolphin NoGUI and Qt is largely redundant, as Qt can do everything NoGUI can do, including CLI functionality.\r\nNeeded before merge: https://github.com/dolphin-emu/sadm/pull/206', 'created_at': '2026-09-07T08:17:06Z', 'updated_at': '2026-09-12T21:01:49Z', 'closed_at': None, 'merged_at': None, 'merge_commit_sha': '61a39df30fbcdb6c854aa3c8825780da311c6e0f', 'assignees': [], 'requested_reviewers': [], 'requested_teams': [], 'labels': [], 'milestone': None, 'draft': False, 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14850/commits', 'review_comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14850/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/14850/comments', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/14e3c61d62495d452f51692cc677cdc31493ec80', 'head': {'label': 'JoshuaVandaele:no-nogui', 'ref': 'no-nogui', 'sha': '14e3c61d62495d452f51692cc677cdc31493ec80', 'user': {'login': 'JoshuaVandaele', 'id': 24195176, 'node_id': 'MDQ6VXNlcjI0MTk1MTc2', 'avatar_url': 'https://avatars.githubusercontent.com/u/24195176?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/JoshuaVandaele', 'html_url': 'https://github.com/JoshuaVandaele', 'followers_url': 'https://api.github.com/users/JoshuaVandaele/followers', 'following_url': 'https://api.github.com/users/JoshuaVandaele/following{/other_user}', 'gists_url': 'https://api.github.com/users/JoshuaVandaele/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/JoshuaVandaele/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/JoshuaVandaele/subscriptions', 'organizations_url': 'https://api.github.com/users/JoshuaVandaele/orgs', 'repos_url': 'https://api.github.com/users/JoshuaVandaele/repos', 'events_url': 'https://api.github.com/users/JoshuaVandaele/events{/privacy}', 'received_events_url': 'https://api.github.com/users/JoshuaVandaele/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 915253252, 'node_id': 'R_kgDONo2oBA', 'name': 'dolphin', 'full_name': 'JoshuaVandaele/dolphin', 'private': False, 'owner': {'login': 'JoshuaVandaele', 'id': 24195176, 'node_id': 'MDQ6VXNlcjI0MTk1MTc2', 'avatar_url': 'https://avatars.githubusercontent.com/u/24195176?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/JoshuaVandaele', 'html_url': 'https://github.com/JoshuaVandaele', 'followers_url': 'https://api.github.com/users/JoshuaVandaele/followers', 'following_url': 'https://api.github.com/users/JoshuaVandaele/following{/other_user}', 'gists_url': 'https://api.github.com/users/JoshuaVandaele/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/JoshuaVandaele/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/JoshuaVandaele/subscriptions', 'organizations_url': 'https://api.github.com/users/JoshuaVandaele/orgs', 'repos_url': 'https://api.github.com/users/JoshuaVandaele/repos', 'events_url': 'https://api.github.com/users/JoshuaVandaele/events{/privacy}', 'received_events_url': 'https://api.github.com/users/JoshuaVandaele/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/JoshuaVandaele/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': True, 'url': 'https://api.github.com/repos/JoshuaVandaele/dolphin', 'forks_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/forks', 'keys_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/events', 'assignees_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/merges', 'archive_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/deployments', 'created_at': '2025-01-11T11:19:57Z', 'updated_at': '2026-02-06T11:01:48Z', 'pushed_at': '2026-09-11T20:38:09Z', 'git_url': 'git://github.com/JoshuaVandaele/dolphin.git', 'ssh_url': 'git@github.com:JoshuaVandaele/dolphin.git', 'clone_url': 'https://github.com/JoshuaVandaele/dolphin.git', 'svn_url': 'https://github.com/JoshuaVandaele/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 518761, 'stargazers_count': 1, 'watchers_count': 1, 'language': None, 'has_issues': False, 'has_projects': True, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 1, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 0, 'license': None, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': [], 'visibility': 'public', 'forks': 1, 'open_issues': 0, 'watchers': 1, 'default_branch': 'master', 'allow_squash_merge': True, 'allow_merge_commit': True, 'allow_rebase_merge': True, 'allow_auto_merge': False, 'delete_branch_on_merge': False, 'allow_update_branch': False, 'use_squash_pr_title_as_default': False, 'squash_merge_commit_message': 'COMMIT_MESSAGES', 'squash_merge_commit_title': 'COMMIT_OR_PR_TITLE', 'merge_commit_message': 'PR_TITLE', 'merge_commit_title': 'MERGE_MESSAGE'}}, 'base': {'label': 'dolphin-emu:master', 'ref': 'master', 'sha': 'a2efdf1197be8132674b90fe9cf4761df39752ed', '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-12T17:37:49Z', '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': 15518, 'watchers_count': 15518, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3251, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 473, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3251, 'open_issues': 473, 'watchers': 15518, '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/14850'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14850'}, 'issue': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14850'}, 'comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14850/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14850/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/14850/commits'}, 'statuses': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/14e3c61d62495d452f51692cc677cdc31493ec80'}}, 'author_association': 'CONTRIBUTOR', 'auto_merge': None, 'assignee': None, 'active_lock_reason': None, 'merged': False, 'mergeable': True, 'rebaseable': False, 'mergeable_state': 'clean', 'merged_by': None, 'comments': 1, 'review_comments': 0, 'maintainer_can_modify': True, 'commits': 1, 'additions': 1, 'deletions': 1, 'changed_files': 1}, 'changes': {'body': {'from': 'Having both Dolphin NoGUI and Qt is largely redundant.\r\nNeeded before merge: https://github.com/dolphin-emu/sadm/pull/206'}}, '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-12T17:37:49Z', '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': 15518, 'watchers_count': 15518, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3251, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 473, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3251, 'open_issues': 473, 'watchers': 15518, '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-12T18:26:14.709004	{'source': 'webserver', 'gh_type': 'pull_request_review', 'raw': {'action': 'submitted', 'review': {'id': 5187494784, 'node_id': 'PRR_kwDOALCn2M8AAAABNTLjgA', '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': '958ea7855b64ab16095452f4d717c5f845b26677', 'state': 'approved', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14861#pullrequestreview-5187494784', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14861', '_links': {'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14861#pullrequestreview-5187494784'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14861'}}, 'submitted_at': '2026-09-12T18:26:12Z', 'updated_at': '2026-09-12T18:26:12Z', 'author_association': 'CONTRIBUTOR'}, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14861', 'id': 4514086867, 'node_id': 'PR_kwDOALCn2M8AAAABDQ9_0w', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14861', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14861.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14861.patch', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14861', 'number': 14861, 'state': 'open', 'locked': False, 'title': 'Flatpak: Bump `libevdev` to `1.13.7`', 'user': {'login': 'matellush', 'id': 202132988, 'node_id': 'U_kgDODAxN_A', 'avatar_url': 'https://avatars.githubusercontent.com/u/202132988?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/matellush', 'html_url': 'https://github.com/matellush', 'followers_url': 'https://api.github.com/users/matellush/followers', 'following_url': 'https://api.github.com/users/matellush/following{/other_user}', 'gists_url': 'https://api.github.com/users/matellush/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/matellush/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/matellush/subscriptions', 'organizations_url': 'https://api.github.com/users/matellush/orgs', 'repos_url': 'https://api.github.com/users/matellush/repos', 'events_url': 'https://api.github.com/users/matellush/events{/privacy}', 'received_events_url': 'https://api.github.com/users/matellush/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': "Bumps `libevdev` to the latest version.\r\n\r\nIn case anyone wasn't aware: The `x-checker-data` information can be used by `flatpak-external-data-checker` to discover new releases of dependencies:\r\n```\r\nflatpak run org.flathub.flatpak-external-data-checker Flatpak/org.DolphinEmu.dolphin-emu.yml\r\nINFO    src.manifest: Checking 1 external data items\r\nINFO    src.manifest: Started check [1/1] archive libevdev/libevdev-1.13.7.tar.xz (from org.DolphinEmu.dolphin-emu.yml)\r\nINFO    src.manifest: Finished check [1/1] archive libevdev/libevdev-1.13.7.tar.xz (from org.DolphinEmu.dolphin-emu.yml)\r\nINFO    src.main: Check finished with 0 error(s)\r\n```", 'created_at': '2026-09-12T15:52:15Z', 'updated_at': '2026-09-12T15:52:15Z', 'closed_at': None, 'merged_at': None, 'merge_commit_sha': '18e6abe6867d26459b629f0b24f84a0d83385bc1', 'assignees': [], 'requested_reviewers': [], 'requested_teams': [], 'labels': [], 'milestone': None, 'draft': False, 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14861/commits', 'review_comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14861/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/14861/comments', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/958ea7855b64ab16095452f4d717c5f845b26677', 'head': {'label': 'matellush:flatpak/libevdev', 'ref': 'flatpak/libevdev', 'sha': '958ea7855b64ab16095452f4d717c5f845b26677', 'user': {'login': 'matellush', 'id': 202132988, 'node_id': 'U_kgDODAxN_A', 'avatar_url': 'https://avatars.githubusercontent.com/u/202132988?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/matellush', 'html_url': 'https://github.com/matellush', 'followers_url': 'https://api.github.com/users/matellush/followers', 'following_url': 'https://api.github.com/users/matellush/following{/other_user}', 'gists_url': 'https://api.github.com/users/matellush/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/matellush/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/matellush/subscriptions', 'organizations_url': 'https://api.github.com/users/matellush/orgs', 'repos_url': 'https://api.github.com/users/matellush/repos', 'events_url': 'https://api.github.com/users/matellush/events{/privacy}', 'received_events_url': 'https://api.github.com/users/matellush/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 1367433445, 'node_id': 'R_kgDOUYFg5Q', 'name': 'dolphin', 'full_name': 'matellush/dolphin', 'private': False, 'owner': {'login': 'matellush', 'id': 202132988, 'node_id': 'U_kgDODAxN_A', 'avatar_url': 'https://avatars.githubusercontent.com/u/202132988?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/matellush', 'html_url': 'https://github.com/matellush', 'followers_url': 'https://api.github.com/users/matellush/followers', 'following_url': 'https://api.github.com/users/matellush/following{/other_user}', 'gists_url': 'https://api.github.com/users/matellush/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/matellush/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/matellush/subscriptions', 'organizations_url': 'https://api.github.com/users/matellush/orgs', 'repos_url': 'https://api.github.com/users/matellush/repos', 'events_url': 'https://api.github.com/users/matellush/events{/privacy}', 'received_events_url': 'https://api.github.com/users/matellush/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/matellush/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/matellush/dolphin', 'forks_url': 'https://api.github.com/repos/matellush/dolphin/forks', 'keys_url': 'https://api.github.com/repos/matellush/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/matellush/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/matellush/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/matellush/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/matellush/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/matellush/dolphin/events', 'assignees_url': 'https://api.github.com/repos/matellush/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/matellush/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/matellush/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/matellush/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/matellush/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/matellush/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/matellush/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/matellush/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/matellush/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/matellush/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/matellush/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/matellush/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/matellush/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/matellush/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/matellush/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/matellush/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/matellush/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/matellush/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/matellush/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/matellush/dolphin/merges', 'archive_url': 'https://api.github.com/repos/matellush/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/matellush/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/matellush/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/matellush/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/matellush/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/matellush/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/matellush/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/matellush/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/matellush/dolphin/deployments', 'created_at': '2026-09-12T15:38:38Z', 'updated_at': '2026-09-12T15:38:38Z', 'pushed_at': '2026-09-12T17:11:17Z', 'git_url': 'git://github.com/matellush/dolphin.git', 'ssh_url': 'git@github.com:matellush/dolphin.git', 'clone_url': 'https://github.com/matellush/dolphin.git', 'svn_url': 'https://github.com/matellush/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 516918, 'stargazers_count': 0, 'watchers_count': 0, 'language': None, 'has_issues': False, 'has_projects': True, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 0, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 0, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': [], 'visibility': 'public', 'forks': 0, 'open_issues': 0, 'watchers': 0, 'default_branch': 'master', 'allow_squash_merge': True, 'allow_merge_commit': True, 'allow_rebase_merge': True, 'allow_auto_merge': False, 'delete_branch_on_merge': False, 'allow_update_branch': False, 'use_squash_pr_title_as_default': False, 'squash_merge_commit_message': 'COMMIT_MESSAGES', 'squash_merge_commit_title': 'COMMIT_OR_PR_TITLE', 'merge_commit_message': 'PR_TITLE', 'merge_commit_title': 'MERGE_MESSAGE'}}, 'base': {'label': 'dolphin-emu:master', 'ref': 'master', 'sha': 'a2efdf1197be8132674b90fe9cf4761df39752ed', '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-12T17:37:49Z', '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': 15518, 'watchers_count': 15518, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3250, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 473, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3250, 'open_issues': 473, 'watchers': 15518, '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/14861'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14861'}, 'issue': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14861'}, 'comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14861/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14861/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/14861/commits'}, 'statuses': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/958ea7855b64ab16095452f4d717c5f845b26677'}}, '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-12T17:37:49Z', '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': 15518, 'watchers_count': 15518, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3250, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 473, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3250, 'open_issues': 473, 'watchers': 15518, '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-12T18:20:33.464768	{'source': 'webserver', 'gh_type': 'pull_request_review', 'raw': {'action': 'submitted', 'review': {'id': 5187482604, 'node_id': 'PRR_kwDOALCn2M8AAAABNTKz7A', 'user': {'login': 'JoshuaVandaele', 'id': 24195176, 'node_id': 'MDQ6VXNlcjI0MTk1MTc2', 'avatar_url': 'https://avatars.githubusercontent.com/u/24195176?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/JoshuaVandaele', 'html_url': 'https://github.com/JoshuaVandaele', 'followers_url': 'https://api.github.com/users/JoshuaVandaele/followers', 'following_url': 'https://api.github.com/users/JoshuaVandaele/following{/other_user}', 'gists_url': 'https://api.github.com/users/JoshuaVandaele/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/JoshuaVandaele/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/JoshuaVandaele/subscriptions', 'organizations_url': 'https://api.github.com/users/JoshuaVandaele/orgs', 'repos_url': 'https://api.github.com/users/JoshuaVandaele/repos', 'events_url': 'https://api.github.com/users/JoshuaVandaele/events{/privacy}', 'received_events_url': 'https://api.github.com/users/JoshuaVandaele/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': "I haven't tested Discord Canary but the changes sound fine. Regular Discord still seems to work.", 'commit_id': '304a534d16c1d68f5e2a8fbf7778253ca2551713', 'state': 'approved', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14862#pullrequestreview-5187482604', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14862', '_links': {'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14862#pullrequestreview-5187482604'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14862'}}, 'submitted_at': '2026-09-12T18:20:31Z', 'updated_at': '2026-09-12T18:20:31Z', 'author_association': 'CONTRIBUTOR'}, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14862', 'id': 4514594031, 'node_id': 'PR_kwDOALCn2M8AAAABDRc87w', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14862', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14862.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14862.patch', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14862', 'number': 14862, 'state': 'open', 'locked': False, 'title': 'Flatpak: Fix Discord rich presence', 'user': {'login': 'matellush', 'id': 202132988, 'node_id': 'U_kgDODAxN_A', 'avatar_url': 'https://avatars.githubusercontent.com/u/202132988?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/matellush', 'html_url': 'https://github.com/matellush', 'followers_url': 'https://api.github.com/users/matellush/followers', 'following_url': 'https://api.github.com/users/matellush/following{/other_user}', 'gists_url': 'https://api.github.com/users/matellush/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/matellush/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/matellush/subscriptions', 'organizations_url': 'https://api.github.com/users/matellush/orgs', 'repos_url': 'https://api.github.com/users/matellush/repos', 'events_url': 'https://api.github.com/users/matellush/events{/privacy}', 'received_events_url': 'https://api.github.com/users/matellush/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': "The main goal of this PR is to support Flatpak install of the `beta` branch of Discord (Discord Canary) for rich presence. The way I propose it, a Discord Canary Flatpak running while Dolphin is started using the Dolphin wrapper should be picked up if no stable (or native) version of Discord is running at the same time.\r\n\r\nThe flow works as follows (if `$XDG_RUNTIME_DIR/discord-ipc-0` starts out as a regular file, directory, or is non-existent; assuming no symlinks exist inside the sandbox yet):\r\n- If only the stable Discord Flatpak is running with, e.g., its `discord-ipc-0` socket exposed in `$XDG_RUNTIME_DIR/app/com.discordapp.Discord`, then the first `test ... || ln -sf ...` line will see that `$XDG_RUNTIME_DIR/discord-ipc-0` is not a socket and will thus make it point to `$XDG_RUNTIME_DIR/app/com.discordapp.Discord/discord-ipc-0`. The subsequent two lines would run the `test` and see that the file represented by `$XDG_RUNTIME_DIR/discord-ipc-0` is indeed now a socket, and will not change the symlink(s).\r\n- If only the beta Discord Canary Flatpak is running with its  `discord-ipc-0` socket exposed in `$XDG_RUNTIME_DIR/app/com.discordapp.DiscordCanary`, then the first `test ... || ln -sf ...` line will see that `$XDG_RUNTIME_DIR/discord-ipc-0` is not a socket and will thus make it point to `$XDG_RUNTIME_DIR/app/com.discordapp.Discord/discord-ipc-0` (same as above). The second `test` line will test `$XDG_RUNTIME_DIR/discord-ipc-0` again, and see that it is not a socket due to being a broken symlink. The `ln -sf ...` part will now make `$XDG_RUNTIME_DIR/discord-ipc-0` point to `$XDG_RUNTIME_DIR/app/com.discordapp.DiscordCanary/discord-ipc-0`, which is the socket of Discord Canary. Thus, the third `test` line will return early and not change the symlink again.\r\n- If both stable and beta Discord Flatpak versions are running, the stable version should take precedence as it is the first candidate symlink target.\r\n- If none of the two Discord Flatpak versions are running, the third `test` line ensures that `$XDG_RUNTIME_DIR/discord-ipc-0` ends up pointing at `$XDG_RUNTIME_DIR/app/com.discordapp.Discord/discord-ipc-0` (the stable version's socket location) with a dangling symlink, prioritizing the stable installation. Since the entire `xdg-run/app/com.discordapp.Discord:create` directory is exposed, launching the stable Discord Flatpak at a later time should make the symlink point to its socket.\r\n\r\nNow, while looking at this, I noticed that the other `--filesystem=xdg-run/discord-ipc-0:create` flag, which is intended to expose a non-Flatpak Discord socket, is wrong. Due to the `:create` suffix, if Discord is not running, a directory will be created rather than a socket, breaking rich presence. The path must not be treated as a directory, which is why the suffix was removed. It now behaves like this: If the socket file exists, it is exposed to the Dolphin Flatpak, and if it does not exist, a `0-byte` regular file is created inside Dolphin's sandbox, which can then be symlinked to point to something else by the wrapper. It should be noted that exposing the single native `discord-ipc-0` socket (out of up to 10 potential sockets) is not exactly the best solution for this, and also only gets correctly forwarded into the sandbox if Discord is already running (which is similar to the proposed Canary case).\r\n\r\nEvidence of `:create` being a problem:\r\n```\r\nError: listen EADDRINUSE: address already in use /run/user/1000/discord-ipc-0\r\n```\r\n\r\nRelated PR: #14120", 'created_at': '2026-09-12T17:42:43Z', 'updated_at': '2026-09-12T18:18:26Z', 'closed_at': None, 'merged_at': None, 'merge_commit_sha': '67c66eb5ed07ed06608afedca868c280390fafb4', 'assignees': [], 'requested_reviewers': [], 'requested_teams': [], 'labels': [], 'milestone': None, 'draft': False, 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14862/commits', 'review_comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14862/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/14862/comments', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/304a534d16c1d68f5e2a8fbf7778253ca2551713', 'head': {'label': 'matellush:flatpak/discord-rich-presence', 'ref': 'flatpak/discord-rich-presence', 'sha': '304a534d16c1d68f5e2a8fbf7778253ca2551713', 'user': {'login': 'matellush', 'id': 202132988, 'node_id': 'U_kgDODAxN_A', 'avatar_url': 'https://avatars.githubusercontent.com/u/202132988?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/matellush', 'html_url': 'https://github.com/matellush', 'followers_url': 'https://api.github.com/users/matellush/followers', 'following_url': 'https://api.github.com/users/matellush/following{/other_user}', 'gists_url': 'https://api.github.com/users/matellush/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/matellush/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/matellush/subscriptions', 'organizations_url': 'https://api.github.com/users/matellush/orgs', 'repos_url': 'https://api.github.com/users/matellush/repos', 'events_url': 'https://api.github.com/users/matellush/events{/privacy}', 'received_events_url': 'https://api.github.com/users/matellush/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 1367433445, 'node_id': 'R_kgDOUYFg5Q', 'name': 'dolphin', 'full_name': 'matellush/dolphin', 'private': False, 'owner': {'login': 'matellush', 'id': 202132988, 'node_id': 'U_kgDODAxN_A', 'avatar_url': 'https://avatars.githubusercontent.com/u/202132988?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/matellush', 'html_url': 'https://github.com/matellush', 'followers_url': 'https://api.github.com/users/matellush/followers', 'following_url': 'https://api.github.com/users/matellush/following{/other_user}', 'gists_url': 'https://api.github.com/users/matellush/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/matellush/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/matellush/subscriptions', 'organizations_url': 'https://api.github.com/users/matellush/orgs', 'repos_url': 'https://api.github.com/users/matellush/repos', 'events_url': 'https://api.github.com/users/matellush/events{/privacy}', 'received_events_url': 'https://api.github.com/users/matellush/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/matellush/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/matellush/dolphin', 'forks_url': 'https://api.github.com/repos/matellush/dolphin/forks', 'keys_url': 'https://api.github.com/repos/matellush/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/matellush/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/matellush/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/matellush/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/matellush/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/matellush/dolphin/events', 'assignees_url': 'https://api.github.com/repos/matellush/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/matellush/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/matellush/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/matellush/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/matellush/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/matellush/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/matellush/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/matellush/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/matellush/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/matellush/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/matellush/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/matellush/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/matellush/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/matellush/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/matellush/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/matellush/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/matellush/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/matellush/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/matellush/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/matellush/dolphin/merges', 'archive_url': 'https://api.github.com/repos/matellush/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/matellush/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/matellush/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/matellush/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/matellush/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/matellush/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/matellush/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/matellush/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/matellush/dolphin/deployments', 'created_at': '2026-09-12T15:38:38Z', 'updated_at': '2026-09-12T15:38:38Z', 'pushed_at': '2026-09-12T17:11:17Z', 'git_url': 'git://github.com/matellush/dolphin.git', 'ssh_url': 'git@github.com:matellush/dolphin.git', 'clone_url': 'https://github.com/matellush/dolphin.git', 'svn_url': 'https://github.com/matellush/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 516918, 'stargazers_count': 0, 'watchers_count': 0, 'language': None, 'has_issues': False, 'has_projects': True, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 0, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 0, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': [], 'visibility': 'public', 'forks': 0, 'open_issues': 0, 'watchers': 0, 'default_branch': 'master', 'allow_squash_merge': True, 'allow_merge_commit': True, 'allow_rebase_merge': True, 'allow_auto_merge': False, 'delete_branch_on_merge': False, 'allow_update_branch': False, 'use_squash_pr_title_as_default': False, 'squash_merge_commit_message': 'COMMIT_MESSAGES', 'squash_merge_commit_title': 'COMMIT_OR_PR_TITLE', 'merge_commit_message': 'PR_TITLE', 'merge_commit_title': 'MERGE_MESSAGE'}}, 'base': {'label': 'dolphin-emu:master', 'ref': 'master', 'sha': 'a2efdf1197be8132674b90fe9cf4761df39752ed', '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-12T17:37:49Z', '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': 15518, 'watchers_count': 15518, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3250, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 473, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3250, 'open_issues': 473, 'watchers': 15518, '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/14862'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14862'}, 'issue': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14862'}, 'comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14862/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14862/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/14862/commits'}, 'statuses': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/304a534d16c1d68f5e2a8fbf7778253ca2551713'}}, '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-12T17:37:49Z', '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': 15518, 'watchers_count': 15518, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3250, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 473, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3250, 'open_issues': 473, 'watchers': 15518, '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-12T18:18:28.309887	{'source': 'webserver', 'gh_type': 'issue_comment', 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14862', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14862/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14862/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14862/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14862', 'id': 5434982070, 'node_id': 'PR_kwDOALCn2M8AAAABDRc87w', 'number': 14862, 'title': 'Flatpak: Fix Discord rich presence', 'user': {'login': 'matellush', 'id': 202132988, 'node_id': 'U_kgDODAxN_A', 'avatar_url': 'https://avatars.githubusercontent.com/u/202132988?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/matellush', 'html_url': 'https://github.com/matellush', 'followers_url': 'https://api.github.com/users/matellush/followers', 'following_url': 'https://api.github.com/users/matellush/following{/other_user}', 'gists_url': 'https://api.github.com/users/matellush/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/matellush/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/matellush/subscriptions', 'organizations_url': 'https://api.github.com/users/matellush/orgs', 'repos_url': 'https://api.github.com/users/matellush/repos', 'events_url': 'https://api.github.com/users/matellush/events{/privacy}', 'received_events_url': 'https://api.github.com/users/matellush/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 4, 'created_at': '2026-09-12T17:42:43Z', 'updated_at': '2026-09-12T18:18: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/14862', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14862', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14862.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14862.patch', 'merged_at': None}, 'body': "The main goal of this PR is to support Flatpak install of the `beta` branch of Discord (Discord Canary) for rich presence. The way I propose it, a Discord Canary Flatpak running while Dolphin is started using the Dolphin wrapper should be picked up if no stable (or native) version of Discord is running at the same time.\r\n\r\nThe flow works as follows (if `$XDG_RUNTIME_DIR/discord-ipc-0` starts out as a regular file, directory, or is non-existent; assuming no symlinks exist inside the sandbox yet):\r\n- If only the stable Discord Flatpak is running with, e.g., its `discord-ipc-0` socket exposed in `$XDG_RUNTIME_DIR/app/com.discordapp.Discord`, then the first `test ... || ln -sf ...` line will see that `$XDG_RUNTIME_DIR/discord-ipc-0` is not a socket and will thus make it point to `$XDG_RUNTIME_DIR/app/com.discordapp.Discord/discord-ipc-0`. The subsequent two lines would run the `test` and see that the file represented by `$XDG_RUNTIME_DIR/discord-ipc-0` is indeed now a socket, and will not change the symlink(s).\r\n- If only the beta Discord Canary Flatpak is running with its  `discord-ipc-0` socket exposed in `$XDG_RUNTIME_DIR/app/com.discordapp.DiscordCanary`, then the first `test ... || ln -sf ...` line will see that `$XDG_RUNTIME_DIR/discord-ipc-0` is not a socket and will thus make it point to `$XDG_RUNTIME_DIR/app/com.discordapp.Discord/discord-ipc-0` (same as above). The second `test` line will test `$XDG_RUNTIME_DIR/discord-ipc-0` again, and see that it is not a socket due to being a broken symlink. The `ln -sf ...` part will now make `$XDG_RUNTIME_DIR/discord-ipc-0` point to `$XDG_RUNTIME_DIR/app/com.discordapp.DiscordCanary/discord-ipc-0`, which is the socket of Discord Canary. Thus, the third `test` line will return early and not change the symlink again.\r\n- If both stable and beta Discord Flatpak versions are running, the stable version should take precedence as it is the first candidate symlink target.\r\n- If none of the two Discord Flatpak versions are running, the third `test` line ensures that `$XDG_RUNTIME_DIR/discord-ipc-0` ends up pointing at `$XDG_RUNTIME_DIR/app/com.discordapp.Discord/discord-ipc-0` (the stable version's socket location) with a dangling symlink, prioritizing the stable installation. Since the entire `xdg-run/app/com.discordapp.Discord:create` directory is exposed, launching the stable Discord Flatpak at a later time should make the symlink point to its socket.\r\n\r\nNow, while looking at this, I noticed that the other `--filesystem=xdg-run/discord-ipc-0:create` flag, which is intended to expose a non-Flatpak Discord socket, is wrong. Due to the `:create` suffix, if Discord is not running, a directory will be created rather than a socket, breaking rich presence. The path must not be treated as a directory, which is why the suffix was removed. It now behaves like this: If the socket file exists, it is exposed to the Dolphin Flatpak, and if it does not exist, a `0-byte` regular file is created inside Dolphin's sandbox, which can then be symlinked to point to something else by the wrapper. It should be noted that exposing the single native `discord-ipc-0` socket (out of up to 10 potential sockets) is not exactly the best solution for this, and also only gets correctly forwarded into the sandbox if Discord is already running (which is similar to the proposed Canary case).\r\n\r\nEvidence of `:create` being a problem:\r\n```\r\nError: listen EADDRINUSE: address already in use /run/user/1000/discord-ipc-0\r\n```\r\n\r\nRelated PR: #14120", 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14862/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/14862/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5647785610', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14862#issuecomment-5647785610', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14862', 'id': 5647785610, 'node_id': 'IC_kwDOALCn2M8AAAABUKJeig', '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-12T18:18:26Z', 'updated_at': '2026-09-12T18:18:26Z', 'body': "> > > Now, while looking at this, I noticed that the other `--filesystem=xdg-run/discord-ipc-0:create` flag, which is intended to expose a non-Flatpak Discord socket, is wrong. Due to the `:create` suffix, if Discord is not running, a directory will be created rather than a socket, breaking rich presence. The path must not be treated as a directory, which is why the suffix was removed.\r\n> > \r\n> > \r\n> > On this, this was directly taken from the flatpak's wiki: https://github.com/flathub/com.discordapp.Discord/wiki/Rich-Precense-(discord-rpc)#flatpak-applications\r\n> > > Add `--filesystem=xdg-run/app/com.discordapp.Discord:create` to `finish-args`\r\n> > \r\n> > \r\n> > If you are sure this is incorrect, could you modify that wiki page for others, or otherwise raise an issue in the repository?\r\n> \r\n> You are reading this wrong. Note the difference between `--filesystem=xdg-run/discord-ipc-0:create` and `--filesystem=xdg-run/app/com.discordapp.Discord:create`.\r\n\r\nAh right, this makes more sense", 'author_association': 'MEMBER', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5647785610/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-12T17:37:49Z', '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': 15518, 'watchers_count': 15518, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3250, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 473, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3250, 'open_issues': 473, 'watchers': 15518, '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-12T18:17:39.507854	{'source': 'webserver', 'gh_type': 'issue_comment', 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14862', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14862/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14862/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14862/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14862', 'id': 5434982070, 'node_id': 'PR_kwDOALCn2M8AAAABDRc87w', 'number': 14862, 'title': 'Flatpak: Fix Discord rich presence', 'user': {'login': 'matellush', 'id': 202132988, 'node_id': 'U_kgDODAxN_A', 'avatar_url': 'https://avatars.githubusercontent.com/u/202132988?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/matellush', 'html_url': 'https://github.com/matellush', 'followers_url': 'https://api.github.com/users/matellush/followers', 'following_url': 'https://api.github.com/users/matellush/following{/other_user}', 'gists_url': 'https://api.github.com/users/matellush/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/matellush/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/matellush/subscriptions', 'organizations_url': 'https://api.github.com/users/matellush/orgs', 'repos_url': 'https://api.github.com/users/matellush/repos', 'events_url': 'https://api.github.com/users/matellush/events{/privacy}', 'received_events_url': 'https://api.github.com/users/matellush/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 3, 'created_at': '2026-09-12T17:42:43Z', 'updated_at': '2026-09-12T18:17: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/14862', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14862', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14862.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14862.patch', 'merged_at': None}, 'body': "The main goal of this PR is to support Flatpak install of the `beta` branch of Discord (Discord Canary) for rich presence. The way I propose it, a Discord Canary Flatpak running while Dolphin is started using the Dolphin wrapper should be picked up if no stable (or native) version of Discord is running at the same time.\r\n\r\nThe flow works as follows (if `$XDG_RUNTIME_DIR/discord-ipc-0` starts out as a regular file, directory, or is non-existent; assuming no symlinks exist inside the sandbox yet):\r\n- If only the stable Discord Flatpak is running with, e.g., its `discord-ipc-0` socket exposed in `$XDG_RUNTIME_DIR/app/com.discordapp.Discord`, then the first `test ... || ln -sf ...` line will see that `$XDG_RUNTIME_DIR/discord-ipc-0` is not a socket and will thus make it point to `$XDG_RUNTIME_DIR/app/com.discordapp.Discord/discord-ipc-0`. The subsequent two lines would run the `test` and see that the file represented by `$XDG_RUNTIME_DIR/discord-ipc-0` is indeed now a socket, and will not change the symlink(s).\r\n- If only the beta Discord Canary Flatpak is running with its  `discord-ipc-0` socket exposed in `$XDG_RUNTIME_DIR/app/com.discordapp.DiscordCanary`, then the first `test ... || ln -sf ...` line will see that `$XDG_RUNTIME_DIR/discord-ipc-0` is not a socket and will thus make it point to `$XDG_RUNTIME_DIR/app/com.discordapp.Discord/discord-ipc-0` (same as above). The second `test` line will test `$XDG_RUNTIME_DIR/discord-ipc-0` again, and see that it is not a socket due to being a broken symlink. The `ln -sf ...` part will now make `$XDG_RUNTIME_DIR/discord-ipc-0` point to `$XDG_RUNTIME_DIR/app/com.discordapp.DiscordCanary/discord-ipc-0`, which is the socket of Discord Canary. Thus, the third `test` line will return early and not change the symlink again.\r\n- If both stable and beta Discord Flatpak versions are running, the stable version should take precedence as it is the first candidate symlink target.\r\n- If none of the two Discord Flatpak versions are running, the third `test` line ensures that `$XDG_RUNTIME_DIR/discord-ipc-0` ends up pointing at `$XDG_RUNTIME_DIR/app/com.discordapp.Discord/discord-ipc-0` (the stable version's socket location) with a dangling symlink, prioritizing the stable installation. Since the entire `xdg-run/app/com.discordapp.Discord:create` directory is exposed, launching the stable Discord Flatpak at a later time should make the symlink point to its socket.\r\n\r\nNow, while looking at this, I noticed that the other `--filesystem=xdg-run/discord-ipc-0:create` flag, which is intended to expose a non-Flatpak Discord socket, is wrong. Due to the `:create` suffix, if Discord is not running, a directory will be created rather than a socket, breaking rich presence. The path must not be treated as a directory, which is why the suffix was removed. It now behaves like this: If the socket file exists, it is exposed to the Dolphin Flatpak, and if it does not exist, a `0-byte` regular file is created inside Dolphin's sandbox, which can then be symlinked to point to something else by the wrapper. It should be noted that exposing the single native `discord-ipc-0` socket (out of up to 10 potential sockets) is not exactly the best solution for this, and also only gets correctly forwarded into the sandbox if Discord is already running (which is similar to the proposed Canary case).\r\n\r\nEvidence of `:create` being a problem:\r\n```\r\nError: listen EADDRINUSE: address already in use /run/user/1000/discord-ipc-0\r\n```\r\n\r\nRelated PR: #14120", 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14862/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/14862/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5647781078', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14862#issuecomment-5647781078', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14862', 'id': 5647781078, 'node_id': 'IC_kwDOALCn2M8AAAABUKJM1g', 'user': {'login': 'matellush', 'id': 202132988, 'node_id': 'U_kgDODAxN_A', 'avatar_url': 'https://avatars.githubusercontent.com/u/202132988?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/matellush', 'html_url': 'https://github.com/matellush', 'followers_url': 'https://api.github.com/users/matellush/followers', 'following_url': 'https://api.github.com/users/matellush/following{/other_user}', 'gists_url': 'https://api.github.com/users/matellush/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/matellush/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/matellush/subscriptions', 'organizations_url': 'https://api.github.com/users/matellush/orgs', 'repos_url': 'https://api.github.com/users/matellush/repos', 'events_url': 'https://api.github.com/users/matellush/events{/privacy}', 'received_events_url': 'https://api.github.com/users/matellush/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2026-09-12T18:17:36Z', 'updated_at': '2026-09-12T18:17:36Z', 'body': 'The wiki page never mentions this `--filesystem=xdg-run/discord-ipc-0:create` flag.', 'author_association': 'CONTRIBUTOR', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5647781078/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-12T17:37:49Z', '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': 15518, 'watchers_count': 15518, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3250, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 473, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3250, 'open_issues': 473, 'watchers': 15518, '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': 'matellush', 'id': 202132988, 'node_id': 'U_kgDODAxN_A', 'avatar_url': 'https://avatars.githubusercontent.com/u/202132988?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/matellush', 'html_url': 'https://github.com/matellush', 'followers_url': 'https://api.github.com/users/matellush/followers', 'following_url': 'https://api.github.com/users/matellush/following{/other_user}', 'gists_url': 'https://api.github.com/users/matellush/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/matellush/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/matellush/subscriptions', 'organizations_url': 'https://api.github.com/users/matellush/orgs', 'repos_url': 'https://api.github.com/users/matellush/repos', 'events_url': 'https://api.github.com/users/matellush/events{/privacy}', 'received_events_url': 'https://api.github.com/users/matellush/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'raw_gh_hook'}
2026-09-12T18:16:26.446539	{'source': 'webserver', 'gh_type': 'issue_comment', 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14862', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14862/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14862/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14862/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14862', 'id': 5434982070, 'node_id': 'PR_kwDOALCn2M8AAAABDRc87w', 'number': 14862, 'title': 'Flatpak: Fix Discord rich presence', 'user': {'login': 'matellush', 'id': 202132988, 'node_id': 'U_kgDODAxN_A', 'avatar_url': 'https://avatars.githubusercontent.com/u/202132988?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/matellush', 'html_url': 'https://github.com/matellush', 'followers_url': 'https://api.github.com/users/matellush/followers', 'following_url': 'https://api.github.com/users/matellush/following{/other_user}', 'gists_url': 'https://api.github.com/users/matellush/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/matellush/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/matellush/subscriptions', 'organizations_url': 'https://api.github.com/users/matellush/orgs', 'repos_url': 'https://api.github.com/users/matellush/repos', 'events_url': 'https://api.github.com/users/matellush/events{/privacy}', 'received_events_url': 'https://api.github.com/users/matellush/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 2, 'created_at': '2026-09-12T17:42:43Z', 'updated_at': '2026-09-12T18:16:24Z', '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/14862', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14862', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14862.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14862.patch', 'merged_at': None}, 'body': "The main goal of this PR is to support Flatpak install of the `beta` branch of Discord (Discord Canary) for rich presence. The way I propose it, a Discord Canary Flatpak running while Dolphin is started using the Dolphin wrapper should be picked up if no stable (or native) version of Discord is running at the same time.\r\n\r\nThe flow works as follows (if `$XDG_RUNTIME_DIR/discord-ipc-0` starts out as a regular file, directory, or is non-existent; assuming no symlinks exist inside the sandbox yet):\r\n- If only the stable Discord Flatpak is running with, e.g., its `discord-ipc-0` socket exposed in `$XDG_RUNTIME_DIR/app/com.discordapp.Discord`, then the first `test ... || ln -sf ...` line will see that `$XDG_RUNTIME_DIR/discord-ipc-0` is not a socket and will thus make it point to `$XDG_RUNTIME_DIR/app/com.discordapp.Discord/discord-ipc-0`. The subsequent two lines would run the `test` and see that the file represented by `$XDG_RUNTIME_DIR/discord-ipc-0` is indeed now a socket, and will not change the symlink(s).\r\n- If only the beta Discord Canary Flatpak is running with its  `discord-ipc-0` socket exposed in `$XDG_RUNTIME_DIR/app/com.discordapp.DiscordCanary`, then the first `test ... || ln -sf ...` line will see that `$XDG_RUNTIME_DIR/discord-ipc-0` is not a socket and will thus make it point to `$XDG_RUNTIME_DIR/app/com.discordapp.Discord/discord-ipc-0` (same as above). The second `test` line will test `$XDG_RUNTIME_DIR/discord-ipc-0` again, and see that it is not a socket due to being a broken symlink. The `ln -sf ...` part will now make `$XDG_RUNTIME_DIR/discord-ipc-0` point to `$XDG_RUNTIME_DIR/app/com.discordapp.DiscordCanary/discord-ipc-0`, which is the socket of Discord Canary. Thus, the third `test` line will return early and not change the symlink again.\r\n- If both stable and beta Discord Flatpak versions are running, the stable version should take precedence as it is the first candidate symlink target.\r\n- If none of the two Discord Flatpak versions are running, the third `test` line ensures that `$XDG_RUNTIME_DIR/discord-ipc-0` ends up pointing at `$XDG_RUNTIME_DIR/app/com.discordapp.Discord/discord-ipc-0` (the stable version's socket location) with a dangling symlink, prioritizing the stable installation. Since the entire `xdg-run/app/com.discordapp.Discord:create` directory is exposed, launching the stable Discord Flatpak at a later time should make the symlink point to its socket.\r\n\r\nNow, while looking at this, I noticed that the other `--filesystem=xdg-run/discord-ipc-0:create` flag, which is intended to expose a non-Flatpak Discord socket, is wrong. Due to the `:create` suffix, if Discord is not running, a directory will be created rather than a socket, breaking rich presence. The path must not be treated as a directory, which is why the suffix was removed. It now behaves like this: If the socket file exists, it is exposed to the Dolphin Flatpak, and if it does not exist, a `0-byte` regular file is created inside Dolphin's sandbox, which can then be symlinked to point to something else by the wrapper. It should be noted that exposing the single native `discord-ipc-0` socket (out of up to 10 potential sockets) is not exactly the best solution for this, and also only gets correctly forwarded into the sandbox if Discord is already running (which is similar to the proposed Canary case).\r\n\r\nEvidence of `:create` being a problem:\r\n```\r\nError: listen EADDRINUSE: address already in use /run/user/1000/discord-ipc-0\r\n```\r\n\r\nRelated PR: #14120", 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14862/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/14862/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5647773947', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14862#issuecomment-5647773947', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14862', 'id': 5647773947, 'node_id': 'IC_kwDOALCn2M8AAAABUKIw-w', 'user': {'login': 'matellush', 'id': 202132988, 'node_id': 'U_kgDODAxN_A', 'avatar_url': 'https://avatars.githubusercontent.com/u/202132988?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/matellush', 'html_url': 'https://github.com/matellush', 'followers_url': 'https://api.github.com/users/matellush/followers', 'following_url': 'https://api.github.com/users/matellush/following{/other_user}', 'gists_url': 'https://api.github.com/users/matellush/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/matellush/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/matellush/subscriptions', 'organizations_url': 'https://api.github.com/users/matellush/orgs', 'repos_url': 'https://api.github.com/users/matellush/repos', 'events_url': 'https://api.github.com/users/matellush/events{/privacy}', 'received_events_url': 'https://api.github.com/users/matellush/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2026-09-12T18:16:23Z', 'updated_at': '2026-09-12T18:16:23Z', 'body': "> > Now, while looking at this, I noticed that the other `--filesystem=xdg-run/discord-ipc-0:create` flag, which is intended to expose a non-Flatpak Discord socket, is wrong. Due to the `:create` suffix, if Discord is not running, a directory will be created rather than a socket, breaking rich presence. The path must not be treated as a directory, which is why the suffix was removed.\r\n> \r\n> On this, this was directly taken from the flatpak's wiki: https://github.com/flathub/com.discordapp.Discord/wiki/Rich-Precense-(discord-rpc)#flatpak-applications\r\n> \r\n> > Add `--filesystem=xdg-run/app/com.discordapp.Discord:create` to `finish-args`\r\n> \r\n> If you are sure this is incorrect, could you modify that wiki page for others, or otherwise raise an issue in the repository?\r\n\r\nYou are reading this wrong. Note the difference between `--filesystem=xdg-run/discord-ipc-0:create` and `--filesystem=xdg-run/app/com.discordapp.Discord:create`.", 'author_association': 'CONTRIBUTOR', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5647773947/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-12T17:37:49Z', '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': 15518, 'watchers_count': 15518, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3250, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 473, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3250, 'open_issues': 473, 'watchers': 15518, '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': 'matellush', 'id': 202132988, 'node_id': 'U_kgDODAxN_A', 'avatar_url': 'https://avatars.githubusercontent.com/u/202132988?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/matellush', 'html_url': 'https://github.com/matellush', 'followers_url': 'https://api.github.com/users/matellush/followers', 'following_url': 'https://api.github.com/users/matellush/following{/other_user}', 'gists_url': 'https://api.github.com/users/matellush/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/matellush/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/matellush/subscriptions', 'organizations_url': 'https://api.github.com/users/matellush/orgs', 'repos_url': 'https://api.github.com/users/matellush/repos', 'events_url': 'https://api.github.com/users/matellush/events{/privacy}', 'received_events_url': 'https://api.github.com/users/matellush/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'raw_gh_hook'}
2026-09-12T18:14:24.781341	{'source': 'webserver', 'gh_type': 'issue_comment', 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14862', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14862/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14862/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14862/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14862', 'id': 5434982070, 'node_id': 'PR_kwDOALCn2M8AAAABDRc87w', 'number': 14862, 'title': 'Flatpak: Fix Discord rich presence', 'user': {'login': 'matellush', 'id': 202132988, 'node_id': 'U_kgDODAxN_A', 'avatar_url': 'https://avatars.githubusercontent.com/u/202132988?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/matellush', 'html_url': 'https://github.com/matellush', 'followers_url': 'https://api.github.com/users/matellush/followers', 'following_url': 'https://api.github.com/users/matellush/following{/other_user}', 'gists_url': 'https://api.github.com/users/matellush/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/matellush/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/matellush/subscriptions', 'organizations_url': 'https://api.github.com/users/matellush/orgs', 'repos_url': 'https://api.github.com/users/matellush/repos', 'events_url': 'https://api.github.com/users/matellush/events{/privacy}', 'received_events_url': 'https://api.github.com/users/matellush/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-12T17:42:43Z', 'updated_at': '2026-09-12T18:14:23Z', 'closed_at': None, 'assignee': None, 'author_association': 'CONTRIBUTOR', 'issue_field_values': [], 'type': None, 'active_lock_reason': None, 'draft': False, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14862', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14862', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14862.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14862.patch', 'merged_at': None}, 'body': "The main goal of this PR is to support Flatpak install of the `beta` branch of Discord (Discord Canary) for rich presence. The way I propose it, a Discord Canary Flatpak running while Dolphin is started using the Dolphin wrapper should be picked up if no stable (or native) version of Discord is running at the same time.\r\n\r\nThe flow works as follows (if `$XDG_RUNTIME_DIR/discord-ipc-0` starts out as a regular file, directory, or is non-existent; assuming no symlinks exist inside the sandbox yet):\r\n- If only the stable Discord Flatpak is running with, e.g., its `discord-ipc-0` socket exposed in `$XDG_RUNTIME_DIR/app/com.discordapp.Discord`, then the first `test ... || ln -sf ...` line will see that `$XDG_RUNTIME_DIR/discord-ipc-0` is not a socket and will thus make it point to `$XDG_RUNTIME_DIR/app/com.discordapp.Discord/discord-ipc-0`. The subsequent two lines would run the `test` and see that the file represented by `$XDG_RUNTIME_DIR/discord-ipc-0` is indeed now a socket, and will not change the symlink(s).\r\n- If only the beta Discord Canary Flatpak is running with its  `discord-ipc-0` socket exposed in `$XDG_RUNTIME_DIR/app/com.discordapp.DiscordCanary`, then the first `test ... || ln -sf ...` line will see that `$XDG_RUNTIME_DIR/discord-ipc-0` is not a socket and will thus make it point to `$XDG_RUNTIME_DIR/app/com.discordapp.Discord/discord-ipc-0` (same as above). The second `test` line will test `$XDG_RUNTIME_DIR/discord-ipc-0` again, and see that it is not a socket due to being a broken symlink. The `ln -sf ...` part will now make `$XDG_RUNTIME_DIR/discord-ipc-0` point to `$XDG_RUNTIME_DIR/app/com.discordapp.DiscordCanary/discord-ipc-0`, which is the socket of Discord Canary. Thus, the third `test` line will return early and not change the symlink again.\r\n- If both stable and beta Discord Flatpak versions are running, the stable version should take precedence as it is the first candidate symlink target.\r\n- If none of the two Discord Flatpak versions are running, the third `test` line ensures that `$XDG_RUNTIME_DIR/discord-ipc-0` ends up pointing at `$XDG_RUNTIME_DIR/app/com.discordapp.Discord/discord-ipc-0` (the stable version's socket location) with a dangling symlink, prioritizing the stable installation. Since the entire `xdg-run/app/com.discordapp.Discord:create` directory is exposed, launching the stable Discord Flatpak at a later time should make the symlink point to its socket.\r\n\r\nNow, while looking at this, I noticed that the other `--filesystem=xdg-run/discord-ipc-0:create` flag, which is intended to expose a non-Flatpak Discord socket, is wrong. Due to the `:create` suffix, if Discord is not running, a directory will be created rather than a socket, breaking rich presence. The path must not be treated as a directory, which is why the suffix was removed. It now behaves like this: If the socket file exists, it is exposed to the Dolphin Flatpak, and if it does not exist, a `0-byte` regular file is created inside Dolphin's sandbox, which can then be symlinked to point to something else by the wrapper. It should be noted that exposing the single native `discord-ipc-0` socket (out of up to 10 potential sockets) is not exactly the best solution for this, and also only gets correctly forwarded into the sandbox if Discord is already running (which is similar to the proposed Canary case).\r\n\r\nEvidence of `:create` being a problem:\r\n```\r\nError: listen EADDRINUSE: address already in use /run/user/1000/discord-ipc-0\r\n```\r\n\r\nRelated PR: #14120", 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14862/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/14862/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5647762286', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14862#issuecomment-5647762286', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14862', 'id': 5647762286, 'node_id': 'IC_kwDOALCn2M8AAAABUKIDbg', '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-12T18:14:23Z', 'updated_at': '2026-09-12T18:14:23Z', 'body': "> Now, while looking at this, I noticed that the other `--filesystem=xdg-run/discord-ipc-0:create` flag, which is intended to expose a non-Flatpak Discord socket, is wrong. Due to the `:create` suffix, if Discord is not running, a directory will be created rather than a socket, breaking rich presence. The path must not be treated as a directory, which is why the suffix was removed. \r\n\r\nOn this, this was directly taken from the flatpak's wiki: https://github.com/flathub/com.discordapp.Discord/wiki/Rich-Precense-(discord-rpc)#flatpak-applications\r\n\r\n> Add `--filesystem=xdg-run/app/com.discordapp.Discord:create` to `finish-args`\r\n\r\nIf you are sure this is incorrect, could you modify that wiki page for others, or otherwise raise an issue in the repository?", 'author_association': 'MEMBER', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/5647762286/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-12T17:37:49Z', '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': 15518, 'watchers_count': 15518, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3250, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 473, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3250, 'open_issues': 473, 'watchers': 15518, '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-12T17:42:45.249123	{'source': 'webserver', 'gh_type': 'pull_request', 'raw': {'action': 'opened', 'number': 14862, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14862', 'id': 4514594031, 'node_id': 'PR_kwDOALCn2M8AAAABDRc87w', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14862', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14862.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14862.patch', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14862', 'number': 14862, 'state': 'open', 'locked': False, 'title': 'Flatpak: Fix Discord rich presence', 'user': {'login': 'matellush', 'id': 202132988, 'node_id': 'U_kgDODAxN_A', 'avatar_url': 'https://avatars.githubusercontent.com/u/202132988?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/matellush', 'html_url': 'https://github.com/matellush', 'followers_url': 'https://api.github.com/users/matellush/followers', 'following_url': 'https://api.github.com/users/matellush/following{/other_user}', 'gists_url': 'https://api.github.com/users/matellush/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/matellush/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/matellush/subscriptions', 'organizations_url': 'https://api.github.com/users/matellush/orgs', 'repos_url': 'https://api.github.com/users/matellush/repos', 'events_url': 'https://api.github.com/users/matellush/events{/privacy}', 'received_events_url': 'https://api.github.com/users/matellush/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': "The main goal of this PR is to support Flatpak install of the `beta` branch of Discord (Discord Canary) for rich presence. The way I propose it, a Discord Canary Flatpak running while Dolphin is started using the Dolphin wrapper should be picked up if no stable (or native) version of Discord is running at the same time.\r\n\r\nThe flow works as follows (if `$XDG_RUNTIME_DIR/discord-ipc-0` starts out as a regular file, directory, or is non-existent; assuming no symlinks exist inside the sandbox yet):\r\n- If only the stable Discord Flatpak is running with, e.g., its `discord-ipc-0` socket exposed in `$XDG_RUNTIME_DIR/app/com.discordapp.Discord`, then the first `test ... || ln -sf ...` line will see that `$XDG_RUNTIME_DIR/discord-ipc-0` is not a socket and will thus make it point to `$XDG_RUNTIME_DIR/app/com.discordapp.Discord/discord-ipc-0`. The subsequent two lines would run the `test` and see that the file represented by `$XDG_RUNTIME_DIR/discord-ipc-0` is indeed now a socket, and will not change the symlink(s).\r\n- If only the beta Discord Canary Flatpak is running with its  `discord-ipc-0` socket exposed in `$XDG_RUNTIME_DIR/app/com.discordapp.DiscordCanary`, then the first `test ... || ln -sf ...` line will see that `$XDG_RUNTIME_DIR/discord-ipc-0` is not a socket and will thus make it point to `$XDG_RUNTIME_DIR/app/com.discordapp.Discord/discord-ipc-0` (same as above). The second `test` line will test `$XDG_RUNTIME_DIR/discord-ipc-0` again, and see that it is not a socket due to being a broken symlink. The `ln -sf ...` part will now make `$XDG_RUNTIME_DIR/discord-ipc-0` point to `$XDG_RUNTIME_DIR/app/com.discordapp.DiscordCanary/discord-ipc-0`, which is the socket of Discord Canary. Thus, the third `test` line will return early and not change the symlink again.\r\n- If both stable and beta Discord Flatpak versions are running, the stable version should take precedence as it is the first candidate symlink target.\r\n- If none of the two Discord Flatpak versions are running, the third `test` line ensures that `$XDG_RUNTIME_DIR/discord-ipc-0` ends up pointing at `$XDG_RUNTIME_DIR/app/com.discordapp.Discord/discord-ipc-0` (the stable version's socket location) with a dangling symlink, prioritizing the stable installation. Since the entire `xdg-run/app/com.discordapp.Discord:create` directory is exposed, launching the stable Discord Flatpak at a later time should make the symlink point to its socket.\r\n\r\nNow, while looking at this, I noticed that the other `--filesystem=xdg-run/discord-ipc-0:create` flag, which is intended to expose a non-Flatpak Discord socket, is wrong. Due to the `:create` suffix, if Discord is not running, a directory will be created rather than a socket, breaking rich presence. The path must not be treated as a directory, which is why the suffix was removed. It now behaves like this: If the socket file exists, it is exposed to the Dolphin Flatpak, and if it does not exist, a `0-byte` regular file is created inside Dolphin's sandbox, which can then be symlinked to point to something else by the wrapper. It should be noted that exposing the single native `discord-ipc-0` socket (out of up to 10 potential sockets) is not exactly the best solution for this, and also only gets correctly forwarded into the sandbox if Discord is already running (which is similar to the proposed Canary case).\r\n\r\nEvidence of `:create` being a problem:\r\n```\r\nError: listen EADDRINUSE: address already in use /run/user/1000/discord-ipc-0\r\n```\r\n\r\nRelated PR: #14120", 'created_at': '2026-09-12T17:42:43Z', 'updated_at': '2026-09-12T17:42:43Z', '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/14862/commits', 'review_comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14862/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/14862/comments', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/304a534d16c1d68f5e2a8fbf7778253ca2551713', 'head': {'label': 'matellush:flatpak/discord-rich-presence', 'ref': 'flatpak/discord-rich-presence', 'sha': '304a534d16c1d68f5e2a8fbf7778253ca2551713', 'user': {'login': 'matellush', 'id': 202132988, 'node_id': 'U_kgDODAxN_A', 'avatar_url': 'https://avatars.githubusercontent.com/u/202132988?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/matellush', 'html_url': 'https://github.com/matellush', 'followers_url': 'https://api.github.com/users/matellush/followers', 'following_url': 'https://api.github.com/users/matellush/following{/other_user}', 'gists_url': 'https://api.github.com/users/matellush/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/matellush/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/matellush/subscriptions', 'organizations_url': 'https://api.github.com/users/matellush/orgs', 'repos_url': 'https://api.github.com/users/matellush/repos', 'events_url': 'https://api.github.com/users/matellush/events{/privacy}', 'received_events_url': 'https://api.github.com/users/matellush/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 1367433445, 'node_id': 'R_kgDOUYFg5Q', 'name': 'dolphin', 'full_name': 'matellush/dolphin', 'private': False, 'owner': {'login': 'matellush', 'id': 202132988, 'node_id': 'U_kgDODAxN_A', 'avatar_url': 'https://avatars.githubusercontent.com/u/202132988?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/matellush', 'html_url': 'https://github.com/matellush', 'followers_url': 'https://api.github.com/users/matellush/followers', 'following_url': 'https://api.github.com/users/matellush/following{/other_user}', 'gists_url': 'https://api.github.com/users/matellush/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/matellush/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/matellush/subscriptions', 'organizations_url': 'https://api.github.com/users/matellush/orgs', 'repos_url': 'https://api.github.com/users/matellush/repos', 'events_url': 'https://api.github.com/users/matellush/events{/privacy}', 'received_events_url': 'https://api.github.com/users/matellush/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/matellush/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/matellush/dolphin', 'forks_url': 'https://api.github.com/repos/matellush/dolphin/forks', 'keys_url': 'https://api.github.com/repos/matellush/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/matellush/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/matellush/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/matellush/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/matellush/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/matellush/dolphin/events', 'assignees_url': 'https://api.github.com/repos/matellush/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/matellush/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/matellush/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/matellush/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/matellush/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/matellush/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/matellush/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/matellush/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/matellush/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/matellush/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/matellush/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/matellush/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/matellush/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/matellush/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/matellush/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/matellush/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/matellush/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/matellush/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/matellush/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/matellush/dolphin/merges', 'archive_url': 'https://api.github.com/repos/matellush/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/matellush/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/matellush/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/matellush/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/matellush/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/matellush/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/matellush/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/matellush/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/matellush/dolphin/deployments', 'created_at': '2026-09-12T15:38:38Z', 'updated_at': '2026-09-12T15:38:38Z', 'pushed_at': '2026-09-12T17:11:17Z', 'git_url': 'git://github.com/matellush/dolphin.git', 'ssh_url': 'git@github.com:matellush/dolphin.git', 'clone_url': 'https://github.com/matellush/dolphin.git', 'svn_url': 'https://github.com/matellush/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 516917, 'stargazers_count': 0, 'watchers_count': 0, 'language': None, 'has_issues': False, 'has_projects': True, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 0, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 0, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': [], 'visibility': 'public', 'forks': 0, 'open_issues': 0, 'watchers': 0, 'default_branch': 'master', 'allow_squash_merge': True, 'allow_merge_commit': True, 'allow_rebase_merge': True, 'allow_auto_merge': False, 'delete_branch_on_merge': False, 'allow_update_branch': False, 'use_squash_pr_title_as_default': False, 'squash_merge_commit_message': 'COMMIT_MESSAGES', 'squash_merge_commit_title': 'COMMIT_OR_PR_TITLE', 'merge_commit_message': 'PR_TITLE', 'merge_commit_title': 'MERGE_MESSAGE'}}, 'base': {'label': 'dolphin-emu:master', 'ref': 'master', 'sha': 'a2efdf1197be8132674b90fe9cf4761df39752ed', '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-12T17:37:49Z', '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': 15518, 'watchers_count': 15518, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3250, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 473, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3250, 'open_issues': 473, 'watchers': 15518, '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/14862'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14862'}, 'issue': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14862'}, 'comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14862/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14862/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/14862/commits'}, 'statuses': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/304a534d16c1d68f5e2a8fbf7778253ca2551713'}}, 'author_association': 'CONTRIBUTOR', 'auto_merge': None, 'assignee': None, 'active_lock_reason': None, 'merged': False, 'mergeable': None, 'rebaseable': None, 'mergeable_state': 'unknown', 'merged_by': None, 'comments': 0, 'review_comments': 0, 'maintainer_can_modify': True, 'commits': 2, 'additions': 8, 'deletions': 1, 'changed_files': 2}, 'repository': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-09-12T17:37:49Z', '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': 15518, 'watchers_count': 15518, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3250, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 473, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3250, 'open_issues': 473, 'watchers': 15518, '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': 'matellush', 'id': 202132988, 'node_id': 'U_kgDODAxN_A', 'avatar_url': 'https://avatars.githubusercontent.com/u/202132988?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/matellush', 'html_url': 'https://github.com/matellush', 'followers_url': 'https://api.github.com/users/matellush/followers', 'following_url': 'https://api.github.com/users/matellush/following{/other_user}', 'gists_url': 'https://api.github.com/users/matellush/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/matellush/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/matellush/subscriptions', 'organizations_url': 'https://api.github.com/users/matellush/orgs', 'repos_url': 'https://api.github.com/users/matellush/repos', 'events_url': 'https://api.github.com/users/matellush/events{/privacy}', 'received_events_url': 'https://api.github.com/users/matellush/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'raw_gh_hook'}
2026-09-12T15:52:17.574035	{'source': 'webserver', 'gh_type': 'pull_request', 'raw': {'action': 'opened', 'number': 14861, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14861', 'id': 4514086867, 'node_id': 'PR_kwDOALCn2M8AAAABDQ9_0w', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14861', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14861.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14861.patch', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14861', 'number': 14861, 'state': 'open', 'locked': False, 'title': 'Flatpak: Bump `libevdev` to `1.13.7`', 'user': {'login': 'matellush', 'id': 202132988, 'node_id': 'U_kgDODAxN_A', 'avatar_url': 'https://avatars.githubusercontent.com/u/202132988?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/matellush', 'html_url': 'https://github.com/matellush', 'followers_url': 'https://api.github.com/users/matellush/followers', 'following_url': 'https://api.github.com/users/matellush/following{/other_user}', 'gists_url': 'https://api.github.com/users/matellush/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/matellush/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/matellush/subscriptions', 'organizations_url': 'https://api.github.com/users/matellush/orgs', 'repos_url': 'https://api.github.com/users/matellush/repos', 'events_url': 'https://api.github.com/users/matellush/events{/privacy}', 'received_events_url': 'https://api.github.com/users/matellush/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': "Bumps `libevdev` to the latest version.\r\n\r\nIn case anyone wasn't aware: The `x-checker-data` information can be used by `flatpak-external-data-checker` to discover new releases of dependencies:\r\n```\r\nflatpak run org.flathub.flatpak-external-data-checker Flatpak/org.DolphinEmu.dolphin-emu.yml\r\nINFO    src.manifest: Checking 1 external data items\r\nINFO    src.manifest: Started check [1/1] archive libevdev/libevdev-1.13.7.tar.xz (from org.DolphinEmu.dolphin-emu.yml)\r\nINFO    src.manifest: Finished check [1/1] archive libevdev/libevdev-1.13.7.tar.xz (from org.DolphinEmu.dolphin-emu.yml)\r\nINFO    src.main: Check finished with 0 error(s)\r\n```", 'created_at': '2026-09-12T15:52:15Z', 'updated_at': '2026-09-12T15:52:15Z', '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/14861/commits', 'review_comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14861/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/14861/comments', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/958ea7855b64ab16095452f4d717c5f845b26677', 'head': {'label': 'matellush:flatpak/libevdev', 'ref': 'flatpak/libevdev', 'sha': '958ea7855b64ab16095452f4d717c5f845b26677', 'user': {'login': 'matellush', 'id': 202132988, 'node_id': 'U_kgDODAxN_A', 'avatar_url': 'https://avatars.githubusercontent.com/u/202132988?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/matellush', 'html_url': 'https://github.com/matellush', 'followers_url': 'https://api.github.com/users/matellush/followers', 'following_url': 'https://api.github.com/users/matellush/following{/other_user}', 'gists_url': 'https://api.github.com/users/matellush/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/matellush/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/matellush/subscriptions', 'organizations_url': 'https://api.github.com/users/matellush/orgs', 'repos_url': 'https://api.github.com/users/matellush/repos', 'events_url': 'https://api.github.com/users/matellush/events{/privacy}', 'received_events_url': 'https://api.github.com/users/matellush/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 1367433445, 'node_id': 'R_kgDOUYFg5Q', 'name': 'dolphin', 'full_name': 'matellush/dolphin', 'private': False, 'owner': {'login': 'matellush', 'id': 202132988, 'node_id': 'U_kgDODAxN_A', 'avatar_url': 'https://avatars.githubusercontent.com/u/202132988?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/matellush', 'html_url': 'https://github.com/matellush', 'followers_url': 'https://api.github.com/users/matellush/followers', 'following_url': 'https://api.github.com/users/matellush/following{/other_user}', 'gists_url': 'https://api.github.com/users/matellush/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/matellush/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/matellush/subscriptions', 'organizations_url': 'https://api.github.com/users/matellush/orgs', 'repos_url': 'https://api.github.com/users/matellush/repos', 'events_url': 'https://api.github.com/users/matellush/events{/privacy}', 'received_events_url': 'https://api.github.com/users/matellush/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/matellush/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/matellush/dolphin', 'forks_url': 'https://api.github.com/repos/matellush/dolphin/forks', 'keys_url': 'https://api.github.com/repos/matellush/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/matellush/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/matellush/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/matellush/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/matellush/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/matellush/dolphin/events', 'assignees_url': 'https://api.github.com/repos/matellush/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/matellush/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/matellush/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/matellush/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/matellush/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/matellush/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/matellush/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/matellush/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/matellush/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/matellush/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/matellush/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/matellush/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/matellush/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/matellush/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/matellush/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/matellush/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/matellush/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/matellush/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/matellush/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/matellush/dolphin/merges', 'archive_url': 'https://api.github.com/repos/matellush/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/matellush/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/matellush/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/matellush/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/matellush/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/matellush/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/matellush/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/matellush/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/matellush/dolphin/deployments', 'created_at': '2026-09-12T15:38:38Z', 'updated_at': '2026-09-12T15:38:38Z', 'pushed_at': '2026-09-12T15:44:06Z', 'git_url': 'git://github.com/matellush/dolphin.git', 'ssh_url': 'git@github.com:matellush/dolphin.git', 'clone_url': 'https://github.com/matellush/dolphin.git', 'svn_url': 'https://github.com/matellush/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 559864, 'stargazers_count': 0, 'watchers_count': 0, 'language': None, 'has_issues': False, 'has_projects': True, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 0, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 0, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': [], 'visibility': 'public', 'forks': 0, 'open_issues': 0, 'watchers': 0, 'default_branch': 'master', 'allow_squash_merge': True, 'allow_merge_commit': True, 'allow_rebase_merge': True, 'allow_auto_merge': False, 'delete_branch_on_merge': False, 'allow_update_branch': False, 'use_squash_pr_title_as_default': False, 'squash_merge_commit_message': 'COMMIT_MESSAGES', 'squash_merge_commit_title': 'COMMIT_OR_PR_TITLE', 'merge_commit_message': 'PR_TITLE', 'merge_commit_title': 'MERGE_MESSAGE'}}, 'base': {'label': 'dolphin-emu:master', 'ref': 'master', 'sha': 'a2efdf1197be8132674b90fe9cf4761df39752ed', '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-12T13:15:25Z', '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': 15516, 'watchers_count': 15516, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3250, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 472, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3250, 'open_issues': 472, 'watchers': 15516, '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/14861'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14861'}, 'issue': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14861'}, 'comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14861/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14861/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/14861/commits'}, 'statuses': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/958ea7855b64ab16095452f4d717c5f845b26677'}}, 'author_association': 'CONTRIBUTOR', 'auto_merge': None, 'assignee': None, 'active_lock_reason': None, 'merged': False, 'mergeable': None, 'rebaseable': None, 'mergeable_state': 'unknown', 'merged_by': None, 'comments': 0, 'review_comments': 0, 'maintainer_can_modify': True, 'commits': 1, 'additions': 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-12T13:15:25Z', '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': 15516, 'watchers_count': 15516, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3250, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 472, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3250, 'open_issues': 472, 'watchers': 15516, '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': 'matellush', 'id': 202132988, 'node_id': 'U_kgDODAxN_A', 'avatar_url': 'https://avatars.githubusercontent.com/u/202132988?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/matellush', 'html_url': 'https://github.com/matellush', 'followers_url': 'https://api.github.com/users/matellush/followers', 'following_url': 'https://api.github.com/users/matellush/following{/other_user}', 'gists_url': 'https://api.github.com/users/matellush/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/matellush/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/matellush/subscriptions', 'organizations_url': 'https://api.github.com/users/matellush/orgs', 'repos_url': 'https://api.github.com/users/matellush/repos', 'events_url': 'https://api.github.com/users/matellush/events{/privacy}', 'received_events_url': 'https://api.github.com/users/matellush/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'raw_gh_hook'}
2026-09-12T05:43:50.995964	{'source': 'webserver', 'gh_type': 'check_run', 'raw': {'action': 'completed', 'check_run': {'id': 103504692096, 'name': 'altair', 'node_id': 'CR_kwDOALAO3s8AAAAYGVxDgA', 'head_sha': 'c9a39bd1b330eaa54110480b3bb2626008b05140', 'external_id': '91b97e0c-5e7a-5fa5-9526-8868918b579d', 'url': 'https://api.github.com/repos/dolphin-emu/sadm/check-runs/103504692096', 'html_url': 'https://github.com/dolphin-emu/sadm/actions/runs/34675561123/job/103504692096', 'details_url': 'https://github.com/dolphin-emu/sadm/actions/runs/34675561123/job/103504692096', 'status': 'completed', 'conclusion': 'success', 'started_at': '2026-09-12T05:25:54Z', 'completed_at': '2026-09-12T05:43:49Z', 'output': {'title': None, 'summary': None, 'text': None, 'annotations_count': 0, 'annotations_url': 'https://api.github.com/repos/dolphin-emu/sadm/check-runs/103504692096/annotations'}, 'check_suite': {'id': 93931732027, 'node_id': 'CS_kwDOALAO3s8AAAAV3sR8Ow', 'head_branch': 'actions-test', 'head_sha': 'c9a39bd1b330eaa54110480b3bb2626008b05140', 'status': 'completed', 'conclusion': 'success', 'url': 'https://api.github.com/repos/dolphin-emu/sadm/check-suites/93931732027', 'before': '262aeea52824404badb521ccd19bbb9d5a451f45', 'after': 'c9a39bd1b330eaa54110480b3bb2626008b05140', 'pull_requests': [], 'app': {'id': 15368, 'client_id': 'Iv1.05c79e9ad1f6bdfa', 'slug': 'github-actions', 'node_id': 'MDM6QXBwMTUzNjg=', 'owner': {'login': 'github', 'id': 9919, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjk5MTk=', 'avatar_url': 'https://avatars.githubusercontent.com/u/9919?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/github', 'html_url': 'https://github.com/github', 'followers_url': 'https://api.github.com/users/github/followers', 'following_url': 'https://api.github.com/users/github/following{/other_user}', 'gists_url': 'https://api.github.com/users/github/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/github/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/github/subscriptions', 'organizations_url': 'https://api.github.com/users/github/orgs', 'repos_url': 'https://api.github.com/users/github/repos', 'events_url': 'https://api.github.com/users/github/events{/privacy}', 'received_events_url': 'https://api.github.com/users/github/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'name': 'GitHub Actions', 'description': 'Automate your workflow from idea to production', 'external_url': 'https://help.github.com/en/actions', 'html_url': 'https://github.com/apps/github-actions', 'created_at': '2018-07-30T09:30:17Z', 'updated_at': '2026-06-18T16:17:48Z', 'permissions': {'actions': 'write', 'administration': 'read', 'artifact_metadata': 'write', 'attestations': 'write', 'checks': 'write', 'code_quality': 'write', 'contents': 'write', 'copilot_requests': 'write', 'deployments': 'write', 'discussions': 'write', 'drives': 'write', 'issues': 'write', 'merge_queues': 'write', 'metadata': 'read', 'models': 'read', 'packages': 'write', 'pages': 'write', 'pull_requests': 'write', 'repository_hooks': 'write', 'repository_projects': 'write', 'security_events': 'write', 'statuses': 'write', 'vulnerability_alerts': 'read'}, 'events': ['branch_protection_rule', 'check_run', 'check_suite', 'create', 'delete', 'deployment', 'deployment_status', 'discussion', 'discussion_comment', 'fork', 'gollum', 'issues', 'issue_comment', 'label', 'merge_group', 'milestone', 'page_build', 'public', 'pull_request', 'pull_request_review', 'pull_request_review_comment', 'push', 'registry_package', 'release', 'repository', 'repository_dispatch', 'status', 'watch', 'workflow_dispatch', 'workflow_run']}, 'created_at': '2026-09-12T05:25:50Z', 'updated_at': '2026-09-12T05:43:49Z'}, 'app': {'id': 15368, 'client_id': 'Iv1.05c79e9ad1f6bdfa', 'slug': 'github-actions', 'node_id': 'MDM6QXBwMTUzNjg=', 'owner': {'login': 'github', 'id': 9919, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjk5MTk=', 'avatar_url': 'https://avatars.githubusercontent.com/u/9919?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/github', 'html_url': 'https://github.com/github', 'followers_url': 'https://api.github.com/users/github/followers', 'following_url': 'https://api.github.com/users/github/following{/other_user}', 'gists_url': 'https://api.github.com/users/github/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/github/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/github/subscriptions', 'organizations_url': 'https://api.github.com/users/github/orgs', 'repos_url': 'https://api.github.com/users/github/repos', 'events_url': 'https://api.github.com/users/github/events{/privacy}', 'received_events_url': 'https://api.github.com/users/github/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'name': 'GitHub Actions', 'description': 'Automate your workflow from idea to production', 'external_url': 'https://help.github.com/en/actions', 'html_url': 'https://github.com/apps/github-actions', 'created_at': '2018-07-30T09:30:17Z', 'updated_at': '2026-06-18T16:17:48Z', 'permissions': {'actions': 'write', 'administration': 'read', 'artifact_metadata': 'write', 'attestations': 'write', 'checks': 'write', 'code_quality': 'write', 'contents': 'write', 'copilot_requests': 'write', 'deployments': 'write', 'discussions': 'write', 'drives': 'write', 'issues': 'write', 'merge_queues': 'write', 'metadata': 'read', 'models': 'read', 'packages': 'write', 'pages': 'write', 'pull_requests': 'write', 'repository_hooks': 'write', 'repository_projects': 'write', 'security_events': 'write', 'statuses': 'write', 'vulnerability_alerts': 'read'}, 'events': ['branch_protection_rule', 'check_run', 'check_suite', 'create', 'delete', 'deployment', 'deployment_status', 'discussion', 'discussion_comment', 'fork', 'gollum', 'issues', 'issue_comment', 'label', 'merge_group', 'milestone', 'page_build', 'public', 'pull_request', 'pull_request_review', 'pull_request_review_comment', 'push', 'registry_package', 'release', 'repository', 'repository_dispatch', 'status', 'watch', 'workflow_dispatch', 'workflow_run']}, 'pull_requests': []}, 'repository': {'id': 11538142, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTUzODE0Mg==', 'name': 'sadm', 'full_name': 'dolphin-emu/sadm', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/sadm', 'description': 'Scripts and configurations for the Dolphin Emulator infrastructure', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/sadm', 'forks_url': 'https://api.github.com/repos/dolphin-emu/sadm/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/sadm/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/sadm/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/sadm/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/sadm/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/sadm/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/sadm/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/sadm/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/sadm/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/sadm/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/sadm/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/sadm/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/sadm/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/sadm/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/sadm/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/sadm/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/sadm/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/sadm/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/sadm/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/sadm/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/sadm/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/sadm/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/sadm/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/sadm/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/sadm/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/sadm/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/sadm/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/sadm/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/sadm/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/sadm/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/sadm/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/sadm/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/sadm/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/sadm/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/sadm/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/sadm/deployments', 'created_at': '2013-07-19T22:07:05Z', 'updated_at': '2026-08-23T04:10:55Z', 'pushed_at': '2026-09-12T05:25:49Z', 'git_url': 'git://github.com/dolphin-emu/sadm.git', 'ssh_url': 'git@github.com:dolphin-emu/sadm.git', 'clone_url': 'https://github.com/dolphin-emu/sadm.git', 'svn_url': 'https://github.com/dolphin-emu/sadm', 'homepage': '', 'size': 1274, 'stargazers_count': 50, 'watchers_count': 50, 'language': 'Nix', 'has_issues': True, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 42, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 4, 'license': {'key': 'mit', 'name': 'MIT License', 'spdx_id': 'MIT', 'url': 'https://api.github.com/licenses/mit', 'node_id': 'MDc6TGljZW5zZTEz'}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': [], 'visibility': 'public', 'forks': 42, 'open_issues': 4, 'watchers': 50, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'OatmealDome', 'id': 11504941, 'node_id': 'MDQ6VXNlcjExNTA0OTQx', 'avatar_url': 'https://avatars.githubusercontent.com/u/11504941?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/OatmealDome', 'html_url': 'https://github.com/OatmealDome', 'followers_url': 'https://api.github.com/users/OatmealDome/followers', 'following_url': 'https://api.github.com/users/OatmealDome/following{/other_user}', 'gists_url': 'https://api.github.com/users/OatmealDome/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/OatmealDome/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/OatmealDome/subscriptions', 'organizations_url': 'https://api.github.com/users/OatmealDome/orgs', 'repos_url': 'https://api.github.com/users/OatmealDome/repos', 'events_url': 'https://api.github.com/users/OatmealDome/events{/privacy}', 'received_events_url': 'https://api.github.com/users/OatmealDome/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'raw_gh_hook'}
2026-09-12T05:27:39.388549	{'source': 'webserver', 'gh_type': 'check_run', 'raw': {'action': 'completed', 'check_run': {'id': 103504691876, 'name': 'deneb', 'node_id': 'CR_kwDOALAO3s8AAAAYGVxCpA', 'head_sha': 'c9a39bd1b330eaa54110480b3bb2626008b05140', 'external_id': 'e0ed8a22-c7aa-5b58-a5f0-a5a7d9b5aa74', 'url': 'https://api.github.com/repos/dolphin-emu/sadm/check-runs/103504691876', 'html_url': 'https://github.com/dolphin-emu/sadm/actions/runs/34675561123/job/103504691876', 'details_url': 'https://github.com/dolphin-emu/sadm/actions/runs/34675561123/job/103504691876', 'status': 'completed', 'conclusion': 'success', 'started_at': '2026-09-12T05:25:55Z', 'completed_at': '2026-09-12T05:27:37Z', 'output': {'title': None, 'summary': None, 'text': None, 'annotations_count': 0, 'annotations_url': 'https://api.github.com/repos/dolphin-emu/sadm/check-runs/103504691876/annotations'}, 'check_suite': {'id': 93931732027, 'node_id': 'CS_kwDOALAO3s8AAAAV3sR8Ow', 'head_branch': 'actions-test', 'head_sha': 'c9a39bd1b330eaa54110480b3bb2626008b05140', 'status': 'in_progress', 'conclusion': None, 'url': 'https://api.github.com/repos/dolphin-emu/sadm/check-suites/93931732027', 'before': '262aeea52824404badb521ccd19bbb9d5a451f45', 'after': 'c9a39bd1b330eaa54110480b3bb2626008b05140', 'pull_requests': [], 'app': {'id': 15368, 'client_id': 'Iv1.05c79e9ad1f6bdfa', 'slug': 'github-actions', 'node_id': 'MDM6QXBwMTUzNjg=', 'owner': {'login': 'github', 'id': 9919, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjk5MTk=', 'avatar_url': 'https://avatars.githubusercontent.com/u/9919?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/github', 'html_url': 'https://github.com/github', 'followers_url': 'https://api.github.com/users/github/followers', 'following_url': 'https://api.github.com/users/github/following{/other_user}', 'gists_url': 'https://api.github.com/users/github/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/github/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/github/subscriptions', 'organizations_url': 'https://api.github.com/users/github/orgs', 'repos_url': 'https://api.github.com/users/github/repos', 'events_url': 'https://api.github.com/users/github/events{/privacy}', 'received_events_url': 'https://api.github.com/users/github/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'name': 'GitHub Actions', 'description': 'Automate your workflow from idea to production', 'external_url': 'https://help.github.com/en/actions', 'html_url': 'https://github.com/apps/github-actions', 'created_at': '2018-07-30T09:30:17Z', 'updated_at': '2026-06-18T16:17:48Z', 'permissions': {'actions': 'write', 'administration': 'read', 'artifact_metadata': 'write', 'attestations': 'write', 'checks': 'write', 'code_quality': 'write', 'contents': 'write', 'copilot_requests': 'write', 'deployments': 'write', 'discussions': 'write', 'drives': 'write', 'issues': 'write', 'merge_queues': 'write', 'metadata': 'read', 'models': 'read', 'packages': 'write', 'pages': 'write', 'pull_requests': 'write', 'repository_hooks': 'write', 'repository_projects': 'write', 'security_events': 'write', 'statuses': 'write', 'vulnerability_alerts': 'read'}, 'events': ['branch_protection_rule', 'check_run', 'check_suite', 'create', 'delete', 'deployment', 'deployment_status', 'discussion', 'discussion_comment', 'fork', 'gollum', 'issues', 'issue_comment', 'label', 'merge_group', 'milestone', 'page_build', 'public', 'pull_request', 'pull_request_review', 'pull_request_review_comment', 'push', 'registry_package', 'release', 'repository', 'repository_dispatch', 'status', 'watch', 'workflow_dispatch', 'workflow_run']}, 'created_at': '2026-09-12T05:25:50Z', 'updated_at': '2026-09-12T05:25:55Z'}, 'app': {'id': 15368, 'client_id': 'Iv1.05c79e9ad1f6bdfa', 'slug': 'github-actions', 'node_id': 'MDM6QXBwMTUzNjg=', 'owner': {'login': 'github', 'id': 9919, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjk5MTk=', 'avatar_url': 'https://avatars.githubusercontent.com/u/9919?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/github', 'html_url': 'https://github.com/github', 'followers_url': 'https://api.github.com/users/github/followers', 'following_url': 'https://api.github.com/users/github/following{/other_user}', 'gists_url': 'https://api.github.com/users/github/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/github/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/github/subscriptions', 'organizations_url': 'https://api.github.com/users/github/orgs', 'repos_url': 'https://api.github.com/users/github/repos', 'events_url': 'https://api.github.com/users/github/events{/privacy}', 'received_events_url': 'https://api.github.com/users/github/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'name': 'GitHub Actions', 'description': 'Automate your workflow from idea to production', 'external_url': 'https://help.github.com/en/actions', 'html_url': 'https://github.com/apps/github-actions', 'created_at': '2018-07-30T09:30:17Z', 'updated_at': '2026-06-18T16:17:48Z', 'permissions': {'actions': 'write', 'administration': 'read', 'artifact_metadata': 'write', 'attestations': 'write', 'checks': 'write', 'code_quality': 'write', 'contents': 'write', 'copilot_requests': 'write', 'deployments': 'write', 'discussions': 'write', 'drives': 'write', 'issues': 'write', 'merge_queues': 'write', 'metadata': 'read', 'models': 'read', 'packages': 'write', 'pages': 'write', 'pull_requests': 'write', 'repository_hooks': 'write', 'repository_projects': 'write', 'security_events': 'write', 'statuses': 'write', 'vulnerability_alerts': 'read'}, 'events': ['branch_protection_rule', 'check_run', 'check_suite', 'create', 'delete', 'deployment', 'deployment_status', 'discussion', 'discussion_comment', 'fork', 'gollum', 'issues', 'issue_comment', 'label', 'merge_group', 'milestone', 'page_build', 'public', 'pull_request', 'pull_request_review', 'pull_request_review_comment', 'push', 'registry_package', 'release', 'repository', 'repository_dispatch', 'status', 'watch', 'workflow_dispatch', 'workflow_run']}, 'pull_requests': []}, 'repository': {'id': 11538142, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTUzODE0Mg==', 'name': 'sadm', 'full_name': 'dolphin-emu/sadm', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/sadm', 'description': 'Scripts and configurations for the Dolphin Emulator infrastructure', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/sadm', 'forks_url': 'https://api.github.com/repos/dolphin-emu/sadm/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/sadm/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/sadm/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/sadm/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/sadm/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/sadm/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/sadm/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/sadm/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/sadm/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/sadm/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/sadm/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/sadm/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/sadm/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/sadm/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/sadm/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/sadm/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/sadm/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/sadm/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/sadm/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/sadm/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/sadm/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/sadm/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/sadm/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/sadm/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/sadm/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/sadm/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/sadm/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/sadm/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/sadm/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/sadm/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/sadm/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/sadm/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/sadm/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/sadm/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/sadm/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/sadm/deployments', 'created_at': '2013-07-19T22:07:05Z', 'updated_at': '2026-08-23T04:10:55Z', 'pushed_at': '2026-09-12T05:25:49Z', 'git_url': 'git://github.com/dolphin-emu/sadm.git', 'ssh_url': 'git@github.com:dolphin-emu/sadm.git', 'clone_url': 'https://github.com/dolphin-emu/sadm.git', 'svn_url': 'https://github.com/dolphin-emu/sadm', 'homepage': '', 'size': 1274, 'stargazers_count': 50, 'watchers_count': 50, 'language': 'Nix', 'has_issues': True, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 42, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 4, 'license': {'key': 'mit', 'name': 'MIT License', 'spdx_id': 'MIT', 'url': 'https://api.github.com/licenses/mit', 'node_id': 'MDc6TGljZW5zZTEz'}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': [], 'visibility': 'public', 'forks': 42, 'open_issues': 4, 'watchers': 50, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'OatmealDome', 'id': 11504941, 'node_id': 'MDQ6VXNlcjExNTA0OTQx', 'avatar_url': 'https://avatars.githubusercontent.com/u/11504941?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/OatmealDome', 'html_url': 'https://github.com/OatmealDome', 'followers_url': 'https://api.github.com/users/OatmealDome/followers', 'following_url': 'https://api.github.com/users/OatmealDome/following{/other_user}', 'gists_url': 'https://api.github.com/users/OatmealDome/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/OatmealDome/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/OatmealDome/subscriptions', 'organizations_url': 'https://api.github.com/users/OatmealDome/orgs', 'repos_url': 'https://api.github.com/users/OatmealDome/repos', 'events_url': 'https://api.github.com/users/OatmealDome/events{/privacy}', 'received_events_url': 'https://api.github.com/users/OatmealDome/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'raw_gh_hook'}
2026-09-12T05:25:52.775800	{'source': 'webserver', 'gh_type': 'check_run', 'raw': {'action': 'created', 'check_run': {'id': 103504692096, 'name': 'altair', 'node_id': 'CR_kwDOALAO3s8AAAAYGVxDgA', 'head_sha': 'c9a39bd1b330eaa54110480b3bb2626008b05140', 'external_id': '91b97e0c-5e7a-5fa5-9526-8868918b579d', 'url': 'https://api.github.com/repos/dolphin-emu/sadm/check-runs/103504692096', 'html_url': 'https://github.com/dolphin-emu/sadm/actions/runs/34675561123/job/103504692096', 'details_url': 'https://github.com/dolphin-emu/sadm/actions/runs/34675561123/job/103504692096', 'status': 'queued', 'conclusion': None, 'started_at': '2026-09-12T05:25:51Z', 'completed_at': None, 'output': {'title': None, 'summary': None, 'text': None, 'annotations_count': 0, 'annotations_url': 'https://api.github.com/repos/dolphin-emu/sadm/check-runs/103504692096/annotations'}, 'check_suite': {'id': 93931732027, 'node_id': 'CS_kwDOALAO3s8AAAAV3sR8Ow', 'head_branch': 'actions-test', 'head_sha': 'c9a39bd1b330eaa54110480b3bb2626008b05140', 'status': 'queued', 'conclusion': None, 'url': 'https://api.github.com/repos/dolphin-emu/sadm/check-suites/93931732027', 'before': '262aeea52824404badb521ccd19bbb9d5a451f45', 'after': 'c9a39bd1b330eaa54110480b3bb2626008b05140', 'pull_requests': [], 'app': {'id': 15368, 'client_id': 'Iv1.05c79e9ad1f6bdfa', 'slug': 'github-actions', 'node_id': 'MDM6QXBwMTUzNjg=', 'owner': {'login': 'github', 'id': 9919, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjk5MTk=', 'avatar_url': 'https://avatars.githubusercontent.com/u/9919?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/github', 'html_url': 'https://github.com/github', 'followers_url': 'https://api.github.com/users/github/followers', 'following_url': 'https://api.github.com/users/github/following{/other_user}', 'gists_url': 'https://api.github.com/users/github/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/github/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/github/subscriptions', 'organizations_url': 'https://api.github.com/users/github/orgs', 'repos_url': 'https://api.github.com/users/github/repos', 'events_url': 'https://api.github.com/users/github/events{/privacy}', 'received_events_url': 'https://api.github.com/users/github/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'name': 'GitHub Actions', 'description': 'Automate your workflow from idea to production', 'external_url': 'https://help.github.com/en/actions', 'html_url': 'https://github.com/apps/github-actions', 'created_at': '2018-07-30T09:30:17Z', 'updated_at': '2026-06-18T16:17:48Z', 'permissions': {'actions': 'write', 'administration': 'read', 'artifact_metadata': 'write', 'attestations': 'write', 'checks': 'write', 'code_quality': 'write', 'contents': 'write', 'copilot_requests': 'write', 'deployments': 'write', 'discussions': 'write', 'drives': 'write', 'issues': 'write', 'merge_queues': 'write', 'metadata': 'read', 'models': 'read', 'packages': 'write', 'pages': 'write', 'pull_requests': 'write', 'repository_hooks': 'write', 'repository_projects': 'write', 'security_events': 'write', 'statuses': 'write', 'vulnerability_alerts': 'read'}, 'events': ['branch_protection_rule', 'check_run', 'check_suite', 'create', 'delete', 'deployment', 'deployment_status', 'discussion', 'discussion_comment', 'fork', 'gollum', 'issues', 'issue_comment', 'label', 'merge_group', 'milestone', 'page_build', 'public', 'pull_request', 'pull_request_review', 'pull_request_review_comment', 'push', 'registry_package', 'release', 'repository', 'repository_dispatch', 'status', 'watch', 'workflow_dispatch', 'workflow_run']}, 'created_at': '2026-09-12T05:25:50Z', 'updated_at': '2026-09-12T05:25:50Z'}, 'app': {'id': 15368, 'client_id': 'Iv1.05c79e9ad1f6bdfa', 'slug': 'github-actions', 'node_id': 'MDM6QXBwMTUzNjg=', 'owner': {'login': 'github', 'id': 9919, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjk5MTk=', 'avatar_url': 'https://avatars.githubusercontent.com/u/9919?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/github', 'html_url': 'https://github.com/github', 'followers_url': 'https://api.github.com/users/github/followers', 'following_url': 'https://api.github.com/users/github/following{/other_user}', 'gists_url': 'https://api.github.com/users/github/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/github/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/github/subscriptions', 'organizations_url': 'https://api.github.com/users/github/orgs', 'repos_url': 'https://api.github.com/users/github/repos', 'events_url': 'https://api.github.com/users/github/events{/privacy}', 'received_events_url': 'https://api.github.com/users/github/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'name': 'GitHub Actions', 'description': 'Automate your workflow from idea to production', 'external_url': 'https://help.github.com/en/actions', 'html_url': 'https://github.com/apps/github-actions', 'created_at': '2018-07-30T09:30:17Z', 'updated_at': '2026-06-18T16:17:48Z', 'permissions': {'actions': 'write', 'administration': 'read', 'artifact_metadata': 'write', 'attestations': 'write', 'checks': 'write', 'code_quality': 'write', 'contents': 'write', 'copilot_requests': 'write', 'deployments': 'write', 'discussions': 'write', 'drives': 'write', 'issues': 'write', 'merge_queues': 'write', 'metadata': 'read', 'models': 'read', 'packages': 'write', 'pages': 'write', 'pull_requests': 'write', 'repository_hooks': 'write', 'repository_projects': 'write', 'security_events': 'write', 'statuses': 'write', 'vulnerability_alerts': 'read'}, 'events': ['branch_protection_rule', 'check_run', 'check_suite', 'create', 'delete', 'deployment', 'deployment_status', 'discussion', 'discussion_comment', 'fork', 'gollum', 'issues', 'issue_comment', 'label', 'merge_group', 'milestone', 'page_build', 'public', 'pull_request', 'pull_request_review', 'pull_request_review_comment', 'push', 'registry_package', 'release', 'repository', 'repository_dispatch', 'status', 'watch', 'workflow_dispatch', 'workflow_run']}, 'pull_requests': []}, 'repository': {'id': 11538142, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTUzODE0Mg==', 'name': 'sadm', 'full_name': 'dolphin-emu/sadm', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/sadm', 'description': 'Scripts and configurations for the Dolphin Emulator infrastructure', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/sadm', 'forks_url': 'https://api.github.com/repos/dolphin-emu/sadm/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/sadm/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/sadm/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/sadm/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/sadm/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/sadm/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/sadm/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/sadm/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/sadm/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/sadm/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/sadm/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/sadm/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/sadm/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/sadm/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/sadm/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/sadm/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/sadm/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/sadm/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/sadm/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/sadm/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/sadm/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/sadm/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/sadm/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/sadm/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/sadm/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/sadm/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/sadm/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/sadm/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/sadm/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/sadm/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/sadm/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/sadm/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/sadm/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/sadm/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/sadm/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/sadm/deployments', 'created_at': '2013-07-19T22:07:05Z', 'updated_at': '2026-08-23T04:10:55Z', 'pushed_at': '2026-09-12T05:25:49Z', 'git_url': 'git://github.com/dolphin-emu/sadm.git', 'ssh_url': 'git@github.com:dolphin-emu/sadm.git', 'clone_url': 'https://github.com/dolphin-emu/sadm.git', 'svn_url': 'https://github.com/dolphin-emu/sadm', 'homepage': '', 'size': 1274, 'stargazers_count': 50, 'watchers_count': 50, 'language': 'Nix', 'has_issues': True, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 42, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 4, 'license': {'key': 'mit', 'name': 'MIT License', 'spdx_id': 'MIT', 'url': 'https://api.github.com/licenses/mit', 'node_id': 'MDc6TGljZW5zZTEz'}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': [], 'visibility': 'public', 'forks': 42, 'open_issues': 4, 'watchers': 50, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'OatmealDome', 'id': 11504941, 'node_id': 'MDQ6VXNlcjExNTA0OTQx', 'avatar_url': 'https://avatars.githubusercontent.com/u/11504941?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/OatmealDome', 'html_url': 'https://github.com/OatmealDome', 'followers_url': 'https://api.github.com/users/OatmealDome/followers', 'following_url': 'https://api.github.com/users/OatmealDome/following{/other_user}', 'gists_url': 'https://api.github.com/users/OatmealDome/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/OatmealDome/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/OatmealDome/subscriptions', 'organizations_url': 'https://api.github.com/users/OatmealDome/orgs', 'repos_url': 'https://api.github.com/users/OatmealDome/repos', 'events_url': 'https://api.github.com/users/OatmealDome/events{/privacy}', 'received_events_url': 'https://api.github.com/users/OatmealDome/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'raw_gh_hook'}
2026-09-12T05:25:52.625602	{'source': 'webserver', 'gh_type': 'check_run', 'raw': {'action': 'created', 'check_run': {'id': 103504691876, 'name': 'deneb', 'node_id': 'CR_kwDOALAO3s8AAAAYGVxCpA', 'head_sha': 'c9a39bd1b330eaa54110480b3bb2626008b05140', 'external_id': 'e0ed8a22-c7aa-5b58-a5f0-a5a7d9b5aa74', 'url': 'https://api.github.com/repos/dolphin-emu/sadm/check-runs/103504691876', 'html_url': 'https://github.com/dolphin-emu/sadm/actions/runs/34675561123/job/103504691876', 'details_url': 'https://github.com/dolphin-emu/sadm/actions/runs/34675561123/job/103504691876', 'status': 'queued', 'conclusion': None, 'started_at': '2026-09-12T05:25:51Z', 'completed_at': None, 'output': {'title': None, 'summary': None, 'text': None, 'annotations_count': 0, 'annotations_url': 'https://api.github.com/repos/dolphin-emu/sadm/check-runs/103504691876/annotations'}, 'check_suite': {'id': 93931732027, 'node_id': 'CS_kwDOALAO3s8AAAAV3sR8Ow', 'head_branch': 'actions-test', 'head_sha': 'c9a39bd1b330eaa54110480b3bb2626008b05140', 'status': 'queued', 'conclusion': None, 'url': 'https://api.github.com/repos/dolphin-emu/sadm/check-suites/93931732027', 'before': '262aeea52824404badb521ccd19bbb9d5a451f45', 'after': 'c9a39bd1b330eaa54110480b3bb2626008b05140', 'pull_requests': [], 'app': {'id': 15368, 'client_id': 'Iv1.05c79e9ad1f6bdfa', 'slug': 'github-actions', 'node_id': 'MDM6QXBwMTUzNjg=', 'owner': {'login': 'github', 'id': 9919, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjk5MTk=', 'avatar_url': 'https://avatars.githubusercontent.com/u/9919?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/github', 'html_url': 'https://github.com/github', 'followers_url': 'https://api.github.com/users/github/followers', 'following_url': 'https://api.github.com/users/github/following{/other_user}', 'gists_url': 'https://api.github.com/users/github/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/github/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/github/subscriptions', 'organizations_url': 'https://api.github.com/users/github/orgs', 'repos_url': 'https://api.github.com/users/github/repos', 'events_url': 'https://api.github.com/users/github/events{/privacy}', 'received_events_url': 'https://api.github.com/users/github/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'name': 'GitHub Actions', 'description': 'Automate your workflow from idea to production', 'external_url': 'https://help.github.com/en/actions', 'html_url': 'https://github.com/apps/github-actions', 'created_at': '2018-07-30T09:30:17Z', 'updated_at': '2026-06-18T16:17:48Z', 'permissions': {'actions': 'write', 'administration': 'read', 'artifact_metadata': 'write', 'attestations': 'write', 'checks': 'write', 'code_quality': 'write', 'contents': 'write', 'copilot_requests': 'write', 'deployments': 'write', 'discussions': 'write', 'drives': 'write', 'issues': 'write', 'merge_queues': 'write', 'metadata': 'read', 'models': 'read', 'packages': 'write', 'pages': 'write', 'pull_requests': 'write', 'repository_hooks': 'write', 'repository_projects': 'write', 'security_events': 'write', 'statuses': 'write', 'vulnerability_alerts': 'read'}, 'events': ['branch_protection_rule', 'check_run', 'check_suite', 'create', 'delete', 'deployment', 'deployment_status', 'discussion', 'discussion_comment', 'fork', 'gollum', 'issues', 'issue_comment', 'label', 'merge_group', 'milestone', 'page_build', 'public', 'pull_request', 'pull_request_review', 'pull_request_review_comment', 'push', 'registry_package', 'release', 'repository', 'repository_dispatch', 'status', 'watch', 'workflow_dispatch', 'workflow_run']}, 'created_at': '2026-09-12T05:25:50Z', 'updated_at': '2026-09-12T05:25:50Z'}, 'app': {'id': 15368, 'client_id': 'Iv1.05c79e9ad1f6bdfa', 'slug': 'github-actions', 'node_id': 'MDM6QXBwMTUzNjg=', 'owner': {'login': 'github', 'id': 9919, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjk5MTk=', 'avatar_url': 'https://avatars.githubusercontent.com/u/9919?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/github', 'html_url': 'https://github.com/github', 'followers_url': 'https://api.github.com/users/github/followers', 'following_url': 'https://api.github.com/users/github/following{/other_user}', 'gists_url': 'https://api.github.com/users/github/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/github/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/github/subscriptions', 'organizations_url': 'https://api.github.com/users/github/orgs', 'repos_url': 'https://api.github.com/users/github/repos', 'events_url': 'https://api.github.com/users/github/events{/privacy}', 'received_events_url': 'https://api.github.com/users/github/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'name': 'GitHub Actions', 'description': 'Automate your workflow from idea to production', 'external_url': 'https://help.github.com/en/actions', 'html_url': 'https://github.com/apps/github-actions', 'created_at': '2018-07-30T09:30:17Z', 'updated_at': '2026-06-18T16:17:48Z', 'permissions': {'actions': 'write', 'administration': 'read', 'artifact_metadata': 'write', 'attestations': 'write', 'checks': 'write', 'code_quality': 'write', 'contents': 'write', 'copilot_requests': 'write', 'deployments': 'write', 'discussions': 'write', 'drives': 'write', 'issues': 'write', 'merge_queues': 'write', 'metadata': 'read', 'models': 'read', 'packages': 'write', 'pages': 'write', 'pull_requests': 'write', 'repository_hooks': 'write', 'repository_projects': 'write', 'security_events': 'write', 'statuses': 'write', 'vulnerability_alerts': 'read'}, 'events': ['branch_protection_rule', 'check_run', 'check_suite', 'create', 'delete', 'deployment', 'deployment_status', 'discussion', 'discussion_comment', 'fork', 'gollum', 'issues', 'issue_comment', 'label', 'merge_group', 'milestone', 'page_build', 'public', 'pull_request', 'pull_request_review', 'pull_request_review_comment', 'push', 'registry_package', 'release', 'repository', 'repository_dispatch', 'status', 'watch', 'workflow_dispatch', 'workflow_run']}, 'pull_requests': []}, 'repository': {'id': 11538142, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTUzODE0Mg==', 'name': 'sadm', 'full_name': 'dolphin-emu/sadm', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/sadm', 'description': 'Scripts and configurations for the Dolphin Emulator infrastructure', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/sadm', 'forks_url': 'https://api.github.com/repos/dolphin-emu/sadm/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/sadm/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/sadm/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/sadm/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/sadm/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/sadm/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/sadm/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/sadm/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/sadm/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/sadm/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/sadm/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/sadm/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/sadm/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/sadm/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/sadm/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/sadm/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/sadm/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/sadm/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/sadm/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/sadm/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/sadm/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/sadm/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/sadm/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/sadm/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/sadm/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/sadm/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/sadm/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/sadm/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/sadm/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/sadm/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/sadm/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/sadm/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/sadm/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/sadm/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/sadm/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/sadm/deployments', 'created_at': '2013-07-19T22:07:05Z', 'updated_at': '2026-08-23T04:10:55Z', 'pushed_at': '2026-09-12T05:25:49Z', 'git_url': 'git://github.com/dolphin-emu/sadm.git', 'ssh_url': 'git@github.com:dolphin-emu/sadm.git', 'clone_url': 'https://github.com/dolphin-emu/sadm.git', 'svn_url': 'https://github.com/dolphin-emu/sadm', 'homepage': '', 'size': 1274, 'stargazers_count': 50, 'watchers_count': 50, 'language': 'Nix', 'has_issues': True, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 42, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 4, 'license': {'key': 'mit', 'name': 'MIT License', 'spdx_id': 'MIT', 'url': 'https://api.github.com/licenses/mit', 'node_id': 'MDc6TGljZW5zZTEz'}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': [], 'visibility': 'public', 'forks': 42, 'open_issues': 4, 'watchers': 50, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'OatmealDome', 'id': 11504941, 'node_id': 'MDQ6VXNlcjExNTA0OTQx', 'avatar_url': 'https://avatars.githubusercontent.com/u/11504941?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/OatmealDome', 'html_url': 'https://github.com/OatmealDome', 'followers_url': 'https://api.github.com/users/OatmealDome/followers', 'following_url': 'https://api.github.com/users/OatmealDome/following{/other_user}', 'gists_url': 'https://api.github.com/users/OatmealDome/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/OatmealDome/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/OatmealDome/subscriptions', 'organizations_url': 'https://api.github.com/users/OatmealDome/orgs', 'repos_url': 'https://api.github.com/users/OatmealDome/repos', 'events_url': 'https://api.github.com/users/OatmealDome/events{/privacy}', 'received_events_url': 'https://api.github.com/users/OatmealDome/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'raw_gh_hook'}
2026-09-12T05:25:51.353839	{'source': 'webserver', 'gh_type': 'check_suite', 'raw': {'action': 'requested', 'check_suite': {'id': 93931730893, 'node_id': 'CS_kwDOALAO3s8AAAAV3sR3zQ', 'head_branch': 'actions-test', 'head_sha': 'c9a39bd1b330eaa54110480b3bb2626008b05140', 'status': 'queued', 'conclusion': None, 'url': 'https://api.github.com/repos/dolphin-emu/sadm/check-suites/93931730893', 'before': '262aeea52824404badb521ccd19bbb9d5a451f45', 'after': 'c9a39bd1b330eaa54110480b3bb2626008b05140', 'pull_requests': [], 'app': {'id': 49947, 'client_id': 'Iv1.1fcaea7644d8b727', 'slug': 'dolphin-ci', 'node_id': 'MDM6QXBwNDk5NDc=', 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'name': 'Dolphin CI', 'description': 'Continuous Integration setup for [dolphin-emu.org](https://dolphin-emu.org/).', 'external_url': 'https://github.com/dolphin-emu', 'html_url': 'https://github.com/apps/dolphin-ci', 'created_at': '2019-12-26T22:26:07Z', 'updated_at': '2019-12-26T22:33:19Z', 'permissions': {'checks': 'write', 'contents': 'read', 'issues': 'write', 'members': 'read', 'metadata': 'read', 'pull_requests': 'write', 'statuses': 'write'}, 'events': ['check_run', 'commit_comment', 'issue_comment', 'pull_request', 'pull_request_review', 'pull_request_review_comment', 'push']}, 'created_at': '2026-09-12T05:25:50Z', 'updated_at': '2026-09-12T05:25:50Z', 'rerequestable': True, 'runs_rerequestable': True, 'latest_check_runs_count': 0, 'check_runs_url': 'https://api.github.com/repos/dolphin-emu/sadm/check-suites/93931730893/check-runs', 'head_commit': {'id': 'c9a39bd1b330eaa54110480b3bb2626008b05140', 'tree_id': 'cb6336dfc51850aa9022347f5fb3c081c5bb8ad2', 'message': "flake.lock: Update\n\nFlake lock file updates:\n\n• Updated input 'cargo2nix':\n    'github:cargo2nix/cargo2nix/a709c74619e1a2b68ed12bb398e12fbe29d69657?narHash=sha256-l06DIwnB4JHwP1isUUXk85F%2BAHQkUSUyAWnAmRxXICg%3D' (2025-06-19)\n  → 'github:dolphin-emu/cargo2nix/60406c3efae0af1e6f8e66899760b98df65447a9?narHash=sha256-MQHxVZoGWIVV3PJGPWUcL71AeyZ2YpZVkL%2BovojwkkU%3D' (2026-09-12)", 'timestamp': '2026-09-12T05:24:26Z', 'author': {'name': 'OatmealDome', 'email': 'julian@oatmealdome.me'}, 'committer': {'name': 'OatmealDome', 'email': 'julian@oatmealdome.me'}}}, 'repository': {'id': 11538142, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTUzODE0Mg==', 'name': 'sadm', 'full_name': 'dolphin-emu/sadm', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/sadm', 'description': 'Scripts and configurations for the Dolphin Emulator infrastructure', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/sadm', 'forks_url': 'https://api.github.com/repos/dolphin-emu/sadm/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/sadm/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/sadm/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/sadm/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/sadm/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/sadm/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/sadm/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/sadm/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/sadm/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/sadm/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/sadm/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/sadm/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/sadm/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/sadm/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/sadm/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/sadm/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/sadm/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/sadm/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/sadm/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/sadm/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/sadm/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/sadm/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/sadm/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/sadm/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/sadm/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/sadm/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/sadm/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/sadm/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/sadm/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/sadm/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/sadm/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/sadm/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/sadm/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/sadm/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/sadm/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/sadm/deployments', 'created_at': '2013-07-19T22:07:05Z', 'updated_at': '2026-08-23T04:10:55Z', 'pushed_at': '2026-09-12T05:25:49Z', 'git_url': 'git://github.com/dolphin-emu/sadm.git', 'ssh_url': 'git@github.com:dolphin-emu/sadm.git', 'clone_url': 'https://github.com/dolphin-emu/sadm.git', 'svn_url': 'https://github.com/dolphin-emu/sadm', 'homepage': '', 'size': 1274, 'stargazers_count': 50, 'watchers_count': 50, 'language': 'Nix', 'has_issues': True, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 42, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 4, 'license': {'key': 'mit', 'name': 'MIT License', 'spdx_id': 'MIT', 'url': 'https://api.github.com/licenses/mit', 'node_id': 'MDc6TGljZW5zZTEz'}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': [], 'visibility': 'public', 'forks': 42, 'open_issues': 4, 'watchers': 50, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'OatmealDome', 'id': 11504941, 'node_id': 'MDQ6VXNlcjExNTA0OTQx', 'avatar_url': 'https://avatars.githubusercontent.com/u/11504941?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/OatmealDome', 'html_url': 'https://github.com/OatmealDome', 'followers_url': 'https://api.github.com/users/OatmealDome/followers', 'following_url': 'https://api.github.com/users/OatmealDome/following{/other_user}', 'gists_url': 'https://api.github.com/users/OatmealDome/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/OatmealDome/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/OatmealDome/subscriptions', 'organizations_url': 'https://api.github.com/users/OatmealDome/orgs', 'repos_url': 'https://api.github.com/users/OatmealDome/repos', 'events_url': 'https://api.github.com/users/OatmealDome/events{/privacy}', 'received_events_url': 'https://api.github.com/users/OatmealDome/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'raw_gh_hook'}
2026-09-12T05:25:50.404948	{'source': 'webserver', 'gh_type': 'push', 'raw': {'ref': 'refs/heads/actions-test', 'before': '262aeea52824404badb521ccd19bbb9d5a451f45', 'after': 'c9a39bd1b330eaa54110480b3bb2626008b05140', 'repository': {'id': 11538142, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTUzODE0Mg==', 'name': 'sadm', 'full_name': 'dolphin-emu/sadm', '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/sadm', 'description': 'Scripts and configurations for the Dolphin Emulator infrastructure', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/sadm', 'forks_url': 'https://api.github.com/repos/dolphin-emu/sadm/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/sadm/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/sadm/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/sadm/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/sadm/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/sadm/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/sadm/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/sadm/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/sadm/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/sadm/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/sadm/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/sadm/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/sadm/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/sadm/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/sadm/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/sadm/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/sadm/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/sadm/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/sadm/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/sadm/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/sadm/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/sadm/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/sadm/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/sadm/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/sadm/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/sadm/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/sadm/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/sadm/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/sadm/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/sadm/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/sadm/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/sadm/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/sadm/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/sadm/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/sadm/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/sadm/deployments', 'created_at': 1374271625, 'updated_at': '2026-08-23T04:10:55Z', 'pushed_at': 1789190749, 'git_url': 'git://github.com/dolphin-emu/sadm.git', 'ssh_url': 'git@github.com:dolphin-emu/sadm.git', 'clone_url': 'https://github.com/dolphin-emu/sadm.git', 'svn_url': 'https://github.com/dolphin-emu/sadm', 'homepage': '', 'size': 1274, 'stargazers_count': 50, 'watchers_count': 50, 'language': 'Nix', 'has_issues': True, 'has_projects': False, 'has_downloads': True, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 42, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 4, 'license': {'key': 'mit', 'name': 'MIT License', 'spdx_id': 'MIT', 'url': 'https://api.github.com/licenses/mit', 'node_id': 'MDc6TGljZW5zZTEz'}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': [], 'visibility': 'public', 'forks': 42, 'open_issues': 4, 'watchers': 50, 'default_branch': 'master', 'stargazers': 50, 'master_branch': 'master', 'organization': 'dolphin-emu', 'custom_properties': {}}, 'pusher': {'name': 'OatmealDome', 'email': 'OatmealDome@users.noreply.github.com'}, 'forced': False, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'OatmealDome', 'id': 11504941, 'node_id': 'MDQ6VXNlcjExNTA0OTQx', 'avatar_url': 'https://avatars.githubusercontent.com/u/11504941?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/OatmealDome', 'html_url': 'https://github.com/OatmealDome', 'followers_url': 'https://api.github.com/users/OatmealDome/followers', 'following_url': 'https://api.github.com/users/OatmealDome/following{/other_user}', 'gists_url': 'https://api.github.com/users/OatmealDome/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/OatmealDome/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/OatmealDome/subscriptions', 'organizations_url': 'https://api.github.com/users/OatmealDome/orgs', 'repos_url': 'https://api.github.com/users/OatmealDome/repos', 'events_url': 'https://api.github.com/users/OatmealDome/events{/privacy}', 'received_events_url': 'https://api.github.com/users/OatmealDome/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created': False, 'deleted': False, 'base_ref': None, 'compare': 'https://github.com/dolphin-emu/sadm/compare/262aeea52824...c9a39bd1b330', 'commits': [{'id': '0d7eb0e21214f3b62af4faa21b1d982678dbeb92', 'tree_id': '3ca9caf9dc728d2606d65eea4f239b2a3aaa41cf', 'distinct': True, 'message': 'flake: Switch to our cargo2nix fork with a fix for crates.io', 'timestamp': '2026-09-12T01:23:53-04:00', 'url': 'https://github.com/dolphin-emu/sadm/commit/0d7eb0e21214f3b62af4faa21b1d982678dbeb92', 'author': {'name': 'OatmealDome', 'email': 'julian@oatmealdome.me', 'date': '2026-09-12T01:23:53-04:00', 'username': 'OatmealDome'}, 'committer': {'name': 'OatmealDome', 'email': 'julian@oatmealdome.me', 'date': '2026-09-12T01:23:53-04:00', 'username': 'OatmealDome'}, 'added': [], 'removed': [], 'modified': ['flake.nix']}, {'id': 'c9a39bd1b330eaa54110480b3bb2626008b05140', 'tree_id': 'cb6336dfc51850aa9022347f5fb3c081c5bb8ad2', 'distinct': True, 'message': "flake.lock: Update\n\nFlake lock file updates:\n\n• Updated input 'cargo2nix':\n    'github:cargo2nix/cargo2nix/a709c74619e1a2b68ed12bb398e12fbe29d69657?narHash=sha256-l06DIwnB4JHwP1isUUXk85F%2BAHQkUSUyAWnAmRxXICg%3D' (2025-06-19)\n  → 'github:dolphin-emu/cargo2nix/60406c3efae0af1e6f8e66899760b98df65447a9?narHash=sha256-MQHxVZoGWIVV3PJGPWUcL71AeyZ2YpZVkL%2BovojwkkU%3D' (2026-09-12)", 'timestamp': '2026-09-12T01:24:26-04:00', 'url': 'https://github.com/dolphin-emu/sadm/commit/c9a39bd1b330eaa54110480b3bb2626008b05140', 'author': {'name': 'OatmealDome', 'email': 'julian@oatmealdome.me', 'date': '2026-09-12T01:24:26-04:00', 'username': 'OatmealDome'}, 'committer': {'name': 'OatmealDome', 'email': 'julian@oatmealdome.me', 'date': '2026-09-12T01:24:26-04:00', 'username': 'OatmealDome'}, 'added': [], 'removed': [], 'modified': ['flake.lock']}], 'head_commit': {'id': 'c9a39bd1b330eaa54110480b3bb2626008b05140', 'tree_id': 'cb6336dfc51850aa9022347f5fb3c081c5bb8ad2', 'distinct': True, 'message': "flake.lock: Update\n\nFlake lock file updates:\n\n• Updated input 'cargo2nix':\n    'github:cargo2nix/cargo2nix/a709c74619e1a2b68ed12bb398e12fbe29d69657?narHash=sha256-l06DIwnB4JHwP1isUUXk85F%2BAHQkUSUyAWnAmRxXICg%3D' (2025-06-19)\n  → 'github:dolphin-emu/cargo2nix/60406c3efae0af1e6f8e66899760b98df65447a9?narHash=sha256-MQHxVZoGWIVV3PJGPWUcL71AeyZ2YpZVkL%2BovojwkkU%3D' (2026-09-12)", 'timestamp': '2026-09-12T01:24:26-04:00', 'url': 'https://github.com/dolphin-emu/sadm/commit/c9a39bd1b330eaa54110480b3bb2626008b05140', 'author': {'name': 'OatmealDome', 'email': 'julian@oatmealdome.me', 'date': '2026-09-12T01:24:26-04:00', 'username': 'OatmealDome'}, 'committer': {'name': 'OatmealDome', 'email': 'julian@oatmealdome.me', 'date': '2026-09-12T01:24:26-04:00', 'username': 'OatmealDome'}, 'added': [], 'removed': [], 'modified': ['flake.lock']}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'raw_gh_hook'}
2026-09-12T05:22:45.970390	{'source': 'webserver', 'gh_type': 'check_suite', 'raw': {'action': 'requested', 'check_suite': {'id': 93931412349, 'node_id': 'CS_kwDOUXpbes8AAAAV3r-bfQ', 'head_branch': 'release-0.12', 'head_sha': '60406c3efae0af1e6f8e66899760b98df65447a9', 'status': 'queued', 'conclusion': None, 'url': 'https://api.github.com/repos/dolphin-emu/cargo2nix/check-suites/93931412349', 'before': 'a709c74619e1a2b68ed12bb398e12fbe29d69657', 'after': '60406c3efae0af1e6f8e66899760b98df65447a9', 'pull_requests': [], 'app': {'id': 49947, 'client_id': 'Iv1.1fcaea7644d8b727', 'slug': 'dolphin-ci', 'node_id': 'MDM6QXBwNDk5NDc=', 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'name': 'Dolphin CI', 'description': 'Continuous Integration setup for [dolphin-emu.org](https://dolphin-emu.org/).', 'external_url': 'https://github.com/dolphin-emu', 'html_url': 'https://github.com/apps/dolphin-ci', 'created_at': '2019-12-26T22:26:07Z', 'updated_at': '2019-12-26T22:33:19Z', 'permissions': {'checks': 'write', 'contents': 'read', 'issues': 'write', 'members': 'read', 'metadata': 'read', 'pull_requests': 'write', 'statuses': 'write'}, 'events': ['check_run', 'commit_comment', 'issue_comment', 'pull_request', 'pull_request_review', 'pull_request_review_comment', 'push']}, 'created_at': '2026-09-12T05:22:45Z', 'updated_at': '2026-09-12T05:22:45Z', 'rerequestable': True, 'runs_rerequestable': True, 'latest_check_runs_count': 0, 'check_runs_url': 'https://api.github.com/repos/dolphin-emu/cargo2nix/check-suites/93931412349/check-runs', 'head_commit': {'id': '60406c3efae0af1e6f8e66899760b98df65447a9', 'tree_id': '3c1925f355b8634a10a3cf49f707f14f0666a176', 'message': 'Update fetch.nix to use CDN URL', 'timestamp': '2026-09-12T05:22:17Z', 'author': {'name': 'Thomas Antony', 'email': 'thomas@astroforge.io'}, 'committer': {'name': 'OatmealDome', 'email': 'julian@oatmealdome.me'}}}, 'repository': {'id': 1366973306, 'node_id': 'R_kgDOUXpbeg', 'name': 'cargo2nix', 'full_name': 'dolphin-emu/cargo2nix', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/cargo2nix', 'description': 'Granular builds of Rust projects for Nix', 'fork': True, 'url': 'https://api.github.com/repos/dolphin-emu/cargo2nix', 'forks_url': 'https://api.github.com/repos/dolphin-emu/cargo2nix/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/cargo2nix/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/cargo2nix/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/cargo2nix/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/cargo2nix/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/cargo2nix/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/cargo2nix/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/cargo2nix/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/cargo2nix/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/cargo2nix/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/cargo2nix/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/cargo2nix/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/cargo2nix/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/cargo2nix/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/cargo2nix/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/cargo2nix/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/cargo2nix/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/cargo2nix/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/cargo2nix/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/cargo2nix/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/cargo2nix/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/cargo2nix/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/cargo2nix/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/cargo2nix/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/cargo2nix/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/cargo2nix/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/cargo2nix/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/cargo2nix/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/cargo2nix/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/cargo2nix/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/cargo2nix/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/cargo2nix/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/cargo2nix/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/cargo2nix/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/cargo2nix/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/cargo2nix/deployments', 'created_at': '2026-09-12T05:20:12Z', 'updated_at': '2026-09-12T05:20:12Z', 'pushed_at': '2026-09-12T05:22:44Z', 'git_url': 'git://github.com/dolphin-emu/cargo2nix.git', 'ssh_url': 'git@github.com:dolphin-emu/cargo2nix.git', 'clone_url': 'https://github.com/dolphin-emu/cargo2nix.git', 'svn_url': 'https://github.com/dolphin-emu/cargo2nix', 'homepage': '', 'size': 1656, 'stargazers_count': 0, 'watchers_count': 0, 'language': None, 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': False, 'has_pages': False, 'has_discussions': False, 'forks_count': 0, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 0, 'license': {'key': 'mit', 'name': 'MIT License', 'spdx_id': 'MIT', 'url': 'https://api.github.com/licenses/mit', 'node_id': 'MDc6TGljZW5zZTEz'}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': [], 'visibility': 'public', 'forks': 0, 'open_issues': 0, 'watchers': 0, 'default_branch': 'release-0.12', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'OatmealDome', 'id': 11504941, 'node_id': 'MDQ6VXNlcjExNTA0OTQx', 'avatar_url': 'https://avatars.githubusercontent.com/u/11504941?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/OatmealDome', 'html_url': 'https://github.com/OatmealDome', 'followers_url': 'https://api.github.com/users/OatmealDome/followers', 'following_url': 'https://api.github.com/users/OatmealDome/following{/other_user}', 'gists_url': 'https://api.github.com/users/OatmealDome/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/OatmealDome/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/OatmealDome/subscriptions', 'organizations_url': 'https://api.github.com/users/OatmealDome/orgs', 'repos_url': 'https://api.github.com/users/OatmealDome/repos', 'events_url': 'https://api.github.com/users/OatmealDome/events{/privacy}', 'received_events_url': 'https://api.github.com/users/OatmealDome/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'raw_gh_hook'}
2026-09-12T05:22:45.552556	{'source': 'webserver', 'gh_type': 'push', 'raw': {'ref': 'refs/heads/release-0.12', 'before': 'a709c74619e1a2b68ed12bb398e12fbe29d69657', 'after': '60406c3efae0af1e6f8e66899760b98df65447a9', 'repository': {'id': 1366973306, 'node_id': 'R_kgDOUXpbeg', 'name': 'cargo2nix', 'full_name': 'dolphin-emu/cargo2nix', '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/cargo2nix', 'description': 'Granular builds of Rust projects for Nix', 'fork': True, 'url': 'https://api.github.com/repos/dolphin-emu/cargo2nix', 'forks_url': 'https://api.github.com/repos/dolphin-emu/cargo2nix/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/cargo2nix/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/cargo2nix/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/cargo2nix/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/cargo2nix/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/cargo2nix/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/cargo2nix/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/cargo2nix/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/cargo2nix/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/cargo2nix/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/cargo2nix/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/cargo2nix/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/cargo2nix/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/cargo2nix/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/cargo2nix/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/cargo2nix/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/cargo2nix/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/cargo2nix/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/cargo2nix/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/cargo2nix/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/cargo2nix/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/cargo2nix/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/cargo2nix/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/cargo2nix/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/cargo2nix/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/cargo2nix/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/cargo2nix/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/cargo2nix/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/cargo2nix/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/cargo2nix/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/cargo2nix/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/cargo2nix/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/cargo2nix/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/cargo2nix/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/cargo2nix/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/cargo2nix/deployments', 'created_at': 1789190412, 'updated_at': '2026-09-12T05:20:12Z', 'pushed_at': 1789190564, 'git_url': 'git://github.com/dolphin-emu/cargo2nix.git', 'ssh_url': 'git@github.com:dolphin-emu/cargo2nix.git', 'clone_url': 'https://github.com/dolphin-emu/cargo2nix.git', 'svn_url': 'https://github.com/dolphin-emu/cargo2nix', 'homepage': '', 'size': 1656, 'stargazers_count': 0, 'watchers_count': 0, 'language': None, 'has_issues': False, 'has_projects': False, 'has_downloads': True, 'has_wiki': False, 'has_pages': False, 'has_discussions': False, 'forks_count': 0, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 0, 'license': {'key': 'mit', 'name': 'MIT License', 'spdx_id': 'MIT', 'url': 'https://api.github.com/licenses/mit', 'node_id': 'MDc6TGljZW5zZTEz'}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': [], 'visibility': 'public', 'forks': 0, 'open_issues': 0, 'watchers': 0, 'default_branch': 'release-0.12', 'stargazers': 0, 'master_branch': 'release-0.12', 'organization': 'dolphin-emu', 'custom_properties': {}}, 'pusher': {'name': 'OatmealDome', 'email': 'OatmealDome@users.noreply.github.com'}, 'forced': False, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'OatmealDome', 'id': 11504941, 'node_id': 'MDQ6VXNlcjExNTA0OTQx', 'avatar_url': 'https://avatars.githubusercontent.com/u/11504941?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/OatmealDome', 'html_url': 'https://github.com/OatmealDome', 'followers_url': 'https://api.github.com/users/OatmealDome/followers', 'following_url': 'https://api.github.com/users/OatmealDome/following{/other_user}', 'gists_url': 'https://api.github.com/users/OatmealDome/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/OatmealDome/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/OatmealDome/subscriptions', 'organizations_url': 'https://api.github.com/users/OatmealDome/orgs', 'repos_url': 'https://api.github.com/users/OatmealDome/repos', 'events_url': 'https://api.github.com/users/OatmealDome/events{/privacy}', 'received_events_url': 'https://api.github.com/users/OatmealDome/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created': False, 'deleted': False, 'base_ref': None, 'compare': 'https://github.com/dolphin-emu/cargo2nix/compare/a709c74619e1...60406c3efae0', 'commits': [{'id': '60406c3efae0af1e6f8e66899760b98df65447a9', 'tree_id': '3c1925f355b8634a10a3cf49f707f14f0666a176', 'distinct': True, 'message': 'Update fetch.nix to use CDN URL', 'timestamp': '2026-09-12T01:22:17-04:00', 'url': 'https://github.com/dolphin-emu/cargo2nix/commit/60406c3efae0af1e6f8e66899760b98df65447a9', 'author': {'name': 'Thomas Antony', 'email': 'thomas@astroforge.io', 'date': '2026-05-27T17:03:30-07:00', 'username': 'thomasantony'}, 'committer': {'name': 'OatmealDome', 'email': 'julian@oatmealdome.me', 'date': '2026-09-12T01:22:17-04:00', 'username': 'OatmealDome'}, 'added': [], 'removed': [], 'modified': ['overlay/lib/fetch.nix']}], 'head_commit': {'id': '60406c3efae0af1e6f8e66899760b98df65447a9', 'tree_id': '3c1925f355b8634a10a3cf49f707f14f0666a176', 'distinct': True, 'message': 'Update fetch.nix to use CDN URL', 'timestamp': '2026-09-12T01:22:17-04:00', 'url': 'https://github.com/dolphin-emu/cargo2nix/commit/60406c3efae0af1e6f8e66899760b98df65447a9', 'author': {'name': 'Thomas Antony', 'email': 'thomas@astroforge.io', 'date': '2026-05-27T17:03:30-07:00', 'username': 'thomasantony'}, 'committer': {'name': 'OatmealDome', 'email': 'julian@oatmealdome.me', 'date': '2026-09-12T01:22:17-04:00', 'username': 'OatmealDome'}, 'added': [], 'removed': [], 'modified': ['overlay/lib/fetch.nix']}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'raw_gh_hook'}
2026-09-12T05:20:14.809157	{'source': 'webserver', 'gh_type': 'installation_repositories', 'raw': {'action': 'added', 'installation': {'id': 35437981, 'client_id': 'Iv1.1fcaea7644d8b727', 'account': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'repository_selection': 'all', 'access_tokens_url': 'https://api.github.com/app/installations/35437981/access_tokens', 'repositories_url': 'https://api.github.com/installation/repositories', 'html_url': 'https://github.com/organizations/dolphin-emu/settings/installations/35437981', 'app_id': 49947, 'app_slug': 'dolphin-ci', 'target_id': 5050316, 'target_type': 'Organization', 'permissions': {'checks': 'write', 'issues': 'write', 'members': 'read', 'contents': 'read', 'metadata': 'read', 'statuses': 'write', 'pull_requests': 'write'}, 'events': ['check_run', 'commit_comment', 'issue_comment', 'pull_request', 'pull_request_review', 'pull_request_review_comment', 'push'], 'created_at': '2023-03-20T01:37:47.000-04:00', 'updated_at': '2026-07-07T17:13:10.000-04:00', 'single_file_name': None, 'has_multiple_single_files': False, 'single_file_paths': [], 'suspended_by': None, 'suspended_at': None}, 'repository_selection': 'all', 'repositories_added': [{'id': 1366973306, 'node_id': 'R_kgDOUXpbeg', 'name': 'cargo2nix', 'full_name': 'dolphin-emu/cargo2nix', 'private': False}], 'repositories_removed': [], 'requester': None, 'sender': {'login': 'OatmealDome', 'id': 11504941, 'node_id': 'MDQ6VXNlcjExNTA0OTQx', 'avatar_url': 'https://avatars.githubusercontent.com/u/11504941?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/OatmealDome', 'html_url': 'https://github.com/OatmealDome', 'followers_url': 'https://api.github.com/users/OatmealDome/followers', 'following_url': 'https://api.github.com/users/OatmealDome/following{/other_user}', 'gists_url': 'https://api.github.com/users/OatmealDome/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/OatmealDome/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/OatmealDome/subscriptions', 'organizations_url': 'https://api.github.com/users/OatmealDome/orgs', 'repos_url': 'https://api.github.com/users/OatmealDome/repos', 'events_url': 'https://api.github.com/users/OatmealDome/events{/privacy}', 'received_events_url': 'https://api.github.com/users/OatmealDome/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}}, 'type': 'raw_gh_hook'}
2026-09-12T04:26:46.823084	{'source': 'webserver', 'gh_type': 'check_run', 'raw': {'action': 'completed', 'check_run': {'id': 103497523253, 'name': 'altair', 'node_id': 'CR_kwDOALAO3s8AAAAYGO7gNQ', 'head_sha': '262aeea52824404badb521ccd19bbb9d5a451f45', 'external_id': '55be24dc-28df-5b37-9096-db63cd29015c', 'url': 'https://api.github.com/repos/dolphin-emu/sadm/check-runs/103497523253', 'html_url': 'https://github.com/dolphin-emu/sadm/actions/runs/34672901555/job/103497523253', 'details_url': 'https://github.com/dolphin-emu/sadm/actions/runs/34672901555/job/103497523253', 'status': 'completed', 'conclusion': 'failure', 'started_at': '2026-09-12T04:24:08Z', 'completed_at': '2026-09-12T04:26:43Z', 'output': {'title': None, 'summary': None, 'text': None, 'annotations_count': 1, 'annotations_url': 'https://api.github.com/repos/dolphin-emu/sadm/check-runs/103497523253/annotations'}, 'check_suite': {'id': 93925136600, 'node_id': 'CS_kwDOALAO3s8AAAAV3l_Y2A', 'head_branch': 'actions-test', 'head_sha': '262aeea52824404badb521ccd19bbb9d5a451f45', 'status': 'completed', 'conclusion': 'failure', 'url': 'https://api.github.com/repos/dolphin-emu/sadm/check-suites/93925136600', 'before': '0000000000000000000000000000000000000000', 'after': '262aeea52824404badb521ccd19bbb9d5a451f45', 'pull_requests': [], 'app': {'id': 15368, 'client_id': 'Iv1.05c79e9ad1f6bdfa', 'slug': 'github-actions', 'node_id': 'MDM6QXBwMTUzNjg=', 'owner': {'login': 'github', 'id': 9919, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjk5MTk=', 'avatar_url': 'https://avatars.githubusercontent.com/u/9919?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/github', 'html_url': 'https://github.com/github', 'followers_url': 'https://api.github.com/users/github/followers', 'following_url': 'https://api.github.com/users/github/following{/other_user}', 'gists_url': 'https://api.github.com/users/github/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/github/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/github/subscriptions', 'organizations_url': 'https://api.github.com/users/github/orgs', 'repos_url': 'https://api.github.com/users/github/repos', 'events_url': 'https://api.github.com/users/github/events{/privacy}', 'received_events_url': 'https://api.github.com/users/github/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'name': 'GitHub Actions', 'description': 'Automate your workflow from idea to production', 'external_url': 'https://help.github.com/en/actions', 'html_url': 'https://github.com/apps/github-actions', 'created_at': '2018-07-30T09:30:17Z', 'updated_at': '2026-06-18T16:17:48Z', 'permissions': {'actions': 'write', 'administration': 'read', 'artifact_metadata': 'write', 'attestations': 'write', 'checks': 'write', 'code_quality': 'write', 'contents': 'write', 'copilot_requests': 'write', 'deployments': 'write', 'discussions': 'write', 'drives': 'write', 'issues': 'write', 'merge_queues': 'write', 'metadata': 'read', 'models': 'read', 'packages': 'write', 'pages': 'write', 'pull_requests': 'write', 'repository_hooks': 'write', 'repository_projects': 'write', 'security_events': 'write', 'statuses': 'write', 'vulnerability_alerts': 'read'}, 'events': ['branch_protection_rule', 'check_run', 'check_suite', 'create', 'delete', 'deployment', 'deployment_status', 'discussion', 'discussion_comment', 'fork', 'gollum', 'issues', 'issue_comment', 'label', 'merge_group', 'milestone', 'page_build', 'public', 'pull_request', 'pull_request_review', 'pull_request_review_comment', 'push', 'registry_package', 'release', 'repository', 'repository_dispatch', 'status', 'watch', 'workflow_dispatch', 'workflow_run']}, 'created_at': '2026-09-12T04:24:05Z', 'updated_at': '2026-09-12T04:26:44Z'}, 'app': {'id': 15368, 'client_id': 'Iv1.05c79e9ad1f6bdfa', 'slug': 'github-actions', 'node_id': 'MDM6QXBwMTUzNjg=', 'owner': {'login': 'github', 'id': 9919, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjk5MTk=', 'avatar_url': 'https://avatars.githubusercontent.com/u/9919?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/github', 'html_url': 'https://github.com/github', 'followers_url': 'https://api.github.com/users/github/followers', 'following_url': 'https://api.github.com/users/github/following{/other_user}', 'gists_url': 'https://api.github.com/users/github/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/github/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/github/subscriptions', 'organizations_url': 'https://api.github.com/users/github/orgs', 'repos_url': 'https://api.github.com/users/github/repos', 'events_url': 'https://api.github.com/users/github/events{/privacy}', 'received_events_url': 'https://api.github.com/users/github/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'name': 'GitHub Actions', 'description': 'Automate your workflow from idea to production', 'external_url': 'https://help.github.com/en/actions', 'html_url': 'https://github.com/apps/github-actions', 'created_at': '2018-07-30T09:30:17Z', 'updated_at': '2026-06-18T16:17:48Z', 'permissions': {'actions': 'write', 'administration': 'read', 'artifact_metadata': 'write', 'attestations': 'write', 'checks': 'write', 'code_quality': 'write', 'contents': 'write', 'copilot_requests': 'write', 'deployments': 'write', 'discussions': 'write', 'drives': 'write', 'issues': 'write', 'merge_queues': 'write', 'metadata': 'read', 'models': 'read', 'packages': 'write', 'pages': 'write', 'pull_requests': 'write', 'repository_hooks': 'write', 'repository_projects': 'write', 'security_events': 'write', 'statuses': 'write', 'vulnerability_alerts': 'read'}, 'events': ['branch_protection_rule', 'check_run', 'check_suite', 'create', 'delete', 'deployment', 'deployment_status', 'discussion', 'discussion_comment', 'fork', 'gollum', 'issues', 'issue_comment', 'label', 'merge_group', 'milestone', 'page_build', 'public', 'pull_request', 'pull_request_review', 'pull_request_review_comment', 'push', 'registry_package', 'release', 'repository', 'repository_dispatch', 'status', 'watch', 'workflow_dispatch', 'workflow_run']}, 'pull_requests': []}, 'repository': {'id': 11538142, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTUzODE0Mg==', 'name': 'sadm', 'full_name': 'dolphin-emu/sadm', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/sadm', 'description': 'Scripts and configurations for the Dolphin Emulator infrastructure', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/sadm', 'forks_url': 'https://api.github.com/repos/dolphin-emu/sadm/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/sadm/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/sadm/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/sadm/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/sadm/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/sadm/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/sadm/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/sadm/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/sadm/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/sadm/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/sadm/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/sadm/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/sadm/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/sadm/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/sadm/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/sadm/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/sadm/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/sadm/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/sadm/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/sadm/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/sadm/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/sadm/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/sadm/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/sadm/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/sadm/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/sadm/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/sadm/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/sadm/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/sadm/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/sadm/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/sadm/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/sadm/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/sadm/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/sadm/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/sadm/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/sadm/deployments', 'created_at': '2013-07-19T22:07:05Z', 'updated_at': '2026-08-23T04:10:55Z', 'pushed_at': '2026-09-12T04:24:02Z', 'git_url': 'git://github.com/dolphin-emu/sadm.git', 'ssh_url': 'git@github.com:dolphin-emu/sadm.git', 'clone_url': 'https://github.com/dolphin-emu/sadm.git', 'svn_url': 'https://github.com/dolphin-emu/sadm', 'homepage': '', 'size': 1273, 'stargazers_count': 50, 'watchers_count': 50, 'language': 'Nix', 'has_issues': True, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 42, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 4, 'license': {'key': 'mit', 'name': 'MIT License', 'spdx_id': 'MIT', 'url': 'https://api.github.com/licenses/mit', 'node_id': 'MDc6TGljZW5zZTEz'}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': [], 'visibility': 'public', 'forks': 42, 'open_issues': 4, 'watchers': 50, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'OatmealDome', 'id': 11504941, 'node_id': 'MDQ6VXNlcjExNTA0OTQx', 'avatar_url': 'https://avatars.githubusercontent.com/u/11504941?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/OatmealDome', 'html_url': 'https://github.com/OatmealDome', 'followers_url': 'https://api.github.com/users/OatmealDome/followers', 'following_url': 'https://api.github.com/users/OatmealDome/following{/other_user}', 'gists_url': 'https://api.github.com/users/OatmealDome/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/OatmealDome/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/OatmealDome/subscriptions', 'organizations_url': 'https://api.github.com/users/OatmealDome/orgs', 'repos_url': 'https://api.github.com/users/OatmealDome/repos', 'events_url': 'https://api.github.com/users/OatmealDome/events{/privacy}', 'received_events_url': 'https://api.github.com/users/OatmealDome/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'raw_gh_hook'}
2026-09-12T04:25:48.881850	{'source': 'webserver', 'gh_type': 'check_run', 'raw': {'action': 'completed', 'check_run': {'id': 103497523373, 'name': 'deneb', 'node_id': 'CR_kwDOALAO3s8AAAAYGO7grQ', 'head_sha': '262aeea52824404badb521ccd19bbb9d5a451f45', 'external_id': '246a88c7-bec4-5b9c-9f5b-e9eb8214bb1e', 'url': 'https://api.github.com/repos/dolphin-emu/sadm/check-runs/103497523373', 'html_url': 'https://github.com/dolphin-emu/sadm/actions/runs/34672901555/job/103497523373', 'details_url': 'https://github.com/dolphin-emu/sadm/actions/runs/34672901555/job/103497523373', 'status': 'completed', 'conclusion': 'success', 'started_at': '2026-09-12T04:24:10Z', 'completed_at': '2026-09-12T04:25:47Z', 'output': {'title': None, 'summary': None, 'text': None, 'annotations_count': 0, 'annotations_url': 'https://api.github.com/repos/dolphin-emu/sadm/check-runs/103497523373/annotations'}, 'check_suite': {'id': 93925136600, 'node_id': 'CS_kwDOALAO3s8AAAAV3l_Y2A', 'head_branch': 'actions-test', 'head_sha': '262aeea52824404badb521ccd19bbb9d5a451f45', 'status': 'in_progress', 'conclusion': None, 'url': 'https://api.github.com/repos/dolphin-emu/sadm/check-suites/93925136600', 'before': '0000000000000000000000000000000000000000', 'after': '262aeea52824404badb521ccd19bbb9d5a451f45', 'pull_requests': [], 'app': {'id': 15368, 'client_id': 'Iv1.05c79e9ad1f6bdfa', 'slug': 'github-actions', 'node_id': 'MDM6QXBwMTUzNjg=', 'owner': {'login': 'github', 'id': 9919, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjk5MTk=', 'avatar_url': 'https://avatars.githubusercontent.com/u/9919?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/github', 'html_url': 'https://github.com/github', 'followers_url': 'https://api.github.com/users/github/followers', 'following_url': 'https://api.github.com/users/github/following{/other_user}', 'gists_url': 'https://api.github.com/users/github/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/github/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/github/subscriptions', 'organizations_url': 'https://api.github.com/users/github/orgs', 'repos_url': 'https://api.github.com/users/github/repos', 'events_url': 'https://api.github.com/users/github/events{/privacy}', 'received_events_url': 'https://api.github.com/users/github/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'name': 'GitHub Actions', 'description': 'Automate your workflow from idea to production', 'external_url': 'https://help.github.com/en/actions', 'html_url': 'https://github.com/apps/github-actions', 'created_at': '2018-07-30T09:30:17Z', 'updated_at': '2026-06-18T16:17:48Z', 'permissions': {'actions': 'write', 'administration': 'read', 'artifact_metadata': 'write', 'attestations': 'write', 'checks': 'write', 'code_quality': 'write', 'contents': 'write', 'copilot_requests': 'write', 'deployments': 'write', 'discussions': 'write', 'drives': 'write', 'issues': 'write', 'merge_queues': 'write', 'metadata': 'read', 'models': 'read', 'packages': 'write', 'pages': 'write', 'pull_requests': 'write', 'repository_hooks': 'write', 'repository_projects': 'write', 'security_events': 'write', 'statuses': 'write', 'vulnerability_alerts': 'read'}, 'events': ['branch_protection_rule', 'check_run', 'check_suite', 'create', 'delete', 'deployment', 'deployment_status', 'discussion', 'discussion_comment', 'fork', 'gollum', 'issues', 'issue_comment', 'label', 'merge_group', 'milestone', 'page_build', 'public', 'pull_request', 'pull_request_review', 'pull_request_review_comment', 'push', 'registry_package', 'release', 'repository', 'repository_dispatch', 'status', 'watch', 'workflow_dispatch', 'workflow_run']}, 'created_at': '2026-09-12T04:24:05Z', 'updated_at': '2026-09-12T04:24:10Z'}, 'app': {'id': 15368, 'client_id': 'Iv1.05c79e9ad1f6bdfa', 'slug': 'github-actions', 'node_id': 'MDM6QXBwMTUzNjg=', 'owner': {'login': 'github', 'id': 9919, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjk5MTk=', 'avatar_url': 'https://avatars.githubusercontent.com/u/9919?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/github', 'html_url': 'https://github.com/github', 'followers_url': 'https://api.github.com/users/github/followers', 'following_url': 'https://api.github.com/users/github/following{/other_user}', 'gists_url': 'https://api.github.com/users/github/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/github/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/github/subscriptions', 'organizations_url': 'https://api.github.com/users/github/orgs', 'repos_url': 'https://api.github.com/users/github/repos', 'events_url': 'https://api.github.com/users/github/events{/privacy}', 'received_events_url': 'https://api.github.com/users/github/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'name': 'GitHub Actions', 'description': 'Automate your workflow from idea to production', 'external_url': 'https://help.github.com/en/actions', 'html_url': 'https://github.com/apps/github-actions', 'created_at': '2018-07-30T09:30:17Z', 'updated_at': '2026-06-18T16:17:48Z', 'permissions': {'actions': 'write', 'administration': 'read', 'artifact_metadata': 'write', 'attestations': 'write', 'checks': 'write', 'code_quality': 'write', 'contents': 'write', 'copilot_requests': 'write', 'deployments': 'write', 'discussions': 'write', 'drives': 'write', 'issues': 'write', 'merge_queues': 'write', 'metadata': 'read', 'models': 'read', 'packages': 'write', 'pages': 'write', 'pull_requests': 'write', 'repository_hooks': 'write', 'repository_projects': 'write', 'security_events': 'write', 'statuses': 'write', 'vulnerability_alerts': 'read'}, 'events': ['branch_protection_rule', 'check_run', 'check_suite', 'create', 'delete', 'deployment', 'deployment_status', 'discussion', 'discussion_comment', 'fork', 'gollum', 'issues', 'issue_comment', 'label', 'merge_group', 'milestone', 'page_build', 'public', 'pull_request', 'pull_request_review', 'pull_request_review_comment', 'push', 'registry_package', 'release', 'repository', 'repository_dispatch', 'status', 'watch', 'workflow_dispatch', 'workflow_run']}, 'pull_requests': []}, 'repository': {'id': 11538142, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTUzODE0Mg==', 'name': 'sadm', 'full_name': 'dolphin-emu/sadm', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/sadm', 'description': 'Scripts and configurations for the Dolphin Emulator infrastructure', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/sadm', 'forks_url': 'https://api.github.com/repos/dolphin-emu/sadm/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/sadm/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/sadm/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/sadm/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/sadm/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/sadm/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/sadm/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/sadm/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/sadm/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/sadm/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/sadm/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/sadm/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/sadm/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/sadm/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/sadm/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/sadm/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/sadm/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/sadm/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/sadm/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/sadm/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/sadm/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/sadm/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/sadm/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/sadm/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/sadm/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/sadm/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/sadm/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/sadm/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/sadm/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/sadm/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/sadm/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/sadm/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/sadm/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/sadm/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/sadm/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/sadm/deployments', 'created_at': '2013-07-19T22:07:05Z', 'updated_at': '2026-08-23T04:10:55Z', 'pushed_at': '2026-09-12T04:24:02Z', 'git_url': 'git://github.com/dolphin-emu/sadm.git', 'ssh_url': 'git@github.com:dolphin-emu/sadm.git', 'clone_url': 'https://github.com/dolphin-emu/sadm.git', 'svn_url': 'https://github.com/dolphin-emu/sadm', 'homepage': '', 'size': 1273, 'stargazers_count': 50, 'watchers_count': 50, 'language': 'Nix', 'has_issues': True, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 42, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 4, 'license': {'key': 'mit', 'name': 'MIT License', 'spdx_id': 'MIT', 'url': 'https://api.github.com/licenses/mit', 'node_id': 'MDc6TGljZW5zZTEz'}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': [], 'visibility': 'public', 'forks': 42, 'open_issues': 4, 'watchers': 50, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'OatmealDome', 'id': 11504941, 'node_id': 'MDQ6VXNlcjExNTA0OTQx', 'avatar_url': 'https://avatars.githubusercontent.com/u/11504941?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/OatmealDome', 'html_url': 'https://github.com/OatmealDome', 'followers_url': 'https://api.github.com/users/OatmealDome/followers', 'following_url': 'https://api.github.com/users/OatmealDome/following{/other_user}', 'gists_url': 'https://api.github.com/users/OatmealDome/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/OatmealDome/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/OatmealDome/subscriptions', 'organizations_url': 'https://api.github.com/users/OatmealDome/orgs', 'repos_url': 'https://api.github.com/users/OatmealDome/repos', 'events_url': 'https://api.github.com/users/OatmealDome/events{/privacy}', 'received_events_url': 'https://api.github.com/users/OatmealDome/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'raw_gh_hook'}