Plan + Estimate — Activity Tab Filters
Intent
Make the Activity tab faster and filterable. Three changes: name filter (auto-populated), cached data (instant re-visits), refresh button (force re-fetch).
Scope
Board 1 — Activity Enhancements (13 pts)
- {name filter dropdown, add to, Activity tab} · 5 pts · ~a — Auto-populate from unique comment authors. "All" default. Filter renders instantly from cached data.
- {activity cache + refresh, add to, Activity tab} · 5 pts · ~a — Cache fetched comments so re-clicking Activity is instant. Refresh button clears cache and re-fetches.
- {filter + cache tests, plan tests for, Activity tab} · 3 pts · ~t — Verify filter populates, cache works, refresh clears, count updates.
Approach
- Name filter:
<select> dropdown, styled to match sort button. Populated after data loads. onChange triggers re-render with filter applied.
- Cache: Remove the
if (allComments.length || loaded) return guard on first load, but skip fetch on re-visit if cache exists. Show cached data instantly.
- Refresh: Button next to sort. Clears
allComments, resets loaded, re-fetches. Shows loading state during fetch.
- Count label: Shows filtered count — "3 of 12 comments" when filtered, "12 comments" when unfiltered.