BunnyCDN, Search tab, journeys redesign, and dashboard polish #52

Merged
uz1mani merged 86 commits from staging into main 2026-03-17 10:08:26 +00:00
uz1mani commented 2026-03-17 10:07:58 +00:00 (Migrated from github.com)

Summary

  • Add BunnyCDN CDN tab with bandwidth, cache, errors, geographic distribution, and traffic map
  • Add Search tab and dashboard panel for Google Search Console data
  • Redesign Journeys page with D3 Sankey chart, column-based visualization, and rebuilt depth slider
  • Add animated numbers, inline bar charts, and actionable empty states across the dashboard
  • Remove Web Vitals / performance insights feature entirely

Changes

New: BunnyCDN Integration

  • CDN tab with bandwidth, requests, cache hit rate, origin response time, errors, and period comparison
  • Traffic distribution dotted map with per-datacenter dots and country grid
  • Official BunnyCDN logo, API key sent via POST body (not query param)
  • Connect/disconnect flow in Settings > Integrations

New: Search Console UI

  • Search tab: top queries, top pages, clicks & impressions trend chart, top query position cards, new queries badge
  • Search panel on main dashboard (top 5 queries, clicks, impressions, avg position)
  • Laid out alongside Campaigns in two-column grid

Redesigned: Journeys Page

  • Replaced Sankey with D3-based implementation — thin bars, labels beside nodes, proper hover
  • Added Columns/Flow view toggle with column-based journey visualization
  • Rebuilt depth slider from scratch with single state + debounce (max 10 → capped at 5/6)
  • Redesigned Top Paths as compact list with inline bars (replaced bulky cards)
  • Journey micro-animations, exit shown as red card in next column
  • Cascading column selection with connection lines

Dashboard Polish

  • Animated number transitions on all stats (count up/down on range/filter change)
  • Inline bar charts on Pages, Referrers, Locations, Technology, Campaigns
  • Actionable empty state CTAs ("Install tracking script", "Build a UTM URL", etc.)
  • Header icons on all dashboard panels
  • Shimmer bar when refetching after filter change
  • Export modal with progress bar and brief success state

Tracking Script

  • More reliable visit duration with pagehide fallback and dedup guard
  • Reduced false positives in rage click and dead click detection
  • Client-side bot detection added then reverted — moved server-side instead

Removed: Performance Insights

  • Removed Performance tab, Web Vitals tracking, and settings toggle

Fixes

  • Stopped retrying rate-limited (429) and auth-failed requests
  • Mobile responsiveness fixes across all pages
  • Tab indicator clipping fixed in scrollable SiteNav
  • Funnel creation uses 0-based step order; list revalidates after create
  • 204 No Content responses handled in API client

Test Plan

  • BunnyCDN: connect pull zone, verify CDN tab renders with map and country grid
  • Search: connect GSC, verify Search tab and dashboard panel show data
  • Journeys: test Columns and Flow views, depth slider, page selection with connection lines
  • Dashboard: switch date ranges, confirm animated number transitions and inline bars
  • Empty states: remove tracking script, confirm actionable CTAs appear
  • Mobile: verify dashboard, journeys, and settings don't overflow
  • Export: trigger PDF/CSV export, confirm progress bar and success state
## Summary - Add BunnyCDN CDN tab with bandwidth, cache, errors, geographic distribution, and traffic map - Add Search tab and dashboard panel for Google Search Console data - Redesign Journeys page with D3 Sankey chart, column-based visualization, and rebuilt depth slider - Add animated numbers, inline bar charts, and actionable empty states across the dashboard - Remove Web Vitals / performance insights feature entirely ## Changes ### New: BunnyCDN Integration - CDN tab with bandwidth, requests, cache hit rate, origin response time, errors, and period comparison - Traffic distribution dotted map with per-datacenter dots and country grid - Official BunnyCDN logo, API key sent via POST body (not query param) - Connect/disconnect flow in Settings > Integrations ### New: Search Console UI - Search tab: top queries, top pages, clicks & impressions trend chart, top query position cards, new queries badge - Search panel on main dashboard (top 5 queries, clicks, impressions, avg position) - Laid out alongside Campaigns in two-column grid ### Redesigned: Journeys Page - Replaced Sankey with D3-based implementation — thin bars, labels beside nodes, proper hover - Added Columns/Flow view toggle with column-based journey visualization - Rebuilt depth slider from scratch with single state + debounce (max 10 → capped at 5/6) - Redesigned Top Paths as compact list with inline bars (replaced bulky cards) - Journey micro-animations, exit shown as red card in next column - Cascading column selection with connection lines ### Dashboard Polish - Animated number transitions on all stats (count up/down on range/filter change) - Inline bar charts on Pages, Referrers, Locations, Technology, Campaigns - Actionable empty state CTAs ("Install tracking script", "Build a UTM URL", etc.) - Header icons on all dashboard panels - Shimmer bar when refetching after filter change - Export modal with progress bar and brief success state ### Tracking Script - More reliable visit duration with pagehide fallback and dedup guard - Reduced false positives in rage click and dead click detection - Client-side bot detection added then reverted — moved server-side instead ### Removed: Performance Insights - Removed Performance tab, Web Vitals tracking, and settings toggle ### Fixes - Stopped retrying rate-limited (429) and auth-failed requests - Mobile responsiveness fixes across all pages - Tab indicator clipping fixed in scrollable SiteNav - Funnel creation uses 0-based step order; list revalidates after create - 204 No Content responses handled in API client ## Test Plan - [x] BunnyCDN: connect pull zone, verify CDN tab renders with map and country grid - [x] Search: connect GSC, verify Search tab and dashboard panel show data - [x] Journeys: test Columns and Flow views, depth slider, page selection with connection lines - [x] Dashboard: switch date ranges, confirm animated number transitions and inline bars - [x] Empty states: remove tracking script, confirm actionable CTAs appear - [x] Mobile: verify dashboard, journeys, and settings don't overflow - [x] Export: trigger PDF/CSV export, confirm progress bar and success state
Sign in to join this conversation.
No description provided.