Commit graph

5499 commits

Author SHA1 Message Date
Iskandar Sulaili
9e6e779b29
Merge branch 'master' into dev 2025-11-12 19:55:24 +08:00
Mike Cao
7ac5913c86
Merge pull request #3704 from prince0xdev/fix/disable-download-when-no-data
Some checks failed
Node.js CI / build (postgresql, 18.18, 10) (push) Has been cancelled
Fix: Disable download button when no data available
2025-11-10 22:43:42 -08:00
Mike Cao
a6e130ab2e
Fix DownloadButton to avoid duplicate downloadCsv call
Removed redundant downloadCsv call from handleClick.
2025-11-10 22:43:22 -08:00
Mike Cao
4fe4bb99b7
Apply suggestion from @greptile-apps[bot]
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
2025-11-10 22:42:20 -08:00
Prince EKPINSE
b9e90268d1 chore [#3699] : fix .gitignore syntax and untrack package-lock.json 2025-11-08 22:33:22 +01:00
Mike Cao
03c892aac0
Merge pull request #3688 from mathis5711/patch-docker-image-name
Some checks failed
Node.js CI / build (postgresql, 18.18, 10) (push) Has been cancelled
Fixing docker image name
2025-11-08 11:26:31 -08:00
Prince EKPINSE
cf31ca20b9 Fix: disable download button when no data available 2025-11-08 18:22:38 +01:00
Prince EKPINSE
c3f3a7db3f Fix: disable download button when no data available 2025-11-08 18:17:22 +01:00
Mike Cao
6ba9c1c40c New docker workflow.
Some checks are pending
Node.js CI / build (postgresql, 18.18, 10) (push) Waiting to run
2025-11-07 22:41:10 -08:00
Mike Cao
de6515139e Fixed Docker permissions.
Some checks are pending
Node.js CI / build (postgresql, 18.18, 10) (push) Waiting to run
2025-11-07 18:17:51 -08:00
Mike Cao
e3ca002d77 Fixed tags in build. 2025-11-07 14:35:05 -08:00
Mike Cao
8119dae3c3 Updated GH workflow. 2025-11-07 13:59:50 -08:00
Iskandar Sulaili
148eaefc0e
Merge pull request #3 from umami-software/master
v3
2025-11-08 05:26:36 +08:00
Mike Cao
6ee93f7ac9 Updated README and cd.yml. 2025-11-07 12:21:17 -08:00
Mike Cao
3e9ca8761e Removed workflow script.
Some checks are pending
Node.js CI / build (postgresql, 18.18, 10) (push) Waiting to run
2025-11-07 09:15:01 -08:00
Mike Cao
d2f512cae7 Don't publish .sig files. 2025-11-07 09:14:19 -08:00
Mike Cao
df3ca02e8b Always push latest for Docker. 2025-11-07 08:52:16 -08:00
mathis5711
e49624a6da
Apply suggestions from code review
Edit for better formatting warning message

Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
2025-11-07 10:14:55 +01:00
mathis5711
9ad17e0f62
Fix warning message for updating from Umami V2
Fixing markdown from last commit
2025-11-07 09:36:44 +01:00
mathis5711
6d16642a6c
Update README with deprecation notice for PostgreSQL image
Added warning about deprecation of 'postgresql-latest' image.
2025-11-07 09:36:14 +01:00
mathis5711
b200346fd3
Change Umami Docker image tag to 'latest'
Updated Docker pull command to use the latest image, because "postgresql-latest" is deprecated.
2025-11-07 09:31:30 +01:00
Mike Cao
a90b788138 Updated cd script.
Some checks are pending
Node.js CI / build (postgresql, 18.18, 10) (push) Waiting to run
2025-11-07 00:09:53 -08:00
Mike Cao
dd6556968c Updated image tag. 2025-11-06 23:58:12 -08:00
Mike Cao
04a05bbf26 Added workflow input. 2025-11-06 23:35:14 -08:00
Mike Cao
437c9603db Fixed build. 2025-11-06 22:58:26 -08:00
Mike Cao
03ed5349f4 Merge branch 'dev' 2025-11-06 22:50:30 -08:00
Mike Cao
4272bb4c4d Removed db types from docker build. 2025-11-06 22:48:34 -08:00
Mike Cao
6135ef9dd2 Fixed test. 2025-11-06 22:24:08 -08:00
iskandarsulaili
97a3428b78 feat: Complete Phase 5 - Add Recommendation Engine UI components and documentation
- Add 3 Recommendation Engine analytics components (UserProfileDashboard, RecommendationPerformanceMetrics, MLModelRegistryViewer)
- Add 4 WooCommerce analytics components (WooCommerceRevenueDashboard, ProductPerformanceTable, CategoryConversionFunnel, CheckoutAbandonmentTracker)
- Add 1 Engagement metrics component (EngagementMetricsDashboard)
- Implement 8 API endpoints for custom analytics features
- Create 8 SQL queries for data retrieval
- Update README.md with custom features documentation
- Add comprehensive component documentation

Total: 8 UI components, 8 API endpoints, 8 SQL queries
Build verified: Production-ready with no errors
2025-11-07 11:59:54 +08:00
iskandarsulaili
9d4c646364 docs: add cross-links to First8Marketing ecosystem
- Add Related Projects section with links to ecosystem repositories
- Add system integration diagram showing data flow
- Link to First8Marketing Track plugin
- Link to First8Marketing Recommendation Engine plugin
- Clarify role in the First8Marketing analytics stack
2025-11-07 10:27:32 +08:00
Mike Cao
b5795a8b3f Fixed update notice.
Some checks failed
Node.js CI / build (postgresql, 18.18, 10) (push) Has been cancelled
2025-11-06 16:16:53 -08:00
iskandarsulaili
7c1db78050 feat: Add UserMapping constraints and schema improvements
## Database Schema Enhancements

### Migration 19 - Fixed
- Removed invalid composite index on session(visitor_id, user_id)
- visitor_id column doesn't exist in session table
- Fixed migration to only create valid indexes

### Migration 20 - New Constraints (with rollback support)
- Added websiteId foreign key to UserMapping table
- Added foreign key constraint to Website table for referential integrity
- Added composite index on UserMapping(websiteId, userId) for query performance
- Added composite index on Session(websiteId, userId) for join optimization

### Schema Updates
- Updated UserMapping model with websiteId field
- Added foreign key relationship: UserMapping -> Website
- Added userMappings relation to Website model
- Added composite indexes for better query performance

## Files Changed

### Modified
- prisma/schema.prisma - Added foreign keys and composite indexes
- prisma/migrations/19_add_user_id_mapping/migration.sql - Fixed invalid index

### New
- prisma/migrations/20_add_user_mapping_constraints/migration.sql - Forward migration
- prisma/migrations/20_add_user_mapping_constraints/rollback.sql - Rollback script

## Benefits
-  Referential integrity enforced at database level
-  Optimized queries for Umami sync operations
-  Better join performance on Session table
-  Rollback capability for safe schema changes

## Breaking Changes
- UserMapping table now requires websiteId field
- Existing data will be migrated to use first available website_id

## Migration Notes
Run the migration with:
```bash
npx prisma migrate deploy
```

To rollback if needed:
```bash
psql -d umami -f prisma/migrations/20_add_user_mapping_constraints/rollback.sql
```
2025-11-06 22:04:57 +08:00
iskandarsulaili
5cf1e0c16a feat: Add user ID mapping migration for WordPress integration
Added Prisma migration to support user identification:

1. Session Table Enhancement
   - Added user_id column (VARCHAR(36)) to session table
   - Stores WordPress user ID for logged-in users
   - Indexed for efficient lookups

2. User Mapping Table
   - New table to track visitor_id to user_id relationships
   - Maps anonymous visitors to authenticated users
   - Tracks first_seen_at, last_seen_at, and session_count
   - Unique constraint on (visitor_id, user_id) pair

3. Indexes
   - idx_session_user_id - Fast user_id lookups
   - idx_session_visitor_user - Composite index for visitor+user queries
   - idx_user_mapping_visitor - Visitor ID lookups
   - idx_user_mapping_user - User ID lookups
   - idx_user_mapping_last_seen - Time-based queries

This migration enables unified user tracking across anonymous and authenticated sessions, supporting the WordPress plugin's user identification feature.
2025-11-06 19:53:33 +08:00
Mike Cao
98092004b6
Merge pull request #3683 from umami-software/dev
Some checks are pending
Node.js CI / build (postgresql, 18.18, 10) (push) Waiting to run
v3
2025-11-05 18:34:36 -08:00
iskandarsulaili
5f496fdb79 feat: integrate First8 Marketing hyper-personalization system
Enhanced Umami Analytics with First8 Marketing integration for
hyper-personalized recommendation engine.

Database Enhancements:
- PostgreSQL 17 with Apache AGE 1.6.0 (graph database)
- TimescaleDB 2.23.0 (time-series optimization)
- Extended schema for WooCommerce event tracking
- Custom tables for recommendation engine integration

Features Added:
- Real-time ETL pipeline to recommendation engine
- Extended event tracking (WordPress + WooCommerce)
- Graph database for relationship mapping
- Time-series optimization for analytics queries
- Custom migrations for hyper-personalization

Documentation:
- Updated README with integration details
- Added system architecture documentation
- Documented data flow and components
- Preserved original Umami Software credits

Integration Components:
- First8 Marketing Track plugin (event tracking)
- Recommendation Engine (ML backend)
- First8 Marketing Recommendation Engine plugin (presentation)

Status: Production-ready
Version: Based on Umami latest + First8 Marketing enhancements
2025-11-05 19:17:57 +08:00
Francis Cao
a6d4519a98 set maxHeight for DialogButton. remove from individual buttons
Some checks failed
Create docker images (cloud) / Build, push, and deploy (push) Has been cancelled
Node.js CI / build (postgresql, 18.18, 10) (push) Has been cancelled
2025-11-04 09:34:37 -08:00
Mike Cao
5398cd89fe Reordered IP headers.
Some checks are pending
Create docker images (cloud) / Build, push, and deploy (push) Waiting to run
Node.js CI / build (postgresql, 18.18, 10) (push) Waiting to run
2025-11-03 21:01:12 -08:00
Mike Cao
79e324aace Updated Dockerfile to match current Prisma version.
Some checks are pending
Node.js CI / build (postgresql, 18.18, 10) (push) Waiting to run
2025-11-03 16:54:58 -08:00
Mike Cao
684863d6c7 Added laptop detection. Reorganized IP headers. 2025-11-03 16:44:01 -08:00
Francis Cao
c9f522b24d remove MySQL references from README
Some checks failed
Node.js CI / build (postgresql, 18.18, 10) (push) Has been cancelled
2025-10-31 09:12:32 -07:00
Mike Cao
eb3cfbfa88 Updated lock file.
Some checks failed
Create docker images (cloud) / Build, push, and deploy (push) Has been cancelled
Node.js CI / build (postgresql, 18.18, 10) (push) Has been cancelled
2025-10-31 00:21:02 -07:00
Mike Cao
067567cbf6 Force geo build with BUILD_GEO env var.
Some checks are pending
Node.js CI / build (postgresql, 18.18, 10) (push) Waiting to run
2025-10-31 00:13:02 -07:00
Mike Cao
751568d871 Merge remote-tracking branch 'origin/dev' into dev
Some checks are pending
Create docker images (cloud) / Build, push, and deploy (push) Waiting to run
Node.js CI / build (postgresql, 18.18, 10) (push) Waiting to run
2025-10-30 17:05:49 -07:00
Mike Cao
b08a6e1113 Don't prefetch pixel links. 2025-10-30 17:05:11 -07:00
Francis Cao
504c459090 update schema validation for link/pixel updates
Some checks failed
Node.js CI / build (postgresql, 18.18, 10) (push) Has been cancelled
2025-10-30 16:13:36 -07:00
Mike Cao
dfe969cabe Fixed pixels/links collect.
Some checks are pending
Node.js CI / build (postgresql, 18.18, 10) (push) Waiting to run
2025-10-30 12:53:12 -07:00
Francis Cao
f073fb1996 Add DialogTrigger to overflow menus
Some checks are pending
Node.js CI / build (postgresql, 18.18, 10) (push) Waiting to run
2025-10-29 12:38:52 -07:00
Francis Cao
72fba187db separate Admin/Settings Nav and add to MobileNav 2025-10-29 11:32:52 -07:00
Francis Cao
ef55b63a3b Fix admin layout and data refresh after update/delete 2025-10-29 11:04:54 -07:00
Francis Cao
c81b1c16c8 fix geteventdatavalues query 2025-10-29 10:10:46 -07:00