Skip to content

FE: Filter and sort comparison rows #2039

Description

@alanpeixinho

Summary

Filter and sort rows on AB comparison tables (builds, boots, tests).

Details

Filters (single-select):

  • All — every matched row across Side A and Side B, including unchanged (status_a === status_b)
  • Only changes — status_a ≠ status_b (default)
  • Regressions — PASS → FAIL
  • Fixes — FAIL → PASS
  • Appeared — null → status (present only on Side B)
  • Disappeared — status → null (present only on Side A)

Out of scope: INCONCLUSIVE transitions as dedicated filters (still visible under All / Only changes).

Sort: by table columns (boots/tests: path, config, platform, Side A/B; builds: config, arch, compiler, Side A/B). Default TBD (e.g. regressions first, then path/config asc).

Scope

  • Diff-only filters can be client-side over compare response
  • All needs full join of both sides (unchanged rows not in diff endpoints) — either extend compare API with include_unchanged / dedicated full payload, or join existing per-commit tree data on FE
  • Filter choice persists across tab switches for same A/B selection (URL or shared state — align with FE: Comparison page (picker + summary) #2010 URL-state decision)
  • Headlines (FE: Comparison page (picker + summary) #2010) stay unfiltered: always full-diff regression + fix totals

Done when

  • All / Only changes / Regressions / Fixes / Appeared / Disappeared switches update table
  • Column sort works
  • Headlines independent of table filter

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status
    Todo

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions