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
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 Baig
2a2a64f6d7
feat: add sitemap.xml, robots.txt, and llms.txt for SEO
2026-03-13 14:40:41 +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
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 Baig
1f64bec46d
fix: correct summary card label and skip MutationObserver on html/body
2026-03-12 17:02:52 +01:00
Usman Baig
fb47716711
fix: use hasAttribute for data-no-rage and data-no-dead opt-out checks
2026-03-12 16:50:20 +01:00
Usman Baig
247a0b3460
feat: add dead click detection to tracking script
2026-03-12 16:47:53 +01:00
Usman Baig
9e6e2a2214
feat: add rage click detection to tracking script
2026-03-12 16:47:15 +01:00
Usman Baig
b05f7bbcf6
feat: add element identifier function for frustration tracking
2026-03-12 16:46:32 +01:00
Usman Baig
5677f30f3b
feat: add dashboard dimension filtering and custom event properties
...
Dashboard filtering: FilterBar pills, AddFilterDropdown with dimension/
operator/value steps, URL-serialized filters, all SWR hooks filter-aware.
Custom event properties: pulse.track() accepts props object, EventProperties
panel with auto-discovered key tabs and value bar charts, clickable goal rows.
Updated changelog with both features under v0.13.0-alpha.
2026-03-06 21:02:14 +01:00
Usman Baig
8b1d196812
feat: add automatic 404 detection, scroll depth tracking, and scroll depth dashboard card
...
- 404 detection: checks document.title for "404" or "not found", fires custom event, SPA-aware
- Scroll depth: passive scroll listener fires events at 25/50/75/100% thresholds
- ScrollDepth dashboard card: progress bar visualization showing % of visitors reaching each threshold
- Scroll events filtered out of GoalStats to avoid duplication
- Both features on by default, opt-out via data-no-404 / data-no-scroll
2026-03-06 20:00:22 +01:00
Usman Baig
53a0341925
feat: automatic outbound link and file download tracking
...
Adds a single click listener in the tracking script that detects
external link clicks and file download clicks, firing outbound_link
and file_download custom events. On by default, opt-out via
data-no-outbound / data-no-downloads attributes.
2026-03-06 19:41:11 +01:00
Usman Baig
5b388808b6
fix: update changelog with recent fixes and remove unused icon files
2026-03-01 14:43:25 +01:00
Usman Baig
ba24c24f41
chore: remove duplicate sw 2.js and add to gitignore
...
- Remove public/sw 2.js (misnamed PWA build artifact)
- Ignore public/sw 2.js in .gitignore to prevent re-add
Made-with: Cursor
2026-02-28 15:32:25 +01:00
Usman Baig
43a0954e5f
chore: update dashboard preview image to version 2, replacing the old file for improved design consistency
2026-02-22 22:21:23 +01:00
Usman Baig
93028efa0d
chore: increase dashboard preview image height for better visibility and update the image file to reflect design improvements
2026-02-22 22:16:37 +01:00
Usman Baig
414908b6ce
chore: update dashboard preview image to enhance visual representation and align with recent design changes
2026-02-22 22:11:26 +01:00
Usman Baig
14ca762305
refactor: remove mock data and streamline DashboardPreview component for improved performance and maintainability
2026-02-22 22:06:22 +01:00
Usman Baig
4a8f627a5c
refactor: enhance session ID caching logic to handle legacy string format and improve expiration checks
2026-02-11 15:52:30 +01:00
Usman Baig
10df76454a
refactor: improve comment clarity in session ID caching logic within script.js
2026-02-11 15:31:51 +01:00
Usman Baig
d9f07f5cde
refactor: simplify TTL parsing in script.js and add comment for session ID caching behavior
2026-02-11 14:29:44 +01:00
Usman Baig
1454d15142
docs: clarify default and optional data-storage options in ScriptSetupBlock and script.js for improved user understanding
2026-02-11 14:13:05 +01:00
Usman Baig
f423d01d7b
refactor: remove redundant logging code from script.js to streamline session ID management
2026-02-11 13:54:18 +01:00
Usman Baig
f10b79efac
refactor: update logging endpoints in script.js to use dynamic API URL for improved flexibility
2026-02-11 11:32:26 +01:00
Usman Baig
5886cc661c
feat: implement race condition fix for session ID management in script.js, ensuring correct ID usage across multiple tabs
2026-02-11 11:26:29 +01:00
Usman Baig
2b3d052f87
feat: add logging for session ID management in script.js to enhance debugging and monitoring
2026-02-11 11:20:05 +01:00
Usman Baig
f1c27e458a
feat: update ScriptSetupBlock and script.js to support new visitor ID storage options
2026-02-11 11:06:27 +01:00
Usman Baig
c827e82376
feat: enhance ScriptSetupBlock and script.js with optional persistent visitor ID storage
2026-02-11 10:57:01 +01:00
Usman Baig
738c8e24d6
feat: add more integration pages
2026-02-07 00:05:52 +01:00
Usman Baig
19a9b322d4
chore: remove unused icon files for padding to streamline asset management
2026-02-05 16:25:59 +01:00
Usman Baig
14f3fe7fbb
feat: add duplicate event name validation in SiteSettingsPage and update user guidance for event name changes
2026-02-04 15:56:25 +01:00
Usman Baig
90a743c170
feat: implement custom events tracking and goals management in the dashboard
2026-02-04 14:33:06 +01:00
Usman Baig
4d477110c8
refactor: enhance OfflineBanner to accept online status as a prop and update layout-content to pass isOnline state
2026-02-04 12:34:24 +01:00
Usman Baig
44b3cf3fb5
chore: update app name in manifest.json from "Pulse Analytics" to "Pulse" and change icon paths to new images with padding
2026-02-04 12:21:28 +01:00
Usman Baig
787eac2151
feat: integrate PWA support using next-pwa; update configuration in next.config.ts, add service worker files to .gitignore, and include manifest in layout.tsx
2026-02-04 10:45:00 +01:00
Usman Baig
e75d70269f
refactor(replay): remove session replay functionality and related components to streamline codebase
2026-01-23 18:21:50 +01:00
Usman Baig
d9ac3ece55
fix(branding): update icon references in layout from 'pulse_icon_no_margins.png' to 'favicon.ico' for consistency
2026-01-23 11:47:49 +01:00
Usman Baig
1be2c95046
fix(branding): update logo references from 'ciphera_icon_no_margins.png' to 'pulse_icon_no_margins.png' across the application for consistent branding
2026-01-23 11:38:05 +01:00