Skip to content

Channels: History page integration #4408

@stuartc

Description

@stuartc

User story

We need ChannelRequest records to appear in the existing History page alongside WorkOrder records so that users have a single view of all activity in a project.

Details

Blocked: needs designs and discovery. This touches one of the most complex pages in Lightning. The current implementation is complex and changes can be tricky — performance is critical here. A holistic review of the page's queries, filters, and LiveView structure is needed before implementation begins. Budget time for discovery.

ChannelRequests must appear alongside WorkOrders in the History page, filterable by channel. This is the most complex UI story in the MVP.

Cut line: If History page integration proves too expensive for the timeline, a standalone "Channel Requests" list page is the simpler alternative — standard LiveView CRUD with filtering, achievable in a couple of days. The MVP could ship with the simpler version and upgrade to full History integration in a fast follow.

Implementation notes

Dependencies: #4399 (schema), #4405 (observer populates request/event data)

Key technical considerations:

  • History page currently shows only WorkOrders with complex filtering (workflow, status, date range)
  • Adding a second record type affects: queries, pagination, sorting, detail views, filters
  • Recommended approach for MVP: polymorphic query (merge in application). Union view if performance requires it.
  • Pagination with mixed record types is the hardest part — cursor-based pagination across two tables needs care
  • Performance is critical — the History page is heavily used and must remain fast

Release notes

Channel requests now appear in the project History page alongside workflow runs.

User acceptance criteria

  • History page shows both WorkOrders and ChannelRequests, sorted by time (most recent first)
  • ChannelRequests visually distinguishable from WorkOrders (icon, label, or type badge)
  • Filter by Channel added to History page filters
  • Existing filters (workflow, status, date range) continue to work; channel filter is additive
  • ChannelRequest detail view accessible from History row showing: request (method, path, headers, body preview, body hash), response (status, headers, body preview, body hash), timing (started_at, completed_at, TTFB, total latency), status badge, link to channel config via snapshot
  • Pagination works correctly with mixed WorkOrder + ChannelRequest results
  • No regressions in existing History page functionality

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    Status

    Ready

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions