Commit Graph
138 Commits
Author SHA1 Message Date
Mike Cao a6b13b71db Add click heatmaps report
Extracts click events from rrweb session-replay buffers at write time
into a new heatmap_event table (Prisma + ClickHouse). New /heatmaps
report shows a page picker plus an overlay of click density on the
dominant viewport, with an optional iframe of the live page behind.
2026-04-27 22:20:38 -07:00
Francis Cao 77dda7268e add event-data property filtering 2026-04-24 11:39:40 -07:00
Francis Cao be6154cb68 Event data properties refactor and design 2026-04-23 11:15:59 -07:00
Francis Cao 85f57e90c5 update session replay tracking code UI/UX 2026-03-23 14:44:31 -07:00
Mike Cao 6e1a05f686 Gate replays. 2026-03-15 18:03:36 -07:00
Francis Cao a28ea79228 saved session replays updates and polish 2026-03-09 15:00:36 -07:00
Francis Cao 1bffb3cbf3 saved session replay implementation checkpoint 2026-03-09 13:51:08 -07:00
Mike Cao f76b22b303 Add board type binding support 2026-03-06 23:54:46 -08:00
Francis Cao acfd4462e3 Improvements to revenue screen 2026-03-06 09:58:43 -08:00
Francis Cao 38577a9c0c fix toggle behavior and reorder replays table with play at beginning. Add missing messages script 2026-03-05 13:31:00 -08:00
Francis Cao 383922ab17 performance page polish 2026-03-05 12:21:34 -08:00
Francis Cao 0e1d6cef6b refactor session replays to be per visit. sessions persist too long resulting in low-quality recordings 2026-03-03 22:59:25 -08:00
Francis Cao 4ecef2e290 add better metrics to revenue page AOV/ARPU 2026-03-03 16:00:39 -08:00
Francis Cao b5f91f11f0 update formatMessage to t. add session replay labels 2026-02-27 16:42:58 -08:00
Mike Cao e2ab4af493 Merge branch 'performance' into dev 2026-02-25 02:27:46 -08:00
Francis Cao cc1e4438d0 implement OR logic to filters, segments, cohorts 2026-02-21 20:00:43 -08:00
Francis Cao f2cf071523 add regex operators 2026-02-20 13:43:16 -08:00
Mike Cao 631cc46f7f Add personal dashboard flow and per-component website selection
This introduces a user-scoped dashboard with board-style view/edit pages while keeping it unavailable in team context, and moves website targeting to component config so dashboard components can each select their own website.
2026-02-13 11:48:15 -08:00
Mike CaoandClaude Opus 4.6 2c7ab2b734 Use i18n for board component strings, show controls in edit mode, require website before editing
- Replace raw strings with useMessages hook in BoardColumn and BoardComponentSelect
- Show WebsiteControls on edit screen so users can test filters
- Disable board body editing until a website is selected
- Scope website select to team websites when editing a team board

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-09 02:46:30 -08:00
Mike CaoandClaude Opus 4.6 ce9e2416fb Add Web Vitals performance tracking (LCP, INP, CLS, FCP, TTFB)
End-to-end performance metrics tracking: dedicated database table with
percentile aggregation, tracker collection behind data-perf attribute,
/api/send handling, report API endpoints, and Performance dashboard page
with threshold-based metric cards, time-series chart, and per-page breakdown.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-08 19:25:20 -08:00
Mike CaoandClaude Opus 4.6 50edb71687 Simplify i18n: remove old react-intl artifacts, rename formatMessage to t, replace FormattedMessage with t.rich().
- Rewrite messages.ts to plain string key maps (remove MessageDescriptor)
- Rewrite useMessages hook to expose t from useTranslations() directly
- Rename formatMessage → t across 193 consumer files
- Replace custom FormattedMessage component with next-intl t.rich()
- Update 52 language files to use rich text tags (<b>, <a>)
- Remove all direct imports from @/components/messages in favor of useMessages()

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-07 11:19:04 -08:00
Mike CaoandClaude Opus 4.6 a1890e9261 Replace react-intl with next-intl and consolidate lang files.
Migrate i18n from react-intl to next-intl, eliminating the formatjs
compilation pipeline. Translation files now live as nested JSON in
public/intl/messages/ (single source of truth), removing the duplicated
src/lang/ directory and the copy/compile build steps. The useMessages()
hook API is preserved so all 195+ consumer components are unchanged.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-07 01:51:29 -08:00
Francis Cao 49adaa32d0 implement UTM filters and fields 2026-02-05 16:30:46 -08:00
Francis Cao ee698b636a implement exclude bounces feature 2026-01-30 00:12:13 -08:00
Francis Cao a1a092dc19 Add MetricsBar to Events page. Closes #3830 2026-01-26 17:08:34 -08:00
Francis Cao e73432dd26 Add unit select and backend implementation. Fix compare for websitestats. Remove unused params from stats, metrics, weekly 2026-01-23 10:08:47 -08:00
Yash 612b00179b feat : Add version settings and API endpoint to display application version 2025-12-25 00:21:10 +05:30
Mike Cao 554054d3a1 Merged nav menus. 2025-09-25 20:46:00 -07:00
Mike Cao f639bb07f4 Added menu options for cloud mode. Async fixes. 2025-09-23 09:14:01 -07:00
Mike Cao 9897c725de Updated cloud mode checks. 2025-09-22 13:09:07 -07:00
Mike Cao dc1736458b Export metrics components. 2025-09-03 17:16:03 -07:00
Mike Cao 8c8e36c63b Cohorts editing. 2025-08-26 23:55:57 -07:00
Mike Cao 08f9adaddf Updated expanded view. Some style fixes. 2025-08-23 03:05:21 -07:00
Mike Cao c8fe93dd9d Refactored tables. 2025-08-23 01:12:37 -07:00
Mike Cao 8e766e2db7 Pixel/link metrics pages. 2025-08-21 01:33:20 -07:00
Mike Cao 5f4b83b09c Link editing. 2025-08-15 11:11:24 -07:00
Mike Cao 247e14646b Pixel/links development. New validations folder. More refactoring. 2025-08-14 23:48:11 -07:00
Mike Cao 88639dfe83 New schema for pixels and links. 2025-08-13 20:27:54 -07:00
Mike Cao 274d654833 Merge branch 'dev' of https://github.com/umami-software/umami into dev
# Conflicts:
#	src/components/metrics/ReferrersTable.tsx
2025-08-07 10:08:14 -07:00
Mike Cao eb7b6978d3 New settings layouts. Segment management screen. 2025-08-07 05:14:35 -07:00
Mike Cao 45c9ea9c22 Merge branch 'dev' into jajaja
# Conflicts:
#	db/mysql/schema.prisma
#	package.json
#	pnpm-lock.yaml
#	src/app/(main)/reports/[reportId]/ReportBody.tsx
#	src/app/(main)/reports/[reportId]/ReportPage.tsx
#	src/app/(main)/reports/utm/UTMView.tsx
#	src/app/(main)/websites/[websiteId]/WebsiteMetricsBar.tsx
#	src/app/(main)/websites/[websiteId]/WebsiteTableView.tsx
#	src/app/(main)/websites/[websiteId]/events/EventsPage.tsx
#	src/app/api/reports/[reportId]/route.ts
#	src/app/api/websites/[websiteId]/metrics/route.ts
#	src/components/hooks/queries/useReport.ts
#	src/components/icons.ts
#	src/components/messages.ts
#	src/components/metrics/MetricsTable.module.css
#	src/components/metrics/MetricsTable.tsx
#	src/queries/sql/events/getEventMetrics.ts
#	src/queries/sql/reports/getUTM.ts
2025-07-23 23:39:28 -07:00
Mike Cao 7670ec4136 Added download functionality. 2025-07-22 00:24:37 -07:00
Mike Cao 876f4c883e Updated layout. Fixed properties rendering. 2025-07-18 00:22:06 -07:00
Mike Cao 01bfd7f52e New properties screens. New website nav. 2025-07-17 01:18:31 -07:00
Mike Cao a9a9b57f80 Merge branch 'dev' into jajaja
# Conflicts:
#	pnpm-lock.yaml
#	src/app/(main)/websites/[websiteId]/events/EventProperties.tsx
#	src/components/messages.ts
#	src/lib/constants.ts
#	src/queries/sql/pageviews/getPageviewMetrics.ts
#	src/queries/sql/sessions/getWebsiteSessions.ts
2025-07-15 13:01:50 -07:00
Mike Cao 5e6799a715 Fixed properties queries. 2025-07-15 01:31:08 -07:00
Mike Cao 31f9b17942 Merge branch 'dev' into feature/table-view-events 2025-07-13 22:03:52 -07:00
Mike Cao c98f324c22 Settings refactor. 2025-07-11 22:55:30 -07:00
Mike Cao 87449ece9e Merge branch 'dev' into jajaja
# Conflicts:
#	db/postgresql/schema.prisma
#	pnpm-lock.yaml
#	src/app/(main)/websites/[websiteId]/WebsiteDetailsPage.tsx
#	src/app/(main)/websites/[websiteId]/compare/WebsiteComparePage.tsx
#	src/app/api/reports/route.ts
#	src/app/api/websites/[websiteId]/events/series/route.ts
#	src/app/api/websites/[websiteId]/metrics/route.ts
#	src/app/api/websites/[websiteId]/pageviews/route.ts
#	src/app/api/websites/[websiteId]/sessions/stats/route.ts
#	src/app/api/websites/[websiteId]/stats/route.ts
#	src/app/api/websites/[websiteId]/values/route.ts
#	src/components/hooks/useFields.ts
#	src/components/hooks/useFilterParams.ts
#	src/lang/vi-VN.json
#	src/lib/clickhouse.ts
#	src/lib/detect.ts
#	src/lib/prisma.ts
#	src/lib/request.ts
#	src/lib/schema.ts
#	src/lib/types.ts
#	src/queries/sql/events/getEventDataFields.ts
#	src/queries/sql/events/getEventDataProperties.ts
#	src/queries/sql/events/getEventDataStats.ts
#	src/queries/sql/events/getEventDataValues.ts
#	src/queries/sql/events/getEventMetrics.ts
#	src/queries/sql/events/getWebsiteEvents.ts
#	src/queries/sql/getChannelMetrics.ts
#	src/queries/sql/getRealtimeActivity.ts
#	src/queries/sql/getWebsiteStats.ts
#	src/queries/sql/pageviews/getPageviewMetrics.ts
#	src/queries/sql/pageviews/getPageviewStats.ts
#	src/queries/sql/reports/getBreakdown.ts
#	src/queries/sql/sessions/getSessionDataProperties.ts
#	src/queries/sql/sessions/getSessionDataValues.ts
#	src/queries/sql/sessions/getSessionMetrics.ts
#	src/queries/sql/sessions/getSessionStats.ts
#	src/queries/sql/sessions/getWebsiteSessionStats.ts
#	src/queries/sql/sessions/getWebsiteSessions.ts
2025-07-08 22:03:55 -07:00
Bas Broekhuizen 0c78e31300 Add table view as alternative to donut chart for event properties 2025-07-08 10:17:18 +02:00