Channels v1.1: History page integration
Nobody has claimed this yet.
- Dominant language
- Elixir
- Stars
- 296
- Forks
- 86
- Avg merge
- 1d 13h
- Merged PRs (30d)
- 50
Description
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
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing the existing History page queries, filters, pagination, and LiveView structure, then read dependencies #4399 and #4405 for the ChannelRequest data. Discovery and designs are required before implementation. Done means mixed WorkOrder and ChannelRequest history, additive channel filtering, correct pagination and detail views, preserved performance, and no regressions.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- elixir
- Domain
- full-stack
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100