RAWeb
RAWeb copied to clipboard
fix(BuildTicketCreationDataAction): deduplicate emulators
Resolves https://github.com/RetroAchievements/RAWeb/issues/3234.
Root Cause
I have never been able to repro this issue locally, but I can see how it would happen. Because emulator names are not normalized in addInactiveEmulators, subtle nuances in the decoded client string could plausibly cause a duplicate emulator to be inserted into the $emulators collection.
We could alternatively solve this issue in the front-end, but that feels too far downstream when it's technically a logic error in the back-end action.