Yeah there’s a name collision causing an issue here. This change will add some guards to avoid it in the future, rename the voice badge, and restore the previous Patron badge
main ← fix/badge-seed-clobbering
opened 04:16PM - 25 Sep 26 UTC
Reported here: https://meta.discourse.org/t/voice-badges-overwrote-a-custom-badg… e/412811
The "Patron" badge from the Voice plugin is overwriting the "Patron" badge from the Patreon plugin.
When plugins seed their badges with `Badge.seed(:name)` they can overwrite existing badges with the same name. This change adds `Badge.seed_unless_site_has("Badge name")` which skips seeding if there's an existing site-created badge with the same name. This has been applied to the core plugins that seed badges.
This also adds changes so badge translations no longer apply to non-system badges, so a plugin's locale file can't override the name or description of a badge the site created.
The "Patron" badge from the Voice plugin that was overriding the "Patron" badge from the Patreon plugin is now renamed to "Frequenter," and restores the Patreon "Patron" badge where the patrons group still exists.
3 Likes