Skip to content

πŸ›πŸ§‘β€πŸ’» - Compare navigation screenshots with original Home Assistant pixelsΒ #14

Closed

Description

@efraespada

Is there an existing issue for this?

Which actions are affected?

Pull Request

Which platforms are affected?

Linux, macOS

Description

The text and icon navigation checks compare measured styles and geometry but only retain screenshots. They can miss a paint-only regression in the navigation surface. Compare decoded pixels from the built catalog against the existing independently captured Home Assistant references for both checks, with a narrow, measured tolerance where the captured platform requires it.

Reproducing the issue

Run the static Storybook tests and inspect the text and icon navigation parity reports. Both contain the original image identity and a candidate screenshot, with no pixel agreement metric. See #13 (comment).

copilot Version

3.10.7 in the installed workflow. The defect is in the ha-ui Storybook checks.

Additional context and comments

Keep the existing geometry, state and accessibility assertions and the original captures. Validate on the existing Chromium platform matrix. The change belongs on develop so promotion PR #13 receives the correction.

Activity

  1. added
    bugSomething isn't working
    in-progressStart work on an admitted issue.
    bugfixLabel to manage bugfix branches
    priority: highLabel to indicate a priority high
    on Nov 5, 2026
  2. added
    state:ai-processingA Copilot agent is analyzing or working on the issue or change.
    on Nov 5, 2026
  3. added theissue type on Nov 5, 2026
  4. moved this to Todo in vypdevon Nov 5, 2026
  5. moved this from Todo to In Progress in vypdevon Nov 5, 2026
  6. added
    branchedThe linked branch and required SDD commit are verified.
    on Nov 5, 2026
  7. changed the title [-]Compare navigation screenshots with original Home Assistant pixels[/-] [+]πŸ›πŸ§‘β€πŸ’» - Compare navigation screenshots with original Home Assistant pixels[/+] on Nov 5, 2026
  8. added
    state:workingWork can proceed on the verified branch or without a branch.
    and removed
    state:ai-processingA Copilot agent is analyzing or working on the issue or change.
    on Nov 5, 2026
  9. vypbot commented on Nov 5, 2026

    @vypbot

    Implementation plan

    Current status: Ready to start. No action is required from maintainers before implementation.

    1. Locate the navigation parity checks and reference captures
      • Identify the text and icon Storybook checks, their independently captured Home Assistant references, and the existing Chromium platform matrix.
    2. Add decoded-pixel comparison
      • Compare each built catalog screenshot with its matching reference and report a pixel agreement metric alongside the original image identity and candidate screenshot.
    3. Set measured platform tolerances
      • Measure capture differences on Linux and macOS and use a narrow tolerance only where a platform requires it.
    4. Preserve existing assertions and captures
      • Keep geometry, state, and accessibility assertions and retain the original reference captures.
    5. Verify both checks across the matrix
      • Run the static Storybook tests on the existing Chromium platform matrix and update relevant documentation if the comparison workflow changes.

    Acceptance: On every existing Chromium matrix platform, both text and icon navigation parity reports include a pixel agreement metric against the matching independent reference, and the checks pass within the measured platform tolerance while retaining their existing geometry, state, and accessibility assertions.

    Need something else? Mention the bot with a question or use /copilot help.

  10. added
    state:ai-processingA Copilot agent is analyzing or working on the issue or change.
    size: SLabel to indicate a task of size S
    on Nov 5, 2026
  11. added
    75%Progress: 75%
    and removed
    state:ai-processingA Copilot agent is analyzing or working on the issue or change.
    on Nov 5, 2026
  12. vypbot commented on Nov 5, 2026

    @vypbot

    Issue closed β€” historical progress

    Current status: closed as completed.

    The last estimate is retained below as history. Closure does not certify a new percentage, tests, or branch alignment.

    Action required: none for this closed issue. If work continues, reopen the issue; a fresh assessment can update this same card.

    Last assessment before closure (historical)

    Progress: 75% β€” in progress

    > Current status: [R1] The text and icon navigation checks compare measured styles and geometry but only retain screenshots. They can miss a paint-only regression in the navigation surface. Compare decoded pixels from the built catalog against the existing independently captured Home Assistant references for both checks, with a narrow, measured tolerance where the captured platform requires it. β€” Both navigation checks compare decoded candidate pixels with the matching original reference and assert zero changed pixels. Reports record raster agreement alongside existing measured style and geometry results.
    [R2] Keep the existing geometry, state and accessibility assertions and the original captures. Validate on the existing Chromium platform matrix. The change belongs on develop so promotion PR #13 receives the correction. β€” The patches preserve the existing geometry, state, accessibility, and reference-image checks. Documentation describes pixel checks on macOS and Linux, but the supplied comparison does not establish execution across the Chromium platform matrix or branch promotion.
    [R3] "acceptance": "On every existing Chromium matrix platform, both text and icon navigation parity reports include a pixel agreement metric against the matching independent reference, and the checks pass within the measured platform tolerance while retaining their existing geometry, state, and accessibility assertions." β€” The source adds a pixel agreement metric and a zero-changed-p
    [untrusted content truncated]

    Next: [R2] Keep the existing geometry, state and accessibility assertions and the original captures. Validate on the existing Chromium platform matrix. The change belongs on develop so promotion PR #13 receives the correction. β€” Verify both checks on every existing Chromium matrix platform and confirm the correction is on develop for promotion PR #13.
    [R3] "acceptance": "On every existing Chromium matrix platform, both text and icon navigation parity reports include a pixel agreement metric against the matching independent reference, and the checks pass within the measured platform tolerance while retaining their existing geometry, state, and accessibility assertions." β€” Obtain independent results confirming both reports include pixel agreement against matching references and pass on every existing Chromium matrix platform.

  13. vypbot commented on Nov 5, 2026

    @vypbot

    Issue closed: synchronization recommendation retired

    No branch synchronization is required for this closed issue.

    The previous recommendation is historical. Issue closure does not certify that the branches are synchronized.

  14. moved this from In Progress to Done in vypdevon Nov 5, 2026
  15. added
    100%Progress: 100%
    and removed
    state:workingWork can proceed on the verified branch or without a branch.
    75%Progress: 75%
    on Nov 5, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

100%Progress: 100%branchedThe linked branch and required SDD commit are verified.bugSomething isn't workingbugfixLabel to manage bugfix branchespriority: highLabel to indicate a priority highsize: SLabel to indicate a task of size S

Type

Projects

  • Status
    Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions