Skip to content

Fix Sass mixed declaration deprecations#6693

Open
SoftCreatR wants to merge 1 commit into
WoltLab:6.2from
SoftCreatR:bugfix/scss-fixes
Open

Fix Sass mixed declaration deprecations#6693
SoftCreatR wants to merge 1 commit into
WoltLab:6.2from
SoftCreatR:bugfix/scss-fixes

Conversation

@SoftCreatR

@SoftCreatR SoftCreatR commented Jun 23, 2026

Copy link
Copy Markdown
Contributor

Fix Sass mixed-decls deprecation warnings in WCF core and ACP styles by avoiding declarations after nested media-producing mixins.

  • Add wcfFontHeadlineBold for bold headline text without chaining wcfFontHeadline and wcfFontBold
  • Reorder declarations around wcfFontDefault, wcfFontSmall, screen-lg, and related nested mixins
  • Wrap the intentional post-input overrides in itemListInput.scss with & {}

Even after fixing, there are Sass warnings remaining. These are from WSF, etc. where these fixes need to be applied as well.

See also https://www.woltlab.com/community/thread/318717-style-compilation-schl%C3%A4gt-unter-windows-fehlt

Add a bold headline font mixin and reorder declarations around nested media-producing mixins to avoid upcoming Sass mixed-decls behavior changes.

This clears the WCF core and ACP SCSS deprecation warnings during style regeneration.
@dtdesign dtdesign self-assigned this Jun 26, 2026
dtdesign added a commit that referenced this pull request Jul 1, 2026
The deprecation is formally correct but at this time not actionable. This pattern appears in other apps and plugins especially through the use of multiple `@import` statements.

We can address this in 6.3 or later, depending on the timeline.

See #6693
See https://www.woltlab.com/community/thread/318717/
@dtdesign

dtdesign commented Jul 1, 2026

Copy link
Copy Markdown
Member

I’ve looked into this and came to the conclusion that this does not fit into 6.2. The mixed declarations thing isn’t actionable at this point because it is the implicit result of combining @imports. The stopgap solution of introducing a combined import is merely a bandaid for the symptom but does not address the inherent issue with these kind of selectors.

Looking into both our apps and third party plugins, these kind of combinations appear more often than I anticipated. The most reasonable way is to silence the deprecation for the time now and then later add a custom logger that properly propagates these issues to our exception handler, making it more visible. This would effectively break installations running 6.2 in a patch release which is against our policy.

We may address this in 6.3 although I’m not entirely confident about that given that this is more of a systemic weakness of SCSS rather than an isolated bug. Maybe we can ignore this issue until 7.0 and just drop SCSS, which would solve a boatload of issues at once … These days SCSS serves no real purpose anymore.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants