View Issue Details

IDProjectCategoryView StatusLast Update
0022493MMW 5Skinspublic2026-10-26 23:22
Reporterzvezdan Assigned To 
PrioritynoneSeverityminorReproducibilityalways
Status resolvedResolutionwon't fix 
Summary0022493: Renaming .toolbutton class to .toolButton breaks third-party skins
DescriptionYou should named it toolButton from the start. And all your classes should have had camel style names. But now, your renaming that class in MM2027 messes the third-party skins.

And no, this part of skin_button does not resolve backward compatibility:
.toolbutton { // for backward compatibility
    .toolButton;
}

For example, this doesn't work anymore:
[data-id=showSidebarLeft][data-checked] > .toolbutton > svg {
    //
}

but this works:
[data-id=showSidebarLeft][data-checked] > .toolButton > svg {
    //
}

So, you are forcing all skinners to update their skins with the new class. And then their updated skins will not work correctly with previous versions of MM.
TagsNo tags attached.
Fixed in build

Activities

michal

2026-10-26 22:06

developer   ~0083276

Using this class was not consistent, now it is. I cannot do anything with this, change in skin is easy, just update. I will not return old inconsistent way (we had "toolbutton" in some places and "toolButton" in another).

zvezdan

2026-10-26 23:22

updater   ~0083279

Yeah, sure. You had toolButton only in one place in skin_search_editor.less. I wonder what was easier to do to make it consistent.

You also renamed toolbuttonbase to toolButtonBase and toolbutton-background to toolButton-background and who knows how many others with similar renaming. Luckily, at least these two mentioned was easy to update.

As I said, change in skin is not easy. If we just rename toolbutton with toolButton in our skins, they will not be compatible with older versions of MM. So, instead of:
[data-id=showSidebarLeft][data-checked] > .toolbutton > svg {
    //
}

I need to replace it with:
[data-id=showSidebarLeft][data-checked] {
    > .toolbutton, .toolButton {
        > svg {
            //
        }
    }
}

And that was just one of simplest occurrences of that class in my skin. I have 30+ more to work. Oh well...