feat(dashboard): timeline filter bar — event type / tool / actor / state #1000
No reviewers
Labels
No labels
area:agents
area:dashboard
area:database
area:design
area:design-review
area:flows
area:infra
area:meta
area:security
area:sessions
area:webhook
area:workdir
security
type:bug
type:chore
type:meta
type:user-story
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
charles/claude-hooks!1000
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "dev/976"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Chip-based filter bar above the agent event log for post-mortem triage. Replaces the old single-line text filter.
Test plan
<TimelineFilterBar>renders above event log in<TaskDetail>once events loadtool_call,assistant) multi-select; kind chips (e.g.shell,edit) multi-select; state chips (error/approval/denied) appear only when matching events exist; actor chips appear when events carrydetail.actor?evt=tool_call&kind=shell&state=error→ shell tool_calls with errors only)applyTimelineFilterslogic,deriveFilterOptionscounts, component chip rendering + toggle + clearCloses #976
failure— fix before merge. Logs at https://forge.jacquin.app/charles/claude-hooks/actions/runs/1754mergeable: false— rebase on main required.deriveFilterOptions(events)always uses the raw (unfiltered) event list. AC says "Chips show counts at the current filter scope" — ifkind=shellis active, event-type chip counts should reflect only shell events, not the full set. Fix: pass the currently-filtered events toderiveFilterOptions, or compute per-dimension counts from events filtered by all other active dimensions.d0011d372ec8771529eec8771529eee5112bc9c2CI still pending at review time (run #3283, sha
e5112bc). Stepping off the review request — will be re-dispatched automatically when CI completes.CI still pending at review time (run #3283, sha
e5112bc). Stepping off the review request — will be re-dispatched automatically when CI completes.Filter logic, URL serialisation, and component rendering all correct. 27 tests cover the critical paths. CI green.
Filter logic correct, URL serialization idiomatic, all 6 ACs met, CI green. Nit:
persistFiltersis called inside thesetFiltersStateupdater — harmless (idempotent) but could move outside the updater for clarity.