Skip to content

feat(ui): search & filter — close out S3 #32

Description

@sepehr-safari

Summary

Make large traces navigable: search & filter the event timeline by structured
facets and free text, instantly, and close out S3.

Scope

  • Filter facets — action, direction (CS→CSMS / CSMS→CS / unknown), message
    type (Call / CallResult / CallError), severity (participates in a failure of
    level X), and session / transaction id. Model-owned, composable (AND across
    facets).
  • Free-text search — a search-field (built-in clear affordance) matching
    action / unique id / payload substring, case-insensitive.
  • Instant — the timeline's virtual-list source becomes the filtered index set;
    filtering stays viewport-sized in node budget and fast on large traces (derive
    the filtered index list in the build arena — no per-event widgets for hidden
    rows). Result count shows in the status bar.
  • Clear — clearing search/filters restores the full timeline; empty result
    shows a quiet "no matching events" state.

Acceptance criteria

  • Each facet and free-text search filters the timeline correctly and
    composably; the result count is accurate.
  • Filtering a large trace keeps widget nodes viewport-sized (no materialization
    of hidden rows) — headless node-count assertion.
  • search-field clear (x / Escape) restores results through the input path.
  • Headless tests over the filter/search predicate + the filtered-index derive.
  • native test -Dplatform=null green on macOS + Linux; native check --strict clean; CURRENT_STATE/AGENTS/ROADMAP updated in-PR; S3 closed.

Dependencies

Milestone S3. Depends on #28 (the timeline it filters). Closes out the
milestone.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions