From ab1418514d84a766ac983f0b019d3d3557d1e767 Mon Sep 17 00:00:00 2001 From: "homarr-releases[bot]" <175486441+homarr-releases[bot]@users.noreply.github.com> Date: Sat, 4 Apr 2026 10:08:48 +0000 Subject: [PATCH 01/49] chore: update bug report template (#5406) Co-authored-by: Releases Homarr <175486441+homarr-releases[bot]@users.noreply.github.com> --- .github/ISSUE_TEMPLATE/bug_report.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml index b65d5ab4d..67a0a288a 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yml +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -33,6 +33,7 @@ body: options: # The below comment is used to insert a new version with on-release.yml #NEXT_VERSION# + - 1.58.1 - 1.58.0 - 1.57.1 - 1.57.0 From f0ef4729bfb7c3672968b77b9b757bc34877c60f Mon Sep 17 00:00:00 2001 From: "homarr-renovate[bot]" <158783068+homarr-renovate[bot]@users.noreply.github.com> Date: Sat, 4 Apr 2026 10:42:36 +0000 Subject: [PATCH 02/49] fix(deps): update dependency @tabler/icons-react to ^3.41.1 (#5400) Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com> --- apps/nextjs/package.json | 2 +- packages/modals-collection/package.json | 2 +- packages/notifications/package.json | 2 +- packages/spotlight/package.json | 2 +- packages/ui/package.json | 2 +- packages/widgets/package.json | 2 +- pnpm-lock.yaml | 50 ++++++++++++------------- 7 files changed, 31 insertions(+), 31 deletions(-) diff --git a/apps/nextjs/package.json b/apps/nextjs/package.json index 5845f2ac7..ba929b6bd 100644 --- a/apps/nextjs/package.json +++ b/apps/nextjs/package.json @@ -55,7 +55,7 @@ "@mantine/modals": "^8.3.18", "@mantine/tiptap": "^8.3.18", "@million/lint": "1.0.14", - "@tabler/icons-react": "^3.41.0", + "@tabler/icons-react": "^3.41.1", "@tanstack/react-query": "^5.95.2", "@tanstack/react-query-devtools": "^5.95.2", "@tanstack/react-query-next-experimental": "^5.95.2", diff --git a/packages/modals-collection/package.json b/packages/modals-collection/package.json index 4349797fd..8f6abad81 100644 --- a/packages/modals-collection/package.json +++ b/packages/modals-collection/package.json @@ -34,7 +34,7 @@ "@homarr/ui": "workspace:^0.1.0", "@homarr/validation": "workspace:^0.1.0", "@mantine/core": "^8.3.18", - "@tabler/icons-react": "^3.41.0", + "@tabler/icons-react": "^3.41.1", "dayjs": "^1.11.20", "next": "16.2.1", "react": "19.2.4", diff --git a/packages/notifications/package.json b/packages/notifications/package.json index ba8f2c6d4..096ffaeb1 100644 --- a/packages/notifications/package.json +++ b/packages/notifications/package.json @@ -25,7 +25,7 @@ "dependencies": { "@homarr/ui": "workspace:^0.1.0", "@mantine/notifications": "^8.3.18", - "@tabler/icons-react": "^3.41.0" + "@tabler/icons-react": "^3.41.1" }, "devDependencies": { "@homarr/eslint-config": "workspace:^0.2.0", diff --git a/packages/spotlight/package.json b/packages/spotlight/package.json index 215c68bc6..de87590a7 100644 --- a/packages/spotlight/package.json +++ b/packages/spotlight/package.json @@ -36,7 +36,7 @@ "@mantine/core": "^8.3.18", "@mantine/hooks": "^8.3.18", "@mantine/spotlight": "^8.3.18", - "@tabler/icons-react": "^3.41.0", + "@tabler/icons-react": "^3.41.1", "jotai": "^2.19.0", "next": "16.2.1", "react": "19.2.4", diff --git a/packages/ui/package.json b/packages/ui/package.json index 0556e69c9..d269d6050 100644 --- a/packages/ui/package.json +++ b/packages/ui/package.json @@ -33,7 +33,7 @@ "@mantine/core": "^8.3.18", "@mantine/dates": "^8.3.18", "@mantine/hooks": "^8.3.18", - "@tabler/icons-react": "^3.41.0", + "@tabler/icons-react": "^3.41.1", "crypto-js": "^4.2.0", "mantine-react-table": "2.0.0-beta.9", "next": "16.2.1", diff --git a/packages/widgets/package.json b/packages/widgets/package.json index 46963188d..a1ff634d1 100644 --- a/packages/widgets/package.json +++ b/packages/widgets/package.json @@ -51,7 +51,7 @@ "@mantine/charts": "^8.3.18", "@mantine/core": "^8.3.18", "@mantine/hooks": "^8.3.18", - "@tabler/icons-react": "^3.41.0", + "@tabler/icons-react": "^3.41.1", "@tiptap/extension-color": "3.21.0", "@tiptap/extension-highlight": "3.21.0", "@tiptap/extension-image": "3.21.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 1c9e211e1..252298cc2 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -230,8 +230,8 @@ importers: specifier: 1.0.14 version: 1.0.14(rollup@4.60.0)(webpack-sources@3.3.4) '@tabler/icons-react': - specifier: ^3.41.0 - version: 3.41.0(react@19.2.4) + specifier: ^3.41.1 + version: 3.41.1(react@19.2.4) '@tanstack/react-query': specifier: ^5.95.2 version: 5.95.2(react@19.2.4) @@ -291,7 +291,7 @@ importers: version: 2.19.0(@babel/core@7.26.0)(@babel/template@7.28.6)(@types/react@19.2.14)(react@19.2.4) mantine-react-table: specifier: 2.0.0-beta.9 - version: 2.0.0-beta.9(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@mantine/dates@8.3.18(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@mantine/hooks@8.3.18(react@19.2.4))(dayjs@1.11.20)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@mantine/hooks@8.3.18(react@19.2.4))(@tabler/icons-react@3.41.0(react@19.2.4))(clsx@2.1.1)(dayjs@1.11.20)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + version: 2.0.0-beta.9(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@mantine/dates@8.3.18(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@mantine/hooks@8.3.18(react@19.2.4))(dayjs@1.11.20)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@mantine/hooks@8.3.18(react@19.2.4))(@tabler/icons-react@3.41.1(react@19.2.4))(clsx@2.1.1)(dayjs@1.11.20)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) next: specifier: 16.2.1 version: 16.2.1(@babel/core@7.26.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.98.0) @@ -1597,8 +1597,8 @@ importers: specifier: ^8.3.18 version: 8.3.18(@mantine/hooks@8.3.18(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) '@tabler/icons-react': - specifier: ^3.41.0 - version: 3.41.0(react@19.2.4) + specifier: ^3.41.1 + version: 3.41.1(react@19.2.4) dayjs: specifier: ^1.11.20 version: 1.11.20 @@ -1640,8 +1640,8 @@ importers: specifier: ^8.3.18 version: 8.3.18(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@mantine/hooks@8.3.18(react@19.2.4))(react-dom@19.2.4(react@19.2.4))(react@19.2.4) '@tabler/icons-react': - specifier: ^3.41.0 - version: 3.41.0(react@19.2.4) + specifier: ^3.41.1 + version: 3.41.1(react@19.2.4) devDependencies: '@homarr/eslint-config': specifier: workspace:^0.2.0 @@ -1990,8 +1990,8 @@ importers: specifier: ^8.3.18 version: 8.3.18(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@mantine/hooks@8.3.18(react@19.2.4))(react-dom@19.2.4(react@19.2.4))(react@19.2.4) '@tabler/icons-react': - specifier: ^3.41.0 - version: 3.41.0(react@19.2.4) + specifier: ^3.41.1 + version: 3.41.1(react@19.2.4) jotai: specifier: ^2.19.0 version: 2.19.0(@babel/core@7.29.0)(@babel/template@7.28.6)(@types/react@19.2.14)(react@19.2.4) @@ -2040,7 +2040,7 @@ importers: version: 4.3.1 mantine-react-table: specifier: 2.0.0-beta.9 - version: 2.0.0-beta.9(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@mantine/dates@8.3.18(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@mantine/hooks@8.3.18(react@19.2.4))(dayjs@1.11.20)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@mantine/hooks@8.3.18(react@19.2.4))(@tabler/icons-react@3.41.0(react@19.2.4))(clsx@2.1.1)(dayjs@1.11.20)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + version: 2.0.0-beta.9(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@mantine/dates@8.3.18(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@mantine/hooks@8.3.18(react@19.2.4))(dayjs@1.11.20)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@mantine/hooks@8.3.18(react@19.2.4))(@tabler/icons-react@3.41.1(react@19.2.4))(clsx@2.1.1)(dayjs@1.11.20)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) next: specifier: 16.2.1 version: 16.2.1(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.98.0) @@ -2097,14 +2097,14 @@ importers: specifier: ^8.3.18 version: 8.3.18(react@19.2.4) '@tabler/icons-react': - specifier: ^3.41.0 - version: 3.41.0(react@19.2.4) + specifier: ^3.41.1 + version: 3.41.1(react@19.2.4) crypto-js: specifier: ^4.2.0 version: 4.2.0 mantine-react-table: specifier: 2.0.0-beta.9 - version: 2.0.0-beta.9(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@mantine/dates@8.3.18(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@mantine/hooks@8.3.18(react@19.2.4))(dayjs@1.11.20)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@mantine/hooks@8.3.18(react@19.2.4))(@tabler/icons-react@3.41.0(react@19.2.4))(clsx@2.1.1)(dayjs@1.11.20)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + version: 2.0.0-beta.9(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@mantine/dates@8.3.18(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@mantine/hooks@8.3.18(react@19.2.4))(dayjs@1.11.20)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@mantine/hooks@8.3.18(react@19.2.4))(@tabler/icons-react@3.41.1(react@19.2.4))(clsx@2.1.1)(dayjs@1.11.20)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) next: specifier: 16.2.1 version: 16.2.1(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.98.0) @@ -2252,8 +2252,8 @@ importers: specifier: ^8.3.18 version: 8.3.18(react@19.2.4) '@tabler/icons-react': - specifier: ^3.41.0 - version: 3.41.0(react@19.2.4) + specifier: ^3.41.1 + version: 3.41.1(react@19.2.4) '@tiptap/extension-color': specifier: 3.21.0 version: 3.21.0(@tiptap/extension-text-style@3.21.0(@tiptap/core@3.21.0(@tiptap/pm@3.21.0))) @@ -2313,7 +2313,7 @@ importers: version: 1.3.0(@mantine/form@8.3.18(react@19.2.4))(zod@4.3.6) mantine-react-table: specifier: 2.0.0-beta.9 - version: 2.0.0-beta.9(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@mantine/dates@8.3.18(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@mantine/hooks@8.3.18(react@19.2.4))(dayjs@1.11.20)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@mantine/hooks@8.3.18(react@19.2.4))(@tabler/icons-react@3.41.0(react@19.2.4))(clsx@2.1.1)(dayjs@1.11.20)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + version: 2.0.0-beta.9(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@mantine/dates@8.3.18(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@mantine/hooks@8.3.18(react@19.2.4))(dayjs@1.11.20)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@mantine/hooks@8.3.18(react@19.2.4))(@tabler/icons-react@3.41.1(react@19.2.4))(clsx@2.1.1)(dayjs@1.11.20)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) next: specifier: 16.2.1 version: 16.2.1(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.98.0) @@ -4598,13 +4598,13 @@ packages: zod: optional: true - '@tabler/icons-react@3.41.0': - resolution: {integrity: sha512-8XKc3wZKf1icxqwIPSOO61M+dtf8yJPwAE/rtFAVzc5Ros+OjCqowfcoI5IpKK09RSo8s0hHrWvydGgnXqYILg==} + '@tabler/icons-react@3.41.1': + resolution: {integrity: sha512-kUgweE+DJtAlMZVIns1FTDdcbpRVnkK7ZpUOXmoxy3JAF0rSHj0TcP4VHF14+gMJGnF+psH2Zt26BLT6owetBA==} peerDependencies: react: '>= 16' - '@tabler/icons@3.41.0': - resolution: {integrity: sha512-arlig0nkaC9UGqTZuT1MMZepX29t3Ysx5HSy2UvmR+CZrhlNxZrCM6Z4qYBoaIO+2ICZykttjBCSpf+p/t0H3w==} + '@tabler/icons@3.41.1': + resolution: {integrity: sha512-OaRnVbRmH2nHtFeg+RmMJ/7m2oBIF9XCJAUD5gQnMrpK9f05ydj8MZrAf3NZQqOXyxGN1UBL0D5IKLLEUfr74Q==} '@tanstack/match-sorter-utils@8.19.4': resolution: {integrity: sha512-Wo1iKt2b9OT7d+YGhvEPD3DXvPv2etTusIMhMUoG7fbhmxcXCtIjJDEygy91Y2JFlwGyjqiBPRozme7UD8hoqg==} @@ -13322,12 +13322,12 @@ snapshots: typescript: 5.9.3 zod: 4.3.6 - '@tabler/icons-react@3.41.0(react@19.2.4)': + '@tabler/icons-react@3.41.1(react@19.2.4)': dependencies: - '@tabler/icons': 3.41.0 + '@tabler/icons': 3.41.1 react: 19.2.4 - '@tabler/icons@3.41.0': {} + '@tabler/icons@3.41.1': {} '@tanstack/match-sorter-utils@8.19.4': dependencies: @@ -17171,12 +17171,12 @@ snapshots: '@mantine/form': 8.3.18(react@19.2.4) zod: 4.3.6 - mantine-react-table@2.0.0-beta.9(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@mantine/dates@8.3.18(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@mantine/hooks@8.3.18(react@19.2.4))(dayjs@1.11.20)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@mantine/hooks@8.3.18(react@19.2.4))(@tabler/icons-react@3.41.0(react@19.2.4))(clsx@2.1.1)(dayjs@1.11.20)(react-dom@19.2.4(react@19.2.4))(react@19.2.4): + mantine-react-table@2.0.0-beta.9(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@mantine/dates@8.3.18(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@mantine/hooks@8.3.18(react@19.2.4))(dayjs@1.11.20)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@mantine/hooks@8.3.18(react@19.2.4))(@tabler/icons-react@3.41.1(react@19.2.4))(clsx@2.1.1)(dayjs@1.11.20)(react-dom@19.2.4(react@19.2.4))(react@19.2.4): dependencies: '@mantine/core': 8.3.18(@mantine/hooks@8.3.18(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) '@mantine/dates': 8.3.18(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@mantine/hooks@8.3.18(react@19.2.4))(dayjs@1.11.20)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) '@mantine/hooks': 8.3.18(react@19.2.4) - '@tabler/icons-react': 3.41.0(react@19.2.4) + '@tabler/icons-react': 3.41.1(react@19.2.4) '@tanstack/match-sorter-utils': 8.19.4 '@tanstack/react-table': 8.20.5(react-dom@19.2.4(react@19.2.4))(react@19.2.4) '@tanstack/react-virtual': 3.11.2(react-dom@19.2.4(react@19.2.4))(react@19.2.4) From f037da5831c08a9d8730b054c62d0094b2446b60 Mon Sep 17 00:00:00 2001 From: "homarr-renovate[bot]" <158783068+homarr-renovate[bot]@users.noreply.github.com> Date: Sat, 4 Apr 2026 11:36:15 +0000 Subject: [PATCH 03/49] chore(deps): update dependency rollup@>=4.0.0 <4.22.4 to >=4.60.1 (#5402) Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com> --- package.json | 2 +- pnpm-lock.yaml | 14 ++++++-------- 2 files changed, 7 insertions(+), 9 deletions(-) diff --git a/package.json b/package.json index b84cfe167..1f7c56cd2 100644 --- a/package.json +++ b/package.json @@ -90,7 +90,7 @@ "prismjs@<1.30.0": ">=1.30.0", "proxmox-api>undici": "7.24.6", "react-is": "^19.2.4", - "rollup@>=4.0.0 <4.22.4": ">=4.60.0", + "rollup@>=4.0.0 <4.22.4": ">=4.60.1", "sha.js@<=2.4.11": ">=2.4.12", "tar-fs@>=3.0.0 <3.0.9": ">=3.1.2", "tar-fs@>=2.0.0 <2.1.3": ">=3.1.2", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 252298cc2..d9b3eca00 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -18,7 +18,7 @@ overrides: prismjs@<1.30.0: '>=1.30.0' proxmox-api>undici: 7.24.6 react-is: ^19.2.4 - rollup@>=4.0.0 <4.22.4: '>=4.60.0' + rollup@>=4.0.0 <4.22.4: '>=4.60.1' sha.js@<=2.4.11: '>=2.4.12' tar-fs@>=3.0.0 <3.0.9: '>=3.1.2' tar-fs@>=2.0.0 <2.1.3: '>=3.1.2' @@ -228,7 +228,7 @@ importers: version: 8.3.18(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@mantine/hooks@8.3.18(react@19.2.4))(@tiptap/extension-link@3.21.0(@tiptap/core@3.21.0(@tiptap/pm@3.21.0))(@tiptap/pm@3.21.0))(@tiptap/react@3.21.0(@floating-ui/dom@1.7.4)(@tiptap/core@3.21.0(@tiptap/pm@3.21.0))(@tiptap/pm@3.21.0)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(react-dom@19.2.4(react@19.2.4))(react@19.2.4) '@million/lint': specifier: 1.0.14 - version: 1.0.14(rollup@4.60.0)(webpack-sources@3.3.4) + version: 1.0.14(webpack-sources@3.3.4) '@tabler/icons-react': specifier: ^3.41.1 version: 3.41.1(react@19.2.4) @@ -4138,7 +4138,7 @@ packages: resolution: {integrity: sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==} engines: {node: '>=14.0.0'} peerDependencies: - rollup: '>=4.60.0' + rollup: '>=4.60.1' peerDependenciesMeta: rollup: optional: true @@ -12252,14 +12252,14 @@ snapshots: recast: 0.23.11 xycolors: 0.1.2 - '@million/lint@1.0.14(rollup@4.60.0)(webpack-sources@3.3.4)': + '@million/lint@1.0.14(webpack-sources@3.3.4)': dependencies: '@axiomhq/js': 1.0.0-rc.3 '@babel/core': 7.26.0 '@babel/types': 7.26.0 '@hono/node-server': 1.13.0(hono@4.12.9) '@million/install': 1.0.14 - '@rollup/pluginutils': 5.1.0(rollup@4.60.0) + '@rollup/pluginutils': 5.1.0 '@rrweb/types': 2.0.0-alpha.16 babel-plugin-syntax-hermes-parser: 0.21.1 ci-info: 4.0.0 @@ -12609,13 +12609,11 @@ snapshots: '@rolldown/pluginutils@1.0.0-rc.3': {} - '@rollup/pluginutils@5.1.0(rollup@4.60.0)': + '@rollup/pluginutils@5.1.0': dependencies: '@types/estree': 1.0.8 estree-walker: 2.0.2 picomatch: 2.3.1 - optionalDependencies: - rollup: 4.60.0 '@rollup/rollup-android-arm-eabi@4.60.0': optional: true From 7607140f94f5b19a6b9cbacc7deabd2afc004d24 Mon Sep 17 00:00:00 2001 From: "homarr-renovate[bot]" <158783068+homarr-renovate[bot]@users.noreply.github.com> Date: Sat, 4 Apr 2026 20:41:33 +0000 Subject: [PATCH 04/49] fix(deps): update turbo monorepo to ^2.9.1 (#5408) Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com> --- package.json | 4 +- pnpm-lock.yaml | 90 ++++++++++++++++++------------------- tooling/eslint/package.json | 2 +- 3 files changed, 48 insertions(+), 48 deletions(-) diff --git a/package.json b/package.json index 1f7c56cd2..1b01336ad 100644 --- a/package.json +++ b/package.json @@ -43,7 +43,7 @@ "@semantic-release/npm": "^13.1.5", "@semantic-release/release-notes-generator": "^14.1.0", "@testcontainers/redis": "^11.13.0", - "@turbo/gen": "^2.8.21", + "@turbo/gen": "^2.9.1", "@vitejs/plugin-react": "^5.2.0", "@vitest/coverage-v8": "^4.1.2", "@vitest/ui": "^4.1.2", @@ -54,7 +54,7 @@ "prettier": "^3.8.1", "semantic-release": "^25.0.3", "testcontainers": "^11.13.0", - "turbo": "^2.8.21", + "turbo": "^2.9.1", "typescript": "^5.9.3", "vite-tsconfig-paths": "^6.1.1", "vitest": "^4.1.2" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index d9b3eca00..a9e3e0507 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -62,8 +62,8 @@ importers: specifier: ^11.13.0 version: 11.13.0 '@turbo/gen': - specifier: ^2.8.21 - version: 2.8.21(@types/node@24.12.0) + specifier: ^2.9.1 + version: 2.9.3(@types/node@24.12.0) '@vitejs/plugin-react': specifier: ^5.2.0 version: 5.2.0(vite@7.1.12(@types/node@24.12.0)(sass@1.98.0)(sugarss@5.0.0(postcss@8.5.8))(terser@5.46.1)(tsx@4.21.0)(yaml@2.5.1)) @@ -95,8 +95,8 @@ importers: specifier: ^11.13.0 version: 11.13.0 turbo: - specifier: ^2.8.21 - version: 2.8.21 + specifier: ^2.9.1 + version: 2.9.3 typescript: specifier: ^5.9.3 version: 5.9.3 @@ -2364,8 +2364,8 @@ importers: specifier: ^10.1.8 version: 10.1.8(eslint@9.39.4) eslint-config-turbo: - specifier: ^2.8.21 - version: 2.8.21(eslint@9.39.4)(turbo@2.8.21) + specifier: ^2.9.1 + version: 2.9.3(eslint@9.39.4)(turbo@2.9.3) eslint-plugin-import: specifier: ^2.32.0 version: 2.32.0(@typescript-eslint/parser@8.57.2(eslint@9.39.4)(typescript@5.9.3))(eslint@9.39.4) @@ -4934,37 +4934,37 @@ packages: '@tsconfig/svelte@1.0.13': resolution: {integrity: sha512-5lYJP45Xllo4yE/RUBccBT32eBlRDbqN8r1/MIvQbKxW3aFqaYPCNgm8D5V20X4ShHcwvYWNlKg3liDh1MlBoA==} - '@turbo/darwin-64@2.8.21': - resolution: {integrity: sha512-kfGoM0Iw8ZNZpbds+4IzOe0hjvHldqJwUPRAjXJi3KBxg/QOZL95N893SRoMtf2aJ+jJ3dk32yPkp8rvcIjP9g==} + '@turbo/darwin-64@2.9.3': + resolution: {integrity: sha512-P8foouaP+y/p+hhEGBoZpzMbpVvUMwPjDpcy6wN7EYfvvyISD1USuV27qWkczecihwuPJzQ1lDBuL8ERcavTyg==} cpu: [x64] os: [darwin] - '@turbo/darwin-arm64@2.8.21': - resolution: {integrity: sha512-o9HEflxUEyr987x0cTUzZBhDOyL6u95JmdmlkH2VyxAw7zq2sdtM5e72y9ufv2N5SIoOBw1fVn9UES5VY5H6vQ==} + '@turbo/darwin-arm64@2.9.3': + resolution: {integrity: sha512-SIzEkvtNdzdI50FJDaIQ6kQGqgSSdFPcdn0wqmmONN6iGKjy6hsT+EH99GP65FsfV7DLZTh2NmtTIRl2kdoz5Q==} cpu: [arm64] os: [darwin] - '@turbo/gen@2.8.21': - resolution: {integrity: sha512-6MIArRRT2Re6Y3xF+Cn/aJY9zZZpsZro3LeDWpIOyTNscAIz0pRNfIHNlvwlwSHEkL9haVxQenuJxogFR3IVEQ==} + '@turbo/gen@2.9.3': + resolution: {integrity: sha512-TyBmzC1FOzVEFO4qD4rZvZzpXAr3sieRczw2aeBP+1K9YAeNUtL/w74Ug+k4jvF7Z0TOwWZQAh6DHjOWvuudTQ==} hasBin: true - '@turbo/linux-64@2.8.21': - resolution: {integrity: sha512-uTxlCcXWy5h1fSSymP8XSJ+AudzEHMDV3IDfKX7+DGB8kgJ+SLoTUAH7z4OFA7I/l2sznz0upPdbNNZs91YMag==} + '@turbo/linux-64@2.9.3': + resolution: {integrity: sha512-pLRwFmcHHNBvsCySLS6OFabr/07kDT2pxEt/k6eBf/3asiVQZKJ7Rk88AafQx2aYA641qek4RsXvYO3JYpiBug==} cpu: [x64] os: [linux] - '@turbo/linux-arm64@2.8.21': - resolution: {integrity: sha512-cdHIcxNcihHHkCHp0Y4Zb60K4Qz+CK4xw1gb6s/t/9o4SMeMj+hTBCtoW6QpPnl9xPYmxuTou8Zw6+cylTnREg==} + '@turbo/linux-arm64@2.9.3': + resolution: {integrity: sha512-gy6ApUroC2Nzv+qjGtE/uPNkhHAFU4c8God+zd5Aiv9L9uBgHlxVJpHT3XWl5xwlJZ2KWuMrlHTaS5kmNB+q1Q==} cpu: [arm64] os: [linux] - '@turbo/windows-64@2.8.21': - resolution: {integrity: sha512-/iBj4OzbqEY8CX+eaeKbBTMZv2CLXNrt0692F7HnK7LcyYwyDecaAiSET6ZzL4opT7sbwkKvzAC/fhqT3Quu1A==} + '@turbo/windows-64@2.9.3': + resolution: {integrity: sha512-d0YelTX6hAsB7kIEtGB3PzIzSfAg3yDoUlHwuwJc3adBXUsyUIs0YLG+1NNtuhcDOUGnWQeKUoJ2pGWvbpRj7w==} cpu: [x64] os: [win32] - '@turbo/windows-arm64@2.8.21': - resolution: {integrity: sha512-95tMA/ZbIidJFUUtkmqioQ1gf3n3I1YbRP3ZgVdWTVn2qVbkodcIdGXBKRHHrIbRsLRl99SiHi/L7IxhpZDagQ==} + '@turbo/windows-arm64@2.9.3': + resolution: {integrity: sha512-/08CwpKJl3oRY8nOlh2YgilZVJDHsr60XTNxRhuDeuFXONpUZ5X+Nv65izbG/xBew9qxcJFbDX9/sAmAX+ITcQ==} cpu: [arm64] os: [win32] @@ -6713,8 +6713,8 @@ packages: peerDependencies: eslint: '>=7.0.0' - eslint-config-turbo@2.8.21: - resolution: {integrity: sha512-JhZDxUYLPR9/rfWaMvYpjnEsxrPe3Nb5cu5CjazmxiygFpgV+RFBiW2DCeVfsvce85AjAdt4148MPAzu5WbmEA==} + eslint-config-turbo@2.9.3: + resolution: {integrity: sha512-JGp6hAXPUth/ezgzaNNtxxhb0yrC5BezmyrCDIirJR7i8xcmqXwT6Wr8BaHCefSAVUgrL6oLxwmFnqOSmVQ5IQ==} peerDependencies: eslint: '>6.6.0' turbo: '>2.0.0' @@ -6771,8 +6771,8 @@ packages: peerDependencies: eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7 - eslint-plugin-turbo@2.8.21: - resolution: {integrity: sha512-GkbB1vfyq3TxQIavl391Jyyt5gz4XZBwejkcKbRj93gpla1TMjQePr5sUXQZJ9h5Okt361gFkoBV2Li8zytEGA==} + eslint-plugin-turbo@2.9.3: + resolution: {integrity: sha512-64Zgp0eb42D8fD0a0gktpk9gTgHd2sQGx3UL5n4bSoV9E213Rj+swyRaRrqy9ej2J9ajzwOSj9hN5jOnkb38Dg==} peerDependencies: eslint: '>6.6.0' turbo: '>2.0.0' @@ -10234,8 +10234,8 @@ packages: resolution: {integrity: sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==} engines: {node: '>=0.6.11 <=0.7.0 || >=0.7.3'} - turbo@2.8.21: - resolution: {integrity: sha512-FlJ8OD5Qcp0jTAM7E4a/RhUzRNds2GzKlyxHKA6N247VLy628rrxAGlMpIXSz6VB430+TiQDJ/SMl6PL1lu6wQ==} + turbo@2.9.3: + resolution: {integrity: sha512-J/VUvsGRykPb9R8Kh8dHVBOqioDexLk9BhLCU/ZybRR+HN9UR3cURdazFvNgMDt9zPP8TF6K73Z+tplfmi0PqQ==} hasBin: true tweetnacl@0.14.5: @@ -13662,29 +13662,29 @@ snapshots: '@tsconfig/svelte@1.0.13': {} - '@turbo/darwin-64@2.8.21': + '@turbo/darwin-64@2.9.3': optional: true - '@turbo/darwin-arm64@2.8.21': + '@turbo/darwin-arm64@2.9.3': optional: true - '@turbo/gen@2.8.21(@types/node@24.12.0)': + '@turbo/gen@2.9.3(@types/node@24.12.0)': dependencies: '@inquirer/prompts': 7.10.1(@types/node@24.12.0) esbuild: 0.25.12 transitivePeerDependencies: - '@types/node' - '@turbo/linux-64@2.8.21': + '@turbo/linux-64@2.9.3': optional: true - '@turbo/linux-arm64@2.8.21': + '@turbo/linux-arm64@2.9.3': optional: true - '@turbo/windows-64@2.8.21': + '@turbo/windows-64@2.9.3': optional: true - '@turbo/windows-arm64@2.8.21': + '@turbo/windows-arm64@2.9.3': optional: true '@types/adm-zip@0.5.8': @@ -15709,11 +15709,11 @@ snapshots: dependencies: eslint: 9.39.4 - eslint-config-turbo@2.8.21(eslint@9.39.4)(turbo@2.8.21): + eslint-config-turbo@2.9.3(eslint@9.39.4)(turbo@2.9.3): dependencies: eslint: 9.39.4 - eslint-plugin-turbo: 2.8.21(eslint@9.39.4)(turbo@2.8.21) - turbo: 2.8.21 + eslint-plugin-turbo: 2.9.3(eslint@9.39.4)(turbo@2.9.3) + turbo: 2.9.3 eslint-import-resolver-node@0.3.9: dependencies: @@ -15813,11 +15813,11 @@ snapshots: string.prototype.matchall: 4.0.12 string.prototype.repeat: 1.0.0 - eslint-plugin-turbo@2.8.21(eslint@9.39.4)(turbo@2.8.21): + eslint-plugin-turbo@2.9.3(eslint@9.39.4)(turbo@2.9.3): dependencies: dotenv: 16.0.3 eslint: 9.39.4 - turbo: 2.8.21 + turbo: 2.9.3 eslint-scope@5.1.1: dependencies: @@ -19755,14 +19755,14 @@ snapshots: tunnel@0.0.6: {} - turbo@2.8.21: + turbo@2.9.3: optionalDependencies: - '@turbo/darwin-64': 2.8.21 - '@turbo/darwin-arm64': 2.8.21 - '@turbo/linux-64': 2.8.21 - '@turbo/linux-arm64': 2.8.21 - '@turbo/windows-64': 2.8.21 - '@turbo/windows-arm64': 2.8.21 + '@turbo/darwin-64': 2.9.3 + '@turbo/darwin-arm64': 2.9.3 + '@turbo/linux-64': 2.9.3 + '@turbo/linux-arm64': 2.9.3 + '@turbo/windows-64': 2.9.3 + '@turbo/windows-arm64': 2.9.3 tweetnacl@0.14.5: {} diff --git a/tooling/eslint/package.json b/tooling/eslint/package.json index 521a95853..110142862 100644 --- a/tooling/eslint/package.json +++ b/tooling/eslint/package.json @@ -19,7 +19,7 @@ "dependencies": { "@next/eslint-plugin-next": "16.2.1", "eslint-config-prettier": "^10.1.8", - "eslint-config-turbo": "^2.8.21", + "eslint-config-turbo": "^2.9.1", "eslint-plugin-import": "^2.32.0", "eslint-plugin-jsx-a11y": "^6.10.2", "eslint-plugin-react": "^7.37.5", From 1e869f6a96d7e34af068b5666e01093a4b20fe97 Mon Sep 17 00:00:00 2001 From: "homarr-renovate[bot]" <158783068+homarr-renovate[bot]@users.noreply.github.com> Date: Sat, 4 Apr 2026 21:40:41 +0000 Subject: [PATCH 05/49] fix(deps): update dependency typescript-eslint to ^8.58.0 (#5409) Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com> --- pnpm-lock.yaml | 168 ++++++++++++++++++------------------ tooling/eslint/package.json | 2 +- 2 files changed, 85 insertions(+), 85 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a9e3e0507..0ab820f32 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -2368,7 +2368,7 @@ importers: version: 2.9.3(eslint@9.39.4)(turbo@2.9.3) eslint-plugin-import: specifier: ^2.32.0 - version: 2.32.0(@typescript-eslint/parser@8.57.2(eslint@9.39.4)(typescript@5.9.3))(eslint@9.39.4) + version: 2.32.0(@typescript-eslint/parser@8.58.0(eslint@9.39.4)(typescript@5.9.3))(eslint@9.39.4) eslint-plugin-jsx-a11y: specifier: ^6.10.2 version: 6.10.2(eslint@9.39.4) @@ -2379,8 +2379,8 @@ importers: specifier: ^6.1.1 version: 6.1.1(eslint@9.39.4) typescript-eslint: - specifier: ^8.57.2 - version: 8.57.2(eslint@9.39.4)(typescript@5.9.3) + specifier: ^8.58.0 + version: 8.58.0(eslint@9.39.4)(typescript@5.9.3) devDependencies: '@homarr/prettier-config': specifier: workspace:^0.1.0 @@ -5198,63 +5198,63 @@ packages: '@types/xml2js@0.4.14': resolution: {integrity: sha512-4YnrRemBShWRO2QjvUin8ESA41rH+9nQGLUGZV/1IDhi3SL9OhdpNC/MrulTWuptXKwhx/aDxE7toV0f/ypIXQ==} - '@typescript-eslint/eslint-plugin@8.57.2': - resolution: {integrity: sha512-NZZgp0Fm2IkD+La5PR81sd+g+8oS6JwJje+aRWsDocxHkjyRw0J5L5ZTlN3LI1LlOcGL7ph3eaIUmTXMIjLk0w==} + '@typescript-eslint/eslint-plugin@8.58.0': + resolution: {integrity: sha512-RLkVSiNuUP1C2ROIWfqX+YcUfLaSnxGE/8M+Y57lopVwg9VTYYfhuz15Yf1IzCKgZj6/rIbYTmJCUSqr76r0Wg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - '@typescript-eslint/parser': ^8.57.2 + '@typescript-eslint/parser': ^8.58.0 eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 - typescript: '>=4.8.4 <6.0.0' + typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/parser@8.57.2': - resolution: {integrity: sha512-30ScMRHIAD33JJQkgfGW1t8CURZtjc2JpTrq5n2HFhOefbAhb7ucc7xJwdWcrEtqUIYJ73Nybpsggii6GtAHjA==} + '@typescript-eslint/parser@8.58.0': + resolution: {integrity: sha512-rLoGZIf9afaRBYsPUMtvkDWykwXwUPL60HebR4JgTI8mxfFe2cQTu3AGitANp4b9B2QlVru6WzjgB2IzJKiCSA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 - typescript: '>=4.8.4 <6.0.0' + typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/project-service@8.57.2': - resolution: {integrity: sha512-FuH0wipFywXRTHf+bTTjNyuNQQsQC3qh/dYzaM4I4W0jrCqjCVuUh99+xd9KamUfmCGPvbO8NDngo/vsnNVqgw==} + '@typescript-eslint/project-service@8.58.0': + resolution: {integrity: sha512-8Q/wBPWLQP1j16NxoPNIKpDZFMaxl7yWIoqXWYeWO+Bbd2mjgvoF0dxP2jKZg5+x49rgKdf7Ck473M8PC3V9lg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - typescript: '>=4.8.4 <6.0.0' + typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/scope-manager@8.57.2': - resolution: {integrity: sha512-snZKH+W4WbWkrBqj4gUNRIGb/jipDW3qMqVJ4C9rzdFc+wLwruxk+2a5D+uoFcKPAqyqEnSb4l2ULuZf95eSkw==} + '@typescript-eslint/scope-manager@8.58.0': + resolution: {integrity: sha512-W1Lur1oF50FxSnNdGp3Vs6P+yBRSmZiw4IIjEeYxd8UQJwhUF0gDgDD/W/Tgmh73mxgEU3qX0Bzdl/NGuSPEpQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/tsconfig-utils@8.57.2': - resolution: {integrity: sha512-3Lm5DSM+DCowsUOJC+YqHHnKEfFh5CoGkj5Z31NQSNF4l5wdOwqGn99wmwN/LImhfY3KJnmordBq/4+VDe2eKw==} + '@typescript-eslint/tsconfig-utils@8.58.0': + resolution: {integrity: sha512-doNSZEVJsWEu4htiVC+PR6NpM+pa+a4ClH9INRWOWCUzMst/VA9c4gXq92F8GUD1rwhNvRLkgjfYtFXegXQF7A==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - typescript: '>=4.8.4 <6.0.0' + typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/type-utils@8.57.2': - resolution: {integrity: sha512-Co6ZCShm6kIbAM/s+oYVpKFfW7LBc6FXoPXjTRQ449PPNBY8U0KZXuevz5IFuuUj2H9ss40atTaf9dlGLzbWZg==} + '@typescript-eslint/type-utils@8.58.0': + resolution: {integrity: sha512-aGsCQImkDIqMyx1u4PrVlbi/krmDsQUs4zAcCV6M7yPcPev+RqVlndsJy9kJ8TLihW9TZ0kbDAzctpLn5o+lOg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 - typescript: '>=4.8.4 <6.0.0' + typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/types@8.57.2': - resolution: {integrity: sha512-/iZM6FnM4tnx9csuTxspMW4BOSegshwX5oBDznJ7S4WggL7Vczz5d2W11ecc4vRrQMQHXRSxzrCsyG5EsPPTbA==} + '@typescript-eslint/types@8.58.0': + resolution: {integrity: sha512-O9CjxypDT89fbHxRfETNoAnHj/i6IpRK0CvbVN3qibxlLdo5p5hcLmUuCCrHMpxiWSwKyI8mCP7qRNYuOJ0Uww==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/typescript-estree@8.57.2': - resolution: {integrity: sha512-2MKM+I6g8tJxfSmFKOnHv2t8Sk3T6rF20A1Puk0svLK+uVapDZB/4pfAeB7nE83uAZrU6OxW+HmOd5wHVdXwXA==} + '@typescript-eslint/typescript-estree@8.58.0': + resolution: {integrity: sha512-7vv5UWbHqew/dvs+D3e1RvLv1v2eeZ9txRHPnEEBUgSNLx5ghdzjHa0sgLWYVKssH+lYmV0JaWdoubo0ncGYLA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - typescript: '>=4.8.4 <6.0.0' + typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/utils@8.57.2': - resolution: {integrity: sha512-krRIbvPK1ju1WBKIefiX+bngPs+odIQUtR7kymzPfo1POVw3jlF+nLkmexdSSd4UCbDcQn+wMBATOOmpBbqgKg==} + '@typescript-eslint/utils@8.58.0': + resolution: {integrity: sha512-RfeSqcFeHMHlAWzt4TBjWOAtoW9lnsAGiP3GbaX9uVgTYYrMbVnGONEfUCiSss+xMHFl+eHZiipmA8WkQ7FuNA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 - typescript: '>=4.8.4 <6.0.0' + typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/visitor-keys@8.57.2': - resolution: {integrity: sha512-zhahknjobV2FiD6Ee9iLbS7OV9zi10rG26odsQdfBO/hjSzUQbkIYgda+iNKK1zNiW2ey+Lf8MU5btN17V3dUw==} + '@typescript-eslint/visitor-keys@8.58.0': + resolution: {integrity: sha512-XJ9UD9+bbDo4a4epraTwG3TsNPeiB9aShrUneAVXy8q4LuwowN+qu89/6ByLMINqvIMeI9H9hOHQtg/ijrYXzQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@umami/node@0.4.0': @@ -10181,8 +10181,8 @@ packages: zod: ^4.0.0 zod-openapi: ^5.0.1 - ts-api-utils@2.4.0: - resolution: {integrity: sha512-3TaVTaAv2gTiMB35i3FiGJaRfwb3Pyn/j3m/bfAvGe8FB7CF6u+LMYqYlDh7reQf7UNvoTvdfAqHGmPGOSsPmA==} + ts-api-utils@2.5.0: + resolution: {integrity: sha512-OJ/ibxhPlqrMM0UiNHJ/0CKQkoKF243/AEmplt3qpRgkW8VG7IfOS41h7V8TjITqdByHzrjcS/2si+y4lIh8NA==} engines: {node: '>=18.12'} peerDependencies: typescript: '>=4.8.4' @@ -10311,12 +10311,12 @@ packages: types-ramda@0.30.1: resolution: {integrity: sha512-1HTsf5/QVRmLzcGfldPFvkVsAdi1db1BBKzi7iW3KBUlOICg/nKnFS+jGqDJS3YD8VsWbAh7JiHeBvbsw8RPxA==} - typescript-eslint@8.57.2: - resolution: {integrity: sha512-VEPQ0iPgWO/sBaZOU1xo4nuNdODVOajPnTIbog2GKYr31nIlZ0fWPoCQgGfF3ETyBl1vn63F/p50Um9Z4J8O8A==} + typescript-eslint@8.58.0: + resolution: {integrity: sha512-e2TQzKfaI85fO+F3QywtX+tCTsu/D3WW5LVU6nz8hTFKFZ8yBJ6mSYRpXqdR3mFjPWmO0eWsTa5f+UpAOe/FMA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 - typescript: '>=4.8.4 <6.0.0' + typescript: '>=4.8.4 <6.1.0' typescript@5.9.3: resolution: {integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==} @@ -13948,95 +13948,95 @@ snapshots: dependencies: '@types/node': 24.12.0 - '@typescript-eslint/eslint-plugin@8.57.2(@typescript-eslint/parser@8.57.2(eslint@9.39.4)(typescript@5.9.3))(eslint@9.39.4)(typescript@5.9.3)': + '@typescript-eslint/eslint-plugin@8.58.0(@typescript-eslint/parser@8.58.0(eslint@9.39.4)(typescript@5.9.3))(eslint@9.39.4)(typescript@5.9.3)': dependencies: '@eslint-community/regexpp': 4.12.2 - '@typescript-eslint/parser': 8.57.2(eslint@9.39.4)(typescript@5.9.3) - '@typescript-eslint/scope-manager': 8.57.2 - '@typescript-eslint/type-utils': 8.57.2(eslint@9.39.4)(typescript@5.9.3) - '@typescript-eslint/utils': 8.57.2(eslint@9.39.4)(typescript@5.9.3) - '@typescript-eslint/visitor-keys': 8.57.2 + '@typescript-eslint/parser': 8.58.0(eslint@9.39.4)(typescript@5.9.3) + '@typescript-eslint/scope-manager': 8.58.0 + '@typescript-eslint/type-utils': 8.58.0(eslint@9.39.4)(typescript@5.9.3) + '@typescript-eslint/utils': 8.58.0(eslint@9.39.4)(typescript@5.9.3) + '@typescript-eslint/visitor-keys': 8.58.0 eslint: 9.39.4 ignore: 7.0.5 natural-compare: 1.4.0 - ts-api-utils: 2.4.0(typescript@5.9.3) + ts-api-utils: 2.5.0(typescript@5.9.3) typescript: 5.9.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.57.2(eslint@9.39.4)(typescript@5.9.3)': + '@typescript-eslint/parser@8.58.0(eslint@9.39.4)(typescript@5.9.3)': dependencies: - '@typescript-eslint/scope-manager': 8.57.2 - '@typescript-eslint/types': 8.57.2 - '@typescript-eslint/typescript-estree': 8.57.2(typescript@5.9.3) - '@typescript-eslint/visitor-keys': 8.57.2 + '@typescript-eslint/scope-manager': 8.58.0 + '@typescript-eslint/types': 8.58.0 + '@typescript-eslint/typescript-estree': 8.58.0(typescript@5.9.3) + '@typescript-eslint/visitor-keys': 8.58.0 debug: 4.4.3 eslint: 9.39.4 typescript: 5.9.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/project-service@8.57.2(typescript@5.9.3)': + '@typescript-eslint/project-service@8.58.0(typescript@5.9.3)': dependencies: - '@typescript-eslint/tsconfig-utils': 8.57.2(typescript@5.9.3) - '@typescript-eslint/types': 8.57.2 + '@typescript-eslint/tsconfig-utils': 8.58.0(typescript@5.9.3) + '@typescript-eslint/types': 8.58.0 debug: 4.4.3 typescript: 5.9.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/scope-manager@8.57.2': + '@typescript-eslint/scope-manager@8.58.0': dependencies: - '@typescript-eslint/types': 8.57.2 - '@typescript-eslint/visitor-keys': 8.57.2 + '@typescript-eslint/types': 8.58.0 + '@typescript-eslint/visitor-keys': 8.58.0 - '@typescript-eslint/tsconfig-utils@8.57.2(typescript@5.9.3)': + '@typescript-eslint/tsconfig-utils@8.58.0(typescript@5.9.3)': dependencies: typescript: 5.9.3 - '@typescript-eslint/type-utils@8.57.2(eslint@9.39.4)(typescript@5.9.3)': + '@typescript-eslint/type-utils@8.58.0(eslint@9.39.4)(typescript@5.9.3)': dependencies: - '@typescript-eslint/types': 8.57.2 - '@typescript-eslint/typescript-estree': 8.57.2(typescript@5.9.3) - '@typescript-eslint/utils': 8.57.2(eslint@9.39.4)(typescript@5.9.3) + '@typescript-eslint/types': 8.58.0 + '@typescript-eslint/typescript-estree': 8.58.0(typescript@5.9.3) + '@typescript-eslint/utils': 8.58.0(eslint@9.39.4)(typescript@5.9.3) debug: 4.4.3 eslint: 9.39.4 - ts-api-utils: 2.4.0(typescript@5.9.3) + ts-api-utils: 2.5.0(typescript@5.9.3) typescript: 5.9.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/types@8.57.2': {} + '@typescript-eslint/types@8.58.0': {} - '@typescript-eslint/typescript-estree@8.57.2(typescript@5.9.3)': + '@typescript-eslint/typescript-estree@8.58.0(typescript@5.9.3)': dependencies: - '@typescript-eslint/project-service': 8.57.2(typescript@5.9.3) - '@typescript-eslint/tsconfig-utils': 8.57.2(typescript@5.9.3) - '@typescript-eslint/types': 8.57.2 - '@typescript-eslint/visitor-keys': 8.57.2 + '@typescript-eslint/project-service': 8.58.0(typescript@5.9.3) + '@typescript-eslint/tsconfig-utils': 8.58.0(typescript@5.9.3) + '@typescript-eslint/types': 8.58.0 + '@typescript-eslint/visitor-keys': 8.58.0 debug: 4.4.3 minimatch: 10.2.2 semver: 7.7.4 tinyglobby: 0.2.15 - ts-api-utils: 2.4.0(typescript@5.9.3) + ts-api-utils: 2.5.0(typescript@5.9.3) typescript: 5.9.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.57.2(eslint@9.39.4)(typescript@5.9.3)': + '@typescript-eslint/utils@8.58.0(eslint@9.39.4)(typescript@5.9.3)': dependencies: '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.4) - '@typescript-eslint/scope-manager': 8.57.2 - '@typescript-eslint/types': 8.57.2 - '@typescript-eslint/typescript-estree': 8.57.2(typescript@5.9.3) + '@typescript-eslint/scope-manager': 8.58.0 + '@typescript-eslint/types': 8.58.0 + '@typescript-eslint/typescript-estree': 8.58.0(typescript@5.9.3) eslint: 9.39.4 typescript: 5.9.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/visitor-keys@8.57.2': + '@typescript-eslint/visitor-keys@8.58.0': dependencies: - '@typescript-eslint/types': 8.57.2 + '@typescript-eslint/types': 8.58.0 eslint-visitor-keys: 5.0.0 '@umami/node@0.4.0': {} @@ -15723,17 +15723,17 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-module-utils@2.12.1(@typescript-eslint/parser@8.57.2(eslint@9.39.4)(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint@9.39.4): + eslint-module-utils@2.12.1(@typescript-eslint/parser@8.58.0(eslint@9.39.4)(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint@9.39.4): dependencies: debug: 3.2.7 optionalDependencies: - '@typescript-eslint/parser': 8.57.2(eslint@9.39.4)(typescript@5.9.3) + '@typescript-eslint/parser': 8.58.0(eslint@9.39.4)(typescript@5.9.3) eslint: 9.39.4 eslint-import-resolver-node: 0.3.9 transitivePeerDependencies: - supports-color - eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.57.2(eslint@9.39.4)(typescript@5.9.3))(eslint@9.39.4): + eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.58.0(eslint@9.39.4)(typescript@5.9.3))(eslint@9.39.4): dependencies: '@rtsao/scc': 1.1.0 array-includes: 3.1.9 @@ -15744,7 +15744,7 @@ snapshots: doctrine: 2.1.0 eslint: 9.39.4 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.12.1(@typescript-eslint/parser@8.57.2(eslint@9.39.4)(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint@9.39.4) + eslint-module-utils: 2.12.1(@typescript-eslint/parser@8.58.0(eslint@9.39.4)(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint@9.39.4) hasown: 2.0.2 is-core-module: 2.16.1 is-glob: 4.0.3 @@ -15756,7 +15756,7 @@ snapshots: string.prototype.trimend: 1.0.9 tsconfig-paths: 3.15.0 optionalDependencies: - '@typescript-eslint/parser': 8.57.2(eslint@9.39.4)(typescript@5.9.3) + '@typescript-eslint/parser': 8.58.0(eslint@9.39.4)(typescript@5.9.3) transitivePeerDependencies: - eslint-import-resolver-typescript - eslint-import-resolver-webpack @@ -19702,7 +19702,7 @@ snapshots: optionalDependencies: '@rollup/rollup-linux-x64-gnu': 4.6.1 - ts-api-utils@2.4.0(typescript@5.9.3): + ts-api-utils@2.5.0(typescript@5.9.3): dependencies: typescript: 5.9.3 @@ -19864,12 +19864,12 @@ snapshots: dependencies: ts-toolbelt: 9.6.0 - typescript-eslint@8.57.2(eslint@9.39.4)(typescript@5.9.3): + typescript-eslint@8.58.0(eslint@9.39.4)(typescript@5.9.3): dependencies: - '@typescript-eslint/eslint-plugin': 8.57.2(@typescript-eslint/parser@8.57.2(eslint@9.39.4)(typescript@5.9.3))(eslint@9.39.4)(typescript@5.9.3) - '@typescript-eslint/parser': 8.57.2(eslint@9.39.4)(typescript@5.9.3) - '@typescript-eslint/typescript-estree': 8.57.2(typescript@5.9.3) - '@typescript-eslint/utils': 8.57.2(eslint@9.39.4)(typescript@5.9.3) + '@typescript-eslint/eslint-plugin': 8.58.0(@typescript-eslint/parser@8.58.0(eslint@9.39.4)(typescript@5.9.3))(eslint@9.39.4)(typescript@5.9.3) + '@typescript-eslint/parser': 8.58.0(eslint@9.39.4)(typescript@5.9.3) + '@typescript-eslint/typescript-estree': 8.58.0(typescript@5.9.3) + '@typescript-eslint/utils': 8.58.0(eslint@9.39.4)(typescript@5.9.3) eslint: 9.39.4 typescript: 5.9.3 transitivePeerDependencies: diff --git a/tooling/eslint/package.json b/tooling/eslint/package.json index 110142862..1ffb0feca 100644 --- a/tooling/eslint/package.json +++ b/tooling/eslint/package.json @@ -24,7 +24,7 @@ "eslint-plugin-jsx-a11y": "^6.10.2", "eslint-plugin-react": "^7.37.5", "eslint-plugin-react-hooks": "^6.1.1", - "typescript-eslint": "^8.57.2" + "typescript-eslint": "^8.58.0" }, "devDependencies": { "@homarr/prettier-config": "workspace:^0.1.0", From 8b1e3babc02d8ab6a7db9fd85325a0b92813ce8c Mon Sep 17 00:00:00 2001 From: "homarr-renovate[bot]" <158783068+homarr-renovate[bot]@users.noreply.github.com> Date: Sun, 5 Apr 2026 11:37:24 +0000 Subject: [PATCH 06/49] fix(deps): update tanstack-query monorepo to ^5.96.0 (#5410) Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com> --- apps/nextjs/package.json | 6 +-- packages/api/package.json | 2 +- packages/cron-job-api/package.json | 2 +- pnpm-lock.yaml | 86 +++++++++++++++--------------- 4 files changed, 48 insertions(+), 48 deletions(-) diff --git a/apps/nextjs/package.json b/apps/nextjs/package.json index ba929b6bd..6ae3448b2 100644 --- a/apps/nextjs/package.json +++ b/apps/nextjs/package.json @@ -56,9 +56,9 @@ "@mantine/tiptap": "^8.3.18", "@million/lint": "1.0.14", "@tabler/icons-react": "^3.41.1", - "@tanstack/react-query": "^5.95.2", - "@tanstack/react-query-devtools": "^5.95.2", - "@tanstack/react-query-next-experimental": "^5.95.2", + "@tanstack/react-query": "^5.96.0", + "@tanstack/react-query-devtools": "^5.96.0", + "@tanstack/react-query-next-experimental": "^5.96.0", "@trpc/client": "^11.16.0", "@trpc/next": "^11.16.0", "@trpc/react-query": "^11.16.0", diff --git a/packages/api/package.json b/packages/api/package.json index 0de085d2c..1ebb57edc 100644 --- a/packages/api/package.json +++ b/packages/api/package.json @@ -41,7 +41,7 @@ "@homarr/translation": "workspace:^0.1.0", "@homarr/validation": "workspace:^0.1.0", "@kubernetes/client-node": "^1.4.0", - "@tanstack/react-query": "^5.95.2", + "@tanstack/react-query": "^5.96.0", "@trpc/client": "^11.16.0", "@trpc/react-query": "^11.16.0", "@trpc/server": "^11.16.0", diff --git a/packages/cron-job-api/package.json b/packages/cron-job-api/package.json index 7a715adb7..aeca54d3a 100644 --- a/packages/cron-job-api/package.json +++ b/packages/cron-job-api/package.json @@ -28,7 +28,7 @@ "@homarr/common": "workspace:^0.1.0", "@homarr/core": "workspace:^0.1.0", "@homarr/cron-jobs": "workspace:^0.1.0", - "@tanstack/react-query": "^5.95.2", + "@tanstack/react-query": "^5.96.0", "@trpc/client": "^11.16.0", "@trpc/server": "^11.16.0", "@trpc/tanstack-react-query": "^11.16.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 0ab820f32..707c0dd79 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -233,23 +233,23 @@ importers: specifier: ^3.41.1 version: 3.41.1(react@19.2.4) '@tanstack/react-query': - specifier: ^5.95.2 - version: 5.95.2(react@19.2.4) + specifier: ^5.96.0 + version: 5.96.1(react@19.2.4) '@tanstack/react-query-devtools': - specifier: ^5.95.2 - version: 5.95.2(@tanstack/react-query@5.95.2(react@19.2.4))(react@19.2.4) + specifier: ^5.96.0 + version: 5.96.1(@tanstack/react-query@5.96.1(react@19.2.4))(react@19.2.4) '@tanstack/react-query-next-experimental': - specifier: ^5.95.2 - version: 5.95.2(@tanstack/react-query@5.95.2(react@19.2.4))(next@16.2.1(@babel/core@7.26.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.98.0))(react@19.2.4) + specifier: ^5.96.0 + version: 5.96.1(@tanstack/react-query@5.96.1(react@19.2.4))(next@16.2.1(@babel/core@7.26.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.98.0))(react@19.2.4) '@trpc/client': specifier: ^11.16.0 version: 11.16.0(@trpc/server@11.16.0(typescript@5.9.3))(typescript@5.9.3) '@trpc/next': specifier: ^11.16.0 - version: 11.16.0(@tanstack/react-query@5.95.2(react@19.2.4))(@trpc/client@11.16.0(@trpc/server@11.16.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/react-query@11.16.0(@tanstack/react-query@5.95.2(react@19.2.4))(@trpc/client@11.16.0(@trpc/server@11.16.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.16.0(typescript@5.9.3))(react@19.2.4)(typescript@5.9.3))(@trpc/server@11.16.0(typescript@5.9.3))(next@16.2.1(@babel/core@7.26.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.98.0))(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3) + version: 11.16.0(@tanstack/react-query@5.96.1(react@19.2.4))(@trpc/client@11.16.0(@trpc/server@11.16.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/react-query@11.16.0(@tanstack/react-query@5.96.1(react@19.2.4))(@trpc/client@11.16.0(@trpc/server@11.16.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.16.0(typescript@5.9.3))(react@19.2.4)(typescript@5.9.3))(@trpc/server@11.16.0(typescript@5.9.3))(next@16.2.1(@babel/core@7.26.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.98.0))(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3) '@trpc/react-query': specifier: ^11.16.0 - version: 11.16.0(@tanstack/react-query@5.95.2(react@19.2.4))(@trpc/client@11.16.0(@trpc/server@11.16.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.16.0(typescript@5.9.3))(react@19.2.4)(typescript@5.9.3) + version: 11.16.0(@tanstack/react-query@5.96.1(react@19.2.4))(@trpc/client@11.16.0(@trpc/server@11.16.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.16.0(typescript@5.9.3))(react@19.2.4)(typescript@5.9.3) '@trpc/server': specifier: ^11.16.0 version: 11.16.0(typescript@5.9.3) @@ -639,20 +639,20 @@ importers: specifier: ^1.4.0 version: 1.4.0 '@tanstack/react-query': - specifier: ^5.95.2 - version: 5.95.2(react@19.2.4) + specifier: ^5.96.0 + version: 5.96.1(react@19.2.4) '@trpc/client': specifier: ^11.16.0 version: 11.16.0(@trpc/server@11.16.0(typescript@5.9.3))(typescript@5.9.3) '@trpc/react-query': specifier: ^11.16.0 - version: 11.16.0(@tanstack/react-query@5.95.2(react@19.2.4))(@trpc/client@11.16.0(@trpc/server@11.16.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.16.0(typescript@5.9.3))(react@19.2.4)(typescript@5.9.3) + version: 11.16.0(@tanstack/react-query@5.96.1(react@19.2.4))(@trpc/client@11.16.0(@trpc/server@11.16.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.16.0(typescript@5.9.3))(react@19.2.4)(typescript@5.9.3) '@trpc/server': specifier: ^11.16.0 version: 11.16.0(typescript@5.9.3) '@trpc/tanstack-react-query': specifier: ^11.16.0 - version: 11.16.0(@tanstack/react-query@5.95.2(react@19.2.4))(@trpc/client@11.16.0(@trpc/server@11.16.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.16.0(typescript@5.9.3))(react@19.2.4)(typescript@5.9.3) + version: 11.16.0(@tanstack/react-query@5.96.1(react@19.2.4))(@trpc/client@11.16.0(@trpc/server@11.16.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.16.0(typescript@5.9.3))(react@19.2.4)(typescript@5.9.3) lodash.clonedeep: specifier: ^4.5.0 version: 4.5.0 @@ -954,8 +954,8 @@ importers: specifier: workspace:^0.1.0 version: link:../cron-jobs '@tanstack/react-query': - specifier: ^5.95.2 - version: 5.95.2(react@19.2.4) + specifier: ^5.96.0 + version: 5.96.1(react@19.2.4) '@trpc/client': specifier: ^11.16.0 version: 11.16.0(@trpc/server@11.16.0(typescript@5.9.3))(typescript@5.9.3) @@ -964,7 +964,7 @@ importers: version: 11.16.0(typescript@5.9.3) '@trpc/tanstack-react-query': specifier: ^11.16.0 - version: 11.16.0(@tanstack/react-query@5.95.2(react@19.2.4))(@trpc/client@11.16.0(@trpc/server@11.16.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.16.0(typescript@5.9.3))(react@19.2.4)(typescript@5.9.3) + version: 11.16.0(@tanstack/react-query@5.96.1(react@19.2.4))(@trpc/client@11.16.0(@trpc/server@11.16.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.16.0(typescript@5.9.3))(react@19.2.4)(typescript@5.9.3) node-cron: specifier: ^4.2.1 version: 4.2.1 @@ -4610,27 +4610,27 @@ packages: resolution: {integrity: sha512-Wo1iKt2b9OT7d+YGhvEPD3DXvPv2etTusIMhMUoG7fbhmxcXCtIjJDEygy91Y2JFlwGyjqiBPRozme7UD8hoqg==} engines: {node: '>=12'} - '@tanstack/query-core@5.95.2': - resolution: {integrity: sha512-o4T8vZHZET4Bib3jZ/tCW9/7080urD4c+0/AUaYVpIqOsr7y0reBc1oX3ttNaSW5mYyvZHctiQ/UOP2PfdmFEQ==} + '@tanstack/query-core@5.96.1': + resolution: {integrity: sha512-u1yBgtavSy+N8wgtW3PiER6UpxcplMje65yXnnVgiHTqiMwLlxiw4WvQDrXyn+UD6lnn8kHaxmerJUzQcV/MMg==} - '@tanstack/query-devtools@5.95.2': - resolution: {integrity: sha512-QfaoqBn9uAZ+ICkA8brd1EHj+qBF6glCFgt94U8XP5BT6ppSsDBI8IJ00BU+cAGjQzp6wcKJL2EmRYvxy0TWIg==} + '@tanstack/query-devtools@5.96.1': + resolution: {integrity: sha512-A4+uQTWbiqZDgrLeyjpFYLfMaWaKWpkwTkR1cUfocVj6vPYgym7QTG2se9A01WSxceDdmgxOqvn1ivcTvgWD8w==} - '@tanstack/react-query-devtools@5.95.2': - resolution: {integrity: sha512-AFQFmbznVkbtfpx8VJ2DylW17wWagQel/qLstVLkYmNRo2CmJt3SNej5hvl6EnEeljJIdC3BTB+W7HZtpsH+3g==} + '@tanstack/react-query-devtools@5.96.1': + resolution: {integrity: sha512-3ZZ58fupIXtJFM0evj8YvWrauaZPUrQEqRYaq9e4ER/WPqTKeWEucqWCXn+KJLgWlcot5JIIUtQNynbovGjTTA==} peerDependencies: - '@tanstack/react-query': ^5.95.2 + '@tanstack/react-query': ^5.96.1 react: ^18 || ^19 - '@tanstack/react-query-next-experimental@5.95.2': - resolution: {integrity: sha512-86DqCinF4EWu/JqhKbjRpp/JXyQd+3RWquKCo1OXxHu8QGGUsql3vb0tjNzrv/GAgg+7VqMc/IqD+dKAlfECTQ==} + '@tanstack/react-query-next-experimental@5.96.1': + resolution: {integrity: sha512-/JUVKr45fKzHG5HlRKFU1Q4pEmrMK+iSGZt442feN/rNmxW2nxroy0UrQ9g2MlySDM8cmXgQLpJWEahCb0ffxw==} peerDependencies: - '@tanstack/react-query': ^5.95.2 + '@tanstack/react-query': ^5.96.1 next: ^13 || ^14 || ^15 || ^16 react: ^18 || ^19 - '@tanstack/react-query@5.95.2': - resolution: {integrity: sha512-/wGkvLj/st5Ud1Q76KF1uFxScV7WeqN1slQx5280ycwAyYkIPGaRZAEgHxe3bjirSd5Zpwkj6zNcR4cqYni/ZA==} + '@tanstack/react-query@5.96.1': + resolution: {integrity: sha512-2X7KYK5KKWUKGeWCVcqxXAkYefJtrKB7tSKWgeG++b0H6BRHxQaLSSi8AxcgjmUnnosHuh9WsFZqvE16P1WCzA==} peerDependencies: react: ^18 || ^19 @@ -13331,25 +13331,25 @@ snapshots: dependencies: remove-accents: 0.5.0 - '@tanstack/query-core@5.95.2': {} + '@tanstack/query-core@5.96.1': {} - '@tanstack/query-devtools@5.95.2': {} + '@tanstack/query-devtools@5.96.1': {} - '@tanstack/react-query-devtools@5.95.2(@tanstack/react-query@5.95.2(react@19.2.4))(react@19.2.4)': + '@tanstack/react-query-devtools@5.96.1(@tanstack/react-query@5.96.1(react@19.2.4))(react@19.2.4)': dependencies: - '@tanstack/query-devtools': 5.95.2 - '@tanstack/react-query': 5.95.2(react@19.2.4) + '@tanstack/query-devtools': 5.96.1 + '@tanstack/react-query': 5.96.1(react@19.2.4) react: 19.2.4 - '@tanstack/react-query-next-experimental@5.95.2(@tanstack/react-query@5.95.2(react@19.2.4))(next@16.2.1(@babel/core@7.26.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.98.0))(react@19.2.4)': + '@tanstack/react-query-next-experimental@5.96.1(@tanstack/react-query@5.96.1(react@19.2.4))(next@16.2.1(@babel/core@7.26.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.98.0))(react@19.2.4)': dependencies: - '@tanstack/react-query': 5.95.2(react@19.2.4) + '@tanstack/react-query': 5.96.1(react@19.2.4) next: 16.2.1(@babel/core@7.26.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.98.0) react: 19.2.4 - '@tanstack/react-query@5.95.2(react@19.2.4)': + '@tanstack/react-query@5.96.1(react@19.2.4)': dependencies: - '@tanstack/query-core': 5.95.2 + '@tanstack/query-core': 5.96.1 react: 19.2.4 '@tanstack/react-table@8.20.5(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': @@ -13628,7 +13628,7 @@ snapshots: '@trpc/server': 11.16.0(typescript@5.9.3) typescript: 5.9.3 - '@trpc/next@11.16.0(@tanstack/react-query@5.95.2(react@19.2.4))(@trpc/client@11.16.0(@trpc/server@11.16.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/react-query@11.16.0(@tanstack/react-query@5.95.2(react@19.2.4))(@trpc/client@11.16.0(@trpc/server@11.16.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.16.0(typescript@5.9.3))(react@19.2.4)(typescript@5.9.3))(@trpc/server@11.16.0(typescript@5.9.3))(next@16.2.1(@babel/core@7.26.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.98.0))(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3)': + '@trpc/next@11.16.0(@tanstack/react-query@5.96.1(react@19.2.4))(@trpc/client@11.16.0(@trpc/server@11.16.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/react-query@11.16.0(@tanstack/react-query@5.96.1(react@19.2.4))(@trpc/client@11.16.0(@trpc/server@11.16.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.16.0(typescript@5.9.3))(react@19.2.4)(typescript@5.9.3))(@trpc/server@11.16.0(typescript@5.9.3))(next@16.2.1(@babel/core@7.26.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.98.0))(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3)': dependencies: '@trpc/client': 11.16.0(@trpc/server@11.16.0(typescript@5.9.3))(typescript@5.9.3) '@trpc/server': 11.16.0(typescript@5.9.3) @@ -13637,12 +13637,12 @@ snapshots: react-dom: 19.2.4(react@19.2.4) typescript: 5.9.3 optionalDependencies: - '@tanstack/react-query': 5.95.2(react@19.2.4) - '@trpc/react-query': 11.16.0(@tanstack/react-query@5.95.2(react@19.2.4))(@trpc/client@11.16.0(@trpc/server@11.16.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.16.0(typescript@5.9.3))(react@19.2.4)(typescript@5.9.3) + '@tanstack/react-query': 5.96.1(react@19.2.4) + '@trpc/react-query': 11.16.0(@tanstack/react-query@5.96.1(react@19.2.4))(@trpc/client@11.16.0(@trpc/server@11.16.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.16.0(typescript@5.9.3))(react@19.2.4)(typescript@5.9.3) - '@trpc/react-query@11.16.0(@tanstack/react-query@5.95.2(react@19.2.4))(@trpc/client@11.16.0(@trpc/server@11.16.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.16.0(typescript@5.9.3))(react@19.2.4)(typescript@5.9.3)': + '@trpc/react-query@11.16.0(@tanstack/react-query@5.96.1(react@19.2.4))(@trpc/client@11.16.0(@trpc/server@11.16.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.16.0(typescript@5.9.3))(react@19.2.4)(typescript@5.9.3)': dependencies: - '@tanstack/react-query': 5.95.2(react@19.2.4) + '@tanstack/react-query': 5.96.1(react@19.2.4) '@trpc/client': 11.16.0(@trpc/server@11.16.0(typescript@5.9.3))(typescript@5.9.3) '@trpc/server': 11.16.0(typescript@5.9.3) react: 19.2.4 @@ -13652,9 +13652,9 @@ snapshots: dependencies: typescript: 5.9.3 - '@trpc/tanstack-react-query@11.16.0(@tanstack/react-query@5.95.2(react@19.2.4))(@trpc/client@11.16.0(@trpc/server@11.16.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.16.0(typescript@5.9.3))(react@19.2.4)(typescript@5.9.3)': + '@trpc/tanstack-react-query@11.16.0(@tanstack/react-query@5.96.1(react@19.2.4))(@trpc/client@11.16.0(@trpc/server@11.16.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.16.0(typescript@5.9.3))(react@19.2.4)(typescript@5.9.3)': dependencies: - '@tanstack/react-query': 5.95.2(react@19.2.4) + '@tanstack/react-query': 5.96.1(react@19.2.4) '@trpc/client': 11.16.0(@trpc/server@11.16.0(typescript@5.9.3))(typescript@5.9.3) '@trpc/server': 11.16.0(typescript@5.9.3) react: 19.2.4 From 6047eb4477584172f7d8e6e14237c251ac487d81 Mon Sep 17 00:00:00 2001 From: "homarr-renovate[bot]" <158783068+homarr-renovate[bot]@users.noreply.github.com> Date: Sun, 5 Apr 2026 16:45:33 +0000 Subject: [PATCH 07/49] fix(deps): update dependency next-intl to v4.8.4 (#5413) Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com> --- packages/translation/package.json | 2 +- pnpm-lock.yaml | 38 +++++++++++++++---------------- 2 files changed, 20 insertions(+), 20 deletions(-) diff --git a/packages/translation/package.json b/packages/translation/package.json index 374780c53..4e54ce40e 100644 --- a/packages/translation/package.json +++ b/packages/translation/package.json @@ -33,7 +33,7 @@ "deepmerge": "4.3.1", "mantine-react-table": "2.0.0-beta.9", "next": "16.2.1", - "next-intl": "4.8.3", + "next-intl": "4.8.4", "react": "19.2.4", "react-dom": "19.2.4" }, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 707c0dd79..7ca15dac1 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -2045,8 +2045,8 @@ importers: specifier: 16.2.1 version: 16.2.1(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.98.0) next-intl: - specifier: 4.8.3 - version: 4.8.3(next@16.2.1(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.98.0))(react@19.2.4)(typescript@5.9.3) + specifier: 4.8.4 + version: 4.8.4(next@16.2.1(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.98.0))(react@19.2.4)(typescript@5.9.3) react: specifier: 19.2.4 version: 19.2.4 @@ -7385,8 +7385,8 @@ packages: resolution: {integrity: sha512-im9DjEDQ55s9fL4EYzOAv0yMqmMBSZp6G0VvFyTMPKWxiSBHUj9NW/qqLmXUwXrrM7AvqSlTCfvqRb0cM8yYqw==} engines: {node: '>=0.10.0'} - icu-minify@4.8.3: - resolution: {integrity: sha512-65Av7FLosNk7bPbmQx5z5XG2Y3T2GFppcjiXh4z1idHeVgQxlDpAmkGoYI0eFzAvrOnjpWTL5FmPDhsdfRMPEA==} + icu-minify@4.9.0: + resolution: {integrity: sha512-9ev7MqkN29jcIelUAqJRfNCxzGOEkBJPnr+scYATMp2bfpU4Bm1eIwYU0/o5xRy8BBnSWMUjK58WTB3132P0bg==} ieee754@1.2.1: resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} @@ -8368,15 +8368,15 @@ packages: nodemailer: optional: true - next-intl-swc-plugin-extractor@4.8.3: - resolution: {integrity: sha512-YcaT+R9z69XkGhpDarVFWUprrCMbxgIQYPUaXoE6LGVnLjGdo8hu3gL6bramDVjNKViYY8a/pXPy7Bna0mXORg==} + next-intl-swc-plugin-extractor@4.9.0: + resolution: {integrity: sha512-CAu6Qy6XiCenKsvzyCPm2cZFkGfcvhJi8N93TCnOowmzD4Br3ked7QdROusRRp4MQ1iG9u+KCLgVcM9CLDUOIQ==} - next-intl@4.8.3: - resolution: {integrity: sha512-PvdBDWg+Leh7BR7GJUQbCDVVaBRn37GwDBWc9sv0rVQOJDQ5JU1rVzx9EEGuOGYo0DHAl70++9LQ7HxTawdL7w==} + next-intl@4.8.4: + resolution: {integrity: sha512-GUm4opem3vJ3smyysiW6QLVJIax4KHZ6itP+1McxVFNqtfUkiOZ76t0lAAeVe65Zw+qgXtorzX4Cm8klkoWFgQ==} peerDependencies: next: ^12.0.0 || ^13.0.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 react: ^16.8.0 || ^17.0.0 || ^18.0.0 || >=19.0.0-rc <19.0.0 || ^19.0.0 - typescript: ^5.0.0 + typescript: '*' peerDependenciesMeta: typescript: optional: true @@ -10485,8 +10485,8 @@ packages: peerDependencies: react: '>=16.13' - use-intl@4.8.3: - resolution: {integrity: sha512-nLxlC/RH+le6g3amA508Itnn/00mE+J22ui21QhOWo5V9hCEC43+WtnRAITbJW0ztVZphev5X9gvOf2/Dk9PLA==} + use-intl@4.9.0: + resolution: {integrity: sha512-GehJvP7gu8SvmaDHNDNrRHt2TCNSZt4l1cGJMpUX77TGeZPAQKVQokAVvoYkeTT1UWPtv9RJ6N16UJNButzrgg==} peerDependencies: react: ^17.0.0 || ^18.0.0 || >=19.0.0-rc <19.0.0 || ^19.0.0 @@ -16509,7 +16509,7 @@ snapshots: dependencies: safer-buffer: 2.1.2 - icu-minify@4.8.3: + icu-minify@4.9.0: dependencies: '@formatjs/icu-messageformat-parser': 3.5.0 @@ -17569,20 +17569,20 @@ snapshots: next: 16.2.1(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.98.0) react: 19.2.4 - next-intl-swc-plugin-extractor@4.8.3: {} + next-intl-swc-plugin-extractor@4.9.0: {} - next-intl@4.8.3(next@16.2.1(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.98.0))(react@19.2.4)(typescript@5.9.3): + next-intl@4.8.4(next@16.2.1(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.98.0))(react@19.2.4)(typescript@5.9.3): dependencies: '@formatjs/intl-localematcher': 0.8.1 '@parcel/watcher': 2.4.1 '@swc/core': 1.15.3 - icu-minify: 4.8.3 + icu-minify: 4.9.0 negotiator: 1.0.0 next: 16.2.1(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.98.0) - next-intl-swc-plugin-extractor: 4.8.3 + next-intl-swc-plugin-extractor: 4.9.0 po-parser: 2.1.1 react: 19.2.4 - use-intl: 4.8.3(react@19.2.4) + use-intl: 4.9.0(react@19.2.4) optionalDependencies: typescript: 5.9.3 transitivePeerDependencies: @@ -20045,11 +20045,11 @@ snapshots: dequal: 2.0.3 react: 19.2.4 - use-intl@4.8.3(react@19.2.4): + use-intl@4.9.0(react@19.2.4): dependencies: '@formatjs/fast-memoize': 3.1.0 '@schummar/icu-type-parser': 1.21.5 - icu-minify: 4.8.3 + icu-minify: 4.9.0 intl-messageformat: 11.1.1 react: 19.2.4 From d8480c05a63525dc655a73675c2a9eec575a9539 Mon Sep 17 00:00:00 2001 From: "homarr-renovate[bot]" <158783068+homarr-renovate[bot]@users.noreply.github.com> Date: Sun, 5 Apr 2026 20:44:00 +0000 Subject: [PATCH 08/49] fix(deps): update turbo monorepo to ^2.9.2 (#5415) Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com> --- package.json | 4 ++-- pnpm-lock.yaml | 6 +++--- tooling/eslint/package.json | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 1b01336ad..4766aaa8c 100644 --- a/package.json +++ b/package.json @@ -43,7 +43,7 @@ "@semantic-release/npm": "^13.1.5", "@semantic-release/release-notes-generator": "^14.1.0", "@testcontainers/redis": "^11.13.0", - "@turbo/gen": "^2.9.1", + "@turbo/gen": "^2.9.2", "@vitejs/plugin-react": "^5.2.0", "@vitest/coverage-v8": "^4.1.2", "@vitest/ui": "^4.1.2", @@ -54,7 +54,7 @@ "prettier": "^3.8.1", "semantic-release": "^25.0.3", "testcontainers": "^11.13.0", - "turbo": "^2.9.1", + "turbo": "^2.9.2", "typescript": "^5.9.3", "vite-tsconfig-paths": "^6.1.1", "vitest": "^4.1.2" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 7ca15dac1..fe1267786 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -62,7 +62,7 @@ importers: specifier: ^11.13.0 version: 11.13.0 '@turbo/gen': - specifier: ^2.9.1 + specifier: ^2.9.2 version: 2.9.3(@types/node@24.12.0) '@vitejs/plugin-react': specifier: ^5.2.0 @@ -95,7 +95,7 @@ importers: specifier: ^11.13.0 version: 11.13.0 turbo: - specifier: ^2.9.1 + specifier: ^2.9.2 version: 2.9.3 typescript: specifier: ^5.9.3 @@ -2364,7 +2364,7 @@ importers: specifier: ^10.1.8 version: 10.1.8(eslint@9.39.4) eslint-config-turbo: - specifier: ^2.9.1 + specifier: ^2.9.2 version: 2.9.3(eslint@9.39.4)(turbo@2.9.3) eslint-plugin-import: specifier: ^2.32.0 diff --git a/tooling/eslint/package.json b/tooling/eslint/package.json index 1ffb0feca..40ae4cede 100644 --- a/tooling/eslint/package.json +++ b/tooling/eslint/package.json @@ -19,7 +19,7 @@ "dependencies": { "@next/eslint-plugin-next": "16.2.1", "eslint-config-prettier": "^10.1.8", - "eslint-config-turbo": "^2.9.1", + "eslint-config-turbo": "^2.9.2", "eslint-plugin-import": "^2.32.0", "eslint-plugin-jsx-a11y": "^6.10.2", "eslint-plugin-react": "^7.37.5", From 402d948fe7d36406b7a75a4e4861330c6bcaa78b Mon Sep 17 00:00:00 2001 From: "homarr-renovate[bot]" <158783068+homarr-renovate[bot]@users.noreply.github.com> Date: Sun, 5 Apr 2026 21:39:56 +0000 Subject: [PATCH 09/49] fix(deps): update tiptap monorepo to v3.22.0 (#5414) Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com> --- packages/widgets/package.json | 32 +- pnpm-lock.yaml | 563 +++++++++++++++++----------------- 2 files changed, 302 insertions(+), 293 deletions(-) diff --git a/packages/widgets/package.json b/packages/widgets/package.json index a1ff634d1..1851731a7 100644 --- a/packages/widgets/package.json +++ b/packages/widgets/package.json @@ -52,22 +52,22 @@ "@mantine/core": "^8.3.18", "@mantine/hooks": "^8.3.18", "@tabler/icons-react": "^3.41.1", - "@tiptap/extension-color": "3.21.0", - "@tiptap/extension-highlight": "3.21.0", - "@tiptap/extension-image": "3.21.0", - "@tiptap/extension-link": "^3.21.0", - "@tiptap/extension-placeholder": "^3.21.0", - "@tiptap/extension-table": "3.21.0", - "@tiptap/extension-table-cell": "3.21.0", - "@tiptap/extension-table-header": "3.21.0", - "@tiptap/extension-table-row": "3.21.0", - "@tiptap/extension-task-item": "3.21.0", - "@tiptap/extension-task-list": "3.21.0", - "@tiptap/extension-text-align": "3.21.0", - "@tiptap/extension-text-style": "3.21.0", - "@tiptap/extension-underline": "3.21.0", - "@tiptap/react": "^3.21.0", - "@tiptap/starter-kit": "^3.21.0", + "@tiptap/extension-color": "3.22.0", + "@tiptap/extension-highlight": "3.22.0", + "@tiptap/extension-image": "3.22.0", + "@tiptap/extension-link": "^3.22.0", + "@tiptap/extension-placeholder": "^3.22.0", + "@tiptap/extension-table": "3.22.0", + "@tiptap/extension-table-cell": "3.22.0", + "@tiptap/extension-table-header": "3.22.0", + "@tiptap/extension-table-row": "3.22.0", + "@tiptap/extension-task-item": "3.22.0", + "@tiptap/extension-task-list": "3.22.0", + "@tiptap/extension-text-align": "3.22.0", + "@tiptap/extension-text-style": "3.22.0", + "@tiptap/extension-underline": "3.22.0", + "@tiptap/react": "^3.22.0", + "@tiptap/starter-kit": "^3.22.0", "clsx": "^2.1.1", "dayjs": "^1.11.20", "mantine-form-zod-resolver": "^1.3.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index fe1267786..54a3d3b8e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -225,7 +225,7 @@ importers: version: 8.3.18(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@mantine/hooks@8.3.18(react@19.2.4))(react-dom@19.2.4(react@19.2.4))(react@19.2.4) '@mantine/tiptap': specifier: ^8.3.18 - version: 8.3.18(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@mantine/hooks@8.3.18(react@19.2.4))(@tiptap/extension-link@3.21.0(@tiptap/core@3.21.0(@tiptap/pm@3.21.0))(@tiptap/pm@3.21.0))(@tiptap/react@3.21.0(@floating-ui/dom@1.7.4)(@tiptap/core@3.21.0(@tiptap/pm@3.21.0))(@tiptap/pm@3.21.0)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + version: 8.3.18(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@mantine/hooks@8.3.18(react@19.2.4))(@tiptap/extension-link@3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1))(@tiptap/react@3.22.1(@floating-ui/dom@1.7.4)(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(react-dom@19.2.4(react@19.2.4))(react@19.2.4) '@million/lint': specifier: 1.0.14 version: 1.0.14(webpack-sources@3.3.4) @@ -2255,53 +2255,53 @@ importers: specifier: ^3.41.1 version: 3.41.1(react@19.2.4) '@tiptap/extension-color': - specifier: 3.21.0 - version: 3.21.0(@tiptap/extension-text-style@3.21.0(@tiptap/core@3.21.0(@tiptap/pm@3.21.0))) + specifier: 3.22.0 + version: 3.22.0(@tiptap/extension-text-style@3.22.0(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))) '@tiptap/extension-highlight': - specifier: 3.21.0 - version: 3.21.0(@tiptap/core@3.21.0(@tiptap/pm@3.21.0)) + specifier: 3.22.0 + version: 3.22.0(@tiptap/core@3.22.1(@tiptap/pm@3.22.1)) '@tiptap/extension-image': - specifier: 3.21.0 - version: 3.21.0(@tiptap/core@3.21.0(@tiptap/pm@3.21.0)) + specifier: 3.22.0 + version: 3.22.0(@tiptap/core@3.22.1(@tiptap/pm@3.22.1)) '@tiptap/extension-link': - specifier: ^3.21.0 - version: 3.21.0(@tiptap/core@3.21.0(@tiptap/pm@3.21.0))(@tiptap/pm@3.21.0) + specifier: ^3.22.0 + version: 3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1) '@tiptap/extension-placeholder': - specifier: ^3.21.0 - version: 3.21.0(@tiptap/extensions@3.21.0(@tiptap/core@3.21.0(@tiptap/pm@3.21.0))(@tiptap/pm@3.21.0)) + specifier: ^3.22.0 + version: 3.22.1(@tiptap/extensions@3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1)) '@tiptap/extension-table': - specifier: 3.21.0 - version: 3.21.0(@tiptap/core@3.21.0(@tiptap/pm@3.21.0))(@tiptap/pm@3.21.0) + specifier: 3.22.0 + version: 3.22.0(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1) '@tiptap/extension-table-cell': - specifier: 3.21.0 - version: 3.21.0(@tiptap/extension-table@3.21.0(@tiptap/core@3.21.0(@tiptap/pm@3.21.0))(@tiptap/pm@3.21.0)) + specifier: 3.22.0 + version: 3.22.0(@tiptap/extension-table@3.22.0(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1)) '@tiptap/extension-table-header': - specifier: 3.21.0 - version: 3.21.0(@tiptap/extension-table@3.21.0(@tiptap/core@3.21.0(@tiptap/pm@3.21.0))(@tiptap/pm@3.21.0)) + specifier: 3.22.0 + version: 3.22.0(@tiptap/extension-table@3.22.0(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1)) '@tiptap/extension-table-row': - specifier: 3.21.0 - version: 3.21.0(@tiptap/extension-table@3.21.0(@tiptap/core@3.21.0(@tiptap/pm@3.21.0))(@tiptap/pm@3.21.0)) + specifier: 3.22.0 + version: 3.22.0(@tiptap/extension-table@3.22.0(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1)) '@tiptap/extension-task-item': - specifier: 3.21.0 - version: 3.21.0(@tiptap/extension-list@3.21.0(@tiptap/core@3.21.0(@tiptap/pm@3.21.0))(@tiptap/pm@3.21.0)) + specifier: 3.22.0 + version: 3.22.0(@tiptap/extension-list@3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1)) '@tiptap/extension-task-list': - specifier: 3.21.0 - version: 3.21.0(@tiptap/extension-list@3.21.0(@tiptap/core@3.21.0(@tiptap/pm@3.21.0))(@tiptap/pm@3.21.0)) + specifier: 3.22.0 + version: 3.22.0(@tiptap/extension-list@3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1)) '@tiptap/extension-text-align': - specifier: 3.21.0 - version: 3.21.0(@tiptap/core@3.21.0(@tiptap/pm@3.21.0)) + specifier: 3.22.0 + version: 3.22.0(@tiptap/core@3.22.1(@tiptap/pm@3.22.1)) '@tiptap/extension-text-style': - specifier: 3.21.0 - version: 3.21.0(@tiptap/core@3.21.0(@tiptap/pm@3.21.0)) + specifier: 3.22.0 + version: 3.22.0(@tiptap/core@3.22.1(@tiptap/pm@3.22.1)) '@tiptap/extension-underline': - specifier: 3.21.0 - version: 3.21.0(@tiptap/core@3.21.0(@tiptap/pm@3.21.0)) + specifier: 3.22.0 + version: 3.22.0(@tiptap/core@3.22.1(@tiptap/pm@3.22.1)) '@tiptap/react': - specifier: ^3.21.0 - version: 3.21.0(@floating-ui/dom@1.7.4)(@tiptap/core@3.21.0(@tiptap/pm@3.21.0))(@tiptap/pm@3.21.0)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + specifier: ^3.22.0 + version: 3.22.1(@floating-ui/dom@1.7.4)(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) '@tiptap/starter-kit': - specifier: ^3.21.0 - version: 3.21.0 + specifier: ^3.22.0 + version: 3.22.1 clsx: specifier: ^2.1.1 version: 2.1.1 @@ -4663,215 +4663,220 @@ packages: '@testcontainers/redis@11.13.0': resolution: {integrity: sha512-Wx4oFLpR6/khRTFUUX7Nl8cCcjk85mpIWjwTe/PI39skdEG0QaJMAaeZG2r6fEB1YyXtSQGtiZiBUMafbRfh7w==} - '@tiptap/core@3.21.0': - resolution: {integrity: sha512-IfnQiuEeabDSPr1C/zHFTbnvlTf5z0DE/d/xz4C6bkL4ZBDJ3rr99h2qsaV0l8F+kbNswZMlQdM8rxNlMy95fQ==} + '@tiptap/core@3.22.1': + resolution: {integrity: sha512-6wPNhkdLIGYiKAGqepDCRtR0TYGJxV40SwOEN2vlPhsXqAgzmyG37UyREj5pGH5xTekugqMCgCnyRg7m5nYoYQ==} peerDependencies: - '@tiptap/pm': ^3.21.0 + '@tiptap/pm': ^3.22.1 - '@tiptap/extension-blockquote@3.21.0': - resolution: {integrity: sha512-JDM/RR6rM0dMCZ1UnEf7eqmN6pAdIa2llhN+E24HdTGNJCklMFhLAGE/OT8/1r7M0WWA9GVO7/PTe4EdGh6+lQ==} + '@tiptap/extension-blockquote@3.22.1': + resolution: {integrity: sha512-omPsJ/IMAZYhXqOaEenYE+HA9U2zju5rQbAn6Xktynvr4A5P95jqkgAwncXB82pCkNYU/uYxi51vyTweTeEUHA==} peerDependencies: - '@tiptap/core': ^3.21.0 + '@tiptap/core': ^3.22.1 - '@tiptap/extension-bold@3.21.0': - resolution: {integrity: sha512-iyEJRzG7XTCPlHwEDzUw3HnuYYCfL7lNpcCHmxcpYMrIUA8rv7EUxerIwApT6xY8hQ/07ljuJKgOyPvnJOOzuA==} + '@tiptap/extension-bold@3.22.1': + resolution: {integrity: sha512-0+q6Apu1Vx2+ReB2ktTpBrQ5/dCvGzTkJCy+MZ/t8WBcybqFXOKYRCr/i/VGPDpXZttxpk0EPl0+ao+NVcUTAA==} peerDependencies: - '@tiptap/core': ^3.21.0 + '@tiptap/core': ^3.22.1 - '@tiptap/extension-bubble-menu@3.21.0': - resolution: {integrity: sha512-/fabRRhhf8i4LAx9e8xz9ppqN5KgdJk3TxMuxAD5vAWGsejvhSoPa8O8H/QwwyntXm1Vue8aQiMHsUk48b2hGQ==} + '@tiptap/extension-bubble-menu@3.22.1': + resolution: {integrity: sha512-JJI63N55hLPjfqHgBnbG1ORZTXJiswnfBkfNd8YKytCC8D++g5qX3UMObxmJKLMBRGyqjEi6krzOyYtOix5ALA==} peerDependencies: - '@tiptap/core': ^3.21.0 - '@tiptap/pm': ^3.21.0 + '@tiptap/core': ^3.22.1 + '@tiptap/pm': ^3.22.1 - '@tiptap/extension-bullet-list@3.21.0': - resolution: {integrity: sha512-PWNF+xwxgOeXYGD88sCQLKL0eBoQqjUnZNALxBjN3Y7x4llalh42rHOp2Nt2t6UbQgqTBtBzU/uFcussTpxreQ==} + '@tiptap/extension-bullet-list@3.22.1': + resolution: {integrity: sha512-83L+4N2JziWORbWtlsM0xBm3LOKIw4YtIm+Kh4amV5kGvIgIL5I1KYzoxv20qjgFX2k08LtLMwPdvPSPSh4e7g==} peerDependencies: - '@tiptap/extension-list': ^3.21.0 + '@tiptap/extension-list': ^3.22.1 - '@tiptap/extension-code-block@3.21.0': - resolution: {integrity: sha512-zrVOcOzDCjHQ8NJcC+qHmZZKiwnP/NMSb3qVJlSMN8TzuHept1MZCDa2Mbo70O6I0txo456SGuXB9sqV1vHmGg==} + '@tiptap/extension-code-block@3.22.1': + resolution: {integrity: sha512-fr3b1seFsAeYHtPAb9fbATkGcgyfStD05GHsZXFLh7yCpf2ejWLNxdWJT/g+FggSEHYFKCXT06aixk0WbtRcWw==} peerDependencies: - '@tiptap/core': ^3.21.0 - '@tiptap/pm': ^3.21.0 + '@tiptap/core': ^3.22.1 + '@tiptap/pm': ^3.22.1 - '@tiptap/extension-code@3.21.0': - resolution: {integrity: sha512-D7wA9jp+4X2r1f3FIoga73s6Rn4rmZY57Jes6a4rK3HY+3yHk1r057pPIZSY8Drfs97jxHQVFdfUYUomLSFYBA==} + '@tiptap/extension-code@3.22.1': + resolution: {integrity: sha512-Ze+hjSLLCn+5gVpuE/Uv7mQ83AlG5A9OPsuDoyzTpJ2XNvZP2iZdwQMGqwXKC8eH7fIOJN6XQ3IDv/EhltQx/Q==} peerDependencies: - '@tiptap/core': ^3.21.0 + '@tiptap/core': ^3.22.1 - '@tiptap/extension-color@3.21.0': - resolution: {integrity: sha512-LbzMcUPz148A+4g42GQ3FqkwI4+p8w+9W0s5HAo6aVMjsOaMSL12CqNhG4Kj/6zOq32WkVSa3FxpDNkuMn0jzA==} + '@tiptap/extension-color@3.22.0': + resolution: {integrity: sha512-cvhRRA6vH6sFcqzmNjMtxJbKgZH06lP8mVuz810j1bfxxEY2n6Nx5zda992aUy7BWtYjxZ9KjWodH/2uVlOqmg==} peerDependencies: - '@tiptap/extension-text-style': ^3.21.0 + '@tiptap/extension-text-style': ^3.22.0 - '@tiptap/extension-document@3.21.0': - resolution: {integrity: sha512-7oCyzXI9ChvJQUlr23AURdfVar4OIsrYUvqdhEwo3bjcI/Q/j0KJiXfuh6ZzL5eVaINSailH53sZaGg4THQtUg==} + '@tiptap/extension-document@3.22.1': + resolution: {integrity: sha512-fBI/+PGtK6pzitqjSSSYL2+uZglX6T53zb5nLEmN/q8q7FzUuUpglp8toHVhBG05WDk4vx6Z7bC95uyxkYdoAA==} peerDependencies: - '@tiptap/core': ^3.21.0 + '@tiptap/core': ^3.22.1 - '@tiptap/extension-dropcursor@3.21.0': - resolution: {integrity: sha512-6fsDSVAM2iz7eElvT6iivMrGBGjIP/oPigVZ/SPm6f31phaYhz6TIOEgV/Lr2jaPIOgyK4U0cU4Yd4KUBCmhzQ==} + '@tiptap/extension-dropcursor@3.22.1': + resolution: {integrity: sha512-PuSNoTROZB564KpTG9ExVB3CsfRa0ridHx+1sWZajOBVZJiXSn4QlS/ShS509SOx8z17DyxEw06IH//OHY9XyQ==} peerDependencies: - '@tiptap/extensions': ^3.21.0 + '@tiptap/extensions': ^3.22.1 - '@tiptap/extension-floating-menu@3.21.0': - resolution: {integrity: sha512-n2HzTB+I/5rAl8R/1sKMv92JiY1oDK1hroXizxEKYa6dskJcAMW0CfYyPcPOZWQQEe7qoeOvQISr2ooLAKW+Mw==} + '@tiptap/extension-floating-menu@3.22.1': + resolution: {integrity: sha512-TaZqmaoKv36FzbKTrBkkv74o0t8dYTftNZ7NotBqfSki0BB2PupTCJHafdu1YI0zmJ3xEzjB/XKcKPz2+10sDA==} peerDependencies: '@floating-ui/dom': ^1.0.0 - '@tiptap/core': ^3.21.0 - '@tiptap/pm': ^3.21.0 + '@tiptap/core': ^3.22.1 + '@tiptap/pm': ^3.22.1 - '@tiptap/extension-gapcursor@3.21.0': - resolution: {integrity: sha512-wGjgAoYBTvPAe9QYMI5px355XcNeMkaUrMY9IHbMqgqdmHcDxqooxM4H6sYVX2CRcHwXy4I8NQAoOhSYrQJDMg==} + '@tiptap/extension-gapcursor@3.22.1': + resolution: {integrity: sha512-qqsyy7unWM3elv+7ru+6paKAnw1PZTvjNVQu3UzB6d556Gx2uE4isXJNdBaslBZdp2EoaYdIkhhEccW9B/Nwqg==} peerDependencies: - '@tiptap/extensions': ^3.21.0 + '@tiptap/extensions': ^3.22.1 - '@tiptap/extension-hard-break@3.21.0': - resolution: {integrity: sha512-6JFVSAOQ1qhQHi9mVcdn2/XO8YIMgYV8zjarzNUzP6Sf2waeE5BLXjlg6rIH/945sY1J+FndTojLru6gQ07a5A==} + '@tiptap/extension-hard-break@3.22.1': + resolution: {integrity: sha512-hzLwLEZVbZODa9q5UiCQpOUmDnyxN19FA4LhlqLP0/JSHewP/aol5igFZwuw0XVFp425BuzPjrB7tmr0GRTDWw==} peerDependencies: - '@tiptap/core': ^3.21.0 + '@tiptap/core': ^3.22.1 - '@tiptap/extension-heading@3.21.0': - resolution: {integrity: sha512-ji6VJmoRnDzAHYflEYEZohMHRi77UGLW1o3ua7UhI32iJ9nuYssbPNuzEeE4SvENMQwZRszad5+a+dKAa+NC7g==} + '@tiptap/extension-heading@3.22.1': + resolution: {integrity: sha512-EaIihzrOfXUHQlL6fFyJCkDrjgg0e/eD4jpkjhKpeuJDcqf7eJ1c0E2zcNRAiZkeXdN/hTQFaXKsSyNUE7T7Sg==} peerDependencies: - '@tiptap/core': ^3.21.0 + '@tiptap/core': ^3.22.1 - '@tiptap/extension-highlight@3.21.0': - resolution: {integrity: sha512-3f/bVgfm2dJZxalh07TThDxcTaeXJ+dpYyRY9trnFeHbhyYQXSy6yzkNhNcYB4Ua5jxpKQv4b9Q448QVh+KNzA==} + '@tiptap/extension-highlight@3.22.0': + resolution: {integrity: sha512-5+u3Rr3EDF4tmXlMblL1RWwHheO00Gdn974HjUNrKus01q6JQcqBpycXfYYq5XHG+iHdWSVzL2XE1KsTwVI+7w==} peerDependencies: - '@tiptap/core': ^3.21.0 + '@tiptap/core': ^3.22.0 - '@tiptap/extension-horizontal-rule@3.21.0': - resolution: {integrity: sha512-vNBnOfFEY62CoJPGo4nonRM7RiOvhII1vhoO+WFr1GxDqCAfmEFjToflt7JT1UJdo6lMVcD+aaaAgOiuSz5p6g==} + '@tiptap/extension-horizontal-rule@3.22.1': + resolution: {integrity: sha512-Q18A8IN+gnfptIksPeVAI6oOBGYKAGf+QN0FEJ5OXO4BEAmA3hflflA1rWNfPC4aQNry/N7sAl8Gpd6HuIbz2w==} peerDependencies: - '@tiptap/core': ^3.21.0 - '@tiptap/pm': ^3.21.0 + '@tiptap/core': ^3.22.1 + '@tiptap/pm': ^3.22.1 - '@tiptap/extension-image@3.21.0': - resolution: {integrity: sha512-W9786a2K4LSZJMPeRLmoDulJeXOsM0ueRV2MHjTol7ikPRauROB7GUbAz9DyPAJHA2AGUfpswnGAYPO3tz5CLg==} + '@tiptap/extension-image@3.22.0': + resolution: {integrity: sha512-b3n86lWF3thywUrWmZv27EzTGhCBTjifXY/NzPfri3D22cKkxardrJi2WZIc0J65je91oTzqY7SkdQnyIrZksw==} peerDependencies: - '@tiptap/core': ^3.21.0 + '@tiptap/core': ^3.22.0 - '@tiptap/extension-italic@3.21.0': - resolution: {integrity: sha512-2I8oPvwyXhRn1k8lbDFIutzvhtLEjoO5mmQCNX4TnT4PdxxaSrK9+ihYg12VeqhUeO7dg1MKiFqws0HVBrwzWg==} + '@tiptap/extension-italic@3.22.1': + resolution: {integrity: sha512-EXPZWEsWJK9tUMypddOBvayaBeu8wFV2uH5PNrtDKrfRZ1Bf8GQ3lfcO0blHssaQ9nWqa9HwBC1mdfWcmfpxig==} peerDependencies: - '@tiptap/core': ^3.21.0 + '@tiptap/core': ^3.22.1 - '@tiptap/extension-link@3.21.0': - resolution: {integrity: sha512-oMU7Yve1sbgBsaFAUc2R0GPf4d3ZPVJeMUFC6b6X9rJIvx/IhEUEn9toQcSBGfp02uWK9NdQyIFYFdWlVXH++w==} + '@tiptap/extension-link@3.22.1': + resolution: {integrity: sha512-RHch/Bqv+QDvW3J1CXmiTB54pyrQYNQq8Vfa7is/O209dNPA8tdbkRP44rDjqn8NeDCriC/oJ4avWeXL4qNDVw==} peerDependencies: - '@tiptap/core': ^3.21.0 - '@tiptap/pm': ^3.21.0 + '@tiptap/core': ^3.22.1 + '@tiptap/pm': ^3.22.1 - '@tiptap/extension-list-item@3.21.0': - resolution: {integrity: sha512-1ZymZmlQVbAoC4q5x3cro0v5+3I6l+BHqbhIMQLjQFlAOJfcE0pvqRzAFW7PduxUj41tXEtsYqp2NREvO9F5Fg==} + '@tiptap/extension-list-item@3.22.1': + resolution: {integrity: sha512-v0FgSX3cqLY3L1hIe2PFRTR3/+wlFOdFjv0p3fSJ5Tl7cgU7DR1OcljFqpw0exePcmt6dXqXVQua3PxSVV15eA==} peerDependencies: - '@tiptap/extension-list': ^3.21.0 + '@tiptap/extension-list': ^3.22.1 - '@tiptap/extension-list-keymap@3.21.0': - resolution: {integrity: sha512-EzrfW3ASNFPWKhR8sNOq7Kqw4hvaTAOn4dlI7chB8HIANSrlyPOUn+eKAnO6HQgsUgsbjg2GbTUrGrxcoLykUg==} + '@tiptap/extension-list-keymap@3.22.1': + resolution: {integrity: sha512-00Nz4jJygYGJg6N1mdbQUslFG9QaGZq5P9MFwqoduWku7gYHWkZoZvrkxZrYtxGTHVIlLnF8LIfblAlOwNd76g==} peerDependencies: - '@tiptap/extension-list': ^3.21.0 + '@tiptap/extension-list': ^3.22.1 - '@tiptap/extension-list@3.21.0': - resolution: {integrity: sha512-KeBlEtLrGce2d3dgL89hmwWEtREuzlW4XY5bYWpKNvCbFqvdSb3n7vkdkw32YclZmMWxAcABgW6ucCStkE0rsQ==} + '@tiptap/extension-list@3.22.1': + resolution: {integrity: sha512-6bVI5A12sFeyb0EngABV8/qCtC2IgiDbWC8mtNNLh5dAVGaUKo1KucL6vRYDhzXhyO/eHuGYepXZDLOOdS9LIQ==} peerDependencies: - '@tiptap/core': ^3.21.0 - '@tiptap/pm': ^3.21.0 + '@tiptap/core': ^3.22.1 + '@tiptap/pm': ^3.22.1 - '@tiptap/extension-ordered-list@3.21.0': - resolution: {integrity: sha512-+d+0orokMfqaBfvr9tUBgGvo2ZCV+fR3JzsJTmnLBWOkhBSJN7H4pnfXPTue0qwspUwRmkLJxdIlU+J7HkMrng==} + '@tiptap/extension-ordered-list@3.22.1': + resolution: {integrity: sha512-sbd99ZUa1lIemH7N6dLB+9aYxUgduwW2216VM3dLJBS9hmTA4iDRxWx0a1ApnAVv+sZasRSbb/wpYLtXviA1XQ==} peerDependencies: - '@tiptap/extension-list': ^3.21.0 + '@tiptap/extension-list': ^3.22.1 - '@tiptap/extension-paragraph@3.21.0': - resolution: {integrity: sha512-cMPG/jCoZ9NmLZ5ctFziILaxJGfDtMTb5OLBhifMFZeMVwF1pEJIygDEfnX/HSruv507weZSQG4pERO2tRszMg==} + '@tiptap/extension-paragraph@3.22.1': + resolution: {integrity: sha512-mnvGEZfZFysHGvmEqrSLjeddaNPB3UmomTInv9gsImw8hlB4/gQedvB6Qf2tFfIjl4ISKC5AbFxraSnJfjaL5g==} peerDependencies: - '@tiptap/core': ^3.21.0 + '@tiptap/core': ^3.22.1 - '@tiptap/extension-placeholder@3.21.0': - resolution: {integrity: sha512-fs+cQqMh1d1naV6OgOhP/0qbRJwtw8DpQMj3/oqGKbaRRKIeecEaZPXYRd7MYa4e9K0Cfk5Bm0MNs9lwu/BYsw==} + '@tiptap/extension-placeholder@3.22.1': + resolution: {integrity: sha512-f8NJNEJTDuT9UIZdVIAPoySgzQ/nKxR/gWRqCnwtR4O26zo/JdKI2XvrTE/iNrV3Khme8rjCtO7/8CQgTeMMxA==} peerDependencies: - '@tiptap/extensions': ^3.21.0 + '@tiptap/extensions': ^3.22.1 - '@tiptap/extension-strike@3.21.0': - resolution: {integrity: sha512-easnVaN11Wl+5fOtfvzJ10J762S9TRXZaMj5rLBGavgf82DCYHqhGhBqpLQrJ41r4nPABGlYvTRoxfvBLB74Lg==} + '@tiptap/extension-strike@3.22.1': + resolution: {integrity: sha512-LTdnGmglK1f/AW//36k+Km8URA1wrTLENi3R5N+/ipv+yP2rZ2Ki1R1m6yJx3KSFzR55c91xE6659/vz1uZ6iA==} peerDependencies: - '@tiptap/core': ^3.21.0 + '@tiptap/core': ^3.22.1 - '@tiptap/extension-table-cell@3.21.0': - resolution: {integrity: sha512-jQc4ruEbLgUMM3PahNZENFEiqg3LPBmrrvm/yhwY3KUaGAGfLVuduCogsbXIwu5OKNdMafH5HJz7CbdYqrOUlA==} + '@tiptap/extension-table-cell@3.22.0': + resolution: {integrity: sha512-fDtbs1/46r+pC3yO3wRxOQIPOqmPca92AYntAe8jkhGu5QFo+w4VvJ0+VK/HYdQVkQ2Rklpm+21tTSR0J2Fj7Q==} peerDependencies: - '@tiptap/extension-table': ^3.21.0 + '@tiptap/extension-table': ^3.22.0 - '@tiptap/extension-table-header@3.21.0': - resolution: {integrity: sha512-3IgtyFwBi+um1+HgywHAxLpZjJFoueDM4r2FKroSrvhAl+v1Z6d4BYp8dzRRimlee6QFx0hCE+VXpFvd83aiZw==} + '@tiptap/extension-table-header@3.22.0': + resolution: {integrity: sha512-Qkkvgghq2iNiYKJHnTvo+QKtAmCdIWf8DopEPVFg71M8d8Fy0gaKuczEjJbnJqaUcz3J0cXAFMZorPgppEhI1A==} peerDependencies: - '@tiptap/extension-table': ^3.21.0 + '@tiptap/extension-table': ^3.22.0 - '@tiptap/extension-table-row@3.21.0': - resolution: {integrity: sha512-A1uL9O5atz2ZBtLpikSXBwiULjg3FJBVBIwtpyHkUdA9V13yS/NnFqt2jrKgT1g3EGwGjkqgY7uK9OF8e2XJhg==} + '@tiptap/extension-table-row@3.22.0': + resolution: {integrity: sha512-zzJwnhwKc6KJYoKKM0yc+Fglic/d5FzKbIoBQ7PXnbfwAN0vqzN9ZWEnkb340tdw7YWgxzdvilx/LLwO6C8ibw==} peerDependencies: - '@tiptap/extension-table': ^3.21.0 + '@tiptap/extension-table': ^3.22.0 - '@tiptap/extension-table@3.21.0': - resolution: {integrity: sha512-/iPVM/5TtRy7wGrLW/uL+qjMHsor26P/nH2nHasgPr/EIwliLGhHp9Gwjhix3OTyM2UK+VNcuhH6X50UbcByTQ==} + '@tiptap/extension-table@3.22.0': + resolution: {integrity: sha512-R7vYmlEg91nV51zzajaWj6R9yIDckOvKKeKsmHAhFzrzUjjpia+lJcUBjXHbp2Vnq30QV8EmtBPqpygnr7XGiw==} peerDependencies: - '@tiptap/core': ^3.21.0 - '@tiptap/pm': ^3.21.0 + '@tiptap/core': ^3.22.0 + '@tiptap/pm': ^3.22.0 - '@tiptap/extension-task-item@3.21.0': - resolution: {integrity: sha512-Rt7g61pcmgTHTy8mU2MDi4+FERKLAvoejJqmrCKf1CJUGzwWMsyRlKvS7FykpzfSrDiVlE7uSFCUkd/avgV0HQ==} + '@tiptap/extension-task-item@3.22.0': + resolution: {integrity: sha512-VsS93AMKFC/A+obCAdcEQJyNv6+l5c6GX977QD8Suwv6mI2fAXoB1Kiw5nvU/WZXPBfA4ldSmVtbe+spaI+n8A==} peerDependencies: - '@tiptap/extension-list': ^3.21.0 + '@tiptap/extension-list': ^3.22.0 - '@tiptap/extension-task-list@3.21.0': - resolution: {integrity: sha512-uH2h4Z2JmafFH5TfWYmKbfO7+jt3mgF59ESj+Qc9Szd1j9JJvLOH6anrIxqsyi50jz0QCl/lPv38PKr/ugvjtQ==} + '@tiptap/extension-task-list@3.22.0': + resolution: {integrity: sha512-g9N9BbJCRvw4AGrunwA8I00Xa7f1DiLFLuvTI+/jJ3pqvwJkypswpGUuqflia8bYBMaAVYgtU1/91D1O5J6xww==} peerDependencies: - '@tiptap/extension-list': ^3.21.0 + '@tiptap/extension-list': ^3.22.0 - '@tiptap/extension-text-align@3.21.0': - resolution: {integrity: sha512-XaoUaq45nai9LLoUStumMItHhhCnmXirPR8mTjEDKZ2QD0Kg/YHEr6guJYc6qKB7YA+Wa1EgBIrZOv1+d2Pdag==} + '@tiptap/extension-text-align@3.22.0': + resolution: {integrity: sha512-wKX5uCCEl31KtBBqXFcKYHMivF9fzME4EwykYZk7qN3HoV+WJMl9D17s5r6TUayN++1G5IiW69UFFiwB9yDugw==} peerDependencies: - '@tiptap/core': ^3.21.0 + '@tiptap/core': ^3.22.0 - '@tiptap/extension-text-style@3.21.0': - resolution: {integrity: sha512-MI/3X75D45Wa/+0Fp8nYfNJq5makkjtG7B2/lIzNUe0kEKJ56RVQoV1GQSXxAiFNyAYRfKFq8dJslhesW3EkWA==} + '@tiptap/extension-text-style@3.22.0': + resolution: {integrity: sha512-Hr+YIFxAAtKBXCxBtqXhAZUSh9sTVa5mz89RnvBoj9tPMbXaeNpxdCkRu1nZJVV5nERJxKVWZjHctqK0WkgMBw==} peerDependencies: - '@tiptap/core': ^3.21.0 + '@tiptap/core': ^3.22.0 - '@tiptap/extension-text@3.21.0': - resolution: {integrity: sha512-Zx8QdB8a5iBuE4uO21c3BjmpBfaJEr2Jd1QFnsdgx11fm6P7dGgZaGko1FaINhfOPRGTN6O/kiF02cDMdOHa/w==} + '@tiptap/extension-text@3.22.1': + resolution: {integrity: sha512-wFCNCATSTTFhvA9wOPkAgzPVyG3RM6+jOlDeRhHUCHsFWFWj0w9ZPwA/nP+Qi5hEW7kGG9V8o62RjBdHNvK2PQ==} peerDependencies: - '@tiptap/core': ^3.21.0 + '@tiptap/core': ^3.22.1 - '@tiptap/extension-underline@3.21.0': - resolution: {integrity: sha512-gGmBEymbWnr8AIS8bI/bPw5rcwo7wAFcBw/TsLd1nAanu1dDqSRNDBrit3m02Ru+D88u2SfNvmbOPI1pz+1f5w==} + '@tiptap/extension-underline@3.22.0': + resolution: {integrity: sha512-AxQOnXQwYmZNjagkEoCZZqbpJbLVmBcu1ivJ9dE0SAQsr1wRUp7mAg+g1SqhbMAvrXvv7yhhNevSdQKmXsnFyA==} peerDependencies: - '@tiptap/core': ^3.21.0 + '@tiptap/core': ^3.22.0 - '@tiptap/extensions@3.21.0': - resolution: {integrity: sha512-MN1uh5PmHT1F2BNsbc21MIS0AMFFA73oODlp/4ckpBR4o5AxRwV+8f43Cd52UL4MgMkKj/A+QfZ7iK9IDb0h5A==} + '@tiptap/extension-underline@3.22.1': + resolution: {integrity: sha512-p8/ErqQInWJbpncBycIggmtCjdrMwHmA3GNhOugo6F4fYfeVxgy7pVb7ZF+ss62d0mpQvEd81pyrzhkBtb0nBg==} peerDependencies: - '@tiptap/core': ^3.21.0 - '@tiptap/pm': ^3.21.0 + '@tiptap/core': ^3.22.1 - '@tiptap/pm@3.21.0': - resolution: {integrity: sha512-I3sNo7oMMsR6FFz1ecvPb9uCF0VQuS2WV67j8Io2M7DJicRWCE/GM5DaiYjTeWBbnByk6BuG0txoJATAqPVliQ==} - - '@tiptap/react@3.21.0': - resolution: {integrity: sha512-p+OKJgxmFB3t5nY3mjaqjKaj8vJX9++OkdrZLRxYuG7ScAHemWraWQ25sgNZl1LDaRYrdnNYxx9MP0CXOSB6ew==} + '@tiptap/extensions@3.22.1': + resolution: {integrity: sha512-BKpp371Pl1CVcLRLrWH7PC1I+IsXOhet80+pILqCMlwkJnsVtOOVRr5uCF6rbPP4xK5H/ehkQWmxA8rqpv42aA==} peerDependencies: - '@tiptap/core': ^3.21.0 - '@tiptap/pm': ^3.21.0 + '@tiptap/core': ^3.22.1 + '@tiptap/pm': ^3.22.1 + + '@tiptap/pm@3.22.1': + resolution: {integrity: sha512-OSqSg2974eLJT5PNKFLM7156lBXCUf/dsKTQXWSzsLTf6HOP4dYP6c0YbAk6lgbNI+BdszsHNClmLVLA8H/L9A==} + + '@tiptap/react@3.22.1': + resolution: {integrity: sha512-1pIRfgK9wape4nDXVJRfgUcYVZdPPkuECbGtz8bo0rgtdsVN7B8PBVCDyuitZ7acdLbMuuX5+TxeUOvME8np7Q==} + peerDependencies: + '@tiptap/core': ^3.22.1 + '@tiptap/pm': ^3.22.1 '@types/react': ^17.0.0 || ^18.0.0 || ^19.0.0 '@types/react-dom': ^17.0.0 || ^18.0.0 || ^19.0.0 react: ^17.0.0 || ^18.0.0 || ^19.0.0 react-dom: ^17.0.0 || ^18.0.0 || ^19.0.0 - '@tiptap/starter-kit@3.21.0': - resolution: {integrity: sha512-w7fWxglDtqXFBgRYH+LforJyUboSAQllnWQbGVSTyX4rsICqZjkb3f6CTSUWpGoGKmlmbb2ZpEuoik7tur9d8Q==} + '@tiptap/starter-kit@3.22.1': + resolution: {integrity: sha512-1fFmURkgofxgP9GW993bSpxf2rIJzQbWZ9rPw17qbAVuGouIArG+Fd/A1WUD95Vdbx6JIrc1QxbNlLs7bhcoPA==} '@tree-sitter-grammars/tree-sitter-yaml@0.7.1': resolution: {integrity: sha512-AynBwkIoQCTgjDR33bDUp9Mqq+YTco0is3n5hRApMqG9of/6A4eQsfC1/uSEeHSUyMQSYawcAWamsexnVpIP4Q==} @@ -12228,12 +12233,12 @@ snapshots: dependencies: react: 19.2.4 - '@mantine/tiptap@8.3.18(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@mantine/hooks@8.3.18(react@19.2.4))(@tiptap/extension-link@3.21.0(@tiptap/core@3.21.0(@tiptap/pm@3.21.0))(@tiptap/pm@3.21.0))(@tiptap/react@3.21.0(@floating-ui/dom@1.7.4)(@tiptap/core@3.21.0(@tiptap/pm@3.21.0))(@tiptap/pm@3.21.0)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': + '@mantine/tiptap@8.3.18(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@mantine/hooks@8.3.18(react@19.2.4))(@tiptap/extension-link@3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1))(@tiptap/react@3.22.1(@floating-ui/dom@1.7.4)(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': dependencies: '@mantine/core': 8.3.18(@mantine/hooks@8.3.18(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) '@mantine/hooks': 8.3.18(react@19.2.4) - '@tiptap/extension-link': 3.21.0(@tiptap/core@3.21.0(@tiptap/pm@3.21.0))(@tiptap/pm@3.21.0) - '@tiptap/react': 3.21.0(@floating-ui/dom@1.7.4)(@tiptap/core@3.21.0(@tiptap/pm@3.21.0))(@tiptap/pm@3.21.0)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@tiptap/extension-link': 3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1) + '@tiptap/react': 3.22.1(@floating-ui/dom@1.7.4)(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) react: 19.2.4 react-dom: 19.2.4(react@19.2.4) @@ -13389,168 +13394,172 @@ snapshots: - bare-buffer - supports-color - '@tiptap/core@3.21.0(@tiptap/pm@3.21.0)': + '@tiptap/core@3.22.1(@tiptap/pm@3.22.1)': dependencies: - '@tiptap/pm': 3.21.0 + '@tiptap/pm': 3.22.1 - '@tiptap/extension-blockquote@3.21.0(@tiptap/core@3.21.0(@tiptap/pm@3.21.0))': + '@tiptap/extension-blockquote@3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))': dependencies: - '@tiptap/core': 3.21.0(@tiptap/pm@3.21.0) + '@tiptap/core': 3.22.1(@tiptap/pm@3.22.1) - '@tiptap/extension-bold@3.21.0(@tiptap/core@3.21.0(@tiptap/pm@3.21.0))': + '@tiptap/extension-bold@3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))': dependencies: - '@tiptap/core': 3.21.0(@tiptap/pm@3.21.0) + '@tiptap/core': 3.22.1(@tiptap/pm@3.22.1) - '@tiptap/extension-bubble-menu@3.21.0(@tiptap/core@3.21.0(@tiptap/pm@3.21.0))(@tiptap/pm@3.21.0)': + '@tiptap/extension-bubble-menu@3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1)': dependencies: '@floating-ui/dom': 1.7.4 - '@tiptap/core': 3.21.0(@tiptap/pm@3.21.0) - '@tiptap/pm': 3.21.0 + '@tiptap/core': 3.22.1(@tiptap/pm@3.22.1) + '@tiptap/pm': 3.22.1 optional: true - '@tiptap/extension-bullet-list@3.21.0(@tiptap/extension-list@3.21.0(@tiptap/core@3.21.0(@tiptap/pm@3.21.0))(@tiptap/pm@3.21.0))': + '@tiptap/extension-bullet-list@3.22.1(@tiptap/extension-list@3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1))': dependencies: - '@tiptap/extension-list': 3.21.0(@tiptap/core@3.21.0(@tiptap/pm@3.21.0))(@tiptap/pm@3.21.0) + '@tiptap/extension-list': 3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1) - '@tiptap/extension-code-block@3.21.0(@tiptap/core@3.21.0(@tiptap/pm@3.21.0))(@tiptap/pm@3.21.0)': + '@tiptap/extension-code-block@3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1)': dependencies: - '@tiptap/core': 3.21.0(@tiptap/pm@3.21.0) - '@tiptap/pm': 3.21.0 + '@tiptap/core': 3.22.1(@tiptap/pm@3.22.1) + '@tiptap/pm': 3.22.1 - '@tiptap/extension-code@3.21.0(@tiptap/core@3.21.0(@tiptap/pm@3.21.0))': + '@tiptap/extension-code@3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))': dependencies: - '@tiptap/core': 3.21.0(@tiptap/pm@3.21.0) + '@tiptap/core': 3.22.1(@tiptap/pm@3.22.1) - '@tiptap/extension-color@3.21.0(@tiptap/extension-text-style@3.21.0(@tiptap/core@3.21.0(@tiptap/pm@3.21.0)))': + '@tiptap/extension-color@3.22.0(@tiptap/extension-text-style@3.22.0(@tiptap/core@3.22.1(@tiptap/pm@3.22.1)))': dependencies: - '@tiptap/extension-text-style': 3.21.0(@tiptap/core@3.21.0(@tiptap/pm@3.21.0)) + '@tiptap/extension-text-style': 3.22.0(@tiptap/core@3.22.1(@tiptap/pm@3.22.1)) - '@tiptap/extension-document@3.21.0(@tiptap/core@3.21.0(@tiptap/pm@3.21.0))': + '@tiptap/extension-document@3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))': dependencies: - '@tiptap/core': 3.21.0(@tiptap/pm@3.21.0) + '@tiptap/core': 3.22.1(@tiptap/pm@3.22.1) - '@tiptap/extension-dropcursor@3.21.0(@tiptap/extensions@3.21.0(@tiptap/core@3.21.0(@tiptap/pm@3.21.0))(@tiptap/pm@3.21.0))': + '@tiptap/extension-dropcursor@3.22.1(@tiptap/extensions@3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1))': dependencies: - '@tiptap/extensions': 3.21.0(@tiptap/core@3.21.0(@tiptap/pm@3.21.0))(@tiptap/pm@3.21.0) + '@tiptap/extensions': 3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1) - '@tiptap/extension-floating-menu@3.21.0(@floating-ui/dom@1.7.4)(@tiptap/core@3.21.0(@tiptap/pm@3.21.0))(@tiptap/pm@3.21.0)': + '@tiptap/extension-floating-menu@3.22.1(@floating-ui/dom@1.7.4)(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1)': dependencies: '@floating-ui/dom': 1.7.4 - '@tiptap/core': 3.21.0(@tiptap/pm@3.21.0) - '@tiptap/pm': 3.21.0 + '@tiptap/core': 3.22.1(@tiptap/pm@3.22.1) + '@tiptap/pm': 3.22.1 optional: true - '@tiptap/extension-gapcursor@3.21.0(@tiptap/extensions@3.21.0(@tiptap/core@3.21.0(@tiptap/pm@3.21.0))(@tiptap/pm@3.21.0))': + '@tiptap/extension-gapcursor@3.22.1(@tiptap/extensions@3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1))': dependencies: - '@tiptap/extensions': 3.21.0(@tiptap/core@3.21.0(@tiptap/pm@3.21.0))(@tiptap/pm@3.21.0) + '@tiptap/extensions': 3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1) - '@tiptap/extension-hard-break@3.21.0(@tiptap/core@3.21.0(@tiptap/pm@3.21.0))': + '@tiptap/extension-hard-break@3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))': dependencies: - '@tiptap/core': 3.21.0(@tiptap/pm@3.21.0) + '@tiptap/core': 3.22.1(@tiptap/pm@3.22.1) - '@tiptap/extension-heading@3.21.0(@tiptap/core@3.21.0(@tiptap/pm@3.21.0))': + '@tiptap/extension-heading@3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))': dependencies: - '@tiptap/core': 3.21.0(@tiptap/pm@3.21.0) + '@tiptap/core': 3.22.1(@tiptap/pm@3.22.1) - '@tiptap/extension-highlight@3.21.0(@tiptap/core@3.21.0(@tiptap/pm@3.21.0))': + '@tiptap/extension-highlight@3.22.0(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))': dependencies: - '@tiptap/core': 3.21.0(@tiptap/pm@3.21.0) + '@tiptap/core': 3.22.1(@tiptap/pm@3.22.1) - '@tiptap/extension-horizontal-rule@3.21.0(@tiptap/core@3.21.0(@tiptap/pm@3.21.0))(@tiptap/pm@3.21.0)': + '@tiptap/extension-horizontal-rule@3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1)': dependencies: - '@tiptap/core': 3.21.0(@tiptap/pm@3.21.0) - '@tiptap/pm': 3.21.0 + '@tiptap/core': 3.22.1(@tiptap/pm@3.22.1) + '@tiptap/pm': 3.22.1 - '@tiptap/extension-image@3.21.0(@tiptap/core@3.21.0(@tiptap/pm@3.21.0))': + '@tiptap/extension-image@3.22.0(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))': dependencies: - '@tiptap/core': 3.21.0(@tiptap/pm@3.21.0) + '@tiptap/core': 3.22.1(@tiptap/pm@3.22.1) - '@tiptap/extension-italic@3.21.0(@tiptap/core@3.21.0(@tiptap/pm@3.21.0))': + '@tiptap/extension-italic@3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))': dependencies: - '@tiptap/core': 3.21.0(@tiptap/pm@3.21.0) + '@tiptap/core': 3.22.1(@tiptap/pm@3.22.1) - '@tiptap/extension-link@3.21.0(@tiptap/core@3.21.0(@tiptap/pm@3.21.0))(@tiptap/pm@3.21.0)': + '@tiptap/extension-link@3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1)': dependencies: - '@tiptap/core': 3.21.0(@tiptap/pm@3.21.0) - '@tiptap/pm': 3.21.0 + '@tiptap/core': 3.22.1(@tiptap/pm@3.22.1) + '@tiptap/pm': 3.22.1 linkifyjs: 4.3.2 - '@tiptap/extension-list-item@3.21.0(@tiptap/extension-list@3.21.0(@tiptap/core@3.21.0(@tiptap/pm@3.21.0))(@tiptap/pm@3.21.0))': + '@tiptap/extension-list-item@3.22.1(@tiptap/extension-list@3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1))': dependencies: - '@tiptap/extension-list': 3.21.0(@tiptap/core@3.21.0(@tiptap/pm@3.21.0))(@tiptap/pm@3.21.0) + '@tiptap/extension-list': 3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1) - '@tiptap/extension-list-keymap@3.21.0(@tiptap/extension-list@3.21.0(@tiptap/core@3.21.0(@tiptap/pm@3.21.0))(@tiptap/pm@3.21.0))': + '@tiptap/extension-list-keymap@3.22.1(@tiptap/extension-list@3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1))': dependencies: - '@tiptap/extension-list': 3.21.0(@tiptap/core@3.21.0(@tiptap/pm@3.21.0))(@tiptap/pm@3.21.0) + '@tiptap/extension-list': 3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1) - '@tiptap/extension-list@3.21.0(@tiptap/core@3.21.0(@tiptap/pm@3.21.0))(@tiptap/pm@3.21.0)': + '@tiptap/extension-list@3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1)': dependencies: - '@tiptap/core': 3.21.0(@tiptap/pm@3.21.0) - '@tiptap/pm': 3.21.0 + '@tiptap/core': 3.22.1(@tiptap/pm@3.22.1) + '@tiptap/pm': 3.22.1 - '@tiptap/extension-ordered-list@3.21.0(@tiptap/extension-list@3.21.0(@tiptap/core@3.21.0(@tiptap/pm@3.21.0))(@tiptap/pm@3.21.0))': + '@tiptap/extension-ordered-list@3.22.1(@tiptap/extension-list@3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1))': dependencies: - '@tiptap/extension-list': 3.21.0(@tiptap/core@3.21.0(@tiptap/pm@3.21.0))(@tiptap/pm@3.21.0) + '@tiptap/extension-list': 3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1) - '@tiptap/extension-paragraph@3.21.0(@tiptap/core@3.21.0(@tiptap/pm@3.21.0))': + '@tiptap/extension-paragraph@3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))': dependencies: - '@tiptap/core': 3.21.0(@tiptap/pm@3.21.0) + '@tiptap/core': 3.22.1(@tiptap/pm@3.22.1) - '@tiptap/extension-placeholder@3.21.0(@tiptap/extensions@3.21.0(@tiptap/core@3.21.0(@tiptap/pm@3.21.0))(@tiptap/pm@3.21.0))': + '@tiptap/extension-placeholder@3.22.1(@tiptap/extensions@3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1))': dependencies: - '@tiptap/extensions': 3.21.0(@tiptap/core@3.21.0(@tiptap/pm@3.21.0))(@tiptap/pm@3.21.0) + '@tiptap/extensions': 3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1) - '@tiptap/extension-strike@3.21.0(@tiptap/core@3.21.0(@tiptap/pm@3.21.0))': + '@tiptap/extension-strike@3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))': dependencies: - '@tiptap/core': 3.21.0(@tiptap/pm@3.21.0) + '@tiptap/core': 3.22.1(@tiptap/pm@3.22.1) - '@tiptap/extension-table-cell@3.21.0(@tiptap/extension-table@3.21.0(@tiptap/core@3.21.0(@tiptap/pm@3.21.0))(@tiptap/pm@3.21.0))': + '@tiptap/extension-table-cell@3.22.0(@tiptap/extension-table@3.22.0(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1))': dependencies: - '@tiptap/extension-table': 3.21.0(@tiptap/core@3.21.0(@tiptap/pm@3.21.0))(@tiptap/pm@3.21.0) + '@tiptap/extension-table': 3.22.0(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1) - '@tiptap/extension-table-header@3.21.0(@tiptap/extension-table@3.21.0(@tiptap/core@3.21.0(@tiptap/pm@3.21.0))(@tiptap/pm@3.21.0))': + '@tiptap/extension-table-header@3.22.0(@tiptap/extension-table@3.22.0(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1))': dependencies: - '@tiptap/extension-table': 3.21.0(@tiptap/core@3.21.0(@tiptap/pm@3.21.0))(@tiptap/pm@3.21.0) + '@tiptap/extension-table': 3.22.0(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1) - '@tiptap/extension-table-row@3.21.0(@tiptap/extension-table@3.21.0(@tiptap/core@3.21.0(@tiptap/pm@3.21.0))(@tiptap/pm@3.21.0))': + '@tiptap/extension-table-row@3.22.0(@tiptap/extension-table@3.22.0(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1))': dependencies: - '@tiptap/extension-table': 3.21.0(@tiptap/core@3.21.0(@tiptap/pm@3.21.0))(@tiptap/pm@3.21.0) + '@tiptap/extension-table': 3.22.0(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1) - '@tiptap/extension-table@3.21.0(@tiptap/core@3.21.0(@tiptap/pm@3.21.0))(@tiptap/pm@3.21.0)': + '@tiptap/extension-table@3.22.0(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1)': dependencies: - '@tiptap/core': 3.21.0(@tiptap/pm@3.21.0) - '@tiptap/pm': 3.21.0 + '@tiptap/core': 3.22.1(@tiptap/pm@3.22.1) + '@tiptap/pm': 3.22.1 - '@tiptap/extension-task-item@3.21.0(@tiptap/extension-list@3.21.0(@tiptap/core@3.21.0(@tiptap/pm@3.21.0))(@tiptap/pm@3.21.0))': + '@tiptap/extension-task-item@3.22.0(@tiptap/extension-list@3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1))': dependencies: - '@tiptap/extension-list': 3.21.0(@tiptap/core@3.21.0(@tiptap/pm@3.21.0))(@tiptap/pm@3.21.0) + '@tiptap/extension-list': 3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1) - '@tiptap/extension-task-list@3.21.0(@tiptap/extension-list@3.21.0(@tiptap/core@3.21.0(@tiptap/pm@3.21.0))(@tiptap/pm@3.21.0))': + '@tiptap/extension-task-list@3.22.0(@tiptap/extension-list@3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1))': dependencies: - '@tiptap/extension-list': 3.21.0(@tiptap/core@3.21.0(@tiptap/pm@3.21.0))(@tiptap/pm@3.21.0) + '@tiptap/extension-list': 3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1) - '@tiptap/extension-text-align@3.21.0(@tiptap/core@3.21.0(@tiptap/pm@3.21.0))': + '@tiptap/extension-text-align@3.22.0(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))': dependencies: - '@tiptap/core': 3.21.0(@tiptap/pm@3.21.0) + '@tiptap/core': 3.22.1(@tiptap/pm@3.22.1) - '@tiptap/extension-text-style@3.21.0(@tiptap/core@3.21.0(@tiptap/pm@3.21.0))': + '@tiptap/extension-text-style@3.22.0(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))': dependencies: - '@tiptap/core': 3.21.0(@tiptap/pm@3.21.0) + '@tiptap/core': 3.22.1(@tiptap/pm@3.22.1) - '@tiptap/extension-text@3.21.0(@tiptap/core@3.21.0(@tiptap/pm@3.21.0))': + '@tiptap/extension-text@3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))': dependencies: - '@tiptap/core': 3.21.0(@tiptap/pm@3.21.0) + '@tiptap/core': 3.22.1(@tiptap/pm@3.22.1) - '@tiptap/extension-underline@3.21.0(@tiptap/core@3.21.0(@tiptap/pm@3.21.0))': + '@tiptap/extension-underline@3.22.0(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))': dependencies: - '@tiptap/core': 3.21.0(@tiptap/pm@3.21.0) + '@tiptap/core': 3.22.1(@tiptap/pm@3.22.1) - '@tiptap/extensions@3.21.0(@tiptap/core@3.21.0(@tiptap/pm@3.21.0))(@tiptap/pm@3.21.0)': + '@tiptap/extension-underline@3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))': dependencies: - '@tiptap/core': 3.21.0(@tiptap/pm@3.21.0) - '@tiptap/pm': 3.21.0 + '@tiptap/core': 3.22.1(@tiptap/pm@3.22.1) - '@tiptap/pm@3.21.0': + '@tiptap/extensions@3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1)': + dependencies: + '@tiptap/core': 3.22.1(@tiptap/pm@3.22.1) + '@tiptap/pm': 3.22.1 + + '@tiptap/pm@3.22.1': dependencies: prosemirror-changeset: 2.3.0 prosemirror-collab: 1.3.1 @@ -13571,10 +13580,10 @@ snapshots: prosemirror-transform: 1.10.2 prosemirror-view: 1.41.4 - '@tiptap/react@3.21.0(@floating-ui/dom@1.7.4)(@tiptap/core@3.21.0(@tiptap/pm@3.21.0))(@tiptap/pm@3.21.0)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': + '@tiptap/react@3.22.1(@floating-ui/dom@1.7.4)(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': dependencies: - '@tiptap/core': 3.21.0(@tiptap/pm@3.21.0) - '@tiptap/pm': 3.21.0 + '@tiptap/core': 3.22.1(@tiptap/pm@3.22.1) + '@tiptap/pm': 3.22.1 '@types/react': 19.2.14 '@types/react-dom': 19.2.3(@types/react@19.2.14) '@types/use-sync-external-store': 0.0.6 @@ -13583,37 +13592,37 @@ snapshots: react-dom: 19.2.4(react@19.2.4) use-sync-external-store: 1.4.0(react@19.2.4) optionalDependencies: - '@tiptap/extension-bubble-menu': 3.21.0(@tiptap/core@3.21.0(@tiptap/pm@3.21.0))(@tiptap/pm@3.21.0) - '@tiptap/extension-floating-menu': 3.21.0(@floating-ui/dom@1.7.4)(@tiptap/core@3.21.0(@tiptap/pm@3.21.0))(@tiptap/pm@3.21.0) + '@tiptap/extension-bubble-menu': 3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1) + '@tiptap/extension-floating-menu': 3.22.1(@floating-ui/dom@1.7.4)(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1) transitivePeerDependencies: - '@floating-ui/dom' - '@tiptap/starter-kit@3.21.0': + '@tiptap/starter-kit@3.22.1': dependencies: - '@tiptap/core': 3.21.0(@tiptap/pm@3.21.0) - '@tiptap/extension-blockquote': 3.21.0(@tiptap/core@3.21.0(@tiptap/pm@3.21.0)) - '@tiptap/extension-bold': 3.21.0(@tiptap/core@3.21.0(@tiptap/pm@3.21.0)) - '@tiptap/extension-bullet-list': 3.21.0(@tiptap/extension-list@3.21.0(@tiptap/core@3.21.0(@tiptap/pm@3.21.0))(@tiptap/pm@3.21.0)) - '@tiptap/extension-code': 3.21.0(@tiptap/core@3.21.0(@tiptap/pm@3.21.0)) - '@tiptap/extension-code-block': 3.21.0(@tiptap/core@3.21.0(@tiptap/pm@3.21.0))(@tiptap/pm@3.21.0) - '@tiptap/extension-document': 3.21.0(@tiptap/core@3.21.0(@tiptap/pm@3.21.0)) - '@tiptap/extension-dropcursor': 3.21.0(@tiptap/extensions@3.21.0(@tiptap/core@3.21.0(@tiptap/pm@3.21.0))(@tiptap/pm@3.21.0)) - '@tiptap/extension-gapcursor': 3.21.0(@tiptap/extensions@3.21.0(@tiptap/core@3.21.0(@tiptap/pm@3.21.0))(@tiptap/pm@3.21.0)) - '@tiptap/extension-hard-break': 3.21.0(@tiptap/core@3.21.0(@tiptap/pm@3.21.0)) - '@tiptap/extension-heading': 3.21.0(@tiptap/core@3.21.0(@tiptap/pm@3.21.0)) - '@tiptap/extension-horizontal-rule': 3.21.0(@tiptap/core@3.21.0(@tiptap/pm@3.21.0))(@tiptap/pm@3.21.0) - '@tiptap/extension-italic': 3.21.0(@tiptap/core@3.21.0(@tiptap/pm@3.21.0)) - '@tiptap/extension-link': 3.21.0(@tiptap/core@3.21.0(@tiptap/pm@3.21.0))(@tiptap/pm@3.21.0) - '@tiptap/extension-list': 3.21.0(@tiptap/core@3.21.0(@tiptap/pm@3.21.0))(@tiptap/pm@3.21.0) - '@tiptap/extension-list-item': 3.21.0(@tiptap/extension-list@3.21.0(@tiptap/core@3.21.0(@tiptap/pm@3.21.0))(@tiptap/pm@3.21.0)) - '@tiptap/extension-list-keymap': 3.21.0(@tiptap/extension-list@3.21.0(@tiptap/core@3.21.0(@tiptap/pm@3.21.0))(@tiptap/pm@3.21.0)) - '@tiptap/extension-ordered-list': 3.21.0(@tiptap/extension-list@3.21.0(@tiptap/core@3.21.0(@tiptap/pm@3.21.0))(@tiptap/pm@3.21.0)) - '@tiptap/extension-paragraph': 3.21.0(@tiptap/core@3.21.0(@tiptap/pm@3.21.0)) - '@tiptap/extension-strike': 3.21.0(@tiptap/core@3.21.0(@tiptap/pm@3.21.0)) - '@tiptap/extension-text': 3.21.0(@tiptap/core@3.21.0(@tiptap/pm@3.21.0)) - '@tiptap/extension-underline': 3.21.0(@tiptap/core@3.21.0(@tiptap/pm@3.21.0)) - '@tiptap/extensions': 3.21.0(@tiptap/core@3.21.0(@tiptap/pm@3.21.0))(@tiptap/pm@3.21.0) - '@tiptap/pm': 3.21.0 + '@tiptap/core': 3.22.1(@tiptap/pm@3.22.1) + '@tiptap/extension-blockquote': 3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1)) + '@tiptap/extension-bold': 3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1)) + '@tiptap/extension-bullet-list': 3.22.1(@tiptap/extension-list@3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1)) + '@tiptap/extension-code': 3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1)) + '@tiptap/extension-code-block': 3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1) + '@tiptap/extension-document': 3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1)) + '@tiptap/extension-dropcursor': 3.22.1(@tiptap/extensions@3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1)) + '@tiptap/extension-gapcursor': 3.22.1(@tiptap/extensions@3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1)) + '@tiptap/extension-hard-break': 3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1)) + '@tiptap/extension-heading': 3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1)) + '@tiptap/extension-horizontal-rule': 3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1) + '@tiptap/extension-italic': 3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1)) + '@tiptap/extension-link': 3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1) + '@tiptap/extension-list': 3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1) + '@tiptap/extension-list-item': 3.22.1(@tiptap/extension-list@3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1)) + '@tiptap/extension-list-keymap': 3.22.1(@tiptap/extension-list@3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1)) + '@tiptap/extension-ordered-list': 3.22.1(@tiptap/extension-list@3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1)) + '@tiptap/extension-paragraph': 3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1)) + '@tiptap/extension-strike': 3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1)) + '@tiptap/extension-text': 3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1)) + '@tiptap/extension-underline': 3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1)) + '@tiptap/extensions': 3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1) + '@tiptap/pm': 3.22.1 '@tree-sitter-grammars/tree-sitter-yaml@0.7.1(tree-sitter@0.22.4)': dependencies: From dfa87939f200719af9f34e0e409895cf6e5a9c13 Mon Sep 17 00:00:00 2001 From: "homarr-renovate[bot]" <158783068+homarr-renovate[bot]@users.noreply.github.com> Date: Mon, 6 Apr 2026 02:44:53 +0000 Subject: [PATCH 10/49] fix(deps): update turbo monorepo to ^2.9.3 (#5419) Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com> --- package.json | 4 ++-- pnpm-lock.yaml | 6 +++--- tooling/eslint/package.json | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 4766aaa8c..59f9851ce 100644 --- a/package.json +++ b/package.json @@ -43,7 +43,7 @@ "@semantic-release/npm": "^13.1.5", "@semantic-release/release-notes-generator": "^14.1.0", "@testcontainers/redis": "^11.13.0", - "@turbo/gen": "^2.9.2", + "@turbo/gen": "^2.9.3", "@vitejs/plugin-react": "^5.2.0", "@vitest/coverage-v8": "^4.1.2", "@vitest/ui": "^4.1.2", @@ -54,7 +54,7 @@ "prettier": "^3.8.1", "semantic-release": "^25.0.3", "testcontainers": "^11.13.0", - "turbo": "^2.9.2", + "turbo": "^2.9.3", "typescript": "^5.9.3", "vite-tsconfig-paths": "^6.1.1", "vitest": "^4.1.2" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 54a3d3b8e..e91a0170c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -62,7 +62,7 @@ importers: specifier: ^11.13.0 version: 11.13.0 '@turbo/gen': - specifier: ^2.9.2 + specifier: ^2.9.3 version: 2.9.3(@types/node@24.12.0) '@vitejs/plugin-react': specifier: ^5.2.0 @@ -95,7 +95,7 @@ importers: specifier: ^11.13.0 version: 11.13.0 turbo: - specifier: ^2.9.2 + specifier: ^2.9.3 version: 2.9.3 typescript: specifier: ^5.9.3 @@ -2364,7 +2364,7 @@ importers: specifier: ^10.1.8 version: 10.1.8(eslint@9.39.4) eslint-config-turbo: - specifier: ^2.9.2 + specifier: ^2.9.3 version: 2.9.3(eslint@9.39.4)(turbo@2.9.3) eslint-plugin-import: specifier: ^2.32.0 diff --git a/tooling/eslint/package.json b/tooling/eslint/package.json index 40ae4cede..b898117d1 100644 --- a/tooling/eslint/package.json +++ b/tooling/eslint/package.json @@ -19,7 +19,7 @@ "dependencies": { "@next/eslint-plugin-next": "16.2.1", "eslint-config-prettier": "^10.1.8", - "eslint-config-turbo": "^2.9.2", + "eslint-config-turbo": "^2.9.3", "eslint-plugin-import": "^2.32.0", "eslint-plugin-jsx-a11y": "^6.10.2", "eslint-plugin-react": "^7.37.5", From 859747037b4a0caca9e208e0b4ebce638b6c5d4e Mon Sep 17 00:00:00 2001 From: "homarr-renovate[bot]" <158783068+homarr-renovate[bot]@users.noreply.github.com> Date: Mon, 6 Apr 2026 02:45:18 +0000 Subject: [PATCH 11/49] fix(deps): update nextjs monorepo to v16.2.2 (#5418) Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com> --- apps/nextjs/package.json | 2 +- packages/api/package.json | 2 +- packages/auth/package.json | 2 +- packages/common/package.json | 2 +- packages/modals-collection/package.json | 2 +- packages/old-import/package.json | 2 +- packages/settings/package.json | 2 +- packages/spotlight/package.json | 2 +- packages/translation/package.json | 2 +- packages/ui/package.json | 2 +- packages/widgets/package.json | 2 +- pnpm-lock.yaml | 176 ++++++++++++------------ tooling/eslint/package.json | 2 +- 13 files changed, 100 insertions(+), 100 deletions(-) diff --git a/apps/nextjs/package.json b/apps/nextjs/package.json index 6ae3448b2..ee8b84736 100644 --- a/apps/nextjs/package.json +++ b/apps/nextjs/package.json @@ -76,7 +76,7 @@ "isomorphic-dompurify": "^3.7.1", "jotai": "^2.19.0", "mantine-react-table": "2.0.0-beta.9", - "next": "16.2.1", + "next": "16.2.2", "postcss-preset-mantine": "^1.18.0", "prismjs": "^1.30.0", "react": "19.2.4", diff --git a/packages/api/package.json b/packages/api/package.json index 1ebb57edc..60fecb4e3 100644 --- a/packages/api/package.json +++ b/packages/api/package.json @@ -47,7 +47,7 @@ "@trpc/server": "^11.16.0", "@trpc/tanstack-react-query": "^11.16.0", "lodash.clonedeep": "^4.5.0", - "next": "16.2.1", + "next": "16.2.2", "react": "19.2.4", "react-dom": "19.2.4", "superjson": "2.2.6", diff --git a/packages/auth/package.json b/packages/auth/package.json index 46f903e75..697fbcaf4 100644 --- a/packages/auth/package.json +++ b/packages/auth/package.json @@ -34,7 +34,7 @@ "bcrypt": "^6.0.0", "cookies": "^0.9.1", "ldapts": "8.1.7", - "next": "16.2.1", + "next": "16.2.2", "next-auth": "5.0.0-beta.30", "react": "19.2.4", "react-dom": "19.2.4", diff --git a/packages/common/package.json b/packages/common/package.json index 5e014c671..d589b6c6d 100644 --- a/packages/common/package.json +++ b/packages/common/package.json @@ -30,7 +30,7 @@ "@paralleldrive/cuid2": "^3.3.0", "cookie": "1.1.1", "dayjs": "^1.11.20", - "next": "16.2.1", + "next": "16.2.2", "octokit": "^5.0.5", "react": "19.2.4", "react-dom": "19.2.4", diff --git a/packages/modals-collection/package.json b/packages/modals-collection/package.json index 8f6abad81..66a89be77 100644 --- a/packages/modals-collection/package.json +++ b/packages/modals-collection/package.json @@ -36,7 +36,7 @@ "@mantine/core": "^8.3.18", "@tabler/icons-react": "^3.41.1", "dayjs": "^1.11.20", - "next": "16.2.1", + "next": "16.2.2", "react": "19.2.4", "react-dom": "19.2.4", "zod": "^4.3.6" diff --git a/packages/old-import/package.json b/packages/old-import/package.json index 21145a5cb..556f92afc 100644 --- a/packages/old-import/package.json +++ b/packages/old-import/package.json @@ -40,7 +40,7 @@ "@mantine/core": "^8.3.18", "@mantine/hooks": "^8.3.18", "adm-zip": "0.5.16", - "next": "16.2.1", + "next": "16.2.2", "react": "19.2.4", "react-dom": "19.2.4", "superjson": "2.2.6", diff --git a/packages/settings/package.json b/packages/settings/package.json index 5f02ea5aa..4312dba61 100644 --- a/packages/settings/package.json +++ b/packages/settings/package.json @@ -26,7 +26,7 @@ "@homarr/db": "workspace:^0.1.0", "@homarr/server-settings": "workspace:^0.1.0", "@mantine/dates": "^8.3.18", - "next": "16.2.1", + "next": "16.2.2", "react": "19.2.4", "react-dom": "19.2.4" }, diff --git a/packages/spotlight/package.json b/packages/spotlight/package.json index de87590a7..f6dc6ac81 100644 --- a/packages/spotlight/package.json +++ b/packages/spotlight/package.json @@ -38,7 +38,7 @@ "@mantine/spotlight": "^8.3.18", "@tabler/icons-react": "^3.41.1", "jotai": "^2.19.0", - "next": "16.2.1", + "next": "16.2.2", "react": "19.2.4", "react-dom": "19.2.4", "use-deep-compare-effect": "^1.8.1" diff --git a/packages/translation/package.json b/packages/translation/package.json index 4e54ce40e..f88bc4618 100644 --- a/packages/translation/package.json +++ b/packages/translation/package.json @@ -32,7 +32,7 @@ "dayjs": "^1.11.20", "deepmerge": "4.3.1", "mantine-react-table": "2.0.0-beta.9", - "next": "16.2.1", + "next": "16.2.2", "next-intl": "4.8.4", "react": "19.2.4", "react-dom": "19.2.4" diff --git a/packages/ui/package.json b/packages/ui/package.json index d269d6050..f376745ec 100644 --- a/packages/ui/package.json +++ b/packages/ui/package.json @@ -36,7 +36,7 @@ "@tabler/icons-react": "^3.41.1", "crypto-js": "^4.2.0", "mantine-react-table": "2.0.0-beta.9", - "next": "16.2.1", + "next": "16.2.2", "react": "19.2.4", "react-dom": "19.2.4", "svgson": "^5.3.1" diff --git a/packages/widgets/package.json b/packages/widgets/package.json index 1851731a7..c31823444 100644 --- a/packages/widgets/package.json +++ b/packages/widgets/package.json @@ -72,7 +72,7 @@ "dayjs": "^1.11.20", "mantine-form-zod-resolver": "^1.3.0", "mantine-react-table": "2.0.0-beta.9", - "next": "16.2.1", + "next": "16.2.2", "react": "19.2.4", "react-dom": "19.2.4", "react-markdown": "^10.1.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e91a0170c..622e32bc2 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -240,13 +240,13 @@ importers: version: 5.96.1(@tanstack/react-query@5.96.1(react@19.2.4))(react@19.2.4) '@tanstack/react-query-next-experimental': specifier: ^5.96.0 - version: 5.96.1(@tanstack/react-query@5.96.1(react@19.2.4))(next@16.2.1(@babel/core@7.26.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.98.0))(react@19.2.4) + version: 5.96.1(@tanstack/react-query@5.96.1(react@19.2.4))(next@16.2.2(@babel/core@7.26.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.98.0))(react@19.2.4) '@trpc/client': specifier: ^11.16.0 version: 11.16.0(@trpc/server@11.16.0(typescript@5.9.3))(typescript@5.9.3) '@trpc/next': specifier: ^11.16.0 - version: 11.16.0(@tanstack/react-query@5.96.1(react@19.2.4))(@trpc/client@11.16.0(@trpc/server@11.16.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/react-query@11.16.0(@tanstack/react-query@5.96.1(react@19.2.4))(@trpc/client@11.16.0(@trpc/server@11.16.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.16.0(typescript@5.9.3))(react@19.2.4)(typescript@5.9.3))(@trpc/server@11.16.0(typescript@5.9.3))(next@16.2.1(@babel/core@7.26.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.98.0))(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3) + version: 11.16.0(@tanstack/react-query@5.96.1(react@19.2.4))(@trpc/client@11.16.0(@trpc/server@11.16.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/react-query@11.16.0(@tanstack/react-query@5.96.1(react@19.2.4))(@trpc/client@11.16.0(@trpc/server@11.16.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.16.0(typescript@5.9.3))(react@19.2.4)(typescript@5.9.3))(@trpc/server@11.16.0(typescript@5.9.3))(next@16.2.2(@babel/core@7.26.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.98.0))(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3) '@trpc/react-query': specifier: ^11.16.0 version: 11.16.0(@tanstack/react-query@5.96.1(react@19.2.4))(@trpc/client@11.16.0(@trpc/server@11.16.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.16.0(typescript@5.9.3))(react@19.2.4)(typescript@5.9.3) @@ -293,8 +293,8 @@ importers: specifier: 2.0.0-beta.9 version: 2.0.0-beta.9(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@mantine/dates@8.3.18(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@mantine/hooks@8.3.18(react@19.2.4))(dayjs@1.11.20)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@mantine/hooks@8.3.18(react@19.2.4))(@tabler/icons-react@3.41.1(react@19.2.4))(clsx@2.1.1)(dayjs@1.11.20)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) next: - specifier: 16.2.1 - version: 16.2.1(@babel/core@7.26.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.98.0) + specifier: 16.2.2 + version: 16.2.2(@babel/core@7.26.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.98.0) postcss-preset-mantine: specifier: ^1.18.0 version: 1.18.0(postcss@8.5.8) @@ -657,8 +657,8 @@ importers: specifier: ^4.5.0 version: 4.5.0 next: - specifier: 16.2.1 - version: 16.2.1(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.98.0) + specifier: 16.2.2 + version: 16.2.2(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.98.0) react: specifier: 19.2.4 version: 19.2.4 @@ -727,11 +727,11 @@ importers: specifier: 8.1.7 version: 8.1.7 next: - specifier: 16.2.1 - version: 16.2.1(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.98.0) + specifier: 16.2.2 + version: 16.2.2(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.98.0) next-auth: specifier: 5.0.0-beta.30 - version: 5.0.0-beta.30(next@16.2.1(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.98.0))(react@19.2.4) + version: 5.0.0-beta.30(next@16.2.2(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.98.0))(react@19.2.4) react: specifier: 19.2.4 version: 19.2.4 @@ -850,8 +850,8 @@ importers: specifier: ^1.11.20 version: 1.11.20 next: - specifier: 16.2.1 - version: 16.2.1(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.98.0) + specifier: 16.2.2 + version: 16.2.2(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.98.0) octokit: specifier: ^5.0.5 version: 5.0.5 @@ -1603,8 +1603,8 @@ importers: specifier: ^1.11.20 version: 1.11.20 next: - specifier: 16.2.1 - version: 16.2.1(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.98.0) + specifier: 16.2.2 + version: 16.2.2(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.98.0) react: specifier: 19.2.4 version: 19.2.4 @@ -1704,8 +1704,8 @@ importers: specifier: 0.5.16 version: 0.5.16 next: - specifier: 16.2.1 - version: 16.2.1(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.98.0) + specifier: 16.2.2 + version: 16.2.2(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.98.0) react: specifier: 19.2.4 version: 19.2.4 @@ -1923,8 +1923,8 @@ importers: specifier: ^8.3.18 version: 8.3.18(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@mantine/hooks@8.3.18(react@19.2.4))(dayjs@1.11.20)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) next: - specifier: 16.2.1 - version: 16.2.1(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.98.0) + specifier: 16.2.2 + version: 16.2.2(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.98.0) react: specifier: 19.2.4 version: 19.2.4 @@ -1996,8 +1996,8 @@ importers: specifier: ^2.19.0 version: 2.19.0(@babel/core@7.29.0)(@babel/template@7.28.6)(@types/react@19.2.14)(react@19.2.4) next: - specifier: 16.2.1 - version: 16.2.1(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.98.0) + specifier: 16.2.2 + version: 16.2.2(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.98.0) react: specifier: 19.2.4 version: 19.2.4 @@ -2042,11 +2042,11 @@ importers: specifier: 2.0.0-beta.9 version: 2.0.0-beta.9(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@mantine/dates@8.3.18(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@mantine/hooks@8.3.18(react@19.2.4))(dayjs@1.11.20)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@mantine/hooks@8.3.18(react@19.2.4))(@tabler/icons-react@3.41.1(react@19.2.4))(clsx@2.1.1)(dayjs@1.11.20)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) next: - specifier: 16.2.1 - version: 16.2.1(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.98.0) + specifier: 16.2.2 + version: 16.2.2(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.98.0) next-intl: specifier: 4.8.4 - version: 4.8.4(next@16.2.1(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.98.0))(react@19.2.4)(typescript@5.9.3) + version: 4.8.4(next@16.2.2(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.98.0))(react@19.2.4)(typescript@5.9.3) react: specifier: 19.2.4 version: 19.2.4 @@ -2106,8 +2106,8 @@ importers: specifier: 2.0.0-beta.9 version: 2.0.0-beta.9(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@mantine/dates@8.3.18(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@mantine/hooks@8.3.18(react@19.2.4))(dayjs@1.11.20)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@mantine/hooks@8.3.18(react@19.2.4))(@tabler/icons-react@3.41.1(react@19.2.4))(clsx@2.1.1)(dayjs@1.11.20)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) next: - specifier: 16.2.1 - version: 16.2.1(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.98.0) + specifier: 16.2.2 + version: 16.2.2(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.98.0) react: specifier: 19.2.4 version: 19.2.4 @@ -2315,8 +2315,8 @@ importers: specifier: 2.0.0-beta.9 version: 2.0.0-beta.9(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@mantine/dates@8.3.18(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@mantine/hooks@8.3.18(react@19.2.4))(dayjs@1.11.20)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@mantine/hooks@8.3.18(react@19.2.4))(@tabler/icons-react@3.41.1(react@19.2.4))(clsx@2.1.1)(dayjs@1.11.20)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) next: - specifier: 16.2.1 - version: 16.2.1(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.98.0) + specifier: 16.2.2 + version: 16.2.2(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.98.0) react: specifier: 19.2.4 version: 19.2.4 @@ -2358,8 +2358,8 @@ importers: tooling/eslint: dependencies: '@next/eslint-plugin-next': - specifier: 16.2.1 - version: 16.2.1 + specifier: 16.2.2 + version: 16.2.2 eslint-config-prettier: specifier: ^10.1.8 version: 10.1.8(eslint@9.39.4) @@ -3791,60 +3791,60 @@ packages: '@ndaidong/bellajs@12.0.1': resolution: {integrity: sha512-1iY42uiHz0cxNMbde7O3zVN+ZX1viOOUOBRt6ht6lkRZbSjwOnFV34Zv4URp3hGzEe6L9Byk7BOq/41H0PzAOQ==} - '@next/env@16.2.1': - resolution: {integrity: sha512-n8P/HCkIWW+gVal2Z8XqXJ6aB3J0tuM29OcHpCsobWlChH/SITBs1DFBk/HajgrwDkqqBXPbuUuzgDvUekREPg==} + '@next/env@16.2.2': + resolution: {integrity: sha512-LqSGz5+xGk9EL/iBDr2yo/CgNQV6cFsNhRR2xhSXYh7B/hb4nePCxlmDvGEKG30NMHDFf0raqSyOZiQrO7BkHQ==} - '@next/eslint-plugin-next@16.2.1': - resolution: {integrity: sha512-r0epZGo24eT4g08jJlg2OEryBphXqO8aL18oajoTKLzHJ6jVr6P6FI58DLMug04MwD3j8Fj0YK0slyzneKVyzA==} + '@next/eslint-plugin-next@16.2.2': + resolution: {integrity: sha512-IOPbWzDQ+76AtjZioaCjpIY72xNSDMnarZ2GMQ4wjNLvnJEJHqxQwGFhgnIWLV9klb4g/+amg88Tk5OXVpyLTw==} - '@next/swc-darwin-arm64@16.2.1': - resolution: {integrity: sha512-BwZ8w8YTaSEr2HIuXLMLxIdElNMPvY9fLqb20LX9A9OMGtJilhHLbCL3ggyd0TwjmMcTxi0XXt+ur1vWUoxj2Q==} + '@next/swc-darwin-arm64@16.2.2': + resolution: {integrity: sha512-B92G3ulrwmkDSEJEp9+XzGLex5wC1knrmCSIylyVeiAtCIfvEJYiN3v5kXPlYt5R4RFlsfO/v++aKV63Acrugg==} engines: {node: '>= 10'} cpu: [arm64] os: [darwin] - '@next/swc-darwin-x64@16.2.1': - resolution: {integrity: sha512-/vrcE6iQSJq3uL3VGVHiXeaKbn8Es10DGTGRJnRZlkNQQk3kaNtAJg8Y6xuAlrx/6INKVjkfi5rY0iEXorZ6uA==} + '@next/swc-darwin-x64@16.2.2': + resolution: {integrity: sha512-7ZwSgNKJNQiwW0CKhNm9B1WS2L1Olc4B2XY0hPYCAL3epFnugMhuw5TMWzMilQ3QCZcCHoYm9NGWTHbr5REFxw==} engines: {node: '>= 10'} cpu: [x64] os: [darwin] - '@next/swc-linux-arm64-gnu@16.2.1': - resolution: {integrity: sha512-uLn+0BK+C31LTVbQ/QU+UaVrV0rRSJQ8RfniQAHPghDdgE+SlroYqcmFnO5iNjNfVWCyKZHYrs3Nl0mUzWxbBw==} + '@next/swc-linux-arm64-gnu@16.2.2': + resolution: {integrity: sha512-c3m8kBHMziMgo2fICOP/cd/5YlrxDU5YYjAJeQLyFsCqVF8xjOTH/QYG4a2u48CvvZZSj1eHQfBCbyh7kBr30Q==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] libc: [glibc] - '@next/swc-linux-arm64-musl@16.2.1': - resolution: {integrity: sha512-ssKq6iMRnHdnycGp9hCuGnXJZ0YPr4/wNwrfE5DbmvEcgl9+yv97/Kq3TPVDfYome1SW5geciLB9aiEqKXQjlQ==} + '@next/swc-linux-arm64-musl@16.2.2': + resolution: {integrity: sha512-VKLuscm0P/mIfzt+SDdn2+8TNNJ7f0qfEkA+az7OqQbjzKdBxAHs0UvuiVoCtbwX+dqMEL9U54b5wQ/aN3dHeg==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] libc: [musl] - '@next/swc-linux-x64-gnu@16.2.1': - resolution: {integrity: sha512-HQm7SrHRELJ30T1TSmT706IWovFFSRGxfgUkyWJZF/RKBMdbdRWJuFrcpDdE5vy9UXjFOx6L3mRdqH04Mmx0hg==} + '@next/swc-linux-x64-gnu@16.2.2': + resolution: {integrity: sha512-kU3OPHJq6sBUjOk7wc5zJ7/lipn8yGldMoAv4z67j6ov6Xo/JvzA7L7LCsyzzsXmgLEhk3Qkpwqaq/1+XpNR3g==} engines: {node: '>= 10'} cpu: [x64] os: [linux] libc: [glibc] - '@next/swc-linux-x64-musl@16.2.1': - resolution: {integrity: sha512-aV2iUaC/5HGEpbBkE+4B8aHIudoOy5DYekAKOMSHoIYQ66y/wIVeaRx8MS2ZMdxe/HIXlMho4ubdZs/J8441Tg==} + '@next/swc-linux-x64-musl@16.2.2': + resolution: {integrity: sha512-CKXRILyErMtUftp+coGcZ38ZwE/Aqq45VMCcRLr2I4OXKrgxIBDXHnBgeX/UMil0S09i2JXaDL3Q+TN8D/cKmg==} engines: {node: '>= 10'} cpu: [x64] os: [linux] libc: [musl] - '@next/swc-win32-arm64-msvc@16.2.1': - resolution: {integrity: sha512-IXdNgiDHaSk0ZUJ+xp0OQTdTgnpx1RCfRTalhn3cjOP+IddTMINwA7DXZrwTmGDO8SUr5q2hdP/du4DcrB1GxA==} + '@next/swc-win32-arm64-msvc@16.2.2': + resolution: {integrity: sha512-sS/jSk5VUoShUqINJFvNjVT7JfR5ORYj/+/ZpOYbbIohv/lQfduWnGAycq2wlknbOql2xOR0DoV0s6Xfcy49+g==} engines: {node: '>= 10'} cpu: [arm64] os: [win32] - '@next/swc-win32-x64-msvc@16.2.1': - resolution: {integrity: sha512-qvU+3a39Hay+ieIztkGSbF7+mccbbg1Tk25hc4JDylf8IHjYmY/Zm64Qq1602yPyQqvie+vf5T/uPwNxDNIoeg==} + '@next/swc-win32-x64-msvc@16.2.2': + resolution: {integrity: sha512-aHaKceJgdySReT7qeck5oShucxWRiiEuwCGK8HHALe6yZga8uyFpLkPgaRw3kkF04U7ROogL/suYCNt/+CuXGA==} engines: {node: '>= 10'} cpu: [x64] os: [win32] @@ -8386,8 +8386,8 @@ packages: typescript: optional: true - next@16.2.1: - resolution: {integrity: sha512-VaChzNL7o9rbfdt60HUj8tev4m6d7iC1igAy157526+cJlXOQu5LzsBXNT+xaJnTP/k+utSX5vMv7m0G+zKH+Q==} + next@16.2.2: + resolution: {integrity: sha512-i6AJdyVa4oQjyvX/6GeER8dpY/xlIV+4NMv/svykcLtURJSy/WzDnnUk/TM4d0uewFHK7xSQz4TbIwPgjky+3A==} engines: {node: '>=20.9.0'} hasBin: true peerDependencies: @@ -12297,34 +12297,34 @@ snapshots: '@ndaidong/bellajs@12.0.1': {} - '@next/env@16.2.1': {} + '@next/env@16.2.2': {} - '@next/eslint-plugin-next@16.2.1': + '@next/eslint-plugin-next@16.2.2': dependencies: fast-glob: 3.3.1 - '@next/swc-darwin-arm64@16.2.1': + '@next/swc-darwin-arm64@16.2.2': optional: true - '@next/swc-darwin-x64@16.2.1': + '@next/swc-darwin-x64@16.2.2': optional: true - '@next/swc-linux-arm64-gnu@16.2.1': + '@next/swc-linux-arm64-gnu@16.2.2': optional: true - '@next/swc-linux-arm64-musl@16.2.1': + '@next/swc-linux-arm64-musl@16.2.2': optional: true - '@next/swc-linux-x64-gnu@16.2.1': + '@next/swc-linux-x64-gnu@16.2.2': optional: true - '@next/swc-linux-x64-musl@16.2.1': + '@next/swc-linux-x64-musl@16.2.2': optional: true - '@next/swc-win32-arm64-msvc@16.2.1': + '@next/swc-win32-arm64-msvc@16.2.2': optional: true - '@next/swc-win32-x64-msvc@16.2.1': + '@next/swc-win32-x64-msvc@16.2.2': optional: true '@noble/hashes@2.0.1': {} @@ -13346,10 +13346,10 @@ snapshots: '@tanstack/react-query': 5.96.1(react@19.2.4) react: 19.2.4 - '@tanstack/react-query-next-experimental@5.96.1(@tanstack/react-query@5.96.1(react@19.2.4))(next@16.2.1(@babel/core@7.26.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.98.0))(react@19.2.4)': + '@tanstack/react-query-next-experimental@5.96.1(@tanstack/react-query@5.96.1(react@19.2.4))(next@16.2.2(@babel/core@7.26.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.98.0))(react@19.2.4)': dependencies: '@tanstack/react-query': 5.96.1(react@19.2.4) - next: 16.2.1(@babel/core@7.26.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.98.0) + next: 16.2.2(@babel/core@7.26.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.98.0) react: 19.2.4 '@tanstack/react-query@5.96.1(react@19.2.4)': @@ -13637,11 +13637,11 @@ snapshots: '@trpc/server': 11.16.0(typescript@5.9.3) typescript: 5.9.3 - '@trpc/next@11.16.0(@tanstack/react-query@5.96.1(react@19.2.4))(@trpc/client@11.16.0(@trpc/server@11.16.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/react-query@11.16.0(@tanstack/react-query@5.96.1(react@19.2.4))(@trpc/client@11.16.0(@trpc/server@11.16.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.16.0(typescript@5.9.3))(react@19.2.4)(typescript@5.9.3))(@trpc/server@11.16.0(typescript@5.9.3))(next@16.2.1(@babel/core@7.26.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.98.0))(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3)': + '@trpc/next@11.16.0(@tanstack/react-query@5.96.1(react@19.2.4))(@trpc/client@11.16.0(@trpc/server@11.16.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/react-query@11.16.0(@tanstack/react-query@5.96.1(react@19.2.4))(@trpc/client@11.16.0(@trpc/server@11.16.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.16.0(typescript@5.9.3))(react@19.2.4)(typescript@5.9.3))(@trpc/server@11.16.0(typescript@5.9.3))(next@16.2.2(@babel/core@7.26.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.98.0))(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3)': dependencies: '@trpc/client': 11.16.0(@trpc/server@11.16.0(typescript@5.9.3))(typescript@5.9.3) '@trpc/server': 11.16.0(typescript@5.9.3) - next: 16.2.1(@babel/core@7.26.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.98.0) + next: 16.2.2(@babel/core@7.26.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.98.0) react: 19.2.4 react-dom: 19.2.4(react@19.2.4) typescript: 5.9.3 @@ -17572,22 +17572,22 @@ snapshots: nerf-dart@1.0.0: {} - next-auth@5.0.0-beta.30(next@16.2.1(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.98.0))(react@19.2.4): + next-auth@5.0.0-beta.30(next@16.2.2(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.98.0))(react@19.2.4): dependencies: '@auth/core': 0.41.0 - next: 16.2.1(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.98.0) + next: 16.2.2(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.98.0) react: 19.2.4 next-intl-swc-plugin-extractor@4.9.0: {} - next-intl@4.8.4(next@16.2.1(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.98.0))(react@19.2.4)(typescript@5.9.3): + next-intl@4.8.4(next@16.2.2(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.98.0))(react@19.2.4)(typescript@5.9.3): dependencies: '@formatjs/intl-localematcher': 0.8.1 '@parcel/watcher': 2.4.1 '@swc/core': 1.15.3 icu-minify: 4.9.0 negotiator: 1.0.0 - next: 16.2.1(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.98.0) + next: 16.2.2(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.98.0) next-intl-swc-plugin-extractor: 4.9.0 po-parser: 2.1.1 react: 19.2.4 @@ -17597,9 +17597,9 @@ snapshots: transitivePeerDependencies: - '@swc/helpers' - next@16.2.1(@babel/core@7.26.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.98.0): + next@16.2.2(@babel/core@7.26.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.98.0): dependencies: - '@next/env': 16.2.1 + '@next/env': 16.2.2 '@swc/helpers': 0.5.15 baseline-browser-mapping: 2.9.19 caniuse-lite: 1.0.30001766 @@ -17608,14 +17608,14 @@ snapshots: react-dom: 19.2.4(react@19.2.4) styled-jsx: 5.1.6(@babel/core@7.26.0)(react@19.2.4) optionalDependencies: - '@next/swc-darwin-arm64': 16.2.1 - '@next/swc-darwin-x64': 16.2.1 - '@next/swc-linux-arm64-gnu': 16.2.1 - '@next/swc-linux-arm64-musl': 16.2.1 - '@next/swc-linux-x64-gnu': 16.2.1 - '@next/swc-linux-x64-musl': 16.2.1 - '@next/swc-win32-arm64-msvc': 16.2.1 - '@next/swc-win32-x64-msvc': 16.2.1 + '@next/swc-darwin-arm64': 16.2.2 + '@next/swc-darwin-x64': 16.2.2 + '@next/swc-linux-arm64-gnu': 16.2.2 + '@next/swc-linux-arm64-musl': 16.2.2 + '@next/swc-linux-x64-gnu': 16.2.2 + '@next/swc-linux-x64-musl': 16.2.2 + '@next/swc-win32-arm64-msvc': 16.2.2 + '@next/swc-win32-x64-msvc': 16.2.2 babel-plugin-react-compiler: 1.0.0 sass: 1.98.0 sharp: 0.34.5 @@ -17623,9 +17623,9 @@ snapshots: - '@babel/core' - babel-plugin-macros - next@16.2.1(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.98.0): + next@16.2.2(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.98.0): dependencies: - '@next/env': 16.2.1 + '@next/env': 16.2.2 '@swc/helpers': 0.5.15 baseline-browser-mapping: 2.9.19 caniuse-lite: 1.0.30001766 @@ -17634,14 +17634,14 @@ snapshots: react-dom: 19.2.4(react@19.2.4) styled-jsx: 5.1.6(@babel/core@7.29.0)(react@19.2.4) optionalDependencies: - '@next/swc-darwin-arm64': 16.2.1 - '@next/swc-darwin-x64': 16.2.1 - '@next/swc-linux-arm64-gnu': 16.2.1 - '@next/swc-linux-arm64-musl': 16.2.1 - '@next/swc-linux-x64-gnu': 16.2.1 - '@next/swc-linux-x64-musl': 16.2.1 - '@next/swc-win32-arm64-msvc': 16.2.1 - '@next/swc-win32-x64-msvc': 16.2.1 + '@next/swc-darwin-arm64': 16.2.2 + '@next/swc-darwin-x64': 16.2.2 + '@next/swc-linux-arm64-gnu': 16.2.2 + '@next/swc-linux-arm64-musl': 16.2.2 + '@next/swc-linux-x64-gnu': 16.2.2 + '@next/swc-linux-x64-musl': 16.2.2 + '@next/swc-win32-arm64-msvc': 16.2.2 + '@next/swc-win32-x64-msvc': 16.2.2 babel-plugin-react-compiler: 1.0.0 sass: 1.98.0 sharp: 0.34.5 diff --git a/tooling/eslint/package.json b/tooling/eslint/package.json index b898117d1..8ecd6d76b 100644 --- a/tooling/eslint/package.json +++ b/tooling/eslint/package.json @@ -17,7 +17,7 @@ }, "prettier": "@homarr/prettier-config", "dependencies": { - "@next/eslint-plugin-next": "16.2.1", + "@next/eslint-plugin-next": "16.2.2", "eslint-config-prettier": "^10.1.8", "eslint-config-turbo": "^2.9.3", "eslint-plugin-import": "^2.32.0", From 72ad935ddf831c008e53ae3a1c5e924cc82710d1 Mon Sep 17 00:00:00 2001 From: "homarr-renovate[bot]" <158783068+homarr-renovate[bot]@users.noreply.github.com> Date: Mon, 6 Apr 2026 09:17:17 +0000 Subject: [PATCH 12/49] fix(deps): update tanstack-query monorepo to ^5.96.1 (#5421) Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com> --- apps/nextjs/package.json | 6 +++--- packages/api/package.json | 2 +- packages/cron-job-api/package.json | 2 +- pnpm-lock.yaml | 10 +++++----- 4 files changed, 10 insertions(+), 10 deletions(-) diff --git a/apps/nextjs/package.json b/apps/nextjs/package.json index ee8b84736..7fcc507e0 100644 --- a/apps/nextjs/package.json +++ b/apps/nextjs/package.json @@ -56,9 +56,9 @@ "@mantine/tiptap": "^8.3.18", "@million/lint": "1.0.14", "@tabler/icons-react": "^3.41.1", - "@tanstack/react-query": "^5.96.0", - "@tanstack/react-query-devtools": "^5.96.0", - "@tanstack/react-query-next-experimental": "^5.96.0", + "@tanstack/react-query": "^5.96.1", + "@tanstack/react-query-devtools": "^5.96.1", + "@tanstack/react-query-next-experimental": "^5.96.1", "@trpc/client": "^11.16.0", "@trpc/next": "^11.16.0", "@trpc/react-query": "^11.16.0", diff --git a/packages/api/package.json b/packages/api/package.json index 60fecb4e3..aa062cf4f 100644 --- a/packages/api/package.json +++ b/packages/api/package.json @@ -41,7 +41,7 @@ "@homarr/translation": "workspace:^0.1.0", "@homarr/validation": "workspace:^0.1.0", "@kubernetes/client-node": "^1.4.0", - "@tanstack/react-query": "^5.96.0", + "@tanstack/react-query": "^5.96.1", "@trpc/client": "^11.16.0", "@trpc/react-query": "^11.16.0", "@trpc/server": "^11.16.0", diff --git a/packages/cron-job-api/package.json b/packages/cron-job-api/package.json index aeca54d3a..90bf7c27b 100644 --- a/packages/cron-job-api/package.json +++ b/packages/cron-job-api/package.json @@ -28,7 +28,7 @@ "@homarr/common": "workspace:^0.1.0", "@homarr/core": "workspace:^0.1.0", "@homarr/cron-jobs": "workspace:^0.1.0", - "@tanstack/react-query": "^5.96.0", + "@tanstack/react-query": "^5.96.1", "@trpc/client": "^11.16.0", "@trpc/server": "^11.16.0", "@trpc/tanstack-react-query": "^11.16.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 622e32bc2..23af04d4b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -233,13 +233,13 @@ importers: specifier: ^3.41.1 version: 3.41.1(react@19.2.4) '@tanstack/react-query': - specifier: ^5.96.0 + specifier: ^5.96.1 version: 5.96.1(react@19.2.4) '@tanstack/react-query-devtools': - specifier: ^5.96.0 + specifier: ^5.96.1 version: 5.96.1(@tanstack/react-query@5.96.1(react@19.2.4))(react@19.2.4) '@tanstack/react-query-next-experimental': - specifier: ^5.96.0 + specifier: ^5.96.1 version: 5.96.1(@tanstack/react-query@5.96.1(react@19.2.4))(next@16.2.2(@babel/core@7.26.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.98.0))(react@19.2.4) '@trpc/client': specifier: ^11.16.0 @@ -639,7 +639,7 @@ importers: specifier: ^1.4.0 version: 1.4.0 '@tanstack/react-query': - specifier: ^5.96.0 + specifier: ^5.96.1 version: 5.96.1(react@19.2.4) '@trpc/client': specifier: ^11.16.0 @@ -954,7 +954,7 @@ importers: specifier: workspace:^0.1.0 version: link:../cron-jobs '@tanstack/react-query': - specifier: ^5.96.0 + specifier: ^5.96.1 version: 5.96.1(react@19.2.4) '@trpc/client': specifier: ^11.16.0 From 612038ad070681c582cb54ac4298bc07700765c9 Mon Sep 17 00:00:00 2001 From: "homarr-renovate[bot]" <158783068+homarr-renovate[bot]@users.noreply.github.com> Date: Mon, 6 Apr 2026 20:46:21 +0000 Subject: [PATCH 13/49] fix(deps): update dependency next-intl to v4.9.0 (#5426) Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com> --- packages/translation/package.json | 2 +- pnpm-lock.yaml | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/packages/translation/package.json b/packages/translation/package.json index f88bc4618..d050a2159 100644 --- a/packages/translation/package.json +++ b/packages/translation/package.json @@ -33,7 +33,7 @@ "deepmerge": "4.3.1", "mantine-react-table": "2.0.0-beta.9", "next": "16.2.2", - "next-intl": "4.8.4", + "next-intl": "4.9.0", "react": "19.2.4", "react-dom": "19.2.4" }, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 23af04d4b..a5d73c9f3 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -2045,8 +2045,8 @@ importers: specifier: 16.2.2 version: 16.2.2(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.98.0) next-intl: - specifier: 4.8.4 - version: 4.8.4(next@16.2.2(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.98.0))(react@19.2.4)(typescript@5.9.3) + specifier: 4.9.0 + version: 4.9.0(next@16.2.2(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.98.0))(react@19.2.4)(typescript@5.9.3) react: specifier: 19.2.4 version: 19.2.4 @@ -8376,8 +8376,8 @@ packages: next-intl-swc-plugin-extractor@4.9.0: resolution: {integrity: sha512-CAu6Qy6XiCenKsvzyCPm2cZFkGfcvhJi8N93TCnOowmzD4Br3ked7QdROusRRp4MQ1iG9u+KCLgVcM9CLDUOIQ==} - next-intl@4.8.4: - resolution: {integrity: sha512-GUm4opem3vJ3smyysiW6QLVJIax4KHZ6itP+1McxVFNqtfUkiOZ76t0lAAeVe65Zw+qgXtorzX4Cm8klkoWFgQ==} + next-intl@4.9.0: + resolution: {integrity: sha512-MMNAjewHUw9Ke93E5/Yzhf8lqesesaXJTPlrK3FwECgn4EXG9m7Tuzy4rnDes0ogjDhQIa/Ksj/qmFnHJAOluw==} peerDependencies: next: ^12.0.0 || ^13.0.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 react: ^16.8.0 || ^17.0.0 || ^18.0.0 || >=19.0.0-rc <19.0.0 || ^19.0.0 @@ -17580,7 +17580,7 @@ snapshots: next-intl-swc-plugin-extractor@4.9.0: {} - next-intl@4.8.4(next@16.2.2(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.98.0))(react@19.2.4)(typescript@5.9.3): + next-intl@4.9.0(next@16.2.2(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.98.0))(react@19.2.4)(typescript@5.9.3): dependencies: '@formatjs/intl-localematcher': 0.8.1 '@parcel/watcher': 2.4.1 From dbe8d84202b00687f16784cbedf61d7488efbbff Mon Sep 17 00:00:00 2001 From: "homarr-renovate[bot]" <158783068+homarr-renovate[bot]@users.noreply.github.com> Date: Mon, 6 Apr 2026 21:45:44 +0000 Subject: [PATCH 14/49] fix(deps): update dependency adm-zip to v0.5.17 (#5422) Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com> --- packages/old-import/package.json | 2 +- pnpm-lock.yaml | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/packages/old-import/package.json b/packages/old-import/package.json index 556f92afc..f5713415b 100644 --- a/packages/old-import/package.json +++ b/packages/old-import/package.json @@ -39,7 +39,7 @@ "@homarr/validation": "workspace:^0.1.0", "@mantine/core": "^8.3.18", "@mantine/hooks": "^8.3.18", - "adm-zip": "0.5.16", + "adm-zip": "0.5.17", "next": "16.2.2", "react": "19.2.4", "react-dom": "19.2.4", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a5d73c9f3..af761c463 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1701,8 +1701,8 @@ importers: specifier: ^8.3.18 version: 8.3.18(react@19.2.4) adm-zip: - specifier: 0.5.16 - version: 0.5.16 + specifier: 0.5.17 + version: 0.5.17 next: specifier: 16.2.2 version: 16.2.2(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.98.0) @@ -5435,8 +5435,8 @@ packages: engines: {node: '>=0.4.0'} hasBin: true - adm-zip@0.5.16: - resolution: {integrity: sha512-TGw5yVi4saajsSEgz25grObGHEUaDrniwvA2qwSC060KfqGPdglhvPMA2lPIoxs3PQIItj2iag35fONcQqgUaQ==} + adm-zip@0.5.17: + resolution: {integrity: sha512-+Ut8d9LLqwEvHHJl1+PIHqoyDxFgVN847JTVM3Izi3xHDWPE4UtzzXysMZQs64DMcrJfBeS/uoEP4AD3HQHnQQ==} engines: {node: '>=12.0'} aes-decrypter@4.0.2: @@ -14273,7 +14273,7 @@ snapshots: acorn@8.16.0: {} - adm-zip@0.5.16: {} + adm-zip@0.5.17: {} aes-decrypter@4.0.2: dependencies: From cb2862bc7902b80bdac9f74970f565e2fd2a448c Mon Sep 17 00:00:00 2001 From: "homarr-crowdin[bot]" <190541745+homarr-crowdin[bot]@users.noreply.github.com> Date: Tue, 7 Apr 2026 16:12:15 +0200 Subject: [PATCH 15/49] chore(lang): updated translations from crowdin (#5417) Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com> --- packages/translation/src/lang/en-gb.json | 84 ++++++++++++------------ packages/translation/src/lang/it.json | 12 ++-- 2 files changed, 48 insertions(+), 48 deletions(-) diff --git a/packages/translation/src/lang/en-gb.json b/packages/translation/src/lang/en-gb.json index 15f673443..3154723ed 100644 --- a/packages/translation/src/lang/en-gb.json +++ b/packages/translation/src/lang/en-gb.json @@ -1526,13 +1526,13 @@ } }, "timetable": { - "name": "", - "description": "", - "title": "", - "noStation": "", + "name": "Timetable", + "description": "Displays departure times for a station", + "title": "Departures {station}", + "noStation": "No station selected", "option": { "station": { - "label": "" + "label": "Station" } } }, @@ -1977,77 +1977,77 @@ } }, "error": { - "internalServerError": "" + "internalServerError": "Failed to fetch containers stats" } }, "coolify": { - "name": "", - "description": "", + "name": "Coolify", + "description": "Overview of your Coolify instance with servers and applications", "option": { "showServers": { - "label": "" + "label": "Show servers" }, "showApplications": { - "label": "" + "label": "Show applications" }, "showServices": { - "label": "" + "label": "Show services" } }, "empty": { - "servers": "", - "applications": "", - "services": "" + "servers": "No servers found", + "applications": "No applications found", + "services": "No services found" }, "footer": { - "updated": "" + "updated": "Updated {when}" }, "error": { - "noIntegration": "", - "internalServerError": "" + "noIntegration": "No Coolify integration configured", + "internalServerError": "Failed to fetch Coolify data" }, "server": { - "buildServer": "" + "buildServer": "Build" }, "instances": { - "title": "" + "title": "Instances" } }, "tracearr": { - "name": "", - "description": "", + "name": "Tracearr", + "description": "Enhanced media server monitoring with detailed stream and transcoding data", "option": { "showStreams": { - "label": "" + "label": "Show active streams" }, "showStats": { - "label": "" + "label": "Show stats summary" }, "showRecentActivity": { - "label": "" + "label": "Show recent activity" }, "showViolations": { - "label": "" + "label": "Show violations" } }, "stats": { - "activeStreams": "", - "totalUsers": "", - "transcodes": "", - "bandwidth": "" + "activeStreams": "Active Streams", + "totalUsers": "Total Users", + "transcodes": "Transcodes", + "bandwidth": "Bandwidth" }, "streams": { - "empty": "", - "user": "", - "media": "", - "state": "", - "quality": "", - "device": "", - "progress": "", + "empty": "No active streams", + "user": "User", + "media": "Media", + "state": "State", + "quality": "Quality", + "device": "Device", + "progress": "Progress", "videoDecision": { - "directPlay": "", - "transcode": "", - "directStream": "" + "directPlay": "Direct Play", + "transcode": "Transcode", + "directStream": "Direct Stream" } }, "recentActivity": { @@ -4335,13 +4335,13 @@ } }, "newUser": { - "label": "" + "label": "Create a new user" }, "newInvite": { - "label": "" + "label": "Create a new invite" }, "newGroup": { - "label": "" + "label": "Create a new group" } } } diff --git a/packages/translation/src/lang/it.json b/packages/translation/src/lang/it.json index 5740ac915..350825da2 100644 --- a/packages/translation/src/lang/it.json +++ b/packages/translation/src/lang/it.json @@ -1526,13 +1526,13 @@ } }, "timetable": { - "name": "", - "description": "", - "title": "", - "noStation": "", + "name": "Orario", + "description": "Visualizza gli orari di partenza per una stazione", + "title": "Partenze {station}", + "noStation": "Nessuna stazione selezionata", "option": { "station": { - "label": "" + "label": "Stazione" } } }, @@ -3525,7 +3525,7 @@ "label": "Stato del server Minecraft" }, "timetable": { - "label": "" + "label": "Orario" }, "iconsUpdater": { "label": "Aggiornatore Icone" From e2410f143c9f17bd226aa94750ecaa16649bac8a Mon Sep 17 00:00:00 2001 From: "homarr-renovate[bot]" <158783068+homarr-renovate[bot]@users.noreply.github.com> Date: Tue, 7 Apr 2026 16:18:19 +0200 Subject: [PATCH 16/49] chore(deps): update dependency esbuild to ^0.27.5 (#5428) Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com> --- apps/tasks/package.json | 2 +- apps/websocket/package.json | 2 +- packages/cli/package.json | 2 +- packages/db/package.json | 2 +- pnpm-lock.yaml | 288 ++++++++++++++++++++++++++++++++++-- 5 files changed, 282 insertions(+), 14 deletions(-) diff --git a/apps/tasks/package.json b/apps/tasks/package.json index 1d58843dc..098296c67 100644 --- a/apps/tasks/package.json +++ b/apps/tasks/package.json @@ -49,7 +49,7 @@ "@homarr/tsconfig": "workspace:^0.1.0", "@types/node": "^24.12.0", "dotenv-cli": "^11.0.0", - "esbuild": "^0.27.4", + "esbuild": "^0.27.5", "eslint": "^9.39.4", "prettier": "^3.8.1", "tsx": "4.20.4", diff --git a/apps/websocket/package.json b/apps/websocket/package.json index 0d235b01a..1d30fdc25 100644 --- a/apps/websocket/package.json +++ b/apps/websocket/package.json @@ -34,7 +34,7 @@ "@homarr/prettier-config": "workspace:^0.1.0", "@homarr/tsconfig": "workspace:^0.1.0", "@types/ws": "^8.18.1", - "esbuild": "^0.27.4", + "esbuild": "^0.27.5", "eslint": "^9.39.4", "prettier": "^3.8.1", "typescript": "^5.9.3" diff --git a/packages/cli/package.json b/packages/cli/package.json index e73f61b65..1467e1a25 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -36,7 +36,7 @@ "@homarr/eslint-config": "workspace:^0.2.0", "@homarr/prettier-config": "workspace:^0.1.0", "@homarr/tsconfig": "workspace:^0.1.0", - "esbuild": "^0.27.4", + "esbuild": "^0.27.5", "eslint": "^9.39.4", "typescript": "^5.9.3" } diff --git a/packages/db/package.json b/packages/db/package.json index e322c0374..3cfd354ab 100644 --- a/packages/db/package.json +++ b/packages/db/package.json @@ -67,7 +67,7 @@ "@types/better-sqlite3": "7.6.13", "@types/pg": "^8.20.0", "dotenv-cli": "^11.0.0", - "esbuild": "^0.27.4", + "esbuild": "^0.27.5", "eslint": "^9.39.4", "prettier": "^3.8.1", "tsx": "4.20.4", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index af761c463..e12a42d88 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -457,8 +457,8 @@ importers: specifier: ^11.0.0 version: 11.0.0 esbuild: - specifier: ^0.27.4 - version: 0.27.4 + specifier: ^0.27.5 + version: 0.27.7 eslint: specifier: ^9.39.4 version: 9.39.4 @@ -521,8 +521,8 @@ importers: specifier: ^8.18.1 version: 8.18.1 esbuild: - specifier: ^0.27.4 - version: 0.27.4 + specifier: ^0.27.5 + version: 0.27.7 eslint: specifier: ^9.39.4 version: 9.39.4 @@ -826,8 +826,8 @@ importers: specifier: workspace:^0.1.0 version: link:../../tooling/typescript esbuild: - specifier: ^0.27.4 - version: 0.27.4 + specifier: ^0.27.5 + version: 0.27.7 eslint: specifier: ^9.39.4 version: 9.39.4 @@ -1196,8 +1196,8 @@ importers: specifier: ^11.0.0 version: 11.0.0 esbuild: - specifier: ^0.27.4 - version: 0.27.4 + specifier: ^0.27.5 + version: 0.27.7 eslint: specifier: ^9.39.4 version: 9.39.4 @@ -2854,6 +2854,12 @@ packages: cpu: [ppc64] os: [aix] + '@esbuild/aix-ppc64@0.27.7': + resolution: {integrity: sha512-EKX3Qwmhz1eMdEJokhALr0YiD0lhQNwDqkPYyPhiSwKrh7/4KRjQc04sZ8db+5DVVnZ1LmbNDI1uAMPEUBnQPg==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [aix] + '@esbuild/android-arm64@0.25.12': resolution: {integrity: sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg==} engines: {node: '>=18'} @@ -2866,6 +2872,12 @@ packages: cpu: [arm64] os: [android] + '@esbuild/android-arm64@0.27.7': + resolution: {integrity: sha512-62dPZHpIXzvChfvfLJow3q5dDtiNMkwiRzPylSCfriLvZeq0a1bWChrGx/BbUbPwOrsWKMn8idSllklzBy+dgQ==} + engines: {node: '>=18'} + cpu: [arm64] + os: [android] + '@esbuild/android-arm@0.25.12': resolution: {integrity: sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg==} engines: {node: '>=18'} @@ -2878,6 +2890,12 @@ packages: cpu: [arm] os: [android] + '@esbuild/android-arm@0.27.7': + resolution: {integrity: sha512-jbPXvB4Yj2yBV7HUfE2KHe4GJX51QplCN1pGbYjvsyCZbQmies29EoJbkEc+vYuU5o45AfQn37vZlyXy4YJ8RQ==} + engines: {node: '>=18'} + cpu: [arm] + os: [android] + '@esbuild/android-x64@0.25.12': resolution: {integrity: sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg==} engines: {node: '>=18'} @@ -2890,6 +2908,12 @@ packages: cpu: [x64] os: [android] + '@esbuild/android-x64@0.27.7': + resolution: {integrity: sha512-x5VpMODneVDb70PYV2VQOmIUUiBtY3D3mPBG8NxVk5CogneYhkR7MmM3yR/uMdITLrC1ml/NV1rj4bMJuy9MCg==} + engines: {node: '>=18'} + cpu: [x64] + os: [android] + '@esbuild/darwin-arm64@0.25.12': resolution: {integrity: sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg==} engines: {node: '>=18'} @@ -2902,6 +2926,12 @@ packages: cpu: [arm64] os: [darwin] + '@esbuild/darwin-arm64@0.27.7': + resolution: {integrity: sha512-5lckdqeuBPlKUwvoCXIgI2D9/ABmPq3Rdp7IfL70393YgaASt7tbju3Ac+ePVi3KDH6N2RqePfHnXkaDtY9fkw==} + engines: {node: '>=18'} + cpu: [arm64] + os: [darwin] + '@esbuild/darwin-x64@0.25.12': resolution: {integrity: sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA==} engines: {node: '>=18'} @@ -2914,6 +2944,12 @@ packages: cpu: [x64] os: [darwin] + '@esbuild/darwin-x64@0.27.7': + resolution: {integrity: sha512-rYnXrKcXuT7Z+WL5K980jVFdvVKhCHhUwid+dDYQpH+qu+TefcomiMAJpIiC2EM3Rjtq0sO3StMV/+3w3MyyqQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [darwin] + '@esbuild/freebsd-arm64@0.25.12': resolution: {integrity: sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg==} engines: {node: '>=18'} @@ -2926,6 +2962,12 @@ packages: cpu: [arm64] os: [freebsd] + '@esbuild/freebsd-arm64@0.27.7': + resolution: {integrity: sha512-B48PqeCsEgOtzME2GbNM2roU29AMTuOIN91dsMO30t+Ydis3z/3Ngoj5hhnsOSSwNzS+6JppqWsuhTp6E82l2w==} + engines: {node: '>=18'} + cpu: [arm64] + os: [freebsd] + '@esbuild/freebsd-x64@0.25.12': resolution: {integrity: sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ==} engines: {node: '>=18'} @@ -2938,6 +2980,12 @@ packages: cpu: [x64] os: [freebsd] + '@esbuild/freebsd-x64@0.27.7': + resolution: {integrity: sha512-jOBDK5XEjA4m5IJK3bpAQF9/Lelu/Z9ZcdhTRLf4cajlB+8VEhFFRjWgfy3M1O4rO2GQ/b2dLwCUGpiF/eATNQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [freebsd] + '@esbuild/linux-arm64@0.25.12': resolution: {integrity: sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ==} engines: {node: '>=18'} @@ -2950,6 +2998,12 @@ packages: cpu: [arm64] os: [linux] + '@esbuild/linux-arm64@0.27.7': + resolution: {integrity: sha512-RZPHBoxXuNnPQO9rvjh5jdkRmVizktkT7TCDkDmQ0W2SwHInKCAV95GRuvdSvA7w4VMwfCjUiPwDi0ZO6Nfe9A==} + engines: {node: '>=18'} + cpu: [arm64] + os: [linux] + '@esbuild/linux-arm@0.25.12': resolution: {integrity: sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw==} engines: {node: '>=18'} @@ -2962,6 +3016,12 @@ packages: cpu: [arm] os: [linux] + '@esbuild/linux-arm@0.27.7': + resolution: {integrity: sha512-RkT/YXYBTSULo3+af8Ib0ykH8u2MBh57o7q/DAs3lTJlyVQkgQvlrPTnjIzzRPQyavxtPtfg0EopvDyIt0j1rA==} + engines: {node: '>=18'} + cpu: [arm] + os: [linux] + '@esbuild/linux-ia32@0.25.12': resolution: {integrity: sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA==} engines: {node: '>=18'} @@ -2974,6 +3034,12 @@ packages: cpu: [ia32] os: [linux] + '@esbuild/linux-ia32@0.27.7': + resolution: {integrity: sha512-GA48aKNkyQDbd3KtkplYWT102C5sn/EZTY4XROkxONgruHPU72l+gW+FfF8tf2cFjeHaRbWpOYa/uRBz/Xq1Pg==} + engines: {node: '>=18'} + cpu: [ia32] + os: [linux] + '@esbuild/linux-loong64@0.25.12': resolution: {integrity: sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng==} engines: {node: '>=18'} @@ -2986,6 +3052,12 @@ packages: cpu: [loong64] os: [linux] + '@esbuild/linux-loong64@0.27.7': + resolution: {integrity: sha512-a4POruNM2oWsD4WKvBSEKGIiWQF8fZOAsycHOt6JBpZ+JN2n2JH9WAv56SOyu9X5IqAjqSIPTaJkqN8F7XOQ5Q==} + engines: {node: '>=18'} + cpu: [loong64] + os: [linux] + '@esbuild/linux-mips64el@0.25.12': resolution: {integrity: sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw==} engines: {node: '>=18'} @@ -2998,6 +3070,12 @@ packages: cpu: [mips64el] os: [linux] + '@esbuild/linux-mips64el@0.27.7': + resolution: {integrity: sha512-KabT5I6StirGfIz0FMgl1I+R1H73Gp0ofL9A3nG3i/cYFJzKHhouBV5VWK1CSgKvVaG4q1RNpCTR2LuTVB3fIw==} + engines: {node: '>=18'} + cpu: [mips64el] + os: [linux] + '@esbuild/linux-ppc64@0.25.12': resolution: {integrity: sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA==} engines: {node: '>=18'} @@ -3010,6 +3088,12 @@ packages: cpu: [ppc64] os: [linux] + '@esbuild/linux-ppc64@0.27.7': + resolution: {integrity: sha512-gRsL4x6wsGHGRqhtI+ifpN/vpOFTQtnbsupUF5R5YTAg+y/lKelYR1hXbnBdzDjGbMYjVJLJTd2OFmMewAgwlQ==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [linux] + '@esbuild/linux-riscv64@0.25.12': resolution: {integrity: sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w==} engines: {node: '>=18'} @@ -3022,6 +3106,12 @@ packages: cpu: [riscv64] os: [linux] + '@esbuild/linux-riscv64@0.27.7': + resolution: {integrity: sha512-hL25LbxO1QOngGzu2U5xeXtxXcW+/GvMN3ejANqXkxZ/opySAZMrc+9LY/WyjAan41unrR3YrmtTsUpwT66InQ==} + engines: {node: '>=18'} + cpu: [riscv64] + os: [linux] + '@esbuild/linux-s390x@0.25.12': resolution: {integrity: sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg==} engines: {node: '>=18'} @@ -3034,6 +3124,12 @@ packages: cpu: [s390x] os: [linux] + '@esbuild/linux-s390x@0.27.7': + resolution: {integrity: sha512-2k8go8Ycu1Kb46vEelhu1vqEP+UeRVj2zY1pSuPdgvbd5ykAw82Lrro28vXUrRmzEsUV0NzCf54yARIK8r0fdw==} + engines: {node: '>=18'} + cpu: [s390x] + os: [linux] + '@esbuild/linux-x64@0.25.12': resolution: {integrity: sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw==} engines: {node: '>=18'} @@ -3046,6 +3142,12 @@ packages: cpu: [x64] os: [linux] + '@esbuild/linux-x64@0.27.7': + resolution: {integrity: sha512-hzznmADPt+OmsYzw1EE33ccA+HPdIqiCRq7cQeL1Jlq2gb1+OyWBkMCrYGBJ+sxVzve2ZJEVeePbLM2iEIZSxA==} + engines: {node: '>=18'} + cpu: [x64] + os: [linux] + '@esbuild/netbsd-arm64@0.25.12': resolution: {integrity: sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg==} engines: {node: '>=18'} @@ -3058,6 +3160,12 @@ packages: cpu: [arm64] os: [netbsd] + '@esbuild/netbsd-arm64@0.27.7': + resolution: {integrity: sha512-b6pqtrQdigZBwZxAn1UpazEisvwaIDvdbMbmrly7cDTMFnw/+3lVxxCTGOrkPVnsYIosJJXAsILG9XcQS+Yu6w==} + engines: {node: '>=18'} + cpu: [arm64] + os: [netbsd] + '@esbuild/netbsd-x64@0.25.12': resolution: {integrity: sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ==} engines: {node: '>=18'} @@ -3070,6 +3178,12 @@ packages: cpu: [x64] os: [netbsd] + '@esbuild/netbsd-x64@0.27.7': + resolution: {integrity: sha512-OfatkLojr6U+WN5EDYuoQhtM+1xco+/6FSzJJnuWiUw5eVcicbyK3dq5EeV/QHT1uy6GoDhGbFpprUiHUYggrw==} + engines: {node: '>=18'} + cpu: [x64] + os: [netbsd] + '@esbuild/openbsd-arm64@0.25.12': resolution: {integrity: sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A==} engines: {node: '>=18'} @@ -3082,6 +3196,12 @@ packages: cpu: [arm64] os: [openbsd] + '@esbuild/openbsd-arm64@0.27.7': + resolution: {integrity: sha512-AFuojMQTxAz75Fo8idVcqoQWEHIXFRbOc1TrVcFSgCZtQfSdc1RXgB3tjOn/krRHENUB4j00bfGjyl2mJrU37A==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openbsd] + '@esbuild/openbsd-x64@0.25.12': resolution: {integrity: sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw==} engines: {node: '>=18'} @@ -3094,6 +3214,12 @@ packages: cpu: [x64] os: [openbsd] + '@esbuild/openbsd-x64@0.27.7': + resolution: {integrity: sha512-+A1NJmfM8WNDv5CLVQYJ5PshuRm/4cI6WMZRg1by1GwPIQPCTs1GLEUHwiiQGT5zDdyLiRM/l1G0Pv54gvtKIg==} + engines: {node: '>=18'} + cpu: [x64] + os: [openbsd] + '@esbuild/openharmony-arm64@0.25.12': resolution: {integrity: sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg==} engines: {node: '>=18'} @@ -3106,6 +3232,12 @@ packages: cpu: [arm64] os: [openharmony] + '@esbuild/openharmony-arm64@0.27.7': + resolution: {integrity: sha512-+KrvYb/C8zA9CU/g0sR6w2RBw7IGc5J2BPnc3dYc5VJxHCSF1yNMxTV5LQ7GuKteQXZtspjFbiuW5/dOj7H4Yw==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openharmony] + '@esbuild/sunos-x64@0.25.12': resolution: {integrity: sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w==} engines: {node: '>=18'} @@ -3118,6 +3250,12 @@ packages: cpu: [x64] os: [sunos] + '@esbuild/sunos-x64@0.27.7': + resolution: {integrity: sha512-ikktIhFBzQNt/QDyOL580ti9+5mL/YZeUPKU2ivGtGjdTYoqz6jObj6nOMfhASpS4GU4Q/Clh1QtxWAvcYKamA==} + engines: {node: '>=18'} + cpu: [x64] + os: [sunos] + '@esbuild/win32-arm64@0.25.12': resolution: {integrity: sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg==} engines: {node: '>=18'} @@ -3130,6 +3268,12 @@ packages: cpu: [arm64] os: [win32] + '@esbuild/win32-arm64@0.27.7': + resolution: {integrity: sha512-7yRhbHvPqSpRUV7Q20VuDwbjW5kIMwTHpptuUzV+AA46kiPze5Z7qgt6CLCK3pWFrHeNfDd1VKgyP4O+ng17CA==} + engines: {node: '>=18'} + cpu: [arm64] + os: [win32] + '@esbuild/win32-ia32@0.25.12': resolution: {integrity: sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ==} engines: {node: '>=18'} @@ -3142,6 +3286,12 @@ packages: cpu: [ia32] os: [win32] + '@esbuild/win32-ia32@0.27.7': + resolution: {integrity: sha512-SmwKXe6VHIyZYbBLJrhOoCJRB/Z1tckzmgTLfFYOfpMAx63BJEaL9ExI8x7v0oAO3Zh6D/Oi1gVxEYr5oUCFhw==} + engines: {node: '>=18'} + cpu: [ia32] + os: [win32] + '@esbuild/win32-x64@0.25.12': resolution: {integrity: sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA==} engines: {node: '>=18'} @@ -3154,6 +3304,12 @@ packages: cpu: [x64] os: [win32] + '@esbuild/win32-x64@0.27.7': + resolution: {integrity: sha512-56hiAJPhwQ1R4i+21FVF7V8kSD5zZTdHcVuRFMW0hn753vVfQN8xlx4uOPT4xoGH0Z/oVATuR82AiqSTDIpaHg==} + engines: {node: '>=18'} + cpu: [x64] + os: [win32] + '@eslint-community/eslint-utils@4.9.1': resolution: {integrity: sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -6692,6 +6848,11 @@ packages: engines: {node: '>=18'} hasBin: true + esbuild@0.27.7: + resolution: {integrity: sha512-IxpibTjyVnmrIQo5aqNpCgoACA/dTKLTlhMHihVHhdkxKyPO1uBBthumT0rdHmcsk9uMonIWS0m4FljWzILh3w==} + engines: {node: '>=18'} + hasBin: true + escalade@3.2.0: resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} engines: {node: '>=6'} @@ -11455,7 +11616,7 @@ snapshots: '@esbuild-kit/core-utils@3.3.2': dependencies: - esbuild: 0.27.4 + esbuild: 0.27.7 source-map-support: 0.5.21 '@esbuild-kit/esm-loader@2.6.5': @@ -11469,156 +11630,234 @@ snapshots: '@esbuild/aix-ppc64@0.27.4': optional: true + '@esbuild/aix-ppc64@0.27.7': + optional: true + '@esbuild/android-arm64@0.25.12': optional: true '@esbuild/android-arm64@0.27.4': optional: true + '@esbuild/android-arm64@0.27.7': + optional: true + '@esbuild/android-arm@0.25.12': optional: true '@esbuild/android-arm@0.27.4': optional: true + '@esbuild/android-arm@0.27.7': + optional: true + '@esbuild/android-x64@0.25.12': optional: true '@esbuild/android-x64@0.27.4': optional: true + '@esbuild/android-x64@0.27.7': + optional: true + '@esbuild/darwin-arm64@0.25.12': optional: true '@esbuild/darwin-arm64@0.27.4': optional: true + '@esbuild/darwin-arm64@0.27.7': + optional: true + '@esbuild/darwin-x64@0.25.12': optional: true '@esbuild/darwin-x64@0.27.4': optional: true + '@esbuild/darwin-x64@0.27.7': + optional: true + '@esbuild/freebsd-arm64@0.25.12': optional: true '@esbuild/freebsd-arm64@0.27.4': optional: true + '@esbuild/freebsd-arm64@0.27.7': + optional: true + '@esbuild/freebsd-x64@0.25.12': optional: true '@esbuild/freebsd-x64@0.27.4': optional: true + '@esbuild/freebsd-x64@0.27.7': + optional: true + '@esbuild/linux-arm64@0.25.12': optional: true '@esbuild/linux-arm64@0.27.4': optional: true + '@esbuild/linux-arm64@0.27.7': + optional: true + '@esbuild/linux-arm@0.25.12': optional: true '@esbuild/linux-arm@0.27.4': optional: true + '@esbuild/linux-arm@0.27.7': + optional: true + '@esbuild/linux-ia32@0.25.12': optional: true '@esbuild/linux-ia32@0.27.4': optional: true + '@esbuild/linux-ia32@0.27.7': + optional: true + '@esbuild/linux-loong64@0.25.12': optional: true '@esbuild/linux-loong64@0.27.4': optional: true + '@esbuild/linux-loong64@0.27.7': + optional: true + '@esbuild/linux-mips64el@0.25.12': optional: true '@esbuild/linux-mips64el@0.27.4': optional: true + '@esbuild/linux-mips64el@0.27.7': + optional: true + '@esbuild/linux-ppc64@0.25.12': optional: true '@esbuild/linux-ppc64@0.27.4': optional: true + '@esbuild/linux-ppc64@0.27.7': + optional: true + '@esbuild/linux-riscv64@0.25.12': optional: true '@esbuild/linux-riscv64@0.27.4': optional: true + '@esbuild/linux-riscv64@0.27.7': + optional: true + '@esbuild/linux-s390x@0.25.12': optional: true '@esbuild/linux-s390x@0.27.4': optional: true + '@esbuild/linux-s390x@0.27.7': + optional: true + '@esbuild/linux-x64@0.25.12': optional: true '@esbuild/linux-x64@0.27.4': optional: true + '@esbuild/linux-x64@0.27.7': + optional: true + '@esbuild/netbsd-arm64@0.25.12': optional: true '@esbuild/netbsd-arm64@0.27.4': optional: true + '@esbuild/netbsd-arm64@0.27.7': + optional: true + '@esbuild/netbsd-x64@0.25.12': optional: true '@esbuild/netbsd-x64@0.27.4': optional: true + '@esbuild/netbsd-x64@0.27.7': + optional: true + '@esbuild/openbsd-arm64@0.25.12': optional: true '@esbuild/openbsd-arm64@0.27.4': optional: true + '@esbuild/openbsd-arm64@0.27.7': + optional: true + '@esbuild/openbsd-x64@0.25.12': optional: true '@esbuild/openbsd-x64@0.27.4': optional: true + '@esbuild/openbsd-x64@0.27.7': + optional: true + '@esbuild/openharmony-arm64@0.25.12': optional: true '@esbuild/openharmony-arm64@0.27.4': optional: true + '@esbuild/openharmony-arm64@0.27.7': + optional: true + '@esbuild/sunos-x64@0.25.12': optional: true '@esbuild/sunos-x64@0.27.4': optional: true + '@esbuild/sunos-x64@0.27.7': + optional: true + '@esbuild/win32-arm64@0.25.12': optional: true '@esbuild/win32-arm64@0.27.4': optional: true + '@esbuild/win32-arm64@0.27.7': + optional: true + '@esbuild/win32-ia32@0.25.12': optional: true '@esbuild/win32-ia32@0.27.4': optional: true + '@esbuild/win32-ia32@0.27.7': + optional: true + '@esbuild/win32-x64@0.25.12': optional: true '@esbuild/win32-x64@0.27.4': optional: true + '@esbuild/win32-x64@0.27.7': + optional: true + '@eslint-community/eslint-utils@4.9.1(eslint@9.39.4)': dependencies: eslint: 9.39.4 @@ -15704,6 +15943,35 @@ snapshots: '@esbuild/win32-ia32': 0.27.4 '@esbuild/win32-x64': 0.27.4 + esbuild@0.27.7: + optionalDependencies: + '@esbuild/aix-ppc64': 0.27.7 + '@esbuild/android-arm': 0.27.7 + '@esbuild/android-arm64': 0.27.7 + '@esbuild/android-x64': 0.27.7 + '@esbuild/darwin-arm64': 0.27.7 + '@esbuild/darwin-x64': 0.27.7 + '@esbuild/freebsd-arm64': 0.27.7 + '@esbuild/freebsd-x64': 0.27.7 + '@esbuild/linux-arm': 0.27.7 + '@esbuild/linux-arm64': 0.27.7 + '@esbuild/linux-ia32': 0.27.7 + '@esbuild/linux-loong64': 0.27.7 + '@esbuild/linux-mips64el': 0.27.7 + '@esbuild/linux-ppc64': 0.27.7 + '@esbuild/linux-riscv64': 0.27.7 + '@esbuild/linux-s390x': 0.27.7 + '@esbuild/linux-x64': 0.27.7 + '@esbuild/netbsd-arm64': 0.27.7 + '@esbuild/netbsd-x64': 0.27.7 + '@esbuild/openbsd-arm64': 0.27.7 + '@esbuild/openbsd-x64': 0.27.7 + '@esbuild/openharmony-arm64': 0.27.7 + '@esbuild/sunos-x64': 0.27.7 + '@esbuild/win32-arm64': 0.27.7 + '@esbuild/win32-ia32': 0.27.7 + '@esbuild/win32-x64': 0.27.7 + escalade@3.2.0: {} escape-goat@2.1.1: {} @@ -19753,7 +20021,7 @@ snapshots: tsx@4.21.0: dependencies: - esbuild: 0.27.4 + esbuild: 0.27.7 get-tsconfig: 4.13.6 optionalDependencies: fsevents: 2.3.3 From db8a3291da6cafac84b02570e88f85effdaea847 Mon Sep 17 00:00:00 2001 From: "homarr-renovate[bot]" <158783068+homarr-renovate[bot]@users.noreply.github.com> Date: Tue, 7 Apr 2026 16:18:33 +0200 Subject: [PATCH 17/49] chore(deps): update dependency esbuild@<=0.24.2 to >=0.27.5 (#5429) Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com> --- package.json | 2 +- pnpm-lock.yaml | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index 59f9851ce..ca5ad796f 100644 --- a/package.json +++ b/package.json @@ -82,7 +82,7 @@ "axios@>=1.0.0 <1.8.2": ">=1.14.0", "brace-expansion@>=2.0.0 <=2.0.1": ">=5.0.5", "brace-expansion@>=1.0.0 <=1.1.11": ">=5.0.5", - "esbuild@<=0.24.2": ">=0.27.4", + "esbuild@<=0.24.2": ">=0.27.5", "form-data@>=4.0.0 <4.0.4": ">=4.0.5", "hono@<4.6.5": ">=4.12.9", "linkifyjs@<4.3.2": ">=4.3.2", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e12a42d88..c7ced284e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10,7 +10,7 @@ overrides: axios@>=1.0.0 <1.8.2: '>=1.14.0' brace-expansion@>=2.0.0 <=2.0.1: '>=5.0.5' brace-expansion@>=1.0.0 <=1.1.11: '>=5.0.5' - esbuild@<=0.24.2: '>=0.27.4' + esbuild@<=0.24.2: '>=0.27.5' form-data@>=4.0.0 <4.0.4: '>=4.0.5' hono@<4.6.5: '>=4.12.9' linkifyjs@<4.3.2: '>=4.3.2' @@ -12507,7 +12507,7 @@ snapshots: '@rrweb/types': 2.0.0-alpha.16 babel-plugin-syntax-hermes-parser: 0.21.1 ci-info: 4.0.0 - esbuild: 0.27.4 + esbuild: 0.27.7 faster-babel-types: 0.1.0(@babel/types@7.26.0) hono: 4.12.9 isomorphic-fetch: 3.0.0 From ec15529ca41470529dfbf10a4cdb7c4b8b47c1b1 Mon Sep 17 00:00:00 2001 From: "homarr-renovate[bot]" <158783068+homarr-renovate[bot]@users.noreply.github.com> Date: Tue, 7 Apr 2026 14:22:54 +0000 Subject: [PATCH 18/49] chore(deps): update dependency hono@<4.6.5 to >=4.12.10 (#5430) Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com> --- package.json | 2 +- pnpm-lock.yaml | 18 +++++++++--------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/package.json b/package.json index ca5ad796f..f9850baec 100644 --- a/package.json +++ b/package.json @@ -84,7 +84,7 @@ "brace-expansion@>=1.0.0 <=1.1.11": ">=5.0.5", "esbuild@<=0.24.2": ">=0.27.5", "form-data@>=4.0.0 <4.0.4": ">=4.0.5", - "hono@<4.6.5": ">=4.12.9", + "hono@<4.6.5": ">=4.12.10", "linkifyjs@<4.3.2": ">=4.3.2", "nanoid@>=4.0.0 <5.0.9": ">=5.1.7", "prismjs@<1.30.0": ">=1.30.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c7ced284e..215d21218 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -12,7 +12,7 @@ overrides: brace-expansion@>=1.0.0 <=1.1.11: '>=5.0.5' esbuild@<=0.24.2: '>=0.27.5' form-data@>=4.0.0 <4.0.4: '>=4.0.5' - hono@<4.6.5: '>=4.12.9' + hono@<4.6.5: '>=4.12.10' linkifyjs@<4.3.2: '>=4.3.2' nanoid@>=4.0.0 <5.0.9: '>=5.1.7' prismjs@<1.30.0: '>=1.30.0' @@ -3453,7 +3453,7 @@ packages: resolution: {integrity: sha512-kz323qIQkNQElEGroo/E9MKPDuIR5pkuk/XEWd50K+cSEKdmdiYx0PKWUdaNY2ecJYngtF+njDMsMKplL6zfEg==} engines: {node: '>=18.14.1'} peerDependencies: - hono: '>=4.12.9' + hono: '>=4.12.10' '@humanfs/core@0.19.1': resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==} @@ -7473,8 +7473,8 @@ packages: highlightjs-vue@1.0.0: resolution: {integrity: sha512-PDEfEF102G23vHmPhLyPboFCD+BkMGu+GuJe2d9/eH4FsCwvgBpnc9n0pGE+ffKdph38s6foEZiEjdgHdzp+IA==} - hono@4.12.9: - resolution: {integrity: sha512-wy3T8Zm2bsEvxKZM5w21VdHDDcwVS1yUFFY6i8UobSsKfFceT7TOwhbhfKsDyx7tYQlmRM5FLpIuYvNFyjctiA==} + hono@4.12.10: + resolution: {integrity: sha512-mx/p18PLy5og9ufies2GOSUqep98Td9q4i/EF6X7yJgAiIopxqdfIO3jbqsi3jRgTgw88jMDEzVKi+V2EF+27w==} engines: {node: '>=16.9.0'} hook-std@4.0.0: @@ -12044,9 +12044,9 @@ snapshots: - undici - utf-8-validate - '@hono/node-server@1.13.0(hono@4.12.9)': + '@hono/node-server@1.13.0(hono@4.12.10)': dependencies: - hono: 4.12.9 + hono: 4.12.10 '@humanfs/core@0.19.1': {} @@ -12501,7 +12501,7 @@ snapshots: '@axiomhq/js': 1.0.0-rc.3 '@babel/core': 7.26.0 '@babel/types': 7.26.0 - '@hono/node-server': 1.13.0(hono@4.12.9) + '@hono/node-server': 1.13.0(hono@4.12.10) '@million/install': 1.0.14 '@rollup/pluginutils': 5.1.0 '@rrweb/types': 2.0.0-alpha.16 @@ -12509,7 +12509,7 @@ snapshots: ci-info: 4.0.0 esbuild: 0.27.7 faster-babel-types: 0.1.0(@babel/types@7.26.0) - hono: 4.12.9 + hono: 4.12.10 isomorphic-fetch: 3.0.0 nanoid: 5.1.7 ohash: 1.1.4 @@ -16715,7 +16715,7 @@ snapshots: highlightjs-vue@1.0.0: {} - hono@4.12.9: {} + hono@4.12.10: {} hook-std@4.0.0: {} From 50bf7cdf194c13bcbf95ef8a6a1bc7eb4c9c3865 Mon Sep 17 00:00:00 2001 From: "homarr-renovate[bot]" <158783068+homarr-renovate[bot]@users.noreply.github.com> Date: Tue, 7 Apr 2026 14:24:59 +0000 Subject: [PATCH 19/49] fix(deps): update dependency dotenv to ^17.4.0 (#5427) Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com> --- apps/nextjs/package.json | 2 +- apps/tasks/package.json | 2 +- apps/websocket/package.json | 2 +- packages/cli/package.json | 2 +- packages/db/package.json | 2 +- pnpm-lock.yaml | 28 ++++++++++++++-------------- 6 files changed, 19 insertions(+), 19 deletions(-) diff --git a/apps/nextjs/package.json b/apps/nextjs/package.json index 7fcc507e0..12ed982cf 100644 --- a/apps/nextjs/package.json +++ b/apps/nextjs/package.json @@ -70,7 +70,7 @@ "chroma-js": "^3.2.0", "clsx": "^2.1.1", "dayjs": "^1.11.20", - "dotenv": "^17.3.1", + "dotenv": "^17.4.0", "flag-icons": "^7.5.0", "glob": "^13.0.6", "isomorphic-dompurify": "^3.7.1", diff --git a/apps/tasks/package.json b/apps/tasks/package.json index 098296c67..df563e5ab 100644 --- a/apps/tasks/package.json +++ b/apps/tasks/package.json @@ -38,7 +38,7 @@ "@homarr/validation": "workspace:^0.1.0", "@homarr/widgets": "workspace:^0.1.0", "dayjs": "^1.11.20", - "dotenv": "^17.3.1", + "dotenv": "^17.4.0", "fastify": "^5.8.4", "superjson": "2.2.6", "undici": "7.24.6" diff --git a/apps/websocket/package.json b/apps/websocket/package.json index 1d30fdc25..e228ab264 100644 --- a/apps/websocket/package.json +++ b/apps/websocket/package.json @@ -25,7 +25,7 @@ "@homarr/definitions": "workspace:^0.1.0", "@homarr/redis": "workspace:^0.1.0", "@homarr/validation": "workspace:^0.1.0", - "dotenv": "^17.3.1", + "dotenv": "^17.4.0", "tsx": "4.20.4", "ws": "^8.20.0" }, diff --git a/packages/cli/package.json b/packages/cli/package.json index 1467e1a25..b827a5c26 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -30,7 +30,7 @@ "@homarr/common": "workspace:^0.1.0", "@homarr/db": "workspace:^0.1.0", "@homarr/validation": "workspace:^0.1.0", - "dotenv": "^17.3.1" + "dotenv": "^17.4.0" }, "devDependencies": { "@homarr/eslint-config": "workspace:^0.2.0", diff --git a/packages/db/package.json b/packages/db/package.json index 3cfd354ab..6d8389135 100644 --- a/packages/db/package.json +++ b/packages/db/package.json @@ -52,7 +52,7 @@ "@testcontainers/mysql": "^11.13.0", "@testcontainers/postgresql": "^11.13.0", "better-sqlite3": "^12.8.0", - "dotenv": "^17.3.1", + "dotenv": "^17.4.0", "drizzle-kit": "^0.31.10", "drizzle-orm": "^0.45.2", "drizzle-zod": "^0.8.3", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 215d21218..418e938bc 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -275,8 +275,8 @@ importers: specifier: ^1.11.20 version: 1.11.20 dotenv: - specifier: ^17.3.1 - version: 17.3.1 + specifier: ^17.4.0 + version: 17.4.0 flag-icons: specifier: ^7.5.0 version: 7.5.0 @@ -429,8 +429,8 @@ importers: specifier: ^1.11.20 version: 1.11.20 dotenv: - specifier: ^17.3.1 - version: 17.3.1 + specifier: ^17.4.0 + version: 17.4.0 fastify: specifier: ^5.8.4 version: 5.8.4 @@ -499,8 +499,8 @@ importers: specifier: workspace:^0.1.0 version: link:../../packages/validation dotenv: - specifier: ^17.3.1 - version: 17.3.1 + specifier: ^17.4.0 + version: 17.4.0 tsx: specifier: 4.20.4 version: 4.20.4 @@ -813,8 +813,8 @@ importers: specifier: workspace:^0.1.0 version: link:../validation dotenv: - specifier: ^17.3.1 - version: 17.3.1 + specifier: ^17.4.0 + version: 17.4.0 devDependencies: '@homarr/eslint-config': specifier: workspace:^0.2.0 @@ -1156,8 +1156,8 @@ importers: specifier: ^12.8.0 version: 12.8.0 dotenv: - specifier: ^17.3.1 - version: 17.3.1 + specifier: ^17.4.0 + version: 17.4.0 drizzle-kit: specifier: ^0.31.10 version: 0.31.10 @@ -6574,8 +6574,8 @@ packages: resolution: {integrity: sha512-uBq4egWHTcTt33a72vpSG0z3HnPuIl6NqYcTrKEg2azoEyl2hpW0zqlxysq2pK9HlDIHyHyakeYaYnSAwd8bow==} engines: {node: '>=12'} - dotenv@17.3.1: - resolution: {integrity: sha512-IO8C/dzEb6O3F9/twg6ZLXz164a2fhTnEWb95H23Dm4OuN+92NmEAlTrupP9VW6Jm3sO26tQlqyvyi4CsnY9GA==} + dotenv@17.4.0: + resolution: {integrity: sha512-kCKF62fwtzwYm0IGBNjRUjtJgMfGapII+FslMHIjMR5KTnwEmBmWLDRSnc3XSNP8bNy34tekgQyDT0hr7pERRQ==} engines: {node: '>=12'} drange@1.1.1: @@ -15522,7 +15522,7 @@ snapshots: dotenv-cli@11.0.0: dependencies: cross-spawn: 7.0.6 - dotenv: 17.3.1 + dotenv: 17.4.0 dotenv-expand: 12.0.3 minimist: 1.2.8 @@ -15534,7 +15534,7 @@ snapshots: dotenv@16.6.1: {} - dotenv@17.3.1: {} + dotenv@17.4.0: {} drange@1.1.1: {} From f2f5128cbd961b6576e195ac8b695f12996c377e Mon Sep 17 00:00:00 2001 From: "homarr-renovate[bot]" <158783068+homarr-renovate[bot]@users.noreply.github.com> Date: Tue, 7 Apr 2026 16:52:42 +0200 Subject: [PATCH 20/49] fix(deps): update dependency undici to v8 (#5432) Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com> Co-authored-by: Meier Lukas --- apps/tasks/package.json | 2 +- package.json | 2 +- packages/common/package.json | 2 +- packages/integrations/package.json | 2 +- packages/request-handler/package.json | 2 +- pnpm-lock.yaml | 36 ++++++++++++++++----------- 6 files changed, 26 insertions(+), 20 deletions(-) diff --git a/apps/tasks/package.json b/apps/tasks/package.json index df563e5ab..68addba25 100644 --- a/apps/tasks/package.json +++ b/apps/tasks/package.json @@ -41,7 +41,7 @@ "dotenv": "^17.4.0", "fastify": "^5.8.4", "superjson": "2.2.6", - "undici": "7.24.6" + "undici": "8.0.0" }, "devDependencies": { "@homarr/eslint-config": "workspace:^0.2.0", diff --git a/package.json b/package.json index f9850baec..ac36d9b62 100644 --- a/package.json +++ b/package.json @@ -88,7 +88,7 @@ "linkifyjs@<4.3.2": ">=4.3.2", "nanoid@>=4.0.0 <5.0.9": ">=5.1.7", "prismjs@<1.30.0": ">=1.30.0", - "proxmox-api>undici": "7.24.6", + "proxmox-api>undici": "8.0.0", "react-is": "^19.2.4", "rollup@>=4.0.0 <4.22.4": ">=4.60.1", "sha.js@<=2.4.11": ">=2.4.12", diff --git a/packages/common/package.json b/packages/common/package.json index d589b6c6d..72383a1e9 100644 --- a/packages/common/package.json +++ b/packages/common/package.json @@ -34,7 +34,7 @@ "octokit": "^5.0.5", "react": "19.2.4", "react-dom": "19.2.4", - "undici": "7.24.6", + "undici": "8.0.0", "zod": "^4.3.6", "zod-validation-error": "^5.0.0" }, diff --git a/packages/integrations/package.json b/packages/integrations/package.json index 406fedc1c..095cf3de2 100644 --- a/packages/integrations/package.json +++ b/packages/integrations/package.json @@ -47,7 +47,7 @@ "proxmox-api": "1.1.1", "timezones-ical-library": "^2.1.3", "tsdav": "^2.1.8", - "undici": "7.24.6", + "undici": "8.0.0", "xml2js": "^0.6.2", "zod": "^4.3.6" }, diff --git a/packages/request-handler/package.json b/packages/request-handler/package.json index f8c3f710a..98361c685 100644 --- a/packages/request-handler/package.json +++ b/packages/request-handler/package.json @@ -33,7 +33,7 @@ "dayjs": "^1.11.20", "octokit": "^5.0.5", "superjson": "2.2.6", - "undici": "7.24.6", + "undici": "8.0.0", "zod": "^4.3.6" }, "devDependencies": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 418e938bc..8063d2030 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -16,7 +16,7 @@ overrides: linkifyjs@<4.3.2: '>=4.3.2' nanoid@>=4.0.0 <5.0.9: '>=5.1.7' prismjs@<1.30.0: '>=1.30.0' - proxmox-api>undici: 7.24.6 + proxmox-api>undici: 8.0.0 react-is: ^19.2.4 rollup@>=4.0.0 <4.22.4: '>=4.60.1' sha.js@<=2.4.11: '>=2.4.12' @@ -438,8 +438,8 @@ importers: specifier: 2.2.6 version: 2.2.6 undici: - specifier: 7.24.6 - version: 7.24.6 + specifier: 8.0.0 + version: 8.0.0 devDependencies: '@homarr/eslint-config': specifier: workspace:^0.2.0 @@ -862,8 +862,8 @@ importers: specifier: 19.2.4 version: 19.2.4(react@19.2.4) undici: - specifier: 7.24.6 - version: 7.24.6 + specifier: 8.0.0 + version: 8.0.0 zod: specifier: ^4.3.6 version: 4.3.6 @@ -1455,7 +1455,7 @@ importers: version: link:../image-proxy '@homarr/node-unifi': specifier: ^2.6.0 - version: 2.6.0(undici@7.24.6) + version: 2.6.0(undici@8.0.0) '@homarr/redis': specifier: workspace:^0.1.0 version: link:../redis @@ -1493,8 +1493,8 @@ importers: specifier: ^2.1.8 version: 2.1.8 undici: - specifier: 7.24.6 - version: 7.24.6 + specifier: 8.0.0 + version: 8.0.0 xml2js: specifier: ^0.6.2 version: 0.6.2 @@ -1864,8 +1864,8 @@ importers: specifier: 2.2.6 version: 2.2.6 undici: - specifier: 7.24.6 - version: 7.24.6 + specifier: 8.0.0 + version: 8.0.0 zod: specifier: ^4.3.6 version: 4.3.6 @@ -10531,6 +10531,10 @@ packages: resolution: {integrity: sha512-Xi4agocCbRzt0yYMZGMA6ApD7gvtUFaxm4ZmeacWI4cZxaF6C+8I8QfofC20NAePiB/IcvZmzkJ7XPa471AEtA==} engines: {node: '>=20.18.1'} + undici@8.0.0: + resolution: {integrity: sha512-RGabV5g1ggSX5mU4k+B8BLWgb418gDbg0wAVFeiU00iOxtw4ufGsE6GFsuSd2uqOKooWSLf71JGapOFYpE8f+A==} + engines: {node: '>=22.19.0'} + unicode-emoji-modifier-base@1.0.0: resolution: {integrity: sha512-yLSH4py7oFH3oG/9K+XWrz1pSi3dfUrWEnInbxMfArOfc1+33BlGPQtLsOYwvdMy11AwUBetYuaRxSPqgkq+8g==} engines: {node: '>=4'} @@ -12031,11 +12035,11 @@ snapshots: '@homarr/gridstack@1.12.0': {} - '@homarr/node-unifi@2.6.0(undici@7.24.6)': + '@homarr/node-unifi@2.6.0(undici@8.0.0)': dependencies: axios: 1.9.0 eventemitter2: 6.4.9 - http-cookie-agent: 6.0.8(tough-cookie@5.1.2)(undici@7.24.6) + http-cookie-agent: 6.0.8(tough-cookie@5.1.2)(undici@8.0.0) tough-cookie: 5.1.2 ws: 8.20.0 transitivePeerDependencies: @@ -16741,12 +16745,12 @@ snapshots: html-url-attributes@3.0.1: {} - http-cookie-agent@6.0.8(tough-cookie@5.1.2)(undici@7.24.6): + http-cookie-agent@6.0.8(tough-cookie@5.1.2)(undici@8.0.0): dependencies: agent-base: 7.1.3 tough-cookie: 5.1.2 optionalDependencies: - undici: 7.24.6 + undici: 8.0.0 http-errors@2.0.0: dependencies: @@ -18601,7 +18605,7 @@ snapshots: proxmox-api@1.1.1: dependencies: - undici: 7.24.6 + undici: 8.0.0 proxy-from-env@1.1.0: {} @@ -20189,6 +20193,8 @@ snapshots: undici@7.24.6: {} + undici@8.0.0: {} + unicode-emoji-modifier-base@1.0.0: {} unicorn-magic@0.1.0: {} From 3f73474d3125279d94395272365aa67e0a0f69e8 Mon Sep 17 00:00:00 2001 From: "homarr-renovate[bot]" <158783068+homarr-renovate[bot]@users.noreply.github.com> Date: Tue, 7 Apr 2026 23:47:06 +0000 Subject: [PATCH 21/49] fix(deps): update dependency sass to ^1.99.0 (#5437) Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com> --- apps/nextjs/package.json | 2 +- pnpm-lock.yaml | 364 ++++++--------------------------------- 2 files changed, 49 insertions(+), 317 deletions(-) diff --git a/apps/nextjs/package.json b/apps/nextjs/package.json index 12ed982cf..aeb8c85ac 100644 --- a/apps/nextjs/package.json +++ b/apps/nextjs/package.json @@ -83,7 +83,7 @@ "react-dom": "19.2.4", "react-error-boundary": "^6.1.1", "react-simple-code-editor": "^0.14.1", - "sass": "^1.98.0", + "sass": "^1.99.0", "superjson": "2.2.6", "swagger-ui-react": "^5.32.1", "use-deep-compare-effect": "^1.8.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 8063d2030..45a48bc0c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -66,7 +66,7 @@ importers: version: 2.9.3(@types/node@24.12.0) '@vitejs/plugin-react': specifier: ^5.2.0 - version: 5.2.0(vite@7.1.12(@types/node@24.12.0)(sass@1.98.0)(sugarss@5.0.0(postcss@8.5.8))(terser@5.46.1)(tsx@4.21.0)(yaml@2.5.1)) + version: 5.2.0(vite@7.1.12(@types/node@24.12.0)(sass@1.99.0)(sugarss@5.0.0(postcss@8.5.8))(terser@5.46.1)(tsx@4.21.0)(yaml@2.5.1)) '@vitest/coverage-v8': specifier: ^4.1.2 version: 4.1.2(vitest@4.1.2) @@ -102,10 +102,10 @@ importers: version: 5.9.3 vite-tsconfig-paths: specifier: ^6.1.1 - version: 6.1.1(typescript@5.9.3)(vite@7.1.12(@types/node@24.12.0)(sass@1.98.0)(sugarss@5.0.0(postcss@8.5.8))(terser@5.46.1)(tsx@4.21.0)(yaml@2.5.1)) + version: 6.1.1(typescript@5.9.3)(vite@7.1.12(@types/node@24.12.0)(sass@1.99.0)(sugarss@5.0.0(postcss@8.5.8))(terser@5.46.1)(tsx@4.21.0)(yaml@2.5.1)) vitest: specifier: ^4.1.2 - version: 4.1.2(@types/node@24.12.0)(@vitest/ui@4.1.2)(jsdom@29.0.1(@noble/hashes@2.0.1))(vite@7.1.12(@types/node@24.12.0)(sass@1.98.0)(sugarss@5.0.0(postcss@8.5.8))(terser@5.46.1)(tsx@4.21.0)(yaml@2.5.1)) + version: 4.1.2(@types/node@24.12.0)(@vitest/ui@4.1.2)(jsdom@29.0.1(@noble/hashes@2.0.1))(vite@7.1.12(@types/node@24.12.0)(sass@1.99.0)(sugarss@5.0.0(postcss@8.5.8))(terser@5.46.1)(tsx@4.21.0)(yaml@2.5.1)) apps/nextjs: dependencies: @@ -240,13 +240,13 @@ importers: version: 5.96.1(@tanstack/react-query@5.96.1(react@19.2.4))(react@19.2.4) '@tanstack/react-query-next-experimental': specifier: ^5.96.1 - version: 5.96.1(@tanstack/react-query@5.96.1(react@19.2.4))(next@16.2.2(@babel/core@7.26.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.98.0))(react@19.2.4) + version: 5.96.1(@tanstack/react-query@5.96.1(react@19.2.4))(next@16.2.2(@babel/core@7.26.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.99.0))(react@19.2.4) '@trpc/client': specifier: ^11.16.0 version: 11.16.0(@trpc/server@11.16.0(typescript@5.9.3))(typescript@5.9.3) '@trpc/next': specifier: ^11.16.0 - version: 11.16.0(@tanstack/react-query@5.96.1(react@19.2.4))(@trpc/client@11.16.0(@trpc/server@11.16.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/react-query@11.16.0(@tanstack/react-query@5.96.1(react@19.2.4))(@trpc/client@11.16.0(@trpc/server@11.16.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.16.0(typescript@5.9.3))(react@19.2.4)(typescript@5.9.3))(@trpc/server@11.16.0(typescript@5.9.3))(next@16.2.2(@babel/core@7.26.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.98.0))(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3) + version: 11.16.0(@tanstack/react-query@5.96.1(react@19.2.4))(@trpc/client@11.16.0(@trpc/server@11.16.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/react-query@11.16.0(@tanstack/react-query@5.96.1(react@19.2.4))(@trpc/client@11.16.0(@trpc/server@11.16.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.16.0(typescript@5.9.3))(react@19.2.4)(typescript@5.9.3))(@trpc/server@11.16.0(typescript@5.9.3))(next@16.2.2(@babel/core@7.26.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.99.0))(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3) '@trpc/react-query': specifier: ^11.16.0 version: 11.16.0(@tanstack/react-query@5.96.1(react@19.2.4))(@trpc/client@11.16.0(@trpc/server@11.16.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.16.0(typescript@5.9.3))(react@19.2.4)(typescript@5.9.3) @@ -294,7 +294,7 @@ importers: version: 2.0.0-beta.9(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@mantine/dates@8.3.18(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@mantine/hooks@8.3.18(react@19.2.4))(dayjs@1.11.20)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@mantine/hooks@8.3.18(react@19.2.4))(@tabler/icons-react@3.41.1(react@19.2.4))(clsx@2.1.1)(dayjs@1.11.20)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) next: specifier: 16.2.2 - version: 16.2.2(@babel/core@7.26.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.98.0) + version: 16.2.2(@babel/core@7.26.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.99.0) postcss-preset-mantine: specifier: ^1.18.0 version: 1.18.0(postcss@8.5.8) @@ -314,8 +314,8 @@ importers: specifier: ^0.14.1 version: 0.14.1(react-dom@19.2.4(react@19.2.4))(react@19.2.4) sass: - specifier: ^1.98.0 - version: 1.98.0 + specifier: ^1.99.0 + version: 1.99.0 superjson: specifier: 2.2.6 version: 2.2.6 @@ -658,7 +658,7 @@ importers: version: 4.5.0 next: specifier: 16.2.2 - version: 16.2.2(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.98.0) + version: 16.2.2(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.99.0) react: specifier: 19.2.4 version: 19.2.4 @@ -728,10 +728,10 @@ importers: version: 8.1.7 next: specifier: 16.2.2 - version: 16.2.2(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.98.0) + version: 16.2.2(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.99.0) next-auth: specifier: 5.0.0-beta.30 - version: 5.0.0-beta.30(next@16.2.2(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.98.0))(react@19.2.4) + version: 5.0.0-beta.30(next@16.2.2(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.99.0))(react@19.2.4) react: specifier: 19.2.4 version: 19.2.4 @@ -851,7 +851,7 @@ importers: version: 1.11.20 next: specifier: 16.2.2 - version: 16.2.2(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.98.0) + version: 16.2.2(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.99.0) octokit: specifier: ^5.0.5 version: 5.0.5 @@ -1604,7 +1604,7 @@ importers: version: 1.11.20 next: specifier: 16.2.2 - version: 16.2.2(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.98.0) + version: 16.2.2(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.99.0) react: specifier: 19.2.4 version: 19.2.4 @@ -1705,7 +1705,7 @@ importers: version: 0.5.17 next: specifier: 16.2.2 - version: 16.2.2(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.98.0) + version: 16.2.2(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.99.0) react: specifier: 19.2.4 version: 19.2.4 @@ -1924,7 +1924,7 @@ importers: version: 8.3.18(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@mantine/hooks@8.3.18(react@19.2.4))(dayjs@1.11.20)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) next: specifier: 16.2.2 - version: 16.2.2(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.98.0) + version: 16.2.2(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.99.0) react: specifier: 19.2.4 version: 19.2.4 @@ -1997,7 +1997,7 @@ importers: version: 2.19.0(@babel/core@7.29.0)(@babel/template@7.28.6)(@types/react@19.2.14)(react@19.2.4) next: specifier: 16.2.2 - version: 16.2.2(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.98.0) + version: 16.2.2(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.99.0) react: specifier: 19.2.4 version: 19.2.4 @@ -2043,10 +2043,10 @@ importers: version: 2.0.0-beta.9(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@mantine/dates@8.3.18(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@mantine/hooks@8.3.18(react@19.2.4))(dayjs@1.11.20)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@mantine/hooks@8.3.18(react@19.2.4))(@tabler/icons-react@3.41.1(react@19.2.4))(clsx@2.1.1)(dayjs@1.11.20)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) next: specifier: 16.2.2 - version: 16.2.2(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.98.0) + version: 16.2.2(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.99.0) next-intl: specifier: 4.9.0 - version: 4.9.0(next@16.2.2(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.98.0))(react@19.2.4)(typescript@5.9.3) + version: 4.9.0(next@16.2.2(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.99.0))(react@19.2.4)(typescript@5.9.3) react: specifier: 19.2.4 version: 19.2.4 @@ -2107,7 +2107,7 @@ importers: version: 2.0.0-beta.9(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@mantine/dates@8.3.18(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@mantine/hooks@8.3.18(react@19.2.4))(dayjs@1.11.20)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@mantine/hooks@8.3.18(react@19.2.4))(@tabler/icons-react@3.41.1(react@19.2.4))(clsx@2.1.1)(dayjs@1.11.20)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) next: specifier: 16.2.2 - version: 16.2.2(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.98.0) + version: 16.2.2(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.99.0) react: specifier: 19.2.4 version: 19.2.4 @@ -2316,7 +2316,7 @@ importers: version: 2.0.0-beta.9(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@mantine/dates@8.3.18(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@mantine/hooks@8.3.18(react@19.2.4))(dayjs@1.11.20)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@mantine/hooks@8.3.18(react@19.2.4))(@tabler/icons-react@3.41.1(react@19.2.4))(clsx@2.1.1)(dayjs@1.11.20)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) next: specifier: 16.2.2 - version: 16.2.2(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.98.0) + version: 16.2.2(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.99.0) react: specifier: 19.2.4 version: 19.2.4 @@ -2848,12 +2848,6 @@ packages: cpu: [ppc64] os: [aix] - '@esbuild/aix-ppc64@0.27.4': - resolution: {integrity: sha512-cQPwL2mp2nSmHHJlCyoXgHGhbEPMrEEU5xhkcy3Hs/O7nGZqEpZ2sUtLaL9MORLtDfRvVl2/3PAuEkYZH0Ty8Q==} - engines: {node: '>=18'} - cpu: [ppc64] - os: [aix] - '@esbuild/aix-ppc64@0.27.7': resolution: {integrity: sha512-EKX3Qwmhz1eMdEJokhALr0YiD0lhQNwDqkPYyPhiSwKrh7/4KRjQc04sZ8db+5DVVnZ1LmbNDI1uAMPEUBnQPg==} engines: {node: '>=18'} @@ -2866,12 +2860,6 @@ packages: cpu: [arm64] os: [android] - '@esbuild/android-arm64@0.27.4': - resolution: {integrity: sha512-gdLscB7v75wRfu7QSm/zg6Rx29VLdy9eTr2t44sfTW7CxwAtQghZ4ZnqHk3/ogz7xao0QAgrkradbBzcqFPasw==} - engines: {node: '>=18'} - cpu: [arm64] - os: [android] - '@esbuild/android-arm64@0.27.7': resolution: {integrity: sha512-62dPZHpIXzvChfvfLJow3q5dDtiNMkwiRzPylSCfriLvZeq0a1bWChrGx/BbUbPwOrsWKMn8idSllklzBy+dgQ==} engines: {node: '>=18'} @@ -2884,12 +2872,6 @@ packages: cpu: [arm] os: [android] - '@esbuild/android-arm@0.27.4': - resolution: {integrity: sha512-X9bUgvxiC8CHAGKYufLIHGXPJWnr0OCdR0anD2e21vdvgCI8lIfqFbnoeOz7lBjdrAGUhqLZLcQo6MLhTO2DKQ==} - engines: {node: '>=18'} - cpu: [arm] - os: [android] - '@esbuild/android-arm@0.27.7': resolution: {integrity: sha512-jbPXvB4Yj2yBV7HUfE2KHe4GJX51QplCN1pGbYjvsyCZbQmies29EoJbkEc+vYuU5o45AfQn37vZlyXy4YJ8RQ==} engines: {node: '>=18'} @@ -2902,12 +2884,6 @@ packages: cpu: [x64] os: [android] - '@esbuild/android-x64@0.27.4': - resolution: {integrity: sha512-PzPFnBNVF292sfpfhiyiXCGSn9HZg5BcAz+ivBuSsl6Rk4ga1oEXAamhOXRFyMcjwr2DVtm40G65N3GLeH1Lvw==} - engines: {node: '>=18'} - cpu: [x64] - os: [android] - '@esbuild/android-x64@0.27.7': resolution: {integrity: sha512-x5VpMODneVDb70PYV2VQOmIUUiBtY3D3mPBG8NxVk5CogneYhkR7MmM3yR/uMdITLrC1ml/NV1rj4bMJuy9MCg==} engines: {node: '>=18'} @@ -2920,12 +2896,6 @@ packages: cpu: [arm64] os: [darwin] - '@esbuild/darwin-arm64@0.27.4': - resolution: {integrity: sha512-b7xaGIwdJlht8ZFCvMkpDN6uiSmnxxK56N2GDTMYPr2/gzvfdQN8rTfBsvVKmIVY/X7EM+/hJKEIbbHs9oA4tQ==} - engines: {node: '>=18'} - cpu: [arm64] - os: [darwin] - '@esbuild/darwin-arm64@0.27.7': resolution: {integrity: sha512-5lckdqeuBPlKUwvoCXIgI2D9/ABmPq3Rdp7IfL70393YgaASt7tbju3Ac+ePVi3KDH6N2RqePfHnXkaDtY9fkw==} engines: {node: '>=18'} @@ -2938,12 +2908,6 @@ packages: cpu: [x64] os: [darwin] - '@esbuild/darwin-x64@0.27.4': - resolution: {integrity: sha512-sR+OiKLwd15nmCdqpXMnuJ9W2kpy0KigzqScqHI3Hqwr7IXxBp3Yva+yJwoqh7rE8V77tdoheRYataNKL4QrPw==} - engines: {node: '>=18'} - cpu: [x64] - os: [darwin] - '@esbuild/darwin-x64@0.27.7': resolution: {integrity: sha512-rYnXrKcXuT7Z+WL5K980jVFdvVKhCHhUwid+dDYQpH+qu+TefcomiMAJpIiC2EM3Rjtq0sO3StMV/+3w3MyyqQ==} engines: {node: '>=18'} @@ -2956,12 +2920,6 @@ packages: cpu: [arm64] os: [freebsd] - '@esbuild/freebsd-arm64@0.27.4': - resolution: {integrity: sha512-jnfpKe+p79tCnm4GVav68A7tUFeKQwQyLgESwEAUzyxk/TJr4QdGog9sqWNcUbr/bZt/O/HXouspuQDd9JxFSw==} - engines: {node: '>=18'} - cpu: [arm64] - os: [freebsd] - '@esbuild/freebsd-arm64@0.27.7': resolution: {integrity: sha512-B48PqeCsEgOtzME2GbNM2roU29AMTuOIN91dsMO30t+Ydis3z/3Ngoj5hhnsOSSwNzS+6JppqWsuhTp6E82l2w==} engines: {node: '>=18'} @@ -2974,12 +2932,6 @@ packages: cpu: [x64] os: [freebsd] - '@esbuild/freebsd-x64@0.27.4': - resolution: {integrity: sha512-2kb4ceA/CpfUrIcTUl1wrP/9ad9Atrp5J94Lq69w7UwOMolPIGrfLSvAKJp0RTvkPPyn6CIWrNy13kyLikZRZQ==} - engines: {node: '>=18'} - cpu: [x64] - os: [freebsd] - '@esbuild/freebsd-x64@0.27.7': resolution: {integrity: sha512-jOBDK5XEjA4m5IJK3bpAQF9/Lelu/Z9ZcdhTRLf4cajlB+8VEhFFRjWgfy3M1O4rO2GQ/b2dLwCUGpiF/eATNQ==} engines: {node: '>=18'} @@ -2992,12 +2944,6 @@ packages: cpu: [arm64] os: [linux] - '@esbuild/linux-arm64@0.27.4': - resolution: {integrity: sha512-7nQOttdzVGth1iz57kxg9uCz57dxQLHWxopL6mYuYthohPKEK0vU0C3O21CcBK6KDlkYVcnDXY099HcCDXd9dA==} - engines: {node: '>=18'} - cpu: [arm64] - os: [linux] - '@esbuild/linux-arm64@0.27.7': resolution: {integrity: sha512-RZPHBoxXuNnPQO9rvjh5jdkRmVizktkT7TCDkDmQ0W2SwHInKCAV95GRuvdSvA7w4VMwfCjUiPwDi0ZO6Nfe9A==} engines: {node: '>=18'} @@ -3010,12 +2956,6 @@ packages: cpu: [arm] os: [linux] - '@esbuild/linux-arm@0.27.4': - resolution: {integrity: sha512-aBYgcIxX/wd5n2ys0yESGeYMGF+pv6g0DhZr3G1ZG4jMfruU9Tl1i2Z+Wnj9/KjGz1lTLCcorqE2viePZqj4Eg==} - engines: {node: '>=18'} - cpu: [arm] - os: [linux] - '@esbuild/linux-arm@0.27.7': resolution: {integrity: sha512-RkT/YXYBTSULo3+af8Ib0ykH8u2MBh57o7q/DAs3lTJlyVQkgQvlrPTnjIzzRPQyavxtPtfg0EopvDyIt0j1rA==} engines: {node: '>=18'} @@ -3028,12 +2968,6 @@ packages: cpu: [ia32] os: [linux] - '@esbuild/linux-ia32@0.27.4': - resolution: {integrity: sha512-oPtixtAIzgvzYcKBQM/qZ3R+9TEUd1aNJQu0HhGyqtx6oS7qTpvjheIWBbes4+qu1bNlo2V4cbkISr8q6gRBFA==} - engines: {node: '>=18'} - cpu: [ia32] - os: [linux] - '@esbuild/linux-ia32@0.27.7': resolution: {integrity: sha512-GA48aKNkyQDbd3KtkplYWT102C5sn/EZTY4XROkxONgruHPU72l+gW+FfF8tf2cFjeHaRbWpOYa/uRBz/Xq1Pg==} engines: {node: '>=18'} @@ -3046,12 +2980,6 @@ packages: cpu: [loong64] os: [linux] - '@esbuild/linux-loong64@0.27.4': - resolution: {integrity: sha512-8mL/vh8qeCoRcFH2nM8wm5uJP+ZcVYGGayMavi8GmRJjuI3g1v6Z7Ni0JJKAJW+m0EtUuARb6Lmp4hMjzCBWzA==} - engines: {node: '>=18'} - cpu: [loong64] - os: [linux] - '@esbuild/linux-loong64@0.27.7': resolution: {integrity: sha512-a4POruNM2oWsD4WKvBSEKGIiWQF8fZOAsycHOt6JBpZ+JN2n2JH9WAv56SOyu9X5IqAjqSIPTaJkqN8F7XOQ5Q==} engines: {node: '>=18'} @@ -3064,12 +2992,6 @@ packages: cpu: [mips64el] os: [linux] - '@esbuild/linux-mips64el@0.27.4': - resolution: {integrity: sha512-1RdrWFFiiLIW7LQq9Q2NES+HiD4NyT8Itj9AUeCl0IVCA459WnPhREKgwrpaIfTOe+/2rdntisegiPWn/r/aAw==} - engines: {node: '>=18'} - cpu: [mips64el] - os: [linux] - '@esbuild/linux-mips64el@0.27.7': resolution: {integrity: sha512-KabT5I6StirGfIz0FMgl1I+R1H73Gp0ofL9A3nG3i/cYFJzKHhouBV5VWK1CSgKvVaG4q1RNpCTR2LuTVB3fIw==} engines: {node: '>=18'} @@ -3082,12 +3004,6 @@ packages: cpu: [ppc64] os: [linux] - '@esbuild/linux-ppc64@0.27.4': - resolution: {integrity: sha512-tLCwNG47l3sd9lpfyx9LAGEGItCUeRCWeAx6x2Jmbav65nAwoPXfewtAdtbtit/pJFLUWOhpv0FpS6GQAmPrHA==} - engines: {node: '>=18'} - cpu: [ppc64] - os: [linux] - '@esbuild/linux-ppc64@0.27.7': resolution: {integrity: sha512-gRsL4x6wsGHGRqhtI+ifpN/vpOFTQtnbsupUF5R5YTAg+y/lKelYR1hXbnBdzDjGbMYjVJLJTd2OFmMewAgwlQ==} engines: {node: '>=18'} @@ -3100,12 +3016,6 @@ packages: cpu: [riscv64] os: [linux] - '@esbuild/linux-riscv64@0.27.4': - resolution: {integrity: sha512-BnASypppbUWyqjd1KIpU4AUBiIhVr6YlHx/cnPgqEkNoVOhHg+YiSVxM1RLfiy4t9cAulbRGTNCKOcqHrEQLIw==} - engines: {node: '>=18'} - cpu: [riscv64] - os: [linux] - '@esbuild/linux-riscv64@0.27.7': resolution: {integrity: sha512-hL25LbxO1QOngGzu2U5xeXtxXcW+/GvMN3ejANqXkxZ/opySAZMrc+9LY/WyjAan41unrR3YrmtTsUpwT66InQ==} engines: {node: '>=18'} @@ -3118,12 +3028,6 @@ packages: cpu: [s390x] os: [linux] - '@esbuild/linux-s390x@0.27.4': - resolution: {integrity: sha512-+eUqgb/Z7vxVLezG8bVB9SfBie89gMueS+I0xYh2tJdw3vqA/0ImZJ2ROeWwVJN59ihBeZ7Tu92dF/5dy5FttA==} - engines: {node: '>=18'} - cpu: [s390x] - os: [linux] - '@esbuild/linux-s390x@0.27.7': resolution: {integrity: sha512-2k8go8Ycu1Kb46vEelhu1vqEP+UeRVj2zY1pSuPdgvbd5ykAw82Lrro28vXUrRmzEsUV0NzCf54yARIK8r0fdw==} engines: {node: '>=18'} @@ -3136,12 +3040,6 @@ packages: cpu: [x64] os: [linux] - '@esbuild/linux-x64@0.27.4': - resolution: {integrity: sha512-S5qOXrKV8BQEzJPVxAwnryi2+Iq5pB40gTEIT69BQONqR7JH1EPIcQ/Uiv9mCnn05jff9umq/5nqzxlqTOg9NA==} - engines: {node: '>=18'} - cpu: [x64] - os: [linux] - '@esbuild/linux-x64@0.27.7': resolution: {integrity: sha512-hzznmADPt+OmsYzw1EE33ccA+HPdIqiCRq7cQeL1Jlq2gb1+OyWBkMCrYGBJ+sxVzve2ZJEVeePbLM2iEIZSxA==} engines: {node: '>=18'} @@ -3154,12 +3052,6 @@ packages: cpu: [arm64] os: [netbsd] - '@esbuild/netbsd-arm64@0.27.4': - resolution: {integrity: sha512-xHT8X4sb0GS8qTqiwzHqpY00C95DPAq7nAwX35Ie/s+LO9830hrMd3oX0ZMKLvy7vsonee73x0lmcdOVXFzd6Q==} - engines: {node: '>=18'} - cpu: [arm64] - os: [netbsd] - '@esbuild/netbsd-arm64@0.27.7': resolution: {integrity: sha512-b6pqtrQdigZBwZxAn1UpazEisvwaIDvdbMbmrly7cDTMFnw/+3lVxxCTGOrkPVnsYIosJJXAsILG9XcQS+Yu6w==} engines: {node: '>=18'} @@ -3172,12 +3064,6 @@ packages: cpu: [x64] os: [netbsd] - '@esbuild/netbsd-x64@0.27.4': - resolution: {integrity: sha512-RugOvOdXfdyi5Tyv40kgQnI0byv66BFgAqjdgtAKqHoZTbTF2QqfQrFwa7cHEORJf6X2ht+l9ABLMP0dnKYsgg==} - engines: {node: '>=18'} - cpu: [x64] - os: [netbsd] - '@esbuild/netbsd-x64@0.27.7': resolution: {integrity: sha512-OfatkLojr6U+WN5EDYuoQhtM+1xco+/6FSzJJnuWiUw5eVcicbyK3dq5EeV/QHT1uy6GoDhGbFpprUiHUYggrw==} engines: {node: '>=18'} @@ -3190,12 +3076,6 @@ packages: cpu: [arm64] os: [openbsd] - '@esbuild/openbsd-arm64@0.27.4': - resolution: {integrity: sha512-2MyL3IAaTX+1/qP0O1SwskwcwCoOI4kV2IBX1xYnDDqthmq5ArrW94qSIKCAuRraMgPOmG0RDTA74mzYNQA9ow==} - engines: {node: '>=18'} - cpu: [arm64] - os: [openbsd] - '@esbuild/openbsd-arm64@0.27.7': resolution: {integrity: sha512-AFuojMQTxAz75Fo8idVcqoQWEHIXFRbOc1TrVcFSgCZtQfSdc1RXgB3tjOn/krRHENUB4j00bfGjyl2mJrU37A==} engines: {node: '>=18'} @@ -3208,12 +3088,6 @@ packages: cpu: [x64] os: [openbsd] - '@esbuild/openbsd-x64@0.27.4': - resolution: {integrity: sha512-u8fg/jQ5aQDfsnIV6+KwLOf1CmJnfu1ShpwqdwC0uA7ZPwFws55Ngc12vBdeUdnuWoQYx/SOQLGDcdlfXhYmXQ==} - engines: {node: '>=18'} - cpu: [x64] - os: [openbsd] - '@esbuild/openbsd-x64@0.27.7': resolution: {integrity: sha512-+A1NJmfM8WNDv5CLVQYJ5PshuRm/4cI6WMZRg1by1GwPIQPCTs1GLEUHwiiQGT5zDdyLiRM/l1G0Pv54gvtKIg==} engines: {node: '>=18'} @@ -3226,12 +3100,6 @@ packages: cpu: [arm64] os: [openharmony] - '@esbuild/openharmony-arm64@0.27.4': - resolution: {integrity: sha512-JkTZrl6VbyO8lDQO3yv26nNr2RM2yZzNrNHEsj9bm6dOwwu9OYN28CjzZkH57bh4w0I2F7IodpQvUAEd1mbWXg==} - engines: {node: '>=18'} - cpu: [arm64] - os: [openharmony] - '@esbuild/openharmony-arm64@0.27.7': resolution: {integrity: sha512-+KrvYb/C8zA9CU/g0sR6w2RBw7IGc5J2BPnc3dYc5VJxHCSF1yNMxTV5LQ7GuKteQXZtspjFbiuW5/dOj7H4Yw==} engines: {node: '>=18'} @@ -3244,12 +3112,6 @@ packages: cpu: [x64] os: [sunos] - '@esbuild/sunos-x64@0.27.4': - resolution: {integrity: sha512-/gOzgaewZJfeJTlsWhvUEmUG4tWEY2Spp5M20INYRg2ZKl9QPO3QEEgPeRtLjEWSW8FilRNacPOg8R1uaYkA6g==} - engines: {node: '>=18'} - cpu: [x64] - os: [sunos] - '@esbuild/sunos-x64@0.27.7': resolution: {integrity: sha512-ikktIhFBzQNt/QDyOL580ti9+5mL/YZeUPKU2ivGtGjdTYoqz6jObj6nOMfhASpS4GU4Q/Clh1QtxWAvcYKamA==} engines: {node: '>=18'} @@ -3262,12 +3124,6 @@ packages: cpu: [arm64] os: [win32] - '@esbuild/win32-arm64@0.27.4': - resolution: {integrity: sha512-Z9SExBg2y32smoDQdf1HRwHRt6vAHLXcxD2uGgO/v2jK7Y718Ix4ndsbNMU/+1Qiem9OiOdaqitioZwxivhXYg==} - engines: {node: '>=18'} - cpu: [arm64] - os: [win32] - '@esbuild/win32-arm64@0.27.7': resolution: {integrity: sha512-7yRhbHvPqSpRUV7Q20VuDwbjW5kIMwTHpptuUzV+AA46kiPze5Z7qgt6CLCK3pWFrHeNfDd1VKgyP4O+ng17CA==} engines: {node: '>=18'} @@ -3280,12 +3136,6 @@ packages: cpu: [ia32] os: [win32] - '@esbuild/win32-ia32@0.27.4': - resolution: {integrity: sha512-DAyGLS0Jz5G5iixEbMHi5KdiApqHBWMGzTtMiJ72ZOLhbu/bzxgAe8Ue8CTS3n3HbIUHQz/L51yMdGMeoxXNJw==} - engines: {node: '>=18'} - cpu: [ia32] - os: [win32] - '@esbuild/win32-ia32@0.27.7': resolution: {integrity: sha512-SmwKXe6VHIyZYbBLJrhOoCJRB/Z1tckzmgTLfFYOfpMAx63BJEaL9ExI8x7v0oAO3Zh6D/Oi1gVxEYr5oUCFhw==} engines: {node: '>=18'} @@ -3298,12 +3148,6 @@ packages: cpu: [x64] os: [win32] - '@esbuild/win32-x64@0.27.4': - resolution: {integrity: sha512-+knoa0BDoeXgkNvvV1vvbZX4+hizelrkwmGJBdT17t8FNPwG2lKemmuMZlmaNQ3ws3DKKCxpb4zRZEIp3UxFCg==} - engines: {node: '>=18'} - cpu: [x64] - os: [win32] - '@esbuild/win32-x64@0.27.7': resolution: {integrity: sha512-56hiAJPhwQ1R4i+21FVF7V8kSD5zZTdHcVuRFMW0hn753vVfQN8xlx4uOPT4xoGH0Z/oVATuR82AiqSTDIpaHg==} engines: {node: '>=18'} @@ -6843,11 +6687,6 @@ packages: engines: {node: '>=18'} hasBin: true - esbuild@0.27.4: - resolution: {integrity: sha512-Rq4vbHnYkK5fws5NF7MYTU68FPRE1ajX7heQ/8QXXWqNgqqJ/GkmmyxIzUnf2Sr/bakf8l54716CcMGHYhMrrQ==} - engines: {node: '>=18'} - hasBin: true - esbuild@0.27.7: resolution: {integrity: sha512-IxpibTjyVnmrIQo5aqNpCgoACA/dTKLTlhMHihVHhdkxKyPO1uBBthumT0rdHmcsk9uMonIWS0m4FljWzILh3w==} engines: {node: '>=18'} @@ -9711,8 +9550,8 @@ packages: safer-buffer@2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} - sass@1.98.0: - resolution: {integrity: sha512-+4N/u9dZ4PrgzGgPlKnaaRQx64RO0JBKs9sDhQ2pLgN6JQZ25uPQZKQYaBJU48Kd5BxgXoJ4e09Dq7nMcOUW3A==} + sass@1.99.0: + resolution: {integrity: sha512-kgW13M54DUB7IsIRM5LvJkNlpH+WhMpooUcaWGFARkF1Tc82v9mIWkCbCYf+MBvpIUBSeSOTilpZjEPr2VYE6Q==} engines: {node: '>=14.0.0'} hasBin: true @@ -11631,234 +11470,156 @@ snapshots: '@esbuild/aix-ppc64@0.25.12': optional: true - '@esbuild/aix-ppc64@0.27.4': - optional: true - '@esbuild/aix-ppc64@0.27.7': optional: true '@esbuild/android-arm64@0.25.12': optional: true - '@esbuild/android-arm64@0.27.4': - optional: true - '@esbuild/android-arm64@0.27.7': optional: true '@esbuild/android-arm@0.25.12': optional: true - '@esbuild/android-arm@0.27.4': - optional: true - '@esbuild/android-arm@0.27.7': optional: true '@esbuild/android-x64@0.25.12': optional: true - '@esbuild/android-x64@0.27.4': - optional: true - '@esbuild/android-x64@0.27.7': optional: true '@esbuild/darwin-arm64@0.25.12': optional: true - '@esbuild/darwin-arm64@0.27.4': - optional: true - '@esbuild/darwin-arm64@0.27.7': optional: true '@esbuild/darwin-x64@0.25.12': optional: true - '@esbuild/darwin-x64@0.27.4': - optional: true - '@esbuild/darwin-x64@0.27.7': optional: true '@esbuild/freebsd-arm64@0.25.12': optional: true - '@esbuild/freebsd-arm64@0.27.4': - optional: true - '@esbuild/freebsd-arm64@0.27.7': optional: true '@esbuild/freebsd-x64@0.25.12': optional: true - '@esbuild/freebsd-x64@0.27.4': - optional: true - '@esbuild/freebsd-x64@0.27.7': optional: true '@esbuild/linux-arm64@0.25.12': optional: true - '@esbuild/linux-arm64@0.27.4': - optional: true - '@esbuild/linux-arm64@0.27.7': optional: true '@esbuild/linux-arm@0.25.12': optional: true - '@esbuild/linux-arm@0.27.4': - optional: true - '@esbuild/linux-arm@0.27.7': optional: true '@esbuild/linux-ia32@0.25.12': optional: true - '@esbuild/linux-ia32@0.27.4': - optional: true - '@esbuild/linux-ia32@0.27.7': optional: true '@esbuild/linux-loong64@0.25.12': optional: true - '@esbuild/linux-loong64@0.27.4': - optional: true - '@esbuild/linux-loong64@0.27.7': optional: true '@esbuild/linux-mips64el@0.25.12': optional: true - '@esbuild/linux-mips64el@0.27.4': - optional: true - '@esbuild/linux-mips64el@0.27.7': optional: true '@esbuild/linux-ppc64@0.25.12': optional: true - '@esbuild/linux-ppc64@0.27.4': - optional: true - '@esbuild/linux-ppc64@0.27.7': optional: true '@esbuild/linux-riscv64@0.25.12': optional: true - '@esbuild/linux-riscv64@0.27.4': - optional: true - '@esbuild/linux-riscv64@0.27.7': optional: true '@esbuild/linux-s390x@0.25.12': optional: true - '@esbuild/linux-s390x@0.27.4': - optional: true - '@esbuild/linux-s390x@0.27.7': optional: true '@esbuild/linux-x64@0.25.12': optional: true - '@esbuild/linux-x64@0.27.4': - optional: true - '@esbuild/linux-x64@0.27.7': optional: true '@esbuild/netbsd-arm64@0.25.12': optional: true - '@esbuild/netbsd-arm64@0.27.4': - optional: true - '@esbuild/netbsd-arm64@0.27.7': optional: true '@esbuild/netbsd-x64@0.25.12': optional: true - '@esbuild/netbsd-x64@0.27.4': - optional: true - '@esbuild/netbsd-x64@0.27.7': optional: true '@esbuild/openbsd-arm64@0.25.12': optional: true - '@esbuild/openbsd-arm64@0.27.4': - optional: true - '@esbuild/openbsd-arm64@0.27.7': optional: true '@esbuild/openbsd-x64@0.25.12': optional: true - '@esbuild/openbsd-x64@0.27.4': - optional: true - '@esbuild/openbsd-x64@0.27.7': optional: true '@esbuild/openharmony-arm64@0.25.12': optional: true - '@esbuild/openharmony-arm64@0.27.4': - optional: true - '@esbuild/openharmony-arm64@0.27.7': optional: true '@esbuild/sunos-x64@0.25.12': optional: true - '@esbuild/sunos-x64@0.27.4': - optional: true - '@esbuild/sunos-x64@0.27.7': optional: true '@esbuild/win32-arm64@0.25.12': optional: true - '@esbuild/win32-arm64@0.27.4': - optional: true - '@esbuild/win32-arm64@0.27.7': optional: true '@esbuild/win32-ia32@0.25.12': optional: true - '@esbuild/win32-ia32@0.27.4': - optional: true - '@esbuild/win32-ia32@0.27.7': optional: true '@esbuild/win32-x64@0.25.12': optional: true - '@esbuild/win32-x64@0.27.4': - optional: true - '@esbuild/win32-x64@0.27.7': optional: true @@ -13589,10 +13350,10 @@ snapshots: '@tanstack/react-query': 5.96.1(react@19.2.4) react: 19.2.4 - '@tanstack/react-query-next-experimental@5.96.1(@tanstack/react-query@5.96.1(react@19.2.4))(next@16.2.2(@babel/core@7.26.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.98.0))(react@19.2.4)': + '@tanstack/react-query-next-experimental@5.96.1(@tanstack/react-query@5.96.1(react@19.2.4))(next@16.2.2(@babel/core@7.26.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.99.0))(react@19.2.4)': dependencies: '@tanstack/react-query': 5.96.1(react@19.2.4) - next: 16.2.2(@babel/core@7.26.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.98.0) + next: 16.2.2(@babel/core@7.26.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.99.0) react: 19.2.4 '@tanstack/react-query@5.96.1(react@19.2.4)': @@ -13880,11 +13641,11 @@ snapshots: '@trpc/server': 11.16.0(typescript@5.9.3) typescript: 5.9.3 - '@trpc/next@11.16.0(@tanstack/react-query@5.96.1(react@19.2.4))(@trpc/client@11.16.0(@trpc/server@11.16.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/react-query@11.16.0(@tanstack/react-query@5.96.1(react@19.2.4))(@trpc/client@11.16.0(@trpc/server@11.16.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.16.0(typescript@5.9.3))(react@19.2.4)(typescript@5.9.3))(@trpc/server@11.16.0(typescript@5.9.3))(next@16.2.2(@babel/core@7.26.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.98.0))(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3)': + '@trpc/next@11.16.0(@tanstack/react-query@5.96.1(react@19.2.4))(@trpc/client@11.16.0(@trpc/server@11.16.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/react-query@11.16.0(@tanstack/react-query@5.96.1(react@19.2.4))(@trpc/client@11.16.0(@trpc/server@11.16.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.16.0(typescript@5.9.3))(react@19.2.4)(typescript@5.9.3))(@trpc/server@11.16.0(typescript@5.9.3))(next@16.2.2(@babel/core@7.26.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.99.0))(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3)': dependencies: '@trpc/client': 11.16.0(@trpc/server@11.16.0(typescript@5.9.3))(typescript@5.9.3) '@trpc/server': 11.16.0(typescript@5.9.3) - next: 16.2.2(@babel/core@7.26.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.98.0) + next: 16.2.2(@babel/core@7.26.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.99.0) react: 19.2.4 react-dom: 19.2.4(react@19.2.4) typescript: 5.9.3 @@ -14323,7 +14084,7 @@ snapshots: global: 4.4.0 is-function: 1.0.2 - '@vitejs/plugin-react@5.2.0(vite@7.1.12(@types/node@24.12.0)(sass@1.98.0)(sugarss@5.0.0(postcss@8.5.8))(terser@5.46.1)(tsx@4.21.0)(yaml@2.5.1))': + '@vitejs/plugin-react@5.2.0(vite@7.1.12(@types/node@24.12.0)(sass@1.99.0)(sugarss@5.0.0(postcss@8.5.8))(terser@5.46.1)(tsx@4.21.0)(yaml@2.5.1))': dependencies: '@babel/core': 7.29.0 '@babel/plugin-transform-react-jsx-self': 7.27.1(@babel/core@7.29.0) @@ -14331,7 +14092,7 @@ snapshots: '@rolldown/pluginutils': 1.0.0-rc.3 '@types/babel__core': 7.20.5 react-refresh: 0.18.0 - vite: 7.1.12(@types/node@24.12.0)(sass@1.98.0)(sugarss@5.0.0(postcss@8.5.8))(terser@5.46.1)(tsx@4.21.0)(yaml@2.5.1) + vite: 7.1.12(@types/node@24.12.0)(sass@1.99.0)(sugarss@5.0.0(postcss@8.5.8))(terser@5.46.1)(tsx@4.21.0)(yaml@2.5.1) transitivePeerDependencies: - supports-color @@ -14347,7 +14108,7 @@ snapshots: obug: 2.1.1 std-env: 4.0.0 tinyrainbow: 3.1.0 - vitest: 4.1.2(@types/node@24.12.0)(@vitest/ui@4.1.2)(jsdom@29.0.1(@noble/hashes@2.0.1))(vite@7.1.12(@types/node@24.12.0)(sass@1.98.0)(sugarss@5.0.0(postcss@8.5.8))(terser@5.46.1)(tsx@4.21.0)(yaml@2.5.1)) + vitest: 4.1.2(@types/node@24.12.0)(@vitest/ui@4.1.2)(jsdom@29.0.1(@noble/hashes@2.0.1))(vite@7.1.12(@types/node@24.12.0)(sass@1.99.0)(sugarss@5.0.0(postcss@8.5.8))(terser@5.46.1)(tsx@4.21.0)(yaml@2.5.1)) '@vitest/expect@4.1.2': dependencies: @@ -14358,13 +14119,13 @@ snapshots: chai: 6.2.2 tinyrainbow: 3.1.0 - '@vitest/mocker@4.1.2(vite@7.1.12(@types/node@24.12.0)(sass@1.98.0)(sugarss@5.0.0(postcss@8.5.8))(terser@5.46.1)(tsx@4.21.0)(yaml@2.5.1))': + '@vitest/mocker@4.1.2(vite@7.1.12(@types/node@24.12.0)(sass@1.99.0)(sugarss@5.0.0(postcss@8.5.8))(terser@5.46.1)(tsx@4.21.0)(yaml@2.5.1))': dependencies: '@vitest/spy': 4.1.2 estree-walker: 3.0.3 magic-string: 0.30.21 optionalDependencies: - vite: 7.1.12(@types/node@24.12.0)(sass@1.98.0)(sugarss@5.0.0(postcss@8.5.8))(terser@5.46.1)(tsx@4.21.0)(yaml@2.5.1) + vite: 7.1.12(@types/node@24.12.0)(sass@1.99.0)(sugarss@5.0.0(postcss@8.5.8))(terser@5.46.1)(tsx@4.21.0)(yaml@2.5.1) '@vitest/pretty-format@4.1.2': dependencies: @@ -14393,7 +14154,7 @@ snapshots: sirv: 3.0.2 tinyglobby: 0.2.15 tinyrainbow: 3.1.0 - vitest: 4.1.2(@types/node@24.12.0)(@vitest/ui@4.1.2)(jsdom@29.0.1(@noble/hashes@2.0.1))(vite@7.1.12(@types/node@24.12.0)(sass@1.98.0)(sugarss@5.0.0(postcss@8.5.8))(terser@5.46.1)(tsx@4.21.0)(yaml@2.5.1)) + vitest: 4.1.2(@types/node@24.12.0)(@vitest/ui@4.1.2)(jsdom@29.0.1(@noble/hashes@2.0.1))(vite@7.1.12(@types/node@24.12.0)(sass@1.99.0)(sugarss@5.0.0(postcss@8.5.8))(terser@5.46.1)(tsx@4.21.0)(yaml@2.5.1)) '@vitest/utils@4.1.2': dependencies: @@ -15918,35 +15679,6 @@ snapshots: '@esbuild/win32-ia32': 0.25.12 '@esbuild/win32-x64': 0.25.12 - esbuild@0.27.4: - optionalDependencies: - '@esbuild/aix-ppc64': 0.27.4 - '@esbuild/android-arm': 0.27.4 - '@esbuild/android-arm64': 0.27.4 - '@esbuild/android-x64': 0.27.4 - '@esbuild/darwin-arm64': 0.27.4 - '@esbuild/darwin-x64': 0.27.4 - '@esbuild/freebsd-arm64': 0.27.4 - '@esbuild/freebsd-x64': 0.27.4 - '@esbuild/linux-arm': 0.27.4 - '@esbuild/linux-arm64': 0.27.4 - '@esbuild/linux-ia32': 0.27.4 - '@esbuild/linux-loong64': 0.27.4 - '@esbuild/linux-mips64el': 0.27.4 - '@esbuild/linux-ppc64': 0.27.4 - '@esbuild/linux-riscv64': 0.27.4 - '@esbuild/linux-s390x': 0.27.4 - '@esbuild/linux-x64': 0.27.4 - '@esbuild/netbsd-arm64': 0.27.4 - '@esbuild/netbsd-x64': 0.27.4 - '@esbuild/openbsd-arm64': 0.27.4 - '@esbuild/openbsd-x64': 0.27.4 - '@esbuild/openharmony-arm64': 0.27.4 - '@esbuild/sunos-x64': 0.27.4 - '@esbuild/win32-arm64': 0.27.4 - '@esbuild/win32-ia32': 0.27.4 - '@esbuild/win32-x64': 0.27.4 - esbuild@0.27.7: optionalDependencies: '@esbuild/aix-ppc64': 0.27.7 @@ -17844,22 +17576,22 @@ snapshots: nerf-dart@1.0.0: {} - next-auth@5.0.0-beta.30(next@16.2.2(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.98.0))(react@19.2.4): + next-auth@5.0.0-beta.30(next@16.2.2(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.99.0))(react@19.2.4): dependencies: '@auth/core': 0.41.0 - next: 16.2.2(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.98.0) + next: 16.2.2(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.99.0) react: 19.2.4 next-intl-swc-plugin-extractor@4.9.0: {} - next-intl@4.9.0(next@16.2.2(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.98.0))(react@19.2.4)(typescript@5.9.3): + next-intl@4.9.0(next@16.2.2(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.99.0))(react@19.2.4)(typescript@5.9.3): dependencies: '@formatjs/intl-localematcher': 0.8.1 '@parcel/watcher': 2.4.1 '@swc/core': 1.15.3 icu-minify: 4.9.0 negotiator: 1.0.0 - next: 16.2.2(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.98.0) + next: 16.2.2(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.99.0) next-intl-swc-plugin-extractor: 4.9.0 po-parser: 2.1.1 react: 19.2.4 @@ -17869,7 +17601,7 @@ snapshots: transitivePeerDependencies: - '@swc/helpers' - next@16.2.2(@babel/core@7.26.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.98.0): + next@16.2.2(@babel/core@7.26.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.99.0): dependencies: '@next/env': 16.2.2 '@swc/helpers': 0.5.15 @@ -17889,13 +17621,13 @@ snapshots: '@next/swc-win32-arm64-msvc': 16.2.2 '@next/swc-win32-x64-msvc': 16.2.2 babel-plugin-react-compiler: 1.0.0 - sass: 1.98.0 + sass: 1.99.0 sharp: 0.34.5 transitivePeerDependencies: - '@babel/core' - babel-plugin-macros - next@16.2.2(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.98.0): + next@16.2.2(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.99.0): dependencies: '@next/env': 16.2.2 '@swc/helpers': 0.5.15 @@ -17915,7 +17647,7 @@ snapshots: '@next/swc-win32-arm64-msvc': 16.2.2 '@next/swc-win32-x64-msvc': 16.2.2 babel-plugin-react-compiler: 1.0.0 - sass: 1.98.0 + sass: 1.99.0 sharp: 0.34.5 transitivePeerDependencies: - '@babel/core' @@ -19147,7 +18879,7 @@ snapshots: safer-buffer@2.1.2: {} - sass@1.98.0: + sass@1.99.0: dependencies: chokidar: 4.0.0 immutable: 5.1.5 @@ -20427,17 +20159,17 @@ snapshots: dependencies: global: 4.4.0 - vite-tsconfig-paths@6.1.1(typescript@5.9.3)(vite@7.1.12(@types/node@24.12.0)(sass@1.98.0)(sugarss@5.0.0(postcss@8.5.8))(terser@5.46.1)(tsx@4.21.0)(yaml@2.5.1)): + vite-tsconfig-paths@6.1.1(typescript@5.9.3)(vite@7.1.12(@types/node@24.12.0)(sass@1.99.0)(sugarss@5.0.0(postcss@8.5.8))(terser@5.46.1)(tsx@4.21.0)(yaml@2.5.1)): dependencies: debug: 4.4.3 globrex: 0.1.2 tsconfck: 3.1.3(typescript@5.9.3) - vite: 7.1.12(@types/node@24.12.0)(sass@1.98.0)(sugarss@5.0.0(postcss@8.5.8))(terser@5.46.1)(tsx@4.21.0)(yaml@2.5.1) + vite: 7.1.12(@types/node@24.12.0)(sass@1.99.0)(sugarss@5.0.0(postcss@8.5.8))(terser@5.46.1)(tsx@4.21.0)(yaml@2.5.1) transitivePeerDependencies: - supports-color - typescript - vite@7.1.12(@types/node@24.12.0)(sass@1.98.0)(sugarss@5.0.0(postcss@8.5.8))(terser@5.46.1)(tsx@4.21.0)(yaml@2.5.1): + vite@7.1.12(@types/node@24.12.0)(sass@1.99.0)(sugarss@5.0.0(postcss@8.5.8))(terser@5.46.1)(tsx@4.21.0)(yaml@2.5.1): dependencies: esbuild: 0.25.12 fdir: 6.5.0(picomatch@4.0.4) @@ -20448,16 +20180,16 @@ snapshots: optionalDependencies: '@types/node': 24.12.0 fsevents: 2.3.3 - sass: 1.98.0 + sass: 1.99.0 sugarss: 5.0.0(postcss@8.5.8) terser: 5.46.1 tsx: 4.21.0 yaml: 2.5.1 - vitest@4.1.2(@types/node@24.12.0)(@vitest/ui@4.1.2)(jsdom@29.0.1(@noble/hashes@2.0.1))(vite@7.1.12(@types/node@24.12.0)(sass@1.98.0)(sugarss@5.0.0(postcss@8.5.8))(terser@5.46.1)(tsx@4.21.0)(yaml@2.5.1)): + vitest@4.1.2(@types/node@24.12.0)(@vitest/ui@4.1.2)(jsdom@29.0.1(@noble/hashes@2.0.1))(vite@7.1.12(@types/node@24.12.0)(sass@1.99.0)(sugarss@5.0.0(postcss@8.5.8))(terser@5.46.1)(tsx@4.21.0)(yaml@2.5.1)): dependencies: '@vitest/expect': 4.1.2 - '@vitest/mocker': 4.1.2(vite@7.1.12(@types/node@24.12.0)(sass@1.98.0)(sugarss@5.0.0(postcss@8.5.8))(terser@5.46.1)(tsx@4.21.0)(yaml@2.5.1)) + '@vitest/mocker': 4.1.2(vite@7.1.12(@types/node@24.12.0)(sass@1.99.0)(sugarss@5.0.0(postcss@8.5.8))(terser@5.46.1)(tsx@4.21.0)(yaml@2.5.1)) '@vitest/pretty-format': 4.1.2 '@vitest/runner': 4.1.2 '@vitest/snapshot': 4.1.2 @@ -20474,7 +20206,7 @@ snapshots: tinyexec: 1.0.2 tinyglobby: 0.2.15 tinyrainbow: 3.1.0 - vite: 7.1.12(@types/node@24.12.0)(sass@1.98.0)(sugarss@5.0.0(postcss@8.5.8))(terser@5.46.1)(tsx@4.21.0)(yaml@2.5.1) + vite: 7.1.12(@types/node@24.12.0)(sass@1.99.0)(sugarss@5.0.0(postcss@8.5.8))(terser@5.46.1)(tsx@4.21.0)(yaml@2.5.1) why-is-node-running: 2.3.0 optionalDependencies: '@types/node': 24.12.0 From 0ab78142b307a95905ecb6c42b7d131552422a9e Mon Sep 17 00:00:00 2001 From: "homarr-renovate[bot]" <158783068+homarr-renovate[bot]@users.noreply.github.com> Date: Wed, 8 Apr 2026 09:08:51 +0000 Subject: [PATCH 22/49] chore(deps): update dependency proxmox-api>undici to v8.0.1 (#5431) Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com> --- package.json | 2 +- pnpm-lock.yaml | 10 ++++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index ac36d9b62..a576f89cb 100644 --- a/package.json +++ b/package.json @@ -88,7 +88,7 @@ "linkifyjs@<4.3.2": ">=4.3.2", "nanoid@>=4.0.0 <5.0.9": ">=5.1.7", "prismjs@<1.30.0": ">=1.30.0", - "proxmox-api>undici": "8.0.0", + "proxmox-api>undici": "8.0.1", "react-is": "^19.2.4", "rollup@>=4.0.0 <4.22.4": ">=4.60.1", "sha.js@<=2.4.11": ">=2.4.12", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 45a48bc0c..2d780c0e2 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -16,7 +16,7 @@ overrides: linkifyjs@<4.3.2: '>=4.3.2' nanoid@>=4.0.0 <5.0.9: '>=5.1.7' prismjs@<1.30.0: '>=1.30.0' - proxmox-api>undici: 8.0.0 + proxmox-api>undici: 8.0.1 react-is: ^19.2.4 rollup@>=4.0.0 <4.22.4: '>=4.60.1' sha.js@<=2.4.11: '>=2.4.12' @@ -10374,6 +10374,10 @@ packages: resolution: {integrity: sha512-RGabV5g1ggSX5mU4k+B8BLWgb418gDbg0wAVFeiU00iOxtw4ufGsE6GFsuSd2uqOKooWSLf71JGapOFYpE8f+A==} engines: {node: '>=22.19.0'} + undici@8.0.1: + resolution: {integrity: sha512-6qdTUr+jabXmYKeYkv/+pIvO7d0bs1k9uy+5PFnXr4segNVwILH1KExhwRh3/iGa6gSLmySK3hTnSs3k7ZPnjQ==} + engines: {node: '>=22.19.0'} + unicode-emoji-modifier-base@1.0.0: resolution: {integrity: sha512-yLSH4py7oFH3oG/9K+XWrz1pSi3dfUrWEnInbxMfArOfc1+33BlGPQtLsOYwvdMy11AwUBetYuaRxSPqgkq+8g==} engines: {node: '>=4'} @@ -18337,7 +18341,7 @@ snapshots: proxmox-api@1.1.1: dependencies: - undici: 8.0.0 + undici: 8.0.1 proxy-from-env@1.1.0: {} @@ -19927,6 +19931,8 @@ snapshots: undici@8.0.0: {} + undici@8.0.1: {} + unicode-emoji-modifier-base@1.0.0: {} unicorn-magic@0.1.0: {} From a7b195d2cb25fffe81266e7f6fa9499d94cae733 Mon Sep 17 00:00:00 2001 From: "homarr-renovate[bot]" <158783068+homarr-renovate[bot]@users.noreply.github.com> Date: Wed, 8 Apr 2026 11:04:39 +0000 Subject: [PATCH 23/49] fix(deps): update dependency fast-xml-parser to ^5.5.10 (#5439) Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com> --- packages/definitions/package.json | 2 +- pnpm-lock.yaml | 22 +++++++++++----------- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/packages/definitions/package.json b/packages/definitions/package.json index 34b0e4b34..0d5cc6e9f 100644 --- a/packages/definitions/package.json +++ b/packages/definitions/package.json @@ -24,7 +24,7 @@ "prettier": "@homarr/prettier-config", "dependencies": { "@homarr/common": "workspace:^0.1.0", - "fast-xml-parser": "^5.5.9", + "fast-xml-parser": "^5.5.10", "zod": "^4.3.6" }, "devDependencies": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 2d780c0e2..824f8b86a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1217,8 +1217,8 @@ importers: specifier: workspace:^0.1.0 version: link:../common fast-xml-parser: - specifier: ^5.5.9 - version: 5.5.9 + specifier: ^5.5.10 + version: 5.5.10 zod: specifier: ^4.3.6 version: 4.3.6 @@ -6935,8 +6935,8 @@ packages: fast-xml-builder@1.1.4: resolution: {integrity: sha512-f2jhpN4Eccy0/Uz9csxh3Nu6q4ErKxf0XIsasomfOihuSUa3/xw6w8dnOtCDgEItQFJG8KyXPzQXzcODDrrbOg==} - fast-xml-parser@5.5.9: - resolution: {integrity: sha512-jldvxr1MC6rtiZKgrFnDSvT8xuH+eJqxqOBThUVjYrxssYTo1avZLGql5l0a0BAERR01CadYzZ83kVEkbyDg+g==} + fast-xml-parser@5.5.10: + resolution: {integrity: sha512-go2J2xODMc32hT+4Xr/bBGXMaIoiCwrwp2mMtAvKyvEFW6S/v5Gn2pBmE4nvbwNjGhpcAiOwEv7R6/GZ6XRa9w==} hasBin: true faster-babel-types@0.1.0: @@ -8789,8 +8789,8 @@ packages: resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} engines: {node: '>=8'} - path-expression-matcher@1.2.0: - resolution: {integrity: sha512-DwmPWeFn+tq7TiyJ2CxezCAirXjFxvaiD03npak3cRjlP9+OjTmSy1EpIrEbh+l6JgUundniloMLDQ/6VTdhLQ==} + path-expression-matcher@1.2.1: + resolution: {integrity: sha512-d7gQQmLvAKXKXE2GeP9apIGbMYKz88zWdsn/BN2HRWVQsDFdUY36WSLTY0Jvd4HWi7Fb30gQ62oAOzdgJA6fZw==} engines: {node: '>=14.0.0'} path-key@3.1.1: @@ -11681,7 +11681,7 @@ snapshots: dependencies: '@ndaidong/bellajs': 12.0.1 cross-fetch: 4.1.0 - fast-xml-parser: 5.5.9 + fast-xml-parser: 5.5.10 html-entities: 2.6.0 transitivePeerDependencies: - encoding @@ -16021,12 +16021,12 @@ snapshots: fast-xml-builder@1.1.4: dependencies: - path-expression-matcher: 1.2.0 + path-expression-matcher: 1.2.1 - fast-xml-parser@5.5.9: + fast-xml-parser@5.5.10: dependencies: fast-xml-builder: 1.1.4 - path-expression-matcher: 1.2.0 + path-expression-matcher: 1.2.1 strnum: 2.2.2 faster-babel-types@0.1.0(@babel/types@7.26.0): @@ -17978,7 +17978,7 @@ snapshots: path-exists@4.0.0: {} - path-expression-matcher@1.2.0: {} + path-expression-matcher@1.2.1: {} path-key@3.1.1: {} From 174851bd190ee48c50f510d45d8c29191e0d30e4 Mon Sep 17 00:00:00 2001 From: "homarr-renovate[bot]" <158783068+homarr-renovate[bot]@users.noreply.github.com> Date: Wed, 8 Apr 2026 11:05:37 +0000 Subject: [PATCH 24/49] chore(deps): update dependency @types/node to ^24.12.1 (#5441) Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com> --- apps/nextjs/package.json | 2 +- apps/tasks/package.json | 2 +- pnpm-lock.yaml | 242 +++++++++++++++++++-------------------- 3 files changed, 123 insertions(+), 123 deletions(-) diff --git a/apps/nextjs/package.json b/apps/nextjs/package.json index aeb8c85ac..c2da2c2de 100644 --- a/apps/nextjs/package.json +++ b/apps/nextjs/package.json @@ -94,7 +94,7 @@ "@homarr/prettier-config": "workspace:^0.1.0", "@homarr/tsconfig": "workspace:^0.1.0", "@types/chroma-js": "3.1.2", - "@types/node": "^24.12.0", + "@types/node": "^24.12.1", "@types/prismjs": "^1.26.6", "@types/react": "19.2.14", "@types/react-dom": "19.2.3", diff --git a/apps/tasks/package.json b/apps/tasks/package.json index 68addba25..6c5218890 100644 --- a/apps/tasks/package.json +++ b/apps/tasks/package.json @@ -47,7 +47,7 @@ "@homarr/eslint-config": "workspace:^0.2.0", "@homarr/prettier-config": "workspace:^0.1.0", "@homarr/tsconfig": "workspace:^0.1.0", - "@types/node": "^24.12.0", + "@types/node": "^24.12.1", "dotenv-cli": "^11.0.0", "esbuild": "^0.27.5", "eslint": "^9.39.4", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 824f8b86a..7ec88ce29 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -63,10 +63,10 @@ importers: version: 11.13.0 '@turbo/gen': specifier: ^2.9.3 - version: 2.9.3(@types/node@24.12.0) + version: 2.9.3(@types/node@24.12.2) '@vitejs/plugin-react': specifier: ^5.2.0 - version: 5.2.0(vite@7.1.12(@types/node@24.12.0)(sass@1.99.0)(sugarss@5.0.0(postcss@8.5.8))(terser@5.46.1)(tsx@4.21.0)(yaml@2.5.1)) + version: 5.2.0(vite@7.1.12(@types/node@24.12.2)(sass@1.99.0)(sugarss@5.0.0(postcss@8.5.8))(terser@5.46.1)(tsx@4.21.0)(yaml@2.5.1)) '@vitest/coverage-v8': specifier: ^4.1.2 version: 4.1.2(vitest@4.1.2) @@ -102,10 +102,10 @@ importers: version: 5.9.3 vite-tsconfig-paths: specifier: ^6.1.1 - version: 6.1.1(typescript@5.9.3)(vite@7.1.12(@types/node@24.12.0)(sass@1.99.0)(sugarss@5.0.0(postcss@8.5.8))(terser@5.46.1)(tsx@4.21.0)(yaml@2.5.1)) + version: 6.1.1(typescript@5.9.3)(vite@7.1.12(@types/node@24.12.2)(sass@1.99.0)(sugarss@5.0.0(postcss@8.5.8))(terser@5.46.1)(tsx@4.21.0)(yaml@2.5.1)) vitest: specifier: ^4.1.2 - version: 4.1.2(@types/node@24.12.0)(@vitest/ui@4.1.2)(jsdom@29.0.1(@noble/hashes@2.0.1))(vite@7.1.12(@types/node@24.12.0)(sass@1.99.0)(sugarss@5.0.0(postcss@8.5.8))(terser@5.46.1)(tsx@4.21.0)(yaml@2.5.1)) + version: 4.1.2(@types/node@24.12.2)(@vitest/ui@4.1.2)(jsdom@29.0.1(@noble/hashes@2.0.1))(vite@7.1.12(@types/node@24.12.2)(sass@1.99.0)(sugarss@5.0.0(postcss@8.5.8))(terser@5.46.1)(tsx@4.21.0)(yaml@2.5.1)) apps/nextjs: dependencies: @@ -342,8 +342,8 @@ importers: specifier: 3.1.2 version: 3.1.2 '@types/node': - specifier: ^24.12.0 - version: 24.12.0 + specifier: ^24.12.1 + version: 24.12.2 '@types/prismjs': specifier: ^1.26.6 version: 1.26.6 @@ -451,8 +451,8 @@ importers: specifier: workspace:^0.1.0 version: link:../../tooling/typescript '@types/node': - specifier: ^24.12.0 - version: 24.12.0 + specifier: ^24.12.1 + version: 24.12.2 dotenv-cli: specifier: ^11.0.0 version: 11.0.0 @@ -900,13 +900,13 @@ importers: version: 0.2.9 drizzle-orm: specifier: ^0.45.2 - version: 0.45.2(@libsql/client-wasm@0.14.0)(@types/better-sqlite3@7.6.13)(@types/pg@8.20.0)(better-sqlite3@12.8.0)(gel@2.0.0)(mysql2@3.20.0(@types/node@24.12.0))(pg@8.20.0) + version: 0.45.2(@libsql/client-wasm@0.14.0)(@types/better-sqlite3@7.6.13)(@types/pg@8.20.0)(better-sqlite3@12.8.0)(gel@2.0.0)(mysql2@3.20.0(@types/node@24.12.2))(pg@8.20.0) ioredis: specifier: 5.10.1 version: 5.10.1 mysql2: specifier: 3.20.0 - version: 3.20.0(@types/node@24.12.0) + version: 3.20.0(@types/node@24.12.2) pg: specifier: ^8.20.0 version: 8.20.0 @@ -1163,13 +1163,13 @@ importers: version: 0.31.10 drizzle-orm: specifier: ^0.45.2 - version: 0.45.2(@libsql/client-wasm@0.14.0)(@types/better-sqlite3@7.6.13)(@types/pg@8.20.0)(better-sqlite3@12.8.0)(gel@2.0.0)(mysql2@3.20.0(@types/node@24.12.0))(pg@8.20.0) + version: 0.45.2(@libsql/client-wasm@0.14.0)(@types/better-sqlite3@7.6.13)(@types/pg@8.20.0)(better-sqlite3@12.8.0)(gel@2.0.0)(mysql2@3.20.0(@types/node@24.12.2))(pg@8.20.0) drizzle-zod: specifier: ^0.8.3 - version: 0.8.3(drizzle-orm@0.45.2(@libsql/client-wasm@0.14.0)(@types/better-sqlite3@7.6.13)(@types/pg@8.20.0)(better-sqlite3@12.8.0)(gel@2.0.0)(mysql2@3.20.0(@types/node@24.12.0))(pg@8.20.0))(zod@4.3.6) + version: 0.8.3(drizzle-orm@0.45.2(@libsql/client-wasm@0.14.0)(@types/better-sqlite3@7.6.13)(@types/pg@8.20.0)(better-sqlite3@12.8.0)(gel@2.0.0)(mysql2@3.20.0(@types/node@24.12.2))(pg@8.20.0))(zod@4.3.6) mysql2: specifier: 3.20.0 - version: 3.20.0(@types/node@24.12.0) + version: 3.20.0(@types/node@24.12.2) pg: specifier: ^8.20.0 version: 8.20.0 @@ -5126,8 +5126,8 @@ packages: '@types/node@18.19.50': resolution: {integrity: sha512-xonK+NRrMBRtkL1hVCc3G+uXtjh1Al4opBLjqVmipe5ZAaBYWW6cNAiBVZ1BvmkBhep698rP3UM3aRAdSALuhg==} - '@types/node@24.12.0': - resolution: {integrity: sha512-GYDxsZi3ChgmckRT9HPU0WEhKLP08ev/Yfcq2AstjrDASOYCSXeyjDsHg4v5t4jOj7cyDX3vmprafKlWIG9MXQ==} + '@types/node@24.12.2': + resolution: {integrity: sha512-A1sre26ke7HDIuY/M23nd9gfB+nrmhtYyMINbjI1zHJxYteKR6qSMX56FsmjMcDb3SMcjJg5BiRRgOCC/yBD0g==} '@types/normalize-package-data@2.4.4': resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} @@ -11944,128 +11944,128 @@ snapshots: '@inquirer/ansi@1.0.2': {} - '@inquirer/checkbox@4.3.2(@types/node@24.12.0)': + '@inquirer/checkbox@4.3.2(@types/node@24.12.2)': dependencies: '@inquirer/ansi': 1.0.2 - '@inquirer/core': 10.3.2(@types/node@24.12.0) + '@inquirer/core': 10.3.2(@types/node@24.12.2) '@inquirer/figures': 1.0.15 - '@inquirer/type': 3.0.10(@types/node@24.12.0) + '@inquirer/type': 3.0.10(@types/node@24.12.2) yoctocolors-cjs: 2.1.3 optionalDependencies: - '@types/node': 24.12.0 + '@types/node': 24.12.2 - '@inquirer/confirm@5.1.21(@types/node@24.12.0)': + '@inquirer/confirm@5.1.21(@types/node@24.12.2)': dependencies: - '@inquirer/core': 10.3.2(@types/node@24.12.0) - '@inquirer/type': 3.0.10(@types/node@24.12.0) + '@inquirer/core': 10.3.2(@types/node@24.12.2) + '@inquirer/type': 3.0.10(@types/node@24.12.2) optionalDependencies: - '@types/node': 24.12.0 + '@types/node': 24.12.2 - '@inquirer/core@10.3.2(@types/node@24.12.0)': + '@inquirer/core@10.3.2(@types/node@24.12.2)': dependencies: '@inquirer/ansi': 1.0.2 '@inquirer/figures': 1.0.15 - '@inquirer/type': 3.0.10(@types/node@24.12.0) + '@inquirer/type': 3.0.10(@types/node@24.12.2) cli-width: 4.1.0 mute-stream: 2.0.0 signal-exit: 4.1.0 wrap-ansi: 6.2.0 yoctocolors-cjs: 2.1.3 optionalDependencies: - '@types/node': 24.12.0 + '@types/node': 24.12.2 - '@inquirer/editor@4.2.23(@types/node@24.12.0)': + '@inquirer/editor@4.2.23(@types/node@24.12.2)': dependencies: - '@inquirer/core': 10.3.2(@types/node@24.12.0) - '@inquirer/external-editor': 1.0.3(@types/node@24.12.0) - '@inquirer/type': 3.0.10(@types/node@24.12.0) + '@inquirer/core': 10.3.2(@types/node@24.12.2) + '@inquirer/external-editor': 1.0.3(@types/node@24.12.2) + '@inquirer/type': 3.0.10(@types/node@24.12.2) optionalDependencies: - '@types/node': 24.12.0 + '@types/node': 24.12.2 - '@inquirer/expand@4.0.23(@types/node@24.12.0)': + '@inquirer/expand@4.0.23(@types/node@24.12.2)': dependencies: - '@inquirer/core': 10.3.2(@types/node@24.12.0) - '@inquirer/type': 3.0.10(@types/node@24.12.0) + '@inquirer/core': 10.3.2(@types/node@24.12.2) + '@inquirer/type': 3.0.10(@types/node@24.12.2) yoctocolors-cjs: 2.1.3 optionalDependencies: - '@types/node': 24.12.0 + '@types/node': 24.12.2 - '@inquirer/external-editor@1.0.3(@types/node@24.12.0)': + '@inquirer/external-editor@1.0.3(@types/node@24.12.2)': dependencies: chardet: 2.1.1 iconv-lite: 0.7.2 optionalDependencies: - '@types/node': 24.12.0 + '@types/node': 24.12.2 '@inquirer/figures@1.0.15': {} - '@inquirer/input@4.3.1(@types/node@24.12.0)': + '@inquirer/input@4.3.1(@types/node@24.12.2)': dependencies: - '@inquirer/core': 10.3.2(@types/node@24.12.0) - '@inquirer/type': 3.0.10(@types/node@24.12.0) + '@inquirer/core': 10.3.2(@types/node@24.12.2) + '@inquirer/type': 3.0.10(@types/node@24.12.2) optionalDependencies: - '@types/node': 24.12.0 + '@types/node': 24.12.2 - '@inquirer/number@3.0.23(@types/node@24.12.0)': + '@inquirer/number@3.0.23(@types/node@24.12.2)': dependencies: - '@inquirer/core': 10.3.2(@types/node@24.12.0) - '@inquirer/type': 3.0.10(@types/node@24.12.0) + '@inquirer/core': 10.3.2(@types/node@24.12.2) + '@inquirer/type': 3.0.10(@types/node@24.12.2) optionalDependencies: - '@types/node': 24.12.0 + '@types/node': 24.12.2 - '@inquirer/password@4.0.23(@types/node@24.12.0)': + '@inquirer/password@4.0.23(@types/node@24.12.2)': dependencies: '@inquirer/ansi': 1.0.2 - '@inquirer/core': 10.3.2(@types/node@24.12.0) - '@inquirer/type': 3.0.10(@types/node@24.12.0) + '@inquirer/core': 10.3.2(@types/node@24.12.2) + '@inquirer/type': 3.0.10(@types/node@24.12.2) optionalDependencies: - '@types/node': 24.12.0 + '@types/node': 24.12.2 - '@inquirer/prompts@7.10.1(@types/node@24.12.0)': + '@inquirer/prompts@7.10.1(@types/node@24.12.2)': dependencies: - '@inquirer/checkbox': 4.3.2(@types/node@24.12.0) - '@inquirer/confirm': 5.1.21(@types/node@24.12.0) - '@inquirer/editor': 4.2.23(@types/node@24.12.0) - '@inquirer/expand': 4.0.23(@types/node@24.12.0) - '@inquirer/input': 4.3.1(@types/node@24.12.0) - '@inquirer/number': 3.0.23(@types/node@24.12.0) - '@inquirer/password': 4.0.23(@types/node@24.12.0) - '@inquirer/rawlist': 4.1.11(@types/node@24.12.0) - '@inquirer/search': 3.2.2(@types/node@24.12.0) - '@inquirer/select': 4.4.2(@types/node@24.12.0) + '@inquirer/checkbox': 4.3.2(@types/node@24.12.2) + '@inquirer/confirm': 5.1.21(@types/node@24.12.2) + '@inquirer/editor': 4.2.23(@types/node@24.12.2) + '@inquirer/expand': 4.0.23(@types/node@24.12.2) + '@inquirer/input': 4.3.1(@types/node@24.12.2) + '@inquirer/number': 3.0.23(@types/node@24.12.2) + '@inquirer/password': 4.0.23(@types/node@24.12.2) + '@inquirer/rawlist': 4.1.11(@types/node@24.12.2) + '@inquirer/search': 3.2.2(@types/node@24.12.2) + '@inquirer/select': 4.4.2(@types/node@24.12.2) optionalDependencies: - '@types/node': 24.12.0 + '@types/node': 24.12.2 - '@inquirer/rawlist@4.1.11(@types/node@24.12.0)': + '@inquirer/rawlist@4.1.11(@types/node@24.12.2)': dependencies: - '@inquirer/core': 10.3.2(@types/node@24.12.0) - '@inquirer/type': 3.0.10(@types/node@24.12.0) + '@inquirer/core': 10.3.2(@types/node@24.12.2) + '@inquirer/type': 3.0.10(@types/node@24.12.2) yoctocolors-cjs: 2.1.3 optionalDependencies: - '@types/node': 24.12.0 + '@types/node': 24.12.2 - '@inquirer/search@3.2.2(@types/node@24.12.0)': + '@inquirer/search@3.2.2(@types/node@24.12.2)': dependencies: - '@inquirer/core': 10.3.2(@types/node@24.12.0) + '@inquirer/core': 10.3.2(@types/node@24.12.2) '@inquirer/figures': 1.0.15 - '@inquirer/type': 3.0.10(@types/node@24.12.0) + '@inquirer/type': 3.0.10(@types/node@24.12.2) yoctocolors-cjs: 2.1.3 optionalDependencies: - '@types/node': 24.12.0 + '@types/node': 24.12.2 - '@inquirer/select@4.4.2(@types/node@24.12.0)': + '@inquirer/select@4.4.2(@types/node@24.12.2)': dependencies: '@inquirer/ansi': 1.0.2 - '@inquirer/core': 10.3.2(@types/node@24.12.0) + '@inquirer/core': 10.3.2(@types/node@24.12.2) '@inquirer/figures': 1.0.15 - '@inquirer/type': 3.0.10(@types/node@24.12.0) + '@inquirer/type': 3.0.10(@types/node@24.12.2) yoctocolors-cjs: 2.1.3 optionalDependencies: - '@types/node': 24.12.0 + '@types/node': 24.12.2 - '@inquirer/type@3.0.10(@types/node@24.12.0)': + '@inquirer/type@3.0.10(@types/node@24.12.2)': optionalDependencies: - '@types/node': 24.12.0 + '@types/node': 24.12.2 '@ioredis/commands@1.5.1': {} @@ -12121,7 +12121,7 @@ snapshots: '@kubernetes/client-node@1.4.0': dependencies: '@types/js-yaml': 4.0.9 - '@types/node': 24.12.0 + '@types/node': 24.12.2 '@types/node-fetch': 2.6.13 '@types/stream-buffers': 3.0.7 form-data: 4.0.5 @@ -13685,9 +13685,9 @@ snapshots: '@turbo/darwin-arm64@2.9.3': optional: true - '@turbo/gen@2.9.3(@types/node@24.12.0)': + '@turbo/gen@2.9.3(@types/node@24.12.2)': dependencies: - '@inquirer/prompts': 7.10.1(@types/node@24.12.0) + '@inquirer/prompts': 7.10.1(@types/node@24.12.2) esbuild: 0.25.12 transitivePeerDependencies: - '@types/node' @@ -13706,7 +13706,7 @@ snapshots: '@types/adm-zip@0.5.8': dependencies: - '@types/node': 24.12.0 + '@types/node': 24.12.2 '@types/aws-lambda@8.10.146': {} @@ -13733,16 +13733,16 @@ snapshots: '@types/bcrypt@6.0.0': dependencies: - '@types/node': 24.12.0 + '@types/node': 24.12.2 '@types/better-sqlite3@7.6.13': dependencies: - '@types/node': 24.12.0 + '@types/node': 24.12.2 '@types/body-parser@1.19.5': dependencies: '@types/connect': 3.4.38 - '@types/node': 24.12.0 + '@types/node': 24.12.2 '@types/chai@5.2.2': dependencies: @@ -13752,7 +13752,7 @@ snapshots: '@types/connect@3.4.38': dependencies: - '@types/node': 24.12.0 + '@types/node': 24.12.2 '@types/cookie@0.4.1': {} @@ -13761,11 +13761,11 @@ snapshots: '@types/connect': 3.4.38 '@types/express': 4.17.21 '@types/keygrip': 1.0.6 - '@types/node': 24.12.0 + '@types/node': 24.12.2 '@types/cors@2.8.17': dependencies: - '@types/node': 24.12.0 + '@types/node': 24.12.2 '@types/crypto-js@4.2.2': {} @@ -13805,13 +13805,13 @@ snapshots: '@types/docker-modem@3.0.6': dependencies: - '@types/node': 24.12.0 + '@types/node': 24.12.2 '@types/ssh2': 1.15.1 '@types/dockerode@4.0.1': dependencies: '@types/docker-modem': 3.0.6 - '@types/node': 24.12.0 + '@types/node': 24.12.2 '@types/ssh2': 1.15.1 '@types/estree-jsx@1.0.5': @@ -13822,7 +13822,7 @@ snapshots: '@types/express-serve-static-core@4.19.5': dependencies: - '@types/node': 24.12.0 + '@types/node': 24.12.2 '@types/qs': 6.9.16 '@types/range-parser': 1.2.7 '@types/send': 0.17.4 @@ -13869,7 +13869,7 @@ snapshots: '@types/node-fetch@2.6.13': dependencies: - '@types/node': 24.12.0 + '@types/node': 24.12.2 form-data: 4.0.5 '@types/node-unifi@2.5.1(patch_hash=5e6ae51e2a17a7f9729bfa30b0eb3d0842a5810ac6db47603ab4a6efa1ed84c5)': @@ -13880,7 +13880,7 @@ snapshots: dependencies: undici-types: 5.26.5 - '@types/node@24.12.0': + '@types/node@24.12.2': dependencies: undici-types: 7.16.0 @@ -13888,7 +13888,7 @@ snapshots: '@types/pg@8.20.0': dependencies: - '@types/node': 24.12.0 + '@types/node': 24.12.2 pg-protocol: 1.13.0 pg-types: 2.2.0 @@ -13915,21 +13915,21 @@ snapshots: '@types/send@0.17.4': dependencies: '@types/mime': 1.3.5 - '@types/node': 24.12.0 + '@types/node': 24.12.2 '@types/serve-static@1.15.7': dependencies: '@types/http-errors': 2.0.4 - '@types/node': 24.12.0 + '@types/node': 24.12.2 '@types/send': 0.17.4 '@types/ssh2-streams@0.1.12': dependencies: - '@types/node': 24.12.0 + '@types/node': 24.12.2 '@types/ssh2@0.5.52': dependencies: - '@types/node': 24.12.0 + '@types/node': 24.12.2 '@types/ssh2-streams': 0.1.12 '@types/ssh2@1.15.1': @@ -13938,7 +13938,7 @@ snapshots: '@types/stream-buffers@3.0.7': dependencies: - '@types/node': 24.12.0 + '@types/node': 24.12.2 '@types/swagger-ui-react@5.18.0': dependencies: @@ -13959,11 +13959,11 @@ snapshots: '@types/ws@8.18.1': dependencies: - '@types/node': 24.12.0 + '@types/node': 24.12.2 '@types/xml2js@0.4.14': dependencies: - '@types/node': 24.12.0 + '@types/node': 24.12.2 '@typescript-eslint/eslint-plugin@8.58.0(@typescript-eslint/parser@8.58.0(eslint@9.39.4)(typescript@5.9.3))(eslint@9.39.4)(typescript@5.9.3)': dependencies: @@ -14088,7 +14088,7 @@ snapshots: global: 4.4.0 is-function: 1.0.2 - '@vitejs/plugin-react@5.2.0(vite@7.1.12(@types/node@24.12.0)(sass@1.99.0)(sugarss@5.0.0(postcss@8.5.8))(terser@5.46.1)(tsx@4.21.0)(yaml@2.5.1))': + '@vitejs/plugin-react@5.2.0(vite@7.1.12(@types/node@24.12.2)(sass@1.99.0)(sugarss@5.0.0(postcss@8.5.8))(terser@5.46.1)(tsx@4.21.0)(yaml@2.5.1))': dependencies: '@babel/core': 7.29.0 '@babel/plugin-transform-react-jsx-self': 7.27.1(@babel/core@7.29.0) @@ -14096,7 +14096,7 @@ snapshots: '@rolldown/pluginutils': 1.0.0-rc.3 '@types/babel__core': 7.20.5 react-refresh: 0.18.0 - vite: 7.1.12(@types/node@24.12.0)(sass@1.99.0)(sugarss@5.0.0(postcss@8.5.8))(terser@5.46.1)(tsx@4.21.0)(yaml@2.5.1) + vite: 7.1.12(@types/node@24.12.2)(sass@1.99.0)(sugarss@5.0.0(postcss@8.5.8))(terser@5.46.1)(tsx@4.21.0)(yaml@2.5.1) transitivePeerDependencies: - supports-color @@ -14112,7 +14112,7 @@ snapshots: obug: 2.1.1 std-env: 4.0.0 tinyrainbow: 3.1.0 - vitest: 4.1.2(@types/node@24.12.0)(@vitest/ui@4.1.2)(jsdom@29.0.1(@noble/hashes@2.0.1))(vite@7.1.12(@types/node@24.12.0)(sass@1.99.0)(sugarss@5.0.0(postcss@8.5.8))(terser@5.46.1)(tsx@4.21.0)(yaml@2.5.1)) + vitest: 4.1.2(@types/node@24.12.2)(@vitest/ui@4.1.2)(jsdom@29.0.1(@noble/hashes@2.0.1))(vite@7.1.12(@types/node@24.12.2)(sass@1.99.0)(sugarss@5.0.0(postcss@8.5.8))(terser@5.46.1)(tsx@4.21.0)(yaml@2.5.1)) '@vitest/expect@4.1.2': dependencies: @@ -14123,13 +14123,13 @@ snapshots: chai: 6.2.2 tinyrainbow: 3.1.0 - '@vitest/mocker@4.1.2(vite@7.1.12(@types/node@24.12.0)(sass@1.99.0)(sugarss@5.0.0(postcss@8.5.8))(terser@5.46.1)(tsx@4.21.0)(yaml@2.5.1))': + '@vitest/mocker@4.1.2(vite@7.1.12(@types/node@24.12.2)(sass@1.99.0)(sugarss@5.0.0(postcss@8.5.8))(terser@5.46.1)(tsx@4.21.0)(yaml@2.5.1))': dependencies: '@vitest/spy': 4.1.2 estree-walker: 3.0.3 magic-string: 0.30.21 optionalDependencies: - vite: 7.1.12(@types/node@24.12.0)(sass@1.99.0)(sugarss@5.0.0(postcss@8.5.8))(terser@5.46.1)(tsx@4.21.0)(yaml@2.5.1) + vite: 7.1.12(@types/node@24.12.2)(sass@1.99.0)(sugarss@5.0.0(postcss@8.5.8))(terser@5.46.1)(tsx@4.21.0)(yaml@2.5.1) '@vitest/pretty-format@4.1.2': dependencies: @@ -14158,7 +14158,7 @@ snapshots: sirv: 3.0.2 tinyglobby: 0.2.15 tinyrainbow: 3.1.0 - vitest: 4.1.2(@types/node@24.12.0)(@vitest/ui@4.1.2)(jsdom@29.0.1(@noble/hashes@2.0.1))(vite@7.1.12(@types/node@24.12.0)(sass@1.99.0)(sugarss@5.0.0(postcss@8.5.8))(terser@5.46.1)(tsx@4.21.0)(yaml@2.5.1)) + vitest: 4.1.2(@types/node@24.12.2)(@vitest/ui@4.1.2)(jsdom@29.0.1(@noble/hashes@2.0.1))(vite@7.1.12(@types/node@24.12.2)(sass@1.99.0)(sugarss@5.0.0(postcss@8.5.8))(terser@5.46.1)(tsx@4.21.0)(yaml@2.5.1)) '@vitest/utils@4.1.2': dependencies: @@ -15314,19 +15314,19 @@ snapshots: esbuild: 0.25.12 tsx: 4.21.0 - drizzle-orm@0.45.2(@libsql/client-wasm@0.14.0)(@types/better-sqlite3@7.6.13)(@types/pg@8.20.0)(better-sqlite3@12.8.0)(gel@2.0.0)(mysql2@3.20.0(@types/node@24.12.0))(pg@8.20.0): + drizzle-orm@0.45.2(@libsql/client-wasm@0.14.0)(@types/better-sqlite3@7.6.13)(@types/pg@8.20.0)(better-sqlite3@12.8.0)(gel@2.0.0)(mysql2@3.20.0(@types/node@24.12.2))(pg@8.20.0): optionalDependencies: '@libsql/client-wasm': 0.14.0 '@types/better-sqlite3': 7.6.13 '@types/pg': 8.20.0 better-sqlite3: 12.8.0 gel: 2.0.0 - mysql2: 3.20.0(@types/node@24.12.0) + mysql2: 3.20.0(@types/node@24.12.2) pg: 8.20.0 - drizzle-zod@0.8.3(drizzle-orm@0.45.2(@libsql/client-wasm@0.14.0)(@types/better-sqlite3@7.6.13)(@types/pg@8.20.0)(better-sqlite3@12.8.0)(gel@2.0.0)(mysql2@3.20.0(@types/node@24.12.0))(pg@8.20.0))(zod@4.3.6): + drizzle-zod@0.8.3(drizzle-orm@0.45.2(@libsql/client-wasm@0.14.0)(@types/better-sqlite3@7.6.13)(@types/pg@8.20.0)(better-sqlite3@12.8.0)(gel@2.0.0)(mysql2@3.20.0(@types/node@24.12.2))(pg@8.20.0))(zod@4.3.6): dependencies: - drizzle-orm: 0.45.2(@libsql/client-wasm@0.14.0)(@types/better-sqlite3@7.6.13)(@types/pg@8.20.0)(better-sqlite3@12.8.0)(gel@2.0.0)(mysql2@3.20.0(@types/node@24.12.0))(pg@8.20.0) + drizzle-orm: 0.45.2(@libsql/client-wasm@0.14.0)(@types/better-sqlite3@7.6.13)(@types/pg@8.20.0)(better-sqlite3@12.8.0)(gel@2.0.0)(mysql2@3.20.0(@types/node@24.12.2))(pg@8.20.0) zod: 4.3.6 dunder-proto@1.0.1: @@ -15386,7 +15386,7 @@ snapshots: dependencies: '@types/cookie': 0.4.1 '@types/cors': 2.8.17 - '@types/node': 24.12.0 + '@types/node': 24.12.2 accepts: 1.3.8 base64id: 2.0.0 cookie: 0.7.2 @@ -16912,7 +16912,7 @@ snapshots: jest-worker@27.5.1: dependencies: - '@types/node': 24.12.0 + '@types/node': 24.12.2 merge-stream: 2.0.0 supports-color: 8.1.1 @@ -17537,9 +17537,9 @@ snapshots: '@babel/runtime': 7.29.2 global: 4.4.0 - mysql2@3.20.0(@types/node@24.12.0): + mysql2@3.20.0(@types/node@24.12.2): dependencies: - '@types/node': 24.12.0 + '@types/node': 24.12.2 aws-ssl-profiles: 1.1.2 denque: 2.1.0 generate-function: 2.3.1 @@ -18336,7 +18336,7 @@ snapshots: '@protobufjs/path': 1.1.2 '@protobufjs/pool': 1.1.0 '@protobufjs/utf8': 1.1.0 - '@types/node': 24.12.0 + '@types/node': 24.12.2 long: 5.3.2 proxmox-api@1.1.1: @@ -20165,17 +20165,17 @@ snapshots: dependencies: global: 4.4.0 - vite-tsconfig-paths@6.1.1(typescript@5.9.3)(vite@7.1.12(@types/node@24.12.0)(sass@1.99.0)(sugarss@5.0.0(postcss@8.5.8))(terser@5.46.1)(tsx@4.21.0)(yaml@2.5.1)): + vite-tsconfig-paths@6.1.1(typescript@5.9.3)(vite@7.1.12(@types/node@24.12.2)(sass@1.99.0)(sugarss@5.0.0(postcss@8.5.8))(terser@5.46.1)(tsx@4.21.0)(yaml@2.5.1)): dependencies: debug: 4.4.3 globrex: 0.1.2 tsconfck: 3.1.3(typescript@5.9.3) - vite: 7.1.12(@types/node@24.12.0)(sass@1.99.0)(sugarss@5.0.0(postcss@8.5.8))(terser@5.46.1)(tsx@4.21.0)(yaml@2.5.1) + vite: 7.1.12(@types/node@24.12.2)(sass@1.99.0)(sugarss@5.0.0(postcss@8.5.8))(terser@5.46.1)(tsx@4.21.0)(yaml@2.5.1) transitivePeerDependencies: - supports-color - typescript - vite@7.1.12(@types/node@24.12.0)(sass@1.99.0)(sugarss@5.0.0(postcss@8.5.8))(terser@5.46.1)(tsx@4.21.0)(yaml@2.5.1): + vite@7.1.12(@types/node@24.12.2)(sass@1.99.0)(sugarss@5.0.0(postcss@8.5.8))(terser@5.46.1)(tsx@4.21.0)(yaml@2.5.1): dependencies: esbuild: 0.25.12 fdir: 6.5.0(picomatch@4.0.4) @@ -20184,7 +20184,7 @@ snapshots: rollup: 4.60.0 tinyglobby: 0.2.15 optionalDependencies: - '@types/node': 24.12.0 + '@types/node': 24.12.2 fsevents: 2.3.3 sass: 1.99.0 sugarss: 5.0.0(postcss@8.5.8) @@ -20192,10 +20192,10 @@ snapshots: tsx: 4.21.0 yaml: 2.5.1 - vitest@4.1.2(@types/node@24.12.0)(@vitest/ui@4.1.2)(jsdom@29.0.1(@noble/hashes@2.0.1))(vite@7.1.12(@types/node@24.12.0)(sass@1.99.0)(sugarss@5.0.0(postcss@8.5.8))(terser@5.46.1)(tsx@4.21.0)(yaml@2.5.1)): + vitest@4.1.2(@types/node@24.12.2)(@vitest/ui@4.1.2)(jsdom@29.0.1(@noble/hashes@2.0.1))(vite@7.1.12(@types/node@24.12.2)(sass@1.99.0)(sugarss@5.0.0(postcss@8.5.8))(terser@5.46.1)(tsx@4.21.0)(yaml@2.5.1)): dependencies: '@vitest/expect': 4.1.2 - '@vitest/mocker': 4.1.2(vite@7.1.12(@types/node@24.12.0)(sass@1.99.0)(sugarss@5.0.0(postcss@8.5.8))(terser@5.46.1)(tsx@4.21.0)(yaml@2.5.1)) + '@vitest/mocker': 4.1.2(vite@7.1.12(@types/node@24.12.2)(sass@1.99.0)(sugarss@5.0.0(postcss@8.5.8))(terser@5.46.1)(tsx@4.21.0)(yaml@2.5.1)) '@vitest/pretty-format': 4.1.2 '@vitest/runner': 4.1.2 '@vitest/snapshot': 4.1.2 @@ -20212,10 +20212,10 @@ snapshots: tinyexec: 1.0.2 tinyglobby: 0.2.15 tinyrainbow: 3.1.0 - vite: 7.1.12(@types/node@24.12.0)(sass@1.99.0)(sugarss@5.0.0(postcss@8.5.8))(terser@5.46.1)(tsx@4.21.0)(yaml@2.5.1) + vite: 7.1.12(@types/node@24.12.2)(sass@1.99.0)(sugarss@5.0.0(postcss@8.5.8))(terser@5.46.1)(tsx@4.21.0)(yaml@2.5.1) why-is-node-running: 2.3.0 optionalDependencies: - '@types/node': 24.12.0 + '@types/node': 24.12.2 '@vitest/ui': 4.1.2(vitest@4.1.2) jsdom: 29.0.1(@noble/hashes@2.0.1) transitivePeerDependencies: From 2baab5402d79caba0e1b3c53f52fdf0cbeb6875d Mon Sep 17 00:00:00 2001 From: "homarr-renovate[bot]" <158783068+homarr-renovate[bot]@users.noreply.github.com> Date: Wed, 8 Apr 2026 11:08:05 +0000 Subject: [PATCH 25/49] fix(deps): update tiptap monorepo to v3.22.1 (#5434) Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com> --- packages/widgets/package.json | 32 +++---- pnpm-lock.yaml | 163 ++++++++++++++++------------------ 2 files changed, 93 insertions(+), 102 deletions(-) diff --git a/packages/widgets/package.json b/packages/widgets/package.json index c31823444..3793e4cb2 100644 --- a/packages/widgets/package.json +++ b/packages/widgets/package.json @@ -52,22 +52,22 @@ "@mantine/core": "^8.3.18", "@mantine/hooks": "^8.3.18", "@tabler/icons-react": "^3.41.1", - "@tiptap/extension-color": "3.22.0", - "@tiptap/extension-highlight": "3.22.0", - "@tiptap/extension-image": "3.22.0", - "@tiptap/extension-link": "^3.22.0", - "@tiptap/extension-placeholder": "^3.22.0", - "@tiptap/extension-table": "3.22.0", - "@tiptap/extension-table-cell": "3.22.0", - "@tiptap/extension-table-header": "3.22.0", - "@tiptap/extension-table-row": "3.22.0", - "@tiptap/extension-task-item": "3.22.0", - "@tiptap/extension-task-list": "3.22.0", - "@tiptap/extension-text-align": "3.22.0", - "@tiptap/extension-text-style": "3.22.0", - "@tiptap/extension-underline": "3.22.0", - "@tiptap/react": "^3.22.0", - "@tiptap/starter-kit": "^3.22.0", + "@tiptap/extension-color": "3.22.1", + "@tiptap/extension-highlight": "3.22.1", + "@tiptap/extension-image": "3.22.1", + "@tiptap/extension-link": "^3.22.1", + "@tiptap/extension-placeholder": "^3.22.1", + "@tiptap/extension-table": "3.22.1", + "@tiptap/extension-table-cell": "3.22.1", + "@tiptap/extension-table-header": "3.22.1", + "@tiptap/extension-table-row": "3.22.1", + "@tiptap/extension-task-item": "3.22.1", + "@tiptap/extension-task-list": "3.22.1", + "@tiptap/extension-text-align": "3.22.1", + "@tiptap/extension-text-style": "3.22.1", + "@tiptap/extension-underline": "3.22.1", + "@tiptap/react": "^3.22.1", + "@tiptap/starter-kit": "^3.22.1", "clsx": "^2.1.1", "dayjs": "^1.11.20", "mantine-form-zod-resolver": "^1.3.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 7ec88ce29..22f57cc3d 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -2255,52 +2255,52 @@ importers: specifier: ^3.41.1 version: 3.41.1(react@19.2.4) '@tiptap/extension-color': - specifier: 3.22.0 - version: 3.22.0(@tiptap/extension-text-style@3.22.0(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))) + specifier: 3.22.1 + version: 3.22.1(@tiptap/extension-text-style@3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))) '@tiptap/extension-highlight': - specifier: 3.22.0 - version: 3.22.0(@tiptap/core@3.22.1(@tiptap/pm@3.22.1)) + specifier: 3.22.1 + version: 3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1)) '@tiptap/extension-image': - specifier: 3.22.0 - version: 3.22.0(@tiptap/core@3.22.1(@tiptap/pm@3.22.1)) + specifier: 3.22.1 + version: 3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1)) '@tiptap/extension-link': - specifier: ^3.22.0 + specifier: ^3.22.1 version: 3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1) '@tiptap/extension-placeholder': - specifier: ^3.22.0 + specifier: ^3.22.1 version: 3.22.1(@tiptap/extensions@3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1)) '@tiptap/extension-table': - specifier: 3.22.0 - version: 3.22.0(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1) + specifier: 3.22.1 + version: 3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1) '@tiptap/extension-table-cell': - specifier: 3.22.0 - version: 3.22.0(@tiptap/extension-table@3.22.0(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1)) + specifier: 3.22.1 + version: 3.22.1(@tiptap/extension-table@3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1)) '@tiptap/extension-table-header': - specifier: 3.22.0 - version: 3.22.0(@tiptap/extension-table@3.22.0(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1)) + specifier: 3.22.1 + version: 3.22.1(@tiptap/extension-table@3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1)) '@tiptap/extension-table-row': - specifier: 3.22.0 - version: 3.22.0(@tiptap/extension-table@3.22.0(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1)) + specifier: 3.22.1 + version: 3.22.1(@tiptap/extension-table@3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1)) '@tiptap/extension-task-item': - specifier: 3.22.0 - version: 3.22.0(@tiptap/extension-list@3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1)) + specifier: 3.22.1 + version: 3.22.1(@tiptap/extension-list@3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1)) '@tiptap/extension-task-list': - specifier: 3.22.0 - version: 3.22.0(@tiptap/extension-list@3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1)) + specifier: 3.22.1 + version: 3.22.1(@tiptap/extension-list@3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1)) '@tiptap/extension-text-align': - specifier: 3.22.0 - version: 3.22.0(@tiptap/core@3.22.1(@tiptap/pm@3.22.1)) + specifier: 3.22.1 + version: 3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1)) '@tiptap/extension-text-style': - specifier: 3.22.0 - version: 3.22.0(@tiptap/core@3.22.1(@tiptap/pm@3.22.1)) + specifier: 3.22.1 + version: 3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1)) '@tiptap/extension-underline': - specifier: 3.22.0 - version: 3.22.0(@tiptap/core@3.22.1(@tiptap/pm@3.22.1)) + specifier: 3.22.1 + version: 3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1)) '@tiptap/react': - specifier: ^3.22.0 + specifier: ^3.22.1 version: 3.22.1(@floating-ui/dom@1.7.4)(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) '@tiptap/starter-kit': - specifier: ^3.22.0 + specifier: ^3.22.1 version: 3.22.1 clsx: specifier: ^2.1.1 @@ -4700,10 +4700,10 @@ packages: peerDependencies: '@tiptap/core': ^3.22.1 - '@tiptap/extension-color@3.22.0': - resolution: {integrity: sha512-cvhRRA6vH6sFcqzmNjMtxJbKgZH06lP8mVuz810j1bfxxEY2n6Nx5zda992aUy7BWtYjxZ9KjWodH/2uVlOqmg==} + '@tiptap/extension-color@3.22.1': + resolution: {integrity: sha512-Wgb6gpCQN/B3tS9UqDhZKyClxQDYTaimBV3O6kLxHdjtirapYW7YGKhY1bCb32/JxcOyoZj6caIEyyJLXUVhIA==} peerDependencies: - '@tiptap/extension-text-style': ^3.22.0 + '@tiptap/extension-text-style': ^3.22.1 '@tiptap/extension-document@3.22.1': resolution: {integrity: sha512-fBI/+PGtK6pzitqjSSSYL2+uZglX6T53zb5nLEmN/q8q7FzUuUpglp8toHVhBG05WDk4vx6Z7bC95uyxkYdoAA==} @@ -4737,10 +4737,10 @@ packages: peerDependencies: '@tiptap/core': ^3.22.1 - '@tiptap/extension-highlight@3.22.0': - resolution: {integrity: sha512-5+u3Rr3EDF4tmXlMblL1RWwHheO00Gdn974HjUNrKus01q6JQcqBpycXfYYq5XHG+iHdWSVzL2XE1KsTwVI+7w==} + '@tiptap/extension-highlight@3.22.1': + resolution: {integrity: sha512-3XH0HWViJVzr+FUZY/HQn2vasOgOssVlOjdirKck9AmHoDFUceJbAygSJIdj2fZF3RQl0ohjMGi+OpGMVJ83sw==} peerDependencies: - '@tiptap/core': ^3.22.0 + '@tiptap/core': ^3.22.1 '@tiptap/extension-horizontal-rule@3.22.1': resolution: {integrity: sha512-Q18A8IN+gnfptIksPeVAI6oOBGYKAGf+QN0FEJ5OXO4BEAmA3hflflA1rWNfPC4aQNry/N7sAl8Gpd6HuIbz2w==} @@ -4748,10 +4748,10 @@ packages: '@tiptap/core': ^3.22.1 '@tiptap/pm': ^3.22.1 - '@tiptap/extension-image@3.22.0': - resolution: {integrity: sha512-b3n86lWF3thywUrWmZv27EzTGhCBTjifXY/NzPfri3D22cKkxardrJi2WZIc0J65je91oTzqY7SkdQnyIrZksw==} + '@tiptap/extension-image@3.22.1': + resolution: {integrity: sha512-FtZCOWyyaEvSfaOPoH78IKb1BlG/Vao4PARdlrVCD1FlV1YGLAgSW5YkQAJ/vPTLwyNNZtqryaBpZrA8Wm25nQ==} peerDependencies: - '@tiptap/core': ^3.22.0 + '@tiptap/core': ^3.22.1 '@tiptap/extension-italic@3.22.1': resolution: {integrity: sha512-EXPZWEsWJK9tUMypddOBvayaBeu8wFV2uH5PNrtDKrfRZ1Bf8GQ3lfcO0blHssaQ9nWqa9HwBC1mdfWcmfpxig==} @@ -4800,57 +4800,52 @@ packages: peerDependencies: '@tiptap/core': ^3.22.1 - '@tiptap/extension-table-cell@3.22.0': - resolution: {integrity: sha512-fDtbs1/46r+pC3yO3wRxOQIPOqmPca92AYntAe8jkhGu5QFo+w4VvJ0+VK/HYdQVkQ2Rklpm+21tTSR0J2Fj7Q==} + '@tiptap/extension-table-cell@3.22.1': + resolution: {integrity: sha512-sDMKaQjtuAxs7j4MTezmCq5rzAFfx3igsHgGPv1rW0ibqDx5rObtOZ6oiPSts8a6cPW5/NGqLaVl0Oa5rxrV/g==} peerDependencies: - '@tiptap/extension-table': ^3.22.0 + '@tiptap/extension-table': ^3.22.1 - '@tiptap/extension-table-header@3.22.0': - resolution: {integrity: sha512-Qkkvgghq2iNiYKJHnTvo+QKtAmCdIWf8DopEPVFg71M8d8Fy0gaKuczEjJbnJqaUcz3J0cXAFMZorPgppEhI1A==} + '@tiptap/extension-table-header@3.22.1': + resolution: {integrity: sha512-avkNqG4nxgLoAKFz5+qNZRQJMCmHMDy2Fzg3aB030bJnVzCKoC7RJgWQ8d9T+Sy3LQTR7tngpW1NIozS4TI/wg==} peerDependencies: - '@tiptap/extension-table': ^3.22.0 + '@tiptap/extension-table': ^3.22.1 - '@tiptap/extension-table-row@3.22.0': - resolution: {integrity: sha512-zzJwnhwKc6KJYoKKM0yc+Fglic/d5FzKbIoBQ7PXnbfwAN0vqzN9ZWEnkb340tdw7YWgxzdvilx/LLwO6C8ibw==} + '@tiptap/extension-table-row@3.22.1': + resolution: {integrity: sha512-EKbwq4h47y+4UrsvOIN8LwFzSpUpYkQQhhk3x6G5xtDsZXc1kRMAowe/S1n3gcXvSkRDF4PxmepzsHsOcaSJIA==} peerDependencies: - '@tiptap/extension-table': ^3.22.0 + '@tiptap/extension-table': ^3.22.1 - '@tiptap/extension-table@3.22.0': - resolution: {integrity: sha512-R7vYmlEg91nV51zzajaWj6R9yIDckOvKKeKsmHAhFzrzUjjpia+lJcUBjXHbp2Vnq30QV8EmtBPqpygnr7XGiw==} + '@tiptap/extension-table@3.22.1': + resolution: {integrity: sha512-wGioCPgrAhqQ9NNQitVM4sm8WVsu6MBs+4hdgTCtBTA7oEv7EqKWAujY6DA/aPE8uV236pUmosZX3iloHmvpOA==} peerDependencies: - '@tiptap/core': ^3.22.0 - '@tiptap/pm': ^3.22.0 + '@tiptap/core': ^3.22.1 + '@tiptap/pm': ^3.22.1 - '@tiptap/extension-task-item@3.22.0': - resolution: {integrity: sha512-VsS93AMKFC/A+obCAdcEQJyNv6+l5c6GX977QD8Suwv6mI2fAXoB1Kiw5nvU/WZXPBfA4ldSmVtbe+spaI+n8A==} + '@tiptap/extension-task-item@3.22.1': + resolution: {integrity: sha512-63/Gx4HyLVC89RbEBbn+C/IZBiMsLZqazx1fqOpE/Ife3Nr09qb8fLQITRGnzS9JnRjrO4ErFgBQF8WSsCB5qg==} peerDependencies: - '@tiptap/extension-list': ^3.22.0 + '@tiptap/extension-list': ^3.22.1 - '@tiptap/extension-task-list@3.22.0': - resolution: {integrity: sha512-g9N9BbJCRvw4AGrunwA8I00Xa7f1DiLFLuvTI+/jJ3pqvwJkypswpGUuqflia8bYBMaAVYgtU1/91D1O5J6xww==} + '@tiptap/extension-task-list@3.22.1': + resolution: {integrity: sha512-4RCDf8hOCkAah+wR+QKZEX/AcZ1a0LsDInDjevpuEt23Yqb4pcWAvnqF6S/INvuy6nQaDkm2e5G+8rZq3I1RTA==} peerDependencies: - '@tiptap/extension-list': ^3.22.0 + '@tiptap/extension-list': ^3.22.1 - '@tiptap/extension-text-align@3.22.0': - resolution: {integrity: sha512-wKX5uCCEl31KtBBqXFcKYHMivF9fzME4EwykYZk7qN3HoV+WJMl9D17s5r6TUayN++1G5IiW69UFFiwB9yDugw==} + '@tiptap/extension-text-align@3.22.1': + resolution: {integrity: sha512-llkKgYX2sdwnjQFG0LMjZEdWDCFA5zJgJmrVqkx8zuMukNZbuD6rjszmG90uvhOsnvacwHmD0RMpLpHOfqHX8Q==} peerDependencies: - '@tiptap/core': ^3.22.0 + '@tiptap/core': ^3.22.1 - '@tiptap/extension-text-style@3.22.0': - resolution: {integrity: sha512-Hr+YIFxAAtKBXCxBtqXhAZUSh9sTVa5mz89RnvBoj9tPMbXaeNpxdCkRu1nZJVV5nERJxKVWZjHctqK0WkgMBw==} + '@tiptap/extension-text-style@3.22.1': + resolution: {integrity: sha512-xtUuqXFRQxJ2C0OIp4MpD+reHrULkZSec+YXbFt4SHHHluK1lquibYbZknbmd9jsagPUcv0hc7zmdkxdz83lfA==} peerDependencies: - '@tiptap/core': ^3.22.0 + '@tiptap/core': ^3.22.1 '@tiptap/extension-text@3.22.1': resolution: {integrity: sha512-wFCNCATSTTFhvA9wOPkAgzPVyG3RM6+jOlDeRhHUCHsFWFWj0w9ZPwA/nP+Qi5hEW7kGG9V8o62RjBdHNvK2PQ==} peerDependencies: '@tiptap/core': ^3.22.1 - '@tiptap/extension-underline@3.22.0': - resolution: {integrity: sha512-AxQOnXQwYmZNjagkEoCZZqbpJbLVmBcu1ivJ9dE0SAQsr1wRUp7mAg+g1SqhbMAvrXvv7yhhNevSdQKmXsnFyA==} - peerDependencies: - '@tiptap/core': ^3.22.0 - '@tiptap/extension-underline@3.22.1': resolution: {integrity: sha512-p8/ErqQInWJbpncBycIggmtCjdrMwHmA3GNhOugo6F4fYfeVxgy7pVb7ZF+ss62d0mpQvEd81pyrzhkBtb0nBg==} peerDependencies: @@ -13434,9 +13429,9 @@ snapshots: dependencies: '@tiptap/core': 3.22.1(@tiptap/pm@3.22.1) - '@tiptap/extension-color@3.22.0(@tiptap/extension-text-style@3.22.0(@tiptap/core@3.22.1(@tiptap/pm@3.22.1)))': + '@tiptap/extension-color@3.22.1(@tiptap/extension-text-style@3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1)))': dependencies: - '@tiptap/extension-text-style': 3.22.0(@tiptap/core@3.22.1(@tiptap/pm@3.22.1)) + '@tiptap/extension-text-style': 3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1)) '@tiptap/extension-document@3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))': dependencies: @@ -13465,7 +13460,7 @@ snapshots: dependencies: '@tiptap/core': 3.22.1(@tiptap/pm@3.22.1) - '@tiptap/extension-highlight@3.22.0(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))': + '@tiptap/extension-highlight@3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))': dependencies: '@tiptap/core': 3.22.1(@tiptap/pm@3.22.1) @@ -13474,7 +13469,7 @@ snapshots: '@tiptap/core': 3.22.1(@tiptap/pm@3.22.1) '@tiptap/pm': 3.22.1 - '@tiptap/extension-image@3.22.0(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))': + '@tiptap/extension-image@3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))': dependencies: '@tiptap/core': 3.22.1(@tiptap/pm@3.22.1) @@ -13517,36 +13512,36 @@ snapshots: dependencies: '@tiptap/core': 3.22.1(@tiptap/pm@3.22.1) - '@tiptap/extension-table-cell@3.22.0(@tiptap/extension-table@3.22.0(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1))': + '@tiptap/extension-table-cell@3.22.1(@tiptap/extension-table@3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1))': dependencies: - '@tiptap/extension-table': 3.22.0(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1) + '@tiptap/extension-table': 3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1) - '@tiptap/extension-table-header@3.22.0(@tiptap/extension-table@3.22.0(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1))': + '@tiptap/extension-table-header@3.22.1(@tiptap/extension-table@3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1))': dependencies: - '@tiptap/extension-table': 3.22.0(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1) + '@tiptap/extension-table': 3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1) - '@tiptap/extension-table-row@3.22.0(@tiptap/extension-table@3.22.0(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1))': + '@tiptap/extension-table-row@3.22.1(@tiptap/extension-table@3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1))': dependencies: - '@tiptap/extension-table': 3.22.0(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1) + '@tiptap/extension-table': 3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1) - '@tiptap/extension-table@3.22.0(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1)': + '@tiptap/extension-table@3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1)': dependencies: '@tiptap/core': 3.22.1(@tiptap/pm@3.22.1) '@tiptap/pm': 3.22.1 - '@tiptap/extension-task-item@3.22.0(@tiptap/extension-list@3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1))': + '@tiptap/extension-task-item@3.22.1(@tiptap/extension-list@3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1))': dependencies: '@tiptap/extension-list': 3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1) - '@tiptap/extension-task-list@3.22.0(@tiptap/extension-list@3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1))': + '@tiptap/extension-task-list@3.22.1(@tiptap/extension-list@3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1))': dependencies: '@tiptap/extension-list': 3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1) - '@tiptap/extension-text-align@3.22.0(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))': + '@tiptap/extension-text-align@3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))': dependencies: '@tiptap/core': 3.22.1(@tiptap/pm@3.22.1) - '@tiptap/extension-text-style@3.22.0(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))': + '@tiptap/extension-text-style@3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))': dependencies: '@tiptap/core': 3.22.1(@tiptap/pm@3.22.1) @@ -13554,10 +13549,6 @@ snapshots: dependencies: '@tiptap/core': 3.22.1(@tiptap/pm@3.22.1) - '@tiptap/extension-underline@3.22.0(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))': - dependencies: - '@tiptap/core': 3.22.1(@tiptap/pm@3.22.1) - '@tiptap/extension-underline@3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))': dependencies: '@tiptap/core': 3.22.1(@tiptap/pm@3.22.1) From b619ba1d46768cc3ed1d3739e0f379e0059bc2d9 Mon Sep 17 00:00:00 2001 From: "homarr-renovate[bot]" <158783068+homarr-renovate[bot]@users.noreply.github.com> Date: Wed, 8 Apr 2026 11:08:35 +0000 Subject: [PATCH 26/49] fix(deps): update tanstack-query monorepo to ^5.96.2 (#5442) Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com> --- apps/nextjs/package.json | 6 +-- packages/api/package.json | 2 +- packages/cron-job-api/package.json | 2 +- pnpm-lock.yaml | 86 +++++++++++++++--------------- 4 files changed, 48 insertions(+), 48 deletions(-) diff --git a/apps/nextjs/package.json b/apps/nextjs/package.json index c2da2c2de..e576b897e 100644 --- a/apps/nextjs/package.json +++ b/apps/nextjs/package.json @@ -56,9 +56,9 @@ "@mantine/tiptap": "^8.3.18", "@million/lint": "1.0.14", "@tabler/icons-react": "^3.41.1", - "@tanstack/react-query": "^5.96.1", - "@tanstack/react-query-devtools": "^5.96.1", - "@tanstack/react-query-next-experimental": "^5.96.1", + "@tanstack/react-query": "^5.96.2", + "@tanstack/react-query-devtools": "^5.96.2", + "@tanstack/react-query-next-experimental": "^5.96.2", "@trpc/client": "^11.16.0", "@trpc/next": "^11.16.0", "@trpc/react-query": "^11.16.0", diff --git a/packages/api/package.json b/packages/api/package.json index aa062cf4f..64b4dbe35 100644 --- a/packages/api/package.json +++ b/packages/api/package.json @@ -41,7 +41,7 @@ "@homarr/translation": "workspace:^0.1.0", "@homarr/validation": "workspace:^0.1.0", "@kubernetes/client-node": "^1.4.0", - "@tanstack/react-query": "^5.96.1", + "@tanstack/react-query": "^5.96.2", "@trpc/client": "^11.16.0", "@trpc/react-query": "^11.16.0", "@trpc/server": "^11.16.0", diff --git a/packages/cron-job-api/package.json b/packages/cron-job-api/package.json index 90bf7c27b..4d3e229ea 100644 --- a/packages/cron-job-api/package.json +++ b/packages/cron-job-api/package.json @@ -28,7 +28,7 @@ "@homarr/common": "workspace:^0.1.0", "@homarr/core": "workspace:^0.1.0", "@homarr/cron-jobs": "workspace:^0.1.0", - "@tanstack/react-query": "^5.96.1", + "@tanstack/react-query": "^5.96.2", "@trpc/client": "^11.16.0", "@trpc/server": "^11.16.0", "@trpc/tanstack-react-query": "^11.16.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 22f57cc3d..77702a8a4 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -233,23 +233,23 @@ importers: specifier: ^3.41.1 version: 3.41.1(react@19.2.4) '@tanstack/react-query': - specifier: ^5.96.1 - version: 5.96.1(react@19.2.4) + specifier: ^5.96.2 + version: 5.96.2(react@19.2.4) '@tanstack/react-query-devtools': - specifier: ^5.96.1 - version: 5.96.1(@tanstack/react-query@5.96.1(react@19.2.4))(react@19.2.4) + specifier: ^5.96.2 + version: 5.96.2(@tanstack/react-query@5.96.2(react@19.2.4))(react@19.2.4) '@tanstack/react-query-next-experimental': - specifier: ^5.96.1 - version: 5.96.1(@tanstack/react-query@5.96.1(react@19.2.4))(next@16.2.2(@babel/core@7.26.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.99.0))(react@19.2.4) + specifier: ^5.96.2 + version: 5.96.2(@tanstack/react-query@5.96.2(react@19.2.4))(next@16.2.2(@babel/core@7.26.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.99.0))(react@19.2.4) '@trpc/client': specifier: ^11.16.0 version: 11.16.0(@trpc/server@11.16.0(typescript@5.9.3))(typescript@5.9.3) '@trpc/next': specifier: ^11.16.0 - version: 11.16.0(@tanstack/react-query@5.96.1(react@19.2.4))(@trpc/client@11.16.0(@trpc/server@11.16.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/react-query@11.16.0(@tanstack/react-query@5.96.1(react@19.2.4))(@trpc/client@11.16.0(@trpc/server@11.16.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.16.0(typescript@5.9.3))(react@19.2.4)(typescript@5.9.3))(@trpc/server@11.16.0(typescript@5.9.3))(next@16.2.2(@babel/core@7.26.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.99.0))(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3) + version: 11.16.0(@tanstack/react-query@5.96.2(react@19.2.4))(@trpc/client@11.16.0(@trpc/server@11.16.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/react-query@11.16.0(@tanstack/react-query@5.96.2(react@19.2.4))(@trpc/client@11.16.0(@trpc/server@11.16.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.16.0(typescript@5.9.3))(react@19.2.4)(typescript@5.9.3))(@trpc/server@11.16.0(typescript@5.9.3))(next@16.2.2(@babel/core@7.26.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.99.0))(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3) '@trpc/react-query': specifier: ^11.16.0 - version: 11.16.0(@tanstack/react-query@5.96.1(react@19.2.4))(@trpc/client@11.16.0(@trpc/server@11.16.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.16.0(typescript@5.9.3))(react@19.2.4)(typescript@5.9.3) + version: 11.16.0(@tanstack/react-query@5.96.2(react@19.2.4))(@trpc/client@11.16.0(@trpc/server@11.16.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.16.0(typescript@5.9.3))(react@19.2.4)(typescript@5.9.3) '@trpc/server': specifier: ^11.16.0 version: 11.16.0(typescript@5.9.3) @@ -639,20 +639,20 @@ importers: specifier: ^1.4.0 version: 1.4.0 '@tanstack/react-query': - specifier: ^5.96.1 - version: 5.96.1(react@19.2.4) + specifier: ^5.96.2 + version: 5.96.2(react@19.2.4) '@trpc/client': specifier: ^11.16.0 version: 11.16.0(@trpc/server@11.16.0(typescript@5.9.3))(typescript@5.9.3) '@trpc/react-query': specifier: ^11.16.0 - version: 11.16.0(@tanstack/react-query@5.96.1(react@19.2.4))(@trpc/client@11.16.0(@trpc/server@11.16.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.16.0(typescript@5.9.3))(react@19.2.4)(typescript@5.9.3) + version: 11.16.0(@tanstack/react-query@5.96.2(react@19.2.4))(@trpc/client@11.16.0(@trpc/server@11.16.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.16.0(typescript@5.9.3))(react@19.2.4)(typescript@5.9.3) '@trpc/server': specifier: ^11.16.0 version: 11.16.0(typescript@5.9.3) '@trpc/tanstack-react-query': specifier: ^11.16.0 - version: 11.16.0(@tanstack/react-query@5.96.1(react@19.2.4))(@trpc/client@11.16.0(@trpc/server@11.16.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.16.0(typescript@5.9.3))(react@19.2.4)(typescript@5.9.3) + version: 11.16.0(@tanstack/react-query@5.96.2(react@19.2.4))(@trpc/client@11.16.0(@trpc/server@11.16.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.16.0(typescript@5.9.3))(react@19.2.4)(typescript@5.9.3) lodash.clonedeep: specifier: ^4.5.0 version: 4.5.0 @@ -954,8 +954,8 @@ importers: specifier: workspace:^0.1.0 version: link:../cron-jobs '@tanstack/react-query': - specifier: ^5.96.1 - version: 5.96.1(react@19.2.4) + specifier: ^5.96.2 + version: 5.96.2(react@19.2.4) '@trpc/client': specifier: ^11.16.0 version: 11.16.0(@trpc/server@11.16.0(typescript@5.9.3))(typescript@5.9.3) @@ -964,7 +964,7 @@ importers: version: 11.16.0(typescript@5.9.3) '@trpc/tanstack-react-query': specifier: ^11.16.0 - version: 11.16.0(@tanstack/react-query@5.96.1(react@19.2.4))(@trpc/client@11.16.0(@trpc/server@11.16.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.16.0(typescript@5.9.3))(react@19.2.4)(typescript@5.9.3) + version: 11.16.0(@tanstack/react-query@5.96.2(react@19.2.4))(@trpc/client@11.16.0(@trpc/server@11.16.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.16.0(typescript@5.9.3))(react@19.2.4)(typescript@5.9.3) node-cron: specifier: ^4.2.1 version: 4.2.1 @@ -4610,27 +4610,27 @@ packages: resolution: {integrity: sha512-Wo1iKt2b9OT7d+YGhvEPD3DXvPv2etTusIMhMUoG7fbhmxcXCtIjJDEygy91Y2JFlwGyjqiBPRozme7UD8hoqg==} engines: {node: '>=12'} - '@tanstack/query-core@5.96.1': - resolution: {integrity: sha512-u1yBgtavSy+N8wgtW3PiER6UpxcplMje65yXnnVgiHTqiMwLlxiw4WvQDrXyn+UD6lnn8kHaxmerJUzQcV/MMg==} + '@tanstack/query-core@5.96.2': + resolution: {integrity: sha512-hzI6cTVh4KNRk8UtoIBS7Lv9g6BnJPXvBKsvYH1aGWvv0347jT3BnSvztOE+kD76XGvZnRC/t6qdW1CaIfwCeA==} - '@tanstack/query-devtools@5.96.1': - resolution: {integrity: sha512-A4+uQTWbiqZDgrLeyjpFYLfMaWaKWpkwTkR1cUfocVj6vPYgym7QTG2se9A01WSxceDdmgxOqvn1ivcTvgWD8w==} + '@tanstack/query-devtools@5.96.2': + resolution: {integrity: sha512-vBTB1Qhbm3nHSbEUtQwks/EdcAtFfEapr1WyBW4w2ExYKuXVi3jIxUIHf5MlSltiHuL7zNyUuanqT/7sI2sb6g==} - '@tanstack/react-query-devtools@5.96.1': - resolution: {integrity: sha512-3ZZ58fupIXtJFM0evj8YvWrauaZPUrQEqRYaq9e4ER/WPqTKeWEucqWCXn+KJLgWlcot5JIIUtQNynbovGjTTA==} + '@tanstack/react-query-devtools@5.96.2': + resolution: {integrity: sha512-nTFKLGuTOFvmFRvcyZ3ArWC/DnMNPoBh6h/2yD6rsf7TCTJCQt+oUWOp2uKPTIuEPtF/vN9Kw5tl5mD1Kbposw==} peerDependencies: - '@tanstack/react-query': ^5.96.1 + '@tanstack/react-query': ^5.96.2 react: ^18 || ^19 - '@tanstack/react-query-next-experimental@5.96.1': - resolution: {integrity: sha512-/JUVKr45fKzHG5HlRKFU1Q4pEmrMK+iSGZt442feN/rNmxW2nxroy0UrQ9g2MlySDM8cmXgQLpJWEahCb0ffxw==} + '@tanstack/react-query-next-experimental@5.96.2': + resolution: {integrity: sha512-TKRmosGT1RYyPUpayWtSUuyc5HhA7MqJGgFu0Beb5ZrXp8l3DrgEZ/2vKyL2orUuPeTrMtws9w7tgzfYjpbewg==} peerDependencies: - '@tanstack/react-query': ^5.96.1 + '@tanstack/react-query': ^5.96.2 next: ^13 || ^14 || ^15 || ^16 react: ^18 || ^19 - '@tanstack/react-query@5.96.1': - resolution: {integrity: sha512-2X7KYK5KKWUKGeWCVcqxXAkYefJtrKB7tSKWgeG++b0H6BRHxQaLSSi8AxcgjmUnnosHuh9WsFZqvE16P1WCzA==} + '@tanstack/react-query@5.96.2': + resolution: {integrity: sha512-sYyzzJT4G0g02azzJ8o55VFFV31XvFpdUpG+unxS0vSaYsJnSPKGoI6WdPwUucJL1wpgGfwfmntNX/Ub1uOViA==} peerDependencies: react: ^18 || ^19 @@ -13339,25 +13339,25 @@ snapshots: dependencies: remove-accents: 0.5.0 - '@tanstack/query-core@5.96.1': {} + '@tanstack/query-core@5.96.2': {} - '@tanstack/query-devtools@5.96.1': {} + '@tanstack/query-devtools@5.96.2': {} - '@tanstack/react-query-devtools@5.96.1(@tanstack/react-query@5.96.1(react@19.2.4))(react@19.2.4)': + '@tanstack/react-query-devtools@5.96.2(@tanstack/react-query@5.96.2(react@19.2.4))(react@19.2.4)': dependencies: - '@tanstack/query-devtools': 5.96.1 - '@tanstack/react-query': 5.96.1(react@19.2.4) + '@tanstack/query-devtools': 5.96.2 + '@tanstack/react-query': 5.96.2(react@19.2.4) react: 19.2.4 - '@tanstack/react-query-next-experimental@5.96.1(@tanstack/react-query@5.96.1(react@19.2.4))(next@16.2.2(@babel/core@7.26.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.99.0))(react@19.2.4)': + '@tanstack/react-query-next-experimental@5.96.2(@tanstack/react-query@5.96.2(react@19.2.4))(next@16.2.2(@babel/core@7.26.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.99.0))(react@19.2.4)': dependencies: - '@tanstack/react-query': 5.96.1(react@19.2.4) + '@tanstack/react-query': 5.96.2(react@19.2.4) next: 16.2.2(@babel/core@7.26.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.99.0) react: 19.2.4 - '@tanstack/react-query@5.96.1(react@19.2.4)': + '@tanstack/react-query@5.96.2(react@19.2.4)': dependencies: - '@tanstack/query-core': 5.96.1 + '@tanstack/query-core': 5.96.2 react: 19.2.4 '@tanstack/react-table@8.20.5(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': @@ -13636,7 +13636,7 @@ snapshots: '@trpc/server': 11.16.0(typescript@5.9.3) typescript: 5.9.3 - '@trpc/next@11.16.0(@tanstack/react-query@5.96.1(react@19.2.4))(@trpc/client@11.16.0(@trpc/server@11.16.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/react-query@11.16.0(@tanstack/react-query@5.96.1(react@19.2.4))(@trpc/client@11.16.0(@trpc/server@11.16.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.16.0(typescript@5.9.3))(react@19.2.4)(typescript@5.9.3))(@trpc/server@11.16.0(typescript@5.9.3))(next@16.2.2(@babel/core@7.26.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.99.0))(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3)': + '@trpc/next@11.16.0(@tanstack/react-query@5.96.2(react@19.2.4))(@trpc/client@11.16.0(@trpc/server@11.16.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/react-query@11.16.0(@tanstack/react-query@5.96.2(react@19.2.4))(@trpc/client@11.16.0(@trpc/server@11.16.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.16.0(typescript@5.9.3))(react@19.2.4)(typescript@5.9.3))(@trpc/server@11.16.0(typescript@5.9.3))(next@16.2.2(@babel/core@7.26.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.99.0))(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3)': dependencies: '@trpc/client': 11.16.0(@trpc/server@11.16.0(typescript@5.9.3))(typescript@5.9.3) '@trpc/server': 11.16.0(typescript@5.9.3) @@ -13645,12 +13645,12 @@ snapshots: react-dom: 19.2.4(react@19.2.4) typescript: 5.9.3 optionalDependencies: - '@tanstack/react-query': 5.96.1(react@19.2.4) - '@trpc/react-query': 11.16.0(@tanstack/react-query@5.96.1(react@19.2.4))(@trpc/client@11.16.0(@trpc/server@11.16.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.16.0(typescript@5.9.3))(react@19.2.4)(typescript@5.9.3) + '@tanstack/react-query': 5.96.2(react@19.2.4) + '@trpc/react-query': 11.16.0(@tanstack/react-query@5.96.2(react@19.2.4))(@trpc/client@11.16.0(@trpc/server@11.16.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.16.0(typescript@5.9.3))(react@19.2.4)(typescript@5.9.3) - '@trpc/react-query@11.16.0(@tanstack/react-query@5.96.1(react@19.2.4))(@trpc/client@11.16.0(@trpc/server@11.16.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.16.0(typescript@5.9.3))(react@19.2.4)(typescript@5.9.3)': + '@trpc/react-query@11.16.0(@tanstack/react-query@5.96.2(react@19.2.4))(@trpc/client@11.16.0(@trpc/server@11.16.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.16.0(typescript@5.9.3))(react@19.2.4)(typescript@5.9.3)': dependencies: - '@tanstack/react-query': 5.96.1(react@19.2.4) + '@tanstack/react-query': 5.96.2(react@19.2.4) '@trpc/client': 11.16.0(@trpc/server@11.16.0(typescript@5.9.3))(typescript@5.9.3) '@trpc/server': 11.16.0(typescript@5.9.3) react: 19.2.4 @@ -13660,9 +13660,9 @@ snapshots: dependencies: typescript: 5.9.3 - '@trpc/tanstack-react-query@11.16.0(@tanstack/react-query@5.96.1(react@19.2.4))(@trpc/client@11.16.0(@trpc/server@11.16.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.16.0(typescript@5.9.3))(react@19.2.4)(typescript@5.9.3)': + '@trpc/tanstack-react-query@11.16.0(@tanstack/react-query@5.96.2(react@19.2.4))(@trpc/client@11.16.0(@trpc/server@11.16.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.16.0(typescript@5.9.3))(react@19.2.4)(typescript@5.9.3)': dependencies: - '@tanstack/react-query': 5.96.1(react@19.2.4) + '@tanstack/react-query': 5.96.2(react@19.2.4) '@trpc/client': 11.16.0(@trpc/server@11.16.0(typescript@5.9.3))(typescript@5.9.3) '@trpc/server': 11.16.0(typescript@5.9.3) react: 19.2.4 From 5317a25cfbfff19dda987853ac0d541f552aea58 Mon Sep 17 00:00:00 2001 From: "homarr-renovate[bot]" <158783068+homarr-renovate[bot]@users.noreply.github.com> Date: Wed, 8 Apr 2026 12:05:47 +0000 Subject: [PATCH 27/49] chore(deps): update dependency @types/node to ^24.12.2 (#5443) Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com> --- apps/nextjs/package.json | 2 +- apps/tasks/package.json | 2 +- pnpm-lock.yaml | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/apps/nextjs/package.json b/apps/nextjs/package.json index e576b897e..2dbbf98d5 100644 --- a/apps/nextjs/package.json +++ b/apps/nextjs/package.json @@ -94,7 +94,7 @@ "@homarr/prettier-config": "workspace:^0.1.0", "@homarr/tsconfig": "workspace:^0.1.0", "@types/chroma-js": "3.1.2", - "@types/node": "^24.12.1", + "@types/node": "^24.12.2", "@types/prismjs": "^1.26.6", "@types/react": "19.2.14", "@types/react-dom": "19.2.3", diff --git a/apps/tasks/package.json b/apps/tasks/package.json index 6c5218890..6e5915073 100644 --- a/apps/tasks/package.json +++ b/apps/tasks/package.json @@ -47,7 +47,7 @@ "@homarr/eslint-config": "workspace:^0.2.0", "@homarr/prettier-config": "workspace:^0.1.0", "@homarr/tsconfig": "workspace:^0.1.0", - "@types/node": "^24.12.1", + "@types/node": "^24.12.2", "dotenv-cli": "^11.0.0", "esbuild": "^0.27.5", "eslint": "^9.39.4", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 77702a8a4..02a241392 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -342,7 +342,7 @@ importers: specifier: 3.1.2 version: 3.1.2 '@types/node': - specifier: ^24.12.1 + specifier: ^24.12.2 version: 24.12.2 '@types/prismjs': specifier: ^1.26.6 @@ -451,7 +451,7 @@ importers: specifier: workspace:^0.1.0 version: link:../../tooling/typescript '@types/node': - specifier: ^24.12.1 + specifier: ^24.12.2 version: 24.12.2 dotenv-cli: specifier: ^11.0.0 From a0e0083b16ea6ce42a0e3594ad53321210c98141 Mon Sep 17 00:00:00 2001 From: "homarr-renovate[bot]" <158783068+homarr-renovate[bot]@users.noreply.github.com> Date: Wed, 8 Apr 2026 12:06:50 +0000 Subject: [PATCH 28/49] fix(deps): update dependency undici to v8.0.1 (#5440) Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com> --- apps/tasks/package.json | 2 +- packages/common/package.json | 2 +- packages/integrations/package.json | 2 +- packages/request-handler/package.json | 2 +- pnpm-lock.yaml | 32 +++++++++++---------------- 5 files changed, 17 insertions(+), 23 deletions(-) diff --git a/apps/tasks/package.json b/apps/tasks/package.json index 6e5915073..1b79cfa2a 100644 --- a/apps/tasks/package.json +++ b/apps/tasks/package.json @@ -41,7 +41,7 @@ "dotenv": "^17.4.0", "fastify": "^5.8.4", "superjson": "2.2.6", - "undici": "8.0.0" + "undici": "8.0.1" }, "devDependencies": { "@homarr/eslint-config": "workspace:^0.2.0", diff --git a/packages/common/package.json b/packages/common/package.json index 72383a1e9..8edd40a9c 100644 --- a/packages/common/package.json +++ b/packages/common/package.json @@ -34,7 +34,7 @@ "octokit": "^5.0.5", "react": "19.2.4", "react-dom": "19.2.4", - "undici": "8.0.0", + "undici": "8.0.1", "zod": "^4.3.6", "zod-validation-error": "^5.0.0" }, diff --git a/packages/integrations/package.json b/packages/integrations/package.json index 095cf3de2..f5b9fb5a4 100644 --- a/packages/integrations/package.json +++ b/packages/integrations/package.json @@ -47,7 +47,7 @@ "proxmox-api": "1.1.1", "timezones-ical-library": "^2.1.3", "tsdav": "^2.1.8", - "undici": "8.0.0", + "undici": "8.0.1", "xml2js": "^0.6.2", "zod": "^4.3.6" }, diff --git a/packages/request-handler/package.json b/packages/request-handler/package.json index 98361c685..1e7ca2e99 100644 --- a/packages/request-handler/package.json +++ b/packages/request-handler/package.json @@ -33,7 +33,7 @@ "dayjs": "^1.11.20", "octokit": "^5.0.5", "superjson": "2.2.6", - "undici": "8.0.0", + "undici": "8.0.1", "zod": "^4.3.6" }, "devDependencies": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 02a241392..0697dbd06 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -438,8 +438,8 @@ importers: specifier: 2.2.6 version: 2.2.6 undici: - specifier: 8.0.0 - version: 8.0.0 + specifier: 8.0.1 + version: 8.0.1 devDependencies: '@homarr/eslint-config': specifier: workspace:^0.2.0 @@ -862,8 +862,8 @@ importers: specifier: 19.2.4 version: 19.2.4(react@19.2.4) undici: - specifier: 8.0.0 - version: 8.0.0 + specifier: 8.0.1 + version: 8.0.1 zod: specifier: ^4.3.6 version: 4.3.6 @@ -1455,7 +1455,7 @@ importers: version: link:../image-proxy '@homarr/node-unifi': specifier: ^2.6.0 - version: 2.6.0(undici@8.0.0) + version: 2.6.0(undici@8.0.1) '@homarr/redis': specifier: workspace:^0.1.0 version: link:../redis @@ -1493,8 +1493,8 @@ importers: specifier: ^2.1.8 version: 2.1.8 undici: - specifier: 8.0.0 - version: 8.0.0 + specifier: 8.0.1 + version: 8.0.1 xml2js: specifier: ^0.6.2 version: 0.6.2 @@ -1864,8 +1864,8 @@ importers: specifier: 2.2.6 version: 2.2.6 undici: - specifier: 8.0.0 - version: 8.0.0 + specifier: 8.0.1 + version: 8.0.1 zod: specifier: ^4.3.6 version: 4.3.6 @@ -10365,10 +10365,6 @@ packages: resolution: {integrity: sha512-Xi4agocCbRzt0yYMZGMA6ApD7gvtUFaxm4ZmeacWI4cZxaF6C+8I8QfofC20NAePiB/IcvZmzkJ7XPa471AEtA==} engines: {node: '>=20.18.1'} - undici@8.0.0: - resolution: {integrity: sha512-RGabV5g1ggSX5mU4k+B8BLWgb418gDbg0wAVFeiU00iOxtw4ufGsE6GFsuSd2uqOKooWSLf71JGapOFYpE8f+A==} - engines: {node: '>=22.19.0'} - undici@8.0.1: resolution: {integrity: sha512-6qdTUr+jabXmYKeYkv/+pIvO7d0bs1k9uy+5PFnXr4segNVwILH1KExhwRh3/iGa6gSLmySK3hTnSs3k7ZPnjQ==} engines: {node: '>=22.19.0'} @@ -11795,11 +11791,11 @@ snapshots: '@homarr/gridstack@1.12.0': {} - '@homarr/node-unifi@2.6.0(undici@8.0.0)': + '@homarr/node-unifi@2.6.0(undici@8.0.1)': dependencies: axios: 1.9.0 eventemitter2: 6.4.9 - http-cookie-agent: 6.0.8(tough-cookie@5.1.2)(undici@8.0.0) + http-cookie-agent: 6.0.8(tough-cookie@5.1.2)(undici@8.0.1) tough-cookie: 5.1.2 ws: 8.20.0 transitivePeerDependencies: @@ -16472,12 +16468,12 @@ snapshots: html-url-attributes@3.0.1: {} - http-cookie-agent@6.0.8(tough-cookie@5.1.2)(undici@8.0.0): + http-cookie-agent@6.0.8(tough-cookie@5.1.2)(undici@8.0.1): dependencies: agent-base: 7.1.3 tough-cookie: 5.1.2 optionalDependencies: - undici: 8.0.0 + undici: 8.0.1 http-errors@2.0.0: dependencies: @@ -19920,8 +19916,6 @@ snapshots: undici@7.24.6: {} - undici@8.0.0: {} - undici@8.0.1: {} unicode-emoji-modifier-base@1.0.0: {} From 37d7c8535f344e17b6c861365754ee003ee97d05 Mon Sep 17 00:00:00 2001 From: "homarr-renovate[bot]" <158783068+homarr-renovate[bot]@users.noreply.github.com> Date: Wed, 8 Apr 2026 18:14:39 +0200 Subject: [PATCH 29/49] chore(deps): update dependency esbuild to ^0.28.0 (#5435) Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com> --- apps/tasks/package.json | 2 +- apps/websocket/package.json | 2 +- packages/cli/package.json | 2 +- packages/db/package.json | 2 +- pnpm-lock.yaml | 286 ++++++++++++++++++++++++++++++++++-- 5 files changed, 281 insertions(+), 13 deletions(-) diff --git a/apps/tasks/package.json b/apps/tasks/package.json index 1b79cfa2a..f3ed95fe4 100644 --- a/apps/tasks/package.json +++ b/apps/tasks/package.json @@ -49,7 +49,7 @@ "@homarr/tsconfig": "workspace:^0.1.0", "@types/node": "^24.12.2", "dotenv-cli": "^11.0.0", - "esbuild": "^0.27.5", + "esbuild": "^0.28.0", "eslint": "^9.39.4", "prettier": "^3.8.1", "tsx": "4.20.4", diff --git a/apps/websocket/package.json b/apps/websocket/package.json index e228ab264..2f02959c1 100644 --- a/apps/websocket/package.json +++ b/apps/websocket/package.json @@ -34,7 +34,7 @@ "@homarr/prettier-config": "workspace:^0.1.0", "@homarr/tsconfig": "workspace:^0.1.0", "@types/ws": "^8.18.1", - "esbuild": "^0.27.5", + "esbuild": "^0.28.0", "eslint": "^9.39.4", "prettier": "^3.8.1", "typescript": "^5.9.3" diff --git a/packages/cli/package.json b/packages/cli/package.json index b827a5c26..61674275d 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -36,7 +36,7 @@ "@homarr/eslint-config": "workspace:^0.2.0", "@homarr/prettier-config": "workspace:^0.1.0", "@homarr/tsconfig": "workspace:^0.1.0", - "esbuild": "^0.27.5", + "esbuild": "^0.28.0", "eslint": "^9.39.4", "typescript": "^5.9.3" } diff --git a/packages/db/package.json b/packages/db/package.json index 6d8389135..a38d965f9 100644 --- a/packages/db/package.json +++ b/packages/db/package.json @@ -67,7 +67,7 @@ "@types/better-sqlite3": "7.6.13", "@types/pg": "^8.20.0", "dotenv-cli": "^11.0.0", - "esbuild": "^0.27.5", + "esbuild": "^0.28.0", "eslint": "^9.39.4", "prettier": "^3.8.1", "tsx": "4.20.4", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 0697dbd06..f9ffa1277 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -457,8 +457,8 @@ importers: specifier: ^11.0.0 version: 11.0.0 esbuild: - specifier: ^0.27.5 - version: 0.27.7 + specifier: ^0.28.0 + version: 0.28.0 eslint: specifier: ^9.39.4 version: 9.39.4 @@ -521,8 +521,8 @@ importers: specifier: ^8.18.1 version: 8.18.1 esbuild: - specifier: ^0.27.5 - version: 0.27.7 + specifier: ^0.28.0 + version: 0.28.0 eslint: specifier: ^9.39.4 version: 9.39.4 @@ -826,8 +826,8 @@ importers: specifier: workspace:^0.1.0 version: link:../../tooling/typescript esbuild: - specifier: ^0.27.5 - version: 0.27.7 + specifier: ^0.28.0 + version: 0.28.0 eslint: specifier: ^9.39.4 version: 9.39.4 @@ -1196,8 +1196,8 @@ importers: specifier: ^11.0.0 version: 11.0.0 esbuild: - specifier: ^0.27.5 - version: 0.27.7 + specifier: ^0.28.0 + version: 0.28.0 eslint: specifier: ^9.39.4 version: 9.39.4 @@ -2854,6 +2854,12 @@ packages: cpu: [ppc64] os: [aix] + '@esbuild/aix-ppc64@0.28.0': + resolution: {integrity: sha512-lhRUCeuOyJQURhTxl4WkpFTjIsbDayJHih5kZC1giwE+MhIzAb7mEsQMqMf18rHLsrb5qI1tafG20mLxEWcWlA==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [aix] + '@esbuild/android-arm64@0.25.12': resolution: {integrity: sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg==} engines: {node: '>=18'} @@ -2866,6 +2872,12 @@ packages: cpu: [arm64] os: [android] + '@esbuild/android-arm64@0.28.0': + resolution: {integrity: sha512-+WzIXQOSaGs33tLEgYPYe/yQHf0WTU0X42Jca3y8NWMbUVhp7rUnw+vAsRC/QiDrdD31IszMrZy+qwPOPjd+rw==} + engines: {node: '>=18'} + cpu: [arm64] + os: [android] + '@esbuild/android-arm@0.25.12': resolution: {integrity: sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg==} engines: {node: '>=18'} @@ -2878,6 +2890,12 @@ packages: cpu: [arm] os: [android] + '@esbuild/android-arm@0.28.0': + resolution: {integrity: sha512-wqh0ByljabXLKHeWXYLqoJ5jKC4XBaw6Hk08OfMrCRd2nP2ZQ5eleDZC41XHyCNgktBGYMbqnrJKq/K/lzPMSQ==} + engines: {node: '>=18'} + cpu: [arm] + os: [android] + '@esbuild/android-x64@0.25.12': resolution: {integrity: sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg==} engines: {node: '>=18'} @@ -2890,6 +2908,12 @@ packages: cpu: [x64] os: [android] + '@esbuild/android-x64@0.28.0': + resolution: {integrity: sha512-+VJggoaKhk2VNNqVL7f6S189UzShHC/mR9EE8rDdSkdpN0KflSwWY/gWjDrNxxisg8Fp1ZCD9jLMo4m0OUfeUA==} + engines: {node: '>=18'} + cpu: [x64] + os: [android] + '@esbuild/darwin-arm64@0.25.12': resolution: {integrity: sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg==} engines: {node: '>=18'} @@ -2902,6 +2926,12 @@ packages: cpu: [arm64] os: [darwin] + '@esbuild/darwin-arm64@0.28.0': + resolution: {integrity: sha512-0T+A9WZm+bZ84nZBtk1ckYsOvyA3x7e2Acj1KdVfV4/2tdG4fzUp91YHx+GArWLtwqp77pBXVCPn2We7Letr0Q==} + engines: {node: '>=18'} + cpu: [arm64] + os: [darwin] + '@esbuild/darwin-x64@0.25.12': resolution: {integrity: sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA==} engines: {node: '>=18'} @@ -2914,6 +2944,12 @@ packages: cpu: [x64] os: [darwin] + '@esbuild/darwin-x64@0.28.0': + resolution: {integrity: sha512-fyzLm/DLDl/84OCfp2f/XQ4flmORsjU7VKt8HLjvIXChJoFFOIL6pLJPH4Yhd1n1gGFF9mPwtlN5Wf82DZs+LQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [darwin] + '@esbuild/freebsd-arm64@0.25.12': resolution: {integrity: sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg==} engines: {node: '>=18'} @@ -2926,6 +2962,12 @@ packages: cpu: [arm64] os: [freebsd] + '@esbuild/freebsd-arm64@0.28.0': + resolution: {integrity: sha512-l9GeW5UZBT9k9brBYI+0WDffcRxgHQD8ShN2Ur4xWq/NFzUKm3k5lsH4PdaRgb2w7mI9u61nr2gI2mLI27Nh3Q==} + engines: {node: '>=18'} + cpu: [arm64] + os: [freebsd] + '@esbuild/freebsd-x64@0.25.12': resolution: {integrity: sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ==} engines: {node: '>=18'} @@ -2938,6 +2980,12 @@ packages: cpu: [x64] os: [freebsd] + '@esbuild/freebsd-x64@0.28.0': + resolution: {integrity: sha512-BXoQai/A0wPO6Es3yFJ7APCiKGc1tdAEOgeTNy3SsB491S3aHn4S4r3e976eUnPdU+NbdtmBuLncYir2tMU9Nw==} + engines: {node: '>=18'} + cpu: [x64] + os: [freebsd] + '@esbuild/linux-arm64@0.25.12': resolution: {integrity: sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ==} engines: {node: '>=18'} @@ -2950,6 +2998,12 @@ packages: cpu: [arm64] os: [linux] + '@esbuild/linux-arm64@0.28.0': + resolution: {integrity: sha512-RVyzfb3FWsGA55n6WY0MEIEPURL1FcbhFE6BffZEMEekfCzCIMtB5yyDcFnVbTnwk+CLAgTujmV/Lgvih56W+A==} + engines: {node: '>=18'} + cpu: [arm64] + os: [linux] + '@esbuild/linux-arm@0.25.12': resolution: {integrity: sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw==} engines: {node: '>=18'} @@ -2962,6 +3016,12 @@ packages: cpu: [arm] os: [linux] + '@esbuild/linux-arm@0.28.0': + resolution: {integrity: sha512-CjaaREJagqJp7iTaNQjjidaNbCKYcd4IDkzbwwxtSvjI7NZm79qiHc8HqciMddQ6CKvJT6aBd8lO9kN/ZudLlw==} + engines: {node: '>=18'} + cpu: [arm] + os: [linux] + '@esbuild/linux-ia32@0.25.12': resolution: {integrity: sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA==} engines: {node: '>=18'} @@ -2974,6 +3034,12 @@ packages: cpu: [ia32] os: [linux] + '@esbuild/linux-ia32@0.28.0': + resolution: {integrity: sha512-KBnSTt1kxl9x70q+ydterVdl+Cn0H18ngRMRCEQfrbqdUuntQQ0LoMZv47uB97NljZFzY6HcfqEZ2SAyIUTQBQ==} + engines: {node: '>=18'} + cpu: [ia32] + os: [linux] + '@esbuild/linux-loong64@0.25.12': resolution: {integrity: sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng==} engines: {node: '>=18'} @@ -2986,6 +3052,12 @@ packages: cpu: [loong64] os: [linux] + '@esbuild/linux-loong64@0.28.0': + resolution: {integrity: sha512-zpSlUce1mnxzgBADvxKXX5sl8aYQHo2ezvMNI8I0lbblJtp8V4odlm3Yzlj7gPyt3T8ReksE6bK+pT3WD+aJRg==} + engines: {node: '>=18'} + cpu: [loong64] + os: [linux] + '@esbuild/linux-mips64el@0.25.12': resolution: {integrity: sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw==} engines: {node: '>=18'} @@ -2998,6 +3070,12 @@ packages: cpu: [mips64el] os: [linux] + '@esbuild/linux-mips64el@0.28.0': + resolution: {integrity: sha512-2jIfP6mmjkdmeTlsX/9vmdmhBmKADrWqN7zcdtHIeNSCH1SqIoNI63cYsjQR8J+wGa4Y5izRcSHSm8K3QWmk3w==} + engines: {node: '>=18'} + cpu: [mips64el] + os: [linux] + '@esbuild/linux-ppc64@0.25.12': resolution: {integrity: sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA==} engines: {node: '>=18'} @@ -3010,6 +3088,12 @@ packages: cpu: [ppc64] os: [linux] + '@esbuild/linux-ppc64@0.28.0': + resolution: {integrity: sha512-bc0FE9wWeC0WBm49IQMPSPILRocGTQt3j5KPCA8os6VprfuJ7KD+5PzESSrJ6GmPIPJK965ZJHTUlSA6GNYEhg==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [linux] + '@esbuild/linux-riscv64@0.25.12': resolution: {integrity: sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w==} engines: {node: '>=18'} @@ -3022,6 +3106,12 @@ packages: cpu: [riscv64] os: [linux] + '@esbuild/linux-riscv64@0.28.0': + resolution: {integrity: sha512-SQPZOwoTTT/HXFXQJG/vBX8sOFagGqvZyXcgLA3NhIqcBv1BJU1d46c0rGcrij2B56Z2rNiSLaZOYW5cUk7yLQ==} + engines: {node: '>=18'} + cpu: [riscv64] + os: [linux] + '@esbuild/linux-s390x@0.25.12': resolution: {integrity: sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg==} engines: {node: '>=18'} @@ -3034,6 +3124,12 @@ packages: cpu: [s390x] os: [linux] + '@esbuild/linux-s390x@0.28.0': + resolution: {integrity: sha512-SCfR0HN8CEEjnYnySJTd2cw0k9OHB/YFzt5zgJEwa+wL/T/raGWYMBqwDNAC6dqFKmJYZoQBRfHjgwLHGSrn3Q==} + engines: {node: '>=18'} + cpu: [s390x] + os: [linux] + '@esbuild/linux-x64@0.25.12': resolution: {integrity: sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw==} engines: {node: '>=18'} @@ -3046,6 +3142,12 @@ packages: cpu: [x64] os: [linux] + '@esbuild/linux-x64@0.28.0': + resolution: {integrity: sha512-us0dSb9iFxIi8srnpl931Nvs65it/Jd2a2K3qs7fz2WfGPHqzfzZTfec7oxZJRNPXPnNYZtanmRc4AL/JwVzHQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [linux] + '@esbuild/netbsd-arm64@0.25.12': resolution: {integrity: sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg==} engines: {node: '>=18'} @@ -3058,6 +3160,12 @@ packages: cpu: [arm64] os: [netbsd] + '@esbuild/netbsd-arm64@0.28.0': + resolution: {integrity: sha512-CR/RYotgtCKwtftMwJlUU7xCVNg3lMYZ0RzTmAHSfLCXw3NtZtNpswLEj/Kkf6kEL3Gw+BpOekRX0BYCtklhUw==} + engines: {node: '>=18'} + cpu: [arm64] + os: [netbsd] + '@esbuild/netbsd-x64@0.25.12': resolution: {integrity: sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ==} engines: {node: '>=18'} @@ -3070,6 +3178,12 @@ packages: cpu: [x64] os: [netbsd] + '@esbuild/netbsd-x64@0.28.0': + resolution: {integrity: sha512-nU1yhmYutL+fQ71Kxnhg8uEOdC0pwEW9entHykTgEbna2pw2dkbFSMeqjjyHZoCmt8SBkOSvV+yNmm94aUrrqw==} + engines: {node: '>=18'} + cpu: [x64] + os: [netbsd] + '@esbuild/openbsd-arm64@0.25.12': resolution: {integrity: sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A==} engines: {node: '>=18'} @@ -3082,6 +3196,12 @@ packages: cpu: [arm64] os: [openbsd] + '@esbuild/openbsd-arm64@0.28.0': + resolution: {integrity: sha512-cXb5vApOsRsxsEl4mcZ1XY3D4DzcoMxR/nnc4IyqYs0rTI8ZKmW6kyyg+11Z8yvgMfAEldKzP7AdP64HnSC/6g==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openbsd] + '@esbuild/openbsd-x64@0.25.12': resolution: {integrity: sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw==} engines: {node: '>=18'} @@ -3094,6 +3214,12 @@ packages: cpu: [x64] os: [openbsd] + '@esbuild/openbsd-x64@0.28.0': + resolution: {integrity: sha512-8wZM2qqtv9UP3mzy7HiGYNH/zjTA355mpeuA+859TyR+e+Tc08IHYpLJuMsfpDJwoLo1ikIJI8jC3GFjnRClzA==} + engines: {node: '>=18'} + cpu: [x64] + os: [openbsd] + '@esbuild/openharmony-arm64@0.25.12': resolution: {integrity: sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg==} engines: {node: '>=18'} @@ -3106,6 +3232,12 @@ packages: cpu: [arm64] os: [openharmony] + '@esbuild/openharmony-arm64@0.28.0': + resolution: {integrity: sha512-FLGfyizszcef5C3YtoyQDACyg95+dndv79i2EekILBofh5wpCa1KuBqOWKrEHZg3zrL3t5ouE5jgr94vA+Wb2w==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openharmony] + '@esbuild/sunos-x64@0.25.12': resolution: {integrity: sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w==} engines: {node: '>=18'} @@ -3118,6 +3250,12 @@ packages: cpu: [x64] os: [sunos] + '@esbuild/sunos-x64@0.28.0': + resolution: {integrity: sha512-1ZgjUoEdHZZl/YlV76TSCz9Hqj9h9YmMGAgAPYd+q4SicWNX3G5GCyx9uhQWSLcbvPW8Ni7lj4gDa1T40akdlw==} + engines: {node: '>=18'} + cpu: [x64] + os: [sunos] + '@esbuild/win32-arm64@0.25.12': resolution: {integrity: sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg==} engines: {node: '>=18'} @@ -3130,6 +3268,12 @@ packages: cpu: [arm64] os: [win32] + '@esbuild/win32-arm64@0.28.0': + resolution: {integrity: sha512-Q9StnDmQ/enxnpxCCLSg0oo4+34B9TdXpuyPeTedN/6+iXBJ4J+zwfQI28u/Jl40nOYAxGoNi7mFP40RUtkmUA==} + engines: {node: '>=18'} + cpu: [arm64] + os: [win32] + '@esbuild/win32-ia32@0.25.12': resolution: {integrity: sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ==} engines: {node: '>=18'} @@ -3142,6 +3286,12 @@ packages: cpu: [ia32] os: [win32] + '@esbuild/win32-ia32@0.28.0': + resolution: {integrity: sha512-zF3ag/gfiCe6U2iczcRzSYJKH1DCI+ByzSENHlM2FcDbEeo5Zd2C86Aq0tKUYAJJ1obRP84ymxIAksZUcdztHA==} + engines: {node: '>=18'} + cpu: [ia32] + os: [win32] + '@esbuild/win32-x64@0.25.12': resolution: {integrity: sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA==} engines: {node: '>=18'} @@ -3154,6 +3304,12 @@ packages: cpu: [x64] os: [win32] + '@esbuild/win32-x64@0.28.0': + resolution: {integrity: sha512-pEl1bO9mfAmIC+tW5btTmrKaujg3zGtUmWNdCw/xs70FBjwAL3o9OEKNHvNmnyylD6ubxUERiEhdsL0xBQ9efw==} + engines: {node: '>=18'} + cpu: [x64] + os: [win32] + '@eslint-community/eslint-utils@4.9.1': resolution: {integrity: sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -6687,6 +6843,11 @@ packages: engines: {node: '>=18'} hasBin: true + esbuild@0.28.0: + resolution: {integrity: sha512-sNR9MHpXSUV/XB4zmsFKN+QgVG82Cc7+/aaxJ8Adi8hyOac+EXptIp45QBPaVyX3N70664wRbTcLTOemCAnyqw==} + engines: {node: '>=18'} + hasBin: true + escalade@3.2.0: resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} engines: {node: '>=6'} @@ -11454,7 +11615,7 @@ snapshots: '@esbuild-kit/core-utils@3.3.2': dependencies: - esbuild: 0.27.7 + esbuild: 0.28.0 source-map-support: 0.5.21 '@esbuild-kit/esm-loader@2.6.5': @@ -11468,156 +11629,234 @@ snapshots: '@esbuild/aix-ppc64@0.27.7': optional: true + '@esbuild/aix-ppc64@0.28.0': + optional: true + '@esbuild/android-arm64@0.25.12': optional: true '@esbuild/android-arm64@0.27.7': optional: true + '@esbuild/android-arm64@0.28.0': + optional: true + '@esbuild/android-arm@0.25.12': optional: true '@esbuild/android-arm@0.27.7': optional: true + '@esbuild/android-arm@0.28.0': + optional: true + '@esbuild/android-x64@0.25.12': optional: true '@esbuild/android-x64@0.27.7': optional: true + '@esbuild/android-x64@0.28.0': + optional: true + '@esbuild/darwin-arm64@0.25.12': optional: true '@esbuild/darwin-arm64@0.27.7': optional: true + '@esbuild/darwin-arm64@0.28.0': + optional: true + '@esbuild/darwin-x64@0.25.12': optional: true '@esbuild/darwin-x64@0.27.7': optional: true + '@esbuild/darwin-x64@0.28.0': + optional: true + '@esbuild/freebsd-arm64@0.25.12': optional: true '@esbuild/freebsd-arm64@0.27.7': optional: true + '@esbuild/freebsd-arm64@0.28.0': + optional: true + '@esbuild/freebsd-x64@0.25.12': optional: true '@esbuild/freebsd-x64@0.27.7': optional: true + '@esbuild/freebsd-x64@0.28.0': + optional: true + '@esbuild/linux-arm64@0.25.12': optional: true '@esbuild/linux-arm64@0.27.7': optional: true + '@esbuild/linux-arm64@0.28.0': + optional: true + '@esbuild/linux-arm@0.25.12': optional: true '@esbuild/linux-arm@0.27.7': optional: true + '@esbuild/linux-arm@0.28.0': + optional: true + '@esbuild/linux-ia32@0.25.12': optional: true '@esbuild/linux-ia32@0.27.7': optional: true + '@esbuild/linux-ia32@0.28.0': + optional: true + '@esbuild/linux-loong64@0.25.12': optional: true '@esbuild/linux-loong64@0.27.7': optional: true + '@esbuild/linux-loong64@0.28.0': + optional: true + '@esbuild/linux-mips64el@0.25.12': optional: true '@esbuild/linux-mips64el@0.27.7': optional: true + '@esbuild/linux-mips64el@0.28.0': + optional: true + '@esbuild/linux-ppc64@0.25.12': optional: true '@esbuild/linux-ppc64@0.27.7': optional: true + '@esbuild/linux-ppc64@0.28.0': + optional: true + '@esbuild/linux-riscv64@0.25.12': optional: true '@esbuild/linux-riscv64@0.27.7': optional: true + '@esbuild/linux-riscv64@0.28.0': + optional: true + '@esbuild/linux-s390x@0.25.12': optional: true '@esbuild/linux-s390x@0.27.7': optional: true + '@esbuild/linux-s390x@0.28.0': + optional: true + '@esbuild/linux-x64@0.25.12': optional: true '@esbuild/linux-x64@0.27.7': optional: true + '@esbuild/linux-x64@0.28.0': + optional: true + '@esbuild/netbsd-arm64@0.25.12': optional: true '@esbuild/netbsd-arm64@0.27.7': optional: true + '@esbuild/netbsd-arm64@0.28.0': + optional: true + '@esbuild/netbsd-x64@0.25.12': optional: true '@esbuild/netbsd-x64@0.27.7': optional: true + '@esbuild/netbsd-x64@0.28.0': + optional: true + '@esbuild/openbsd-arm64@0.25.12': optional: true '@esbuild/openbsd-arm64@0.27.7': optional: true + '@esbuild/openbsd-arm64@0.28.0': + optional: true + '@esbuild/openbsd-x64@0.25.12': optional: true '@esbuild/openbsd-x64@0.27.7': optional: true + '@esbuild/openbsd-x64@0.28.0': + optional: true + '@esbuild/openharmony-arm64@0.25.12': optional: true '@esbuild/openharmony-arm64@0.27.7': optional: true + '@esbuild/openharmony-arm64@0.28.0': + optional: true + '@esbuild/sunos-x64@0.25.12': optional: true '@esbuild/sunos-x64@0.27.7': optional: true + '@esbuild/sunos-x64@0.28.0': + optional: true + '@esbuild/win32-arm64@0.25.12': optional: true '@esbuild/win32-arm64@0.27.7': optional: true + '@esbuild/win32-arm64@0.28.0': + optional: true + '@esbuild/win32-ia32@0.25.12': optional: true '@esbuild/win32-ia32@0.27.7': optional: true + '@esbuild/win32-ia32@0.28.0': + optional: true + '@esbuild/win32-x64@0.25.12': optional: true '@esbuild/win32-x64@0.27.7': optional: true + '@esbuild/win32-x64@0.28.0': + optional: true + '@eslint-community/eslint-utils@4.9.1(eslint@9.39.4)': dependencies: eslint: 9.39.4 @@ -15699,6 +15938,35 @@ snapshots: '@esbuild/win32-ia32': 0.27.7 '@esbuild/win32-x64': 0.27.7 + esbuild@0.28.0: + optionalDependencies: + '@esbuild/aix-ppc64': 0.28.0 + '@esbuild/android-arm': 0.28.0 + '@esbuild/android-arm64': 0.28.0 + '@esbuild/android-x64': 0.28.0 + '@esbuild/darwin-arm64': 0.28.0 + '@esbuild/darwin-x64': 0.28.0 + '@esbuild/freebsd-arm64': 0.28.0 + '@esbuild/freebsd-x64': 0.28.0 + '@esbuild/linux-arm': 0.28.0 + '@esbuild/linux-arm64': 0.28.0 + '@esbuild/linux-ia32': 0.28.0 + '@esbuild/linux-loong64': 0.28.0 + '@esbuild/linux-mips64el': 0.28.0 + '@esbuild/linux-ppc64': 0.28.0 + '@esbuild/linux-riscv64': 0.28.0 + '@esbuild/linux-s390x': 0.28.0 + '@esbuild/linux-x64': 0.28.0 + '@esbuild/netbsd-arm64': 0.28.0 + '@esbuild/netbsd-x64': 0.28.0 + '@esbuild/openbsd-arm64': 0.28.0 + '@esbuild/openbsd-x64': 0.28.0 + '@esbuild/openharmony-arm64': 0.28.0 + '@esbuild/sunos-x64': 0.28.0 + '@esbuild/win32-arm64': 0.28.0 + '@esbuild/win32-ia32': 0.28.0 + '@esbuild/win32-x64': 0.28.0 + escalade@3.2.0: {} escape-goat@2.1.1: {} From cd2d0ba53fd31522966b83c3848d3cb5f5f1f70a Mon Sep 17 00:00:00 2001 From: "homarr-renovate[bot]" <158783068+homarr-renovate[bot]@users.noreply.github.com> Date: Wed, 8 Apr 2026 18:14:49 +0200 Subject: [PATCH 30/49] chore(deps): update dependency esbuild@<=0.24.2 to >=0.28.0 (#5436) Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com> --- package.json | 2 +- pnpm-lock.yaml | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index a576f89cb..5cfb85f22 100644 --- a/package.json +++ b/package.json @@ -82,7 +82,7 @@ "axios@>=1.0.0 <1.8.2": ">=1.14.0", "brace-expansion@>=2.0.0 <=2.0.1": ">=5.0.5", "brace-expansion@>=1.0.0 <=1.1.11": ">=5.0.5", - "esbuild@<=0.24.2": ">=0.27.5", + "esbuild@<=0.24.2": ">=0.28.0", "form-data@>=4.0.0 <4.0.4": ">=4.0.5", "hono@<4.6.5": ">=4.12.10", "linkifyjs@<4.3.2": ">=4.3.2", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f9ffa1277..1ebfd43b3 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10,7 +10,7 @@ overrides: axios@>=1.0.0 <1.8.2: '>=1.14.0' brace-expansion@>=2.0.0 <=2.0.1: '>=5.0.5' brace-expansion@>=1.0.0 <=1.1.11: '>=5.0.5' - esbuild@<=0.24.2: '>=0.27.5' + esbuild@<=0.24.2: '>=0.28.0' form-data@>=4.0.0 <4.0.4: '>=4.0.5' hono@<4.6.5: '>=4.12.10' linkifyjs@<4.3.2: '>=4.3.2' @@ -12506,7 +12506,7 @@ snapshots: '@rrweb/types': 2.0.0-alpha.16 babel-plugin-syntax-hermes-parser: 0.21.1 ci-info: 4.0.0 - esbuild: 0.27.7 + esbuild: 0.28.0 faster-babel-types: 0.1.0(@babel/types@7.26.0) hono: 4.12.10 isomorphic-fetch: 3.0.0 From 154ad1e01eadd19b8376bf2fdaf6af64a098b5b4 Mon Sep 17 00:00:00 2001 From: "homarr-crowdin[bot]" <190541745+homarr-crowdin[bot]@users.noreply.github.com> Date: Thu, 9 Apr 2026 01:09:23 +0000 Subject: [PATCH 31/49] chore(lang): updated translations from crowdin Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com> --- packages/translation/src/lang/en-gb.json | 112 +++++++++++------------ 1 file changed, 56 insertions(+), 56 deletions(-) diff --git a/packages/translation/src/lang/en-gb.json b/packages/translation/src/lang/en-gb.json index 3154723ed..8edd4057b 100644 --- a/packages/translation/src/lang/en-gb.json +++ b/packages/translation/src/lang/en-gb.json @@ -2051,103 +2051,103 @@ } }, "recentActivity": { - "title": "", - "empty": "", - "watched": "", - "partial": "" + "title": "Recent Activity", + "empty": "No recent activity", + "watched": "Watched", + "partial": "Partial" }, "violations": { - "title": "", - "empty": "", - "rule": "", - "user": "" + "title": "Violations", + "empty": "No recent violations", + "rule": "Rule", + "user": "User" }, - "noSectionsEnabled": "", + "noSectionsEnabled": "No sections enabled", "error": { - "noIntegration": "", - "internalServerError": "" + "noIntegration": "No Tracearr integration configured", + "internalServerError": "Failed to fetch Tracearr data" } }, "common": { "location": { - "query": "", - "latitude": "", - "longitude": "", - "disabledTooltip": "", - "unknownLocation": "", - "search": "", + "query": "City / Postal code", + "latitude": "Latitude", + "longitude": "Longitude", + "disabledTooltip": "Please enter a city or postal code", + "unknownLocation": "Unknown location", + "search": "Search", "table": { "header": { - "city": "", - "country": "", - "coordinates": "", - "population": "" + "city": "City", + "country": "Country", + "coordinates": "Coordinates", + "population": "Population" }, "action": { - "select": "" + "select": "Select {city}, {countryCode}" }, "population": { - "fallback": "" + "fallback": "Unknown" } } }, "integration": { - "noData": "", - "description": "" + "noData": "No integration found", + "description": "Click to create a new integration" }, "app": { - "noData": "", - "description": "", - "quickCreate": "" + "noData": "No app found", + "description": "Click to create a new app", + "quickCreate": "Create app on the fly" }, "error": { - "noIntegration": "", - "noData": "" + "noIntegration": "No integration selected", + "noData": "No integration data available" }, "option": {} }, "video": { - "name": "", - "description": "", + "name": "Video Stream", + "description": "Embed a video stream or video from a camera or a website", "option": { "feedUrl": { - "label": "" + "label": "Feed URL" }, "hasAutoPlay": { - "label": "", - "description": "" + "label": "Autoplay", + "description": "Autoplay only works when muted because of browser restrictions" }, "isMuted": { - "label": "" + "label": "Muted" }, "hasControls": { - "label": "" + "label": "Show controls" } }, "error": { - "noUrl": "", - "forYoutubeUseIframe": "" + "noUrl": "No Video URL provided", + "forYoutubeUseIframe": "For YouTube videos use the iframe option" } }, "mediaServer": { - "name": "", - "description": "", + "name": "Current media server streams", + "description": "Show the current streams on your media servers", "option": { "showOnlyPlaying": { - "label": "", - "description": "" + "label": "Show only currently playing", + "description": "Disabling this will not work for Plex" } }, "items": { - "currentlyPlaying": "", - "user": "", - "name": "", - "id": "", + "currentlyPlaying": "Currently playing", + "user": "User", + "name": "Name", + "id": "Id", "metadata": { - "title": "", + "title": "Stats for nerds", "video": { - "title": "", - "resolution": "" + "title": "Video", + "resolution": "Resolution" }, "audio": { "title": "", @@ -4384,12 +4384,12 @@ "description": "" }, "torrent": { - "name": "", - "description": "" + "name": "Torrents", + "description": "Search for torrents on torrentdownloads.pro" }, "youTube": { - "name": "", - "description": "" + "name": "YouTube", + "description": "Search for videos on YouTube" } } } @@ -4398,10 +4398,10 @@ "help": { "group": { "mode": { - "title": "" + "title": "Modes" }, "help": { - "title": "", + "title": "Help", "option": { "documentation": { "label": "Documentation" From 8cab4b03333050376ae22a14eaaa1c0f045992d3 Mon Sep 17 00:00:00 2001 From: "homarr-renovate[bot]" <158783068+homarr-renovate[bot]@users.noreply.github.com> Date: Thu, 9 Apr 2026 14:14:48 +0000 Subject: [PATCH 32/49] fix(deps): update tiptap monorepo to v3.22.2 (#5448) Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com> --- packages/widgets/package.json | 32 +- pnpm-lock.yaml | 552 +++++++++++++++++----------------- 2 files changed, 292 insertions(+), 292 deletions(-) diff --git a/packages/widgets/package.json b/packages/widgets/package.json index 3793e4cb2..db2e0d820 100644 --- a/packages/widgets/package.json +++ b/packages/widgets/package.json @@ -52,22 +52,22 @@ "@mantine/core": "^8.3.18", "@mantine/hooks": "^8.3.18", "@tabler/icons-react": "^3.41.1", - "@tiptap/extension-color": "3.22.1", - "@tiptap/extension-highlight": "3.22.1", - "@tiptap/extension-image": "3.22.1", - "@tiptap/extension-link": "^3.22.1", - "@tiptap/extension-placeholder": "^3.22.1", - "@tiptap/extension-table": "3.22.1", - "@tiptap/extension-table-cell": "3.22.1", - "@tiptap/extension-table-header": "3.22.1", - "@tiptap/extension-table-row": "3.22.1", - "@tiptap/extension-task-item": "3.22.1", - "@tiptap/extension-task-list": "3.22.1", - "@tiptap/extension-text-align": "3.22.1", - "@tiptap/extension-text-style": "3.22.1", - "@tiptap/extension-underline": "3.22.1", - "@tiptap/react": "^3.22.1", - "@tiptap/starter-kit": "^3.22.1", + "@tiptap/extension-color": "3.22.2", + "@tiptap/extension-highlight": "3.22.2", + "@tiptap/extension-image": "3.22.2", + "@tiptap/extension-link": "^3.22.2", + "@tiptap/extension-placeholder": "^3.22.2", + "@tiptap/extension-table": "3.22.2", + "@tiptap/extension-table-cell": "3.22.2", + "@tiptap/extension-table-header": "3.22.2", + "@tiptap/extension-table-row": "3.22.2", + "@tiptap/extension-task-item": "3.22.2", + "@tiptap/extension-task-list": "3.22.2", + "@tiptap/extension-text-align": "3.22.2", + "@tiptap/extension-text-style": "3.22.2", + "@tiptap/extension-underline": "3.22.2", + "@tiptap/react": "^3.22.2", + "@tiptap/starter-kit": "^3.22.2", "clsx": "^2.1.1", "dayjs": "^1.11.20", "mantine-form-zod-resolver": "^1.3.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 1ebfd43b3..7b02ed69c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -225,7 +225,7 @@ importers: version: 8.3.18(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@mantine/hooks@8.3.18(react@19.2.4))(react-dom@19.2.4(react@19.2.4))(react@19.2.4) '@mantine/tiptap': specifier: ^8.3.18 - version: 8.3.18(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@mantine/hooks@8.3.18(react@19.2.4))(@tiptap/extension-link@3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1))(@tiptap/react@3.22.1(@floating-ui/dom@1.7.4)(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + version: 8.3.18(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@mantine/hooks@8.3.18(react@19.2.4))(@tiptap/extension-link@3.22.2(@tiptap/core@3.22.2(@tiptap/pm@3.22.2))(@tiptap/pm@3.22.2))(@tiptap/react@3.22.2(@floating-ui/dom@1.7.4)(@tiptap/core@3.22.2(@tiptap/pm@3.22.2))(@tiptap/pm@3.22.2)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(react-dom@19.2.4(react@19.2.4))(react@19.2.4) '@million/lint': specifier: 1.0.14 version: 1.0.14(webpack-sources@3.3.4) @@ -2255,53 +2255,53 @@ importers: specifier: ^3.41.1 version: 3.41.1(react@19.2.4) '@tiptap/extension-color': - specifier: 3.22.1 - version: 3.22.1(@tiptap/extension-text-style@3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))) + specifier: 3.22.2 + version: 3.22.2(@tiptap/extension-text-style@3.22.2(@tiptap/core@3.22.2(@tiptap/pm@3.22.2))) '@tiptap/extension-highlight': - specifier: 3.22.1 - version: 3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1)) + specifier: 3.22.2 + version: 3.22.2(@tiptap/core@3.22.2(@tiptap/pm@3.22.2)) '@tiptap/extension-image': - specifier: 3.22.1 - version: 3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1)) + specifier: 3.22.2 + version: 3.22.2(@tiptap/core@3.22.2(@tiptap/pm@3.22.2)) '@tiptap/extension-link': - specifier: ^3.22.1 - version: 3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1) + specifier: ^3.22.2 + version: 3.22.2(@tiptap/core@3.22.2(@tiptap/pm@3.22.2))(@tiptap/pm@3.22.2) '@tiptap/extension-placeholder': - specifier: ^3.22.1 - version: 3.22.1(@tiptap/extensions@3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1)) + specifier: ^3.22.2 + version: 3.22.2(@tiptap/extensions@3.22.2(@tiptap/core@3.22.2(@tiptap/pm@3.22.2))(@tiptap/pm@3.22.2)) '@tiptap/extension-table': - specifier: 3.22.1 - version: 3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1) + specifier: 3.22.2 + version: 3.22.2(@tiptap/core@3.22.2(@tiptap/pm@3.22.2))(@tiptap/pm@3.22.2) '@tiptap/extension-table-cell': - specifier: 3.22.1 - version: 3.22.1(@tiptap/extension-table@3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1)) + specifier: 3.22.2 + version: 3.22.2(@tiptap/extension-table@3.22.2(@tiptap/core@3.22.2(@tiptap/pm@3.22.2))(@tiptap/pm@3.22.2)) '@tiptap/extension-table-header': - specifier: 3.22.1 - version: 3.22.1(@tiptap/extension-table@3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1)) + specifier: 3.22.2 + version: 3.22.2(@tiptap/extension-table@3.22.2(@tiptap/core@3.22.2(@tiptap/pm@3.22.2))(@tiptap/pm@3.22.2)) '@tiptap/extension-table-row': - specifier: 3.22.1 - version: 3.22.1(@tiptap/extension-table@3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1)) + specifier: 3.22.2 + version: 3.22.2(@tiptap/extension-table@3.22.2(@tiptap/core@3.22.2(@tiptap/pm@3.22.2))(@tiptap/pm@3.22.2)) '@tiptap/extension-task-item': - specifier: 3.22.1 - version: 3.22.1(@tiptap/extension-list@3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1)) + specifier: 3.22.2 + version: 3.22.2(@tiptap/extension-list@3.22.2(@tiptap/core@3.22.2(@tiptap/pm@3.22.2))(@tiptap/pm@3.22.2)) '@tiptap/extension-task-list': - specifier: 3.22.1 - version: 3.22.1(@tiptap/extension-list@3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1)) + specifier: 3.22.2 + version: 3.22.2(@tiptap/extension-list@3.22.2(@tiptap/core@3.22.2(@tiptap/pm@3.22.2))(@tiptap/pm@3.22.2)) '@tiptap/extension-text-align': - specifier: 3.22.1 - version: 3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1)) + specifier: 3.22.2 + version: 3.22.2(@tiptap/core@3.22.2(@tiptap/pm@3.22.2)) '@tiptap/extension-text-style': - specifier: 3.22.1 - version: 3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1)) + specifier: 3.22.2 + version: 3.22.2(@tiptap/core@3.22.2(@tiptap/pm@3.22.2)) '@tiptap/extension-underline': - specifier: 3.22.1 - version: 3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1)) + specifier: 3.22.2 + version: 3.22.2(@tiptap/core@3.22.2(@tiptap/pm@3.22.2)) '@tiptap/react': - specifier: ^3.22.1 - version: 3.22.1(@floating-ui/dom@1.7.4)(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + specifier: ^3.22.2 + version: 3.22.2(@floating-ui/dom@1.7.4)(@tiptap/core@3.22.2(@tiptap/pm@3.22.2))(@tiptap/pm@3.22.2)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) '@tiptap/starter-kit': - specifier: ^3.22.1 - version: 3.22.1 + specifier: ^3.22.2 + version: 3.22.2 clsx: specifier: ^2.1.1 version: 2.1.1 @@ -4819,215 +4819,215 @@ packages: '@testcontainers/redis@11.13.0': resolution: {integrity: sha512-Wx4oFLpR6/khRTFUUX7Nl8cCcjk85mpIWjwTe/PI39skdEG0QaJMAaeZG2r6fEB1YyXtSQGtiZiBUMafbRfh7w==} - '@tiptap/core@3.22.1': - resolution: {integrity: sha512-6wPNhkdLIGYiKAGqepDCRtR0TYGJxV40SwOEN2vlPhsXqAgzmyG37UyREj5pGH5xTekugqMCgCnyRg7m5nYoYQ==} + '@tiptap/core@3.22.2': + resolution: {integrity: sha512-atq35NkpeEphH6vNYJ0pTLLBA73FAbvTV9Ovd3AaTC5s99/KF5Q86zVJXvml8xPRcMGM6dLp+eSSd06oTscMSA==} peerDependencies: - '@tiptap/pm': ^3.22.1 + '@tiptap/pm': ^3.22.2 - '@tiptap/extension-blockquote@3.22.1': - resolution: {integrity: sha512-omPsJ/IMAZYhXqOaEenYE+HA9U2zju5rQbAn6Xktynvr4A5P95jqkgAwncXB82pCkNYU/uYxi51vyTweTeEUHA==} + '@tiptap/extension-blockquote@3.22.2': + resolution: {integrity: sha512-iTdlmGFcgxi4LKaOW2Rc9/yD83qTXgRm5BN3vCHWy5+TbEnReYxYqU5qKsbtTbKy30sO8TJTdAXTZ29uomShQQ==} peerDependencies: - '@tiptap/core': ^3.22.1 + '@tiptap/core': ^3.22.2 - '@tiptap/extension-bold@3.22.1': - resolution: {integrity: sha512-0+q6Apu1Vx2+ReB2ktTpBrQ5/dCvGzTkJCy+MZ/t8WBcybqFXOKYRCr/i/VGPDpXZttxpk0EPl0+ao+NVcUTAA==} + '@tiptap/extension-bold@3.22.2': + resolution: {integrity: sha512-bqsPJyKcT/RWse4e16U2EKhraR8a2+98TUuk1amG3yCyFJZStoO/j+pN0IqZdZZjr3WtxFyvwWp7Kc59UN+jUA==} peerDependencies: - '@tiptap/core': ^3.22.1 + '@tiptap/core': ^3.22.2 - '@tiptap/extension-bubble-menu@3.22.1': - resolution: {integrity: sha512-JJI63N55hLPjfqHgBnbG1ORZTXJiswnfBkfNd8YKytCC8D++g5qX3UMObxmJKLMBRGyqjEi6krzOyYtOix5ALA==} + '@tiptap/extension-bubble-menu@3.22.2': + resolution: {integrity: sha512-5hbyDOSkJwA2uh0v9Mm0Dd9bb9inx6tHBEDSH2tCB9Rm23poz3yOreB7SNX8xDMe5L0/PQesfWC14RitcmhKPg==} peerDependencies: - '@tiptap/core': ^3.22.1 - '@tiptap/pm': ^3.22.1 + '@tiptap/core': ^3.22.2 + '@tiptap/pm': ^3.22.2 - '@tiptap/extension-bullet-list@3.22.1': - resolution: {integrity: sha512-83L+4N2JziWORbWtlsM0xBm3LOKIw4YtIm+Kh4amV5kGvIgIL5I1KYzoxv20qjgFX2k08LtLMwPdvPSPSh4e7g==} + '@tiptap/extension-bullet-list@3.22.2': + resolution: {integrity: sha512-llrTJnA72RGcWLLO+ro0QN4sjHynhaCerhpV+GZE/ATd8BqV/ekQFdBLJrvC/09My2XQfCwLsyCh92NPXUdELA==} peerDependencies: - '@tiptap/extension-list': ^3.22.1 + '@tiptap/extension-list': ^3.22.2 - '@tiptap/extension-code-block@3.22.1': - resolution: {integrity: sha512-fr3b1seFsAeYHtPAb9fbATkGcgyfStD05GHsZXFLh7yCpf2ejWLNxdWJT/g+FggSEHYFKCXT06aixk0WbtRcWw==} + '@tiptap/extension-code-block@3.22.2': + resolution: {integrity: sha512-PEwFlDyvtKF19WCrOFg77qJV9WqhvjCY4ZoXlHP9Hx0KTcOA8W39mtw8d4NWU5pLRK94yHKF1DVVL8UUkEOnww==} peerDependencies: - '@tiptap/core': ^3.22.1 - '@tiptap/pm': ^3.22.1 + '@tiptap/core': ^3.22.2 + '@tiptap/pm': ^3.22.2 - '@tiptap/extension-code@3.22.1': - resolution: {integrity: sha512-Ze+hjSLLCn+5gVpuE/Uv7mQ83AlG5A9OPsuDoyzTpJ2XNvZP2iZdwQMGqwXKC8eH7fIOJN6XQ3IDv/EhltQx/Q==} + '@tiptap/extension-code@3.22.2': + resolution: {integrity: sha512-iYFY+yzfYA9MKt7nupyW/PzqL9XC2D0mC8l1z2Y10i0/fGL8NbqIYjhNUAyXGqH3QWcI+DirI66842y2OadPOg==} peerDependencies: - '@tiptap/core': ^3.22.1 + '@tiptap/core': ^3.22.2 - '@tiptap/extension-color@3.22.1': - resolution: {integrity: sha512-Wgb6gpCQN/B3tS9UqDhZKyClxQDYTaimBV3O6kLxHdjtirapYW7YGKhY1bCb32/JxcOyoZj6caIEyyJLXUVhIA==} + '@tiptap/extension-color@3.22.2': + resolution: {integrity: sha512-yLbGpOjII3Jt1oGKdac1tsuzBmAaYv3ZZJLsHGqNf5PRiKGZlUyy9qu0tQm3kjunVqgQvUPcNe0nfwtLOvj4zg==} peerDependencies: - '@tiptap/extension-text-style': ^3.22.1 + '@tiptap/extension-text-style': ^3.22.2 - '@tiptap/extension-document@3.22.1': - resolution: {integrity: sha512-fBI/+PGtK6pzitqjSSSYL2+uZglX6T53zb5nLEmN/q8q7FzUuUpglp8toHVhBG05WDk4vx6Z7bC95uyxkYdoAA==} + '@tiptap/extension-document@3.22.2': + resolution: {integrity: sha512-yPw9pQeVC4QDh86TuyKCZxxM4g0NAw7mEtGnAo6EpxaBQr1wyBr9yFpys+QTsQpRTmyTf1VHp4iTTLuWHMljIw==} peerDependencies: - '@tiptap/core': ^3.22.1 + '@tiptap/core': ^3.22.2 - '@tiptap/extension-dropcursor@3.22.1': - resolution: {integrity: sha512-PuSNoTROZB564KpTG9ExVB3CsfRa0ridHx+1sWZajOBVZJiXSn4QlS/ShS509SOx8z17DyxEw06IH//OHY9XyQ==} + '@tiptap/extension-dropcursor@3.22.2': + resolution: {integrity: sha512-sDv3fv4LtX0X4nqwh9Gn3C/aZXT+C2JlK7tJovPOpaYP/a6hr03Sn35X5moAfgMCSiWFygEvlTriqwmCsJuxog==} peerDependencies: - '@tiptap/extensions': ^3.22.1 + '@tiptap/extensions': ^3.22.2 - '@tiptap/extension-floating-menu@3.22.1': - resolution: {integrity: sha512-TaZqmaoKv36FzbKTrBkkv74o0t8dYTftNZ7NotBqfSki0BB2PupTCJHafdu1YI0zmJ3xEzjB/XKcKPz2+10sDA==} + '@tiptap/extension-floating-menu@3.22.2': + resolution: {integrity: sha512-r0ZTeh9rNtj9Api+G0YyaB+tAKPDn7aYWg+qSrmAC5EyUPee6Zjn3zlw0q4renCeQflvNRK20xHM8zokC41jOA==} peerDependencies: '@floating-ui/dom': ^1.0.0 - '@tiptap/core': ^3.22.1 - '@tiptap/pm': ^3.22.1 + '@tiptap/core': ^3.22.2 + '@tiptap/pm': ^3.22.2 - '@tiptap/extension-gapcursor@3.22.1': - resolution: {integrity: sha512-qqsyy7unWM3elv+7ru+6paKAnw1PZTvjNVQu3UzB6d556Gx2uE4isXJNdBaslBZdp2EoaYdIkhhEccW9B/Nwqg==} + '@tiptap/extension-gapcursor@3.22.2': + resolution: {integrity: sha512-rR2OLrl/k2kj7xehaZHq0Y7T+1wy2DOTabir9LsTrktTFEcklrh9qY1KC6rEBkwMKaWrmignR1l39kS6RlKFNw==} peerDependencies: - '@tiptap/extensions': ^3.22.1 + '@tiptap/extensions': ^3.22.2 - '@tiptap/extension-hard-break@3.22.1': - resolution: {integrity: sha512-hzLwLEZVbZODa9q5UiCQpOUmDnyxN19FA4LhlqLP0/JSHewP/aol5igFZwuw0XVFp425BuzPjrB7tmr0GRTDWw==} + '@tiptap/extension-hard-break@3.22.2': + resolution: {integrity: sha512-ChsoqF4XRp6EWatTRlXL4LMFh/ggwRVCyt09brSfjJV5knFaXlECSa5/+rKLMLMULaj6dVlJqoAD15exgu2HHA==} peerDependencies: - '@tiptap/core': ^3.22.1 + '@tiptap/core': ^3.22.2 - '@tiptap/extension-heading@3.22.1': - resolution: {integrity: sha512-EaIihzrOfXUHQlL6fFyJCkDrjgg0e/eD4jpkjhKpeuJDcqf7eJ1c0E2zcNRAiZkeXdN/hTQFaXKsSyNUE7T7Sg==} + '@tiptap/extension-heading@3.22.2': + resolution: {integrity: sha512-QPHLef+ikAyf7RVc4EdGeKxH4OEGb3ueCEwJ41RcYPtZ1BX9ueei7FC936guTdL1U7w3vQ65qfy86HznzkYgvw==} peerDependencies: - '@tiptap/core': ^3.22.1 + '@tiptap/core': ^3.22.2 - '@tiptap/extension-highlight@3.22.1': - resolution: {integrity: sha512-3XH0HWViJVzr+FUZY/HQn2vasOgOssVlOjdirKck9AmHoDFUceJbAygSJIdj2fZF3RQl0ohjMGi+OpGMVJ83sw==} + '@tiptap/extension-highlight@3.22.2': + resolution: {integrity: sha512-ecJ5HnCSlUW65xZlqkqz0nN8yhGzp+91HIPKjafPurV4jseUy1O77FthQ6KiZBQFipeqN04tkqEiFt918ydWUQ==} peerDependencies: - '@tiptap/core': ^3.22.1 + '@tiptap/core': ^3.22.2 - '@tiptap/extension-horizontal-rule@3.22.1': - resolution: {integrity: sha512-Q18A8IN+gnfptIksPeVAI6oOBGYKAGf+QN0FEJ5OXO4BEAmA3hflflA1rWNfPC4aQNry/N7sAl8Gpd6HuIbz2w==} + '@tiptap/extension-horizontal-rule@3.22.2': + resolution: {integrity: sha512-Oz8KN5KJAWV1mFNE9UIWXdMD6xa5zPf/0yLsT8V4sgaRm+VsdFKllN58BY9qCZf/kIZbaOez5KkaoeAcm0MAZg==} peerDependencies: - '@tiptap/core': ^3.22.1 - '@tiptap/pm': ^3.22.1 + '@tiptap/core': ^3.22.2 + '@tiptap/pm': ^3.22.2 - '@tiptap/extension-image@3.22.1': - resolution: {integrity: sha512-FtZCOWyyaEvSfaOPoH78IKb1BlG/Vao4PARdlrVCD1FlV1YGLAgSW5YkQAJ/vPTLwyNNZtqryaBpZrA8Wm25nQ==} + '@tiptap/extension-image@3.22.2': + resolution: {integrity: sha512-xFCgwreF6sn5mQ/hFDQKn41NIbbfks/Ou9j763Djf3pWsastgzdgwifQOpXVI3aSsqlKUO3o8/8R/yQczvZcwg==} peerDependencies: - '@tiptap/core': ^3.22.1 + '@tiptap/core': ^3.22.2 - '@tiptap/extension-italic@3.22.1': - resolution: {integrity: sha512-EXPZWEsWJK9tUMypddOBvayaBeu8wFV2uH5PNrtDKrfRZ1Bf8GQ3lfcO0blHssaQ9nWqa9HwBC1mdfWcmfpxig==} + '@tiptap/extension-italic@3.22.2': + resolution: {integrity: sha512-fmtQu2HDnV3sOZPdz0+1lOLI7UtrIhusohJj2UwOLQxG8qqhLwbvWx2OQTlfblgY0z+CjLRr6ANbNDxOTIblfg==} peerDependencies: - '@tiptap/core': ^3.22.1 + '@tiptap/core': ^3.22.2 - '@tiptap/extension-link@3.22.1': - resolution: {integrity: sha512-RHch/Bqv+QDvW3J1CXmiTB54pyrQYNQq8Vfa7is/O209dNPA8tdbkRP44rDjqn8NeDCriC/oJ4avWeXL4qNDVw==} + '@tiptap/extension-link@3.22.2': + resolution: {integrity: sha512-TXfSoKmng5pecvQUZqdsx6ICeob5V5hhYOj2vCEtjfcjWsyCndqFIl1w+Nt/yI5ehrFNOVPyj3ZvcELuuAW6pw==} peerDependencies: - '@tiptap/core': ^3.22.1 - '@tiptap/pm': ^3.22.1 + '@tiptap/core': ^3.22.2 + '@tiptap/pm': ^3.22.2 - '@tiptap/extension-list-item@3.22.1': - resolution: {integrity: sha512-v0FgSX3cqLY3L1hIe2PFRTR3/+wlFOdFjv0p3fSJ5Tl7cgU7DR1OcljFqpw0exePcmt6dXqXVQua3PxSVV15eA==} + '@tiptap/extension-list-item@3.22.2': + resolution: {integrity: sha512-Mk+iiLIFh8Pfuarr6mWfTO7QJbd2ZQd0nGNhNWXlGAO7DJCb4BP9nj4bEIJ17SbcykGRjsi4WMqY50z4MHXqKQ==} peerDependencies: - '@tiptap/extension-list': ^3.22.1 + '@tiptap/extension-list': ^3.22.2 - '@tiptap/extension-list-keymap@3.22.1': - resolution: {integrity: sha512-00Nz4jJygYGJg6N1mdbQUslFG9QaGZq5P9MFwqoduWku7gYHWkZoZvrkxZrYtxGTHVIlLnF8LIfblAlOwNd76g==} + '@tiptap/extension-list-keymap@3.22.2': + resolution: {integrity: sha512-TozU9V2vldMUPpTXnfLCO33EO06jLxn7uEJTMBnN4iX/dLV3cBVCbE4kHyDKS0sLd7joUeekS06vYP9uQb1hFw==} peerDependencies: - '@tiptap/extension-list': ^3.22.1 + '@tiptap/extension-list': ^3.22.2 - '@tiptap/extension-list@3.22.1': - resolution: {integrity: sha512-6bVI5A12sFeyb0EngABV8/qCtC2IgiDbWC8mtNNLh5dAVGaUKo1KucL6vRYDhzXhyO/eHuGYepXZDLOOdS9LIQ==} + '@tiptap/extension-list@3.22.2': + resolution: {integrity: sha512-Vq9xScgkA2A3Zj9dQ4WUBKK7u7UCzeSFRz9FcKTQVZHRPbZoqFGnlRUVngqsE7JXrCOthXQ1dXxgk40nAsBFRw==} peerDependencies: - '@tiptap/core': ^3.22.1 - '@tiptap/pm': ^3.22.1 + '@tiptap/core': ^3.22.2 + '@tiptap/pm': ^3.22.2 - '@tiptap/extension-ordered-list@3.22.1': - resolution: {integrity: sha512-sbd99ZUa1lIemH7N6dLB+9aYxUgduwW2216VM3dLJBS9hmTA4iDRxWx0a1ApnAVv+sZasRSbb/wpYLtXviA1XQ==} + '@tiptap/extension-ordered-list@3.22.2': + resolution: {integrity: sha512-K7qxoBKmsVkAd3kW64ZRCUPFrDcNGpXRDUBx9YgAO/bTfsfxtH2oil+igsUWGXPczpP4yoHPKjTfhpBpLjGl6Q==} peerDependencies: - '@tiptap/extension-list': ^3.22.1 + '@tiptap/extension-list': ^3.22.2 - '@tiptap/extension-paragraph@3.22.1': - resolution: {integrity: sha512-mnvGEZfZFysHGvmEqrSLjeddaNPB3UmomTInv9gsImw8hlB4/gQedvB6Qf2tFfIjl4ISKC5AbFxraSnJfjaL5g==} + '@tiptap/extension-paragraph@3.22.2': + resolution: {integrity: sha512-EHZZzxVhvzEPDPWtRBF1YKhB+WCUjd1C2NhjHfL3Dl71PBqM3ZWA6qN7NDGPyNyGGWauui/NR/4X+5AfPqlHyA==} peerDependencies: - '@tiptap/core': ^3.22.1 + '@tiptap/core': ^3.22.2 - '@tiptap/extension-placeholder@3.22.1': - resolution: {integrity: sha512-f8NJNEJTDuT9UIZdVIAPoySgzQ/nKxR/gWRqCnwtR4O26zo/JdKI2XvrTE/iNrV3Khme8rjCtO7/8CQgTeMMxA==} + '@tiptap/extension-placeholder@3.22.2': + resolution: {integrity: sha512-xYw733CmSeG7MyYBDdV5NFiwlBdXXzw4Mvjb2t4QRXagkDbHeNY/LtKTcrtcMNfO4Jx0mwivGQZUIEC8oAfvxg==} peerDependencies: - '@tiptap/extensions': ^3.22.1 + '@tiptap/extensions': ^3.22.2 - '@tiptap/extension-strike@3.22.1': - resolution: {integrity: sha512-LTdnGmglK1f/AW//36k+Km8URA1wrTLENi3R5N+/ipv+yP2rZ2Ki1R1m6yJx3KSFzR55c91xE6659/vz1uZ6iA==} + '@tiptap/extension-strike@3.22.2': + resolution: {integrity: sha512-YFC3elKU1L8PiGbcB6tqd/7vWPF5IbydJz0POJpHzSjstX+VfT8VsvS7ubxVuSIWQ11kGkH3mzX6LX8JHsHZxg==} peerDependencies: - '@tiptap/core': ^3.22.1 + '@tiptap/core': ^3.22.2 - '@tiptap/extension-table-cell@3.22.1': - resolution: {integrity: sha512-sDMKaQjtuAxs7j4MTezmCq5rzAFfx3igsHgGPv1rW0ibqDx5rObtOZ6oiPSts8a6cPW5/NGqLaVl0Oa5rxrV/g==} + '@tiptap/extension-table-cell@3.22.2': + resolution: {integrity: sha512-3+YUNtZRHrl6jqQ/RyoGq9iSdXVKwUw3awgu/ogdUvaanXLyESrncbWsEiRzo98PDa4m6hFvjFZ5yhw3cXEhGQ==} peerDependencies: - '@tiptap/extension-table': ^3.22.1 + '@tiptap/extension-table': ^3.22.2 - '@tiptap/extension-table-header@3.22.1': - resolution: {integrity: sha512-avkNqG4nxgLoAKFz5+qNZRQJMCmHMDy2Fzg3aB030bJnVzCKoC7RJgWQ8d9T+Sy3LQTR7tngpW1NIozS4TI/wg==} + '@tiptap/extension-table-header@3.22.2': + resolution: {integrity: sha512-tVqbgl+it314/zzziKuOyRk2O1qptqiclYOfZKl0+ir5pgsVrUczujxzkDAPe4DPEZm/mSjWlsaYpF5OBQU0ng==} peerDependencies: - '@tiptap/extension-table': ^3.22.1 + '@tiptap/extension-table': ^3.22.2 - '@tiptap/extension-table-row@3.22.1': - resolution: {integrity: sha512-EKbwq4h47y+4UrsvOIN8LwFzSpUpYkQQhhk3x6G5xtDsZXc1kRMAowe/S1n3gcXvSkRDF4PxmepzsHsOcaSJIA==} + '@tiptap/extension-table-row@3.22.2': + resolution: {integrity: sha512-n2IDQhThOwRU+vxYj3aGYp66P45r3lgBkWBCGFPLFSL8bx/7p7ZifEtzsk6FOmzNa/GzgKT0lq2RvWVILq/rLA==} peerDependencies: - '@tiptap/extension-table': ^3.22.1 + '@tiptap/extension-table': ^3.22.2 - '@tiptap/extension-table@3.22.1': - resolution: {integrity: sha512-wGioCPgrAhqQ9NNQitVM4sm8WVsu6MBs+4hdgTCtBTA7oEv7EqKWAujY6DA/aPE8uV236pUmosZX3iloHmvpOA==} + '@tiptap/extension-table@3.22.2': + resolution: {integrity: sha512-J9fVsboNRgmdbCVxWl+zlm5FKHmx6TnUHAb+7yt6Fum9lqy1/TwEfP3N7DAF3v7qpkIniVlU3X9ERmiiTAWxSA==} peerDependencies: - '@tiptap/core': ^3.22.1 - '@tiptap/pm': ^3.22.1 + '@tiptap/core': ^3.22.2 + '@tiptap/pm': ^3.22.2 - '@tiptap/extension-task-item@3.22.1': - resolution: {integrity: sha512-63/Gx4HyLVC89RbEBbn+C/IZBiMsLZqazx1fqOpE/Ife3Nr09qb8fLQITRGnzS9JnRjrO4ErFgBQF8WSsCB5qg==} + '@tiptap/extension-task-item@3.22.2': + resolution: {integrity: sha512-BGXGl2pydfhbP+w0LqPd0vZTCd2+cRPYKhcYwMXe4HqXjqAO1+RF6dxab3BQG9cd8Z00YNdMx49LYSIyDCbniQ==} peerDependencies: - '@tiptap/extension-list': ^3.22.1 + '@tiptap/extension-list': ^3.22.2 - '@tiptap/extension-task-list@3.22.1': - resolution: {integrity: sha512-4RCDf8hOCkAah+wR+QKZEX/AcZ1a0LsDInDjevpuEt23Yqb4pcWAvnqF6S/INvuy6nQaDkm2e5G+8rZq3I1RTA==} + '@tiptap/extension-task-list@3.22.2': + resolution: {integrity: sha512-TkDGp9f1RHDJkTyb1Re4RUpcPLggB8QfnpIC+iuidvFPkW4gs5tXQK/Xzi9+P2er1A20aOndKnraz97SazfSYA==} peerDependencies: - '@tiptap/extension-list': ^3.22.1 + '@tiptap/extension-list': ^3.22.2 - '@tiptap/extension-text-align@3.22.1': - resolution: {integrity: sha512-llkKgYX2sdwnjQFG0LMjZEdWDCFA5zJgJmrVqkx8zuMukNZbuD6rjszmG90uvhOsnvacwHmD0RMpLpHOfqHX8Q==} + '@tiptap/extension-text-align@3.22.2': + resolution: {integrity: sha512-pgqyXzVHo4WmDhK26rDwhK2lxQwnjl/9DP816C2k3To/fZRK1eW7q0pSAYteHWmKkaYAxwj/0UvCU0nXKlPujw==} peerDependencies: - '@tiptap/core': ^3.22.1 + '@tiptap/core': ^3.22.2 - '@tiptap/extension-text-style@3.22.1': - resolution: {integrity: sha512-xtUuqXFRQxJ2C0OIp4MpD+reHrULkZSec+YXbFt4SHHHluK1lquibYbZknbmd9jsagPUcv0hc7zmdkxdz83lfA==} + '@tiptap/extension-text-style@3.22.2': + resolution: {integrity: sha512-W8K1G6HOiNXdHYZbEyXXP9vD66GoiZRwiGvrSJ/t33MefDwvLka1Tg2QCWejaw2YvV78DdVlLTmFEmSnJi9+5g==} peerDependencies: - '@tiptap/core': ^3.22.1 + '@tiptap/core': ^3.22.2 - '@tiptap/extension-text@3.22.1': - resolution: {integrity: sha512-wFCNCATSTTFhvA9wOPkAgzPVyG3RM6+jOlDeRhHUCHsFWFWj0w9ZPwA/nP+Qi5hEW7kGG9V8o62RjBdHNvK2PQ==} + '@tiptap/extension-text@3.22.2': + resolution: {integrity: sha512-J1w7JwijfSD7ah0WfiwZ/DVWCIGT9x369RM4RJc57i44mIBElj7tl1dh+N5KPGOXKUup4gr7sSJAE38lgeaDMg==} peerDependencies: - '@tiptap/core': ^3.22.1 + '@tiptap/core': ^3.22.2 - '@tiptap/extension-underline@3.22.1': - resolution: {integrity: sha512-p8/ErqQInWJbpncBycIggmtCjdrMwHmA3GNhOugo6F4fYfeVxgy7pVb7ZF+ss62d0mpQvEd81pyrzhkBtb0nBg==} + '@tiptap/extension-underline@3.22.2': + resolution: {integrity: sha512-BaV6WOowxdkGTLWiU7DdZ3Twh633O4RGqwUM5dDas5LvaqL8AMWGTO8Wg9yAaaKXzd9MtKI1ZCqS/+MtzusgkQ==} peerDependencies: - '@tiptap/core': ^3.22.1 + '@tiptap/core': ^3.22.2 - '@tiptap/extensions@3.22.1': - resolution: {integrity: sha512-BKpp371Pl1CVcLRLrWH7PC1I+IsXOhet80+pILqCMlwkJnsVtOOVRr5uCF6rbPP4xK5H/ehkQWmxA8rqpv42aA==} + '@tiptap/extensions@3.22.2': + resolution: {integrity: sha512-s7MZmm2Xdq+8feIXgY3v7gVpQ5ClqBZi20KheouS7KSbBlrY4fu2irYR1EGc6r1UUVaHMxEa+cx5knhx+mIPUw==} peerDependencies: - '@tiptap/core': ^3.22.1 - '@tiptap/pm': ^3.22.1 + '@tiptap/core': ^3.22.2 + '@tiptap/pm': ^3.22.2 - '@tiptap/pm@3.22.1': - resolution: {integrity: sha512-OSqSg2974eLJT5PNKFLM7156lBXCUf/dsKTQXWSzsLTf6HOP4dYP6c0YbAk6lgbNI+BdszsHNClmLVLA8H/L9A==} + '@tiptap/pm@3.22.2': + resolution: {integrity: sha512-G2ENwIazoSKkAnN5MN5yN91TIZNFm6TxB74kPf3Empr2k9W51Hkcier70jHGpArhgcEaL4BVreuU1PRDRwCeGw==} - '@tiptap/react@3.22.1': - resolution: {integrity: sha512-1pIRfgK9wape4nDXVJRfgUcYVZdPPkuECbGtz8bo0rgtdsVN7B8PBVCDyuitZ7acdLbMuuX5+TxeUOvME8np7Q==} + '@tiptap/react@3.22.2': + resolution: {integrity: sha512-tyGKG69e/MkpoD/JTpVPz0XydEHxh1MSAYnLb3gRvyvBDv2r/veLea+cApkmjQaCfkKC/CWwTFXBYlOB0caSBA==} peerDependencies: - '@tiptap/core': ^3.22.1 - '@tiptap/pm': ^3.22.1 + '@tiptap/core': ^3.22.2 + '@tiptap/pm': ^3.22.2 '@types/react': ^17.0.0 || ^18.0.0 || ^19.0.0 '@types/react-dom': ^17.0.0 || ^18.0.0 || ^19.0.0 react: ^17.0.0 || ^18.0.0 || ^19.0.0 react-dom: ^17.0.0 || ^18.0.0 || ^19.0.0 - '@tiptap/starter-kit@3.22.1': - resolution: {integrity: sha512-1fFmURkgofxgP9GW993bSpxf2rIJzQbWZ9rPw17qbAVuGouIArG+Fd/A1WUD95Vdbx6JIrc1QxbNlLs7bhcoPA==} + '@tiptap/starter-kit@3.22.2': + resolution: {integrity: sha512-+CCKX8tOQ/ZPb2k/z6em4AQCFYAcdd8+0TOzPWiuLxRyCHRPBBVhnPsXOKgKwE4OO3E8BsezquuYRYRwsyzCqg==} '@tree-sitter-grammars/tree-sitter-yaml@0.7.1': resolution: {integrity: sha512-AynBwkIoQCTgjDR33bDUp9Mqq+YTco0is3n5hRApMqG9of/6A4eQsfC1/uSEeHSUyMQSYawcAWamsexnVpIP4Q==} @@ -12471,12 +12471,12 @@ snapshots: dependencies: react: 19.2.4 - '@mantine/tiptap@8.3.18(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@mantine/hooks@8.3.18(react@19.2.4))(@tiptap/extension-link@3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1))(@tiptap/react@3.22.1(@floating-ui/dom@1.7.4)(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': + '@mantine/tiptap@8.3.18(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(@mantine/hooks@8.3.18(react@19.2.4))(@tiptap/extension-link@3.22.2(@tiptap/core@3.22.2(@tiptap/pm@3.22.2))(@tiptap/pm@3.22.2))(@tiptap/react@3.22.2(@floating-ui/dom@1.7.4)(@tiptap/core@3.22.2(@tiptap/pm@3.22.2))(@tiptap/pm@3.22.2)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': dependencies: '@mantine/core': 8.3.18(@mantine/hooks@8.3.18(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) '@mantine/hooks': 8.3.18(react@19.2.4) - '@tiptap/extension-link': 3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1) - '@tiptap/react': 3.22.1(@floating-ui/dom@1.7.4)(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@tiptap/extension-link': 3.22.2(@tiptap/core@3.22.2(@tiptap/pm@3.22.2))(@tiptap/pm@3.22.2) + '@tiptap/react': 3.22.2(@floating-ui/dom@1.7.4)(@tiptap/core@3.22.2(@tiptap/pm@3.22.2))(@tiptap/pm@3.22.2)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) react: 19.2.4 react-dom: 19.2.4(react@19.2.4) @@ -13632,168 +13632,168 @@ snapshots: - bare-buffer - supports-color - '@tiptap/core@3.22.1(@tiptap/pm@3.22.1)': + '@tiptap/core@3.22.2(@tiptap/pm@3.22.2)': dependencies: - '@tiptap/pm': 3.22.1 + '@tiptap/pm': 3.22.2 - '@tiptap/extension-blockquote@3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))': + '@tiptap/extension-blockquote@3.22.2(@tiptap/core@3.22.2(@tiptap/pm@3.22.2))': dependencies: - '@tiptap/core': 3.22.1(@tiptap/pm@3.22.1) + '@tiptap/core': 3.22.2(@tiptap/pm@3.22.2) - '@tiptap/extension-bold@3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))': + '@tiptap/extension-bold@3.22.2(@tiptap/core@3.22.2(@tiptap/pm@3.22.2))': dependencies: - '@tiptap/core': 3.22.1(@tiptap/pm@3.22.1) + '@tiptap/core': 3.22.2(@tiptap/pm@3.22.2) - '@tiptap/extension-bubble-menu@3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1)': + '@tiptap/extension-bubble-menu@3.22.2(@tiptap/core@3.22.2(@tiptap/pm@3.22.2))(@tiptap/pm@3.22.2)': dependencies: '@floating-ui/dom': 1.7.4 - '@tiptap/core': 3.22.1(@tiptap/pm@3.22.1) - '@tiptap/pm': 3.22.1 + '@tiptap/core': 3.22.2(@tiptap/pm@3.22.2) + '@tiptap/pm': 3.22.2 optional: true - '@tiptap/extension-bullet-list@3.22.1(@tiptap/extension-list@3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1))': + '@tiptap/extension-bullet-list@3.22.2(@tiptap/extension-list@3.22.2(@tiptap/core@3.22.2(@tiptap/pm@3.22.2))(@tiptap/pm@3.22.2))': dependencies: - '@tiptap/extension-list': 3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1) + '@tiptap/extension-list': 3.22.2(@tiptap/core@3.22.2(@tiptap/pm@3.22.2))(@tiptap/pm@3.22.2) - '@tiptap/extension-code-block@3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1)': + '@tiptap/extension-code-block@3.22.2(@tiptap/core@3.22.2(@tiptap/pm@3.22.2))(@tiptap/pm@3.22.2)': dependencies: - '@tiptap/core': 3.22.1(@tiptap/pm@3.22.1) - '@tiptap/pm': 3.22.1 + '@tiptap/core': 3.22.2(@tiptap/pm@3.22.2) + '@tiptap/pm': 3.22.2 - '@tiptap/extension-code@3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))': + '@tiptap/extension-code@3.22.2(@tiptap/core@3.22.2(@tiptap/pm@3.22.2))': dependencies: - '@tiptap/core': 3.22.1(@tiptap/pm@3.22.1) + '@tiptap/core': 3.22.2(@tiptap/pm@3.22.2) - '@tiptap/extension-color@3.22.1(@tiptap/extension-text-style@3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1)))': + '@tiptap/extension-color@3.22.2(@tiptap/extension-text-style@3.22.2(@tiptap/core@3.22.2(@tiptap/pm@3.22.2)))': dependencies: - '@tiptap/extension-text-style': 3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1)) + '@tiptap/extension-text-style': 3.22.2(@tiptap/core@3.22.2(@tiptap/pm@3.22.2)) - '@tiptap/extension-document@3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))': + '@tiptap/extension-document@3.22.2(@tiptap/core@3.22.2(@tiptap/pm@3.22.2))': dependencies: - '@tiptap/core': 3.22.1(@tiptap/pm@3.22.1) + '@tiptap/core': 3.22.2(@tiptap/pm@3.22.2) - '@tiptap/extension-dropcursor@3.22.1(@tiptap/extensions@3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1))': + '@tiptap/extension-dropcursor@3.22.2(@tiptap/extensions@3.22.2(@tiptap/core@3.22.2(@tiptap/pm@3.22.2))(@tiptap/pm@3.22.2))': dependencies: - '@tiptap/extensions': 3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1) + '@tiptap/extensions': 3.22.2(@tiptap/core@3.22.2(@tiptap/pm@3.22.2))(@tiptap/pm@3.22.2) - '@tiptap/extension-floating-menu@3.22.1(@floating-ui/dom@1.7.4)(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1)': + '@tiptap/extension-floating-menu@3.22.2(@floating-ui/dom@1.7.4)(@tiptap/core@3.22.2(@tiptap/pm@3.22.2))(@tiptap/pm@3.22.2)': dependencies: '@floating-ui/dom': 1.7.4 - '@tiptap/core': 3.22.1(@tiptap/pm@3.22.1) - '@tiptap/pm': 3.22.1 + '@tiptap/core': 3.22.2(@tiptap/pm@3.22.2) + '@tiptap/pm': 3.22.2 optional: true - '@tiptap/extension-gapcursor@3.22.1(@tiptap/extensions@3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1))': + '@tiptap/extension-gapcursor@3.22.2(@tiptap/extensions@3.22.2(@tiptap/core@3.22.2(@tiptap/pm@3.22.2))(@tiptap/pm@3.22.2))': dependencies: - '@tiptap/extensions': 3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1) + '@tiptap/extensions': 3.22.2(@tiptap/core@3.22.2(@tiptap/pm@3.22.2))(@tiptap/pm@3.22.2) - '@tiptap/extension-hard-break@3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))': + '@tiptap/extension-hard-break@3.22.2(@tiptap/core@3.22.2(@tiptap/pm@3.22.2))': dependencies: - '@tiptap/core': 3.22.1(@tiptap/pm@3.22.1) + '@tiptap/core': 3.22.2(@tiptap/pm@3.22.2) - '@tiptap/extension-heading@3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))': + '@tiptap/extension-heading@3.22.2(@tiptap/core@3.22.2(@tiptap/pm@3.22.2))': dependencies: - '@tiptap/core': 3.22.1(@tiptap/pm@3.22.1) + '@tiptap/core': 3.22.2(@tiptap/pm@3.22.2) - '@tiptap/extension-highlight@3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))': + '@tiptap/extension-highlight@3.22.2(@tiptap/core@3.22.2(@tiptap/pm@3.22.2))': dependencies: - '@tiptap/core': 3.22.1(@tiptap/pm@3.22.1) + '@tiptap/core': 3.22.2(@tiptap/pm@3.22.2) - '@tiptap/extension-horizontal-rule@3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1)': + '@tiptap/extension-horizontal-rule@3.22.2(@tiptap/core@3.22.2(@tiptap/pm@3.22.2))(@tiptap/pm@3.22.2)': dependencies: - '@tiptap/core': 3.22.1(@tiptap/pm@3.22.1) - '@tiptap/pm': 3.22.1 + '@tiptap/core': 3.22.2(@tiptap/pm@3.22.2) + '@tiptap/pm': 3.22.2 - '@tiptap/extension-image@3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))': + '@tiptap/extension-image@3.22.2(@tiptap/core@3.22.2(@tiptap/pm@3.22.2))': dependencies: - '@tiptap/core': 3.22.1(@tiptap/pm@3.22.1) + '@tiptap/core': 3.22.2(@tiptap/pm@3.22.2) - '@tiptap/extension-italic@3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))': + '@tiptap/extension-italic@3.22.2(@tiptap/core@3.22.2(@tiptap/pm@3.22.2))': dependencies: - '@tiptap/core': 3.22.1(@tiptap/pm@3.22.1) + '@tiptap/core': 3.22.2(@tiptap/pm@3.22.2) - '@tiptap/extension-link@3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1)': + '@tiptap/extension-link@3.22.2(@tiptap/core@3.22.2(@tiptap/pm@3.22.2))(@tiptap/pm@3.22.2)': dependencies: - '@tiptap/core': 3.22.1(@tiptap/pm@3.22.1) - '@tiptap/pm': 3.22.1 + '@tiptap/core': 3.22.2(@tiptap/pm@3.22.2) + '@tiptap/pm': 3.22.2 linkifyjs: 4.3.2 - '@tiptap/extension-list-item@3.22.1(@tiptap/extension-list@3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1))': + '@tiptap/extension-list-item@3.22.2(@tiptap/extension-list@3.22.2(@tiptap/core@3.22.2(@tiptap/pm@3.22.2))(@tiptap/pm@3.22.2))': dependencies: - '@tiptap/extension-list': 3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1) + '@tiptap/extension-list': 3.22.2(@tiptap/core@3.22.2(@tiptap/pm@3.22.2))(@tiptap/pm@3.22.2) - '@tiptap/extension-list-keymap@3.22.1(@tiptap/extension-list@3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1))': + '@tiptap/extension-list-keymap@3.22.2(@tiptap/extension-list@3.22.2(@tiptap/core@3.22.2(@tiptap/pm@3.22.2))(@tiptap/pm@3.22.2))': dependencies: - '@tiptap/extension-list': 3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1) + '@tiptap/extension-list': 3.22.2(@tiptap/core@3.22.2(@tiptap/pm@3.22.2))(@tiptap/pm@3.22.2) - '@tiptap/extension-list@3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1)': + '@tiptap/extension-list@3.22.2(@tiptap/core@3.22.2(@tiptap/pm@3.22.2))(@tiptap/pm@3.22.2)': dependencies: - '@tiptap/core': 3.22.1(@tiptap/pm@3.22.1) - '@tiptap/pm': 3.22.1 + '@tiptap/core': 3.22.2(@tiptap/pm@3.22.2) + '@tiptap/pm': 3.22.2 - '@tiptap/extension-ordered-list@3.22.1(@tiptap/extension-list@3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1))': + '@tiptap/extension-ordered-list@3.22.2(@tiptap/extension-list@3.22.2(@tiptap/core@3.22.2(@tiptap/pm@3.22.2))(@tiptap/pm@3.22.2))': dependencies: - '@tiptap/extension-list': 3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1) + '@tiptap/extension-list': 3.22.2(@tiptap/core@3.22.2(@tiptap/pm@3.22.2))(@tiptap/pm@3.22.2) - '@tiptap/extension-paragraph@3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))': + '@tiptap/extension-paragraph@3.22.2(@tiptap/core@3.22.2(@tiptap/pm@3.22.2))': dependencies: - '@tiptap/core': 3.22.1(@tiptap/pm@3.22.1) + '@tiptap/core': 3.22.2(@tiptap/pm@3.22.2) - '@tiptap/extension-placeholder@3.22.1(@tiptap/extensions@3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1))': + '@tiptap/extension-placeholder@3.22.2(@tiptap/extensions@3.22.2(@tiptap/core@3.22.2(@tiptap/pm@3.22.2))(@tiptap/pm@3.22.2))': dependencies: - '@tiptap/extensions': 3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1) + '@tiptap/extensions': 3.22.2(@tiptap/core@3.22.2(@tiptap/pm@3.22.2))(@tiptap/pm@3.22.2) - '@tiptap/extension-strike@3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))': + '@tiptap/extension-strike@3.22.2(@tiptap/core@3.22.2(@tiptap/pm@3.22.2))': dependencies: - '@tiptap/core': 3.22.1(@tiptap/pm@3.22.1) + '@tiptap/core': 3.22.2(@tiptap/pm@3.22.2) - '@tiptap/extension-table-cell@3.22.1(@tiptap/extension-table@3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1))': + '@tiptap/extension-table-cell@3.22.2(@tiptap/extension-table@3.22.2(@tiptap/core@3.22.2(@tiptap/pm@3.22.2))(@tiptap/pm@3.22.2))': dependencies: - '@tiptap/extension-table': 3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1) + '@tiptap/extension-table': 3.22.2(@tiptap/core@3.22.2(@tiptap/pm@3.22.2))(@tiptap/pm@3.22.2) - '@tiptap/extension-table-header@3.22.1(@tiptap/extension-table@3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1))': + '@tiptap/extension-table-header@3.22.2(@tiptap/extension-table@3.22.2(@tiptap/core@3.22.2(@tiptap/pm@3.22.2))(@tiptap/pm@3.22.2))': dependencies: - '@tiptap/extension-table': 3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1) + '@tiptap/extension-table': 3.22.2(@tiptap/core@3.22.2(@tiptap/pm@3.22.2))(@tiptap/pm@3.22.2) - '@tiptap/extension-table-row@3.22.1(@tiptap/extension-table@3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1))': + '@tiptap/extension-table-row@3.22.2(@tiptap/extension-table@3.22.2(@tiptap/core@3.22.2(@tiptap/pm@3.22.2))(@tiptap/pm@3.22.2))': dependencies: - '@tiptap/extension-table': 3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1) + '@tiptap/extension-table': 3.22.2(@tiptap/core@3.22.2(@tiptap/pm@3.22.2))(@tiptap/pm@3.22.2) - '@tiptap/extension-table@3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1)': + '@tiptap/extension-table@3.22.2(@tiptap/core@3.22.2(@tiptap/pm@3.22.2))(@tiptap/pm@3.22.2)': dependencies: - '@tiptap/core': 3.22.1(@tiptap/pm@3.22.1) - '@tiptap/pm': 3.22.1 + '@tiptap/core': 3.22.2(@tiptap/pm@3.22.2) + '@tiptap/pm': 3.22.2 - '@tiptap/extension-task-item@3.22.1(@tiptap/extension-list@3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1))': + '@tiptap/extension-task-item@3.22.2(@tiptap/extension-list@3.22.2(@tiptap/core@3.22.2(@tiptap/pm@3.22.2))(@tiptap/pm@3.22.2))': dependencies: - '@tiptap/extension-list': 3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1) + '@tiptap/extension-list': 3.22.2(@tiptap/core@3.22.2(@tiptap/pm@3.22.2))(@tiptap/pm@3.22.2) - '@tiptap/extension-task-list@3.22.1(@tiptap/extension-list@3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1))': + '@tiptap/extension-task-list@3.22.2(@tiptap/extension-list@3.22.2(@tiptap/core@3.22.2(@tiptap/pm@3.22.2))(@tiptap/pm@3.22.2))': dependencies: - '@tiptap/extension-list': 3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1) + '@tiptap/extension-list': 3.22.2(@tiptap/core@3.22.2(@tiptap/pm@3.22.2))(@tiptap/pm@3.22.2) - '@tiptap/extension-text-align@3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))': + '@tiptap/extension-text-align@3.22.2(@tiptap/core@3.22.2(@tiptap/pm@3.22.2))': dependencies: - '@tiptap/core': 3.22.1(@tiptap/pm@3.22.1) + '@tiptap/core': 3.22.2(@tiptap/pm@3.22.2) - '@tiptap/extension-text-style@3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))': + '@tiptap/extension-text-style@3.22.2(@tiptap/core@3.22.2(@tiptap/pm@3.22.2))': dependencies: - '@tiptap/core': 3.22.1(@tiptap/pm@3.22.1) + '@tiptap/core': 3.22.2(@tiptap/pm@3.22.2) - '@tiptap/extension-text@3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))': + '@tiptap/extension-text@3.22.2(@tiptap/core@3.22.2(@tiptap/pm@3.22.2))': dependencies: - '@tiptap/core': 3.22.1(@tiptap/pm@3.22.1) + '@tiptap/core': 3.22.2(@tiptap/pm@3.22.2) - '@tiptap/extension-underline@3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))': + '@tiptap/extension-underline@3.22.2(@tiptap/core@3.22.2(@tiptap/pm@3.22.2))': dependencies: - '@tiptap/core': 3.22.1(@tiptap/pm@3.22.1) + '@tiptap/core': 3.22.2(@tiptap/pm@3.22.2) - '@tiptap/extensions@3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1)': + '@tiptap/extensions@3.22.2(@tiptap/core@3.22.2(@tiptap/pm@3.22.2))(@tiptap/pm@3.22.2)': dependencies: - '@tiptap/core': 3.22.1(@tiptap/pm@3.22.1) - '@tiptap/pm': 3.22.1 + '@tiptap/core': 3.22.2(@tiptap/pm@3.22.2) + '@tiptap/pm': 3.22.2 - '@tiptap/pm@3.22.1': + '@tiptap/pm@3.22.2': dependencies: prosemirror-changeset: 2.3.0 prosemirror-collab: 1.3.1 @@ -13814,10 +13814,10 @@ snapshots: prosemirror-transform: 1.10.2 prosemirror-view: 1.41.4 - '@tiptap/react@3.22.1(@floating-ui/dom@1.7.4)(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': + '@tiptap/react@3.22.2(@floating-ui/dom@1.7.4)(@tiptap/core@3.22.2(@tiptap/pm@3.22.2))(@tiptap/pm@3.22.2)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': dependencies: - '@tiptap/core': 3.22.1(@tiptap/pm@3.22.1) - '@tiptap/pm': 3.22.1 + '@tiptap/core': 3.22.2(@tiptap/pm@3.22.2) + '@tiptap/pm': 3.22.2 '@types/react': 19.2.14 '@types/react-dom': 19.2.3(@types/react@19.2.14) '@types/use-sync-external-store': 0.0.6 @@ -13826,37 +13826,37 @@ snapshots: react-dom: 19.2.4(react@19.2.4) use-sync-external-store: 1.4.0(react@19.2.4) optionalDependencies: - '@tiptap/extension-bubble-menu': 3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1) - '@tiptap/extension-floating-menu': 3.22.1(@floating-ui/dom@1.7.4)(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1) + '@tiptap/extension-bubble-menu': 3.22.2(@tiptap/core@3.22.2(@tiptap/pm@3.22.2))(@tiptap/pm@3.22.2) + '@tiptap/extension-floating-menu': 3.22.2(@floating-ui/dom@1.7.4)(@tiptap/core@3.22.2(@tiptap/pm@3.22.2))(@tiptap/pm@3.22.2) transitivePeerDependencies: - '@floating-ui/dom' - '@tiptap/starter-kit@3.22.1': + '@tiptap/starter-kit@3.22.2': dependencies: - '@tiptap/core': 3.22.1(@tiptap/pm@3.22.1) - '@tiptap/extension-blockquote': 3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1)) - '@tiptap/extension-bold': 3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1)) - '@tiptap/extension-bullet-list': 3.22.1(@tiptap/extension-list@3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1)) - '@tiptap/extension-code': 3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1)) - '@tiptap/extension-code-block': 3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1) - '@tiptap/extension-document': 3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1)) - '@tiptap/extension-dropcursor': 3.22.1(@tiptap/extensions@3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1)) - '@tiptap/extension-gapcursor': 3.22.1(@tiptap/extensions@3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1)) - '@tiptap/extension-hard-break': 3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1)) - '@tiptap/extension-heading': 3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1)) - '@tiptap/extension-horizontal-rule': 3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1) - '@tiptap/extension-italic': 3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1)) - '@tiptap/extension-link': 3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1) - '@tiptap/extension-list': 3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1) - '@tiptap/extension-list-item': 3.22.1(@tiptap/extension-list@3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1)) - '@tiptap/extension-list-keymap': 3.22.1(@tiptap/extension-list@3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1)) - '@tiptap/extension-ordered-list': 3.22.1(@tiptap/extension-list@3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1)) - '@tiptap/extension-paragraph': 3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1)) - '@tiptap/extension-strike': 3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1)) - '@tiptap/extension-text': 3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1)) - '@tiptap/extension-underline': 3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1)) - '@tiptap/extensions': 3.22.1(@tiptap/core@3.22.1(@tiptap/pm@3.22.1))(@tiptap/pm@3.22.1) - '@tiptap/pm': 3.22.1 + '@tiptap/core': 3.22.2(@tiptap/pm@3.22.2) + '@tiptap/extension-blockquote': 3.22.2(@tiptap/core@3.22.2(@tiptap/pm@3.22.2)) + '@tiptap/extension-bold': 3.22.2(@tiptap/core@3.22.2(@tiptap/pm@3.22.2)) + '@tiptap/extension-bullet-list': 3.22.2(@tiptap/extension-list@3.22.2(@tiptap/core@3.22.2(@tiptap/pm@3.22.2))(@tiptap/pm@3.22.2)) + '@tiptap/extension-code': 3.22.2(@tiptap/core@3.22.2(@tiptap/pm@3.22.2)) + '@tiptap/extension-code-block': 3.22.2(@tiptap/core@3.22.2(@tiptap/pm@3.22.2))(@tiptap/pm@3.22.2) + '@tiptap/extension-document': 3.22.2(@tiptap/core@3.22.2(@tiptap/pm@3.22.2)) + '@tiptap/extension-dropcursor': 3.22.2(@tiptap/extensions@3.22.2(@tiptap/core@3.22.2(@tiptap/pm@3.22.2))(@tiptap/pm@3.22.2)) + '@tiptap/extension-gapcursor': 3.22.2(@tiptap/extensions@3.22.2(@tiptap/core@3.22.2(@tiptap/pm@3.22.2))(@tiptap/pm@3.22.2)) + '@tiptap/extension-hard-break': 3.22.2(@tiptap/core@3.22.2(@tiptap/pm@3.22.2)) + '@tiptap/extension-heading': 3.22.2(@tiptap/core@3.22.2(@tiptap/pm@3.22.2)) + '@tiptap/extension-horizontal-rule': 3.22.2(@tiptap/core@3.22.2(@tiptap/pm@3.22.2))(@tiptap/pm@3.22.2) + '@tiptap/extension-italic': 3.22.2(@tiptap/core@3.22.2(@tiptap/pm@3.22.2)) + '@tiptap/extension-link': 3.22.2(@tiptap/core@3.22.2(@tiptap/pm@3.22.2))(@tiptap/pm@3.22.2) + '@tiptap/extension-list': 3.22.2(@tiptap/core@3.22.2(@tiptap/pm@3.22.2))(@tiptap/pm@3.22.2) + '@tiptap/extension-list-item': 3.22.2(@tiptap/extension-list@3.22.2(@tiptap/core@3.22.2(@tiptap/pm@3.22.2))(@tiptap/pm@3.22.2)) + '@tiptap/extension-list-keymap': 3.22.2(@tiptap/extension-list@3.22.2(@tiptap/core@3.22.2(@tiptap/pm@3.22.2))(@tiptap/pm@3.22.2)) + '@tiptap/extension-ordered-list': 3.22.2(@tiptap/extension-list@3.22.2(@tiptap/core@3.22.2(@tiptap/pm@3.22.2))(@tiptap/pm@3.22.2)) + '@tiptap/extension-paragraph': 3.22.2(@tiptap/core@3.22.2(@tiptap/pm@3.22.2)) + '@tiptap/extension-strike': 3.22.2(@tiptap/core@3.22.2(@tiptap/pm@3.22.2)) + '@tiptap/extension-text': 3.22.2(@tiptap/core@3.22.2(@tiptap/pm@3.22.2)) + '@tiptap/extension-underline': 3.22.2(@tiptap/core@3.22.2(@tiptap/pm@3.22.2)) + '@tiptap/extensions': 3.22.2(@tiptap/core@3.22.2(@tiptap/pm@3.22.2))(@tiptap/pm@3.22.2) + '@tiptap/pm': 3.22.2 '@tree-sitter-grammars/tree-sitter-yaml@0.7.1(tree-sitter@0.22.4)': dependencies: From 43587656bb5b3d885f6184b81313d43e74125fb7 Mon Sep 17 00:00:00 2001 From: "homarr-renovate[bot]" <158783068+homarr-renovate[bot]@users.noreply.github.com> Date: Thu, 9 Apr 2026 15:59:56 +0000 Subject: [PATCH 33/49] chore(deps): update dependency proxmox-api>undici to v8.0.2 (#5445) Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com> --- package.json | 2 +- pnpm-lock.yaml | 10 ++++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index 5cfb85f22..79ac82347 100644 --- a/package.json +++ b/package.json @@ -88,7 +88,7 @@ "linkifyjs@<4.3.2": ">=4.3.2", "nanoid@>=4.0.0 <5.0.9": ">=5.1.7", "prismjs@<1.30.0": ">=1.30.0", - "proxmox-api>undici": "8.0.1", + "proxmox-api>undici": "8.0.2", "react-is": "^19.2.4", "rollup@>=4.0.0 <4.22.4": ">=4.60.1", "sha.js@<=2.4.11": ">=2.4.12", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 7b02ed69c..33911958c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -16,7 +16,7 @@ overrides: linkifyjs@<4.3.2: '>=4.3.2' nanoid@>=4.0.0 <5.0.9: '>=5.1.7' prismjs@<1.30.0: '>=1.30.0' - proxmox-api>undici: 8.0.1 + proxmox-api>undici: 8.0.2 react-is: ^19.2.4 rollup@>=4.0.0 <4.22.4: '>=4.60.1' sha.js@<=2.4.11: '>=2.4.12' @@ -10530,6 +10530,10 @@ packages: resolution: {integrity: sha512-6qdTUr+jabXmYKeYkv/+pIvO7d0bs1k9uy+5PFnXr4segNVwILH1KExhwRh3/iGa6gSLmySK3hTnSs3k7ZPnjQ==} engines: {node: '>=22.19.0'} + undici@8.0.2: + resolution: {integrity: sha512-B9MeU5wuFhkFAuNeA19K2GDFcQXZxq33fL0nRy2Aq30wdufZbyyvxW3/ChaeipXVfy/wUweZyzovQGk39+9k2w==} + engines: {node: '>=22.19.0'} + unicode-emoji-modifier-base@1.0.0: resolution: {integrity: sha512-yLSH4py7oFH3oG/9K+XWrz1pSi3dfUrWEnInbxMfArOfc1+33BlGPQtLsOYwvdMy11AwUBetYuaRxSPqgkq+8g==} engines: {node: '>=4'} @@ -18596,7 +18600,7 @@ snapshots: proxmox-api@1.1.1: dependencies: - undici: 8.0.1 + undici: 8.0.2 proxy-from-env@1.1.0: {} @@ -20186,6 +20190,8 @@ snapshots: undici@8.0.1: {} + undici@8.0.2: {} + unicode-emoji-modifier-base@1.0.0: {} unicorn-magic@0.1.0: {} From 75b36bb1609a0ea1a97158f4674ebf8f4c5f205e Mon Sep 17 00:00:00 2001 From: "homarr-renovate[bot]" <158783068+homarr-renovate[bot]@users.noreply.github.com> Date: Thu, 9 Apr 2026 16:01:05 +0000 Subject: [PATCH 34/49] fix(deps): update dependency undici to v8.0.2 (#5446) Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com> --- apps/tasks/package.json | 2 +- packages/common/package.json | 2 +- packages/integrations/package.json | 2 +- packages/request-handler/package.json | 2 +- pnpm-lock.yaml | 26 +++++++++++++------------- 5 files changed, 17 insertions(+), 17 deletions(-) diff --git a/apps/tasks/package.json b/apps/tasks/package.json index f3ed95fe4..3b19bbc43 100644 --- a/apps/tasks/package.json +++ b/apps/tasks/package.json @@ -41,7 +41,7 @@ "dotenv": "^17.4.0", "fastify": "^5.8.4", "superjson": "2.2.6", - "undici": "8.0.1" + "undici": "8.0.2" }, "devDependencies": { "@homarr/eslint-config": "workspace:^0.2.0", diff --git a/packages/common/package.json b/packages/common/package.json index 8edd40a9c..b031cae7f 100644 --- a/packages/common/package.json +++ b/packages/common/package.json @@ -34,7 +34,7 @@ "octokit": "^5.0.5", "react": "19.2.4", "react-dom": "19.2.4", - "undici": "8.0.1", + "undici": "8.0.2", "zod": "^4.3.6", "zod-validation-error": "^5.0.0" }, diff --git a/packages/integrations/package.json b/packages/integrations/package.json index f5b9fb5a4..a31d27351 100644 --- a/packages/integrations/package.json +++ b/packages/integrations/package.json @@ -47,7 +47,7 @@ "proxmox-api": "1.1.1", "timezones-ical-library": "^2.1.3", "tsdav": "^2.1.8", - "undici": "8.0.1", + "undici": "8.0.2", "xml2js": "^0.6.2", "zod": "^4.3.6" }, diff --git a/packages/request-handler/package.json b/packages/request-handler/package.json index 1e7ca2e99..87db3ce6a 100644 --- a/packages/request-handler/package.json +++ b/packages/request-handler/package.json @@ -33,7 +33,7 @@ "dayjs": "^1.11.20", "octokit": "^5.0.5", "superjson": "2.2.6", - "undici": "8.0.1", + "undici": "8.0.2", "zod": "^4.3.6" }, "devDependencies": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 33911958c..bd50813dc 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -438,8 +438,8 @@ importers: specifier: 2.2.6 version: 2.2.6 undici: - specifier: 8.0.1 - version: 8.0.1 + specifier: 8.0.2 + version: 8.0.2 devDependencies: '@homarr/eslint-config': specifier: workspace:^0.2.0 @@ -862,8 +862,8 @@ importers: specifier: 19.2.4 version: 19.2.4(react@19.2.4) undici: - specifier: 8.0.1 - version: 8.0.1 + specifier: 8.0.2 + version: 8.0.2 zod: specifier: ^4.3.6 version: 4.3.6 @@ -1455,7 +1455,7 @@ importers: version: link:../image-proxy '@homarr/node-unifi': specifier: ^2.6.0 - version: 2.6.0(undici@8.0.1) + version: 2.6.0(undici@8.0.2) '@homarr/redis': specifier: workspace:^0.1.0 version: link:../redis @@ -1493,8 +1493,8 @@ importers: specifier: ^2.1.8 version: 2.1.8 undici: - specifier: 8.0.1 - version: 8.0.1 + specifier: 8.0.2 + version: 8.0.2 xml2js: specifier: ^0.6.2 version: 0.6.2 @@ -1864,8 +1864,8 @@ importers: specifier: 2.2.6 version: 2.2.6 undici: - specifier: 8.0.1 - version: 8.0.1 + specifier: 8.0.2 + version: 8.0.2 zod: specifier: ^4.3.6 version: 4.3.6 @@ -12034,11 +12034,11 @@ snapshots: '@homarr/gridstack@1.12.0': {} - '@homarr/node-unifi@2.6.0(undici@8.0.1)': + '@homarr/node-unifi@2.6.0(undici@8.0.2)': dependencies: axios: 1.9.0 eventemitter2: 6.4.9 - http-cookie-agent: 6.0.8(tough-cookie@5.1.2)(undici@8.0.1) + http-cookie-agent: 6.0.8(tough-cookie@5.1.2)(undici@8.0.2) tough-cookie: 5.1.2 ws: 8.20.0 transitivePeerDependencies: @@ -16740,12 +16740,12 @@ snapshots: html-url-attributes@3.0.1: {} - http-cookie-agent@6.0.8(tough-cookie@5.1.2)(undici@8.0.1): + http-cookie-agent@6.0.8(tough-cookie@5.1.2)(undici@8.0.2): dependencies: agent-base: 7.1.3 tough-cookie: 5.1.2 optionalDependencies: - undici: 8.0.1 + undici: 8.0.2 http-errors@2.0.0: dependencies: From bdf9439e49862d5cc628b7ed4c8bd05b93535f36 Mon Sep 17 00:00:00 2001 From: Meier Lukas Date: Thu, 9 Apr 2026 22:45:01 +0200 Subject: [PATCH 35/49] ci: disable skip-stability-days for forks (#5451) --- .github/workflows/skip-renovate-stability-days.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/skip-renovate-stability-days.yml b/.github/workflows/skip-renovate-stability-days.yml index 5e4be4054..e85b2e33e 100644 --- a/.github/workflows/skip-renovate-stability-days.yml +++ b/.github/workflows/skip-renovate-stability-days.yml @@ -7,7 +7,7 @@ on: jobs: skip-stability-days: - if: ${{ !startsWith(github.head_ref, 'renovate/') }} + if: ${{ !startsWith(github.head_ref, 'renovate/') && github.event.pull_request.head.repo.full_name == github.repository }} name: Skip Stability Days runs-on: ubuntu-latest timeout-minutes: 1 From faffb818f99900e3abb5fa78cfbb7980692362b5 Mon Sep 17 00:00:00 2001 From: Meier Lukas Date: Thu, 9 Apr 2026 22:45:44 +0200 Subject: [PATCH 36/49] feat(rss-feed): add periodic live updates (#5449) --- packages/api/src/router/widgets/rssFeed.ts | 77 +++++++++++++--------- packages/cron-jobs/src/jobs/rss-feeds.ts | 2 +- packages/request-handler/src/rss-feeds.ts | 3 +- packages/widgets/src/rssFeed/component.tsx | 46 +++++++++---- 4 files changed, 83 insertions(+), 45 deletions(-) diff --git a/packages/api/src/router/widgets/rssFeed.ts b/packages/api/src/router/widgets/rssFeed.ts index 079d84a32..ec9c223e0 100644 --- a/packages/api/src/router/widgets/rssFeed.ts +++ b/packages/api/src/router/widgets/rssFeed.ts @@ -1,3 +1,4 @@ +import { observable } from "@trpc/server/observable"; import SuperJSON from "superjson"; import { z } from "zod/v4"; @@ -5,45 +6,59 @@ import type { Session } from "@homarr/auth"; import type { Database } from "@homarr/db"; import { eq } from "@homarr/db"; import { items, users } from "@homarr/db/schema"; +import type { ExtendedFeedEntry } from "@homarr/request-handler/rss-feeds"; import { rssFeedsRequestHandler } from "@homarr/request-handler/rss-feeds"; import type { WidgetComponentProps } from "../../../../widgets/src"; import { createTRPCRouter, publicProcedure } from "../../trpc"; +const feedsInput = z.object({ + urls: z.array(z.string()).max(100), + maximumAmountPosts: z.number(), +}); + export const rssFeedRouter = createTRPCRouter({ - getFeeds: publicProcedure - .input( - z.object({ - urls: z.array(z.string()).max(100), - maximumAmountPosts: z.number(), - }), - ) - .query(async ({ ctx, input }) => { - const urls = (await canAccessAllFeedsAsync(ctx.db, ctx.session)) - ? input.urls - : await restrictUrlsAsync(ctx.db, input.urls); + getFeeds: publicProcedure.input(feedsInput).query(async ({ ctx, input }) => { + const urls = (await canAccessAllFeedsAsync(ctx.db, ctx.session)) + ? input.urls + : await restrictUrlsAsync(ctx.db, input.urls); - const rssFeeds = await Promise.all( - urls.map(async (url) => { - const innerHandler = rssFeedsRequestHandler.handler({ - url, - count: input.maximumAmountPosts, - }); - return await innerHandler.getCachedOrUpdatedDataAsync({ - forceUpdate: false, - }); - }), - ); - - return rssFeeds - .flatMap((rssFeed) => rssFeed.data.entries) - .slice(0, input.maximumAmountPosts) - .sort((entryA, entryB) => { - return entryA.published && entryB.published - ? new Date(entryB.published).getTime() - new Date(entryA.published).getTime() - : 0; + const rssFeeds = await Promise.all( + urls.map(async (url) => { + const innerHandler = rssFeedsRequestHandler.handler({ + url, + count: input.maximumAmountPosts, }); - }), + return await innerHandler.getCachedOrUpdatedDataAsync({ + forceUpdate: false, + }); + }), + ); + + return rssFeeds + .flatMap((rssFeed) => rssFeed.data.entries) + .slice(0, input.maximumAmountPosts) + .sort((entryA, entryB) => { + return entryA.published && entryB.published + ? new Date(entryB.published).getTime() - new Date(entryA.published).getTime() + : 0; + }); + }), + subscribeFeeds: publicProcedure.input(feedsInput).subscription(({ input }) => { + // It is not necessary to check access to all feeds here, as the client will only subscribe to feeds which already exist + return observable<{ url: string; entries: ExtendedFeedEntry[] }>((emit) => { + const unsubscribes = input.urls.map((url) => { + const innerHandler = rssFeedsRequestHandler.handler({ url, count: input.maximumAmountPosts }); + return innerHandler.subscribe((data) => { + emit.next({ url, entries: data.entries }); + }); + }); + + return () => { + unsubscribes.forEach((unsubscribe) => unsubscribe()); + }; + }); + }), }); export async function canAccessAllFeedsAsync(db: Database, session: Session | null) { diff --git a/packages/cron-jobs/src/jobs/rss-feeds.ts b/packages/cron-jobs/src/jobs/rss-feeds.ts index 2dda83499..6a497a043 100644 --- a/packages/cron-jobs/src/jobs/rss-feeds.ts +++ b/packages/cron-jobs/src/jobs/rss-feeds.ts @@ -5,9 +5,9 @@ import { ErrorWithMetadata } from "@homarr/core/infrastructure/logs/error"; import { EVERY_10_MINUTES } from "@homarr/cron-jobs-core/expressions"; import { db, eq } from "@homarr/db"; import { items } from "@homarr/db/schema"; -// This import is done that way to avoid circular dependencies. import { rssFeedsRequestHandler } from "@homarr/request-handler/rss-feeds"; +// This import is done that way to avoid circular dependencies. import type { WidgetComponentProps } from "../../../widgets"; import { createCronJob } from "../lib"; diff --git a/packages/request-handler/src/rss-feeds.ts b/packages/request-handler/src/rss-feeds.ts index eb13caa88..9eaf026ea 100644 --- a/packages/request-handler/src/rss-feeds.ts +++ b/packages/request-handler/src/rss-feeds.ts @@ -28,7 +28,7 @@ export const rssFeedsRequestHandler = createCachedWidgetRequestHandler({ return { ...result, - entries: result.entries?.slice(0, input.count) ?? [], + entries: result.entries?.map((entry) => ({ ...entry, feedUrl: input.url })).slice(0, input.count) ?? [], }; }, cacheDuration: dayjs.duration(5, "minutes"), @@ -109,6 +109,7 @@ const getFirstMediaProperty = (feedObject: object) => { * This interface adds properties on top of the default ones. */ export interface ExtendedFeedEntry extends FeedEntry { + feedUrl: string; enclosure?: string; } diff --git a/packages/widgets/src/rssFeed/component.tsx b/packages/widgets/src/rssFeed/component.tsx index ee781fb34..179a448e2 100644 --- a/packages/widgets/src/rssFeed/component.tsx +++ b/packages/widgets/src/rssFeed/component.tsx @@ -4,25 +4,47 @@ import { Card, Flex, Group, Image, ScrollArea, Stack, Text } from "@mantine/core import { IconClock } from "@tabler/icons-react"; import dayjs from "dayjs"; +import type { RouterInputs } from "@homarr/api"; import { clientApi } from "@homarr/api/client"; import { useRequiredBoard } from "@homarr/boards/context"; import type { WidgetComponentProps } from "../definition"; import classes from "./component.module.scss"; +const useLiveFeedEntries = (input: RouterInputs["widget"]["rssFeed"]["getFeeds"]) => { + const [feedEntries] = clientApi.widget.rssFeed.getFeeds.useSuspenseQuery(input, { + refetchOnMount: false, + refetchOnWindowFocus: false, + refetchOnReconnect: false, + retry: false, + }); + const utils = clientApi.useUtils(); + + clientApi.widget.rssFeed.subscribeFeeds.useSubscription(input, { + onData(updatedData) { + utils.widget.rssFeed.getFeeds.setData(input, (oldData) => { + return oldData + ?.filter((entry) => entry.feedUrl !== updatedData.url) + .concat(updatedData.entries) + .sort((entryA, entryB) => { + return entryA.published && entryB.published + ? new Date(entryB.published).getTime() - new Date(entryA.published).getTime() + : 0; + }) + .slice(0, input.maximumAmountPosts); + }); + }, + }); + + return feedEntries; +}; + export default function RssFeed({ options }: WidgetComponentProps<"rssFeed">) { - const [feedEntries] = clientApi.widget.rssFeed.getFeeds.useSuspenseQuery( - { - urls: options.feedUrls, - maximumAmountPosts: typeof options.maximumAmountPosts === "number" ? options.maximumAmountPosts : 100, - }, - { - refetchOnMount: false, - refetchOnWindowFocus: false, - refetchOnReconnect: false, - retry: false, - }, - ); + const feedEntries = useLiveFeedEntries({ + urls: options.feedUrls, + maximumAmountPosts: typeof options.maximumAmountPosts === "number" ? options.maximumAmountPosts : 100, + }); + const board = useRequiredBoard(); const languageDir = options.enableRtl ? "RTL" : "LTR"; From 6ec058c835040dbf72cd2490d49f94be7da066dc Mon Sep 17 00:00:00 2001 From: Meier Lukas Date: Fri, 10 Apr 2026 18:11:20 +0200 Subject: [PATCH 37/49] feat(rss-feed): add optional poster (#5452) --- .../src/router/test/widgets/rssFeed.spec.ts | 1 + packages/old-import/src/widgets/options.ts | 1 + packages/translation/src/lang/en.json | 3 ++ packages/widgets/src/rssFeed/component.tsx | 42 +++++++++++-------- packages/widgets/src/rssFeed/index.ts | 3 ++ 5 files changed, 33 insertions(+), 17 deletions(-) diff --git a/packages/api/src/router/test/widgets/rssFeed.spec.ts b/packages/api/src/router/test/widgets/rssFeed.spec.ts index acd7f5c17..4773fa149 100644 --- a/packages/api/src/router/test/widgets/rssFeed.spec.ts +++ b/packages/api/src/router/test/widgets/rssFeed.spec.ts @@ -208,6 +208,7 @@ async function setupUrlRestrictionAsync(dbUrls: string[]) { hideDescription: false, textLinesClamp: 3, maximumAmountPosts: 5, + showPosterImage: true, } satisfies WidgetComponentProps<"rssFeed">["options"]), }) satisfies InferInsertModel, ), diff --git a/packages/old-import/src/widgets/options.ts b/packages/old-import/src/widgets/options.ts index b3e5f0b9f..32b1f25c3 100644 --- a/packages/old-import/src/widgets/options.ts +++ b/packages/old-import/src/widgets/options.ts @@ -122,6 +122,7 @@ const optionMapping: OptionMapping = { maximumAmountPosts: (oldOptions) => oldOptions.maximumAmountOfPosts, textLinesClamp: (oldOptions) => oldOptions.textLinesClamp, hideDescription: () => undefined, + showPosterImage: () => true, // This was the default in oldmarr }, notebook: { allowReadOnlyCheck: (oldOptions) => oldOptions.allowReadOnlyCheck, diff --git a/packages/translation/src/lang/en.json b/packages/translation/src/lang/en.json index a069f9c4e..0d88f2e63 100644 --- a/packages/translation/src/lang/en.json +++ b/packages/translation/src/lang/en.json @@ -2516,6 +2516,9 @@ }, "hideDescription": { "label": "Hide description" + }, + "showPosterImage": { + "label": "Show poster image" } } }, diff --git a/packages/widgets/src/rssFeed/component.tsx b/packages/widgets/src/rssFeed/component.tsx index 179a448e2..f219cd2e4 100644 --- a/packages/widgets/src/rssFeed/component.tsx +++ b/packages/widgets/src/rssFeed/component.tsx @@ -39,7 +39,7 @@ const useLiveFeedEntries = (input: RouterInputs["widget"]["rssFeed"]["getFeeds"] return feedEntries; }; -export default function RssFeed({ options }: WidgetComponentProps<"rssFeed">) { +export default function RssFeed({ options, width }: WidgetComponentProps<"rssFeed">) { const feedEntries = useLiveFeedEntries({ urls: options.feedUrls, maximumAmountPosts: typeof options.maximumAmountPosts === "number" ? options.maximumAmountPosts : 100, @@ -49,6 +49,8 @@ export default function RssFeed({ options }: WidgetComponentProps<"rssFeed">) { const languageDir = options.enableRtl ? "RTL" : "LTR"; + const isNarrow = width < 128 * 3; + return ( @@ -63,27 +65,33 @@ export default function RssFeed({ options }: WidgetComponentProps<"rssFeed">) { w="100%" p="sm" > - {feedEntry.enclosure && ( + {feedEntry.enclosure !== undefined && ( backdrop )} - - - {feedEntry.title} - - {!options.hideDescription && feedEntry.description && ( - + + {feedEntry.enclosure !== undefined && options.showPosterImage && !isNarrow && ( + {feedEntry.title} )} - {feedEntry.published && } - + + + {feedEntry.title} + + {!options.hideDescription && feedEntry.description && ( + + )} + + {feedEntry.published && } + + ))} diff --git a/packages/widgets/src/rssFeed/index.ts b/packages/widgets/src/rssFeed/index.ts index 4f754d602..079c761a9 100644 --- a/packages/widgets/src/rssFeed/index.ts +++ b/packages/widgets/src/rssFeed/index.ts @@ -32,6 +32,9 @@ export const { definition, componentLoader } = createWidgetDefinition("rssFeed", hideDescription: factory.switch({ defaultValue: false, }), + showPosterImage: factory.switch({ + defaultValue: false, + }), })); }, }).withDynamicImport(() => import("./component")); From 9f5ae31222446af39d1e1c76b2e09aca4bd490bd Mon Sep 17 00:00:00 2001 From: "homarr-update-contributors[bot]" <210161987+homarr-update-contributors[bot]@users.noreply.github.com> Date: Fri, 10 Apr 2026 16:13:04 +0000 Subject: [PATCH 38/49] chore: update contributors (#5455) Co-authored-by: Homarr Update Contributors <210161987+homarr-update-contributors[bot]@users.noreply.github.com> --- static-data/translators.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/static-data/translators.json b/static-data/translators.json index 2e6b4e63c..7a78e8b94 100644 --- a/static-data/translators.json +++ b/static-data/translators.json @@ -1 +1 @@ -[{"username":"carlchina","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/6697/medium/d22bbe7797bbeb30dbdc73a5648d329a_default.png"},{"username":"zielmann","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/7795/medium/ad22b8b8d5eb33e4154d53a454c862fd_default.png"},{"username":"Thalyn","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/12494028/medium/5faf5acc945a874ed116c4567edaa09f_default.png"},{"username":"magnushj","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/12503488/medium/68f32e33ea7b891960055c9f831f7344_default.png"},{"username":"almontegil","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/12580457/medium/f4136cacbdfdb4c28ae7f85dc5f840db_default.png"},{"username":"andibing","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/12664938/medium/b8be63e4dcb2e791ced1ffc9e3a049a5.jpg"},{"username":"gronare","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/12680911/medium/c6eb14d1504156f34a158e507f73aa3d_default.png"},{"username":"SmartPhoneLover","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/12701640/medium/ec95486662ec875cda080e778c3ff702.jpg"},{"username":"marcelotk_15","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/12773227/medium/ecf6bea16ab0c873c131df2154ee9718_default.png"},{"username":"S3OD177","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13051544/medium/11dd990837f61f7e8f7d36b041a7fddb_default.png"},{"username":"marcg","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13153301/medium/ebcf60fbf27deb148ec40a659566c6ff_default.png"},{"username":"BeersTeddy","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13185230/medium/2f1f4e1effe74a23422b195cbefb2a95_default.png"},{"username":"jamesmcmahon0","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13245578/medium/586aa873b4abddbd9abc6f3de99ab70e.jpeg"},{"username":"b1nar10","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13286752/medium/249b02e3368752cb175446082015737c_default.png"},{"username":"vannCN","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13330448/medium/9b8a9ee3611e51e951e22d5fd4eb7d8d.jpg"},{"username":"binswm","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13343482/medium/45dde0e6097b9b72705d2eba9dbbc276_default.png"},{"username":"SkewRam","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13496556/medium/188f5c2deb7938eda51eb786cc4539ca.jpeg"},{"username":"raphcatarino","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13547726/medium/b003511e67df13a4b4b5689488fa8099.jpg"},{"username":"shillos5","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13600557/medium/b17650b2b84f829d54fa548c44c1ab27.jpeg"},{"username":"wolong98","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13641407/medium/f4634edc58c7857a357e5293543c15cf.jpg"},{"username":"spair0039","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14012333/medium/72430e96027c09c19141cac38eae4617.png"},{"username":"MajorMarcin","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14072183/medium/0a197e64bb92b6ea94cecbb607512c45.jpg"},{"username":"KosmoMoustache","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14103535/medium/51c438cdd9f86e8811c75f4869de479c.png"},{"username":"Soochaehwa","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14118689/medium/496a1ce63111547bf455a1e0a7ac75f1_default.png"},{"username":"garryfield","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14187035/medium/520c964706676045f6eeec1b08edc880.jpg"},{"username":"droidenko","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14444264/medium/4aa3a8e824f72bc9e5ec0d8de307095e.jpeg"},{"username":"maathis","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14489950/medium/6eeddf13a757ee35f78f1763f94d95e1.jpeg"},{"username":"bukvam","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14546502/medium/a819dc40a13c57395a17dc46e847d3ce.jpg"},{"username":"gm.cinalli","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14670666/medium/2d466a0fdbda40764526be86c97c0ab4.jpeg"},{"username":"antoine2tt","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14722148/medium/f88d926900862dd59007ea4b3419cb9d.png"},{"username":"cretzen","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14799754/medium/3ba5c1805ec20c000d5810c07985afe9.jpg"},{"username":"ktKongTong","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14817246/medium/97cfc3c028dbdaf85ebd1102da71e58c.jpeg"},{"username":"marinkaberg","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14861042/medium/2d5c4e62613f03082f3e645fa92efd59.jpeg"},{"username":"djismgaming","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14934947/medium/f5a8570713c34ab0f7d5405d105e2a9a.jpeg"},{"username":"f1refa11","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14949159/medium/fd2ae63b8eb4462200ba96abf943c1b9.png"},{"username":"jeffersonraimon","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15057621/medium/6dff469563860e2618bc9d45646d0ab4.png"},{"username":"giop98","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15057987/medium/b8a4825d3fc39fc662f35ee258db4b2d.jpeg"},{"username":"tomislav.kraljevic","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15118857/medium/e133f1061cc92850b854d05d8faaeafd.png"},{"username":"Walkx","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15202182/medium/5c37361ae45aeed487b34582c1f7ca37.png"},{"username":"andrea.rosso","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15246318/medium/11f3f5ef44ec7f55b6f143090e208704_default.png"},{"username":"ajnart","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15270132/medium/a0f107a463c8910ee96bc2fa843a17e3.jpeg"},{"username":"Witchling","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15282238/medium/9e196b6783415b10ca571b7673c2ef33.jpg"},{"username":"guineuu","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15292058/medium/22fbb758bda3b7805d50bf21d38f2c20.jpeg"},{"username":"Bulgus","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15304568/medium/0e8787e5ceb02ed5c96a514d0068ae87.jpg"},{"username":"Narno","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15314996/medium/a6ba093f24884250a1bf6c6f2ca50f1b_default.png"},{"username":"BySempron","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15315986/medium/e3d22d7b1423c6823a9f36d595ed4bdb.png"},{"username":"jonathan.berglin.work","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15359236/medium/95930b2093db13b76179782f7322c5d5.png"},{"username":"icdmkg","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15405504/medium/f334d16cde1ac4ffb935b440d03465af.gif"},{"username":"irithys","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15405614/medium/3086461c47cce0a0c031925e5f943412.png"},{"username":"JannesV","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15419912/medium/a7809eb4b817d7c49b62cf10ae86b950.png"},{"username":"benniblot","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15419914/medium/8086b1573d31f152ba41949b3a172445.jpeg"},{"username":"pacjo","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15419916/medium/3cbeddbd7bc01faafb5a3bf47bba915b_default.png"},{"username":"Payou6994","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15419934/medium/37c9b9b17dfb578404c1c1ddb73ba7a8.png"},{"username":"fzibi21","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15419976/medium/0da688450358e0290a7b7359cc1f7328.png"},{"username":"WowMurdock","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15420118/medium/de19576fccb495b6dfe4c4c04a56b834.png"},{"username":"hbooo","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15420120/medium/6c7c7f8db785061356ebb03d044d3329.jpeg"},{"username":"Manicraft1001","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15420178/medium/50ec94563a06a9f74f33bd09f01eed4d.jpg"},{"username":"Void123","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15420354/medium/86929d44df92a00f9fe900a985c196df_default.png"},{"username":"R4cc","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15422606/medium/a390979662b84694f59de30bdb732141.jpeg"},{"username":"fabricionaweb","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15425808/medium/a9354142e7ae5152c144409d55fda551_default.png"},{"username":"JokeOfDead","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15426890/medium/a383eac9365e9de64fd4ab1d6fd0cb95.jpeg"},{"username":"hkz","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15427174/medium/c88acefb0d7306e1f7470e872029fb39_default.png"},{"username":"Steken","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15428516/medium/d5aea5653c769c3a523182bdb60d1664.png"},{"username":"flar.anton","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15428592/medium/b01fdb365d892e9f811f77fcb50a80a2.jpeg"},{"username":"Bon","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15433542/medium/5397da4dfc821f20b6ac14fe0c514e9a.jpeg"},{"username":"bfkadan","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15434162/medium/4f9a0b43cfe3acaea60124c14ba7f44a.png"},{"username":"BunnySweety","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15434662/medium/f0ef200a6a0dcf0e1d0e9ecd4148f560_default.png"},{"username":"HRKings","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15436168/medium/69a31e461d38549f01864e7ef10d642e.png"},{"username":"wiston81","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15439078/medium/10f292c8d12a7c21a44b54495fa4a3d8.jpeg"},{"username":"qaz0911","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15440860/medium/3d3e50ee388c72dc4bf7a771761f2d89_default.png"},{"username":"qqyule","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15441462/medium/7a3cdf82710ffb5d8f388bc0bd010665.png"},{"username":"Bims0n","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15445560/medium/603220b603eeb3367e0f0d3fa675247c.jpg"},{"username":"TariqDaCoder","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15446228/medium/50b0f4040112bbd67690b769477398e5_default.png"},{"username":"Anarchon","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15449644/medium/e925e1f3e3ffbf0f982391ce263a1a28.jpeg"},{"username":"Ashun","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15453020/medium/ccdcf51c73d6aae40751bb30beee1915_default.png"},{"username":"sebekmartin","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15454038/medium/bcfb44598cdfd1d7cd4eb35812538962.jpeg"},{"username":"RagnarGraves","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15459882/medium/143d5af850c1154070a218bea124e9cb_default.png"},{"username":"PrtmPhlp","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15462414/medium/b80db55e9de301432dcd1f8c8b24fd49_default.png"},{"username":"DooYoo","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15470768/medium/2a18cf4be67094724b508c9e1e698a21_default.png"},{"username":"espentruls","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15486092/medium/8e38afc3a4ff669226a0cfd3e420ff3a.jpeg"},{"username":"frisco82","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15486922/medium/4e1c5d4189b42508e660daa3c1c25b2a.jpeg"},{"username":"lupineDK","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15491798/medium/461bd501e8371c062bf29ea171aedd36_default.png"},{"username":"hillaliy","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15492732/medium/0bae17b421604892d888e3fc70cf0587.jpeg"},{"username":"MarcOrfilaCarreras","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15501072/medium/ea52b26c3c6f21e4931e38e3ce3f3d6e.png"},{"username":"robertbridda","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15507822/medium/a368c2e30411bb2da9b49290084191f3.png"},{"username":"MKoniuszko","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15518090/medium/87605434fcc839f6763ab07c50f6d232.jpeg"},{"username":"HeroSizy","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15518710/medium/4e79c0e98cbeb536dd961e656331b509.png"},{"username":"dwt136","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15520022/medium/554422503f2baea43ace85facb4546fb_default.png"},{"username":"asifthewebguy","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15526719/medium/b18931dd0c800d725048bd440646198b_default.png"},{"username":"eiloogs","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15545537/medium/f290a2f1190983530a9b76b2e858a609.gif"},{"username":"_vytdv","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15547289/medium/60d8644cc8ad6f11a92ccea4a14cd098_default.png"},{"username":"crendasien","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15554645/medium/598ab1d4aaf6b8dccd5ba16be92da7b9.jpeg"},{"username":"edxo","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15573823/medium/8a565b732a75a77f840dd123cdb30bf4.png"},{"username":"somerlev","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15617065/medium/f4b13513e311ec902d90b2f718412c55.jpg"},{"username":"kid1412621","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15643771/medium/dd455e32de652fa88e6fd97598bdffa7.png"},{"username":"suming","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15644717/medium/244159dfe10fa03436205506f80c9e25.png"},{"username":"nick.gher","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15647517/medium/5374a2c6fef60a3fbf0edf86b997c351_default.png"},{"username":"DataCat","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15650315/medium/ce7c1365adf35c5d490d77500a4607fb_default.png"},{"username":"dizo89","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15658375/medium/0ca745e5017d491fe1b22b0239904de8.jpeg"},{"username":"tee_noodle","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15674577/medium/804d9cf06f5196026acb6436b809d0da_default.png"},{"username":"Marty88","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15674593/medium/492b1509d52bd2809dea768121217125.jpeg"},{"username":"Spillebulle","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15677023/medium/20b98bb85062e07afe0e63618f8a5feb.PNG"},{"username":"petitmewen","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15685239/medium/15de9b62d2e0bc25013435f1784bbcc1.jpeg"},{"username":"NoProsNoNoobs","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15687709/medium/ae8f65fafeb8bcf74dcb8871bbe46461.png"},{"username":"y.gybson","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15690777/medium/b5cb5d2d5768904ff6586c727e3a6c77.jpeg"},{"username":"inside90","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15704947/medium/c1355fcb30dd76f8e39d98d1d49f1c52.png"},{"username":"RJSkudra","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15709853/medium/c3abf2774913dc4e81fb261d36d7668c.png"},{"username":"binge203","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15713937/medium/77c1cfa4314673db80e6881fd9f64668.gif"},{"username":"Mailootje","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15714337/medium/743c3bc4ab1989966a375eeeec83d8b8.jpeg"},{"username":"tim-wiegers","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15719805/medium/08a96f064813350661cd6b20bf3d7d99.png"},{"username":"GkhnG","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15722911/medium/71a027caec489ef6ce82bcf1888329d0_default.png"},{"username":"Zoen-Millo","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15760967/medium/9e956f11adc5b34f5636268b5c485dbf.jpg"},{"username":"HooinKyoma","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15792897/medium/9489f0a9b368e0e827ae758b740a2eed.jpeg"},{"username":"wathergeen","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15794495/medium/a83b7fc80d180669ebfd6deb3544cfd0.png"},{"username":"MoeToo","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15818233/medium/d35cd6953717706eaf20f6c143c62947.png"},{"username":"itodouble","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15836233/medium/e984caea18fb0673bf319fcf28cef649.png"},{"username":"loslocitos","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15847901/medium/fe30d12fd2cf38212f929e13b169f9ec.jpeg"},{"username":"Oversleep","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15849065/medium/06141f13a6d541d753f3c2f2947b8068_default.png"},{"username":"Beardy","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15865139/medium/fca6b9d2b3f52e286d1568f52b83b6a0_default.png"},{"username":"raelyan","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15875457/medium/2f4fda1d1aaa5dcc79b328baf3f03151.jpeg"},{"username":"dolphin738","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15913763/medium/ee6fede7b8528ca642329ada80d1cc18.png"},{"username":"brunotco","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15916719/medium/09db45880fc05abc18adb8d932a5ecf9_default.png"},{"username":"LukeIsHereToDevelop","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15924739/medium/3e6cd3940297bb4ba7bb039c93e6f918.png"},{"username":"kennit","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15925879/medium/6b0733ad3c5949b91c55e4d8b03db8a5_default.png"},{"username":"kuunpire","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15950309/medium/8192a4f08f07086828ac9f74ed29a169.jpeg"},{"username":"Sandor-dev","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15951759/medium/0216c2da4eb028164ebbecf1c72f6271_default.png"},{"username":"Meierschlumpf","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15953187/medium/23c744faef1ab84fbdc9351a7850aab6.jpeg"},{"username":"harmlesscat","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15970733/medium/dd8d0214a0250c932bb518b1b55e45a2_default.png"},{"username":"OrzWTF","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15976121/medium/4c4557cbff7ff7b0503455bc59c020e0.jpeg"},{"username":"tagaishi","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15977271/medium/eade504c83a5a1ff831c80a538fbdb44_default.png"},{"username":"azurite928","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15981895/medium/547ccc459ee123e78b5401c499f1022d.png"},{"username":"Ronner231","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16021342/medium/7734d550df2de5a2fec2ffff33e7024c.jpeg"},{"username":"ugyes","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16034148/medium/ed001e3f470a2dea9a8ce955b18e7bd5.png"},{"username":"rpieja","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16045554/medium/bd55baca2ef8b92502a760cc9ee7c505_default.png"},{"username":"flambyisyou","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16051620/medium/3a3bc0c90f6b95ab4ef74396a0a17beb.png"},{"username":"Topbcy","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16077170/medium/d3aed33ea56330338756cfcd89477cfe.jpeg"},{"username":"ai5d02sb","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16084674/medium/7c8119fe2a5ca71bb15f636916a42b95_default.png"},{"username":"explosiveparrot","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16097722/medium/7762f80fc1da63f5b2eb87de9d640324_default.png"},{"username":"DestroyCom","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16111544/medium/83e3d3ac5c8bfed634cd1a074854db67.png"},{"username":"neotraxo","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16116966/medium/b30df957873329019a8a90a69f6efe3a.png"},{"username":"gzxpa","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16123314/medium/487b05577310a946b0b98bc72c11213b_default.png"},{"username":"TORIK","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16124732/medium/de770890e6411860ac06e8cc2dc0abd0_default.png"},{"username":"sergio.pibot","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16138114/medium/80db802b2fcd6bbf19ea4c7413367dca.jpeg"},{"username":"karam-ajaj","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16139838/medium/7539ab958d3c85d5f67e7849483ea8f7.jpeg"},{"username":"SimonHenz97","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16151520/medium/9b94a85b536688e2d94538c384fd0a76.png"},{"username":"olsson82","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16198988/medium/eeaab4cba210c537424d4204754b604e.png"},{"username":"bo3bdo","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16222806/medium/8652f3beacb6098dde5a4cd0a29fe80d.jpeg"},{"username":"AngryPlayer04","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16245192/medium/342715274f4dc31fd4132cdae9126188.jpeg"},{"username":"ehatamm","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16245884/medium/979d5e5526fe545be9bf46db481f7182.jpeg"},{"username":"Balionelis","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16246058/medium/986d62ba363594c517d966fe9178dcbb.png"},{"username":"kwargs","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16248816/medium/19ce11f04bf1ae2637e0483399c675f9_default.png"},{"username":"lucicu","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16273892/medium/3b09e8f3bead221ef98d6a45a16851dc_default.png"},{"username":"Michael5564445","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16357688/medium/9d9026a8bf3eaccb0417da240932ebf7.png"},{"username":"Netscream","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16359198/medium/694e0c8572dc8a47e6d63da31ec5b992.png"},{"username":"belicstefan04","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16368142/medium/4742dcfd7bf7ad7e33e37ac44fba7e0f.png"},{"username":"Hamad2066","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16371478/medium/f37bbc7685b6757defdbd1494236af61.jpeg"},{"username":"3ct0pl4sm","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16399616/medium/ce796d1c40163975624c0a483e56374f.png"},{"username":"sanchez.marcell626","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16433865/medium/3ddde1314764cc2205ffdcd1ae719a91.png"},{"username":"Minoctis","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16490079/medium/91fd0849303a4eca033d660d0a7b6854.jpeg"},{"username":"vittoriosoccorso","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16498805/medium/17086b2f1981f734edd1572f79c3158a.jpeg"},{"username":"Worgen325","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16533177/medium/4a62cc6b06095751aeb4b1b3e96db93f.png"},{"username":"homarr","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16657003/medium/3afabfd3de949a54ff5d40ad04552aba.png"},{"username":"mwgg","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16658379/medium/763dd09f5c238cc5324d4d5357985292.png"},{"username":"kiwinho","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16671855/medium/bfe3a2d497dc4748a04d02e4ae2139cb.jpeg"},{"username":"tjvg4m34r13","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16679135/medium/7a483b9b0abe0d925e54808e1cb38fa0.jpeg"},{"username":"Diegoem","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16705921/medium/29ce68ebc191fc3f65499511b12de98f_default.png"},{"username":"bouks69","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16746091/medium/b58b1fc08520de416198be9df5d093eb.jpeg"},{"username":"futhgar","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16748067/medium/b8c526b097f9aa9d687250cac3df16dc.jpeg"},{"username":"GrimSQL","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16764343/medium/fff729a76d1f8fbcdaee9bb0c0f5f3fd.png"},{"username":"chnikel","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16767047/medium/3dda2a37e03049dafefe6697bb00f75c.png"},{"username":"yuki19870616","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16767951/medium/f59c848e38382cda6c8464b0a7b9e642_default.png"},{"username":"noamdal","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16782245/medium/b4a72a61f9caf138f0322c0cb987e6d0.png"},{"username":"MalithRukshan","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16809057/medium/084d6a5b35fbbeacc70e7021197d222f.png"},{"username":"minirope19","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16930929/medium/e8cbbc26747e31c5a8959215e1dd067b.jpeg"},{"username":"prubin","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17503492/medium/96ac87644691e49c1f983f2f094e541c_default.png"},{"username":"sam-tam-sam","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17578052/medium/1628dc2954ce3ae95e0caaa2bd60ab0c.png"},{"username":"toineenzo","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/12371852/medium/9f1b2bedb4794c59479cd289bdba9fab.png"},{"username":"ArcaneWater","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/12421105/medium/1ac82517a6c658f6b62c48aebcb17e86_default.png"},{"username":"Ebedami","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/12974801/medium/b596dea5c09454c4c828eac558389755.jpg"},{"username":"perrygamerptyt","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13117177/medium/1406c949507ecd438480473c8a1f6124.jpg"},{"username":"SergiSvK","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13320543/medium/3df3c79cc5f0c53716c559cd3fd2fc20.png"},{"username":"jeongeon","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13362856/medium/eb572f72cde5e5526c517ca3a6489850_default.png"},{"username":"MrTranCFCVN","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13439475/medium/a1789d69c85d90c667194b5d6a518c08_default.png"},{"username":"Tobost06","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13467449/medium/9227dc07f6366bc060d28304f5cb8ce7.jpeg"},{"username":"Kf637","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13530622/medium/118b00bb72d01d3229c97409637e25d1_default.png"},{"username":"Cruellest","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13610615/medium/2a74faa0947ee08d18f7946fb8602c1e.jpg"},{"username":"Thario","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14491372/medium/dd5e142070802a672900121aa3f332a6_default.png"},{"username":"Wjouter","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14585620/medium/b91a51513332bdc0a0a9ecbed99ecbc3.png"},{"username":"albanobattistella","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14686194/medium/564afcfd76f5cd24751bd669cf4943aa.jpg"},{"username":"Kachelkaiser","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14763406/medium/203a781797da4a18fe0f4e7db8fd547c.png"},{"username":"regi4","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14842936/medium/f7e1d672f562a7db61ba6b4b8f4de41d.png"},{"username":"baton5129","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14891064/medium/8d438f557b82977dd02f0ead3187265f.PNG"},{"username":"meviper","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15958903/medium/209f521ce33a05831fa8d7d1b7babc20_default.png"},{"username":"GerOriki","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16268376/medium/da00e54b08cd40348231d92873a0cd0a_default.png"},{"username":"TheRedCyclops","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16486399/medium/7f39226180120d5a9efcb8e13d8aec8e_default.png"},{"username":"dymek37","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16659221/medium/d1dc6d11d7e7fc370efc5070e837ae03.png"},{"username":"B3CKDOOR","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16744975/medium/e6c7b2d45e76465d54e6efb67c83da7d.png"},{"username":"Larsluph","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16779933/medium/ed7d36f8b44013bad3a16ac0491bd0f7.png"},{"username":"FOEDI","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16781001/medium/6b4552fb72e359aa016f7a054078fac8.png"},{"username":"xmarkurion","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16805443/medium/34a20428427de5aaef99c7d140646803.png"},{"username":"gregid","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16806705/medium/f3c8f4a20436e8538929130142bbc104.png"},{"username":"Flameberg","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16820453/medium/d47be866148474c9d05fec6fbe406d88.png"},{"username":"Playfust","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16872865/medium/5f4609cc711e5fb9fa8a0b178635769c.jpeg"},{"username":"Cotignac","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16879297/medium/81ff353edf030699a159bb79cda26e84.jpg"},{"username":"LeaHun","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16916375/medium/618520f0543b1e212ebc83d66b683d4b_default.png"},{"username":"jackwellerreal","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16919717/medium/37bbfdc03893f141133ccc619593266d.png"},{"username":"andrius.cim","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16967845/medium/46028fc1a0ddfaaeebcb37b39739625d_default.png"},{"username":"xjxexrxrxyx","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17041412/medium/d34d664166db6fb25579bca9ff3b50b4.jpeg"},{"username":"bilhal.fellah","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17044572/medium/d1ec6f17e4aa013e9eededc83778d2c6.png"},{"username":"the_octo","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17058060/medium/7423ab3a4cabb67f5decb2e2dfa2b675_default.png"},{"username":"BamesJond","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17075846/medium/128d7ffd40254c8e376f45678e2fc620_default.png"},{"username":"Kornikus","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17134240/medium/d7a42b2c30db46ff152699ca01f9e11a_default.png"},{"username":"xoxyuxu","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17176526/medium/108055aa24343043de852e412bec74be.png"},{"username":"cryptodntsleep","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17249408/medium/b9e15aa2b24a0dbc1e4f194aa8ed5109.png"},{"username":"yaniorg","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17261842/medium/7dbfc77f21c826845961243c44540d26.jpg"},{"username":"Vidariondr","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17262438/medium/45fbc71be02ef27296b6f423e97b6a03_default.png"},{"username":"Fastery","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17263066/medium/701b0edc59676174863ad651528bbb37.jpeg"},{"username":"stratself","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17290388/medium/57d9d8161b3fd0abf4dc5558b4a1fa05_default.png"},{"username":"wuzeqin","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17292606/medium/b9e0308410b31337e2d7aa6ed346d718_default.png"},{"username":"ChristopherBull","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17304338/medium/21a175ce596bfae81430767467908b90.jpeg"},{"username":"darkbcnlord","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17311436/medium/b271bc0b419ec3a26ddb7b63ff8ffc4b.png"},{"username":"zhoran1997","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17344028/medium/c8f450b5a8f1e9494a45dc60af7ce63e.png"},{"username":"gilalves1703","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17447768/medium/3f1de562a5c2391c88bbf8d5cf40a266.png"},{"username":"iServeCloud","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17470960/medium/11649b99d609438d66455a4d2fdc70f7.png"},{"username":"guibolzantvbox","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17474136/medium/59a576e6da538664ceb972253916fa02.jpeg"},{"username":"ivann136","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17506062/medium/67d09ada36fac5f444a1f7517e3a97bd_default.png"},{"username":"Maheshivara","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17516082/medium/576e1e6581cf969615b265de6aeff8b7.jpeg"},{"username":"brunogui81","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17517542/medium/7c0d174e810435af518fe8e0c05e151f.jpeg"},{"username":"michelwilhelm","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17542190/medium/4c6b33fd8993ff565fa75add2ce8355e.jpeg"},{"username":"dias-gxstavo","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17547376/medium/8c6b109aae8aeb651192346a39ae9e5b.jpeg"},{"username":"ToxykAuBleu","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17614030/medium/8d21e0608560172b121bd46126d827c7.jpeg"},{"username":"e.erdemir","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17617994/medium/7259a29db9941c6171a8cbbd643b92bd.png"},{"username":"sjonkreutz","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17618306/medium/7601c45d015189a863656e21348d223b.png"},{"username":"volovich0377","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17620388/medium/c929a8fbd24f96d17620fa497ade7309.png"},{"username":"Hamstio1","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17624898/medium/406e0bf40094c24a01c3064f8f5b2a82.png"},{"username":"i3laa","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17627462/medium/613a9d283ed8b69819ee181903851660.jpeg"},{"username":"bastiengrignon","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17629884/medium/ddfc3339285bd65195fcd834e512e9b7.jpeg"},{"username":"kauhee","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17644600/medium/def1b9066cf9275b4273a5a5dca7f325.png"}] \ No newline at end of file +[{"username":"carlchina","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/6697/medium/d22bbe7797bbeb30dbdc73a5648d329a_default.png"},{"username":"zielmann","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/7795/medium/ad22b8b8d5eb33e4154d53a454c862fd_default.png"},{"username":"Thalyn","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/12494028/medium/5faf5acc945a874ed116c4567edaa09f_default.png"},{"username":"magnushj","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/12503488/medium/68f32e33ea7b891960055c9f831f7344_default.png"},{"username":"almontegil","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/12580457/medium/f4136cacbdfdb4c28ae7f85dc5f840db_default.png"},{"username":"andibing","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/12664938/medium/b8be63e4dcb2e791ced1ffc9e3a049a5.jpg"},{"username":"gronare","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/12680911/medium/c6eb14d1504156f34a158e507f73aa3d_default.png"},{"username":"SmartPhoneLover","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/12701640/medium/ec95486662ec875cda080e778c3ff702.jpg"},{"username":"marcelotk_15","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/12773227/medium/ecf6bea16ab0c873c131df2154ee9718_default.png"},{"username":"S3OD177","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13051544/medium/11dd990837f61f7e8f7d36b041a7fddb_default.png"},{"username":"marcg","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13153301/medium/ebcf60fbf27deb148ec40a659566c6ff_default.png"},{"username":"BeersTeddy","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13185230/medium/2f1f4e1effe74a23422b195cbefb2a95_default.png"},{"username":"jamesmcmahon0","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13245578/medium/586aa873b4abddbd9abc6f3de99ab70e.jpeg"},{"username":"b1nar10","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13286752/medium/249b02e3368752cb175446082015737c_default.png"},{"username":"vannCN","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13330448/medium/9b8a9ee3611e51e951e22d5fd4eb7d8d.jpg"},{"username":"binswm","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13343482/medium/45dde0e6097b9b72705d2eba9dbbc276_default.png"},{"username":"SkewRam","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13496556/medium/188f5c2deb7938eda51eb786cc4539ca.jpeg"},{"username":"raphcatarino","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13547726/medium/b003511e67df13a4b4b5689488fa8099.jpg"},{"username":"shillos5","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13600557/medium/b17650b2b84f829d54fa548c44c1ab27.jpeg"},{"username":"wolong98","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13641407/medium/f4634edc58c7857a357e5293543c15cf.jpg"},{"username":"spair0039","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14012333/medium/72430e96027c09c19141cac38eae4617.png"},{"username":"MajorMarcin","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14072183/medium/0a197e64bb92b6ea94cecbb607512c45.jpg"},{"username":"KosmoMoustache","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14103535/medium/51c438cdd9f86e8811c75f4869de479c.png"},{"username":"Soochaehwa","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14118689/medium/496a1ce63111547bf455a1e0a7ac75f1_default.png"},{"username":"garryfield","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14187035/medium/520c964706676045f6eeec1b08edc880.jpg"},{"username":"droidenko","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14444264/medium/4aa3a8e824f72bc9e5ec0d8de307095e.jpeg"},{"username":"maathis","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14489950/medium/6eeddf13a757ee35f78f1763f94d95e1.jpeg"},{"username":"bukvam","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14546502/medium/a819dc40a13c57395a17dc46e847d3ce.jpg"},{"username":"gm.cinalli","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14670666/medium/2d466a0fdbda40764526be86c97c0ab4.jpeg"},{"username":"antoine2tt","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14722148/medium/f88d926900862dd59007ea4b3419cb9d.png"},{"username":"cretzen","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14799754/medium/3ba5c1805ec20c000d5810c07985afe9.jpg"},{"username":"ktKongTong","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14817246/medium/97cfc3c028dbdaf85ebd1102da71e58c.jpeg"},{"username":"marinkaberg","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14861042/medium/2d5c4e62613f03082f3e645fa92efd59.jpeg"},{"username":"djismgaming","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14934947/medium/f5a8570713c34ab0f7d5405d105e2a9a.jpeg"},{"username":"f1refa11","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14949159/medium/fd2ae63b8eb4462200ba96abf943c1b9.png"},{"username":"jeffersonraimon","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15057621/medium/6dff469563860e2618bc9d45646d0ab4.png"},{"username":"giop98","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15057987/medium/b8a4825d3fc39fc662f35ee258db4b2d.jpeg"},{"username":"tomislav.kraljevic","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15118857/medium/e133f1061cc92850b854d05d8faaeafd.png"},{"username":"Walkx","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15202182/medium/5c37361ae45aeed487b34582c1f7ca37.png"},{"username":"andrea.rosso","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15246318/medium/11f3f5ef44ec7f55b6f143090e208704_default.png"},{"username":"ajnart","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15270132/medium/a0f107a463c8910ee96bc2fa843a17e3.jpeg"},{"username":"Witchling","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15282238/medium/9e196b6783415b10ca571b7673c2ef33.jpg"},{"username":"guineuu","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15292058/medium/22fbb758bda3b7805d50bf21d38f2c20.jpeg"},{"username":"Bulgus","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15304568/medium/0e8787e5ceb02ed5c96a514d0068ae87.jpg"},{"username":"Narno","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15314996/medium/a6ba093f24884250a1bf6c6f2ca50f1b_default.png"},{"username":"BySempron","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15315986/medium/e3d22d7b1423c6823a9f36d595ed4bdb.png"},{"username":"jonathan.berglin.work","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15359236/medium/95930b2093db13b76179782f7322c5d5.png"},{"username":"icdmkg","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15405504/medium/f334d16cde1ac4ffb935b440d03465af.gif"},{"username":"irithys","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15405614/medium/3086461c47cce0a0c031925e5f943412.png"},{"username":"JannesV","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15419912/medium/a7809eb4b817d7c49b62cf10ae86b950.png"},{"username":"benniblot","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15419914/medium/8086b1573d31f152ba41949b3a172445.jpeg"},{"username":"pacjo","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15419916/medium/3cbeddbd7bc01faafb5a3bf47bba915b_default.png"},{"username":"Payou6994","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15419934/medium/37c9b9b17dfb578404c1c1ddb73ba7a8.png"},{"username":"fzibi21","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15419976/medium/0da688450358e0290a7b7359cc1f7328.png"},{"username":"WowMurdock","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15420118/medium/de19576fccb495b6dfe4c4c04a56b834.png"},{"username":"hbooo","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15420120/medium/6c7c7f8db785061356ebb03d044d3329.jpeg"},{"username":"Manicraft1001","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15420178/medium/50ec94563a06a9f74f33bd09f01eed4d.jpg"},{"username":"Void123","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15420354/medium/86929d44df92a00f9fe900a985c196df_default.png"},{"username":"R4cc","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15422606/medium/a390979662b84694f59de30bdb732141.jpeg"},{"username":"fabricionaweb","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15425808/medium/a9354142e7ae5152c144409d55fda551_default.png"},{"username":"JokeOfDead","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15426890/medium/a383eac9365e9de64fd4ab1d6fd0cb95.jpeg"},{"username":"hkz","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15427174/medium/c88acefb0d7306e1f7470e872029fb39_default.png"},{"username":"Steken","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15428516/medium/d5aea5653c769c3a523182bdb60d1664.png"},{"username":"flar.anton","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15428592/medium/b01fdb365d892e9f811f77fcb50a80a2.jpeg"},{"username":"Bon","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15433542/medium/5397da4dfc821f20b6ac14fe0c514e9a.jpeg"},{"username":"bfkadan","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15434162/medium/4f9a0b43cfe3acaea60124c14ba7f44a.png"},{"username":"BunnySweety","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15434662/medium/f0ef200a6a0dcf0e1d0e9ecd4148f560_default.png"},{"username":"HRKings","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15436168/medium/69a31e461d38549f01864e7ef10d642e.png"},{"username":"wiston81","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15439078/medium/10f292c8d12a7c21a44b54495fa4a3d8.jpeg"},{"username":"qaz0911","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15440860/medium/3d3e50ee388c72dc4bf7a771761f2d89_default.png"},{"username":"qqyule","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15441462/medium/7a3cdf82710ffb5d8f388bc0bd010665.png"},{"username":"Bims0n","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15445560/medium/603220b603eeb3367e0f0d3fa675247c.jpg"},{"username":"TariqDaCoder","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15446228/medium/50b0f4040112bbd67690b769477398e5_default.png"},{"username":"Anarchon","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15449644/medium/e925e1f3e3ffbf0f982391ce263a1a28.jpeg"},{"username":"Ashun","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15453020/medium/ccdcf51c73d6aae40751bb30beee1915_default.png"},{"username":"sebekmartin","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15454038/medium/bcfb44598cdfd1d7cd4eb35812538962.jpeg"},{"username":"RagnarGraves","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15459882/medium/143d5af850c1154070a218bea124e9cb_default.png"},{"username":"PrtmPhlp","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15462414/medium/b80db55e9de301432dcd1f8c8b24fd49_default.png"},{"username":"DooYoo","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15470768/medium/2a18cf4be67094724b508c9e1e698a21_default.png"},{"username":"espentruls","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15486092/medium/8e38afc3a4ff669226a0cfd3e420ff3a.jpeg"},{"username":"frisco82","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15486922/medium/4e1c5d4189b42508e660daa3c1c25b2a.jpeg"},{"username":"lupineDK","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15491798/medium/461bd501e8371c062bf29ea171aedd36_default.png"},{"username":"hillaliy","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15492732/medium/0bae17b421604892d888e3fc70cf0587.jpeg"},{"username":"MarcOrfilaCarreras","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15501072/medium/ea52b26c3c6f21e4931e38e3ce3f3d6e.png"},{"username":"robertbridda","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15507822/medium/a368c2e30411bb2da9b49290084191f3.png"},{"username":"MKoniuszko","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15518090/medium/87605434fcc839f6763ab07c50f6d232.jpeg"},{"username":"HeroSizy","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15518710/medium/4e79c0e98cbeb536dd961e656331b509.png"},{"username":"dwt136","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15520022/medium/554422503f2baea43ace85facb4546fb_default.png"},{"username":"asifthewebguy","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15526719/medium/b18931dd0c800d725048bd440646198b_default.png"},{"username":"eiloogs","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15545537/medium/f290a2f1190983530a9b76b2e858a609.gif"},{"username":"_vytdv","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15547289/medium/60d8644cc8ad6f11a92ccea4a14cd098_default.png"},{"username":"crendasien","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15554645/medium/598ab1d4aaf6b8dccd5ba16be92da7b9.jpeg"},{"username":"edxo","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15573823/medium/8a565b732a75a77f840dd123cdb30bf4.png"},{"username":"somerlev","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15617065/medium/f4b13513e311ec902d90b2f718412c55.jpg"},{"username":"kid1412621","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15643771/medium/dd455e32de652fa88e6fd97598bdffa7.png"},{"username":"suming","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15644717/medium/244159dfe10fa03436205506f80c9e25.png"},{"username":"nick.gher","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15647517/medium/5374a2c6fef60a3fbf0edf86b997c351_default.png"},{"username":"DataCat","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15650315/medium/ce7c1365adf35c5d490d77500a4607fb_default.png"},{"username":"dizo89","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15658375/medium/0ca745e5017d491fe1b22b0239904de8.jpeg"},{"username":"tee_noodle","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15674577/medium/804d9cf06f5196026acb6436b809d0da_default.png"},{"username":"Marty88","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15674593/medium/492b1509d52bd2809dea768121217125.jpeg"},{"username":"Spillebulle","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15677023/medium/20b98bb85062e07afe0e63618f8a5feb.PNG"},{"username":"petitmewen","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15685239/medium/15de9b62d2e0bc25013435f1784bbcc1.jpeg"},{"username":"NoProsNoNoobs","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15687709/medium/ae8f65fafeb8bcf74dcb8871bbe46461.png"},{"username":"y.gybson","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15690777/medium/b5cb5d2d5768904ff6586c727e3a6c77.jpeg"},{"username":"inside90","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15704947/medium/c1355fcb30dd76f8e39d98d1d49f1c52.png"},{"username":"RJSkudra","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15709853/medium/c3abf2774913dc4e81fb261d36d7668c.png"},{"username":"binge203","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15713937/medium/77c1cfa4314673db80e6881fd9f64668.gif"},{"username":"Mailootje","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15714337/medium/743c3bc4ab1989966a375eeeec83d8b8.jpeg"},{"username":"tim-wiegers","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15719805/medium/08a96f064813350661cd6b20bf3d7d99.png"},{"username":"GkhnG","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15722911/medium/71a027caec489ef6ce82bcf1888329d0_default.png"},{"username":"Zoen-Millo","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15760967/medium/9e956f11adc5b34f5636268b5c485dbf.jpg"},{"username":"HooinKyoma","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15792897/medium/9489f0a9b368e0e827ae758b740a2eed.jpeg"},{"username":"wathergeen","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15794495/medium/a83b7fc80d180669ebfd6deb3544cfd0.png"},{"username":"MoeToo","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15818233/medium/d35cd6953717706eaf20f6c143c62947.png"},{"username":"itodouble","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15836233/medium/e984caea18fb0673bf319fcf28cef649.png"},{"username":"loslocitos","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15847901/medium/fe30d12fd2cf38212f929e13b169f9ec.jpeg"},{"username":"Oversleep","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15849065/medium/06141f13a6d541d753f3c2f2947b8068_default.png"},{"username":"Beardy","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15865139/medium/fca6b9d2b3f52e286d1568f52b83b6a0_default.png"},{"username":"raelyan","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15875457/medium/2f4fda1d1aaa5dcc79b328baf3f03151.jpeg"},{"username":"dolphin738","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15913763/medium/ee6fede7b8528ca642329ada80d1cc18.png"},{"username":"brunotco","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15916719/medium/09db45880fc05abc18adb8d932a5ecf9_default.png"},{"username":"LukeIsHereToDevelop","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15924739/medium/3e6cd3940297bb4ba7bb039c93e6f918.png"},{"username":"kennit","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15925879/medium/6b0733ad3c5949b91c55e4d8b03db8a5_default.png"},{"username":"kuunpire","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15950309/medium/8192a4f08f07086828ac9f74ed29a169.jpeg"},{"username":"Sandor-dev","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15951759/medium/0216c2da4eb028164ebbecf1c72f6271_default.png"},{"username":"Meierschlumpf","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15953187/medium/23c744faef1ab84fbdc9351a7850aab6.jpeg"},{"username":"harmlesscat","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15970733/medium/dd8d0214a0250c932bb518b1b55e45a2_default.png"},{"username":"OrzWTF","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15976121/medium/4c4557cbff7ff7b0503455bc59c020e0.jpeg"},{"username":"tagaishi","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15977271/medium/eade504c83a5a1ff831c80a538fbdb44_default.png"},{"username":"azurite928","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15981895/medium/547ccc459ee123e78b5401c499f1022d.png"},{"username":"Ronner231","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16021342/medium/7734d550df2de5a2fec2ffff33e7024c.jpeg"},{"username":"ugyes","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16034148/medium/ed001e3f470a2dea9a8ce955b18e7bd5.png"},{"username":"rpieja","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16045554/medium/bd55baca2ef8b92502a760cc9ee7c505_default.png"},{"username":"flambyisyou","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16051620/medium/3a3bc0c90f6b95ab4ef74396a0a17beb.png"},{"username":"Topbcy","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16077170/medium/d3aed33ea56330338756cfcd89477cfe.jpeg"},{"username":"ai5d02sb","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16084674/medium/7c8119fe2a5ca71bb15f636916a42b95_default.png"},{"username":"explosiveparrot","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16097722/medium/7762f80fc1da63f5b2eb87de9d640324_default.png"},{"username":"DestroyCom","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16111544/medium/83e3d3ac5c8bfed634cd1a074854db67.png"},{"username":"neotraxo","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16116966/medium/b30df957873329019a8a90a69f6efe3a.png"},{"username":"gzxpa","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16123314/medium/487b05577310a946b0b98bc72c11213b_default.png"},{"username":"TORIK","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16124732/medium/de770890e6411860ac06e8cc2dc0abd0_default.png"},{"username":"sergio.pibot","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16138114/medium/80db802b2fcd6bbf19ea4c7413367dca.jpeg"},{"username":"karam-ajaj","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16139838/medium/7539ab958d3c85d5f67e7849483ea8f7.jpeg"},{"username":"SimonHenz97","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16151520/medium/9b94a85b536688e2d94538c384fd0a76.png"},{"username":"olsson82","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16198988/medium/eeaab4cba210c537424d4204754b604e.png"},{"username":"bo3bdo","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16222806/medium/8652f3beacb6098dde5a4cd0a29fe80d.jpeg"},{"username":"AngryPlayer04","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16245192/medium/342715274f4dc31fd4132cdae9126188.jpeg"},{"username":"ehatamm","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16245884/medium/979d5e5526fe545be9bf46db481f7182.jpeg"},{"username":"Balionelis","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16246058/medium/986d62ba363594c517d966fe9178dcbb.png"},{"username":"kwargs","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16248816/medium/19ce11f04bf1ae2637e0483399c675f9_default.png"},{"username":"lucicu","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16273892/medium/3b09e8f3bead221ef98d6a45a16851dc_default.png"},{"username":"Michael5564445","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16357688/medium/9d9026a8bf3eaccb0417da240932ebf7.png"},{"username":"Netscream","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16359198/medium/694e0c8572dc8a47e6d63da31ec5b992.png"},{"username":"belicstefan04","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16368142/medium/4742dcfd7bf7ad7e33e37ac44fba7e0f.png"},{"username":"Hamad2066","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16371478/medium/f37bbc7685b6757defdbd1494236af61.jpeg"},{"username":"3ct0pl4sm","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16399616/medium/ce796d1c40163975624c0a483e56374f.png"},{"username":"sanchez.marcell626","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16433865/medium/3ddde1314764cc2205ffdcd1ae719a91.png"},{"username":"Minoctis","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16490079/medium/91fd0849303a4eca033d660d0a7b6854.jpeg"},{"username":"vittoriosoccorso","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16498805/medium/17086b2f1981f734edd1572f79c3158a.jpeg"},{"username":"homarr","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16657003/medium/3afabfd3de949a54ff5d40ad04552aba.png"},{"username":"mwgg","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16658379/medium/763dd09f5c238cc5324d4d5357985292.png"},{"username":"kiwinho","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16671855/medium/bfe3a2d497dc4748a04d02e4ae2139cb.jpeg"},{"username":"tjvg4m34r13","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16679135/medium/7a483b9b0abe0d925e54808e1cb38fa0.jpeg"},{"username":"Diegoem","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16705921/medium/29ce68ebc191fc3f65499511b12de98f_default.png"},{"username":"bouks69","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16746091/medium/b58b1fc08520de416198be9df5d093eb.jpeg"},{"username":"futhgar","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16748067/medium/b8c526b097f9aa9d687250cac3df16dc.jpeg"},{"username":"GrimSQL","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16764343/medium/fff729a76d1f8fbcdaee9bb0c0f5f3fd.png"},{"username":"chnikel","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16767047/medium/3dda2a37e03049dafefe6697bb00f75c.png"},{"username":"yuki19870616","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16767951/medium/f59c848e38382cda6c8464b0a7b9e642_default.png"},{"username":"noamdal","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16782245/medium/b4a72a61f9caf138f0322c0cb987e6d0.png"},{"username":"MalithRukshan","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16809057/medium/084d6a5b35fbbeacc70e7021197d222f.png"},{"username":"minirope19","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16930929/medium/e8cbbc26747e31c5a8959215e1dd067b.jpeg"},{"username":"prubin","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17503492/medium/96ac87644691e49c1f983f2f094e541c_default.png"},{"username":"sam-tam-sam","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17578052/medium/1628dc2954ce3ae95e0caaa2bd60ab0c.png"},{"username":"toineenzo","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/12371852/medium/9f1b2bedb4794c59479cd289bdba9fab.png"},{"username":"ArcaneWater","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/12421105/medium/1ac82517a6c658f6b62c48aebcb17e86_default.png"},{"username":"Ebedami","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/12974801/medium/b596dea5c09454c4c828eac558389755.jpg"},{"username":"perrygamerptyt","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13117177/medium/1406c949507ecd438480473c8a1f6124.jpg"},{"username":"SergiSvK","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13320543/medium/3df3c79cc5f0c53716c559cd3fd2fc20.png"},{"username":"jeongeon","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13362856/medium/eb572f72cde5e5526c517ca3a6489850_default.png"},{"username":"MrTranCFCVN","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13439475/medium/a1789d69c85d90c667194b5d6a518c08_default.png"},{"username":"Tobost06","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13467449/medium/9227dc07f6366bc060d28304f5cb8ce7.jpeg"},{"username":"Kf637","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13530622/medium/118b00bb72d01d3229c97409637e25d1_default.png"},{"username":"Cruellest","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13610615/medium/2a74faa0947ee08d18f7946fb8602c1e.jpg"},{"username":"Thario","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14491372/medium/dd5e142070802a672900121aa3f332a6_default.png"},{"username":"Wjouter","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14585620/medium/b91a51513332bdc0a0a9ecbed99ecbc3.png"},{"username":"albanobattistella","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14686194/medium/564afcfd76f5cd24751bd669cf4943aa.jpg"},{"username":"Kachelkaiser","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14763406/medium/203a781797da4a18fe0f4e7db8fd547c.png"},{"username":"regi4","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14842936/medium/f7e1d672f562a7db61ba6b4b8f4de41d.png"},{"username":"baton5129","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14891064/medium/8d438f557b82977dd02f0ead3187265f.PNG"},{"username":"meviper","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15958903/medium/209f521ce33a05831fa8d7d1b7babc20_default.png"},{"username":"GerOriki","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16268376/medium/da00e54b08cd40348231d92873a0cd0a_default.png"},{"username":"TheRedCyclops","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16486399/medium/7f39226180120d5a9efcb8e13d8aec8e_default.png"},{"username":"dymek37","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16659221/medium/d1dc6d11d7e7fc370efc5070e837ae03.png"},{"username":"B3CKDOOR","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16744975/medium/e6c7b2d45e76465d54e6efb67c83da7d.png"},{"username":"Larsluph","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16779933/medium/ed7d36f8b44013bad3a16ac0491bd0f7.png"},{"username":"FOEDI","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16781001/medium/6b4552fb72e359aa016f7a054078fac8.png"},{"username":"xmarkurion","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16805443/medium/34a20428427de5aaef99c7d140646803.png"},{"username":"gregid","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16806705/medium/f3c8f4a20436e8538929130142bbc104.png"},{"username":"Flameberg","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16820453/medium/d47be866148474c9d05fec6fbe406d88.png"},{"username":"Playfust","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16872865/medium/5f4609cc711e5fb9fa8a0b178635769c.jpeg"},{"username":"Cotignac","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16879297/medium/81ff353edf030699a159bb79cda26e84.jpg"},{"username":"LeaHun","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16916375/medium/618520f0543b1e212ebc83d66b683d4b_default.png"},{"username":"jackwellerreal","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16919717/medium/37bbfdc03893f141133ccc619593266d.png"},{"username":"andrius.cim","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16967845/medium/46028fc1a0ddfaaeebcb37b39739625d_default.png"},{"username":"xjxexrxrxyx","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17041412/medium/d34d664166db6fb25579bca9ff3b50b4.jpeg"},{"username":"bilhal.fellah","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17044572/medium/d1ec6f17e4aa013e9eededc83778d2c6.png"},{"username":"the_octo","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17058060/medium/7423ab3a4cabb67f5decb2e2dfa2b675_default.png"},{"username":"BamesJond","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17075846/medium/128d7ffd40254c8e376f45678e2fc620_default.png"},{"username":"Kornikus","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17134240/medium/d7a42b2c30db46ff152699ca01f9e11a_default.png"},{"username":"xoxyuxu","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17176526/medium/108055aa24343043de852e412bec74be.png"},{"username":"cryptodntsleep","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17249408/medium/b9e15aa2b24a0dbc1e4f194aa8ed5109.png"},{"username":"yaniorg","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17261842/medium/7dbfc77f21c826845961243c44540d26.jpg"},{"username":"Vidariondr","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17262438/medium/45fbc71be02ef27296b6f423e97b6a03_default.png"},{"username":"Fastery","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17263066/medium/701b0edc59676174863ad651528bbb37.jpeg"},{"username":"stratself","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17290388/medium/57d9d8161b3fd0abf4dc5558b4a1fa05_default.png"},{"username":"wuzeqin","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17292606/medium/b9e0308410b31337e2d7aa6ed346d718_default.png"},{"username":"ChristopherBull","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17304338/medium/21a175ce596bfae81430767467908b90.jpeg"},{"username":"darkbcnlord","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17311436/medium/b271bc0b419ec3a26ddb7b63ff8ffc4b.png"},{"username":"zhoran1997","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17344028/medium/c8f450b5a8f1e9494a45dc60af7ce63e.png"},{"username":"gilalves1703","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17447768/medium/3f1de562a5c2391c88bbf8d5cf40a266.png"},{"username":"iServeCloud","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17470960/medium/11649b99d609438d66455a4d2fdc70f7.png"},{"username":"guibolzantvbox","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17474136/medium/59a576e6da538664ceb972253916fa02.jpeg"},{"username":"ivann136","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17506062/medium/67d09ada36fac5f444a1f7517e3a97bd_default.png"},{"username":"Maheshivara","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17516082/medium/576e1e6581cf969615b265de6aeff8b7.jpeg"},{"username":"brunogui81","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17517542/medium/7c0d174e810435af518fe8e0c05e151f.jpeg"},{"username":"michelwilhelm","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17542190/medium/4c6b33fd8993ff565fa75add2ce8355e.jpeg"},{"username":"dias-gxstavo","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17547376/medium/8c6b109aae8aeb651192346a39ae9e5b.jpeg"},{"username":"ToxykAuBleu","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17614030/medium/8d21e0608560172b121bd46126d827c7.jpeg"},{"username":"e.erdemir","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17617994/medium/7259a29db9941c6171a8cbbd643b92bd.png"},{"username":"sjonkreutz","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17618306/medium/7601c45d015189a863656e21348d223b.png"},{"username":"volovich0377","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17620388/medium/c929a8fbd24f96d17620fa497ade7309.png"},{"username":"Hamstio1","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17624898/medium/406e0bf40094c24a01c3064f8f5b2a82.png"},{"username":"i3laa","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17627462/medium/613a9d283ed8b69819ee181903851660.jpeg"},{"username":"bastiengrignon","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17629884/medium/ddfc3339285bd65195fcd834e512e9b7.jpeg"},{"username":"kauhee","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17644600/medium/def1b9066cf9275b4273a5a5dca7f325.png"}] \ No newline at end of file From c8618780586cc1d48229aa5269ea9a0bb7c5b3ac Mon Sep 17 00:00:00 2001 From: "homarr-crowdin[bot]" <190541745+homarr-crowdin[bot]@users.noreply.github.com> Date: Fri, 10 Apr 2026 16:13:35 +0000 Subject: [PATCH 39/49] chore(lang): updated translations from crowdin * chore(lang): update translations from crowdin * chore(lang): update translations from crowdin --------- Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com> --- packages/translation/src/lang/pt.json | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/packages/translation/src/lang/pt.json b/packages/translation/src/lang/pt.json index 82fe26570..4e5ac53d3 100644 --- a/packages/translation/src/lang/pt.json +++ b/packages/translation/src/lang/pt.json @@ -7,15 +7,15 @@ "description": "Para começar, por favor selecione como você deseja configurar sua instância Homarr.", "action": { "scratch": "Começar do zero", - "importOldmarr": "Importe de uma instância Homarr anterior a 1.0" + "importOldmarr": "Importe de uma instância do Homarr anterior a 1.0" } }, "import": { "title": "Importar dados", "subtitle": "Você pode importar dados de uma instância existente do Homarr.", "dropzone": { - "title": "Arraste o arquivo zip aqui ou clique para procurar", - "description": "O arquivo zip enviado será processado e você poderá selecionar o que deseja importar" + "title": "Arraste o arquivo ZIP aqui ou clique para procurar", + "description": "O arquivo ZIP enviado será processado e você poderá selecionar o que deseja importar" }, "fileInfo": { "action": { @@ -27,7 +27,7 @@ "description": "Configure o comportamento da importação" }, "boardSelection": { - "title": "{count} painéis encontrados", + "title": "{count} Painéis encontrados", "description": "Escolha todos os painéis com o tamanho que você deseja importar", "action": { "selectAll": "Selecionar todos", @@ -1526,13 +1526,13 @@ } }, "timetable": { - "name": "", - "description": "", - "title": "", - "noStation": "", + "name": "Calendário", + "description": "Mostra os horários de partida de uma estação", + "title": "Partidas {station}", + "noStation": "Nenhuma estação selecionada", "option": { "station": { - "label": "" + "label": "Estação" } } }, @@ -3525,7 +3525,7 @@ "label": "Status do servidor Minecraft" }, "timetable": { - "label": "" + "label": "Horários" }, "iconsUpdater": { "label": "Atualizador de Ícones" From 22d599c0cf64b39f3d616ceadc6c2ac32551f99d Mon Sep 17 00:00:00 2001 From: Kyle Date: Fri, 10 Apr 2026 11:04:42 -0600 Subject: [PATCH 40/49] feat: speedtest tracker integration (#5363) Co-authored-by: Meier Lukas --- .gitignore | 6 +- packages/api/src/router/widgets/index.ts | 1 + .../src/router/widgets/speedtest-tracker.ts | 55 +++ packages/definitions/src/integration.ts | 9 + packages/definitions/src/widget.ts | 1 + packages/integrations/src/base/creator.ts | 2 + packages/integrations/src/index.ts | 2 + .../speedtest-tracker-integration.ts | 98 +++++ .../speedtest-tracker-types.ts | 58 +++ packages/integrations/src/types.ts | 1 + .../request-handler/src/speedtest-tracker.ts | 19 + packages/translation/src/lang/en.json | 39 ++ packages/widgets/src/index.tsx | 2 + .../src/speedtest-tracker/averages.tsx | 46 +++ .../src/speedtest-tracker/component.tsx | 91 +++++ .../widgets/src/speedtest-tracker/helpers.ts | 53 +++ .../widgets/src/speedtest-tracker/index.ts | 38 ++ .../src/speedtest-tracker/latest-result.tsx | 62 +++ .../src/speedtest-tracker/recent-results.tsx | 359 ++++++++++++++++++ .../src/speedtest-tracker/section-label.tsx | 10 + .../src/speedtest-tracker/speed-stat-card.tsx | 54 +++ 21 files changed, 1005 insertions(+), 1 deletion(-) create mode 100644 packages/api/src/router/widgets/speedtest-tracker.ts create mode 100644 packages/integrations/src/speedtest-tracker/speedtest-tracker-integration.ts create mode 100644 packages/integrations/src/speedtest-tracker/speedtest-tracker-types.ts create mode 100644 packages/request-handler/src/speedtest-tracker.ts create mode 100644 packages/widgets/src/speedtest-tracker/averages.tsx create mode 100644 packages/widgets/src/speedtest-tracker/component.tsx create mode 100644 packages/widgets/src/speedtest-tracker/helpers.ts create mode 100644 packages/widgets/src/speedtest-tracker/index.ts create mode 100644 packages/widgets/src/speedtest-tracker/latest-result.tsx create mode 100644 packages/widgets/src/speedtest-tracker/recent-results.tsx create mode 100644 packages/widgets/src/speedtest-tracker/section-label.tsx create mode 100644 packages/widgets/src/speedtest-tracker/speed-stat-card.tsx diff --git a/.gitignore b/.gitignore index 0aa3ed4c7..43488df7a 100644 --- a/.gitignore +++ b/.gitignore @@ -67,4 +67,8 @@ e2e/shared/tmp apps/nextjs/public/images/background.png # next-intl -en.d.json.ts \ No newline at end of file +en.d.json.ts + +# personal agent config +AGENTS.md +.opencode \ No newline at end of file diff --git a/packages/api/src/router/widgets/index.ts b/packages/api/src/router/widgets/index.ts index e58c62e6a..9d4f579cc 100644 --- a/packages/api/src/router/widgets/index.ts +++ b/packages/api/src/router/widgets/index.ts @@ -28,4 +28,5 @@ export const widgetRouter = createTRPCRouter({ notifications: lazy(() => import("./notifications").then((mod) => mod.notificationsRouter)), timetable: lazy(() => import("./timetable").then((mod) => mod.timetableRouter)), tracearr: lazy(() => import("./tracearr").then((mod) => mod.tracearrRouter)), + speedtestTracker: lazy(() => import("./speedtest-tracker").then((mod) => mod.speedtestTrackerRouter)), }); diff --git a/packages/api/src/router/widgets/speedtest-tracker.ts b/packages/api/src/router/widgets/speedtest-tracker.ts new file mode 100644 index 000000000..be4245921 --- /dev/null +++ b/packages/api/src/router/widgets/speedtest-tracker.ts @@ -0,0 +1,55 @@ +import { observable } from "@trpc/server/observable"; + +import type { SpeedtestTrackerDashboardData } from "@homarr/integrations/types"; +import { speedtestTrackerRequestHandler } from "@homarr/request-handler/speedtest-tracker"; + +import { createManyIntegrationMiddleware } from "../../middlewares/integration"; +import { createTRPCRouter, publicProcedure } from "../../trpc"; + +export const speedtestTrackerRouter = createTRPCRouter({ + getDashboard: publicProcedure + .concat(createManyIntegrationMiddleware("query", "speedtestTracker")) + .query(async ({ ctx }) => { + const results = await Promise.all( + ctx.integrations.map(async (integration) => { + const innerHandler = speedtestTrackerRequestHandler.handler(integration, {}); + const { data, timestamp } = await innerHandler.getCachedOrUpdatedDataAsync({ forceUpdate: false }); + + return { + integrationId: integration.id, + integrationName: integration.name, + integrationUrl: integration.url, + dashboard: data, + updatedAt: timestamp, + }; + }), + ); + + return results; + }), + + subscribeToDashboard: publicProcedure + .concat(createManyIntegrationMiddleware("query", "speedtestTracker")) + .subscription(({ ctx }) => { + return observable<{ + integrationId: string; + dashboard: SpeedtestTrackerDashboardData; + timestamp: Date; + }>((emit) => { + const unsubscribes = ctx.integrations.map((integration) => { + const innerHandler = speedtestTrackerRequestHandler.handler(integration, {}); + return innerHandler.subscribe((dashboard) => { + emit.next({ + integrationId: integration.id, + dashboard, + timestamp: new Date(), + }); + }); + }); + + return () => { + unsubscribes.forEach((unsubscribe) => unsubscribe()); + }; + }); + }), +}); diff --git a/packages/definitions/src/integration.ts b/packages/definitions/src/integration.ts index e9853b4bb..106d4a6a4 100644 --- a/packages/definitions/src/integration.ts +++ b/packages/definitions/src/integration.ts @@ -356,6 +356,14 @@ export const integrationDefs = { category: ["mediaMonitoring"], documentationUrl: createDocumentationLink("/docs/integrations/tracearr"), }, + speedtestTracker: { + name: "Speedtest Tracker", + secretKinds: [["apiKey"]], + iconUrl: "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/speedtest-tracker.png", + category: ["speedtest"], + // @ts-expect-error - docs page will be created when integration is merged + documentationUrl: createDocumentationLink("/docs/integrations/speedtest-tracker"), + }, // This integration only returns mock data, it is used during development (but can also be used in production by directly going to the create page) mock: { name: "Mock", @@ -445,6 +453,7 @@ export const integrationCategories = [ "timetable", "photoService", "mediaMonitoring", + "speedtest", ] as const; export type IntegrationCategory = (typeof integrationCategories)[number]; diff --git a/packages/definitions/src/widget.ts b/packages/definitions/src/widget.ts index 732b3f1bc..b2a3147b1 100644 --- a/packages/definitions/src/widget.ts +++ b/packages/definitions/src/widget.ts @@ -35,5 +35,6 @@ export const widgetKinds = [ "immich-serverStats", "immich-albumCarousel", "tracearr", + "speedtestTracker", ] as const; export type WidgetKind = (typeof widgetKinds)[number]; diff --git a/packages/integrations/src/base/creator.ts b/packages/integrations/src/base/creator.ts index c0743b5d4..c6a2cebc9 100644 --- a/packages/integrations/src/base/creator.ts +++ b/packages/integrations/src/base/creator.ts @@ -42,6 +42,7 @@ import { ProxmoxIntegration } from "../proxmox/proxmox-integration"; import { QuayIntegration } from "../quay/quay-integration"; import { SearchChIntegration } from "../search-ch/search-ch-integration"; import { SeerrIntegration } from "../seerr/seerr-integration"; +import { SpeedtestTrackerIntegration } from "../speedtest-tracker/speedtest-tracker-integration"; import { TracearrIntegration } from "../tracearr/tracearr-integration"; import { TrueNasIntegration } from "../truenas/truenas-integration"; import { UnifiControllerIntegration } from "../unifi-controller/unifi-controller-integration"; @@ -117,6 +118,7 @@ export const integrationCreators = { glances: GlancesIntegration, searchCh: SearchChIntegration, immich: ImmichIntegration, + speedtestTracker: SpeedtestTrackerIntegration, } satisfies Record Promise]>; type IntegrationInstanceOfKind = { diff --git a/packages/integrations/src/index.ts b/packages/integrations/src/index.ts index 3514e022b..2e87cb479 100644 --- a/packages/integrations/src/index.ts +++ b/packages/integrations/src/index.ts @@ -31,6 +31,7 @@ export { ICalIntegration } from "./ical/ical-integration"; export { CoolifyIntegration } from "./coolify/coolify-integration"; export { ImmichIntegration } from "./immich/immich-integration"; export { TracearrIntegration } from "./tracearr/tracearr-integration"; +export { SpeedtestTrackerIntegration } from "./speedtest-tracker/speedtest-tracker-integration"; // Types export type { IntegrationInput } from "./base/integration"; @@ -58,6 +59,7 @@ export type { ReleasesRepository, ReleaseResponse } from "./interfaces/releases- export type { Notification } from "./interfaces/notifications/notification-types"; export type { ImmichServerStats, ImmichAlbum, ImmichAsset } from "./immich/immich-integration"; export type { TracearrDashboardData } from "./tracearr/tracearr-types"; +export type { SpeedtestTrackerDashboardData } from "./speedtest-tracker/speedtest-tracker-types"; // Schemas export { downloadClientItemSchema } from "./interfaces/downloads/download-client-items"; diff --git a/packages/integrations/src/speedtest-tracker/speedtest-tracker-integration.ts b/packages/integrations/src/speedtest-tracker/speedtest-tracker-integration.ts new file mode 100644 index 000000000..80517c69e --- /dev/null +++ b/packages/integrations/src/speedtest-tracker/speedtest-tracker-integration.ts @@ -0,0 +1,98 @@ +import { ResponseError } from "@homarr/common/server"; +import { fetchWithTrustedCertificatesAsync } from "@homarr/core/infrastructure/http"; + +import type { IntegrationTestingInput } from "../base/integration"; +import { Integration } from "../base/integration"; +import { TestConnectionError } from "../base/test-connection/test-connection-error"; +import type { TestingResult } from "../base/test-connection/test-connection-service"; +import { + speedtestTrackerLatestResultEnvelopeSchema, + speedtestTrackerResultsCollectionSchema, + speedtestTrackerStatsEnvelopeSchema, +} from "./speedtest-tracker-types"; +import type { + SpeedtestTrackerDashboardData, + SpeedtestTrackerResult, + SpeedtestTrackerResultsCollection, + SpeedtestTrackerStats, +} from "./speedtest-tracker-types"; + +export class SpeedtestTrackerIntegration extends Integration { + protected async testingAsync(input: IntegrationTestingInput): Promise { + const url = this.url("/api/v1/results/latest"); + const response = await input.fetchAsync(url, { + headers: this.getAuthHeaders(), + }); + + if (!response.ok) { + return TestConnectionError.StatusResult(response); + } + + return { success: true }; + } + + public async getLatestResultAsync(): Promise { + const response = await this.getAsync("/api/v1/results/latest"); + + // Speedtest Tracker returns 404 when no tests have been run yet (fresh install) + if (response.status === 404) { + return null; + } + + if (!response.ok) { + throw new ResponseError(response); + } + + return speedtestTrackerLatestResultEnvelopeSchema.parse(await response.json()).data; + } + + public async getStatsAsync(): Promise { + const response = await this.getAsync("/api/v1/stats"); + + if (!response.ok) { + throw new ResponseError(response); + } + + return speedtestTrackerStatsEnvelopeSchema.parse(await response.json()).data; + } + + public async getRecentResultsAsync(perPage = 10): Promise { + const response = await this.getAsync("/api/v1/results", { + result_count: String(perPage), + sort: "-created_at", + }); + + if (!response.ok) { + throw new ResponseError(response); + } + + return speedtestTrackerResultsCollectionSchema.parse(await response.json()); + } + + public async getDashboardDataAsync(): Promise { + const [latestResult, stats, recentCollection] = await Promise.all([ + this.getLatestResultAsync(), + this.getStatsAsync(), + this.getRecentResultsAsync(30), + ]); + + return { + latestResult, + stats, + recentResults: recentCollection.data, + }; + } + + private async getAsync(path: `/api/v1/${string}`, queryParams?: Record) { + return await fetchWithTrustedCertificatesAsync(this.url(path, queryParams), { + headers: this.getAuthHeaders(), + }); + } + + private getAuthHeaders(): Record { + return { + Authorization: `Bearer ${this.getSecretValue("apiKey")}`, + Accept: "application/json", + }; + } +} diff --git a/packages/integrations/src/speedtest-tracker/speedtest-tracker-types.ts b/packages/integrations/src/speedtest-tracker/speedtest-tracker-types.ts new file mode 100644 index 000000000..83aa5bb24 --- /dev/null +++ b/packages/integrations/src/speedtest-tracker/speedtest-tracker-types.ts @@ -0,0 +1,58 @@ +import { z } from "zod/v4"; + +const createEnvelopeSchema = (dataSchema: T) => z.object({ data: dataSchema }); + +const parseTimestamp = (timestamp: string): Date => new Date(`${timestamp.replace(" ", "T")}Z`); + +export const speedtestTrackerResultSchema = z.object({ + id: z.number().int(), + ping: z.number().nullable(), + download_bits: z.number().int().nullish(), + upload_bits: z.number().int().nullish(), + healthy: z.boolean().nullable(), + created_at: z.string().transform(parseTimestamp), +}); + +export type SpeedtestTrackerResult = z.infer; + +export const speedtestTrackerLatestResultEnvelopeSchema = createEnvelopeSchema(speedtestTrackerResultSchema); + +export const speedtestTrackerStatsBandwidthSchema = z.object({ + avg: z.number(), + avg_bits: z.number().optional(), + min: z.number(), + max: z.number(), +}); + +export const speedtestTrackerStatsSchema = z.object({ + ping: z.object({ + avg: z.number(), + min: z.number(), + max: z.number(), + }), + download: speedtestTrackerStatsBandwidthSchema, + upload: speedtestTrackerStatsBandwidthSchema, + total_results: z.number().int(), +}); + +export type SpeedtestTrackerStats = z.infer; + +export const speedtestTrackerStatsEnvelopeSchema = createEnvelopeSchema(speedtestTrackerStatsSchema); + +export const speedtestTrackerResultsCollectionSchema = z.object({ + data: z.array(speedtestTrackerResultSchema), + meta: z.object({ + current_page: z.number().int(), + last_page: z.number().int(), + total: z.number().int(), + per_page: z.number().int().optional(), + }), +}); + +export type SpeedtestTrackerResultsCollection = z.infer; + +export interface SpeedtestTrackerDashboardData { + latestResult: SpeedtestTrackerResult | null; + stats: SpeedtestTrackerStats | null; + recentResults: SpeedtestTrackerResult[]; +} diff --git a/packages/integrations/src/types.ts b/packages/integrations/src/types.ts index 7c7bc4780..4ba41a789 100644 --- a/packages/integrations/src/types.ts +++ b/packages/integrations/src/types.ts @@ -14,3 +14,4 @@ export * from "./interfaces/media-releases"; export * from "./coolify/coolify-types"; export * from "./interfaces/timetable/timetable-types"; export * from "./tracearr/tracearr-types"; +export * from "./speedtest-tracker/speedtest-tracker-types"; diff --git a/packages/request-handler/src/speedtest-tracker.ts b/packages/request-handler/src/speedtest-tracker.ts new file mode 100644 index 000000000..799d37f16 --- /dev/null +++ b/packages/request-handler/src/speedtest-tracker.ts @@ -0,0 +1,19 @@ +import dayjs from "dayjs"; + +import { createIntegrationAsync } from "@homarr/integrations"; +import type { SpeedtestTrackerDashboardData } from "@homarr/integrations/types"; + +import { createCachedIntegrationRequestHandler } from "./lib/cached-integration-request-handler"; + +export const speedtestTrackerRequestHandler = createCachedIntegrationRequestHandler< + SpeedtestTrackerDashboardData, + "speedtestTracker", + Record +>({ + async requestAsync(integration, _input) { + const integrationInstance = await createIntegrationAsync(integration); + return await integrationInstance.getDashboardDataAsync(); + }, + cacheDuration: dayjs.duration(10, "minutes"), + queryKey: "speedtestTrackerDashboard", +}); diff --git a/packages/translation/src/lang/en.json b/packages/translation/src/lang/en.json index 0d88f2e63..6d5fe7ad1 100644 --- a/packages/translation/src/lang/en.json +++ b/packages/translation/src/lang/en.json @@ -2732,6 +2732,45 @@ "noItems": "No notifications to display.", "option": {} }, + "speedtestTracker": { + "name": "Speedtest Tracker", + "description": "Displays speed test results from your Speedtest Tracker instance.", + "option": { + "showLatestResult": { + "label": "Show latest result" + }, + "showStats": { + "label": "Show averages" + }, + "showRecentResults": { + "label": "Show recent results" + }, + "showPingGraph": { + "label": "Show ping graph" + } + }, + "latestResult": "Latest Result", + "averages": "Averages", + "tests": "{count} tests", + "recentResults": "Recent Results", + "recentResultsSpeed": "Speed", + "recentResultsPing": "Ping", + "download": "Download", + "upload": "Upload", + "ping": "Ping", + "status": "Status", + "avgDownload": "Avg Download", + "avgUpload": "Avg Upload", + "avgPing": "Avg Ping", + "healthy": "Healthy", + "unhealthy": "Unhealthy", + "ok": "OK", + "fail": "Fail", + "noSectionsEnabled": "Enable at least one section in widget options.", + "error": { + "internalServerError": "Failed to fetch speedtest data" + } + }, "systemResources": { "name": "System resources", "description": "CPU, Memory, Disk and other hardware usage of your system", diff --git a/packages/widgets/src/index.tsx b/packages/widgets/src/index.tsx index 2e3a3de03..89cbc2ab9 100644 --- a/packages/widgets/src/index.tsx +++ b/packages/widgets/src/index.tsx @@ -39,6 +39,7 @@ import * as releases from "./releases"; import * as rssFeed from "./rssFeed"; import * as smartHomeEntityState from "./smart-home/entity-state"; import * as smartHomeExecuteAutomation from "./smart-home/execute-automation"; +import * as speedtestTracker from "./speedtest-tracker"; import * as stockPrice from "./stocks"; import * as systemDisks from "./system-disks"; import * as systemResources from "./system-resources"; @@ -87,6 +88,7 @@ export const widgetImports = { "immich-serverStats": immichServerStats, "immich-albumCarousel": immichAlbumCarousel, tracearr, + speedtestTracker, } satisfies WidgetImportRecord; export type WidgetImports = typeof widgetImports; diff --git a/packages/widgets/src/speedtest-tracker/averages.tsx b/packages/widgets/src/speedtest-tracker/averages.tsx new file mode 100644 index 000000000..41b116d56 --- /dev/null +++ b/packages/widgets/src/speedtest-tracker/averages.tsx @@ -0,0 +1,46 @@ +"use client"; + +import { SimpleGrid, Stack } from "@mantine/core"; +import { IconArrowDown, IconArrowUp, IconWaveSine } from "@tabler/icons-react"; + +import type { SpeedtestTrackerStats } from "@homarr/integrations/types"; +import { useScopedI18n } from "@homarr/translation/client"; + +import { formatStatsSpeed } from "./helpers"; +import { SectionLabel } from "./section-label"; +import { SpeedStatCard } from "./speed-stat-card"; + +export function AveragesSection({ stats }: { stats: SpeedtestTrackerStats }) { + const t = useScopedI18n("widget.speedtestTracker"); + + return ( + + + {t("averages")} · {t("tests", { count: stats.total_results.toString() })} + + + + + + + + ); +} diff --git a/packages/widgets/src/speedtest-tracker/component.tsx b/packages/widgets/src/speedtest-tracker/component.tsx new file mode 100644 index 000000000..699b354a9 --- /dev/null +++ b/packages/widgets/src/speedtest-tracker/component.tsx @@ -0,0 +1,91 @@ +"use client"; + +import { useMemo } from "react"; +import { Stack, Text } from "@mantine/core"; + +import { clientApi } from "@homarr/api/client"; +import type { SpeedtestTrackerDashboardData } from "@homarr/integrations/types"; +import { useScopedI18n } from "@homarr/translation/client"; + +import type { WidgetComponentProps } from "../definition"; +import { AveragesSection } from "./averages"; +import { mergeStats } from "./helpers"; +import { LatestResultSection } from "./latest-result"; +import { RecentResultsSection } from "./recent-results"; + +export default function SpeedtestTrackerWidget({ + options, + integrationIds, + isEditMode, +}: WidgetComponentProps<"speedtestTracker">) { + const t = useScopedI18n("widget.speedtestTracker"); + const [dashboardData] = clientApi.widget.speedtestTracker.getDashboard.useSuspenseQuery({ integrationIds }); + + const utils = clientApi.useUtils(); + clientApi.widget.speedtestTracker.subscribeToDashboard.useSubscription( + { integrationIds }, + { + enabled: !isEditMode, + onData(newData) { + utils.widget.speedtestTracker.getDashboard.setData({ integrationIds }, (prevData) => { + if (!prevData) return prevData; + return prevData.map((instance) => + instance.integrationId === newData.integrationId + ? { ...instance, dashboard: newData.dashboard, updatedAt: newData.timestamp } + : instance, + ); + }); + }, + }, + ); + + const combined = useMemo( + () => + dashboardData.reduce( + (acc, item) => ({ + latestResult: item.dashboard.latestResult ?? acc.latestResult, + stats: mergeStats(acc.stats, item.dashboard.stats), + recentResults: [...acc.recentResults, ...item.dashboard.recentResults], + }), + { latestResult: null, stats: null, recentResults: [] }, + ), + [dashboardData], + ); + + const twelveHoursAgo = Date.now() - 12 * 60 * 60 * 1000; + const recentFiltered = combined.recentResults.filter((result) => result.created_at.getTime() > twelveHoursAgo); + + const hasStatSection = + (options.showLatestResult && combined.latestResult !== null) || (options.showStats && combined.stats !== null); + const hasChart = options.showRecentResults && recentFiltered.length > 0; + const noSectionsEnabled = !options.showLatestResult && !options.showStats && !options.showRecentResults; + + return ( + + {hasStatSection && ( + + {options.showLatestResult && combined.latestResult && ( +
+ +
+ )} + {options.showStats && combined.stats && ( +
+ +
+ )} +
+ )} + {hasChart && ( +
+ +
+ )} + {noSectionsEnabled && ( + + {t("noSectionsEnabled")} + + )} +
+ ); +} diff --git a/packages/widgets/src/speedtest-tracker/helpers.ts b/packages/widgets/src/speedtest-tracker/helpers.ts new file mode 100644 index 000000000..075fdb90c --- /dev/null +++ b/packages/widgets/src/speedtest-tracker/helpers.ts @@ -0,0 +1,53 @@ +import { formatNumber } from "@homarr/common"; +import type { + SpeedtestTrackerDashboardData, + SpeedtestTrackerResult, + SpeedtestTrackerStats, +} from "@homarr/integrations/types"; + +export const mergeStats = ( + statsA: SpeedtestTrackerDashboardData["stats"], + statsB: SpeedtestTrackerDashboardData["stats"], +): SpeedtestTrackerDashboardData["stats"] => { + if (!statsB) return statsA; + if (!statsA) return statsB; + return { + ping: { + avg: (statsA.ping.avg + statsB.ping.avg) / 2, + min: Math.min(statsA.ping.min, statsB.ping.min), + max: Math.max(statsA.ping.max, statsB.ping.max), + }, + download: { + avg: (statsA.download.avg + statsB.download.avg) / 2, + avg_bits: + statsA.download.avg_bits !== undefined && statsB.download.avg_bits !== undefined + ? (statsA.download.avg_bits + statsB.download.avg_bits) / 2 + : (statsA.download.avg_bits ?? statsB.download.avg_bits), + min: Math.min(statsA.download.min, statsB.download.min), + max: Math.max(statsA.download.max, statsB.download.max), + }, + upload: { + avg: (statsA.upload.avg + statsB.upload.avg) / 2, + avg_bits: + statsA.upload.avg_bits !== undefined && statsB.upload.avg_bits !== undefined + ? (statsA.upload.avg_bits + statsB.upload.avg_bits) / 2 + : (statsA.upload.avg_bits ?? statsB.upload.avg_bits), + min: Math.min(statsA.upload.min, statsB.upload.min), + max: Math.max(statsA.upload.max, statsB.upload.max), + }, + total_results: statsA.total_results + statsB.total_results, + }; +}; + +export const formatBitsPerSec = (bps: number): string => `${formatNumber(bps, 2)}bps`; + +export const formatResultSpeed = (result: SpeedtestTrackerResult, dir: "download" | "upload"): string => { + const bits = dir === "download" ? result.download_bits : result.upload_bits; + if (bits != null) return formatBitsPerSec(bits); + return "—"; +}; + +export const formatStatsSpeed = (band: SpeedtestTrackerStats["download"]): string => { + if (band.avg_bits != null) return formatBitsPerSec(band.avg_bits); + return formatBitsPerSec(band.avg * 8); +}; diff --git a/packages/widgets/src/speedtest-tracker/index.ts b/packages/widgets/src/speedtest-tracker/index.ts new file mode 100644 index 000000000..ea3c0c5d2 --- /dev/null +++ b/packages/widgets/src/speedtest-tracker/index.ts @@ -0,0 +1,38 @@ +import { IconServerOff, IconSpeedboat } from "@tabler/icons-react"; + +import { createWidgetDefinition } from "../definition"; +import { optionsBuilder } from "../options"; + +export const { definition, componentLoader } = createWidgetDefinition("speedtestTracker", { + icon: IconSpeedboat, + createOptions() { + return optionsBuilder.from( + (factory) => ({ + showLatestResult: factory.switch({ + defaultValue: true, + }), + showStats: factory.switch({ + defaultValue: true, + }), + showRecentResults: factory.switch({ + defaultValue: true, + }), + showPingGraph: factory.switch({ + defaultValue: true, + }), + }), + { + showPingGraph: { + shouldHide: (options) => !options.showRecentResults, + }, + }, + ); + }, + supportedIntegrations: ["speedtestTracker"], + errors: { + INTERNAL_SERVER_ERROR: { + icon: IconServerOff, + message: (t) => t("widget.speedtestTracker.error.internalServerError"), + }, + }, +}).withDynamicImport(() => import("./component")); diff --git a/packages/widgets/src/speedtest-tracker/latest-result.tsx b/packages/widgets/src/speedtest-tracker/latest-result.tsx new file mode 100644 index 000000000..fcc6136cf --- /dev/null +++ b/packages/widgets/src/speedtest-tracker/latest-result.tsx @@ -0,0 +1,62 @@ +"use client"; + +import { Group, SimpleGrid, Stack, Text } from "@mantine/core"; +import { IconArrowDown, IconArrowUp, IconCircleCheck, IconCircleX, IconWaveSine } from "@tabler/icons-react"; + +import type { SpeedtestTrackerResult } from "@homarr/integrations/types"; +import { useCurrentLocale, useScopedI18n } from "@homarr/translation/client"; + +import { formatResultSpeed } from "./helpers"; +import { SectionLabel } from "./section-label"; +import { SpeedStatCard } from "./speed-stat-card"; + +export function LatestResultSection({ result }: { result: SpeedtestTrackerResult }) { + const t = useScopedI18n("widget.speedtestTracker"); + const locale = useCurrentLocale(); + const timestamp = Intl.DateTimeFormat(locale, { + month: "short", + day: "numeric", + hour: "2-digit", + minute: "2-digit", + }).format(result.created_at); + const cols = result.healthy !== null ? 4 : 3; + + return ( + + + {t("latestResult")} + + {timestamp} + + + + + + + {result.healthy !== null && ( + + )} + + + ); +} diff --git a/packages/widgets/src/speedtest-tracker/recent-results.tsx b/packages/widgets/src/speedtest-tracker/recent-results.tsx new file mode 100644 index 000000000..286baffc6 --- /dev/null +++ b/packages/widgets/src/speedtest-tracker/recent-results.tsx @@ -0,0 +1,359 @@ +"use client"; + +import { useMemo } from "react"; +import { AreaChart, ChartTooltip } from "@mantine/charts"; +import { Stack, useMantineTheme } from "@mantine/core"; +import { useElementSize } from "@mantine/hooks"; +import { ReferenceLine, XAxis } from "recharts"; + +import { useRequiredBoard } from "@homarr/boards/context"; +import type { SpeedtestTrackerResult } from "@homarr/integrations/types"; +import { useScopedI18n } from "@homarr/translation/client"; + +import { SectionLabel } from "./section-label"; + +interface XAxisTicks { + midnightTs: number | null; + xTicks: number[]; + topDateTicks: number[]; +} + +function buildXAxisTicks(data: { ts: number }[]): XAxisTicks { + if (data.length === 0) return { midnightTs: null, xTicks: [], topDateTicks: [] }; + + const first = data[0]?.ts ?? 0; + const last = data.at(-1)?.ts ?? 0; + + const twoHourMs = 2 * 60 * 60 * 1000; + const startTick = Math.ceil(first / twoHourMs) * twoHourMs; + const tickSet = new Set(); + for (let t = startTick; t <= last; t += twoHourMs) tickSet.add(t); + + const midnightDate = new Date(first); + midnightDate.setHours(24, 0, 0, 0); + const mTs = midnightDate.getTime(); + const foundMidnight = mTs > first && mTs < last ? mTs : null; + if (foundMidnight) tickSet.add(foundMidnight); + + const topTicks: number[] = [first]; + if (foundMidnight) topTicks.push(foundMidnight); + + return { + midnightTs: foundMidnight, + xTicks: Array.from(tickSet).sort((tsA, tsB) => tsA - tsB), + topDateTicks: topTicks, + }; +} + +function makeXTickRenderer(midnightTs: number | null) { + return ({ x, y, payload }: { x: number; y: number; payload: { value: number } }) => { + const date = new Date(payload.value); + const timeStr = date.toLocaleTimeString([], { hour: "2-digit", minute: "2-digit" }); + const isMidnight = midnightTs !== null && payload.value === midnightTs; + const dateStr = isMidnight ? date.toLocaleDateString([], { month: "short", day: "numeric" }) : null; + + return ( + + + {timeStr} + + {dateStr && ( + + {dateStr} + + )} + + ); + }; +} + +function renderTopDateTick(props: { x: number; y: number; payload: { value: number }; index: number }) { + const { x, y, payload, index } = props; + const date = new Date(payload.value); + const dateStr = date.toLocaleDateString([], { weekday: "short", month: "short", day: "numeric" }); + const anchor = index === 0 ? "start" : "middle"; + return ( + + + {dateStr} + + + ); +} + +function buildYAxisConfig(maxVal: number, stepOptions: { threshold: number; step: number }[]) { + const step = (stepOptions.find((opt) => maxVal <= opt.threshold) ?? stepOptions.at(-1))?.step ?? 1; + const roundedMax = Math.ceil(maxVal / step) * step || step; + const ticks: number[] = []; + for (let val = 0; val <= roundedMax; val += step) ticks.push(val); + return { ticks, domain: [0, roundedMax] as [number, number] }; +} + +function formatTooltipDate(label: number | string | undefined): string { + const timestamp = typeof label === "number" ? label : Number(label); + if (Number.isNaN(timestamp)) return ""; + return new Date(timestamp).toLocaleString([], { + month: "short", + day: "numeric", + hour: "2-digit", + minute: "2-digit", + }); +} + +export function RecentResultsSection({ + results, + showPingGraph, +}: { + results: SpeedtestTrackerResult[]; + showPingGraph: boolean; +}) { + const t = useScopedI18n("widget.speedtestTracker"); + + return ( + + {t("recentResults")} +
+ + {showPingGraph && } +
+
+ ); +} + +function SpeedSubChart({ results, showLabel }: { results: SpeedtestTrackerResult[]; showLabel: boolean }) { + const t = useScopedI18n("widget.speedtestTracker"); + const { ref, height } = useElementSize(); + + return ( +
+ {showLabel && {t("recentResultsSpeed")}} +
+ {height > 0 && } +
+
+ ); +} + +function PingSubChart({ results }: { results: SpeedtestTrackerResult[] }) { + const t = useScopedI18n("widget.speedtestTracker"); + const { ref, height } = useElementSize(); + + return ( +
+ {t("recentResultsPing")} +
+ {height > 0 && } +
+
+ ); +} + +function SpeedHistoryChart({ results, height }: { results: SpeedtestTrackerResult[]; height: number }) { + const board = useRequiredBoard(); + const theme = useMantineTheme(); + const t = useScopedI18n("widget.speedtestTracker"); + + const data = useMemo( + () => + [...results] + .sort((resultA, resultB) => resultA.created_at.getTime() - resultB.created_at.getTime()) + .filter((result) => (result.download_bits ?? 0) > 0) + .map((result) => ({ + ts: result.created_at.getTime(), + Download: parseFloat(((result.download_bits ?? 0) / 1_000_000).toFixed(2)), + Upload: + result.upload_bits != null && result.upload_bits > 0 + ? parseFloat((result.upload_bits / 1_000_000).toFixed(2)) + : 0, + })), + [results], + ); + + const yConfig = useMemo( + () => + buildYAxisConfig(Math.max(...data.map((item) => Math.max(item.Download, item.Upload)), 0), [ + { threshold: 400, step: 100 }, + { threshold: Infinity, step: 200 }, + ]), + [data], + ); + + const { midnightTs, xTicks, topDateTicks } = useMemo(() => buildXAxisTicks(data), [data]); + const renderXTick = useMemo(() => makeXTickRenderer(midnightTs), [midnightTs]); + + if (data.length === 0) return null; + + return ( + `${val} Mbps`} + xAxisProps={{ + type: "number", + domain: ["dataMin", "dataMax"], + ticks: xTicks, + tick: renderXTick, + interval: 0, + height: midnightTs !== null ? 38 : 28, + }} + yAxisProps={{ + ticks: yConfig.ticks, + domain: yConfig.domain, + tickFormatter: (val: number) => `${val}`, + width: 50, + tick: { fontSize: 10 }, + }} + tooltipProps={{ + // eslint-disable-next-line @typescript-eslint/no-explicit-any + content: (props: any) => { + const { label, payload, active } = props as { + label?: number | string; + payload?: Record[]; + active?: boolean; + }; + if (!active || !payload?.length) return null; + return ( + `${val} Mbps`} + /> + ); + }, + }} + > + + {xTicks.map((tickTs) => ( + + ))} + + ); +} + +function PingHistoryChart({ results, height }: { results: SpeedtestTrackerResult[]; height: number }) { + const board = useRequiredBoard(); + const theme = useMantineTheme(); + const t = useScopedI18n("widget.speedtestTracker"); + + const data = useMemo( + () => + [...results] + .sort((resultA, resultB) => resultA.created_at.getTime() - resultB.created_at.getTime()) + .map((result) => + result.ping === null + ? null + : { + ts: result.created_at.getTime(), + Ping: result.ping, + }, + ) + .filter((result) => result !== null), + [results], + ); + + const yConfig = useMemo( + () => + buildYAxisConfig(Math.max(...data.map((item) => item.Ping), 0), [ + { threshold: 10, step: 2 }, + { threshold: 50, step: 10 }, + { threshold: 200, step: 50 }, + { threshold: Infinity, step: 100 }, + ]), + [data], + ); + + const { midnightTs, xTicks } = useMemo(() => buildXAxisTicks(data), [data]); + const renderXTick = useMemo(() => makeXTickRenderer(midnightTs), [midnightTs]); + + if (data.length === 0) return null; + + return ( + `${val} ms`} + xAxisProps={{ + type: "number", + domain: ["dataMin", "dataMax"], + ticks: xTicks, + tick: renderXTick, + interval: 0, + height: midnightTs !== null ? 38 : 28, + }} + yAxisProps={{ + ticks: yConfig.ticks, + domain: yConfig.domain, + tickFormatter: (val: number) => `${val}`, + width: 50, + tick: { fontSize: 10 }, + }} + tooltipProps={{ + // eslint-disable-next-line @typescript-eslint/no-explicit-any + content: (props: any) => { + const { label, payload, active } = props as { + label?: number | string; + payload?: Record[]; + active?: boolean; + }; + if (!active || !payload?.length) return null; + return ( + `${val} ms`} + /> + ); + }, + }} + > + {xTicks.map((tickTs) => ( + + ))} + + ); +} diff --git a/packages/widgets/src/speedtest-tracker/section-label.tsx b/packages/widgets/src/speedtest-tracker/section-label.tsx new file mode 100644 index 000000000..255e05113 --- /dev/null +++ b/packages/widgets/src/speedtest-tracker/section-label.tsx @@ -0,0 +1,10 @@ +import type { ReactNode } from "react"; +import { Text } from "@mantine/core"; + +export function SectionLabel({ children }: { children: ReactNode }) { + return ( + + {children} + + ); +} diff --git a/packages/widgets/src/speedtest-tracker/speed-stat-card.tsx b/packages/widgets/src/speedtest-tracker/speed-stat-card.tsx new file mode 100644 index 000000000..0817d07f4 --- /dev/null +++ b/packages/widgets/src/speedtest-tracker/speed-stat-card.tsx @@ -0,0 +1,54 @@ +"use client"; + +import { Card, Flex, Text } from "@mantine/core"; +import { useElementSize } from "@mantine/hooks"; + +import { useRequiredBoard } from "@homarr/boards/context"; +import type { TablerIcon } from "@homarr/ui"; + +export interface SpeedStatCardProps { + icon: TablerIcon; + color: string; + value: string; + label: string; + compact?: boolean; +} + +export function SpeedStatCard({ icon: Icon, color, value, label, compact = false }: SpeedStatCardProps) { + const { ref, height, width } = useElementSize(); + const board = useRequiredBoard(); + const isWide = width > height + 20; + const hideLabel = height > 0 && height <= 38; + + return ( + + + + + + {value} + + {!hideLabel && ( + + {label} + + )} + + + + ); +} From 57ea82f088a83ce0ac1de79f622941ad45fdf85a Mon Sep 17 00:00:00 2001 From: "homarr-update-contributors[bot]" <210161987+homarr-update-contributors[bot]@users.noreply.github.com> Date: Fri, 10 Apr 2026 17:21:07 +0000 Subject: [PATCH 41/49] chore: update integrations list readme (#5457) Co-authored-by: Homarr Update Contributors <210161987+homarr-update-contributors[bot]@users.noreply.github.com> --- docs/README.md | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/docs/README.md b/docs/README.md index f3a85f715..4973547bb 100644 --- a/docs/README.md +++ b/docs/README.md @@ -330,6 +330,13 @@ + + Speedtest Tracker +
+

Speedtest
Tracker

+
+ + Tdarr
@@ -342,15 +349,15 @@

Tracearr

- - + + Transmission

Transmission

- - + + TrueNAS
From 7879b3163074b6af9381b8eb70dced55faddc506 Mon Sep 17 00:00:00 2001 From: Omar I Date: Fri, 10 Apr 2026 14:43:43 -0400 Subject: [PATCH 42/49] feat: Anchor integration and Anchor Note widget (#5040) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Meier Lukas --- .../api/src/router/widgets/anchor-notes.ts | 114 +++++++ packages/api/src/router/widgets/index.ts | 1 + packages/definitions/src/integration.ts | 9 + packages/definitions/src/widget.ts | 1 + .../src/anchor/anchor-integration.ts | 118 +++++++ .../integrations/src/anchor/anchor-types.ts | 43 +++ packages/integrations/src/base/creator.ts | 2 + packages/integrations/src/index.ts | 10 + packages/integrations/src/types.ts | 1 + packages/request-handler/src/anchor-notes.ts | 30 ++ packages/translation/src/lang/en.json | 28 ++ packages/widgets/package.json | 1 + packages/widgets/src/_inputs/index.ts | 2 + .../src/_inputs/widget-anchor-note-input.tsx | 63 ++++ .../widgets/src/anchor-note/anchor-note.css | 115 +++++++ .../widgets/src/anchor-note/component.tsx | 320 ++++++++++++++++++ packages/widgets/src/anchor-note/index.ts | 20 ++ packages/widgets/src/index.tsx | 2 + packages/widgets/src/options.ts | 7 + pnpm-lock.yaml | 64 +++- 20 files changed, 949 insertions(+), 2 deletions(-) create mode 100644 packages/api/src/router/widgets/anchor-notes.ts create mode 100644 packages/integrations/src/anchor/anchor-integration.ts create mode 100644 packages/integrations/src/anchor/anchor-types.ts create mode 100644 packages/request-handler/src/anchor-notes.ts create mode 100644 packages/widgets/src/_inputs/widget-anchor-note-input.tsx create mode 100644 packages/widgets/src/anchor-note/anchor-note.css create mode 100644 packages/widgets/src/anchor-note/component.tsx create mode 100644 packages/widgets/src/anchor-note/index.ts diff --git a/packages/api/src/router/widgets/anchor-notes.ts b/packages/api/src/router/widgets/anchor-notes.ts new file mode 100644 index 000000000..7e5b7043c --- /dev/null +++ b/packages/api/src/router/widgets/anchor-notes.ts @@ -0,0 +1,114 @@ +import { TRPCError } from "@trpc/server"; +import { z } from "zod/v4"; + +import { ResponseError } from "@homarr/common/server"; +import { createLogger } from "@homarr/core/infrastructure/logs"; +import { anchorNotesListInputSchema, anchorNoteUpdateInputSchema, createIntegrationAsync } from "@homarr/integrations"; +import { anchorNoteRequestHandler, anchorNotesListRequestHandler } from "@homarr/request-handler/anchor-notes"; + +import { createOneIntegrationMiddleware } from "../../middlewares/integration"; +import { createTRPCRouter, protectedProcedure, publicProcedure } from "../../trpc"; + +const noteIdInput = z.object({ + noteId: z.string(), +}); + +const logger = createLogger({ module: "anchorNotesRouter" }); + +const isJsonDeltaString = (value: string) => { + try { + const parsed: unknown = JSON.parse(value); + return typeof parsed === "object" && parsed !== null && Array.isArray((parsed as { ops?: unknown }).ops); + } catch { + return false; + } +}; + +const normalizeAnchorContent = (content: string | undefined) => { + if (content === undefined) return undefined; + + const trimmed = content.trim(); + if (!trimmed) { + return JSON.stringify({ ops: [{ insert: "\n" }] }); + } + + if (isJsonDeltaString(content)) return content; + + const normalizedText = content.endsWith("\n") ? content : `${content}\n`; + return JSON.stringify({ ops: [{ insert: normalizedText }] }); +}; + +export const anchorNotesRouter = createTRPCRouter({ + listNotes: publicProcedure + .concat(createOneIntegrationMiddleware("query", "anchor")) + .input(anchorNotesListInputSchema) + .query(async ({ ctx, input }) => { + const handler = anchorNotesListRequestHandler.handler(ctx.integration, { ...input, limit: input.limit ?? 50 }); + + const { data } = await handler.getCachedOrUpdatedDataAsync({ + forceUpdate: false, + }); + + return data; + }), + getNote: publicProcedure + .concat(createOneIntegrationMiddleware("query", "anchor")) + .input(noteIdInput) + .query(async ({ ctx, input }) => { + const handler = anchorNoteRequestHandler.handler(ctx.integration, { noteId: input.noteId }); + + const { data } = await handler.getCachedOrUpdatedDataAsync({ + forceUpdate: false, + }); + + return data; + }), + updateNote: protectedProcedure + .concat(createOneIntegrationMiddleware("interact", "anchor")) + .input(anchorNoteUpdateInputSchema) + .mutation(async ({ ctx, input }) => { + const integrationInstance = await createIntegrationAsync(ctx.integration); + const normalizedContent = normalizeAnchorContent(input.content); + const isContentNormalized = + input.content !== undefined && normalizedContent !== undefined && input.content !== normalizedContent; + + try { + const updatedNote = await integrationInstance.updateNoteAsync({ + noteId: input.noteId, + ...(input.title !== undefined ? { title: input.title } : {}), + ...(normalizedContent !== undefined ? { content: normalizedContent } : {}), + }); + + const noteHandler = anchorNoteRequestHandler.handler(ctx.integration, { noteId: input.noteId }); + await noteHandler.invalidateAsync(); + + return updatedNote; + } catch (error) { + if (error instanceof ResponseError && error.statusCode === 400) { + logger.warn("Anchor update note failed validation", { + noteId: input.noteId, + integrationId: ctx.integration.id, + contentLength: input.content?.length ?? 0, + contentIsJsonDelta: input.content ? isJsonDeltaString(input.content) : false, + contentNormalized: isContentNormalized, + }); + } + + if (error instanceof ResponseError && error.statusCode === 403) { + throw new TRPCError({ + code: "FORBIDDEN", + message: "You do not have permission to edit this note", + }); + } + + if (error instanceof ResponseError && error.statusCode === 404) { + throw new TRPCError({ + code: "NOT_FOUND", + message: "Note not found", + }); + } + + throw error; + } + }), +}); diff --git a/packages/api/src/router/widgets/index.ts b/packages/api/src/router/widgets/index.ts index 9d4f579cc..5e29dfa72 100644 --- a/packages/api/src/router/widgets/index.ts +++ b/packages/api/src/router/widgets/index.ts @@ -3,6 +3,7 @@ import { lazy } from "@trpc/server"; import { createTRPCRouter } from "../../trpc"; export const widgetRouter = createTRPCRouter({ + anchorNotes: lazy(() => import("./anchor-notes").then((mod) => mod.anchorNotesRouter)), coolify: lazy(() => import("./coolify").then((mod) => mod.coolifyRouter)), immich: lazy(() => import("./immich").then((mod) => mod.immichRouter)), notebook: lazy(() => import("./notebook").then((mod) => mod.notebookRouter)), diff --git a/packages/definitions/src/integration.ts b/packages/definitions/src/integration.ts index 106d4a6a4..5f7802a73 100644 --- a/packages/definitions/src/integration.ts +++ b/packages/definitions/src/integration.ts @@ -312,6 +312,14 @@ export const integrationDefs = { category: ["calendar"], documentationUrl: createDocumentationLink("/docs/integrations/ical"), }, + anchor: { + name: "Anchor", + secretKinds: [["apiKey"]], + iconUrl: "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons@master/svg/anchor.svg", + category: ["notes"], + // @ts-expect-error - docs page will be created when integration is merged + documentationUrl: createDocumentationLink("/docs/integrations/anchor"), + }, truenas: { name: "TrueNAS", secretKinds: [["username", "password"]], @@ -452,6 +460,7 @@ export const integrationCategories = [ "firewall", "timetable", "photoService", + "notes", "mediaMonitoring", "speedtest", ] as const; diff --git a/packages/definitions/src/widget.ts b/packages/definitions/src/widget.ts index b2a3147b1..b246b32ea 100644 --- a/packages/definitions/src/widget.ts +++ b/packages/definitions/src/widget.ts @@ -5,6 +5,7 @@ export const widgetKinds = [ "iframe", "video", "notebook", + "anchorNote", "dnsHoleSummary", "dnsHoleControls", "smartHome-entityState", diff --git a/packages/integrations/src/anchor/anchor-integration.ts b/packages/integrations/src/anchor/anchor-integration.ts new file mode 100644 index 000000000..5db4a024c --- /dev/null +++ b/packages/integrations/src/anchor/anchor-integration.ts @@ -0,0 +1,118 @@ +import type { fetch as undiciFetch } from "undici"; + +import { ResponseError } from "@homarr/common/server"; +import { fetchWithTrustedCertificatesAsync } from "@homarr/core/infrastructure/http"; +import { createLogger } from "@homarr/core/infrastructure/logs"; + +import type { IntegrationTestingInput } from "../base/integration"; +import { Integration } from "../base/integration"; +import { TestConnectionError } from "../base/test-connection/test-connection-error"; +import type { TestingResult } from "../base/test-connection/test-connection-service"; +import { anchorNoteSchema, anchorNoteSummaryListSchema } from "./anchor-types"; +import type { AnchorNote, AnchorNotesListInput, AnchorNoteSummary, AnchorNoteUpdateInput } from "./anchor-types"; + +const logger = createLogger({ module: "anchorIntegration" }); + +export class AnchorIntegration extends Integration { + protected async testingAsync(input: IntegrationTestingInput): Promise { + const response = await input.fetchAsync(this.url("/api/notes", { limit: 1 }), { + headers: { + Authorization: `Bearer ${this.getSecretValue("apiKey")}`, + }, + }); + + if (!response.ok) return TestConnectionError.StatusResult(response); + + anchorNoteSummaryListSchema.parse(await response.json()); + return { success: true }; + } + + public async listNotesAsync(input: AnchorNotesListInput = {}): Promise { + const queryParams = buildListQuery(input); + const response = await this.requestAsync(fetchWithTrustedCertificatesAsync, "/api/notes", { + queryParams, + }); + return anchorNoteSummaryListSchema.parse(response); + } + + public async getNoteAsync(noteId: string): Promise { + const response = await this.requestAsync(fetchWithTrustedCertificatesAsync, `/api/notes/${noteId}`); + return anchorNoteSchema.parse(response); + } + + public async updateNoteAsync(input: AnchorNoteUpdateInput): Promise { + const { noteId, ...updateData } = input; + const response = await this.requestAsync(fetchWithTrustedCertificatesAsync, `/api/notes/${noteId}`, { + method: "PATCH", + body: updateData, + }); + if (response === null) { + return this.getNoteAsync(noteId); + } + return anchorNoteSchema.parse(response); + } + + private async requestAsync( + fetchAsync: typeof undiciFetch, + path: `/${string}`, + options?: { + queryParams?: Record; + method?: string; + body?: unknown; + }, + ): Promise { + const url = this.url(path, options?.queryParams); + const headers: Record = { + Authorization: `Bearer ${this.getSecretValue("apiKey")}`, + }; + + if (options?.body !== undefined) { + headers["Content-Type"] = "application/json"; + } + + const response = await fetchAsync(url, { + method: options?.method ?? "GET", + headers, + body: options?.body !== undefined ? JSON.stringify(options.body) : undefined, + }); + + if (!response.ok) { + let errorBody: string | null = null; + try { + errorBody = await response.text(); + } catch { + errorBody = null; + } + logger.warn("Anchor request failed", { + statusCode: response.status, + url, + errorBody: errorBody ? errorBody.slice(0, 200) : null, + }); + throw new ResponseError(response); + } + + if (response.status === 204) { + return null; + } + + return await response.json(); + } +} + +const buildListQuery = (input: AnchorNotesListInput) => { + const queryParams: Record = {}; + + if (input.search?.trim()) { + queryParams.search = input.search.trim(); + } + + if (input.tagId?.trim()) { + queryParams.tagId = input.tagId.trim(); + } + + if (typeof input.limit === "number") { + queryParams.limit = input.limit.toString(); + } + + return Object.keys(queryParams).length > 0 ? queryParams : undefined; +}; diff --git a/packages/integrations/src/anchor/anchor-types.ts b/packages/integrations/src/anchor/anchor-types.ts new file mode 100644 index 000000000..547969cbb --- /dev/null +++ b/packages/integrations/src/anchor/anchor-types.ts @@ -0,0 +1,43 @@ +import { z } from "zod/v4"; + +export const anchorNotesListInputSchema = z.object({ + search: z.string().optional(), + tagId: z.string().optional(), + limit: z.number().min(1).max(200).optional(), +}); +export type AnchorNotesListInput = z.infer; + +export const anchorNotePermissionSchema = z.enum(["owner", "viewer", "editor"]); +export type AnchorNotePermission = z.infer; + +export const anchorNoteSummarySchema = z.object({ + id: z.string(), + title: z.string(), + updatedAt: z.string(), + isPinned: z.boolean(), + tagIds: z.array(z.string()), + permission: anchorNotePermissionSchema, +}); +export type AnchorNoteSummary = z.infer; + +export const anchorNoteSchema = anchorNoteSummarySchema.extend({ + content: z.string().nullable().optional(), + createdAt: z.string(), + isArchived: z.boolean(), + background: z.string().nullable().optional(), + userId: z.string(), +}); +export type AnchorNote = z.infer; + +export const anchorNoteSummaryListSchema = z.array(anchorNoteSummarySchema); + +export const anchorNoteUpdateInputSchema = z + .object({ + noteId: z.string(), + title: z.string().optional(), + content: z.string().optional(), + }) + .refine((value) => value.title !== undefined || value.content !== undefined, { + message: "At least one field to update must be provided", + }); +export type AnchorNoteUpdateInput = z.infer; diff --git a/packages/integrations/src/base/creator.ts b/packages/integrations/src/base/creator.ts index c6a2cebc9..5748bdd96 100644 --- a/packages/integrations/src/base/creator.ts +++ b/packages/integrations/src/base/creator.ts @@ -1,6 +1,7 @@ import type { IntegrationKind } from "@homarr/definitions"; import { AdGuardHomeIntegration } from "../adguard-home/adguard-home-integration"; +import { AnchorIntegration } from "../anchor/anchor-integration"; import { CodebergIntegration } from "../codeberg/codeberg-integration"; import { CoolifyIntegration } from "../coolify/coolify-integration"; import { DashDotIntegration } from "../dashdot/dashdot-integration"; @@ -72,6 +73,7 @@ type IntegrationInstance = new (integration: IntegrationInput) => Integration; // factories are an array, to differentiate in js between class constructors and functions export const integrationCreators = { + anchor: AnchorIntegration, piHole: [createPiHoleIntegrationAsync], adGuardHome: AdGuardHomeIntegration, homeAssistant: HomeAssistantIntegration, diff --git a/packages/integrations/src/index.ts b/packages/integrations/src/index.ts index 2e87cb479..2ac590bdb 100644 --- a/packages/integrations/src/index.ts +++ b/packages/integrations/src/index.ts @@ -1,5 +1,6 @@ // General integrations export { AdGuardHomeIntegration } from "./adguard-home/adguard-home-integration"; +export { AnchorIntegration } from "./anchor/anchor-integration"; export { Aria2Integration } from "./download-client/aria2/aria2-integration"; export { DelugeIntegration } from "./download-client/deluge/deluge-integration"; export { NzbGetIntegration } from "./download-client/nzbget/nzbget-integration"; @@ -58,10 +59,19 @@ export type { export type { ReleasesRepository, ReleaseResponse } from "./interfaces/releases-providers/releases-providers-types"; export type { Notification } from "./interfaces/notifications/notification-types"; export type { ImmichServerStats, ImmichAlbum, ImmichAsset } from "./immich/immich-integration"; +export type { + AnchorNote, + AnchorNotePermission, + AnchorNoteUpdateInput, + AnchorNotesListInput, + AnchorNoteSummary, +} from "./anchor/anchor-types"; export type { TracearrDashboardData } from "./tracearr/tracearr-types"; export type { SpeedtestTrackerDashboardData } from "./speedtest-tracker/speedtest-tracker-types"; // Schemas +export { anchorNotesListInputSchema } from "./anchor/anchor-types"; +export { anchorNoteUpdateInputSchema } from "./anchor/anchor-types"; export { downloadClientItemSchema } from "./interfaces/downloads/download-client-items"; // Helpers diff --git a/packages/integrations/src/types.ts b/packages/integrations/src/types.ts index 4ba41a789..eb8b9e6ca 100644 --- a/packages/integrations/src/types.ts +++ b/packages/integrations/src/types.ts @@ -12,6 +12,7 @@ export * from "./unifi-controller/unifi-controller-types"; export * from "./opnsense/opnsense-types"; export * from "./interfaces/media-releases"; export * from "./coolify/coolify-types"; +export * from "./anchor/anchor-types"; export * from "./interfaces/timetable/timetable-types"; export * from "./tracearr/tracearr-types"; export * from "./speedtest-tracker/speedtest-tracker-types"; diff --git a/packages/request-handler/src/anchor-notes.ts b/packages/request-handler/src/anchor-notes.ts new file mode 100644 index 000000000..bd6f19e44 --- /dev/null +++ b/packages/request-handler/src/anchor-notes.ts @@ -0,0 +1,30 @@ +import dayjs from "dayjs"; + +import type { AnchorNote, AnchorNotesListInput, AnchorNoteSummary } from "@homarr/integrations"; +import { createIntegrationAsync } from "@homarr/integrations"; + +import { createCachedIntegrationRequestHandler } from "./lib/cached-integration-request-handler"; + +export const anchorNotesListRequestHandler = createCachedIntegrationRequestHandler< + AnchorNoteSummary[], + "anchor", + AnchorNotesListInput +>({ + queryKey: "anchorNotesList", + cacheDuration: dayjs.duration(15, "seconds"), + async requestAsync(integration, input) { + const instance = await createIntegrationAsync(integration); + return instance.listNotesAsync(input); + }, +}); + +export const anchorNoteRequestHandler = createCachedIntegrationRequestHandler( + { + queryKey: "anchorNote", + cacheDuration: dayjs.duration(15, "seconds"), + async requestAsync(integration, input) { + const instance = await createIntegrationAsync(integration); + return instance.getNoteAsync(input.noteId); + }, + }, +); diff --git a/packages/translation/src/lang/en.json b/packages/translation/src/lang/en.json index 6d5fe7ad1..aadcb0d96 100644 --- a/packages/translation/src/lang/en.json +++ b/packages/translation/src/lang/en.json @@ -1606,6 +1606,34 @@ } } }, + "anchorNote": { + "name": "Anchor Note", + "description": "Displays a selected note from Anchor", + "option": { + "noteId": { + "label": "Note" + }, + "showTitle": { + "label": "Show title" + }, + "showUpdatedAt": { + "label": "Show last updated" + } + }, + "empty": "Select a note to display", + "emptyContent": "This note has no content", + "notFound": "Note not found", + "noNotes": "No notes found", + "integrationRequired": "Select an Anchor integration first", + "updatedAt": "Updated {date}", + "untitled": "Untitled", + "edit": "Edit", + "save": "Save", + "cancel": "Cancel", + "readOnlyViewer": "You have viewer access to this note. Editing is disabled.", + "saveForbidden": "You do not have permission to edit this note.", + "saveFailed": "Failed to save this note. Please try again." + }, "iframe": { "name": "iFrame", "description": "Embed any content from the internet. Some websites may restrict access.", diff --git a/packages/widgets/package.json b/packages/widgets/package.json index db2e0d820..56b844f7a 100644 --- a/packages/widgets/package.json +++ b/packages/widgets/package.json @@ -76,6 +76,7 @@ "react": "19.2.4", "react-dom": "19.2.4", "react-markdown": "^10.1.0", + "react-quill-new": "^3.7.0", "recharts": "^2.15.4", "video.js": "^8.23.7", "zod": "^4.3.6" diff --git a/packages/widgets/src/_inputs/index.ts b/packages/widgets/src/_inputs/index.ts index 7018e8dc2..8917664de 100644 --- a/packages/widgets/src/_inputs/index.ts +++ b/packages/widgets/src/_inputs/index.ts @@ -1,4 +1,5 @@ import type { WidgetOptionType } from "../options"; +import { WidgetAnchorNoteInput } from "./widget-anchor-note-input"; import { WidgetAppInput } from "./widget-app-input"; import { WidgetDynamicSelectInput } from "./widget-dynamic-select-input"; import { WidgetLocationInput } from "./widget-location-input"; @@ -13,6 +14,7 @@ import { WidgetSwitchInput } from "./widget-switch-input"; import { WidgetTextInput } from "./widget-text-input"; const mapping = { + anchorNote: WidgetAnchorNoteInput, text: WidgetTextInput, location: WidgetLocationInput, multiSelect: WidgetMultiSelectInput, diff --git a/packages/widgets/src/_inputs/widget-anchor-note-input.tsx b/packages/widgets/src/_inputs/widget-anchor-note-input.tsx new file mode 100644 index 000000000..e045e7df0 --- /dev/null +++ b/packages/widgets/src/_inputs/widget-anchor-note-input.tsx @@ -0,0 +1,63 @@ +"use client"; + +import { useMemo, useState } from "react"; +import { Loader, Select } from "@mantine/core"; +import { useDebouncedValue } from "@mantine/hooks"; + +import { clientApi } from "@homarr/api/client"; +import { useI18n, useScopedI18n } from "@homarr/translation/client"; + +import type { CommonWidgetInputProps } from "./common"; +import { useWidgetInputTranslation } from "./common"; +import { useFormContext } from "./form"; + +export const WidgetAnchorNoteInput = ({ property, kind, options }: CommonWidgetInputProps<"anchorNote">) => { + const t = useI18n(); + const tWidget = useWidgetInputTranslation(kind, property); + const tAnchor = useScopedI18n("widget.anchorNote"); + const form = useFormContext(); + + const integrationId = form.values.integrationIds[0]; + const [search, setSearch] = useState(""); + const [debouncedSearch] = useDebouncedValue(search, 250); + + const { data: notes, isPending } = clientApi.widget.anchorNotes.listNotes.useQuery( + { + integrationId: integrationId ?? "", + search: debouncedSearch.trim() ? debouncedSearch : undefined, + limit: 200, + }, + { + enabled: Boolean(integrationId), + refetchOnMount: false, + refetchOnWindowFocus: false, + refetchOnReconnect: false, + retry: false, + }, + ); + + const noteOptions = useMemo( + () => + notes?.map((note) => ({ + value: note.id, + label: note.title || tAnchor("untitled"), + })) ?? [], + [notes, tAnchor], + ); + + return ( +