A class name that no longer exists is not an error. It applies no styling, logs nothing, and breaks no build. The element simply renders unstyled, and because the surrounding markup is right, it is easy to look straight past.
This is how a panel shipped with its text flush against the left edge of its own box. The markup asked for ipsPad, which is an Invision Community 4 class. In 5 it does not exist, so there was no padding at all — and nothing anywhere said so.
Check before you trust a class name
The suite's own templates are the authority. If core does not use it, it almost certainly does not exist:
grep -ro "ipsPad" applications/*/dev/html/ | wc -l # 0 - it is gone grep -rho "ipsBox[^\"']*" applications/core/dev/html/ | sort | uniq -c | sort -rn | head # 77 ipsBox__header # 56 ipsBox # 12 ipsBox i-padding_3 <- this is the modern form # 7 ipsBox ipsBox--padding
Invision Community 5 moved spacing onto utility classes: i-padding_3, i-margin-bottom_1, i-flex, i-gap_2, i-align-items_center. Sizes are steps, not pixels.
<!-- 4 --> <div class="ipsBox ipsPad"> <!-- 5 --> <div class="ipsBox i-padding_3">
The same trap, one level down
CSS custom properties fail identically, and worse. var(--i-nope, #171b21) silently renders the fallback, so a rule written with a dark fallback is dark-only in both colour schemes — correct at night, wrong by day, with a fallback present that makes it look scheme-aware. Confirm a name exists before relying on it:
getComputedStyle( document.documentElement ).getPropertyValue( '--i-box--ba-co' ) // empty string means it does not exist, and your fallback is what renders
See custom CSS that works in both colour schemes for the verified names.
Why this survives review
Nothing catches it. PHP lints fine, the template compiles, the page returns 200, and a screenshot looks plausible unless you know what the spacing should be. The only reliable detection is to look at the rendered page — which is a good argument for capturing screenshots of your own screens as a matter of routine rather than only when a listing needs one.
If you scan your own source for these, remember to strip comments first. A checker that reads comments will happily report the cautionary note explaining this trap as an instance of the trap.
Related application: Telegram Bridge — Telegram Bridge is built against Invision Community 5's own utility classes, so its screens inherit your theme's spacing rather than quietly rendering unstyled.
Recommended Comments