Usman Baig
a57ed871f1
fix: screen size shadowing, popstate double pageview, custom event self-referrals
2026-03-13 01:09:45 +01:00
Usman Baig
765f8ec63e
fix: strip self-referrals from tracking script
2026-03-13 01:06:14 +01:00
Usman Baig
aae1714b02
fix: deduplicate pageviews on page refresh
2026-03-13 00:50:13 +01:00
Usman
484300c307
Merge pull request #43 from ciphera-net/staging
...
Release 0.15.0-alpha
0.15.0-alpha
2026-03-13 00:13:41 +01:00
Usman Baig
9fb19c18e8
chore: release 0.15.0-alpha
2026-03-13 00:12:13 +01:00
Usman Baig
0112004457
fix: depth default 3 max 5, min_sessions 2, 5 nodes per column, stricter labels
2026-03-12 23:58:56 +01:00
Usman Baig
063a21adeb
feat: cap nodes per column, dynamic SVG height, smart labels, thinner exit node
2026-03-12 23:46:24 +01:00
Usman Baig
90de83ad6d
fix: lower min_sessions from 3 to 1 for journey data
2026-03-12 23:30:12 +01:00
Usman Baig
a3fa48732a
fix: correct ribbon y-offset — d3-sankey y0/y1 are center, not top
2026-03-12 23:20:33 +01:00
Usman Baig
a637d32446
revert: remove frontend same-page filter, backend fix handles this
2026-03-12 23:12:12 +01:00
Usman Baig
df394b85ef
fix: filter out same-page transitions (reloads) from Sankey
2026-03-12 23:08:30 +01:00
Usman Baig
4e7c495160
fix: use SVG-level onMouseMove with data attrs for reliable hover
2026-03-12 23:04:08 +01:00
Usman Baig
9c8943d1e3
fix: rewrite hover state to single object, fix link dimming on node hover
2026-03-12 22:56:13 +01:00
Usman Baig
e7debdeb41
fix: consolidate exit nodes into single (exit) node
2026-03-12 22:52:24 +01:00
Usman Baig
3df93bb227
fix: link color from source node, fix hover dimming, labels trigger hover
2026-03-12 22:48:31 +01:00
Usman Baig
3bde3fd4e1
fix: only highlight links on node hover, not other nodes
2026-03-12 22:40:40 +01:00
Usman Baig
5cdf353233
feat: add node hover highlighting with connection dimming
2026-03-12 22:37:40 +01:00
Usman Baig
683bbce817
fix: thick node bars, multi-hue palette, higher link opacity, more padding
2026-03-12 22:31:05 +01:00
Usman Baig
828e930a69
fix: Sankey visual overhaul — lower link opacity, column color gradient, breathing room
...
- Links: 18% opacity default (was 60%), 45% on hover, grey for exit links
- Nodes: column-based orange gradient (bright entry → dark deep), stroke outline
- Labels: larger font, better padding, higher contrast backgrounds
- Layout: more vertical padding, wider node gap (24px)
2026-03-12 22:23:52 +01:00
Usman Baig
54daf14c6a
feat: replace MUI X Charts Pro with d3-sankey custom Sankey
...
Remove paid MUI dependency. Use d3-sankey (MIT, ~5KB) for layout
algorithm + custom SVG rendering. Same visual quality: smooth bezier
ribbon links, proper node spacing via sankeyJustify, label backgrounds,
hover dimming, exit nodes.
2026-03-12 22:17:16 +01:00
Usman Baig
281a9f237a
feat: replace custom Sankey SVG with MUI X Charts Pro Sankey
2026-03-12 22:07:20 +01:00
Usman Baig
4b10f8c1fc
fix: refine Sankey visual — thinner nodes, subtle links, orange on hover
2026-03-12 21:58:50 +01:00
Usman Baig
31286c45f4
fix: use brand orange for Sankey diagram nodes and links
2026-03-12 21:51:07 +01:00
Usman Baig
908606ade2
fix: make journey empty states consistent with dashboard blocks
2026-03-12 21:49:31 +01:00
Usman Baig
4cd9544672
fix(journeys): use correct session_count property in entry point dropdown
2026-03-12 21:39:31 +01:00
Usman Baig
49aa8aae60
docs: update frontend changelog for user journeys
2026-03-12 21:37:07 +01:00
Usman Baig
b3e335ec6c
feat(journeys): add skeleton and error boundary
2026-03-12 21:36:27 +01:00
Usman Baig
e7e76bb3db
feat(journeys): add Journeys tab to site navigation
2026-03-12 21:35:43 +01:00
Usman Baig
dc1030036c
feat(journeys): add Journeys page with controls and layout
2026-03-12 21:35:05 +01:00
Usman Baig
0fa6c4aaf4
feat(journeys): add top paths table component
2026-03-12 21:32:18 +01:00
Usman Baig
c669035718
feat(journeys): add Sankey diagram SVG component
2026-03-12 21:29:45 +01:00
Usman Baig
7336f9126e
feat(journeys): add frontend API client and SWR hooks
2026-03-12 21:24:39 +01:00
Usman Baig
6964be9610
refactor: remove realtime visitors detail page
...
Remove the individual session journey page and make the live visitor
count a static indicator. Prepares for the new aggregated User Journeys
feature (v0.17).
2026-03-12 20:45:58 +01:00
Usman Baig
bae492e8d9
style: show only percentage badge on hover in frustration tables
2026-03-12 20:31:21 +01:00
Usman Baig
03e3f41e48
refactor: use bundled /behavior endpoint via useBehavior SWR hook
...
Replaces 4 separate frustration API calls with single useBehavior hook.
Removes manual fetchData, loading/error state, and refresh interval—SWR
handles caching, revalidation, and error state automatically.
2026-03-12 20:24:28 +01:00
Usman Baig
eb17e8e8d6
fix: hide scroll depth and trend chart when rate-limited
...
Frustration APIs and dashboard API are separate — when frustration
calls fail, Scroll Depth still rendered from cached SWR data,
creating a broken mixed state. Now tracks error state and hides
the bottom section entirely on failure.
2026-03-12 18:35:36 +01:00
Usman Baig
540c774100
fix: custom tooltip with inline fill color, dynamic subtitle
...
- Replace ChartTooltipContent with custom tooltip that reads fill
directly from payload — guaranteed to show the slice color
- Subtitle adapts: shows 'current and previous period' only when
previous period data exists, otherwise 'rage vs dead breakdown'
- Filter out zero-count slices from chart data
2026-03-12 18:29:43 +01:00
Usman Baig
3bf832af92
style: use transparent orange tones for frustration pie chart
...
Rage clicks: warm orange at 70% opacity
Dead clicks: darker amber at 70% opacity
Previous period: same hues at 35% opacity
2026-03-12 18:27:57 +01:00
Usman Baig
5050422a60
refactor: match frustration tables to dashboard pattern
...
- Remove column headers for cleaner look
- Show secondary info (avg, sessions, last seen) on hover
- Add orange percentage badge that slides in on hover
- Add empty row padding for consistent card height
2026-03-12 18:27:20 +01:00
Usman Baig
13f6f53868
fix: tooltip indicator dot not showing slice color
...
bg-[--color-bg] doesn't resolve in Tailwind v4 — needs var() wrapper.
Changed to bg-[var(--color-bg)] and border-[var(--color-border)].
2026-03-12 18:25:15 +01:00
Usman Baig
bf7fe87120
fix: use direct hex colors for pie chart tooltip and distinct color palette
2026-03-12 18:21:19 +01:00
Usman Baig
d4dc45e82b
fix: align table headers with row data using CSS grid
...
- Switch FrustrationTable from flex to grid columns so headers
and row cells share the same column widths
- Replace bar chart with pie chart for frustration trend
- Remove Card wrapper borders, footer line, and total signals text
- Change dead clicks color from yellow to darker orange
2026-03-12 18:16:12 +01:00
Usman Baig
0889079372
refactor: replace bar chart with pie chart for frustration trend
2026-03-12 18:09:34 +01:00
Usman Baig
2f01be1c67
feat: polish behavior page UI with 8 improvements
...
- Add column headers to rage/dead click tables
- Rich empty states with icons matching dashboard pattern
- Add frustration trend comparison chart (current vs previous period)
- Show "New" badge instead of misleading "+100%" when previous period is 0
- Click-to-copy on CSS selectors with toast feedback
- Normalize min-height to 270px for consistent card sizing
- Fix page title to include site domain (Behavior · domain | Pulse)
- Add "last seen" column with relative timestamps
2026-03-12 18:03:22 +01:00
Usman Baig
585f37f444
docs: add rage click and dead click detection to changelog
2026-03-12 17:06:36 +01:00
Usman Baig
1f64bec46d
fix: correct summary card label and skip MutationObserver on html/body
2026-03-12 17:02:52 +01:00
Usman Baig
9179e058f7
refactor: move scroll depth from dashboard to behavior tab
2026-03-12 16:56:26 +01:00
Usman Baig
d5aafdc48a
feat: add behavior page shell
2026-03-12 16:56:00 +01:00
Usman Baig
062d0a2b44
feat: add frustration by page breakdown component
2026-03-12 16:55:01 +01:00
Usman Baig
46084b71a6
feat: add frustration table component with view-all modal
2026-03-12 16:54:38 +01:00