Skip to content

Improve HTML report triage UX, filters, and attachment diagnostics#11

Merged
oscarcv merged 1 commit intomainfrom
feat/html-report-ux-triage
Feb 20, 2026
Merged

Improve HTML report triage UX, filters, and attachment diagnostics#11
oscarcv merged 1 commit intomainfrom
feat/html-report-ux-triage

Conversation

@oscarcv
Copy link
Owner

@oscarcv oscarcv commented Feb 20, 2026

Summary

This MR upgrades the default HTML report for large snapshot suites with better triage ergonomics and clearer diagnostics.

UX / Navigation

  • Added top toolbar with:
    • search by normalized test title
    • status filters (All, Failed, Passed, Skipped)
    • failed-first sorting toggle
    • expand/collapse controls
  • Added suite-level collapse/expand controls.
  • Default behavior keeps suites collapsed (triage-friendly).
  • When filtering/searching is active, visible suites auto-expand.

Variant Filtering

  • Added multi-select variant filters:
    • High Contrast Dark
    • Dark
    • High Contrast Light
    • Light
  • Variant selection is additive (toggle chips), not single-select.

Persistence & Accessibility

  • Persisted UI state via localStorage:
    • search query
    • status filter
    • selected variants
    • failed-first toggle
    • manual suite collapse state
  • Added keyboard shortcuts:
    • / focus search
    • f failed filter
    • e expand/collapse
  • Improved focus visibility and toolbar polish.

Attachment Diagnostics

  • Added attachment metadata in context/rendering:
    • exists
    • isEmpty
    • sizeBytes
  • UI now shows explicit diagnostics for:
    • missing attachment files
    • empty attachment files
  • Added file size metadata display in attachment cards.

Files Changed

  • Sources/SnapshotReportCore/Resources/default-report.stencil
  • Sources/SnapshotReportCore/Reporters/HTML/HTMLSnapshotReporter.swift
  • Tests/SnapshotReportCoreTests/SnapshotReportCoreTests.swift

Validation

  • swift test (all tests passing)
  • End-to-end HTML generation from example xcresult:
    • snapshot-report --xcresult ... --format html --verbose
  • Verified generated HTML includes:
    • multi-select variant filters
    • title-based search
    • filtering-driven auto-expand
    • attachment empty/missing diagnostics

@oscarcv oscarcv merged commit da9c05b into main Feb 20, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant