OpenFn / OpenFn/lightning

Channels v1.1: History page integration

Open
#4,438 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

channels
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

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.