Commit Graph
6664 Commits
Author SHA1 Message Date
Mike Cao f84635b7a5 Merge pull request #4408 from maxiride/feature/bounce-calculation-v3
Feat: Improve bounce calculations with configurable threshold v3
2026-07-28 20:55:12 -07:00
Mike Cao 59aa5f22eb Merge pull request #4413 from sushant-kataria/fix/dashboard-edit-label
fix(dashboard): use Edit label to match empty-state copy
2026-07-28 17:03:19 -07:00
Mike Cao 1fcbf67af6 Merge branch 'dev' into fix/dashboard-edit-label 2026-07-28 17:03:03 -07:00
Mike Cao b5d27620e7 Merge branch 'dev' of https://github.com/umami-software/umami into dev 2026-07-28 14:07:19 -07:00
Mike Cao adba113b04 Load subscription data from API before rendering replay and heatmap views 2026-07-28 14:07:09 -07:00
Sushant Kataria c9122c0bec fix(dashboard): use Edit label to match empty-state copy
Empty dashboard message tells users to click Edit, but the header
button was hardcoded as Design. Use t(labels.edit) so the control
matches the i18n empty-state string.

Fixes #4398
2026-07-28 09:43:09 -04:00
Mike Cao 00faf04d5c Merge pull request #4356 from Niki2k1/runtime-allowed-frame-urls
Resolve ALLOWED_FRAME_URLS from the runtime environment in Docker
2026-07-27 21:05:12 -07:00
Mike Cao 385088d53a Tighten navigation section header spacing 2026-07-27 16:02:27 -07:00
Francis Cao 3136e3590a Revert "Move timezone selection to query parameters"
This reverts commit 4d7930060c.
2026-07-27 10:32:28 -07:00
Mike Cao 4d7930060c Move timezone selection to query parameters 2026-07-27 02:24:59 -07:00
Federico D'Eredità 92e9b276d2 fix(queries): count custom events correctly on the hourly rollup, trying to address greptile findings
`website_event_stats_hourly` sets `views` to
`sumIf(1, event_type NOT IN (2, 5))`, so `views` is 0 on custom event
rows and the `events_count` join was summing zeroes. Switched it to
`sum(length(event_name))`, which is how `getWebsiteSessionStats`
already counts custom events on that table.

Also dropped the `getEventExpandedMetrics` change from the previous
commit. That report is filtered to custom events, so every visit it
lists has already fired at least one, and its `bounces` column counts
visits where the event fired exactly once rather than visits with a
single pageview. The threshold rule does not apply there, so the query
is left untouched.
2026-07-26 18:49:59 +02:00
Federico D'Eredità 82a5a12208 refactor(constants): simplify BOUNCE_THRESHOLD parsing
`parseInt(undefined, 10)` returns NaN and the `|| 1` fallback already
covers it, so the `|| '1'` default was redundant.
2026-07-26 18:49:59 +02:00
Federico D'Eredità cb035fdc1a feat(queries): add BOUNCE_THRESHOLD and enhance bounce calculation logic
Updated bounce calculations to account for visits with custom events
(`EVENT_TYPE.customEvent`). A visit counts as a bounce only when its
custom event count is below `BOUNCE_THRESHOLD`, so engaged single
pageview visits are no longer misreported.

Since #3614 was opened v3 moved `getInsights` into `getBreakdown` and
copied the old formula into the channel, pageview and session
breakdowns, so those are updated too.
2026-07-26 18:49:59 +02:00
Federico D'Eredità 19fcde2c9c refactor(queries): replace hardcoded event types with constants
Replaced hardcoded `event_type` values with named constants from
`EVENT_TYPE`, as in #3614. Added the `BOUNCE_THRESHOLD` constant and
documented it in `docker-compose.yml`.
2026-07-26 18:49:58 +02:00
Mike Cao 9b41053d47 Merge pull request #4312 from mamal72/fix/improve-ir-fa-support
Add IRR currency and improve Persian (fa-IR) support
2026-07-25 10:43:02 -07:00
Mike Cao fb56a8f922 Merge branch 'dev' into fix/improve-ir-fa-support 2026-07-25 10:42:33 -07:00
Mike Cao 7bbf3f8ff6 Merge pull request #4302 from m0sth8/manifest-crossorigin-use-credentials
Send credentials when fetching the web app manifest (crossorigin="use-credentials")
2026-07-24 21:27:12 -07:00
Mike Cao 0714ebdbe3 Merge pull request #4397 from Sagittarius/codex/clickhouse-22-date-format
fix: support ClickHouse 22 date formats
2026-07-24 21:26:39 -07:00
Mike Cao 08030db836 Merge branch 'dev' of https://github.com/umami-software/umami into dev 2026-07-24 18:49:23 -07:00
Mike Cao dab6180056 Escape channel metrics literals and bypass website transfer lookup for admins 2026-07-24 18:49:02 -07:00
Francis Cao 44eb78f553 Merge branch 'dev' of https://github.com/umami-software/umami into dev 2026-07-24 15:47:05 -07:00
Francis Cao f9850f02b3 add session delete feature to relational only. add test, share conditions, and permissions. Closes #2940 2026-07-24 15:47:01 -07:00
Mike Cao 8148d775b0 Add coverage for send route and core permission and query logic 2026-07-24 15:27:17 -07:00
Mike Cao 3a8f268d21 Merge branch 'dev' of https://github.com/umami-software/umami into dev 2026-07-24 14:37:09 -07:00
Mike Cao 0b31d3a274 Mark Hebrew locale as RTL 2026-07-24 14:36:54 -07:00
Francis Cao 0dcba7d388 sync translations for 2FA and misc messages/labels 2026-07-24 14:25:31 -07:00
Mike Cao 65e810ec79 Add coverage for core utility behavior 2026-07-24 13:52:37 -07:00
Francis Cao ba741eb617 clean message order and remove extra keys 2026-07-24 11:17:09 -07:00
Francis Cao 3b4d5b9575 2FA reset feature 2026-07-24 10:46:19 -07:00
Francis Cao 896d63df94 add new test files and fix migration 2026-07-24 08:45:17 -07:00
Mike Cao b70eda56e6 Merge pull request #4394 from luca-seemann/fix/client-ip-header-xff-chain
Fix client IP resolution when CLIENT_IP_HEADER is set to x-forwarded-for
2026-07-23 15:27:51 -07:00
Mike Cao c573a2bdb3 Merge pull request #4374 from brantsrasmus/fix/session-modal-dismiss-outside-click
fix: dismiss session modals when clicking the side margins
2026-07-23 14:59:38 -07:00
Mike Cao 5188b18cc4 Merge pull request #4392 from imparpaulo01/i18n/pt-pt-missing-strings
i18n: add missing pt-PT (European Portuguese) strings
2026-07-23 14:58:50 -07:00
Mike Cao 33ac648d1f Merge pull request #4402 from sarmah-rup/fix/format-long-number-billions
fix: formatLongNumber shows billions ~1000x too large on metric tiles
2026-07-23 14:21:08 -07:00
Francis Cao ed2c0804ae Merge branch 'dev' of https://github.com/umami-software/umami into dev 2026-07-23 12:46:57 -07:00
Francis Cao 32170eed00 2FA migration and schema clean-up 2026-07-23 12:46:55 -07:00
Mike Cao 8187bb3336 Update lockfile for auth and test dependency upgrades 2026-07-23 12:06:41 -07:00
Francis Cao 13d18c0880 Merge branch 'dev' of https://github.com/umami-software/umami into dev 2026-07-23 11:50:39 -07:00
Francis Cao d05d9c4f34 Session and event property filtering. Closes #2945. Closes #4008. 2026-07-23 11:50:35 -07:00
Mike Cao 36bd9d33b8 Merge pull request #4205 from boutterudy/feat-2FA
feat(login): add 2FA
2026-07-23 11:45:20 -07:00
Mike Cao aafe068bc1 Merge branch 'dev' into feat-2FA 2026-07-23 11:14:59 -07:00
Francis Cao 78346795eb Fix revenue query filtering. Closes #4286 2026-07-23 09:41:59 -07:00
Francis Cao 934c028a53 Merge pull request #4387 from rogerhmar/security/trivy-cve-patches
fix(docker): drop bundled npm from runtime image to clear base-image CVEs
2026-07-22 13:26:56 -07:00
Francis Cao 21fe2d8e75 Merge branch 'dev' into security/trivy-cve-patches 2026-07-22 13:12:25 -07:00
Francis Cao 03ef78724b add design translations. Fix empty-dashboard message. Closes #4398 2026-07-22 12:56:11 -07:00
Francis Cao 11e57d726a fix missing extension. Closes #4400 2026-07-22 12:35:38 -07:00
Francis Cao 7db8c1e979 Merge pull request #4404 from shubhamOrgpathak1/fix/website-backend-validation
Validate website name and domain input on server side
2026-07-22 12:27:47 -07:00
Francis Cao 58ee28a55e remove session recalculate and related queries 2026-07-21 12:33:41 -07:00
Shubham Pathak 715f306a48 Validate website name and domain input on server side 2026-07-21 21:25:14 +05:45
Rup Sarmah 0715aef477 fix(format): divide by 1e9 in formatLongNumber billions branch
The billions branch of formatLongNumber divided by 1000000 while
appending the 'b' suffix, so values >= 1e9 rendered about 1000x too
large (1000000000 became '1000.0b' instead of '1.0b'). Divide by
1000000000 to match the 'b' unit, consistent with the sibling
formatLongCurrency. Add regression tests for the billions branch.
2026-07-21 17:52:40 +05:30