Usman Baig
76248233b9
fix: revalidate funnels list after creating a new funnel
...
Mutate the SWR funnels cache key before navigating back so the
list page shows the newly created funnel without requiring a refresh.
2026-03-15 18:38:51 +01:00
Usman Baig
849986edf1
fix: restore active tab indicator in scrollable SiteNav
...
Move overflow-x-auto to the outer border-b container and use min-w-max
on the nav so the framer-motion layoutId indicator is not clipped.
2026-03-15 18:37:40 +01:00
Usman Baig
220d3905be
fix: use 0-based step order when creating funnels
...
Backend expects sequential order starting from 0 (0, 1, 2, ...),
but the frontend was sending 1-based order (1, 2, 3, ...).
2026-03-15 18:33:30 +01:00
Usman Baig
6d6c1ee8f6
fix: prevent grid children from overflowing on mobile
...
Add [&>*]:min-w-0 to lg:grid-cols-2 grids so widget cards
respect the grid track width instead of expanding to content size.
2026-03-15 18:20:08 +01:00
Usman Baig
24c71f7991
fix: mobile responsiveness across all pages
...
- SiteNav: add horizontal scroll for 8 tabs on mobile
- NotificationCenter: full-width dropdown on mobile
- ContentStats/Locations/TechSpecs: scrollable tab bars
- FrustrationTable: fix selector text overflow
- FrustrationByPageTable: horizontal scroll on mobile
- CDN: better stat card grid breakpoints
- Home: reduce stat card height, prevent button wrap
- Billing: shorter invoice labels on mobile
- Bump @ciphera-net/ui to 0.2.6 (AppLauncher mobile fix)
2026-03-15 18:15:06 +01:00
Usman Baig
7103a39273
fix: increase column padding for bar chart breathing room
2026-03-15 13:48:19 +01:00
Usman Baig
3c8904ffe4
fix: remove overflow-hidden clipping bar chart left rounding
2026-03-15 13:45:29 +01:00
Usman Baig
aba67592bb
fix: bar chart left rounding by using width calc instead of scaleX
2026-03-15 13:42:41 +01:00
Usman Baig
e7907d68bf
fix: default depth 10, bar rounding, exit row height, connection line reach
2026-03-15 13:39:41 +01:00
Usman Baig
342bf46946
fix: bar chart overflow by using scaleX instead of width percentage
2026-03-15 13:33:10 +01:00
Usman Baig
de16991bb3
fix: inset bar chart so left rounding is visible
2026-03-15 13:30:20 +01:00
Usman Baig
3954ee0a97
refactor: restyle journey columns to match Pulse native patterns
2026-03-15 13:27:20 +01:00
Usman Baig
b000d0e1f7
fix: replace horizontal dashed lines with solid vertical column dividers
2026-03-15 13:20:57 +01:00
Usman Baig
58272f3fb5
fix: remove scroll fade gradient that was overlapping column content
2026-03-15 13:15:42 +01:00
Usman Baig
722b5de88d
feat: polish journey columns with bar charts, count pills, colored selection, dotted connectors
2026-03-15 13:12:17 +01:00
Usman Baig
ada2c65d8f
fix: show exit as red card in next column instead of SVG text hack
2026-03-15 13:03:06 +01:00
Usman Baig
b10abd38fc
feat: show exit count when selecting a page, fix scroll fade overlay
2026-03-15 12:56:59 +01:00
Usman Baig
9f9f4286b7
fix: selections only show connection lines, no longer filter column data
2026-03-15 12:46:48 +01:00
Usman Baig
a7e9f7c998
fix: cascade column selection filter downstream, trim empty columns, add scroll fade
2026-03-15 12:42:49 +01:00
Usman Baig
4103014cdb
fix: restyle journey columns to match Pirsch card-based design
2026-03-15 12:28:43 +01:00
Usman Baig
9528eca443
fix: handle 204 No Content responses in API client
...
Prevent error toasts on successful delete operations by checking for
204 status before attempting to parse response body as JSON.
2026-03-15 12:23:05 +01:00
Usman Baig
e8f00e06ec
feat: replace sankey chart with column-based journey visualization
2026-03-15 12:17:48 +01:00
Usman Baig
1e147c955b
fix: improve visit duration reliability with pagehide fallback and dedup guard
2026-03-15 11:58:33 +01:00
Usman Baig
7e30d04df3
feat: redesign top paths as breadcrumb cards with icons
2026-03-15 11:47:52 +01:00
Usman Baig
47d884e47b
fix: remove focus ring from depth slider, debounce API calls until drag ends
2026-03-15 11:43:04 +01:00
Usman Baig
f858bb7811
refactor: remake journeys page with pricing-style slider, remove top paths table
2026-03-15 11:39:33 +01:00
Usman Baig
302e683b32
feat: increase journey depth slider max from 5 to 10
2026-03-15 11:27:18 +01:00
Usman Baig
20cda8d464
docs: add CDN refresh interval changelog entry
2026-03-14 23:38:46 +01:00
Usman Baig
bc2534a22b
fix: reduce false positives in rage click and dead click detection
...
- Skip rage clicks when text is selected (triple-click to select)
- Exclude tabindex="-1" elements from dead click interactive selector
- Observe document.body for DOM changes (modals, drawers, overlays)
- Listen for popstate/hashchange to detect SPA navigations
2026-03-14 23:32:31 +01:00
Usman Baig
b305b5345b
refactor: remove performance insights (Web Vitals) feature entirely
...
Remove Performance tab, PerformanceStats component, settings toggle,
Web Vitals observers from tracking script, and all related API types
and SWR hooks. Duration tracking is preserved.
2026-03-14 22:47:33 +01:00
Usman Baig
7247281ce2
feat: move performance to dedicated tab, fix 0/99999 metrics bug
...
Performance metrics moved from dashboard into a new Performance tab.
Fixed null handling so "No data" shows instead of misleading zeros.
Script no longer sends INP=0 when no interaction occurred.
2026-03-14 22:01:44 +01:00
Usman Baig
f278aada7a
fix: use flag icons, show per-datacenter dots on map, format tooltip as bytes
2026-03-14 21:35:26 +01:00
Usman Baig
1e61926bc6
fix: parse bunnycdn datacenter codes to ISO country codes for map dots and flags
2026-03-14 21:26:51 +01:00
Usman Baig
77b280341b
fix: use official bunnycdn logo, redesign traffic distribution with map and country grid
2026-03-14 21:21:53 +01:00
Usman Baig
d9c01b9b06
feat: add traffic distribution dotted map to CDN tab
2026-03-14 21:12:07 +01:00
Usman Baig
2512be0d57
fix: bunnycdn logo and api key security
2026-03-14 21:08:42 +01:00
Usman Baig
fb85c431f0
feat: add BunnyCDN integration
2026-03-14 20:46:26 +01:00
Usman Baig
a8fe171c8c
fix: use ShieldCheck icon for Data & Privacy settings tab
2026-03-14 18:30:41 +01:00
Usman Baig
4ceb33b946
feat: add header icons to all dashboard panels
...
Consistent icon treatment across Pages, Referrers, Locations,
Technology, Campaigns, Peak Hours, Goals, and Search panels.
2026-03-14 18:27:12 +01:00
Usman Baig
4d869d8cb1
fix: place Search and Goals side by side in two-column grid
2026-03-14 18:13:07 +01:00
Usman Baig
a3f50dc38f
fix: restore Peak Hours layout and hide empty Search panel
...
Peak Hours back in its original grid position next to Campaigns.
Search panel now placed below as a standalone row, and hides
entirely when there's no GSC data instead of showing zeros.
2026-03-14 18:09:07 +01:00
Usman Baig
8f00193e0f
feat: add Search panel to dashboard and enrich Search tab
...
Dashboard: compact Search Performance panel showing top 5 queries,
clicks, impressions, and avg position alongside Campaigns.
Search tab: clicks/impressions trend chart, top query position
tracker cards, and new queries badge.
2026-03-14 18:05:05 +01:00
Usman Baig
af29bb77cd
fix: stop retrying rate-limited and auth-failed requests
...
SWR was retrying 429/401/403 responses with exponential backoff,
which cascaded into a flood of failed requests when the tab regained
focus. Now skips retries entirely for these status codes.
2026-03-14 17:16:23 +01:00
Usman Baig
34c705549b
feat: add Google Search Console integration UI
...
Search Console page with overview cards, top queries/pages tables,
and query↔page drill-down. Integrations tab in Settings for
connect/disconnect flow. New Search tab in site navigation.
2026-03-14 15:36:37 +01:00
Usman
9b7781115f
Merge pull request #50 from ciphera-net/staging
...
feat: track time-on-page via unload ping for accurate visit durations
2026-03-14 14:26:39 +01:00
Usman Baig
cf0b6b8a68
feat: track time-on-page via unload ping for accurate visit durations
...
Sends duration to the metrics endpoint on visibilitychange and SPA
navigation. Also lowers journey min_sessions to 1 for low-traffic sites.
2026-03-14 14:07:54 +01:00
Usman
8e7c273ebc
Merge pull request #49 from ciphera-net/staging
...
feat: centralise date/time formatting with European conventions
2026-03-14 13:49:20 +01:00
Usman Baig
11ef95ef45
fix: use full day names in Peak Hours busiest-time callout
2026-03-14 13:40:42 +01:00
Usman Baig
19db02e945
fix: lower min_sessions to 1 for journey data visibility
...
Journeys page showed empty state on low-traffic sites because
min_sessions=2 filtered out all single-occurrence transitions.
2026-03-14 13:40:40 +01:00
Usman Baig
2242a159c7
fix: use 24-hour time in Peak Hours heatmap
...
Axis labels, bucket ranges, and busiest-time callout now use
24-hour format (00:00, 06:00, 12:00, 18:00) instead of AM/PM.
2026-03-14 13:38:51 +01:00