Commit Graph
100 Commits
Author SHA1 Message Date
Mike Cao 8b04be48de Revert next config. 2026-04-15 22:02:48 -07:00
Mike Cao 5f314b9a95 Merge branch 'dev' of https://github.com/umami-software/umami into dev 2026-04-15 21:04:24 -07:00
Mike Cao 002a50ce8b Changed output for Vercel. 2026-04-15 21:04:05 -07:00
Mike Cao 80fee9f321 fix blank screen by using router.replace instead of redirect in useEffect 2026-04-15 20:04:30 -07:00
Mike Cao 7b8403c0cc Updated nextjs. Changed middleware to proxy. 2026-04-15 18:25:14 -07:00
Mike Cao f41c0221c4 fix docker prisma migrate and remove stray query log 2026-04-15 14:22:04 -07:00
Mike Cao 1b6fc1bd51 Use local Link wrapper with cloud-mode prefetch default 2026-04-15 11:21:49 -07:00
Mike CaoandGitHub 4ca7d53f81 Merge pull request #3642 from hilja/tracker-fetch-priority-low
Set tracker’s fetch call priority to low
2026-04-04 17:13:20 -04:00
Mike CaoandGitHub f8f86d72aa Merge branch 'dev' into tracker-fetch-priority-low 2026-04-04 17:12:29 -04:00
Mike CaoandGitHub b6341596bf Merge pull request #4048 from AlejandroGispert/fix/3981-login-email-case
fix: make signin email case-insensitive
2026-04-01 23:25:56 -04:00
Mike CaoandGitHub 3f673557a9 Merge pull request #4112 from sputnik-mac/fix/revenue-chart-timezone-4107
fix: use settings timezone in revenue chart date range
2026-03-29 20:25:10 -07:00
Mike CaoandGitHub 224bbbb8de Merge pull request #3606 from fauzora/fix/tracker-single-init
fix(tracker): prevent multiple initialization when script injected more than once
2026-03-29 20:05:32 -07:00
Mike Cao 9e76bd4cf8 More fixes. 2026-03-25 13:57:32 -07:00
Mike Cao b881ac5f34 Syntax fixes. 2026-03-25 13:54:23 -07:00
Mike CaoandGitHub 9fd4fe628d Merge pull request #4054 from Yashh56/cache-control
feat: add cache control headers to GET response
2026-03-25 13:42:23 -07:00
Mike CaoandGitHub 0500eaf3b5 Merge pull request #4090 from boutterudy/feat-funnel-per-step-filters
feat(funnels): add per-step event property filters
2026-03-25 13:40:48 -07:00
Mike CaoandGitHub fb785180d5 Merge branch 'dev' into feat-funnel-per-step-filters 2026-03-25 13:40:12 -07:00
Mike Cao a3f4750eae Send session replay data to Kafka when available instead of direct ClickHouse insert 2026-03-23 17:27:11 -07:00
Mike Cao 7582aed67b Update session replay payload to use { type, payload } format 2026-03-23 16:30:53 -07:00
Mike Cao 0960a8291c Update CI Node.js version to 22 for Prisma 7.x compatibility 2026-03-23 13:47:01 -07:00
Mike Cao fa81b02a33 Fix Docker build: add missing @prisma/client and update Prisma version to 7.3.0 2026-03-23 13:35:21 -07:00
Mike Cao 60376624db Merge branch 'dev' of https://github.com/umami-software/umami into dev 2026-03-22 09:55:00 -07:00
Mike Cao e0009cb414 Added download to breakdown report. 2026-03-22 09:54:41 -07:00
Mike Cao 8227a99c0a Fix tracking-code intl message not rendering due to unescaped HTML tags 2026-03-20 11:41:50 -07:00
Mike Cao 3659c66161 Allow replays access for users without billing subscription 2026-03-19 17:38:10 -07:00
Mike Cao a6b27520f2 Added icon to upgrade component. 2026-03-19 17:16:05 -07:00
Mike Cao a64f4e6dc6 Validate team on load and redirect if invalid 2026-03-17 01:14:52 -07:00
Mike Cao 31f322630d Add Badge component and use it for performance page ratings 2026-03-15 20:44:25 -07:00
Mike Cao 4aa5f8411e Merge branch 'dev' of https://github.com/umami-software/umami into dev 2026-03-15 18:03:55 -07:00
Mike Cao 6e1a05f686 Gate replays. 2026-03-15 18:03:36 -07:00
Mike Cao 2514330758 Remove husky and lint-staged 2026-03-10 23:16:58 -07:00
Mike Cao d9766e3952 Polish board and dashboard design actions 2026-03-10 16:52:03 -07:00
Mike Cao ad7b64653f Simplify board component picker 2026-03-10 16:52:02 -07:00
Mike Cao 508ddbabea Merge branch 'dev' of https://github.com/umami-software/umami into dev 2026-03-10 08:32:09 -07:00
Mike CaoandGitHub 746f7e8779 Merge pull request #3997 from BrentRobert/patch-1
Update robots.txt fixes #3996
2026-03-10 08:32:01 -07:00
Mike Cao c9888a96c1 Fix link and pixel edit page widths 2026-03-10 08:30:57 -07:00
Mike Cao a9680320ef Polish board editor layout and compatibility 2026-03-10 08:29:43 -07:00
Mike Cao 6b8159e535 Refine edit layouts and share states 2026-03-10 02:52:13 -07:00
Mike Cao cdcb1f379b Split board details and design flows 2026-03-10 02:08:24 -07:00
Mike Cao 54023e3796 Prevent events chart on pixel and link boards 2026-03-10 00:23:19 -07:00
Mike Cao 6629ab598b Fix app metadata headers import 2026-03-09 23:34:23 -07:00
Mike CaoandGitHub d03e6095b6 Merge pull request #4078 from cryst-hq/codex/fix-umami-4062
Fix metadata base URL generation
2026-03-09 23:32:11 -07:00
Mike CaoandGitHub 8d2b9f8e49 Merge branch 'dev' into codex/fix-umami-4062 2026-03-09 23:31:52 -07:00
Mike CaoandGitHub 143e22000f Merge pull request #4079 from cryst-hq/codex/fix-umami-4044
Fix tracker script name route matching
2026-03-09 23:28:40 -07:00
Mike CaoandGitHub a1e7a8332a Merge branch 'dev' into codex/fix-umami-4044 2026-03-09 23:28:33 -07:00
Mike Cao 7b84eb22f8 Refine link and pixel edit controls 2026-03-09 23:26:00 -07:00
Mike Cao 9941181697 Move pixel and link editing to dedicated pages 2026-03-09 22:09:54 -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
Mike Cao 25e60758b5 Exclude dashboards from boards list 2026-03-06 23:54:47 -08:00
Mike Cao f76b22b303 Add board type binding support 2026-03-06 23:54:46 -08:00
Mike Cao 07ff25bf7e Make board edit fields use a form layout 2026-03-06 23:54:44 -08:00
Mike Cao 8563fe1d30 Add TextBlock board component for free-form text content
New component that doesn't require a website, with textarea config
field. Added requiresWebsite flag to ComponentDefinition so board
components can opt out of the websiteId requirement.
2026-03-04 21:56:17 -08:00
Mike Cao c921231bb9 Make websiteId optional in filter controls to enable dashboard filtering
Allows BoardControls to render filter bar and date picker without
requiring a websiteId. Website-specific features (segments, cohorts,
filter value autocomplete, save segment) are gracefully hidden when
no websiteId is available.
2026-03-04 21:30:05 -08:00
Mike Cao 66d57f9fa3 Add board table edit and delete actions 2026-03-04 15:09:53 -08:00
Mike Cao b389c417de Merge branch 'dev' of https://github.com/umami-software/umami into dev
# Conflicts:
#	src/app/(main)/websites/[websiteId]/replays/ReplayModal.tsx
#	src/app/(main)/websites/[websiteId]/replays/ReplaysTable.tsx
#	src/app/(main)/websites/[websiteId]/replays/[sessionId]/ReplayPlayback.tsx
#	src/queries/sql/replays/saveReplayChunk.ts
#	src/recorder/index.js
2026-03-04 12:36:23 -08:00
Mike Cao 8c1ee0b3ce Progress check-in. Updated tracker and recorder scripts. 2026-03-04 12:21:36 -08:00
Mike Cao 3c0601f090 Fixed lockfile. 2026-02-26 10:33:27 -08:00
Mike Cao 0196b0d95d Fix issues. 2026-02-26 10:29:24 -08:00
Mike Cao 7d2dbda5d1 Complete merge. 2026-02-25 02:32:25 -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
Mike Cao 580008cd09 Merge branch 'dev' of https://github.com/umami-software/umami into dev
# Conflicts:
#	src/lib/redis.ts
2026-02-22 23:28:12 -08:00
Mike Cao 6a2692b521 Add dashboard filter controls and improve Redis reconnect handling 2026-02-20 23:47:10 -08:00
Mike Cao 3d2f7f5a4b Require website selection before adding board component 2026-02-19 02:50:15 -08:00
Mike Cao 09bc2ee5c8 chore: bump package dependencies 2026-02-16 18:34:50 -08:00
Mike Cao d349c3aea9 Merge branch 'dev' into session-recording 2026-02-16 09:20:39 -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 87bde9da1f Add board component selector with live preview
Allows users to select and inject analytics components into board cells.
Includes component registry, renderer, selector modal with category
menu, config fields for MetricsTable, and live preview. Also scopes
website select to team websites when editing a team board.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-09 00:52:46 -08:00
Mike CaoandClaude Opus 4.6 28246b8c52 Fix team boards not appearing after creation
Board creation from team context was not passing teamId to the API,
causing boards to be saved as personal boards instead of team boards.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-08 13:58:46 -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 Cao f1b314e90b Added dotenv-cli. 2026-02-07 19:42:19 -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 f595da612c Fix website reports route type error and pass teamId to board WebsiteSelect.
Remove invalid 3rd parameter from GET handler and parse report type from
query params instead. Pass teamId to WebsiteSelect in BoardEditHeader so
it shows team websites in team context.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-07 03:25:24 -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
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 b9eb5f9800 Fix missing back button in WebsiteNav by defaulting sidenav-collapsed state to false.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-06 05:01:11 -08:00
Mike CaoandClaude Opus 4.6 ce8c108fac Fix team boards endpoint calling getTeamPixels instead of getTeamBoards.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-06 04:56:42 -08:00
Mike CaoandClaude Opus 4.6 18702e130e Decompose BoardPage into individual components and remove debug logging.
Extract BoardRow, BoardColumn, BoardViewHeader, BoardEditHeader, and
boardConstants into separate files. Remove 9 console.log statements
from BoardBody and BoardProvider.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-06 04:47:23 -08:00
Mike CaoandClaude Opus 4.6 5f404f62d8 Bold text for selected items in SideNav and WebsiteNav.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-06 04:43:21 -08:00
Mike CaoandClaude Opus 4.6 3467184b8f Consolidate WebsiteNavSection into WebsiteNav and fix scrollbar flash.
Move sidebar rendering logic into WebsiteNav with isCollapsed prop so
SideNav uses WebsiteNav directly instead of duplicating code. Add
overflow hidden to prevent horizontal scrollbar during expand transition.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-06 04:27:37 -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
Mike Cao 403bdfd6e2 Fixed previous select width. 2026-02-06 03:24:29 -08:00
Mike CaoandClaude Opus 4.6 d9f8a0418c Fix WebsiteDateFilter width and date popup minimum width.
Remove unnecessary wrapper Row around DateFilter and set min-width
on the date picker popover to 200px.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-06 03:22:16 -08:00
Mike CaoandClaude Opus 4.6 18c3ffc2d8 Fix NavButton text not showing and remove unused Sidebar.
Show NavButton text whenever sidebar is not collapsed, not only on
pages without sub-navigation. Also remove unused Sidebar component.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-06 03:12:47 -08:00
Mike CaoandClaude Opus 4.6 28c9c7d3ec Fix Select component usage by removing items prop and render functions.
Replace render function children with mapped ListItem elements and remove
the unsupported items prop across all Select instances.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-06 02:46:38 -08:00
Mike CaoandClaude Opus 4.6 1b347531dc Add hover background to MetricsTable rows.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-06 02:24:41 -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 CaoandClaude Opus 4.6 7cafc3e61d Replace numeric prop values with named react-zen values.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-05 23:41:10 -08:00
Mike CaoandClaude Opus 4.6 f66a508892 Add website binding to boards with filter and date controls.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-05 22:04:59 -08:00
Mike Cao d3d86f43fa Updated packages. 2026-02-05 20:29:40 -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
Mike Cao 8484fd26e1 Code cleanup. 2026-02-05 19:46:16 -08:00