Commit Graph
317 Commits
Author SHA1 Message Date
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 5e68661c5d session replay updates. add clickhouse implementation, filters, tables 2026-03-03 12:47:27 -08:00
Mike Cao 0196b0d95d Fix issues. 2026-02-26 10:29:24 -08:00
Mike Cao e73d827d21 Merge branch 'session-recording' into dev 2026-02-25 02:32:07 -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 79c06787cd enable using same filters 2026-02-21 14:56:29 -08:00
Francis Cao 682995524e Merge branch 'dev' into fix/pagination 2026-02-21 14:32:06 -08:00
Francis Cao f2cf071523 add regex operators 2026-02-20 13:43:16 -08:00
Yashandgreptile-apps[bot] cafc24e1d8 Update src/components/hooks/useNavigation.ts
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
2026-02-20 00:05:40 +05:30
Yash c84c73b7a7 feat: Add useNavigation hook for managing URL parameters and navigation. 2026-02-20 00:01:38 +05:30
Francis Cao 99a328359b add comparison to events page metric bar 2026-02-17 22:14:10 -08:00
Francis Cao 530c21dac0 add limit 50 to event chart, metrics table, and UTM report 2026-02-17 21:55:35 -08:00
Francis Cao 2260520ae5 Revert "Fix TypeScript type errors across multiple files"
This reverts commit a3733b0424.
2026-02-16 16:20:04 -08:00
Mike Cao d349c3aea9 Merge branch 'dev' into session-recording 2026-02-16 09:20:39 -08:00
Mike CaoandClaude Opus 4.6 365895c389 Fix build type errors in LinkButton and useMessages
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15 16:35:57 -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 Cao e2b391af28 Add board selector to top navigation 2026-02-12 17:26:52 -08:00
Mike Cao a1f3ad89f6 Add link and pixel selectors to top nav 2026-02-12 17:01:37 -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
Mike CaoandClaude Opus 4.6 0a3cf7a9ff Rename session recording to session replay across the codebase.
Renames all files, components, database schema, API routes, hooks,
messages, and build config from "recording" to "replay" terminology.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-07 00:38:47 -08:00
Mike CaoandClaude Opus 4.6 72b5c658e2 Add rrweb-based session recording feature.
Implements full session recording with rrweb for DOM capture and rrweb-player
for playback. Includes: Prisma schema for SessionRecording model, chunked
gzip-compressed storage, recorder script built via Rollup, collection API
endpoint, recordings list/playback UI pages, website recording settings,
and cascade delete support.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-06 15:49:59 -08:00
Mike CaoandClaude Opus 4.6 635317ecfb Combine WebsiteNav into SideNav when viewing a website.
Replace the separate 240px WebsiteNav sidebar with website navigation
integrated into the main SideNav. When a websiteId is active, SideNav
shows a back arrow, WebsiteSelect dropdown, and grouped nav items
instead of the main links. Extract shared useWebsiteNavItems hook used
by both SideNav and WebsiteNav (still used by MobileNav).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-06 03:57:28 -08:00
Mike CaoandClaude Opus 4.6 c6dd3fb6ff Rename SideMenu to NavMenu, fix tooltips, and update react-zen.
- Rename SideMenu to NavMenu with visible group title labels and selected item highlighting
- Update react-zen to 0.242.0 and fix responsive breakpoints (xs -> base)
- Style floating tooltips with inverted background across WorldMap, charts, and WeeklyTraffic
- Add CSS variables for primary color and use IconLabel consistently
- Remove stray console.log from LoadingPanel

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-06 01:58:55 -08:00
Mike Cao a3733b0424 Fix TypeScript type errors across multiple files 2026-02-05 21:25:46 -08:00
Mike Cao c3e0290e65 Merge branch 'dev' into boards
# Conflicts:
#	.gitignore
#	package.json
#	pnpm-lock.yaml
#	prisma/migrations/16_boards/migration.sql
#	prisma/schema.prisma
#	src/app/(main)/MobileNav.tsx
#	src/app/(main)/websites/[websiteId]/WebsiteHeader.tsx
#	src/app/(main)/websites/[websiteId]/settings/WebsiteShareForm.tsx
#	src/components/common/SideMenu.tsx
#	src/lib/types.ts
2026-02-05 20:05:25 -08:00
Francis Cao 49adaa32d0 implement UTM filters and fields 2026-02-05 16:30:46 -08:00
Mike Cao 5267222a67 Fix share token for public share pages 2026-02-04 17:32:42 -08:00
Francis Cao ee698b636a implement exclude bounces feature 2026-01-30 00:12:13 -08:00
Mike Cao 78d467b478 Redesigned share page. 2026-01-28 23:10:42 -08:00
Francis Cao a1a092dc19 Add MetricsBar to Events page. Closes #3830 2026-01-26 17:08:34 -08:00
Francis Cao 7bb30443a8 Add distinct ID to filters/expanded metrics. Closes #3861 2026-01-26 11:05:20 -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
Francis Cao d47ee6e8e8 Merge branch 'dev' of https://github.com/umami-software/umami into dev 2026-01-20 19:10:14 -08:00
Francis Cao 52f812d9e5 pass unit into revenue report 2026-01-20 19:09:23 -08:00
Mike CaoandClaude Opus 4.5 0eb598c817 implement website share functionality using share table
- Add support for multiple share URLs per website with server-generated slugs
- Create shares API endpoint for listing and creating website shares
- Add SharesTable, ShareEditButton, ShareDeleteButton components
- Move share management to website settings, remove header share button
- Remove shareId from website update API (now uses separate share table)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-20 17:23:14 -08:00
Mike CaoandClaude Opus 4.5 68c56060b3 Add board state management with updateBoard and saveBoard methods.
BoardProvider now manages local board state and exposes updateBoard for
editing and saveBoard for persisting to the database. Supports both
create and edit modes with proper redirect after creation.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-16 21:05:43 -08:00
Mike Cao f97c840825 Merge branch 'dev' into boards 2026-01-16 16:30:31 -08:00
Francis Cao 520c91c621 fix share api routes 2026-01-16 16:29:08 -08:00
Mike Cao 0fbd8a448d Merge branch 'dev' into boards 2026-01-14 12:53:25 -08:00
Mike Cao 6d480d9c36 Merge pull request #3950 from AymanAlSuleihi/fix/compare-metrics
Fix metrics bar not updating on compare mode switch
2026-01-10 18:56:54 -08:00
AymanAlSuleihi fbf03d6563 Fix metrics bar not updating on compare mode switch 2026-01-09 19:35:48 +00:00
Mike Cao aefc36b476 Merge branch 'dev' into boards
# Conflicts:
#	pnpm-lock.yaml
2026-01-07 01:01:39 -08:00
Egor Fedorov 5b97fb908a fix(events): use correct key for event values 2025-12-11 23:24:01 +03:00
Mike Cao d227bc369f Progress check-in. 2025-12-05 16:49:08 -08:00
Mike Cao a39ebffd8b Boards components. 2025-11-29 15:59:01 -08:00
Mike Cao d7fd22645c Fixed nav menus. 2025-11-28 00:33:53 -08:00
Mike Cao fa8d8055df Reformatted files with biome. 2025-11-22 22:42:42 -08:00