What
Eight selectors in tests/e2e/spec-coverage/selector-liveness.spec.ts are excused in ALLOWED as "retained as fallbacks for older Nextcloud releases". appinfo/info.xml declares min-version="32", so NC 32 is the oldest server this theme can run on. Measured on NC 32.0.12 and NC 34.0.2, all eight count 0 at both ends of the supported range:
.header-appname · .header-left a · .header-right a · .header-right button · .menutoggle · .unified-search__button · .header-start .icon-vue · .unified-search__input
Zero at both ends of the supported range is not a fallback, it is dead CSS with a reason that reads as justification.
Why it survived
MAX_SUPPORTED_NC already refuses to defer a selector to a newer server once the survey reaches the newest one. Its mirror does not exist: nothing refuses to excuse a selector as a fallback for an older server once the survey has reached the oldest one. CI has pinned stable32 all along, so the survey has always run on the oldest supported release — the data refuting these eight excuses was in hand on every run and nothing compared the two numbers.
Proposed fix
Add the MIN_SUPPORTED_NC mirror, deriving the condition from the ALLOWED reason text rather than a hand-set flag, so it cannot be bypassed by forgetting to set one. Then delete the eight entries.
Status — please read before starting
Neither half has landed. Verified on development with a positive control (MAX_SUPPORTED_NC returns 4 hits, so the search works):
MIN_SUPPORTED_NC — 0 hits in tests/
- all eight selectors — still present in
selector-liveness.spec.ts
PR #260's description asserted both as delivered. They were not in its diff, which touched only css/systems/lasuite/element-overrides.css. #260 was merged with a corrected body so the claim did not enter the history. This issue is the remaining work.
What
Eight selectors in
tests/e2e/spec-coverage/selector-liveness.spec.tsare excused inALLOWEDas "retained as fallbacks for older Nextcloud releases".appinfo/info.xmldeclaresmin-version="32", so NC 32 is the oldest server this theme can run on. Measured on NC 32.0.12 and NC 34.0.2, all eight count 0 at both ends of the supported range:.header-appname·.header-left a·.header-right a·.header-right button·.menutoggle·.unified-search__button·.header-start .icon-vue·.unified-search__inputZero at both ends of the supported range is not a fallback, it is dead CSS with a reason that reads as justification.
Why it survived
MAX_SUPPORTED_NCalready refuses to defer a selector to a newer server once the survey reaches the newest one. Its mirror does not exist: nothing refuses to excuse a selector as a fallback for an older server once the survey has reached the oldest one. CI has pinnedstable32all along, so the survey has always run on the oldest supported release — the data refuting these eight excuses was in hand on every run and nothing compared the two numbers.Proposed fix
Add the
MIN_SUPPORTED_NCmirror, deriving the condition from theALLOWEDreason text rather than a hand-set flag, so it cannot be bypassed by forgetting to set one. Then delete the eight entries.Status — please read before starting
Neither half has landed. Verified on
developmentwith a positive control (MAX_SUPPORTED_NCreturns 4 hits, so the search works):MIN_SUPPORTED_NC— 0 hits intests/selector-liveness.spec.tsPR #260's description asserted both as delivered. They were not in its diff, which touched only
css/systems/lasuite/element-overrides.css. #260 was merged with a corrected body so the claim did not enter the history. This issue is the remaining work.