-
-
Notifications
You must be signed in to change notification settings - Fork 1.4k
feat(webapp): customizable runs list with columns and smart columns #4652
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
samejr
merged 49 commits into
main
from
feature/tri-13328-runs-list-column-customization
Aug 21, 2026
Merged
Changes from all commits
Commits
Show all changes
49 commits
Select commit
Hold shift + click to select a range
23b4f0b
feat(webapp): runs-list column registry, URL codec, and smart-column …
ericallam 7d519c1
feat(webapp): derive the runs-list Postgres select from visible columns
ericallam a33890a
feat(webapp): column display options and smart columns on the runs list
ericallam a071987
feat(webapp): keep smart-column values fresh in the runs live poll
ericallam 3e3d717
docs(webapp): add server-changes note for runs-list column customization
ericallam 41c06a5
feat(webapp): editable smart columns and display-options polish
ericallam 380a665
feat(webapp): stable column toggle and a clearer smart-column icon
ericallam ecd527a
feat(webapp): use a bolt icon for smart columns and reveal row action…
ericallam fbedcb9
feat(webapp): compact column URL state
ericallam 7d07612
feat(webapp): redesign the add-smart-column modal
ericallam c2ad8be
feat(webapp): syntax-highlight the smart-column sample and cap large …
ericallam a4746c6
feat(webapp): click a key in the smart-column sample to fill the path
ericallam 7f776d7
feat(webapp): only leaf values are selectable in the sample tree
ericallam de33c52
feat(webapp): expand the sample tree and let it page through recent runs
ericallam d45f094
feat(webapp): trim smart-column sample chrome
ericallam bb2319a
feat(webapp): thin scrollbars and inline empty objects in the sample …
ericallam 865a4e7
fix(webapp): stop the smart-column sample showing 'No runs' while loa…
ericallam ddd4a93
feat(webapp): sample from any run that has an inline value for the so…
ericallam 5d83356
feat(webapp): default smart-column label to the array key, not the index
ericallam 522c8cd
feat(webapp): show a full multi-row column preview beside the sample
ericallam bd6488f
feat(webapp): support .length in smart-column JSON paths
ericallam 8bd5f8c
polish(webapp): tighten smart-column dialog copy and display popover …
ericallam 1517eb2
fix(webapp): address PR review on runs-list column customization
ericallam 2d3140f
feat(webapp): move Display control next to pagination and add it to t…
ericallam f913175
feat(webapp): label the runs columns control "Columns"
ericallam 054e39b
fix(webapp): preserve columns on clear-filters and read escaped sampl…
ericallam 63eb26e
perf(webapp): stop hydrating run metadata on the list unless a column…
ericallam 58b2826
fix(webapp): drag-drop index, length-key sample path, live-poll paylo…
ericallam b996490
fix(webapp): scope smart-column sample, suppress columns in embedded …
ericallam 893cd8f
fix(webapp): don't coerce empty smart-column values to 0 in number/du…
ericallam 519dcaf
chore(webapp): drop unused exports flagged by knip
ericallam b9ed416
chore(webapp): un-export the remaining knip-flagged runColumns symbols
ericallam 1e2b056
perf(webapp): sample only the selected source in the Add smart column…
ericallam 61cba49
fix(webapp): always reload the smart-column sample when the source ch…
ericallam 3c8e4eb
fix(webapp): forward region and task-type filters to the smart-column…
ericallam ec908e4
Merge branch 'main' into feature/tri-13328-runs-list-column-customiza…
samejr e12b622
feat(webapp): polish the runs list Columns popover
samejr 0c37f67
feat(webapp): add a Columns shortcut and match filter popover metrics
samejr aa81fda
feat(webapp): clearer disabled Reset, keyboard focus, new Columns icon
samejr 95827ba
feat(webapp): restructure the smart column dialog into three even col…
samejr a8f55e4
feat(webapp): use the shared form primitives in the smart column dialog
samejr c4dca44
fix(webapp): use indigo for the column reorder drop indicator
samejr b56742d
chore(webapp): drop the em-dash from the smart column dialog copy
samejr 9da734f
feat(webapp): truncate long smart column values and polish the header
samejr 999aadf
feat(webapp): put the smart column tooltip on the bolt, fix light mod…
samejr 7d21b92
fix(webapp): stop smart column text re-truncating and the dialog growing
samejr 5c7e8c7
fix(webapp): move the column row focus ring to its hit area
samejr 8f09a9d
Merge remote-tracking branch 'origin/main' into feature/tri-13328-run…
samejr ae6aac8
fix(webapp): don't count the column layout as filters in favorite names
samejr File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,6 @@ | ||
| --- | ||
| area: webapp | ||
| type: feature | ||
| --- | ||
|
|
||
| Customize the runs list: show, hide, and reorder columns, and add smart columns that pull a value straight out of a run's payload, metadata, or output. Your column choices are saved in the page URL, so you can share a view, bookmark it, or save it straight to your favorites. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,9 @@ | ||
| export function ColumnsIcon({ className }: { className?: string }) { | ||
| return ( | ||
| <svg className={className} viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> | ||
| <rect x="3" y="4" width="18" height="16" rx="2" stroke="currentColor" strokeWidth="2" /> | ||
| <line x1="9" y1="19" x2="9" y2="5" stroke="currentColor" strokeWidth="2" /> | ||
| <line x1="15" y1="19" x2="15" y2="5" stroke="currentColor" strokeWidth="2" /> | ||
| </svg> | ||
| ); | ||
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,20 @@ | ||
| export function ResetIcon({ className }: { className?: string }) { | ||
| return ( | ||
| <svg className={className} viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> | ||
| <path | ||
| d="M7 3L4 6L7 9" | ||
| stroke="currentColor" | ||
| strokeWidth="2" | ||
| strokeLinecap="round" | ||
| strokeLinejoin="round" | ||
| /> | ||
| <path | ||
| d="M5 6H13.5C17.0899 6 20 8.91015 20 12.5C20 16.0899 17.0899 19 13.5 19H6" | ||
| stroke="currentColor" | ||
| strokeWidth="2" | ||
| strokeLinecap="round" | ||
| strokeLinejoin="round" | ||
| /> | ||
| </svg> | ||
| ); | ||
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,13 @@ | ||
| /** Marks a smart column: in the runs table header, the Columns popover, and the dialog preview. */ | ||
| export function SmartColumnIcon({ className }: { className?: string }) { | ||
| return ( | ||
| <svg className={className} viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> | ||
| <path | ||
| d="M5.94723 12.4318L12.3011 3.53646C12.9468 2.63242 14.3689 3.24855 14.1511 4.33794L13.1543 9.32131C13.0905 9.64031 13.3346 9.93793 13.6599 9.93793H17.2138C18.0524 9.93793 18.5402 10.8859 18.0527 11.5682L11.6989 20.4636C11.0532 21.3676 9.63107 20.7515 9.84895 19.6621L10.8456 14.6788C10.9095 14.3598 10.6654 14.0621 10.3401 14.0621H6.78622C5.9476 14.0621 5.45978 13.1142 5.94723 12.4318Z" | ||
| stroke="currentColor" | ||
| strokeWidth="2" | ||
| strokeLinejoin="round" | ||
| /> | ||
| </svg> | ||
| ); | ||
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.