Skip to content

selector-liveness: eight ALLOWED selectors are dead on the oldest supported server, and the MIN_SUPPORTED_NC mirror that would catch them does not exist #270

Description

@rubenvdlinde

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_NC0 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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions