Skip to content

Fix non-default mod settings allowing for duplicate freestyle mod selection in multiplayer#37646

Merged
bdach merged 5 commits intoppy:masterfrom
triacontakai:bugfix/mod-settings-comparison
May 7, 2026
Merged

Fix non-default mod settings allowing for duplicate freestyle mod selection in multiplayer#37646
bdach merged 5 commits intoppy:masterfrom
triacontakai:bugfix/mod-settings-comparison

Conversation

@triacontakai
Copy link
Copy Markdown
Contributor

@triacontakai triacontakai commented May 5, 2026

Fixes a bug that allowed for selecting the same mod twice in multiplayer if the playlist entry has non-default settings for a required mod.
This happens due to a strict equality mod check in the mod set compatibility check function, which only considers mods duplicates if their settings are exactly the same. Replacing with a more lenient Type check fixes this.

Adds a regression test for this behavior

Fixes #37625.

@triacontakai triacontakai changed the title Fix non-default mod settings allowing for duplicate mod selection in multiplayer Fix non-default mod settings allowing for duplicate freestyle mod selection in multiplayer May 5, 2026
@peppy peppy requested a review from a team May 7, 2026 04:04
smoogipoo
smoogipoo previously approved these changes May 7, 2026
@smoogipoo smoogipoo requested a review from bdach May 7, 2026 05:32
Copy link
Copy Markdown
Collaborator

@bdach bdach left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I added another less roundabout test for this, but seems fine.

Thankfully this is also checked web-side so the blast radius of this is limited to just the local client, this can't really spill out any further.

@bdach bdach merged commit 3f5c113 into ppy:master May 7, 2026
7 of 10 checks passed
Copilot AI pushed a commit to winnerspiros/osu that referenced this pull request May 7, 2026
…ection in multiplayer (ppy#37646)

Fixes a bug that allowed for selecting the same mod twice in multiplayer
if the playlist entry has non-default settings for a required mod.
This happens due to a strict equality mod check in the mod set
compatibility check function, which only considers mods duplicates if
their settings are exactly the same. Replacing with a more lenient
`Type` check fixes this.

Adds a regression test for this behavior

Fixes ppy#37625.

---------

Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
Co-authored-by: winnerspiros <1675249+winnerspiros@users.noreply.github.com>
Copilot AI added a commit to winnerspiros/osu that referenced this pull request May 7, 2026
…) — prioritize fork

Co-authored-by: winnerspiros <1675249+winnerspiros@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Broken mod menu after enabling 2 DA

5 participants