Usman
91f4743f48
Merge pull request #48 from ciphera-net/staging
...
Site verification status UI
2026-03-13 17:20:12 +01:00
Usman Baig
f7bd61187a
style: make verified state match button shape of unverified state
2026-03-13 16:46:51 +01:00
Usman Baig
344838e0cd
style: use subtle inline text for verified status in settings
2026-03-13 16:44:00 +01:00
Usman Baig
e336d2c7e5
feat: show verification status in site settings page
2026-03-13 16:40:37 +01:00
Usman Baig
8f06c9168a
feat: show verified/unverified badge on site cards
2026-03-13 16:32:26 +01:00
Usman Baig
66a9ac1f31
fix: include all 76 integrations in sitemap instead of only 4
2026-03-13 14:58:27 +01:00
Usman
98c08e3996
Merge pull request #47 from ciphera-net/staging
...
fix: exclude sitemap.xml, robots.txt, llms.txt from auth middleware
2026-03-13 14:45:30 +01:00
Usman Baig
dc422b5920
fix: exclude sitemap.xml, robots.txt, llms.txt from auth middleware
2026-03-13 14:44:52 +01:00
Usman
f976fbdb2e
Merge pull request #46 from ciphera-net/staging
...
Chart UX improvements, behavior page polish, and SEO setup
2026-03-13 14:42:01 +01:00
Usman Baig
2a2a64f6d7
feat: add sitemap.xml, robots.txt, and llms.txt for SEO
2026-03-13 14:40:41 +01:00
Usman Baig
b5d408b4e8
style: add skeleton loading & fade transition to behavior page
2026-03-13 14:30:01 +01:00
Usman Baig
00d232ab3f
fix: switch from natural to bump interpolation to prevent overshoot
2026-03-13 13:53:38 +01:00
Usman Baig
87f5905bd6
fix: clip chart overflow from natural spline overshoot
2026-03-13 13:50:27 +01:00
Usman Baig
58f42f945c
style: smooth chart curves with natural spline and add area fill
...
Switch from monotone to natural interpolation for rounder peaks.
Add transparent orange gradient area fill beneath the line.
2026-03-13 13:47:26 +01:00
Usman Baig
570a84889a
fix: increase hover hitbox on map location markers
2026-03-13 13:43:44 +01:00
Usman
2cc120ca3f
Merge pull request #45 from ciphera-net/staging
...
Polish dashboard UX, loading states, and tracking accuracy
2026-03-13 13:35:08 +01:00
Usman Baig
fcfa4bfed9
fix: use allowlist for query params to prevent path fragmentation
...
Switch from blocklist (strip known-bad params) to allowlist (only keep
UTM/attribution params). Eliminates cache-busters like _t and _ from
page paths without maintaining an ever-growing blocklist.
2026-03-13 13:33:11 +01:00
Usman Baig
969887cc67
style: use CartesianGrid for horizontal lines aligned with Y-axis ticks
...
Replace the CSS overlay with Recharts CartesianGrid (horizontal only)
so lines align perfectly with the Y-axis values.
2026-03-13 13:08:28 +01:00
Usman Baig
453a596eaf
style: replace animated grid with subtle horizontal lines in chart
...
Simple repeating horizontal lines at 40px intervals with 50% opacity,
faded at top/bottom edges via CSS mask. No extra components needed.
2026-03-13 13:05:24 +01:00
Usman Baig
9a54d93c79
style: replace static grid with animated grid pattern in chart
...
Use AnimatedGridPattern from 21st.dev with subtle fading squares.
Scoped to CardContent only so the metric tabs and annotation footer
stay clean.
2026-03-13 13:01:03 +01:00
Usman Baig
eb0dc4a27b
style: replace dotted chart background with grid line pattern
...
Swap the old dot grid overlay inside the Recharts SVG for a GridPattern
component rendered behind the chart card. Uses a vertical mask gradient
to fade edges for a cleaner look.
2026-03-13 12:55:20 +01:00
Usman Baig
8c4bb8f861
style: add fade-in transition from skeleton to content
...
Smooth out the jarring visual pop when loading skeletons are replaced
by real content. Only animates after an actual skeleton was shown —
cached data still renders instantly with no delay.
2026-03-13 12:45:48 +01:00
Usman Baig
0abc5cd4a8
style: unify all dashboard chart colors to brand orange
2026-03-13 12:32:57 +01:00
Usman Baig
3bda7215db
fix: stat label invisible on light mode when selected
...
The active metric label (e.g. UNIQUE VISITORS) was white on a
near-white background. Switch to brand orange for visibility in
both themes.
2026-03-13 12:29:05 +01:00
Usman Baig
6380f216aa
perf: migrate Settings, Funnels, and Uptime to SWR data fetching
...
Replace manual useState/useEffect fetch patterns with SWR hooks so
cached data renders instantly on tab revisit. Skeleton loading now
only appears on the initial cold load, not every navigation.
New hooks: useFunnels, useUptimeStatus, useGoals, useReportSchedules,
useSubscription — all with background revalidation.
2026-03-13 12:21:55 +01:00
Usman Baig
b6a7c642f2
feat: add skeleton loading to Journeys page
...
Use JourneysSkeleton with useMinimumLoading hook, matching the
loading pattern used on Dashboard, Funnels, Uptime, and Settings.
2026-03-13 11:58:35 +01:00
Usman
6a13e5480a
Merge pull request #44 from ciphera-net/staging
...
fix: pass CSRF token to switch-context call in refresh route
2026-03-13 11:41:03 +01:00
Usman Baig
57e43b1b4f
Merge branch 'main' into staging
2026-03-13 11:30:05 +01:00
Usman Baig
c0ad0cfb7a
fix: pass CSRF token to switch-context call in refresh route
...
The auth API requires CSRF tokens on POST requests. The switch-context
call was failing silently with 403, causing refreshed tokens to lack
org_id.
2026-03-13 11:30:00 +01:00
Usman Baig
2d3388546f
fix: pass CSRF token to switch-context call in refresh route
...
The auth API requires CSRF tokens on POST requests. The switch-context
call was failing silently with 403, causing refreshed tokens to lack
org_id.
2026-03-13 11:29:45 +01:00
Usman Baig
34c80d0857
fix: restore org context during token refresh
...
After refreshing the base token, call switch-context to get an
org-scoped token. This prevents 403 errors on Pulse API requests
when the access token is refreshed mid-session.
2026-03-13 11:18:26 +01:00
Usman Baig
1c26e4cc6c
fix: resolve intermittent auth errors when navigating between tabs
...
Token refresh race condition: when multiple requests got 401 simultaneously,
queued retries reused stale headers and the initiator fell through without
throwing on retry failure. Now retries regenerate headers (fresh request ID
and CSRF token), and both retry failure and refresh failure throw explicitly.
SWR cache is now invalidated after token refresh so stale error responses
are not served from cache.
2026-03-13 10:52:02 +01:00
Usman Baig
f7340fa763
fix: include URL in outbound/download events, exclude form inputs from dead clicks
2026-03-13 09:11:23 +01:00
Usman Baig
6e213539ea
feat: filter headless browsers and zero-screen bots client-side
2026-03-13 09:07:49 +01:00
Usman Baig
f69248ecfa
fix: strip utm_id from page paths to prevent fragmentation
2026-03-13 08:58:33 +01:00
Usman Baig
360d6e7e71
fix: preserve UTM params for backend attribution, only strip ad click IDs
2026-03-13 08:43:55 +01:00
Usman Baig
63144a136e
fix: only attribute referrer to landing page and strip Meta ad params
2026-03-13 01:31:14 +01:00
Usman Baig
1d71a13df4
fix: normalize page paths — strip UTM params and trailing slashes
2026-03-13 01:19:23 +01:00
Usman Baig
6edd5ac0b6
fix: skip pageview tracking for prerendered pages
2026-03-13 01:17:12 +01:00
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