Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

v2.11.0 #2641

Merged
merged 124 commits into from
Apr 4, 2024
Merged

v2.11.0 #2641

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
124 commits
Select commit Hold shift + click to select a range
f59d34f
Upgrade Next.js plugin of Netlify in package.json
fabian-hiller Feb 25, 2024
5153f32
Add data-strip-search config to tracker
fabian-hiller Feb 27, 2024
2a84022
clean-up cypress docker config
franciscao633 Mar 6, 2024
5983b8a
Merge branch 'dev' of https://github.com/umami-software/umami into dev
franciscao633 Mar 6, 2024
1603657
Update bar chart only if dataset is different.
mikecao Mar 7, 2024
42f1845
Merge remote-tracking branch 'origin/dev' into dev
mikecao Mar 7, 2024
35fde36
Refactored realtime page. Fixed render issue.
mikecao Mar 8, 2024
dfe7a57
Fixed chart legend not rendering.
mikecao Mar 9, 2024
443994d
Update Prisma and Next.
mikecao Mar 9, 2024
0de1cf7
Updated packages.
mikecao Mar 10, 2024
909a96d
Fixed issue with long page titles.
mikecao Mar 10, 2024
4f03bec
Fix decoding for FilterLink
franciscao633 Mar 11, 2024
2b01979
Update endpoints.
briancao Mar 11, 2024
226c6e3
Fixed page titles in tracker.
mikecao Mar 12, 2024
5165987
Fixed remove trailing slash logic.
mikecao Mar 12, 2024
14cd549
Merge remote-tracking branch 'origin/dev' into dev
mikecao Mar 12, 2024
43a278c
Merge branch 'dev' into master
mikecao Mar 13, 2024
19cfe47
Merge pull request #2530 from fabian-hiller/master
mikecao Mar 13, 2024
af9aa83
Fixed date buttons for 30/90 day entries.
mikecao Mar 13, 2024
ba86716
Update Chinese translations
mobeicanyue Mar 14, 2024
3552c4d
Merge pull request #2602 from mobeicanyue/patch-2
mikecao Mar 14, 2024
2182fa4
Fix variable name typo in saveEventData and
mobeicanyue Mar 14, 2024
e602aed
Fixed primary color for dark mode.
mikecao Mar 14, 2024
b37a607
Merge pull request #2603 from mobeicanyue/patch-3
mikecao Mar 14, 2024
bca9c87
UTM report.
mikecao Mar 14, 2024
a02a098
Merge remote-tracking branch 'origin/dev' into dev
mikecao Mar 14, 2024
57e6489
Reorder UTM params.
mikecao Mar 14, 2024
f277580
Updated language files.
mikecao Mar 14, 2024
f652439
Created PieChart component. Refactored charts.
mikecao Mar 15, 2024
51d5363
Bump follow-redirects from 1.15.4 to 1.15.6
dependabot[bot] Mar 16, 2024
672d928
Added COLLECT_API_HOST environment variable.
mikecao Mar 18, 2024
c69a703
Host URL data attribute should take precedence.
mikecao Mar 18, 2024
477ed00
Completed dutch translation
reithose Mar 18, 2024
4c321d7
Add admin label
franciscao633 Mar 18, 2024
50c2bb2
Merge branch 'dev' of https://github.com/umami-software/umami into dev
franciscao633 Mar 18, 2024
d431074
increase breadcrumb font size
franciscao633 Mar 18, 2024
79af936
fix setDateRange typing issue
franciscao633 Mar 18, 2024
902d4c8
Updated theme check.
mikecao Mar 19, 2024
0cb28e9
Merge remote-tracking branch 'origin/dev' into dev
mikecao Mar 19, 2024
f4a9336
Simplified date logic.
mikecao Mar 20, 2024
df790cf
Merge branch 'dev' into analytics
mikecao Mar 20, 2024
96af798
Fixed array conversion for UTM report.
mikecao Mar 21, 2024
802873c
Merge branch 'dev' into analytics
mikecao Mar 21, 2024
fb3536c
Fixed UTM calculation.
mikecao Mar 21, 2024
08ca6c1
Merge branch 'dev' into analytics
mikecao Mar 21, 2024
91e004e
Null check.
mikecao Mar 21, 2024
58df502
Fixed date filter display.
mikecao Mar 21, 2024
1de3ae4
Merge branch 'dev' into analytics
mikecao Mar 21, 2024
cbeefe7
add psql migration
franciscao633 Mar 21, 2024
b36d616
fix migration bug
franciscao633 Mar 21, 2024
af1a118
update mysql migrations
franciscao633 Mar 21, 2024
91a4cb4
add mysql column population
franciscao633 Mar 21, 2024
a509336
Fixed UTM display.
mikecao Mar 21, 2024
0e44ce3
Merge branch 'dev' into analytics
mikecao Mar 21, 2024
b3cad83
Use safe URI decoding.
mikecao Mar 21, 2024
b873ea3
Fixed UTM query. Fixed types.
mikecao Mar 22, 2024
6bcc349
Merge branch 'dev' into analytics
mikecao Mar 22, 2024
dffe823
Merge pull request #2617 from reithose/patch-1
mikecao Mar 22, 2024
d38d8c2
Merge pull request #2611 from umami-software/dependabot/npm_and_yarn/…
mikecao Mar 22, 2024
09a161d
Added more date filter options.
mikecao Mar 22, 2024
d59477d
Merge remote-tracking branch 'origin/dev' into dev
mikecao Mar 22, 2024
5daad27
Update insights report parameters. Added contains logic.
mikecao Mar 23, 2024
5faa7dd
update LT lang, part 2
kiprasmel Mar 22, 2024
c4d0c43
Fix mobile nav.
briancao Mar 24, 2024
03eeb6a
Merge branch 'dev' of https://github.com/umami-software/umami into dev
briancao Mar 24, 2024
e61f36a
Team Websites responsive.
briancao Mar 24, 2024
1a5b996
Fix team url.
briancao Mar 24, 2024
8bc1dcb
Update field select forms. Created new hooks.
mikecao Mar 25, 2024
741c77d
Merge remote-tracking branch 'origin/dev' into dev
mikecao Mar 25, 2024
d3ca856
check in clickhouse migration script
franciscao633 Mar 25, 2024
0aaf2c0
update visitId hash and expiration logic
franciscao633 Mar 26, 2024
db75e1e
Add iat to session object
franciscao633 Mar 26, 2024
12cec94
Merge branch 'dev' into feat/ume-660-implement-visitor-id
franciscao633 Mar 26, 2024
7c7fd57
remove test schema from CH migration script
franciscao633 Mar 26, 2024
d36bf43
remove order by in insert select
franciscao633 Mar 26, 2024
c033b05
create join table and remove subquery from insert
franciscao633 Mar 26, 2024
7a6a598
Fix css date picker.
briancao Mar 26, 2024
2fa9544
Updated url and referrer logic in tracker.
mikecao Mar 26, 2024
e6aebf5
Upgraded Next and Prisma.
mikecao Mar 26, 2024
91efb7f
Fixed search for postgresql.
mikecao Mar 26, 2024
1a839d1
Merge remote-tracking branch 'origin/dev' into dev
mikecao Mar 26, 2024
51139c1
include visitors metrics in websiteStats
franciscao633 Mar 26, 2024
dcf2457
update terminology, add metric cards to new metrics
franciscao633 Mar 26, 2024
cff2d00
Refactored filter parameters.
mikecao Mar 27, 2024
4ee7dea
Merge remote-tracking branch 'origin/dev' into dev
mikecao Mar 27, 2024
e5c4da8
Merge pull request #2620 from kiprasmel/lt-lang-upd-2
mikecao Mar 27, 2024
91f49ba
Updated encoding logic in tracker and send.
mikecao Mar 27, 2024
be75f47
Merge remote-tracking branch 'origin/dev' into dev
mikecao Mar 27, 2024
41593ee
Prevent null error.
mikecao Mar 27, 2024
d945ed3
Support contains queries in overview page.
mikecao Mar 27, 2024
ab58c76
change views back to pageviews
franciscao633 Mar 27, 2024
740a940
Fixed views label.
mikecao Mar 27, 2024
cfa568f
Fixed column name for pageviews.
mikecao Mar 28, 2024
4e77d95
Updated minimum date check.
mikecao Mar 28, 2024
a5362d9
Prevent undefined strings in tracker.
mikecao Mar 28, 2024
a933f5b
Lowercase before checking headers. Closes #2634.
mikecao Mar 28, 2024
538fb49
Null check.
mikecao Mar 28, 2024
6ea48d5
Fixed filter menu issue.
mikecao Mar 28, 2024
e1ad3b9
Fixed wrong chart color.
mikecao Mar 28, 2024
40c1ce4
Fixed chart rendering issue.
mikecao Mar 29, 2024
314bbee
Fixed funnel report parameters not showing.
mikecao Mar 29, 2024
7ec4e5d
Fix UTM report for postgres. udpate parseParameters to work with bigInt
franciscao633 Mar 29, 2024
dd88b1d
Fixed styling on update notice. Added private mode.
mikecao Mar 29, 2024
5a2330b
Merge remote-tracking branch 'origin/dev' into dev
mikecao Mar 29, 2024
291562f
Updated timezone hook, fixed chart rendering, added icons.
mikecao Mar 29, 2024
490e446
Removed timezone-support package.
mikecao Mar 29, 2024
a4d8afe
Convert local time to timezone.
mikecao Mar 29, 2024
ef11124
Filter tag enhancements.
mikecao Apr 1, 2024
6767f95
Update tag rule.
mikecao Apr 1, 2024
a695f6d
Fixed legend not updating correctly.
mikecao Apr 2, 2024
05079f3
update funnels for CH. Add wildcards and event steps
franciscao633 Apr 2, 2024
bc5e85c
Merge branch 'dev' of https://github.com/umami-software/umami into dev
franciscao633 Apr 2, 2024
6ee9bb0
add funnel updates to relational query
franciscao633 Apr 2, 2024
8459688
fix handleRemoveUrl for funnel report
franciscao633 Apr 2, 2024
810b063
Updated filtering logic.
mikecao Apr 3, 2024
30a1cdd
Fixed metrics search.
mikecao Apr 3, 2024
cfe7089
UI for new funnel report.
mikecao Apr 3, 2024
3aee540
Funnel report styling.
mikecao Apr 3, 2024
1b8923f
Merge branch 'dev' into analytics
mikecao Apr 3, 2024
cf8d49f
Funnel report updates. Fixed insights report.
mikecao Apr 3, 2024
0fb1506
Merge branch 'dev' into analytics
mikecao Apr 4, 2024
ada332f
Fixed filtering on insights report.
mikecao Apr 4, 2024
e8e95b5
Merge branch 'dev' into analytics
mikecao Apr 4, 2024
901e948
Merge branch 'master' into analytics
mikecao Apr 4, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ node_modules
# misc
.DS_Store
.idea
.yarn
*.iml
*.log
.vscode
Expand Down
5 changes: 5 additions & 0 deletions cypress.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,9 @@ export default defineConfig({
e2e: {
baseUrl: 'http://localhost:3000',
},
// default username / password on init
env: {
umami_user: 'admin',
umami_password: 'umami',
},
});
3 changes: 2 additions & 1 deletion cypress/docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -43,9 +43,10 @@ services:
- CYPRESS_umami_user=admin
- CYPRESS_umami_password=umami
volumes:
- ../tsconfig.json:/tsconfig.json
- ./tsconfig.json:/tsconfig.json
- ../cypress.config.ts:/cypress.config.ts
- ./:/cypress
- ../node_modules/:/node_modules
- ../src/lib/crypto.ts:/src/lib/crypto.ts
volumes:
umami-db-data:
8 changes: 6 additions & 2 deletions cypress/e2e/login.cy.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,12 @@ describe('Login tests', () => {
},
() => {
cy.visit('/login');
cy.getDataTest('input-username').find('input').type(Cypress.env('umami_user'));
cy.getDataTest('input-password').find('input').type(Cypress.env('umami_password'));
cy.getDataTest('input-username').find('input').click();
cy.getDataTest('input-username').find('input').type(Cypress.env('umami_user'), { delay: 50 });
cy.getDataTest('input-password').find('input').click();
cy.getDataTest('input-password')
.find('input')
.type(Cypress.env('umami_password'), { delay: 50 });
cy.getDataTest('button-submit').click();
cy.url().should('eq', Cypress.config().baseUrl + '/dashboard');
cy.getDataTest('button-profile').click();
Expand Down
30 changes: 14 additions & 16 deletions cypress/e2e/website.cy.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,10 @@ describe('Website tests', () => {
cy.visit('/settings/websites');
cy.getDataTest('button-website-add').click();
cy.contains(/Add website/i).should('be.visible');
cy.getDataTest('input-name').find('input').wait(500).type('Add test', { delay: 50 });
cy.getDataTest('input-domain').find('input').wait(500).type('addtest.com', { delay: 50 });
cy.getDataTest('input-name').find('input').click();
cy.getDataTest('input-name').find('input').type('Add test', { delay: 50 });
cy.getDataTest('input-domain').find('input').click();
cy.getDataTest('input-domain').find('input').type('addtest.com', { delay: 50 });
cy.getDataTest('button-submit').click();
cy.get('td[label="Name"]').should('contain.text', 'Add test');
cy.get('td[label="Domain"]').should('contain.text', 'addtest.com');
Expand All @@ -26,27 +28,23 @@ describe('Website tests', () => {
cy.deleteWebsite(websiteId);
});
cy.visit('/settings/websites');
cy.contains('Add test').should('not.exist');
cy.contains(/Add test/i).should('not.exist');
});

it.only('Edit a website', () => {
it('Edit a website', () => {
// prep data
cy.addWebsite('Update test', 'updatetest.com');
cy.visit('/settings/websites');

// edit website
cy.getDataTest('link-button-edit').first().click();
cy.contains(/Details/i).should('be.visible');
cy.getDataTest('input-name')
.find('input')
.wait(500)
.clear()
.type('Updated website', { delay: 50 });
cy.getDataTest('input-domain')
.find('input')
.wait(500)
.clear()
.type('updatedwebsite.com', { delay: 50 });
cy.getDataTest('input-name').find('input').click();
cy.getDataTest('input-name').find('input').clear();
cy.getDataTest('input-name').find('input').type('Updated website', { delay: 50 });
cy.getDataTest('input-domain').find('input').click();
cy.getDataTest('input-domain').find('input').clear();
cy.getDataTest('input-domain').find('input').type('updatedwebsite.com', { delay: 50 });
cy.getDataTest('button-submit').click({ force: true });
cy.getDataTest('input-name').find('input').should('have.value', 'Updated website');
cy.getDataTest('input-domain').find('input').should('have.value', 'updatedwebsite.com');
Expand All @@ -69,7 +67,7 @@ describe('Website tests', () => {
cy.deleteWebsite(websiteId);
});
cy.visit('/settings/websites');
cy.contains('Add test').should('not.exist');
cy.contains(/Add test/i).should('not.exist');
});

it('Delete a website', () => {
Expand All @@ -86,6 +84,6 @@ describe('Website tests', () => {
cy.contains(/Type DELETE in the box below to confirm./i).should('be.visible');
cy.get('input[name="confirm"').type('DELETE');
cy.get('button[type="submit"]').click();
cy.contains('Delete test').should('not.exist');
cy.contains(/Delete test/i).should('not.exist');
});
});
90 changes: 90 additions & 0 deletions db/clickhouse/migrations/02_add_visit_id.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
CREATE TABLE umami.website_event_join
(
session_id UUID,
visit_id UUID,
created_at DateTime('UTC')
)
engine = MergeTree
ORDER BY (session_id, created_at)
SETTINGS index_granularity = 8192;

INSERT INTO umami.website_event_join
SELECT DISTINCT
s.session_id,
generateUUIDv4() visit_id,
s.created_at
FROM (SELECT DISTINCT session_id,
date_trunc('hour', created_at) created_at
FROM website_event) s;

-- create new table
CREATE TABLE umami.website_event_new
(
website_id UUID,
session_id UUID,
visit_id UUID,
event_id UUID,
hostname LowCardinality(String),
browser LowCardinality(String),
os LowCardinality(String),
device LowCardinality(String),
screen LowCardinality(String),
language LowCardinality(String),
country LowCardinality(String),
subdivision1 LowCardinality(String),
subdivision2 LowCardinality(String),
city String,
url_path String,
url_query String,
referrer_path String,
referrer_query String,
referrer_domain String,
page_title String,
event_type UInt32,
event_name String,
created_at DateTime('UTC'),
job_id UUID
)
engine = MergeTree
ORDER BY (website_id, session_id, created_at)
SETTINGS index_granularity = 8192;

INSERT INTO umami.website_event_new
SELECT we.website_id,
we.session_id,
j.visit_id,
we.event_id,
we.hostname,
we.browser,
we.os,
we.device,
we.screen,
we.language,
we.country,
we.subdivision1,
we.subdivision2,
we.city,
we.url_path,
we.url_query,
we.referrer_path,
we.referrer_query,
we.referrer_domain,
we.page_title,
we.event_type,
we.event_name,
we.created_at,
we.job_id
FROM umami.website_event we
JOIN umami.website_event_join j
ON we.session_id = j.session_id
and date_trunc('hour', we.created_at) = j.created_at

RENAME TABLE umami.website_event TO umami.website_event_old;
RENAME TABLE umami.website_event_new TO umami.website_event;

/*

DROP TABLE umami.website_event_old
DROP TABLE umami.website_event_join

*/
1 change: 1 addition & 0 deletions db/clickhouse/schema.sql
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ CREATE TABLE umami.website_event
(
website_id UUID,
session_id UUID,
visit_id UUID,
event_id UUID,
--sessions
hostname LowCardinality(String),
Expand Down
22 changes: 22 additions & 0 deletions db/mysql/migrations/05_add_visit_id/migration.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
-- AlterTable
ALTER TABLE `website_event` ADD COLUMN `visit_id` VARCHAR(36) NULL;

UPDATE `website_event` we
JOIN (SELECT DISTINCT
s.session_id,
s.visit_time,
BIN_TO_UUID(RANDOM_BYTES(16) & 0xffffffffffff0fff3fffffffffffffff | 0x00000000000040008000000000000000) uuid
FROM (SELECT DISTINCT session_id,
DATE_FORMAT(created_at, '%Y-%m-%d %H:00:00') visit_time
FROM `website_event`) s) a
ON we.session_id = a.session_id and DATE_FORMAT(we.created_at, '%Y-%m-%d %H:00:00') = a.visit_time
SET we.visit_id = a.uuid
WHERE we.visit_id IS NULL;

ALTER TABLE `website_event` MODIFY `visit_id` VARCHAR(36) NOT NULL;

-- CreateIndex
CREATE INDEX `website_event_visit_id_idx` ON `website_event`(`visit_id`);

-- CreateIndex
CREATE INDEX `website_event_website_id_visit_id_created_at_idx` ON `website_event`(`website_id`, `visit_id`, `created_at`);
3 changes: 3 additions & 0 deletions db/mysql/schema.prisma
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,7 @@ model WebsiteEvent {
id String @id() @map("event_id") @db.VarChar(36)
websiteId String @map("website_id") @db.VarChar(36)
sessionId String @map("session_id") @db.VarChar(36)
visitId String @map("visit_id") @db.VarChar(36)
createdAt DateTime? @default(now()) @map("created_at") @db.Timestamp(0)
urlPath String @map("url_path") @db.VarChar(500)
urlQuery String? @map("url_query") @db.VarChar(500)
Expand All @@ -107,6 +108,7 @@ model WebsiteEvent {

@@index([createdAt])
@@index([sessionId])
@@index([visitId])
@@index([websiteId])
@@index([websiteId, createdAt])
@@index([websiteId, createdAt, urlPath])
Expand All @@ -115,6 +117,7 @@ model WebsiteEvent {
@@index([websiteId, createdAt, pageTitle])
@@index([websiteId, createdAt, eventName])
@@index([websiteId, sessionId, createdAt])
@@index([websiteId, visitId, createdAt])
@@map("website_event")
}

Expand Down
22 changes: 22 additions & 0 deletions db/postgresql/migrations/05_add_visit_id/migration.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
-- AlterTable
ALTER TABLE "website_event" ADD COLUMN "visit_id" UUID NULL;

UPDATE "website_event" we
SET visit_id = a.uuid
FROM (SELECT DISTINCT
s.session_id,
s.visit_time,
gen_random_uuid() uuid
FROM (SELECT DISTINCT session_id,
date_trunc('hour', created_at) visit_time
FROM "website_event") s) a
WHERE we.session_id = a.session_id
and date_trunc('hour', we.created_at) = a.visit_time;

ALTER TABLE "website_event" ALTER COLUMN "visit_id" SET NOT NULL;

-- CreateIndex
CREATE INDEX "website_event_visit_id_idx" ON "website_event"("visit_id");

-- CreateIndex
CREATE INDEX "website_event_website_id_visit_id_created_at_idx" ON "website_event"("website_id", "visit_id", "created_at");
3 changes: 3 additions & 0 deletions db/postgresql/schema.prisma
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,7 @@ model WebsiteEvent {
id String @id() @map("event_id") @db.Uuid
websiteId String @map("website_id") @db.Uuid
sessionId String @map("session_id") @db.Uuid
visitId String @map("visit_id") @db.Uuid
createdAt DateTime? @default(now()) @map("created_at") @db.Timestamptz(6)
urlPath String @map("url_path") @db.VarChar(500)
urlQuery String? @map("url_query") @db.VarChar(500)
Expand All @@ -107,6 +108,7 @@ model WebsiteEvent {

@@index([createdAt])
@@index([sessionId])
@@index([visitId])
@@index([websiteId])
@@index([websiteId, createdAt])
@@index([websiteId, createdAt, urlPath])
Expand All @@ -115,6 +117,7 @@ model WebsiteEvent {
@@index([websiteId, createdAt, pageTitle])
@@index([websiteId, createdAt, eventName])
@@index([websiteId, sessionId, createdAt])
@@index([websiteId, visitId, createdAt])
@@map("website_event")
}

Expand Down
2 changes: 2 additions & 0 deletions next.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ const frameAncestors = process.env.ALLOWED_FRAME_URLS || '';
const disableLogin = process.env.DISABLE_LOGIN || '';
const disableUI = process.env.DISABLE_UI || '';
const hostURL = process.env.HOST_URL || '';
const privateMode = process.env.PRIVATE_MODE || '';

const contentSecurityPolicy = [
`default-src 'self'`,
Expand Down Expand Up @@ -120,6 +121,7 @@ const config = {
disableLogin,
disableUI,
hostURL,
privateMode,
},
basePath,
output: 'standalone',
Expand Down
15 changes: 7 additions & 8 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "umami",
"version": "2.10.2",
"version": "2.11.0",
"description": "A simple, fast, privacy-focused alternative to Google Analytics.",
"author": "Umami Software, Inc. <hello@umami.is>",
"license": "MIT",
Expand Down Expand Up @@ -66,14 +66,14 @@
"dependencies": {
"@clickhouse/client": "^0.2.2",
"@fontsource/inter": "^4.5.15",
"@prisma/client": "5.9.1",
"@prisma/client": "5.11.0",
"@prisma/extension-read-replicas": "^0.3.0",
"@react-spring/web": "^9.7.3",
"@tanstack/react-query": "^5.12.2",
"@tanstack/react-query": "^5.28.6",
"@umami/prisma-client": "^0.14.0",
"@umami/redis-client": "^0.18.0",
"chalk": "^4.1.1",
"chart.js": "^4.2.1",
"chart.js": "^4.4.2",
"chartjs-adapter-date-fns": "^3.0.0",
"classnames": "^2.3.1",
"colord": "^2.9.2",
Expand All @@ -98,11 +98,11 @@
"maxmind": "^4.3.6",
"md5": "^2.3.0",
"moment-timezone": "^0.5.35",
"next": "14.1.0",
"next": "14.1.4",
"next-basics": "^0.39.0",
"node-fetch": "^3.2.8",
"npm-run-all": "^4.1.5",
"prisma": "5.9.1",
"prisma": "5.11.0",
"react": "^18.2.0",
"react-basics": "^0.123.0",
"react-beautiful-dnd": "^13.1.0",
Expand All @@ -115,7 +115,6 @@
"request-ip": "^3.3.0",
"semver": "^7.5.4",
"thenby": "^1.3.4",
"timezone-support": "^2.0.2",
"uuid": "^9.0.0",
"yup": "^0.32.11",
"zustand": "^4.3.8"
Expand Down Expand Up @@ -176,6 +175,6 @@
"tar": "^6.1.2",
"ts-jest": "^29.1.2",
"ts-node": "^10.9.1",
"typescript": "^5.1.6"
"typescript": "^5.4.3"
}
}
6 changes: 6 additions & 0 deletions public/intl/messages/am-ET.json
Original file line number Diff line number Diff line change
Expand Up @@ -215,6 +215,12 @@
"value": "Created"
}
],
"label.created-by": [
{
"type": 0,
"value": "Created By"
}
],
"label.current-password": [
{
"type": 0,
Expand Down
Loading