Commit Graph
340 Commits
Author SHA1 Message Date
Francis Cao 5ccfb6d0a5 implement datatable sorting on non-analytics tables. (website/board/link/pixel/team/admin) 2026-05-07 10:46:03 -07:00
Francis Cao f463a4ce3f rename propertyName parameter 2026-05-05 10:48:56 -07:00
Francis Cao fbac7518fc Add MAX_PAGING_RESULTS on hooks for performance improvements. 2026-05-04 15:43:05 -07:00
Francis Cao d5c48ee75f clean-up session property string charts and insights. 2026-05-01 12:09:22 -07:00
Francis Cao 680a1ca1a2 refactor Property components to be resused for both session/event data. Implement session-data screens + filtering. Remove all event-data specific compoenents/queries 2026-04-29 13:11:03 -07:00
Francis Cao 9da332c489 Add Property filters for booleans, dates, arrays 2026-04-27 13:31:47 -07:00
Francis Cao 5a1ef5e674 add event-data support and charts for arrays, booleans, dates 2026-04-24 15:04:59 -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 0bd5e70df7 Fix build errors, remove active users link on share page. 2026-04-20 08:51:56 -07:00
Mike Cao cc829c8f6f Replace react-spring with motion, fix breaking changes in react-window/date-fns-tz/pure-rand. 2026-04-18 15:41:25 -07:00
Francis Cao 9d477b25b4 Fix share page permissions 2026-04-15 14:55:28 -07:00
Mike Cao b881ac5f34 Syntax fixes. 2026-03-25 13:54:23 -07:00
Mike Cao fb785180d5 Merge branch 'dev' into feat-funnel-per-step-filters 2026-03-25 13:40:12 -07:00
Francis Cao cd2b303e89 use team redis keys to resolve team gated features 2026-03-21 11:21:07 -07:00
Rudy B. c88313dfff refactor(hooks): extract useOperatorLabels hook shared between useFilters and Funnel 2026-03-16 21:51:17 +01: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 64bf4c378c Add sharing to pixel and link detail pages 2026-03-09 01:26:02 -07:00
Mike Cao c4226bc63d Add board share management UI 2026-03-08 22:24:24 -07:00
Mike Cao b429e7b24d Extract reusable board entity badge 2026-03-06 23:54:48 -08:00
Francis Cao acfd4462e3 Improvements to revenue screen 2026-03-06 09:58:43 -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 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