Skip to content

[UX] Empty states and error recovery #106

@erikdarlingdata

Description

@erikdarlingdata

Summary

Multiple reviews identified that empty charts, grids, and error conditions provide no guidance to users. Connection failures show generic messages. New servers show blank data with no indication that collection is in progress.

Source: Comprehensive themed agent review (UI Designer + UX Designer consensus)

Current Problems

  1. Empty charts/grids show nothing or generic "No data for selected time range"
  2. Connection failures show raw SqlException text without remediation
  3. New servers: 1-5 minute wait for first data with no progress indicator
  4. AWS RDS: empty Blocking tab when threshold not configured (no explanation)
  5. DataGrids have no loading spinner - unclear if loading or genuinely empty

Checklist

Loading States

  • Add loading spinner/indicator to all DataGrid controls
  • Add loading spinner to chart areas during data fetch
  • Show "Collecting initial data... (1-5 minutes)" for newly added servers
  • Show timestamp of last collection attempt

Empty States

  • Replace generic "No data" with context-specific messages
  • Offer next steps: "Try expanding time range" or "Check connection"
  • Show row count in grid footers when data is present
  • For Blocking tab on AWS RDS: show banner explaining threshold requirement with link to docs

Error Recovery

  • Connection failures: show common causes (firewall, credentials, SQL Server not running)
  • Add "Retry" button when data load fails (currently requires manual refresh)
  • Differentiate loading vs error vs genuinely empty states visually
  • Installer CLI: provide guidance when connection fails (not just exit code 2)

Form Validation

  • AddServerDialog: red borders and inline messages for invalid fields
  • Settings: validate threshold ranges (e.g., CPU 1-100, blocking > 0)
  • Show validation before save, not after

Priority

Tier 2 - High / Functional

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions