Status for Dolphin Central

Recent events

2025-07-05T21:36:49.463640	{'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/zdjp6l92qsi6ik9yc8mnfsb8k17v6gkj-python3.12-central-0.1.0/lib/python3.12/site-packages/central/github/authz.py', 'lineno': 30, 'msg': 'New GH %s: %s', 'args': "('dolphin-emu/trusted-developers', 'OrN,JosJuice,Filoppi,mimimi085181,glennricster,Alcaro,neobrain,endrift,vladfi1,yourWaifu,deReeperJosh,Ebola16,marcan,meffij,phire,moncefmechri,K0bin,spxtr,ShimmerGlass,jezze,randomstuff,SuperSamus,iwubcode,unknownbrackets,LPFaint99,NanoByte011,TellowKrinkle,skylersaleh,ligfx,rlnilsen,sepalani,zackhow,riking,Gamer64ytb,JMC47,Sintendo,mahdihijazi,aldelaro5,archshift,PatrickFerry,MayImilae,FioraAeterna,adamdmoss,mathieui,aroulin,hthh,ColinDTaylor,LillyJadeKatrin,mrgreywater,EmptyChaos,CrossVR,magumagu,hrydgard,Starsam80,Parlane,zopieux,dreamsyntax,rukai,delroth,shonumi,LAGonauta,malleoz,Orphis,tygyh,Stevoisiak,Simonx22,hdcmeta,leoetlino,krnlyng,CookiePLMonster,DacoTaco,RachelBryk,OatmealDome,lioncash,Helios747,CelestialAmber,Phatcat,degasus,jordan-woyak,Dentomologist,nullgemm,kamiyo,Buddybenj,gwicks,spycrab,Pokechu22,JoshuaVandaele,Tinob,noahpistilli,Ziek,kayru,CasualPokePlayer,hackbar,Ryanel,merryhime,rohit-n,Tilka,mandar1jn,galop1n,JordanTheToaster,mbc07,comex,CrystalGamma,Linktothepast,booto,mitaclaw,Techjar,magcius,Geotale,Lobsterzelda,SirMangler,smurf3tte,jloehr,linkmauve,skidau,mmastrac,jjdelvalle,nickbeth,orbea,cristian64,AdmiralCurtiss,TryTwo,bentley,Sam-Belliveau,RisingFog,BhaaLseN,Zopolis4,Hydr8gon')", 'type': 'internal_log'}
2025-07-05T21:36:48.480146	{'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/zdjp6l92qsi6ik9yc8mnfsb8k17v6gkj-python3.12-central-0.1.0/lib/python3.12/site-packages/central/github/authz.py', 'lineno': 21, 'msg': 'Refreshing list of trusted users (from %s/%s)', 'args': "('dolphin-emu', 'trusted-developers')", 'type': 'internal_log'}
2025-07-05T21:31:48.479752	{'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/zdjp6l92qsi6ik9yc8mnfsb8k17v6gkj-python3.12-central-0.1.0/lib/python3.12/site-packages/central/github/authz.py', 'lineno': 30, 'msg': 'New GH %s: %s', 'args': "('dolphin-emu/trusted-developers', 'OrN,JosJuice,Filoppi,mimimi085181,glennricster,Alcaro,neobrain,endrift,vladfi1,yourWaifu,deReeperJosh,Ebola16,marcan,meffij,phire,moncefmechri,K0bin,spxtr,ShimmerGlass,jezze,randomstuff,SuperSamus,iwubcode,unknownbrackets,LPFaint99,NanoByte011,TellowKrinkle,skylersaleh,ligfx,rlnilsen,sepalani,zackhow,riking,Gamer64ytb,JMC47,Sintendo,mahdihijazi,aldelaro5,archshift,PatrickFerry,MayImilae,FioraAeterna,adamdmoss,mathieui,aroulin,hthh,ColinDTaylor,LillyJadeKatrin,mrgreywater,EmptyChaos,CrossVR,magumagu,hrydgard,Starsam80,Parlane,zopieux,dreamsyntax,rukai,delroth,shonumi,LAGonauta,malleoz,Orphis,tygyh,Stevoisiak,Simonx22,hdcmeta,leoetlino,krnlyng,CookiePLMonster,DacoTaco,RachelBryk,OatmealDome,lioncash,Helios747,CelestialAmber,Phatcat,degasus,jordan-woyak,Dentomologist,nullgemm,kamiyo,Buddybenj,gwicks,spycrab,Pokechu22,JoshuaVandaele,Tinob,noahpistilli,Ziek,kayru,CasualPokePlayer,hackbar,Ryanel,merryhime,rohit-n,Tilka,mandar1jn,galop1n,JordanTheToaster,mbc07,comex,CrystalGamma,Linktothepast,booto,mitaclaw,Techjar,magcius,Geotale,Lobsterzelda,SirMangler,smurf3tte,jloehr,linkmauve,skidau,mmastrac,jjdelvalle,nickbeth,orbea,cristian64,AdmiralCurtiss,TryTwo,bentley,Sam-Belliveau,RisingFog,BhaaLseN,Zopolis4,Hydr8gon')", 'type': 'internal_log'}
2025-07-05T21:31:47.427898	{'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/zdjp6l92qsi6ik9yc8mnfsb8k17v6gkj-python3.12-central-0.1.0/lib/python3.12/site-packages/central/github/authz.py', 'lineno': 21, 'msg': 'Refreshing list of trusted users (from %s/%s)', 'args': "('dolphin-emu', 'trusted-developers')", 'type': 'internal_log'}
2025-07-05T21:28:08.544871	{'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/zdjp6l92qsi6ik9yc8mnfsb8k17v6gkj-python3.12-central-0.1.0/lib/python3.12/site-packages/central/github/authz.py', 'lineno': 30, 'msg': 'New GH %s: %s', 'args': "('dolphin-emu/core-developers', 'skidau,OatmealDome,delroth,JosJuice,spycrab,hrydgard,lioncash,Helios747,AdmiralCurtiss,Pokechu22,leoetlino,Tilka,linkmauve,degasus,Parlane,phire,CrossVR,jordan-woyak')", 'type': 'internal_log'}
2025-07-05T21:28:08.349954	{'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/zdjp6l92qsi6ik9yc8mnfsb8k17v6gkj-python3.12-central-0.1.0/lib/python3.12/site-packages/central/github/authz.py', 'lineno': 21, 'msg': 'Refreshing list of trusted users (from %s/%s)', 'args': "('dolphin-emu', 'core-developers')", 'type': 'internal_log'}
2025-07-05T21:26:47.427466	{'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/zdjp6l92qsi6ik9yc8mnfsb8k17v6gkj-python3.12-central-0.1.0/lib/python3.12/site-packages/central/github/authz.py', 'lineno': 30, 'msg': 'New GH %s: %s', 'args': "('dolphin-emu/trusted-developers', 'OrN,JosJuice,Filoppi,mimimi085181,glennricster,Alcaro,neobrain,endrift,vladfi1,yourWaifu,deReeperJosh,Ebola16,marcan,meffij,phire,moncefmechri,K0bin,spxtr,ShimmerGlass,jezze,randomstuff,SuperSamus,iwubcode,unknownbrackets,LPFaint99,NanoByte011,TellowKrinkle,skylersaleh,ligfx,rlnilsen,sepalani,zackhow,riking,Gamer64ytb,JMC47,Sintendo,mahdihijazi,aldelaro5,archshift,PatrickFerry,MayImilae,FioraAeterna,adamdmoss,mathieui,aroulin,hthh,ColinDTaylor,LillyJadeKatrin,mrgreywater,EmptyChaos,CrossVR,magumagu,hrydgard,Starsam80,Parlane,zopieux,dreamsyntax,rukai,delroth,shonumi,LAGonauta,malleoz,Orphis,tygyh,Stevoisiak,Simonx22,hdcmeta,leoetlino,krnlyng,CookiePLMonster,DacoTaco,RachelBryk,OatmealDome,lioncash,Helios747,CelestialAmber,Phatcat,degasus,jordan-woyak,Dentomologist,nullgemm,kamiyo,Buddybenj,gwicks,spycrab,Pokechu22,JoshuaVandaele,Tinob,noahpistilli,Ziek,kayru,CasualPokePlayer,hackbar,Ryanel,merryhime,rohit-n,Tilka,mandar1jn,galop1n,JordanTheToaster,mbc07,comex,CrystalGamma,Linktothepast,booto,mitaclaw,Techjar,magcius,Geotale,Lobsterzelda,SirMangler,smurf3tte,jloehr,linkmauve,skidau,mmastrac,jjdelvalle,nickbeth,orbea,cristian64,AdmiralCurtiss,TryTwo,bentley,Sam-Belliveau,RisingFog,BhaaLseN,Zopolis4,Hydr8gon')", 'type': 'internal_log'}
2025-07-05T21:26:46.449144	{'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/zdjp6l92qsi6ik9yc8mnfsb8k17v6gkj-python3.12-central-0.1.0/lib/python3.12/site-packages/central/github/authz.py', 'lineno': 21, 'msg': 'Refreshing list of trusted users (from %s/%s)', 'args': "('dolphin-emu', 'trusted-developers')", 'type': 'internal_log'}
2025-07-05T21:21:46.448750	{'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/zdjp6l92qsi6ik9yc8mnfsb8k17v6gkj-python3.12-central-0.1.0/lib/python3.12/site-packages/central/github/authz.py', 'lineno': 30, 'msg': 'New GH %s: %s', 'args': "('dolphin-emu/trusted-developers', 'OrN,JosJuice,Filoppi,mimimi085181,glennricster,Alcaro,neobrain,endrift,vladfi1,yourWaifu,deReeperJosh,Ebola16,marcan,meffij,phire,moncefmechri,K0bin,spxtr,ShimmerGlass,jezze,randomstuff,SuperSamus,iwubcode,unknownbrackets,LPFaint99,NanoByte011,TellowKrinkle,skylersaleh,ligfx,rlnilsen,sepalani,zackhow,riking,Gamer64ytb,JMC47,Sintendo,mahdihijazi,aldelaro5,archshift,PatrickFerry,MayImilae,FioraAeterna,adamdmoss,mathieui,aroulin,hthh,ColinDTaylor,LillyJadeKatrin,mrgreywater,EmptyChaos,CrossVR,magumagu,hrydgard,Starsam80,Parlane,zopieux,dreamsyntax,rukai,delroth,shonumi,LAGonauta,malleoz,Orphis,tygyh,Stevoisiak,Simonx22,hdcmeta,leoetlino,krnlyng,CookiePLMonster,DacoTaco,RachelBryk,OatmealDome,lioncash,Helios747,CelestialAmber,Phatcat,degasus,jordan-woyak,Dentomologist,nullgemm,kamiyo,Buddybenj,gwicks,spycrab,Pokechu22,JoshuaVandaele,Tinob,noahpistilli,Ziek,kayru,CasualPokePlayer,hackbar,Ryanel,merryhime,rohit-n,Tilka,mandar1jn,galop1n,JordanTheToaster,mbc07,comex,CrystalGamma,Linktothepast,booto,mitaclaw,Techjar,magcius,Geotale,Lobsterzelda,SirMangler,smurf3tte,jloehr,linkmauve,skidau,mmastrac,jjdelvalle,nickbeth,orbea,cristian64,AdmiralCurtiss,TryTwo,bentley,Sam-Belliveau,RisingFog,BhaaLseN,Zopolis4,Hydr8gon')", 'type': 'internal_log'}
2025-07-05T21:21:45.467803	{'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/zdjp6l92qsi6ik9yc8mnfsb8k17v6gkj-python3.12-central-0.1.0/lib/python3.12/site-packages/central/github/authz.py', 'lineno': 21, 'msg': 'Refreshing list of trusted users (from %s/%s)', 'args': "('dolphin-emu', 'trusted-developers')", 'type': 'internal_log'}
2025-07-05T21:18:08.349639	{'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/zdjp6l92qsi6ik9yc8mnfsb8k17v6gkj-python3.12-central-0.1.0/lib/python3.12/site-packages/central/github/authz.py', 'lineno': 30, 'msg': 'New GH %s: %s', 'args': "('dolphin-emu/core-developers', 'skidau,OatmealDome,delroth,JosJuice,spycrab,hrydgard,lioncash,Helios747,AdmiralCurtiss,Pokechu22,leoetlino,Tilka,linkmauve,degasus,Parlane,phire,CrossVR,jordan-woyak')", 'type': 'internal_log'}
2025-07-05T21:18:08.159073	{'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/zdjp6l92qsi6ik9yc8mnfsb8k17v6gkj-python3.12-central-0.1.0/lib/python3.12/site-packages/central/github/authz.py', 'lineno': 21, 'msg': 'Refreshing list of trusted users (from %s/%s)', 'args': "('dolphin-emu', 'core-developers')", 'type': 'internal_log'}
2025-07-05T21:16:45.467408	{'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/zdjp6l92qsi6ik9yc8mnfsb8k17v6gkj-python3.12-central-0.1.0/lib/python3.12/site-packages/central/github/authz.py', 'lineno': 30, 'msg': 'New GH %s: %s', 'args': "('dolphin-emu/trusted-developers', 'OrN,JosJuice,Filoppi,mimimi085181,glennricster,Alcaro,neobrain,endrift,vladfi1,yourWaifu,deReeperJosh,Ebola16,marcan,meffij,phire,moncefmechri,K0bin,spxtr,ShimmerGlass,jezze,randomstuff,SuperSamus,iwubcode,unknownbrackets,LPFaint99,NanoByte011,TellowKrinkle,skylersaleh,ligfx,rlnilsen,sepalani,zackhow,riking,Gamer64ytb,JMC47,Sintendo,mahdihijazi,aldelaro5,archshift,PatrickFerry,MayImilae,FioraAeterna,adamdmoss,mathieui,aroulin,hthh,ColinDTaylor,LillyJadeKatrin,mrgreywater,EmptyChaos,CrossVR,magumagu,hrydgard,Starsam80,Parlane,zopieux,dreamsyntax,rukai,delroth,shonumi,LAGonauta,malleoz,Orphis,tygyh,Stevoisiak,Simonx22,hdcmeta,leoetlino,krnlyng,CookiePLMonster,DacoTaco,RachelBryk,OatmealDome,lioncash,Helios747,CelestialAmber,Phatcat,degasus,jordan-woyak,Dentomologist,nullgemm,kamiyo,Buddybenj,gwicks,spycrab,Pokechu22,JoshuaVandaele,Tinob,noahpistilli,Ziek,kayru,CasualPokePlayer,hackbar,Ryanel,merryhime,rohit-n,Tilka,mandar1jn,galop1n,JordanTheToaster,mbc07,comex,CrystalGamma,Linktothepast,booto,mitaclaw,Techjar,magcius,Geotale,Lobsterzelda,SirMangler,smurf3tte,jloehr,linkmauve,skidau,mmastrac,jjdelvalle,nickbeth,orbea,cristian64,AdmiralCurtiss,TryTwo,bentley,Sam-Belliveau,RisingFog,BhaaLseN,Zopolis4,Hydr8gon')", 'type': 'internal_log'}
2025-07-05T21:16:44.200134	{'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/zdjp6l92qsi6ik9yc8mnfsb8k17v6gkj-python3.12-central-0.1.0/lib/python3.12/site-packages/central/github/authz.py', 'lineno': 21, 'msg': 'Refreshing list of trusted users (from %s/%s)', 'args': "('dolphin-emu', 'trusted-developers')", 'type': 'internal_log'}
2025-07-05T21:11:44.199702	{'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/zdjp6l92qsi6ik9yc8mnfsb8k17v6gkj-python3.12-central-0.1.0/lib/python3.12/site-packages/central/github/authz.py', 'lineno': 30, 'msg': 'New GH %s: %s', 'args': "('dolphin-emu/trusted-developers', 'OrN,JosJuice,Filoppi,mimimi085181,glennricster,Alcaro,neobrain,endrift,vladfi1,yourWaifu,deReeperJosh,Ebola16,marcan,meffij,phire,moncefmechri,K0bin,spxtr,ShimmerGlass,jezze,randomstuff,SuperSamus,iwubcode,unknownbrackets,LPFaint99,NanoByte011,TellowKrinkle,skylersaleh,ligfx,rlnilsen,sepalani,zackhow,riking,Gamer64ytb,JMC47,Sintendo,mahdihijazi,aldelaro5,archshift,PatrickFerry,MayImilae,FioraAeterna,adamdmoss,mathieui,aroulin,hthh,ColinDTaylor,LillyJadeKatrin,mrgreywater,EmptyChaos,CrossVR,magumagu,hrydgard,Starsam80,Parlane,zopieux,dreamsyntax,rukai,delroth,shonumi,LAGonauta,malleoz,Orphis,tygyh,Stevoisiak,Simonx22,hdcmeta,leoetlino,krnlyng,CookiePLMonster,DacoTaco,RachelBryk,OatmealDome,lioncash,Helios747,CelestialAmber,Phatcat,degasus,jordan-woyak,Dentomologist,nullgemm,kamiyo,Buddybenj,gwicks,spycrab,Pokechu22,JoshuaVandaele,Tinob,noahpistilli,Ziek,kayru,CasualPokePlayer,hackbar,Ryanel,merryhime,rohit-n,Tilka,mandar1jn,galop1n,JordanTheToaster,mbc07,comex,CrystalGamma,Linktothepast,booto,mitaclaw,Techjar,magcius,Geotale,Lobsterzelda,SirMangler,smurf3tte,jloehr,linkmauve,skidau,mmastrac,jjdelvalle,nickbeth,orbea,cristian64,AdmiralCurtiss,TryTwo,bentley,Sam-Belliveau,RisingFog,BhaaLseN,Zopolis4,Hydr8gon')", 'type': 'internal_log'}
2025-07-05T21:11:43.251304	{'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/zdjp6l92qsi6ik9yc8mnfsb8k17v6gkj-python3.12-central-0.1.0/lib/python3.12/site-packages/central/github/authz.py', 'lineno': 21, 'msg': 'Refreshing list of trusted users (from %s/%s)', 'args': "('dolphin-emu', 'trusted-developers')", 'type': 'internal_log'}
2025-07-05T21:08:08.158748	{'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/zdjp6l92qsi6ik9yc8mnfsb8k17v6gkj-python3.12-central-0.1.0/lib/python3.12/site-packages/central/github/authz.py', 'lineno': 30, 'msg': 'New GH %s: %s', 'args': "('dolphin-emu/core-developers', 'skidau,OatmealDome,delroth,JosJuice,spycrab,hrydgard,lioncash,Helios747,AdmiralCurtiss,Pokechu22,leoetlino,Tilka,linkmauve,degasus,Parlane,phire,CrossVR,jordan-woyak')", 'type': 'internal_log'}
2025-07-05T21:08:07.949816	{'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/zdjp6l92qsi6ik9yc8mnfsb8k17v6gkj-python3.12-central-0.1.0/lib/python3.12/site-packages/central/github/authz.py', 'lineno': 21, 'msg': 'Refreshing list of trusted users (from %s/%s)', 'args': "('dolphin-emu', 'core-developers')", 'type': 'internal_log'}
2025-07-05T21:06:43.250900	{'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/zdjp6l92qsi6ik9yc8mnfsb8k17v6gkj-python3.12-central-0.1.0/lib/python3.12/site-packages/central/github/authz.py', 'lineno': 30, 'msg': 'New GH %s: %s', 'args': "('dolphin-emu/trusted-developers', 'OrN,JosJuice,Filoppi,mimimi085181,glennricster,Alcaro,neobrain,endrift,vladfi1,yourWaifu,deReeperJosh,Ebola16,marcan,meffij,phire,moncefmechri,K0bin,spxtr,ShimmerGlass,jezze,randomstuff,SuperSamus,iwubcode,unknownbrackets,LPFaint99,NanoByte011,TellowKrinkle,skylersaleh,ligfx,rlnilsen,sepalani,zackhow,riking,Gamer64ytb,JMC47,Sintendo,mahdihijazi,aldelaro5,archshift,PatrickFerry,MayImilae,FioraAeterna,adamdmoss,mathieui,aroulin,hthh,ColinDTaylor,LillyJadeKatrin,mrgreywater,EmptyChaos,CrossVR,magumagu,hrydgard,Starsam80,Parlane,zopieux,dreamsyntax,rukai,delroth,shonumi,LAGonauta,malleoz,Orphis,tygyh,Stevoisiak,Simonx22,hdcmeta,leoetlino,krnlyng,CookiePLMonster,DacoTaco,RachelBryk,OatmealDome,lioncash,Helios747,CelestialAmber,Phatcat,degasus,jordan-woyak,Dentomologist,nullgemm,kamiyo,Buddybenj,gwicks,spycrab,Pokechu22,JoshuaVandaele,Tinob,noahpistilli,Ziek,kayru,CasualPokePlayer,hackbar,Ryanel,merryhime,rohit-n,Tilka,mandar1jn,galop1n,JordanTheToaster,mbc07,comex,CrystalGamma,Linktothepast,booto,mitaclaw,Techjar,magcius,Geotale,Lobsterzelda,SirMangler,smurf3tte,jloehr,linkmauve,skidau,mmastrac,jjdelvalle,nickbeth,orbea,cristian64,AdmiralCurtiss,TryTwo,bentley,Sam-Belliveau,RisingFog,BhaaLseN,Zopolis4,Hydr8gon')", 'type': 'internal_log'}
2025-07-05T21:06:42.307533	{'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/zdjp6l92qsi6ik9yc8mnfsb8k17v6gkj-python3.12-central-0.1.0/lib/python3.12/site-packages/central/github/authz.py', 'lineno': 21, 'msg': 'Refreshing list of trusted users (from %s/%s)', 'args': "('dolphin-emu', 'trusted-developers')", 'type': 'internal_log'}
2025-07-05T21:01:42.307070	{'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/zdjp6l92qsi6ik9yc8mnfsb8k17v6gkj-python3.12-central-0.1.0/lib/python3.12/site-packages/central/github/authz.py', 'lineno': 30, 'msg': 'New GH %s: %s', 'args': "('dolphin-emu/trusted-developers', 'OrN,JosJuice,Filoppi,mimimi085181,glennricster,Alcaro,neobrain,endrift,vladfi1,yourWaifu,deReeperJosh,Ebola16,marcan,meffij,phire,moncefmechri,K0bin,spxtr,ShimmerGlass,jezze,randomstuff,SuperSamus,iwubcode,unknownbrackets,LPFaint99,NanoByte011,TellowKrinkle,skylersaleh,ligfx,rlnilsen,sepalani,zackhow,riking,Gamer64ytb,JMC47,Sintendo,mahdihijazi,aldelaro5,archshift,PatrickFerry,MayImilae,FioraAeterna,adamdmoss,mathieui,aroulin,hthh,ColinDTaylor,LillyJadeKatrin,mrgreywater,EmptyChaos,CrossVR,magumagu,hrydgard,Starsam80,Parlane,zopieux,dreamsyntax,rukai,delroth,shonumi,LAGonauta,malleoz,Orphis,tygyh,Stevoisiak,Simonx22,hdcmeta,leoetlino,krnlyng,CookiePLMonster,DacoTaco,RachelBryk,OatmealDome,lioncash,Helios747,CelestialAmber,Phatcat,degasus,jordan-woyak,Dentomologist,nullgemm,kamiyo,Buddybenj,gwicks,spycrab,Pokechu22,JoshuaVandaele,Tinob,noahpistilli,Ziek,kayru,CasualPokePlayer,hackbar,Ryanel,merryhime,rohit-n,Tilka,mandar1jn,galop1n,JordanTheToaster,mbc07,comex,CrystalGamma,Linktothepast,booto,mitaclaw,Techjar,magcius,Geotale,Lobsterzelda,SirMangler,smurf3tte,jloehr,linkmauve,skidau,mmastrac,jjdelvalle,nickbeth,orbea,cristian64,AdmiralCurtiss,TryTwo,bentley,Sam-Belliveau,RisingFog,BhaaLseN,Zopolis4,Hydr8gon')", 'type': 'internal_log'}
2025-07-05T21:01:41.300735	{'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/zdjp6l92qsi6ik9yc8mnfsb8k17v6gkj-python3.12-central-0.1.0/lib/python3.12/site-packages/central/github/authz.py', 'lineno': 21, 'msg': 'Refreshing list of trusted users (from %s/%s)', 'args': "('dolphin-emu', 'trusted-developers')", 'type': 'internal_log'}
2025-07-05T20:58:07.949481	{'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/zdjp6l92qsi6ik9yc8mnfsb8k17v6gkj-python3.12-central-0.1.0/lib/python3.12/site-packages/central/github/authz.py', 'lineno': 30, 'msg': 'New GH %s: %s', 'args': "('dolphin-emu/core-developers', 'skidau,OatmealDome,delroth,JosJuice,spycrab,hrydgard,lioncash,Helios747,AdmiralCurtiss,Pokechu22,leoetlino,Tilka,linkmauve,degasus,Parlane,phire,CrossVR,jordan-woyak')", 'type': 'internal_log'}
2025-07-05T20:58:07.713072	{'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/zdjp6l92qsi6ik9yc8mnfsb8k17v6gkj-python3.12-central-0.1.0/lib/python3.12/site-packages/central/github/authz.py', 'lineno': 21, 'msg': 'Refreshing list of trusted users (from %s/%s)', 'args': "('dolphin-emu', 'core-developers')", 'type': 'internal_log'}
2025-07-05T20:56:41.300277	{'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/zdjp6l92qsi6ik9yc8mnfsb8k17v6gkj-python3.12-central-0.1.0/lib/python3.12/site-packages/central/github/authz.py', 'lineno': 30, 'msg': 'New GH %s: %s', 'args': "('dolphin-emu/trusted-developers', 'OrN,JosJuice,Filoppi,mimimi085181,glennricster,Alcaro,neobrain,endrift,vladfi1,yourWaifu,deReeperJosh,Ebola16,marcan,meffij,phire,moncefmechri,K0bin,spxtr,ShimmerGlass,jezze,randomstuff,SuperSamus,iwubcode,unknownbrackets,LPFaint99,NanoByte011,TellowKrinkle,skylersaleh,ligfx,rlnilsen,sepalani,zackhow,riking,Gamer64ytb,JMC47,Sintendo,mahdihijazi,aldelaro5,archshift,PatrickFerry,MayImilae,FioraAeterna,adamdmoss,mathieui,aroulin,hthh,ColinDTaylor,LillyJadeKatrin,mrgreywater,EmptyChaos,CrossVR,magumagu,hrydgard,Starsam80,Parlane,zopieux,dreamsyntax,rukai,delroth,shonumi,LAGonauta,malleoz,Orphis,tygyh,Stevoisiak,Simonx22,hdcmeta,leoetlino,krnlyng,CookiePLMonster,DacoTaco,RachelBryk,OatmealDome,lioncash,Helios747,CelestialAmber,Phatcat,degasus,jordan-woyak,Dentomologist,nullgemm,kamiyo,Buddybenj,gwicks,spycrab,Pokechu22,JoshuaVandaele,Tinob,noahpistilli,Ziek,kayru,CasualPokePlayer,hackbar,Ryanel,merryhime,rohit-n,Tilka,mandar1jn,galop1n,JordanTheToaster,mbc07,comex,CrystalGamma,Linktothepast,booto,mitaclaw,Techjar,magcius,Geotale,Lobsterzelda,SirMangler,smurf3tte,jloehr,linkmauve,skidau,mmastrac,jjdelvalle,nickbeth,orbea,cristian64,AdmiralCurtiss,TryTwo,bentley,Sam-Belliveau,RisingFog,BhaaLseN,Zopolis4,Hydr8gon')", 'type': 'internal_log'}

Recent 'build_status' events

2025-07-05T13:59:54.417390	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': 'fe6fd2279c195517094538fff8667332049823ad', 'shortrev': 'fe6fd2', 'service': 'pr-android', 'pr': 13792, 'success': True, 'pending': False, 'url': 'https://dolphin.ci/#/builders/22/builds/7074', 'description': 'Build succeeded on builder pr-android', 'type': 'build_status'}
2025-07-05T13:52:36.687244	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': 'fe6fd2279c195517094538fff8667332049823ad', 'shortrev': 'fe6fd2', 'service': 'pr-flatpak-x64', 'pr': 13792, 'success': True, 'pending': False, 'url': 'https://dolphin.ci/#/builders/43/builds/2214', 'description': 'Build succeeded on builder pr-flatpak-x64', 'type': 'build_status'}
2025-07-05T13:50:53.960123	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': 'fe6fd2279c195517094538fff8667332049823ad', 'shortrev': 'fe6fd2', 'service': 'pr-win-dbg-x64', 'pr': 13792, 'success': True, 'pending': False, 'url': 'https://dolphin.ci/#/builders/31/builds/7072', 'description': 'Build succeeded on builder pr-win-dbg-x64', 'type': 'build_status'}
2025-07-05T13:48:25.467407	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': 'fe6fd2279c195517094538fff8667332049823ad', 'shortrev': 'fe6fd2', 'service': 'pr-deb-x64', 'pr': 13792, 'success': True, 'pending': False, 'url': 'https://dolphin.ci/#/builders/26/builds/7071', 'description': 'Build succeeded on builder pr-deb-x64', 'type': 'build_status'}
2025-07-05T13:48:03.167262	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': 'fe6fd2279c195517094538fff8667332049823ad', 'shortrev': 'fe6fd2', 'service': 'pr-flatpak-arm64', 'pr': 13792, 'success': True, 'pending': False, 'url': 'https://dolphin.ci/#/builders/44/builds/2161', 'description': 'Build succeeded on builder pr-flatpak-arm64', 'type': 'build_status'}
2025-07-05T13:47:15.341965	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': 'fe6fd2279c195517094538fff8667332049823ad', 'shortrev': 'fe6fd2', 'service': 'pr-win-arm64', 'pr': 13792, 'success': True, 'pending': False, 'url': 'https://dolphin.ci/#/builders/13/builds/7070', 'description': 'Build succeeded on builder pr-win-arm64', 'type': 'build_status'}
2025-07-05T13:47:14.609105	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': 'fe6fd2279c195517094538fff8667332049823ad', 'shortrev': 'fe6fd2', 'service': 'pr-win-dbg-x64', 'pr': 13792, 'success': False, 'pending': True, 'url': 'https://dolphin.ci/#/builders/31/builds/7072', 'description': 'Auto build in progress on builder pr-win-dbg-x64', 'type': 'build_status'}
2025-07-05T13:43:12.731255	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': 'fe6fd2279c195517094538fff8667332049823ad', 'shortrev': 'fe6fd2', 'service': 'pr-deb-dbg-x64', 'pr': 13792, 'success': True, 'pending': False, 'url': 'https://dolphin.ci/#/builders/1/builds/7075', 'description': 'Build succeeded on builder pr-deb-dbg-x64', 'type': 'build_status'}
2025-07-05T13:43:12.334562	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': 'fe6fd2279c195517094538fff8667332049823ad', 'shortrev': 'fe6fd2', 'service': 'pr-deb-x64', 'pr': 13792, 'success': False, 'pending': True, 'url': 'https://dolphin.ci/#/builders/26/builds/7071', 'description': 'Auto build in progress on builder pr-deb-x64', 'type': 'build_status'}
2025-07-05T13:43:01.146445	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': 'fe6fd2279c195517094538fff8667332049823ad', 'shortrev': 'fe6fd2', 'service': 'pr-ubu-x64', 'pr': 13792, 'success': True, 'pending': False, 'url': 'https://dolphin.ci/#/builders/27/builds/7072', 'description': 'Build succeeded on builder pr-ubu-x64', 'type': 'build_status'}
2025-07-05T13:42:55.725382	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': 'fe6fd2279c195517094538fff8667332049823ad', 'shortrev': 'fe6fd2', 'service': 'pr-win-x64', 'pr': 13792, 'success': True, 'pending': False, 'url': 'https://dolphin.ci/#/builders/2/builds/7072', 'description': 'Build succeeded on builder pr-win-x64', 'type': 'build_status'}
2025-07-05T13:42:55.110121	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': 'fe6fd2279c195517094538fff8667332049823ad', 'shortrev': 'fe6fd2', 'service': 'pr-win-arm64', 'pr': 13792, 'success': False, 'pending': True, 'url': 'https://dolphin.ci/#/builders/13/builds/7070', 'description': 'Auto build in progress on builder pr-win-arm64', 'type': 'build_status'}
2025-07-05T13:41:04.981716	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': 'fe6fd2279c195517094538fff8667332049823ad', 'shortrev': 'fe6fd2', 'service': 'pr-osx-universal', 'pr': 13792, 'success': True, 'pending': False, 'url': 'https://dolphin.ci/#/builders/7/builds/7077', 'description': 'Build succeeded on builder pr-osx-universal', 'type': 'build_status'}
2025-07-05T13:39:07.115574	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': 'fe6fd2279c195517094538fff8667332049823ad', 'shortrev': 'fe6fd2', 'service': 'pr-freebsd-x64', 'pr': 13792, 'success': True, 'pending': False, 'url': 'https://dolphin.ci/#/builders/11/builds/7073', 'description': 'Build succeeded on builder pr-freebsd-x64', 'type': 'build_status'}
2025-07-05T13:38:57.617254	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': 'fe6fd2279c195517094538fff8667332049823ad', 'shortrev': 'fe6fd2', 'service': 'lint', 'pr': 13792, 'success': True, 'pending': False, 'url': 'https://dolphin.ci/#/builders/9/builds/7072', 'description': 'Build succeeded on builder lint', 'type': 'build_status'}
2025-07-05T13:38:33.932661	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': 'fe6fd2279c195517094538fff8667332049823ad', 'shortrev': 'fe6fd2', 'service': 'pr-ubu-x64', 'pr': 13792, 'success': False, 'pending': True, 'url': 'https://dolphin.ci/#/builders/27/builds/7072', 'description': 'Auto build in progress on builder pr-ubu-x64', 'type': 'build_status'}
2025-07-05T13:38:32.409948	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': 'fe6fd2279c195517094538fff8667332049823ad', 'shortrev': 'fe6fd2', 'service': 'pr-freebsd-x64', 'pr': 13792, 'success': False, 'pending': True, 'url': 'https://dolphin.ci/#/builders/11/builds/7073', 'description': 'Auto build in progress on builder pr-freebsd-x64', 'type': 'build_status'}
2025-07-05T13:38:32.179654	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': 'fe6fd2279c195517094538fff8667332049823ad', 'shortrev': 'fe6fd2', 'service': 'pr-win-x64', 'pr': 13792, 'success': False, 'pending': True, 'url': 'https://dolphin.ci/#/builders/2/builds/7072', 'description': 'Auto build in progress on builder pr-win-x64', 'type': 'build_status'}
2025-07-05T13:38:31.891689	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': 'fe6fd2279c195517094538fff8667332049823ad', 'shortrev': 'fe6fd2', 'service': 'pr-deb-dbg-x64', 'pr': 13792, 'success': False, 'pending': True, 'url': 'https://dolphin.ci/#/builders/1/builds/7075', 'description': 'Auto build in progress on builder pr-deb-dbg-x64', 'type': 'build_status'}
2025-07-05T13:38:31.167086	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': 'fe6fd2279c195517094538fff8667332049823ad', 'shortrev': 'fe6fd2', 'service': 'pr-osx-universal', 'pr': 13792, 'success': False, 'pending': True, 'url': 'https://dolphin.ci/#/builders/7/builds/7077', 'description': 'Auto build in progress on builder pr-osx-universal', 'type': 'build_status'}
2025-07-05T13:38:30.871312	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': 'fe6fd2279c195517094538fff8667332049823ad', 'shortrev': 'fe6fd2', 'service': 'lint', 'pr': 13792, 'success': False, 'pending': True, 'url': 'https://dolphin.ci/#/builders/9/builds/7072', 'description': 'Auto build in progress on builder lint', 'type': 'build_status'}
2025-07-05T13:38:30.598959	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': 'fe6fd2279c195517094538fff8667332049823ad', 'shortrev': 'fe6fd2', 'service': 'pr-android', 'pr': 13792, 'success': False, 'pending': True, 'url': 'https://dolphin.ci/#/builders/22/builds/7074', 'description': 'Auto build in progress on builder pr-android', 'type': 'build_status'}
2025-07-05T13:37:48.136944	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': 'fe6fd2279c195517094538fff8667332049823ad', 'shortrev': 'fe6fd2', 'service': 'pr-flatpak-x64', 'pr': 13792, 'success': False, 'pending': True, 'url': 'https://dolphin.ci/#/builders/43/builds/2214', 'description': 'Auto build in progress on builder pr-flatpak-x64', 'type': 'build_status'}
2025-07-05T13:37:47.747782	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': 'fe6fd2279c195517094538fff8667332049823ad', 'shortrev': 'fe6fd2', 'service': 'pr-flatpak-arm64', 'pr': 13792, 'success': False, 'pending': True, 'url': 'https://dolphin.ci/#/builders/44/builds/2161', 'description': 'Auto build in progress on builder pr-flatpak-arm64', 'type': 'build_status'}
2025-07-05T13:37:30.856961	{'source': 'prbuilder', 'repo': 'dolphin-emu/dolphin', 'hash': 'fe6fd2279c195517094538fff8667332049823ad', 'shortrev': 'fe6fd2', 'service': 'lint', 'pr': 13792, 'success': False, 'pending': True, 'url': 'https://dolphin.ci/', 'description': 'Auto build pending', 'type': 'build_status'}

Recent 'command_message' events

2025-06-30T18:10:53.751349	{'source': 'ircclient', 'who': 'JosJuice', 'what': 'irrawaddy: please rebuild 13779', 'type': 'command_message'}
2025-06-28T10:35:28.007366	{'source': 'ircclient', 'who': 'JosJuice', 'what': 'irrawaddy: please rebuild 13779', 'type': 'command_message'}
2025-06-28T00:36:28.985791	{'source': 'discord', 'who': 'billiard26', 'what': '<@1320924779556900984> rebuild PR 13778', 'type': 'command_message'}
2025-06-24T20:43:53.736489	{'source': 'discord', 'who': 'billiard26', 'what': '<@1320924779556900984> rebuild PR 13772', 'type': 'command_message'}
2025-06-24T19:43:55.662407	{'source': 'discord', 'who': 'billiard26', 'what': '<@1320924779556900984> please rebuild PR 13772', 'type': 'command_message'}
2025-06-24T19:05:56.373235	{'source': 'ircclient', 'who': 'JosJuice', 'what': 'irrawaddy: please rebuild 13772', 'type': 'command_message'}
2025-06-15T12:33:34.579654	{'source': 'ircclient', 'who': 'JosJuice', 'what': 'irrawaddy: please rebuild 13606', 'type': 'command_message'}
2025-06-15T12:33:12.825240	{'source': 'ircclient', 'who': 'JosJuice', 'what': 'irrawaddy: please rebuild 13757', 'type': 'command_message'}
2025-06-13T21:02:38.697678	{'source': 'ircclient', 'who': 'JosJuice', 'what': 'irrawaddy: please rebuild 13755', 'type': 'command_message'}
2025-06-13T07:43:04.594356	{'source': 'discord', 'who': 'billiard26', 'what': '<@1320924779556900984> please rebuild PR 13381', 'type': 'command_message'}
2025-06-09T16:14:49.278575	{'source': 'ircclient', 'who': 'JosJuice', 'what': 'irrawaddy: please rebuild 13745', 'type': 'command_message'}
2025-06-07T20:01:57.894941	{'source': 'ircclient', 'who': 'pokechu22', 'what': "irrawaddy: please rebuild 13222 (hopefully it being old won't cause issues, but the lint issue is weird)", 'type': 'command_message'}
2025-06-05T23:19:11.819657	{'source': 'discord', 'who': 'billiard26', 'what': '<@1320924779556900984> please rebuild PR 13726', 'type': 'command_message'}
2025-06-05T23:11:48.960635	{'source': 'discord', 'who': 'billiard26', 'what': '<@1320924779556900984> rebuild PR 13726', 'type': 'command_message'}
2025-06-05T22:57:11.051264	{'source': 'discord', 'who': 'billiard26', 'what': '<@1320924779556900984> rebuild PR 13726', 'type': 'command_message'}

Recent 'gh_issue_comment' events

2025-07-05T18:35:30.102853	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'matheuswillder', 'action': 'edited', 'id': 13779, 'title': 'GameINI: Add 30 FPS codes to Mario Kart: Double Dash, Mario Kart Wii and Super Mario Galaxy 2', 'url': 'https://github.com/dolphin-emu/dolphin/pull/13779#issuecomment-3019981229', 'safe_author': False, 'body': ">Maybe those codes are meant for the very rare devices that have a good enough CPU to achieve 60 vps, but weak GPU to go over 1x IR on SMG\r\n\r\nThat makes sense and in fact the experience you reported in your comment earlier is in line with my experience running both Mario Kart games with an old 2nd gen Intel i5 desktop I had (using its iGPU) and also a low-end Android from 2020/2021. On that old desktop, both Mario Kart games achieved a stable 30 FPS using the codes, but on the low-end Android, the speed simply dropped even further (from around ~25 FPS without the code to ~12 FPS or less with it, if I remember correctly).\r\n\r\nBut outside of these older hardware, there are other cases where it helps, as shown in the recordings above (this Android device is new, but is far from a flagship, it's a Galaxy A55 released in 2024).\r\n\r\nAnyway, I tested both SMG and SMG2 with the codes and didn't encounter any noticeable issues. I'll update my 30-FPS-code branch with the new SMG code, and of course, it's up to the maintainers to decide whether it's worth merging or not, I just thought it was a nice addition to help less experienced users who might have trouble activating it themselves.\r\n\r\nAlso, if anyone wants or needs to make any additions or edits to this PR, feel free to do so, I have no experience with this and due to personal issues I have little free time at the moment.\r\n\r\nEdit: correction.", 'raw': {'action': 'edited', 'changes': {'body': {'from': "This makes sense and actually is in line with my experience running both Mario Kart games with an old 2nd gen Intel i5 desktop I had (using its iGPU) and also a low-end Android from 2020/2021. On that old desktop, both Mario Kart games achieved a stable 30 FPS using the codes, but on the low-end Android, the speed simply dropped even further (from around ~25 FPS without the code to ~12 FPS or less with it, if I remember correctly).\r\n\r\nBut outside of these older hardware, there are other cases where it helps, as shown in the recordings above (this Android device is new, but is far from a flagship, it's a Galaxy A55 released in 2024).\r\n\r\nAnyway, I tested both SMG and SMG2 with the codes and didn't encounter any noticeable issues. I'll update my 30-FPS-code branch with the new SMG code, and of course, it's up to the maintainers to decide whether it's worth merging or not, I just thought it was a nice addition to help less experienced users who might have trouble activating it themselves.\r\n\r\nAlso, if anyone wants or needs to make any additions or edits to this PR, feel free to do so, I have no experience with this and due to personal issues I have little free time at the moment."}}, 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13779', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13779/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13779/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13779/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13779', 'id': 3184422634, 'node_id': 'PR_kwDOALCn2M6cgRty', 'number': 13779, 'title': 'GameINI: Add 30 FPS codes to Mario Kart: Double Dash, Mario Kart Wii and Super Mario Galaxy 2', 'user': {'login': 'matheuswillder', 'id': 46294160, 'node_id': 'MDQ6VXNlcjQ2Mjk0MTYw', 'avatar_url': 'https://avatars.githubusercontent.com/u/46294160?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/matheuswillder', 'html_url': 'https://github.com/matheuswillder', 'followers_url': 'https://api.github.com/users/matheuswillder/followers', 'following_url': 'https://api.github.com/users/matheuswillder/following{/other_user}', 'gists_url': 'https://api.github.com/users/matheuswillder/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/matheuswillder/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/matheuswillder/subscriptions', 'organizations_url': 'https://api.github.com/users/matheuswillder/orgs', 'repos_url': 'https://api.github.com/users/matheuswillder/repos', 'events_url': 'https://api.github.com/users/matheuswillder/events{/privacy}', 'received_events_url': 'https://api.github.com/users/matheuswillder/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignee': None, 'assignees': [], 'milestone': None, 'comments': 8, 'created_at': '2025-06-28T01:32:05Z', 'updated_at': '2025-07-05T18:32:23Z', 'closed_at': None, 'author_association': 'CONTRIBUTOR', 'type': None, 'active_lock_reason': None, 'draft': False, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/13779', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13779', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/13779.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/13779.patch', 'merged_at': None}, 'body': "As commented here https://github.com/dolphin-emu/dolphin/pull/11502#issuecomment-3007481728, this adds some AR and Gecko codes for Mario Kart: Double Dash, Mario Kart Wii and Super Mario Galaxy 2 that, when enabled, cap the speed at 30 FPS, which may help reach full speed on lower-end devices.\r\n\r\nThe codes can be found on the Dolphin Wiki for Mario Kart Wii, while the others were found on the internet. However, I only own the NTSC version of each game to test.\r\n\r\nThis is one of my first PRs, so I hope I'm doing it right.", 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13779/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/13779/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/3019981229', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13779#issuecomment-3019981229', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13779', 'id': 3019981229, 'node_id': 'IC_kwDOALCn2M60AUGt', 'user': {'login': 'matheuswillder', 'id': 46294160, 'node_id': 'MDQ6VXNlcjQ2Mjk0MTYw', 'avatar_url': 'https://avatars.githubusercontent.com/u/46294160?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/matheuswillder', 'html_url': 'https://github.com/matheuswillder', 'followers_url': 'https://api.github.com/users/matheuswillder/followers', 'following_url': 'https://api.github.com/users/matheuswillder/following{/other_user}', 'gists_url': 'https://api.github.com/users/matheuswillder/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/matheuswillder/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/matheuswillder/subscriptions', 'organizations_url': 'https://api.github.com/users/matheuswillder/orgs', 'repos_url': 'https://api.github.com/users/matheuswillder/repos', 'events_url': 'https://api.github.com/users/matheuswillder/events{/privacy}', 'received_events_url': 'https://api.github.com/users/matheuswillder/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2025-06-30T16:52:34Z', 'updated_at': '2025-07-05T18:35:28Z', 'author_association': 'CONTRIBUTOR', 'body': ">Maybe those codes are meant for the very rare devices that have a good enough CPU to achieve 60 vps, but weak GPU to go over 1x IR on SMG\r\n\r\nThat makes sense and in fact the experience you reported in your comment earlier is in line with my experience running both Mario Kart games with an old 2nd gen Intel i5 desktop I had (using its iGPU) and also a low-end Android from 2020/2021. On that old desktop, both Mario Kart games achieved a stable 30 FPS using the codes, but on the low-end Android, the speed simply dropped even further (from around ~25 FPS without the code to ~12 FPS or less with it, if I remember correctly).\r\n\r\nBut outside of these older hardware, there are other cases where it helps, as shown in the recordings above (this Android device is new, but is far from a flagship, it's a Galaxy A55 released in 2024).\r\n\r\nAnyway, I tested both SMG and SMG2 with the codes and didn't encounter any noticeable issues. I'll update my 30-FPS-code branch with the new SMG code, and of course, it's up to the maintainers to decide whether it's worth merging or not, I just thought it was a nice addition to help less experienced users who might have trouble activating it themselves.\r\n\r\nAlso, if anyone wants or needs to make any additions or edits to this PR, feel free to do so, I have no experience with this and due to personal issues I have little free time at the moment.\r\n\r\nEdit: correction.", 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/3019981229/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}, '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': '2025-07-05T06:48:25Z', 'pushed_at': '2025-07-03T06:31:01Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 530284, 'stargazers_count': 13889, 'watchers_count': 13889, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': True, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 2825, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 343, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 2825, 'open_issues': 343, 'watchers': 13889, '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': 'matheuswillder', 'id': 46294160, 'node_id': 'MDQ6VXNlcjQ2Mjk0MTYw', 'avatar_url': 'https://avatars.githubusercontent.com/u/46294160?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/matheuswillder', 'html_url': 'https://github.com/matheuswillder', 'followers_url': 'https://api.github.com/users/matheuswillder/followers', 'following_url': 'https://api.github.com/users/matheuswillder/following{/other_user}', 'gists_url': 'https://api.github.com/users/matheuswillder/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/matheuswillder/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/matheuswillder/subscriptions', 'organizations_url': 'https://api.github.com/users/matheuswillder/orgs', 'repos_url': 'https://api.github.com/users/matheuswillder/repos', 'events_url': 'https://api.github.com/users/matheuswillder/events{/privacy}', 'received_events_url': 'https://api.github.com/users/matheuswillder/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'gh_issue_comment'}
2025-07-05T18:32:24.530571	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'matheuswillder', 'action': 'edited', 'id': 13779, 'title': 'GameINI: Add 30 FPS codes to Mario Kart: Double Dash, Mario Kart Wii and Super Mario Galaxy 2', 'url': 'https://github.com/dolphin-emu/dolphin/pull/13779#issuecomment-3017466931', 'safe_author': False, 'body': "I'm going to post this in this new comment instead of editing the previous one, since what I found is interesting. I made some short recordings of the games running with and without code on my Android device.\r\n\r\nHere's Super Mario Galaxy running without code. As I mentioned before, my device runs it fine, but since the recording adds some overload, there's slowdowns (turn on the audio):\r\n\r\nhttps://github.com/user-attachments/assets/95e85659-e73d-4074-b19e-d3552263f6d0\r\n\r\nMirror: https://imgur.com/a/rDC54Lg\r\n\r\nHere's Super Mario Galaxy running with the code found by @SuperSamus and posted in the link above. There's some improvement, but it seems minimal:\r\n\r\nhttps://github.com/user-attachments/assets/ff66bd91-3fc4-4b5d-ad4e-262a075f33b4\r\n\r\nMirror: https://imgur.com/a/8DGLL4y\r\n\r\nWell, in the link above, there's a comment pointing to another video, with different code, and claiming that it works better. I decided to test it out, and indeed there is a noticeable improvement, **even with the recording**:\r\n\r\nhttps://github.com/user-attachments/assets/e0106ef3-681d-48ee-9d16-d3dc5874d992\r\n\r\nMirror: https://imgur.com/a/98pJyOh\r\n\r\nSo I'd say if we were going to add the code to Super Mario Galaxy, it would have to be this one, found [here](https://www.youtube.com/watch?v=HhuVOYG1UG0):\r\n\r\n`$30fps gecko code to boost performance USA only`\r\n`043a0058 60000000`\r\n`0439f7d4 3bc00002`\r\n`c233e81c 00000006`\r\n`8062ffe0 38630001`\r\n`9062ffe0 70630001`\r\n`40820014 3c608033`\r\n`6063e824 7c6903a6`\r\n`4e800420 7fe3fb78`\r\n`60000000 00000000`\r\n\r\nI also did some testing with Mario Kart Wii. Without code, whenever I drift to do a mini-turbo, there is a slowdown:\r\n\r\nhttps://github.com/user-attachments/assets/8bd371e4-16fa-43ee-9e67-6eef0756f508\r\n\r\nMirror: https://imgur.com/a/9nJrxry\r\n\r\nBut with the code already in this PR, there is none:\r\n\r\nhttps://github.com/user-attachments/assets/8ec35595-a321-4524-bff9-cb53e653179e\r\n\r\nMirror: https://imgur.com/a/gj6UQpc\r\n\r\nI tested Mario Kart: Double Dash as well, but I could no longer reproduce the slowdowns I was having before without code. However, my phone had a major update recently (from One UI 6.1 to One UI 7, based on Android 15), so it may have been a driver issue or something that is now fixed, but I'm pretty sure that this 30 FPS code in this PR also helped with the slowdown when it was there.\r\n\r\nI don't have much time to dedicate to this right now, but I'm going to test the codes for SMG and SMG2 for at least 10 minutes to make sure they don't cause any issues like crashes or anything like that. I'll let you know if I find any issues. As for the codes for Mario Kart: Double Dash and Mario Kart Wii, I've already finished both games using them a few days/weeks ago.\r\n\r\nThoughts?\r\n\r\nEdit: I added the recordings directly here, for better viewing, but I also kept the mirror on Imgur.", 'raw': {'action': 'edited', 'changes': {'body': {'from': "I'm going to post this in this new comment instead of editing the previous one, since what I found is interesting. I made some short recordings of the games running with and without code on my Android device.\r\n\r\nHere's Super Mario Galaxy running without code. As I mentioned before, my device runs it fine, but since the recording adds some overload, there's slowdowns (turn on the audio): https://imgur.com/a/rDC54Lg\r\n\r\nHere's Super Mario Galaxy running with the code found by @SuperSamus and posted in the link above. There's some improvement, but it seems minimal: https://imgur.com/a/8DGLL4y\r\n\r\nWell, in the link above, there's a comment pointing to another video, with different code, and claiming that it works better. I decided to test it out, and indeed there is a noticeable improvement, **even with the recording**: https://imgur.com/a/98pJyOh\r\n\r\nSo I'd say if we were going to add the code to Super Mario Galaxy, it would have to be this one, found [here](https://www.youtube.com/watch?v=HhuVOYG1UG0):\r\n\r\n`$30fps gecko code to boost performance USA only`\r\n`043a0058 60000000`\r\n`0439f7d4 3bc00002`\r\n`c233e81c 00000006`\r\n`8062ffe0 38630001`\r\n`9062ffe0 70630001`\r\n`40820014 3c608033`\r\n`6063e824 7c6903a6`\r\n`4e800420 7fe3fb78`\r\n`60000000 00000000`\r\n\r\nI also did some testing with Mario Kart Wii. Without code, whenever I drift to do a mini-turbo, there is a slowdown: https://imgur.com/a/9nJrxry\r\n\r\nBut with the code already in this PR, there is none: https://imgur.com/a/gj6UQpc\r\n\r\nI tested Mario Kart: Double Dash as well, but I could no longer reproduce the slowdowns I was having before without code. However, my phone had a major update recently (from One UI 6.1 to One UI 7, based on Android 15), so it may have been a driver issue or something that has now fixed, but I'm pretty sure that this 30 FPS code in this PR also helped with the slowdown when it was there.\r\n\r\nI don't have much time to dedicate to this right now, but I'm going to test the codes for SMG and SMG2 for at least 10 minutes to make sure they don't cause any issues like crashes or anything like that. I'll let you know if I find any issues. As for the codes for Mario Kart: Double Dash and Mario Kart Wii, I've already finished both games using them a few days/weeks ago.\r\n\r\nThoughts?"}}, 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13779', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13779/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13779/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13779/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13779', 'id': 3184422634, 'node_id': 'PR_kwDOALCn2M6cgRty', 'number': 13779, 'title': 'GameINI: Add 30 FPS codes to Mario Kart: Double Dash, Mario Kart Wii and Super Mario Galaxy 2', 'user': {'login': 'matheuswillder', 'id': 46294160, 'node_id': 'MDQ6VXNlcjQ2Mjk0MTYw', 'avatar_url': 'https://avatars.githubusercontent.com/u/46294160?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/matheuswillder', 'html_url': 'https://github.com/matheuswillder', 'followers_url': 'https://api.github.com/users/matheuswillder/followers', 'following_url': 'https://api.github.com/users/matheuswillder/following{/other_user}', 'gists_url': 'https://api.github.com/users/matheuswillder/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/matheuswillder/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/matheuswillder/subscriptions', 'organizations_url': 'https://api.github.com/users/matheuswillder/orgs', 'repos_url': 'https://api.github.com/users/matheuswillder/repos', 'events_url': 'https://api.github.com/users/matheuswillder/events{/privacy}', 'received_events_url': 'https://api.github.com/users/matheuswillder/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignee': None, 'assignees': [], 'milestone': None, 'comments': 8, 'created_at': '2025-06-28T01:32:05Z', 'updated_at': '2025-06-30T19:21:42Z', 'closed_at': None, 'author_association': 'CONTRIBUTOR', 'type': None, 'active_lock_reason': None, 'draft': False, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/13779', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13779', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/13779.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/13779.patch', 'merged_at': None}, 'body': "As commented here https://github.com/dolphin-emu/dolphin/pull/11502#issuecomment-3007481728, this adds some AR and Gecko codes for Mario Kart: Double Dash, Mario Kart Wii and Super Mario Galaxy 2 that, when enabled, cap the speed at 30 FPS, which may help reach full speed on lower-end devices.\r\n\r\nThe codes can be found on the Dolphin Wiki for Mario Kart Wii, while the others were found on the internet. However, I only own the NTSC version of each game to test.\r\n\r\nThis is one of my first PRs, so I hope I'm doing it right.", 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13779/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/13779/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/3017466931', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13779#issuecomment-3017466931', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13779', 'id': 3017466931, 'node_id': 'IC_kwDOALCn2M6z2uQz', 'user': {'login': 'matheuswillder', 'id': 46294160, 'node_id': 'MDQ6VXNlcjQ2Mjk0MTYw', 'avatar_url': 'https://avatars.githubusercontent.com/u/46294160?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/matheuswillder', 'html_url': 'https://github.com/matheuswillder', 'followers_url': 'https://api.github.com/users/matheuswillder/followers', 'following_url': 'https://api.github.com/users/matheuswillder/following{/other_user}', 'gists_url': 'https://api.github.com/users/matheuswillder/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/matheuswillder/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/matheuswillder/subscriptions', 'organizations_url': 'https://api.github.com/users/matheuswillder/orgs', 'repos_url': 'https://api.github.com/users/matheuswillder/repos', 'events_url': 'https://api.github.com/users/matheuswillder/events{/privacy}', 'received_events_url': 'https://api.github.com/users/matheuswillder/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2025-06-30T01:36:52Z', 'updated_at': '2025-07-05T18:32:23Z', 'author_association': 'CONTRIBUTOR', 'body': "I'm going to post this in this new comment instead of editing the previous one, since what I found is interesting. I made some short recordings of the games running with and without code on my Android device.\r\n\r\nHere's Super Mario Galaxy running without code. As I mentioned before, my device runs it fine, but since the recording adds some overload, there's slowdowns (turn on the audio):\r\n\r\nhttps://github.com/user-attachments/assets/95e85659-e73d-4074-b19e-d3552263f6d0\r\n\r\nMirror: https://imgur.com/a/rDC54Lg\r\n\r\nHere's Super Mario Galaxy running with the code found by @SuperSamus and posted in the link above. There's some improvement, but it seems minimal:\r\n\r\nhttps://github.com/user-attachments/assets/ff66bd91-3fc4-4b5d-ad4e-262a075f33b4\r\n\r\nMirror: https://imgur.com/a/8DGLL4y\r\n\r\nWell, in the link above, there's a comment pointing to another video, with different code, and claiming that it works better. I decided to test it out, and indeed there is a noticeable improvement, **even with the recording**:\r\n\r\nhttps://github.com/user-attachments/assets/e0106ef3-681d-48ee-9d16-d3dc5874d992\r\n\r\nMirror: https://imgur.com/a/98pJyOh\r\n\r\nSo I'd say if we were going to add the code to Super Mario Galaxy, it would have to be this one, found [here](https://www.youtube.com/watch?v=HhuVOYG1UG0):\r\n\r\n`$30fps gecko code to boost performance USA only`\r\n`043a0058 60000000`\r\n`0439f7d4 3bc00002`\r\n`c233e81c 00000006`\r\n`8062ffe0 38630001`\r\n`9062ffe0 70630001`\r\n`40820014 3c608033`\r\n`6063e824 7c6903a6`\r\n`4e800420 7fe3fb78`\r\n`60000000 00000000`\r\n\r\nI also did some testing with Mario Kart Wii. Without code, whenever I drift to do a mini-turbo, there is a slowdown:\r\n\r\nhttps://github.com/user-attachments/assets/8bd371e4-16fa-43ee-9e67-6eef0756f508\r\n\r\nMirror: https://imgur.com/a/9nJrxry\r\n\r\nBut with the code already in this PR, there is none:\r\n\r\nhttps://github.com/user-attachments/assets/8ec35595-a321-4524-bff9-cb53e653179e\r\n\r\nMirror: https://imgur.com/a/gj6UQpc\r\n\r\nI tested Mario Kart: Double Dash as well, but I could no longer reproduce the slowdowns I was having before without code. However, my phone had a major update recently (from One UI 6.1 to One UI 7, based on Android 15), so it may have been a driver issue or something that is now fixed, but I'm pretty sure that this 30 FPS code in this PR also helped with the slowdown when it was there.\r\n\r\nI don't have much time to dedicate to this right now, but I'm going to test the codes for SMG and SMG2 for at least 10 minutes to make sure they don't cause any issues like crashes or anything like that. I'll let you know if I find any issues. As for the codes for Mario Kart: Double Dash and Mario Kart Wii, I've already finished both games using them a few days/weeks ago.\r\n\r\nThoughts?\r\n\r\nEdit: I added the recordings directly here, for better viewing, but I also kept the mirror on Imgur.", 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/3017466931/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}, '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': '2025-07-05T06:48:25Z', 'pushed_at': '2025-07-03T06:31:01Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 530284, 'stargazers_count': 13889, 'watchers_count': 13889, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': True, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 2825, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 343, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 2825, 'open_issues': 343, 'watchers': 13889, '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': 'matheuswillder', 'id': 46294160, 'node_id': 'MDQ6VXNlcjQ2Mjk0MTYw', 'avatar_url': 'https://avatars.githubusercontent.com/u/46294160?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/matheuswillder', 'html_url': 'https://github.com/matheuswillder', 'followers_url': 'https://api.github.com/users/matheuswillder/followers', 'following_url': 'https://api.github.com/users/matheuswillder/following{/other_user}', 'gists_url': 'https://api.github.com/users/matheuswillder/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/matheuswillder/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/matheuswillder/subscriptions', 'organizations_url': 'https://api.github.com/users/matheuswillder/orgs', 'repos_url': 'https://api.github.com/users/matheuswillder/repos', 'events_url': 'https://api.github.com/users/matheuswillder/events{/privacy}', 'received_events_url': 'https://api.github.com/users/matheuswillder/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'gh_issue_comment'}
2025-07-05T14:56:04.540726	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'JosJuice', 'action': 'created', 'id': 13786, 'title': 'PPCSymbolDB: Improve locking', 'url': 'https://github.com/dolphin-emu/dolphin/pull/13786#issuecomment-3039059753', 'safe_author': True, 'body': "Reproducing the issues fixed by this PR would presumably require you to do something like using the debugger's symbol functionality exactly while the core is jitting code. I don't have any reproduction steps for this, and even if you manage to reproduce it, the corruption it causes might be something minor that you'll never notice.", 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13786', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13786/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13786/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13786/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13786', 'id': 3189715929, 'node_id': 'PR_kwDOALCn2M6cwsDR', 'number': 13786, 'title': 'PPCSymbolDB: Improve locking', 'user': {'login': 'JosJuice', 'id': 6716818, 'node_id': 'MDQ6VXNlcjY3MTY4MTg=', 'avatar_url': 'https://avatars.githubusercontent.com/u/6716818?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/JosJuice', 'html_url': 'https://github.com/JosJuice', 'followers_url': 'https://api.github.com/users/JosJuice/followers', 'following_url': 'https://api.github.com/users/JosJuice/following{/other_user}', 'gists_url': 'https://api.github.com/users/JosJuice/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/JosJuice/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/JosJuice/subscriptions', 'organizations_url': 'https://api.github.com/users/JosJuice/orgs', 'repos_url': 'https://api.github.com/users/JosJuice/repos', 'events_url': 'https://api.github.com/users/JosJuice/events{/privacy}', 'received_events_url': 'https://api.github.com/users/JosJuice/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignee': None, 'assignees': [], 'milestone': None, 'comments': 4, 'created_at': '2025-06-30T20:10:32Z', 'updated_at': '2025-07-05T14:56:02Z', 'closed_at': None, 'author_association': 'MEMBER', 'type': None, 'active_lock_reason': None, 'draft': False, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/13786', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13786', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/13786.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/13786.patch', 'merged_at': None}, 'body': "https://github.com/dolphin-emu/dolphin/commit/93952381599a791710b21fb3d29d64d05cc635f3 added locking to PPCSymbolDB, but it didn't add locking to all relevant functions, and the way it uses try_lock introduces potential reliability problems. This PR improves seeks to improve the situation, as described further in the commit descriptions.\r\n\r\n@TryTwo You probably know the use cases better than me, so could I ask for your help in testing this? I did some basic tests of loading symbol maps, and that seemed to work fine.", 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13786/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/13786/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/3039059753', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13786#issuecomment-3039059753', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13786', 'id': 3039059753, 'node_id': 'IC_kwDOALCn2M61JF8p', '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': '2025-07-05T14:56:02Z', 'updated_at': '2025-07-05T14:56:02Z', 'author_association': 'MEMBER', 'body': "Reproducing the issues fixed by this PR would presumably require you to do something like using the debugger's symbol functionality exactly while the core is jitting code. I don't have any reproduction steps for this, and even if you manage to reproduce it, the corruption it causes might be something minor that you'll never notice.", 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/3039059753/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}, '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': '2025-07-05T06:48:25Z', 'pushed_at': '2025-07-03T06:31:01Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 530284, 'stargazers_count': 13889, 'watchers_count': 13889, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': True, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 2825, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 343, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 2825, 'open_issues': 343, 'watchers': 13889, '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'}
2025-07-05T14:53:41.623823	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'JosJuice', 'action': 'created', 'id': 13791, 'title': 'BTReal: Implement Realtek firmware loading.', 'url': 'https://github.com/dolphin-emu/dolphin/pull/13791#issuecomment-3039056345', 'safe_author': True, 'body': "> Oh, the specific Linux source files that I copied specify GPL-2.0-or-later.\r\n> https://github.com/torvalds/linux/blob/master/drivers/bluetooth/btusb.c\r\n> https://github.com/torvalds/linux/blob/master/drivers/bluetooth/btrtl.c\r\n> https://github.com/torvalds/linux/blob/master/drivers/bluetooth/btrtl.h\r\n>\r\n> So I think the licensing situation is a non-issue?\r\n\r\nYes, that's fine then.\r\n\r\n> But do I need to credit the original source in some manner?\r\n\r\nYes. I would say that doing this in the commit message is suitable.", 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13791', 'id': 3202305823, 'node_id': 'PR_kwDOALCn2M6dbDyN', 'number': 13791, 'title': 'BTReal: Implement Realtek firmware loading.', 'user': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [{'id': 217773431, 'node_id': 'MDU6TGFiZWwyMTc3NzM0MzE=', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels/needs%20testing', 'name': 'needs testing', 'color': 'fbca04', 'default': False, 'description': None}, {'id': 221808232, 'node_id': 'MDU6TGFiZWwyMjE4MDgyMzI=', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels/WIP%20/%20do%20not%20merge', 'name': 'WIP / do not merge', 'color': '0052cc', 'default': False, 'description': 'Work in progress (do not merge)'}, {'id': 221809816, 'node_id': 'MDU6TGFiZWwyMjE4MDk4MTY=', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels/RFC', 'name': 'RFC', 'color': 'FF6D00', 'default': False, 'description': 'Request for comments'}], 'state': 'open', 'locked': False, 'assignee': None, 'assignees': [], 'milestone': None, 'comments': 7, 'created_at': '2025-07-04T11:11:24Z', 'updated_at': '2025-07-05T14:53:39Z', 'closed_at': None, 'author_association': 'MEMBER', 'type': None, 'active_lock_reason': None, 'draft': False, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/13791', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13791', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/13791.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/13791.patch', 'merged_at': None}, 'body': 'This should make many more Realtek devices usable for Bluetooth passthrough.\r\nI\'m hoping for most Realtek adapters which work on Linux in general to now work on Windows with Bluetooth passthrough.\r\n\r\nI\'ve personally only tested a RTL8761B that I have on hand but the logic is largely the same for many other devices.\r\n\r\nSome files from "linux-firmware" will not yet load because they need "v2" firmware parsing implemented, which I have not done, because it\'s more complicated and I don\'t own an adapter to test, and I don\'t know if they are even common adapters.\r\n"rtl8851bu_fw"\r\n"rtl8852bu_fw"\r\n"rtl8922au_fw"\r\n"rtl8852btu_fw"\r\nObserving the "v2" firmware signature will currently produce an ERROR_LOG.\r\n\r\nAll the firmware loading logic is heavily copied from Linux source:\r\n`drivers/bluetooth/btusb.c`\r\n`drivers/bluetooth/btrtl.c`\r\n`drivers/bluetooth/btrtl.h`\r\nI don\'t know if we need to do anything anything special about that, license-wise?\r\n\r\nFirmware files currently need to be manually placed in Dolphin\'s Sys folder like:\r\n`Sys/Firmware/rtl_bt/rtl8761bu_fw.bin`\r\n`Sys/Firmware/rtl_bt/rtl8761bu_config.bin`\r\nFiles can be downloaded from: https://gitlab.com/kernel-firmware/linux-firmware/-/tree/main/rtl_bt?ref_type=heads\r\nThe user experience could be better, missing files will just produce an ERROR_LOG.\r\nI\'m open to suggestions on some other filesystem arrangement.\r\n\r\nTODO:\r\n- [ ] Figure out what to do about Linux source GPLv2 licensing.\r\n- [ ] Decide on filesystem path. Is `Sys/Firmware/rtl_bt/` good? Or is `Sys` bad since users need to touch it?', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791/reactions', 'total_count': 1, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 1, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'timeline_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/3039056345', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13791#issuecomment-3039056345', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791', 'id': 3039056345, 'node_id': 'IC_kwDOALCn2M61JFHZ', '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': '2025-07-05T14:53:39Z', 'updated_at': '2025-07-05T14:53:39Z', 'author_association': 'MEMBER', 'body': "> Oh, the specific Linux source files that I copied specify GPL-2.0-or-later.\r\n> https://github.com/torvalds/linux/blob/master/drivers/bluetooth/btusb.c\r\n> https://github.com/torvalds/linux/blob/master/drivers/bluetooth/btrtl.c\r\n> https://github.com/torvalds/linux/blob/master/drivers/bluetooth/btrtl.h\r\n>\r\n> So I think the licensing situation is a non-issue?\r\n\r\nYes, that's fine then.\r\n\r\n> But do I need to credit the original source in some manner?\r\n\r\nYes. I would say that doing this in the commit message is suitable.", 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/3039056345/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}, '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': '2025-07-05T06:48:25Z', 'pushed_at': '2025-07-03T06:31:01Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 530284, 'stargazers_count': 13889, 'watchers_count': 13889, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': True, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 2825, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 343, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 2825, 'open_issues': 343, 'watchers': 13889, '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'}
2025-07-05T05:13:36.611223	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'mbc07', 'action': 'created', 'id': 13791, 'title': 'BTReal: Implement Realtek firmware loading.', 'url': 'https://github.com/dolphin-emu/dolphin/pull/13791#issuecomment-3038117867', 'safe_author': True, 'body': 'I\'ll test this soon, this can potentially extend BT Passthrough support in Dolphin to a lot more adapters, since every standalone BT dongle you can find nowadays seems always based on a Realtek IC (RTL8761B most of the time) or on a crappy ATS2851 (which is just bad in general).\r\n<br/>\r\n\r\n> Some files from "linux-firmware" will not yet load because they need "v2" firmware parsing implemented, which I have not done, because it\'s more complicated and I don\'t own an adapter to test, and I don\'t know if they are even common adapters.\r\n\r\nThose seems to be the Mediatek/Realtek Wi-Fi + Bluetooth combo cards typically found on recent-ish AMD powered laptops (I know for sure the RTL8852 is one of them). They\'re not exactly common, but not totally unknown either...', 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13791', 'id': 3202305823, 'node_id': 'PR_kwDOALCn2M6dbDyN', 'number': 13791, 'title': 'BTReal: Implement Realtek firmware loading.', 'user': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [{'id': 217773431, 'node_id': 'MDU6TGFiZWwyMTc3NzM0MzE=', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels/needs%20testing', 'name': 'needs testing', 'color': 'fbca04', 'default': False, 'description': None}, {'id': 221808232, 'node_id': 'MDU6TGFiZWwyMjE4MDgyMzI=', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels/WIP%20/%20do%20not%20merge', 'name': 'WIP / do not merge', 'color': '0052cc', 'default': False, 'description': 'Work in progress (do not merge)'}, {'id': 221809816, 'node_id': 'MDU6TGFiZWwyMjE4MDk4MTY=', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels/RFC', 'name': 'RFC', 'color': 'FF6D00', 'default': False, 'description': 'Request for comments'}], 'state': 'open', 'locked': False, 'assignee': None, 'assignees': [], 'milestone': None, 'comments': 6, 'created_at': '2025-07-04T11:11:24Z', 'updated_at': '2025-07-05T05:13:35Z', 'closed_at': None, 'author_association': 'MEMBER', 'type': None, 'active_lock_reason': None, 'draft': False, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/13791', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13791', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/13791.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/13791.patch', 'merged_at': None}, 'body': 'This should make many more Realtek devices usable for Bluetooth passthrough.\r\nI\'m hoping for most Realtek adapters which work on Linux in general to now work on Windows with Bluetooth passthrough.\r\n\r\nI\'ve personally only tested a RTL8761B that I have on hand but the logic is largely the same for many other devices.\r\n\r\nSome files from "linux-firmware" will not yet load because they need "v2" firmware parsing implemented, which I have not done, because it\'s more complicated and I don\'t own an adapter to test, and I don\'t know if they are even common adapters.\r\n"rtl8851bu_fw"\r\n"rtl8852bu_fw"\r\n"rtl8922au_fw"\r\n"rtl8852btu_fw"\r\nObserving the "v2" firmware signature will currently produce an ERROR_LOG.\r\n\r\nAll the firmware loading logic is heavily copied from Linux source:\r\n`drivers/bluetooth/btusb.c`\r\n`drivers/bluetooth/btrtl.c`\r\n`drivers/bluetooth/btrtl.h`\r\nI don\'t know if we need to do anything anything special about that, license-wise?\r\n\r\nFirmware files currently need to be manually placed in Dolphin\'s Sys folder like:\r\n`Sys/Firmware/rtl_bt/rtl8761bu_fw.bin`\r\n`Sys/Firmware/rtl_bt/rtl8761bu_config.bin`\r\nFiles can be downloaded from: https://gitlab.com/kernel-firmware/linux-firmware/-/tree/main/rtl_bt?ref_type=heads\r\nThe user experience could be better, missing files will just produce an ERROR_LOG.\r\nI\'m open to suggestions on some other filesystem arrangement.\r\n\r\nTODO:\r\n- [ ] Figure out what to do about Linux source GPLv2 licensing.\r\n- [ ] Decide on filesystem path. Is `Sys/Firmware/rtl_bt/` good? Or is `Sys` bad since users need to touch it?', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791/reactions', 'total_count': 1, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 1, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'timeline_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/3038117867', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13791#issuecomment-3038117867', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791', 'id': 3038117867, 'node_id': 'IC_kwDOALCn2M61Ff_r', 'user': {'login': 'mbc07', 'id': 8005966, 'node_id': 'MDQ6VXNlcjgwMDU5NjY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/8005966?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/mbc07', 'html_url': 'https://github.com/mbc07', 'followers_url': 'https://api.github.com/users/mbc07/followers', 'following_url': 'https://api.github.com/users/mbc07/following{/other_user}', 'gists_url': 'https://api.github.com/users/mbc07/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/mbc07/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/mbc07/subscriptions', 'organizations_url': 'https://api.github.com/users/mbc07/orgs', 'repos_url': 'https://api.github.com/users/mbc07/repos', 'events_url': 'https://api.github.com/users/mbc07/events{/privacy}', 'received_events_url': 'https://api.github.com/users/mbc07/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2025-07-05T05:13:34Z', 'updated_at': '2025-07-05T05:13:34Z', 'author_association': 'MEMBER', 'body': 'I\'ll test this soon, this can potentially extend BT Passthrough support in Dolphin to a lot more adapters, since every standalone BT dongle you can find nowadays seems always based on a Realtek IC (RTL8761B most of the time) or on a crappy ATS2851 (which is just bad in general).\r\n<br/>\r\n\r\n> Some files from "linux-firmware" will not yet load because they need "v2" firmware parsing implemented, which I have not done, because it\'s more complicated and I don\'t own an adapter to test, and I don\'t know if they are even common adapters.\r\n\r\nThose seems to be the Mediatek/Realtek Wi-Fi + Bluetooth combo cards typically found on recent-ish AMD powered laptops (I know for sure the RTL8852 is one of them). They\'re not exactly common, but not totally unknown either...', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/3038117867/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}, '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': '2025-07-05T02:35:26Z', 'pushed_at': '2025-07-03T06:31:01Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 530284, 'stargazers_count': 13888, 'watchers_count': 13888, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': True, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 2824, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 342, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 2824, 'open_issues': 342, 'watchers': 13888, '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': 'mbc07', 'id': 8005966, 'node_id': 'MDQ6VXNlcjgwMDU5NjY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/8005966?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/mbc07', 'html_url': 'https://github.com/mbc07', 'followers_url': 'https://api.github.com/users/mbc07/followers', 'following_url': 'https://api.github.com/users/mbc07/following{/other_user}', 'gists_url': 'https://api.github.com/users/mbc07/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/mbc07/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/mbc07/subscriptions', 'organizations_url': 'https://api.github.com/users/mbc07/orgs', 'repos_url': 'https://api.github.com/users/mbc07/repos', 'events_url': 'https://api.github.com/users/mbc07/events{/privacy}', 'received_events_url': 'https://api.github.com/users/mbc07/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'gh_issue_comment'}
2025-07-05T00:16:29.237350	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'edited', 'id': 13791, 'title': 'BTReal: Implement Realtek firmware loading.', 'url': 'https://github.com/dolphin-emu/dolphin/pull/13791#issuecomment-3037463157', 'safe_author': True, 'body': 'Oh, the specific Linux source files that I copied specify GPL-2.0-or-later.\r\nhttps://github.com/torvalds/linux/blob/master/drivers/bluetooth/btusb.c\r\nhttps://github.com/torvalds/linux/blob/master/drivers/bluetooth/btrtl.c\r\nhttps://github.com/torvalds/linux/blob/master/drivers/bluetooth/btrtl.h\r\n\r\nSo I think the licensing situation is a non-issue?\r\n\r\nBut do I need to credit the original source in some manner?', 'raw': {'action': 'edited', 'changes': {'body': {'from': 'Oh, the specific Linux source files that I copied from specify GPL-2.0-or-later.\r\nhttps://github.com/torvalds/linux/blob/master/drivers/bluetooth/btusb.c\r\nhttps://github.com/torvalds/linux/blob/master/drivers/bluetooth/btrtl.c\r\nhttps://github.com/torvalds/linux/blob/master/drivers/bluetooth/btrtl.h\r\n\r\nSo I think the licensing situation is a non-issue?\r\n\r\nBut do I need to credit the original source in some manner?'}}, 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13791', 'id': 3202305823, 'node_id': 'PR_kwDOALCn2M6dbDyN', 'number': 13791, 'title': 'BTReal: Implement Realtek firmware loading.', 'user': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [{'id': 217773431, 'node_id': 'MDU6TGFiZWwyMTc3NzM0MzE=', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels/needs%20testing', 'name': 'needs testing', 'color': 'fbca04', 'default': False, 'description': None}, {'id': 221808232, 'node_id': 'MDU6TGFiZWwyMjE4MDgyMzI=', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels/WIP%20/%20do%20not%20merge', 'name': 'WIP / do not merge', 'color': '0052cc', 'default': False, 'description': 'Work in progress (do not merge)'}, {'id': 221809816, 'node_id': 'MDU6TGFiZWwyMjE4MDk4MTY=', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels/RFC', 'name': 'RFC', 'color': 'FF6D00', 'default': False, 'description': 'Request for comments'}], 'state': 'open', 'locked': False, 'assignee': None, 'assignees': [], 'milestone': None, 'comments': 5, 'created_at': '2025-07-04T11:11:24Z', 'updated_at': '2025-07-05T00:16:02Z', 'closed_at': None, 'author_association': 'MEMBER', 'type': None, 'active_lock_reason': None, 'draft': False, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/13791', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13791', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/13791.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/13791.patch', 'merged_at': None}, 'body': 'This should make many more Realtek devices usable for Bluetooth passthrough.\r\nI\'m hoping for most Realtek adapters which work on Linux in general to now work on Windows with Bluetooth passthrough.\r\n\r\nI\'ve personally only tested a RTL8761B that I have on hand but the logic is largely the same for many other devices.\r\n\r\nSome files from "linux-firmware" will not yet load because they need "v2" firmware parsing implemented, which I have not done, because it\'s more complicated and I don\'t own an adapter to test, and I don\'t know if they are even common adapters.\r\n"rtl8851bu_fw"\r\n"rtl8852bu_fw"\r\n"rtl8922au_fw"\r\n"rtl8852btu_fw"\r\nObserving the "v2" firmware signature will currently produce an ERROR_LOG.\r\n\r\nAll the firmware loading logic is heavily copied from Linux source:\r\n`drivers/bluetooth/btusb.c`\r\n`drivers/bluetooth/btrtl.c`\r\n`drivers/bluetooth/btrtl.h`\r\nI don\'t know if we need to do anything anything special about that, license-wise?\r\n\r\nFirmware files currently need to be manually placed in Dolphin\'s Sys folder like:\r\n`Sys/Firmware/rtl_bt/rtl8761bu_fw.bin`\r\n`Sys/Firmware/rtl_bt/rtl8761bu_config.bin`\r\nFiles can be downloaded from: https://gitlab.com/kernel-firmware/linux-firmware/-/tree/main/rtl_bt?ref_type=heads\r\nThe user experience could be better, missing files will just produce an ERROR_LOG.\r\nI\'m open to suggestions on some other filesystem arrangement.\r\n\r\nTODO:\r\n- [ ] Figure out what to do about Linux source GPLv2 licensing.\r\n- [ ] Decide on filesystem path. Is `Sys/Firmware/rtl_bt/` good?', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791/reactions', 'total_count': 1, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 1, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'timeline_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/3037463157', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13791#issuecomment-3037463157', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791', 'id': 3037463157, 'node_id': 'IC_kwDOALCn2M61DAJ1', 'user': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2025-07-05T00:16:02Z', 'updated_at': '2025-07-05T00:16:27Z', 'author_association': 'MEMBER', 'body': 'Oh, the specific Linux source files that I copied specify GPL-2.0-or-later.\r\nhttps://github.com/torvalds/linux/blob/master/drivers/bluetooth/btusb.c\r\nhttps://github.com/torvalds/linux/blob/master/drivers/bluetooth/btrtl.c\r\nhttps://github.com/torvalds/linux/blob/master/drivers/bluetooth/btrtl.h\r\n\r\nSo I think the licensing situation is a non-issue?\r\n\r\nBut do I need to credit the original source in some manner?', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/3037463157/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}, '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': '2025-07-04T22:20:38Z', 'pushed_at': '2025-07-03T06:31:01Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 530284, 'stargazers_count': 13886, 'watchers_count': 13886, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': True, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 2824, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 342, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 2824, 'open_issues': 342, 'watchers': 13886, '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'}
2025-07-05T00:16:04.207870	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'created', 'id': 13791, 'title': 'BTReal: Implement Realtek firmware loading.', 'url': 'https://github.com/dolphin-emu/dolphin/pull/13791#issuecomment-3037463157', 'safe_author': True, 'body': 'Oh, the specific Linux source files that I copied from specify GPL-2.0-or-later.\r\nhttps://github.com/torvalds/linux/blob/master/drivers/bluetooth/btusb.c\r\nhttps://github.com/torvalds/linux/blob/master/drivers/bluetooth/btrtl.c\r\nhttps://github.com/torvalds/linux/blob/master/drivers/bluetooth/btrtl.h\r\n\r\nSo I think the licensing situation is a non-issue?\r\n\r\nBut do I need to credit the original source in some manner?', 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13791', 'id': 3202305823, 'node_id': 'PR_kwDOALCn2M6dbDyN', 'number': 13791, 'title': 'BTReal: Implement Realtek firmware loading.', 'user': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [{'id': 217773431, 'node_id': 'MDU6TGFiZWwyMTc3NzM0MzE=', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels/needs%20testing', 'name': 'needs testing', 'color': 'fbca04', 'default': False, 'description': None}, {'id': 221808232, 'node_id': 'MDU6TGFiZWwyMjE4MDgyMzI=', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels/WIP%20/%20do%20not%20merge', 'name': 'WIP / do not merge', 'color': '0052cc', 'default': False, 'description': 'Work in progress (do not merge)'}, {'id': 221809816, 'node_id': 'MDU6TGFiZWwyMjE4MDk4MTY=', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels/RFC', 'name': 'RFC', 'color': 'FF6D00', 'default': False, 'description': 'Request for comments'}], 'state': 'open', 'locked': False, 'assignee': None, 'assignees': [], 'milestone': None, 'comments': 5, 'created_at': '2025-07-04T11:11:24Z', 'updated_at': '2025-07-05T00:16:02Z', 'closed_at': None, 'author_association': 'MEMBER', 'type': None, 'active_lock_reason': None, 'draft': False, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/13791', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13791', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/13791.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/13791.patch', 'merged_at': None}, 'body': 'This should make many more Realtek devices usable for Bluetooth passthrough.\r\nI\'m hoping for most Realtek adapters which work on Linux in general to now work on Windows with Bluetooth passthrough.\r\n\r\nI\'ve personally only tested a RTL8761B that I have on hand but the logic is largely the same for many other devices.\r\n\r\nSome files from "linux-firmware" will not yet load because they need "v2" firmware parsing implemented, which I have not done, because it\'s more complicated and I don\'t own an adapter to test, and I don\'t know if they are even common adapters.\r\n"rtl8851bu_fw"\r\n"rtl8852bu_fw"\r\n"rtl8922au_fw"\r\n"rtl8852btu_fw"\r\nObserving the "v2" firmware signature will currently produce an ERROR_LOG.\r\n\r\nAll the firmware loading logic is heavily copied from Linux source:\r\n`drivers/bluetooth/btusb.c`\r\n`drivers/bluetooth/btrtl.c`\r\n`drivers/bluetooth/btrtl.h`\r\nI don\'t know if we need to do anything anything special about that, license-wise?\r\n\r\nFirmware files currently need to be manually placed in Dolphin\'s Sys folder like:\r\n`Sys/Firmware/rtl_bt/rtl8761bu_fw.bin`\r\n`Sys/Firmware/rtl_bt/rtl8761bu_config.bin`\r\nFiles can be downloaded from: https://gitlab.com/kernel-firmware/linux-firmware/-/tree/main/rtl_bt?ref_type=heads\r\nThe user experience could be better, missing files will just produce an ERROR_LOG.\r\nI\'m open to suggestions on some other filesystem arrangement.\r\n\r\nTODO:\r\n- [ ] Figure out what to do about Linux source GPLv2 licensing.\r\n- [ ] Decide on filesystem path. Is `Sys/Firmware/rtl_bt/` good?', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791/reactions', 'total_count': 1, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 1, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'timeline_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/3037463157', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13791#issuecomment-3037463157', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791', 'id': 3037463157, 'node_id': 'IC_kwDOALCn2M61DAJ1', 'user': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2025-07-05T00:16:02Z', 'updated_at': '2025-07-05T00:16:02Z', 'author_association': 'MEMBER', 'body': 'Oh, the specific Linux source files that I copied from specify GPL-2.0-or-later.\r\nhttps://github.com/torvalds/linux/blob/master/drivers/bluetooth/btusb.c\r\nhttps://github.com/torvalds/linux/blob/master/drivers/bluetooth/btrtl.c\r\nhttps://github.com/torvalds/linux/blob/master/drivers/bluetooth/btrtl.h\r\n\r\nSo I think the licensing situation is a non-issue?\r\n\r\nBut do I need to credit the original source in some manner?', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/3037463157/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}, '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': '2025-07-04T22:20:38Z', 'pushed_at': '2025-07-03T06:31:01Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 530284, 'stargazers_count': 13886, 'watchers_count': 13886, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': True, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 2824, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 342, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 2824, 'open_issues': 342, 'watchers': 13886, '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'}
2025-07-04T22:23:55.748069	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'TryTwo', 'action': 'created', 'id': 13786, 'title': 'PPCSymbolDB: Improve locking', 'url': 'https://github.com/dolphin-emu/dolphin/pull/13786#issuecomment-3037322851', 'safe_author': True, 'body': "There may not be anything unreliable after my fix.  This is just a more thorough fix. So I think if it still works with your large files without causing extra lag, or anything, it's good. Just need you to check that it works the same.", 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13786', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13786/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13786/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13786/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13786', 'id': 3189715929, 'node_id': 'PR_kwDOALCn2M6cwsDR', 'number': 13786, 'title': 'PPCSymbolDB: Improve locking', 'user': {'login': 'JosJuice', 'id': 6716818, 'node_id': 'MDQ6VXNlcjY3MTY4MTg=', 'avatar_url': 'https://avatars.githubusercontent.com/u/6716818?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/JosJuice', 'html_url': 'https://github.com/JosJuice', 'followers_url': 'https://api.github.com/users/JosJuice/followers', 'following_url': 'https://api.github.com/users/JosJuice/following{/other_user}', 'gists_url': 'https://api.github.com/users/JosJuice/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/JosJuice/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/JosJuice/subscriptions', 'organizations_url': 'https://api.github.com/users/JosJuice/orgs', 'repos_url': 'https://api.github.com/users/JosJuice/repos', 'events_url': 'https://api.github.com/users/JosJuice/events{/privacy}', 'received_events_url': 'https://api.github.com/users/JosJuice/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignee': None, 'assignees': [], 'milestone': None, 'comments': 3, 'created_at': '2025-06-30T20:10:32Z', 'updated_at': '2025-07-04T22:23:53Z', 'closed_at': None, 'author_association': 'MEMBER', 'type': None, 'active_lock_reason': None, 'draft': False, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/13786', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13786', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/13786.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/13786.patch', 'merged_at': None}, 'body': "https://github.com/dolphin-emu/dolphin/commit/93952381599a791710b21fb3d29d64d05cc635f3 added locking to PPCSymbolDB, but it didn't add locking to all relevant functions, and the way it uses try_lock introduces potential reliability problems. This PR improves seeks to improve the situation, as described further in the commit descriptions.\r\n\r\n@TryTwo You probably know the use cases better than me, so could I ask for your help in testing this? I did some basic tests of loading symbol maps, and that seemed to work fine.", 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13786/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/13786/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/3037322851', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13786#issuecomment-3037322851', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13786', 'id': 3037322851, 'node_id': 'IC_kwDOALCn2M61Cd5j', 'user': {'login': 'TryTwo', 'id': 10532806, 'node_id': 'MDQ6VXNlcjEwNTMyODA2', 'avatar_url': 'https://avatars.githubusercontent.com/u/10532806?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/TryTwo', 'html_url': 'https://github.com/TryTwo', 'followers_url': 'https://api.github.com/users/TryTwo/followers', 'following_url': 'https://api.github.com/users/TryTwo/following{/other_user}', 'gists_url': 'https://api.github.com/users/TryTwo/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/TryTwo/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/TryTwo/subscriptions', 'organizations_url': 'https://api.github.com/users/TryTwo/orgs', 'repos_url': 'https://api.github.com/users/TryTwo/repos', 'events_url': 'https://api.github.com/users/TryTwo/events{/privacy}', 'received_events_url': 'https://api.github.com/users/TryTwo/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2025-07-04T22:23:53Z', 'updated_at': '2025-07-04T22:23:53Z', 'author_association': 'MEMBER', 'body': "There may not be anything unreliable after my fix.  This is just a more thorough fix. So I think if it still works with your large files without causing extra lag, or anything, it's good. Just need you to check that it works the same.", 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/3037322851/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}, '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': '2025-07-04T22:20:38Z', 'pushed_at': '2025-07-03T06:31:01Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 530284, 'stargazers_count': 13886, 'watchers_count': 13886, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': True, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 2824, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 342, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 2824, 'open_issues': 342, 'watchers': 13886, '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': 'TryTwo', 'id': 10532806, 'node_id': 'MDQ6VXNlcjEwNTMyODA2', 'avatar_url': 'https://avatars.githubusercontent.com/u/10532806?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/TryTwo', 'html_url': 'https://github.com/TryTwo', 'followers_url': 'https://api.github.com/users/TryTwo/followers', 'following_url': 'https://api.github.com/users/TryTwo/following{/other_user}', 'gists_url': 'https://api.github.com/users/TryTwo/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/TryTwo/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/TryTwo/subscriptions', 'organizations_url': 'https://api.github.com/users/TryTwo/orgs', 'repos_url': 'https://api.github.com/users/TryTwo/repos', 'events_url': 'https://api.github.com/users/TryTwo/events{/privacy}', 'received_events_url': 'https://api.github.com/users/TryTwo/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'gh_issue_comment'}
2025-07-04T21:11:25.144131	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'dreamsyntax', 'action': 'created', 'id': 13786, 'title': 'PPCSymbolDB: Improve locking', 'url': 'https://github.com/dolphin-emu/dolphin/pull/13786#issuecomment-3037245369', 'safe_author': True, 'body': "Is there a way to reproduce the supposed reliability problems? I've had no issues since the other PR was merged", 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13786', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13786/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13786/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13786/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13786', 'id': 3189715929, 'node_id': 'PR_kwDOALCn2M6cwsDR', 'number': 13786, 'title': 'PPCSymbolDB: Improve locking', 'user': {'login': 'JosJuice', 'id': 6716818, 'node_id': 'MDQ6VXNlcjY3MTY4MTg=', 'avatar_url': 'https://avatars.githubusercontent.com/u/6716818?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/JosJuice', 'html_url': 'https://github.com/JosJuice', 'followers_url': 'https://api.github.com/users/JosJuice/followers', 'following_url': 'https://api.github.com/users/JosJuice/following{/other_user}', 'gists_url': 'https://api.github.com/users/JosJuice/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/JosJuice/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/JosJuice/subscriptions', 'organizations_url': 'https://api.github.com/users/JosJuice/orgs', 'repos_url': 'https://api.github.com/users/JosJuice/repos', 'events_url': 'https://api.github.com/users/JosJuice/events{/privacy}', 'received_events_url': 'https://api.github.com/users/JosJuice/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignee': None, 'assignees': [], 'milestone': None, 'comments': 2, 'created_at': '2025-06-30T20:10:32Z', 'updated_at': '2025-07-04T21:11:23Z', 'closed_at': None, 'author_association': 'MEMBER', 'type': None, 'active_lock_reason': None, 'draft': False, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/13786', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13786', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/13786.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/13786.patch', 'merged_at': None}, 'body': "https://github.com/dolphin-emu/dolphin/commit/93952381599a791710b21fb3d29d64d05cc635f3 added locking to PPCSymbolDB, but it didn't add locking to all relevant functions, and the way it uses try_lock introduces potential reliability problems. This PR improves seeks to improve the situation, as described further in the commit descriptions.\r\n\r\n@TryTwo You probably know the use cases better than me, so could I ask for your help in testing this? I did some basic tests of loading symbol maps, and that seemed to work fine.", 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13786/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/13786/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/3037245369', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13786#issuecomment-3037245369', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13786', 'id': 3037245369, 'node_id': 'IC_kwDOALCn2M61CK-5', 'user': {'login': 'dreamsyntax', 'id': 14857235, 'node_id': 'MDQ6VXNlcjE0ODU3MjM1', 'avatar_url': 'https://avatars.githubusercontent.com/u/14857235?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dreamsyntax', 'html_url': 'https://github.com/dreamsyntax', 'followers_url': 'https://api.github.com/users/dreamsyntax/followers', 'following_url': 'https://api.github.com/users/dreamsyntax/following{/other_user}', 'gists_url': 'https://api.github.com/users/dreamsyntax/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dreamsyntax/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dreamsyntax/subscriptions', 'organizations_url': 'https://api.github.com/users/dreamsyntax/orgs', 'repos_url': 'https://api.github.com/users/dreamsyntax/repos', 'events_url': 'https://api.github.com/users/dreamsyntax/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dreamsyntax/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2025-07-04T21:11:23Z', 'updated_at': '2025-07-04T21:11:23Z', 'author_association': 'MEMBER', 'body': "Is there a way to reproduce the supposed reliability problems? I've had no issues since the other PR was merged", 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/3037245369/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}, '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': '2025-07-04T14:55:10Z', 'pushed_at': '2025-07-03T06:31:01Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 530284, 'stargazers_count': 13886, 'watchers_count': 13886, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': True, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 2824, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 342, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 2824, 'open_issues': 342, 'watchers': 13886, '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': 'dreamsyntax', 'id': 14857235, 'node_id': 'MDQ6VXNlcjE0ODU3MjM1', 'avatar_url': 'https://avatars.githubusercontent.com/u/14857235?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dreamsyntax', 'html_url': 'https://github.com/dreamsyntax', 'followers_url': 'https://api.github.com/users/dreamsyntax/followers', 'following_url': 'https://api.github.com/users/dreamsyntax/following{/other_user}', 'gists_url': 'https://api.github.com/users/dreamsyntax/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dreamsyntax/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dreamsyntax/subscriptions', 'organizations_url': 'https://api.github.com/users/dreamsyntax/orgs', 'repos_url': 'https://api.github.com/users/dreamsyntax/repos', 'events_url': 'https://api.github.com/users/dreamsyntax/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dreamsyntax/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'gh_issue_comment'}
2025-07-04T18:45:38.692127	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'OatmealDome', 'action': 'created', 'id': 13791, 'title': 'BTReal: Implement Realtek firmware loading.', 'url': 'https://github.com/dolphin-emu/dolphin/pull/13791#issuecomment-3037053660', 'safe_author': True, 'body': "Since the only platform we need to use GPLv3 on is Android (afaik), would not compiling the Realtek firmware loader on Android be enough to avoid a license violation? It's not like those devices can use Bluetooth passthrough anyway.\r\n\r\nI suppose we'd also need to check to make sure we don't include any GPLv2-incompatible deps on other platforms, though.", 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13791', 'id': 3202305823, 'node_id': 'PR_kwDOALCn2M6dbDyN', 'number': 13791, 'title': 'BTReal: Implement Realtek firmware loading.', 'user': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [{'id': 217773431, 'node_id': 'MDU6TGFiZWwyMTc3NzM0MzE=', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels/needs%20testing', 'name': 'needs testing', 'color': 'fbca04', 'default': False, 'description': None}, {'id': 221808232, 'node_id': 'MDU6TGFiZWwyMjE4MDgyMzI=', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels/WIP%20/%20do%20not%20merge', 'name': 'WIP / do not merge', 'color': '0052cc', 'default': False, 'description': 'Work in progress (do not merge)'}, {'id': 221809816, 'node_id': 'MDU6TGFiZWwyMjE4MDk4MTY=', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels/RFC', 'name': 'RFC', 'color': 'FF6D00', 'default': False, 'description': 'Request for comments'}], 'state': 'open', 'locked': False, 'assignee': None, 'assignees': [], 'milestone': None, 'comments': 4, 'created_at': '2025-07-04T11:11:24Z', 'updated_at': '2025-07-04T18:45:37Z', 'closed_at': None, 'author_association': 'MEMBER', 'type': None, 'active_lock_reason': None, 'draft': False, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/13791', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13791', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/13791.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/13791.patch', 'merged_at': None}, 'body': 'This should make many more Realtek devices usable for Bluetooth passthrough.\r\nI\'m hoping for most Realtek adapters which work on Linux in general to now work on Windows with Bluetooth passthrough.\r\n\r\nI\'ve personally only tested a RTL8761B that I have on hand but the logic is largely the same for many other devices.\r\n\r\nSome files from "linux-firmware" will not yet load because they need "v2" firmware parsing implemented, which I have not done, because it\'s more complicated and I don\'t own an adapter to test, and I don\'t know if they are even common adapters.\r\n8851B "rtl8851bu_fw"\r\n8852B "rtl8852bu_fw"\r\n8922A "rtl8922au_fw"\r\n8852BT/8852BE-VT "rtl8852btu_fw"\r\n\r\nAll the firmware loading logic is heavily copied from Linux source:\r\n`drivers/bluetooth/btusb.c`\r\n`drivers/bluetooth/btrtl.c`\r\n`drivers/bluetooth/btrtl.h`\r\nI don\'t know if we need to do anything anything special about that, license-wise?\r\n\r\nFirmware files currently need to be manually placed in Dolphin\'s Sys folder like:\r\n`Sys/Firmware/rtl_bt/rtl8761bu_fw.bin`\r\n`Sys/Firmware/rtl_bt/rtl8761bu_config.bin`\r\nFiles can be downloaded from: https://gitlab.com/kernel-firmware/linux-firmware/-/tree/main/rtl_bt?ref_type=heads\r\nThe user experience could be better, missing files will just produce an ERROR_LOG.\r\nI\'m open to suggestions on some other filesystem arrangement.\r\n\r\nA bit more code cleanup can be done, but this is ready for some testing.', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791/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/13791/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/3037053660', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13791#issuecomment-3037053660', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791', 'id': 3037053660, 'node_id': 'IC_kwDOALCn2M61BcLc', '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': '2025-07-04T18:45:37Z', 'updated_at': '2025-07-04T18:45:37Z', 'author_association': 'MEMBER', 'body': "Since the only platform we need to use GPLv3 on is Android (afaik), would not compiling the Realtek firmware loader on Android be enough to avoid a license violation? It's not like those devices can use Bluetooth passthrough anyway.\r\n\r\nI suppose we'd also need to check to make sure we don't include any GPLv2-incompatible deps on other platforms, though.", 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/3037053660/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}, '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': '2025-07-04T14:55:10Z', 'pushed_at': '2025-07-03T06:31:01Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 530284, 'stargazers_count': 13886, 'watchers_count': 13886, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': True, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 2824, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 342, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 2824, 'open_issues': 342, 'watchers': 13886, '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'}
2025-07-04T16:42:00.612676	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'JosJuice', 'action': 'created', 'id': 13791, 'title': 'BTReal: Implement Realtek firmware loading.', 'url': 'https://github.com/dolphin-emu/dolphin/pull/13791#issuecomment-3036858264', 'safe_author': True, 'body': "> I don't know if we need to do anything anything special about that, license-wise?\r\n\r\nWe can't directly copy Linux code, as it's GPLv2 only rather than GPLv2+.", 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13791', 'id': 3202305823, 'node_id': 'PR_kwDOALCn2M6dbDyN', 'number': 13791, 'title': 'BTReal: Implement Realtek firmware loading.', 'user': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [{'id': 217773431, 'node_id': 'MDU6TGFiZWwyMTc3NzM0MzE=', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels/needs%20testing', 'name': 'needs testing', 'color': 'fbca04', 'default': False, 'description': None}, {'id': 221808232, 'node_id': 'MDU6TGFiZWwyMjE4MDgyMzI=', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels/WIP%20/%20do%20not%20merge', 'name': 'WIP / do not merge', 'color': '0052cc', 'default': False, 'description': 'Work in progress (do not merge)'}, {'id': 221809816, 'node_id': 'MDU6TGFiZWwyMjE4MDk4MTY=', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels/RFC', 'name': 'RFC', 'color': 'FF6D00', 'default': False, 'description': 'Request for comments'}], 'state': 'open', 'locked': False, 'assignee': None, 'assignees': [], 'milestone': None, 'comments': 3, 'created_at': '2025-07-04T11:11:24Z', 'updated_at': '2025-07-04T16:41:58Z', 'closed_at': None, 'author_association': 'MEMBER', 'type': None, 'active_lock_reason': None, 'draft': False, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/13791', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13791', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/13791.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/13791.patch', 'merged_at': None}, 'body': 'This should make many more Realtek devices usable for Bluetooth passthrough.\r\nI\'m hoping for most Realtek adapters which work on Linux in general to now work on Windows with Bluetooth passthrough.\r\n\r\nI\'ve personally only tested a RTL8761B that I have on hand but the logic is largely the same for many other devices.\r\n\r\nSome files from "linux-firmware" will not yet load because they need "v2" firmware parsing implemented, which I have not done, because it\'s more complicated and I don\'t own an adapter to test, and I don\'t know if they are even common adapters.\r\n8851B "rtl8851bu_fw"\r\n8852B "rtl8852bu_fw"\r\n8922A "rtl8922au_fw"\r\n8852BT/8852BE-VT "rtl8852btu_fw"\r\n\r\nAll the firmware loading logic is heavily copied from Linux source:\r\n`drivers/bluetooth/btusb.c`\r\n`drivers/bluetooth/btrtl.c`\r\n`drivers/bluetooth/btrtl.h`\r\nI don\'t know if we need to do anything anything special about that, license-wise?\r\n\r\nFirmware files currently need to be manually placed in Dolphin\'s Sys folder like:\r\n`Sys/Firmware/rtl_bt/rtl8761bu_fw.bin`\r\n`Sys/Firmware/rtl_bt/rtl8761bu_config.bin`\r\nFiles can be downloaded from: https://gitlab.com/kernel-firmware/linux-firmware/-/tree/main/rtl_bt?ref_type=heads\r\nThe user experience could be better, missing files will just produce an ERROR_LOG.\r\nI\'m open to suggestions on some other filesystem arrangement.\r\n\r\nA bit more code cleanup can be done, but this is ready for some testing.', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791/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/13791/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/3036858264', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13791#issuecomment-3036858264', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791', 'id': 3036858264, 'node_id': 'IC_kwDOALCn2M61AseY', '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': '2025-07-04T16:41:58Z', 'updated_at': '2025-07-04T16:41:58Z', 'author_association': 'MEMBER', 'body': "> I don't know if we need to do anything anything special about that, license-wise?\r\n\r\nWe can't directly copy Linux code, as it's GPLv2 only rather than GPLv2+.", 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/3036858264/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}, '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': '2025-07-04T14:55:10Z', 'pushed_at': '2025-07-03T06:31:01Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 530284, 'stargazers_count': 13886, 'watchers_count': 13886, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': True, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 2823, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 342, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 2823, 'open_issues': 342, 'watchers': 13886, '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'}
2025-07-04T12:07:43.380014	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'edited', 'id': 13791, 'title': 'BTReal: Implement Realtek firmware loading.', 'url': 'https://github.com/dolphin-emu/dolphin/pull/13791#issuecomment-3035834434', 'safe_author': True, 'body': "> I've noticed that btusb.c also uses [USB_VENDOR_AND_INTERFACE_INFO](https://github.com/torvalds/linux/blob/4c06e63b92038fadb566b652ec3ec04e228931e8/drivers/bluetooth/btusb.c#L587-L589) to determine if a device is Realtek or not, by using the VID, class, subclass, and protocol instead of a VID/PID pair, but your code doesn't do that. Does the hardcoded list include every Realtek device, or should this also be considered?\r\n\r\nThanks, I missed that `USB_VENDOR_AND_INTERFACE_INFO` line.\r\nI suppose all the entries with VID:`0x0bda` can be removed and we can just test for that Realtek VID explicitly.\r\nWe already test for the `0xe0,0x01,0x01` `class,subclass,protocol` where we determine which USB device to use in the first place.\r\n\r\nEdit: I kept the `0x0bda` entries in the list and now also call `IsKnownRealtekBluetoothDevice` in `IsBluetoothDevice` to maybe detect some poorly classified devices without having to explicitly change the adapter from `Automatic`.", 'raw': {'action': 'edited', 'changes': {'body': {'from': "> I've noticed that btusb.c also uses [USB_VENDOR_AND_INTERFACE_INFO](https://github.com/torvalds/linux/blob/4c06e63b92038fadb566b652ec3ec04e228931e8/drivers/bluetooth/btusb.c#L587-L589) to determine if a device is Realtek or not, by using the VID, class, subclass, and protocol instead of a VID/PID pair, but your code doesn't do that. Does the hardcoded list include every Realtek device, or should this also be considered?\r\n\r\nThanks, I missed that `USB_VENDOR_AND_INTERFACE_INFO` line.\r\nI suppose all the entries with VID:`0x0bda` can be removed and we can just test for that Realtek VID explicitly.\r\nWe already test for the `0xe0,0x01,0x01` `class,subclass,protocol` where we determine which USB device to use in the first place."}}, 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13791', 'id': 3202305823, 'node_id': 'PR_kwDOALCn2M6dbDyN', 'number': 13791, 'title': 'BTReal: Implement Realtek firmware loading.', 'user': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [{'id': 217773431, 'node_id': 'MDU6TGFiZWwyMTc3NzM0MzE=', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels/needs%20testing', 'name': 'needs testing', 'color': 'fbca04', 'default': False, 'description': None}, {'id': 221808232, 'node_id': 'MDU6TGFiZWwyMjE4MDgyMzI=', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels/WIP%20/%20do%20not%20merge', 'name': 'WIP / do not merge', 'color': '0052cc', 'default': False, 'description': 'Work in progress (do not merge)'}, {'id': 221809816, 'node_id': 'MDU6TGFiZWwyMjE4MDk4MTY=', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels/RFC', 'name': 'RFC', 'color': 'FF6D00', 'default': False, 'description': 'Request for comments'}], 'state': 'open', 'locked': False, 'assignee': None, 'assignees': [], 'milestone': None, 'comments': 2, 'created_at': '2025-07-04T11:11:24Z', 'updated_at': '2025-07-04T12:06:03Z', 'closed_at': None, 'author_association': 'MEMBER', 'type': None, 'active_lock_reason': None, 'draft': False, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/13791', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13791', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/13791.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/13791.patch', 'merged_at': None}, 'body': 'This should make many more Realtek devices usable for Bluetooth passthrough.\r\nI\'m hoping for most Realtek adapters which work on Linux in general to now work on Windows with Bluetooth passthrough.\r\n\r\nI\'ve personally only tested a RTL8761B that I have on hand but the logic is largely the same for many other devices.\r\n\r\nSome files from "linux-firmware" will not yet load because they need "v2" firmware parsing implemented, which I have not done, because it\'s more complicated and I don\'t own an adapter to test, and I don\'t know if they are even common adapters.\r\n8851B "rtl8851bu_fw"\r\n8852B "rtl8852bu_fw"\r\n8922A "rtl8922au_fw"\r\n8852BT/8852BE-VT "rtl8852btu_fw"\r\n\r\nAll the firmware loading logic is heavily copied from Linux source:\r\n`drivers/bluetooth/btusb.c`\r\n`drivers/bluetooth/btrtl.c`\r\n`drivers/bluetooth/btrtl.h`\r\nI don\'t know if we need to do anything anything special about that, license-wise?\r\n\r\nFirmware files currently need to be manually placed in Dolphin\'s Sys folder like:\r\n`Sys/Firmware/rtl_bt/rtl8761bu_fw.bin`\r\n`Sys/Firmware/rtl_bt/rtl8761bu_config.bin`\r\nFiles can be downloaded from: https://gitlab.com/kernel-firmware/linux-firmware/-/tree/main/rtl_bt?ref_type=heads\r\nThe user experience could be better, missing files will just produce an ERROR_LOG.\r\nI\'m open to suggestions on some other filesystem arrangement.\r\n\r\nA bit more code cleanup can be done, but this is ready for some testing.', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791/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/13791/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/3035834434', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13791#issuecomment-3035834434', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791', 'id': 3035834434, 'node_id': 'IC_kwDOALCn2M608yhC', 'user': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2025-07-04T11:46:46Z', 'updated_at': '2025-07-04T12:07:42Z', 'author_association': 'MEMBER', 'body': "> I've noticed that btusb.c also uses [USB_VENDOR_AND_INTERFACE_INFO](https://github.com/torvalds/linux/blob/4c06e63b92038fadb566b652ec3ec04e228931e8/drivers/bluetooth/btusb.c#L587-L589) to determine if a device is Realtek or not, by using the VID, class, subclass, and protocol instead of a VID/PID pair, but your code doesn't do that. Does the hardcoded list include every Realtek device, or should this also be considered?\r\n\r\nThanks, I missed that `USB_VENDOR_AND_INTERFACE_INFO` line.\r\nI suppose all the entries with VID:`0x0bda` can be removed and we can just test for that Realtek VID explicitly.\r\nWe already test for the `0xe0,0x01,0x01` `class,subclass,protocol` where we determine which USB device to use in the first place.\r\n\r\nEdit: I kept the `0x0bda` entries in the list and now also call `IsKnownRealtekBluetoothDevice` in `IsBluetoothDevice` to maybe detect some poorly classified devices without having to explicitly change the adapter from `Automatic`.", 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/3035834434/reactions', 'total_count': 1, '+1': 1, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'performed_via_github_app': 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': '2025-07-04T02:33:43Z', 'pushed_at': '2025-07-03T06:31:01Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 530284, 'stargazers_count': 13884, 'watchers_count': 13884, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': True, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 2823, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 342, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 2823, 'open_issues': 342, 'watchers': 13884, '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'}
2025-07-04T11:47:07.537573	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'edited', 'id': 13791, 'title': 'BTReal: Implement Realtek firmware loading.', 'url': 'https://github.com/dolphin-emu/dolphin/pull/13791#issuecomment-3035834434', 'safe_author': True, 'body': "> I've noticed that btusb.c also uses [USB_VENDOR_AND_INTERFACE_INFO](https://github.com/torvalds/linux/blob/4c06e63b92038fadb566b652ec3ec04e228931e8/drivers/bluetooth/btusb.c#L587-L589) to determine if a device is Realtek or not, by using the VID, class, subclass, and protocol instead of a VID/PID pair, but your code doesn't do that. Does the hardcoded list include every Realtek device, or should this also be considered?\r\n\r\nThanks, I missed that `USB_VENDOR_AND_INTERFACE_INFO` line.\r\nI suppose all the entries with VID:`0x0bda` can be removed and we can just test for that Realtek VID explicitly.\r\nWe already test for the `0xe0,0x01,0x01` `class,subclass,protocol` where we determine which USB device to use in the first place.", 'raw': {'action': 'edited', 'changes': {'body': {'from': "> I've noticed that btusb.c also uses [USB_VENDOR_AND_INTERFACE_INFO](https://github.com/torvalds/linux/blob/4c06e63b92038fadb566b652ec3ec04e228931e8/drivers/bluetooth/btusb.c#L587-L589) to determine if a device is Realtek or not, by using the VID, class, subclass, and protocol instead of a VID/PID pair, but your code doesn't do that. Does the hardcoded list include every Realtek device, or should this also be considered?\r\n\r\nThanks, I missed that `USB_VENDOR_AND_INTERFACE_INFO` line.\r\nI suppose all the entries with VID:`0x0bda` can be removed and we can just test for that Realtek VID explicitly.\r\nWe already test for the `0xe0,0x01,0x01` `class,subclass,protocol` where we determine which USB device to use the first place."}}, 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13791', 'id': 3202305823, 'node_id': 'PR_kwDOALCn2M6dbDyN', 'number': 13791, 'title': 'BTReal: Implement Realtek firmware loading.', 'user': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [{'id': 217773431, 'node_id': 'MDU6TGFiZWwyMTc3NzM0MzE=', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels/needs%20testing', 'name': 'needs testing', 'color': 'fbca04', 'default': False, 'description': None}, {'id': 221808232, 'node_id': 'MDU6TGFiZWwyMjE4MDgyMzI=', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels/WIP%20/%20do%20not%20merge', 'name': 'WIP / do not merge', 'color': '0052cc', 'default': False, 'description': 'Work in progress (do not merge)'}, {'id': 221809816, 'node_id': 'MDU6TGFiZWwyMjE4MDk4MTY=', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels/RFC', 'name': 'RFC', 'color': 'FF6D00', 'default': False, 'description': 'Request for comments'}], 'state': 'open', 'locked': False, 'assignee': None, 'assignees': [], 'milestone': None, 'comments': 2, 'created_at': '2025-07-04T11:11:24Z', 'updated_at': '2025-07-04T11:46:46Z', 'closed_at': None, 'author_association': 'MEMBER', 'type': None, 'active_lock_reason': None, 'draft': False, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/13791', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13791', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/13791.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/13791.patch', 'merged_at': None}, 'body': 'This should make many more Realtek devices usable for Bluetooth passthrough.\r\nI\'m hoping for most Realtek adapters which work on Linux in general to now work on Windows with Bluetooth passthrough.\r\n\r\nI\'ve personally only tested a RTL8761B that I have on hand but the logic is largely the same for many other devices.\r\n\r\nSome files from "linux-firmware" will not yet load because they need "v2" firmware parsing implemented, which I have not done, because it\'s more complicated and I don\'t own an adapter to test, and I don\'t know if they are even common adapters.\r\n8851B "rtl8851bu_fw"\r\n8852B "rtl8852bu_fw"\r\n8922A "rtl8922au_fw"\r\n8852BT/8852BE-VT "rtl8852btu_fw"\r\n\r\nAll the firmware loading logic is heavily copied from Linux source:\r\n`drivers/bluetooth/btusb.c`\r\n`drivers/bluetooth/btrtl.c`\r\n`drivers/bluetooth/btrtl.h`\r\nI don\'t know if we need to do anything anything special about that, license-wise?\r\n\r\nFirmware files currently need to be manually placed in Dolphin\'s Sys folder like:\r\n`Sys/Firmware/rtl_bt/rtl8761bu_fw.bin`\r\n`Sys/Firmware/rtl_bt/rtl8761bu_config.bin`\r\nFiles can be downloaded from: https://gitlab.com/kernel-firmware/linux-firmware/-/tree/main/rtl_bt?ref_type=heads\r\nThe user experience could be better, missing files will just produce an ERROR_LOG.\r\nI\'m open to suggestions on some other filesystem arrangement.\r\n\r\nA bit more code cleanup can be done, but this is ready for some testing.', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791/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/13791/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/3035834434', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13791#issuecomment-3035834434', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791', 'id': 3035834434, 'node_id': 'IC_kwDOALCn2M608yhC', 'user': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2025-07-04T11:46:46Z', 'updated_at': '2025-07-04T11:47:06Z', 'author_association': 'MEMBER', 'body': "> I've noticed that btusb.c also uses [USB_VENDOR_AND_INTERFACE_INFO](https://github.com/torvalds/linux/blob/4c06e63b92038fadb566b652ec3ec04e228931e8/drivers/bluetooth/btusb.c#L587-L589) to determine if a device is Realtek or not, by using the VID, class, subclass, and protocol instead of a VID/PID pair, but your code doesn't do that. Does the hardcoded list include every Realtek device, or should this also be considered?\r\n\r\nThanks, I missed that `USB_VENDOR_AND_INTERFACE_INFO` line.\r\nI suppose all the entries with VID:`0x0bda` can be removed and we can just test for that Realtek VID explicitly.\r\nWe already test for the `0xe0,0x01,0x01` `class,subclass,protocol` where we determine which USB device to use in the first place.", 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/3035834434/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}, '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': '2025-07-04T02:33:43Z', 'pushed_at': '2025-07-03T06:31:01Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 530284, 'stargazers_count': 13884, 'watchers_count': 13884, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': True, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 2823, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 342, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 2823, 'open_issues': 342, 'watchers': 13884, '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'}
2025-07-04T11:46:48.156971	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'created', 'id': 13791, 'title': 'BTReal: Implement Realtek firmware loading.', 'url': 'https://github.com/dolphin-emu/dolphin/pull/13791#issuecomment-3035834434', 'safe_author': True, 'body': "> I've noticed that btusb.c also uses [USB_VENDOR_AND_INTERFACE_INFO](https://github.com/torvalds/linux/blob/4c06e63b92038fadb566b652ec3ec04e228931e8/drivers/bluetooth/btusb.c#L587-L589) to determine if a device is Realtek or not, by using the VID, class, subclass, and protocol instead of a VID/PID pair, but your code doesn't do that. Does the hardcoded list include every Realtek device, or should this also be considered?\r\n\r\nThanks, I missed that `USB_VENDOR_AND_INTERFACE_INFO` line.\r\nI suppose all the entries with VID:`0x0bda` can be removed and we can just test for that Realtek VID explicitly.\r\nWe already test for the `0xe0,0x01,0x01` `class,subclass,protocol` where we determine which USB device to use the first place.", 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13791', 'id': 3202305823, 'node_id': 'PR_kwDOALCn2M6dbDyN', 'number': 13791, 'title': 'BTReal: Implement Realtek firmware loading.', 'user': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [{'id': 217773431, 'node_id': 'MDU6TGFiZWwyMTc3NzM0MzE=', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels/needs%20testing', 'name': 'needs testing', 'color': 'fbca04', 'default': False, 'description': None}, {'id': 221808232, 'node_id': 'MDU6TGFiZWwyMjE4MDgyMzI=', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels/WIP%20/%20do%20not%20merge', 'name': 'WIP / do not merge', 'color': '0052cc', 'default': False, 'description': 'Work in progress (do not merge)'}, {'id': 221809816, 'node_id': 'MDU6TGFiZWwyMjE4MDk4MTY=', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels/RFC', 'name': 'RFC', 'color': 'FF6D00', 'default': False, 'description': 'Request for comments'}], 'state': 'open', 'locked': False, 'assignee': None, 'assignees': [], 'milestone': None, 'comments': 2, 'created_at': '2025-07-04T11:11:24Z', 'updated_at': '2025-07-04T11:46:46Z', 'closed_at': None, 'author_association': 'MEMBER', 'type': None, 'active_lock_reason': None, 'draft': False, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/13791', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13791', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/13791.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/13791.patch', 'merged_at': None}, 'body': 'This should make many more Realtek devices usable for Bluetooth passthrough.\r\nI\'m hoping for most Realtek adapters which work on Linux in general to now work on Windows with Bluetooth passthrough.\r\n\r\nI\'ve personally only tested a RTL8761B that I have on hand but the logic is largely the same for many other devices.\r\n\r\nSome files from "linux-firmware" will not yet load because they need "v2" firmware parsing implemented, which I have not done, because it\'s more complicated and I don\'t own an adapter to test, and I don\'t know if they are even common adapters.\r\n8851B "rtl8851bu_fw"\r\n8852B "rtl8852bu_fw"\r\n8922A "rtl8922au_fw"\r\n8852BT/8852BE-VT "rtl8852btu_fw"\r\n\r\nAll the firmware loading logic is heavily copied from Linux source:\r\n`drivers/bluetooth/btusb.c`\r\n`drivers/bluetooth/btrtl.c`\r\n`drivers/bluetooth/btrtl.h`\r\nI don\'t know if we need to do anything anything special about that, license-wise?\r\n\r\nFirmware files currently need to be manually placed in Dolphin\'s Sys folder like:\r\n`Sys/Firmware/rtl_bt/rtl8761bu_fw.bin`\r\n`Sys/Firmware/rtl_bt/rtl8761bu_config.bin`\r\nFiles can be downloaded from: https://gitlab.com/kernel-firmware/linux-firmware/-/tree/main/rtl_bt?ref_type=heads\r\nThe user experience could be better, missing files will just produce an ERROR_LOG.\r\nI\'m open to suggestions on some other filesystem arrangement.\r\n\r\nA bit more code cleanup can be done, but this is ready for some testing.', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791/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/13791/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/3035834434', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13791#issuecomment-3035834434', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791', 'id': 3035834434, 'node_id': 'IC_kwDOALCn2M608yhC', 'user': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2025-07-04T11:46:46Z', 'updated_at': '2025-07-04T11:46:46Z', 'author_association': 'MEMBER', 'body': "> I've noticed that btusb.c also uses [USB_VENDOR_AND_INTERFACE_INFO](https://github.com/torvalds/linux/blob/4c06e63b92038fadb566b652ec3ec04e228931e8/drivers/bluetooth/btusb.c#L587-L589) to determine if a device is Realtek or not, by using the VID, class, subclass, and protocol instead of a VID/PID pair, but your code doesn't do that. Does the hardcoded list include every Realtek device, or should this also be considered?\r\n\r\nThanks, I missed that `USB_VENDOR_AND_INTERFACE_INFO` line.\r\nI suppose all the entries with VID:`0x0bda` can be removed and we can just test for that Realtek VID explicitly.\r\nWe already test for the `0xe0,0x01,0x01` `class,subclass,protocol` where we determine which USB device to use the first place.", 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/3035834434/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}, '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': '2025-07-04T02:33:43Z', 'pushed_at': '2025-07-03T06:31:01Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 530284, 'stargazers_count': 13884, 'watchers_count': 13884, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': True, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 2823, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 342, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 2823, 'open_issues': 342, 'watchers': 13884, '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'}
2025-07-04T11:37:19.452423	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'JoshuaVandaele', 'action': 'created', 'id': 13791, 'title': 'BTReal: Implement Realtek firmware loading.', 'url': 'https://github.com/dolphin-emu/dolphin/pull/13791#issuecomment-3035785445', 'safe_author': True, 'body': "I've noticed that btusb.c also uses [USB_VENDOR_AND_INTERFACE_INFO](https://github.com/torvalds/linux/blob/4c06e63b92038fadb566b652ec3ec04e228931e8/drivers/bluetooth/btusb.c#L587-L589) to determine if a device is Realtek or not, by using the VID, class, subclass, and protocol instead of a VID/PID pair, but your code doesn't do that. Does the hardcoded list include every Realtek device, or should this also be considered?", 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13791', 'id': 3202305823, 'node_id': 'PR_kwDOALCn2M6dbDyN', 'number': 13791, 'title': 'BTReal: Implement Realtek firmware loading.', 'user': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [{'id': 217773431, 'node_id': 'MDU6TGFiZWwyMTc3NzM0MzE=', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels/needs%20testing', 'name': 'needs testing', 'color': 'fbca04', 'default': False, 'description': None}, {'id': 221808232, 'node_id': 'MDU6TGFiZWwyMjE4MDgyMzI=', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels/WIP%20/%20do%20not%20merge', 'name': 'WIP / do not merge', 'color': '0052cc', 'default': False, 'description': 'Work in progress (do not merge)'}, {'id': 221809816, 'node_id': 'MDU6TGFiZWwyMjE4MDk4MTY=', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels/RFC', 'name': 'RFC', 'color': 'FF6D00', 'default': False, 'description': 'Request for comments'}], 'state': 'open', 'locked': False, 'assignee': None, 'assignees': [], 'milestone': None, 'comments': 1, 'created_at': '2025-07-04T11:11:24Z', 'updated_at': '2025-07-04T11:37:17Z', 'closed_at': None, 'author_association': 'MEMBER', 'type': None, 'active_lock_reason': None, 'draft': False, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/13791', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13791', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/13791.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/13791.patch', 'merged_at': None}, 'body': 'This should make many more Realtek devices usable for Bluetooth passthrough.\r\nI\'m hoping for most Realtek adapters which work on Linux in general to now work on Windows with Bluetooth passthrough.\r\n\r\nI\'ve personally only tested a RTL8761B that I have on hand but the logic is largely the same for many other devices.\r\n\r\nSome files from "linux-firmware" will not yet load because they need "v2" firmware parsing implemented, which I have not done, because it\'s more complicated and I don\'t own an adapter to test, and I don\'t know if they are even common adapters.\r\n8851B "rtl8851bu_fw"\r\n8852B "rtl8852bu_fw"\r\n8922A "rtl8922au_fw"\r\n8852BT/8852BE-VT "rtl8852btu_fw"\r\n\r\nAll the firmware loading logic is heavily copied from Linux source:\r\n`drivers/bluetooth/btusb.c`\r\n`drivers/bluetooth/btrtl.c`\r\n`drivers/bluetooth/btrtl.h`\r\nI don\'t know if we need to do anything anything special about that, license-wise?\r\n\r\nFirmware files currently need to be manually placed in Dolphin\'s Sys folder like:\r\n`Sys/Firmware/rtl_bt/rtl8761bu_fw.bin`\r\n`Sys/Firmware/rtl_bt/rtl8761bu_config.bin`\r\nFiles can be downloaded from: https://gitlab.com/kernel-firmware/linux-firmware/-/tree/main/rtl_bt?ref_type=heads\r\nThe user experience could be better, missing files will just produce an ERROR_LOG.\r\nI\'m open to suggestions on some other filesystem arrangement.\r\n\r\nA bit more code cleanup can be done, but this is ready for some testing.', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791/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/13791/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/3035785445', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13791#issuecomment-3035785445', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791', 'id': 3035785445, 'node_id': 'IC_kwDOALCn2M608mjl', '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': '2025-07-04T11:37:17Z', 'updated_at': '2025-07-04T11:37:17Z', 'author_association': 'MEMBER', 'body': "I've noticed that btusb.c also uses [USB_VENDOR_AND_INTERFACE_INFO](https://github.com/torvalds/linux/blob/4c06e63b92038fadb566b652ec3ec04e228931e8/drivers/bluetooth/btusb.c#L587-L589) to determine if a device is Realtek or not, by using the VID, class, subclass, and protocol instead of a VID/PID pair, but your code doesn't do that. Does the hardcoded list include every Realtek device, or should this also be considered?", 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/3035785445/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}, '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': '2025-07-04T02:33:43Z', 'pushed_at': '2025-07-03T06:31:01Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 530284, 'stargazers_count': 13884, 'watchers_count': 13884, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': True, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 2823, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 342, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 2823, 'open_issues': 342, 'watchers': 13884, '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'}
2025-07-03T16:25:59.449312	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'Xphalnos', 'action': 'created', 'id': 13354, 'title': 'Externals: SDL 2.32.6, libusb 1.0.28 and pugixml 1.15', 'url': 'https://github.com/dolphin-emu/dolphin/pull/13354#issuecomment-3032864987', 'safe_author': False, 'body': 'Closing this since we have migrated to SDL3.', 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13354', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13354/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13354/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13354/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13354', 'id': 2856104671, 'node_id': 'PR_kwDOALCn2M6LXoPZ', 'number': 13354, 'title': 'Externals: SDL 2.32.6, libusb 1.0.28 and pugixml 1.15', 'user': {'login': 'Xphalnos', 'id': 164882787, 'node_id': 'U_kgDOCdPpYw', 'avatar_url': 'https://avatars.githubusercontent.com/u/164882787?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/Xphalnos', 'html_url': 'https://github.com/Xphalnos', 'followers_url': 'https://api.github.com/users/Xphalnos/followers', 'following_url': 'https://api.github.com/users/Xphalnos/following{/other_user}', 'gists_url': 'https://api.github.com/users/Xphalnos/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/Xphalnos/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/Xphalnos/subscriptions', 'organizations_url': 'https://api.github.com/users/Xphalnos/orgs', 'repos_url': 'https://api.github.com/users/Xphalnos/repos', 'events_url': 'https://api.github.com/users/Xphalnos/events{/privacy}', 'received_events_url': 'https://api.github.com/users/Xphalnos/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'closed', 'locked': False, 'assignee': None, 'assignees': [], 'milestone': None, 'comments': 6, 'created_at': '2025-02-16T13:31:55Z', 'updated_at': '2025-07-03T16:25:56Z', 'closed_at': '2025-07-03T16:25:56Z', 'author_association': 'CONTRIBUTOR', 'type': None, 'active_lock_reason': None, 'draft': False, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/13354', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13354', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/13354.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/13354.patch', 'merged_at': None}, 'body': 'Tested on Gamecube and Wii games with: Xbox Series X Controller, PlayStation 4 Controller, Original wiimote\r\nThese updates were made because libusb and pugixml were starting to get old.\r\n\r\n| Librabry | Old | New |\r\n| ------- | ------- | ------- |\r\n| SDL2 | 2.30.9 | 2.32.6 |\r\n| libusb | 1.0.26 | 1.0.28 |\r\n| pugixml | 1.12 | 1.15 |', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13354/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/13354/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/3032864987', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13354#issuecomment-3032864987', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13354', 'id': 3032864987, 'node_id': 'IC_kwDOALCn2M60xdjb', 'user': {'login': 'Xphalnos', 'id': 164882787, 'node_id': 'U_kgDOCdPpYw', 'avatar_url': 'https://avatars.githubusercontent.com/u/164882787?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/Xphalnos', 'html_url': 'https://github.com/Xphalnos', 'followers_url': 'https://api.github.com/users/Xphalnos/followers', 'following_url': 'https://api.github.com/users/Xphalnos/following{/other_user}', 'gists_url': 'https://api.github.com/users/Xphalnos/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/Xphalnos/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/Xphalnos/subscriptions', 'organizations_url': 'https://api.github.com/users/Xphalnos/orgs', 'repos_url': 'https://api.github.com/users/Xphalnos/repos', 'events_url': 'https://api.github.com/users/Xphalnos/events{/privacy}', 'received_events_url': 'https://api.github.com/users/Xphalnos/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2025-07-03T16:25:56Z', 'updated_at': '2025-07-03T16:25:56Z', 'author_association': 'CONTRIBUTOR', 'body': 'Closing this since we have migrated to SDL3.', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/3032864987/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}, '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': '2025-07-03T15:59:07Z', 'pushed_at': '2025-07-03T06:31:01Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 530284, 'stargazers_count': 13881, 'watchers_count': 13881, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': True, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 2824, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 341, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 2824, 'open_issues': 341, 'watchers': 13881, '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': 'Xphalnos', 'id': 164882787, 'node_id': 'U_kgDOCdPpYw', 'avatar_url': 'https://avatars.githubusercontent.com/u/164882787?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/Xphalnos', 'html_url': 'https://github.com/Xphalnos', 'followers_url': 'https://api.github.com/users/Xphalnos/followers', 'following_url': 'https://api.github.com/users/Xphalnos/following{/other_user}', 'gists_url': 'https://api.github.com/users/Xphalnos/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/Xphalnos/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/Xphalnos/subscriptions', 'organizations_url': 'https://api.github.com/users/Xphalnos/orgs', 'repos_url': 'https://api.github.com/users/Xphalnos/repos', 'events_url': 'https://api.github.com/users/Xphalnos/events{/privacy}', 'received_events_url': 'https://api.github.com/users/Xphalnos/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'gh_issue_comment'}
2025-07-03T16:20:10.504595	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'JosJuice', 'action': 'created', 'id': 13771, 'title': 'GameINI: Add some speed hacks', 'url': 'https://github.com/dolphin-emu/dolphin/pull/13771#issuecomment-3032851016', 'safe_author': True, 'body': 'So far, the approach has been to add to the allowlist regardless of whether the game has achievements.', 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13771', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13771/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13771/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13771/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13771', 'id': 3166352392, 'node_id': 'PR_kwDOALCn2M6bkh_q', 'number': 13771, 'title': 'GameINI: Add some speed hacks', '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, 'assignee': None, 'assignees': [], 'milestone': None, 'comments': 4, 'created_at': '2025-06-22T23:12:24Z', 'updated_at': '2025-07-03T16:20:08Z', 'closed_at': None, 'author_association': 'CONTRIBUTOR', 'type': None, 'active_lock_reason': None, 'draft': False, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/13771', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13771', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/13771.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/13771.patch', 'merged_at': None}, 'body': 'Add patches to improve performance on some games.\r\n- **Need for Speed: Nitro**: speed hack that patches an idle loop that waits for a vblank that Dolphin can\'t detect (and likely never will, since it\'s too complex), to one that is detected. This improves CPU-bound performance, without changing game behavior.\r\n- **Monsters, Inc. Scream Arena** and **Tetris Worlds**: Add patch to limit their internal FPS, as these games normally run uncapped, which makes them much more challenging to emulate. Limiting the frame rate makes them much less demanding to emulate, makes VBI Skip work (instead of doing nothing), and makes the animation delta consistent. However, it makes input lag worse, but for the "high FPS only for better input lag" purposes there is always VBI Frequency Override.\r\n\r\n~Currently draft, as it only supports some versions of the games, and IMO it\'s wrong to only patch some of them. However, I don\'t own the other versions.~\r\n\r\nAlso, let me know if the NFS:N patch is too unrelated to be in the same PR.\r\n\r\nPlus, there are other games that have internally an uncapped frame rate. So far, the list is:\r\n- 007: Quantum of Solace (only the intro)\r\n- Alien Hominid\r\n- All Star Cheer Squad\r\n- Crash Tag Team Racing (initial screen only)\r\n- Dark Summit\r\n- Hulk\r\n- Monster Inc. Scream Arena\r\n- My Fitness Coach\r\n- Pirates vs Ninjas Dodgeball\r\n- Scarface (intro only)\r\n- Rabbids Go Home\r\n- The Simpsons - Hit & Run (menu only)\r\n- Tetris Worlds', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13771/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/13771/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/3032851016', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13771#issuecomment-3032851016', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13771', 'id': 3032851016, 'node_id': 'IC_kwDOALCn2M60xaJI', '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': '2025-07-03T16:20:08Z', 'updated_at': '2025-07-03T16:20:08Z', 'author_association': 'MEMBER', 'body': 'So far, the approach has been to add to the allowlist regardless of whether the game has achievements.', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/3032851016/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}, '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': '2025-07-03T15:59:07Z', 'pushed_at': '2025-07-03T06:31:01Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 530284, 'stargazers_count': 13881, 'watchers_count': 13881, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': True, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 2824, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 342, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 2824, 'open_issues': 342, 'watchers': 13881, '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'}
2025-07-03T15:22:42.433895	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'SuperSamus', 'action': 'created', 'id': 13771, 'title': 'GameINI: Add some speed hacks', 'url': 'https://github.com/dolphin-emu/dolphin/pull/13771#issuecomment-3032681330', 'safe_author': True, 'body': 'Should I add these games to the RetroAchievements allowlist, even though these games have (currently) no achievements?', 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13771', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13771/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13771/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13771/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13771', 'id': 3166352392, 'node_id': 'PR_kwDOALCn2M6bkh_q', 'number': 13771, 'title': 'GameINI: Add some speed hacks', '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, 'assignee': None, 'assignees': [], 'milestone': None, 'comments': 3, 'created_at': '2025-06-22T23:12:24Z', 'updated_at': '2025-07-03T15:22:39Z', 'closed_at': None, 'author_association': 'CONTRIBUTOR', 'type': None, 'active_lock_reason': None, 'draft': False, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/13771', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13771', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/13771.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/13771.patch', 'merged_at': None}, 'body': 'Add patches to improve performance on some games.\r\n- **Need for Speed: Nitro**: speed hack that patches an idle loop that waits for a vblank that Dolphin can\'t detect (and likely never will, since it\'s too complex), to one that is detected. This improves CPU-bound performance, without changing game behavior.\r\n- **Monsters, Inc. Scream Arena** and **Tetris Worlds**: Add patch to limit their internal FPS, as these games normally run uncapped, which makes them much more challenging to emulate. Limiting the frame rate makes them much less demanding to emulate, makes VBI Skip work (instead of doing nothing), and makes the animation delta consistent. However, it makes input lag worse, but for the "high FPS only for better input lag" purposes there is always VBI Frequency Override.\r\n\r\n~Currently draft, as it only supports some versions of the games, and IMO it\'s wrong to only patch some of them. However, I don\'t own the other versions.~\r\n\r\nAlso, let me know if the NFS:N patch is too unrelated to be in the same PR.\r\n\r\nPlus, there are other games that have internally an uncapped frame rate. So far, the list is:\r\n- 007: Quantum of Solace (only the intro)\r\n- Alien Hominid\r\n- All Star Cheer Squad\r\n- Crash Tag Team Racing (initial screen only)\r\n- Dark Summit\r\n- Hulk\r\n- Monster Inc. Scream Arena\r\n- My Fitness Coach\r\n- Pirates vs Ninjas Dodgeball\r\n- Scarface (intro only)\r\n- Rabbids Go Home\r\n- The Simpsons - Hit & Run (menu only)\r\n- Tetris Worlds', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13771/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/13771/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/3032681330', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13771#issuecomment-3032681330', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13771', 'id': 3032681330, 'node_id': 'IC_kwDOALCn2M60wwty', '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': '2025-07-03T15:22:39Z', 'updated_at': '2025-07-03T15:22:39Z', 'author_association': 'MEMBER', 'body': 'Should I add these games to the RetroAchievements allowlist, even though these games have (currently) no achievements?', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/3032681330/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}, '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': '2025-07-03T08:02:27Z', 'pushed_at': '2025-07-03T06:31:01Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 530284, 'stargazers_count': 13882, 'watchers_count': 13882, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': True, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 2824, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 341, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 2824, 'open_issues': 341, 'watchers': 13882, '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'}
2025-07-03T04:39:44.388273	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'dreamsyntax', 'action': 'edited', 'id': 13736, 'title': 'DolphinQt: Move graphics config to main Settings window.', 'url': 'https://github.com/dolphin-emu/dolphin/pull/13736#issuecomment-3030678918', 'safe_author': True, 'body': "Not a code review; Just general UX comment.\r\nWhen the new Config window launched I was wondering why this wasn't like this initially (presumably the existing issue you mentioned).\r\nI personally think it's unnecessary to flatten out the sections like Config - this seems straightforward as is, but I suppose either would be fine.\r\n\r\nA great improvement in my tests. Only tested with the flatpak.", 'raw': {'action': 'edited', 'changes': {'body': {'from': "Not a code review; Just a UX review:\r\nWhen the new Config window launched I was wondering why this wasn't like this initially (presumably the existing issue you mentioned).\r\nI personally think it's unnecessary to flatten out the sections like Config - this seems straightforward as is, but I suppose either would be fine.\r\n\r\nA great improvement in my tests. Only tested with the flatpak."}}, 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13736', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13736/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13736/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13736/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13736', 'id': 3126077748, 'node_id': 'PR_kwDOALCn2M6ZdjN0', 'number': 13736, 'title': 'DolphinQt: Move graphics config to main Settings window.', 'user': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignee': None, 'assignees': [], 'milestone': None, 'comments': 5, 'created_at': '2025-06-06T23:10:42Z', 'updated_at': '2025-07-03T04:39:15Z', 'closed_at': None, 'author_association': 'MEMBER', 'type': None, 'active_lock_reason': None, 'draft': False, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/13736', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13736', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/13736.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/13736.patch', 'merged_at': None}, 'body': '![image](https://github.com/user-attachments/assets/9aa5e2e9-e51c-4844-bb2e-fbccedd2e812)\r\n\r\nThe game config verison of the graphics config is still pretty hacky regarding backend specific stuff (existing issue).', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13736/reactions', 'total_count': 4, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 4, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'timeline_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13736/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/3030678918', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13736#issuecomment-3030678918', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13736', 'id': 3030678918, 'node_id': 'IC_kwDOALCn2M60pH2G', 'user': {'login': 'dreamsyntax', 'id': 14857235, 'node_id': 'MDQ6VXNlcjE0ODU3MjM1', 'avatar_url': 'https://avatars.githubusercontent.com/u/14857235?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dreamsyntax', 'html_url': 'https://github.com/dreamsyntax', 'followers_url': 'https://api.github.com/users/dreamsyntax/followers', 'following_url': 'https://api.github.com/users/dreamsyntax/following{/other_user}', 'gists_url': 'https://api.github.com/users/dreamsyntax/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dreamsyntax/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dreamsyntax/subscriptions', 'organizations_url': 'https://api.github.com/users/dreamsyntax/orgs', 'repos_url': 'https://api.github.com/users/dreamsyntax/repos', 'events_url': 'https://api.github.com/users/dreamsyntax/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dreamsyntax/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2025-07-03T04:38:32Z', 'updated_at': '2025-07-03T04:39:42Z', 'author_association': 'MEMBER', 'body': "Not a code review; Just general UX comment.\r\nWhen the new Config window launched I was wondering why this wasn't like this initially (presumably the existing issue you mentioned).\r\nI personally think it's unnecessary to flatten out the sections like Config - this seems straightforward as is, but I suppose either would be fine.\r\n\r\nA great improvement in my tests. Only tested with the flatpak.", 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/3030678918/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}, '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': '2025-07-03T00:20:06Z', 'pushed_at': '2025-07-01T21:09:07Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 530271, 'stargazers_count': 13881, 'watchers_count': 13881, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': True, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 2823, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 342, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 2823, 'open_issues': 342, 'watchers': 13881, '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': 'dreamsyntax', 'id': 14857235, 'node_id': 'MDQ6VXNlcjE0ODU3MjM1', 'avatar_url': 'https://avatars.githubusercontent.com/u/14857235?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dreamsyntax', 'html_url': 'https://github.com/dreamsyntax', 'followers_url': 'https://api.github.com/users/dreamsyntax/followers', 'following_url': 'https://api.github.com/users/dreamsyntax/following{/other_user}', 'gists_url': 'https://api.github.com/users/dreamsyntax/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dreamsyntax/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dreamsyntax/subscriptions', 'organizations_url': 'https://api.github.com/users/dreamsyntax/orgs', 'repos_url': 'https://api.github.com/users/dreamsyntax/repos', 'events_url': 'https://api.github.com/users/dreamsyntax/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dreamsyntax/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'gh_issue_comment'}
2025-07-03T04:39:17.392383	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'dreamsyntax', 'action': 'edited', 'id': 13736, 'title': 'DolphinQt: Move graphics config to main Settings window.', 'url': 'https://github.com/dolphin-emu/dolphin/pull/13736#issuecomment-3030678918', 'safe_author': True, 'body': "Not a code review; Just a UX review:\r\nWhen the new Config window launched I was wondering why this wasn't like this initially (presumably the existing issue you mentioned).\r\nI personally think it's unnecessary to flatten out the sections like Config - this seems straightforward as is, but I suppose either would be fine.\r\n\r\nA great improvement in my tests. Only tested with the flatpak.", 'raw': {'action': 'edited', 'changes': {'body': {'from': "Not a code review; Just a UX review:\r\nWhen the new Config window launched I was wondering why this wasn't like this initially (presumably the existing issue you mentioned).\r\n\r\nA great improvement in my tests. Only tested with the flatpak."}}, 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13736', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13736/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13736/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13736/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13736', 'id': 3126077748, 'node_id': 'PR_kwDOALCn2M6ZdjN0', 'number': 13736, 'title': 'DolphinQt: Move graphics config to main Settings window.', 'user': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignee': None, 'assignees': [], 'milestone': None, 'comments': 5, 'created_at': '2025-06-06T23:10:42Z', 'updated_at': '2025-07-03T04:38:32Z', 'closed_at': None, 'author_association': 'MEMBER', 'type': None, 'active_lock_reason': None, 'draft': False, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/13736', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13736', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/13736.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/13736.patch', 'merged_at': None}, 'body': '![image](https://github.com/user-attachments/assets/9aa5e2e9-e51c-4844-bb2e-fbccedd2e812)\r\n\r\nThe game config verison of the graphics config is still pretty hacky regarding backend specific stuff (existing issue).', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13736/reactions', 'total_count': 4, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 4, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'timeline_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13736/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/3030678918', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13736#issuecomment-3030678918', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13736', 'id': 3030678918, 'node_id': 'IC_kwDOALCn2M60pH2G', 'user': {'login': 'dreamsyntax', 'id': 14857235, 'node_id': 'MDQ6VXNlcjE0ODU3MjM1', 'avatar_url': 'https://avatars.githubusercontent.com/u/14857235?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dreamsyntax', 'html_url': 'https://github.com/dreamsyntax', 'followers_url': 'https://api.github.com/users/dreamsyntax/followers', 'following_url': 'https://api.github.com/users/dreamsyntax/following{/other_user}', 'gists_url': 'https://api.github.com/users/dreamsyntax/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dreamsyntax/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dreamsyntax/subscriptions', 'organizations_url': 'https://api.github.com/users/dreamsyntax/orgs', 'repos_url': 'https://api.github.com/users/dreamsyntax/repos', 'events_url': 'https://api.github.com/users/dreamsyntax/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dreamsyntax/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2025-07-03T04:38:32Z', 'updated_at': '2025-07-03T04:39:15Z', 'author_association': 'MEMBER', 'body': "Not a code review; Just a UX review:\r\nWhen the new Config window launched I was wondering why this wasn't like this initially (presumably the existing issue you mentioned).\r\nI personally think it's unnecessary to flatten out the sections like Config - this seems straightforward as is, but I suppose either would be fine.\r\n\r\nA great improvement in my tests. Only tested with the flatpak.", 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/3030678918/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}, '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': '2025-07-03T00:20:06Z', 'pushed_at': '2025-07-01T21:09:07Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 530271, 'stargazers_count': 13881, 'watchers_count': 13881, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': True, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 2823, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 342, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 2823, 'open_issues': 342, 'watchers': 13881, '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': 'dreamsyntax', 'id': 14857235, 'node_id': 'MDQ6VXNlcjE0ODU3MjM1', 'avatar_url': 'https://avatars.githubusercontent.com/u/14857235?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dreamsyntax', 'html_url': 'https://github.com/dreamsyntax', 'followers_url': 'https://api.github.com/users/dreamsyntax/followers', 'following_url': 'https://api.github.com/users/dreamsyntax/following{/other_user}', 'gists_url': 'https://api.github.com/users/dreamsyntax/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dreamsyntax/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dreamsyntax/subscriptions', 'organizations_url': 'https://api.github.com/users/dreamsyntax/orgs', 'repos_url': 'https://api.github.com/users/dreamsyntax/repos', 'events_url': 'https://api.github.com/users/dreamsyntax/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dreamsyntax/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'gh_issue_comment'}
2025-07-03T04:38:35.249372	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'dreamsyntax', 'action': 'created', 'id': 13736, 'title': 'DolphinQt: Move graphics config to main Settings window.', 'url': 'https://github.com/dolphin-emu/dolphin/pull/13736#issuecomment-3030678918', 'safe_author': True, 'body': "Not a code review; Just a UX review:\r\nWhen the new Config window launched I was wondering why this wasn't like this initially (presumably the existing issue you mentioned).\r\n\r\nA great improvement in my tests. Only tested with the flatpak.", 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13736', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13736/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13736/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13736/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13736', 'id': 3126077748, 'node_id': 'PR_kwDOALCn2M6ZdjN0', 'number': 13736, 'title': 'DolphinQt: Move graphics config to main Settings window.', 'user': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignee': None, 'assignees': [], 'milestone': None, 'comments': 5, 'created_at': '2025-06-06T23:10:42Z', 'updated_at': '2025-07-03T04:38:32Z', 'closed_at': None, 'author_association': 'MEMBER', 'type': None, 'active_lock_reason': None, 'draft': False, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/13736', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13736', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/13736.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/13736.patch', 'merged_at': None}, 'body': '![image](https://github.com/user-attachments/assets/9aa5e2e9-e51c-4844-bb2e-fbccedd2e812)\r\n\r\nThe game config verison of the graphics config is still pretty hacky regarding backend specific stuff (existing issue).', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13736/reactions', 'total_count': 4, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 4, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'timeline_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13736/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/3030678918', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13736#issuecomment-3030678918', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13736', 'id': 3030678918, 'node_id': 'IC_kwDOALCn2M60pH2G', 'user': {'login': 'dreamsyntax', 'id': 14857235, 'node_id': 'MDQ6VXNlcjE0ODU3MjM1', 'avatar_url': 'https://avatars.githubusercontent.com/u/14857235?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dreamsyntax', 'html_url': 'https://github.com/dreamsyntax', 'followers_url': 'https://api.github.com/users/dreamsyntax/followers', 'following_url': 'https://api.github.com/users/dreamsyntax/following{/other_user}', 'gists_url': 'https://api.github.com/users/dreamsyntax/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dreamsyntax/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dreamsyntax/subscriptions', 'organizations_url': 'https://api.github.com/users/dreamsyntax/orgs', 'repos_url': 'https://api.github.com/users/dreamsyntax/repos', 'events_url': 'https://api.github.com/users/dreamsyntax/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dreamsyntax/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2025-07-03T04:38:32Z', 'updated_at': '2025-07-03T04:38:32Z', 'author_association': 'MEMBER', 'body': "Not a code review; Just a UX review:\r\nWhen the new Config window launched I was wondering why this wasn't like this initially (presumably the existing issue you mentioned).\r\n\r\nA great improvement in my tests. Only tested with the flatpak.", 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/3030678918/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}, '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': '2025-07-03T00:20:06Z', 'pushed_at': '2025-07-01T21:09:07Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 530271, 'stargazers_count': 13881, 'watchers_count': 13881, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': True, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 2823, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 342, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 2823, 'open_issues': 342, 'watchers': 13881, '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': 'dreamsyntax', 'id': 14857235, 'node_id': 'MDQ6VXNlcjE0ODU3MjM1', 'avatar_url': 'https://avatars.githubusercontent.com/u/14857235?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dreamsyntax', 'html_url': 'https://github.com/dreamsyntax', 'followers_url': 'https://api.github.com/users/dreamsyntax/followers', 'following_url': 'https://api.github.com/users/dreamsyntax/following{/other_user}', 'gists_url': 'https://api.github.com/users/dreamsyntax/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dreamsyntax/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dreamsyntax/subscriptions', 'organizations_url': 'https://api.github.com/users/dreamsyntax/orgs', 'repos_url': 'https://api.github.com/users/dreamsyntax/repos', 'events_url': 'https://api.github.com/users/dreamsyntax/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dreamsyntax/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'gh_issue_comment'}
2025-07-02T20:10:18.263963	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'Clownacy', 'action': 'created', 'id': 12014, 'title': 'Add CRT shaders', 'url': 'https://github.com/dolphin-emu/dolphin/pull/12014#issuecomment-3029181351', 'safe_author': False, 'body': "Personally I prefer the shader with curvature, but I don't know how the majority feels about it. Googling the subject isn't helping me much. Curvature is enabled by default in [the upstream libretro shader](https://github.com/libretro/glsl-shaders/blob/a8136d8b8b5c6375296f833e7e81efa15ed76f11/crt/shaders/crt-lottes-fast.glsl#L101), so that may be some indication.", 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/12014', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/12014/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/12014/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/12014/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/12014', 'id': 1781462996, 'node_id': 'PR_kwDOALCn2M5URoxg', 'number': 12014, 'title': 'Add CRT shaders', 'user': {'login': 'Clownacy', 'id': 7667009, 'node_id': 'MDQ6VXNlcjc2NjcwMDk=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7667009?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/Clownacy', 'html_url': 'https://github.com/Clownacy', 'followers_url': 'https://api.github.com/users/Clownacy/followers', 'following_url': 'https://api.github.com/users/Clownacy/following{/other_user}', 'gists_url': 'https://api.github.com/users/Clownacy/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/Clownacy/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/Clownacy/subscriptions', 'organizations_url': 'https://api.github.com/users/Clownacy/orgs', 'repos_url': 'https://api.github.com/users/Clownacy/repos', 'events_url': 'https://api.github.com/users/Clownacy/events{/privacy}', 'received_events_url': 'https://api.github.com/users/Clownacy/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignee': None, 'assignees': [], 'milestone': None, 'comments': 25, 'created_at': '2023-06-29T20:23:15Z', 'updated_at': '2025-07-02T20:10:16Z', 'closed_at': None, 'author_association': 'NONE', 'type': None, 'active_lock_reason': None, 'draft': False, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/12014', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/12014', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/12014.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/12014.patch', 'merged_at': None}, 'body': "I've ported a couple of shaders from RetroArch - particularly the crt-pi and crt-lottes-fast ones. Unlike other shaders such as crt-royale, these shaders are single-pass, allowing them to work within Dolphin's framework. These look pretty good when paired with native resolution and SSAA.\r\n\r\ncrt-lottes-fast:\r\n![image](https://github.com/dolphin-emu/dolphin/assets/7667009/8108b7e1-d140-4d26-bc84-6b612b85ee8f)\r\n\r\nunfiltered:\r\n![image](https://github.com/dolphin-emu/dolphin/assets/7667009/5483d46a-4e15-4062-bb14-adb7c8d40d2b)\r\n\r\ncrt-pi:\r\n![image](https://github.com/dolphin-emu/dolphin/assets/7667009/9cfd1152-908c-4d42-94e0-908a1fa83c1f)\r\n\r\nUnfortunately, I only noticed #11888 after I had already ported crt-pi. Still, crt-pi is specifically optimised for lower-end hardware (Raspberry Pis, in particular), so perhaps these shaders still have some utility.\r\n\r\nVarious settings have been exposed through Dolphin's configuration API, crt-pi in particular boasts extra options that even the RetroArch version does not due to being hardcoded within the GLSL code itself.\r\n\r\nBoth crt-pi and crt-lottes-fast run with every backend that I have tested (OpenGL, Vulkan, Direct3D 11, and Direct3D 12).", 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/12014/reactions', 'total_count': 15, '+1': 8, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 7, 'rocket': 0, 'eyes': 0}, 'timeline_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/12014/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/3029181351', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/12014#issuecomment-3029181351', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/12014', 'id': 3029181351, 'node_id': 'IC_kwDOALCn2M60jaOn', 'user': {'login': 'Clownacy', 'id': 7667009, 'node_id': 'MDQ6VXNlcjc2NjcwMDk=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7667009?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/Clownacy', 'html_url': 'https://github.com/Clownacy', 'followers_url': 'https://api.github.com/users/Clownacy/followers', 'following_url': 'https://api.github.com/users/Clownacy/following{/other_user}', 'gists_url': 'https://api.github.com/users/Clownacy/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/Clownacy/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/Clownacy/subscriptions', 'organizations_url': 'https://api.github.com/users/Clownacy/orgs', 'repos_url': 'https://api.github.com/users/Clownacy/repos', 'events_url': 'https://api.github.com/users/Clownacy/events{/privacy}', 'received_events_url': 'https://api.github.com/users/Clownacy/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2025-07-02T20:10:16Z', 'updated_at': '2025-07-02T20:10:16Z', 'author_association': 'NONE', 'body': "Personally I prefer the shader with curvature, but I don't know how the majority feels about it. Googling the subject isn't helping me much. Curvature is enabled by default in [the upstream libretro shader](https://github.com/libretro/glsl-shaders/blob/a8136d8b8b5c6375296f833e7e81efa15ed76f11/crt/shaders/crt-lottes-fast.glsl#L101), so that may be some indication.", 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/3029181351/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}, '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': '2025-07-02T14:10:29Z', 'pushed_at': '2025-07-01T21:09:07Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 530271, 'stargazers_count': 13880, 'watchers_count': 13880, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': True, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 2823, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 342, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 2823, 'open_issues': 342, 'watchers': 13880, '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': 'Clownacy', 'id': 7667009, 'node_id': 'MDQ6VXNlcjc2NjcwMDk=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7667009?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/Clownacy', 'html_url': 'https://github.com/Clownacy', 'followers_url': 'https://api.github.com/users/Clownacy/followers', 'following_url': 'https://api.github.com/users/Clownacy/following{/other_user}', 'gists_url': 'https://api.github.com/users/Clownacy/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/Clownacy/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/Clownacy/subscriptions', 'organizations_url': 'https://api.github.com/users/Clownacy/orgs', 'repos_url': 'https://api.github.com/users/Clownacy/repos', 'events_url': 'https://api.github.com/users/Clownacy/events{/privacy}', 'received_events_url': 'https://api.github.com/users/Clownacy/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'gh_issue_comment'}
2025-07-02T20:06:26.097266	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'CrazySeanDX', 'action': 'created', 'id': 12014, 'title': 'Add CRT shaders', 'url': 'https://github.com/dolphin-emu/dolphin/pull/12014#issuecomment-3029168979', 'safe_author': False, 'body': "> @Clownacy How do you feel about making the default curvature values 0?\r\n\r\nI managed to do it in Dolphin myself, it was pretty easy, actually. Configure for me was only greyed out cause it wasn't on the proper post processing effect.", 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/12014', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/12014/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/12014/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/12014/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/12014', 'id': 1781462996, 'node_id': 'PR_kwDOALCn2M5URoxg', 'number': 12014, 'title': 'Add CRT shaders', 'user': {'login': 'Clownacy', 'id': 7667009, 'node_id': 'MDQ6VXNlcjc2NjcwMDk=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7667009?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/Clownacy', 'html_url': 'https://github.com/Clownacy', 'followers_url': 'https://api.github.com/users/Clownacy/followers', 'following_url': 'https://api.github.com/users/Clownacy/following{/other_user}', 'gists_url': 'https://api.github.com/users/Clownacy/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/Clownacy/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/Clownacy/subscriptions', 'organizations_url': 'https://api.github.com/users/Clownacy/orgs', 'repos_url': 'https://api.github.com/users/Clownacy/repos', 'events_url': 'https://api.github.com/users/Clownacy/events{/privacy}', 'received_events_url': 'https://api.github.com/users/Clownacy/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignee': None, 'assignees': [], 'milestone': None, 'comments': 24, 'created_at': '2023-06-29T20:23:15Z', 'updated_at': '2025-07-02T20:06:23Z', 'closed_at': None, 'author_association': 'NONE', 'type': None, 'active_lock_reason': None, 'draft': False, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/12014', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/12014', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/12014.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/12014.patch', 'merged_at': None}, 'body': "I've ported a couple of shaders from RetroArch - particularly the crt-pi and crt-lottes-fast ones. Unlike other shaders such as crt-royale, these shaders are single-pass, allowing them to work within Dolphin's framework. These look pretty good when paired with native resolution and SSAA.\r\n\r\ncrt-lottes-fast:\r\n![image](https://github.com/dolphin-emu/dolphin/assets/7667009/8108b7e1-d140-4d26-bc84-6b612b85ee8f)\r\n\r\nunfiltered:\r\n![image](https://github.com/dolphin-emu/dolphin/assets/7667009/5483d46a-4e15-4062-bb14-adb7c8d40d2b)\r\n\r\ncrt-pi:\r\n![image](https://github.com/dolphin-emu/dolphin/assets/7667009/9cfd1152-908c-4d42-94e0-908a1fa83c1f)\r\n\r\nUnfortunately, I only noticed #11888 after I had already ported crt-pi. Still, crt-pi is specifically optimised for lower-end hardware (Raspberry Pis, in particular), so perhaps these shaders still have some utility.\r\n\r\nVarious settings have been exposed through Dolphin's configuration API, crt-pi in particular boasts extra options that even the RetroArch version does not due to being hardcoded within the GLSL code itself.\r\n\r\nBoth crt-pi and crt-lottes-fast run with every backend that I have tested (OpenGL, Vulkan, Direct3D 11, and Direct3D 12).", 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/12014/reactions', 'total_count': 15, '+1': 8, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 7, 'rocket': 0, 'eyes': 0}, 'timeline_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/12014/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/3029168979', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/12014#issuecomment-3029168979', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/12014', 'id': 3029168979, 'node_id': 'IC_kwDOALCn2M60jXNT', 'user': {'login': 'CrazySeanDX', 'id': 65436469, 'node_id': 'MDQ6VXNlcjY1NDM2NDY5', 'avatar_url': 'https://avatars.githubusercontent.com/u/65436469?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/CrazySeanDX', 'html_url': 'https://github.com/CrazySeanDX', 'followers_url': 'https://api.github.com/users/CrazySeanDX/followers', 'following_url': 'https://api.github.com/users/CrazySeanDX/following{/other_user}', 'gists_url': 'https://api.github.com/users/CrazySeanDX/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/CrazySeanDX/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/CrazySeanDX/subscriptions', 'organizations_url': 'https://api.github.com/users/CrazySeanDX/orgs', 'repos_url': 'https://api.github.com/users/CrazySeanDX/repos', 'events_url': 'https://api.github.com/users/CrazySeanDX/events{/privacy}', 'received_events_url': 'https://api.github.com/users/CrazySeanDX/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2025-07-02T20:06:23Z', 'updated_at': '2025-07-02T20:06:23Z', 'author_association': 'NONE', 'body': "> @Clownacy How do you feel about making the default curvature values 0?\r\n\r\nI managed to do it in Dolphin myself, it was pretty easy, actually. Configure for me was only greyed out cause it wasn't on the proper post processing effect.", 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/3029168979/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}, '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': '2025-07-02T14:10:29Z', 'pushed_at': '2025-07-01T21:09:07Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 530271, 'stargazers_count': 13880, 'watchers_count': 13880, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': True, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 2823, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 342, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 2823, 'open_issues': 342, 'watchers': 13880, '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': 'CrazySeanDX', 'id': 65436469, 'node_id': 'MDQ6VXNlcjY1NDM2NDY5', 'avatar_url': 'https://avatars.githubusercontent.com/u/65436469?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/CrazySeanDX', 'html_url': 'https://github.com/CrazySeanDX', 'followers_url': 'https://api.github.com/users/CrazySeanDX/followers', 'following_url': 'https://api.github.com/users/CrazySeanDX/following{/other_user}', 'gists_url': 'https://api.github.com/users/CrazySeanDX/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/CrazySeanDX/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/CrazySeanDX/subscriptions', 'organizations_url': 'https://api.github.com/users/CrazySeanDX/orgs', 'repos_url': 'https://api.github.com/users/CrazySeanDX/repos', 'events_url': 'https://api.github.com/users/CrazySeanDX/events{/privacy}', 'received_events_url': 'https://api.github.com/users/CrazySeanDX/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'gh_issue_comment'}
2025-07-02T20:03:17.379622	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'created', 'id': 12014, 'title': 'Add CRT shaders', 'url': 'https://github.com/dolphin-emu/dolphin/pull/12014#issuecomment-3029158238', 'safe_author': True, 'body': '@Clownacy How do you feel about making the default curvature values 0?', 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/12014', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/12014/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/12014/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/12014/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/12014', 'id': 1781462996, 'node_id': 'PR_kwDOALCn2M5URoxg', 'number': 12014, 'title': 'Add CRT shaders', 'user': {'login': 'Clownacy', 'id': 7667009, 'node_id': 'MDQ6VXNlcjc2NjcwMDk=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7667009?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/Clownacy', 'html_url': 'https://github.com/Clownacy', 'followers_url': 'https://api.github.com/users/Clownacy/followers', 'following_url': 'https://api.github.com/users/Clownacy/following{/other_user}', 'gists_url': 'https://api.github.com/users/Clownacy/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/Clownacy/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/Clownacy/subscriptions', 'organizations_url': 'https://api.github.com/users/Clownacy/orgs', 'repos_url': 'https://api.github.com/users/Clownacy/repos', 'events_url': 'https://api.github.com/users/Clownacy/events{/privacy}', 'received_events_url': 'https://api.github.com/users/Clownacy/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignee': None, 'assignees': [], 'milestone': None, 'comments': 23, 'created_at': '2023-06-29T20:23:15Z', 'updated_at': '2025-07-02T20:03:15Z', 'closed_at': None, 'author_association': 'NONE', 'type': None, 'active_lock_reason': None, 'draft': False, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/12014', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/12014', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/12014.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/12014.patch', 'merged_at': None}, 'body': "I've ported a couple of shaders from RetroArch - particularly the crt-pi and crt-lottes-fast ones. Unlike other shaders such as crt-royale, these shaders are single-pass, allowing them to work within Dolphin's framework. These look pretty good when paired with native resolution and SSAA.\r\n\r\ncrt-lottes-fast:\r\n![image](https://github.com/dolphin-emu/dolphin/assets/7667009/8108b7e1-d140-4d26-bc84-6b612b85ee8f)\r\n\r\nunfiltered:\r\n![image](https://github.com/dolphin-emu/dolphin/assets/7667009/5483d46a-4e15-4062-bb14-adb7c8d40d2b)\r\n\r\ncrt-pi:\r\n![image](https://github.com/dolphin-emu/dolphin/assets/7667009/9cfd1152-908c-4d42-94e0-908a1fa83c1f)\r\n\r\nUnfortunately, I only noticed #11888 after I had already ported crt-pi. Still, crt-pi is specifically optimised for lower-end hardware (Raspberry Pis, in particular), so perhaps these shaders still have some utility.\r\n\r\nVarious settings have been exposed through Dolphin's configuration API, crt-pi in particular boasts extra options that even the RetroArch version does not due to being hardcoded within the GLSL code itself.\r\n\r\nBoth crt-pi and crt-lottes-fast run with every backend that I have tested (OpenGL, Vulkan, Direct3D 11, and Direct3D 12).", 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/12014/reactions', 'total_count': 15, '+1': 8, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 7, 'rocket': 0, 'eyes': 0}, 'timeline_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/12014/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/3029158238', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/12014#issuecomment-3029158238', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/12014', 'id': 3029158238, 'node_id': 'IC_kwDOALCn2M60jUle', 'user': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2025-07-02T20:03:15Z', 'updated_at': '2025-07-02T20:03:15Z', 'author_association': 'MEMBER', 'body': '@Clownacy How do you feel about making the default curvature values 0?', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/3029158238/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}, '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': '2025-07-02T14:10:29Z', 'pushed_at': '2025-07-01T21:09:07Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 530271, 'stargazers_count': 13880, 'watchers_count': 13880, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': True, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 2823, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 342, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 2823, 'open_issues': 342, 'watchers': 13880, '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'}
2025-07-02T20:00:56.121355	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'CrazySeanDX', 'action': 'edited', 'id': 12014, 'title': 'Add CRT shaders', 'url': 'https://github.com/dolphin-emu/dolphin/pull/12014#issuecomment-3029147795', 'safe_author': False, 'body': "> > I'm kinda with Jordan. If it's okay, how do I remove the curvature of the filter? I don't mind editing it myself, as I don't wanna pester you about changing it after 2 years.\r\n> \r\n> It can be changed in Dolphin's shader configuration menu; right next to the drop-down menu for selecting the shader is a 'Configure' button. The curvature can be disabled by dragging the Corner Rounding and Curvature sliders to 0.\r\n\r\nSo, weird thing. The Configure button for that is greyed out, for some reason. I should probably note that I got it through EmuDeck on my Steam Deck, so that could be why. SteamOS and not Windows, to be clear.\r\n\r\nEdit: Cancel that. Turns out it's greyed out for the other post processing effects. I didn't have yours selected. My bad.", 'raw': {'action': 'edited', 'changes': {'body': {'from': "> > I'm kinda with Jordan. If it's okay, how do I remove the curvature of the filter? I don't mind editing it myself, as I don't wanna pester you about changing it after 2 years.\r\n> \r\n> It can be changed in Dolphin's shader configuration menu; right next to the drop-down menu for selecting the shader is a 'Configure' button. The curvature can be disabled by dragging the Corner Rounding and Curvature sliders to 0.\r\n\r\nSo, weird thing. The Configure button for that is greyed out, for some reason. I should probably note that I got it through EmuDeck on my Steam Deck, so that could be why. SteamOS and not Windows, to be clear."}}, 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/12014', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/12014/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/12014/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/12014/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/12014', 'id': 1781462996, 'node_id': 'PR_kwDOALCn2M5URoxg', 'number': 12014, 'title': 'Add CRT shaders', 'user': {'login': 'Clownacy', 'id': 7667009, 'node_id': 'MDQ6VXNlcjc2NjcwMDk=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7667009?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/Clownacy', 'html_url': 'https://github.com/Clownacy', 'followers_url': 'https://api.github.com/users/Clownacy/followers', 'following_url': 'https://api.github.com/users/Clownacy/following{/other_user}', 'gists_url': 'https://api.github.com/users/Clownacy/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/Clownacy/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/Clownacy/subscriptions', 'organizations_url': 'https://api.github.com/users/Clownacy/orgs', 'repos_url': 'https://api.github.com/users/Clownacy/repos', 'events_url': 'https://api.github.com/users/Clownacy/events{/privacy}', 'received_events_url': 'https://api.github.com/users/Clownacy/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignee': None, 'assignees': [], 'milestone': None, 'comments': 22, 'created_at': '2023-06-29T20:23:15Z', 'updated_at': '2025-07-02T19:59:10Z', 'closed_at': None, 'author_association': 'NONE', 'type': None, 'active_lock_reason': None, 'draft': False, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/12014', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/12014', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/12014.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/12014.patch', 'merged_at': None}, 'body': "I've ported a couple of shaders from RetroArch - particularly the crt-pi and crt-lottes-fast ones. Unlike other shaders such as crt-royale, these shaders are single-pass, allowing them to work within Dolphin's framework. These look pretty good when paired with native resolution and SSAA.\r\n\r\ncrt-lottes-fast:\r\n![image](https://github.com/dolphin-emu/dolphin/assets/7667009/8108b7e1-d140-4d26-bc84-6b612b85ee8f)\r\n\r\nunfiltered:\r\n![image](https://github.com/dolphin-emu/dolphin/assets/7667009/5483d46a-4e15-4062-bb14-adb7c8d40d2b)\r\n\r\ncrt-pi:\r\n![image](https://github.com/dolphin-emu/dolphin/assets/7667009/9cfd1152-908c-4d42-94e0-908a1fa83c1f)\r\n\r\nUnfortunately, I only noticed #11888 after I had already ported crt-pi. Still, crt-pi is specifically optimised for lower-end hardware (Raspberry Pis, in particular), so perhaps these shaders still have some utility.\r\n\r\nVarious settings have been exposed through Dolphin's configuration API, crt-pi in particular boasts extra options that even the RetroArch version does not due to being hardcoded within the GLSL code itself.\r\n\r\nBoth crt-pi and crt-lottes-fast run with every backend that I have tested (OpenGL, Vulkan, Direct3D 11, and Direct3D 12).", 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/12014/reactions', 'total_count': 15, '+1': 8, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 7, 'rocket': 0, 'eyes': 0}, 'timeline_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/12014/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/3029147795', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/12014#issuecomment-3029147795', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/12014', 'id': 3029147795, 'node_id': 'IC_kwDOALCn2M60jSCT', 'user': {'login': 'CrazySeanDX', 'id': 65436469, 'node_id': 'MDQ6VXNlcjY1NDM2NDY5', 'avatar_url': 'https://avatars.githubusercontent.com/u/65436469?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/CrazySeanDX', 'html_url': 'https://github.com/CrazySeanDX', 'followers_url': 'https://api.github.com/users/CrazySeanDX/followers', 'following_url': 'https://api.github.com/users/CrazySeanDX/following{/other_user}', 'gists_url': 'https://api.github.com/users/CrazySeanDX/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/CrazySeanDX/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/CrazySeanDX/subscriptions', 'organizations_url': 'https://api.github.com/users/CrazySeanDX/orgs', 'repos_url': 'https://api.github.com/users/CrazySeanDX/repos', 'events_url': 'https://api.github.com/users/CrazySeanDX/events{/privacy}', 'received_events_url': 'https://api.github.com/users/CrazySeanDX/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2025-07-02T19:58:51Z', 'updated_at': '2025-07-02T20:00:54Z', 'author_association': 'NONE', 'body': "> > I'm kinda with Jordan. If it's okay, how do I remove the curvature of the filter? I don't mind editing it myself, as I don't wanna pester you about changing it after 2 years.\r\n> \r\n> It can be changed in Dolphin's shader configuration menu; right next to the drop-down menu for selecting the shader is a 'Configure' button. The curvature can be disabled by dragging the Corner Rounding and Curvature sliders to 0.\r\n\r\nSo, weird thing. The Configure button for that is greyed out, for some reason. I should probably note that I got it through EmuDeck on my Steam Deck, so that could be why. SteamOS and not Windows, to be clear.\r\n\r\nEdit: Cancel that. Turns out it's greyed out for the other post processing effects. I didn't have yours selected. My bad.", 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/3029147795/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}, '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': '2025-07-02T14:10:29Z', 'pushed_at': '2025-07-01T21:09:07Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 530271, 'stargazers_count': 13880, 'watchers_count': 13880, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': True, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 2823, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 342, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 2823, 'open_issues': 342, 'watchers': 13880, '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': 'CrazySeanDX', 'id': 65436469, 'node_id': 'MDQ6VXNlcjY1NDM2NDY5', 'avatar_url': 'https://avatars.githubusercontent.com/u/65436469?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/CrazySeanDX', 'html_url': 'https://github.com/CrazySeanDX', 'followers_url': 'https://api.github.com/users/CrazySeanDX/followers', 'following_url': 'https://api.github.com/users/CrazySeanDX/following{/other_user}', 'gists_url': 'https://api.github.com/users/CrazySeanDX/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/CrazySeanDX/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/CrazySeanDX/subscriptions', 'organizations_url': 'https://api.github.com/users/CrazySeanDX/orgs', 'repos_url': 'https://api.github.com/users/CrazySeanDX/repos', 'events_url': 'https://api.github.com/users/CrazySeanDX/events{/privacy}', 'received_events_url': 'https://api.github.com/users/CrazySeanDX/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

2025-07-05T18:36:02.859697	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'matheuswillder', 'action': 'edited', 'id': 13779, 'title': 'GameINI: Add 30 FPS codes to Mario Kart: Double Dash, Mario Kart Wii, Super Mario Galaxy and Super Mario Galaxy 2', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/13779', 'head_ref_name': '30-FPS-code', 'safe_author': False, 'base_sha': '43aa7e9b9658d3c1508512b6b0caef7737ed6683', 'head_sha': 'cfb1b7b7f7414043b2f2afded67ddc2004b0e408', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2025-07-05T13:37:25.394224	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'Tilka', 'action': 'opened', 'id': 13792, 'title': 'WiiSaveBanner: fall back to $userdir/Load/WiiBanners', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/13792', 'head_ref_name': 'wii_banners', 'safe_author': True, 'base_sha': 'a5e85caf0af66fec07b476718a69519b06e6a69f', 'head_sha': 'fe6fd2279c195517094538fff8667332049823ad', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2025-07-05T00:20:01.936520	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'edited', 'id': 13791, 'title': 'BTReal: Implement Realtek firmware loading.', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/13791', 'head_ref_name': 'realtek-firmware-loader', 'safe_author': True, 'base_sha': 'a5e85caf0af66fec07b476718a69519b06e6a69f', 'head_sha': '78687c50fb433f05447505ec620c892701322eb5', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2025-07-04T22:32:19.814350	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'edited', 'id': 13791, 'title': 'BTReal: Implement Realtek firmware loading.', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/13791', 'head_ref_name': 'realtek-firmware-loader', 'safe_author': True, 'base_sha': 'a5e85caf0af66fec07b476718a69519b06e6a69f', 'head_sha': '78687c50fb433f05447505ec620c892701322eb5', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2025-07-04T22:29:05.207296	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'synchronize', 'id': 13791, 'title': 'BTReal: Implement Realtek firmware loading.', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/13791', 'head_ref_name': 'realtek-firmware-loader', 'safe_author': True, 'base_sha': 'a5e85caf0af66fec07b476718a69519b06e6a69f', 'head_sha': '78687c50fb433f05447505ec620c892701322eb5', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2025-07-04T21:47:24.987654	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'edited', 'id': 13791, 'title': 'BTReal: Implement Realtek firmware loading.', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/13791', 'head_ref_name': 'realtek-firmware-loader', 'safe_author': True, 'base_sha': 'a5e85caf0af66fec07b476718a69519b06e6a69f', 'head_sha': 'b81ec14d6cdac2ca0cbe4a8029171ba4206d0e64', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2025-07-04T21:15:23.549996	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'synchronize', 'id': 13791, 'title': 'BTReal: Implement Realtek firmware loading.', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/13791', 'head_ref_name': 'realtek-firmware-loader', 'safe_author': True, 'base_sha': 'a5e85caf0af66fec07b476718a69519b06e6a69f', 'head_sha': 'b81ec14d6cdac2ca0cbe4a8029171ba4206d0e64', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2025-07-04T12:06:04.913175	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'synchronize', 'id': 13791, 'title': 'BTReal: Implement Realtek firmware loading.', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/13791', 'head_ref_name': 'realtek-firmware-loader', 'safe_author': True, 'base_sha': 'a5e85caf0af66fec07b476718a69519b06e6a69f', 'head_sha': '3db1be6ba0ba98be8adf1b60e073b0f4b878cc21', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2025-07-04T11:21:12.817985	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'edited', 'id': 13791, 'title': 'BTReal: Implement Realtek firmware loading.', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/13791', 'head_ref_name': 'realtek-firmware-loader', 'safe_author': True, 'base_sha': 'a5e85caf0af66fec07b476718a69519b06e6a69f', 'head_sha': '6c72269c26d0924b8a7046549d9ef22d5bccd533', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2025-07-04T11:14:59.193676	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'synchronize', 'id': 13791, 'title': 'BTReal: Implement Realtek firmware loading.', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/13791', 'head_ref_name': 'realtek-firmware-loader', 'safe_author': True, 'base_sha': 'a5e85caf0af66fec07b476718a69519b06e6a69f', 'head_sha': '6c72269c26d0924b8a7046549d9ef22d5bccd533', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2025-07-04T11:13:11.296893	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'edited', 'id': 13791, 'title': 'BTReal: Implement Realtek firmware loading.', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/13791', 'head_ref_name': 'realtek-firmware-loader', 'safe_author': True, 'base_sha': 'a5e85caf0af66fec07b476718a69519b06e6a69f', 'head_sha': '3baece1b3744dd92629a08267e643fe20af29f75', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2025-07-04T11:11:28.439588	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'labeled', 'id': 13791, 'title': 'BTReal: Implement Realtek firmware loading.', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/13791', 'head_ref_name': 'realtek-firmware-loader', 'safe_author': True, 'base_sha': 'a5e85caf0af66fec07b476718a69519b06e6a69f', 'head_sha': '3baece1b3744dd92629a08267e643fe20af29f75', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2025-07-04T11:11:28.127872	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'labeled', 'id': 13791, 'title': 'BTReal: Implement Realtek firmware loading.', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/13791', 'head_ref_name': 'realtek-firmware-loader', 'safe_author': True, 'base_sha': 'a5e85caf0af66fec07b476718a69519b06e6a69f', 'head_sha': '3baece1b3744dd92629a08267e643fe20af29f75', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2025-07-04T11:11:27.951893	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'labeled', 'id': 13791, 'title': 'BTReal: Implement Realtek firmware loading.', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/13791', 'head_ref_name': 'realtek-firmware-loader', 'safe_author': True, 'base_sha': 'a5e85caf0af66fec07b476718a69519b06e6a69f', 'head_sha': '3baece1b3744dd92629a08267e643fe20af29f75', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2025-07-04T11:11:27.434527	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'opened', 'id': 13791, 'title': 'BTReal: Implement Realtek firmware loading.', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/13791', 'head_ref_name': 'realtek-firmware-loader', 'safe_author': True, 'base_sha': 'a5e85caf0af66fec07b476718a69519b06e6a69f', 'head_sha': '3baece1b3744dd92629a08267e643fe20af29f75', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2025-07-03T16:43:33.163928	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'SuperSamus', 'action': 'edited', 'id': 13790, 'title': 'GameSettings: Minor approved cheats update', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/13790', 'head_ref_name': 'retroachivements-update', 'safe_author': True, 'base_sha': 'a5e85caf0af66fec07b476718a69519b06e6a69f', 'head_sha': 'b0751590bd48ca3a96a99fa4e3baee2d599d2fc7', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2025-07-03T16:32:50.045117	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'SuperSamus', 'action': 'synchronize', 'id': 13771, 'title': 'GameINI: Add some speed hacks', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/13771', 'head_ref_name': 'gameini-speedhacks', 'safe_author': True, 'base_sha': 'a5e85caf0af66fec07b476718a69519b06e6a69f', 'head_sha': '9410c18ef3515f0f750d7a1616c675d8cbaa1cfa', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2025-07-03T16:25:58.562968	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'Xphalnos', 'action': 'closed', 'id': 13354, 'title': 'Externals: SDL 2.32.6, libusb 1.0.28 and pugixml 1.15', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/13354', 'head_ref_name': 'Update_Externals', 'safe_author': False, 'base_sha': '88389146d3928da6ec9f5ba23055329eea22534b', 'head_sha': '4d0c8877abd33a086e5b06dedb9861a493e6d1c3', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2025-07-03T16:06:37.081573	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'SuperSamus', 'action': 'opened', 'id': 13790, 'title': 'GameSettings: Minor approved cheats update', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/13790', 'head_ref_name': 'retroachivements-update', 'safe_author': True, 'base_sha': 'a5e85caf0af66fec07b476718a69519b06e6a69f', 'head_sha': 'b0751590bd48ca3a96a99fa4e3baee2d599d2fc7', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2025-07-03T06:31:03.317349	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'closed', 'id': 13736, 'title': 'DolphinQt: Move graphics config to main Settings window.', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/13736', 'head_ref_name': 'main-config-gfx', 'safe_author': True, 'base_sha': '2047eaf1d86839b53bb92cf79cfae8be2a568ed6', 'head_sha': '344080b7a9101dcb4785076b067d00f5e99600b8', 'merged': True, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2025-07-02T20:54:46.953999	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'JordanTheToaster', 'action': 'synchronize', 'id': 13420, 'title': 'Externals: Update miniupnp to v2.3.2', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/13420', 'head_ref_name': 'I-Have-No-Idea-What-I-Am-Doing-Part-2', 'safe_author': True, 'base_sha': 'b03a7821f2d1dccf0f33045541b006d1d4a67fac', 'head_sha': 'efb5fa30e6e9e99228f0314e4f5bf277fc70b8be', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2025-07-02T20:53:29.372874	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'JordanTheToaster', 'action': 'synchronize', 'id': 13419, 'title': 'Externals: Update liblzma to v5.6.4', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/13419', 'head_ref_name': 'I-Have-No-Idea-What-I-Am-Doing', 'safe_author': True, 'base_sha': 'b03a7821f2d1dccf0f33045541b006d1d4a67fac', 'head_sha': 'cde2ce2e62214755cef51f8af9cc1a870bc23506', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2025-07-01T21:44:51.919923	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'Simonx22', 'action': 'opened', 'id': 13789, 'title': 'Android: Bump SDK to 36 and Gradle to 8.13', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/13789', 'head_ref_name': 'update-sdk36-gradle813', 'safe_author': True, 'base_sha': 'b03a7821f2d1dccf0f33045541b006d1d4a67fac', 'head_sha': '344114c9318caddcdc7d252afbaa10661d791c65', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2025-07-01T21:09:09.786359	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'AdmiralCurtiss', 'action': 'closed', 'id': 13778, 'title': 'GameINI: Disable Dual Core for Rally Championship', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/13778', 'head_ref_name': 'GameINI-Disable-Dual-Core-for-Rally-Championship', 'safe_author': True, 'base_sha': '43aa7e9b9658d3c1508512b6b0caef7737ed6683', 'head_sha': '48a209d76e805bb40db51ad6f204884ae0f2461f', 'merged': True, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2025-07-01T20:54:39.255799	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'AdmiralCurtiss', 'action': 'closed', 'id': 13785, 'title': 'MemoryWidget: Fix hex input validation errors', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/13785', 'head_ref_name': 'memorywidget_fix_hex_input_validation_errors', 'safe_author': True, 'base_sha': '9a0d4501f8e41f186068ecbc52408d5281223760', 'head_sha': '0093ed1ac895b82279d7aa9422e7f2a94d192a21', 'merged': True, 'requested_reviewers': [], 'type': 'gh_pull_request'}

Recent 'gh_pull_request_comment' events

2025-06-30T21:17:54.556951	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'created', 'id': 13786, 'hash': '3b5128e6a0d0007c124df9eb4361d64c7387e7da', 'url': 'https://github.com/dolphin-emu/dolphin/pull/13786#discussion_r2175981876', 'is_part_of_review': False, 'type': 'gh_pull_request_comment'}
2025-06-30T20:56:11.562070	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'JosJuice', 'action': 'created', 'id': 13786, 'hash': '3b5128e6a0d0007c124df9eb4361d64c7387e7da', 'url': 'https://github.com/dolphin-emu/dolphin/pull/13786#discussion_r2175923529', 'is_part_of_review': True, 'type': 'gh_pull_request_comment'}
2025-06-30T20:49:09.674370	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'JosJuice', 'action': 'created', 'id': 13786, 'hash': '3b5128e6a0d0007c124df9eb4361d64c7387e7da', 'url': 'https://github.com/dolphin-emu/dolphin/pull/13786#discussion_r2175899262', 'is_part_of_review': False, 'type': 'gh_pull_request_comment'}
2025-06-30T20:46:47.773008	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'JosJuice', 'action': 'created', 'id': 13786, 'hash': '3b5128e6a0d0007c124df9eb4361d64c7387e7da', 'url': 'https://github.com/dolphin-emu/dolphin/pull/13786#discussion_r2175889516', 'is_part_of_review': False, 'type': 'gh_pull_request_comment'}
2025-06-30T20:36:51.256416	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'created', 'id': 13786, 'hash': '3b5128e6a0d0007c124df9eb4361d64c7387e7da', 'url': 'https://github.com/dolphin-emu/dolphin/pull/13786#discussion_r2175854322', 'is_part_of_review': True, 'type': 'gh_pull_request_comment'}
2025-06-29T21:15:32.380269	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'created', 'id': 13260, 'hash': 'b134d7c2b9607a77fe4a8a6beb8264a177351659', 'url': 'https://github.com/dolphin-emu/dolphin/pull/13260#discussion_r2173929467', 'is_part_of_review': False, 'type': 'gh_pull_request_comment'}
2025-06-29T21:02:31.790174	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'Dentomologist', 'action': 'created', 'id': 13260, 'hash': 'b134d7c2b9607a77fe4a8a6beb8264a177351659', 'url': 'https://github.com/dolphin-emu/dolphin/pull/13260#discussion_r2173889391', 'is_part_of_review': True, 'type': 'gh_pull_request_comment'}
2025-06-29T21:02:31.788980	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'Dentomologist', 'action': 'created', 'id': 13260, 'hash': 'b134d7c2b9607a77fe4a8a6beb8264a177351659', 'url': 'https://github.com/dolphin-emu/dolphin/pull/13260#discussion_r2173891302', 'is_part_of_review': True, 'type': 'gh_pull_request_comment'}
2025-06-29T21:02:31.787738	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'Dentomologist', 'action': 'created', 'id': 13260, 'hash': 'b134d7c2b9607a77fe4a8a6beb8264a177351659', 'url': 'https://github.com/dolphin-emu/dolphin/pull/13260#discussion_r2173897857', 'is_part_of_review': True, 'type': 'gh_pull_request_comment'}
2025-06-28T23:21:21.328278	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'noahpistilli', 'action': 'created', 'id': 13782, 'hash': '0c75a5e33bfb9472c94d91c4b6cbdbfc280764f0', 'url': 'https://github.com/dolphin-emu/dolphin/pull/13782#discussion_r2173551195', 'is_part_of_review': False, 'type': 'gh_pull_request_comment'}
2025-06-28T23:17:35.655919	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'AdmiralCurtiss', 'action': 'created', 'id': 13782, 'hash': '0c75a5e33bfb9472c94d91c4b6cbdbfc280764f0', 'url': 'https://github.com/dolphin-emu/dolphin/pull/13782#discussion_r2173549927', 'is_part_of_review': True, 'type': 'gh_pull_request_comment'}
2025-06-26T23:53:19.321503	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'Dentomologist', 'action': 'created', 'id': 13409, 'hash': '1ba209879b50eec604e1475e2571a6fd38d45d34', 'url': 'https://github.com/dolphin-emu/dolphin/pull/13409#discussion_r2170002805', 'is_part_of_review': True, 'type': 'gh_pull_request_comment'}
2025-06-25T18:29:59.213117	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'sepalani', 'action': 'created', 'id': 13750, 'hash': '4a5ebd80587852cd197dcf13fa40e52b2f24000b', 'url': 'https://github.com/dolphin-emu/dolphin/pull/13750#discussion_r2167321770', 'is_part_of_review': True, 'type': 'gh_pull_request_comment'}
2025-06-25T18:29:59.181288	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'sepalani', 'action': 'created', 'id': 13750, 'hash': '4a5ebd80587852cd197dcf13fa40e52b2f24000b', 'url': 'https://github.com/dolphin-emu/dolphin/pull/13750#discussion_r2167271788', 'is_part_of_review': True, 'type': 'gh_pull_request_comment'}
2025-06-25T18:29:59.180189	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'sepalani', 'action': 'created', 'id': 13750, 'hash': '4a5ebd80587852cd197dcf13fa40e52b2f24000b', 'url': 'https://github.com/dolphin-emu/dolphin/pull/13750#discussion_r2167335584', 'is_part_of_review': True, 'type': 'gh_pull_request_comment'}
2025-06-25T18:29:59.179093	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'sepalani', 'action': 'created', 'id': 13750, 'hash': '4a5ebd80587852cd197dcf13fa40e52b2f24000b', 'url': 'https://github.com/dolphin-emu/dolphin/pull/13750#discussion_r2167330771', 'is_part_of_review': True, 'type': 'gh_pull_request_comment'}
2025-06-25T18:29:59.177993	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'sepalani', 'action': 'created', 'id': 13750, 'hash': '4a5ebd80587852cd197dcf13fa40e52b2f24000b', 'url': 'https://github.com/dolphin-emu/dolphin/pull/13750#discussion_r2167259346', 'is_part_of_review': True, 'type': 'gh_pull_request_comment'}
2025-06-25T18:29:59.176903	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'sepalani', 'action': 'created', 'id': 13750, 'hash': '4a5ebd80587852cd197dcf13fa40e52b2f24000b', 'url': 'https://github.com/dolphin-emu/dolphin/pull/13750#discussion_r2167267263', 'is_part_of_review': True, 'type': 'gh_pull_request_comment'}
2025-06-25T18:29:59.175790	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'sepalani', 'action': 'created', 'id': 13750, 'hash': '4a5ebd80587852cd197dcf13fa40e52b2f24000b', 'url': 'https://github.com/dolphin-emu/dolphin/pull/13750#discussion_r2167253851', 'is_part_of_review': True, 'type': 'gh_pull_request_comment'}
2025-06-25T05:50:10.798473	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'iwubcode', 'action': 'created', 'id': 13751, 'hash': 'c7e0c25876570dae09f9f20d6693a3f67518122f', 'url': 'https://github.com/dolphin-emu/dolphin/pull/13751#discussion_r2165840739', 'is_part_of_review': False, 'type': 'gh_pull_request_comment'}
2025-06-25T05:47:06.150772	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'created', 'id': 13751, 'hash': 'c7e0c25876570dae09f9f20d6693a3f67518122f', 'url': 'https://github.com/dolphin-emu/dolphin/pull/13751#discussion_r2165837481', 'is_part_of_review': False, 'type': 'gh_pull_request_comment'}
2025-06-25T05:42:12.995308	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'created', 'id': 13751, 'hash': 'c7e0c25876570dae09f9f20d6693a3f67518122f', 'url': 'https://github.com/dolphin-emu/dolphin/pull/13751#discussion_r2165832160', 'is_part_of_review': False, 'type': 'gh_pull_request_comment'}
2025-06-25T05:39:27.619807	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'created', 'id': 13751, 'hash': 'c7e0c25876570dae09f9f20d6693a3f67518122f', 'url': 'https://github.com/dolphin-emu/dolphin/pull/13751#discussion_r2165828691', 'is_part_of_review': False, 'type': 'gh_pull_request_comment'}
2025-06-25T05:33:35.662832	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'iwubcode', 'action': 'edited', 'id': 13751, 'hash': 'c7e0c25876570dae09f9f20d6693a3f67518122f', 'url': 'https://github.com/dolphin-emu/dolphin/pull/13751#discussion_r2165789843', 'is_part_of_review': False, 'type': 'gh_pull_request_comment'}
2025-06-25T05:29:57.712144	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'iwubcode', 'action': 'created', 'id': 13751, 'hash': 'c7e0c25876570dae09f9f20d6693a3f67518122f', 'url': 'https://github.com/dolphin-emu/dolphin/pull/13751#discussion_r2165802856', 'is_part_of_review': True, 'type': 'gh_pull_request_comment'}

Recent 'gh_pull_request_review' events

2025-07-01T20:54:15.031105	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'AdmiralCurtiss', 'action': 'submitted', 'pr_id': 13785, 'pr_title': 'Memorywidget: Fix hex input validation errors', 'state': 'approved', 'url': 'https://github.com/dolphin-emu/dolphin/pull/13785#pullrequestreview-2976911949', 'comments': [], 'type': 'gh_pull_request_review'}
2025-07-01T20:51:26.430690	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'AdmiralCurtiss', 'action': 'submitted', 'pr_id': 13788, 'pr_title': 'DolphinQt: Adjust PostProcessingConfigWindow size on creation.', 'state': 'approved', 'url': 'https://github.com/dolphin-emu/dolphin/pull/13788#pullrequestreview-2976904524', 'comments': [], 'type': 'gh_pull_request_review'}
2025-06-30T23:37:36.225772	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'iwubcode', 'action': 'edited', 'pr_id': 12014, 'pr_title': 'Add CRT shaders', 'state': 'approved', 'url': 'https://github.com/dolphin-emu/dolphin/pull/12014#pullrequestreview-2973065849', 'comments': [], 'type': 'gh_pull_request_review'}
2025-06-30T23:34:19.755715	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'iwubcode', 'action': 'submitted', 'pr_id': 12014, 'pr_title': 'Add CRT shaders', 'state': 'approved', 'url': 'https://github.com/dolphin-emu/dolphin/pull/12014#pullrequestreview-2973065849', 'comments': [], 'type': 'gh_pull_request_review'}
2025-06-30T21:17:54.555690	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'submitted', 'pr_id': 13786, 'pr_title': 'PPCSymbolDB: Improve locking', 'state': 'commented', 'url': 'https://github.com/dolphin-emu/dolphin/pull/13786#pullrequestreview-2972766304', 'comments': [{'id': 2175981876, 'node_id': 'PRRC_kwDOALCn2M6Bstk0', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/2175981876', 'pull_request_review_id': 2972766304, 'diff_hunk': '@@ -87,27 +88,56 @@ class SymbolDB\n   SymbolDB();\n   virtual ~SymbolDB();\n \n-  virtual Symbol* GetSymbolFromAddr(u32 addr) { return nullptr; }\n-  virtual Symbol* AddFunction(const Core::CPUThreadGuard& guard, u32 start_addr) { return nullptr; }\n+  virtual const Symbol* GetSymbolFromAddr(u32 addr) const { return nullptr; }\n+  virtual const Symbol* AddFunction(const Core::CPUThreadGuard& guard, u32 start_addr)\n+  {\n+    return nullptr;\n+  }\n   void AddCompleteSymbol(const Symbol& symbol);\n+  bool RenameSymbol(const Symbol& symbol, const std::string& symbol_name);\n+  bool RenameSymbol(const Symbol& symbol, const std::string& symbol_name,\n+                    const std::string& object_name);\n+\n+  const Symbol* GetSymbolFromName(std::string_view name) const;\n+  std::vector<const Symbol*> GetSymbolsFromName(std::string_view name) const;\n+  const Symbol* GetSymbolFromHash(u32 hash) const;\n+  std::vector<const Symbol*> GetSymbolsFromHash(u32 hash) const;\n \n-  Symbol* GetSymbolFromName(std::string_view name);\n-  std::vector<Symbol*> GetSymbolsFromName(std::string_view name);\n-  Symbol* GetSymbolFromHash(u32 hash);\n-  std::vector<Symbol*> GetSymbolsFromHash(u32 hash);\n+  template <typename F>\n+  void ForEachSymbol(F f) const\n+  {\n+    std::shared_lock lock(m_mutex);\n+    ++s_is_iterating;', 'path': 'Source/Core/Common/SymbolDB.h', 'position': 37, 'original_position': 37, 'commit_id': '3b5128e6a0d0007c124df9eb4361d64c7387e7da', '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': "> Maybe it would be fine to simply go for a non-shared mutex? PPCSymbolDB isn't getting hit from multiple threads at once very often as far as I know.\r\n\r\nYeah. I'm guessing it's only hit from multiple threads when using the debugging UI.", 'created_at': '2025-06-30T21:17:52Z', 'updated_at': '2025-06-30T21:17:52Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13786#discussion_r2175981876', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/13786', 'author_association': 'MEMBER', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/2175981876'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/13786#discussion_r2175981876'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/13786'}}, 'original_commit_id': '3b5128e6a0d0007c124df9eb4361d64c7387e7da', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/2175981876/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'in_reply_to_id': 2175854322}], 'type': 'gh_pull_request_review'}
2025-06-30T20:56:11.559853	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'JosJuice', 'action': 'submitted', 'pr_id': 13786, 'pr_title': 'PPCSymbolDB: Improve locking', 'state': 'commented', 'url': 'https://github.com/dolphin-emu/dolphin/pull/13786#pullrequestreview-2972683515', 'comments': [{'id': 2175923529, 'node_id': 'PRRC_kwDOALCn2M6BsfVJ', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/2175923529', 'pull_request_review_id': 2972683515, 'diff_hunk': '@@ -87,27 +88,56 @@ class SymbolDB\n   SymbolDB();\n   virtual ~SymbolDB();\n \n-  virtual Symbol* GetSymbolFromAddr(u32 addr) { return nullptr; }\n-  virtual Symbol* AddFunction(const Core::CPUThreadGuard& guard, u32 start_addr) { return nullptr; }\n+  virtual const Symbol* GetSymbolFromAddr(u32 addr) const { return nullptr; }\n+  virtual const Symbol* AddFunction(const Core::CPUThreadGuard& guard, u32 start_addr)\n+  {\n+    return nullptr;\n+  }\n   void AddCompleteSymbol(const Symbol& symbol);\n+  bool RenameSymbol(const Symbol& symbol, const std::string& symbol_name);\n+  bool RenameSymbol(const Symbol& symbol, const std::string& symbol_name,\n+                    const std::string& object_name);\n+\n+  const Symbol* GetSymbolFromName(std::string_view name) const;\n+  std::vector<const Symbol*> GetSymbolsFromName(std::string_view name) const;\n+  const Symbol* GetSymbolFromHash(u32 hash) const;\n+  std::vector<const Symbol*> GetSymbolsFromHash(u32 hash) const;\n \n-  Symbol* GetSymbolFromName(std::string_view name);\n-  std::vector<Symbol*> GetSymbolsFromName(std::string_view name);\n-  Symbol* GetSymbolFromHash(u32 hash);\n-  std::vector<Symbol*> GetSymbolsFromHash(u32 hash);\n+  template <typename F>\n+  void ForEachSymbol(F f) const\n+  {\n+    std::shared_lock lock(m_mutex);\n+    ++s_is_iterating;', 'path': 'Source/Core/Common/SymbolDB.h', 'position': 37, 'original_position': 37, 'commit_id': '3b5128e6a0d0007c124df9eb4361d64c7387e7da', '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': "Maybe it would be fine to simply go for a non-shared mutex? PPCSymbolDB isn't getting hit from multiple threads at once very often as far as I know.", 'created_at': '2025-06-30T20:56:09Z', 'updated_at': '2025-06-30T20:56:10Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13786#discussion_r2175923529', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/13786', 'author_association': 'MEMBER', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/2175923529'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/13786#discussion_r2175923529'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/13786'}}, 'original_commit_id': '3b5128e6a0d0007c124df9eb4361d64c7387e7da', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/2175923529/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'in_reply_to_id': 2175854322}], 'type': 'gh_pull_request_review'}
2025-06-30T20:49:09.401072	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'JosJuice', 'action': 'submitted', 'pr_id': 13786, 'pr_title': 'PPCSymbolDB: Improve locking', 'state': 'commented', 'url': 'https://github.com/dolphin-emu/dolphin/pull/13786#pullrequestreview-2972651280', 'comments': [{'id': 2175899262, 'node_id': 'PRRC_kwDOALCn2M6BsZZ-', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/2175899262', 'pull_request_review_id': 2972651280, 'diff_hunk': '@@ -87,27 +88,56 @@ class SymbolDB\n   SymbolDB();\n   virtual ~SymbolDB();\n \n-  virtual Symbol* GetSymbolFromAddr(u32 addr) { return nullptr; }\n-  virtual Symbol* AddFunction(const Core::CPUThreadGuard& guard, u32 start_addr) { return nullptr; }\n+  virtual const Symbol* GetSymbolFromAddr(u32 addr) const { return nullptr; }\n+  virtual const Symbol* AddFunction(const Core::CPUThreadGuard& guard, u32 start_addr)\n+  {\n+    return nullptr;\n+  }\n   void AddCompleteSymbol(const Symbol& symbol);\n+  bool RenameSymbol(const Symbol& symbol, const std::string& symbol_name);\n+  bool RenameSymbol(const Symbol& symbol, const std::string& symbol_name,\n+                    const std::string& object_name);\n+\n+  const Symbol* GetSymbolFromName(std::string_view name) const;\n+  std::vector<const Symbol*> GetSymbolsFromName(std::string_view name) const;\n+  const Symbol* GetSymbolFromHash(u32 hash) const;\n+  std::vector<const Symbol*> GetSymbolsFromHash(u32 hash) const;\n \n-  Symbol* GetSymbolFromName(std::string_view name);\n-  std::vector<Symbol*> GetSymbolsFromName(std::string_view name);\n-  Symbol* GetSymbolFromHash(u32 hash);\n-  std::vector<Symbol*> GetSymbolsFromHash(u32 hash);\n+  template <typename F>\n+  void ForEachSymbol(F f) const\n+  {\n+    std::shared_lock lock(m_mutex);\n+    ++s_is_iterating;', 'path': 'Source/Core/Common/SymbolDB.h', 'position': 37, 'original_position': 37, 'commit_id': '3b5128e6a0d0007c124df9eb4361d64c7387e7da', 'user': {'login': 'JosJuice', 'id': 6716818, 'node_id': 'MDQ6VXNlcjY3MTY4MTg=', 'avatar_url': 'https://avatars.githubusercontent.com/u/6716818?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/JosJuice', 'html_url': 'https://github.com/JosJuice', 'followers_url': 'https://api.github.com/users/JosJuice/followers', 'following_url': 'https://api.github.com/users/JosJuice/following{/other_user}', 'gists_url': 'https://api.github.com/users/JosJuice/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/JosJuice/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/JosJuice/subscriptions', 'organizations_url': 'https://api.github.com/users/JosJuice/orgs', 'repos_url': 'https://api.github.com/users/JosJuice/repos', 'events_url': 'https://api.github.com/users/JosJuice/events{/privacy}', 'received_events_url': 'https://api.github.com/users/JosJuice/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': "This designed is also kind of scuffed beyond that problem, but I don't know what the proper way to have a shared recursive mutex would be...", 'created_at': '2025-06-30T20:49:07Z', 'updated_at': '2025-06-30T20:49:07Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13786#discussion_r2175899262', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/13786', 'author_association': 'MEMBER', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/2175899262'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/13786#discussion_r2175899262'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/13786'}}, 'original_commit_id': '3b5128e6a0d0007c124df9eb4361d64c7387e7da', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/2175899262/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'in_reply_to_id': 2175854322}], 'type': 'gh_pull_request_review'}
2025-06-30T20:46:47.772207	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'JosJuice', 'action': 'submitted', 'pr_id': 13786, 'pr_title': 'PPCSymbolDB: Improve locking', 'state': 'commented', 'url': 'https://github.com/dolphin-emu/dolphin/pull/13786#pullrequestreview-2972639518', 'comments': [{'id': 2175889516, 'node_id': 'PRRC_kwDOALCn2M6BsXBs', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/2175889516', 'pull_request_review_id': 2972639518, 'diff_hunk': '@@ -87,27 +88,56 @@ class SymbolDB\n   SymbolDB();\n   virtual ~SymbolDB();\n \n-  virtual Symbol* GetSymbolFromAddr(u32 addr) { return nullptr; }\n-  virtual Symbol* AddFunction(const Core::CPUThreadGuard& guard, u32 start_addr) { return nullptr; }\n+  virtual const Symbol* GetSymbolFromAddr(u32 addr) const { return nullptr; }\n+  virtual const Symbol* AddFunction(const Core::CPUThreadGuard& guard, u32 start_addr)\n+  {\n+    return nullptr;\n+  }\n   void AddCompleteSymbol(const Symbol& symbol);\n+  bool RenameSymbol(const Symbol& symbol, const std::string& symbol_name);\n+  bool RenameSymbol(const Symbol& symbol, const std::string& symbol_name,\n+                    const std::string& object_name);\n+\n+  const Symbol* GetSymbolFromName(std::string_view name) const;\n+  std::vector<const Symbol*> GetSymbolsFromName(std::string_view name) const;\n+  const Symbol* GetSymbolFromHash(u32 hash) const;\n+  std::vector<const Symbol*> GetSymbolsFromHash(u32 hash) const;\n \n-  Symbol* GetSymbolFromName(std::string_view name);\n-  std::vector<Symbol*> GetSymbolsFromName(std::string_view name);\n-  Symbol* GetSymbolFromHash(u32 hash);\n-  std::vector<Symbol*> GetSymbolsFromHash(u32 hash);\n+  template <typename F>\n+  void ForEachSymbol(F f) const\n+  {\n+    std::shared_lock lock(m_mutex);\n+    ++s_is_iterating;', 'path': 'Source/Core/Common/SymbolDB.h', 'position': 37, 'original_position': 37, 'commit_id': '3b5128e6a0d0007c124df9eb4361d64c7387e7da', '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': '> is it safe to "Rename" with just the shared lock held?\r\n\r\nIt\'s not :( Thanks for catching that!', 'created_at': '2025-06-30T20:46:45Z', 'updated_at': '2025-06-30T20:46:45Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13786#discussion_r2175889516', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/13786', 'author_association': 'MEMBER', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/2175889516'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/13786#discussion_r2175889516'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/13786'}}, 'original_commit_id': '3b5128e6a0d0007c124df9eb4361d64c7387e7da', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/2175889516/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'in_reply_to_id': 2175854322}], 'type': 'gh_pull_request_review'}
2025-06-30T20:36:51.218504	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'submitted', 'pr_id': 13786, 'pr_title': 'PPCSymbolDB: Improve locking', 'state': 'commented', 'url': 'https://github.com/dolphin-emu/dolphin/pull/13786#pullrequestreview-2972583848', 'comments': [{'id': 2175854322, 'node_id': 'PRRC_kwDOALCn2M6BsOby', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/2175854322', 'pull_request_review_id': 2972583848, 'diff_hunk': '@@ -87,27 +88,56 @@ class SymbolDB\n   SymbolDB();\n   virtual ~SymbolDB();\n \n-  virtual Symbol* GetSymbolFromAddr(u32 addr) { return nullptr; }\n-  virtual Symbol* AddFunction(const Core::CPUThreadGuard& guard, u32 start_addr) { return nullptr; }\n+  virtual const Symbol* GetSymbolFromAddr(u32 addr) const { return nullptr; }\n+  virtual const Symbol* AddFunction(const Core::CPUThreadGuard& guard, u32 start_addr)\n+  {\n+    return nullptr;\n+  }\n   void AddCompleteSymbol(const Symbol& symbol);\n+  bool RenameSymbol(const Symbol& symbol, const std::string& symbol_name);\n+  bool RenameSymbol(const Symbol& symbol, const std::string& symbol_name,\n+                    const std::string& object_name);\n+\n+  const Symbol* GetSymbolFromName(std::string_view name) const;\n+  std::vector<const Symbol*> GetSymbolsFromName(std::string_view name) const;\n+  const Symbol* GetSymbolFromHash(u32 hash) const;\n+  std::vector<const Symbol*> GetSymbolsFromHash(u32 hash) const;\n \n-  Symbol* GetSymbolFromName(std::string_view name);\n-  std::vector<Symbol*> GetSymbolsFromName(std::string_view name);\n-  Symbol* GetSymbolFromHash(u32 hash);\n-  std::vector<Symbol*> GetSymbolsFromHash(u32 hash);\n+  template <typename F>\n+  void ForEachSymbol(F f) const\n+  {\n+    std::shared_lock lock(m_mutex);\n+    ++s_is_iterating;', 'path': 'Source/Core/Common/SymbolDB.h', 'position': 37, 'original_position': 37, 'commit_id': '3b5128e6a0d0007c124df9eb4361d64c7387e7da', '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': 'While I haven\'t fully wrapped my head around the code, this seems odd. The shared lock is held here, and `++s_is_iterating` prevents unique locks inside the loop, within a `RenameSymbol` call or whatever, but is it safe to "Rename" with just the shared lock held? I guess this is fine if `ForEachSymbol`/`ForEachNote` are only ever called from one thread, but I\'m not sure if that\'s the case?', 'created_at': '2025-06-30T20:36:45Z', 'updated_at': '2025-06-30T20:36:49Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13786#discussion_r2175854322', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/13786', 'author_association': 'MEMBER', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/2175854322'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/13786#discussion_r2175854322'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/13786'}}, 'original_commit_id': '3b5128e6a0d0007c124df9eb4361d64c7387e7da', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/2175854322/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'}
2025-06-30T18:12:42.363186	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'JosJuice', 'action': 'submitted', 'pr_id': 13783, 'pr_title': 'CoreTiming: Fix unsafe usage of m_globals.global_timer in ScheduleEvent from non-CPU thread.', 'state': 'approved', 'url': 'https://github.com/dolphin-emu/dolphin/pull/13783#pullrequestreview-2972207862', 'comments': [], 'type': 'gh_pull_request_review'}
2025-06-30T17:44:03.130875	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'AdmiralCurtiss', 'action': 'submitted', 'pr_id': 13782, 'pr_title': 'IOS/KD: Pad Wii Numbers to 16 digits', 'state': 'approved', 'url': 'https://github.com/dolphin-emu/dolphin/pull/13782#pullrequestreview-2972137116', 'comments': [], 'type': 'gh_pull_request_review'}
2025-06-29T21:15:32.378927	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'submitted', 'pr_id': 13260, 'pr_title': 'Android: Detect GCAdapter hotplug using BroadcastReceiver', 'state': 'commented', 'url': 'https://github.com/dolphin-emu/dolphin/pull/13260#pullrequestreview-2969463177', 'comments': [{'id': 2173929467, 'node_id': 'PRRC_kwDOALCn2M6Bk4f7', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/2173929467', 'pull_request_review_id': 2969463177, 'diff_hunk': '@@ -109,50 +137,118 @@ public static int output(byte[] rumble)\n   @Keep\n   public static boolean openAdapter()\n   {\n-    HashMap<String, UsbDevice> devices = manager.getDeviceList();\n-    for (Map.Entry<String, UsbDevice> pair : devices.entrySet())\n+    UsbDevice dev;\n+    synchronized (hotplugCallbackLock)\n     {\n-      UsbDevice dev = pair.getValue();\n-      if (dev.getProductId() == 0x0337 && dev.getVendorId() == 0x057e)\n+      dev = adapterDevice;\n+    }\n+\n+    if (dev != null)\n+    {\n+      usbConnection = manager.openDevice(dev);\n+\n+      Log.info("GCAdapter: Number of configurations: " + dev.getConfigurationCount());\n+      Log.info("GCAdapter: Number of interfaces: " + dev.getInterfaceCount());\n+\n+      if (dev.getConfigurationCount() > 0 && dev.getInterfaceCount() > 0)\n       {\n-        if (manager.hasPermission(dev))\n+        UsbConfiguration conf = dev.getConfiguration(0);\n+        usbInterface = conf.getInterface(0);\n+        usbConnection.claimInterface(usbInterface, true);\n+\n+        Log.info("GCAdapter: Number of endpoints: " + usbInterface.getEndpointCount());\n+\n+        if (usbInterface.getEndpointCount() == 2)\n         {\n-          usbConnection = manager.openDevice(dev);\n-\n-          Log.info("GCAdapter: Number of configurations: " + dev.getConfigurationCount());\n-          Log.info("GCAdapter: Number of interfaces: " + dev.getInterfaceCount());\n-\n-          if (dev.getConfigurationCount() > 0 && dev.getInterfaceCount() > 0)\n-          {\n-            UsbConfiguration conf = dev.getConfiguration(0);\n-            usbInterface = conf.getInterface(0);\n-            usbConnection.claimInterface(usbInterface, true);\n-\n-            Log.info("GCAdapter: Number of endpoints: " + usbInterface.getEndpointCount());\n-\n-            if (usbInterface.getEndpointCount() == 2)\n-            {\n-              for (int i = 0; i < usbInterface.getEndpointCount(); ++i)\n-                if (usbInterface.getEndpoint(i).getDirection() == UsbConstants.USB_DIR_IN)\n-                  usbIn = usbInterface.getEndpoint(i);\n-                else\n-                  usbOut = usbInterface.getEndpoint(i);\n-\n-              initAdapter();\n-              return true;\n-            }\n+          for (int i = 0; i < usbInterface.getEndpointCount(); ++i)\n+            if (usbInterface.getEndpoint(i).getDirection() == UsbConstants.USB_DIR_IN)\n+              usbIn = usbInterface.getEndpoint(i);\n             else\n-            {\n-              usbConnection.releaseInterface(usbInterface);\n-            }\n-          }\n-\n-          Toast.makeText(DolphinApplication.getAppContext(), R.string.replug_gc_adapter,\n-                  Toast.LENGTH_LONG).show();\n-          usbConnection.close();\n+              usbOut = usbInterface.getEndpoint(i);\n+\n+          initAdapter();\n+          return true;\n+        }\n+        else\n+        {\n+          usbConnection.releaseInterface(usbInterface);', 'path': 'Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/utils/GCAdapter.java', 'position': 174, 'original_position': 169, 'commit_id': 'b134d7c2b9607a77fe4a8a6beb8264a177351659', 'user': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': 'I think we can safely assume GCAdapter has the endpoints on interface 0. We make this assumption on the PC side with libusb and things seem to be working properly.', 'created_at': '2025-06-29T21:15:30Z', 'updated_at': '2025-06-29T21:15:30Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13260#discussion_r2173929467', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/13260', 'author_association': 'MEMBER', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/2173929467'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/13260#discussion_r2173929467'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/13260'}}, 'original_commit_id': '812ed34dc3c4e54dbb7abf3c80c135e782c7f9cd', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/2173929467/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'in_reply_to_id': 2173891302}], 'type': 'gh_pull_request_review'}
2025-06-29T21:02:31.784615	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'Dentomologist', 'action': 'submitted', 'pr_id': 13260, 'pr_title': 'Android: Detect GCAdapter hotplug using BroadcastReceiver', 'state': 'commented', 'url': 'https://github.com/dolphin-emu/dolphin/pull/13260#pullrequestreview-2969410621', 'comments': [{'id': 2173889391, 'node_id': 'PRRC_kwDOALCn2M6Bkutv', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/2173889391', 'pull_request_review_id': 2969410621, 'diff_hunk': '@@ -109,50 +137,118 @@ public static int output(byte[] rumble)\n   @Keep\n   public static boolean openAdapter()\n   {\n-    HashMap<String, UsbDevice> devices = manager.getDeviceList();\n-    for (Map.Entry<String, UsbDevice> pair : devices.entrySet())\n+    UsbDevice dev;\n+    synchronized (hotplugCallbackLock)\n     {\n-      UsbDevice dev = pair.getValue();\n-      if (dev.getProductId() == 0x0337 && dev.getVendorId() == 0x057e)\n+      dev = adapterDevice;\n+    }\n+\n+    if (dev != null)\n+    {\n+      usbConnection = manager.openDevice(dev);', 'path': 'Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/utils/GCAdapter.java', 'position': 148, 'original_position': 110, 'commit_id': 'b134d7c2b9607a77fe4a8a6beb8264a177351659', 'user': {'login': 'Dentomologist', 'id': 73494713, 'node_id': 'MDQ6VXNlcjczNDk0NzEz', 'avatar_url': 'https://avatars.githubusercontent.com/u/73494713?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/Dentomologist', 'html_url': 'https://github.com/Dentomologist', 'followers_url': 'https://api.github.com/users/Dentomologist/followers', 'following_url': 'https://api.github.com/users/Dentomologist/following{/other_user}', 'gists_url': 'https://api.github.com/users/Dentomologist/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/Dentomologist/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/Dentomologist/subscriptions', 'organizations_url': 'https://api.github.com/users/Dentomologist/orgs', 'repos_url': 'https://api.github.com/users/Dentomologist/repos', 'events_url': 'https://api.github.com/users/Dentomologist/events{/privacy}', 'received_events_url': 'https://api.github.com/users/Dentomologist/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': 'According to [this](https://developer.android.com/reference/android/hardware/usb/UsbManager#openDevice(android.hardware.usb.UsbDevice)) openDevice can return null if opening the device fails. Is that something we need to check for here?', 'created_at': '2025-06-29T19:28:40Z', 'updated_at': '2025-06-29T21:02:29Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13260#discussion_r2173889391', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/13260', 'author_association': 'MEMBER', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/2173889391'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/13260#discussion_r2173889391'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/13260'}}, 'original_commit_id': '812ed34dc3c4e54dbb7abf3c80c135e782c7f9cd', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/2173889391/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}}, {'id': 2173891302, 'node_id': 'PRRC_kwDOALCn2M6BkvLm', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/2173891302', 'pull_request_review_id': 2969410621, 'diff_hunk': '@@ -109,50 +137,118 @@ public static int output(byte[] rumble)\n   @Keep\n   public static boolean openAdapter()\n   {\n-    HashMap<String, UsbDevice> devices = manager.getDeviceList();\n-    for (Map.Entry<String, UsbDevice> pair : devices.entrySet())\n+    UsbDevice dev;\n+    synchronized (hotplugCallbackLock)\n     {\n-      UsbDevice dev = pair.getValue();\n-      if (dev.getProductId() == 0x0337 && dev.getVendorId() == 0x057e)\n+      dev = adapterDevice;\n+    }\n+\n+    if (dev != null)\n+    {\n+      usbConnection = manager.openDevice(dev);\n+\n+      Log.info("GCAdapter: Number of configurations: " + dev.getConfigurationCount());\n+      Log.info("GCAdapter: Number of interfaces: " + dev.getInterfaceCount());\n+\n+      if (dev.getConfigurationCount() > 0 && dev.getInterfaceCount() > 0)\n       {\n-        if (manager.hasPermission(dev))\n+        UsbConfiguration conf = dev.getConfiguration(0);\n+        usbInterface = conf.getInterface(0);\n+        usbConnection.claimInterface(usbInterface, true);\n+\n+        Log.info("GCAdapter: Number of endpoints: " + usbInterface.getEndpointCount());\n+\n+        if (usbInterface.getEndpointCount() == 2)\n         {\n-          usbConnection = manager.openDevice(dev);\n-\n-          Log.info("GCAdapter: Number of configurations: " + dev.getConfigurationCount());\n-          Log.info("GCAdapter: Number of interfaces: " + dev.getInterfaceCount());\n-\n-          if (dev.getConfigurationCount() > 0 && dev.getInterfaceCount() > 0)\n-          {\n-            UsbConfiguration conf = dev.getConfiguration(0);\n-            usbInterface = conf.getInterface(0);\n-            usbConnection.claimInterface(usbInterface, true);\n-\n-            Log.info("GCAdapter: Number of endpoints: " + usbInterface.getEndpointCount());\n-\n-            if (usbInterface.getEndpointCount() == 2)\n-            {\n-              for (int i = 0; i < usbInterface.getEndpointCount(); ++i)\n-                if (usbInterface.getEndpoint(i).getDirection() == UsbConstants.USB_DIR_IN)\n-                  usbIn = usbInterface.getEndpoint(i);\n-                else\n-                  usbOut = usbInterface.getEndpoint(i);\n-\n-              initAdapter();\n-              return true;\n-            }\n+          for (int i = 0; i < usbInterface.getEndpointCount(); ++i)\n+            if (usbInterface.getEndpoint(i).getDirection() == UsbConstants.USB_DIR_IN)\n+              usbIn = usbInterface.getEndpoint(i);\n             else\n-            {\n-              usbConnection.releaseInterface(usbInterface);\n-            }\n-          }\n-\n-          Toast.makeText(DolphinApplication.getAppContext(), R.string.replug_gc_adapter,\n-                  Toast.LENGTH_LONG).show();\n-          usbConnection.close();\n+              usbOut = usbInterface.getEndpoint(i);\n+\n+          initAdapter();\n+          return true;\n+        }\n+        else\n+        {\n+          usbConnection.releaseInterface(usbInterface);', 'path': 'Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/utils/GCAdapter.java', 'position': 174, 'original_position': 169, 'commit_id': 'b134d7c2b9607a77fe4a8a6beb8264a177351659', 'user': {'login': 'Dentomologist', 'id': 73494713, 'node_id': 'MDQ6VXNlcjczNDk0NzEz', 'avatar_url': 'https://avatars.githubusercontent.com/u/73494713?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/Dentomologist', 'html_url': 'https://github.com/Dentomologist', 'followers_url': 'https://api.github.com/users/Dentomologist/followers', 'following_url': 'https://api.github.com/users/Dentomologist/following{/other_user}', 'gists_url': 'https://api.github.com/users/Dentomologist/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/Dentomologist/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/Dentomologist/subscriptions', 'organizations_url': 'https://api.github.com/users/Dentomologist/orgs', 'repos_url': 'https://api.github.com/users/Dentomologist/repos', 'events_url': 'https://api.github.com/users/Dentomologist/events{/privacy}', 'received_events_url': 'https://api.github.com/users/Dentomologist/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': "If there can be more than one interface and interface 0 can have the wrong number of endpoints, would it make sense to loop over the other interfaces to check if they're valid?", 'created_at': '2025-06-29T19:38:19Z', 'updated_at': '2025-06-29T21:02:29Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13260#discussion_r2173891302', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/13260', 'author_association': 'MEMBER', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/2173891302'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/13260#discussion_r2173891302'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/13260'}}, 'original_commit_id': '812ed34dc3c4e54dbb7abf3c80c135e782c7f9cd', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/2173891302/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}}, {'id': 2173897857, 'node_id': 'PRRC_kwDOALCn2M6BkwyB', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/2173897857', 'pull_request_review_id': 2969410621, 'diff_hunk': '@@ -393,15 +410,22 @@ static void ScanThreadFunc()\n #elif GCADAPTER_USE_ANDROID_IMPLEMENTATION\n   JNIEnv* const env = IDCache::GetEnvForThread();\n \n-  const jmethodID queryadapter_func =\n-      env->GetStaticMethodID(s_adapter_class, "queryAdapter", "()Z");\n+  const jmethodID enable_hotplug_callback_func =\n+      env->GetStaticMethodID(s_adapter_class, "enableHotplugCallback", "()V");\n+  env->CallStaticVoidMethod(s_adapter_class, enable_hotplug_callback_func);\n+\n+  const jmethodID is_usb_device_available_func =\n+      env->GetStaticMethodID(s_adapter_class, "isUsbDeviceAvailable", "()Z");\n \n   while (s_adapter_detect_thread_running.IsSet())\n   {\n     if (!s_detected && UseAdapter() &&\n-        env->CallStaticBooleanMethod(s_adapter_class, queryadapter_func))\n+        env->CallStaticBooleanMethod(s_adapter_class, is_usb_device_available_func))\n+    {\n       Setup();\n-    Common::SleepCurrentThread(1000);\n+    }\n+\n+    s_hotplug_event.Wait();', 'path': 'Source/Core/InputCommon/GCAdapter.cpp', 'position': 130, 'original_position': 58, 'commit_id': 'b134d7c2b9607a77fe4a8a6beb8264a177351659', 'user': {'login': 'Dentomologist', 'id': 73494713, 'node_id': 'MDQ6VXNlcjczNDk0NzEz', 'avatar_url': 'https://avatars.githubusercontent.com/u/73494713?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/Dentomologist', 'html_url': 'https://github.com/Dentomologist', 'followers_url': 'https://api.github.com/users/Dentomologist/followers', 'following_url': 'https://api.github.com/users/Dentomologist/following{/other_user}', 'gists_url': 'https://api.github.com/users/Dentomologist/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/Dentomologist/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/Dentomologist/subscriptions', 'organizations_url': 'https://api.github.com/users/Dentomologist/orgs', 'repos_url': 'https://api.github.com/users/Dentomologist/repos', 'events_url': 'https://api.github.com/users/Dentomologist/events{/privacy}', 'received_events_url': 'https://api.github.com/users/Dentomologist/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': 'In `StopScanThread`, I think the `GCADAPTER_USE_LIBUSB_IMPLEMENTATION` guard needs to be removed so the `Wait` here will end.', 'created_at': '2025-06-29T20:07:32Z', 'updated_at': '2025-06-29T21:02:29Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13260#discussion_r2173897857', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/13260', 'author_association': 'MEMBER', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/2173897857'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/13260#discussion_r2173897857'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/13260'}}, 'original_commit_id': '812ed34dc3c4e54dbb7abf3c80c135e782c7f9cd', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/2173897857/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'}
2025-06-29T21:02:31.486593	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'Dentomologist', 'action': 'edited', 'pr_id': 13260, 'pr_title': 'Android: Detect GCAdapter hotplug using BroadcastReceiver', 'state': 'commented', 'url': 'https://github.com/dolphin-emu/dolphin/pull/13260#pullrequestreview-2969410621', 'comments': [{'id': 2173889391, 'node_id': 'PRRC_kwDOALCn2M6Bkutv', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/2173889391', 'pull_request_review_id': 2969410621, 'diff_hunk': '@@ -109,50 +137,118 @@ public static int output(byte[] rumble)\n   @Keep\n   public static boolean openAdapter()\n   {\n-    HashMap<String, UsbDevice> devices = manager.getDeviceList();\n-    for (Map.Entry<String, UsbDevice> pair : devices.entrySet())\n+    UsbDevice dev;\n+    synchronized (hotplugCallbackLock)\n     {\n-      UsbDevice dev = pair.getValue();\n-      if (dev.getProductId() == 0x0337 && dev.getVendorId() == 0x057e)\n+      dev = adapterDevice;\n+    }\n+\n+    if (dev != null)\n+    {\n+      usbConnection = manager.openDevice(dev);', 'path': 'Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/utils/GCAdapter.java', 'position': 148, 'original_position': 110, 'commit_id': 'b134d7c2b9607a77fe4a8a6beb8264a177351659', 'user': {'login': 'Dentomologist', 'id': 73494713, 'node_id': 'MDQ6VXNlcjczNDk0NzEz', 'avatar_url': 'https://avatars.githubusercontent.com/u/73494713?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/Dentomologist', 'html_url': 'https://github.com/Dentomologist', 'followers_url': 'https://api.github.com/users/Dentomologist/followers', 'following_url': 'https://api.github.com/users/Dentomologist/following{/other_user}', 'gists_url': 'https://api.github.com/users/Dentomologist/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/Dentomologist/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/Dentomologist/subscriptions', 'organizations_url': 'https://api.github.com/users/Dentomologist/orgs', 'repos_url': 'https://api.github.com/users/Dentomologist/repos', 'events_url': 'https://api.github.com/users/Dentomologist/events{/privacy}', 'received_events_url': 'https://api.github.com/users/Dentomologist/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': 'According to [this](https://developer.android.com/reference/android/hardware/usb/UsbManager#openDevice(android.hardware.usb.UsbDevice)) openDevice can return null if opening the device fails. Is that something we need to check for here?', 'created_at': '2025-06-29T19:28:40Z', 'updated_at': '2025-06-29T21:02:29Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13260#discussion_r2173889391', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/13260', 'author_association': 'MEMBER', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/2173889391'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/13260#discussion_r2173889391'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/13260'}}, 'original_commit_id': '812ed34dc3c4e54dbb7abf3c80c135e782c7f9cd', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/2173889391/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}}, {'id': 2173891302, 'node_id': 'PRRC_kwDOALCn2M6BkvLm', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/2173891302', 'pull_request_review_id': 2969410621, 'diff_hunk': '@@ -109,50 +137,118 @@ public static int output(byte[] rumble)\n   @Keep\n   public static boolean openAdapter()\n   {\n-    HashMap<String, UsbDevice> devices = manager.getDeviceList();\n-    for (Map.Entry<String, UsbDevice> pair : devices.entrySet())\n+    UsbDevice dev;\n+    synchronized (hotplugCallbackLock)\n     {\n-      UsbDevice dev = pair.getValue();\n-      if (dev.getProductId() == 0x0337 && dev.getVendorId() == 0x057e)\n+      dev = adapterDevice;\n+    }\n+\n+    if (dev != null)\n+    {\n+      usbConnection = manager.openDevice(dev);\n+\n+      Log.info("GCAdapter: Number of configurations: " + dev.getConfigurationCount());\n+      Log.info("GCAdapter: Number of interfaces: " + dev.getInterfaceCount());\n+\n+      if (dev.getConfigurationCount() > 0 && dev.getInterfaceCount() > 0)\n       {\n-        if (manager.hasPermission(dev))\n+        UsbConfiguration conf = dev.getConfiguration(0);\n+        usbInterface = conf.getInterface(0);\n+        usbConnection.claimInterface(usbInterface, true);\n+\n+        Log.info("GCAdapter: Number of endpoints: " + usbInterface.getEndpointCount());\n+\n+        if (usbInterface.getEndpointCount() == 2)\n         {\n-          usbConnection = manager.openDevice(dev);\n-\n-          Log.info("GCAdapter: Number of configurations: " + dev.getConfigurationCount());\n-          Log.info("GCAdapter: Number of interfaces: " + dev.getInterfaceCount());\n-\n-          if (dev.getConfigurationCount() > 0 && dev.getInterfaceCount() > 0)\n-          {\n-            UsbConfiguration conf = dev.getConfiguration(0);\n-            usbInterface = conf.getInterface(0);\n-            usbConnection.claimInterface(usbInterface, true);\n-\n-            Log.info("GCAdapter: Number of endpoints: " + usbInterface.getEndpointCount());\n-\n-            if (usbInterface.getEndpointCount() == 2)\n-            {\n-              for (int i = 0; i < usbInterface.getEndpointCount(); ++i)\n-                if (usbInterface.getEndpoint(i).getDirection() == UsbConstants.USB_DIR_IN)\n-                  usbIn = usbInterface.getEndpoint(i);\n-                else\n-                  usbOut = usbInterface.getEndpoint(i);\n-\n-              initAdapter();\n-              return true;\n-            }\n+          for (int i = 0; i < usbInterface.getEndpointCount(); ++i)\n+            if (usbInterface.getEndpoint(i).getDirection() == UsbConstants.USB_DIR_IN)\n+              usbIn = usbInterface.getEndpoint(i);\n             else\n-            {\n-              usbConnection.releaseInterface(usbInterface);\n-            }\n-          }\n-\n-          Toast.makeText(DolphinApplication.getAppContext(), R.string.replug_gc_adapter,\n-                  Toast.LENGTH_LONG).show();\n-          usbConnection.close();\n+              usbOut = usbInterface.getEndpoint(i);\n+\n+          initAdapter();\n+          return true;\n+        }\n+        else\n+        {\n+          usbConnection.releaseInterface(usbInterface);', 'path': 'Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/utils/GCAdapter.java', 'position': 174, 'original_position': 169, 'commit_id': 'b134d7c2b9607a77fe4a8a6beb8264a177351659', 'user': {'login': 'Dentomologist', 'id': 73494713, 'node_id': 'MDQ6VXNlcjczNDk0NzEz', 'avatar_url': 'https://avatars.githubusercontent.com/u/73494713?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/Dentomologist', 'html_url': 'https://github.com/Dentomologist', 'followers_url': 'https://api.github.com/users/Dentomologist/followers', 'following_url': 'https://api.github.com/users/Dentomologist/following{/other_user}', 'gists_url': 'https://api.github.com/users/Dentomologist/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/Dentomologist/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/Dentomologist/subscriptions', 'organizations_url': 'https://api.github.com/users/Dentomologist/orgs', 'repos_url': 'https://api.github.com/users/Dentomologist/repos', 'events_url': 'https://api.github.com/users/Dentomologist/events{/privacy}', 'received_events_url': 'https://api.github.com/users/Dentomologist/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': "If there can be more than one interface and interface 0 can have the wrong number of endpoints, would it make sense to loop over the other interfaces to check if they're valid?", 'created_at': '2025-06-29T19:38:19Z', 'updated_at': '2025-06-29T21:02:29Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13260#discussion_r2173891302', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/13260', 'author_association': 'MEMBER', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/2173891302'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/13260#discussion_r2173891302'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/13260'}}, 'original_commit_id': '812ed34dc3c4e54dbb7abf3c80c135e782c7f9cd', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/2173891302/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}}, {'id': 2173897857, 'node_id': 'PRRC_kwDOALCn2M6BkwyB', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/2173897857', 'pull_request_review_id': 2969410621, 'diff_hunk': '@@ -393,15 +410,22 @@ static void ScanThreadFunc()\n #elif GCADAPTER_USE_ANDROID_IMPLEMENTATION\n   JNIEnv* const env = IDCache::GetEnvForThread();\n \n-  const jmethodID queryadapter_func =\n-      env->GetStaticMethodID(s_adapter_class, "queryAdapter", "()Z");\n+  const jmethodID enable_hotplug_callback_func =\n+      env->GetStaticMethodID(s_adapter_class, "enableHotplugCallback", "()V");\n+  env->CallStaticVoidMethod(s_adapter_class, enable_hotplug_callback_func);\n+\n+  const jmethodID is_usb_device_available_func =\n+      env->GetStaticMethodID(s_adapter_class, "isUsbDeviceAvailable", "()Z");\n \n   while (s_adapter_detect_thread_running.IsSet())\n   {\n     if (!s_detected && UseAdapter() &&\n-        env->CallStaticBooleanMethod(s_adapter_class, queryadapter_func))\n+        env->CallStaticBooleanMethod(s_adapter_class, is_usb_device_available_func))\n+    {\n       Setup();\n-    Common::SleepCurrentThread(1000);\n+    }\n+\n+    s_hotplug_event.Wait();', 'path': 'Source/Core/InputCommon/GCAdapter.cpp', 'position': 130, 'original_position': 58, 'commit_id': 'b134d7c2b9607a77fe4a8a6beb8264a177351659', 'user': {'login': 'Dentomologist', 'id': 73494713, 'node_id': 'MDQ6VXNlcjczNDk0NzEz', 'avatar_url': 'https://avatars.githubusercontent.com/u/73494713?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/Dentomologist', 'html_url': 'https://github.com/Dentomologist', 'followers_url': 'https://api.github.com/users/Dentomologist/followers', 'following_url': 'https://api.github.com/users/Dentomologist/following{/other_user}', 'gists_url': 'https://api.github.com/users/Dentomologist/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/Dentomologist/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/Dentomologist/subscriptions', 'organizations_url': 'https://api.github.com/users/Dentomologist/orgs', 'repos_url': 'https://api.github.com/users/Dentomologist/repos', 'events_url': 'https://api.github.com/users/Dentomologist/events{/privacy}', 'received_events_url': 'https://api.github.com/users/Dentomologist/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': 'In `StopScanThread`, I think the `GCADAPTER_USE_LIBUSB_IMPLEMENTATION` guard needs to be removed so the `Wait` here will end.', 'created_at': '2025-06-29T20:07:32Z', 'updated_at': '2025-06-29T21:02:29Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13260#discussion_r2173897857', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/13260', 'author_association': 'MEMBER', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/2173897857'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/13260#discussion_r2173897857'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/13260'}}, 'original_commit_id': '812ed34dc3c4e54dbb7abf3c80c135e782c7f9cd', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/2173897857/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'}
2025-06-28T23:36:59.077984	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'Dentomologist', 'action': 'submitted', 'pr_id': 13772, 'pr_title': 'BTReal: bugfix - BT passthrough uses selected device rather than first compatible device in list', 'state': 'approved', 'url': 'https://github.com/dolphin-emu/dolphin/pull/13772#pullrequestreview-2969037002', 'comments': [], 'type': 'gh_pull_request_review'}
2025-06-28T23:21:21.084649	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'noahpistilli', 'action': 'submitted', 'pr_id': 13782, 'pr_title': 'IOS/KD: Pad Wii Numbers to 16 digits', 'state': 'commented', 'url': 'https://github.com/dolphin-emu/dolphin/pull/13782#pullrequestreview-2969034104', 'comments': [{'id': 2173551195, 'node_id': 'PRRC_kwDOALCn2M6BjcJb', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/2173551195', 'pull_request_review_id': 2969034104, 'diff_hunk': '@@ -126,5 +127,6 @@ class NetKDRequestDevice : public EmulationDevice\n   Common::Event m_shutdown_event;\n   std::mutex m_scheduler_lock;\n   std::thread m_scheduler_timer_thread;\n+  std::shared_ptr<NetNCDManageDevice> m_net_device;', 'path': 'Source/Core/Core/IOS/Network/KD/NetKDRequest.h', 'position': 12, 'original_position': 12, 'commit_id': '0c75a5e33bfb9472c94d91c4b6cbdbfc280764f0', 'user': {'login': 'noahpistilli', 'id': 75850871, 'node_id': 'MDQ6VXNlcjc1ODUwODcx', 'avatar_url': 'https://avatars.githubusercontent.com/u/75850871?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/noahpistilli', 'html_url': 'https://github.com/noahpistilli', 'followers_url': 'https://api.github.com/users/noahpistilli/followers', 'following_url': 'https://api.github.com/users/noahpistilli/following{/other_user}', 'gists_url': 'https://api.github.com/users/noahpistilli/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/noahpistilli/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/noahpistilli/subscriptions', 'organizations_url': 'https://api.github.com/users/noahpistilli/orgs', 'repos_url': 'https://api.github.com/users/noahpistilli/repos', 'events_url': 'https://api.github.com/users/noahpistilli/events{/privacy}', 'received_events_url': 'https://api.github.com/users/noahpistilli/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': "Oops, that's from something else I'm working on.", 'created_at': '2025-06-28T23:21:17Z', 'updated_at': '2025-06-28T23:21:17Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13782#discussion_r2173551195', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/13782', 'author_association': 'MEMBER', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/2173551195'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/13782#discussion_r2173551195'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/13782'}}, 'original_commit_id': '0c75a5e33bfb9472c94d91c4b6cbdbfc280764f0', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/2173551195/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'in_reply_to_id': 2173549927}], 'type': 'gh_pull_request_review'}
2025-06-28T23:17:35.652726	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'AdmiralCurtiss', 'action': 'submitted', 'pr_id': 13782, 'pr_title': 'IOS/KD: Pad Wii Numbers to 16 digits', 'state': 'commented', 'url': 'https://github.com/dolphin-emu/dolphin/pull/13782#pullrequestreview-2969032166', 'comments': [{'id': 2173549927, 'node_id': 'PRRC_kwDOALCn2M6Bjb1n', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/2173549927', 'pull_request_review_id': 2969032166, 'diff_hunk': '@@ -126,5 +127,6 @@ class NetKDRequestDevice : public EmulationDevice\n   Common::Event m_shutdown_event;\n   std::mutex m_scheduler_lock;\n   std::thread m_scheduler_timer_thread;\n+  std::shared_ptr<NetNCDManageDevice> m_net_device;', 'path': 'Source/Core/Core/IOS/Network/KD/NetKDRequest.h', 'position': 12, 'original_position': 12, 'commit_id': '0c75a5e33bfb9472c94d91c4b6cbdbfc280764f0', 'user': {'login': 'AdmiralCurtiss', 'id': 4522237, 'node_id': 'MDQ6VXNlcjQ1MjIyMzc=', 'avatar_url': 'https://avatars.githubusercontent.com/u/4522237?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/AdmiralCurtiss', 'html_url': 'https://github.com/AdmiralCurtiss', 'followers_url': 'https://api.github.com/users/AdmiralCurtiss/followers', 'following_url': 'https://api.github.com/users/AdmiralCurtiss/following{/other_user}', 'gists_url': 'https://api.github.com/users/AdmiralCurtiss/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/AdmiralCurtiss/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/AdmiralCurtiss/subscriptions', 'organizations_url': 'https://api.github.com/users/AdmiralCurtiss/orgs', 'repos_url': 'https://api.github.com/users/AdmiralCurtiss/repos', 'events_url': 'https://api.github.com/users/AdmiralCurtiss/events{/privacy}', 'received_events_url': 'https://api.github.com/users/AdmiralCurtiss/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': 'This seems unrelated?', 'created_at': '2025-06-28T23:17:33Z', 'updated_at': '2025-06-28T23:17:34Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13782#discussion_r2173549927', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/13782', 'author_association': 'MEMBER', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/2173549927'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/13782#discussion_r2173549927'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/13782'}}, 'original_commit_id': '0c75a5e33bfb9472c94d91c4b6cbdbfc280764f0', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/2173549927/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'}
2025-06-28T21:20:11.602400	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'submitted', 'pr_id': 13781, 'pr_title': 'ControllerInterface: Fix Windows deadlock', 'state': 'approved', 'url': 'https://github.com/dolphin-emu/dolphin/pull/13781#pullrequestreview-2968995949', 'comments': [], 'type': 'gh_pull_request_review'}
2025-06-28T21:10:53.536897	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'iwubcode', 'action': 'submitted', 'pr_id': 13780, 'pr_title': 'VideoCommon: Fix "Force Nearest" texture filter setting.', 'state': 'approved', 'url': 'https://github.com/dolphin-emu/dolphin/pull/13780#pullrequestreview-2968994225', 'comments': [], 'type': 'gh_pull_request_review'}
2025-06-28T12:50:05.919919	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'Tilka', 'action': 'submitted', 'pr_id': 13773, 'pr_title': 'i18n: Add comments', 'state': 'approved', 'url': 'https://github.com/dolphin-emu/dolphin/pull/13773#pullrequestreview-2968535936', 'comments': [], 'type': 'gh_pull_request_review'}
2025-06-28T01:44:27.945279	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'submitted', 'pr_id': 13778, 'pr_title': 'GameINI: Disable Dual Core for Rally Championship', 'state': 'approved', 'url': 'https://github.com/dolphin-emu/dolphin/pull/13778#pullrequestreview-2968308138', 'comments': [], 'type': 'gh_pull_request_review'}
2025-06-26T23:53:19.318351	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'Dentomologist', 'action': 'submitted', 'pr_id': 13409, 'pr_title': 'DolphinAnalytics: Use Config::Get instead of accessing g_Config.', 'state': 'commented', 'url': 'https://github.com/dolphin-emu/dolphin/pull/13409#pullrequestreview-2963638464', 'comments': [{'id': 2170002805, 'node_id': 'PRRC_kwDOALCn2M6BV511', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/2170002805', 'pull_request_review_id': 2963638464, 'diff_hunk': '@@ -10,6 +10,7 @@\n #include <vector>\n \n #include <fmt/format.h>\n+#include "Core/Config/GraphicsSettings.h"', 'path': 'Source/Core/Core/DolphinAnalytics.cpp', 'position': 4, 'original_position': 4, 'commit_id': '1ba209879b50eec604e1475e2571a6fd38d45d34', 'user': {'login': 'Dentomologist', 'id': 73494713, 'node_id': 'MDQ6VXNlcjczNDk0NzEz', 'avatar_url': 'https://avatars.githubusercontent.com/u/73494713?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/Dentomologist', 'html_url': 'https://github.com/Dentomologist', 'followers_url': 'https://api.github.com/users/Dentomologist/followers', 'following_url': 'https://api.github.com/users/Dentomologist/following{/other_user}', 'gists_url': 'https://api.github.com/users/Dentomologist/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/Dentomologist/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/Dentomologist/subscriptions', 'organizations_url': 'https://api.github.com/users/Dentomologist/orgs', 'repos_url': 'https://api.github.com/users/Dentomologist/repos', 'events_url': 'https://api.github.com/users/Dentomologist/events{/privacy}', 'received_events_url': 'https://api.github.com/users/Dentomologist/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': 'This should be with the other `Core` includes.', 'created_at': '2025-06-26T20:59:43Z', 'updated_at': '2025-06-26T23:53:17Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13409#discussion_r2170002805', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/13409', 'author_association': 'MEMBER', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/2170002805'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/13409#discussion_r2170002805'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/13409'}}, 'original_commit_id': '1ba209879b50eec604e1475e2571a6fd38d45d34', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/2170002805/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'}
2025-06-26T23:53:18.847404	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'Dentomologist', 'action': 'edited', 'pr_id': 13409, 'pr_title': 'DolphinAnalytics: Use Config::Get instead of accessing g_Config.', 'state': 'commented', 'url': 'https://github.com/dolphin-emu/dolphin/pull/13409#pullrequestreview-2963638464', 'comments': [{'id': 2170002805, 'node_id': 'PRRC_kwDOALCn2M6BV511', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/2170002805', 'pull_request_review_id': 2963638464, 'diff_hunk': '@@ -10,6 +10,7 @@\n #include <vector>\n \n #include <fmt/format.h>\n+#include "Core/Config/GraphicsSettings.h"', 'path': 'Source/Core/Core/DolphinAnalytics.cpp', 'position': 4, 'original_position': 4, 'commit_id': '1ba209879b50eec604e1475e2571a6fd38d45d34', 'user': {'login': 'Dentomologist', 'id': 73494713, 'node_id': 'MDQ6VXNlcjczNDk0NzEz', 'avatar_url': 'https://avatars.githubusercontent.com/u/73494713?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/Dentomologist', 'html_url': 'https://github.com/Dentomologist', 'followers_url': 'https://api.github.com/users/Dentomologist/followers', 'following_url': 'https://api.github.com/users/Dentomologist/following{/other_user}', 'gists_url': 'https://api.github.com/users/Dentomologist/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/Dentomologist/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/Dentomologist/subscriptions', 'organizations_url': 'https://api.github.com/users/Dentomologist/orgs', 'repos_url': 'https://api.github.com/users/Dentomologist/repos', 'events_url': 'https://api.github.com/users/Dentomologist/events{/privacy}', 'received_events_url': 'https://api.github.com/users/Dentomologist/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': 'This should be with the other `Core` includes.', 'created_at': '2025-06-26T20:59:43Z', 'updated_at': '2025-06-26T23:53:17Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13409#discussion_r2170002805', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/13409', 'author_association': 'MEMBER', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/2170002805'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/13409#discussion_r2170002805'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/13409'}}, 'original_commit_id': '1ba209879b50eec604e1475e2571a6fd38d45d34', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/2170002805/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'}
2025-06-26T19:24:02.604646	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'Dentomologist', 'action': 'submitted', 'pr_id': 13446, 'pr_title': 'PowerPC: Add RAII handling for breakpoint updates', 'state': 'approved', 'url': 'https://github.com/dolphin-emu/dolphin/pull/13446#pullrequestreview-2963307253', 'comments': [], 'type': 'gh_pull_request_review'}
2025-06-26T07:35:17.339053	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'sepalani', 'action': 'submitted', 'pr_id': 13750, 'pr_title': 'PPCSymbols: Restructure loading on boot and add a mutex to prevent crashes.', 'state': 'approved', 'url': 'https://github.com/dolphin-emu/dolphin/pull/13750#pullrequestreview-2961050499', 'comments': [], 'type': 'gh_pull_request_review'}

Recent 'gh_push' events

2025-07-03T06:31:03.414752	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'pusher': 'jordan-woyak', 'before_sha': 'b03a7821f2d1dccf0f33045541b006d1d4a67fac', 'after_sha': 'a5e85caf0af66fec07b476718a69519b06e6a69f', 'commits': [{'author': {'name': 'Jordan Woyak', 'email': 'jordan.woyak@gmail.com', 'username': 'jordan-woyak'}, 'distinct': False, 'added': ['Source/Core/DolphinQt/Config/Graphics/GraphicsPane.cpp', 'Source/Core/DolphinQt/Config/Graphics/GraphicsPane.h'], 'modified': ['Source/Core/DolphinQt/CMakeLists.txt', 'Source/Core/DolphinQt/Config/GameConfigWidget.cpp', 'Source/Core/DolphinQt/Config/Graphics/AdvancedWidget.cpp', 'Source/Core/DolphinQt/Config/Graphics/AdvancedWidget.h', 'Source/Core/DolphinQt/Config/Graphics/EnhancementsWidget.cpp', 'Source/Core/DolphinQt/Config/Graphics/EnhancementsWidget.h', 'Source/Core/DolphinQt/Config/Graphics/GeneralWidget.cpp', 'Source/Core/DolphinQt/Config/Graphics/GeneralWidget.h', 'Source/Core/DolphinQt/Config/Graphics/HacksWidget.cpp', 'Source/Core/DolphinQt/Config/Graphics/HacksWidget.h', 'Source/Core/DolphinQt/Config/SettingsWindow.cpp', 'Source/Core/DolphinQt/Config/SettingsWindow.h', 'Source/Core/DolphinQt/DolphinQt.vcxproj', 'Source/Core/DolphinQt/MainWindow.cpp', 'Source/Core/DolphinQt/MainWindow.h'], 'removed': ['Source/Core/DolphinQt/Config/Graphics/GraphicsWindow.cpp', 'Source/Core/DolphinQt/Config/Graphics/GraphicsWindow.h'], 'message': 'DolphinQt: Move graphics config to main Settings window.', 'url': 'https://github.com/dolphin-emu/dolphin/commit/89b8edea03bb77629de663c82b6dc070e3ca0442', 'hash': '89b8edea03bb77629de663c82b6dc070e3ca0442'}, {'author': {'name': 'Jordan Woyak', 'email': 'jordan.woyak@gmail.com', 'username': 'jordan-woyak'}, 'distinct': False, 'added': [], 'modified': ['Source/Core/DolphinQt/Config/ControllersPane.cpp'], 'removed': [], 'message': 'DolphinQt: Fix ControllersPane group box spacing.', 'url': 'https://github.com/dolphin-emu/dolphin/commit/344080b7a9101dcb4785076b067d00f5e99600b8', 'hash': '344080b7a9101dcb4785076b067d00f5e99600b8'}, {'author': {'name': 'Jordan Woyak', 'email': 'jordan.woyak@gmail.com', 'username': 'jordan-woyak'}, 'distinct': True, 'added': ['Source/Core/DolphinQt/Config/Graphics/GraphicsPane.cpp', 'Source/Core/DolphinQt/Config/Graphics/GraphicsPane.h'], 'modified': ['Source/Core/DolphinQt/CMakeLists.txt', 'Source/Core/DolphinQt/Config/ControllersPane.cpp', 'Source/Core/DolphinQt/Config/GameConfigWidget.cpp', 'Source/Core/DolphinQt/Config/Graphics/AdvancedWidget.cpp', 'Source/Core/DolphinQt/Config/Graphics/AdvancedWidget.h', 'Source/Core/DolphinQt/Config/Graphics/EnhancementsWidget.cpp', 'Source/Core/DolphinQt/Config/Graphics/EnhancementsWidget.h', 'Source/Core/DolphinQt/Config/Graphics/GeneralWidget.cpp', 'Source/Core/DolphinQt/Config/Graphics/GeneralWidget.h', 'Source/Core/DolphinQt/Config/Graphics/HacksWidget.cpp', 'Source/Core/DolphinQt/Config/Graphics/HacksWidget.h', 'Source/Core/DolphinQt/Config/SettingsWindow.cpp', 'Source/Core/DolphinQt/Config/SettingsWindow.h', 'Source/Core/DolphinQt/DolphinQt.vcxproj', 'Source/Core/DolphinQt/MainWindow.cpp', 'Source/Core/DolphinQt/MainWindow.h'], 'removed': ['Source/Core/DolphinQt/Config/Graphics/GraphicsWindow.cpp', 'Source/Core/DolphinQt/Config/Graphics/GraphicsWindow.h'], 'message': 'Merge pull request #13736 from jordan-woyak/main-config-gfx\n\nDolphinQt: Move graphics config to main Settings window.', 'url': 'https://github.com/dolphin-emu/dolphin/commit/a5e85caf0af66fec07b476718a69519b06e6a69f', 'hash': 'a5e85caf0af66fec07b476718a69519b06e6a69f'}], 'base_ref_name': None, 'ref_name': 'master', 'ref_type': 'heads', 'created': False, 'deleted': False, 'forced': False, 'type': 'gh_push'}
2025-07-01T21:09:09.854920	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'pusher': 'AdmiralCurtiss', 'before_sha': 'a84fa387de6e812578b98d9cfbbcd0b7644640d1', 'after_sha': 'b03a7821f2d1dccf0f33045541b006d1d4a67fac', 'commits': [{'author': {'name': 'Matheus Willder', 'email': '46294160+matheuswillder@users.noreply.github.com', 'username': 'matheuswillder'}, 'distinct': False, 'added': ['Data/Sys/GameSettings/GRA.ini'], 'modified': [], 'removed': [], 'message': "GameINI: Disable Dual Core for Rally Championship\n\nWhen selecting cars, this game crashes with GFX FIFO: Unknown Opcode. This is solved by disabling Dual Core, as the error message suggests.\r\n\r\nThere is no information about this on the Wiki, just a link to a gameplay on YouTube.\r\n\r\nThis is my first PR here and one of the first ones on GitHub. Due to personal issues I don't have much free time to dedicate to this, but I'm doing my best to get everything right.", 'url': 'https://github.com/dolphin-emu/dolphin/commit/48a209d76e805bb40db51ad6f204884ae0f2461f', 'hash': '48a209d76e805bb40db51ad6f204884ae0f2461f'}, {'author': {'name': 'Admiral H. Curtiss', 'email': 'pikachu025@gmail.com', 'username': 'AdmiralCurtiss'}, 'distinct': True, 'added': ['Data/Sys/GameSettings/GRA.ini'], 'modified': [], 'removed': [], 'message': 'Merge pull request #13778 from matheuswillder/GameINI-Disable-Dual-Core-for-Rally-Championship\n\nGameINI: Disable Dual Core for Rally Championship', 'url': 'https://github.com/dolphin-emu/dolphin/commit/b03a7821f2d1dccf0f33045541b006d1d4a67fac', 'hash': 'b03a7821f2d1dccf0f33045541b006d1d4a67fac'}], 'base_ref_name': None, 'ref_name': 'master', 'ref_type': 'heads', 'created': False, 'deleted': False, 'forced': False, 'type': 'gh_push'}
2025-07-01T20:54:39.566412	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'pusher': 'AdmiralCurtiss', 'before_sha': '74eeeebfdee44f6921afdc3014d27c928b5737e1', 'after_sha': 'a84fa387de6e812578b98d9cfbbcd0b7644640d1', 'commits': [{'author': {'name': 'Dentomologist', 'email': 'dentomologist@gmail.com', 'username': 'Dentomologist'}, 'distinct': False, 'added': [], 'modified': ['Source/Core/DolphinQt/Debugger/MemoryWidget.cpp'], 'removed': [], 'message': 'MemoryWidget: Allow 0x prefix when Hex box is checked.\n\nFix validation failing when the user has checked the Hex box and also\nincludes a "0x" or "-0x" prefix in their input.\n\nPreviously an extra "0x" would be inserted, causing the user\'s input of\n"0x13" to become "0x0x13" which would then fail to validate.', 'url': 'https://github.com/dolphin-emu/dolphin/commit/8f4a0b0e77514bb331dcc3fd97b64064053324f2', 'hash': '8f4a0b0e77514bb331dcc3fd97b64064053324f2'}, {'author': {'name': 'Dentomologist', 'email': 'dentomologist@gmail.com', 'username': 'Dentomologist'}, 'distinct': False, 'added': [], 'modified': ['Source/Core/DolphinQt/Debugger/MemoryWidget.cpp'], 'removed': [], 'message': 'MemoryWidget: Fix "Hex Byte String" validation failures\n\nFix the input string failing to validate when the "Hex Byte\nString" input type is selected and either the user adds a 0x prefix or\nthe "Hex" box is checked (or both).\n\nThe latter failure was particularly troublesome because when "Hex Byte\nString" is selected the "Hex" checkbox is disabled. Users would have to\nswitch to a data type that enabled the box, toggle it, then switch back\nto "Hex Byte String" to fix it.\n\nFix these errors by not adding a prefix when the "Hex" box is checked,\nand removing the "0x" prefix from the user\'s input if present.', 'url': 'https://github.com/dolphin-emu/dolphin/commit/0093ed1ac895b82279d7aa9422e7f2a94d192a21', 'hash': '0093ed1ac895b82279d7aa9422e7f2a94d192a21'}, {'author': {'name': 'Admiral H. Curtiss', 'email': 'pikachu025@gmail.com', 'username': 'AdmiralCurtiss'}, 'distinct': True, 'added': [], 'modified': ['Source/Core/DolphinQt/Debugger/MemoryWidget.cpp'], 'removed': [], 'message': 'Merge pull request #13785 from Dentomologist/memorywidget_fix_hex_input_validation_errors\n\nMemoryWidget: Fix hex input validation errors', 'url': 'https://github.com/dolphin-emu/dolphin/commit/a84fa387de6e812578b98d9cfbbcd0b7644640d1', 'hash': 'a84fa387de6e812578b98d9cfbbcd0b7644640d1'}], 'base_ref_name': None, 'ref_name': 'master', 'ref_type': 'heads', 'created': False, 'deleted': False, 'forced': False, 'type': 'gh_push'}
2025-07-01T20:51:32.411955	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'pusher': 'AdmiralCurtiss', 'before_sha': '2871fe08c97ac2153f3c7e29ebe72d3e32af61be', 'after_sha': '74eeeebfdee44f6921afdc3014d27c928b5737e1', 'commits': [{'author': {'name': 'Jordan Woyak', 'email': 'jordan.woyak@gmail.com', 'username': 'jordan-woyak'}, 'distinct': False, 'added': [], 'modified': ['Source/Core/DolphinQt/Config/Graphics/PostProcessingConfigWindow.cpp'], 'removed': [], 'message': 'DolphinQt: Adjust PostProcessingConfigWindow size on creation.', 'url': 'https://github.com/dolphin-emu/dolphin/commit/4126b4e9043b855008a05cb2805255be52e35d4b', 'hash': '4126b4e9043b855008a05cb2805255be52e35d4b'}, {'author': {'name': 'Admiral H. Curtiss', 'email': 'pikachu025@gmail.com', 'username': 'AdmiralCurtiss'}, 'distinct': True, 'added': [], 'modified': ['Source/Core/DolphinQt/Config/Graphics/PostProcessingConfigWindow.cpp'], 'removed': [], 'message': 'Merge pull request #13788 from jordan-woyak/post-proc-config-window-adjust-size\n\nDolphinQt: Adjust PostProcessingConfigWindow size on creation.', 'url': 'https://github.com/dolphin-emu/dolphin/commit/74eeeebfdee44f6921afdc3014d27c928b5737e1', 'hash': '74eeeebfdee44f6921afdc3014d27c928b5737e1'}], 'base_ref_name': None, 'ref_name': 'master', 'ref_type': 'heads', 'created': False, 'deleted': False, 'forced': False, 'type': 'gh_push'}
2025-07-01T18:52:43.349703	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'pusher': 'JMC47', 'before_sha': '9a0d4501f8e41f186068ecbc52408d5281223760', 'after_sha': '2871fe08c97ac2153f3c7e29ebe72d3e32af61be', 'commits': [{'author': {'name': 'Noah Pistilli', 'email': 'noah@wiilink.ca', 'username': 'noahpistilli'}, 'distinct': False, 'added': [], 'modified': ['Source/Core/Core/IOS/Network/KD/NetKDRequest.cpp'], 'removed': [], 'message': 'IOS/KD: Pad Wii Numbers to 16 digits', 'url': 'https://github.com/dolphin-emu/dolphin/commit/f8e22f448dd3351fb0eab4dca174cca6014cb903', 'hash': 'f8e22f448dd3351fb0eab4dca174cca6014cb903'}, {'author': {'name': 'JMC47', 'email': 'JMC4789@gmail.com', 'username': 'JMC47'}, 'distinct': True, 'added': [], 'modified': ['Source/Core/Core/IOS/Network/KD/NetKDRequest.cpp'], 'removed': [], 'message': 'Merge pull request #13782 from noahpistilli/wii_no_pad\n\nIOS/KD: Pad Wii Numbers to 16 digits', 'url': 'https://github.com/dolphin-emu/dolphin/commit/2871fe08c97ac2153f3c7e29ebe72d3e32af61be', 'hash': '2871fe08c97ac2153f3c7e29ebe72d3e32af61be'}], 'base_ref_name': None, 'ref_name': 'master', 'ref_type': 'heads', 'created': False, 'deleted': False, 'forced': False, 'type': 'gh_push'}
2025-06-29T22:00:04.691727	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'pusher': 'JMC47', 'before_sha': '626315d50a53b1ca5e1f6ec52a1d3ce7012411f4', 'after_sha': '9a0d4501f8e41f186068ecbc52408d5281223760', 'commits': [{'author': {'name': 'Jordan Woyak', 'email': 'jordan.woyak@gmail.com', 'username': 'jordan-woyak'}, 'distinct': False, 'added': [], 'modified': ['Source/Core/Core/IOS/USB/Bluetooth/BTBase.h', 'Source/Core/Core/IOS/USB/Bluetooth/BTEmu.cpp'], 'removed': [], 'message': 'IOS: Move DoStateForMessage from BTEmu to BTBase.', 'url': 'https://github.com/dolphin-emu/dolphin/commit/541dbdfead2a4a6cb08d1436fec1094b1a198276', 'hash': '541dbdfead2a4a6cb08d1436fec1094b1a198276'}, {'author': {'name': 'Jordan Woyak', 'email': 'jordan.woyak@gmail.com', 'username': 'jordan-woyak'}, 'distinct': False, 'added': ['Source/Core/Core/IOS/USB/Bluetooth/LibUSBBluetoothAdapter.cpp', 'Source/Core/Core/IOS/USB/Bluetooth/LibUSBBluetoothAdapter.h'], 'modified': ['Source/Core/Core/CMakeLists.txt', 'Source/Core/Core/IOS/USB/Bluetooth/BTReal.cpp', 'Source/Core/Core/IOS/USB/Bluetooth/BTReal.h', 'Source/Core/DolphinLib.props', 'Source/Core/DolphinQt/Config/WiimoteControllersWidget.cpp', 'Source/Core/DolphinQt/Config/WiimoteControllersWidget.h'], 'removed': [], 'message': 'BTReal: Improvements:\nSeparate LibUSB logic into LibUSBBluetoothAdapter class.\nSubmit transfers on thread with proper timing.\nThrottle before ACL input for reduced input latency.\nImmediately send IPC replies for outgoing data.\nContinuously submit libusb transfers to fill HCI/ACL input queues.\nSimplify endpoint handling and state saving.\nOther cleanups.', 'url': 'https://github.com/dolphin-emu/dolphin/commit/350ec54779f9f52312f6bdd358fc63bd1d716786', 'hash': '350ec54779f9f52312f6bdd358fc63bd1d716786'}, {'author': {'name': 'Jordan Woyak', 'email': 'jordan.woyak@gmail.com', 'username': 'jordan-woyak'}, 'distinct': False, 'added': [], 'modified': ['Source/Core/Core/IOS/USB/Bluetooth/BTReal.cpp'], 'removed': [], 'message': 'BTReal: Attempt to configure HCI_SERVICE_TYPE_GUARANTEED on all connections for improved performance with certain adapters.', 'url': 'https://github.com/dolphin-emu/dolphin/commit/0e25979449e0386c485e0997c5315d7edb84c991', 'hash': '0e25979449e0386c485e0997c5315d7edb84c991'}, {'author': {'name': 'Jordan Woyak', 'email': 'jordan.woyak@gmail.com', 'username': 'jordan-woyak'}, 'distinct': False, 'added': [], 'modified': ['Source/Core/Core/State.cpp'], 'removed': [], 'message': 'State: Increase STATE_VERSION.', 'url': 'https://github.com/dolphin-emu/dolphin/commit/25583658d2d2d60ecf37f69b72a6d4e381561e9a', 'hash': '25583658d2d2d60ecf37f69b72a6d4e381561e9a'}, {'author': {'name': 'Jordan Woyak', 'email': 'jordan.woyak@gmail.com', 'username': 'jordan-woyak'}, 'distinct': False, 'added': [], 'modified': ['Source/Core/Core/IOS/USB/Bluetooth/LibUSBBluetoothAdapter.cpp'], 'removed': [], 'message': 'LibUSBBluetoothAdapter: Change the request type of our generated HCI commands from LIBUSB_RECIPIENT_INTERFACE to LIBUSB_RECIPIENT_DEVICE.\nThis changes the value from 0x21 to 0x20 which now matches the value that Wii software generates.', 'url': 'https://github.com/dolphin-emu/dolphin/commit/7fe4a6e4f374a1b109e6cf97a7c289e7b828931d', 'hash': '7fe4a6e4f374a1b109e6cf97a7c289e7b828931d'}, {'author': {'name': 'Jordan Woyak', 'email': 'jordan.woyak@gmail.com', 'username': 'jordan-woyak'}, 'distinct': False, 'added': [], 'modified': ['Source/Core/Core/IOS/USB/Bluetooth/BTReal.cpp'], 'removed': [], 'message': "BTReal: Don't falsely increase a controller's ACL packet number buffer size. WARN_LOG if the size is smaller than that of the original BT module.", 'url': 'https://github.com/dolphin-emu/dolphin/commit/936887838a9439ef96b1864aa13c529b839df6f4', 'hash': '936887838a9439ef96b1864aa13c529b839df6f4'}, {'author': {'name': 'JMC47', 'email': 'JMC4789@gmail.com', 'username': 'JMC47'}, 'distinct': True, 'added': ['Source/Core/Core/IOS/USB/Bluetooth/LibUSBBluetoothAdapter.cpp', 'Source/Core/Core/IOS/USB/Bluetooth/LibUSBBluetoothAdapter.h'], 'modified': ['Source/Core/Core/CMakeLists.txt', 'Source/Core/Core/IOS/USB/Bluetooth/BTBase.h', 'Source/Core/Core/IOS/USB/Bluetooth/BTEmu.cpp', 'Source/Core/Core/IOS/USB/Bluetooth/BTReal.cpp', 'Source/Core/Core/IOS/USB/Bluetooth/BTReal.h', 'Source/Core/Core/State.cpp', 'Source/Core/DolphinLib.props', 'Source/Core/DolphinQt/Config/WiimoteControllersWidget.cpp', 'Source/Core/DolphinQt/Config/WiimoteControllersWidget.h'], 'removed': [], 'message': 'Merge pull request #13751 from jordan-woyak/btreal-improvements\n\nBluetooth Passthrough Improvements', 'url': 'https://github.com/dolphin-emu/dolphin/commit/9a0d4501f8e41f186068ecbc52408d5281223760', 'hash': '9a0d4501f8e41f186068ecbc52408d5281223760'}], 'base_ref_name': None, 'ref_name': 'master', 'ref_type': 'heads', 'created': False, 'deleted': False, 'forced': False, 'type': 'gh_push'}
2025-06-29T19:44:54.010790	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'pusher': 'JMC47', 'before_sha': 'b3e349b4df59b6dda9bbbb457d9366c0104c5731', 'after_sha': '626315d50a53b1ca5e1f6ec52a1d3ce7012411f4', 'commits': [{'author': {'name': 'TryTwo', 'email': 'taolas@gmail.com', 'username': 'TryTwo'}, 'distinct': False, 'added': [], 'modified': ['Source/Core/Core/Boot/Boot.cpp', 'Source/Core/Core/Boot/Boot.h', 'Source/Core/Core/PowerPC/PPCSymbolDB.cpp', 'Source/Core/Core/PowerPC/PPCSymbolDB.h', 'Source/Core/DolphinQt/MenuBar.cpp'], 'removed': [], 'message': "PPCSymbolDB: Move function for finding file path to PPCSymbolDB, so MenuBar doesn't have to randomly access boot.cpp to get the file path.", 'url': 'https://github.com/dolphin-emu/dolphin/commit/5836ca133c49573f308062c8e40af9216240f502', 'hash': '5836ca133c49573f308062c8e40af9216240f502'}, {'author': {'name': 'TryTwo', 'email': 'taolas@gmail.com', 'username': 'TryTwo'}, 'distinct': False, 'added': [], 'modified': ['Source/Core/Common/SymbolDB.cpp', 'Source/Core/Common/SymbolDB.h', 'Source/Core/Core/Boot/Boot.cpp', 'Source/Core/Core/Boot/Boot.h', 'Source/Core/Core/ConfigManager.cpp', 'Source/Core/Core/IOS/MIOS.cpp', 'Source/Core/Core/PowerPC/PPCSymbolDB.cpp', 'Source/Core/Core/PowerPC/PPCSymbolDB.h'], 'removed': [], 'message': 'PPCSymbolDB: Move loading map on boot logic from boot.cpp into PPCSymbolDB, as it will be needing a mutex.\n\nCleanup loading code and reduce amount of signals.\n\nOn boot. allow previously loaded map to be kept, if its filename matches. Useful for restarting a game with a large symbol map.', 'url': 'https://github.com/dolphin-emu/dolphin/commit/fe121e4c6eafac094019c727a8162f2488e61019', 'hash': 'fe121e4c6eafac094019c727a8162f2488e61019'}, {'author': {'name': 'TryTwo', 'email': 'taolas@gmail.com', 'username': 'TryTwo'}, 'distinct': False, 'added': [], 'modified': ['Source/Core/Core/Boot/Boot.h', 'Source/Core/Core/PowerPC/PPCSymbolDB.cpp', 'Source/Core/Core/PowerPC/PPCSymbolDB.h'], 'removed': [], 'message': 'PPCSymbolDB: Add a mutex to prevent m_functions from being accessed by two different threads on boot.\n\nOn boot should be the only time this happens.', 'url': 'https://github.com/dolphin-emu/dolphin/commit/93952381599a791710b21fb3d29d64d05cc635f3', 'hash': '93952381599a791710b21fb3d29d64d05cc635f3'}, {'author': {'name': 'JMC47', 'email': 'JMC4789@gmail.com', 'username': 'JMC47'}, 'distinct': True, 'added': [], 'modified': ['Source/Core/Common/SymbolDB.cpp', 'Source/Core/Common/SymbolDB.h', 'Source/Core/Core/Boot/Boot.cpp', 'Source/Core/Core/Boot/Boot.h', 'Source/Core/Core/ConfigManager.cpp', 'Source/Core/Core/IOS/MIOS.cpp', 'Source/Core/Core/PowerPC/PPCSymbolDB.cpp', 'Source/Core/Core/PowerPC/PPCSymbolDB.h', 'Source/Core/DolphinQt/MenuBar.cpp'], 'removed': [], 'message': 'Merge pull request #13750 from TryTwo/PR_Symbol_Loading\n\nPPCSymbols: Restructure loading on boot and add a mutex to prevent crashes.', 'url': 'https://github.com/dolphin-emu/dolphin/commit/626315d50a53b1ca5e1f6ec52a1d3ce7012411f4', 'hash': '626315d50a53b1ca5e1f6ec52a1d3ce7012411f4'}], 'base_ref_name': None, 'ref_name': 'master', 'ref_type': 'heads', 'created': False, 'deleted': False, 'forced': False, 'type': 'gh_push'}
2025-06-28T23:45:07.186052	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'pusher': 'jordan-woyak', 'before_sha': '8d7bb0a44af8d1cbd61586e4dfeae8e4b2415856', 'after_sha': 'b3e349b4df59b6dda9bbbb457d9366c0104c5731', 'commits': [{'author': {'name': 'Shawn Rast', 'email': 'shawn@rast.dev', 'username': 'rastshawn'}, 'distinct': False, 'added': [], 'modified': ['Source/Core/Core/IOS/USB/Bluetooth/BTReal.cpp', 'Source/Core/Core/IOS/USB/Bluetooth/BTReal.h'], 'removed': [], 'message': 'BT passthrough uses selected device rather than first alphabetical compatible device', 'url': 'https://github.com/dolphin-emu/dolphin/commit/71fa08813a25d152ffe7bfe0e82b3330dad3a23f', 'hash': '71fa08813a25d152ffe7bfe0e82b3330dad3a23f'}, {'author': {'name': 'Jordan Woyak', 'email': 'jordan.woyak@gmail.com', 'username': 'jordan-woyak'}, 'distinct': True, 'added': [], 'modified': ['Source/Core/Core/IOS/USB/Bluetooth/BTReal.cpp', 'Source/Core/Core/IOS/USB/Bluetooth/BTReal.h'], 'removed': [], 'message': 'Merge pull request #13772 from rastshawn/use-btdevice-selection\n\nBTReal: bugfix - BT passthrough uses selected device rather than first compatible device in list', 'url': 'https://github.com/dolphin-emu/dolphin/commit/b3e349b4df59b6dda9bbbb457d9366c0104c5731', 'hash': 'b3e349b4df59b6dda9bbbb457d9366c0104c5731'}], 'base_ref_name': None, 'ref_name': 'master', 'ref_type': 'heads', 'created': False, 'deleted': False, 'forced': False, 'type': 'gh_push'}
2025-06-28T20:46:26.176867	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'pusher': 'JosJuice', 'before_sha': '3a320137404f03b0fc0636748f36acd21b9886ca', 'after_sha': '8d7bb0a44af8d1cbd61586e4dfeae8e4b2415856', 'commits': [{'author': {'name': 'JosJuice', 'email': 'josjuice@gmail.com', 'username': 'JosJuice'}, 'distinct': True, 'added': [], 'modified': ['Languages/po/ar.po', 'Languages/po/ca.po', 'Languages/po/cs.po', 'Languages/po/da.po', 'Languages/po/de.po', 'Languages/po/dolphin-emu.pot', 'Languages/po/el.po', 'Languages/po/en.po', 'Languages/po/es.po', 'Languages/po/fa.po', 'Languages/po/fi.po', 'Languages/po/fr.po', 'Languages/po/hr.po', 'Languages/po/hu.po', 'Languages/po/it.po', 'Languages/po/ja.po', 'Languages/po/ko.po', 'Languages/po/ms.po', 'Languages/po/nb.po', 'Languages/po/nl.po', 'Languages/po/pl.po', 'Languages/po/pt.po', 'Languages/po/pt_BR.po', 'Languages/po/ro.po', 'Languages/po/ru.po', 'Languages/po/sr.po', 'Languages/po/sv.po', 'Languages/po/tr.po', 'Languages/po/zh_CN.po', 'Languages/po/zh_TW.po'], 'removed': [], 'message': 'Translation resources sync with Transifex', 'url': 'https://github.com/dolphin-emu/dolphin/commit/8d7bb0a44af8d1cbd61586e4dfeae8e4b2415856', 'hash': '8d7bb0a44af8d1cbd61586e4dfeae8e4b2415856'}], 'base_ref_name': None, 'ref_name': 'master', 'ref_type': 'heads', 'created': False, 'deleted': False, 'forced': False, 'type': 'gh_push'}
2025-06-28T20:13:06.076263	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'pusher': 'jordan-woyak', 'before_sha': '43aa7e9b9658d3c1508512b6b0caef7737ed6683', 'after_sha': '3a320137404f03b0fc0636748f36acd21b9886ca', 'commits': [{'author': {'name': 'JosJuice', 'email': 'josjuice@gmail.com', 'username': 'JosJuice'}, 'distinct': False, 'added': [], 'modified': ['Source/Core/DolphinQt/Debugger/BreakpointWidget.cpp', 'Source/Core/DolphinQt/Debugger/EditSymbolDialog.cpp'], 'removed': [], 'message': 'i18n: Add comments', 'url': 'https://github.com/dolphin-emu/dolphin/commit/bc1d8ffcbbefe61a4527dbb797418b8792304d13', 'hash': 'bc1d8ffcbbefe61a4527dbb797418b8792304d13'}, {'author': {'name': 'Jordan Woyak', 'email': 'jordan.woyak@gmail.com', 'username': 'jordan-woyak'}, 'distinct': True, 'added': [], 'modified': ['Source/Core/DolphinQt/Debugger/BreakpointWidget.cpp', 'Source/Core/DolphinQt/Debugger/EditSymbolDialog.cpp'], 'removed': [], 'message': 'Merge pull request #13773 from JosJuice/i18n-2025-06-22\n\ni18n: Add comments', 'url': 'https://github.com/dolphin-emu/dolphin/commit/3a320137404f03b0fc0636748f36acd21b9886ca', 'hash': '3a320137404f03b0fc0636748f36acd21b9886ca'}], 'base_ref_name': None, 'ref_name': 'master', 'ref_type': 'heads', 'created': False, 'deleted': False, 'forced': False, 'type': 'gh_push'}
2025-06-24T22:59:50.796218	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'pusher': 'JMC47', 'before_sha': '43c156084bbeeaa3bd7c06b5e4f3118e335f777d', 'after_sha': '43aa7e9b9658d3c1508512b6b0caef7737ed6683', 'commits': [{'author': {'name': 'Jordan Woyak', 'email': 'jordan.woyak@gmail.com', 'username': 'jordan-woyak'}, 'distinct': False, 'added': ['Externals/SDL/SDL3.vcxproj'], 'modified': ['CMakeLists.txt', 'Externals/SDL/CMakeLists.txt', 'Externals/SDL/SDL', 'Externals/SDL/exports.props', 'Flatpak/org.DolphinEmu.dolphin-emu.yml', 'Source/Core/InputCommon/CMakeLists.txt', 'Source/Core/InputCommon/ControllerInterface/ControllerInterface.h', 'Source/Core/InputCommon/ControllerInterface/SDL/SDL.cpp', 'Source/Core/InputCommon/ControllerInterface/SDL/SDLGamepad.cpp', 'Source/Core/InputCommon/ControllerInterface/SDL/SDLGamepad.h', 'Source/Core/MacUpdater/CMakeLists.txt', 'Source/VSProps/Base.Dolphin.props', 'Source/dolphin-emu.sln'], 'removed': ['Externals/SDL/SDL2.vcxproj', 'Flatpak/SDL2/SDL2.json'], 'message': 'InputCommon: Update to use SDL3 and bump the SDL submodule in Externals to release-3.2.16.', 'url': 'https://github.com/dolphin-emu/dolphin/commit/6da3f5f26adf13b9fedfb85b0ebe844cb5b94a0c', 'hash': '6da3f5f26adf13b9fedfb85b0ebe844cb5b94a0c'}, {'author': {'name': 'JMC47', 'email': 'JMC4789@gmail.com', 'username': 'JMC47'}, 'distinct': True, 'added': ['Externals/SDL/SDL3.vcxproj'], 'modified': ['CMakeLists.txt', 'Externals/SDL/CMakeLists.txt', 'Externals/SDL/SDL', 'Externals/SDL/exports.props', 'Flatpak/org.DolphinEmu.dolphin-emu.yml', 'Source/Core/InputCommon/CMakeLists.txt', 'Source/Core/InputCommon/ControllerInterface/ControllerInterface.h', 'Source/Core/InputCommon/ControllerInterface/SDL/SDL.cpp', 'Source/Core/InputCommon/ControllerInterface/SDL/SDLGamepad.cpp', 'Source/Core/InputCommon/ControllerInterface/SDL/SDLGamepad.h', 'Source/Core/MacUpdater/CMakeLists.txt', 'Source/VSProps/Base.Dolphin.props', 'Source/dolphin-emu.sln'], 'removed': ['Externals/SDL/SDL2.vcxproj', 'Flatpak/SDL2/SDL2.json'], 'message': 'Merge pull request #13694 from jordan-woyak/sdl3\n\nUpdate to SDL3', 'url': 'https://github.com/dolphin-emu/dolphin/commit/43aa7e9b9658d3c1508512b6b0caef7737ed6683', 'hash': '43aa7e9b9658d3c1508512b6b0caef7737ed6683'}], 'base_ref_name': None, 'ref_name': 'master', 'ref_type': 'heads', 'created': False, 'deleted': False, 'forced': False, 'type': 'gh_push'}
2025-06-24T22:22:50.554337	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'pusher': 'JMC47', 'before_sha': 'e9b57393a6531c946f9dd43674559b32465b2727', 'after_sha': '43c156084bbeeaa3bd7c06b5e4f3118e335f777d', 'commits': [{'author': {'name': 'Jordan Woyak', 'email': 'jordan.woyak@gmail.com', 'username': 'jordan-woyak'}, 'distinct': False, 'added': [], 'modified': ['Source/Core/DolphinQt/Config/Mapping/MappingIndicator.cpp', 'Source/Core/DolphinQt/Config/Mapping/MappingIndicator.h', 'Source/Core/InputCommon/ControllerInterface/MappingCommon.cpp', 'Source/Core/InputCommon/ControllerInterface/MappingCommon.h'], 'removed': [], 'message': 'DolphinQt: Make Calibration autocomplete when data is "sensible" and stick is returned to neutral position.', 'url': 'https://github.com/dolphin-emu/dolphin/commit/6a0963908dbb316f00818822065e26777621bdcc', 'hash': '6a0963908dbb316f00818822065e26777621bdcc'}, {'author': {'name': 'JMC47', 'email': 'JMC4789@gmail.com', 'username': 'JMC47'}, 'distinct': True, 'added': [], 'modified': ['Source/Core/DolphinQt/Config/Mapping/MappingIndicator.cpp', 'Source/Core/DolphinQt/Config/Mapping/MappingIndicator.h', 'Source/Core/InputCommon/ControllerInterface/MappingCommon.cpp', 'Source/Core/InputCommon/ControllerInterface/MappingCommon.h'], 'removed': [], 'message': 'Merge pull request #13759 from jordan-woyak/calibrate-autocomplete\n\nDolphinQt: Make Calibration autocomplete when data is "sensible" and stick is returned to neutral position.', 'url': 'https://github.com/dolphin-emu/dolphin/commit/43c156084bbeeaa3bd7c06b5e4f3118e335f777d', 'hash': '43c156084bbeeaa3bd7c06b5e4f3118e335f777d'}], 'base_ref_name': None, 'ref_name': 'master', 'ref_type': 'heads', 'created': False, 'deleted': False, 'forced': False, 'type': 'gh_push'}
2025-06-24T20:36:51.693934	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'pusher': 'JMC47', 'before_sha': '97febd9477502a29c08190b07f71aaebb22a6834', 'after_sha': 'e9b57393a6531c946f9dd43674559b32465b2727', 'commits': [{'author': {'name': 'JosJuice', 'email': 'josjuice@gmail.com', 'username': 'JosJuice'}, 'distinct': False, 'added': [], 'modified': ['Source/Core/Core/PowerPC/Expression.cpp', 'Source/Core/Core/PowerPC/GDBStub.cpp'], 'removed': [], 'message': 'PowerPC: Add missing SDRUpdated/MSRUpdated calls', 'url': 'https://github.com/dolphin-emu/dolphin/commit/8c643693a99ae1dd2f12f8cafb5c890648ddd77e', 'hash': '8c643693a99ae1dd2f12f8cafb5c890648ddd77e'}, {'author': {'name': 'JosJuice', 'email': 'josjuice@gmail.com', 'username': 'JosJuice'}, 'distinct': False, 'added': [], 'modified': ['Source/Core/Core/PowerPC/Interpreter/Interpreter.cpp'], 'removed': [], 'message': 'PowerPC: Use SPR_LR constant in an additional location', 'url': 'https://github.com/dolphin-emu/dolphin/commit/e002fcdf2fa1c14ebce61055325f7ff27e55711e', 'hash': 'e002fcdf2fa1c14ebce61055325f7ff27e55711e'}, {'author': {'name': 'JMC47', 'email': 'JMC4789@gmail.com', 'username': 'JMC47'}, 'distinct': True, 'added': [], 'modified': ['Source/Core/Core/PowerPC/Expression.cpp', 'Source/Core/Core/PowerPC/GDBStub.cpp', 'Source/Core/Core/PowerPC/Interpreter/Interpreter.cpp'], 'removed': [], 'message': 'Merge pull request #13766 from JosJuice/powerpc-missing-updates\n\nPowerPC: Add missing SDRUpdated/MSRUpdated calls', 'url': 'https://github.com/dolphin-emu/dolphin/commit/e9b57393a6531c946f9dd43674559b32465b2727', 'hash': 'e9b57393a6531c946f9dd43674559b32465b2727'}], 'base_ref_name': None, 'ref_name': 'master', 'ref_type': 'heads', 'created': False, 'deleted': False, 'forced': False, 'type': 'gh_push'}
2025-06-24T20:35:58.229733	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'pusher': 'JMC47', 'before_sha': '0946814711012ee79fa42585b2172db2502262e3', 'after_sha': '97febd9477502a29c08190b07f71aaebb22a6834', 'commits': [{'author': {'name': 'Dentomologist', 'email': 'dentomologist@gmail.com', 'username': 'Dentomologist'}, 'distinct': False, 'added': [], 'modified': ['Source/Core/DolphinQt/MainWindow.cpp'], 'removed': [], 'message': 'MainWindow: Show hardcore mode error for recording playback\n\nShow an error message when attempting to play an input recording while\nRetroAchievements hardcore mode is active, instead of silently doing\nnothing.', 'url': 'https://github.com/dolphin-emu/dolphin/commit/e21ae90073eb102b4a42ebf6d959dc73d762526e', 'hash': 'e21ae90073eb102b4a42ebf6d959dc73d762526e'}, {'author': {'name': 'JMC47', 'email': 'JMC4789@gmail.com', 'username': 'JMC47'}, 'distinct': True, 'added': [], 'modified': ['Source/Core/DolphinQt/MainWindow.cpp'], 'removed': [], 'message': 'Merge pull request #13763 from Dentomologist/mainwindow_show_hardcore_mode_error_for_recording_playback\n\nMainWindow: Show hardcore mode error for recording playback', 'url': 'https://github.com/dolphin-emu/dolphin/commit/97febd9477502a29c08190b07f71aaebb22a6834', 'hash': '97febd9477502a29c08190b07f71aaebb22a6834'}], 'base_ref_name': None, 'ref_name': 'master', 'ref_type': 'heads', 'created': False, 'deleted': False, 'forced': False, 'type': 'gh_push'}
2025-06-24T20:35:43.071719	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'pusher': 'JMC47', 'before_sha': '3627cfb7b1c661e6e96ae1c60088383bfa74b983', 'after_sha': '0946814711012ee79fa42585b2172db2502262e3', 'commits': [{'author': {'name': 'Dentomologist', 'email': 'dentomologist@gmail.com', 'username': 'Dentomologist'}, 'distinct': False, 'added': [], 'modified': ['Source/Core/DolphinQt/MenuBar.cpp'], 'removed': [], 'message': 'MenuBar: Rename menu variable\n\nThe Tools menu has a number of submenus, so rename menu to\nconnect_wii_remotes_menu for clarity.', 'url': 'https://github.com/dolphin-emu/dolphin/commit/6a0d8ca3f8a4a4c98d60473f34bd8e35d0ee9728', 'hash': '6a0d8ca3f8a4a4c98d60473f34bd8e35d0ee9728'}, {'author': {'name': 'Dentomologist', 'email': 'dentomologist@gmail.com', 'username': 'Dentomologist'}, 'distinct': False, 'added': [], 'modified': ['Source/Core/DolphinQt/GameList/GameList.cpp', 'Source/Core/DolphinQt/MenuBar.cpp'], 'removed': [], 'message': 'Qt: Use NonAutodismissibleMenu in more places\n\nUse NonAutodismissibleMenu for MenuBar\'s Options, JIT, and\nTools->"Connect Wii Remotes" menus, as well as for the Tags menu in\nGameList\'s context menu.\n\nNonAutodismissibleMenu allows users to check or uncheck multiple\ncheckable menu items without closing the menu between selections.', 'url': 'https://github.com/dolphin-emu/dolphin/commit/2fd74990b7b10c12a5b338aa7d95e5cc8463ca7e', 'hash': '2fd74990b7b10c12a5b338aa7d95e5cc8463ca7e'}, {'author': {'name': 'Dentomologist', 'email': 'dentomologist@gmail.com', 'username': 'Dentomologist'}, 'distinct': False, 'added': [], 'modified': ['Source/Core/DolphinQt/GameList/GameListModel.cpp'], 'removed': [], 'message': "GameListModel: Update tag list and sorting immediately\n\nEmit the dataChanged signal when adding or removing tags from a game.\nThis both updates the contents of the game's Tags column immediately\n(instead of having to wait for the context menu to be closed), and\nupdates the sorting if games are being sorted by the Tags column.", 'url': 'https://github.com/dolphin-emu/dolphin/commit/c488545091bf0cdd57252af4c88fe49e22caf253', 'hash': 'c488545091bf0cdd57252af4c88fe49e22caf253'}, {'author': {'name': 'JMC47', 'email': 'JMC4789@gmail.com', 'username': 'JMC47'}, 'distinct': True, 'added': [], 'modified': ['Source/Core/DolphinQt/GameList/GameList.cpp', 'Source/Core/DolphinQt/GameList/GameListModel.cpp', 'Source/Core/DolphinQt/MenuBar.cpp'], 'removed': [], 'message': 'Merge pull request #13761 from Dentomologist/qt_use_nonautodismissiblemenu_in_more_places\n\nQt: Use NonAutodismissibleMenu in more places', 'url': 'https://github.com/dolphin-emu/dolphin/commit/0946814711012ee79fa42585b2172db2502262e3', 'hash': '0946814711012ee79fa42585b2172db2502262e3'}], 'base_ref_name': None, 'ref_name': 'master', 'ref_type': 'heads', 'created': False, 'deleted': False, 'forced': False, 'type': 'gh_push'}
2025-06-24T20:35:14.640757	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'pusher': 'JMC47', 'before_sha': '2e8da29ca21bbc49b53f0a53ceb590ab444eaf87', 'after_sha': '3627cfb7b1c661e6e96ae1c60088383bfa74b983', 'commits': [{'author': {'name': 'Dentomologist', 'email': 'dentomologist@gmail.com', 'username': 'Dentomologist'}, 'distinct': False, 'added': [], 'modified': ['Source/Core/DolphinQt/Debugger/ThreadWidget.cpp'], 'removed': [], 'message': "ThreadWidget: Don't set fixed width on QLineEdits\n\nFix clipping of QLineEdit contents by having them take up half the grid\nwidth instead of trying to match the contents width in an unreliable\nmanner.", 'url': 'https://github.com/dolphin-emu/dolphin/commit/ab25632992ec07098e72710eb61af9ce0a39e0e1', 'hash': 'ab25632992ec07098e72710eb61af9ce0a39e0e1'}, {'author': {'name': 'JMC47', 'email': 'JMC4789@gmail.com', 'username': 'JMC47'}, 'distinct': True, 'added': [], 'modified': ['Source/Core/DolphinQt/Debugger/ThreadWidget.cpp'], 'removed': [], 'message': 'Merge pull request #13758 from Dentomologist/threadwidget_fix_line_edit_margins\n\nThreadWidget: Fix line edit margins', 'url': 'https://github.com/dolphin-emu/dolphin/commit/3627cfb7b1c661e6e96ae1c60088383bfa74b983', 'hash': '3627cfb7b1c661e6e96ae1c60088383bfa74b983'}], 'base_ref_name': None, 'ref_name': 'master', 'ref_type': 'heads', 'created': False, 'deleted': False, 'forced': False, 'type': 'gh_push'}
2025-06-24T20:34:50.102706	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'pusher': 'JMC47', 'before_sha': 'f7fa59e05d214b3cf15fb71a13d2ed5d4213c9c5', 'after_sha': '2e8da29ca21bbc49b53f0a53ceb590ab444eaf87', 'commits': [{'author': {'name': 'Tillmann Karras', 'email': 'tilkax@gmail.com', 'username': 'Tilka'}, 'distinct': False, 'added': [], 'modified': ['Data/Sys/GameSettings/RRP.ini'], 'removed': [], 'message': 'GameSettings: fix purple screen in The Price Is Right', 'url': 'https://github.com/dolphin-emu/dolphin/commit/cc5933a6ce7a8651696b34589a091b0be0873e40', 'hash': 'cc5933a6ce7a8651696b34589a091b0be0873e40'}, {'author': {'name': 'Tillmann Karras', 'email': 'tilkax@gmail.com', 'username': 'Tilka'}, 'distinct': False, 'added': ['Data/Sys/GameSettings/S7B.ini'], 'modified': [], 'removed': [], 'message': 'GameSettings: fix purple flickering in Trivial Pursuit - Bet You Know It', 'url': 'https://github.com/dolphin-emu/dolphin/commit/58b86074aeecbc1cdc6e89ab890fb684be67e52d', 'hash': '58b86074aeecbc1cdc6e89ab890fb684be67e52d'}, {'author': {'name': 'Tillmann Karras', 'email': 'tilkax@gmail.com', 'username': 'Tilka'}, 'distinct': False, 'added': [], 'modified': [], 'removed': ['Data/Sys/GameSettings/GFB.ini'], 'message': "GameSettings: don't force EFB-to-tex for Fireblade\n\nThis ini is from the initial mega commit. The game seems to work fine\nwithout it.", 'url': 'https://github.com/dolphin-emu/dolphin/commit/c39b067479bac4e49d7de289ba7fc618dfacf6a7', 'hash': 'c39b067479bac4e49d7de289ba7fc618dfacf6a7'}, {'author': {'name': 'Tillmann Karras', 'email': 'tilkax@gmail.com', 'username': 'Tilka'}, 'distinct': False, 'added': ['Data/Sys/GameSettings/R6APPU.ini'], 'modified': [], 'removed': [], 'message': 'GameSettings: add performance hack for Baby And Me\n\nThe patch is not enabled by default.', 'url': 'https://github.com/dolphin-emu/dolphin/commit/ca004e35f79eaad4f577c318d2d09d004d0c94dd', 'hash': 'ca004e35f79eaad4f577c318d2d09d004d0c94dd'}, {'author': {'name': 'JMC47', 'email': 'JMC4789@gmail.com', 'username': 'JMC47'}, 'distinct': True, 'added': ['Data/Sys/GameSettings/R6APPU.ini', 'Data/Sys/GameSettings/S7B.ini'], 'modified': ['Data/Sys/GameSettings/RRP.ini'], 'removed': ['Data/Sys/GameSettings/GFB.ini'], 'message': 'Merge pull request #13756 from Tilka/price_is_right\n\nGameSettings: some updates', 'url': 'https://github.com/dolphin-emu/dolphin/commit/2e8da29ca21bbc49b53f0a53ceb590ab444eaf87', 'hash': '2e8da29ca21bbc49b53f0a53ceb590ab444eaf87'}], 'base_ref_name': None, 'ref_name': 'master', 'ref_type': 'heads', 'created': False, 'deleted': False, 'forced': False, 'type': 'gh_push'}
2025-06-24T20:34:29.033834	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'pusher': 'JMC47', 'before_sha': 'fbced5d0f57c9098e5d715fc4c1962c22dddca0c', 'after_sha': 'f7fa59e05d214b3cf15fb71a13d2ed5d4213c9c5', 'commits': [{'author': {'name': 'Martino Fontana', 'email': 'tinozzo123@gmail.com', 'username': 'SuperSamus'}, 'distinct': False, 'added': [], 'modified': ['Data/Sys/GameSettings/SMNP01.ini'], 'removed': [], 'message': 'GameINI: Remove NSMBW PAL speed hack', 'url': 'https://github.com/dolphin-emu/dolphin/commit/46ce355d930b12791371df8cfccf4e509c492846', 'hash': '46ce355d930b12791371df8cfccf4e509c492846'}, {'author': {'name': 'JMC47', 'email': 'JMC4789@gmail.com', 'username': 'JMC47'}, 'distinct': True, 'added': [], 'modified': ['Data/Sys/GameSettings/SMNP01.ini'], 'removed': [], 'message': 'Merge pull request #13754 from SuperSamus/nsmbw-pal-remove-speedhack\n\nGameINI: Remove NSMBW PAL speed hack', 'url': 'https://github.com/dolphin-emu/dolphin/commit/f7fa59e05d214b3cf15fb71a13d2ed5d4213c9c5', 'hash': 'f7fa59e05d214b3cf15fb71a13d2ed5d4213c9c5'}], 'base_ref_name': None, 'ref_name': 'master', 'ref_type': 'heads', 'created': False, 'deleted': False, 'forced': False, 'type': 'gh_push'}
2025-06-24T19:41:28.038488	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'pusher': 'jordan-woyak', 'before_sha': 'fa9f71e48232e054605e721266c90cb106ca6924', 'after_sha': 'fbced5d0f57c9098e5d715fc4c1962c22dddca0c', 'commits': [{'author': {'name': 'Tillmann Karras', 'email': 'tilkax@gmail.com', 'username': 'Tilka'}, 'distinct': False, 'added': [], 'modified': ['Source/Core/VideoCommon/CommandProcessor.h'], 'removed': [], 'message': 'VideoCommon: remove unused struct fields', 'url': 'https://github.com/dolphin-emu/dolphin/commit/59d2611a94a5ef0ddb0303ef6b4658d3a2644a34', 'hash': '59d2611a94a5ef0ddb0303ef6b4658d3a2644a34'}, {'author': {'name': 'Jordan Woyak', 'email': 'jordan.woyak@gmail.com', 'username': 'jordan-woyak'}, 'distinct': True, 'added': [], 'modified': ['Source/Core/VideoCommon/CommandProcessor.h'], 'removed': [], 'message': 'Merge pull request #13774 from Tilka/cp_cleanup\n\nVideoCommon: remove unused struct fields', 'url': 'https://github.com/dolphin-emu/dolphin/commit/fbced5d0f57c9098e5d715fc4c1962c22dddca0c', 'hash': 'fbced5d0f57c9098e5d715fc4c1962c22dddca0c'}], 'base_ref_name': None, 'ref_name': 'master', 'ref_type': 'heads', 'created': False, 'deleted': False, 'forced': False, 'type': 'gh_push'}
2025-06-22T19:29:53.714511	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'pusher': 'JMC47', 'before_sha': 'c2aaca2b16d722686070840f0766398005e7a7f4', 'after_sha': 'fa9f71e48232e054605e721266c90cb106ca6924', 'commits': [{'author': {'name': 'JosJuice', 'email': 'josjuice@gmail.com', 'username': 'JosJuice'}, 'distinct': False, 'added': [], 'modified': ['Source/Core/Core/HW/Memmap.cpp'], 'removed': [], 'message': 'Memmap: Optimize UpdateLogicalMemory by merging mappings\n\nInstead of creating many 128 KiB mappings, we can create a few large\nmappings. On my Windows PC, this speeds up GameCube (FakeVMEM) game boot\ntimes by about 200 ms and Wii game boot times by about 60 ms. Loading\nsavestates is also faster, by about 45 ms for GameCube (FakeVMEM) games\nand 5 ms for Wii games. The impact is presumably smaller on other OSes\nbecause Windows is particularly slow at creating mappings.', 'url': 'https://github.com/dolphin-emu/dolphin/commit/ac84ea17a6248062e556065f56a2ae564ff5a303', 'hash': 'ac84ea17a6248062e556065f56a2ae564ff5a303'}, {'author': {'name': 'JMC47', 'email': 'JMC4789@gmail.com', 'username': 'JMC47'}, 'distinct': True, 'added': [], 'modified': ['Source/Core/Core/HW/Memmap.cpp'], 'removed': [], 'message': 'Merge pull request #13769 from JosJuice/merge-dbat-mappings\n\nMemmap: Optimize UpdateLogicalMemory by merging mappings', 'url': 'https://github.com/dolphin-emu/dolphin/commit/fa9f71e48232e054605e721266c90cb106ca6924', 'hash': 'fa9f71e48232e054605e721266c90cb106ca6924'}], 'base_ref_name': None, 'ref_name': 'master', 'ref_type': 'heads', 'created': False, 'deleted': False, 'forced': False, 'type': 'gh_push'}
2025-06-22T05:06:01.723354	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'pusher': 'JMC47', 'before_sha': '19f3b7e61f237924d0394a0dd490acf07b8b7da5', 'after_sha': 'c2aaca2b16d722686070840f0766398005e7a7f4', 'commits': [{'author': {'name': 'TryTwo', 'email': 'taolas@gmail.com', 'username': 'TryTwo'}, 'distinct': False, 'added': [], 'modified': ['Source/Core/DolphinQt/Debugger/CodeWidget.cpp'], 'removed': [], 'message': 'CodeWidget: Clear calls and callers box if there is no symbol, otherwise outdated data will persist.', 'url': 'https://github.com/dolphin-emu/dolphin/commit/10c3b0b4e480be7811b63028e080d985e34f5239', 'hash': '10c3b0b4e480be7811b63028e080d985e34f5239'}, {'author': {'name': 'JMC47', 'email': 'JMC4789@gmail.com', 'username': 'JMC47'}, 'distinct': True, 'added': [], 'modified': ['Source/Core/DolphinQt/Debugger/CodeWidget.cpp'], 'removed': [], 'message': 'Merge pull request #13765 from TryTwo/CodeWidget_clear_unused\n\nCodeWidget: Clear calls/callers if no symbol exists.', 'url': 'https://github.com/dolphin-emu/dolphin/commit/c2aaca2b16d722686070840f0766398005e7a7f4', 'hash': 'c2aaca2b16d722686070840f0766398005e7a7f4'}], 'base_ref_name': None, 'ref_name': 'master', 'ref_type': 'heads', 'created': False, 'deleted': False, 'forced': False, 'type': 'gh_push'}
2025-06-22T05:05:44.889176	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'pusher': 'JMC47', 'before_sha': '413b7475ec662605b36ad413758a8ae2d89f66ae', 'after_sha': '19f3b7e61f237924d0394a0dd490acf07b8b7da5', 'commits': [{'author': {'name': 'TryTwo', 'email': 'taolas@gmail.com', 'username': 'TryTwo'}, 'distinct': False, 'added': [], 'modified': ['Source/Core/Common/SymbolDB.cpp', 'Source/Core/Common/SymbolDB.h', 'Source/Core/Core/PowerPC/PPCSymbolDB.cpp', 'Source/Core/Core/PowerPC/PPCSymbolDB.h', 'Source/Core/DolphinQt/Debugger/CodeViewWidget.cpp'], 'removed': [], 'message': 'Debugger symbols: Add  new symbol type: Notes..  Notes are for naming single instructions, or small groups of instructions.\n\nNotes are separate from function symbols, and can be searched separately.\nUnlike functions, notes of different length can overlap each other.\nIn the instruction window, a note will always display over the function symbol.', 'url': 'https://github.com/dolphin-emu/dolphin/commit/040d9a43367f4e2a3aa57ddb47c41d5d13b5b39e', 'hash': '040d9a43367f4e2a3aa57ddb47c41d5d13b5b39e'}, {'author': {'name': 'TryTwo', 'email': 'taolas@gmail.com', 'username': 'TryTwo'}, 'distinct': False, 'added': [], 'modified': ['Source/Core/DolphinQt/Debugger/CodeWidget.cpp', 'Source/Core/DolphinQt/Debugger/CodeWidget.h'], 'removed': [], 'message': 'Debugger CodeWidget : Add search box for notes.', 'url': 'https://github.com/dolphin-emu/dolphin/commit/78065359bbcd3196273956ac9c014ec5ae200a53', 'hash': '78065359bbcd3196273956ac9c014ec5ae200a53'}, {'author': {'name': 'TryTwo', 'email': 'taolas@gmail.com', 'username': 'TryTwo'}, 'distinct': False, 'added': ['Source/Core/DolphinQt/Debugger/EditSymbolDialog.cpp', 'Source/Core/DolphinQt/Debugger/EditSymbolDialog.h'], 'modified': ['Source/Core/Core/PowerPC/PPCSymbolDB.cpp', 'Source/Core/Core/PowerPC/PPCSymbolDB.h', 'Source/Core/DolphinQt/CMakeLists.txt', 'Source/Core/DolphinQt/Debugger/CodeViewWidget.cpp', 'Source/Core/DolphinQt/Debugger/CodeViewWidget.h', 'Source/Core/DolphinQt/DolphinQt.vcxproj'], 'removed': [], 'message': 'Debugger CodeViewWidget: Add context options for making and managing Notes. Add popup dialog for editing functions and notes.', 'url': 'https://github.com/dolphin-emu/dolphin/commit/c9b815526cb8b867203f7319c7e1f100f5df8ca4', 'hash': 'c9b815526cb8b867203f7319c7e1f100f5df8ca4'}, {'author': {'name': 'JMC47', 'email': 'JMC4789@gmail.com', 'username': 'JMC47'}, 'distinct': True, 'added': ['Source/Core/DolphinQt/Debugger/EditSymbolDialog.cpp', 'Source/Core/DolphinQt/Debugger/EditSymbolDialog.h'], 'modified': ['Source/Core/Common/SymbolDB.cpp', 'Source/Core/Common/SymbolDB.h', 'Source/Core/Core/PowerPC/PPCSymbolDB.cpp', 'Source/Core/Core/PowerPC/PPCSymbolDB.h', 'Source/Core/DolphinQt/CMakeLists.txt', 'Source/Core/DolphinQt/Debugger/CodeViewWidget.cpp', 'Source/Core/DolphinQt/Debugger/CodeViewWidget.h', 'Source/Core/DolphinQt/Debugger/CodeWidget.cpp', 'Source/Core/DolphinQt/Debugger/CodeWidget.h', 'Source/Core/DolphinQt/DolphinQt.vcxproj'], 'removed': [], 'message': 'Merge pull request #13691 from TryTwo/PR_Notes\n\nDebugger Add note-type symbols .', 'url': 'https://github.com/dolphin-emu/dolphin/commit/19f3b7e61f237924d0394a0dd490acf07b8b7da5', 'hash': '19f3b7e61f237924d0394a0dd490acf07b8b7da5'}], 'base_ref_name': None, 'ref_name': 'master', 'ref_type': 'heads', 'created': False, 'deleted': False, 'forced': False, 'type': 'gh_push'}
2025-06-17T18:06:06.666116	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'pusher': 'jordan-woyak', 'before_sha': '28a6eb26cc2c98726c59f254e8962eb1209f5578', 'after_sha': '413b7475ec662605b36ad413758a8ae2d89f66ae', 'commits': [{'author': {'name': 'Dentomologist', 'email': 'dentomologist@gmail.com', 'username': 'Dentomologist'}, 'distinct': False, 'added': [], 'modified': ['Source/Core/DolphinQt/DolphinQt.vcxproj'], 'removed': [], 'message': "DolphinQt: Add DolphinQt.vcxproj ClInclude line\n\nAdd a missing ClInclude line in DolphinQt.vcxproj for\nNonAutodismissibleMenu.h. Missing the ClInclude doesn't break\ncompilation, but prevents various IntelliSense features in Visual\nStudio from working properly with the file.", 'url': 'https://github.com/dolphin-emu/dolphin/commit/e8c9c7a403d6e0bc2668d452ca6a8694e85dea84', 'hash': 'e8c9c7a403d6e0bc2668d452ca6a8694e85dea84'}, {'author': {'name': 'Jordan Woyak', 'email': 'jordan.woyak@gmail.com', 'username': 'jordan-woyak'}, 'distinct': True, 'added': [], 'modified': ['Source/Core/DolphinQt/DolphinQt.vcxproj'], 'removed': [], 'message': 'Merge pull request #13762 from Dentomologist/dolphinqt_add_vcxproj_clinclude\n\nDolphinQt: Add DolphinQt.vcxproj ClInclude line', 'url': 'https://github.com/dolphin-emu/dolphin/commit/413b7475ec662605b36ad413758a8ae2d89f66ae', 'hash': '413b7475ec662605b36ad413758a8ae2d89f66ae'}], 'base_ref_name': None, 'ref_name': 'master', 'ref_type': 'heads', 'created': False, 'deleted': False, 'forced': False, 'type': 'gh_push'}
2025-06-15T20:45:06.604488	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'pusher': 'jordan-woyak', 'before_sha': '3a94289ad6e27011fe0ca3ab0fb0fee771fb9fa8', 'after_sha': '28a6eb26cc2c98726c59f254e8962eb1209f5578', 'commits': [{'author': {'name': 'Jordan Woyak', 'email': 'jordan.woyak@gmail.com', 'username': 'jordan-woyak'}, 'distinct': False, 'added': [], 'modified': ['Source/Core/DolphinQt/Config/Mapping/MappingCommon.cpp', 'Source/Core/InputCommon/ControllerInterface/CoreDevice.h', 'Source/Core/InputCommon/ControllerInterface/MappingCommon.cpp'], 'removed': [], 'message': 'InputCommon: Fix occasional misidentification of analog input detection.', 'url': 'https://github.com/dolphin-emu/dolphin/commit/11c3f7ea8d8c182fdd9c1a3573db8c94eafb5b46', 'hash': '11c3f7ea8d8c182fdd9c1a3573db8c94eafb5b46'}, {'author': {'name': 'Jordan Woyak', 'email': 'jordan.woyak@gmail.com', 'username': 'jordan-woyak'}, 'distinct': False, 'added': [], 'modified': ['Source/Core/DolphinQt/Config/Mapping/IOWindow.cpp', 'Source/Core/InputCommon/ControllerInterface/CoreDevice.cpp', 'Source/Core/InputCommon/ControllerInterface/CoreDevice.h'], 'removed': [], 'message': 'InputCommon: Make InputDetector::Start take a span instead of a vector.', 'url': 'https://github.com/dolphin-emu/dolphin/commit/0780458069abacf9ca1b33c2f4c523f0a8d8bde9', 'hash': '0780458069abacf9ca1b33c2f4c523f0a8d8bde9'}, {'author': {'name': 'Jordan Woyak', 'email': 'jordan.woyak@gmail.com', 'username': 'jordan-woyak'}, 'distinct': False, 'added': [], 'modified': ['Source/Core/DolphinQt/Config/Mapping/MappingCommon.cpp', 'Source/Core/DolphinQt/Config/Mapping/MappingIndicator.cpp', 'Source/Core/DolphinQt/Config/Mapping/MappingIndicator.h', 'Source/Core/DolphinQt/Config/Mapping/MappingWidget.cpp', 'Source/Core/DolphinQt/DolphinQt.vcxproj', 'Source/Core/InputCommon/ControllerInterface/MappingCommon.cpp', 'Source/Core/InputCommon/ControllerInterface/MappingCommon.h'], 'removed': [], 'message': 'DolphinQt/InputCommon: Move some calibration logic to InputCommon and make the "Calibrate" button also map inputs.', 'url': 'https://github.com/dolphin-emu/dolphin/commit/83beebaf8b074f1c7161134065f19baea08f78a6', 'hash': '83beebaf8b074f1c7161134065f19baea08f78a6'}, {'author': {'name': 'Jordan Woyak', 'email': 'jordan.woyak@gmail.com', 'username': 'jordan-woyak'}, 'distinct': True, 'added': [], 'modified': ['Source/Core/DolphinQt/Config/Mapping/IOWindow.cpp', 'Source/Core/DolphinQt/Config/Mapping/MappingCommon.cpp', 'Source/Core/DolphinQt/Config/Mapping/MappingIndicator.cpp', 'Source/Core/DolphinQt/Config/Mapping/MappingIndicator.h', 'Source/Core/DolphinQt/Config/Mapping/MappingWidget.cpp', 'Source/Core/DolphinQt/DolphinQt.vcxproj', 'Source/Core/InputCommon/ControllerInterface/CoreDevice.cpp', 'Source/Core/InputCommon/ControllerInterface/CoreDevice.h', 'Source/Core/InputCommon/ControllerInterface/MappingCommon.cpp', 'Source/Core/InputCommon/ControllerInterface/MappingCommon.h'], 'removed': [], 'message': 'Merge pull request #13703 from jordan-woyak/map-and-calibrate\n\nDolphinQt/InputCommon: Make the "Calibrate" button also map inputs.', 'url': 'https://github.com/dolphin-emu/dolphin/commit/28a6eb26cc2c98726c59f254e8962eb1209f5578', 'hash': '28a6eb26cc2c98726c59f254e8962eb1209f5578'}], 'base_ref_name': None, 'ref_name': 'master', 'ref_type': 'heads', 'created': False, 'deleted': False, 'forced': False, 'type': 'gh_push'}
2025-06-15T20:44:33.487711	{'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'pusher': 'jordan-woyak', 'before_sha': '2fb66e97087119715ada71c015f63c2decc97b2d', 'after_sha': '3a94289ad6e27011fe0ca3ab0fb0fee771fb9fa8', 'commits': [{'author': {'name': 'Joshua Vandaële', 'email': 'joshua@vandaele.software', 'username': 'JoshuaVandaele'}, 'distinct': False, 'added': [], 'modified': ['Source/Core/Common/CommonFuncs.cpp', 'Source/Core/Common/CommonFuncs.h', 'Source/Core/Core/HW/WiimoteReal/IOWin.cpp', 'Source/Core/Core/IOS/USB/Host.cpp'], 'removed': [], 'message': 'Host: Implement a Windows-only implementation of `GetDeviceNameFromVIDPID`', 'url': 'https://github.com/dolphin-emu/dolphin/commit/d93245cc7a2aaa232a57161cdde426a540f0d810', 'hash': 'd93245cc7a2aaa232a57161cdde426a540f0d810'}, {'author': {'name': 'Jordan Woyak', 'email': 'jordan.woyak@gmail.com', 'username': 'jordan-woyak'}, 'distinct': True, 'added': [], 'modified': ['Source/Core/Common/CommonFuncs.cpp', 'Source/Core/Common/CommonFuncs.h', 'Source/Core/Core/HW/WiimoteReal/IOWin.cpp', 'Source/Core/Core/IOS/USB/Host.cpp'], 'removed': [], 'message': 'Merge pull request #13744 from JoshuaVandaele/windows-specific-getdevicename\n\nHost: Implement a Windows-only implementation of `GetDeviceNameFromVIDPID`', 'url': 'https://github.com/dolphin-emu/dolphin/commit/3a94289ad6e27011fe0ca3ab0fb0fee771fb9fa8', 'hash': '3a94289ad6e27011fe0ca3ab0fb0fee771fb9fa8'}], 'base_ref_name': None, 'ref_name': 'master', 'ref_type': 'heads', 'created': False, 'deleted': False, 'forced': False, 'type': 'gh_push'}

Recent 'internal_log' events

2025-07-05T21:36:49.463640	{'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/zdjp6l92qsi6ik9yc8mnfsb8k17v6gkj-python3.12-central-0.1.0/lib/python3.12/site-packages/central/github/authz.py', 'lineno': 30, 'msg': 'New GH %s: %s', 'args': "('dolphin-emu/trusted-developers', 'OrN,JosJuice,Filoppi,mimimi085181,glennricster,Alcaro,neobrain,endrift,vladfi1,yourWaifu,deReeperJosh,Ebola16,marcan,meffij,phire,moncefmechri,K0bin,spxtr,ShimmerGlass,jezze,randomstuff,SuperSamus,iwubcode,unknownbrackets,LPFaint99,NanoByte011,TellowKrinkle,skylersaleh,ligfx,rlnilsen,sepalani,zackhow,riking,Gamer64ytb,JMC47,Sintendo,mahdihijazi,aldelaro5,archshift,PatrickFerry,MayImilae,FioraAeterna,adamdmoss,mathieui,aroulin,hthh,ColinDTaylor,LillyJadeKatrin,mrgreywater,EmptyChaos,CrossVR,magumagu,hrydgard,Starsam80,Parlane,zopieux,dreamsyntax,rukai,delroth,shonumi,LAGonauta,malleoz,Orphis,tygyh,Stevoisiak,Simonx22,hdcmeta,leoetlino,krnlyng,CookiePLMonster,DacoTaco,RachelBryk,OatmealDome,lioncash,Helios747,CelestialAmber,Phatcat,degasus,jordan-woyak,Dentomologist,nullgemm,kamiyo,Buddybenj,gwicks,spycrab,Pokechu22,JoshuaVandaele,Tinob,noahpistilli,Ziek,kayru,CasualPokePlayer,hackbar,Ryanel,merryhime,rohit-n,Tilka,mandar1jn,galop1n,JordanTheToaster,mbc07,comex,CrystalGamma,Linktothepast,booto,mitaclaw,Techjar,magcius,Geotale,Lobsterzelda,SirMangler,smurf3tte,jloehr,linkmauve,skidau,mmastrac,jjdelvalle,nickbeth,orbea,cristian64,AdmiralCurtiss,TryTwo,bentley,Sam-Belliveau,RisingFog,BhaaLseN,Zopolis4,Hydr8gon')", 'type': 'internal_log'}
2025-07-05T21:36:48.480146	{'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/zdjp6l92qsi6ik9yc8mnfsb8k17v6gkj-python3.12-central-0.1.0/lib/python3.12/site-packages/central/github/authz.py', 'lineno': 21, 'msg': 'Refreshing list of trusted users (from %s/%s)', 'args': "('dolphin-emu', 'trusted-developers')", 'type': 'internal_log'}
2025-07-05T21:31:48.479752	{'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/zdjp6l92qsi6ik9yc8mnfsb8k17v6gkj-python3.12-central-0.1.0/lib/python3.12/site-packages/central/github/authz.py', 'lineno': 30, 'msg': 'New GH %s: %s', 'args': "('dolphin-emu/trusted-developers', 'OrN,JosJuice,Filoppi,mimimi085181,glennricster,Alcaro,neobrain,endrift,vladfi1,yourWaifu,deReeperJosh,Ebola16,marcan,meffij,phire,moncefmechri,K0bin,spxtr,ShimmerGlass,jezze,randomstuff,SuperSamus,iwubcode,unknownbrackets,LPFaint99,NanoByte011,TellowKrinkle,skylersaleh,ligfx,rlnilsen,sepalani,zackhow,riking,Gamer64ytb,JMC47,Sintendo,mahdihijazi,aldelaro5,archshift,PatrickFerry,MayImilae,FioraAeterna,adamdmoss,mathieui,aroulin,hthh,ColinDTaylor,LillyJadeKatrin,mrgreywater,EmptyChaos,CrossVR,magumagu,hrydgard,Starsam80,Parlane,zopieux,dreamsyntax,rukai,delroth,shonumi,LAGonauta,malleoz,Orphis,tygyh,Stevoisiak,Simonx22,hdcmeta,leoetlino,krnlyng,CookiePLMonster,DacoTaco,RachelBryk,OatmealDome,lioncash,Helios747,CelestialAmber,Phatcat,degasus,jordan-woyak,Dentomologist,nullgemm,kamiyo,Buddybenj,gwicks,spycrab,Pokechu22,JoshuaVandaele,Tinob,noahpistilli,Ziek,kayru,CasualPokePlayer,hackbar,Ryanel,merryhime,rohit-n,Tilka,mandar1jn,galop1n,JordanTheToaster,mbc07,comex,CrystalGamma,Linktothepast,booto,mitaclaw,Techjar,magcius,Geotale,Lobsterzelda,SirMangler,smurf3tte,jloehr,linkmauve,skidau,mmastrac,jjdelvalle,nickbeth,orbea,cristian64,AdmiralCurtiss,TryTwo,bentley,Sam-Belliveau,RisingFog,BhaaLseN,Zopolis4,Hydr8gon')", 'type': 'internal_log'}
2025-07-05T21:31:47.427898	{'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/zdjp6l92qsi6ik9yc8mnfsb8k17v6gkj-python3.12-central-0.1.0/lib/python3.12/site-packages/central/github/authz.py', 'lineno': 21, 'msg': 'Refreshing list of trusted users (from %s/%s)', 'args': "('dolphin-emu', 'trusted-developers')", 'type': 'internal_log'}
2025-07-05T21:28:08.544871	{'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/zdjp6l92qsi6ik9yc8mnfsb8k17v6gkj-python3.12-central-0.1.0/lib/python3.12/site-packages/central/github/authz.py', 'lineno': 30, 'msg': 'New GH %s: %s', 'args': "('dolphin-emu/core-developers', 'skidau,OatmealDome,delroth,JosJuice,spycrab,hrydgard,lioncash,Helios747,AdmiralCurtiss,Pokechu22,leoetlino,Tilka,linkmauve,degasus,Parlane,phire,CrossVR,jordan-woyak')", 'type': 'internal_log'}
2025-07-05T21:28:08.349954	{'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/zdjp6l92qsi6ik9yc8mnfsb8k17v6gkj-python3.12-central-0.1.0/lib/python3.12/site-packages/central/github/authz.py', 'lineno': 21, 'msg': 'Refreshing list of trusted users (from %s/%s)', 'args': "('dolphin-emu', 'core-developers')", 'type': 'internal_log'}
2025-07-05T21:26:47.427466	{'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/zdjp6l92qsi6ik9yc8mnfsb8k17v6gkj-python3.12-central-0.1.0/lib/python3.12/site-packages/central/github/authz.py', 'lineno': 30, 'msg': 'New GH %s: %s', 'args': "('dolphin-emu/trusted-developers', 'OrN,JosJuice,Filoppi,mimimi085181,glennricster,Alcaro,neobrain,endrift,vladfi1,yourWaifu,deReeperJosh,Ebola16,marcan,meffij,phire,moncefmechri,K0bin,spxtr,ShimmerGlass,jezze,randomstuff,SuperSamus,iwubcode,unknownbrackets,LPFaint99,NanoByte011,TellowKrinkle,skylersaleh,ligfx,rlnilsen,sepalani,zackhow,riking,Gamer64ytb,JMC47,Sintendo,mahdihijazi,aldelaro5,archshift,PatrickFerry,MayImilae,FioraAeterna,adamdmoss,mathieui,aroulin,hthh,ColinDTaylor,LillyJadeKatrin,mrgreywater,EmptyChaos,CrossVR,magumagu,hrydgard,Starsam80,Parlane,zopieux,dreamsyntax,rukai,delroth,shonumi,LAGonauta,malleoz,Orphis,tygyh,Stevoisiak,Simonx22,hdcmeta,leoetlino,krnlyng,CookiePLMonster,DacoTaco,RachelBryk,OatmealDome,lioncash,Helios747,CelestialAmber,Phatcat,degasus,jordan-woyak,Dentomologist,nullgemm,kamiyo,Buddybenj,gwicks,spycrab,Pokechu22,JoshuaVandaele,Tinob,noahpistilli,Ziek,kayru,CasualPokePlayer,hackbar,Ryanel,merryhime,rohit-n,Tilka,mandar1jn,galop1n,JordanTheToaster,mbc07,comex,CrystalGamma,Linktothepast,booto,mitaclaw,Techjar,magcius,Geotale,Lobsterzelda,SirMangler,smurf3tte,jloehr,linkmauve,skidau,mmastrac,jjdelvalle,nickbeth,orbea,cristian64,AdmiralCurtiss,TryTwo,bentley,Sam-Belliveau,RisingFog,BhaaLseN,Zopolis4,Hydr8gon')", 'type': 'internal_log'}
2025-07-05T21:26:46.449144	{'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/zdjp6l92qsi6ik9yc8mnfsb8k17v6gkj-python3.12-central-0.1.0/lib/python3.12/site-packages/central/github/authz.py', 'lineno': 21, 'msg': 'Refreshing list of trusted users (from %s/%s)', 'args': "('dolphin-emu', 'trusted-developers')", 'type': 'internal_log'}
2025-07-05T21:21:46.448750	{'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/zdjp6l92qsi6ik9yc8mnfsb8k17v6gkj-python3.12-central-0.1.0/lib/python3.12/site-packages/central/github/authz.py', 'lineno': 30, 'msg': 'New GH %s: %s', 'args': "('dolphin-emu/trusted-developers', 'OrN,JosJuice,Filoppi,mimimi085181,glennricster,Alcaro,neobrain,endrift,vladfi1,yourWaifu,deReeperJosh,Ebola16,marcan,meffij,phire,moncefmechri,K0bin,spxtr,ShimmerGlass,jezze,randomstuff,SuperSamus,iwubcode,unknownbrackets,LPFaint99,NanoByte011,TellowKrinkle,skylersaleh,ligfx,rlnilsen,sepalani,zackhow,riking,Gamer64ytb,JMC47,Sintendo,mahdihijazi,aldelaro5,archshift,PatrickFerry,MayImilae,FioraAeterna,adamdmoss,mathieui,aroulin,hthh,ColinDTaylor,LillyJadeKatrin,mrgreywater,EmptyChaos,CrossVR,magumagu,hrydgard,Starsam80,Parlane,zopieux,dreamsyntax,rukai,delroth,shonumi,LAGonauta,malleoz,Orphis,tygyh,Stevoisiak,Simonx22,hdcmeta,leoetlino,krnlyng,CookiePLMonster,DacoTaco,RachelBryk,OatmealDome,lioncash,Helios747,CelestialAmber,Phatcat,degasus,jordan-woyak,Dentomologist,nullgemm,kamiyo,Buddybenj,gwicks,spycrab,Pokechu22,JoshuaVandaele,Tinob,noahpistilli,Ziek,kayru,CasualPokePlayer,hackbar,Ryanel,merryhime,rohit-n,Tilka,mandar1jn,galop1n,JordanTheToaster,mbc07,comex,CrystalGamma,Linktothepast,booto,mitaclaw,Techjar,magcius,Geotale,Lobsterzelda,SirMangler,smurf3tte,jloehr,linkmauve,skidau,mmastrac,jjdelvalle,nickbeth,orbea,cristian64,AdmiralCurtiss,TryTwo,bentley,Sam-Belliveau,RisingFog,BhaaLseN,Zopolis4,Hydr8gon')", 'type': 'internal_log'}
2025-07-05T21:21:45.467803	{'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/zdjp6l92qsi6ik9yc8mnfsb8k17v6gkj-python3.12-central-0.1.0/lib/python3.12/site-packages/central/github/authz.py', 'lineno': 21, 'msg': 'Refreshing list of trusted users (from %s/%s)', 'args': "('dolphin-emu', 'trusted-developers')", 'type': 'internal_log'}
2025-07-05T21:18:08.349639	{'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/zdjp6l92qsi6ik9yc8mnfsb8k17v6gkj-python3.12-central-0.1.0/lib/python3.12/site-packages/central/github/authz.py', 'lineno': 30, 'msg': 'New GH %s: %s', 'args': "('dolphin-emu/core-developers', 'skidau,OatmealDome,delroth,JosJuice,spycrab,hrydgard,lioncash,Helios747,AdmiralCurtiss,Pokechu22,leoetlino,Tilka,linkmauve,degasus,Parlane,phire,CrossVR,jordan-woyak')", 'type': 'internal_log'}
2025-07-05T21:18:08.159073	{'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/zdjp6l92qsi6ik9yc8mnfsb8k17v6gkj-python3.12-central-0.1.0/lib/python3.12/site-packages/central/github/authz.py', 'lineno': 21, 'msg': 'Refreshing list of trusted users (from %s/%s)', 'args': "('dolphin-emu', 'core-developers')", 'type': 'internal_log'}
2025-07-05T21:16:45.467408	{'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/zdjp6l92qsi6ik9yc8mnfsb8k17v6gkj-python3.12-central-0.1.0/lib/python3.12/site-packages/central/github/authz.py', 'lineno': 30, 'msg': 'New GH %s: %s', 'args': "('dolphin-emu/trusted-developers', 'OrN,JosJuice,Filoppi,mimimi085181,glennricster,Alcaro,neobrain,endrift,vladfi1,yourWaifu,deReeperJosh,Ebola16,marcan,meffij,phire,moncefmechri,K0bin,spxtr,ShimmerGlass,jezze,randomstuff,SuperSamus,iwubcode,unknownbrackets,LPFaint99,NanoByte011,TellowKrinkle,skylersaleh,ligfx,rlnilsen,sepalani,zackhow,riking,Gamer64ytb,JMC47,Sintendo,mahdihijazi,aldelaro5,archshift,PatrickFerry,MayImilae,FioraAeterna,adamdmoss,mathieui,aroulin,hthh,ColinDTaylor,LillyJadeKatrin,mrgreywater,EmptyChaos,CrossVR,magumagu,hrydgard,Starsam80,Parlane,zopieux,dreamsyntax,rukai,delroth,shonumi,LAGonauta,malleoz,Orphis,tygyh,Stevoisiak,Simonx22,hdcmeta,leoetlino,krnlyng,CookiePLMonster,DacoTaco,RachelBryk,OatmealDome,lioncash,Helios747,CelestialAmber,Phatcat,degasus,jordan-woyak,Dentomologist,nullgemm,kamiyo,Buddybenj,gwicks,spycrab,Pokechu22,JoshuaVandaele,Tinob,noahpistilli,Ziek,kayru,CasualPokePlayer,hackbar,Ryanel,merryhime,rohit-n,Tilka,mandar1jn,galop1n,JordanTheToaster,mbc07,comex,CrystalGamma,Linktothepast,booto,mitaclaw,Techjar,magcius,Geotale,Lobsterzelda,SirMangler,smurf3tte,jloehr,linkmauve,skidau,mmastrac,jjdelvalle,nickbeth,orbea,cristian64,AdmiralCurtiss,TryTwo,bentley,Sam-Belliveau,RisingFog,BhaaLseN,Zopolis4,Hydr8gon')", 'type': 'internal_log'}
2025-07-05T21:16:44.200134	{'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/zdjp6l92qsi6ik9yc8mnfsb8k17v6gkj-python3.12-central-0.1.0/lib/python3.12/site-packages/central/github/authz.py', 'lineno': 21, 'msg': 'Refreshing list of trusted users (from %s/%s)', 'args': "('dolphin-emu', 'trusted-developers')", 'type': 'internal_log'}
2025-07-05T21:11:44.199702	{'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/zdjp6l92qsi6ik9yc8mnfsb8k17v6gkj-python3.12-central-0.1.0/lib/python3.12/site-packages/central/github/authz.py', 'lineno': 30, 'msg': 'New GH %s: %s', 'args': "('dolphin-emu/trusted-developers', 'OrN,JosJuice,Filoppi,mimimi085181,glennricster,Alcaro,neobrain,endrift,vladfi1,yourWaifu,deReeperJosh,Ebola16,marcan,meffij,phire,moncefmechri,K0bin,spxtr,ShimmerGlass,jezze,randomstuff,SuperSamus,iwubcode,unknownbrackets,LPFaint99,NanoByte011,TellowKrinkle,skylersaleh,ligfx,rlnilsen,sepalani,zackhow,riking,Gamer64ytb,JMC47,Sintendo,mahdihijazi,aldelaro5,archshift,PatrickFerry,MayImilae,FioraAeterna,adamdmoss,mathieui,aroulin,hthh,ColinDTaylor,LillyJadeKatrin,mrgreywater,EmptyChaos,CrossVR,magumagu,hrydgard,Starsam80,Parlane,zopieux,dreamsyntax,rukai,delroth,shonumi,LAGonauta,malleoz,Orphis,tygyh,Stevoisiak,Simonx22,hdcmeta,leoetlino,krnlyng,CookiePLMonster,DacoTaco,RachelBryk,OatmealDome,lioncash,Helios747,CelestialAmber,Phatcat,degasus,jordan-woyak,Dentomologist,nullgemm,kamiyo,Buddybenj,gwicks,spycrab,Pokechu22,JoshuaVandaele,Tinob,noahpistilli,Ziek,kayru,CasualPokePlayer,hackbar,Ryanel,merryhime,rohit-n,Tilka,mandar1jn,galop1n,JordanTheToaster,mbc07,comex,CrystalGamma,Linktothepast,booto,mitaclaw,Techjar,magcius,Geotale,Lobsterzelda,SirMangler,smurf3tte,jloehr,linkmauve,skidau,mmastrac,jjdelvalle,nickbeth,orbea,cristian64,AdmiralCurtiss,TryTwo,bentley,Sam-Belliveau,RisingFog,BhaaLseN,Zopolis4,Hydr8gon')", 'type': 'internal_log'}
2025-07-05T21:11:43.251304	{'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/zdjp6l92qsi6ik9yc8mnfsb8k17v6gkj-python3.12-central-0.1.0/lib/python3.12/site-packages/central/github/authz.py', 'lineno': 21, 'msg': 'Refreshing list of trusted users (from %s/%s)', 'args': "('dolphin-emu', 'trusted-developers')", 'type': 'internal_log'}
2025-07-05T21:08:08.158748	{'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/zdjp6l92qsi6ik9yc8mnfsb8k17v6gkj-python3.12-central-0.1.0/lib/python3.12/site-packages/central/github/authz.py', 'lineno': 30, 'msg': 'New GH %s: %s', 'args': "('dolphin-emu/core-developers', 'skidau,OatmealDome,delroth,JosJuice,spycrab,hrydgard,lioncash,Helios747,AdmiralCurtiss,Pokechu22,leoetlino,Tilka,linkmauve,degasus,Parlane,phire,CrossVR,jordan-woyak')", 'type': 'internal_log'}
2025-07-05T21:08:07.949816	{'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/zdjp6l92qsi6ik9yc8mnfsb8k17v6gkj-python3.12-central-0.1.0/lib/python3.12/site-packages/central/github/authz.py', 'lineno': 21, 'msg': 'Refreshing list of trusted users (from %s/%s)', 'args': "('dolphin-emu', 'core-developers')", 'type': 'internal_log'}
2025-07-05T21:06:43.250900	{'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/zdjp6l92qsi6ik9yc8mnfsb8k17v6gkj-python3.12-central-0.1.0/lib/python3.12/site-packages/central/github/authz.py', 'lineno': 30, 'msg': 'New GH %s: %s', 'args': "('dolphin-emu/trusted-developers', 'OrN,JosJuice,Filoppi,mimimi085181,glennricster,Alcaro,neobrain,endrift,vladfi1,yourWaifu,deReeperJosh,Ebola16,marcan,meffij,phire,moncefmechri,K0bin,spxtr,ShimmerGlass,jezze,randomstuff,SuperSamus,iwubcode,unknownbrackets,LPFaint99,NanoByte011,TellowKrinkle,skylersaleh,ligfx,rlnilsen,sepalani,zackhow,riking,Gamer64ytb,JMC47,Sintendo,mahdihijazi,aldelaro5,archshift,PatrickFerry,MayImilae,FioraAeterna,adamdmoss,mathieui,aroulin,hthh,ColinDTaylor,LillyJadeKatrin,mrgreywater,EmptyChaos,CrossVR,magumagu,hrydgard,Starsam80,Parlane,zopieux,dreamsyntax,rukai,delroth,shonumi,LAGonauta,malleoz,Orphis,tygyh,Stevoisiak,Simonx22,hdcmeta,leoetlino,krnlyng,CookiePLMonster,DacoTaco,RachelBryk,OatmealDome,lioncash,Helios747,CelestialAmber,Phatcat,degasus,jordan-woyak,Dentomologist,nullgemm,kamiyo,Buddybenj,gwicks,spycrab,Pokechu22,JoshuaVandaele,Tinob,noahpistilli,Ziek,kayru,CasualPokePlayer,hackbar,Ryanel,merryhime,rohit-n,Tilka,mandar1jn,galop1n,JordanTheToaster,mbc07,comex,CrystalGamma,Linktothepast,booto,mitaclaw,Techjar,magcius,Geotale,Lobsterzelda,SirMangler,smurf3tte,jloehr,linkmauve,skidau,mmastrac,jjdelvalle,nickbeth,orbea,cristian64,AdmiralCurtiss,TryTwo,bentley,Sam-Belliveau,RisingFog,BhaaLseN,Zopolis4,Hydr8gon')", 'type': 'internal_log'}
2025-07-05T21:06:42.307533	{'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/zdjp6l92qsi6ik9yc8mnfsb8k17v6gkj-python3.12-central-0.1.0/lib/python3.12/site-packages/central/github/authz.py', 'lineno': 21, 'msg': 'Refreshing list of trusted users (from %s/%s)', 'args': "('dolphin-emu', 'trusted-developers')", 'type': 'internal_log'}
2025-07-05T21:01:42.307070	{'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/zdjp6l92qsi6ik9yc8mnfsb8k17v6gkj-python3.12-central-0.1.0/lib/python3.12/site-packages/central/github/authz.py', 'lineno': 30, 'msg': 'New GH %s: %s', 'args': "('dolphin-emu/trusted-developers', 'OrN,JosJuice,Filoppi,mimimi085181,glennricster,Alcaro,neobrain,endrift,vladfi1,yourWaifu,deReeperJosh,Ebola16,marcan,meffij,phire,moncefmechri,K0bin,spxtr,ShimmerGlass,jezze,randomstuff,SuperSamus,iwubcode,unknownbrackets,LPFaint99,NanoByte011,TellowKrinkle,skylersaleh,ligfx,rlnilsen,sepalani,zackhow,riking,Gamer64ytb,JMC47,Sintendo,mahdihijazi,aldelaro5,archshift,PatrickFerry,MayImilae,FioraAeterna,adamdmoss,mathieui,aroulin,hthh,ColinDTaylor,LillyJadeKatrin,mrgreywater,EmptyChaos,CrossVR,magumagu,hrydgard,Starsam80,Parlane,zopieux,dreamsyntax,rukai,delroth,shonumi,LAGonauta,malleoz,Orphis,tygyh,Stevoisiak,Simonx22,hdcmeta,leoetlino,krnlyng,CookiePLMonster,DacoTaco,RachelBryk,OatmealDome,lioncash,Helios747,CelestialAmber,Phatcat,degasus,jordan-woyak,Dentomologist,nullgemm,kamiyo,Buddybenj,gwicks,spycrab,Pokechu22,JoshuaVandaele,Tinob,noahpistilli,Ziek,kayru,CasualPokePlayer,hackbar,Ryanel,merryhime,rohit-n,Tilka,mandar1jn,galop1n,JordanTheToaster,mbc07,comex,CrystalGamma,Linktothepast,booto,mitaclaw,Techjar,magcius,Geotale,Lobsterzelda,SirMangler,smurf3tte,jloehr,linkmauve,skidau,mmastrac,jjdelvalle,nickbeth,orbea,cristian64,AdmiralCurtiss,TryTwo,bentley,Sam-Belliveau,RisingFog,BhaaLseN,Zopolis4,Hydr8gon')", 'type': 'internal_log'}
2025-07-05T21:01:41.300735	{'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/zdjp6l92qsi6ik9yc8mnfsb8k17v6gkj-python3.12-central-0.1.0/lib/python3.12/site-packages/central/github/authz.py', 'lineno': 21, 'msg': 'Refreshing list of trusted users (from %s/%s)', 'args': "('dolphin-emu', 'trusted-developers')", 'type': 'internal_log'}
2025-07-05T20:58:07.949481	{'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/zdjp6l92qsi6ik9yc8mnfsb8k17v6gkj-python3.12-central-0.1.0/lib/python3.12/site-packages/central/github/authz.py', 'lineno': 30, 'msg': 'New GH %s: %s', 'args': "('dolphin-emu/core-developers', 'skidau,OatmealDome,delroth,JosJuice,spycrab,hrydgard,lioncash,Helios747,AdmiralCurtiss,Pokechu22,leoetlino,Tilka,linkmauve,degasus,Parlane,phire,CrossVR,jordan-woyak')", 'type': 'internal_log'}
2025-07-05T20:58:07.713072	{'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/zdjp6l92qsi6ik9yc8mnfsb8k17v6gkj-python3.12-central-0.1.0/lib/python3.12/site-packages/central/github/authz.py', 'lineno': 21, 'msg': 'Refreshing list of trusted users (from %s/%s)', 'args': "('dolphin-emu', 'core-developers')", 'type': 'internal_log'}
2025-07-05T20:56:41.300277	{'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/zdjp6l92qsi6ik9yc8mnfsb8k17v6gkj-python3.12-central-0.1.0/lib/python3.12/site-packages/central/github/authz.py', 'lineno': 30, 'msg': 'New GH %s: %s', 'args': "('dolphin-emu/trusted-developers', 'OrN,JosJuice,Filoppi,mimimi085181,glennricster,Alcaro,neobrain,endrift,vladfi1,yourWaifu,deReeperJosh,Ebola16,marcan,meffij,phire,moncefmechri,K0bin,spxtr,ShimmerGlass,jezze,randomstuff,SuperSamus,iwubcode,unknownbrackets,LPFaint99,NanoByte011,TellowKrinkle,skylersaleh,ligfx,rlnilsen,sepalani,zackhow,riking,Gamer64ytb,JMC47,Sintendo,mahdihijazi,aldelaro5,archshift,PatrickFerry,MayImilae,FioraAeterna,adamdmoss,mathieui,aroulin,hthh,ColinDTaylor,LillyJadeKatrin,mrgreywater,EmptyChaos,CrossVR,magumagu,hrydgard,Starsam80,Parlane,zopieux,dreamsyntax,rukai,delroth,shonumi,LAGonauta,malleoz,Orphis,tygyh,Stevoisiak,Simonx22,hdcmeta,leoetlino,krnlyng,CookiePLMonster,DacoTaco,RachelBryk,OatmealDome,lioncash,Helios747,CelestialAmber,Phatcat,degasus,jordan-woyak,Dentomologist,nullgemm,kamiyo,Buddybenj,gwicks,spycrab,Pokechu22,JoshuaVandaele,Tinob,noahpistilli,Ziek,kayru,CasualPokePlayer,hackbar,Ryanel,merryhime,rohit-n,Tilka,mandar1jn,galop1n,JordanTheToaster,mbc07,comex,CrystalGamma,Linktothepast,booto,mitaclaw,Techjar,magcius,Geotale,Lobsterzelda,SirMangler,smurf3tte,jloehr,linkmauve,skidau,mmastrac,jjdelvalle,nickbeth,orbea,cristian64,AdmiralCurtiss,TryTwo,bentley,Sam-Belliveau,RisingFog,BhaaLseN,Zopolis4,Hydr8gon')", 'type': 'internal_log'}

Recent 'issue' events

2025-07-04T22:32:39.703087	{'source': 'redmine', 'new': False, 'update': 1, 'issue': 10597, 'title': 'Breakpoints "Active" and "Function" columns are confusing', 'author': 'Amphitryon', 'type': 'issue'}
2025-07-04T12:21:41.350406	{'source': 'redmine', 'new': False, 'update': 3, 'issue': 10428, 'title': 'Pausing with debug enabled breaks memory viewer then crashes games upon resuming.', 'author': 'Amphitryon', 'type': 'issue'}
2025-07-03T18:55:22.423098	{'source': 'redmine', 'new': False, 'update': 3, 'issue': 10350, 'title': 'Breakpoints causing different behavior', 'author': 'AdmiralCurtiss', 'type': 'issue'}
2025-07-03T18:49:09.823703	{'source': 'redmine', 'new': False, 'update': 12, 'issue': 9521, 'title': 'Debugger unable to follow routines', 'author': 'Amphitryon', 'type': 'issue'}
2025-07-03T16:14:29.793436	{'source': 'redmine', 'new': False, 'update': 5, 'issue': 13598, 'title': 'Skylanders Portal Emulation Not Working in Netplay', 'author': 'JosJuice', 'type': 'issue'}
2025-07-03T16:09:41.549754	{'source': 'redmine', 'new': False, 'update': 7, 'issue': 9341, 'title': 'Mario Golf Toadstool Tour opening movie displays incorrectly', 'author': 'Amphitryon', 'type': 'issue'}
2025-07-03T12:50:38.390574	{'source': 'redmine', 'new': False, 'update': 5, 'issue': 13675, 'title': 'Android Analytics over-counting', 'author': 'Amphitryon', 'type': 'issue'}
2025-07-03T10:54:47.304071	{'source': 'redmine', 'new': False, 'update': 4, 'issue': 13598, 'title': 'Skylanders Portal Emulation Not Working in Netplay', 'author': 'Duratlas', 'type': 'issue'}
2025-07-03T01:36:21.013939	{'source': 'redmine', 'new': False, 'update': 3, 'issue': 13823, 'title': 'SYSCONF settings reverted if overridden in GameINI', 'author': 'Amphitryon', 'type': 'issue'}
2025-07-03T01:33:31.697379	{'source': 'redmine', 'new': False, 'update': 3, 'issue': 13829, 'title': 'Save all values in memory widget when auto-update is disabled', 'author': 'Amphitryon', 'type': 'issue'}
2025-07-02T23:35:06.027059	{'source': 'redmine', 'new': False, 'update': 2, 'issue': 8044, 'title': 'Stair-casing (scaling artefact) since 4.0-4824', 'author': 'Amphitryon', 'type': 'issue'}
2025-07-02T22:21:53.048579	{'source': 'redmine', 'new': False, 'update': 4, 'issue': 13675, 'title': 'Android Analytics over-counting', 'author': 'totallylegit', 'type': 'issue'}
2025-07-02T15:56:03.145566	{'source': 'redmine', 'new': False, 'update': 22, 'issue': 13125, 'title': 'Dolphin not opening through Steam while Switch Pro Controller is connected', 'author': 'JosJuice', 'type': 'issue'}
2025-07-02T14:30:39.141624	{'source': 'redmine', 'new': False, 'update': 21, 'issue': 13125, 'title': 'Dolphin not opening through Steam while Switch Pro Controller is connected', 'author': 'funkypc', 'type': 'issue'}
2025-07-01T04:43:27.630228	{'source': 'redmine', 'new': False, 'update': 5, 'issue': 13836, 'title': 'Toggle mute does nothing', 'author': 'Ladybunne', 'type': 'issue'}
2025-07-01T04:30:10.067347	{'source': 'redmine', 'new': False, 'update': 4, 'issue': 13836, 'title': 'Toggle mute does nothing', 'author': 'Billiard26', 'type': 'issue'}
2025-07-01T04:24:47.444331	{'source': 'redmine', 'new': False, 'update': 3, 'issue': 13836, 'title': 'Toggle mute does nothing', 'author': 'Ladybunne', 'type': 'issue'}
2025-07-01T04:22:18.758298	{'source': 'redmine', 'new': False, 'update': 2, 'issue': 13836, 'title': 'Toggle mute does nothing', 'author': 'Billiard26', 'type': 'issue'}
2025-07-01T04:19:09.163709	{'source': 'redmine', 'new': True, 'update': 0, 'issue': 13836, 'title': 'Toggle mute does nothing', 'author': 'Ladybunne', 'type': 'issue'}
2025-07-01T01:56:49.788027	{'source': 'redmine', 'new': False, 'update': 2, 'issue': 13615, 'title': 'Wiimotes that are disconnected can not be reconnected', 'author': 'Billiard26', 'type': 'issue'}
2025-07-01T01:45:43.675369	{'source': 'redmine', 'new': False, 'update': 20, 'issue': 13125, 'title': 'Dolphin not opening through Steam while Switch Pro Controller is connected', 'author': 'Billiard26', 'type': 'issue'}
2025-06-30T10:48:36.730967	{'source': 'redmine', 'new': False, 'update': 14, 'issue': 13211, 'title': 'Bluetooth passthrough on Linux does not remember paired Wiimotes', 'author': 'Billiard26', 'type': 'issue'}
2025-06-30T10:46:11.638488	{'source': 'redmine', 'new': False, 'update': 13, 'issue': 13211, 'title': 'Bluetooth passthrough on Linux does not remember paired Wiimotes', 'author': 'glitchy02', 'type': 'issue'}
2025-06-30T10:11:00.951343	{'source': 'redmine', 'new': False, 'update': 3, 'issue': 13116, 'title': 'Bluetooth Passthrough Bug with Wii Sports (Rev1)', 'author': 'Billiard26', 'type': 'issue'}
2025-06-30T10:08:10.536098	{'source': 'redmine', 'new': False, 'update': 2, 'issue': 13116, 'title': 'Bluetooth Passthrough Bug with Wii Sports (Rev1)', 'author': 'SiriusVI', 'type': 'issue'}

Recent 'new_dev_version' events

2025-07-03T06:31:04.842098	{'source': 'repomanager', 'hash': 'a5e85caf0af66fec07b476718a69519b06e6a69f', 'branch': 'master', 'shortrev': '2506-183', 'author': 'Jordan Woyak', 'message': 'Merge pull request #13736 from jordan-woyak/main-config-gfx\n\nDolphinQt: Move graphics config to main Settings window.', 'url': 'https://github.com/dolphin-emu/dolphin/commit/a5e85caf0af66fec07b476718a69519b06e6a69f', 'type': 'new_dev_version'}
2025-07-01T21:09:11.298674	{'source': 'repomanager', 'hash': 'b03a7821f2d1dccf0f33045541b006d1d4a67fac', 'branch': 'master', 'shortrev': '2506-180', 'author': 'Admiral H. Curtiss', 'message': 'Merge pull request #13778 from matheuswillder/GameINI-Disable-Dual-Core-for-Rally-Championship\n\nGameINI: Disable Dual Core for Rally Championship', 'url': 'https://github.com/dolphin-emu/dolphin/commit/b03a7821f2d1dccf0f33045541b006d1d4a67fac', 'type': 'new_dev_version'}
2025-07-01T20:54:41.301078	{'source': 'repomanager', 'hash': 'a84fa387de6e812578b98d9cfbbcd0b7644640d1', 'branch': 'master', 'shortrev': '2506-178', 'author': 'Admiral H. Curtiss', 'message': 'Merge pull request #13785 from Dentomologist/memorywidget_fix_hex_input_validation_errors\n\nMemoryWidget: Fix hex input validation errors', 'url': 'https://github.com/dolphin-emu/dolphin/commit/a84fa387de6e812578b98d9cfbbcd0b7644640d1', 'type': 'new_dev_version'}
2025-07-01T20:51:34.243500	{'source': 'repomanager', 'hash': '74eeeebfdee44f6921afdc3014d27c928b5737e1', 'branch': 'master', 'shortrev': '2506-175', 'author': 'Admiral H. Curtiss', 'message': 'Merge pull request #13788 from jordan-woyak/post-proc-config-window-adjust-size\n\nDolphinQt: Adjust PostProcessingConfigWindow size on creation.', 'url': 'https://github.com/dolphin-emu/dolphin/commit/74eeeebfdee44f6921afdc3014d27c928b5737e1', 'type': 'new_dev_version'}
2025-07-01T18:52:44.859970	{'source': 'repomanager', 'hash': '2871fe08c97ac2153f3c7e29ebe72d3e32af61be', 'branch': 'master', 'shortrev': '2506-173', 'author': 'JMC47', 'message': 'Merge pull request #13782 from noahpistilli/wii_no_pad\n\nIOS/KD: Pad Wii Numbers to 16 digits', 'url': 'https://github.com/dolphin-emu/dolphin/commit/2871fe08c97ac2153f3c7e29ebe72d3e32af61be', 'type': 'new_dev_version'}
2025-06-29T22:00:06.431979	{'source': 'repomanager', 'hash': '9a0d4501f8e41f186068ecbc52408d5281223760', 'branch': 'master', 'shortrev': '2506-171', 'author': 'JMC47', 'message': 'Merge pull request #13751 from jordan-woyak/btreal-improvements\n\nBluetooth Passthrough Improvements', 'url': 'https://github.com/dolphin-emu/dolphin/commit/9a0d4501f8e41f186068ecbc52408d5281223760', 'type': 'new_dev_version'}
2025-06-29T19:44:55.413588	{'source': 'repomanager', 'hash': '626315d50a53b1ca5e1f6ec52a1d3ce7012411f4', 'branch': 'master', 'shortrev': '2506-164', 'author': 'JMC47', 'message': 'Merge pull request #13750 from TryTwo/PR_Symbol_Loading\n\nPPCSymbols: Restructure loading on boot and add a mutex to prevent crashes.', 'url': 'https://github.com/dolphin-emu/dolphin/commit/626315d50a53b1ca5e1f6ec52a1d3ce7012411f4', 'type': 'new_dev_version'}
2025-06-28T23:45:08.922694	{'source': 'repomanager', 'hash': 'b3e349b4df59b6dda9bbbb457d9366c0104c5731', 'branch': 'master', 'shortrev': '2506-160', 'author': 'Jordan Woyak', 'message': 'Merge pull request #13772 from rastshawn/use-btdevice-selection\n\nBTReal: bugfix - BT passthrough uses selected device rather than first compatible device in list', 'url': 'https://github.com/dolphin-emu/dolphin/commit/b3e349b4df59b6dda9bbbb457d9366c0104c5731', 'type': 'new_dev_version'}
2025-06-28T20:46:27.582429	{'source': 'repomanager', 'hash': '8d7bb0a44af8d1cbd61586e4dfeae8e4b2415856', 'branch': 'master', 'shortrev': '2506-158', 'author': 'JosJuice', 'message': 'Translation resources sync with Transifex', 'url': 'https://github.com/dolphin-emu/dolphin/commit/8d7bb0a44af8d1cbd61586e4dfeae8e4b2415856', 'type': 'new_dev_version'}
2025-06-28T20:13:07.442822	{'source': 'repomanager', 'hash': '3a320137404f03b0fc0636748f36acd21b9886ca', 'branch': 'master', 'shortrev': '2506-157', 'author': 'Jordan Woyak', 'message': 'Merge pull request #13773 from JosJuice/i18n-2025-06-22\n\ni18n: Add comments', 'url': 'https://github.com/dolphin-emu/dolphin/commit/3a320137404f03b0fc0636748f36acd21b9886ca', 'type': 'new_dev_version'}
2025-06-24T22:59:52.243580	{'source': 'repomanager', 'hash': '43aa7e9b9658d3c1508512b6b0caef7737ed6683', 'branch': 'master', 'shortrev': '2506-155', 'author': 'JMC47', 'message': 'Merge pull request #13694 from jordan-woyak/sdl3\n\nUpdate to SDL3', 'url': 'https://github.com/dolphin-emu/dolphin/commit/43aa7e9b9658d3c1508512b6b0caef7737ed6683', 'type': 'new_dev_version'}
2025-06-24T22:22:52.107716	{'source': 'repomanager', 'hash': '43c156084bbeeaa3bd7c06b5e4f3118e335f777d', 'branch': 'master', 'shortrev': '2506-153', 'author': 'JMC47', 'message': 'Merge pull request #13759 from jordan-woyak/calibrate-autocomplete\n\nDolphinQt: Make Calibration autocomplete when data is "sensible" and stick is returned to neutral position.', 'url': 'https://github.com/dolphin-emu/dolphin/commit/43c156084bbeeaa3bd7c06b5e4f3118e335f777d', 'type': 'new_dev_version'}
2025-06-24T20:36:53.143220	{'source': 'repomanager', 'hash': 'e9b57393a6531c946f9dd43674559b32465b2727', 'branch': 'master', 'shortrev': '2506-151', 'author': 'JMC47', 'message': 'Merge pull request #13766 from JosJuice/powerpc-missing-updates\n\nPowerPC: Add missing SDRUpdated/MSRUpdated calls', 'url': 'https://github.com/dolphin-emu/dolphin/commit/e9b57393a6531c946f9dd43674559b32465b2727', 'type': 'new_dev_version'}
2025-06-24T20:36:00.399718	{'source': 'repomanager', 'hash': '97febd9477502a29c08190b07f71aaebb22a6834', 'branch': 'master', 'shortrev': '2506-148', 'author': 'JMC47', 'message': 'Merge pull request #13763 from Dentomologist/mainwindow_show_hardcore_mode_error_for_recording_playback\n\nMainWindow: Show hardcore mode error for recording playback', 'url': 'https://github.com/dolphin-emu/dolphin/commit/97febd9477502a29c08190b07f71aaebb22a6834', 'type': 'new_dev_version'}
2025-06-24T20:35:45.428305	{'source': 'repomanager', 'hash': '0946814711012ee79fa42585b2172db2502262e3', 'branch': 'master', 'shortrev': '2506-146', 'author': 'JMC47', 'message': 'Merge pull request #13761 from Dentomologist/qt_use_nonautodismissiblemenu_in_more_places\n\nQt: Use NonAutodismissibleMenu in more places', 'url': 'https://github.com/dolphin-emu/dolphin/commit/0946814711012ee79fa42585b2172db2502262e3', 'type': 'new_dev_version'}
2025-06-24T20:35:16.075936	{'source': 'repomanager', 'hash': '3627cfb7b1c661e6e96ae1c60088383bfa74b983', 'branch': 'master', 'shortrev': '2506-142', 'author': 'JMC47', 'message': 'Merge pull request #13758 from Dentomologist/threadwidget_fix_line_edit_margins\n\nThreadWidget: Fix line edit margins', 'url': 'https://github.com/dolphin-emu/dolphin/commit/3627cfb7b1c661e6e96ae1c60088383bfa74b983', 'type': 'new_dev_version'}
2025-06-24T20:34:51.476238	{'source': 'repomanager', 'hash': '2e8da29ca21bbc49b53f0a53ceb590ab444eaf87', 'branch': 'master', 'shortrev': '2506-140', 'author': 'JMC47', 'message': 'Merge pull request #13756 from Tilka/price_is_right\n\nGameSettings: some updates', 'url': 'https://github.com/dolphin-emu/dolphin/commit/2e8da29ca21bbc49b53f0a53ceb590ab444eaf87', 'type': 'new_dev_version'}
2025-06-24T20:34:30.412664	{'source': 'repomanager', 'hash': 'f7fa59e05d214b3cf15fb71a13d2ed5d4213c9c5', 'branch': 'master', 'shortrev': '2506-135', 'author': 'JMC47', 'message': 'Merge pull request #13754 from SuperSamus/nsmbw-pal-remove-speedhack\n\nGameINI: Remove NSMBW PAL speed hack', 'url': 'https://github.com/dolphin-emu/dolphin/commit/f7fa59e05d214b3cf15fb71a13d2ed5d4213c9c5', 'type': 'new_dev_version'}
2025-06-24T19:41:29.413632	{'source': 'repomanager', 'hash': 'fbced5d0f57c9098e5d715fc4c1962c22dddca0c', 'branch': 'master', 'shortrev': '2506-133', 'author': 'Jordan Woyak', 'message': 'Merge pull request #13774 from Tilka/cp_cleanup\n\nVideoCommon: remove unused struct fields', 'url': 'https://github.com/dolphin-emu/dolphin/commit/fbced5d0f57c9098e5d715fc4c1962c22dddca0c', 'type': 'new_dev_version'}
2025-06-22T19:29:55.102715	{'source': 'repomanager', 'hash': 'fa9f71e48232e054605e721266c90cb106ca6924', 'branch': 'master', 'shortrev': '2506-131', 'author': 'JMC47', 'message': 'Merge pull request #13769 from JosJuice/merge-dbat-mappings\n\nMemmap: Optimize UpdateLogicalMemory by merging mappings', 'url': 'https://github.com/dolphin-emu/dolphin/commit/fa9f71e48232e054605e721266c90cb106ca6924', 'type': 'new_dev_version'}
2025-06-22T05:06:03.356019	{'source': 'repomanager', 'hash': 'c2aaca2b16d722686070840f0766398005e7a7f4', 'branch': 'master', 'shortrev': '2506-129', 'author': 'JMC47', 'message': 'Merge pull request #13765 from TryTwo/CodeWidget_clear_unused\n\nCodeWidget: Clear calls/callers if no symbol exists.', 'url': 'https://github.com/dolphin-emu/dolphin/commit/c2aaca2b16d722686070840f0766398005e7a7f4', 'type': 'new_dev_version'}
2025-06-22T05:05:46.253150	{'source': 'repomanager', 'hash': '19f3b7e61f237924d0394a0dd490acf07b8b7da5', 'branch': 'master', 'shortrev': '2506-127', 'author': 'JMC47', 'message': 'Merge pull request #13691 from TryTwo/PR_Notes\n\nDebugger Add note-type symbols .', 'url': 'https://github.com/dolphin-emu/dolphin/commit/19f3b7e61f237924d0394a0dd490acf07b8b7da5', 'type': 'new_dev_version'}
2025-06-17T18:06:08.443499	{'source': 'repomanager', 'hash': '413b7475ec662605b36ad413758a8ae2d89f66ae', 'branch': 'master', 'shortrev': '2506-123', 'author': 'Jordan Woyak', 'message': 'Merge pull request #13762 from Dentomologist/dolphinqt_add_vcxproj_clinclude\n\nDolphinQt: Add DolphinQt.vcxproj ClInclude line', 'url': 'https://github.com/dolphin-emu/dolphin/commit/413b7475ec662605b36ad413758a8ae2d89f66ae', 'type': 'new_dev_version'}
2025-06-15T20:45:08.224529	{'source': 'repomanager', 'hash': '28a6eb26cc2c98726c59f254e8962eb1209f5578', 'branch': 'master', 'shortrev': '2506-121', 'author': 'Jordan Woyak', 'message': 'Merge pull request #13703 from jordan-woyak/map-and-calibrate\n\nDolphinQt/InputCommon: Make the "Calibrate" button also map inputs.', 'url': 'https://github.com/dolphin-emu/dolphin/commit/28a6eb26cc2c98726c59f254e8962eb1209f5578', 'type': 'new_dev_version'}
2025-06-15T20:44:34.910954	{'source': 'repomanager', 'hash': '3a94289ad6e27011fe0ca3ab0fb0fee771fb9fa8', 'branch': 'master', 'shortrev': '2506-117', 'author': 'Jordan Woyak', 'message': 'Merge pull request #13744 from JoshuaVandaele/windows-specific-getdevicename\n\nHost: Implement a Windows-only implementation of `GetDeviceNameFromVIDPID`', 'url': 'https://github.com/dolphin-emu/dolphin/commit/3a94289ad6e27011fe0ca3ab0fb0fee771fb9fa8', 'type': 'new_dev_version'}

Recent 'new_release_version' events

2025-06-05T08:14:22.689411	{'source': 'repomanager', 'hash': '9843115ad8414970312c954d83145300d7cdbec3', 'tag': '2506a', 'author': 'OatmealDome', 'type': 'new_release_version'}

Recent 'notification' events

2025-07-05T18:36:02.860161	{'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] \x0303m\ufeffatheuswillder\x03 edited pull request #13779: GameINI: Add 30 FPS codes to Mario Kart: Double Dash, Mario Kart Wii, Super Mario Galaxy and Super Mario Galaxy 2 (\x0306master\x03...\x030630-FPS-code\x03): \x1f\x0302https://dolp.in/pr13779\x03\x1f', 'type': 'notification'}
2025-07-05T18:35:30.103253	{'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] \x0303m\ufeffatheuswillder\x03 edited a comment on #13779 (GameINI: Add 30 FPS codes to Mario Kart: Double Dash, Mario Kart Wii and Super Mario Galaxy 2): \x1f\x0302https://dolp.in/pr13779#issuecomment-3019981229\x03\x1f', 'type': 'notification'}
2025-07-05T18:32:24.530982	{'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] \x0303m\ufeffatheuswillder\x03 edited a comment on #13779 (GameINI: Add 30 FPS codes to Mario Kart: Double Dash, Mario Kart Wii and Super Mario Galaxy 2): \x1f\x0302https://dolp.in/pr13779#issuecomment-3017466931\x03\x1f', 'type': 'notification'}
2025-07-05T14:56:04.541113	{'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] \x0303J\ufeffosJuice\x03 commented on #13786 (PPCSymbolDB: Improve locking): \x1f\x0302https://dolp.in/pr13786#issuecomment-3039059753\x03\x1f', 'type': 'notification'}
2025-07-05T14:53:41.624270	{'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] \x0303J\ufeffosJuice\x03 commented on #13791 (BTReal: Implement Realtek firmware loading.): \x1f\x0302https://dolp.in/pr13791#issuecomment-3039056345\x03\x1f', 'type': 'notification'}
2025-07-05T13:37:25.395844	{'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] \x0303T\ufeffilka\x03 opened pull request #13792: WiiSaveBanner: fall back to $userdir/Load/WiiBanners (\x0306master\x03...\x0306wii_banners\x03): \x1f\x0302https://dolp.in/pr13792\x03\x1f', 'type': 'notification'}
2025-07-05T05:13:36.611626	{'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] \x0303m\ufeffbc07\x03 commented on #13791 (BTReal: Implement Realtek firmware loading.): \x1f\x0302https://dolp.in/pr13791#issuecomment-3038117867\x03\x1f', 'type': 'notification'}
2025-07-05T00:20:01.936891	{'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] \x0303j\ufeffordan-woyak\x03 edited pull request #13791: BTReal: Implement Realtek firmware loading. (\x0306master\x03...\x0306realtek-firmware-loader\x03): \x1f\x0302https://dolp.in/pr13791\x03\x1f', 'type': 'notification'}
2025-07-05T00:16:29.237754	{'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] \x0303j\ufeffordan-woyak\x03 edited a comment on #13791 (BTReal: Implement Realtek firmware loading.): \x1f\x0302https://dolp.in/pr13791#issuecomment-3037463157\x03\x1f', 'type': 'notification'}
2025-07-05T00:16:04.208260	{'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] \x0303j\ufeffordan-woyak\x03 commented on #13791 (BTReal: Implement Realtek firmware loading.): \x1f\x0302https://dolp.in/pr13791#issuecomment-3037463157\x03\x1f', 'type': 'notification'}
2025-07-04T22:32:39.703339	{'source': 'notifications', 'msg': 'Update 1 to issue 10597 ("Breakpoints "Active" and "Function" columns are confusing") by \x0303A\ufeffmphitryon\x03 - \x1f\x0302https://dolp.in/i10597/1\x03\x1f', 'type': 'notification'}
2025-07-04T22:32:19.814687	{'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] \x0303j\ufeffordan-woyak\x03 edited pull request #13791: BTReal: Implement Realtek firmware loading. (\x0306master\x03...\x0306realtek-firmware-loader\x03): \x1f\x0302https://dolp.in/pr13791\x03\x1f', 'type': 'notification'}
2025-07-04T22:29:05.208851	{'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] \x0303j\ufeffordan-woyak\x03 synchronized pull request #13791: BTReal: Implement Realtek firmware loading. (\x0306master\x03...\x0306realtek-firmware-loader\x03): \x1f\x0302https://dolp.in/pr13791\x03\x1f', 'type': 'notification'}
2025-07-04T22:23:55.748507	{'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] \x0303T\ufeffryTwo\x03 commented on #13786 (PPCSymbolDB: Improve locking): \x1f\x0302https://dolp.in/pr13786#issuecomment-3037322851\x03\x1f', 'type': 'notification'}
2025-07-04T21:47:24.988133	{'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] \x0303j\ufeffordan-woyak\x03 edited pull request #13791: BTReal: Implement Realtek firmware loading. (\x0306master\x03...\x0306realtek-firmware-loader\x03): \x1f\x0302https://dolp.in/pr13791\x03\x1f', 'type': 'notification'}
2025-07-04T21:15:23.551595	{'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] \x0303j\ufeffordan-woyak\x03 synchronized pull request #13791: BTReal: Implement Realtek firmware loading. (\x0306master\x03...\x0306realtek-firmware-loader\x03): \x1f\x0302https://dolp.in/pr13791\x03\x1f', 'type': 'notification'}
2025-07-04T21:11:25.144536	{'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] \x0303d\ufeffreamsyntax\x03 commented on #13786 (PPCSymbolDB: Improve locking): \x1f\x0302https://dolp.in/pr13786#issuecomment-3037245369\x03\x1f', 'type': 'notification'}
2025-07-04T18:45:38.692567	{'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] \x0303O\ufeffatmealDome\x03 commented on #13791 (BTReal: Implement Realtek firmware loading.): \x1f\x0302https://dolp.in/pr13791#issuecomment-3037053660\x03\x1f', 'type': 'notification'}
2025-07-04T16:42:00.613020	{'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] \x0303J\ufeffosJuice\x03 commented on #13791 (BTReal: Implement Realtek firmware loading.): \x1f\x0302https://dolp.in/pr13791#issuecomment-3036858264\x03\x1f', 'type': 'notification'}
2025-07-04T12:21:41.351689	{'source': 'notifications', 'msg': 'Update 3 to issue 10428 ("Pausing with debug enabled breaks memory viewer then crashes games upon resuming.") by \x0303A\ufeffmphitryon\x03 - \x1f\x0302https://dolp.in/i10428/3\x03\x1f', 'type': 'notification'}
2025-07-04T12:07:43.380387	{'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] \x0303j\ufeffordan-woyak\x03 edited a comment on #13791 (BTReal: Implement Realtek firmware loading.): \x1f\x0302https://dolp.in/pr13791#issuecomment-3035834434\x03\x1f', 'type': 'notification'}
2025-07-04T12:06:04.914578	{'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] \x0303j\ufeffordan-woyak\x03 synchronized pull request #13791: BTReal: Implement Realtek firmware loading. (\x0306master\x03...\x0306realtek-firmware-loader\x03): \x1f\x0302https://dolp.in/pr13791\x03\x1f', 'type': 'notification'}
2025-07-04T11:47:07.538270	{'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] \x0303j\ufeffordan-woyak\x03 edited a comment on #13791 (BTReal: Implement Realtek firmware loading.): \x1f\x0302https://dolp.in/pr13791#issuecomment-3035834434\x03\x1f', 'type': 'notification'}
2025-07-04T11:46:48.157302	{'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] \x0303j\ufeffordan-woyak\x03 commented on #13791 (BTReal: Implement Realtek firmware loading.): \x1f\x0302https://dolp.in/pr13791#issuecomment-3035834434\x03\x1f', 'type': 'notification'}
2025-07-04T11:37:19.454934	{'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] \x0303J\ufeffoshuaVandaele\x03 commented on #13791 (BTReal: Implement Realtek firmware loading.): \x1f\x0302https://dolp.in/pr13791#issuecomment-3035785445\x03\x1f', 'type': 'notification'}

Recent 'pull_request_fifoci_status' events

2025-07-05T14:10:12.999942	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': 'fe6fd2279c195517094538fff8667332049823ad', 'service': 'pr-fifoci-sw-lin-mesa', 'pr': 13792, 'type': 'pull_request_fifoci_status'}
2025-07-05T14:03:05.688075	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': 'fe6fd2279c195517094538fff8667332049823ad', 'service': 'pr-fifoci-ogl-lin-mesa', 'pr': 13792, 'type': 'pull_request_fifoci_status'}
2025-07-05T13:58:12.155054	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': 'fe6fd2279c195517094538fff8667332049823ad', 'service': 'pr-fifoci-mtl-osx-m1', 'pr': 13792, 'type': 'pull_request_fifoci_status'}
2025-07-05T13:49:47.818140	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': 'fe6fd2279c195517094538fff8667332049823ad', 'service': 'pr-fifoci-mvk-osx-m1', 'pr': 13792, 'type': 'pull_request_fifoci_status'}
2025-07-04T22:51:43.281595	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '78687c50fb433f05447505ec620c892701322eb5', 'service': 'pr-fifoci-sw-lin-mesa', 'pr': 13791, 'type': 'pull_request_fifoci_status'}
2025-07-04T22:46:19.863797	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '78687c50fb433f05447505ec620c892701322eb5', 'service': 'pr-fifoci-mtl-osx-m1', 'pr': 13791, 'type': 'pull_request_fifoci_status'}
2025-07-04T22:45:14.224800	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '78687c50fb433f05447505ec620c892701322eb5', 'service': 'pr-fifoci-ogl-lin-mesa', 'pr': 13791, 'type': 'pull_request_fifoci_status'}
2025-07-04T22:38:30.340389	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '78687c50fb433f05447505ec620c892701322eb5', 'service': 'pr-fifoci-mvk-osx-m1', 'pr': 13791, 'type': 'pull_request_fifoci_status'}
2025-07-04T21:38:20.614050	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': 'b81ec14d6cdac2ca0cbe4a8029171ba4206d0e64', 'service': 'pr-fifoci-sw-lin-mesa', 'pr': 13791, 'type': 'pull_request_fifoci_status'}
2025-07-04T21:32:43.776932	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': 'b81ec14d6cdac2ca0cbe4a8029171ba4206d0e64', 'service': 'pr-fifoci-mtl-osx-m1', 'pr': 13791, 'type': 'pull_request_fifoci_status'}
2025-07-04T21:31:45.840902	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': 'b81ec14d6cdac2ca0cbe4a8029171ba4206d0e64', 'service': 'pr-fifoci-ogl-lin-mesa', 'pr': 13791, 'type': 'pull_request_fifoci_status'}
2025-07-04T21:24:54.760456	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': 'b81ec14d6cdac2ca0cbe4a8029171ba4206d0e64', 'service': 'pr-fifoci-mvk-osx-m1', 'pr': 13791, 'type': 'pull_request_fifoci_status'}
2025-07-04T12:28:37.129662	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '3db1be6ba0ba98be8adf1b60e073b0f4b878cc21', 'service': 'pr-fifoci-sw-lin-mesa', 'pr': 13791, 'type': 'pull_request_fifoci_status'}
2025-07-04T12:23:14.501128	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '3db1be6ba0ba98be8adf1b60e073b0f4b878cc21', 'service': 'pr-fifoci-mtl-osx-m1', 'pr': 13791, 'type': 'pull_request_fifoci_status'}
2025-07-04T12:22:07.525797	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '3db1be6ba0ba98be8adf1b60e073b0f4b878cc21', 'service': 'pr-fifoci-ogl-lin-mesa', 'pr': 13791, 'type': 'pull_request_fifoci_status'}
2025-07-04T12:15:28.659635	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '3db1be6ba0ba98be8adf1b60e073b0f4b878cc21', 'service': 'pr-fifoci-mvk-osx-m1', 'pr': 13791, 'type': 'pull_request_fifoci_status'}
2025-07-04T11:52:34.541401	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '6c72269c26d0924b8a7046549d9ef22d5bccd533', 'service': 'pr-fifoci-sw-lin-mesa', 'pr': 13791, 'type': 'pull_request_fifoci_status'}
2025-07-04T11:45:30.425806	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '6c72269c26d0924b8a7046549d9ef22d5bccd533', 'service': 'pr-fifoci-ogl-lin-mesa', 'pr': 13791, 'type': 'pull_request_fifoci_status'}
2025-07-04T11:34:13.918113	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '6c72269c26d0924b8a7046549d9ef22d5bccd533', 'service': 'pr-fifoci-mtl-osx-m1', 'pr': 13791, 'type': 'pull_request_fifoci_status'}
2025-07-04T11:30:47.864706	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '3baece1b3744dd92629a08267e643fe20af29f75', 'service': 'pr-fifoci-ogl-lin-mesa', 'pr': 13791, 'type': 'pull_request_fifoci_status'}
2025-07-04T11:26:06.541425	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '6c72269c26d0924b8a7046549d9ef22d5bccd533', 'service': 'pr-fifoci-mvk-osx-m1', 'pr': 13791, 'type': 'pull_request_fifoci_status'}
2025-07-03T17:09:16.244671	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '9410c18ef3515f0f750d7a1616c675d8cbaa1cfa', 'service': 'pr-fifoci-sw-lin-mesa', 'pr': 13771, 'type': 'pull_request_fifoci_status'}
2025-07-03T17:02:50.238172	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '9410c18ef3515f0f750d7a1616c675d8cbaa1cfa', 'service': 'pr-fifoci-ogl-lin-mesa', 'pr': 13771, 'type': 'pull_request_fifoci_status'}
2025-07-03T16:51:10.587056	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '9410c18ef3515f0f750d7a1616c675d8cbaa1cfa', 'service': 'pr-fifoci-mtl-osx-m1', 'pr': 13771, 'type': 'pull_request_fifoci_status'}
2025-07-03T16:43:01.519947	{'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '9410c18ef3515f0f750d7a1616c675d8cbaa1cfa', 'service': 'pr-fifoci-mvk-osx-m1', 'pr': 13771, 'type': 'pull_request_fifoci_status'}

Recent 'raw_bb_hook' events

2025-07-05T14:23:24.874333	{'source': 'webserver', 'raw': {'buildid': 122285, 'number': 2087, 'builderid': 41, 'buildrequestid': 122400, 'workerid': 5, 'masterid': 1, 'started_at': 1751724600, 'complete_at': 1751725401, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {'branchname': ['pr-13792', 'Trigger'], 'baserev': ['a5e85caf0af66fec07b476718a69519b06e6a69f', 'Change'], 'headrev': ['fe6fd2279c195517094538fff8667332049823ad', 'Trigger'], 'shortrev': ['fe6fd2', 'Trigger'], 'pr_id': [13792, 'Trigger'], 'repo': ['dolphin-emu/dolphin', 'Trigger'], 'scheduler': ['pr-fifoci-lin', 'Scheduler'], 'buildername': ['pr-fifoci-vk-lin-mesa', 'Builder'], 'builderid': [41, 'Builder'], 'workername': ['altair-fifoci', 'Worker'], 'buildnumber': [2087, 'Build'], 'branch': ['refs/pull/13792/head', 'Build'], 'revision': ['fe6fd2279c195517094538fff8667332049823ad', 'Build'], 'repository': ['', 'Build'], 'codebase': ['', 'Build'], 'project': ['', 'Build'], 'owners': [['Central (on behalf of: Tilka)'], 'Build'], 'basedir': ['/var/lib/fifoci-worker/worker', 'Worker'], 'builddir': ['/var/lib/fifoci-worker/worker/pr-fifoci-vk-lin-mesa', 'Worker'], 'got_revision': ['fe6fd2279c195517094538fff8667332049823ad', 'GitNoBranch'], 'warnings-count': [4, 'WarningCountingShellCommand']}, 'buildrequest': {'buildrequestid': 122400, 'buildsetid': 28706, 'builderid': 41, 'priority': 0, 'claimed': True, 'claimed_at': 1751724600, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1751722945, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 28706, 'external_idstring': None, 'reason': "The Triggerable scheduler named 'pr-fifoci-lin' triggered this build", 'submitted_at': 1751722945, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': 122277, 'parent_relationship': 'Triggered from', 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 8613, 'branch': 'refs/pull/13792/head', 'revision': 'fe6fd2279c195517094538fff8667332049823ad', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1751722650, 'patch': None}]}, 'parentbuild': {'buildid': 122277, 'number': 7072, 'builderid': 27, 'buildrequestid': 122392, 'workerid': 10, 'masterid': 1, 'started_at': 1751722654, 'complete_at': 1751722946, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {}}, 'parentbuilder': {'builderid': 27, 'name': 'pr-ubu-x64', 'masterids': [1], 'description': None, 'description_format': None, 'description_html': None, 'projectid': None, 'tags': []}, 'builder': {'builderid': 41, 'name': 'pr-fifoci-vk-lin-mesa', 'masterids': [1], 'description': None, 'description_format': None, 'description_html': None, 'projectid': None, 'tags': []}, 'url': 'https://dolphin.ci/#/builders/41/builds/2087'}, 'type': 'raw_bb_hook'}
2025-07-05T14:10:12.209548	{'source': 'webserver', 'raw': {'buildid': 122284, 'number': 6099, 'builderid': 35, 'buildrequestid': 122399, 'workerid': 5, 'masterid': 1, 'started_at': 1751724168, 'complete_at': 1751724600, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {'branchname': ['pr-13792', 'Trigger'], 'baserev': ['a5e85caf0af66fec07b476718a69519b06e6a69f', 'Change'], 'headrev': ['fe6fd2279c195517094538fff8667332049823ad', 'Trigger'], 'shortrev': ['fe6fd2', 'Trigger'], 'pr_id': [13792, 'Trigger'], 'repo': ['dolphin-emu/dolphin', 'Trigger'], 'scheduler': ['pr-fifoci-lin', 'Scheduler'], 'buildername': ['pr-fifoci-sw-lin-mesa', 'Builder'], 'builderid': [35, 'Builder'], 'workername': ['altair-fifoci', 'Worker'], 'buildnumber': [6099, 'Build'], 'branch': ['refs/pull/13792/head', 'Build'], 'revision': ['fe6fd2279c195517094538fff8667332049823ad', 'Build'], 'repository': ['', 'Build'], 'codebase': ['', 'Build'], 'project': ['', 'Build'], 'owners': [['Central (on behalf of: Tilka)'], 'Build'], 'basedir': ['/var/lib/fifoci-worker/worker', 'Worker'], 'builddir': ['/var/lib/fifoci-worker/worker/pr-fifoci-sw-lin-mesa', 'Worker'], 'got_revision': ['fe6fd2279c195517094538fff8667332049823ad', 'GitNoBranch'], 'warnings-count': [4, 'WarningCountingShellCommand']}, 'buildrequest': {'buildrequestid': 122399, 'buildsetid': 28706, 'builderid': 35, 'priority': 0, 'claimed': True, 'claimed_at': 1751724168, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1751722945, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 28706, 'external_idstring': None, 'reason': "The Triggerable scheduler named 'pr-fifoci-lin' triggered this build", 'submitted_at': 1751722945, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': 122277, 'parent_relationship': 'Triggered from', 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 8613, 'branch': 'refs/pull/13792/head', 'revision': 'fe6fd2279c195517094538fff8667332049823ad', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1751722650, 'patch': None}]}, 'parentbuild': {'buildid': 122277, 'number': 7072, 'builderid': 27, 'buildrequestid': 122392, 'workerid': 10, 'masterid': 1, 'started_at': 1751722654, 'complete_at': 1751722946, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {}}, 'parentbuilder': {'builderid': 27, 'name': 'pr-ubu-x64', 'masterids': [1], 'description': None, 'description_format': None, 'description_html': None, 'projectid': None, 'tags': []}, 'builder': {'builderid': 35, 'name': 'pr-fifoci-sw-lin-mesa', 'masterids': [1], 'description': None, 'description_format': None, 'description_html': None, 'projectid': None, 'tags': []}, 'url': 'https://dolphin.ci/#/builders/35/builds/6099'}, 'type': 'raw_bb_hook'}
2025-07-05T14:10:04.210177	{'source': 'webserver', 'raw': {'buildid': 122285, 'number': 2087, 'builderid': 41, 'buildrequestid': 122400, 'workerid': 5, 'masterid': 1, 'started_at': 1751724600, 'complete_at': None, 'locks_duration_s': 0, 'complete': False, 'state_string': 'starting', 'results': None, 'properties': {'branchname': ['pr-13792', 'Trigger'], 'baserev': ['a5e85caf0af66fec07b476718a69519b06e6a69f', 'Change'], 'headrev': ['fe6fd2279c195517094538fff8667332049823ad', 'Trigger'], 'shortrev': ['fe6fd2', 'Trigger'], 'pr_id': [13792, 'Trigger'], 'repo': ['dolphin-emu/dolphin', 'Trigger'], 'scheduler': ['pr-fifoci-lin', 'Scheduler'], 'buildername': ['pr-fifoci-vk-lin-mesa', 'Builder'], 'builderid': [41, 'Builder'], 'workername': ['altair-fifoci', 'Worker'], 'buildnumber': [2087, 'Build'], 'branch': ['refs/pull/13792/head', 'Build'], 'revision': ['fe6fd2279c195517094538fff8667332049823ad', 'Build'], 'repository': ['', 'Build'], 'codebase': ['', 'Build'], 'project': ['', 'Build'], 'owners': [['Central (on behalf of: Tilka)'], 'Build']}, 'buildrequest': {'buildrequestid': 122400, 'buildsetid': 28706, 'builderid': 41, 'priority': 0, 'claimed': True, 'claimed_at': 1751724600, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1751722945, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 28706, 'external_idstring': None, 'reason': "The Triggerable scheduler named 'pr-fifoci-lin' triggered this build", 'submitted_at': 1751722945, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': 122277, 'parent_relationship': 'Triggered from', 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 8613, 'branch': 'refs/pull/13792/head', 'revision': 'fe6fd2279c195517094538fff8667332049823ad', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1751722650, 'patch': None}]}, 'parentbuild': {'buildid': 122277, 'number': 7072, 'builderid': 27, 'buildrequestid': 122392, 'workerid': 10, 'masterid': 1, 'started_at': 1751722654, 'complete_at': 1751722946, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {}}, 'parentbuilder': {'builderid': 27, 'name': 'pr-ubu-x64', 'masterids': [1], 'description': None, 'description_format': None, 'description_html': None, 'projectid': None, 'tags': []}, 'builder': {'builderid': 41, 'name': 'pr-fifoci-vk-lin-mesa', 'masterids': [1], 'description': None, 'description_format': None, 'description_html': None, 'projectid': None, 'tags': []}, 'url': 'https://dolphin.ci/#/builders/41/builds/2087'}, 'type': 'raw_bb_hook'}
2025-07-05T14:03:04.883438	{'source': 'webserver', 'raw': {'buildid': 122280, 'number': 6100, 'builderid': 10, 'buildrequestid': 122398, 'workerid': 5, 'masterid': 1, 'started_at': 1751722945, 'complete_at': 1751724168, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {'branchname': ['pr-13792', 'Trigger'], 'baserev': ['a5e85caf0af66fec07b476718a69519b06e6a69f', 'Change'], 'headrev': ['fe6fd2279c195517094538fff8667332049823ad', 'Trigger'], 'shortrev': ['fe6fd2', 'Trigger'], 'pr_id': [13792, 'Trigger'], 'repo': ['dolphin-emu/dolphin', 'Trigger'], 'scheduler': ['pr-fifoci-lin', 'Scheduler'], 'buildername': ['pr-fifoci-ogl-lin-mesa', 'Builder'], 'builderid': [10, 'Builder'], 'workername': ['altair-fifoci', 'Worker'], 'buildnumber': [6100, 'Build'], 'branch': ['refs/pull/13792/head', 'Build'], 'revision': ['fe6fd2279c195517094538fff8667332049823ad', 'Build'], 'repository': ['', 'Build'], 'codebase': ['', 'Build'], 'project': ['', 'Build'], 'owners': [['Central (on behalf of: Tilka)'], 'Build'], 'basedir': ['/var/lib/fifoci-worker/worker', 'Worker'], 'builddir': ['/var/lib/fifoci-worker/worker/pr-fifoci-ogl-lin-mesa', 'Worker'], 'got_revision': ['fe6fd2279c195517094538fff8667332049823ad', 'GitNoBranch'], 'warnings-count': [4, 'WarningCountingShellCommand']}, 'buildrequest': {'buildrequestid': 122398, 'buildsetid': 28706, 'builderid': 10, 'priority': 0, 'claimed': True, 'claimed_at': 1751722945, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1751722945, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 28706, 'external_idstring': None, 'reason': "The Triggerable scheduler named 'pr-fifoci-lin' triggered this build", 'submitted_at': 1751722945, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': 122277, 'parent_relationship': 'Triggered from', 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 8613, 'branch': 'refs/pull/13792/head', 'revision': 'fe6fd2279c195517094538fff8667332049823ad', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1751722650, 'patch': None}]}, 'parentbuild': {'buildid': 122277, 'number': 7072, 'builderid': 27, 'buildrequestid': 122392, 'workerid': 10, 'masterid': 1, 'started_at': 1751722654, 'complete_at': 1751722946, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {}}, 'parentbuilder': {'builderid': 27, 'name': 'pr-ubu-x64', 'masterids': [1], 'description': None, 'description_format': None, 'description_html': None, 'projectid': None, 'tags': []}, 'builder': {'builderid': 10, 'name': 'pr-fifoci-ogl-lin-mesa', 'masterids': [1], 'description': None, 'description_format': None, 'description_html': None, 'projectid': None, 'tags': []}, 'url': 'https://dolphin.ci/#/builders/10/builds/6100'}, 'type': 'raw_bb_hook'}
2025-07-05T14:03:04.242435	{'source': 'webserver', 'raw': {'buildid': 122284, 'number': 6099, 'builderid': 35, 'buildrequestid': 122399, 'workerid': 5, 'masterid': 1, 'started_at': 1751724168, 'complete_at': None, 'locks_duration_s': 0, 'complete': False, 'state_string': 'starting', 'results': None, 'properties': {'branchname': ['pr-13792', 'Trigger'], 'baserev': ['a5e85caf0af66fec07b476718a69519b06e6a69f', 'Change'], 'headrev': ['fe6fd2279c195517094538fff8667332049823ad', 'Trigger'], 'shortrev': ['fe6fd2', 'Trigger'], 'pr_id': [13792, 'Trigger'], 'repo': ['dolphin-emu/dolphin', 'Trigger'], 'scheduler': ['pr-fifoci-lin', 'Scheduler'], 'buildername': ['pr-fifoci-sw-lin-mesa', 'Builder'], 'builderid': [35, 'Builder'], 'workername': ['altair-fifoci', 'Worker'], 'buildnumber': [6099, 'Build'], 'branch': ['refs/pull/13792/head', 'Build'], 'revision': ['fe6fd2279c195517094538fff8667332049823ad', 'Build'], 'repository': ['', 'Build'], 'codebase': ['', 'Build'], 'project': ['', 'Build'], 'owners': [['Central (on behalf of: Tilka)'], 'Build']}, 'buildrequest': {'buildrequestid': 122399, 'buildsetid': 28706, 'builderid': 35, 'priority': 0, 'claimed': True, 'claimed_at': 1751724168, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1751722945, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 28706, 'external_idstring': None, 'reason': "The Triggerable scheduler named 'pr-fifoci-lin' triggered this build", 'submitted_at': 1751722945, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': 122277, 'parent_relationship': 'Triggered from', 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 8613, 'branch': 'refs/pull/13792/head', 'revision': 'fe6fd2279c195517094538fff8667332049823ad', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1751722650, 'patch': None}]}, 'parentbuild': {'buildid': 122277, 'number': 7072, 'builderid': 27, 'buildrequestid': 122392, 'workerid': 10, 'masterid': 1, 'started_at': 1751722654, 'complete_at': 1751722946, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {}}, 'parentbuilder': {'builderid': 27, 'name': 'pr-ubu-x64', 'masterids': [1], 'description': None, 'description_format': None, 'description_html': None, 'projectid': None, 'tags': []}, 'builder': {'builderid': 35, 'name': 'pr-fifoci-sw-lin-mesa', 'masterids': [1], 'description': None, 'description_format': None, 'description_html': None, 'projectid': None, 'tags': []}, 'url': 'https://dolphin.ci/#/builders/35/builds/6099'}, 'type': 'raw_bb_hook'}
2025-07-05T13:59:54.134977	{'source': 'webserver', 'raw': {'buildid': 122274, 'number': 7074, 'builderid': 22, 'buildrequestid': 122390, 'workerid': 12, 'masterid': 1, 'started_at': 1751722651, 'complete_at': 1751723980, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {'shortrev': ['fe6fd2', 'Change'], 'branchname': ['pr-13792', 'Change'], 'baserev': ['a5e85caf0af66fec07b476718a69519b06e6a69f', 'Change'], 'codebase': ['', 'Build'], 'project': ['', 'Build'], 'headrev': ['fe6fd2279c195517094538fff8667332049823ad', 'Change'], 'pr_id': [13792, 'Change'], 'repo': ['dolphin-emu/dolphin', 'Change'], 'scheduler': ['pr', 'Scheduler'], 'buildername': ['pr-android', 'Builder'], 'builderid': [22, 'Builder'], 'workername': ['android', 'Worker'], 'buildnumber': [7074, 'Build'], 'branch': ['refs/pull/13792/head', 'Build'], 'revision': ['fe6fd2279c195517094538fff8667332049823ad', 'Build'], 'repository': ['', 'Build'], 'owners': [['Central (on behalf of: Tilka)'], 'Build'], 'basedir': ['/buildbot', 'Worker'], 'builddir': ['/buildbot/pr-android', 'Worker'], 'got_revision': ['fe6fd2279c195517094538fff8667332049823ad', 'GitNoBranch']}, 'buildrequest': {'buildrequestid': 122390, 'buildsetid': 28703, 'builderid': 22, 'priority': 0, 'claimed': True, 'claimed_at': 1751722651, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1751722650, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 28703, 'external_idstring': None, 'reason': "The AnyBranchScheduler scheduler named 'pr' triggered this build", 'submitted_at': 1751722650, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': None, 'parent_relationship': None, 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 8613, 'branch': 'refs/pull/13792/head', 'revision': 'fe6fd2279c195517094538fff8667332049823ad', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1751722650, 'patch': None}]}, 'parentbuild': None, 'parentbuilder': None, 'builder': {'builderid': 22, 'name': 'pr-android', 'masterids': [1], 'description': None, 'description_format': None, 'description_html': None, 'projectid': None, 'tags': []}, 'url': 'https://dolphin.ci/#/builders/22/builds/7074'}, 'type': 'raw_bb_hook'}
2025-07-05T13:58:11.470340	{'source': 'webserver', 'raw': {'buildid': 122283, 'number': 6095, 'builderid': 21, 'buildrequestid': 122397, 'workerid': 8, 'masterid': 1, 'started_at': 1751723362, 'complete_at': 1751723881, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {'branchname': ['pr-13792', 'Trigger'], 'baserev': ['a5e85caf0af66fec07b476718a69519b06e6a69f', 'Change'], 'headrev': ['fe6fd2279c195517094538fff8667332049823ad', 'Trigger'], 'shortrev': ['fe6fd2', 'Trigger'], 'pr_id': [13792, 'Trigger'], 'repo': ['dolphin-emu/dolphin', 'Trigger'], 'scheduler': ['pr-fifoci-osx', 'Scheduler'], 'buildername': ['pr-fifoci-mtl-osx-m1', 'Builder'], 'builderid': [21, 'Builder'], 'workername': ['osx-m1', 'Worker'], 'buildnumber': [6095, 'Build'], 'branch': ['refs/pull/13792/head', 'Build'], 'revision': ['fe6fd2279c195517094538fff8667332049823ad', 'Build'], 'repository': ['', 'Build'], 'codebase': ['', 'Build'], 'project': ['', 'Build'], 'owners': [['Central (on behalf of: Tilka)'], 'Build'], 'basedir': ['/Users/administrator/buildbot-worker/osx_m1', 'Worker'], 'builddir': ['/Users/administrator/buildbot-worker/osx_m1/pr-fifoci-mtl-osx-m1', 'Worker'], 'got_revision': ['ca98b3030bcc70e67158ce899a5589aa2ec65d32', 'GitNoBranch'], 'warnings-count': [30, 'WarningCountingShellCommand']}, 'buildrequest': {'buildrequestid': 122397, 'buildsetid': 28704, 'builderid': 21, 'priority': 0, 'claimed': True, 'claimed_at': 1751723362, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1751722839, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 28704, 'external_idstring': None, 'reason': "The Triggerable scheduler named 'pr-fifoci-osx' triggered this build", 'submitted_at': 1751722839, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': 122272, 'parent_relationship': 'Triggered from', 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 8613, 'branch': 'refs/pull/13792/head', 'revision': 'fe6fd2279c195517094538fff8667332049823ad', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1751722650, 'patch': None}]}, 'parentbuild': {'buildid': 122272, 'number': 7077, 'builderid': 7, 'buildrequestid': 122386, 'workerid': 8, 'masterid': 1, 'started_at': 1751722651, 'complete_at': 1751722839, '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/6095'}, 'type': 'raw_bb_hook'}
2025-07-05T13:52:36.418373	{'source': 'webserver', 'raw': {'buildid': 122275, 'number': 2214, 'builderid': 43, 'buildrequestid': 122394, 'workerid': 13, 'masterid': 1, 'started_at': 1751722651, 'complete_at': 1751723552, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {'pr_id': [13792, 'Change'], 'branchname': ['pr-13792', 'Change'], 'baserev': ['a5e85caf0af66fec07b476718a69519b06e6a69f', 'Change'], 'headrev': ['fe6fd2279c195517094538fff8667332049823ad', 'Change'], 'shortrev': ['fe6fd2', 'Change'], 'repo': ['dolphin-emu/dolphin', 'Change'], 'scheduler': ['pr', 'Scheduler'], 'buildername': ['pr-flatpak-x64', 'Builder'], 'builderid': [43, 'Builder'], 'workername': ['altair-flatpak', 'Worker'], 'buildnumber': [2214, 'Build'], 'branch': ['refs/pull/13792/head', 'Build'], 'revision': ['fe6fd2279c195517094538fff8667332049823ad', 'Build'], 'repository': ['', 'Build'], 'codebase': ['', 'Build'], 'project': ['', 'Build'], 'owners': [['Central (on behalf of: Tilka)'], 'Build'], 'basedir': ['/var/lib/flatpak-worker/worker', 'Worker'], 'builddir': ['/var/lib/flatpak-worker/worker/pr-flatpak-x64', 'Worker'], 'got_revision': ['fe6fd2279c195517094538fff8667332049823ad', 'GitNoBranch'], 'fm_build_url': ['https://flat-manager.dolphin-emu.org/api/v1/build/4659', 'SetPropertyFromCommand Step']}, 'buildrequest': {'buildrequestid': 122394, 'buildsetid': 28703, 'builderid': 43, 'priority': 0, 'claimed': True, 'claimed_at': 1751722651, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1751722650, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 28703, 'external_idstring': None, 'reason': "The AnyBranchScheduler scheduler named 'pr' triggered this build", 'submitted_at': 1751722650, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': None, 'parent_relationship': None, 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 8613, 'branch': 'refs/pull/13792/head', 'revision': 'fe6fd2279c195517094538fff8667332049823ad', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1751722650, 'patch': None}]}, 'parentbuild': None, 'parentbuilder': None, 'builder': {'builderid': 43, 'name': 'pr-flatpak-x64', 'masterids': [1], 'description': None, 'description_format': None, 'description_html': None, 'projectid': None, 'tags': []}, 'url': 'https://dolphin.ci/#/builders/43/builds/2214'}, 'type': 'raw_bb_hook'}
2025-07-05T13:50:53.703243	{'source': 'webserver', 'raw': {'buildid': 122282, 'number': 7072, 'builderid': 31, 'buildrequestid': 122393, 'workerid': 4, 'masterid': 1, 'started_at': 1751723209, 'complete_at': 1751723443, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {'branchname': ['pr-13792', 'Change'], 'baserev': ['a5e85caf0af66fec07b476718a69519b06e6a69f', 'Change'], 'headrev': ['fe6fd2279c195517094538fff8667332049823ad', 'Change'], 'shortrev': ['fe6fd2', 'Change'], 'pr_id': [13792, 'Change'], 'repo': ['dolphin-emu/dolphin', 'Change'], 'scheduler': ['pr', 'Scheduler'], 'buildername': ['pr-win-dbg-x64', 'Builder'], 'builderid': [31, 'Builder'], 'workername': ['windows', 'Worker'], 'buildnumber': [7072, 'Build'], 'branch': ['refs/pull/13792/head', 'Build'], 'revision': ['fe6fd2279c195517094538fff8667332049823ad', 'Build'], 'repository': ['', 'Build'], 'codebase': ['', 'Build'], 'project': ['', 'Build'], 'owners': [['Central (on behalf of: Tilka)'], 'Build'], 'basedir': ['c:\\buildbot', 'Worker'], 'builddir': ['c:\\buildbot\\pr-win-dbg-x64', 'Worker'], 'got_revision': ['fe6fd2279c195517094538fff8667332049823ad', 'GitNoBranch'], 'warnings-count': [0, 'WarningCountingShellCommand'], 'build_url': ['https://dl.dolphin-emu.org/prs/11/9e/pr-13792-dolphin-latest-dbg-x64.7z', 'SetProperty']}, 'buildrequest': {'buildrequestid': 122393, 'buildsetid': 28703, 'builderid': 31, 'priority': 0, 'claimed': True, 'claimed_at': 1751723209, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1751722650, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 28703, 'external_idstring': None, 'reason': "The AnyBranchScheduler scheduler named 'pr' triggered this build", 'submitted_at': 1751722650, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': None, 'parent_relationship': None, 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 8613, 'branch': 'refs/pull/13792/head', 'revision': 'fe6fd2279c195517094538fff8667332049823ad', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1751722650, 'patch': None}]}, 'parentbuild': None, 'parentbuilder': None, 'builder': {'builderid': 31, 'name': 'pr-win-dbg-x64', 'masterids': [1], 'description': None, 'description_format': None, 'description_html': None, 'projectid': None, 'tags': []}, 'url': 'https://dolphin.ci/#/builders/31/builds/7072'}, 'type': 'raw_bb_hook'}
2025-07-05T13:49:46.380637	{'source': 'webserver', 'raw': {'buildid': 122283, 'number': 6095, 'builderid': 21, 'buildrequestid': 122397, 'workerid': 8, 'masterid': 1, 'started_at': 1751723362, 'complete_at': None, 'locks_duration_s': 0, 'complete': False, 'state_string': 'starting', 'results': None, 'properties': {'branchname': ['pr-13792', 'Trigger'], 'baserev': ['a5e85caf0af66fec07b476718a69519b06e6a69f', 'Change'], 'headrev': ['fe6fd2279c195517094538fff8667332049823ad', 'Trigger'], 'shortrev': ['fe6fd2', 'Trigger'], 'pr_id': [13792, 'Trigger'], 'repo': ['dolphin-emu/dolphin', 'Trigger'], 'scheduler': ['pr-fifoci-osx', 'Scheduler'], 'buildername': ['pr-fifoci-mtl-osx-m1', 'Builder'], 'builderid': [21, 'Builder'], 'workername': ['osx-m1', 'Worker'], 'buildnumber': [6095, 'Build'], 'branch': ['refs/pull/13792/head', 'Build'], 'revision': ['fe6fd2279c195517094538fff8667332049823ad', 'Build'], 'repository': ['', 'Build'], 'codebase': ['', 'Build'], 'project': ['', 'Build'], 'owners': [['Central (on behalf of: Tilka)'], 'Build']}, 'buildrequest': {'buildrequestid': 122397, 'buildsetid': 28704, 'builderid': 21, 'priority': 0, 'claimed': True, 'claimed_at': 1751723362, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1751722839, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 28704, 'external_idstring': None, 'reason': "The Triggerable scheduler named 'pr-fifoci-osx' triggered this build", 'submitted_at': 1751722839, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': 122272, 'parent_relationship': 'Triggered from', 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 8613, 'branch': 'refs/pull/13792/head', 'revision': 'fe6fd2279c195517094538fff8667332049823ad', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1751722650, 'patch': None}]}, 'parentbuild': {'buildid': 122272, 'number': 7077, 'builderid': 7, 'buildrequestid': 122386, 'workerid': 8, 'masterid': 1, 'started_at': 1751722651, 'complete_at': 1751722839, '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/6095'}, 'type': 'raw_bb_hook'}
2025-07-05T13:49:46.333853	{'source': 'webserver', 'raw': {'buildid': 122278, 'number': 6097, 'builderid': 19, 'buildrequestid': 122396, 'workerid': 8, 'masterid': 1, 'started_at': 1751722839, 'complete_at': 1751723362, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {'branchname': ['pr-13792', 'Trigger'], 'baserev': ['a5e85caf0af66fec07b476718a69519b06e6a69f', 'Change'], 'headrev': ['fe6fd2279c195517094538fff8667332049823ad', 'Trigger'], 'shortrev': ['fe6fd2', 'Trigger'], 'pr_id': [13792, 'Trigger'], 'repo': ['dolphin-emu/dolphin', 'Trigger'], 'scheduler': ['pr-fifoci-osx', 'Scheduler'], 'buildername': ['pr-fifoci-mvk-osx-m1', 'Builder'], 'builderid': [19, 'Builder'], 'workername': ['osx-m1', 'Worker'], 'buildnumber': [6097, 'Build'], 'branch': ['refs/pull/13792/head', 'Build'], 'revision': ['fe6fd2279c195517094538fff8667332049823ad', 'Build'], 'repository': ['', 'Build'], 'codebase': ['', 'Build'], 'project': ['', 'Build'], 'owners': [['Central (on behalf of: Tilka)'], 'Build'], 'basedir': ['/Users/administrator/buildbot-worker/osx_m1', 'Worker'], 'builddir': ['/Users/administrator/buildbot-worker/osx_m1/pr-fifoci-mvk-osx-m1', 'Worker'], 'got_revision': ['ca98b3030bcc70e67158ce899a5589aa2ec65d32', 'GitNoBranch'], 'warnings-count': [30, 'WarningCountingShellCommand']}, 'buildrequest': {'buildrequestid': 122396, 'buildsetid': 28704, 'builderid': 19, 'priority': 0, 'claimed': True, 'claimed_at': 1751722839, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1751722839, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 28704, 'external_idstring': None, 'reason': "The Triggerable scheduler named 'pr-fifoci-osx' triggered this build", 'submitted_at': 1751722839, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': 122272, 'parent_relationship': 'Triggered from', 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 8613, 'branch': 'refs/pull/13792/head', 'revision': 'fe6fd2279c195517094538fff8667332049823ad', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1751722650, 'patch': None}]}, 'parentbuild': {'buildid': 122272, 'number': 7077, 'builderid': 7, 'buildrequestid': 122386, 'workerid': 8, 'masterid': 1, 'started_at': 1751722651, 'complete_at': 1751722839, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {}}, 'parentbuilder': {'builderid': 7, 'name': 'pr-osx-universal', 'masterids': [1], 'description': None, 'description_format': None, 'description_html': None, 'projectid': None, 'tags': []}, 'builder': {'builderid': 19, 'name': 'pr-fifoci-mvk-osx-m1', 'masterids': [1], 'description': None, 'description_format': None, 'description_html': None, 'projectid': None, 'tags': []}, 'url': 'https://dolphin.ci/#/builders/19/builds/6097'}, 'type': 'raw_bb_hook'}
2025-07-05T13:48:25.166675	{'source': 'webserver', 'raw': {'buildid': 122281, 'number': 7071, 'builderid': 26, 'buildrequestid': 122391, 'workerid': 9, 'masterid': 1, 'started_at': 1751722955, 'complete_at': 1751723289, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {'repository': ['', 'Build'], 'codebase': ['', 'Build'], 'project': ['', 'Build'], 'branchname': ['pr-13792', 'Change'], 'baserev': ['a5e85caf0af66fec07b476718a69519b06e6a69f', 'Change'], 'headrev': ['fe6fd2279c195517094538fff8667332049823ad', 'Change'], 'shortrev': ['fe6fd2', 'Change'], 'pr_id': [13792, 'Change'], 'repo': ['dolphin-emu/dolphin', 'Change'], 'scheduler': ['pr', 'Scheduler'], 'buildername': ['pr-deb-x64', 'Builder'], 'builderid': [26, 'Builder'], 'workername': ['debian', 'Worker'], 'buildnumber': [7071, 'Build'], 'branch': ['refs/pull/13792/head', 'Build'], 'revision': ['fe6fd2279c195517094538fff8667332049823ad', 'Build'], 'owners': [['Central (on behalf of: Tilka)'], 'Build'], 'basedir': ['/buildbot', 'Worker'], 'builddir': ['/buildbot/pr-deb-x64', 'Worker'], 'got_revision': ['fe6fd2279c195517094538fff8667332049823ad', 'GitNoBranch'], 'warnings-count': [8, 'WarningCountingShellCommand']}, 'buildrequest': {'buildrequestid': 122391, 'buildsetid': 28703, 'builderid': 26, 'priority': 0, 'claimed': True, 'claimed_at': 1751722955, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1751722650, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 28703, 'external_idstring': None, 'reason': "The AnyBranchScheduler scheduler named 'pr' triggered this build", 'submitted_at': 1751722650, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': None, 'parent_relationship': None, 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 8613, 'branch': 'refs/pull/13792/head', 'revision': 'fe6fd2279c195517094538fff8667332049823ad', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1751722650, 'patch': None}]}, 'parentbuild': None, 'parentbuilder': None, 'builder': {'builderid': 26, 'name': 'pr-deb-x64', 'masterids': [1], 'description': None, 'description_format': None, 'description_html': None, 'projectid': None, 'tags': []}, 'url': 'https://dolphin.ci/#/builders/26/builds/7071'}, 'type': 'raw_bb_hook'}
2025-07-05T13:48:02.863416	{'source': 'webserver', 'raw': {'buildid': 122276, 'number': 2161, 'builderid': 44, 'buildrequestid': 122395, 'workerid': 14, 'masterid': 1, 'started_at': 1751722651, 'complete_at': 1751723278, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {'branchname': ['pr-13792', 'Change'], 'baserev': ['a5e85caf0af66fec07b476718a69519b06e6a69f', 'Change'], 'headrev': ['fe6fd2279c195517094538fff8667332049823ad', 'Change'], 'shortrev': ['fe6fd2', 'Change'], 'pr_id': [13792, 'Change'], 'repo': ['dolphin-emu/dolphin', 'Change'], 'scheduler': ['pr', 'Scheduler'], 'buildername': ['pr-flatpak-arm64', 'Builder'], 'builderid': [44, 'Builder'], 'workername': ['deneb-flatpak', 'Worker'], 'buildnumber': [2161, 'Build'], 'branch': ['refs/pull/13792/head', 'Build'], 'revision': ['fe6fd2279c195517094538fff8667332049823ad', 'Build'], 'repository': ['', 'Build'], 'codebase': ['', 'Build'], 'project': ['', 'Build'], 'owners': [['Central (on behalf of: Tilka)'], 'Build'], 'basedir': ['/var/lib/flatpak-worker/worker', 'Worker'], 'builddir': ['/var/lib/flatpak-worker/worker/pr-flatpak-arm64', 'Worker'], 'got_revision': ['fe6fd2279c195517094538fff8667332049823ad', 'GitNoBranch'], 'fm_build_url': ['https://flat-manager.dolphin-emu.org/api/v1/build/4658', 'SetPropertyFromCommand Step']}, 'buildrequest': {'buildrequestid': 122395, 'buildsetid': 28703, 'builderid': 44, 'priority': 0, 'claimed': True, 'claimed_at': 1751722651, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1751722650, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 28703, 'external_idstring': None, 'reason': "The AnyBranchScheduler scheduler named 'pr' triggered this build", 'submitted_at': 1751722650, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': None, 'parent_relationship': None, 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 8613, 'branch': 'refs/pull/13792/head', 'revision': 'fe6fd2279c195517094538fff8667332049823ad', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1751722650, 'patch': None}]}, 'parentbuild': None, 'parentbuilder': None, 'builder': {'builderid': 44, 'name': 'pr-flatpak-arm64', 'masterids': [1], 'description': None, 'description_format': None, 'description_html': None, 'projectid': None, 'tags': []}, 'url': 'https://dolphin.ci/#/builders/44/builds/2161'}, 'type': 'raw_bb_hook'}
2025-07-05T13:47:15.061846	{'source': 'webserver', 'raw': {'buildid': 122279, 'number': 7070, 'builderid': 13, 'buildrequestid': 122389, 'workerid': 4, 'masterid': 1, 'started_at': 1751722943, 'complete_at': 1751723208, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {'branchname': ['pr-13792', 'Change'], 'baserev': ['a5e85caf0af66fec07b476718a69519b06e6a69f', 'Change'], 'headrev': ['fe6fd2279c195517094538fff8667332049823ad', 'Change'], 'shortrev': ['fe6fd2', 'Change'], 'pr_id': [13792, 'Change'], 'repo': ['dolphin-emu/dolphin', 'Change'], 'scheduler': ['pr', 'Scheduler'], 'buildername': ['pr-win-arm64', 'Builder'], 'builderid': [13, 'Builder'], 'workername': ['windows', 'Worker'], 'buildnumber': [7070, 'Build'], 'branch': ['refs/pull/13792/head', 'Build'], 'revision': ['fe6fd2279c195517094538fff8667332049823ad', 'Build'], 'repository': ['', 'Build'], 'codebase': ['', 'Build'], 'project': ['', 'Build'], 'owners': [['Central (on behalf of: Tilka)'], 'Build'], 'basedir': ['c:\\buildbot', 'Worker'], 'builddir': ['c:\\buildbot\\pr-win-arm64', 'Worker'], 'got_revision': ['fe6fd2279c195517094538fff8667332049823ad', 'GitNoBranch'], 'warnings-count': [0, 'WarningCountingShellCommand'], 'build_url': ['https://dl.dolphin-emu.org/prs/43/a4/pr-13792-dolphin-latest-ARM64.7z', 'SetProperty']}, 'buildrequest': {'buildrequestid': 122389, 'buildsetid': 28703, 'builderid': 13, 'priority': 0, 'claimed': True, 'claimed_at': 1751722943, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1751722650, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 28703, 'external_idstring': None, 'reason': "The AnyBranchScheduler scheduler named 'pr' triggered this build", 'submitted_at': 1751722650, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': None, 'parent_relationship': None, 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 8613, 'branch': 'refs/pull/13792/head', 'revision': 'fe6fd2279c195517094538fff8667332049823ad', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1751722650, 'patch': None}]}, 'parentbuild': None, 'parentbuilder': None, 'builder': {'builderid': 13, 'name': 'pr-win-arm64', 'masterids': [1], 'description': None, 'description_format': None, 'description_html': None, 'projectid': None, 'tags': []}, 'url': 'https://dolphin.ci/#/builders/13/builds/7070'}, 'type': 'raw_bb_hook'}
2025-07-05T13:47:14.173250	{'source': 'webserver', 'raw': {'buildid': 122282, 'number': 7072, 'builderid': 31, 'buildrequestid': 122393, 'workerid': 4, 'masterid': 1, 'started_at': 1751723209, 'complete_at': None, 'locks_duration_s': 0, 'complete': False, 'state_string': 'starting', 'results': None, 'properties': {'branchname': ['pr-13792', 'Change'], 'baserev': ['a5e85caf0af66fec07b476718a69519b06e6a69f', 'Change'], 'headrev': ['fe6fd2279c195517094538fff8667332049823ad', 'Change'], 'shortrev': ['fe6fd2', 'Change'], 'pr_id': [13792, 'Change'], 'repo': ['dolphin-emu/dolphin', 'Change'], 'scheduler': ['pr', 'Scheduler'], 'buildername': ['pr-win-dbg-x64', 'Builder'], 'builderid': [31, 'Builder'], 'workername': ['windows', 'Worker'], 'buildnumber': [7072, 'Build'], 'branch': ['refs/pull/13792/head', 'Build'], 'revision': ['fe6fd2279c195517094538fff8667332049823ad', 'Build'], 'repository': ['', 'Build'], 'codebase': ['', 'Build'], 'project': ['', 'Build']}, 'buildrequest': {'buildrequestid': 122393, 'buildsetid': 28703, 'builderid': 31, 'priority': 0, 'claimed': True, 'claimed_at': 1751723209, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1751722650, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 28703, 'external_idstring': None, 'reason': "The AnyBranchScheduler scheduler named 'pr' triggered this build", 'submitted_at': 1751722650, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': None, 'parent_relationship': None, 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 8613, 'branch': 'refs/pull/13792/head', 'revision': 'fe6fd2279c195517094538fff8667332049823ad', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1751722650, 'patch': None}]}, 'parentbuild': None, 'parentbuilder': None, 'builder': {'builderid': 31, 'name': 'pr-win-dbg-x64', 'masterids': [1], 'description': None, 'description_format': None, 'description_html': None, 'projectid': None, 'tags': []}, 'url': 'https://dolphin.ci/#/builders/31/builds/7072'}, 'type': 'raw_bb_hook'}
2025-07-05T13:43:12.436201	{'source': 'webserver', 'raw': {'buildid': 122269, 'number': 7075, 'builderid': 1, 'buildrequestid': 122384, 'workerid': 9, 'masterid': 1, 'started_at': 1751722651, 'complete_at': 1751722955, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {'shortrev': ['fe6fd2', 'Change'], 'pr_id': [13792, 'Change'], 'branchname': ['pr-13792', 'Change'], 'branch': ['refs/pull/13792/head', 'Build'], 'owners': [['Central (on behalf of: Tilka)'], 'Build'], 'headrev': ['fe6fd2279c195517094538fff8667332049823ad', 'Change'], 'repo': ['dolphin-emu/dolphin', 'Change'], 'builderid': [1, 'Builder'], 'buildnumber': [7075, 'Build'], 'baserev': ['a5e85caf0af66fec07b476718a69519b06e6a69f', 'Change'], 'workername': ['debian', 'Worker'], 'scheduler': ['pr', 'Scheduler'], 'buildername': ['pr-deb-dbg-x64', 'Builder'], 'revision': ['fe6fd2279c195517094538fff8667332049823ad', 'Build'], 'repository': ['', 'Build'], 'codebase': ['', 'Build'], 'project': ['', 'Build'], 'basedir': ['/buildbot', 'Worker'], 'builddir': ['/buildbot/pr-deb-dbg-x64', 'Worker'], 'got_revision': ['fe6fd2279c195517094538fff8667332049823ad', 'GitNoBranch'], 'warnings-count': [8, 'WarningCountingShellCommand']}, 'buildrequest': {'buildrequestid': 122384, 'buildsetid': 28703, 'builderid': 1, 'priority': 0, 'claimed': True, 'claimed_at': 1751722651, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1751722650, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 28703, 'external_idstring': None, 'reason': "The AnyBranchScheduler scheduler named 'pr' triggered this build", 'submitted_at': 1751722650, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': None, 'parent_relationship': None, 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 8613, 'branch': 'refs/pull/13792/head', 'revision': 'fe6fd2279c195517094538fff8667332049823ad', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1751722650, 'patch': None}]}, 'parentbuild': None, 'parentbuilder': None, 'builder': {'builderid': 1, 'name': 'pr-deb-dbg-x64', 'masterids': [1], 'description': None, 'description_format': None, 'description_html': None, 'projectid': None, 'tags': []}, 'url': 'https://dolphin.ci/#/builders/1/builds/7075'}, 'type': 'raw_bb_hook'}
2025-07-05T13:43:12.075335	{'source': 'webserver', 'raw': {'buildid': 122281, 'number': 7071, 'builderid': 26, 'buildrequestid': 122391, 'workerid': 9, 'masterid': 1, 'started_at': 1751722955, 'complete_at': None, 'locks_duration_s': 0, 'complete': False, 'state_string': 'starting', 'results': None, 'properties': {'repository': ['', 'Build'], 'codebase': ['', 'Build'], 'project': ['', 'Build'], 'branchname': ['pr-13792', 'Change'], 'baserev': ['a5e85caf0af66fec07b476718a69519b06e6a69f', 'Change'], 'headrev': ['fe6fd2279c195517094538fff8667332049823ad', 'Change'], 'shortrev': ['fe6fd2', 'Change'], 'pr_id': [13792, 'Change'], 'repo': ['dolphin-emu/dolphin', 'Change'], 'scheduler': ['pr', 'Scheduler'], 'buildername': ['pr-deb-x64', 'Builder'], 'builderid': [26, 'Builder'], 'workername': ['debian', 'Worker'], 'buildnumber': [7071, 'Build'], 'branch': ['refs/pull/13792/head', 'Build'], 'revision': ['fe6fd2279c195517094538fff8667332049823ad', 'Build'], 'owners': [['Central (on behalf of: Tilka)'], 'Build']}, 'buildrequest': {'buildrequestid': 122391, 'buildsetid': 28703, 'builderid': 26, 'priority': 0, 'claimed': True, 'claimed_at': 1751722955, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1751722650, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 28703, 'external_idstring': None, 'reason': "The AnyBranchScheduler scheduler named 'pr' triggered this build", 'submitted_at': 1751722650, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': None, 'parent_relationship': None, 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 8613, 'branch': 'refs/pull/13792/head', 'revision': 'fe6fd2279c195517094538fff8667332049823ad', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1751722650, 'patch': None}]}, 'parentbuild': None, 'parentbuilder': None, 'builder': {'builderid': 26, 'name': 'pr-deb-x64', 'masterids': [1], 'description': None, 'description_format': None, 'description_html': None, 'projectid': None, 'tags': []}, 'url': 'https://dolphin.ci/#/builders/26/builds/7071'}, 'type': 'raw_bb_hook'}
2025-07-05T13:43:00.803939	{'source': 'webserver', 'raw': {'buildid': 122277, 'number': 7072, 'builderid': 27, 'buildrequestid': 122392, 'workerid': 10, 'masterid': 1, 'started_at': 1751722654, 'complete_at': 1751722946, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {'branchname': ['pr-13792', 'Change'], 'baserev': ['a5e85caf0af66fec07b476718a69519b06e6a69f', 'Change'], 'headrev': ['fe6fd2279c195517094538fff8667332049823ad', 'Change'], 'shortrev': ['fe6fd2', 'Change'], 'pr_id': [13792, 'Change'], 'repo': ['dolphin-emu/dolphin', 'Change'], 'scheduler': ['pr', 'Scheduler'], 'buildername': ['pr-ubu-x64', 'Builder'], 'builderid': [27, 'Builder'], 'workername': ['ubuntu-lts', 'Worker'], 'buildnumber': [7072, 'Build'], 'branch': ['refs/pull/13792/head', 'Build'], 'revision': ['fe6fd2279c195517094538fff8667332049823ad', 'Build'], 'repository': ['', 'Build'], 'codebase': ['', 'Build'], 'project': ['', 'Build'], 'owners': [['Central (on behalf of: Tilka)'], 'Build'], 'basedir': ['/buildbot', 'Worker'], 'builddir': ['/buildbot/pr-ubu-x64', 'Worker'], 'got_revision': ['fe6fd2279c195517094538fff8667332049823ad', 'GitNoBranch'], 'warnings-count': [1, 'WarningCountingShellCommand']}, 'buildrequest': {'buildrequestid': 122392, 'buildsetid': 28703, 'builderid': 27, 'priority': 0, 'claimed': True, 'claimed_at': 1751722654, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1751722650, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 28703, 'external_idstring': None, 'reason': "The AnyBranchScheduler scheduler named 'pr' triggered this build", 'submitted_at': 1751722650, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': None, 'parent_relationship': None, 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 8613, 'branch': 'refs/pull/13792/head', 'revision': 'fe6fd2279c195517094538fff8667332049823ad', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1751722650, 'patch': None}]}, 'parentbuild': None, 'parentbuilder': None, 'builder': {'builderid': 27, 'name': 'pr-ubu-x64', 'masterids': [1], 'description': None, 'description_format': None, 'description_html': None, 'projectid': None, 'tags': []}, 'url': 'https://dolphin.ci/#/builders/27/builds/7072'}, 'type': 'raw_bb_hook'}
2025-07-05T13:42:56.878039	{'source': 'webserver', 'raw': {'buildid': 122280, 'number': 6100, 'builderid': 10, 'buildrequestid': 122398, 'workerid': 5, 'masterid': 1, 'started_at': 1751722945, 'complete_at': None, 'locks_duration_s': 0, 'complete': False, 'state_string': 'starting', 'results': None, 'properties': {'branchname': ['pr-13792', 'Trigger'], 'baserev': ['a5e85caf0af66fec07b476718a69519b06e6a69f', 'Change'], 'headrev': ['fe6fd2279c195517094538fff8667332049823ad', 'Trigger'], 'shortrev': ['fe6fd2', 'Trigger'], 'pr_id': [13792, 'Trigger'], 'repo': ['dolphin-emu/dolphin', 'Trigger'], 'scheduler': ['pr-fifoci-lin', 'Scheduler'], 'buildername': ['pr-fifoci-ogl-lin-mesa', 'Builder'], 'builderid': [10, 'Builder'], 'workername': ['altair-fifoci', 'Worker'], 'buildnumber': [6100, 'Build'], 'branch': ['refs/pull/13792/head', 'Build'], 'revision': ['fe6fd2279c195517094538fff8667332049823ad', 'Build'], 'repository': ['', 'Build'], 'codebase': ['', 'Build'], 'project': ['', 'Build'], 'owners': [['Central (on behalf of: Tilka)'], 'Build']}, 'buildrequest': {'buildrequestid': 122398, 'buildsetid': 28706, 'builderid': 10, 'priority': 0, 'claimed': True, 'claimed_at': 1751722945, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1751722945, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 28706, 'external_idstring': None, 'reason': "The Triggerable scheduler named 'pr-fifoci-lin' triggered this build", 'submitted_at': 1751722945, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': 122277, 'parent_relationship': 'Triggered from', 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 8613, 'branch': 'refs/pull/13792/head', 'revision': 'fe6fd2279c195517094538fff8667332049823ad', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1751722650, 'patch': None}]}, 'parentbuild': {'buildid': 122277, 'number': 7072, 'builderid': 27, 'buildrequestid': 122392, 'workerid': 10, 'masterid': 1, 'started_at': 1751722654, 'complete_at': 1751722946, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {}}, 'parentbuilder': {'builderid': 27, 'name': 'pr-ubu-x64', 'masterids': [1], 'description': None, 'description_format': None, 'description_html': None, 'projectid': None, 'tags': []}, 'builder': {'builderid': 10, 'name': 'pr-fifoci-ogl-lin-mesa', 'masterids': [1], 'description': None, 'description_format': None, 'description_html': None, 'projectid': None, 'tags': []}, 'url': 'https://dolphin.ci/#/builders/10/builds/6100'}, 'type': 'raw_bb_hook'}
2025-07-05T13:42:55.442686	{'source': 'webserver', 'raw': {'buildid': 122273, 'number': 7072, 'builderid': 2, 'buildrequestid': 122385, 'workerid': 4, 'masterid': 1, 'started_at': 1751722651, 'complete_at': 1751722943, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {'branchname': ['pr-13792', 'Change'], 'baserev': ['a5e85caf0af66fec07b476718a69519b06e6a69f', 'Change'], 'headrev': ['fe6fd2279c195517094538fff8667332049823ad', 'Change'], 'shortrev': ['fe6fd2', 'Change'], 'pr_id': [13792, 'Change'], 'workername': ['windows', 'Worker'], 'owners': [['Central (on behalf of: Tilka)'], 'Build'], 'repo': ['dolphin-emu/dolphin', 'Change'], 'scheduler': ['pr', 'Scheduler'], 'buildername': ['pr-win-x64', 'Builder'], 'builderid': [2, 'Builder'], 'buildnumber': [7072, 'Build'], 'branch': ['refs/pull/13792/head', 'Build'], 'revision': ['fe6fd2279c195517094538fff8667332049823ad', 'Build'], 'repository': ['', 'Build'], 'codebase': ['', 'Build'], 'project': ['', 'Build'], 'basedir': ['c:\\buildbot', 'Worker'], 'builddir': ['c:\\buildbot\\pr-win-x64', 'Worker'], 'got_revision': ['fe6fd2279c195517094538fff8667332049823ad', 'GitNoBranch'], 'warnings-count': [0, 'WarningCountingShellCommand'], 'build_url': ['https://dl.dolphin-emu.org/prs/82/57/pr-13792-dolphin-latest-x64.7z', 'SetProperty']}, 'buildrequest': {'buildrequestid': 122385, 'buildsetid': 28703, 'builderid': 2, 'priority': 0, 'claimed': True, 'claimed_at': 1751722651, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1751722650, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 28703, 'external_idstring': None, 'reason': "The AnyBranchScheduler scheduler named 'pr' triggered this build", 'submitted_at': 1751722650, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': None, 'parent_relationship': None, 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 8613, 'branch': 'refs/pull/13792/head', 'revision': 'fe6fd2279c195517094538fff8667332049823ad', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1751722650, 'patch': None}]}, 'parentbuild': None, 'parentbuilder': None, 'builder': {'builderid': 2, 'name': 'pr-win-x64', 'masterids': [1], 'description': None, 'description_format': None, 'description_html': None, 'projectid': None, 'tags': []}, 'url': 'https://dolphin.ci/#/builders/2/builds/7072'}, 'type': 'raw_bb_hook'}
2025-07-05T13:42:54.805216	{'source': 'webserver', 'raw': {'buildid': 122279, 'number': 7070, 'builderid': 13, 'buildrequestid': 122389, 'workerid': 4, 'masterid': 1, 'started_at': 1751722943, 'complete_at': None, 'locks_duration_s': 0, 'complete': False, 'state_string': 'starting', 'results': None, 'properties': {'branchname': ['pr-13792', 'Change'], 'baserev': ['a5e85caf0af66fec07b476718a69519b06e6a69f', 'Change'], 'headrev': ['fe6fd2279c195517094538fff8667332049823ad', 'Change'], 'shortrev': ['fe6fd2', 'Change'], 'pr_id': [13792, 'Change'], 'repo': ['dolphin-emu/dolphin', 'Change'], 'scheduler': ['pr', 'Scheduler'], 'buildername': ['pr-win-arm64', 'Builder'], 'builderid': [13, 'Builder'], 'workername': ['windows', 'Worker'], 'buildnumber': [7070, 'Build'], 'branch': ['refs/pull/13792/head', 'Build'], 'revision': ['fe6fd2279c195517094538fff8667332049823ad', 'Build'], 'repository': ['', 'Build'], 'codebase': ['', 'Build'], 'project': ['', 'Build']}, 'buildrequest': {'buildrequestid': 122389, 'buildsetid': 28703, 'builderid': 13, 'priority': 0, 'claimed': True, 'claimed_at': 1751722943, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1751722650, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 28703, 'external_idstring': None, 'reason': "The AnyBranchScheduler scheduler named 'pr' triggered this build", 'submitted_at': 1751722650, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': None, 'parent_relationship': None, 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 8613, 'branch': 'refs/pull/13792/head', 'revision': 'fe6fd2279c195517094538fff8667332049823ad', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1751722650, 'patch': None}]}, 'parentbuild': None, 'parentbuilder': None, 'builder': {'builderid': 13, 'name': 'pr-win-arm64', 'masterids': [1], 'description': None, 'description_format': None, 'description_html': None, 'projectid': None, 'tags': []}, 'url': 'https://dolphin.ci/#/builders/13/builds/7070'}, 'type': 'raw_bb_hook'}
2025-07-05T13:41:04.686225	{'source': 'webserver', 'raw': {'buildid': 122272, 'number': 7077, 'builderid': 7, 'buildrequestid': 122386, 'workerid': 8, 'masterid': 1, 'started_at': 1751722651, 'complete_at': 1751722839, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {'project': ['', 'Build'], 'branchname': ['pr-13792', 'Change'], 'baserev': ['a5e85caf0af66fec07b476718a69519b06e6a69f', 'Change'], 'headrev': ['fe6fd2279c195517094538fff8667332049823ad', 'Change'], 'shortrev': ['fe6fd2', 'Change'], 'pr_id': [13792, 'Change'], 'repo': ['dolphin-emu/dolphin', 'Change'], 'scheduler': ['pr', 'Scheduler'], 'buildername': ['pr-osx-universal', 'Builder'], 'builderid': [7, 'Builder'], 'workername': ['osx-m1', 'Worker'], 'buildnumber': [7077, 'Build'], 'branch': ['refs/pull/13792/head', 'Build'], 'revision': ['fe6fd2279c195517094538fff8667332049823ad', 'Build'], 'repository': ['', 'Build'], 'codebase': ['', 'Build'], 'owners': [['Central (on behalf of: Tilka)'], 'Build'], 'basedir': ['/Users/administrator/buildbot-worker/osx_m1', 'Worker'], 'builddir': ['/Users/administrator/buildbot-worker/osx_m1/pr-osx-universal', 'Worker'], 'got_revision': ['fe6fd2279c195517094538fff8667332049823ad', 'GitNoBranch']}, 'buildrequest': {'buildrequestid': 122386, 'buildsetid': 28703, 'builderid': 7, 'priority': 0, 'claimed': True, 'claimed_at': 1751722651, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1751722650, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 28703, 'external_idstring': None, 'reason': "The AnyBranchScheduler scheduler named 'pr' triggered this build", 'submitted_at': 1751722650, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': None, 'parent_relationship': None, 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 8613, 'branch': 'refs/pull/13792/head', 'revision': 'fe6fd2279c195517094538fff8667332049823ad', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1751722650, 'patch': None}]}, 'parentbuild': None, 'parentbuilder': None, 'builder': {'builderid': 7, 'name': 'pr-osx-universal', 'masterids': [1], 'description': None, 'description_format': None, 'description_html': None, 'projectid': None, 'tags': []}, 'url': 'https://dolphin.ci/#/builders/7/builds/7077'}, 'type': 'raw_bb_hook'}
2025-07-05T13:41:02.099037	{'source': 'webserver', 'raw': {'buildid': 122278, 'number': 6097, 'builderid': 19, 'buildrequestid': 122396, 'workerid': 8, 'masterid': 1, 'started_at': 1751722839, 'complete_at': None, 'locks_duration_s': 0, 'complete': False, 'state_string': 'starting', 'results': None, 'properties': {'branchname': ['pr-13792', 'Trigger'], 'baserev': ['a5e85caf0af66fec07b476718a69519b06e6a69f', 'Change'], 'headrev': ['fe6fd2279c195517094538fff8667332049823ad', 'Trigger'], 'shortrev': ['fe6fd2', 'Trigger'], 'pr_id': [13792, 'Trigger'], 'repo': ['dolphin-emu/dolphin', 'Trigger'], 'scheduler': ['pr-fifoci-osx', 'Scheduler'], 'buildername': ['pr-fifoci-mvk-osx-m1', 'Builder'], 'builderid': [19, 'Builder'], 'workername': ['osx-m1', 'Worker'], 'buildnumber': [6097, 'Build'], 'branch': ['refs/pull/13792/head', 'Build'], 'revision': ['fe6fd2279c195517094538fff8667332049823ad', 'Build'], 'repository': ['', 'Build'], 'codebase': ['', 'Build'], 'project': ['', 'Build'], 'owners': [['Central (on behalf of: Tilka)'], 'Build']}, 'buildrequest': {'buildrequestid': 122396, 'buildsetid': 28704, 'builderid': 19, 'priority': 0, 'claimed': True, 'claimed_at': 1751722839, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1751722839, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 28704, 'external_idstring': None, 'reason': "The Triggerable scheduler named 'pr-fifoci-osx' triggered this build", 'submitted_at': 1751722839, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': 122272, 'parent_relationship': 'Triggered from', 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 8613, 'branch': 'refs/pull/13792/head', 'revision': 'fe6fd2279c195517094538fff8667332049823ad', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1751722650, 'patch': None}]}, 'parentbuild': {'buildid': 122272, 'number': 7077, 'builderid': 7, 'buildrequestid': 122386, 'workerid': 8, 'masterid': 1, 'started_at': 1751722651, 'complete_at': 1751722839, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {}}, 'parentbuilder': {'builderid': 7, 'name': 'pr-osx-universal', 'masterids': [1], 'description': None, 'description_format': None, 'description_html': None, 'projectid': None, 'tags': []}, 'builder': {'builderid': 19, 'name': 'pr-fifoci-mvk-osx-m1', 'masterids': [1], 'description': None, 'description_format': None, 'description_html': None, 'projectid': None, 'tags': []}, 'url': 'https://dolphin.ci/#/builders/19/builds/6097'}, 'type': 'raw_bb_hook'}
2025-07-05T13:39:06.830352	{'source': 'webserver', 'raw': {'buildid': 122271, 'number': 7073, 'builderid': 11, 'buildrequestid': 122388, 'workerid': 1, 'masterid': 1, 'started_at': 1751722651, 'complete_at': 1751722721, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {'repo': ['dolphin-emu/dolphin', 'Change'], 'scheduler': ['pr', 'Scheduler'], 'project': ['', 'Build'], 'baserev': ['a5e85caf0af66fec07b476718a69519b06e6a69f', 'Change'], 'headrev': ['fe6fd2279c195517094538fff8667332049823ad', 'Change'], 'shortrev': ['fe6fd2', 'Change'], 'workername': ['freebsd', 'Worker'], 'codebase': ['', 'Build'], 'branchname': ['pr-13792', 'Change'], 'buildnumber': [7073, 'Build'], 'branch': ['refs/pull/13792/head', 'Build'], 'revision': ['fe6fd2279c195517094538fff8667332049823ad', 'Build'], 'repository': ['', 'Build'], 'pr_id': [13792, 'Change'], 'builderid': [11, 'Builder'], 'buildername': ['pr-freebsd-x64', 'Builder'], 'owners': [['Central (on behalf of: Tilka)'], 'Build'], 'basedir': ['/usr/home/buildbot/freebsd', 'Worker'], 'builddir': ['/usr/home/buildbot/freebsd/pr-freebsd-x64', 'Worker'], 'got_revision': ['fe6fd2279c195517094538fff8667332049823ad', 'GitNoBranch'], 'warnings-count': [8, 'WarningCountingShellCommand']}, 'buildrequest': {'buildrequestid': 122388, 'buildsetid': 28703, 'builderid': 11, 'priority': 0, 'claimed': True, 'claimed_at': 1751722651, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1751722650, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 28703, 'external_idstring': None, 'reason': "The AnyBranchScheduler scheduler named 'pr' triggered this build", 'submitted_at': 1751722650, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': None, 'parent_relationship': None, 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 8613, 'branch': 'refs/pull/13792/head', 'revision': 'fe6fd2279c195517094538fff8667332049823ad', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1751722650, 'patch': None}]}, 'parentbuild': None, 'parentbuilder': None, 'builder': {'builderid': 11, 'name': 'pr-freebsd-x64', 'masterids': [1], 'description': None, 'description_format': None, 'description_html': None, 'projectid': None, 'tags': []}, 'url': 'https://dolphin.ci/#/builders/11/builds/7073'}, 'type': 'raw_bb_hook'}
2025-07-05T13:38:57.289103	{'source': 'webserver', 'raw': {'buildid': 122270, 'number': 7072, 'builderid': 9, 'buildrequestid': 122387, 'workerid': 10, 'masterid': 1, 'started_at': 1751722651, 'complete_at': 1751722654, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {'branchname': ['pr-13792', 'Change'], 'repo': ['dolphin-emu/dolphin', 'Change'], 'workername': ['ubuntu-lts', 'Worker'], 'buildnumber': [7072, 'Build'], 'revision': ['fe6fd2279c195517094538fff8667332049823ad', 'Build'], 'repository': ['', 'Build'], 'shortrev': ['fe6fd2', 'Change'], 'scheduler': ['pr', 'Scheduler'], 'branch': ['refs/pull/13792/head', 'Build'], 'headrev': ['fe6fd2279c195517094538fff8667332049823ad', 'Change'], 'baserev': ['a5e85caf0af66fec07b476718a69519b06e6a69f', 'Change'], 'pr_id': [13792, 'Change'], 'buildername': ['lint', 'Builder'], 'builderid': [9, 'Builder'], 'codebase': ['', 'Build'], 'project': ['', 'Build'], 'owners': [['Central (on behalf of: Tilka)'], 'Build'], 'basedir': ['/buildbot', 'Worker'], 'builddir': ['/buildbot/lint', 'Worker'], 'got_revision': ['fe6fd2279c195517094538fff8667332049823ad', 'GitNoBranch']}, 'buildrequest': {'buildrequestid': 122387, 'buildsetid': 28703, 'builderid': 9, 'priority': 0, 'claimed': True, 'claimed_at': 1751722651, 'claimed_by_masterid': 1, 'complete': True, 'results': 0, 'submitted_at': 1751722650, 'complete_at': 1751722654, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 28703, 'external_idstring': None, 'reason': "The AnyBranchScheduler scheduler named 'pr' triggered this build", 'submitted_at': 1751722650, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': None, 'parent_relationship': None, 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 8613, 'branch': 'refs/pull/13792/head', 'revision': 'fe6fd2279c195517094538fff8667332049823ad', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1751722650, 'patch': None}]}, 'parentbuild': None, 'parentbuilder': None, 'builder': {'builderid': 9, 'name': 'lint', 'masterids': [1], 'description': None, 'description_format': None, 'description_html': None, 'projectid': None, 'tags': []}, 'url': 'https://dolphin.ci/#/builders/9/builds/7072'}, 'type': 'raw_bb_hook'}

Recent 'raw_gh_hook' events

2025-07-05T18:36:02.859713	{'source': 'webserver', 'gh_type': 'pull_request', 'raw': {'action': 'edited', 'number': 13779, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/13779', 'id': 2625706866, 'node_id': 'PR_kwDOALCn2M6cgRty', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13779', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/13779.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/13779.patch', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13779', 'number': 13779, 'state': 'open', 'locked': False, 'title': 'GameINI: Add 30 FPS codes to Mario Kart: Double Dash, Mario Kart Wii, Super Mario Galaxy and Super Mario Galaxy 2', 'user': {'login': 'matheuswillder', 'id': 46294160, 'node_id': 'MDQ6VXNlcjQ2Mjk0MTYw', 'avatar_url': 'https://avatars.githubusercontent.com/u/46294160?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/matheuswillder', 'html_url': 'https://github.com/matheuswillder', 'followers_url': 'https://api.github.com/users/matheuswillder/followers', 'following_url': 'https://api.github.com/users/matheuswillder/following{/other_user}', 'gists_url': 'https://api.github.com/users/matheuswillder/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/matheuswillder/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/matheuswillder/subscriptions', 'organizations_url': 'https://api.github.com/users/matheuswillder/orgs', 'repos_url': 'https://api.github.com/users/matheuswillder/repos', 'events_url': 'https://api.github.com/users/matheuswillder/events{/privacy}', 'received_events_url': 'https://api.github.com/users/matheuswillder/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': "As commented here https://github.com/dolphin-emu/dolphin/pull/11502#issuecomment-3007481728, this adds some AR and Gecko codes for Mario Kart: Double Dash, Mario Kart Wii and Super Mario Galaxy 2 that, when enabled, cap the speed at 30 FPS, which may help reach full speed on lower-end devices.\r\n\r\nThe codes can be found on the Dolphin Wiki for Mario Kart Wii, while the others were found on the internet. However, I only own the NTSC version of each game to test.\r\n\r\nThis is one of my first PRs, so I hope I'm doing it right.", 'created_at': '2025-06-28T01:32:05Z', 'updated_at': '2025-07-05T18:36:00Z', 'closed_at': None, 'merged_at': None, 'merge_commit_sha': 'e6007dfc6039ba8ae5bb94729a73453ab14f90fc', 'assignee': None, 'assignees': [], 'requested_reviewers': [], 'requested_teams': [], 'labels': [], 'milestone': None, 'draft': False, 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/13779/commits', 'review_comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/13779/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/13779/comments', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/cfb1b7b7f7414043b2f2afded67ddc2004b0e408', 'head': {'label': 'matheuswillder:30-FPS-code', 'ref': '30-FPS-code', 'sha': 'cfb1b7b7f7414043b2f2afded67ddc2004b0e408', 'user': {'login': 'matheuswillder', 'id': 46294160, 'node_id': 'MDQ6VXNlcjQ2Mjk0MTYw', 'avatar_url': 'https://avatars.githubusercontent.com/u/46294160?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/matheuswillder', 'html_url': 'https://github.com/matheuswillder', 'followers_url': 'https://api.github.com/users/matheuswillder/followers', 'following_url': 'https://api.github.com/users/matheuswillder/following{/other_user}', 'gists_url': 'https://api.github.com/users/matheuswillder/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/matheuswillder/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/matheuswillder/subscriptions', 'organizations_url': 'https://api.github.com/users/matheuswillder/orgs', 'repos_url': 'https://api.github.com/users/matheuswillder/repos', 'events_url': 'https://api.github.com/users/matheuswillder/events{/privacy}', 'received_events_url': 'https://api.github.com/users/matheuswillder/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 1008388892, 'node_id': 'R_kgDOPBrLHA', 'name': 'dolphin', 'full_name': 'matheuswillder/dolphin', 'private': False, 'owner': {'login': 'matheuswillder', 'id': 46294160, 'node_id': 'MDQ6VXNlcjQ2Mjk0MTYw', 'avatar_url': 'https://avatars.githubusercontent.com/u/46294160?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/matheuswillder', 'html_url': 'https://github.com/matheuswillder', 'followers_url': 'https://api.github.com/users/matheuswillder/followers', 'following_url': 'https://api.github.com/users/matheuswillder/following{/other_user}', 'gists_url': 'https://api.github.com/users/matheuswillder/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/matheuswillder/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/matheuswillder/subscriptions', 'organizations_url': 'https://api.github.com/users/matheuswillder/orgs', 'repos_url': 'https://api.github.com/users/matheuswillder/repos', 'events_url': 'https://api.github.com/users/matheuswillder/events{/privacy}', 'received_events_url': 'https://api.github.com/users/matheuswillder/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/matheuswillder/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/matheuswillder/dolphin', 'forks_url': 'https://api.github.com/repos/matheuswillder/dolphin/forks', 'keys_url': 'https://api.github.com/repos/matheuswillder/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/matheuswillder/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/matheuswillder/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/matheuswillder/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/matheuswillder/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/matheuswillder/dolphin/events', 'assignees_url': 'https://api.github.com/repos/matheuswillder/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/matheuswillder/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/matheuswillder/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/matheuswillder/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/matheuswillder/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/matheuswillder/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/matheuswillder/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/matheuswillder/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/matheuswillder/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/matheuswillder/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/matheuswillder/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/matheuswillder/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/matheuswillder/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/matheuswillder/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/matheuswillder/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/matheuswillder/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/matheuswillder/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/matheuswillder/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/matheuswillder/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/matheuswillder/dolphin/merges', 'archive_url': 'https://api.github.com/repos/matheuswillder/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/matheuswillder/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/matheuswillder/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/matheuswillder/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/matheuswillder/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/matheuswillder/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/matheuswillder/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/matheuswillder/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/matheuswillder/dolphin/deployments', 'created_at': '2025-06-25T13:19:20Z', 'updated_at': '2025-06-28T00:50:39Z', 'pushed_at': '2025-07-01T21:54:59Z', 'git_url': 'git://github.com/matheuswillder/dolphin.git', 'ssh_url': 'git@github.com:matheuswillder/dolphin.git', 'clone_url': 'https://github.com/matheuswillder/dolphin.git', 'svn_url': 'https://github.com/matheuswillder/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 486038, 'stargazers_count': 0, 'watchers_count': 0, 'language': 'C++', 'has_issues': False, 'has_projects': True, 'has_downloads': True, '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, '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': '43aa7e9b9658d3c1508512b6b0caef7737ed6683', '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': '2025-07-05T06:48:25Z', 'pushed_at': '2025-07-03T06:31:01Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 530284, 'stargazers_count': 13889, 'watchers_count': 13889, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': True, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 2825, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 343, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 2825, 'open_issues': 343, 'watchers': 13889, '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/13779'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/13779'}, 'issue': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13779'}, 'comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13779/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/13779/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/13779/commits'}, 'statuses': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/cfb1b7b7f7414043b2f2afded67ddc2004b0e408'}}, 'author_association': 'CONTRIBUTOR', 'auto_merge': None, 'active_lock_reason': None, 'merged': False, 'mergeable': True, 'rebaseable': True, 'mergeable_state': 'clean', 'merged_by': None, 'comments': 8, 'review_comments': 0, 'maintainer_can_modify': True, 'commits': 9, 'additions': 85, 'deletions': 0, 'changed_files': 8}, 'changes': {'title': {'from': 'GameINI: Add 30 FPS codes to Mario Kart: Double Dash, Mario Kart Wii and Super Mario Galaxy 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': '2025-07-05T06:48:25Z', 'pushed_at': '2025-07-03T06:31:01Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 530284, 'stargazers_count': 13889, 'watchers_count': 13889, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': True, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 2825, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 343, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 2825, 'open_issues': 343, 'watchers': 13889, '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': 'matheuswillder', 'id': 46294160, 'node_id': 'MDQ6VXNlcjQ2Mjk0MTYw', 'avatar_url': 'https://avatars.githubusercontent.com/u/46294160?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/matheuswillder', 'html_url': 'https://github.com/matheuswillder', 'followers_url': 'https://api.github.com/users/matheuswillder/followers', 'following_url': 'https://api.github.com/users/matheuswillder/following{/other_user}', 'gists_url': 'https://api.github.com/users/matheuswillder/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/matheuswillder/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/matheuswillder/subscriptions', 'organizations_url': 'https://api.github.com/users/matheuswillder/orgs', 'repos_url': 'https://api.github.com/users/matheuswillder/repos', 'events_url': 'https://api.github.com/users/matheuswillder/events{/privacy}', 'received_events_url': 'https://api.github.com/users/matheuswillder/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'raw_gh_hook'}
2025-07-05T18:35:30.102893	{'source': 'webserver', 'gh_type': 'issue_comment', 'raw': {'action': 'edited', 'changes': {'body': {'from': "This makes sense and actually is in line with my experience running both Mario Kart games with an old 2nd gen Intel i5 desktop I had (using its iGPU) and also a low-end Android from 2020/2021. On that old desktop, both Mario Kart games achieved a stable 30 FPS using the codes, but on the low-end Android, the speed simply dropped even further (from around ~25 FPS without the code to ~12 FPS or less with it, if I remember correctly).\r\n\r\nBut outside of these older hardware, there are other cases where it helps, as shown in the recordings above (this Android device is new, but is far from a flagship, it's a Galaxy A55 released in 2024).\r\n\r\nAnyway, I tested both SMG and SMG2 with the codes and didn't encounter any noticeable issues. I'll update my 30-FPS-code branch with the new SMG code, and of course, it's up to the maintainers to decide whether it's worth merging or not, I just thought it was a nice addition to help less experienced users who might have trouble activating it themselves.\r\n\r\nAlso, if anyone wants or needs to make any additions or edits to this PR, feel free to do so, I have no experience with this and due to personal issues I have little free time at the moment."}}, 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13779', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13779/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13779/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13779/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13779', 'id': 3184422634, 'node_id': 'PR_kwDOALCn2M6cgRty', 'number': 13779, 'title': 'GameINI: Add 30 FPS codes to Mario Kart: Double Dash, Mario Kart Wii and Super Mario Galaxy 2', 'user': {'login': 'matheuswillder', 'id': 46294160, 'node_id': 'MDQ6VXNlcjQ2Mjk0MTYw', 'avatar_url': 'https://avatars.githubusercontent.com/u/46294160?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/matheuswillder', 'html_url': 'https://github.com/matheuswillder', 'followers_url': 'https://api.github.com/users/matheuswillder/followers', 'following_url': 'https://api.github.com/users/matheuswillder/following{/other_user}', 'gists_url': 'https://api.github.com/users/matheuswillder/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/matheuswillder/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/matheuswillder/subscriptions', 'organizations_url': 'https://api.github.com/users/matheuswillder/orgs', 'repos_url': 'https://api.github.com/users/matheuswillder/repos', 'events_url': 'https://api.github.com/users/matheuswillder/events{/privacy}', 'received_events_url': 'https://api.github.com/users/matheuswillder/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignee': None, 'assignees': [], 'milestone': None, 'comments': 8, 'created_at': '2025-06-28T01:32:05Z', 'updated_at': '2025-07-05T18:32:23Z', 'closed_at': None, 'author_association': 'CONTRIBUTOR', 'type': None, 'active_lock_reason': None, 'draft': False, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/13779', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13779', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/13779.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/13779.patch', 'merged_at': None}, 'body': "As commented here https://github.com/dolphin-emu/dolphin/pull/11502#issuecomment-3007481728, this adds some AR and Gecko codes for Mario Kart: Double Dash, Mario Kart Wii and Super Mario Galaxy 2 that, when enabled, cap the speed at 30 FPS, which may help reach full speed on lower-end devices.\r\n\r\nThe codes can be found on the Dolphin Wiki for Mario Kart Wii, while the others were found on the internet. However, I only own the NTSC version of each game to test.\r\n\r\nThis is one of my first PRs, so I hope I'm doing it right.", 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13779/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/13779/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/3019981229', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13779#issuecomment-3019981229', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13779', 'id': 3019981229, 'node_id': 'IC_kwDOALCn2M60AUGt', 'user': {'login': 'matheuswillder', 'id': 46294160, 'node_id': 'MDQ6VXNlcjQ2Mjk0MTYw', 'avatar_url': 'https://avatars.githubusercontent.com/u/46294160?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/matheuswillder', 'html_url': 'https://github.com/matheuswillder', 'followers_url': 'https://api.github.com/users/matheuswillder/followers', 'following_url': 'https://api.github.com/users/matheuswillder/following{/other_user}', 'gists_url': 'https://api.github.com/users/matheuswillder/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/matheuswillder/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/matheuswillder/subscriptions', 'organizations_url': 'https://api.github.com/users/matheuswillder/orgs', 'repos_url': 'https://api.github.com/users/matheuswillder/repos', 'events_url': 'https://api.github.com/users/matheuswillder/events{/privacy}', 'received_events_url': 'https://api.github.com/users/matheuswillder/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2025-06-30T16:52:34Z', 'updated_at': '2025-07-05T18:35:28Z', 'author_association': 'CONTRIBUTOR', 'body': ">Maybe those codes are meant for the very rare devices that have a good enough CPU to achieve 60 vps, but weak GPU to go over 1x IR on SMG\r\n\r\nThat makes sense and in fact the experience you reported in your comment earlier is in line with my experience running both Mario Kart games with an old 2nd gen Intel i5 desktop I had (using its iGPU) and also a low-end Android from 2020/2021. On that old desktop, both Mario Kart games achieved a stable 30 FPS using the codes, but on the low-end Android, the speed simply dropped even further (from around ~25 FPS without the code to ~12 FPS or less with it, if I remember correctly).\r\n\r\nBut outside of these older hardware, there are other cases where it helps, as shown in the recordings above (this Android device is new, but is far from a flagship, it's a Galaxy A55 released in 2024).\r\n\r\nAnyway, I tested both SMG and SMG2 with the codes and didn't encounter any noticeable issues. I'll update my 30-FPS-code branch with the new SMG code, and of course, it's up to the maintainers to decide whether it's worth merging or not, I just thought it was a nice addition to help less experienced users who might have trouble activating it themselves.\r\n\r\nAlso, if anyone wants or needs to make any additions or edits to this PR, feel free to do so, I have no experience with this and due to personal issues I have little free time at the moment.\r\n\r\nEdit: correction.", 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/3019981229/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}, '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': '2025-07-05T06:48:25Z', 'pushed_at': '2025-07-03T06:31:01Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 530284, 'stargazers_count': 13889, 'watchers_count': 13889, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': True, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 2825, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 343, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 2825, 'open_issues': 343, 'watchers': 13889, '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': 'matheuswillder', 'id': 46294160, 'node_id': 'MDQ6VXNlcjQ2Mjk0MTYw', 'avatar_url': 'https://avatars.githubusercontent.com/u/46294160?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/matheuswillder', 'html_url': 'https://github.com/matheuswillder', 'followers_url': 'https://api.github.com/users/matheuswillder/followers', 'following_url': 'https://api.github.com/users/matheuswillder/following{/other_user}', 'gists_url': 'https://api.github.com/users/matheuswillder/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/matheuswillder/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/matheuswillder/subscriptions', 'organizations_url': 'https://api.github.com/users/matheuswillder/orgs', 'repos_url': 'https://api.github.com/users/matheuswillder/repos', 'events_url': 'https://api.github.com/users/matheuswillder/events{/privacy}', 'received_events_url': 'https://api.github.com/users/matheuswillder/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'raw_gh_hook'}
2025-07-05T18:32:24.530627	{'source': 'webserver', 'gh_type': 'issue_comment', 'raw': {'action': 'edited', 'changes': {'body': {'from': "I'm going to post this in this new comment instead of editing the previous one, since what I found is interesting. I made some short recordings of the games running with and without code on my Android device.\r\n\r\nHere's Super Mario Galaxy running without code. As I mentioned before, my device runs it fine, but since the recording adds some overload, there's slowdowns (turn on the audio): https://imgur.com/a/rDC54Lg\r\n\r\nHere's Super Mario Galaxy running with the code found by @SuperSamus and posted in the link above. There's some improvement, but it seems minimal: https://imgur.com/a/8DGLL4y\r\n\r\nWell, in the link above, there's a comment pointing to another video, with different code, and claiming that it works better. I decided to test it out, and indeed there is a noticeable improvement, **even with the recording**: https://imgur.com/a/98pJyOh\r\n\r\nSo I'd say if we were going to add the code to Super Mario Galaxy, it would have to be this one, found [here](https://www.youtube.com/watch?v=HhuVOYG1UG0):\r\n\r\n`$30fps gecko code to boost performance USA only`\r\n`043a0058 60000000`\r\n`0439f7d4 3bc00002`\r\n`c233e81c 00000006`\r\n`8062ffe0 38630001`\r\n`9062ffe0 70630001`\r\n`40820014 3c608033`\r\n`6063e824 7c6903a6`\r\n`4e800420 7fe3fb78`\r\n`60000000 00000000`\r\n\r\nI also did some testing with Mario Kart Wii. Without code, whenever I drift to do a mini-turbo, there is a slowdown: https://imgur.com/a/9nJrxry\r\n\r\nBut with the code already in this PR, there is none: https://imgur.com/a/gj6UQpc\r\n\r\nI tested Mario Kart: Double Dash as well, but I could no longer reproduce the slowdowns I was having before without code. However, my phone had a major update recently (from One UI 6.1 to One UI 7, based on Android 15), so it may have been a driver issue or something that has now fixed, but I'm pretty sure that this 30 FPS code in this PR also helped with the slowdown when it was there.\r\n\r\nI don't have much time to dedicate to this right now, but I'm going to test the codes for SMG and SMG2 for at least 10 minutes to make sure they don't cause any issues like crashes or anything like that. I'll let you know if I find any issues. As for the codes for Mario Kart: Double Dash and Mario Kart Wii, I've already finished both games using them a few days/weeks ago.\r\n\r\nThoughts?"}}, 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13779', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13779/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13779/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13779/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13779', 'id': 3184422634, 'node_id': 'PR_kwDOALCn2M6cgRty', 'number': 13779, 'title': 'GameINI: Add 30 FPS codes to Mario Kart: Double Dash, Mario Kart Wii and Super Mario Galaxy 2', 'user': {'login': 'matheuswillder', 'id': 46294160, 'node_id': 'MDQ6VXNlcjQ2Mjk0MTYw', 'avatar_url': 'https://avatars.githubusercontent.com/u/46294160?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/matheuswillder', 'html_url': 'https://github.com/matheuswillder', 'followers_url': 'https://api.github.com/users/matheuswillder/followers', 'following_url': 'https://api.github.com/users/matheuswillder/following{/other_user}', 'gists_url': 'https://api.github.com/users/matheuswillder/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/matheuswillder/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/matheuswillder/subscriptions', 'organizations_url': 'https://api.github.com/users/matheuswillder/orgs', 'repos_url': 'https://api.github.com/users/matheuswillder/repos', 'events_url': 'https://api.github.com/users/matheuswillder/events{/privacy}', 'received_events_url': 'https://api.github.com/users/matheuswillder/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignee': None, 'assignees': [], 'milestone': None, 'comments': 8, 'created_at': '2025-06-28T01:32:05Z', 'updated_at': '2025-06-30T19:21:42Z', 'closed_at': None, 'author_association': 'CONTRIBUTOR', 'type': None, 'active_lock_reason': None, 'draft': False, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/13779', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13779', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/13779.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/13779.patch', 'merged_at': None}, 'body': "As commented here https://github.com/dolphin-emu/dolphin/pull/11502#issuecomment-3007481728, this adds some AR and Gecko codes for Mario Kart: Double Dash, Mario Kart Wii and Super Mario Galaxy 2 that, when enabled, cap the speed at 30 FPS, which may help reach full speed on lower-end devices.\r\n\r\nThe codes can be found on the Dolphin Wiki for Mario Kart Wii, while the others were found on the internet. However, I only own the NTSC version of each game to test.\r\n\r\nThis is one of my first PRs, so I hope I'm doing it right.", 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13779/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/13779/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/3017466931', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13779#issuecomment-3017466931', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13779', 'id': 3017466931, 'node_id': 'IC_kwDOALCn2M6z2uQz', 'user': {'login': 'matheuswillder', 'id': 46294160, 'node_id': 'MDQ6VXNlcjQ2Mjk0MTYw', 'avatar_url': 'https://avatars.githubusercontent.com/u/46294160?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/matheuswillder', 'html_url': 'https://github.com/matheuswillder', 'followers_url': 'https://api.github.com/users/matheuswillder/followers', 'following_url': 'https://api.github.com/users/matheuswillder/following{/other_user}', 'gists_url': 'https://api.github.com/users/matheuswillder/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/matheuswillder/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/matheuswillder/subscriptions', 'organizations_url': 'https://api.github.com/users/matheuswillder/orgs', 'repos_url': 'https://api.github.com/users/matheuswillder/repos', 'events_url': 'https://api.github.com/users/matheuswillder/events{/privacy}', 'received_events_url': 'https://api.github.com/users/matheuswillder/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2025-06-30T01:36:52Z', 'updated_at': '2025-07-05T18:32:23Z', 'author_association': 'CONTRIBUTOR', 'body': "I'm going to post this in this new comment instead of editing the previous one, since what I found is interesting. I made some short recordings of the games running with and without code on my Android device.\r\n\r\nHere's Super Mario Galaxy running without code. As I mentioned before, my device runs it fine, but since the recording adds some overload, there's slowdowns (turn on the audio):\r\n\r\nhttps://github.com/user-attachments/assets/95e85659-e73d-4074-b19e-d3552263f6d0\r\n\r\nMirror: https://imgur.com/a/rDC54Lg\r\n\r\nHere's Super Mario Galaxy running with the code found by @SuperSamus and posted in the link above. There's some improvement, but it seems minimal:\r\n\r\nhttps://github.com/user-attachments/assets/ff66bd91-3fc4-4b5d-ad4e-262a075f33b4\r\n\r\nMirror: https://imgur.com/a/8DGLL4y\r\n\r\nWell, in the link above, there's a comment pointing to another video, with different code, and claiming that it works better. I decided to test it out, and indeed there is a noticeable improvement, **even with the recording**:\r\n\r\nhttps://github.com/user-attachments/assets/e0106ef3-681d-48ee-9d16-d3dc5874d992\r\n\r\nMirror: https://imgur.com/a/98pJyOh\r\n\r\nSo I'd say if we were going to add the code to Super Mario Galaxy, it would have to be this one, found [here](https://www.youtube.com/watch?v=HhuVOYG1UG0):\r\n\r\n`$30fps gecko code to boost performance USA only`\r\n`043a0058 60000000`\r\n`0439f7d4 3bc00002`\r\n`c233e81c 00000006`\r\n`8062ffe0 38630001`\r\n`9062ffe0 70630001`\r\n`40820014 3c608033`\r\n`6063e824 7c6903a6`\r\n`4e800420 7fe3fb78`\r\n`60000000 00000000`\r\n\r\nI also did some testing with Mario Kart Wii. Without code, whenever I drift to do a mini-turbo, there is a slowdown:\r\n\r\nhttps://github.com/user-attachments/assets/8bd371e4-16fa-43ee-9e67-6eef0756f508\r\n\r\nMirror: https://imgur.com/a/9nJrxry\r\n\r\nBut with the code already in this PR, there is none:\r\n\r\nhttps://github.com/user-attachments/assets/8ec35595-a321-4524-bff9-cb53e653179e\r\n\r\nMirror: https://imgur.com/a/gj6UQpc\r\n\r\nI tested Mario Kart: Double Dash as well, but I could no longer reproduce the slowdowns I was having before without code. However, my phone had a major update recently (from One UI 6.1 to One UI 7, based on Android 15), so it may have been a driver issue or something that is now fixed, but I'm pretty sure that this 30 FPS code in this PR also helped with the slowdown when it was there.\r\n\r\nI don't have much time to dedicate to this right now, but I'm going to test the codes for SMG and SMG2 for at least 10 minutes to make sure they don't cause any issues like crashes or anything like that. I'll let you know if I find any issues. As for the codes for Mario Kart: Double Dash and Mario Kart Wii, I've already finished both games using them a few days/weeks ago.\r\n\r\nThoughts?\r\n\r\nEdit: I added the recordings directly here, for better viewing, but I also kept the mirror on Imgur.", 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/3017466931/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}, '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': '2025-07-05T06:48:25Z', 'pushed_at': '2025-07-03T06:31:01Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 530284, 'stargazers_count': 13889, 'watchers_count': 13889, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': True, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 2825, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 343, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 2825, 'open_issues': 343, 'watchers': 13889, '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': 'matheuswillder', 'id': 46294160, 'node_id': 'MDQ6VXNlcjQ2Mjk0MTYw', 'avatar_url': 'https://avatars.githubusercontent.com/u/46294160?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/matheuswillder', 'html_url': 'https://github.com/matheuswillder', 'followers_url': 'https://api.github.com/users/matheuswillder/followers', 'following_url': 'https://api.github.com/users/matheuswillder/following{/other_user}', 'gists_url': 'https://api.github.com/users/matheuswillder/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/matheuswillder/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/matheuswillder/subscriptions', 'organizations_url': 'https://api.github.com/users/matheuswillder/orgs', 'repos_url': 'https://api.github.com/users/matheuswillder/repos', 'events_url': 'https://api.github.com/users/matheuswillder/events{/privacy}', 'received_events_url': 'https://api.github.com/users/matheuswillder/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'raw_gh_hook'}
2025-07-05T14:56:04.540768	{'source': 'webserver', 'gh_type': 'issue_comment', 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13786', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13786/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13786/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13786/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13786', 'id': 3189715929, 'node_id': 'PR_kwDOALCn2M6cwsDR', 'number': 13786, 'title': 'PPCSymbolDB: Improve locking', 'user': {'login': 'JosJuice', 'id': 6716818, 'node_id': 'MDQ6VXNlcjY3MTY4MTg=', 'avatar_url': 'https://avatars.githubusercontent.com/u/6716818?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/JosJuice', 'html_url': 'https://github.com/JosJuice', 'followers_url': 'https://api.github.com/users/JosJuice/followers', 'following_url': 'https://api.github.com/users/JosJuice/following{/other_user}', 'gists_url': 'https://api.github.com/users/JosJuice/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/JosJuice/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/JosJuice/subscriptions', 'organizations_url': 'https://api.github.com/users/JosJuice/orgs', 'repos_url': 'https://api.github.com/users/JosJuice/repos', 'events_url': 'https://api.github.com/users/JosJuice/events{/privacy}', 'received_events_url': 'https://api.github.com/users/JosJuice/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignee': None, 'assignees': [], 'milestone': None, 'comments': 4, 'created_at': '2025-06-30T20:10:32Z', 'updated_at': '2025-07-05T14:56:02Z', 'closed_at': None, 'author_association': 'MEMBER', 'type': None, 'active_lock_reason': None, 'draft': False, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/13786', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13786', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/13786.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/13786.patch', 'merged_at': None}, 'body': "https://github.com/dolphin-emu/dolphin/commit/93952381599a791710b21fb3d29d64d05cc635f3 added locking to PPCSymbolDB, but it didn't add locking to all relevant functions, and the way it uses try_lock introduces potential reliability problems. This PR improves seeks to improve the situation, as described further in the commit descriptions.\r\n\r\n@TryTwo You probably know the use cases better than me, so could I ask for your help in testing this? I did some basic tests of loading symbol maps, and that seemed to work fine.", 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13786/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/13786/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/3039059753', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13786#issuecomment-3039059753', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13786', 'id': 3039059753, 'node_id': 'IC_kwDOALCn2M61JF8p', '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': '2025-07-05T14:56:02Z', 'updated_at': '2025-07-05T14:56:02Z', 'author_association': 'MEMBER', 'body': "Reproducing the issues fixed by this PR would presumably require you to do something like using the debugger's symbol functionality exactly while the core is jitting code. I don't have any reproduction steps for this, and even if you manage to reproduce it, the corruption it causes might be something minor that you'll never notice.", 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/3039059753/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}, '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': '2025-07-05T06:48:25Z', 'pushed_at': '2025-07-03T06:31:01Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 530284, 'stargazers_count': 13889, 'watchers_count': 13889, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': True, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 2825, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 343, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 2825, 'open_issues': 343, 'watchers': 13889, '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'}
2025-07-05T14:53:41.623862	{'source': 'webserver', 'gh_type': 'issue_comment', 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13791', 'id': 3202305823, 'node_id': 'PR_kwDOALCn2M6dbDyN', 'number': 13791, 'title': 'BTReal: Implement Realtek firmware loading.', 'user': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [{'id': 217773431, 'node_id': 'MDU6TGFiZWwyMTc3NzM0MzE=', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels/needs%20testing', 'name': 'needs testing', 'color': 'fbca04', 'default': False, 'description': None}, {'id': 221808232, 'node_id': 'MDU6TGFiZWwyMjE4MDgyMzI=', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels/WIP%20/%20do%20not%20merge', 'name': 'WIP / do not merge', 'color': '0052cc', 'default': False, 'description': 'Work in progress (do not merge)'}, {'id': 221809816, 'node_id': 'MDU6TGFiZWwyMjE4MDk4MTY=', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels/RFC', 'name': 'RFC', 'color': 'FF6D00', 'default': False, 'description': 'Request for comments'}], 'state': 'open', 'locked': False, 'assignee': None, 'assignees': [], 'milestone': None, 'comments': 7, 'created_at': '2025-07-04T11:11:24Z', 'updated_at': '2025-07-05T14:53:39Z', 'closed_at': None, 'author_association': 'MEMBER', 'type': None, 'active_lock_reason': None, 'draft': False, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/13791', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13791', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/13791.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/13791.patch', 'merged_at': None}, 'body': 'This should make many more Realtek devices usable for Bluetooth passthrough.\r\nI\'m hoping for most Realtek adapters which work on Linux in general to now work on Windows with Bluetooth passthrough.\r\n\r\nI\'ve personally only tested a RTL8761B that I have on hand but the logic is largely the same for many other devices.\r\n\r\nSome files from "linux-firmware" will not yet load because they need "v2" firmware parsing implemented, which I have not done, because it\'s more complicated and I don\'t own an adapter to test, and I don\'t know if they are even common adapters.\r\n"rtl8851bu_fw"\r\n"rtl8852bu_fw"\r\n"rtl8922au_fw"\r\n"rtl8852btu_fw"\r\nObserving the "v2" firmware signature will currently produce an ERROR_LOG.\r\n\r\nAll the firmware loading logic is heavily copied from Linux source:\r\n`drivers/bluetooth/btusb.c`\r\n`drivers/bluetooth/btrtl.c`\r\n`drivers/bluetooth/btrtl.h`\r\nI don\'t know if we need to do anything anything special about that, license-wise?\r\n\r\nFirmware files currently need to be manually placed in Dolphin\'s Sys folder like:\r\n`Sys/Firmware/rtl_bt/rtl8761bu_fw.bin`\r\n`Sys/Firmware/rtl_bt/rtl8761bu_config.bin`\r\nFiles can be downloaded from: https://gitlab.com/kernel-firmware/linux-firmware/-/tree/main/rtl_bt?ref_type=heads\r\nThe user experience could be better, missing files will just produce an ERROR_LOG.\r\nI\'m open to suggestions on some other filesystem arrangement.\r\n\r\nTODO:\r\n- [ ] Figure out what to do about Linux source GPLv2 licensing.\r\n- [ ] Decide on filesystem path. Is `Sys/Firmware/rtl_bt/` good? Or is `Sys` bad since users need to touch it?', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791/reactions', 'total_count': 1, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 1, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'timeline_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/3039056345', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13791#issuecomment-3039056345', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791', 'id': 3039056345, 'node_id': 'IC_kwDOALCn2M61JFHZ', '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': '2025-07-05T14:53:39Z', 'updated_at': '2025-07-05T14:53:39Z', 'author_association': 'MEMBER', 'body': "> Oh, the specific Linux source files that I copied specify GPL-2.0-or-later.\r\n> https://github.com/torvalds/linux/blob/master/drivers/bluetooth/btusb.c\r\n> https://github.com/torvalds/linux/blob/master/drivers/bluetooth/btrtl.c\r\n> https://github.com/torvalds/linux/blob/master/drivers/bluetooth/btrtl.h\r\n>\r\n> So I think the licensing situation is a non-issue?\r\n\r\nYes, that's fine then.\r\n\r\n> But do I need to credit the original source in some manner?\r\n\r\nYes. I would say that doing this in the commit message is suitable.", 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/3039056345/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}, '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': '2025-07-05T06:48:25Z', 'pushed_at': '2025-07-03T06:31:01Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 530284, 'stargazers_count': 13889, 'watchers_count': 13889, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': True, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 2825, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 343, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 2825, 'open_issues': 343, 'watchers': 13889, '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'}
2025-07-05T13:37:25.394239	{'source': 'webserver', 'gh_type': 'pull_request', 'raw': {'action': 'opened', 'number': 13792, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/13792', 'id': 2643360270, 'node_id': 'PR_kwDOALCn2M6djnoO', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13792', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/13792.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/13792.patch', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13792', 'number': 13792, 'state': 'open', 'locked': False, 'title': 'WiiSaveBanner: fall back to $userdir/Load/WiiBanners', 'user': {'login': 'Tilka', 'id': 123798, 'node_id': 'MDQ6VXNlcjEyMzc5OA==', 'avatar_url': 'https://avatars.githubusercontent.com/u/123798?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/Tilka', 'html_url': 'https://github.com/Tilka', 'followers_url': 'https://api.github.com/users/Tilka/followers', 'following_url': 'https://api.github.com/users/Tilka/following{/other_user}', 'gists_url': 'https://api.github.com/users/Tilka/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/Tilka/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/Tilka/subscriptions', 'organizations_url': 'https://api.github.com/users/Tilka/orgs', 'repos_url': 'https://api.github.com/users/Tilka/repos', 'events_url': 'https://api.github.com/users/Tilka/events{/privacy}', 'received_events_url': 'https://api.github.com/users/Tilka/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': "Unlike custom banners which work as an override, this mechanism works as a fallback. The use case is if you have games you don't really play but want to keep around for testing purposes without filling up your NAND with lots of saves. For ease of use, the directory structure is the same but only title/$title_hi/$title_lo/data/banner.bin files are relevant.", 'created_at': '2025-07-05T13:37:22Z', 'updated_at': '2025-07-05T13:37:22Z', 'closed_at': None, 'merged_at': None, 'merge_commit_sha': None, 'assignee': None, 'assignees': [], 'requested_reviewers': [], 'requested_teams': [], 'labels': [], 'milestone': None, 'draft': False, 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/13792/commits', 'review_comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/13792/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/13792/comments', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/fe6fd2279c195517094538fff8667332049823ad', 'head': {'label': 'Tilka:wii_banners', 'ref': 'wii_banners', 'sha': 'fe6fd2279c195517094538fff8667332049823ad', 'user': {'login': 'Tilka', 'id': 123798, 'node_id': 'MDQ6VXNlcjEyMzc5OA==', 'avatar_url': 'https://avatars.githubusercontent.com/u/123798?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/Tilka', 'html_url': 'https://github.com/Tilka', 'followers_url': 'https://api.github.com/users/Tilka/followers', 'following_url': 'https://api.github.com/users/Tilka/following{/other_user}', 'gists_url': 'https://api.github.com/users/Tilka/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/Tilka/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/Tilka/subscriptions', 'organizations_url': 'https://api.github.com/users/Tilka/orgs', 'repos_url': 'https://api.github.com/users/Tilka/repos', 'events_url': 'https://api.github.com/users/Tilka/events{/privacy}', 'received_events_url': 'https://api.github.com/users/Tilka/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 16304949, 'node_id': 'MDEwOlJlcG9zaXRvcnkxNjMwNDk0OQ==', 'name': 'dolphin', 'full_name': 'Tilka/dolphin', 'private': False, 'owner': {'login': 'Tilka', 'id': 123798, 'node_id': 'MDQ6VXNlcjEyMzc5OA==', 'avatar_url': 'https://avatars.githubusercontent.com/u/123798?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/Tilka', 'html_url': 'https://github.com/Tilka', 'followers_url': 'https://api.github.com/users/Tilka/followers', 'following_url': 'https://api.github.com/users/Tilka/following{/other_user}', 'gists_url': 'https://api.github.com/users/Tilka/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/Tilka/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/Tilka/subscriptions', 'organizations_url': 'https://api.github.com/users/Tilka/orgs', 'repos_url': 'https://api.github.com/users/Tilka/repos', 'events_url': 'https://api.github.com/users/Tilka/events{/privacy}', 'received_events_url': 'https://api.github.com/users/Tilka/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/Tilka/dolphin', 'description': 'Dolphin is a GameCube/Wii emulator, allowing you to play games for these two platforms on PC, with improvements.', 'fork': True, 'url': 'https://api.github.com/repos/Tilka/dolphin', 'forks_url': 'https://api.github.com/repos/Tilka/dolphin/forks', 'keys_url': 'https://api.github.com/repos/Tilka/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/Tilka/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/Tilka/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/Tilka/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/Tilka/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/Tilka/dolphin/events', 'assignees_url': 'https://api.github.com/repos/Tilka/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/Tilka/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/Tilka/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/Tilka/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/Tilka/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/Tilka/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/Tilka/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/Tilka/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/Tilka/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/Tilka/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/Tilka/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/Tilka/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/Tilka/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/Tilka/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/Tilka/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/Tilka/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/Tilka/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/Tilka/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/Tilka/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/Tilka/dolphin/merges', 'archive_url': 'https://api.github.com/repos/Tilka/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/Tilka/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/Tilka/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/Tilka/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/Tilka/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/Tilka/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/Tilka/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/Tilka/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/Tilka/dolphin/deployments', 'created_at': '2014-01-28T07:24:53Z', 'updated_at': '2024-12-24T17:03:46Z', 'pushed_at': '2025-07-05T13:36:48Z', 'git_url': 'git://github.com/Tilka/dolphin.git', 'ssh_url': 'git@github.com:Tilka/dolphin.git', 'clone_url': 'https://github.com/Tilka/dolphin.git', 'svn_url': 'https://github.com/Tilka/dolphin', 'homepage': None, 'size': 489055, 'stargazers_count': 3, 'watchers_count': 3, 'language': 'C++', 'has_issues': False, 'has_projects': True, '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': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'topics': [], 'visibility': 'public', 'forks': 0, 'open_issues': 0, 'watchers': 3, 'default_branch': 'master', 'allow_squash_merge': True, 'allow_merge_commit': True, 'allow_rebase_merge': True, 'allow_auto_merge': False, 'delete_branch_on_merge': False, 'allow_update_branch': False, 'use_squash_pr_title_as_default': False, 'squash_merge_commit_message': 'COMMIT_MESSAGES', 'squash_merge_commit_title': 'COMMIT_OR_PR_TITLE', 'merge_commit_message': 'PR_TITLE', 'merge_commit_title': 'MERGE_MESSAGE'}}, 'base': {'label': 'dolphin-emu:master', 'ref': 'master', 'sha': 'a5e85caf0af66fec07b476718a69519b06e6a69f', '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': '2025-07-05T06:48:25Z', 'pushed_at': '2025-07-03T06:31:01Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 530284, 'stargazers_count': 13889, 'watchers_count': 13889, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': True, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 2825, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 343, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 2825, 'open_issues': 343, 'watchers': 13889, '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/13792'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/13792'}, 'issue': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13792'}, 'comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13792/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/13792/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/13792/commits'}, 'statuses': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/fe6fd2279c195517094538fff8667332049823ad'}}, 'author_association': 'MEMBER', 'auto_merge': 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': 30, 'deletions': 9, 'changed_files': 7}, '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': '2025-07-05T06:48:25Z', 'pushed_at': '2025-07-03T06:31:01Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 530284, 'stargazers_count': 13889, 'watchers_count': 13889, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': True, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 2825, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 343, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 2825, 'open_issues': 343, 'watchers': 13889, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'Tilka', 'id': 123798, 'node_id': 'MDQ6VXNlcjEyMzc5OA==', 'avatar_url': 'https://avatars.githubusercontent.com/u/123798?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/Tilka', 'html_url': 'https://github.com/Tilka', 'followers_url': 'https://api.github.com/users/Tilka/followers', 'following_url': 'https://api.github.com/users/Tilka/following{/other_user}', 'gists_url': 'https://api.github.com/users/Tilka/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/Tilka/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/Tilka/subscriptions', 'organizations_url': 'https://api.github.com/users/Tilka/orgs', 'repos_url': 'https://api.github.com/users/Tilka/repos', 'events_url': 'https://api.github.com/users/Tilka/events{/privacy}', 'received_events_url': 'https://api.github.com/users/Tilka/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'raw_gh_hook'}
2025-07-05T05:13:36.611264	{'source': 'webserver', 'gh_type': 'issue_comment', 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13791', 'id': 3202305823, 'node_id': 'PR_kwDOALCn2M6dbDyN', 'number': 13791, 'title': 'BTReal: Implement Realtek firmware loading.', 'user': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [{'id': 217773431, 'node_id': 'MDU6TGFiZWwyMTc3NzM0MzE=', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels/needs%20testing', 'name': 'needs testing', 'color': 'fbca04', 'default': False, 'description': None}, {'id': 221808232, 'node_id': 'MDU6TGFiZWwyMjE4MDgyMzI=', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels/WIP%20/%20do%20not%20merge', 'name': 'WIP / do not merge', 'color': '0052cc', 'default': False, 'description': 'Work in progress (do not merge)'}, {'id': 221809816, 'node_id': 'MDU6TGFiZWwyMjE4MDk4MTY=', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels/RFC', 'name': 'RFC', 'color': 'FF6D00', 'default': False, 'description': 'Request for comments'}], 'state': 'open', 'locked': False, 'assignee': None, 'assignees': [], 'milestone': None, 'comments': 6, 'created_at': '2025-07-04T11:11:24Z', 'updated_at': '2025-07-05T05:13:35Z', 'closed_at': None, 'author_association': 'MEMBER', 'type': None, 'active_lock_reason': None, 'draft': False, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/13791', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13791', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/13791.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/13791.patch', 'merged_at': None}, 'body': 'This should make many more Realtek devices usable for Bluetooth passthrough.\r\nI\'m hoping for most Realtek adapters which work on Linux in general to now work on Windows with Bluetooth passthrough.\r\n\r\nI\'ve personally only tested a RTL8761B that I have on hand but the logic is largely the same for many other devices.\r\n\r\nSome files from "linux-firmware" will not yet load because they need "v2" firmware parsing implemented, which I have not done, because it\'s more complicated and I don\'t own an adapter to test, and I don\'t know if they are even common adapters.\r\n"rtl8851bu_fw"\r\n"rtl8852bu_fw"\r\n"rtl8922au_fw"\r\n"rtl8852btu_fw"\r\nObserving the "v2" firmware signature will currently produce an ERROR_LOG.\r\n\r\nAll the firmware loading logic is heavily copied from Linux source:\r\n`drivers/bluetooth/btusb.c`\r\n`drivers/bluetooth/btrtl.c`\r\n`drivers/bluetooth/btrtl.h`\r\nI don\'t know if we need to do anything anything special about that, license-wise?\r\n\r\nFirmware files currently need to be manually placed in Dolphin\'s Sys folder like:\r\n`Sys/Firmware/rtl_bt/rtl8761bu_fw.bin`\r\n`Sys/Firmware/rtl_bt/rtl8761bu_config.bin`\r\nFiles can be downloaded from: https://gitlab.com/kernel-firmware/linux-firmware/-/tree/main/rtl_bt?ref_type=heads\r\nThe user experience could be better, missing files will just produce an ERROR_LOG.\r\nI\'m open to suggestions on some other filesystem arrangement.\r\n\r\nTODO:\r\n- [ ] Figure out what to do about Linux source GPLv2 licensing.\r\n- [ ] Decide on filesystem path. Is `Sys/Firmware/rtl_bt/` good? Or is `Sys` bad since users need to touch it?', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791/reactions', 'total_count': 1, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 1, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'timeline_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/3038117867', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13791#issuecomment-3038117867', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791', 'id': 3038117867, 'node_id': 'IC_kwDOALCn2M61Ff_r', 'user': {'login': 'mbc07', 'id': 8005966, 'node_id': 'MDQ6VXNlcjgwMDU5NjY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/8005966?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/mbc07', 'html_url': 'https://github.com/mbc07', 'followers_url': 'https://api.github.com/users/mbc07/followers', 'following_url': 'https://api.github.com/users/mbc07/following{/other_user}', 'gists_url': 'https://api.github.com/users/mbc07/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/mbc07/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/mbc07/subscriptions', 'organizations_url': 'https://api.github.com/users/mbc07/orgs', 'repos_url': 'https://api.github.com/users/mbc07/repos', 'events_url': 'https://api.github.com/users/mbc07/events{/privacy}', 'received_events_url': 'https://api.github.com/users/mbc07/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2025-07-05T05:13:34Z', 'updated_at': '2025-07-05T05:13:34Z', 'author_association': 'MEMBER', 'body': 'I\'ll test this soon, this can potentially extend BT Passthrough support in Dolphin to a lot more adapters, since every standalone BT dongle you can find nowadays seems always based on a Realtek IC (RTL8761B most of the time) or on a crappy ATS2851 (which is just bad in general).\r\n<br/>\r\n\r\n> Some files from "linux-firmware" will not yet load because they need "v2" firmware parsing implemented, which I have not done, because it\'s more complicated and I don\'t own an adapter to test, and I don\'t know if they are even common adapters.\r\n\r\nThose seems to be the Mediatek/Realtek Wi-Fi + Bluetooth combo cards typically found on recent-ish AMD powered laptops (I know for sure the RTL8852 is one of them). They\'re not exactly common, but not totally unknown either...', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/3038117867/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}, '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': '2025-07-05T02:35:26Z', 'pushed_at': '2025-07-03T06:31:01Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 530284, 'stargazers_count': 13888, 'watchers_count': 13888, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': True, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 2824, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 342, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 2824, 'open_issues': 342, 'watchers': 13888, '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': 'mbc07', 'id': 8005966, 'node_id': 'MDQ6VXNlcjgwMDU5NjY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/8005966?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/mbc07', 'html_url': 'https://github.com/mbc07', 'followers_url': 'https://api.github.com/users/mbc07/followers', 'following_url': 'https://api.github.com/users/mbc07/following{/other_user}', 'gists_url': 'https://api.github.com/users/mbc07/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/mbc07/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/mbc07/subscriptions', 'organizations_url': 'https://api.github.com/users/mbc07/orgs', 'repos_url': 'https://api.github.com/users/mbc07/repos', 'events_url': 'https://api.github.com/users/mbc07/events{/privacy}', 'received_events_url': 'https://api.github.com/users/mbc07/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'raw_gh_hook'}
2025-07-05T00:20:01.936537	{'source': 'webserver', 'gh_type': 'pull_request', 'raw': {'action': 'edited', 'number': 13791, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/13791', 'id': 2641116301, 'node_id': 'PR_kwDOALCn2M6dbDyN', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13791', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/13791.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/13791.patch', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791', 'number': 13791, 'state': 'open', 'locked': False, 'title': 'BTReal: Implement Realtek firmware loading.', 'user': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': 'This should make many more Realtek devices usable for Bluetooth passthrough.\r\nI\'m hoping for most Realtek adapters which work on Linux in general to now work on Windows with Bluetooth passthrough.\r\n\r\nI\'ve personally only tested a RTL8761B that I have on hand but the logic is largely the same for many other devices.\r\n\r\nSome files from "linux-firmware" will not yet load because they need "v2" firmware parsing implemented, which I have not done, because it\'s more complicated and I don\'t own an adapter to test, and I don\'t know if they are even common adapters.\r\n"rtl8851bu_fw"\r\n"rtl8852bu_fw"\r\n"rtl8922au_fw"\r\n"rtl8852btu_fw"\r\nObserving the "v2" firmware signature will currently produce an ERROR_LOG.\r\n\r\nAll the firmware loading logic is heavily copied from Linux source:\r\n`drivers/bluetooth/btusb.c`\r\n`drivers/bluetooth/btrtl.c`\r\n`drivers/bluetooth/btrtl.h`\r\nI don\'t know if we need to do anything anything special about that, license-wise?\r\n\r\nFirmware files currently need to be manually placed in Dolphin\'s Sys folder like:\r\n`Sys/Firmware/rtl_bt/rtl8761bu_fw.bin`\r\n`Sys/Firmware/rtl_bt/rtl8761bu_config.bin`\r\nFiles can be downloaded from: https://gitlab.com/kernel-firmware/linux-firmware/-/tree/main/rtl_bt?ref_type=heads\r\nThe user experience could be better, missing files will just produce an ERROR_LOG.\r\nI\'m open to suggestions on some other filesystem arrangement.\r\n\r\nTODO:\r\n- [ ] Figure out what to do about Linux source GPLv2 licensing.\r\n- [ ] Decide on filesystem path. Is `Sys/Firmware/rtl_bt/` good? Or is `Sys` bad since users need to touch it?', 'created_at': '2025-07-04T11:11:24Z', 'updated_at': '2025-07-05T00:19:59Z', 'closed_at': None, 'merged_at': None, 'merge_commit_sha': '99c59adfac948d39677a23746e6999ffb5039221', 'assignee': None, 'assignees': [], 'requested_reviewers': [], 'requested_teams': [], 'labels': [{'id': 217773431, 'node_id': 'MDU6TGFiZWwyMTc3NzM0MzE=', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels/needs%20testing', 'name': 'needs testing', 'color': 'fbca04', 'default': False, 'description': None}, {'id': 221808232, 'node_id': 'MDU6TGFiZWwyMjE4MDgyMzI=', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels/WIP%20/%20do%20not%20merge', 'name': 'WIP / do not merge', 'color': '0052cc', 'default': False, 'description': 'Work in progress (do not merge)'}, {'id': 221809816, 'node_id': 'MDU6TGFiZWwyMjE4MDk4MTY=', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels/RFC', 'name': 'RFC', 'color': 'FF6D00', 'default': False, 'description': 'Request for comments'}], 'milestone': None, 'draft': False, 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/13791/commits', 'review_comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/13791/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/13791/comments', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/78687c50fb433f05447505ec620c892701322eb5', 'head': {'label': 'jordan-woyak:realtek-firmware-loader', 'ref': 'realtek-firmware-loader', 'sha': '78687c50fb433f05447505ec620c892701322eb5', 'user': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 16818408, 'node_id': 'MDEwOlJlcG9zaXRvcnkxNjgxODQwOA==', 'name': 'dolphin', 'full_name': 'jordan-woyak/dolphin', 'private': False, 'owner': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/jordan-woyak/dolphin', 'description': 'Dolphin is a GameCube/Wii emulator, allowing you to play games for these two platforms on PC, with improvements.', 'fork': True, 'url': 'https://api.github.com/repos/jordan-woyak/dolphin', 'forks_url': 'https://api.github.com/repos/jordan-woyak/dolphin/forks', 'keys_url': 'https://api.github.com/repos/jordan-woyak/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/jordan-woyak/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/jordan-woyak/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/jordan-woyak/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/jordan-woyak/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/jordan-woyak/dolphin/events', 'assignees_url': 'https://api.github.com/repos/jordan-woyak/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/jordan-woyak/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/jordan-woyak/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/jordan-woyak/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/jordan-woyak/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/jordan-woyak/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/jordan-woyak/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/jordan-woyak/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/jordan-woyak/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/jordan-woyak/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/jordan-woyak/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/jordan-woyak/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/jordan-woyak/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/jordan-woyak/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/jordan-woyak/dolphin/merges', 'archive_url': 'https://api.github.com/repos/jordan-woyak/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/jordan-woyak/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/jordan-woyak/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/jordan-woyak/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/jordan-woyak/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/jordan-woyak/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/jordan-woyak/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/jordan-woyak/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/jordan-woyak/dolphin/deployments', 'created_at': '2014-02-13T21:50:38Z', 'updated_at': '2025-05-09T02:52:31Z', 'pushed_at': '2025-07-04T22:29:02Z', 'git_url': 'git://github.com/jordan-woyak/dolphin.git', 'ssh_url': 'git@github.com:jordan-woyak/dolphin.git', 'clone_url': 'https://github.com/jordan-woyak/dolphin.git', 'svn_url': 'https://github.com/jordan-woyak/dolphin', 'homepage': None, 'size': 496662, 'stargazers_count': 3, 'watchers_count': 3, 'language': 'C++', 'has_issues': False, 'has_projects': True, 'has_downloads': True, 'has_wiki': False, 'has_pages': False, 'has_discussions': False, 'forks_count': 4, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 2, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'topics': [], 'visibility': 'public', 'forks': 4, 'open_issues': 2, 'watchers': 3, 'default_branch': 'master', 'allow_squash_merge': True, 'allow_merge_commit': True, 'allow_rebase_merge': True, 'allow_auto_merge': False, 'delete_branch_on_merge': True, 'allow_update_branch': False, 'use_squash_pr_title_as_default': False, 'squash_merge_commit_message': 'COMMIT_MESSAGES', 'squash_merge_commit_title': 'COMMIT_OR_PR_TITLE', 'merge_commit_message': 'PR_TITLE', 'merge_commit_title': 'MERGE_MESSAGE'}}, 'base': {'label': 'dolphin-emu:master', 'ref': 'master', 'sha': 'a5e85caf0af66fec07b476718a69519b06e6a69f', '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': '2025-07-04T22:20:38Z', 'pushed_at': '2025-07-03T06:31:01Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 530284, 'stargazers_count': 13886, 'watchers_count': 13886, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': True, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 2824, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 342, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 2824, 'open_issues': 342, 'watchers': 13886, '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/13791'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/13791'}, 'issue': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791'}, 'comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/13791/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/13791/commits'}, 'statuses': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/78687c50fb433f05447505ec620c892701322eb5'}}, 'author_association': 'MEMBER', 'auto_merge': None, 'active_lock_reason': None, 'merged': False, 'mergeable': True, 'rebaseable': True, 'mergeable_state': 'clean', 'merged_by': None, 'comments': 5, 'review_comments': 1, 'maintainer_can_modify': True, 'commits': 1, 'additions': 566, 'deletions': 26, 'changed_files': 8}, 'changes': {'body': {'from': 'This should make many more Realtek devices usable for Bluetooth passthrough.\r\nI\'m hoping for most Realtek adapters which work on Linux in general to now work on Windows with Bluetooth passthrough.\r\n\r\nI\'ve personally only tested a RTL8761B that I have on hand but the logic is largely the same for many other devices.\r\n\r\nSome files from "linux-firmware" will not yet load because they need "v2" firmware parsing implemented, which I have not done, because it\'s more complicated and I don\'t own an adapter to test, and I don\'t know if they are even common adapters.\r\n"rtl8851bu_fw"\r\n"rtl8852bu_fw"\r\n"rtl8922au_fw"\r\n"rtl8852btu_fw"\r\nObserving the "v2" firmware signature will currently produce an ERROR_LOG.\r\n\r\nAll the firmware loading logic is heavily copied from Linux source:\r\n`drivers/bluetooth/btusb.c`\r\n`drivers/bluetooth/btrtl.c`\r\n`drivers/bluetooth/btrtl.h`\r\nI don\'t know if we need to do anything anything special about that, license-wise?\r\n\r\nFirmware files currently need to be manually placed in Dolphin\'s Sys folder like:\r\n`Sys/Firmware/rtl_bt/rtl8761bu_fw.bin`\r\n`Sys/Firmware/rtl_bt/rtl8761bu_config.bin`\r\nFiles can be downloaded from: https://gitlab.com/kernel-firmware/linux-firmware/-/tree/main/rtl_bt?ref_type=heads\r\nThe user experience could be better, missing files will just produce an ERROR_LOG.\r\nI\'m open to suggestions on some other filesystem arrangement.\r\n\r\nTODO:\r\n- [ ] Figure out what to do about Linux source GPLv2 licensing.\r\n- [ ] Decide on filesystem path. Is `Sys/Firmware/rtl_bt/` good?'}}, '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': '2025-07-04T22:20:38Z', 'pushed_at': '2025-07-03T06:31:01Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 530284, 'stargazers_count': 13886, 'watchers_count': 13886, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': True, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 2824, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 342, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 2824, 'open_issues': 342, 'watchers': 13886, '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'}
2025-07-05T00:16:29.237391	{'source': 'webserver', 'gh_type': 'issue_comment', 'raw': {'action': 'edited', 'changes': {'body': {'from': 'Oh, the specific Linux source files that I copied from specify GPL-2.0-or-later.\r\nhttps://github.com/torvalds/linux/blob/master/drivers/bluetooth/btusb.c\r\nhttps://github.com/torvalds/linux/blob/master/drivers/bluetooth/btrtl.c\r\nhttps://github.com/torvalds/linux/blob/master/drivers/bluetooth/btrtl.h\r\n\r\nSo I think the licensing situation is a non-issue?\r\n\r\nBut do I need to credit the original source in some manner?'}}, 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13791', 'id': 3202305823, 'node_id': 'PR_kwDOALCn2M6dbDyN', 'number': 13791, 'title': 'BTReal: Implement Realtek firmware loading.', 'user': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [{'id': 217773431, 'node_id': 'MDU6TGFiZWwyMTc3NzM0MzE=', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels/needs%20testing', 'name': 'needs testing', 'color': 'fbca04', 'default': False, 'description': None}, {'id': 221808232, 'node_id': 'MDU6TGFiZWwyMjE4MDgyMzI=', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels/WIP%20/%20do%20not%20merge', 'name': 'WIP / do not merge', 'color': '0052cc', 'default': False, 'description': 'Work in progress (do not merge)'}, {'id': 221809816, 'node_id': 'MDU6TGFiZWwyMjE4MDk4MTY=', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels/RFC', 'name': 'RFC', 'color': 'FF6D00', 'default': False, 'description': 'Request for comments'}], 'state': 'open', 'locked': False, 'assignee': None, 'assignees': [], 'milestone': None, 'comments': 5, 'created_at': '2025-07-04T11:11:24Z', 'updated_at': '2025-07-05T00:16:02Z', 'closed_at': None, 'author_association': 'MEMBER', 'type': None, 'active_lock_reason': None, 'draft': False, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/13791', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13791', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/13791.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/13791.patch', 'merged_at': None}, 'body': 'This should make many more Realtek devices usable for Bluetooth passthrough.\r\nI\'m hoping for most Realtek adapters which work on Linux in general to now work on Windows with Bluetooth passthrough.\r\n\r\nI\'ve personally only tested a RTL8761B that I have on hand but the logic is largely the same for many other devices.\r\n\r\nSome files from "linux-firmware" will not yet load because they need "v2" firmware parsing implemented, which I have not done, because it\'s more complicated and I don\'t own an adapter to test, and I don\'t know if they are even common adapters.\r\n"rtl8851bu_fw"\r\n"rtl8852bu_fw"\r\n"rtl8922au_fw"\r\n"rtl8852btu_fw"\r\nObserving the "v2" firmware signature will currently produce an ERROR_LOG.\r\n\r\nAll the firmware loading logic is heavily copied from Linux source:\r\n`drivers/bluetooth/btusb.c`\r\n`drivers/bluetooth/btrtl.c`\r\n`drivers/bluetooth/btrtl.h`\r\nI don\'t know if we need to do anything anything special about that, license-wise?\r\n\r\nFirmware files currently need to be manually placed in Dolphin\'s Sys folder like:\r\n`Sys/Firmware/rtl_bt/rtl8761bu_fw.bin`\r\n`Sys/Firmware/rtl_bt/rtl8761bu_config.bin`\r\nFiles can be downloaded from: https://gitlab.com/kernel-firmware/linux-firmware/-/tree/main/rtl_bt?ref_type=heads\r\nThe user experience could be better, missing files will just produce an ERROR_LOG.\r\nI\'m open to suggestions on some other filesystem arrangement.\r\n\r\nTODO:\r\n- [ ] Figure out what to do about Linux source GPLv2 licensing.\r\n- [ ] Decide on filesystem path. Is `Sys/Firmware/rtl_bt/` good?', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791/reactions', 'total_count': 1, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 1, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'timeline_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/3037463157', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13791#issuecomment-3037463157', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791', 'id': 3037463157, 'node_id': 'IC_kwDOALCn2M61DAJ1', 'user': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2025-07-05T00:16:02Z', 'updated_at': '2025-07-05T00:16:27Z', 'author_association': 'MEMBER', 'body': 'Oh, the specific Linux source files that I copied specify GPL-2.0-or-later.\r\nhttps://github.com/torvalds/linux/blob/master/drivers/bluetooth/btusb.c\r\nhttps://github.com/torvalds/linux/blob/master/drivers/bluetooth/btrtl.c\r\nhttps://github.com/torvalds/linux/blob/master/drivers/bluetooth/btrtl.h\r\n\r\nSo I think the licensing situation is a non-issue?\r\n\r\nBut do I need to credit the original source in some manner?', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/3037463157/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}, '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': '2025-07-04T22:20:38Z', 'pushed_at': '2025-07-03T06:31:01Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 530284, 'stargazers_count': 13886, 'watchers_count': 13886, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': True, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 2824, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 342, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 2824, 'open_issues': 342, 'watchers': 13886, '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'}
2025-07-05T00:16:04.207909	{'source': 'webserver', 'gh_type': 'issue_comment', 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13791', 'id': 3202305823, 'node_id': 'PR_kwDOALCn2M6dbDyN', 'number': 13791, 'title': 'BTReal: Implement Realtek firmware loading.', 'user': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [{'id': 217773431, 'node_id': 'MDU6TGFiZWwyMTc3NzM0MzE=', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels/needs%20testing', 'name': 'needs testing', 'color': 'fbca04', 'default': False, 'description': None}, {'id': 221808232, 'node_id': 'MDU6TGFiZWwyMjE4MDgyMzI=', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels/WIP%20/%20do%20not%20merge', 'name': 'WIP / do not merge', 'color': '0052cc', 'default': False, 'description': 'Work in progress (do not merge)'}, {'id': 221809816, 'node_id': 'MDU6TGFiZWwyMjE4MDk4MTY=', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels/RFC', 'name': 'RFC', 'color': 'FF6D00', 'default': False, 'description': 'Request for comments'}], 'state': 'open', 'locked': False, 'assignee': None, 'assignees': [], 'milestone': None, 'comments': 5, 'created_at': '2025-07-04T11:11:24Z', 'updated_at': '2025-07-05T00:16:02Z', 'closed_at': None, 'author_association': 'MEMBER', 'type': None, 'active_lock_reason': None, 'draft': False, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/13791', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13791', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/13791.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/13791.patch', 'merged_at': None}, 'body': 'This should make many more Realtek devices usable for Bluetooth passthrough.\r\nI\'m hoping for most Realtek adapters which work on Linux in general to now work on Windows with Bluetooth passthrough.\r\n\r\nI\'ve personally only tested a RTL8761B that I have on hand but the logic is largely the same for many other devices.\r\n\r\nSome files from "linux-firmware" will not yet load because they need "v2" firmware parsing implemented, which I have not done, because it\'s more complicated and I don\'t own an adapter to test, and I don\'t know if they are even common adapters.\r\n"rtl8851bu_fw"\r\n"rtl8852bu_fw"\r\n"rtl8922au_fw"\r\n"rtl8852btu_fw"\r\nObserving the "v2" firmware signature will currently produce an ERROR_LOG.\r\n\r\nAll the firmware loading logic is heavily copied from Linux source:\r\n`drivers/bluetooth/btusb.c`\r\n`drivers/bluetooth/btrtl.c`\r\n`drivers/bluetooth/btrtl.h`\r\nI don\'t know if we need to do anything anything special about that, license-wise?\r\n\r\nFirmware files currently need to be manually placed in Dolphin\'s Sys folder like:\r\n`Sys/Firmware/rtl_bt/rtl8761bu_fw.bin`\r\n`Sys/Firmware/rtl_bt/rtl8761bu_config.bin`\r\nFiles can be downloaded from: https://gitlab.com/kernel-firmware/linux-firmware/-/tree/main/rtl_bt?ref_type=heads\r\nThe user experience could be better, missing files will just produce an ERROR_LOG.\r\nI\'m open to suggestions on some other filesystem arrangement.\r\n\r\nTODO:\r\n- [ ] Figure out what to do about Linux source GPLv2 licensing.\r\n- [ ] Decide on filesystem path. Is `Sys/Firmware/rtl_bt/` good?', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791/reactions', 'total_count': 1, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 1, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'timeline_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/3037463157', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13791#issuecomment-3037463157', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791', 'id': 3037463157, 'node_id': 'IC_kwDOALCn2M61DAJ1', 'user': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2025-07-05T00:16:02Z', 'updated_at': '2025-07-05T00:16:02Z', 'author_association': 'MEMBER', 'body': 'Oh, the specific Linux source files that I copied from specify GPL-2.0-or-later.\r\nhttps://github.com/torvalds/linux/blob/master/drivers/bluetooth/btusb.c\r\nhttps://github.com/torvalds/linux/blob/master/drivers/bluetooth/btrtl.c\r\nhttps://github.com/torvalds/linux/blob/master/drivers/bluetooth/btrtl.h\r\n\r\nSo I think the licensing situation is a non-issue?\r\n\r\nBut do I need to credit the original source in some manner?', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/3037463157/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}, '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': '2025-07-04T22:20:38Z', 'pushed_at': '2025-07-03T06:31:01Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 530284, 'stargazers_count': 13886, 'watchers_count': 13886, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': True, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 2824, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 342, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 2824, 'open_issues': 342, 'watchers': 13886, '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'}
2025-07-04T22:32:19.814365	{'source': 'webserver', 'gh_type': 'pull_request', 'raw': {'action': 'edited', 'number': 13791, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/13791', 'id': 2641116301, 'node_id': 'PR_kwDOALCn2M6dbDyN', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13791', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/13791.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/13791.patch', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791', 'number': 13791, 'state': 'open', 'locked': False, 'title': 'BTReal: Implement Realtek firmware loading.', 'user': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': 'This should make many more Realtek devices usable for Bluetooth passthrough.\r\nI\'m hoping for most Realtek adapters which work on Linux in general to now work on Windows with Bluetooth passthrough.\r\n\r\nI\'ve personally only tested a RTL8761B that I have on hand but the logic is largely the same for many other devices.\r\n\r\nSome files from "linux-firmware" will not yet load because they need "v2" firmware parsing implemented, which I have not done, because it\'s more complicated and I don\'t own an adapter to test, and I don\'t know if they are even common adapters.\r\n"rtl8851bu_fw"\r\n"rtl8852bu_fw"\r\n"rtl8922au_fw"\r\n"rtl8852btu_fw"\r\nObserving the "v2" firmware signature will currently produce an ERROR_LOG.\r\n\r\nAll the firmware loading logic is heavily copied from Linux source:\r\n`drivers/bluetooth/btusb.c`\r\n`drivers/bluetooth/btrtl.c`\r\n`drivers/bluetooth/btrtl.h`\r\nI don\'t know if we need to do anything anything special about that, license-wise?\r\n\r\nFirmware files currently need to be manually placed in Dolphin\'s Sys folder like:\r\n`Sys/Firmware/rtl_bt/rtl8761bu_fw.bin`\r\n`Sys/Firmware/rtl_bt/rtl8761bu_config.bin`\r\nFiles can be downloaded from: https://gitlab.com/kernel-firmware/linux-firmware/-/tree/main/rtl_bt?ref_type=heads\r\nThe user experience could be better, missing files will just produce an ERROR_LOG.\r\nI\'m open to suggestions on some other filesystem arrangement.\r\n\r\nTODO:\r\n- [ ] Figure out what to do about Linux source GPLv2 licensing.\r\n- [ ] Decide on filesystem path. Is `Sys/Firmware/rtl_bt/` good?', 'created_at': '2025-07-04T11:11:24Z', 'updated_at': '2025-07-04T22:32:17Z', 'closed_at': None, 'merged_at': None, 'merge_commit_sha': '99c59adfac948d39677a23746e6999ffb5039221', 'assignee': None, 'assignees': [], 'requested_reviewers': [], 'requested_teams': [], 'labels': [{'id': 217773431, 'node_id': 'MDU6TGFiZWwyMTc3NzM0MzE=', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels/needs%20testing', 'name': 'needs testing', 'color': 'fbca04', 'default': False, 'description': None}, {'id': 221808232, 'node_id': 'MDU6TGFiZWwyMjE4MDgyMzI=', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels/WIP%20/%20do%20not%20merge', 'name': 'WIP / do not merge', 'color': '0052cc', 'default': False, 'description': 'Work in progress (do not merge)'}, {'id': 221809816, 'node_id': 'MDU6TGFiZWwyMjE4MDk4MTY=', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels/RFC', 'name': 'RFC', 'color': 'FF6D00', 'default': False, 'description': 'Request for comments'}], 'milestone': None, 'draft': False, 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/13791/commits', 'review_comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/13791/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/13791/comments', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/78687c50fb433f05447505ec620c892701322eb5', 'head': {'label': 'jordan-woyak:realtek-firmware-loader', 'ref': 'realtek-firmware-loader', 'sha': '78687c50fb433f05447505ec620c892701322eb5', 'user': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 16818408, 'node_id': 'MDEwOlJlcG9zaXRvcnkxNjgxODQwOA==', 'name': 'dolphin', 'full_name': 'jordan-woyak/dolphin', 'private': False, 'owner': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/jordan-woyak/dolphin', 'description': 'Dolphin is a GameCube/Wii emulator, allowing you to play games for these two platforms on PC, with improvements.', 'fork': True, 'url': 'https://api.github.com/repos/jordan-woyak/dolphin', 'forks_url': 'https://api.github.com/repos/jordan-woyak/dolphin/forks', 'keys_url': 'https://api.github.com/repos/jordan-woyak/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/jordan-woyak/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/jordan-woyak/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/jordan-woyak/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/jordan-woyak/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/jordan-woyak/dolphin/events', 'assignees_url': 'https://api.github.com/repos/jordan-woyak/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/jordan-woyak/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/jordan-woyak/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/jordan-woyak/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/jordan-woyak/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/jordan-woyak/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/jordan-woyak/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/jordan-woyak/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/jordan-woyak/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/jordan-woyak/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/jordan-woyak/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/jordan-woyak/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/jordan-woyak/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/jordan-woyak/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/jordan-woyak/dolphin/merges', 'archive_url': 'https://api.github.com/repos/jordan-woyak/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/jordan-woyak/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/jordan-woyak/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/jordan-woyak/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/jordan-woyak/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/jordan-woyak/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/jordan-woyak/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/jordan-woyak/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/jordan-woyak/dolphin/deployments', 'created_at': '2014-02-13T21:50:38Z', 'updated_at': '2025-05-09T02:52:31Z', 'pushed_at': '2025-07-04T22:29:02Z', 'git_url': 'git://github.com/jordan-woyak/dolphin.git', 'ssh_url': 'git@github.com:jordan-woyak/dolphin.git', 'clone_url': 'https://github.com/jordan-woyak/dolphin.git', 'svn_url': 'https://github.com/jordan-woyak/dolphin', 'homepage': None, 'size': 496662, 'stargazers_count': 3, 'watchers_count': 3, 'language': 'C++', 'has_issues': False, 'has_projects': True, 'has_downloads': True, 'has_wiki': False, 'has_pages': False, 'has_discussions': False, 'forks_count': 4, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 2, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'topics': [], 'visibility': 'public', 'forks': 4, 'open_issues': 2, 'watchers': 3, 'default_branch': 'master', 'allow_squash_merge': True, 'allow_merge_commit': True, 'allow_rebase_merge': True, 'allow_auto_merge': False, 'delete_branch_on_merge': True, 'allow_update_branch': False, 'use_squash_pr_title_as_default': False, 'squash_merge_commit_message': 'COMMIT_MESSAGES', 'squash_merge_commit_title': 'COMMIT_OR_PR_TITLE', 'merge_commit_message': 'PR_TITLE', 'merge_commit_title': 'MERGE_MESSAGE'}}, 'base': {'label': 'dolphin-emu:master', 'ref': 'master', 'sha': 'a5e85caf0af66fec07b476718a69519b06e6a69f', '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': '2025-07-04T22:20:38Z', 'pushed_at': '2025-07-03T06:31:01Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 530284, 'stargazers_count': 13886, 'watchers_count': 13886, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': True, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 2824, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 342, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 2824, 'open_issues': 342, 'watchers': 13886, '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/13791'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/13791'}, 'issue': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791'}, 'comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/13791/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/13791/commits'}, 'statuses': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/78687c50fb433f05447505ec620c892701322eb5'}}, 'author_association': 'MEMBER', 'auto_merge': None, 'active_lock_reason': None, 'merged': False, 'mergeable': True, 'rebaseable': True, 'mergeable_state': 'unstable', 'merged_by': None, 'comments': 4, 'review_comments': 1, 'maintainer_can_modify': True, 'commits': 1, 'additions': 566, 'deletions': 26, 'changed_files': 8}, 'changes': {'body': {'from': 'This should make many more Realtek devices usable for Bluetooth passthrough.\r\nI\'m hoping for most Realtek adapters which work on Linux in general to now work on Windows with Bluetooth passthrough.\r\n\r\nI\'ve personally only tested a RTL8761B that I have on hand but the logic is largely the same for many other devices.\r\n\r\nSome files from "linux-firmware" will not yet load because they need "v2" firmware parsing implemented, which I have not done, because it\'s more complicated and I don\'t own an adapter to test, and I don\'t know if they are even common adapters.\r\n"rtl8851bu_fw"\r\n"rtl8852bu_fw"\r\n"rtl8922au_fw"\r\n"rtl8852btu_fw"\r\nObserving the "v2" firmware signature will currently produce an ERROR_LOG.\r\n\r\nAll the firmware loading logic is heavily copied from Linux source:\r\n`drivers/bluetooth/btusb.c`\r\n`drivers/bluetooth/btrtl.c`\r\n`drivers/bluetooth/btrtl.h`\r\nI don\'t know if we need to do anything anything special about that, license-wise?\r\n\r\nFirmware files currently need to be manually placed in Dolphin\'s Sys folder like:\r\n`Sys/Firmware/rtl_bt/rtl8761bu_fw.bin`\r\n`Sys/Firmware/rtl_bt/rtl8761bu_config.bin`\r\nFiles can be downloaded from: https://gitlab.com/kernel-firmware/linux-firmware/-/tree/main/rtl_bt?ref_type=heads\r\nThe user experience could be better, missing files will just produce an ERROR_LOG.\r\nI\'m open to suggestions on some other filesystem arrangement.\r\n\r\nA bit more code cleanup can be done, but this is ready for some testing.'}}, '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': '2025-07-04T22:20:38Z', 'pushed_at': '2025-07-03T06:31:01Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 530284, 'stargazers_count': 13886, 'watchers_count': 13886, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': True, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 2824, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 342, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 2824, 'open_issues': 342, 'watchers': 13886, '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'}
2025-07-04T22:29:05.207310	{'source': 'webserver', 'gh_type': 'pull_request', 'raw': {'action': 'synchronize', 'number': 13791, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/13791', 'id': 2641116301, 'node_id': 'PR_kwDOALCn2M6dbDyN', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13791', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/13791.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/13791.patch', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791', 'number': 13791, 'state': 'open', 'locked': False, 'title': 'BTReal: Implement Realtek firmware loading.', 'user': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': 'This should make many more Realtek devices usable for Bluetooth passthrough.\r\nI\'m hoping for most Realtek adapters which work on Linux in general to now work on Windows with Bluetooth passthrough.\r\n\r\nI\'ve personally only tested a RTL8761B that I have on hand but the logic is largely the same for many other devices.\r\n\r\nSome files from "linux-firmware" will not yet load because they need "v2" firmware parsing implemented, which I have not done, because it\'s more complicated and I don\'t own an adapter to test, and I don\'t know if they are even common adapters.\r\n"rtl8851bu_fw"\r\n"rtl8852bu_fw"\r\n"rtl8922au_fw"\r\n"rtl8852btu_fw"\r\nObserving the "v2" firmware signature will currently produce an ERROR_LOG.\r\n\r\nAll the firmware loading logic is heavily copied from Linux source:\r\n`drivers/bluetooth/btusb.c`\r\n`drivers/bluetooth/btrtl.c`\r\n`drivers/bluetooth/btrtl.h`\r\nI don\'t know if we need to do anything anything special about that, license-wise?\r\n\r\nFirmware files currently need to be manually placed in Dolphin\'s Sys folder like:\r\n`Sys/Firmware/rtl_bt/rtl8761bu_fw.bin`\r\n`Sys/Firmware/rtl_bt/rtl8761bu_config.bin`\r\nFiles can be downloaded from: https://gitlab.com/kernel-firmware/linux-firmware/-/tree/main/rtl_bt?ref_type=heads\r\nThe user experience could be better, missing files will just produce an ERROR_LOG.\r\nI\'m open to suggestions on some other filesystem arrangement.\r\n\r\nA bit more code cleanup can be done, but this is ready for some testing.', 'created_at': '2025-07-04T11:11:24Z', 'updated_at': '2025-07-04T22:29:03Z', 'closed_at': None, 'merged_at': None, 'merge_commit_sha': 'cb20bbc786873a0fc542c62659205d4dbbdf5ae8', 'assignee': None, 'assignees': [], 'requested_reviewers': [], 'requested_teams': [], 'labels': [{'id': 217773431, 'node_id': 'MDU6TGFiZWwyMTc3NzM0MzE=', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels/needs%20testing', 'name': 'needs testing', 'color': 'fbca04', 'default': False, 'description': None}, {'id': 221808232, 'node_id': 'MDU6TGFiZWwyMjE4MDgyMzI=', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels/WIP%20/%20do%20not%20merge', 'name': 'WIP / do not merge', 'color': '0052cc', 'default': False, 'description': 'Work in progress (do not merge)'}, {'id': 221809816, 'node_id': 'MDU6TGFiZWwyMjE4MDk4MTY=', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels/RFC', 'name': 'RFC', 'color': 'FF6D00', 'default': False, 'description': 'Request for comments'}], 'milestone': None, 'draft': False, 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/13791/commits', 'review_comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/13791/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/13791/comments', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/78687c50fb433f05447505ec620c892701322eb5', 'head': {'label': 'jordan-woyak:realtek-firmware-loader', 'ref': 'realtek-firmware-loader', 'sha': '78687c50fb433f05447505ec620c892701322eb5', 'user': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 16818408, 'node_id': 'MDEwOlJlcG9zaXRvcnkxNjgxODQwOA==', 'name': 'dolphin', 'full_name': 'jordan-woyak/dolphin', 'private': False, 'owner': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/jordan-woyak/dolphin', 'description': 'Dolphin is a GameCube/Wii emulator, allowing you to play games for these two platforms on PC, with improvements.', 'fork': True, 'url': 'https://api.github.com/repos/jordan-woyak/dolphin', 'forks_url': 'https://api.github.com/repos/jordan-woyak/dolphin/forks', 'keys_url': 'https://api.github.com/repos/jordan-woyak/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/jordan-woyak/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/jordan-woyak/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/jordan-woyak/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/jordan-woyak/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/jordan-woyak/dolphin/events', 'assignees_url': 'https://api.github.com/repos/jordan-woyak/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/jordan-woyak/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/jordan-woyak/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/jordan-woyak/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/jordan-woyak/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/jordan-woyak/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/jordan-woyak/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/jordan-woyak/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/jordan-woyak/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/jordan-woyak/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/jordan-woyak/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/jordan-woyak/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/jordan-woyak/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/jordan-woyak/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/jordan-woyak/dolphin/merges', 'archive_url': 'https://api.github.com/repos/jordan-woyak/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/jordan-woyak/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/jordan-woyak/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/jordan-woyak/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/jordan-woyak/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/jordan-woyak/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/jordan-woyak/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/jordan-woyak/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/jordan-woyak/dolphin/deployments', 'created_at': '2014-02-13T21:50:38Z', 'updated_at': '2025-05-09T02:52:31Z', 'pushed_at': '2025-07-04T22:29:02Z', 'git_url': 'git://github.com/jordan-woyak/dolphin.git', 'ssh_url': 'git@github.com:jordan-woyak/dolphin.git', 'clone_url': 'https://github.com/jordan-woyak/dolphin.git', 'svn_url': 'https://github.com/jordan-woyak/dolphin', 'homepage': None, 'size': 496662, 'stargazers_count': 3, 'watchers_count': 3, 'language': 'C++', 'has_issues': False, 'has_projects': True, 'has_downloads': True, 'has_wiki': False, 'has_pages': False, 'has_discussions': False, 'forks_count': 4, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 2, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'topics': [], 'visibility': 'public', 'forks': 4, 'open_issues': 2, 'watchers': 3, 'default_branch': 'master', 'allow_squash_merge': True, 'allow_merge_commit': True, 'allow_rebase_merge': True, 'allow_auto_merge': False, 'delete_branch_on_merge': True, 'allow_update_branch': False, 'use_squash_pr_title_as_default': False, 'squash_merge_commit_message': 'COMMIT_MESSAGES', 'squash_merge_commit_title': 'COMMIT_OR_PR_TITLE', 'merge_commit_message': 'PR_TITLE', 'merge_commit_title': 'MERGE_MESSAGE'}}, 'base': {'label': 'dolphin-emu:master', 'ref': 'master', 'sha': 'a5e85caf0af66fec07b476718a69519b06e6a69f', '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': '2025-07-04T22:20:38Z', 'pushed_at': '2025-07-03T06:31:01Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 530284, 'stargazers_count': 13886, 'watchers_count': 13886, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': True, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 2824, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 342, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 2824, 'open_issues': 342, 'watchers': 13886, '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/13791'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/13791'}, 'issue': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791'}, 'comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/13791/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/13791/commits'}, 'statuses': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/78687c50fb433f05447505ec620c892701322eb5'}}, 'author_association': 'MEMBER', 'auto_merge': None, 'active_lock_reason': None, 'merged': False, 'mergeable': None, 'rebaseable': None, 'mergeable_state': 'unknown', 'merged_by': None, 'comments': 4, 'review_comments': 1, 'maintainer_can_modify': True, 'commits': 1, 'additions': 566, 'deletions': 26, 'changed_files': 8}, 'before': 'b81ec14d6cdac2ca0cbe4a8029171ba4206d0e64', 'after': '78687c50fb433f05447505ec620c892701322eb5', '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': '2025-07-04T22:20:38Z', 'pushed_at': '2025-07-03T06:31:01Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 530284, 'stargazers_count': 13886, 'watchers_count': 13886, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': True, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 2824, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 342, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 2824, 'open_issues': 342, 'watchers': 13886, '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'}
2025-07-04T22:23:55.748106	{'source': 'webserver', 'gh_type': 'issue_comment', 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13786', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13786/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13786/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13786/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13786', 'id': 3189715929, 'node_id': 'PR_kwDOALCn2M6cwsDR', 'number': 13786, 'title': 'PPCSymbolDB: Improve locking', 'user': {'login': 'JosJuice', 'id': 6716818, 'node_id': 'MDQ6VXNlcjY3MTY4MTg=', 'avatar_url': 'https://avatars.githubusercontent.com/u/6716818?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/JosJuice', 'html_url': 'https://github.com/JosJuice', 'followers_url': 'https://api.github.com/users/JosJuice/followers', 'following_url': 'https://api.github.com/users/JosJuice/following{/other_user}', 'gists_url': 'https://api.github.com/users/JosJuice/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/JosJuice/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/JosJuice/subscriptions', 'organizations_url': 'https://api.github.com/users/JosJuice/orgs', 'repos_url': 'https://api.github.com/users/JosJuice/repos', 'events_url': 'https://api.github.com/users/JosJuice/events{/privacy}', 'received_events_url': 'https://api.github.com/users/JosJuice/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignee': None, 'assignees': [], 'milestone': None, 'comments': 3, 'created_at': '2025-06-30T20:10:32Z', 'updated_at': '2025-07-04T22:23:53Z', 'closed_at': None, 'author_association': 'MEMBER', 'type': None, 'active_lock_reason': None, 'draft': False, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/13786', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13786', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/13786.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/13786.patch', 'merged_at': None}, 'body': "https://github.com/dolphin-emu/dolphin/commit/93952381599a791710b21fb3d29d64d05cc635f3 added locking to PPCSymbolDB, but it didn't add locking to all relevant functions, and the way it uses try_lock introduces potential reliability problems. This PR improves seeks to improve the situation, as described further in the commit descriptions.\r\n\r\n@TryTwo You probably know the use cases better than me, so could I ask for your help in testing this? I did some basic tests of loading symbol maps, and that seemed to work fine.", 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13786/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/13786/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/3037322851', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13786#issuecomment-3037322851', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13786', 'id': 3037322851, 'node_id': 'IC_kwDOALCn2M61Cd5j', 'user': {'login': 'TryTwo', 'id': 10532806, 'node_id': 'MDQ6VXNlcjEwNTMyODA2', 'avatar_url': 'https://avatars.githubusercontent.com/u/10532806?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/TryTwo', 'html_url': 'https://github.com/TryTwo', 'followers_url': 'https://api.github.com/users/TryTwo/followers', 'following_url': 'https://api.github.com/users/TryTwo/following{/other_user}', 'gists_url': 'https://api.github.com/users/TryTwo/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/TryTwo/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/TryTwo/subscriptions', 'organizations_url': 'https://api.github.com/users/TryTwo/orgs', 'repos_url': 'https://api.github.com/users/TryTwo/repos', 'events_url': 'https://api.github.com/users/TryTwo/events{/privacy}', 'received_events_url': 'https://api.github.com/users/TryTwo/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2025-07-04T22:23:53Z', 'updated_at': '2025-07-04T22:23:53Z', 'author_association': 'MEMBER', 'body': "There may not be anything unreliable after my fix.  This is just a more thorough fix. So I think if it still works with your large files without causing extra lag, or anything, it's good. Just need you to check that it works the same.", 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/3037322851/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}, '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': '2025-07-04T22:20:38Z', 'pushed_at': '2025-07-03T06:31:01Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 530284, 'stargazers_count': 13886, 'watchers_count': 13886, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': True, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 2824, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 342, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 2824, 'open_issues': 342, 'watchers': 13886, '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': 'TryTwo', 'id': 10532806, 'node_id': 'MDQ6VXNlcjEwNTMyODA2', 'avatar_url': 'https://avatars.githubusercontent.com/u/10532806?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/TryTwo', 'html_url': 'https://github.com/TryTwo', 'followers_url': 'https://api.github.com/users/TryTwo/followers', 'following_url': 'https://api.github.com/users/TryTwo/following{/other_user}', 'gists_url': 'https://api.github.com/users/TryTwo/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/TryTwo/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/TryTwo/subscriptions', 'organizations_url': 'https://api.github.com/users/TryTwo/orgs', 'repos_url': 'https://api.github.com/users/TryTwo/repos', 'events_url': 'https://api.github.com/users/TryTwo/events{/privacy}', 'received_events_url': 'https://api.github.com/users/TryTwo/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'raw_gh_hook'}
2025-07-04T21:47:24.987679	{'source': 'webserver', 'gh_type': 'pull_request', 'raw': {'action': 'edited', 'number': 13791, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/13791', 'id': 2641116301, 'node_id': 'PR_kwDOALCn2M6dbDyN', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13791', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/13791.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/13791.patch', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791', 'number': 13791, 'state': 'open', 'locked': False, 'title': 'BTReal: Implement Realtek firmware loading.', 'user': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': 'This should make many more Realtek devices usable for Bluetooth passthrough.\r\nI\'m hoping for most Realtek adapters which work on Linux in general to now work on Windows with Bluetooth passthrough.\r\n\r\nI\'ve personally only tested a RTL8761B that I have on hand but the logic is largely the same for many other devices.\r\n\r\nSome files from "linux-firmware" will not yet load because they need "v2" firmware parsing implemented, which I have not done, because it\'s more complicated and I don\'t own an adapter to test, and I don\'t know if they are even common adapters.\r\n"rtl8851bu_fw"\r\n"rtl8852bu_fw"\r\n"rtl8922au_fw"\r\n"rtl8852btu_fw"\r\nObserving the "v2" firmware signature will currently produce an ERROR_LOG.\r\n\r\nAll the firmware loading logic is heavily copied from Linux source:\r\n`drivers/bluetooth/btusb.c`\r\n`drivers/bluetooth/btrtl.c`\r\n`drivers/bluetooth/btrtl.h`\r\nI don\'t know if we need to do anything anything special about that, license-wise?\r\n\r\nFirmware files currently need to be manually placed in Dolphin\'s Sys folder like:\r\n`Sys/Firmware/rtl_bt/rtl8761bu_fw.bin`\r\n`Sys/Firmware/rtl_bt/rtl8761bu_config.bin`\r\nFiles can be downloaded from: https://gitlab.com/kernel-firmware/linux-firmware/-/tree/main/rtl_bt?ref_type=heads\r\nThe user experience could be better, missing files will just produce an ERROR_LOG.\r\nI\'m open to suggestions on some other filesystem arrangement.\r\n\r\nA bit more code cleanup can be done, but this is ready for some testing.', 'created_at': '2025-07-04T11:11:24Z', 'updated_at': '2025-07-04T21:47:23Z', 'closed_at': None, 'merged_at': None, 'merge_commit_sha': 'cb20bbc786873a0fc542c62659205d4dbbdf5ae8', 'assignee': None, 'assignees': [], 'requested_reviewers': [], 'requested_teams': [], 'labels': [{'id': 217773431, 'node_id': 'MDU6TGFiZWwyMTc3NzM0MzE=', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels/needs%20testing', 'name': 'needs testing', 'color': 'fbca04', 'default': False, 'description': None}, {'id': 221808232, 'node_id': 'MDU6TGFiZWwyMjE4MDgyMzI=', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels/WIP%20/%20do%20not%20merge', 'name': 'WIP / do not merge', 'color': '0052cc', 'default': False, 'description': 'Work in progress (do not merge)'}, {'id': 221809816, 'node_id': 'MDU6TGFiZWwyMjE4MDk4MTY=', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels/RFC', 'name': 'RFC', 'color': 'FF6D00', 'default': False, 'description': 'Request for comments'}], 'milestone': None, 'draft': False, 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/13791/commits', 'review_comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/13791/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/13791/comments', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/b81ec14d6cdac2ca0cbe4a8029171ba4206d0e64', 'head': {'label': 'jordan-woyak:realtek-firmware-loader', 'ref': 'realtek-firmware-loader', 'sha': 'b81ec14d6cdac2ca0cbe4a8029171ba4206d0e64', 'user': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 16818408, 'node_id': 'MDEwOlJlcG9zaXRvcnkxNjgxODQwOA==', 'name': 'dolphin', 'full_name': 'jordan-woyak/dolphin', 'private': False, 'owner': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/jordan-woyak/dolphin', 'description': 'Dolphin is a GameCube/Wii emulator, allowing you to play games for these two platforms on PC, with improvements.', 'fork': True, 'url': 'https://api.github.com/repos/jordan-woyak/dolphin', 'forks_url': 'https://api.github.com/repos/jordan-woyak/dolphin/forks', 'keys_url': 'https://api.github.com/repos/jordan-woyak/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/jordan-woyak/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/jordan-woyak/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/jordan-woyak/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/jordan-woyak/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/jordan-woyak/dolphin/events', 'assignees_url': 'https://api.github.com/repos/jordan-woyak/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/jordan-woyak/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/jordan-woyak/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/jordan-woyak/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/jordan-woyak/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/jordan-woyak/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/jordan-woyak/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/jordan-woyak/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/jordan-woyak/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/jordan-woyak/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/jordan-woyak/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/jordan-woyak/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/jordan-woyak/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/jordan-woyak/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/jordan-woyak/dolphin/merges', 'archive_url': 'https://api.github.com/repos/jordan-woyak/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/jordan-woyak/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/jordan-woyak/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/jordan-woyak/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/jordan-woyak/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/jordan-woyak/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/jordan-woyak/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/jordan-woyak/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/jordan-woyak/dolphin/deployments', 'created_at': '2014-02-13T21:50:38Z', 'updated_at': '2025-05-09T02:52:31Z', 'pushed_at': '2025-07-04T21:15:21Z', 'git_url': 'git://github.com/jordan-woyak/dolphin.git', 'ssh_url': 'git@github.com:jordan-woyak/dolphin.git', 'clone_url': 'https://github.com/jordan-woyak/dolphin.git', 'svn_url': 'https://github.com/jordan-woyak/dolphin', 'homepage': None, 'size': 496662, 'stargazers_count': 3, 'watchers_count': 3, 'language': 'C++', 'has_issues': False, 'has_projects': True, 'has_downloads': True, 'has_wiki': False, 'has_pages': False, 'has_discussions': False, 'forks_count': 4, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 2, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'topics': [], 'visibility': 'public', 'forks': 4, 'open_issues': 2, 'watchers': 3, 'default_branch': 'master', 'allow_squash_merge': True, 'allow_merge_commit': True, 'allow_rebase_merge': True, 'allow_auto_merge': False, 'delete_branch_on_merge': True, 'allow_update_branch': False, 'use_squash_pr_title_as_default': False, 'squash_merge_commit_message': 'COMMIT_MESSAGES', 'squash_merge_commit_title': 'COMMIT_OR_PR_TITLE', 'merge_commit_message': 'PR_TITLE', 'merge_commit_title': 'MERGE_MESSAGE'}}, 'base': {'label': 'dolphin-emu:master', 'ref': 'master', 'sha': 'a5e85caf0af66fec07b476718a69519b06e6a69f', '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': '2025-07-04T14:55:10Z', 'pushed_at': '2025-07-03T06:31:01Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 530284, 'stargazers_count': 13886, 'watchers_count': 13886, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': True, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 2824, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 342, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 2824, 'open_issues': 342, 'watchers': 13886, '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/13791'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/13791'}, 'issue': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791'}, 'comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/13791/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/13791/commits'}, 'statuses': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/b81ec14d6cdac2ca0cbe4a8029171ba4206d0e64'}}, 'author_association': 'MEMBER', 'auto_merge': None, 'active_lock_reason': None, 'merged': False, 'mergeable': True, 'rebaseable': True, 'mergeable_state': 'clean', 'merged_by': None, 'comments': 4, 'review_comments': 1, 'maintainer_can_modify': True, 'commits': 1, 'additions': 584, 'deletions': 26, 'changed_files': 8}, 'changes': {'body': {'from': 'This should make many more Realtek devices usable for Bluetooth passthrough.\r\nI\'m hoping for most Realtek adapters which work on Linux in general to now work on Windows with Bluetooth passthrough.\r\n\r\nI\'ve personally only tested a RTL8761B that I have on hand but the logic is largely the same for many other devices.\r\n\r\nSome files from "linux-firmware" will not yet load because they need "v2" firmware parsing implemented, which I have not done, because it\'s more complicated and I don\'t own an adapter to test, and I don\'t know if they are even common adapters.\r\n8851B "rtl8851bu_fw"\r\n8852B "rtl8852bu_fw"\r\n8922A "rtl8922au_fw"\r\n8852BT/8852BE-VT "rtl8852btu_fw"\r\n\r\nAll the firmware loading logic is heavily copied from Linux source:\r\n`drivers/bluetooth/btusb.c`\r\n`drivers/bluetooth/btrtl.c`\r\n`drivers/bluetooth/btrtl.h`\r\nI don\'t know if we need to do anything anything special about that, license-wise?\r\n\r\nFirmware files currently need to be manually placed in Dolphin\'s Sys folder like:\r\n`Sys/Firmware/rtl_bt/rtl8761bu_fw.bin`\r\n`Sys/Firmware/rtl_bt/rtl8761bu_config.bin`\r\nFiles can be downloaded from: https://gitlab.com/kernel-firmware/linux-firmware/-/tree/main/rtl_bt?ref_type=heads\r\nThe user experience could be better, missing files will just produce an ERROR_LOG.\r\nI\'m open to suggestions on some other filesystem arrangement.\r\n\r\nA bit more code cleanup can be done, but this is ready for some testing.'}}, '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': '2025-07-04T14:55:10Z', 'pushed_at': '2025-07-03T06:31:01Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 530284, 'stargazers_count': 13886, 'watchers_count': 13886, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': True, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 2824, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 342, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 2824, 'open_issues': 342, 'watchers': 13886, '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'}
2025-07-04T21:15:23.550010	{'source': 'webserver', 'gh_type': 'pull_request', 'raw': {'action': 'synchronize', 'number': 13791, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/13791', 'id': 2641116301, 'node_id': 'PR_kwDOALCn2M6dbDyN', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13791', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/13791.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/13791.patch', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791', 'number': 13791, 'state': 'open', 'locked': False, 'title': 'BTReal: Implement Realtek firmware loading.', 'user': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': 'This should make many more Realtek devices usable for Bluetooth passthrough.\r\nI\'m hoping for most Realtek adapters which work on Linux in general to now work on Windows with Bluetooth passthrough.\r\n\r\nI\'ve personally only tested a RTL8761B that I have on hand but the logic is largely the same for many other devices.\r\n\r\nSome files from "linux-firmware" will not yet load because they need "v2" firmware parsing implemented, which I have not done, because it\'s more complicated and I don\'t own an adapter to test, and I don\'t know if they are even common adapters.\r\n8851B "rtl8851bu_fw"\r\n8852B "rtl8852bu_fw"\r\n8922A "rtl8922au_fw"\r\n8852BT/8852BE-VT "rtl8852btu_fw"\r\n\r\nAll the firmware loading logic is heavily copied from Linux source:\r\n`drivers/bluetooth/btusb.c`\r\n`drivers/bluetooth/btrtl.c`\r\n`drivers/bluetooth/btrtl.h`\r\nI don\'t know if we need to do anything anything special about that, license-wise?\r\n\r\nFirmware files currently need to be manually placed in Dolphin\'s Sys folder like:\r\n`Sys/Firmware/rtl_bt/rtl8761bu_fw.bin`\r\n`Sys/Firmware/rtl_bt/rtl8761bu_config.bin`\r\nFiles can be downloaded from: https://gitlab.com/kernel-firmware/linux-firmware/-/tree/main/rtl_bt?ref_type=heads\r\nThe user experience could be better, missing files will just produce an ERROR_LOG.\r\nI\'m open to suggestions on some other filesystem arrangement.\r\n\r\nA bit more code cleanup can be done, but this is ready for some testing.', 'created_at': '2025-07-04T11:11:24Z', 'updated_at': '2025-07-04T21:15:22Z', 'closed_at': None, 'merged_at': None, 'merge_commit_sha': 'e0a7d4c5985c72ef2ce4d95ae82bf1a8817da582', 'assignee': None, 'assignees': [], 'requested_reviewers': [], 'requested_teams': [], 'labels': [{'id': 217773431, 'node_id': 'MDU6TGFiZWwyMTc3NzM0MzE=', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels/needs%20testing', 'name': 'needs testing', 'color': 'fbca04', 'default': False, 'description': None}, {'id': 221808232, 'node_id': 'MDU6TGFiZWwyMjE4MDgyMzI=', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels/WIP%20/%20do%20not%20merge', 'name': 'WIP / do not merge', 'color': '0052cc', 'default': False, 'description': 'Work in progress (do not merge)'}, {'id': 221809816, 'node_id': 'MDU6TGFiZWwyMjE4MDk4MTY=', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels/RFC', 'name': 'RFC', 'color': 'FF6D00', 'default': False, 'description': 'Request for comments'}], 'milestone': None, 'draft': False, 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/13791/commits', 'review_comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/13791/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/13791/comments', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/b81ec14d6cdac2ca0cbe4a8029171ba4206d0e64', 'head': {'label': 'jordan-woyak:realtek-firmware-loader', 'ref': 'realtek-firmware-loader', 'sha': 'b81ec14d6cdac2ca0cbe4a8029171ba4206d0e64', 'user': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 16818408, 'node_id': 'MDEwOlJlcG9zaXRvcnkxNjgxODQwOA==', 'name': 'dolphin', 'full_name': 'jordan-woyak/dolphin', 'private': False, 'owner': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/jordan-woyak/dolphin', 'description': 'Dolphin is a GameCube/Wii emulator, allowing you to play games for these two platforms on PC, with improvements.', 'fork': True, 'url': 'https://api.github.com/repos/jordan-woyak/dolphin', 'forks_url': 'https://api.github.com/repos/jordan-woyak/dolphin/forks', 'keys_url': 'https://api.github.com/repos/jordan-woyak/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/jordan-woyak/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/jordan-woyak/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/jordan-woyak/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/jordan-woyak/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/jordan-woyak/dolphin/events', 'assignees_url': 'https://api.github.com/repos/jordan-woyak/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/jordan-woyak/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/jordan-woyak/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/jordan-woyak/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/jordan-woyak/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/jordan-woyak/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/jordan-woyak/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/jordan-woyak/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/jordan-woyak/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/jordan-woyak/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/jordan-woyak/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/jordan-woyak/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/jordan-woyak/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/jordan-woyak/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/jordan-woyak/dolphin/merges', 'archive_url': 'https://api.github.com/repos/jordan-woyak/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/jordan-woyak/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/jordan-woyak/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/jordan-woyak/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/jordan-woyak/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/jordan-woyak/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/jordan-woyak/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/jordan-woyak/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/jordan-woyak/dolphin/deployments', 'created_at': '2014-02-13T21:50:38Z', 'updated_at': '2025-05-09T02:52:31Z', 'pushed_at': '2025-07-04T21:15:21Z', 'git_url': 'git://github.com/jordan-woyak/dolphin.git', 'ssh_url': 'git@github.com:jordan-woyak/dolphin.git', 'clone_url': 'https://github.com/jordan-woyak/dolphin.git', 'svn_url': 'https://github.com/jordan-woyak/dolphin', 'homepage': None, 'size': 496662, 'stargazers_count': 3, 'watchers_count': 3, 'language': 'C++', 'has_issues': False, 'has_projects': True, 'has_downloads': True, 'has_wiki': False, 'has_pages': False, 'has_discussions': False, 'forks_count': 4, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 2, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'topics': [], 'visibility': 'public', 'forks': 4, 'open_issues': 2, 'watchers': 3, 'default_branch': 'master', 'allow_squash_merge': True, 'allow_merge_commit': True, 'allow_rebase_merge': True, 'allow_auto_merge': False, 'delete_branch_on_merge': True, 'allow_update_branch': False, 'use_squash_pr_title_as_default': False, 'squash_merge_commit_message': 'COMMIT_MESSAGES', 'squash_merge_commit_title': 'COMMIT_OR_PR_TITLE', 'merge_commit_message': 'PR_TITLE', 'merge_commit_title': 'MERGE_MESSAGE'}}, 'base': {'label': 'dolphin-emu:master', 'ref': 'master', 'sha': 'a5e85caf0af66fec07b476718a69519b06e6a69f', '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': '2025-07-04T14:55:10Z', 'pushed_at': '2025-07-03T06:31:01Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 530284, 'stargazers_count': 13886, 'watchers_count': 13886, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': True, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 2824, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 342, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 2824, 'open_issues': 342, 'watchers': 13886, '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/13791'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/13791'}, 'issue': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791'}, 'comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/13791/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/13791/commits'}, 'statuses': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/b81ec14d6cdac2ca0cbe4a8029171ba4206d0e64'}}, 'author_association': 'MEMBER', 'auto_merge': None, 'active_lock_reason': None, 'merged': False, 'mergeable': None, 'rebaseable': None, 'mergeable_state': 'unknown', 'merged_by': None, 'comments': 4, 'review_comments': 1, 'maintainer_can_modify': True, 'commits': 1, 'additions': 584, 'deletions': 26, 'changed_files': 8}, 'before': '3db1be6ba0ba98be8adf1b60e073b0f4b878cc21', 'after': 'b81ec14d6cdac2ca0cbe4a8029171ba4206d0e64', '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': '2025-07-04T14:55:10Z', 'pushed_at': '2025-07-03T06:31:01Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 530284, 'stargazers_count': 13886, 'watchers_count': 13886, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': True, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 2824, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 342, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 2824, 'open_issues': 342, 'watchers': 13886, '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'}
2025-07-04T21:11:25.144169	{'source': 'webserver', 'gh_type': 'issue_comment', 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13786', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13786/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13786/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13786/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13786', 'id': 3189715929, 'node_id': 'PR_kwDOALCn2M6cwsDR', 'number': 13786, 'title': 'PPCSymbolDB: Improve locking', 'user': {'login': 'JosJuice', 'id': 6716818, 'node_id': 'MDQ6VXNlcjY3MTY4MTg=', 'avatar_url': 'https://avatars.githubusercontent.com/u/6716818?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/JosJuice', 'html_url': 'https://github.com/JosJuice', 'followers_url': 'https://api.github.com/users/JosJuice/followers', 'following_url': 'https://api.github.com/users/JosJuice/following{/other_user}', 'gists_url': 'https://api.github.com/users/JosJuice/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/JosJuice/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/JosJuice/subscriptions', 'organizations_url': 'https://api.github.com/users/JosJuice/orgs', 'repos_url': 'https://api.github.com/users/JosJuice/repos', 'events_url': 'https://api.github.com/users/JosJuice/events{/privacy}', 'received_events_url': 'https://api.github.com/users/JosJuice/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignee': None, 'assignees': [], 'milestone': None, 'comments': 2, 'created_at': '2025-06-30T20:10:32Z', 'updated_at': '2025-07-04T21:11:23Z', 'closed_at': None, 'author_association': 'MEMBER', 'type': None, 'active_lock_reason': None, 'draft': False, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/13786', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13786', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/13786.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/13786.patch', 'merged_at': None}, 'body': "https://github.com/dolphin-emu/dolphin/commit/93952381599a791710b21fb3d29d64d05cc635f3 added locking to PPCSymbolDB, but it didn't add locking to all relevant functions, and the way it uses try_lock introduces potential reliability problems. This PR improves seeks to improve the situation, as described further in the commit descriptions.\r\n\r\n@TryTwo You probably know the use cases better than me, so could I ask for your help in testing this? I did some basic tests of loading symbol maps, and that seemed to work fine.", 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13786/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/13786/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/3037245369', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13786#issuecomment-3037245369', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13786', 'id': 3037245369, 'node_id': 'IC_kwDOALCn2M61CK-5', 'user': {'login': 'dreamsyntax', 'id': 14857235, 'node_id': 'MDQ6VXNlcjE0ODU3MjM1', 'avatar_url': 'https://avatars.githubusercontent.com/u/14857235?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dreamsyntax', 'html_url': 'https://github.com/dreamsyntax', 'followers_url': 'https://api.github.com/users/dreamsyntax/followers', 'following_url': 'https://api.github.com/users/dreamsyntax/following{/other_user}', 'gists_url': 'https://api.github.com/users/dreamsyntax/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dreamsyntax/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dreamsyntax/subscriptions', 'organizations_url': 'https://api.github.com/users/dreamsyntax/orgs', 'repos_url': 'https://api.github.com/users/dreamsyntax/repos', 'events_url': 'https://api.github.com/users/dreamsyntax/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dreamsyntax/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2025-07-04T21:11:23Z', 'updated_at': '2025-07-04T21:11:23Z', 'author_association': 'MEMBER', 'body': "Is there a way to reproduce the supposed reliability problems? I've had no issues since the other PR was merged", 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/3037245369/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}, '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': '2025-07-04T14:55:10Z', 'pushed_at': '2025-07-03T06:31:01Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 530284, 'stargazers_count': 13886, 'watchers_count': 13886, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': True, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 2824, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 342, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 2824, 'open_issues': 342, 'watchers': 13886, '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': 'dreamsyntax', 'id': 14857235, 'node_id': 'MDQ6VXNlcjE0ODU3MjM1', 'avatar_url': 'https://avatars.githubusercontent.com/u/14857235?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dreamsyntax', 'html_url': 'https://github.com/dreamsyntax', 'followers_url': 'https://api.github.com/users/dreamsyntax/followers', 'following_url': 'https://api.github.com/users/dreamsyntax/following{/other_user}', 'gists_url': 'https://api.github.com/users/dreamsyntax/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dreamsyntax/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dreamsyntax/subscriptions', 'organizations_url': 'https://api.github.com/users/dreamsyntax/orgs', 'repos_url': 'https://api.github.com/users/dreamsyntax/repos', 'events_url': 'https://api.github.com/users/dreamsyntax/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dreamsyntax/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'raw_gh_hook'}
2025-07-04T18:45:38.692165	{'source': 'webserver', 'gh_type': 'issue_comment', 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13791', 'id': 3202305823, 'node_id': 'PR_kwDOALCn2M6dbDyN', 'number': 13791, 'title': 'BTReal: Implement Realtek firmware loading.', 'user': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [{'id': 217773431, 'node_id': 'MDU6TGFiZWwyMTc3NzM0MzE=', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels/needs%20testing', 'name': 'needs testing', 'color': 'fbca04', 'default': False, 'description': None}, {'id': 221808232, 'node_id': 'MDU6TGFiZWwyMjE4MDgyMzI=', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels/WIP%20/%20do%20not%20merge', 'name': 'WIP / do not merge', 'color': '0052cc', 'default': False, 'description': 'Work in progress (do not merge)'}, {'id': 221809816, 'node_id': 'MDU6TGFiZWwyMjE4MDk4MTY=', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels/RFC', 'name': 'RFC', 'color': 'FF6D00', 'default': False, 'description': 'Request for comments'}], 'state': 'open', 'locked': False, 'assignee': None, 'assignees': [], 'milestone': None, 'comments': 4, 'created_at': '2025-07-04T11:11:24Z', 'updated_at': '2025-07-04T18:45:37Z', 'closed_at': None, 'author_association': 'MEMBER', 'type': None, 'active_lock_reason': None, 'draft': False, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/13791', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13791', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/13791.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/13791.patch', 'merged_at': None}, 'body': 'This should make many more Realtek devices usable for Bluetooth passthrough.\r\nI\'m hoping for most Realtek adapters which work on Linux in general to now work on Windows with Bluetooth passthrough.\r\n\r\nI\'ve personally only tested a RTL8761B that I have on hand but the logic is largely the same for many other devices.\r\n\r\nSome files from "linux-firmware" will not yet load because they need "v2" firmware parsing implemented, which I have not done, because it\'s more complicated and I don\'t own an adapter to test, and I don\'t know if they are even common adapters.\r\n8851B "rtl8851bu_fw"\r\n8852B "rtl8852bu_fw"\r\n8922A "rtl8922au_fw"\r\n8852BT/8852BE-VT "rtl8852btu_fw"\r\n\r\nAll the firmware loading logic is heavily copied from Linux source:\r\n`drivers/bluetooth/btusb.c`\r\n`drivers/bluetooth/btrtl.c`\r\n`drivers/bluetooth/btrtl.h`\r\nI don\'t know if we need to do anything anything special about that, license-wise?\r\n\r\nFirmware files currently need to be manually placed in Dolphin\'s Sys folder like:\r\n`Sys/Firmware/rtl_bt/rtl8761bu_fw.bin`\r\n`Sys/Firmware/rtl_bt/rtl8761bu_config.bin`\r\nFiles can be downloaded from: https://gitlab.com/kernel-firmware/linux-firmware/-/tree/main/rtl_bt?ref_type=heads\r\nThe user experience could be better, missing files will just produce an ERROR_LOG.\r\nI\'m open to suggestions on some other filesystem arrangement.\r\n\r\nA bit more code cleanup can be done, but this is ready for some testing.', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791/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/13791/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/3037053660', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13791#issuecomment-3037053660', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791', 'id': 3037053660, 'node_id': 'IC_kwDOALCn2M61BcLc', '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': '2025-07-04T18:45:37Z', 'updated_at': '2025-07-04T18:45:37Z', 'author_association': 'MEMBER', 'body': "Since the only platform we need to use GPLv3 on is Android (afaik), would not compiling the Realtek firmware loader on Android be enough to avoid a license violation? It's not like those devices can use Bluetooth passthrough anyway.\r\n\r\nI suppose we'd also need to check to make sure we don't include any GPLv2-incompatible deps on other platforms, though.", 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/3037053660/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}, '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': '2025-07-04T14:55:10Z', 'pushed_at': '2025-07-03T06:31:01Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 530284, 'stargazers_count': 13886, 'watchers_count': 13886, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': True, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 2824, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 342, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 2824, 'open_issues': 342, 'watchers': 13886, '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'}
2025-07-04T16:42:00.612716	{'source': 'webserver', 'gh_type': 'issue_comment', 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13791', 'id': 3202305823, 'node_id': 'PR_kwDOALCn2M6dbDyN', 'number': 13791, 'title': 'BTReal: Implement Realtek firmware loading.', 'user': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [{'id': 217773431, 'node_id': 'MDU6TGFiZWwyMTc3NzM0MzE=', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels/needs%20testing', 'name': 'needs testing', 'color': 'fbca04', 'default': False, 'description': None}, {'id': 221808232, 'node_id': 'MDU6TGFiZWwyMjE4MDgyMzI=', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels/WIP%20/%20do%20not%20merge', 'name': 'WIP / do not merge', 'color': '0052cc', 'default': False, 'description': 'Work in progress (do not merge)'}, {'id': 221809816, 'node_id': 'MDU6TGFiZWwyMjE4MDk4MTY=', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels/RFC', 'name': 'RFC', 'color': 'FF6D00', 'default': False, 'description': 'Request for comments'}], 'state': 'open', 'locked': False, 'assignee': None, 'assignees': [], 'milestone': None, 'comments': 3, 'created_at': '2025-07-04T11:11:24Z', 'updated_at': '2025-07-04T16:41:58Z', 'closed_at': None, 'author_association': 'MEMBER', 'type': None, 'active_lock_reason': None, 'draft': False, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/13791', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13791', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/13791.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/13791.patch', 'merged_at': None}, 'body': 'This should make many more Realtek devices usable for Bluetooth passthrough.\r\nI\'m hoping for most Realtek adapters which work on Linux in general to now work on Windows with Bluetooth passthrough.\r\n\r\nI\'ve personally only tested a RTL8761B that I have on hand but the logic is largely the same for many other devices.\r\n\r\nSome files from "linux-firmware" will not yet load because they need "v2" firmware parsing implemented, which I have not done, because it\'s more complicated and I don\'t own an adapter to test, and I don\'t know if they are even common adapters.\r\n8851B "rtl8851bu_fw"\r\n8852B "rtl8852bu_fw"\r\n8922A "rtl8922au_fw"\r\n8852BT/8852BE-VT "rtl8852btu_fw"\r\n\r\nAll the firmware loading logic is heavily copied from Linux source:\r\n`drivers/bluetooth/btusb.c`\r\n`drivers/bluetooth/btrtl.c`\r\n`drivers/bluetooth/btrtl.h`\r\nI don\'t know if we need to do anything anything special about that, license-wise?\r\n\r\nFirmware files currently need to be manually placed in Dolphin\'s Sys folder like:\r\n`Sys/Firmware/rtl_bt/rtl8761bu_fw.bin`\r\n`Sys/Firmware/rtl_bt/rtl8761bu_config.bin`\r\nFiles can be downloaded from: https://gitlab.com/kernel-firmware/linux-firmware/-/tree/main/rtl_bt?ref_type=heads\r\nThe user experience could be better, missing files will just produce an ERROR_LOG.\r\nI\'m open to suggestions on some other filesystem arrangement.\r\n\r\nA bit more code cleanup can be done, but this is ready for some testing.', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791/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/13791/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/3036858264', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13791#issuecomment-3036858264', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791', 'id': 3036858264, 'node_id': 'IC_kwDOALCn2M61AseY', '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': '2025-07-04T16:41:58Z', 'updated_at': '2025-07-04T16:41:58Z', 'author_association': 'MEMBER', 'body': "> I don't know if we need to do anything anything special about that, license-wise?\r\n\r\nWe can't directly copy Linux code, as it's GPLv2 only rather than GPLv2+.", 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/3036858264/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}, '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': '2025-07-04T14:55:10Z', 'pushed_at': '2025-07-03T06:31:01Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 530284, 'stargazers_count': 13886, 'watchers_count': 13886, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': True, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 2823, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 342, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 2823, 'open_issues': 342, 'watchers': 13886, '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'}
2025-07-04T12:07:43.380062	{'source': 'webserver', 'gh_type': 'issue_comment', 'raw': {'action': 'edited', 'changes': {'body': {'from': "> I've noticed that btusb.c also uses [USB_VENDOR_AND_INTERFACE_INFO](https://github.com/torvalds/linux/blob/4c06e63b92038fadb566b652ec3ec04e228931e8/drivers/bluetooth/btusb.c#L587-L589) to determine if a device is Realtek or not, by using the VID, class, subclass, and protocol instead of a VID/PID pair, but your code doesn't do that. Does the hardcoded list include every Realtek device, or should this also be considered?\r\n\r\nThanks, I missed that `USB_VENDOR_AND_INTERFACE_INFO` line.\r\nI suppose all the entries with VID:`0x0bda` can be removed and we can just test for that Realtek VID explicitly.\r\nWe already test for the `0xe0,0x01,0x01` `class,subclass,protocol` where we determine which USB device to use in the first place."}}, 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13791', 'id': 3202305823, 'node_id': 'PR_kwDOALCn2M6dbDyN', 'number': 13791, 'title': 'BTReal: Implement Realtek firmware loading.', 'user': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [{'id': 217773431, 'node_id': 'MDU6TGFiZWwyMTc3NzM0MzE=', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels/needs%20testing', 'name': 'needs testing', 'color': 'fbca04', 'default': False, 'description': None}, {'id': 221808232, 'node_id': 'MDU6TGFiZWwyMjE4MDgyMzI=', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels/WIP%20/%20do%20not%20merge', 'name': 'WIP / do not merge', 'color': '0052cc', 'default': False, 'description': 'Work in progress (do not merge)'}, {'id': 221809816, 'node_id': 'MDU6TGFiZWwyMjE4MDk4MTY=', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels/RFC', 'name': 'RFC', 'color': 'FF6D00', 'default': False, 'description': 'Request for comments'}], 'state': 'open', 'locked': False, 'assignee': None, 'assignees': [], 'milestone': None, 'comments': 2, 'created_at': '2025-07-04T11:11:24Z', 'updated_at': '2025-07-04T12:06:03Z', 'closed_at': None, 'author_association': 'MEMBER', 'type': None, 'active_lock_reason': None, 'draft': False, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/13791', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13791', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/13791.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/13791.patch', 'merged_at': None}, 'body': 'This should make many more Realtek devices usable for Bluetooth passthrough.\r\nI\'m hoping for most Realtek adapters which work on Linux in general to now work on Windows with Bluetooth passthrough.\r\n\r\nI\'ve personally only tested a RTL8761B that I have on hand but the logic is largely the same for many other devices.\r\n\r\nSome files from "linux-firmware" will not yet load because they need "v2" firmware parsing implemented, which I have not done, because it\'s more complicated and I don\'t own an adapter to test, and I don\'t know if they are even common adapters.\r\n8851B "rtl8851bu_fw"\r\n8852B "rtl8852bu_fw"\r\n8922A "rtl8922au_fw"\r\n8852BT/8852BE-VT "rtl8852btu_fw"\r\n\r\nAll the firmware loading logic is heavily copied from Linux source:\r\n`drivers/bluetooth/btusb.c`\r\n`drivers/bluetooth/btrtl.c`\r\n`drivers/bluetooth/btrtl.h`\r\nI don\'t know if we need to do anything anything special about that, license-wise?\r\n\r\nFirmware files currently need to be manually placed in Dolphin\'s Sys folder like:\r\n`Sys/Firmware/rtl_bt/rtl8761bu_fw.bin`\r\n`Sys/Firmware/rtl_bt/rtl8761bu_config.bin`\r\nFiles can be downloaded from: https://gitlab.com/kernel-firmware/linux-firmware/-/tree/main/rtl_bt?ref_type=heads\r\nThe user experience could be better, missing files will just produce an ERROR_LOG.\r\nI\'m open to suggestions on some other filesystem arrangement.\r\n\r\nA bit more code cleanup can be done, but this is ready for some testing.', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791/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/13791/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/3035834434', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13791#issuecomment-3035834434', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791', 'id': 3035834434, 'node_id': 'IC_kwDOALCn2M608yhC', 'user': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2025-07-04T11:46:46Z', 'updated_at': '2025-07-04T12:07:42Z', 'author_association': 'MEMBER', 'body': "> I've noticed that btusb.c also uses [USB_VENDOR_AND_INTERFACE_INFO](https://github.com/torvalds/linux/blob/4c06e63b92038fadb566b652ec3ec04e228931e8/drivers/bluetooth/btusb.c#L587-L589) to determine if a device is Realtek or not, by using the VID, class, subclass, and protocol instead of a VID/PID pair, but your code doesn't do that. Does the hardcoded list include every Realtek device, or should this also be considered?\r\n\r\nThanks, I missed that `USB_VENDOR_AND_INTERFACE_INFO` line.\r\nI suppose all the entries with VID:`0x0bda` can be removed and we can just test for that Realtek VID explicitly.\r\nWe already test for the `0xe0,0x01,0x01` `class,subclass,protocol` where we determine which USB device to use in the first place.\r\n\r\nEdit: I kept the `0x0bda` entries in the list and now also call `IsKnownRealtekBluetoothDevice` in `IsBluetoothDevice` to maybe detect some poorly classified devices without having to explicitly change the adapter from `Automatic`.", 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/3035834434/reactions', 'total_count': 1, '+1': 1, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'performed_via_github_app': 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': '2025-07-04T02:33:43Z', 'pushed_at': '2025-07-03T06:31:01Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 530284, 'stargazers_count': 13884, 'watchers_count': 13884, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': True, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 2823, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 342, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 2823, 'open_issues': 342, 'watchers': 13884, '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'}
2025-07-04T12:06:04.913190	{'source': 'webserver', 'gh_type': 'pull_request', 'raw': {'action': 'synchronize', 'number': 13791, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/13791', 'id': 2641116301, 'node_id': 'PR_kwDOALCn2M6dbDyN', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13791', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/13791.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/13791.patch', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791', 'number': 13791, 'state': 'open', 'locked': False, 'title': 'BTReal: Implement Realtek firmware loading.', 'user': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': 'This should make many more Realtek devices usable for Bluetooth passthrough.\r\nI\'m hoping for most Realtek adapters which work on Linux in general to now work on Windows with Bluetooth passthrough.\r\n\r\nI\'ve personally only tested a RTL8761B that I have on hand but the logic is largely the same for many other devices.\r\n\r\nSome files from "linux-firmware" will not yet load because they need "v2" firmware parsing implemented, which I have not done, because it\'s more complicated and I don\'t own an adapter to test, and I don\'t know if they are even common adapters.\r\n8851B "rtl8851bu_fw"\r\n8852B "rtl8852bu_fw"\r\n8922A "rtl8922au_fw"\r\n8852BT/8852BE-VT "rtl8852btu_fw"\r\n\r\nAll the firmware loading logic is heavily copied from Linux source:\r\n`drivers/bluetooth/btusb.c`\r\n`drivers/bluetooth/btrtl.c`\r\n`drivers/bluetooth/btrtl.h`\r\nI don\'t know if we need to do anything anything special about that, license-wise?\r\n\r\nFirmware files currently need to be manually placed in Dolphin\'s Sys folder like:\r\n`Sys/Firmware/rtl_bt/rtl8761bu_fw.bin`\r\n`Sys/Firmware/rtl_bt/rtl8761bu_config.bin`\r\nFiles can be downloaded from: https://gitlab.com/kernel-firmware/linux-firmware/-/tree/main/rtl_bt?ref_type=heads\r\nThe user experience could be better, missing files will just produce an ERROR_LOG.\r\nI\'m open to suggestions on some other filesystem arrangement.\r\n\r\nA bit more code cleanup can be done, but this is ready for some testing.', 'created_at': '2025-07-04T11:11:24Z', 'updated_at': '2025-07-04T12:06:03Z', 'closed_at': None, 'merged_at': None, 'merge_commit_sha': '2260a8425793d674aa74808333f2b04d7f7bec15', 'assignee': None, 'assignees': [], 'requested_reviewers': [], 'requested_teams': [], 'labels': [{'id': 217773431, 'node_id': 'MDU6TGFiZWwyMTc3NzM0MzE=', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels/needs%20testing', 'name': 'needs testing', 'color': 'fbca04', 'default': False, 'description': None}, {'id': 221808232, 'node_id': 'MDU6TGFiZWwyMjE4MDgyMzI=', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels/WIP%20/%20do%20not%20merge', 'name': 'WIP / do not merge', 'color': '0052cc', 'default': False, 'description': 'Work in progress (do not merge)'}, {'id': 221809816, 'node_id': 'MDU6TGFiZWwyMjE4MDk4MTY=', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels/RFC', 'name': 'RFC', 'color': 'FF6D00', 'default': False, 'description': 'Request for comments'}], 'milestone': None, 'draft': False, 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/13791/commits', 'review_comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/13791/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/13791/comments', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/3db1be6ba0ba98be8adf1b60e073b0f4b878cc21', 'head': {'label': 'jordan-woyak:realtek-firmware-loader', 'ref': 'realtek-firmware-loader', 'sha': '3db1be6ba0ba98be8adf1b60e073b0f4b878cc21', 'user': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 16818408, 'node_id': 'MDEwOlJlcG9zaXRvcnkxNjgxODQwOA==', 'name': 'dolphin', 'full_name': 'jordan-woyak/dolphin', 'private': False, 'owner': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/jordan-woyak/dolphin', 'description': 'Dolphin is a GameCube/Wii emulator, allowing you to play games for these two platforms on PC, with improvements.', 'fork': True, 'url': 'https://api.github.com/repos/jordan-woyak/dolphin', 'forks_url': 'https://api.github.com/repos/jordan-woyak/dolphin/forks', 'keys_url': 'https://api.github.com/repos/jordan-woyak/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/jordan-woyak/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/jordan-woyak/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/jordan-woyak/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/jordan-woyak/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/jordan-woyak/dolphin/events', 'assignees_url': 'https://api.github.com/repos/jordan-woyak/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/jordan-woyak/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/jordan-woyak/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/jordan-woyak/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/jordan-woyak/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/jordan-woyak/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/jordan-woyak/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/jordan-woyak/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/jordan-woyak/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/jordan-woyak/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/jordan-woyak/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/jordan-woyak/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/jordan-woyak/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/jordan-woyak/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/jordan-woyak/dolphin/merges', 'archive_url': 'https://api.github.com/repos/jordan-woyak/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/jordan-woyak/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/jordan-woyak/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/jordan-woyak/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/jordan-woyak/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/jordan-woyak/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/jordan-woyak/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/jordan-woyak/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/jordan-woyak/dolphin/deployments', 'created_at': '2014-02-13T21:50:38Z', 'updated_at': '2025-05-09T02:52:31Z', 'pushed_at': '2025-07-04T12:06:02Z', 'git_url': 'git://github.com/jordan-woyak/dolphin.git', 'ssh_url': 'git@github.com:jordan-woyak/dolphin.git', 'clone_url': 'https://github.com/jordan-woyak/dolphin.git', 'svn_url': 'https://github.com/jordan-woyak/dolphin', 'homepage': None, 'size': 495419, 'stargazers_count': 3, 'watchers_count': 3, 'language': 'C++', 'has_issues': False, 'has_projects': True, 'has_downloads': True, 'has_wiki': False, 'has_pages': False, 'has_discussions': False, 'forks_count': 4, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 2, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'topics': [], 'visibility': 'public', 'forks': 4, 'open_issues': 2, 'watchers': 3, 'default_branch': 'master', 'allow_squash_merge': True, 'allow_merge_commit': True, 'allow_rebase_merge': True, 'allow_auto_merge': False, 'delete_branch_on_merge': True, 'allow_update_branch': False, 'use_squash_pr_title_as_default': False, 'squash_merge_commit_message': 'COMMIT_MESSAGES', 'squash_merge_commit_title': 'COMMIT_OR_PR_TITLE', 'merge_commit_message': 'PR_TITLE', 'merge_commit_title': 'MERGE_MESSAGE'}}, 'base': {'label': 'dolphin-emu:master', 'ref': 'master', 'sha': 'a5e85caf0af66fec07b476718a69519b06e6a69f', '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': '2025-07-04T02:33:43Z', 'pushed_at': '2025-07-03T06:31:01Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 530284, 'stargazers_count': 13884, 'watchers_count': 13884, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': True, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 2823, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 342, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 2823, 'open_issues': 342, 'watchers': 13884, '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/13791'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/13791'}, 'issue': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791'}, 'comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/13791/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/13791/commits'}, 'statuses': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/3db1be6ba0ba98be8adf1b60e073b0f4b878cc21'}}, 'author_association': 'MEMBER', 'auto_merge': None, 'active_lock_reason': None, 'merged': False, 'mergeable': None, 'rebaseable': None, 'mergeable_state': 'unknown', 'merged_by': None, 'comments': 2, 'review_comments': 0, 'maintainer_can_modify': True, 'commits': 1, 'additions': 582, 'deletions': 26, 'changed_files': 8}, 'before': '6c72269c26d0924b8a7046549d9ef22d5bccd533', 'after': '3db1be6ba0ba98be8adf1b60e073b0f4b878cc21', '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': '2025-07-04T02:33:43Z', 'pushed_at': '2025-07-03T06:31:01Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 530284, 'stargazers_count': 13884, 'watchers_count': 13884, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': True, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 2823, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 342, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 2823, 'open_issues': 342, 'watchers': 13884, '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'}
2025-07-04T11:47:07.537658	{'source': 'webserver', 'gh_type': 'issue_comment', 'raw': {'action': 'edited', 'changes': {'body': {'from': "> I've noticed that btusb.c also uses [USB_VENDOR_AND_INTERFACE_INFO](https://github.com/torvalds/linux/blob/4c06e63b92038fadb566b652ec3ec04e228931e8/drivers/bluetooth/btusb.c#L587-L589) to determine if a device is Realtek or not, by using the VID, class, subclass, and protocol instead of a VID/PID pair, but your code doesn't do that. Does the hardcoded list include every Realtek device, or should this also be considered?\r\n\r\nThanks, I missed that `USB_VENDOR_AND_INTERFACE_INFO` line.\r\nI suppose all the entries with VID:`0x0bda` can be removed and we can just test for that Realtek VID explicitly.\r\nWe already test for the `0xe0,0x01,0x01` `class,subclass,protocol` where we determine which USB device to use the first place."}}, 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13791', 'id': 3202305823, 'node_id': 'PR_kwDOALCn2M6dbDyN', 'number': 13791, 'title': 'BTReal: Implement Realtek firmware loading.', 'user': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [{'id': 217773431, 'node_id': 'MDU6TGFiZWwyMTc3NzM0MzE=', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels/needs%20testing', 'name': 'needs testing', 'color': 'fbca04', 'default': False, 'description': None}, {'id': 221808232, 'node_id': 'MDU6TGFiZWwyMjE4MDgyMzI=', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels/WIP%20/%20do%20not%20merge', 'name': 'WIP / do not merge', 'color': '0052cc', 'default': False, 'description': 'Work in progress (do not merge)'}, {'id': 221809816, 'node_id': 'MDU6TGFiZWwyMjE4MDk4MTY=', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels/RFC', 'name': 'RFC', 'color': 'FF6D00', 'default': False, 'description': 'Request for comments'}], 'state': 'open', 'locked': False, 'assignee': None, 'assignees': [], 'milestone': None, 'comments': 2, 'created_at': '2025-07-04T11:11:24Z', 'updated_at': '2025-07-04T11:46:46Z', 'closed_at': None, 'author_association': 'MEMBER', 'type': None, 'active_lock_reason': None, 'draft': False, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/13791', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13791', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/13791.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/13791.patch', 'merged_at': None}, 'body': 'This should make many more Realtek devices usable for Bluetooth passthrough.\r\nI\'m hoping for most Realtek adapters which work on Linux in general to now work on Windows with Bluetooth passthrough.\r\n\r\nI\'ve personally only tested a RTL8761B that I have on hand but the logic is largely the same for many other devices.\r\n\r\nSome files from "linux-firmware" will not yet load because they need "v2" firmware parsing implemented, which I have not done, because it\'s more complicated and I don\'t own an adapter to test, and I don\'t know if they are even common adapters.\r\n8851B "rtl8851bu_fw"\r\n8852B "rtl8852bu_fw"\r\n8922A "rtl8922au_fw"\r\n8852BT/8852BE-VT "rtl8852btu_fw"\r\n\r\nAll the firmware loading logic is heavily copied from Linux source:\r\n`drivers/bluetooth/btusb.c`\r\n`drivers/bluetooth/btrtl.c`\r\n`drivers/bluetooth/btrtl.h`\r\nI don\'t know if we need to do anything anything special about that, license-wise?\r\n\r\nFirmware files currently need to be manually placed in Dolphin\'s Sys folder like:\r\n`Sys/Firmware/rtl_bt/rtl8761bu_fw.bin`\r\n`Sys/Firmware/rtl_bt/rtl8761bu_config.bin`\r\nFiles can be downloaded from: https://gitlab.com/kernel-firmware/linux-firmware/-/tree/main/rtl_bt?ref_type=heads\r\nThe user experience could be better, missing files will just produce an ERROR_LOG.\r\nI\'m open to suggestions on some other filesystem arrangement.\r\n\r\nA bit more code cleanup can be done, but this is ready for some testing.', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791/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/13791/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/3035834434', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13791#issuecomment-3035834434', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791', 'id': 3035834434, 'node_id': 'IC_kwDOALCn2M608yhC', 'user': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2025-07-04T11:46:46Z', 'updated_at': '2025-07-04T11:47:06Z', 'author_association': 'MEMBER', 'body': "> I've noticed that btusb.c also uses [USB_VENDOR_AND_INTERFACE_INFO](https://github.com/torvalds/linux/blob/4c06e63b92038fadb566b652ec3ec04e228931e8/drivers/bluetooth/btusb.c#L587-L589) to determine if a device is Realtek or not, by using the VID, class, subclass, and protocol instead of a VID/PID pair, but your code doesn't do that. Does the hardcoded list include every Realtek device, or should this also be considered?\r\n\r\nThanks, I missed that `USB_VENDOR_AND_INTERFACE_INFO` line.\r\nI suppose all the entries with VID:`0x0bda` can be removed and we can just test for that Realtek VID explicitly.\r\nWe already test for the `0xe0,0x01,0x01` `class,subclass,protocol` where we determine which USB device to use in the first place.", 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/3035834434/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}, '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': '2025-07-04T02:33:43Z', 'pushed_at': '2025-07-03T06:31:01Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 530284, 'stargazers_count': 13884, 'watchers_count': 13884, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': True, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 2823, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 342, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 2823, 'open_issues': 342, 'watchers': 13884, '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'}
2025-07-04T11:46:48.157020	{'source': 'webserver', 'gh_type': 'issue_comment', 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13791', 'id': 3202305823, 'node_id': 'PR_kwDOALCn2M6dbDyN', 'number': 13791, 'title': 'BTReal: Implement Realtek firmware loading.', 'user': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [{'id': 217773431, 'node_id': 'MDU6TGFiZWwyMTc3NzM0MzE=', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels/needs%20testing', 'name': 'needs testing', 'color': 'fbca04', 'default': False, 'description': None}, {'id': 221808232, 'node_id': 'MDU6TGFiZWwyMjE4MDgyMzI=', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels/WIP%20/%20do%20not%20merge', 'name': 'WIP / do not merge', 'color': '0052cc', 'default': False, 'description': 'Work in progress (do not merge)'}, {'id': 221809816, 'node_id': 'MDU6TGFiZWwyMjE4MDk4MTY=', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels/RFC', 'name': 'RFC', 'color': 'FF6D00', 'default': False, 'description': 'Request for comments'}], 'state': 'open', 'locked': False, 'assignee': None, 'assignees': [], 'milestone': None, 'comments': 2, 'created_at': '2025-07-04T11:11:24Z', 'updated_at': '2025-07-04T11:46:46Z', 'closed_at': None, 'author_association': 'MEMBER', 'type': None, 'active_lock_reason': None, 'draft': False, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/13791', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13791', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/13791.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/13791.patch', 'merged_at': None}, 'body': 'This should make many more Realtek devices usable for Bluetooth passthrough.\r\nI\'m hoping for most Realtek adapters which work on Linux in general to now work on Windows with Bluetooth passthrough.\r\n\r\nI\'ve personally only tested a RTL8761B that I have on hand but the logic is largely the same for many other devices.\r\n\r\nSome files from "linux-firmware" will not yet load because they need "v2" firmware parsing implemented, which I have not done, because it\'s more complicated and I don\'t own an adapter to test, and I don\'t know if they are even common adapters.\r\n8851B "rtl8851bu_fw"\r\n8852B "rtl8852bu_fw"\r\n8922A "rtl8922au_fw"\r\n8852BT/8852BE-VT "rtl8852btu_fw"\r\n\r\nAll the firmware loading logic is heavily copied from Linux source:\r\n`drivers/bluetooth/btusb.c`\r\n`drivers/bluetooth/btrtl.c`\r\n`drivers/bluetooth/btrtl.h`\r\nI don\'t know if we need to do anything anything special about that, license-wise?\r\n\r\nFirmware files currently need to be manually placed in Dolphin\'s Sys folder like:\r\n`Sys/Firmware/rtl_bt/rtl8761bu_fw.bin`\r\n`Sys/Firmware/rtl_bt/rtl8761bu_config.bin`\r\nFiles can be downloaded from: https://gitlab.com/kernel-firmware/linux-firmware/-/tree/main/rtl_bt?ref_type=heads\r\nThe user experience could be better, missing files will just produce an ERROR_LOG.\r\nI\'m open to suggestions on some other filesystem arrangement.\r\n\r\nA bit more code cleanup can be done, but this is ready for some testing.', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791/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/13791/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/3035834434', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13791#issuecomment-3035834434', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791', 'id': 3035834434, 'node_id': 'IC_kwDOALCn2M608yhC', 'user': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2025-07-04T11:46:46Z', 'updated_at': '2025-07-04T11:46:46Z', 'author_association': 'MEMBER', 'body': "> I've noticed that btusb.c also uses [USB_VENDOR_AND_INTERFACE_INFO](https://github.com/torvalds/linux/blob/4c06e63b92038fadb566b652ec3ec04e228931e8/drivers/bluetooth/btusb.c#L587-L589) to determine if a device is Realtek or not, by using the VID, class, subclass, and protocol instead of a VID/PID pair, but your code doesn't do that. Does the hardcoded list include every Realtek device, or should this also be considered?\r\n\r\nThanks, I missed that `USB_VENDOR_AND_INTERFACE_INFO` line.\r\nI suppose all the entries with VID:`0x0bda` can be removed and we can just test for that Realtek VID explicitly.\r\nWe already test for the `0xe0,0x01,0x01` `class,subclass,protocol` where we determine which USB device to use the first place.", 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/3035834434/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}, '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': '2025-07-04T02:33:43Z', 'pushed_at': '2025-07-03T06:31:01Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 530284, 'stargazers_count': 13884, 'watchers_count': 13884, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': True, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 2823, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 342, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 2823, 'open_issues': 342, 'watchers': 13884, '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'}
2025-07-04T11:37:19.452472	{'source': 'webserver', 'gh_type': 'issue_comment', 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13791', 'id': 3202305823, 'node_id': 'PR_kwDOALCn2M6dbDyN', 'number': 13791, 'title': 'BTReal: Implement Realtek firmware loading.', 'user': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [{'id': 217773431, 'node_id': 'MDU6TGFiZWwyMTc3NzM0MzE=', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels/needs%20testing', 'name': 'needs testing', 'color': 'fbca04', 'default': False, 'description': None}, {'id': 221808232, 'node_id': 'MDU6TGFiZWwyMjE4MDgyMzI=', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels/WIP%20/%20do%20not%20merge', 'name': 'WIP / do not merge', 'color': '0052cc', 'default': False, 'description': 'Work in progress (do not merge)'}, {'id': 221809816, 'node_id': 'MDU6TGFiZWwyMjE4MDk4MTY=', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels/RFC', 'name': 'RFC', 'color': 'FF6D00', 'default': False, 'description': 'Request for comments'}], 'state': 'open', 'locked': False, 'assignee': None, 'assignees': [], 'milestone': None, 'comments': 1, 'created_at': '2025-07-04T11:11:24Z', 'updated_at': '2025-07-04T11:37:17Z', 'closed_at': None, 'author_association': 'MEMBER', 'type': None, 'active_lock_reason': None, 'draft': False, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/13791', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13791', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/13791.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/13791.patch', 'merged_at': None}, 'body': 'This should make many more Realtek devices usable for Bluetooth passthrough.\r\nI\'m hoping for most Realtek adapters which work on Linux in general to now work on Windows with Bluetooth passthrough.\r\n\r\nI\'ve personally only tested a RTL8761B that I have on hand but the logic is largely the same for many other devices.\r\n\r\nSome files from "linux-firmware" will not yet load because they need "v2" firmware parsing implemented, which I have not done, because it\'s more complicated and I don\'t own an adapter to test, and I don\'t know if they are even common adapters.\r\n8851B "rtl8851bu_fw"\r\n8852B "rtl8852bu_fw"\r\n8922A "rtl8922au_fw"\r\n8852BT/8852BE-VT "rtl8852btu_fw"\r\n\r\nAll the firmware loading logic is heavily copied from Linux source:\r\n`drivers/bluetooth/btusb.c`\r\n`drivers/bluetooth/btrtl.c`\r\n`drivers/bluetooth/btrtl.h`\r\nI don\'t know if we need to do anything anything special about that, license-wise?\r\n\r\nFirmware files currently need to be manually placed in Dolphin\'s Sys folder like:\r\n`Sys/Firmware/rtl_bt/rtl8761bu_fw.bin`\r\n`Sys/Firmware/rtl_bt/rtl8761bu_config.bin`\r\nFiles can be downloaded from: https://gitlab.com/kernel-firmware/linux-firmware/-/tree/main/rtl_bt?ref_type=heads\r\nThe user experience could be better, missing files will just produce an ERROR_LOG.\r\nI\'m open to suggestions on some other filesystem arrangement.\r\n\r\nA bit more code cleanup can be done, but this is ready for some testing.', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791/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/13791/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/3035785445', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13791#issuecomment-3035785445', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791', 'id': 3035785445, 'node_id': 'IC_kwDOALCn2M608mjl', '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': '2025-07-04T11:37:17Z', 'updated_at': '2025-07-04T11:37:17Z', 'author_association': 'MEMBER', 'body': "I've noticed that btusb.c also uses [USB_VENDOR_AND_INTERFACE_INFO](https://github.com/torvalds/linux/blob/4c06e63b92038fadb566b652ec3ec04e228931e8/drivers/bluetooth/btusb.c#L587-L589) to determine if a device is Realtek or not, by using the VID, class, subclass, and protocol instead of a VID/PID pair, but your code doesn't do that. Does the hardcoded list include every Realtek device, or should this also be considered?", 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/3035785445/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}, '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': '2025-07-04T02:33:43Z', 'pushed_at': '2025-07-03T06:31:01Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 530284, 'stargazers_count': 13884, 'watchers_count': 13884, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': True, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 2823, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 342, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 2823, 'open_issues': 342, 'watchers': 13884, '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'}
2025-07-04T11:21:12.817997	{'source': 'webserver', 'gh_type': 'pull_request', 'raw': {'action': 'edited', 'number': 13791, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/13791', 'id': 2641116301, 'node_id': 'PR_kwDOALCn2M6dbDyN', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13791', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/13791.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/13791.patch', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791', 'number': 13791, 'state': 'open', 'locked': False, 'title': 'BTReal: Implement Realtek firmware loading.', 'user': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': 'This should make many more Realtek devices usable for Bluetooth passthrough.\r\nI\'m hoping for most Realtek adapters which work on Linux in general to now work on Windows with Bluetooth passthrough.\r\n\r\nI\'ve personally only tested a RTL8761B that I have on hand but the logic is largely the same for many other devices.\r\n\r\nSome files from "linux-firmware" will not yet load because they need "v2" firmware parsing implemented, which I have not done, because it\'s more complicated and I don\'t own an adapter to test, and I don\'t know if they are even common adapters.\r\n8851B "rtl8851bu_fw"\r\n8852B "rtl8852bu_fw"\r\n8922A "rtl8922au_fw"\r\n8852BT/8852BE-VT "rtl8852btu_fw"\r\n\r\nAll the firmware loading logic is heavily copied from Linux source:\r\n`drivers/bluetooth/btusb.c`\r\n`drivers/bluetooth/btrtl.c`\r\n`drivers/bluetooth/btrtl.h`\r\nI don\'t know if we need to do anything anything special about that, license-wise?\r\n\r\nFirmware files currently need to be manually placed in Dolphin\'s Sys folder like:\r\n`Sys/Firmware/rtl_bt/rtl8761bu_fw.bin`\r\n`Sys/Firmware/rtl_bt/rtl8761bu_config.bin`\r\nFiles can be downloaded from: https://gitlab.com/kernel-firmware/linux-firmware/-/tree/main/rtl_bt?ref_type=heads\r\nThe user experience could be better, missing files will just produce an ERROR_LOG.\r\nI\'m open to suggestions on some other filesystem arrangement.\r\n\r\nA bit more code cleanup can be done, but this is ready for some testing.', 'created_at': '2025-07-04T11:11:24Z', 'updated_at': '2025-07-04T11:21:10Z', 'closed_at': None, 'merged_at': None, 'merge_commit_sha': '2260a8425793d674aa74808333f2b04d7f7bec15', 'assignee': None, 'assignees': [], 'requested_reviewers': [], 'requested_teams': [], 'labels': [{'id': 217773431, 'node_id': 'MDU6TGFiZWwyMTc3NzM0MzE=', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels/needs%20testing', 'name': 'needs testing', 'color': 'fbca04', 'default': False, 'description': None}, {'id': 221808232, 'node_id': 'MDU6TGFiZWwyMjE4MDgyMzI=', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels/WIP%20/%20do%20not%20merge', 'name': 'WIP / do not merge', 'color': '0052cc', 'default': False, 'description': 'Work in progress (do not merge)'}, {'id': 221809816, 'node_id': 'MDU6TGFiZWwyMjE4MDk4MTY=', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels/RFC', 'name': 'RFC', 'color': 'FF6D00', 'default': False, 'description': 'Request for comments'}], 'milestone': None, 'draft': False, 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/13791/commits', 'review_comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/13791/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/13791/comments', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/6c72269c26d0924b8a7046549d9ef22d5bccd533', 'head': {'label': 'jordan-woyak:realtek-firmware-loader', 'ref': 'realtek-firmware-loader', 'sha': '6c72269c26d0924b8a7046549d9ef22d5bccd533', 'user': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 16818408, 'node_id': 'MDEwOlJlcG9zaXRvcnkxNjgxODQwOA==', 'name': 'dolphin', 'full_name': 'jordan-woyak/dolphin', 'private': False, 'owner': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/jordan-woyak/dolphin', 'description': 'Dolphin is a GameCube/Wii emulator, allowing you to play games for these two platforms on PC, with improvements.', 'fork': True, 'url': 'https://api.github.com/repos/jordan-woyak/dolphin', 'forks_url': 'https://api.github.com/repos/jordan-woyak/dolphin/forks', 'keys_url': 'https://api.github.com/repos/jordan-woyak/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/jordan-woyak/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/jordan-woyak/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/jordan-woyak/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/jordan-woyak/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/jordan-woyak/dolphin/events', 'assignees_url': 'https://api.github.com/repos/jordan-woyak/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/jordan-woyak/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/jordan-woyak/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/jordan-woyak/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/jordan-woyak/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/jordan-woyak/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/jordan-woyak/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/jordan-woyak/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/jordan-woyak/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/jordan-woyak/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/jordan-woyak/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/jordan-woyak/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/jordan-woyak/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/jordan-woyak/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/jordan-woyak/dolphin/merges', 'archive_url': 'https://api.github.com/repos/jordan-woyak/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/jordan-woyak/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/jordan-woyak/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/jordan-woyak/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/jordan-woyak/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/jordan-woyak/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/jordan-woyak/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/jordan-woyak/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/jordan-woyak/dolphin/deployments', 'created_at': '2014-02-13T21:50:38Z', 'updated_at': '2025-05-09T02:52:31Z', 'pushed_at': '2025-07-04T11:14:56Z', 'git_url': 'git://github.com/jordan-woyak/dolphin.git', 'ssh_url': 'git@github.com:jordan-woyak/dolphin.git', 'clone_url': 'https://github.com/jordan-woyak/dolphin.git', 'svn_url': 'https://github.com/jordan-woyak/dolphin', 'homepage': None, 'size': 495484, 'stargazers_count': 3, 'watchers_count': 3, 'language': 'C++', 'has_issues': False, 'has_projects': True, 'has_downloads': True, 'has_wiki': False, 'has_pages': False, 'has_discussions': False, 'forks_count': 4, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 2, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'topics': [], 'visibility': 'public', 'forks': 4, 'open_issues': 2, 'watchers': 3, 'default_branch': 'master', 'allow_squash_merge': True, 'allow_merge_commit': True, 'allow_rebase_merge': True, 'allow_auto_merge': False, 'delete_branch_on_merge': True, 'allow_update_branch': False, 'use_squash_pr_title_as_default': False, 'squash_merge_commit_message': 'COMMIT_MESSAGES', 'squash_merge_commit_title': 'COMMIT_OR_PR_TITLE', 'merge_commit_message': 'PR_TITLE', 'merge_commit_title': 'MERGE_MESSAGE'}}, 'base': {'label': 'dolphin-emu:master', 'ref': 'master', 'sha': 'a5e85caf0af66fec07b476718a69519b06e6a69f', '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': '2025-07-04T02:33:43Z', 'pushed_at': '2025-07-03T06:31:01Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 530284, 'stargazers_count': 13884, 'watchers_count': 13884, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': True, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 2823, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 342, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 2823, 'open_issues': 342, 'watchers': 13884, '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/13791'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/13791'}, 'issue': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791'}, 'comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/13791/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/13791/commits'}, 'statuses': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/6c72269c26d0924b8a7046549d9ef22d5bccd533'}}, 'author_association': 'MEMBER', 'auto_merge': None, 'active_lock_reason': None, 'merged': False, 'mergeable': True, 'rebaseable': True, 'mergeable_state': 'unstable', 'merged_by': None, 'comments': 0, 'review_comments': 0, 'maintainer_can_modify': True, 'commits': 1, 'additions': 572, 'deletions': 24, 'changed_files': 8}, 'changes': {'body': {'from': 'This should make many more Realtek devices usable for Bluetooth passthrough.\r\nI\'m hoping for most Realtek adapters which work on Linux in general to now work on Windows with Bluetooth passthrough.\r\n\r\nI\'ve personally only tested a RTL8761B that I have on hand but the logic is largely the same for many other devices.\r\n\r\nThe following adapters will not yet work because they need "v2" firmware parsing implemented, which I have not done, because it\'s more complicated and I don\'t own an adapter to test, and I don\'t know if they are even common adapters.\r\n8851B "rtl8851bu_fw"\r\n8852B "rtl8852bu_fw"\r\n8922A "rtl8922au_fw"\r\n8852BT/8852BE-VT "rtl8852btu_fw"\r\n\r\nAll the firmware loading logic is heavily copied from Linux source:\r\n`drivers/bluetooth/btusb.c`\r\n`drivers/bluetooth/btrtl.c`\r\n`drivers/bluetooth/btrtl.h`\r\nI don\'t know if we need to do anything anything special about that, license-wise?\r\n\r\nFirmware files currently need to be manually placed in Dolphin\'s Sys folder like:\r\n`Sys/Firmware/rtl_bt/rtl8761bu_fw.bin`\r\n`Sys/Firmware/rtl_bt/rtl8761bu_config.bin`\r\nFiles can be downloaded from: https://gitlab.com/kernel-firmware/linux-firmware/-/tree/main/rtl_bt?ref_type=heads\r\nThe user experience could be better, missing files will just produce an ERROR_LOG.\r\nI\'m open to suggestions on some other filesystem arrangement.\r\n\r\nA bit more code cleanup can be done, but this is ready for some testing.'}}, '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': '2025-07-04T02:33:43Z', 'pushed_at': '2025-07-03T06:31:01Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 530284, 'stargazers_count': 13884, 'watchers_count': 13884, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': True, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 2823, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 342, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 2823, 'open_issues': 342, 'watchers': 13884, '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'}
2025-07-04T11:14:59.193688	{'source': 'webserver', 'gh_type': 'pull_request', 'raw': {'action': 'synchronize', 'number': 13791, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/13791', 'id': 2641116301, 'node_id': 'PR_kwDOALCn2M6dbDyN', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/13791', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/13791.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/13791.patch', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791', 'number': 13791, 'state': 'open', 'locked': False, 'title': 'BTReal: Implement Realtek firmware loading.', 'user': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': 'This should make many more Realtek devices usable for Bluetooth passthrough.\r\nI\'m hoping for most Realtek adapters which work on Linux in general to now work on Windows with Bluetooth passthrough.\r\n\r\nI\'ve personally only tested a RTL8761B that I have on hand but the logic is largely the same for many other devices.\r\n\r\nThe following adapters will not yet work because they need "v2" firmware parsing implemented, which I have not done, because it\'s more complicated and I don\'t own an adapter to test, and I don\'t know if they are even common adapters.\r\n8851B "rtl8851bu_fw"\r\n8852B "rtl8852bu_fw"\r\n8922A "rtl8922au_fw"\r\n8852BT/8852BE-VT "rtl8852btu_fw"\r\n\r\nAll the firmware loading logic is heavily copied from Linux source:\r\n`drivers/bluetooth/btusb.c`\r\n`drivers/bluetooth/btrtl.c`\r\n`drivers/bluetooth/btrtl.h`\r\nI don\'t know if we need to do anything anything special about that, license-wise?\r\n\r\nFirmware files currently need to be manually placed in Dolphin\'s Sys folder like:\r\n`Sys/Firmware/rtl_bt/rtl8761bu_fw.bin`\r\n`Sys/Firmware/rtl_bt/rtl8761bu_config.bin`\r\nFiles can be downloaded from: https://gitlab.com/kernel-firmware/linux-firmware/-/tree/main/rtl_bt?ref_type=heads\r\nThe user experience could be better, missing files will just produce an ERROR_LOG.\r\nI\'m open to suggestions on some other filesystem arrangement.\r\n\r\nA bit more code cleanup can be done, but this is ready for some testing.', 'created_at': '2025-07-04T11:11:24Z', 'updated_at': '2025-07-04T11:14:57Z', 'closed_at': None, 'merged_at': None, 'merge_commit_sha': 'ecac12e4a64f66192e1e4395f3fcd6b06ab6fe27', 'assignee': None, 'assignees': [], 'requested_reviewers': [], 'requested_teams': [], 'labels': [{'id': 217773431, 'node_id': 'MDU6TGFiZWwyMTc3NzM0MzE=', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels/needs%20testing', 'name': 'needs testing', 'color': 'fbca04', 'default': False, 'description': None}, {'id': 221808232, 'node_id': 'MDU6TGFiZWwyMjE4MDgyMzI=', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels/WIP%20/%20do%20not%20merge', 'name': 'WIP / do not merge', 'color': '0052cc', 'default': False, 'description': 'Work in progress (do not merge)'}, {'id': 221809816, 'node_id': 'MDU6TGFiZWwyMjE4MDk4MTY=', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels/RFC', 'name': 'RFC', 'color': 'FF6D00', 'default': False, 'description': 'Request for comments'}], 'milestone': None, 'draft': False, 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/13791/commits', 'review_comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/13791/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/13791/comments', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/6c72269c26d0924b8a7046549d9ef22d5bccd533', 'head': {'label': 'jordan-woyak:realtek-firmware-loader', 'ref': 'realtek-firmware-loader', 'sha': '6c72269c26d0924b8a7046549d9ef22d5bccd533', 'user': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 16818408, 'node_id': 'MDEwOlJlcG9zaXRvcnkxNjgxODQwOA==', 'name': 'dolphin', 'full_name': 'jordan-woyak/dolphin', 'private': False, 'owner': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/jordan-woyak/dolphin', 'description': 'Dolphin is a GameCube/Wii emulator, allowing you to play games for these two platforms on PC, with improvements.', 'fork': True, 'url': 'https://api.github.com/repos/jordan-woyak/dolphin', 'forks_url': 'https://api.github.com/repos/jordan-woyak/dolphin/forks', 'keys_url': 'https://api.github.com/repos/jordan-woyak/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/jordan-woyak/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/jordan-woyak/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/jordan-woyak/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/jordan-woyak/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/jordan-woyak/dolphin/events', 'assignees_url': 'https://api.github.com/repos/jordan-woyak/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/jordan-woyak/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/jordan-woyak/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/jordan-woyak/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/jordan-woyak/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/jordan-woyak/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/jordan-woyak/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/jordan-woyak/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/jordan-woyak/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/jordan-woyak/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/jordan-woyak/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/jordan-woyak/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/jordan-woyak/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/jordan-woyak/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/jordan-woyak/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/jordan-woyak/dolphin/merges', 'archive_url': 'https://api.github.com/repos/jordan-woyak/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/jordan-woyak/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/jordan-woyak/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/jordan-woyak/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/jordan-woyak/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/jordan-woyak/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/jordan-woyak/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/jordan-woyak/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/jordan-woyak/dolphin/deployments', 'created_at': '2014-02-13T21:50:38Z', 'updated_at': '2025-05-09T02:52:31Z', 'pushed_at': '2025-07-04T11:14:56Z', 'git_url': 'git://github.com/jordan-woyak/dolphin.git', 'ssh_url': 'git@github.com:jordan-woyak/dolphin.git', 'clone_url': 'https://github.com/jordan-woyak/dolphin.git', 'svn_url': 'https://github.com/jordan-woyak/dolphin', 'homepage': None, 'size': 495484, 'stargazers_count': 3, 'watchers_count': 3, 'language': 'C++', 'has_issues': False, 'has_projects': True, 'has_downloads': True, 'has_wiki': False, 'has_pages': False, 'has_discussions': False, 'forks_count': 4, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 2, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'topics': [], 'visibility': 'public', 'forks': 4, 'open_issues': 2, 'watchers': 3, 'default_branch': 'master', 'allow_squash_merge': True, 'allow_merge_commit': True, 'allow_rebase_merge': True, 'allow_auto_merge': False, 'delete_branch_on_merge': True, 'allow_update_branch': False, 'use_squash_pr_title_as_default': False, 'squash_merge_commit_message': 'COMMIT_MESSAGES', 'squash_merge_commit_title': 'COMMIT_OR_PR_TITLE', 'merge_commit_message': 'PR_TITLE', 'merge_commit_title': 'MERGE_MESSAGE'}}, 'base': {'label': 'dolphin-emu:master', 'ref': 'master', 'sha': 'a5e85caf0af66fec07b476718a69519b06e6a69f', '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': '2025-07-04T02:33:43Z', 'pushed_at': '2025-07-03T06:31:01Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 530284, 'stargazers_count': 13884, 'watchers_count': 13884, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': True, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 2823, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 342, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 2823, 'open_issues': 342, 'watchers': 13884, '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/13791'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/13791'}, 'issue': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791'}, 'comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/13791/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/13791/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/13791/commits'}, 'statuses': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/6c72269c26d0924b8a7046549d9ef22d5bccd533'}}, 'author_association': 'MEMBER', 'auto_merge': 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': 572, 'deletions': 24, 'changed_files': 8}, 'before': '3baece1b3744dd92629a08267e643fe20af29f75', 'after': '6c72269c26d0924b8a7046549d9ef22d5bccd533', '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': '2025-07-04T02:33:43Z', 'pushed_at': '2025-07-03T06:31:01Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 530284, 'stargazers_count': 13884, 'watchers_count': 13884, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': True, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 2823, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 342, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 2823, 'open_issues': 342, 'watchers': 13884, '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'}