v1.7.6 — UI v2 polish + operator ergonomics
What's new in v1.7.6
UI v2 — Timeline
- Clickable histogram bars now filter events by time window (
?from=X&to=Y) - Contextual "why it matters" hints on row details (threat/borderline/trusted classification)
- ✦ AI explain trigger on timeline row details
v2FilterTimelineEventswith proper time-range support- Cleaner action list (removed stale v1
/forensiclink)
UI v2 — Investigate
- "Pivot to" card with quick links to Timeline, Cloudflare, Notes, and add-note-for-this-IP
- Back-navigation banner when arriving from timeline filter
UI v2 — Notes
- Type selector (IP address / ASN / Domain / Other) replacing hardcoded hidden input
- Note count pill in card header
- Improved empty state with actionable hint
- Ctrl+K shortcut hint below Save button
- "View all N notes" link when list is truncated
UI v2 — Freshness
data-tsattributes added across audit rows, dashboard live tail, providers posture meta, and Cloudflare sync badgefreshness.js— live relative-time updates for alldata-tselements (refreshes every 30s)
UI v2 — Navigation & Feedback
nav-progress.js— body.v2-loadingclass applies skeleton shimmer on.v2-cardduring page transitions- Palette —
g+c(Cloudflare),g+n(Notes),g+a(Audit) shortcuts; recent-IPs stored in localStorage - Operator live script — complete v2 route map;
j/k/Enterkeyboard navigation for<details>rows
Fixes
- Updated stale test assertions (removed
/forensicv1 link expectation, verifieddata-tspresence)
Closes #160 #161 #162 #163 #164 #165 #166 #167 #168 #169 #172 #173 #174 #175 #176 #178