Commit Graph
769 Commits
Author SHA1 Message Date
Francis Cao b5f91f11f0 update formatMessage to t. add session replay labels 2026-02-27 16:42:58 -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 0651168823 fix bug when removed filter do not update 2026-02-21 23:05:16 -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 98d1d85ed1 Fix teams button overflow in mobile 2026-02-21 13:34:15 -08:00
Francis Cao 4605f5cb06 Fix mobile UI/UX issues 2026-02-21 13:19:34 -08:00
Francis Cao 5144aff9cd revenue report enhancements. 2026-02-21 10:57:52 -08:00
Francis Cao f2cf071523 add regex operators 2026-02-20 13:43:16 -08:00
Francis Cao 67626652f9 fix mobile view for admin screens and nav. update equals and not equals filter to be multiselect. 2026-02-20 12:32:02 -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
Yash 0505ef1378 feat: introduce WebsiteDateFilter for date range selection and DataGrid for paginated data display. 2026-02-19 23:44:24 +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 db637864f6 Move board component metadata editing into modal 2026-02-13 00:18:51 -08:00
Mike Cao b816e951a5 Fixed BarChart rendering in boards. 2026-02-12 18:10:04 -08:00
Mike CaoandClaude Opus 4.6 fee155c65b fix WeeklyTraffic header clipping in board panels
Separate day name headers into their own grid row instead of embedding
them inside the hourly data grid with marginBottom, which pushed the
text outside the fixed 16px row height.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-12 17:27: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 Cao dd2d6bca45 Move website selector into top navigation 2026-02-12 16:46:01 -08:00
Mike Cao 400a35d7af Prevent unnecessary chart and board component re-renders 2026-02-12 16:30:43 -08:00
Francis Cao 156222e0c9 Fix tooltip sizing for websitechart 2026-02-09 11:19:04 -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 Cao 8cd3c03702 Added opacity to tooltips. 2026-02-08 00:04:13 -08:00
Mike Cao d26ed3b949 Fixed collapse state of website select. 2026-02-07 23:56:06 -08:00
Mike CaoandClaude Opus 4.6 08e4da27c1 Move settings nav into SideNav, matching WebsiteNav pattern
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-07 22:00:47 -08:00
Mike CaoandClaude Opus 4.6 04c7216928 Add UserButton to SideNav, refactor NavButton into TeamsButton
- Create UserButton component at bottom of SideNav with Settings, Language,
  Theme, Admin, and Logout menu items
- Move Settings/Logout/Admin/Docs/Support out of NavButton into UserButton
- Remove LanguageButton and ThemeButton from SideNav bottom
- Refactor NavButton into TeamsButton with simplified team switching
- Simplify WebsiteNav and move TeamsButton to App top bar

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-07 21:34:42 -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 Cao 80cad6ea65 Merge remote-tracking branch 'origin/dev' into dev 2026-02-07 03:40:11 -08:00
Mike Cao af2c823c1b Fixed tooltip text sizes. 2026-02-07 03:39:56 -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 Cao fed8d4c71a Fixed maximize button on Panel. 2026-02-07 00:16:15 -08:00
Francis Cao 795a1caadf fix panel and metrics card css 2026-02-06 17:24:11 -08:00
Francis Cao 895abdbbaf Clean up colors and Selects 2026-02-06 16:48:45 -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
Francis Cao 9b814aa1ca revert prisma schema to latest, add global css for scroll-bar, fix css 2026-02-06 15:06:10 -08:00
Mike CaoandClaude Opus 4.6 dea3c41ecc Fix WebsiteSelect showing empty value on initial load.
Fall back to queried website name when local state hasn't been set yet,
since useState only captures the initial value which is undefined before
the query resolves.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-06 04:04:53 -08:00
Mike CaoandClaude Opus 4.6 b3a77d7c04 Fix CompareTables select width, WebsiteSelect min height, and MetricCard gap.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-06 04:00:42 -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 84522b2475 Fix ChangeLabel colors to use react-zen theme variables.
Replace old CSS variables with new theme tokens for success, error,
and neutral states.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-06 03:31:20 -08:00