diff --git a/.github/workflows/renovate-automatic-approval.yml b/.github/workflows/automatic-approval.yml similarity index 71% rename from .github/workflows/renovate-automatic-approval.yml rename to .github/workflows/automatic-approval.yml index 4f8020308..20a8ffc76 100644 --- a/.github/workflows/renovate-automatic-approval.yml +++ b/.github/workflows/automatic-approval.yml @@ -4,9 +4,9 @@ on: types: [opened, synchronize] jobs: - approve-renovate-prs: + approve-automatic-prs: runs-on: ubuntu-latest - if: github.actor_id == 158783068 # Id of renovate bot see https://api.github.com/users/homarr-renovate%5Bbot%5D + if: github.actor_id == 158783068 || github.actor_id == 190541745 # Id of renovate bot and crowdin bot see https://api.github.com/users/homarr-renovate%5Bbot%5D and https://api.github.com/users/homarr-crowdin%5Bbot%5D steps: - name: Checkout code uses: actions/checkout@v4 @@ -18,7 +18,7 @@ jobs: app_id: ${{ secrets.RENOVATE_APPROVE_APP_ID }} - name: Install GitHub CLI run: sudo apt-get install -y gh - - name: Approve Renovate PRs + - name: Approve automatic PRs env: GITHUB_TOKEN: ${{ steps.obtainToken.outputs.token }} run: | diff --git a/.github/workflows/crowdin-schedule-download.yml b/.github/workflows/crowdin-schedule-download.yml index 4e07f5a10..15c9aad2e 100644 --- a/.github/workflows/crowdin-schedule-download.yml +++ b/.github/workflows/crowdin-schedule-download.yml @@ -21,6 +21,7 @@ jobs: app_id: ${{ secrets.CROWDIN_APP_ID }} - name: Download Crowdin translations + id: crowdin-download uses: crowdin/github-action@v2 with: upload_sources: false @@ -30,6 +31,7 @@ jobs: create_pull_request: true pull_request_title: "chore(lang): updated translations from crowdin" pull_request_body: "New Crowdin translations by [Crowdin GH Action](https://github.com/crowdin/github-action)" + commit_message: "chore(lang): update translations from crowdin" pull_request_base_branch_name: "dev" github_user_name: "Crowdin Homarr" github_user_email: "190541745+homarr-crowdin[bot]@users.noreply.github.com" @@ -38,3 +40,9 @@ jobs: GITHUB_TOKEN: ${{ steps.obtainToken.outputs.token }} CROWDIN_PROJECT_ID: ${{ secrets.CROWDIN_PROJECT_ID }} CROWDIN_PERSONAL_TOKEN: ${{ secrets.CROWDIN_PERSONAL_TOKEN }} + + - name: Enable auto-merge + env: + GITHUB_TOKEN: ${{ steps.obtainToken.outputs.token }} + run: | + gh pr merge ${{steps.crowdin-download.pull_request_number}} --auto --merge --squash --delete-branch --title "chore(lang): updated translations from crowdin" diff --git a/.vscode/settings.json b/.vscode/settings.json index 0cf8dc65f..2e67df382 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -14,6 +14,11 @@ "gridstack", "homarr", "jellyfin", + "llen", + "lpop", + "lpush", + "lrange", + "ltrim", "mantine", "manuel-rw", "Meierschlumpf", diff --git a/apps/nextjs/package.json b/apps/nextjs/package.json index 9f8a88337..4651866da 100644 --- a/apps/nextjs/package.json +++ b/apps/nextjs/package.json @@ -37,17 +37,17 @@ "@homarr/ui": "workspace:^0.1.0", "@homarr/validation": "workspace:^0.1.0", "@homarr/widgets": "workspace:^0.1.0", - "@mantine/colors-generator": "^7.14.3", - "@mantine/core": "^7.14.3", - "@mantine/hooks": "^7.14.3", - "@mantine/modals": "^7.14.3", - "@mantine/tiptap": "^7.14.3", - "@million/lint": "1.0.13", + "@mantine/colors-generator": "^7.15.1", + "@mantine/core": "^7.15.1", + "@mantine/hooks": "^7.15.1", + "@mantine/modals": "^7.15.1", + "@mantine/tiptap": "^7.15.1", + "@million/lint": "1.0.14", "@t3-oss/env-nextjs": "^0.11.1", "@tabler/icons-react": "^3.24.0", - "@tanstack/react-query": "^5.62.3", - "@tanstack/react-query-devtools": "^5.62.3", - "@tanstack/react-query-next-experimental": "5.62.3", + "@tanstack/react-query": "^5.62.7", + "@tanstack/react-query-devtools": "^5.62.7", + "@tanstack/react-query-next-experimental": "5.62.7", "@trpc/client": "next", "@trpc/next": "next", "@trpc/react-query": "next", @@ -66,11 +66,11 @@ "next": "^14.2.20", "postcss-preset-mantine": "^1.17.0", "prismjs": "^1.29.0", - "react": "^18.3.1", - "react-dom": "^18.3.1", + "react": "^19.0.0", + "react-dom": "^19.0.0", "react-error-boundary": "^4.1.2", "react-simple-code-editor": "^0.14.1", - "sass": "^1.82.0", + "sass": "^1.83.0", "superjson": "2.2.2", "swagger-ui-react": "^5.18.2", "use-deep-compare-effect": "^1.8.1" @@ -80,10 +80,10 @@ "@homarr/prettier-config": "workspace:^0.1.0", "@homarr/tsconfig": "workspace:^0.1.0", "@types/chroma-js": "2.4.4", - "@types/node": "^22.10.1", + "@types/node": "^22.10.2", "@types/prismjs": "^1.26.5", - "@types/react": "^18.3.13", - "@types/react-dom": "^18.3.1", + "@types/react": "^19.0.1", + "@types/react-dom": "^19.0.2", "@types/swagger-ui-react": "^4.18.3", "concurrently": "^9.1.0", "eslint": "^9.16.0", diff --git a/apps/nextjs/src/app/[locale]/boards/_layout-creator.tsx b/apps/nextjs/src/app/[locale]/boards/_layout-creator.tsx index e6737e14e..9172515b9 100644 --- a/apps/nextjs/src/app/[locale]/boards/_layout-creator.tsx +++ b/apps/nextjs/src/app/[locale]/boards/_layout-creator.tsx @@ -1,4 +1,4 @@ -import type { PropsWithChildren } from "react"; +import type { JSX, PropsWithChildren } from "react"; import { notFound } from "next/navigation"; import { AppShellMain } from "@mantine/core"; import { TRPCError } from "@trpc/server"; diff --git a/apps/nextjs/src/app/[locale]/manage/tools/logs/terminal.tsx b/apps/nextjs/src/app/[locale]/manage/tools/logs/terminal.tsx index b989e8e58..4f7edcc34 100644 --- a/apps/nextjs/src/app/[locale]/manage/tools/logs/terminal.tsx +++ b/apps/nextjs/src/app/[locale]/manage/tools/logs/terminal.tsx @@ -13,7 +13,7 @@ import classes from "./terminal.module.css"; export const TerminalComponent = () => { const ref = useRef(null); - const terminalRef = useRef(); + const terminalRef = useRef(null); clientApi.log.subscribe.useSubscription(undefined, { onData(data) { terminalRef.current?.writeln(`${data.timestamp} ${data.level} ${data.message}`); diff --git a/apps/nextjs/src/app/[locale]/manage/users/[userId]/general/_components/_profile-avatar-form.tsx b/apps/nextjs/src/app/[locale]/manage/users/[userId]/general/_components/_profile-avatar-form.tsx index 00b7c0deb..b510f37dc 100644 --- a/apps/nextjs/src/app/[locale]/manage/users/[userId]/general/_components/_profile-avatar-form.tsx +++ b/apps/nextjs/src/app/[locale]/manage/users/[userId]/general/_components/_profile-avatar-form.tsx @@ -149,6 +149,9 @@ const fileToBase64Async = async (file: File): Promise => new Promise((resolve, reject) => { const reader = new FileReader(); reader.readAsDataURL(file); + + // The functionality below works as expected and doesn't result in [object Object]. + // eslint-disable-next-line @typescript-eslint/no-base-to-string reader.onload = () => resolve(reader.result?.toString() ?? ""); reader.onerror = reject; }); diff --git a/apps/nextjs/src/components/board/sections/gridstack/gridstack-item.tsx b/apps/nextjs/src/components/board/sections/gridstack/gridstack-item.tsx index beff12f66..647ae081b 100644 --- a/apps/nextjs/src/components/board/sections/gridstack/gridstack-item.tsx +++ b/apps/nextjs/src/components/board/sections/gridstack/gridstack-item.tsx @@ -17,7 +17,7 @@ interface Props extends BoxProps { height: number; minWidth?: number; minHeight?: number; - innerRef: React.RefObject | undefined; + innerRef: React.RefObject | undefined; } export const GridStackItem = ({ diff --git a/apps/nextjs/src/components/board/sections/gridstack/init-gridstack.ts b/apps/nextjs/src/components/board/sections/gridstack/init-gridstack.ts index 2df87f412..362e0bfb5 100644 --- a/apps/nextjs/src/components/board/sections/gridstack/init-gridstack.ts +++ b/apps/nextjs/src/components/board/sections/gridstack/init-gridstack.ts @@ -1,4 +1,4 @@ -import type { MutableRefObject, RefObject } from "react"; +import type { RefObject } from "react"; import type { GridItemHTMLElement } from "@homarr/gridstack"; import { GridStack } from "@homarr/gridstack"; @@ -9,9 +9,9 @@ interface InitializeGridstackProps { section: Omit; itemIds: string[]; refs: { - wrapper: RefObject; - items: MutableRefObject>>; - gridstack: MutableRefObject; + wrapper: RefObject; + items: RefObject>>; + gridstack: RefObject; }; sectionColumnCount: number; } diff --git a/apps/nextjs/src/components/board/sections/gridstack/use-gridstack.ts b/apps/nextjs/src/components/board/sections/gridstack/use-gridstack.ts index 2d1a8987c..afe3f0eb6 100644 --- a/apps/nextjs/src/components/board/sections/gridstack/use-gridstack.ts +++ b/apps/nextjs/src/components/board/sections/gridstack/use-gridstack.ts @@ -1,4 +1,4 @@ -import type { MutableRefObject, RefObject } from "react"; +import type { RefObject } from "react"; import { createRef, useCallback, useEffect, useRef } from "react"; import { useElementSize } from "@mantine/hooks"; @@ -11,9 +11,9 @@ import { useSectionActions } from "../section-actions"; import { initializeGridstack } from "./init-gridstack"; export interface UseGridstackRefs { - wrapper: RefObject; - items: MutableRefObject>>; - gridstack: MutableRefObject; + wrapper: RefObject; + items: RefObject>>; + gridstack: RefObject; } interface UseGristackReturnType { @@ -60,9 +60,9 @@ export const useGridstack = (section: Omit, itemIds: string[]) // define reference for wrapper - is used to calculate the width of the wrapper const { ref: wrapperRef, width, height } = useElementSize(); // references to the diffrent items contained in the gridstack - const itemRefs = useRef>>({}); + const itemRefs = useRef>>({}); // reference of the gridstack object for modifications after initialization - const gridRef = useRef(); + const gridRef = useRef(null); const board = useRequiredBoard(); diff --git a/apps/nextjs/src/components/layout/navigation.tsx b/apps/nextjs/src/components/layout/navigation.tsx index d360e105a..2ff624871 100644 --- a/apps/nextjs/src/components/layout/navigation.tsx +++ b/apps/nextjs/src/components/layout/navigation.tsx @@ -1,3 +1,4 @@ +import type { JSX } from "react"; import { AppShellNavbar, AppShellSection, ScrollArea } from "@mantine/core"; import type { TablerIcon } from "@homarr/ui"; diff --git a/apps/nextjs/tsconfig.json b/apps/nextjs/tsconfig.json index f95b3ebf2..32fb2d1c8 100644 --- a/apps/nextjs/tsconfig.json +++ b/apps/nextjs/tsconfig.json @@ -13,5 +13,5 @@ "tsBuildInfoFile": "node_modules/.cache/tsbuildinfo.json" }, "include": [".", ".next/types/**/*.ts"], - "exclude": ["node_modules"] + "exclude": ["node_modules", ".next"] } diff --git a/apps/tasks/package.json b/apps/tasks/package.json index d502f50f8..1097b0d62 100644 --- a/apps/tasks/package.json +++ b/apps/tasks/package.json @@ -44,7 +44,7 @@ "@homarr/eslint-config": "workspace:^0.2.0", "@homarr/prettier-config": "workspace:^0.1.0", "@homarr/tsconfig": "workspace:^0.1.0", - "@types/node": "^22.10.1", + "@types/node": "^22.10.2", "dotenv-cli": "^7.4.4", "eslint": "^9.16.0", "prettier": "^3.4.2", diff --git a/crowdin.yml b/crowdin.yml index 19fed39f6..77e335a73 100644 --- a/crowdin.yml +++ b/crowdin.yml @@ -1,10 +1,3 @@ files: - source: /packages/translation/src/lang/en.json translation: /packages/translation/src/lang/%two_letters_code%.json - -# Title of pull request and so the commit that will be used for squashed merge commit -pull_request_title: "chore(lang): updated translations from crowdin" - -# Custom commit message that is not only appended -commit_message: "chore(lang): update translations %original_file_name% from crowdin [skip ci]" -append_commit_message: false \ No newline at end of file diff --git a/package.json b/package.json index e68d1e811..172c86c67 100644 --- a/package.json +++ b/package.json @@ -49,6 +49,7 @@ "pnpm": { "patchedDependencies": { "pretty-print-error": "patches/pretty-print-error.patch" - } + }, + "allowNonAppliedPatches": true } } diff --git a/packages/api/package.json b/packages/api/package.json index 7eb02b636..e0632a560 100644 --- a/packages/api/package.json +++ b/packages/api/package.json @@ -41,7 +41,7 @@ "@trpc/server": "next", "dockerode": "^4.0.2", "next": "^14.2.20", - "react": "^18.3.1", + "react": "^19.0.0", "superjson": "2.2.2", "trpc-to-openapi": "^2.1.0" }, diff --git a/packages/api/src/router/widgets/health-monitoring.ts b/packages/api/src/router/widgets/health-monitoring.ts index 8c7ee16dc..2169efafd 100644 --- a/packages/api/src/router/widgets/health-monitoring.ts +++ b/packages/api/src/router/widgets/health-monitoring.ts @@ -1,5 +1,6 @@ import { observable } from "@trpc/server/observable"; +import { getIntegrationKindsByCategory } from "@homarr/definitions"; import type { HealthMonitoring } from "@homarr/integrations"; import { systemInfoRequestHandler } from "@homarr/request-handler/health-monitoring"; @@ -8,7 +9,7 @@ import { createTRPCRouter, publicProcedure } from "../../trpc"; export const healthMonitoringRouter = createTRPCRouter({ getHealthStatus: publicProcedure - .unstable_concat(createManyIntegrationMiddleware("query", "openmediavault")) + .unstable_concat(createManyIntegrationMiddleware("query", ...getIntegrationKindsByCategory("healthMonitoring"))) .query(async ({ ctx }) => { return await Promise.all( ctx.integrations.map(async (integration) => { @@ -26,7 +27,7 @@ export const healthMonitoringRouter = createTRPCRouter({ }), subscribeHealthStatus: publicProcedure - .unstable_concat(createManyIntegrationMiddleware("query", "openmediavault")) + .unstable_concat(createManyIntegrationMiddleware("query", ...getIntegrationKindsByCategory("healthMonitoring"))) .subscription(({ ctx }) => { return observable<{ integrationId: string; healthInfo: HealthMonitoring; timestamp: Date }>((emit) => { const unsubscribes: (() => void)[] = []; diff --git a/packages/auth/package.json b/packages/auth/package.json index 3b57782bd..6b590a730 100644 --- a/packages/auth/package.json +++ b/packages/auth/package.json @@ -36,8 +36,8 @@ "ldapts": "7.2.2", "next": "^14.2.20", "next-auth": "5.0.0-beta.25", - "react": "^18.3.1", - "react-dom": "^18.3.1" + "react": "^19.0.0", + "react-dom": "^19.0.0" }, "devDependencies": { "@homarr/eslint-config": "workspace:^0.2.0", diff --git a/packages/common/package.json b/packages/common/package.json index 95d2b4759..6474a71b7 100644 --- a/packages/common/package.json +++ b/packages/common/package.json @@ -28,8 +28,8 @@ "@homarr/log": "workspace:^0.1.0", "dayjs": "^1.11.13", "next": "^14.2.20", - "react": "^18.3.1", - "tldts": "^6.1.65" + "react": "^19.0.0", + "tldts": "^6.1.67" }, "devDependencies": { "@homarr/eslint-config": "workspace:^0.2.0", diff --git a/packages/db/package.json b/packages/db/package.json index b714e0a77..41aa4c069 100644 --- a/packages/db/package.json +++ b/packages/db/package.json @@ -43,11 +43,11 @@ "@homarr/server-settings": "workspace:^0.1.0", "@paralleldrive/cuid2": "^2.2.2", "@testcontainers/mysql": "^10.16.0", - "better-sqlite3": "^11.6.0", + "better-sqlite3": "^11.7.0", "dotenv": "^16.4.7", - "drizzle-kit": "^0.29.1", - "drizzle-orm": "^0.37.0", - "drizzle-zod": "^0.5.1", + "drizzle-kit": "^0.30.1", + "drizzle-orm": "^0.38.1", + "drizzle-zod": "^0.6.0", "mysql2": "3.11.5" }, "devDependencies": { diff --git a/packages/definitions/src/docs/homarr-docs-sitemap.ts b/packages/definitions/src/docs/homarr-docs-sitemap.ts index 0e4ffbd96..2210941e3 100644 --- a/packages/definitions/src/docs/homarr-docs-sitemap.ts +++ b/packages/definitions/src/docs/homarr-docs-sitemap.ts @@ -41,11 +41,13 @@ export type HomarrDocumentationPath = | "/docs/tags/advanced" | "/docs/tags/analytics" | "/docs/tags/api" + | "/docs/tags/apps" | "/docs/tags/banner" | "/docs/tags/blocking" | "/docs/tags/board" | "/docs/tags/boards" | "/docs/tags/bookmark" + | "/docs/tags/bookmarks" | "/docs/tags/caddy" | "/docs/tags/checklist" | "/docs/tags/code" @@ -91,6 +93,7 @@ export type HomarrDocumentationPath = | "/docs/tags/overseerr" | "/docs/tags/permissions" | "/docs/tags/pi-hole" + | "/docs/tags/ping" | "/docs/tags/preferences" | "/docs/tags/programming" | "/docs/tags/proxmox" @@ -128,6 +131,7 @@ export type HomarrDocumentationPath = | "/docs/advanced/customizations/user-preferences" | "/docs/advanced/sso" | "/docs/category/advanced" + | "/docs/category/developer-guide" | "/docs/category/getting-started" | "/docs/category/installation" | "/docs/category/installation-1" @@ -135,17 +139,18 @@ export type HomarrDocumentationPath = | "/docs/category/management" | "/docs/category/more" | "/docs/category/widgets" - | "/docs/community/developer-guides" | "/docs/community/donate" | "/docs/community/faq" | "/docs/community/get-in-touch" | "/docs/community/license" | "/docs/community/translations" + | "/docs/development/getting-started" | "/docs/getting-started" | "/docs/getting-started/after-the-installation" | "/docs/getting-started/glossary" | "/docs/getting-started/installation/docker" | "/docs/getting-started/installation/easy-panel" + | "/docs/getting-started/installation/helm" | "/docs/getting-started/installation/home-assistant" | "/docs/getting-started/installation/kubernetes" | "/docs/getting-started/installation/portainer" @@ -164,6 +169,7 @@ export type HomarrDocumentationPath = | "/docs/integrations/torrent" | "/docs/integrations/usenet" | "/docs/management/api" + | "/docs/management/apps" | "/docs/management/boards" | "/docs/management/integrations" | "/docs/management/search-engines" diff --git a/packages/definitions/src/integration.ts b/packages/definitions/src/integration.ts index f9f6cc3e7..8c9645be9 100644 --- a/packages/definitions/src/integration.ts +++ b/packages/definitions/src/integration.ts @@ -144,6 +144,13 @@ export const integrationDefs = { category: ["healthMonitoring"], supportsSearch: false, }, + dashDot: { + name: "Dash.", + secretKinds: [[]], + category: ["healthMonitoring"], + iconUrl: "https://cdn.jsdelivr.net/gh/walkxcode/dashboard-icons@master/png/dashdot.png", + supportsSearch: false, + }, } as const satisfies Record; export const integrationKinds = objectKeys(integrationDefs) as AtLeastOneOf; diff --git a/packages/form/package.json b/packages/form/package.json index c7aea91e8..b6894adfe 100644 --- a/packages/form/package.json +++ b/packages/form/package.json @@ -24,7 +24,7 @@ "dependencies": { "@homarr/translation": "workspace:^0.1.0", "@homarr/validation": "workspace:^0.1.0", - "@mantine/form": "^7.14.3" + "@mantine/form": "^7.15.1" }, "devDependencies": { "@homarr/eslint-config": "workspace:^0.2.0", diff --git a/packages/integrations/src/base/creator.ts b/packages/integrations/src/base/creator.ts index 4c6e2aa6d..54643e4db 100644 --- a/packages/integrations/src/base/creator.ts +++ b/packages/integrations/src/base/creator.ts @@ -4,6 +4,7 @@ import type { Integration as DbIntegration } from "@homarr/db/schema/sqlite"; import type { IntegrationKind, IntegrationSecretKind } from "@homarr/definitions"; import { AdGuardHomeIntegration } from "../adguard-home/adguard-home-integration"; +import { DashDotIntegration } from "../dashdot/dashdot-integration"; import { DelugeIntegration } from "../download-client/deluge/deluge-integration"; import { NzbGetIntegration } from "../download-client/nzbget/nzbget-integration"; import { QBitTorrentIntegration } from "../download-client/qbittorrent/qbittorrent-integration"; @@ -68,4 +69,5 @@ export const integrationCreators = { openmediavault: OpenMediaVaultIntegration, lidarr: LidarrIntegration, readarr: ReadarrIntegration, + dashDot: DashDotIntegration, } satisfies Record Integration>; diff --git a/packages/integrations/src/dashdot/dashdot-integration.ts b/packages/integrations/src/dashdot/dashdot-integration.ts new file mode 100644 index 000000000..271e17409 --- /dev/null +++ b/packages/integrations/src/dashdot/dashdot-integration.ts @@ -0,0 +1,148 @@ +import { humanFileSize } from "@homarr/common"; + +import "@homarr/redis"; + +import dayjs from "dayjs"; + +import { z } from "@homarr/validation"; + +import { createChannelEventHistory } from "../../../redis/src/lib/channel"; +import { Integration } from "../base/integration"; +import type { HealthMonitoring } from "../types"; + +export class DashDotIntegration extends Integration { + public async testConnectionAsync(): Promise { + const response = await fetch(this.url("/info")); + await response.json(); + } + + public async getSystemInfoAsync(): Promise { + const info = await this.getInfoAsync(); + const cpuLoad = await this.getCurrentCpuLoadAsync(); + const memoryLoad = await this.getCurrentMemoryLoadAsync(); + const storageLoad = await this.getCurrentStorageLoadAsync(); + + const channel = this.getChannel(); + const history = await channel.getSliceUntilTimeAsync(dayjs().subtract(15, "minutes").toDate()); + + return { + cpuUtilization: cpuLoad.sumLoad, + memUsed: `${memoryLoad.loadInBytes}`, + memAvailable: `${info.maxAvailableMemoryBytes - memoryLoad.loadInBytes}`, + fileSystem: info.storage.map((storage, index) => ({ + deviceName: `Storage ${index + 1}: (${storage.disks.map((disk) => disk.device).join(", ")})`, + // eslint-disable-next-line @typescript-eslint/no-non-null-assertion + used: humanFileSize(storageLoad[index]!), + available: `${storage.size}`, + percentage: storageLoad[index] ? (storageLoad[index] / storage.size) * 100 : 0, + })), + cpuModelName: info.cpuModel === "" ? `Unknown Model (${info.cpuBrand})` : `${info.cpuModel} (${info.cpuBrand})`, + cpuTemp: cpuLoad.averageTemperature, + availablePkgUpdates: 0, + rebootRequired: false, + smart: [], + uptime: info.uptime, + version: `${info.operatingSystemVersion}`, + loadAverage: { + "1min": Math.round(this.getAverageOfCpu(history[0])), + "5min": Math.round(this.getAverageOfCpuFlat(history.slice(0, 4))), + "15min": Math.round(this.getAverageOfCpuFlat(history.slice(0, 14))), + }, + }; + } + + private async getInfoAsync() { + const infoResponse = await fetch(this.url("/info")); + const serverInfo = await internalServerInfoApi.parseAsync(await infoResponse.json()); + return { + maxAvailableMemoryBytes: serverInfo.ram.size, + storage: serverInfo.storage, + cpuBrand: serverInfo.cpu.brand, + cpuModel: serverInfo.cpu.model, + operatingSystemVersion: `${serverInfo.os.distro} ${serverInfo.os.release} (${serverInfo.os.kernel})`, + uptime: serverInfo.os.uptime, + }; + } + + private async getCurrentCpuLoadAsync() { + const channel = this.getChannel(); + const cpu = await fetch(this.url("/load/cpu")); + const data = await cpuLoadPerCoreApiList.parseAsync(await cpu.json()); + await channel.pushAsync(data); + return { + sumLoad: this.getAverageOfCpu(data), + averageTemperature: data.reduce((acc, current) => acc + current.temp, 0) / data.length, + }; + } + + private getAverageOfCpuFlat(cpuLoad: z.infer[]) { + const averages = cpuLoad.map((load) => this.getAverageOfCpu(load)); + return averages.reduce((acc, current) => acc + current, 0) / averages.length; + } + + private getAverageOfCpu(cpuLoad?: z.infer) { + if (!cpuLoad) { + return 0; + } + return cpuLoad.reduce((acc, current) => acc + current.load, 0) / cpuLoad.length; + } + + private async getCurrentStorageLoadAsync() { + const storageLoad = await fetch(this.url("/load/storage")); + return (await storageLoad.json()) as number[]; + } + + private async getCurrentMemoryLoadAsync() { + const memoryLoad = await fetch(this.url("/load/ram")); + const data = await memoryLoadApi.parseAsync(await memoryLoad.json()); + return { + loadInBytes: data.load, + }; + } + + private getChannel() { + return createChannelEventHistory>( + `integration:${this.integration.id}:history:cpu`, + 100, + ); + } +} + +const cpuLoadPerCoreApi = z.object({ + load: z.number().min(0), + temp: z.number().min(0), +}); + +const memoryLoadApi = z.object({ + load: z.number().min(0), +}); + +const internalServerInfoApi = z.object({ + os: z.object({ + distro: z.string(), + kernel: z.string(), + release: z.string(), + uptime: z.number().min(0), + }), + cpu: z.object({ + brand: z.string(), + model: z.string(), + }), + ram: z.object({ + size: z.number().min(0), + }), + storage: z.array( + z.object({ + size: z.number().min(0), + disks: z.array( + z.object({ + device: z.string(), + brand: z.string(), + type: z.string(), + }), + ), + }), + ), +}); + +const cpuLoadPerCoreApiList = z.array(cpuLoadPerCoreApi); diff --git a/packages/modals-collection/package.json b/packages/modals-collection/package.json index eac792b94..7defa7be2 100644 --- a/packages/modals-collection/package.json +++ b/packages/modals-collection/package.json @@ -31,11 +31,11 @@ "@homarr/translation": "workspace:^0.1.0", "@homarr/ui": "workspace:^0.1.0", "@homarr/validation": "workspace:^0.1.0", - "@mantine/core": "^7.14.3", + "@mantine/core": "^7.15.1", "@tabler/icons-react": "^3.24.0", "dayjs": "^1.11.13", "next": "^14.2.20", - "react": "^18.3.1" + "react": "^19.0.0" }, "devDependencies": { "@homarr/eslint-config": "workspace:^0.2.0", diff --git a/packages/modals/package.json b/packages/modals/package.json index 25d18870d..2b63c8fec 100644 --- a/packages/modals/package.json +++ b/packages/modals/package.json @@ -24,9 +24,9 @@ "dependencies": { "@homarr/translation": "workspace:^0.1.0", "@homarr/ui": "workspace:^0.1.0", - "@mantine/core": "^7.14.3", - "@mantine/hooks": "^7.14.3", - "react": "^18.3.1" + "@mantine/core": "^7.15.1", + "@mantine/hooks": "^7.15.1", + "react": "^19.0.0" }, "devDependencies": { "@homarr/eslint-config": "workspace:^0.2.0", diff --git a/packages/notifications/package.json b/packages/notifications/package.json index 51fb23c7f..d869f2dd7 100644 --- a/packages/notifications/package.json +++ b/packages/notifications/package.json @@ -24,7 +24,7 @@ "prettier": "@homarr/prettier-config", "dependencies": { "@homarr/ui": "workspace:^0.1.0", - "@mantine/notifications": "^7.14.3", + "@mantine/notifications": "^7.15.1", "@tabler/icons-react": "^3.24.0" }, "devDependencies": { diff --git a/packages/old-schema/package.json b/packages/old-schema/package.json index cdca0e169..dc36216f6 100644 --- a/packages/old-schema/package.json +++ b/packages/old-schema/package.json @@ -22,7 +22,7 @@ }, "prettier": "@homarr/prettier-config", "dependencies": { - "zod": "^3.23.8" + "zod": "^3.24.1" }, "devDependencies": { "@homarr/eslint-config": "workspace:^0.2.0", diff --git a/packages/redis/src/lib/channel.ts b/packages/redis/src/lib/channel.ts index cdf84f492..68664a2d7 100644 --- a/packages/redis/src/lib/channel.ts +++ b/packages/redis/src/lib/channel.ts @@ -187,6 +187,67 @@ export const createItemChannel = (itemId: string) => { return createChannelWithLatestAndEvents(`item:${itemId}`); }; +export const createChannelEventHistory = (channelName: string, maxElements = 15) => { + const popElementsOverMaxAsync = async () => { + const length = await getSetClient.llen(channelName); + if (length <= maxElements) { + return; + } + await getSetClient.ltrim(channelName, length - maxElements, length); + }; + + return { + subscribe: (callback: (data: TData) => void) => { + return ChannelSubscriptionTracker.subscribe(channelName, (message) => { + callback(superjson.parse(message)); + }); + }, + publishAndPushAsync: async (data: TData) => { + await publisher.publish(channelName, superjson.stringify(data)); + await getSetClient.lpush(channelName, superjson.stringify({ data, timestamp: new Date() })); + await popElementsOverMaxAsync(); + }, + pushAsync: async (data: TData) => { + await getSetClient.lpush(channelName, superjson.stringify({ data, timestamp: new Date() })); + await popElementsOverMaxAsync(); + }, + clearAsync: async () => { + await getSetClient.del(channelName); + }, + getLastAsync: async () => { + const length = await getSetClient.llen(channelName); + const data = await getSetClient.lrange(channelName, length - 1, length); + if (data.length !== 1) return null; + + // eslint-disable-next-line @typescript-eslint/no-non-null-assertion + return superjson.parse<{ data: TData; timestamp: Date }>(data[0]!); + }, + getSliceAsync: async (startIndex: number, endIndex: number) => { + const range = await getSetClient.lrange(channelName, startIndex, endIndex); + return range.map((item) => superjson.parse<{ data: TData; timestamp: Date }>(item)); + }, + getSliceUntilTimeAsync: async (time: Date) => { + const length = await getSetClient.llen(channelName); + const items: TData[] = []; + const itemsInCollection = await getSetClient.lrange(channelName, 0, length - 1); + + for (let i = 0; i < length - 1; i++) { + // eslint-disable-next-line @typescript-eslint/no-non-null-assertion + const deserializedItem = superjson.parse<{ data: TData; timestamp: Date }>(itemsInCollection[i]!); + if (deserializedItem.timestamp < time) { + continue; + } + items.push(deserializedItem.data); + } + return items; + }, + getLengthAsync: async () => { + return await getSetClient.llen(channelName); + }, + name: channelName, + }; +}; + export const createChannelWithLatestAndEvents = (channelName: string) => { return { subscribe: (callback: (data: TData) => void) => { diff --git a/packages/spotlight/package.json b/packages/spotlight/package.json index 28b919d05..856a50880 100644 --- a/packages/spotlight/package.json +++ b/packages/spotlight/package.json @@ -32,13 +32,13 @@ "@homarr/modals-collection": "workspace:^0.1.0", "@homarr/translation": "workspace:^0.1.0", "@homarr/ui": "workspace:^0.1.0", - "@mantine/core": "^7.14.3", - "@mantine/hooks": "^7.14.3", - "@mantine/spotlight": "^7.14.3", + "@mantine/core": "^7.15.1", + "@mantine/hooks": "^7.15.1", + "@mantine/spotlight": "^7.15.1", "@tabler/icons-react": "^3.24.0", "jotai": "^2.10.3", "next": "^14.2.20", - "react": "^18.3.1", + "react": "^19.0.0", "use-deep-compare-effect": "^1.8.1" }, "devDependencies": { diff --git a/packages/spotlight/src/lib/children.ts b/packages/spotlight/src/lib/children.ts index 69b3c00b1..0c2c34992 100644 --- a/packages/spotlight/src/lib/children.ts +++ b/packages/spotlight/src/lib/children.ts @@ -1,4 +1,4 @@ -import type { ReactNode } from "react"; +import type { JSX, ReactNode } from "react"; import type { inferSearchInteractionDefinition } from "./interaction"; diff --git a/packages/spotlight/src/lib/group.ts b/packages/spotlight/src/lib/group.ts index 900990e4a..4049d1a8e 100644 --- a/packages/spotlight/src/lib/group.ts +++ b/packages/spotlight/src/lib/group.ts @@ -1,3 +1,4 @@ +import type { JSX } from "react"; import type { UseTRPCQueryResult } from "@trpc/react-query/shared"; import type { stringOrTranslation } from "@homarr/translation"; diff --git a/packages/translation/package.json b/packages/translation/package.json index 03f088c31..f2540fbd9 100644 --- a/packages/translation/package.json +++ b/packages/translation/package.json @@ -33,8 +33,8 @@ "deepmerge": "4.3.1", "mantine-react-table": "2.0.0-beta.7", "next": "^14.2.20", - "next-intl": "3.26.0", - "react": "^18.3.1" + "next-intl": "3.26.1", + "react": "^19.0.0" }, "devDependencies": { "@homarr/eslint-config": "workspace:^0.2.0", diff --git a/packages/translation/src/lang/cs.json b/packages/translation/src/lang/cs.json index 9f7440c6e..7f85bfb93 100644 --- a/packages/translation/src/lang/cs.json +++ b/packages/translation/src/lang/cs.json @@ -1159,6 +1159,9 @@ "automationId": { "label": "ID automatizace" } + }, + "spotlightAction": { + "run": "" } }, "calendar": { @@ -2450,6 +2453,9 @@ "command": { "help": "", "group": { + "localCommand": { + "title": "" + }, "globalCommand": { "title": "", "option": { @@ -2559,6 +2565,13 @@ } } }, + "home": { + "group": { + "local": { + "title": "" + } + } + }, "page": { "help": "", "group": { diff --git a/packages/translation/src/lang/da.json b/packages/translation/src/lang/da.json index 3784e8b5c..ae4c57afb 100644 --- a/packages/translation/src/lang/da.json +++ b/packages/translation/src/lang/da.json @@ -1159,6 +1159,9 @@ "automationId": { "label": "Automatiserings ID" } + }, + "spotlightAction": { + "run": "" } }, "calendar": { @@ -2450,6 +2453,9 @@ "command": { "help": "", "group": { + "localCommand": { + "title": "" + }, "globalCommand": { "title": "", "option": { @@ -2559,6 +2565,13 @@ } } }, + "home": { + "group": { + "local": { + "title": "" + } + } + }, "page": { "help": "", "group": { diff --git a/packages/translation/src/lang/de.json b/packages/translation/src/lang/de.json index 102c79404..e8bcf21d7 100644 --- a/packages/translation/src/lang/de.json +++ b/packages/translation/src/lang/de.json @@ -1159,6 +1159,9 @@ "automationId": { "label": "Automatisierungs-ID" } + }, + "spotlightAction": { + "run": "" } }, "calendar": { @@ -2450,6 +2453,9 @@ "command": { "help": "", "group": { + "localCommand": { + "title": "" + }, "globalCommand": { "title": "", "option": { @@ -2559,6 +2565,13 @@ } } }, + "home": { + "group": { + "local": { + "title": "" + } + } + }, "page": { "help": "", "group": { diff --git a/packages/translation/src/lang/el.json b/packages/translation/src/lang/el.json index 74fe41ba3..cdefe17f3 100644 --- a/packages/translation/src/lang/el.json +++ b/packages/translation/src/lang/el.json @@ -1159,6 +1159,9 @@ "automationId": { "label": "Αναγνωριστικό αυτοματισμού" } + }, + "spotlightAction": { + "run": "" } }, "calendar": { @@ -2450,6 +2453,9 @@ "command": { "help": "", "group": { + "localCommand": { + "title": "" + }, "globalCommand": { "title": "", "option": { @@ -2559,6 +2565,13 @@ } } }, + "home": { + "group": { + "local": { + "title": "" + } + } + }, "page": { "help": "", "group": { diff --git a/packages/translation/src/lang/es.json b/packages/translation/src/lang/es.json index 8d971e841..afd5fa731 100644 --- a/packages/translation/src/lang/es.json +++ b/packages/translation/src/lang/es.json @@ -1159,6 +1159,9 @@ "automationId": { "label": "ID de automatización" } + }, + "spotlightAction": { + "run": "" } }, "calendar": { @@ -2450,6 +2453,9 @@ "command": { "help": "", "group": { + "localCommand": { + "title": "" + }, "globalCommand": { "title": "", "option": { @@ -2559,6 +2565,13 @@ } } }, + "home": { + "group": { + "local": { + "title": "" + } + } + }, "page": { "help": "", "group": { diff --git a/packages/translation/src/lang/et.json b/packages/translation/src/lang/et.json index 7b7ab1879..aa129b710 100644 --- a/packages/translation/src/lang/et.json +++ b/packages/translation/src/lang/et.json @@ -1159,6 +1159,9 @@ "automationId": { "label": "" } + }, + "spotlightAction": { + "run": "" } }, "calendar": { @@ -2450,6 +2453,9 @@ "command": { "help": "", "group": { + "localCommand": { + "title": "" + }, "globalCommand": { "title": "", "option": { @@ -2559,6 +2565,13 @@ } } }, + "home": { + "group": { + "local": { + "title": "" + } + } + }, "page": { "help": "", "group": { diff --git a/packages/translation/src/lang/fr.json b/packages/translation/src/lang/fr.json index 9edac7fe8..821a68655 100644 --- a/packages/translation/src/lang/fr.json +++ b/packages/translation/src/lang/fr.json @@ -1159,6 +1159,9 @@ "automationId": { "label": "ID de l'automatisation" } + }, + "spotlightAction": { + "run": "" } }, "calendar": { @@ -2450,6 +2453,9 @@ "command": { "help": "", "group": { + "localCommand": { + "title": "" + }, "globalCommand": { "title": "", "option": { @@ -2559,6 +2565,13 @@ } } }, + "home": { + "group": { + "local": { + "title": "" + } + } + }, "page": { "help": "", "group": { diff --git a/packages/translation/src/lang/he.json b/packages/translation/src/lang/he.json index 12ea41c26..c9bf4c283 100644 --- a/packages/translation/src/lang/he.json +++ b/packages/translation/src/lang/he.json @@ -1159,6 +1159,9 @@ "automationId": { "label": "מזהה אוטומציה" } + }, + "spotlightAction": { + "run": "" } }, "calendar": { @@ -2450,6 +2453,9 @@ "command": { "help": "", "group": { + "localCommand": { + "title": "" + }, "globalCommand": { "title": "", "option": { @@ -2559,6 +2565,13 @@ } } }, + "home": { + "group": { + "local": { + "title": "" + } + } + }, "page": { "help": "", "group": { diff --git a/packages/translation/src/lang/hr.json b/packages/translation/src/lang/hr.json index f446172d7..0fcc1d3ca 100644 --- a/packages/translation/src/lang/hr.json +++ b/packages/translation/src/lang/hr.json @@ -1159,6 +1159,9 @@ "automationId": { "label": "" } + }, + "spotlightAction": { + "run": "" } }, "calendar": { @@ -2450,6 +2453,9 @@ "command": { "help": "", "group": { + "localCommand": { + "title": "" + }, "globalCommand": { "title": "", "option": { @@ -2559,6 +2565,13 @@ } } }, + "home": { + "group": { + "local": { + "title": "" + } + } + }, "page": { "help": "", "group": { diff --git a/packages/translation/src/lang/hu.json b/packages/translation/src/lang/hu.json index a83de5ab8..5d0362003 100644 --- a/packages/translation/src/lang/hu.json +++ b/packages/translation/src/lang/hu.json @@ -1159,6 +1159,9 @@ "automationId": { "label": "Automatizálási azonosító" } + }, + "spotlightAction": { + "run": "" } }, "calendar": { @@ -2450,6 +2453,9 @@ "command": { "help": "", "group": { + "localCommand": { + "title": "" + }, "globalCommand": { "title": "", "option": { @@ -2559,6 +2565,13 @@ } } }, + "home": { + "group": { + "local": { + "title": "" + } + } + }, "page": { "help": "", "group": { diff --git a/packages/translation/src/lang/it.json b/packages/translation/src/lang/it.json index 8294c6325..4977d9f87 100644 --- a/packages/translation/src/lang/it.json +++ b/packages/translation/src/lang/it.json @@ -1159,6 +1159,9 @@ "automationId": { "label": "ID automazione" } + }, + "spotlightAction": { + "run": "" } }, "calendar": { @@ -2450,6 +2453,9 @@ "command": { "help": "", "group": { + "localCommand": { + "title": "" + }, "globalCommand": { "title": "", "option": { @@ -2559,6 +2565,13 @@ } } }, + "home": { + "group": { + "local": { + "title": "" + } + } + }, "page": { "help": "", "group": { diff --git a/packages/translation/src/lang/ja.json b/packages/translation/src/lang/ja.json index 2e8236ca0..970a14ad5 100644 --- a/packages/translation/src/lang/ja.json +++ b/packages/translation/src/lang/ja.json @@ -1159,6 +1159,9 @@ "automationId": { "label": "オートメーションID" } + }, + "spotlightAction": { + "run": "" } }, "calendar": { @@ -2450,6 +2453,9 @@ "command": { "help": "", "group": { + "localCommand": { + "title": "" + }, "globalCommand": { "title": "", "option": { @@ -2559,6 +2565,13 @@ } } }, + "home": { + "group": { + "local": { + "title": "" + } + } + }, "page": { "help": "", "group": { diff --git a/packages/translation/src/lang/ko.json b/packages/translation/src/lang/ko.json index 0f96061fa..6403d0ac3 100644 --- a/packages/translation/src/lang/ko.json +++ b/packages/translation/src/lang/ko.json @@ -1159,6 +1159,9 @@ "automationId": { "label": "" } + }, + "spotlightAction": { + "run": "" } }, "calendar": { @@ -2450,6 +2453,9 @@ "command": { "help": "", "group": { + "localCommand": { + "title": "" + }, "globalCommand": { "title": "", "option": { @@ -2559,6 +2565,13 @@ } } }, + "home": { + "group": { + "local": { + "title": "" + } + } + }, "page": { "help": "", "group": { diff --git a/packages/translation/src/lang/lt.json b/packages/translation/src/lang/lt.json index d7c82ce20..9888e0ef3 100644 --- a/packages/translation/src/lang/lt.json +++ b/packages/translation/src/lang/lt.json @@ -1159,6 +1159,9 @@ "automationId": { "label": "Automatizavimo ID" } + }, + "spotlightAction": { + "run": "" } }, "calendar": { @@ -2450,6 +2453,9 @@ "command": { "help": "", "group": { + "localCommand": { + "title": "" + }, "globalCommand": { "title": "", "option": { @@ -2559,6 +2565,13 @@ } } }, + "home": { + "group": { + "local": { + "title": "" + } + } + }, "page": { "help": "", "group": { diff --git a/packages/translation/src/lang/lv.json b/packages/translation/src/lang/lv.json index 51272fbdd..c4901706e 100644 --- a/packages/translation/src/lang/lv.json +++ b/packages/translation/src/lang/lv.json @@ -1159,6 +1159,9 @@ "automationId": { "label": "Automatizācijas ID" } + }, + "spotlightAction": { + "run": "" } }, "calendar": { @@ -2450,6 +2453,9 @@ "command": { "help": "", "group": { + "localCommand": { + "title": "" + }, "globalCommand": { "title": "", "option": { @@ -2559,6 +2565,13 @@ } } }, + "home": { + "group": { + "local": { + "title": "" + } + } + }, "page": { "help": "", "group": { diff --git a/packages/translation/src/lang/nl.json b/packages/translation/src/lang/nl.json index 4b28f93f4..c509c3ef4 100644 --- a/packages/translation/src/lang/nl.json +++ b/packages/translation/src/lang/nl.json @@ -1159,6 +1159,9 @@ "automationId": { "label": "Automatiserings-ID" } + }, + "spotlightAction": { + "run": "" } }, "calendar": { @@ -2450,6 +2453,9 @@ "command": { "help": "", "group": { + "localCommand": { + "title": "" + }, "globalCommand": { "title": "", "option": { @@ -2559,6 +2565,13 @@ } } }, + "home": { + "group": { + "local": { + "title": "" + } + } + }, "page": { "help": "", "group": { diff --git a/packages/translation/src/lang/no.json b/packages/translation/src/lang/no.json index a7fbb340b..7ca020a0b 100644 --- a/packages/translation/src/lang/no.json +++ b/packages/translation/src/lang/no.json @@ -1159,6 +1159,9 @@ "automationId": { "label": "Automatisering ID" } + }, + "spotlightAction": { + "run": "" } }, "calendar": { @@ -2450,6 +2453,9 @@ "command": { "help": "", "group": { + "localCommand": { + "title": "" + }, "globalCommand": { "title": "", "option": { @@ -2559,6 +2565,13 @@ } } }, + "home": { + "group": { + "local": { + "title": "" + } + } + }, "page": { "help": "", "group": { diff --git a/packages/translation/src/lang/pl.json b/packages/translation/src/lang/pl.json index ec9a5b784..c0dd2195c 100644 --- a/packages/translation/src/lang/pl.json +++ b/packages/translation/src/lang/pl.json @@ -1159,6 +1159,9 @@ "automationId": { "label": "ID automatyzacji" } + }, + "spotlightAction": { + "run": "" } }, "calendar": { @@ -2450,6 +2453,9 @@ "command": { "help": "", "group": { + "localCommand": { + "title": "" + }, "globalCommand": { "title": "", "option": { @@ -2559,6 +2565,13 @@ } } }, + "home": { + "group": { + "local": { + "title": "" + } + } + }, "page": { "help": "", "group": { diff --git a/packages/translation/src/lang/pt.json b/packages/translation/src/lang/pt.json index ee8fe1ee1..3a5ed4932 100644 --- a/packages/translation/src/lang/pt.json +++ b/packages/translation/src/lang/pt.json @@ -1159,6 +1159,9 @@ "automationId": { "label": "ID da automação" } + }, + "spotlightAction": { + "run": "" } }, "calendar": { @@ -2450,6 +2453,9 @@ "command": { "help": "", "group": { + "localCommand": { + "title": "" + }, "globalCommand": { "title": "", "option": { @@ -2559,6 +2565,13 @@ } } }, + "home": { + "group": { + "local": { + "title": "" + } + } + }, "page": { "help": "", "group": { diff --git a/packages/translation/src/lang/ro.json b/packages/translation/src/lang/ro.json index eabe05831..deadfdb40 100644 --- a/packages/translation/src/lang/ro.json +++ b/packages/translation/src/lang/ro.json @@ -1159,6 +1159,9 @@ "automationId": { "label": "Identificator automatizare" } + }, + "spotlightAction": { + "run": "" } }, "calendar": { @@ -2450,6 +2453,9 @@ "command": { "help": "", "group": { + "localCommand": { + "title": "" + }, "globalCommand": { "title": "", "option": { @@ -2559,6 +2565,13 @@ } } }, + "home": { + "group": { + "local": { + "title": "" + } + } + }, "page": { "help": "", "group": { diff --git a/packages/translation/src/lang/ru.json b/packages/translation/src/lang/ru.json index 9c75ce747..0c42d7040 100644 --- a/packages/translation/src/lang/ru.json +++ b/packages/translation/src/lang/ru.json @@ -1159,6 +1159,9 @@ "automationId": { "label": "ID автоматизации" } + }, + "spotlightAction": { + "run": "" } }, "calendar": { @@ -2450,6 +2453,9 @@ "command": { "help": "", "group": { + "localCommand": { + "title": "" + }, "globalCommand": { "title": "", "option": { @@ -2559,6 +2565,13 @@ } } }, + "home": { + "group": { + "local": { + "title": "" + } + } + }, "page": { "help": "", "group": { diff --git a/packages/translation/src/lang/sk.json b/packages/translation/src/lang/sk.json index 3bc6696a1..0b0db98ac 100644 --- a/packages/translation/src/lang/sk.json +++ b/packages/translation/src/lang/sk.json @@ -1159,6 +1159,9 @@ "automationId": { "label": "ID automatizácie" } + }, + "spotlightAction": { + "run": "" } }, "calendar": { @@ -2450,6 +2453,9 @@ "command": { "help": "", "group": { + "localCommand": { + "title": "" + }, "globalCommand": { "title": "", "option": { @@ -2559,6 +2565,13 @@ } } }, + "home": { + "group": { + "local": { + "title": "" + } + } + }, "page": { "help": "", "group": { diff --git a/packages/translation/src/lang/sl.json b/packages/translation/src/lang/sl.json index 62cff7136..b16c4c6b3 100644 --- a/packages/translation/src/lang/sl.json +++ b/packages/translation/src/lang/sl.json @@ -4,8 +4,8 @@ "name": "Uporabnik", "page": { "login": { - "title": "", - "subtitle": "" + "title": "Prijavite se v svoj račun", + "subtitle": "Dobrodošli nazaj! Prosimo vnesite svoje podatke" }, "invite": { "title": "", @@ -39,7 +39,7 @@ "label": "Potrditev gesla" }, "previousPassword": { - "label": "" + "label": "Prejšnje geslo" }, "homeBoard": { "label": "" @@ -57,8 +57,8 @@ "labelWith": "", "notification": { "success": { - "title": "", - "message": "" + "title": "Prijava uspešna", + "message": "Zdaj ste prijavljeni" }, "error": { "title": "", @@ -85,7 +85,7 @@ }, "create": "Ustvari uporabnika", "changePassword": { - "label": "", + "label": "Spremeni geslo", "notification": { "success": { "message": "" @@ -142,7 +142,7 @@ } }, "removeImage": { - "label": "", + "label": "Odstrani sliko", "confirm": "", "notification": { "success": { @@ -170,7 +170,7 @@ "confirm": "" }, "select": { - "label": "", + "label": "Izberi uporabnika", "notFound": "" }, "transfer": { @@ -1159,6 +1159,9 @@ "automationId": { "label": "" } + }, + "spotlightAction": { + "run": "" } }, "calendar": { @@ -2450,6 +2453,9 @@ "command": { "help": "", "group": { + "localCommand": { + "title": "" + }, "globalCommand": { "title": "", "option": { @@ -2559,6 +2565,13 @@ } } }, + "home": { + "group": { + "local": { + "title": "" + } + } + }, "page": { "help": "", "group": { diff --git a/packages/translation/src/lang/sv.json b/packages/translation/src/lang/sv.json index b7f37494a..33e56d1fd 100644 --- a/packages/translation/src/lang/sv.json +++ b/packages/translation/src/lang/sv.json @@ -1159,6 +1159,9 @@ "automationId": { "label": "Automations-ID" } + }, + "spotlightAction": { + "run": "" } }, "calendar": { @@ -2450,6 +2453,9 @@ "command": { "help": "", "group": { + "localCommand": { + "title": "" + }, "globalCommand": { "title": "", "option": { @@ -2559,6 +2565,13 @@ } } }, + "home": { + "group": { + "local": { + "title": "" + } + } + }, "page": { "help": "", "group": { diff --git a/packages/translation/src/lang/tr.json b/packages/translation/src/lang/tr.json index e30dcd114..00f73dab9 100644 --- a/packages/translation/src/lang/tr.json +++ b/packages/translation/src/lang/tr.json @@ -1159,6 +1159,9 @@ "automationId": { "label": "Otomasyon Kimliği" } + }, + "spotlightAction": { + "run": "" } }, "calendar": { @@ -2450,6 +2453,9 @@ "command": { "help": "", "group": { + "localCommand": { + "title": "" + }, "globalCommand": { "title": "", "option": { @@ -2559,6 +2565,13 @@ } } }, + "home": { + "group": { + "local": { + "title": "" + } + } + }, "page": { "help": "", "group": { diff --git a/packages/translation/src/lang/uk.json b/packages/translation/src/lang/uk.json index f421edbb2..880b1893f 100644 --- a/packages/translation/src/lang/uk.json +++ b/packages/translation/src/lang/uk.json @@ -1159,6 +1159,9 @@ "automationId": { "label": "" } + }, + "spotlightAction": { + "run": "" } }, "calendar": { @@ -2450,6 +2453,9 @@ "command": { "help": "", "group": { + "localCommand": { + "title": "" + }, "globalCommand": { "title": "", "option": { @@ -2559,6 +2565,13 @@ } } }, + "home": { + "group": { + "local": { + "title": "" + } + } + }, "page": { "help": "", "group": { diff --git a/packages/translation/src/lang/vi.json b/packages/translation/src/lang/vi.json index 9366146ec..9edf37d76 100644 --- a/packages/translation/src/lang/vi.json +++ b/packages/translation/src/lang/vi.json @@ -1159,6 +1159,9 @@ "automationId": { "label": "ID tự động hóa" } + }, + "spotlightAction": { + "run": "" } }, "calendar": { @@ -2450,6 +2453,9 @@ "command": { "help": "", "group": { + "localCommand": { + "title": "" + }, "globalCommand": { "title": "", "option": { @@ -2559,6 +2565,13 @@ } } }, + "home": { + "group": { + "local": { + "title": "" + } + } + }, "page": { "help": "", "group": { diff --git a/packages/translation/src/lang/zh.json b/packages/translation/src/lang/zh.json index 6d3ebbb57..5ec0e4e15 100644 --- a/packages/translation/src/lang/zh.json +++ b/packages/translation/src/lang/zh.json @@ -1159,6 +1159,9 @@ "automationId": { "label": "" } + }, + "spotlightAction": { + "run": "" } }, "calendar": { @@ -2450,6 +2453,9 @@ "command": { "help": "", "group": { + "localCommand": { + "title": "" + }, "globalCommand": { "title": "", "option": { @@ -2559,6 +2565,13 @@ } } }, + "home": { + "group": { + "local": { + "title": "" + } + } + }, "page": { "help": "", "group": { diff --git a/packages/ui/package.json b/packages/ui/package.json index 8c92a4e78..80889e4ce 100644 --- a/packages/ui/package.json +++ b/packages/ui/package.json @@ -29,13 +29,13 @@ "@homarr/log": "workspace:^0.1.0", "@homarr/translation": "workspace:^0.1.0", "@homarr/validation": "workspace:^0.1.0", - "@mantine/core": "^7.14.3", - "@mantine/dates": "^7.14.3", - "@mantine/hooks": "^7.14.3", + "@mantine/core": "^7.15.1", + "@mantine/dates": "^7.15.1", + "@mantine/hooks": "^7.15.1", "@tabler/icons-react": "^3.24.0", "mantine-react-table": "2.0.0-beta.7", "next": "^14.2.20", - "react": "^18.3.1" + "react": "^19.0.0" }, "devDependencies": { "@homarr/eslint-config": "workspace:^0.2.0", diff --git a/packages/validation/package.json b/packages/validation/package.json index a5bddacdc..4f2bba2d0 100644 --- a/packages/validation/package.json +++ b/packages/validation/package.json @@ -26,7 +26,7 @@ "@homarr/definitions": "workspace:^0.1.0", "@homarr/old-schema": "workspace:^0.1.0", "@homarr/translation": "workspace:^0.1.0", - "zod": "^3.23.8", + "zod": "^3.24.1", "zod-form-data": "^2.0.2" }, "devDependencies": { diff --git a/packages/widgets/package.json b/packages/widgets/package.json index 3ac193184..d13a3a178 100644 --- a/packages/widgets/package.json +++ b/packages/widgets/package.json @@ -41,8 +41,8 @@ "@homarr/translation": "workspace:^0.1.0", "@homarr/ui": "workspace:^0.1.0", "@homarr/validation": "workspace:^0.1.0", - "@mantine/core": "^7.14.3", - "@mantine/hooks": "^7.14.3", + "@mantine/core": "^7.15.1", + "@mantine/hooks": "^7.15.1", "@tabler/icons-react": "^3.24.0", "@tiptap/extension-color": "2.10.3", "@tiptap/extension-highlight": "2.10.3", @@ -63,7 +63,7 @@ "dayjs": "^1.11.13", "mantine-react-table": "2.0.0-beta.7", "next": "^14.2.20", - "react": "^18.3.1", + "react": "^19.0.0", "video.js": "^8.21.0" }, "devDependencies": { diff --git a/packages/widgets/src/clock/component.tsx b/packages/widgets/src/clock/component.tsx index a4de98bf4..6c30f8ffe 100644 --- a/packages/widgets/src/clock/component.tsx +++ b/packages/widgets/src/clock/component.tsx @@ -44,8 +44,8 @@ interface UseCurrentTimeProps { const useCurrentTime = ({ showSeconds }: UseCurrentTimeProps) => { const [time, setTime] = useState(new Date()); - const timeoutRef = useRef(); - const intervalRef = useRef(); + const timeoutRef = useRef(null); + const intervalRef = useRef(null); const intervalMultiplier = useMemo(() => (showSeconds ? 1 : 60), [showSeconds]); useEffect(() => { @@ -62,8 +62,8 @@ const useCurrentTime = ({ showSeconds }: UseCurrentTimeProps) => { ); return () => { - clearTimeout(timeoutRef.current); - clearInterval(intervalRef.current); + if (timeoutRef.current) clearTimeout(timeoutRef.current); + if (intervalRef.current) clearInterval(intervalRef.current); }; }, [intervalMultiplier, showSeconds]); diff --git a/packages/widgets/src/dns-hole/controls/TimerModal.tsx b/packages/widgets/src/dns-hole/controls/TimerModal.tsx index 06281241e..0a04779fa 100644 --- a/packages/widgets/src/dns-hole/controls/TimerModal.tsx +++ b/packages/widgets/src/dns-hole/controls/TimerModal.tsx @@ -16,8 +16,8 @@ const TimerModal = ({ opened, close, selectedIntegrationIds, disableDns }: Timer const t = useI18n(); const [hours, setHours] = useState(0); const [minutes, setMinutes] = useState(0); - const hoursHandlers = useRef(); - const minutesHandlers = useRef(); + const hoursHandlers = useRef(null); + const minutesHandlers = useRef(null); const handleSetTimer = () => { const duration = hours * 3600 + minutes * 60; diff --git a/packages/widgets/src/health-monitoring/component.tsx b/packages/widgets/src/health-monitoring/component.tsx index c9c7aa946..fdde45dfa 100644 --- a/packages/widgets/src/health-monitoring/component.tsx +++ b/packages/widgets/src/health-monitoring/component.tsx @@ -169,15 +169,15 @@ export default function HealthMonitoringWidget({ options, integrationIds }: Widg }> - {t("widget.healthMonitoring.popover.minute")} {healthInfo.loadAverage["1min"]} + {t("widget.healthMonitoring.popover.minute")} {healthInfo.loadAverage["1min"]}% {t("widget.healthMonitoring.popover.minutes", { count: 5 })}{" "} - {healthInfo.loadAverage["5min"]} + {healthInfo.loadAverage["5min"]}% {t("widget.healthMonitoring.popover.minutes", { count: 15 })}{" "} - {healthInfo.loadAverage["15min"]} + {healthInfo.loadAverage["15min"]}% @@ -363,7 +363,7 @@ const CpuTempRing = ({ fahrenheit, cpuTemp }: { fahrenheit: boolean; cpuTemp: nu label={
- {fahrenheit ? `${(cpuTemp * 1.8 + 32).toFixed(1)}°F` : `${cpuTemp}°C`} + {fahrenheit ? `${(cpuTemp * 1.8 + 32).toFixed(1)}°F` : `${cpuTemp.toFixed(1)}°C`}
diff --git a/packages/widgets/src/health-monitoring/index.ts b/packages/widgets/src/health-monitoring/index.ts index 5ad3c06cc..970f827f4 100644 --- a/packages/widgets/src/health-monitoring/index.ts +++ b/packages/widgets/src/health-monitoring/index.ts @@ -1,5 +1,7 @@ import { IconHeartRateMonitor, IconServerOff } from "@tabler/icons-react"; +import { getIntegrationKindsByCategory } from "@homarr/definitions"; + import { createWidgetDefinition } from "../definition"; import { optionsBuilder } from "../options"; @@ -19,7 +21,7 @@ export const { definition, componentLoader } = createWidgetDefinition("healthMon defaultValue: true, }), })), - supportedIntegrations: ["openmediavault"], + supportedIntegrations: getIntegrationKindsByCategory("healthMonitoring"), errors: { INTERNAL_SERVER_ERROR: { icon: IconServerOff, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 3bf170f60..43163e35e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -18,10 +18,10 @@ importers: version: link:tooling/prettier '@turbo/gen': specifier: ^2.3.3 - version: 2.3.3(@types/node@22.10.1)(typescript@5.7.2) + version: 2.3.3(@types/node@22.10.2)(typescript@5.7.2) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@5.4.5(@types/node@22.10.1)(sass@1.82.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.32.0)) + version: 4.3.4(vite@5.4.5(@types/node@22.10.2)(sass@1.83.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.32.0)) '@vitest/coverage-v8': specifier: ^2.1.8 version: 2.1.8(vitest@2.1.8) @@ -48,10 +48,10 @@ importers: version: 5.7.2 vite-tsconfig-paths: specifier: ^5.1.4 - version: 5.1.4(typescript@5.7.2)(vite@5.4.5(@types/node@22.10.1)(sass@1.82.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.32.0)) + version: 5.1.4(typescript@5.7.2)(vite@5.4.5(@types/node@22.10.2)(sass@1.83.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.32.0)) vitest: specifier: ^2.1.8 - version: 2.1.8(@types/node@22.10.1)(@vitest/ui@2.1.8)(jsdom@25.0.1)(sass@1.82.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.32.0) + version: 2.1.8(@types/node@22.10.2)(@vitest/ui@2.1.8)(jsdom@25.0.1)(sass@1.83.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.32.0) apps/nextjs: dependencies: @@ -122,50 +122,50 @@ importers: specifier: workspace:^0.1.0 version: link:../../packages/widgets '@mantine/colors-generator': - specifier: ^7.14.3 - version: 7.14.3(chroma-js@3.1.2) + specifier: ^7.15.1 + version: 7.15.1(chroma-js@3.1.2) '@mantine/core': - specifier: ^7.14.3 - version: 7.14.3(@mantine/hooks@7.14.3(react@18.3.1))(@types/react@18.3.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: ^7.15.1 + version: 7.15.1(@mantine/hooks@7.15.1(react@19.0.0))(@types/react@19.0.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@mantine/hooks': - specifier: ^7.14.3 - version: 7.14.3(react@18.3.1) + specifier: ^7.15.1 + version: 7.15.1(react@19.0.0) '@mantine/modals': - specifier: ^7.14.3 - version: 7.14.3(@mantine/core@7.14.3(@mantine/hooks@7.14.3(react@18.3.1))(@types/react@18.3.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mantine/hooks@7.14.3(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: ^7.15.1 + version: 7.15.1(@mantine/core@7.15.1(@mantine/hooks@7.15.1(react@19.0.0))(@types/react@19.0.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(@mantine/hooks@7.15.1(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@mantine/tiptap': - specifier: ^7.14.3 - version: 7.14.3(@mantine/core@7.14.3(@mantine/hooks@7.14.3(react@18.3.1))(@types/react@18.3.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mantine/hooks@7.14.3(react@18.3.1))(@tiptap/extension-link@2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))(@tiptap/pm@2.10.3))(@tiptap/react@2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))(@tiptap/pm@2.10.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: ^7.15.1 + version: 7.15.1(@mantine/core@7.15.1(@mantine/hooks@7.15.1(react@19.0.0))(@types/react@19.0.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(@mantine/hooks@7.15.1(react@19.0.0))(@tiptap/extension-link@2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))(@tiptap/pm@2.10.3))(@tiptap/react@2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))(@tiptap/pm@2.10.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@million/lint': - specifier: 1.0.13 - version: 1.0.13(rollup@4.21.3)(webpack-sources@3.2.3) + specifier: 1.0.14 + version: 1.0.14(rollup@4.21.3)(webpack-sources@3.2.3) '@t3-oss/env-nextjs': specifier: ^0.11.1 - version: 0.11.1(typescript@5.7.2)(zod@3.23.8) + version: 0.11.1(typescript@5.7.2)(zod@3.24.1) '@tabler/icons-react': specifier: ^3.24.0 - version: 3.24.0(react@18.3.1) + version: 3.24.0(react@19.0.0) '@tanstack/react-query': - specifier: ^5.62.3 - version: 5.62.3(react@18.3.1) + specifier: ^5.62.7 + version: 5.62.7(react@19.0.0) '@tanstack/react-query-devtools': - specifier: ^5.62.3 - version: 5.62.3(@tanstack/react-query@5.62.3(react@18.3.1))(react@18.3.1) + specifier: ^5.62.7 + version: 5.62.7(@tanstack/react-query@5.62.7(react@19.0.0))(react@19.0.0) '@tanstack/react-query-next-experimental': - specifier: 5.62.3 - version: 5.62.3(@tanstack/react-query@5.62.3(react@18.3.1))(next@14.2.20(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.82.0))(react@18.3.1) + specifier: 5.62.7 + version: 5.62.7(@tanstack/react-query@5.62.7(react@19.0.0))(next@14.2.20(@babel/core@7.26.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(sass@1.83.0))(react@19.0.0) '@trpc/client': specifier: next - version: 11.0.0-rc.657(@trpc/server@11.0.0-rc.657(typescript@5.7.2))(typescript@5.7.2) + version: 11.0.0-rc.660(@trpc/server@11.0.0-rc.660(typescript@5.7.2))(typescript@5.7.2) '@trpc/next': specifier: next - version: 11.0.0-rc.657(@tanstack/react-query@5.62.3(react@18.3.1))(@trpc/client@11.0.0-rc.657(@trpc/server@11.0.0-rc.657(typescript@5.7.2))(typescript@5.7.2))(@trpc/react-query@11.0.0-rc.657(@tanstack/react-query@5.62.3(react@18.3.1))(@trpc/client@11.0.0-rc.657(@trpc/server@11.0.0-rc.657(typescript@5.7.2))(typescript@5.7.2))(@trpc/server@11.0.0-rc.657(typescript@5.7.2))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.2))(@trpc/server@11.0.0-rc.657(typescript@5.7.2))(next@14.2.20(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.82.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.2) + version: 11.0.0-rc.660(@tanstack/react-query@5.62.7(react@19.0.0))(@trpc/client@11.0.0-rc.660(@trpc/server@11.0.0-rc.660(typescript@5.7.2))(typescript@5.7.2))(@trpc/react-query@11.0.0-rc.660(@tanstack/react-query@5.62.7(react@19.0.0))(@trpc/client@11.0.0-rc.660(@trpc/server@11.0.0-rc.660(typescript@5.7.2))(typescript@5.7.2))(@trpc/server@11.0.0-rc.660(typescript@5.7.2))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.2))(@trpc/server@11.0.0-rc.660(typescript@5.7.2))(next@14.2.20(@babel/core@7.26.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(sass@1.83.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.2) '@trpc/react-query': specifier: next - version: 11.0.0-rc.657(@tanstack/react-query@5.62.3(react@18.3.1))(@trpc/client@11.0.0-rc.657(@trpc/server@11.0.0-rc.657(typescript@5.7.2))(typescript@5.7.2))(@trpc/server@11.0.0-rc.657(typescript@5.7.2))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.2) + version: 11.0.0-rc.660(@tanstack/react-query@5.62.7(react@19.0.0))(@trpc/client@11.0.0-rc.660(@trpc/server@11.0.0-rc.660(typescript@5.7.2))(typescript@5.7.2))(@trpc/server@11.0.0-rc.660(typescript@5.7.2))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.2) '@trpc/server': specifier: next - version: 11.0.0-rc.657(typescript@5.7.2) + version: 11.0.0-rc.660(typescript@5.7.2) '@xterm/addon-canvas': specifier: ^0.7.0 version: 0.7.0(@xterm/xterm@5.5.0) @@ -195,13 +195,13 @@ importers: version: 11.0.0 jotai: specifier: ^2.10.3 - version: 2.10.3(@types/react@18.3.13)(react@18.3.1) + version: 2.10.3(@types/react@19.0.1)(react@19.0.0) mantine-react-table: specifier: 2.0.0-beta.7 - version: 2.0.0-beta.7(@mantine/core@7.14.3(@mantine/hooks@7.14.3(react@18.3.1))(@types/react@18.3.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mantine/dates@7.14.3(@mantine/core@7.14.3(@mantine/hooks@7.14.3(react@18.3.1))(@types/react@18.3.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mantine/hooks@7.14.3(react@18.3.1))(dayjs@1.11.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mantine/hooks@7.14.3(react@18.3.1))(@tabler/icons-react@3.24.0(react@18.3.1))(clsx@2.1.1)(dayjs@1.11.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 2.0.0-beta.7(@mantine/core@7.15.1(@mantine/hooks@7.15.1(react@19.0.0))(@types/react@19.0.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(@mantine/dates@7.15.1(@mantine/core@7.15.1(@mantine/hooks@7.15.1(react@19.0.0))(@types/react@19.0.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(@mantine/hooks@7.15.1(react@19.0.0))(dayjs@1.11.13)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(@mantine/hooks@7.15.1(react@19.0.0))(@tabler/icons-react@3.24.0(react@19.0.0))(clsx@2.1.1)(dayjs@1.11.13)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) next: specifier: ^14.2.20 - version: 14.2.20(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.82.0) + version: 14.2.20(@babel/core@7.26.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(sass@1.83.0) postcss-preset-mantine: specifier: ^1.17.0 version: 1.17.0(postcss@8.4.47) @@ -209,29 +209,29 @@ importers: specifier: ^1.29.0 version: 1.29.0 react: - specifier: ^18.3.1 - version: 18.3.1 + specifier: ^19.0.0 + version: 19.0.0 react-dom: - specifier: ^18.3.1 - version: 18.3.1(react@18.3.1) + specifier: ^19.0.0 + version: 19.0.0(react@19.0.0) react-error-boundary: specifier: ^4.1.2 - version: 4.1.2(react@18.3.1) + version: 4.1.2(react@19.0.0) react-simple-code-editor: specifier: ^0.14.1 - version: 0.14.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 0.14.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0) sass: - specifier: ^1.82.0 - version: 1.82.0 + specifier: ^1.83.0 + version: 1.83.0 superjson: specifier: 2.2.2 version: 2.2.2 swagger-ui-react: specifier: ^5.18.2 - version: 5.18.2(@types/react@18.3.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 5.18.2(@types/react@19.0.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) use-deep-compare-effect: specifier: ^1.8.1 - version: 1.8.1(react@18.3.1) + version: 1.8.1(react@19.0.0) devDependencies: '@homarr/eslint-config': specifier: workspace:^0.2.0 @@ -246,17 +246,17 @@ importers: specifier: 2.4.4 version: 2.4.4 '@types/node': - specifier: ^22.10.1 - version: 22.10.1 + specifier: ^22.10.2 + version: 22.10.2 '@types/prismjs': specifier: ^1.26.5 version: 1.26.5 '@types/react': - specifier: ^18.3.13 - version: 18.3.13 + specifier: ^19.0.1 + version: 19.0.1 '@types/react-dom': - specifier: ^18.3.1 - version: 18.3.1 + specifier: ^19.0.2 + version: 19.0.2(@types/react@19.0.1) '@types/swagger-ui-react': specifier: ^4.18.3 version: 4.18.3 @@ -346,8 +346,8 @@ importers: specifier: workspace:^0.1.0 version: link:../../tooling/typescript '@types/node': - specifier: ^22.10.1 - version: 22.10.1 + specifier: ^22.10.2 + version: 22.10.2 dotenv-cli: specifier: ^7.4.4 version: 7.4.4 @@ -508,28 +508,28 @@ importers: version: link:../validation '@trpc/client': specifier: next - version: 11.0.0-rc.657(@trpc/server@11.0.0-rc.657(typescript@5.7.2))(typescript@5.7.2) + version: 11.0.0-rc.660(@trpc/server@11.0.0-rc.660(typescript@5.7.2))(typescript@5.7.2) '@trpc/react-query': specifier: next - version: 11.0.0-rc.657(@tanstack/react-query@5.62.3(react@18.3.1))(@trpc/client@11.0.0-rc.657(@trpc/server@11.0.0-rc.657(typescript@5.7.2))(typescript@5.7.2))(@trpc/server@11.0.0-rc.657(typescript@5.7.2))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.2) + version: 11.0.0-rc.660(@tanstack/react-query@5.62.7(react@19.0.0))(@trpc/client@11.0.0-rc.660(@trpc/server@11.0.0-rc.660(typescript@5.7.2))(typescript@5.7.2))(@trpc/server@11.0.0-rc.660(typescript@5.7.2))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.2) '@trpc/server': specifier: next - version: 11.0.0-rc.657(typescript@5.7.2) + version: 11.0.0-rc.660(typescript@5.7.2) dockerode: specifier: ^4.0.2 version: 4.0.2 next: specifier: ^14.2.20 - version: 14.2.20(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.82.0) + version: 14.2.20(@babel/core@7.26.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(sass@1.83.0) react: - specifier: ^18.3.1 - version: 18.3.1 + specifier: ^19.0.0 + version: 19.0.0 superjson: specifier: 2.2.2 version: 2.2.2 trpc-to-openapi: specifier: ^2.1.0 - version: 2.1.0(@trpc/server@11.0.0-rc.657(typescript@5.7.2))(zod-openapi@2.19.0(zod@3.23.8))(zod@3.23.8) + version: 2.1.0(@trpc/server@11.0.0-rc.660(typescript@5.7.2))(zod-openapi@2.19.0(zod@3.24.1))(zod@3.24.1) devDependencies: '@homarr/eslint-config': specifier: workspace:^0.2.0 @@ -578,7 +578,7 @@ importers: version: link:../validation '@t3-oss/env-nextjs': specifier: ^0.11.1 - version: 0.11.1(typescript@5.7.2)(zod@3.23.8) + version: 0.11.1(typescript@5.7.2)(zod@3.24.1) bcrypt: specifier: ^5.1.1 version: 5.1.1 @@ -590,16 +590,16 @@ importers: version: 7.2.2 next: specifier: ^14.2.20 - version: 14.2.20(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.82.0) + version: 14.2.20(@babel/core@7.26.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(sass@1.83.0) next-auth: specifier: 5.0.0-beta.25 - version: 5.0.0-beta.25(next@14.2.20(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.82.0))(react@18.3.1) + version: 5.0.0-beta.25(next@14.2.20(@babel/core@7.26.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(sass@1.83.0))(react@19.0.0) react: - specifier: ^18.3.1 - version: 18.3.1 + specifier: ^19.0.0 + version: 19.0.0 react-dom: - specifier: ^18.3.1 - version: 18.3.1(react@18.3.1) + specifier: ^19.0.0 + version: 19.0.0(react@19.0.0) devDependencies: '@homarr/eslint-config': specifier: workspace:^0.2.0 @@ -670,13 +670,13 @@ importers: version: 1.11.13 next: specifier: ^14.2.20 - version: 14.2.20(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.82.0) + version: 14.2.20(@babel/core@7.26.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(sass@1.83.0) react: - specifier: ^18.3.1 - version: 18.3.1 + specifier: ^19.0.0 + version: 19.0.0 tldts: - specifier: ^6.1.65 - version: 6.1.65 + specifier: ^6.1.67 + version: 6.1.67 devDependencies: '@homarr/eslint-config': specifier: workspace:^0.2.0 @@ -866,20 +866,20 @@ importers: specifier: ^10.16.0 version: 10.16.0 better-sqlite3: - specifier: ^11.6.0 - version: 11.6.0 + specifier: ^11.7.0 + version: 11.7.0 dotenv: specifier: ^16.4.7 version: 16.4.7 drizzle-kit: - specifier: ^0.29.1 - version: 0.29.1 + specifier: ^0.30.1 + version: 0.30.1 drizzle-orm: - specifier: ^0.37.0 - version: 0.37.0(@libsql/client-wasm@0.14.0)(@types/better-sqlite3@7.6.12)(@types/react@18.3.13)(better-sqlite3@11.6.0)(mysql2@3.11.5)(react@18.3.1) + specifier: ^0.38.1 + version: 0.38.1(@libsql/client-wasm@0.14.0)(@types/better-sqlite3@7.6.12)(@types/react@19.0.1)(better-sqlite3@11.7.0)(mysql2@3.11.5)(react@19.0.0) drizzle-zod: - specifier: ^0.5.1 - version: 0.5.1(drizzle-orm@0.37.0(@libsql/client-wasm@0.14.0)(@types/better-sqlite3@7.6.12)(@types/react@18.3.13)(better-sqlite3@11.6.0)(mysql2@3.11.5)(react@18.3.1))(zod@3.23.8) + specifier: ^0.6.0 + version: 0.6.0(drizzle-orm@0.38.1(@libsql/client-wasm@0.14.0)(@types/better-sqlite3@7.6.12)(@types/react@19.0.1)(better-sqlite3@11.7.0)(mysql2@3.11.5)(react@19.0.0))(zod@3.24.1) mysql2: specifier: 3.11.5 version: 3.11.5 @@ -943,8 +943,8 @@ importers: specifier: workspace:^0.1.0 version: link:../validation '@mantine/form': - specifier: ^7.14.3 - version: 7.14.3(react@18.3.1) + specifier: ^7.15.1 + version: 7.15.1(react@19.0.0) devDependencies: '@homarr/eslint-config': specifier: workspace:^0.2.0 @@ -1085,14 +1085,14 @@ importers: specifier: workspace:^0.1.0 version: link:../ui '@mantine/core': - specifier: ^7.14.3 - version: 7.14.3(@mantine/hooks@7.14.3(react@18.3.1))(@types/react@18.3.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: ^7.15.1 + version: 7.15.1(@mantine/hooks@7.15.1(react@19.0.0))(@types/react@18.3.13)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@mantine/hooks': - specifier: ^7.14.3 - version: 7.14.3(react@18.3.1) + specifier: ^7.15.1 + version: 7.15.1(react@19.0.0) react: - specifier: ^18.3.1 - version: 18.3.1 + specifier: ^19.0.0 + version: 19.0.0 devDependencies: '@homarr/eslint-config': specifier: workspace:^0.2.0 @@ -1140,20 +1140,20 @@ importers: specifier: workspace:^0.1.0 version: link:../validation '@mantine/core': - specifier: ^7.14.3 - version: 7.14.3(@mantine/hooks@7.14.3(react@18.3.1))(@types/react@18.3.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: ^7.15.1 + version: 7.15.1(@mantine/hooks@7.15.1(react@19.0.0))(@types/react@18.3.13)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@tabler/icons-react': specifier: ^3.24.0 - version: 3.24.0(react@18.3.1) + version: 3.24.0(react@19.0.0) dayjs: specifier: ^1.11.13 version: 1.11.13 next: specifier: ^14.2.20 - version: 14.2.20(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.82.0) + version: 14.2.20(@babel/core@7.26.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(sass@1.83.0) react: - specifier: ^18.3.1 - version: 18.3.1 + specifier: ^19.0.0 + version: 19.0.0 devDependencies: '@homarr/eslint-config': specifier: workspace:^0.2.0 @@ -1177,11 +1177,11 @@ importers: specifier: workspace:^0.1.0 version: link:../ui '@mantine/notifications': - specifier: ^7.14.3 - version: 7.14.3(@mantine/core@7.14.3(@mantine/hooks@7.14.3(react@18.3.1))(@types/react@18.3.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mantine/hooks@7.14.3(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: ^7.15.1 + version: 7.15.1(@mantine/core@7.15.1(@mantine/hooks@7.15.1(react@19.0.0))(@types/react@18.3.13)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(@mantine/hooks@7.15.1(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@tabler/icons-react': specifier: ^3.24.0 - version: 3.24.0(react@18.3.1) + version: 3.24.0(react@19.0.0) devDependencies: '@homarr/eslint-config': specifier: workspace:^0.2.0 @@ -1242,8 +1242,8 @@ importers: packages/old-schema: dependencies: zod: - specifier: ^3.23.8 - version: 3.23.8 + specifier: ^3.24.1 + version: 3.24.1 devDependencies: '@homarr/eslint-config': specifier: workspace:^0.2.0 @@ -1424,29 +1424,29 @@ importers: specifier: workspace:^0.1.0 version: link:../ui '@mantine/core': - specifier: ^7.14.3 - version: 7.14.3(@mantine/hooks@7.14.3(react@18.3.1))(@types/react@18.3.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: ^7.15.1 + version: 7.15.1(@mantine/hooks@7.15.1(react@19.0.0))(@types/react@18.3.13)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@mantine/hooks': - specifier: ^7.14.3 - version: 7.14.3(react@18.3.1) + specifier: ^7.15.1 + version: 7.15.1(react@19.0.0) '@mantine/spotlight': - specifier: ^7.14.3 - version: 7.14.3(@mantine/core@7.14.3(@mantine/hooks@7.14.3(react@18.3.1))(@types/react@18.3.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mantine/hooks@7.14.3(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: ^7.15.1 + version: 7.15.1(@mantine/core@7.15.1(@mantine/hooks@7.15.1(react@19.0.0))(@types/react@18.3.13)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(@mantine/hooks@7.15.1(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@tabler/icons-react': specifier: ^3.24.0 - version: 3.24.0(react@18.3.1) + version: 3.24.0(react@19.0.0) jotai: specifier: ^2.10.3 - version: 2.10.3(@types/react@18.3.13)(react@18.3.1) + version: 2.10.3(@types/react@18.3.13)(react@19.0.0) next: specifier: ^14.2.20 - version: 14.2.20(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.82.0) + version: 14.2.20(@babel/core@7.26.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(sass@1.83.0) react: - specifier: ^18.3.1 - version: 18.3.1 + specifier: ^19.0.0 + version: 19.0.0 use-deep-compare-effect: specifier: ^1.8.1 - version: 1.8.1(react@18.3.1) + version: 1.8.1(react@19.0.0) devDependencies: '@homarr/eslint-config': specifier: workspace:^0.2.0 @@ -1480,16 +1480,16 @@ importers: version: 4.3.1 mantine-react-table: specifier: 2.0.0-beta.7 - version: 2.0.0-beta.7(@mantine/core@7.14.3(@mantine/hooks@7.14.3(react@18.3.1))(@types/react@18.3.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mantine/dates@7.14.3(@mantine/core@7.14.3(@mantine/hooks@7.14.3(react@18.3.1))(@types/react@18.3.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mantine/hooks@7.14.3(react@18.3.1))(dayjs@1.11.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mantine/hooks@7.14.3(react@18.3.1))(@tabler/icons-react@3.24.0(react@18.3.1))(clsx@2.1.1)(dayjs@1.11.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 2.0.0-beta.7(@mantine/core@7.15.1(@mantine/hooks@7.15.1(react@19.0.0))(@types/react@18.3.13)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(@mantine/dates@7.15.1(@mantine/core@7.15.1(@mantine/hooks@7.15.1(react@19.0.0))(@types/react@18.3.13)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(@mantine/hooks@7.15.1(react@19.0.0))(dayjs@1.11.13)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(@mantine/hooks@7.15.1(react@19.0.0))(@tabler/icons-react@3.24.0(react@19.0.0))(clsx@2.1.1)(dayjs@1.11.13)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) next: specifier: ^14.2.20 - version: 14.2.20(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.82.0) + version: 14.2.20(@babel/core@7.26.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(sass@1.83.0) next-intl: - specifier: 3.26.0 - version: 3.26.0(next@14.2.20(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.82.0))(react@18.3.1) + specifier: 3.26.1 + version: 3.26.1(next@14.2.20(@babel/core@7.26.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(sass@1.83.0))(react@19.0.0) react: - specifier: ^18.3.1 - version: 18.3.1 + specifier: ^19.0.0 + version: 19.0.0 devDependencies: '@homarr/eslint-config': specifier: workspace:^0.2.0 @@ -1525,26 +1525,26 @@ importers: specifier: workspace:^0.1.0 version: link:../validation '@mantine/core': - specifier: ^7.14.3 - version: 7.14.3(@mantine/hooks@7.14.3(react@18.3.1))(@types/react@18.3.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: ^7.15.1 + version: 7.15.1(@mantine/hooks@7.15.1(react@19.0.0))(@types/react@18.3.13)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@mantine/dates': - specifier: ^7.14.3 - version: 7.14.3(@mantine/core@7.14.3(@mantine/hooks@7.14.3(react@18.3.1))(@types/react@18.3.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mantine/hooks@7.14.3(react@18.3.1))(dayjs@1.11.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: ^7.15.1 + version: 7.15.1(@mantine/core@7.15.1(@mantine/hooks@7.15.1(react@19.0.0))(@types/react@18.3.13)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(@mantine/hooks@7.15.1(react@19.0.0))(dayjs@1.11.13)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@mantine/hooks': - specifier: ^7.14.3 - version: 7.14.3(react@18.3.1) + specifier: ^7.15.1 + version: 7.15.1(react@19.0.0) '@tabler/icons-react': specifier: ^3.24.0 - version: 3.24.0(react@18.3.1) + version: 3.24.0(react@19.0.0) mantine-react-table: specifier: 2.0.0-beta.7 - version: 2.0.0-beta.7(@mantine/core@7.14.3(@mantine/hooks@7.14.3(react@18.3.1))(@types/react@18.3.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mantine/dates@7.14.3(@mantine/core@7.14.3(@mantine/hooks@7.14.3(react@18.3.1))(@types/react@18.3.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mantine/hooks@7.14.3(react@18.3.1))(dayjs@1.11.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mantine/hooks@7.14.3(react@18.3.1))(@tabler/icons-react@3.24.0(react@18.3.1))(clsx@2.1.1)(dayjs@1.11.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 2.0.0-beta.7(@mantine/core@7.15.1(@mantine/hooks@7.15.1(react@19.0.0))(@types/react@18.3.13)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(@mantine/dates@7.15.1(@mantine/core@7.15.1(@mantine/hooks@7.15.1(react@19.0.0))(@types/react@18.3.13)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(@mantine/hooks@7.15.1(react@19.0.0))(dayjs@1.11.13)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(@mantine/hooks@7.15.1(react@19.0.0))(@tabler/icons-react@3.24.0(react@19.0.0))(clsx@2.1.1)(dayjs@1.11.13)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) next: specifier: ^14.2.20 - version: 14.2.20(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.82.0) + version: 14.2.20(@babel/core@7.26.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(sass@1.83.0) react: - specifier: ^18.3.1 - version: 18.3.1 + specifier: ^19.0.0 + version: 19.0.0 devDependencies: '@homarr/eslint-config': specifier: workspace:^0.2.0 @@ -1577,11 +1577,11 @@ importers: specifier: workspace:^0.1.0 version: link:../translation zod: - specifier: ^3.23.8 - version: 3.23.8 + specifier: ^3.24.1 + version: 3.24.1 zod-form-data: specifier: ^2.0.2 - version: 2.0.2(zod@3.23.8) + version: 2.0.2(zod@3.24.1) devDependencies: '@homarr/eslint-config': specifier: workspace:^0.2.0 @@ -1603,10 +1603,10 @@ importers: dependencies: '@dnd-kit/core': specifier: ^6.3.1 - version: 6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 6.3.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@dnd-kit/sortable': specifier: ^10.0.0 - version: 10.0.0(@dnd-kit/core@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1) + version: 10.0.0(@dnd-kit/core@6.3.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react@19.0.0) '@extractus/feed-extractor': specifier: ^7.1.3 version: 7.1.3 @@ -1653,14 +1653,14 @@ importers: specifier: workspace:^0.1.0 version: link:../validation '@mantine/core': - specifier: ^7.14.3 - version: 7.14.3(@mantine/hooks@7.14.3(react@18.3.1))(@types/react@18.3.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: ^7.15.1 + version: 7.15.1(@mantine/hooks@7.15.1(react@19.0.0))(@types/react@18.3.13)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@mantine/hooks': - specifier: ^7.14.3 - version: 7.14.3(react@18.3.1) + specifier: ^7.15.1 + version: 7.15.1(react@19.0.0) '@tabler/icons-react': specifier: ^3.24.0 - version: 3.24.0(react@18.3.1) + version: 3.24.0(react@19.0.0) '@tiptap/extension-color': specifier: 2.10.3 version: 2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))(@tiptap/extension-text-style@2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))) @@ -1702,7 +1702,7 @@ importers: version: 2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3)) '@tiptap/react': specifier: ^2.10.3 - version: 2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))(@tiptap/pm@2.10.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))(@tiptap/pm@2.10.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@tiptap/starter-kit': specifier: ^2.10.3 version: 2.10.3 @@ -1714,13 +1714,13 @@ importers: version: 1.11.13 mantine-react-table: specifier: 2.0.0-beta.7 - version: 2.0.0-beta.7(@mantine/core@7.14.3(@mantine/hooks@7.14.3(react@18.3.1))(@types/react@18.3.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mantine/dates@7.14.3(@mantine/core@7.14.3(@mantine/hooks@7.14.3(react@18.3.1))(@types/react@18.3.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mantine/hooks@7.14.3(react@18.3.1))(dayjs@1.11.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mantine/hooks@7.14.3(react@18.3.1))(@tabler/icons-react@3.24.0(react@18.3.1))(clsx@2.1.1)(dayjs@1.11.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 2.0.0-beta.7(@mantine/core@7.15.1(@mantine/hooks@7.15.1(react@19.0.0))(@types/react@18.3.13)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(@mantine/dates@7.15.1(@mantine/core@7.15.1(@mantine/hooks@7.15.1(react@19.0.0))(@types/react@18.3.13)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(@mantine/hooks@7.15.1(react@19.0.0))(dayjs@1.11.13)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(@mantine/hooks@7.15.1(react@19.0.0))(@tabler/icons-react@3.24.0(react@19.0.0))(clsx@2.1.1)(dayjs@1.11.13)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) next: specifier: ^14.2.20 - version: 14.2.20(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.82.0) + version: 14.2.20(@babel/core@7.26.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(sass@1.83.0) react: - specifier: ^18.3.1 - version: 18.3.1 + specifier: ^19.0.0 + version: 19.0.0 video.js: specifier: ^8.21.0 version: 8.21.0 @@ -1757,7 +1757,7 @@ importers: version: 2.3.3(eslint@9.16.0) eslint-plugin-import: specifier: ^2.31.0 - version: 2.31.0(@typescript-eslint/parser@8.17.0(eslint@9.16.0)(typescript@5.7.2))(eslint@9.16.0) + version: 2.31.0(@typescript-eslint/parser@8.18.0(eslint@9.16.0)(typescript@5.7.2))(eslint@9.16.0) eslint-plugin-jsx-a11y: specifier: ^6.10.2 version: 6.10.2(eslint@9.16.0) @@ -1768,8 +1768,8 @@ importers: specifier: ^5.1.0 version: 5.1.0(eslint@9.16.0) typescript-eslint: - specifier: ^8.17.0 - version: 8.17.0(eslint@9.16.0)(typescript@5.7.2) + specifier: ^8.18.0 + version: 8.18.0(eslint@9.16.0)(typescript@5.7.2) devDependencies: '@homarr/prettier-config': specifier: workspace:^0.1.0 @@ -2889,71 +2889,71 @@ packages: '@libsql/core@0.14.0': resolution: {integrity: sha512-nhbuXf7GP3PSZgdCY2Ecj8vz187ptHlZQ0VRc751oB2C1W8jQUXKKklvt7t1LJiUTQBVJuadF628eUk+3cRi4Q==} - '@mantine/colors-generator@7.14.3': - resolution: {integrity: sha512-4A37xzSpsa0IC1Mz7g0W4iGJOu6ooSnckOmsiGHf4zTKh4gT6MBR5VOfRH8f3XmmojCGKm9tbIQRLXQTq9rmzQ==} + '@mantine/colors-generator@7.15.1': + resolution: {integrity: sha512-xhzJ9HfjOVUH5Y5E5xQX3jepB6pA+gZEAMZtvR7YMPH4akgS0NbJuYuF+A8Cq55rLw58vPTtc3nf6ntfyoCk/w==} peerDependencies: chroma-js: '>=2.4.2' - '@mantine/core@7.14.3': - resolution: {integrity: sha512-niAi+ZYBr4KrG+X2Mx+muvEzUOOHc/Rx0vsbIGYeNe7urwHSm/xNEGsaapmCqeRC0CSL4KI6TJOq8QhnSuQZcw==} + '@mantine/core@7.15.1': + resolution: {integrity: sha512-MKHrByqgpu+vzhauX0X9EH+BOgJqyjHwk4E0sfIIX9CXC9pziLMc4aL8pua0KaXiRuQiskTl/DuGX31saHBH5g==} peerDependencies: - '@mantine/hooks': 7.14.3 + '@mantine/hooks': 7.15.1 react: ^18.x || ^19.x react-dom: ^18.x || ^19.x - '@mantine/dates@7.14.3': - resolution: {integrity: sha512-vE+eCbGkas4h1DP6og9nnatL/cBJUvDu0v5+ZH4YdI8mBpjuxmabvbGrpLoWuKocQOFdyCzrlYFQF8ai0jXABg==} + '@mantine/dates@7.15.1': + resolution: {integrity: sha512-3WXTq841Em4+e1VLm+t+1mQvfgNkgIAN8/puGg7lljf+Nl6moiI1qekjE1lg2q8EkqI+5uUOgLamlOYX411j5g==} peerDependencies: - '@mantine/core': 7.14.3 - '@mantine/hooks': 7.14.3 + '@mantine/core': 7.15.1 + '@mantine/hooks': 7.15.1 dayjs: '>=1.0.0' react: ^18.x || ^19.x react-dom: ^18.x || ^19.x - '@mantine/form@7.14.3': - resolution: {integrity: sha512-NquXVQz3IRCT5WTWCEdQjQzThMj7FpX/u0PDD+8XydiMPB7zJGPM9IdV88mWDI2ghT9vS6rBn22XWjTYsKa8+A==} + '@mantine/form@7.15.1': + resolution: {integrity: sha512-DA2syNlPsG1f+UtnbEG+pf4Pc/DoZUgcdvZn3LsCRxJZYNuwz8qQ16oL/wQ6UIk3klGlJI/RDzRJ9rvn6E28YQ==} peerDependencies: react: ^18.x || ^19.x - '@mantine/hooks@7.14.3': - resolution: {integrity: sha512-cU3R9b8GLs6aCvpsVC56ZOOJCUIoDqX3RcLWkcfpA5a47LjWa/rzegP4YWfNW6/E9vodPJT4AEbYXVffYlyNwA==} + '@mantine/hooks@7.15.1': + resolution: {integrity: sha512-jrpjA5JhVSgUi0expfZpvNplMgvwdvrCIcKiDjQ16p/KiWngvTVfmJMtBOVxQ6hWrn500nLmZIDEcTmV9Dvb7g==} peerDependencies: react: ^18.x || ^19.x - '@mantine/modals@7.14.3': - resolution: {integrity: sha512-wn2eMSROG7bPbeSH2OnTp8iVv1wH9L9tLeBt88mTEXLg3vIPfQtWD9g/kFrjhoCjygYYtyJeqMQFYPUkHQMXDw==} + '@mantine/modals@7.15.1': + resolution: {integrity: sha512-mKlnzkwqOHO1laeVfILbcPLITF2qRwKbf/aF3GZhHiJVTX0aSEQ5IBL7dBQHhETLsfNp/GLzmOHKyw3zdNUS5g==} peerDependencies: - '@mantine/core': 7.14.3 - '@mantine/hooks': 7.14.3 + '@mantine/core': 7.15.1 + '@mantine/hooks': 7.15.1 react: ^18.x || ^19.x react-dom: ^18.x || ^19.x - '@mantine/notifications@7.14.3': - resolution: {integrity: sha512-7N9u4upi1On8TL94UvrUNhpDGxp1sAkbcgiNcu6zhvy4j29TPFapoXB5CRE9zzjAf3CYq3AigE96bXlCDm9xuQ==} + '@mantine/notifications@7.15.1': + resolution: {integrity: sha512-HcaePf1Ss0PuLugEsa57w8w5mxh9d/ZeByqn96DXWsN0HtRZ+ElqSFO9nY6G2zQGV7AzB0fqQXhGX4ffdz5zuA==} peerDependencies: - '@mantine/core': 7.14.3 - '@mantine/hooks': 7.14.3 + '@mantine/core': 7.15.1 + '@mantine/hooks': 7.15.1 react: ^18.x || ^19.x react-dom: ^18.x || ^19.x - '@mantine/spotlight@7.14.3': - resolution: {integrity: sha512-+WIJJr/KP0tSEyYNkS0x71gnuwSUquuj0GtPvKNH4OY4mLnMnfYDlkdpLVfakXM2P3qKRUMsbM475SVIEXaqJw==} + '@mantine/spotlight@7.15.1': + resolution: {integrity: sha512-PtAmuALGrprxjA5NKLYPzvLvlxfC473WI32RF6gPODfZIS8LMSLue+sNuCIDQKeQKNnJOKwatXHH2X/TDGno7w==} peerDependencies: - '@mantine/core': 7.14.3 - '@mantine/hooks': 7.14.3 + '@mantine/core': 7.15.1 + '@mantine/hooks': 7.15.1 react: ^18.x || ^19.x react-dom: ^18.x || ^19.x - '@mantine/store@7.14.3': - resolution: {integrity: sha512-o15vbTUNlLqD/yLOtEClnc4fY2ONDaCZiaL9REUy0xhCDbVTeeqnu9BV604yuym50ZH5mhMHix1TX3K9vGsWvA==} + '@mantine/store@7.15.1': + resolution: {integrity: sha512-+jwsCE0x0BoeNYhto/Y9PQtHu86BxBNsc3Jw+dNwPP2oeVCbpspopHN+JsTrLR9ZCvsy8N8hxOX7T3ZUGZLYFQ==} peerDependencies: react: ^18.x || ^19.x - '@mantine/tiptap@7.14.3': - resolution: {integrity: sha512-3bWMtohuW1/8EpU2cWlayWL2TUFJwTww8N21mBS7TO17aO34B9enpFZ1qoyeINQBka+PMMaofFeKjdvNIpCb0g==} + '@mantine/tiptap@7.15.1': + resolution: {integrity: sha512-Y2uF4QoKSjMb1b/GmWWwIaXdKrmfdu3qTB7CA21ulONCfm81S13pNtbYYaqk4IR/O2WhQZ2x0UVoGou/VVcMCg==} peerDependencies: - '@mantine/core': 7.14.3 - '@mantine/hooks': 7.14.3 + '@mantine/core': 7.15.1 + '@mantine/hooks': 7.15.1 '@tiptap/extension-link': '>=2.1.12' '@tiptap/react': '>=2.1.12' react: ^18.x || ^19.x @@ -2963,12 +2963,12 @@ packages: resolution: {integrity: sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ==} hasBin: true - '@million/install@1.0.13': - resolution: {integrity: sha512-gFslYuzCem83FHMo4ZIWXmRWmyABXmTBQxodwnP4AeWtLjdvymOp8JB5+b/A4eZX79heFZuw9eqBpERo9zgvtg==} + '@million/install@1.0.14': + resolution: {integrity: sha512-xZvj4AEHc5hyn8RCiLl9dYNqggj2fa0lgNvUkCiJyhRJPNE2hZrUa/Ka0Weu82VpBaO//zujG0YErk7osjNXPA==} hasBin: true - '@million/lint@1.0.13': - resolution: {integrity: sha512-jYQMz0GK5FzfwsQZDxs58V2GeUPqma9af7vkLVrdKHzXTpV1cVXxIjSL8+rvDM8iuzVA2BEtunZ0k3bIYAmvIA==} + '@million/lint@1.0.14': + resolution: {integrity: sha512-u6/kglVwZRu5+GMmtkNlGLqJVkgTl0TtM+hLa9rBg7pldx+5NG5bk45NvL37uZmAr2Xfa1C6qHb7GrFwfP372g==} hasBin: true '@next/env@14.2.20': @@ -3384,27 +3384,27 @@ packages: resolution: {integrity: sha512-Wo1iKt2b9OT7d+YGhvEPD3DXvPv2etTusIMhMUoG7fbhmxcXCtIjJDEygy91Y2JFlwGyjqiBPRozme7UD8hoqg==} engines: {node: '>=12'} - '@tanstack/query-core@5.62.3': - resolution: {integrity: sha512-Jp/nYoz8cnO7kqhOlSv8ke/0MJRJVGuZ0P/JO9KQ+f45mpN90hrerzavyTKeSoT/pOzeoOUkv1Xd0wPsxAWXfg==} + '@tanstack/query-core@5.62.7': + resolution: {integrity: sha512-fgpfmwatsrUal6V+8EC2cxZIQVl9xvL7qYa03gsdsCy985UTUlS4N+/3hCzwR0PclYDqisca2AqR1BVgJGpUDA==} '@tanstack/query-devtools@5.61.4': resolution: {integrity: sha512-21Tw+u8E3IJJj4A/Bct4H0uBaDTEu7zBrR79FeSyY+mS2gx5/m316oDtJiKkILc819VSTYt+sFzODoJNcpPqZQ==} - '@tanstack/react-query-devtools@5.62.3': - resolution: {integrity: sha512-4iaQap/iP5ErS094u1WehFntHtjRo6g5HJMvyHovBVbsxnvgPc6AtKAw7qxPPoKy6Wj5Bew0045eYP5phiiBmw==} + '@tanstack/react-query-devtools@5.62.7': + resolution: {integrity: sha512-wxXsdTZJRs//hMtJMU5aNlUaTclRFPqLvDNeWbRj8YpGD3aoo4zyu53W55W2DY16+ycg3fti21uCW4N9oyj91w==} peerDependencies: - '@tanstack/react-query': ^5.62.3 + '@tanstack/react-query': ^5.62.7 react: ^18 || ^19 - '@tanstack/react-query-next-experimental@5.62.3': - resolution: {integrity: sha512-RgYGLIb12alB6Yd3StknzKcWOpPerPCfNtlp69TiDRLrXtHc5L8gPqC5uVqM2lPRoUbj32FrVUmfSEmLhlVl6A==} + '@tanstack/react-query-next-experimental@5.62.7': + resolution: {integrity: sha512-9f+VpQ3P7ta86frcpZVYDcaYCAktQ/ccp7nrNUWdRnHkcVQ/kQJKwGCCxBPoV7/K/PmeWDZDR4COqcQi7bIGnw==} peerDependencies: - '@tanstack/react-query': ^5.62.3 + '@tanstack/react-query': ^5.62.7 next: ^13 || ^14 || ^15 react: ^18 || ^19 - '@tanstack/react-query@5.62.3': - resolution: {integrity: sha512-y2zDNKuhgiuMgsKkqd4AcsLIBiCfEO8U11AdrtAUihmLbRNztPrlcZqx2lH1GacZsx+y1qRRbCcJLYTtF1vKsw==} + '@tanstack/react-query@5.62.7': + resolution: {integrity: sha512-+xCtP4UAFDTlRTYyEjLx0sRtWyr5GIk7TZjZwBu4YaNahi3Rt2oMyRqfpfVrtwsqY2sayP4iXVCwmC+ZqqFmuw==} peerDependencies: react: ^18 || ^19 @@ -3629,19 +3629,19 @@ packages: '@tootallnate/quickjs-emscripten@0.23.0': resolution: {integrity: sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA==} - '@trpc/client@11.0.0-rc.657': - resolution: {integrity: sha512-8NKwucdXH9KN5TTPxBRn/OL+RlNpJTov+6UV55IEhjqqMJCn4PIKM0HKyFC8QzDK0lOqvtPUm+FX+Svuf0KttA==} + '@trpc/client@11.0.0-rc.660': + resolution: {integrity: sha512-bNpkZEfyMGKHynYFxdLpY8nJ1n7E3JHKcd4Pe2cagmpkzOEF9tFT3kzNf+eLI8XMG8196lTRR0J0W2/1Q8/cug==} peerDependencies: - '@trpc/server': 11.0.0-rc.657+7a369faa3 + '@trpc/server': 11.0.0-rc.660+74625d5e4 typescript: '>=5.6.2' - '@trpc/next@11.0.0-rc.657': - resolution: {integrity: sha512-7FKNpueLe0fk3NqU+BH1+9DsgHrKJOY9wyVpQRqXCaBAO7SCi7mbH0VUmjkHDkzkcRTAQHFYwjo9pFHoHioj5g==} + '@trpc/next@11.0.0-rc.660': + resolution: {integrity: sha512-LQHdiVED8h+CJEAy/X9PDmY3fM8VPdZ+3bVkbmEiP4xoNnSKRTbSbknFyRzG9M2AogfIafF4zAZVwOvCxexyGw==} peerDependencies: '@tanstack/react-query': ^5.59.15 - '@trpc/client': 11.0.0-rc.657+7a369faa3 - '@trpc/react-query': 11.0.0-rc.657+7a369faa3 - '@trpc/server': 11.0.0-rc.657+7a369faa3 + '@trpc/client': 11.0.0-rc.660+74625d5e4 + '@trpc/react-query': 11.0.0-rc.660+74625d5e4 + '@trpc/server': 11.0.0-rc.660+74625d5e4 next: '*' react: '>=16.8.0' react-dom: '>=16.8.0' @@ -3652,18 +3652,18 @@ packages: '@trpc/react-query': optional: true - '@trpc/react-query@11.0.0-rc.657': - resolution: {integrity: sha512-nZiH2xHY/NGfD8ql1muVuUicIZmistGXTStwRYrv6yCI4Lf1tSkKwzJKhHddCQf+ch7vA9B26FkL0cxV1JZpCg==} + '@trpc/react-query@11.0.0-rc.660': + resolution: {integrity: sha512-U2BHtYVt+8jt0a8Nrrk5cep8O1UZRxtTCBHtXie9kmJyQWWml43KfHxL5ssnFywaFrDZQz6Ec7kIoOxR/CQNfg==} peerDependencies: '@tanstack/react-query': ^5.59.15 - '@trpc/client': 11.0.0-rc.657+7a369faa3 - '@trpc/server': 11.0.0-rc.657+7a369faa3 + '@trpc/client': 11.0.0-rc.660+74625d5e4 + '@trpc/server': 11.0.0-rc.660+74625d5e4 react: '>=18.2.0' react-dom: '>=18.2.0' typescript: '>=5.6.2' - '@trpc/server@11.0.0-rc.657': - resolution: {integrity: sha512-JaUH0fQM+3HqD2Bz++ut0utf7F/G/38APPkAI1kt6s3FLCNVX8ejmPoiMxW56aVNrOsBqVIRXUSJZl9Qa3CgXw==} + '@trpc/server@11.0.0-rc.660': + resolution: {integrity: sha512-QUapcZCNOpHT7ng9LceGc9ImkboWd0Go9ryrduZpL+p4jdfaC6409AQ3x4XEW6Wu3yBmZAn4CywCsDrDhjDy/w==} peerDependencies: typescript: '>=5.6.2' @@ -3798,8 +3798,8 @@ packages: '@types/node@18.19.50': resolution: {integrity: sha512-xonK+NRrMBRtkL1hVCc3G+uXtjh1Al4opBLjqVmipe5ZAaBYWW6cNAiBVZ1BvmkBhep698rP3UM3aRAdSALuhg==} - '@types/node@22.10.1': - resolution: {integrity: sha512-qKgsUwfHZV2WCWLAnVP1JqnpE6Im6h3Y0+fYgMTasNQ7V++CBX5OT1as0g0f+OyubbFqhf6XVNIsmN4IIhEgGQ==} + '@types/node@22.10.2': + resolution: {integrity: sha512-Xxr6BBRCAOQixvonOye19wnzyDiUtTeqldOOmj3CkeblonbccA12PFwlufvRdrpjXxqnmUaeiU5EOA+7s5diUQ==} '@types/prismjs@1.26.5': resolution: {integrity: sha512-AUZTa7hQ2KY5L7AmtSiqxlhWxb4ina0yd8hNbl4TWuqnv/pFP0nDMb3YrfSBf4hJVGLh2YEIBfKaBW/9UEl6IQ==} @@ -3816,12 +3816,17 @@ packages: '@types/range-parser@1.2.7': resolution: {integrity: sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==} - '@types/react-dom@18.3.1': - resolution: {integrity: sha512-qW1Mfv8taImTthu4KoXgDfLuk4bydU6Q/TkADnDWWHwi4NX4BR+LWfTp2sVmTqRrsHvyDDTelgelxJ+SsejKKQ==} + '@types/react-dom@19.0.2': + resolution: {integrity: sha512-c1s+7TKFaDRRxr1TxccIX2u7sfCnc3RxkVyBIUA2lCpyqCF+QoAwQ/CBg7bsMdVwP120HEH143VQezKtef5nCg==} + peerDependencies: + '@types/react': ^19.0.0 '@types/react@18.3.13': resolution: {integrity: sha512-ii/gswMmOievxAJed4PAHT949bpYjPKXvXo1v6cRB/kqc2ZR4n+SgyCyvyc5Fec5ez8VnUumI1Vk7j6fRyRogg==} + '@types/react@19.0.1': + resolution: {integrity: sha512-YW6614BDhqbpR5KtUYzTA+zlA7nayzJRA9ljz9CQoxthR0sDisYZLuvSMsil36t4EH/uAt8T52Xb4sVw17G+SQ==} + '@types/send@0.17.4': resolution: {integrity: sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==} @@ -3867,66 +3872,51 @@ packages: '@types/xml2js@0.4.14': resolution: {integrity: sha512-4YnrRemBShWRO2QjvUin8ESA41rH+9nQGLUGZV/1IDhi3SL9OhdpNC/MrulTWuptXKwhx/aDxE7toV0f/ypIXQ==} - '@typescript-eslint/eslint-plugin@8.17.0': - resolution: {integrity: sha512-HU1KAdW3Tt8zQkdvNoIijfWDMvdSweFYm4hWh+KwhPstv+sCmWb89hCIP8msFm9N1R/ooh9honpSuvqKWlYy3w==} + '@typescript-eslint/eslint-plugin@8.18.0': + resolution: {integrity: sha512-NR2yS7qUqCL7AIxdJUQf2MKKNDVNaig/dEB0GBLU7D+ZdHgK1NoH/3wsgO3OnPVipn51tG3MAwaODEGil70WEw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: '@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0 eslint: ^8.57.0 || ^9.0.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true + typescript: '>=4.8.4 <5.8.0' - '@typescript-eslint/parser@8.17.0': - resolution: {integrity: sha512-Drp39TXuUlD49F7ilHHCG7TTg8IkA+hxCuULdmzWYICxGXvDXmDmWEjJYZQYgf6l/TFfYNE167m7isnc3xlIEg==} + '@typescript-eslint/parser@8.18.0': + resolution: {integrity: sha512-hgUZ3kTEpVzKaK3uNibExUYm6SKKOmTU2BOxBSvOYwtJEPdVQ70kZJpPjstlnhCHcuc2WGfSbpKlb/69ttyN5Q==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true + typescript: '>=4.8.4 <5.8.0' - '@typescript-eslint/scope-manager@8.17.0': - resolution: {integrity: sha512-/ewp4XjvnxaREtqsZjF4Mfn078RD/9GmiEAtTeLQ7yFdKnqwTOgRMSvFz4et9U5RiJQ15WTGXPLj89zGusvxBg==} + '@typescript-eslint/scope-manager@8.18.0': + resolution: {integrity: sha512-PNGcHop0jkK2WVYGotk/hxj+UFLhXtGPiGtiaWgVBVP1jhMoMCHlTyJA+hEj4rszoSdLTK3fN4oOatrL0Cp+Xw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/type-utils@8.17.0': - resolution: {integrity: sha512-q38llWJYPd63rRnJ6wY/ZQqIzPrBCkPdpIsaCfkR3Q4t3p6sb422zougfad4TFW9+ElIFLVDzWGiGAfbb/v2qw==} + '@typescript-eslint/type-utils@8.18.0': + resolution: {integrity: sha512-er224jRepVAVLnMF2Q7MZJCq5CsdH2oqjP4dT7K6ij09Kyd+R21r7UVJrF0buMVdZS5QRhDzpvzAxHxabQadow==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true + typescript: '>=4.8.4 <5.8.0' - '@typescript-eslint/types@8.17.0': - resolution: {integrity: sha512-gY2TVzeve3z6crqh2Ic7Cr+CAv6pfb0Egee7J5UAVWCpVvDI/F71wNfolIim4FE6hT15EbpZFVUj9j5i38jYXA==} + '@typescript-eslint/types@8.18.0': + resolution: {integrity: sha512-FNYxgyTCAnFwTrzpBGq+zrnoTO4x0c1CKYY5MuUTzpScqmY5fmsh2o3+57lqdI3NZucBDCzDgdEbIaNfAjAHQA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/typescript-estree@8.17.0': - resolution: {integrity: sha512-JqkOopc1nRKZpX+opvKqnM3XUlM7LpFMD0lYxTqOTKQfCWAmxw45e3qlOCsEqEB2yuacujivudOFpCnqkBDNMw==} + '@typescript-eslint/typescript-estree@8.18.0': + resolution: {integrity: sha512-rqQgFRu6yPkauz+ms3nQpohwejS8bvgbPyIDq13cgEDbkXt4LH4OkDMT0/fN1RUtzG8e8AKJyDBoocuQh8qNeg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true + typescript: '>=4.8.4 <5.8.0' - '@typescript-eslint/utils@8.17.0': - resolution: {integrity: sha512-bQC8BnEkxqG8HBGKwG9wXlZqg37RKSMY7v/X8VEWD8JG2JuTHuNK0VFvMPMUKQcbk6B+tf05k+4AShAEtCtJ/w==} + '@typescript-eslint/utils@8.18.0': + resolution: {integrity: sha512-p6GLdY383i7h5b0Qrfbix3Vc3+J2k6QWw6UMUeY5JGfm3C5LbZ4QIZzJNoNOfgyRe0uuYKjvVOsO/jD4SJO+xg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true + typescript: '>=4.8.4 <5.8.0' - '@typescript-eslint/visitor-keys@8.17.0': - resolution: {integrity: sha512-1Hm7THLpO6ww5QU6H/Qp+AusUUl+z/CAm3cNZZ0jQvon9yicgO7Rwd+/WWRpMKLYV6p2UvdbR27c86rzCPpreg==} + '@typescript-eslint/visitor-keys@8.18.0': + resolution: {integrity: sha512-pCh/qEA8Lb1wVIqNvBke8UaRjJ6wrAWkJO5yyIbs8Yx6TNGYyfNjOo61tLv+WwLvoLPp4BQ8B7AHKijl8NGUfw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@umami/node@0.4.0': @@ -4320,8 +4310,8 @@ packages: resolution: {integrity: sha512-Wjss+Bc674ZABPr+SCKWTqA4V1pyYFhzDTjNBJy4jdmgOv0oGIGXeKBRJyINwP5tIy+iIZD9SfgZpztduzQ5QA==} engines: {node: '>= 18.4'} - better-sqlite3@11.6.0: - resolution: {integrity: sha512-2J6k/eVxcFYY2SsTxsXrj6XylzHWPxveCn4fKPKZFv/Vqn/Cd7lOuX4d7rGQXT5zL+97MkNL3nSbCrIoe3LkgA==} + better-sqlite3@11.7.0: + resolution: {integrity: sha512-mXpa5jnIKKHeoGzBrUJrc65cXFKcILGZpU3FXR0pradUEm9MA7UZz02qfEejaMcm9iXrSOCenwwYMJ/tZ1y5Ig==} big.js@5.2.2: resolution: {integrity: sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==} @@ -4882,12 +4872,12 @@ packages: resolution: {integrity: sha512-pYxfDYpued//QpnLIm4Avk7rsNtAtQkUES2cwAYSvD/wd2pKD71gN2Ebj3e7klzXwjocvE8c5vx/1fxwpqmSxA==} engines: {node: '>=4'} - drizzle-kit@0.29.1: - resolution: {integrity: sha512-OvHL8RVyYiPR3LLRE3SHdcON8xGXl+qMfR9uTTnFWBPIqVk/3NWYZPb7nfpM1Bhix3H+BsxqPyyagG7YZ+Z63A==} + drizzle-kit@0.30.1: + resolution: {integrity: sha512-HmA/NeewvHywhJ2ENXD3KvOuM/+K2dGLJfxVfIHsGwaqKICJnS+Ke2L6UcSrSrtMJLJaT0Im1Qv4TFXfaZShyw==} hasBin: true - drizzle-orm@0.37.0: - resolution: {integrity: sha512-AsCNACQ/T2CyZUkrBRUqFT2ibHJ9ZHz3+lzYJFFn3hnj7ylIeItMz5kacRG89uSE74nXYShqehr6u+6ks4JR1A==} + drizzle-orm@0.38.1: + resolution: {integrity: sha512-TpOzNrPGy7dl0/uP9vKD6ATzp9noJaRYhOYqtOCKxxwSmZqrPxN4SW5kWawVUIcbSd2lkbDCdZue+gtVNLmQsg==} peerDependencies: '@aws-sdk/client-rds-data': '>=3' '@cloudflare/workers-types': '>=4' @@ -4978,11 +4968,11 @@ packages: sqlite3: optional: true - drizzle-zod@0.5.1: - resolution: {integrity: sha512-C/8bvzUH/zSnVfwdSibOgFjLhtDtbKYmkbPbUCq46QZyZCH6kODIMSOgZ8R7rVjoI+tCj3k06MRJMDqsIeoS4A==} + drizzle-zod@0.6.0: + resolution: {integrity: sha512-7K1k7Y/5Jw9D4cTlrHL3mRTLg3oaglbi4VvBIYmSAtMvYkgqvusPtra7cnntMCe1r1cBcwxhlEkfiNdU23lp2g==} peerDependencies: - drizzle-orm: '>=0.23.13' - zod: '*' + drizzle-orm: '>=0.36.0' + zod: '>=3.0.0' eastasianwidth@0.2.0: resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} @@ -6375,8 +6365,8 @@ packages: nodemailer: optional: true - next-intl@3.26.0: - resolution: {integrity: sha512-gkamnHIANQzeW8xpTGRxd0xiOCztQhY8GDp79fgdlw0GioqrjTEfSWLhHkgaAtvHRbuh/ByJdwiEY5eNK9bUSQ==} + next-intl@3.26.1: + resolution: {integrity: sha512-TE4cQgXNw4jzEtVPdiYQOCmhAu+Z2qoUppCMxPkJoz8XXe8TdqiNEPhD/GtXEsI80nV6NnVAq3hyTHH5+ex6Hw==} peerDependencies: next: ^10.0.0 || ^11.0.0 || ^12.0.0 || ^13.0.0 || ^14.0.0 || ^15.0.0 react: ^16.8.0 || ^17.0.0 || ^18.0.0 || >=19.0.0-rc <19.0.0 || ^19.0.0 @@ -6935,10 +6925,10 @@ packages: peerDependencies: react: ^15.3.0 || 16 || 17 || 18 - react-dom@18.3.1: - resolution: {integrity: sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==} + react-dom@19.0.0: + resolution: {integrity: sha512-4GV5sHFG0e/0AD4X+ySy6UJd3jVl1iNsNHdpad0qhABJ11twS3TTBnseqsKurKcsNqCEFeGL3uLpVChpIO3QfQ==} peerDependencies: - react: ^18.3.1 + react: ^19.0.0 react-error-boundary@4.1.2: resolution: {integrity: sha512-GQDxZ5Jd+Aq/qUxbCm1UtzmL/s++V7zKgE8yMktJiCQXCCFZnMZh9ng+6/Ne6PjNSXH0L9CjeOEREfRnq6Duag==} @@ -7044,8 +7034,8 @@ packages: react: '>=16.6.0' react-dom: '>=16.6.0' - react@18.3.1: - resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==} + react@19.0.0: + resolution: {integrity: sha512-V8AVnmPIICiWpGfm6GLzCR/W5FXLchHop40W4nXBmdlEceh16rCN8O8LNWm5bh5XUX91fh7KpA+W0TgMKmgTpQ==} engines: {node: '>=0.10.0'} readable-stream@2.3.8: @@ -7237,8 +7227,8 @@ packages: safer-buffer@2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} - sass@1.82.0: - resolution: {integrity: sha512-j4GMCTa8elGyN9A7x7bEglx0VgSpNUG4W4wNedQ33wSMdnkqQCT8HTwOaVSV4e6yQovcu/3Oc4coJP/l0xhL2Q==} + sass@1.83.0: + resolution: {integrity: sha512-qsSxlayzoOjdvXMVLkzF84DJFc2HZEL/rFyGIKbbilYtAvlCxyuzUeff9LawTn4btVnLKg75Z8MMr1lxU1lfGw==} engines: {node: '>=14.0.0'} hasBin: true @@ -7249,8 +7239,8 @@ packages: resolution: {integrity: sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==} engines: {node: '>=v12.22.7'} - scheduler@0.23.2: - resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==} + scheduler@0.25.0: + resolution: {integrity: sha512-xFVuu11jh+xcO7JOAGJNOXld8/TcEHK/4CituBUeUb5hqxJLj9YuemAEuvm9gQ/+pgXYfbQuqAkiYu+u7YEsNA==} schema-utils@3.3.0: resolution: {integrity: sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==} @@ -7676,11 +7666,11 @@ packages: title-case@2.1.1: resolution: {integrity: sha512-EkJoZ2O3zdCz3zJsYCsxyq2OC5hrxR9mfdd5I+w8h/tmFfeOxJ+vvkxsKxdmN0WtS9zLdHEgfgVOiMVgv+Po4Q==} - tldts-core@6.1.65: - resolution: {integrity: sha512-Uq5t0N0Oj4nQSbU8wFN1YYENvMthvwU13MQrMJRspYCGLSAZjAfoBOJki5IQpnBM/WFskxxC/gIOTwaedmHaSg==} + tldts-core@6.1.67: + resolution: {integrity: sha512-12K5O4m3uUW6YM5v45Z7wc6NTSmAYj4Tq3de7eXghZkp879IlfPJrUWeWFwu1FS94U5t2vwETgJ1asu8UGNKVQ==} - tldts@6.1.65: - resolution: {integrity: sha512-xU9gLTfAGsADQ2PcWee6Hg8RFAv0DnjMGVJmDnUmI8a9+nYmapMQix4afwrdaCtT+AqP4MaxEzu7cCrYmBPbzQ==} + tldts@6.1.67: + resolution: {integrity: sha512-714VbegxoZ9WF5/IsVCy9rWXKUpPkJq87ebWLXQzNawce96l5oRrRf2eHzB4pT2g/4HQU1dYbu+sdXClYxlDKQ==} hasBin: true tmp@0.0.33: @@ -7877,15 +7867,12 @@ packages: types-ramda@0.30.1: resolution: {integrity: sha512-1HTsf5/QVRmLzcGfldPFvkVsAdi1db1BBKzi7iW3KBUlOICg/nKnFS+jGqDJS3YD8VsWbAh7JiHeBvbsw8RPxA==} - typescript-eslint@8.17.0: - resolution: {integrity: sha512-409VXvFd/f1br1DCbuKNFqQpXICoTB+V51afcwG1pn1a3Cp92MqAUges3YjwEdQ0cMUoCIodjVDAYzyD8h3SYA==} + typescript-eslint@8.18.0: + resolution: {integrity: sha512-Xq2rRjn6tzVpAyHr3+nmSg1/9k9aIHnJ2iZeOH7cfGOWqTkXTm3kwpQglEuLGdNrYvPF+2gtAs+/KF5rjVo+WQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true + typescript: '>=4.8.4 <5.8.0' typescript@5.7.2: resolution: {integrity: sha512-i5t66RHxDvVN40HfDd1PsEThGNnlMCMT3jMUuoh9/0TaqWevNontacunWyN02LA9/fIbEWlcHZcgTKb9QoaLfg==} @@ -8003,8 +7990,8 @@ packages: peerDependencies: react: '>=16.13' - use-intl@3.26.0: - resolution: {integrity: sha512-HGXmpjGlbEv1uFZPfm557LK8p/hv0pKF9UwnrJeHUTxQx6bUGzMgpmPRLCVY3zkr7hfjy4LPwQJfk4Fhnn+dIg==} + use-intl@3.26.1: + resolution: {integrity: sha512-MZhtSBcMrDna3xs1T6O7CAXx4wRfm1eGyUYrDCCnW9qTOGZurCH5k/X6ChDl6EI4f+qYEtXQCRMkQUVOIhJWTQ==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || >=19.0.0-rc <19.0.0 || ^19.0.0 @@ -8384,8 +8371,8 @@ packages: peerDependencies: zod: ^3.21.4 - zod@3.23.8: - resolution: {integrity: sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==} + zod@3.24.1: + resolution: {integrity: sha512-muH7gBL9sI1nciMZV67X5fTKKBLtwpZ5VBp1vsOQzj1MhrBZ4wlVCm3gedKZWLp0Oyel8sIGfeiz54Su+OVT+A==} snapshots: @@ -8621,29 +8608,29 @@ snapshots: enabled: 2.0.0 kuler: 2.0.0 - '@dnd-kit/accessibility@3.1.1(react@18.3.1)': + '@dnd-kit/accessibility@3.1.1(react@19.0.0)': dependencies: - react: 18.3.1 + react: 19.0.0 tslib: 2.7.0 - '@dnd-kit/core@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@dnd-kit/core@6.3.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: - '@dnd-kit/accessibility': 3.1.1(react@18.3.1) - '@dnd-kit/utilities': 3.2.2(react@18.3.1) - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) + '@dnd-kit/accessibility': 3.1.1(react@19.0.0) + '@dnd-kit/utilities': 3.2.2(react@19.0.0) + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) tslib: 2.7.0 - '@dnd-kit/sortable@10.0.0(@dnd-kit/core@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)': + '@dnd-kit/sortable@10.0.0(@dnd-kit/core@6.3.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react@19.0.0)': dependencies: - '@dnd-kit/core': 6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@dnd-kit/utilities': 3.2.2(react@18.3.1) - react: 18.3.1 + '@dnd-kit/core': 6.3.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@dnd-kit/utilities': 3.2.2(react@19.0.0) + react: 19.0.0 tslib: 2.7.0 - '@dnd-kit/utilities@3.2.2(react@18.3.1)': + '@dnd-kit/utilities@3.2.2(react@19.0.0)': dependencies: - react: 18.3.1 + react: 19.0.0 tslib: 2.7.0 '@drizzle-team/brocli@0.10.2': {} @@ -9064,18 +9051,18 @@ snapshots: '@floating-ui/core': 1.6.8 '@floating-ui/utils': 0.2.8 - '@floating-ui/react-dom@2.1.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@floating-ui/react-dom@2.1.2(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: '@floating-ui/dom': 1.6.11 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) - '@floating-ui/react@0.26.28(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@floating-ui/react@0.26.28(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: - '@floating-ui/react-dom': 2.1.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@floating-ui/react-dom': 2.1.2(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@floating-ui/utils': 0.2.8 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) tabbable: 6.2.0 '@floating-ui/utils@0.2.8': {} @@ -9192,79 +9179,102 @@ snapshots: js-base64: 3.7.7 optional: true - '@mantine/colors-generator@7.14.3(chroma-js@3.1.2)': + '@mantine/colors-generator@7.15.1(chroma-js@3.1.2)': dependencies: chroma-js: 3.1.2 - '@mantine/core@7.14.3(@mantine/hooks@7.14.3(react@18.3.1))(@types/react@18.3.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@mantine/core@7.15.1(@mantine/hooks@7.15.1(react@19.0.0))(@types/react@18.3.13)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: - '@floating-ui/react': 0.26.28(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@mantine/hooks': 7.14.3(react@18.3.1) + '@floating-ui/react': 0.26.28(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@mantine/hooks': 7.15.1(react@19.0.0) clsx: 2.1.1 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - react-number-format: 5.4.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - react-remove-scroll: 2.6.0(@types/react@18.3.13)(react@18.3.1) - react-textarea-autosize: 8.5.5(@types/react@18.3.13)(react@18.3.1) + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) + react-number-format: 5.4.2(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + react-remove-scroll: 2.6.0(@types/react@18.3.13)(react@19.0.0) + react-textarea-autosize: 8.5.5(@types/react@18.3.13)(react@19.0.0) type-fest: 4.28.0 transitivePeerDependencies: - '@types/react' - '@mantine/dates@7.14.3(@mantine/core@7.14.3(@mantine/hooks@7.14.3(react@18.3.1))(@types/react@18.3.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mantine/hooks@7.14.3(react@18.3.1))(dayjs@1.11.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@mantine/core@7.15.1(@mantine/hooks@7.15.1(react@19.0.0))(@types/react@19.0.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: - '@mantine/core': 7.14.3(@mantine/hooks@7.14.3(react@18.3.1))(@types/react@18.3.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@mantine/hooks': 7.14.3(react@18.3.1) + '@floating-ui/react': 0.26.28(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@mantine/hooks': 7.15.1(react@19.0.0) + clsx: 2.1.1 + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) + react-number-format: 5.4.2(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + react-remove-scroll: 2.6.0(@types/react@19.0.1)(react@19.0.0) + react-textarea-autosize: 8.5.5(@types/react@19.0.1)(react@19.0.0) + type-fest: 4.28.0 + transitivePeerDependencies: + - '@types/react' + + '@mantine/dates@7.15.1(@mantine/core@7.15.1(@mantine/hooks@7.15.1(react@19.0.0))(@types/react@18.3.13)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(@mantine/hooks@7.15.1(react@19.0.0))(dayjs@1.11.13)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + dependencies: + '@mantine/core': 7.15.1(@mantine/hooks@7.15.1(react@19.0.0))(@types/react@18.3.13)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@mantine/hooks': 7.15.1(react@19.0.0) clsx: 2.1.1 dayjs: 1.11.13 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) - '@mantine/form@7.14.3(react@18.3.1)': + '@mantine/dates@7.15.1(@mantine/core@7.15.1(@mantine/hooks@7.15.1(react@19.0.0))(@types/react@19.0.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(@mantine/hooks@7.15.1(react@19.0.0))(dayjs@1.11.13)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + dependencies: + '@mantine/core': 7.15.1(@mantine/hooks@7.15.1(react@19.0.0))(@types/react@19.0.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@mantine/hooks': 7.15.1(react@19.0.0) + clsx: 2.1.1 + dayjs: 1.11.13 + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) + + '@mantine/form@7.15.1(react@19.0.0)': dependencies: fast-deep-equal: 3.1.3 klona: 2.0.6 - react: 18.3.1 + react: 19.0.0 - '@mantine/hooks@7.14.3(react@18.3.1)': + '@mantine/hooks@7.15.1(react@19.0.0)': dependencies: - react: 18.3.1 + react: 19.0.0 - '@mantine/modals@7.14.3(@mantine/core@7.14.3(@mantine/hooks@7.14.3(react@18.3.1))(@types/react@18.3.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mantine/hooks@7.14.3(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@mantine/modals@7.15.1(@mantine/core@7.15.1(@mantine/hooks@7.15.1(react@19.0.0))(@types/react@19.0.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(@mantine/hooks@7.15.1(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: - '@mantine/core': 7.14.3(@mantine/hooks@7.14.3(react@18.3.1))(@types/react@18.3.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@mantine/hooks': 7.14.3(react@18.3.1) - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) + '@mantine/core': 7.15.1(@mantine/hooks@7.15.1(react@19.0.0))(@types/react@19.0.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@mantine/hooks': 7.15.1(react@19.0.0) + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) - '@mantine/notifications@7.14.3(@mantine/core@7.14.3(@mantine/hooks@7.14.3(react@18.3.1))(@types/react@18.3.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mantine/hooks@7.14.3(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@mantine/notifications@7.15.1(@mantine/core@7.15.1(@mantine/hooks@7.15.1(react@19.0.0))(@types/react@18.3.13)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(@mantine/hooks@7.15.1(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: - '@mantine/core': 7.14.3(@mantine/hooks@7.14.3(react@18.3.1))(@types/react@18.3.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@mantine/hooks': 7.14.3(react@18.3.1) - '@mantine/store': 7.14.3(react@18.3.1) - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - react-transition-group: 4.4.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@mantine/core': 7.15.1(@mantine/hooks@7.15.1(react@19.0.0))(@types/react@18.3.13)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@mantine/hooks': 7.15.1(react@19.0.0) + '@mantine/store': 7.15.1(react@19.0.0) + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) + react-transition-group: 4.4.5(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@mantine/spotlight@7.14.3(@mantine/core@7.14.3(@mantine/hooks@7.14.3(react@18.3.1))(@types/react@18.3.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mantine/hooks@7.14.3(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@mantine/spotlight@7.15.1(@mantine/core@7.15.1(@mantine/hooks@7.15.1(react@19.0.0))(@types/react@18.3.13)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(@mantine/hooks@7.15.1(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: - '@mantine/core': 7.14.3(@mantine/hooks@7.14.3(react@18.3.1))(@types/react@18.3.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@mantine/hooks': 7.14.3(react@18.3.1) - '@mantine/store': 7.14.3(react@18.3.1) - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) + '@mantine/core': 7.15.1(@mantine/hooks@7.15.1(react@19.0.0))(@types/react@18.3.13)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@mantine/hooks': 7.15.1(react@19.0.0) + '@mantine/store': 7.15.1(react@19.0.0) + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) - '@mantine/store@7.14.3(react@18.3.1)': + '@mantine/store@7.15.1(react@19.0.0)': dependencies: - react: 18.3.1 + react: 19.0.0 - '@mantine/tiptap@7.14.3(@mantine/core@7.14.3(@mantine/hooks@7.14.3(react@18.3.1))(@types/react@18.3.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mantine/hooks@7.14.3(react@18.3.1))(@tiptap/extension-link@2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))(@tiptap/pm@2.10.3))(@tiptap/react@2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))(@tiptap/pm@2.10.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@mantine/tiptap@7.15.1(@mantine/core@7.15.1(@mantine/hooks@7.15.1(react@19.0.0))(@types/react@19.0.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(@mantine/hooks@7.15.1(react@19.0.0))(@tiptap/extension-link@2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))(@tiptap/pm@2.10.3))(@tiptap/react@2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))(@tiptap/pm@2.10.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: - '@mantine/core': 7.14.3(@mantine/hooks@7.14.3(react@18.3.1))(@types/react@18.3.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@mantine/hooks': 7.14.3(react@18.3.1) + '@mantine/core': 7.15.1(@mantine/hooks@7.15.1(react@19.0.0))(@types/react@19.0.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@mantine/hooks': 7.15.1(react@19.0.0) '@tiptap/extension-link': 2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))(@tiptap/pm@2.10.3) - '@tiptap/react': 2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))(@tiptap/pm@2.10.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) + '@tiptap/react': 2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))(@tiptap/pm@2.10.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) '@mapbox/node-pre-gyp@1.0.11': dependencies: @@ -9281,7 +9291,7 @@ snapshots: - encoding - supports-color - '@million/install@1.0.13': + '@million/install@1.0.14': dependencies: '@antfu/ni': 0.21.12 '@axiomhq/js': 1.0.0-rc.3 @@ -9296,13 +9306,13 @@ snapshots: recast: 0.23.9 xycolors: 0.1.2 - '@million/lint@1.0.13(rollup@4.21.3)(webpack-sources@3.2.3)': + '@million/lint@1.0.14(rollup@4.21.3)(webpack-sources@3.2.3)': 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.6.1) - '@million/install': 1.0.13 + '@million/install': 1.0.14 '@rollup/pluginutils': 5.1.0(rollup@4.21.3) '@rrweb/types': 2.0.0-alpha.16 babel-plugin-syntax-hermes-parser: 0.21.1 @@ -9875,23 +9885,23 @@ snapshots: '@swc/counter': 0.1.3 tslib: 2.7.0 - '@t3-oss/env-core@0.11.1(typescript@5.7.2)(zod@3.23.8)': + '@t3-oss/env-core@0.11.1(typescript@5.7.2)(zod@3.24.1)': dependencies: - zod: 3.23.8 + zod: 3.24.1 optionalDependencies: typescript: 5.7.2 - '@t3-oss/env-nextjs@0.11.1(typescript@5.7.2)(zod@3.23.8)': + '@t3-oss/env-nextjs@0.11.1(typescript@5.7.2)(zod@3.24.1)': dependencies: - '@t3-oss/env-core': 0.11.1(typescript@5.7.2)(zod@3.23.8) - zod: 3.23.8 + '@t3-oss/env-core': 0.11.1(typescript@5.7.2)(zod@3.24.1) + zod: 3.24.1 optionalDependencies: typescript: 5.7.2 - '@tabler/icons-react@3.24.0(react@18.3.1)': + '@tabler/icons-react@3.24.0(react@19.0.0)': dependencies: '@tabler/icons': 3.24.0 - react: 18.3.1 + react: 19.0.0 '@tabler/icons@3.24.0': {} @@ -9899,38 +9909,38 @@ snapshots: dependencies: remove-accents: 0.5.0 - '@tanstack/query-core@5.62.3': {} + '@tanstack/query-core@5.62.7': {} '@tanstack/query-devtools@5.61.4': {} - '@tanstack/react-query-devtools@5.62.3(@tanstack/react-query@5.62.3(react@18.3.1))(react@18.3.1)': + '@tanstack/react-query-devtools@5.62.7(@tanstack/react-query@5.62.7(react@19.0.0))(react@19.0.0)': dependencies: '@tanstack/query-devtools': 5.61.4 - '@tanstack/react-query': 5.62.3(react@18.3.1) - react: 18.3.1 + '@tanstack/react-query': 5.62.7(react@19.0.0) + react: 19.0.0 - '@tanstack/react-query-next-experimental@5.62.3(@tanstack/react-query@5.62.3(react@18.3.1))(next@14.2.20(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.82.0))(react@18.3.1)': + '@tanstack/react-query-next-experimental@5.62.7(@tanstack/react-query@5.62.7(react@19.0.0))(next@14.2.20(@babel/core@7.26.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(sass@1.83.0))(react@19.0.0)': dependencies: - '@tanstack/react-query': 5.62.3(react@18.3.1) - next: 14.2.20(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.82.0) - react: 18.3.1 + '@tanstack/react-query': 5.62.7(react@19.0.0) + next: 14.2.20(@babel/core@7.26.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(sass@1.83.0) + react: 19.0.0 - '@tanstack/react-query@5.62.3(react@18.3.1)': + '@tanstack/react-query@5.62.7(react@19.0.0)': dependencies: - '@tanstack/query-core': 5.62.3 - react: 18.3.1 + '@tanstack/query-core': 5.62.7 + react: 19.0.0 - '@tanstack/react-table@8.20.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@tanstack/react-table@8.20.5(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: '@tanstack/table-core': 8.20.5 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) - '@tanstack/react-virtual@3.10.8(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@tanstack/react-virtual@3.10.8(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: '@tanstack/virtual-core': 3.10.8 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) '@tanstack/table-core@8.20.5': {} @@ -10113,7 +10123,7 @@ snapshots: prosemirror-transform: 1.10.2 prosemirror-view: 1.37.0 - '@tiptap/react@2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))(@tiptap/pm@2.10.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@tiptap/react@2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))(@tiptap/pm@2.10.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: '@tiptap/core': 2.10.3(@tiptap/pm@2.10.3) '@tiptap/extension-bubble-menu': 2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))(@tiptap/pm@2.10.3) @@ -10121,9 +10131,9 @@ snapshots: '@tiptap/pm': 2.10.3 '@types/use-sync-external-store': 0.0.6 fast-deep-equal: 3.1.3 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - use-sync-external-store: 1.2.2(react@18.3.1) + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) + use-sync-external-store: 1.2.2(react@19.0.0) '@tiptap/starter-kit@2.10.3': dependencies: @@ -10151,33 +10161,33 @@ snapshots: '@tootallnate/quickjs-emscripten@0.23.0': {} - '@trpc/client@11.0.0-rc.657(@trpc/server@11.0.0-rc.657(typescript@5.7.2))(typescript@5.7.2)': + '@trpc/client@11.0.0-rc.660(@trpc/server@11.0.0-rc.660(typescript@5.7.2))(typescript@5.7.2)': dependencies: - '@trpc/server': 11.0.0-rc.657(typescript@5.7.2) + '@trpc/server': 11.0.0-rc.660(typescript@5.7.2) typescript: 5.7.2 - '@trpc/next@11.0.0-rc.657(@tanstack/react-query@5.62.3(react@18.3.1))(@trpc/client@11.0.0-rc.657(@trpc/server@11.0.0-rc.657(typescript@5.7.2))(typescript@5.7.2))(@trpc/react-query@11.0.0-rc.657(@tanstack/react-query@5.62.3(react@18.3.1))(@trpc/client@11.0.0-rc.657(@trpc/server@11.0.0-rc.657(typescript@5.7.2))(typescript@5.7.2))(@trpc/server@11.0.0-rc.657(typescript@5.7.2))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.2))(@trpc/server@11.0.0-rc.657(typescript@5.7.2))(next@14.2.20(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.82.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.2)': + '@trpc/next@11.0.0-rc.660(@tanstack/react-query@5.62.7(react@19.0.0))(@trpc/client@11.0.0-rc.660(@trpc/server@11.0.0-rc.660(typescript@5.7.2))(typescript@5.7.2))(@trpc/react-query@11.0.0-rc.660(@tanstack/react-query@5.62.7(react@19.0.0))(@trpc/client@11.0.0-rc.660(@trpc/server@11.0.0-rc.660(typescript@5.7.2))(typescript@5.7.2))(@trpc/server@11.0.0-rc.660(typescript@5.7.2))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.2))(@trpc/server@11.0.0-rc.660(typescript@5.7.2))(next@14.2.20(@babel/core@7.26.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(sass@1.83.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.2)': dependencies: - '@trpc/client': 11.0.0-rc.657(@trpc/server@11.0.0-rc.657(typescript@5.7.2))(typescript@5.7.2) - '@trpc/server': 11.0.0-rc.657(typescript@5.7.2) - next: 14.2.20(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.82.0) - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) + '@trpc/client': 11.0.0-rc.660(@trpc/server@11.0.0-rc.660(typescript@5.7.2))(typescript@5.7.2) + '@trpc/server': 11.0.0-rc.660(typescript@5.7.2) + next: 14.2.20(@babel/core@7.26.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(sass@1.83.0) + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) typescript: 5.7.2 optionalDependencies: - '@tanstack/react-query': 5.62.3(react@18.3.1) - '@trpc/react-query': 11.0.0-rc.657(@tanstack/react-query@5.62.3(react@18.3.1))(@trpc/client@11.0.0-rc.657(@trpc/server@11.0.0-rc.657(typescript@5.7.2))(typescript@5.7.2))(@trpc/server@11.0.0-rc.657(typescript@5.7.2))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.2) + '@tanstack/react-query': 5.62.7(react@19.0.0) + '@trpc/react-query': 11.0.0-rc.660(@tanstack/react-query@5.62.7(react@19.0.0))(@trpc/client@11.0.0-rc.660(@trpc/server@11.0.0-rc.660(typescript@5.7.2))(typescript@5.7.2))(@trpc/server@11.0.0-rc.660(typescript@5.7.2))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.2) - '@trpc/react-query@11.0.0-rc.657(@tanstack/react-query@5.62.3(react@18.3.1))(@trpc/client@11.0.0-rc.657(@trpc/server@11.0.0-rc.657(typescript@5.7.2))(typescript@5.7.2))(@trpc/server@11.0.0-rc.657(typescript@5.7.2))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.2)': + '@trpc/react-query@11.0.0-rc.660(@tanstack/react-query@5.62.7(react@19.0.0))(@trpc/client@11.0.0-rc.660(@trpc/server@11.0.0-rc.660(typescript@5.7.2))(typescript@5.7.2))(@trpc/server@11.0.0-rc.660(typescript@5.7.2))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.2)': dependencies: - '@tanstack/react-query': 5.62.3(react@18.3.1) - '@trpc/client': 11.0.0-rc.657(@trpc/server@11.0.0-rc.657(typescript@5.7.2))(typescript@5.7.2) - '@trpc/server': 11.0.0-rc.657(typescript@5.7.2) - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) + '@tanstack/react-query': 5.62.7(react@19.0.0) + '@trpc/client': 11.0.0-rc.660(@trpc/server@11.0.0-rc.660(typescript@5.7.2))(typescript@5.7.2) + '@trpc/server': 11.0.0-rc.660(typescript@5.7.2) + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) typescript: 5.7.2 - '@trpc/server@11.0.0-rc.657(typescript@5.7.2)': + '@trpc/server@11.0.0-rc.660(typescript@5.7.2)': dependencies: typescript: 5.7.2 @@ -10191,7 +10201,7 @@ snapshots: '@tsconfig/svelte@1.0.13': {} - '@turbo/gen@2.3.3(@types/node@22.10.1)(typescript@5.7.2)': + '@turbo/gen@2.3.3(@types/node@22.10.2)(typescript@5.7.2)': dependencies: '@turbo/workspaces': 2.3.3 commander: 10.0.1 @@ -10201,7 +10211,7 @@ snapshots: node-plop: 0.26.3 picocolors: 1.0.1 proxy-agent: 6.4.0 - ts-node: 10.9.2(@types/node@22.10.1)(typescript@5.7.2) + ts-node: 10.9.2(@types/node@22.10.2)(typescript@5.7.2) update-check: 1.5.4 validate-npm-package-name: 5.0.1 transitivePeerDependencies: @@ -10227,7 +10237,7 @@ snapshots: '@types/asn1@0.2.4': dependencies: - '@types/node': 22.10.1 + '@types/node': 22.10.2 '@types/babel__core@7.20.5': dependencies: @@ -10252,22 +10262,22 @@ snapshots: '@types/bcrypt@5.0.2': dependencies: - '@types/node': 22.10.1 + '@types/node': 22.10.2 '@types/better-sqlite3@7.6.12': dependencies: - '@types/node': 22.10.1 + '@types/node': 22.10.2 '@types/body-parser@1.19.5': dependencies: '@types/connect': 3.4.38 - '@types/node': 22.10.1 + '@types/node': 22.10.2 '@types/chroma-js@2.4.4': {} '@types/connect@3.4.38': dependencies: - '@types/node': 22.10.1 + '@types/node': 22.10.2 '@types/cookie@0.4.1': {} @@ -10278,11 +10288,11 @@ snapshots: '@types/connect': 3.4.38 '@types/express': 4.17.21 '@types/keygrip': 1.0.6 - '@types/node': 22.10.1 + '@types/node': 22.10.2 '@types/cors@2.8.17': dependencies: - '@types/node': 22.10.1 + '@types/node': 22.10.2 '@types/css-font-loading-module@0.0.7': {} @@ -10290,13 +10300,13 @@ snapshots: '@types/docker-modem@3.0.6': dependencies: - '@types/node': 22.10.1 + '@types/node': 22.10.2 '@types/ssh2': 1.15.1 '@types/dockerode@3.3.32': dependencies: '@types/docker-modem': 3.0.6 - '@types/node': 22.10.1 + '@types/node': 22.10.2 '@types/ssh2': 1.15.1 '@types/estree@1.0.5': {} @@ -10305,7 +10315,7 @@ snapshots: '@types/express-serve-static-core@4.19.5': dependencies: - '@types/node': 22.10.1 + '@types/node': 22.10.2 '@types/qs': 6.9.16 '@types/range-parser': 1.2.7 '@types/send': 0.17.4 @@ -10320,7 +10330,7 @@ snapshots: '@types/glob@7.2.0': dependencies: '@types/minimatch': 5.1.2 - '@types/node': 22.10.1 + '@types/node': 22.10.2 '@types/hast@2.3.10': dependencies: @@ -10358,13 +10368,14 @@ snapshots: dependencies: undici-types: 5.26.5 - '@types/node@22.10.1': + '@types/node@22.10.2': dependencies: undici-types: 6.20.0 '@types/prismjs@1.26.5': {} - '@types/prop-types@15.7.12': {} + '@types/prop-types@15.7.12': + optional: true '@types/qs@6.9.16': {} @@ -10374,33 +10385,38 @@ snapshots: '@types/range-parser@1.2.7': {} - '@types/react-dom@18.3.1': + '@types/react-dom@19.0.2(@types/react@19.0.1)': dependencies: - '@types/react': 18.3.13 + '@types/react': 19.0.1 '@types/react@18.3.13': dependencies: '@types/prop-types': 15.7.12 csstype: 3.1.3 + optional: true + + '@types/react@19.0.1': + dependencies: + csstype: 3.1.3 '@types/send@0.17.4': dependencies: '@types/mime': 1.3.5 - '@types/node': 22.10.1 + '@types/node': 22.10.2 '@types/serve-static@1.15.7': dependencies: '@types/http-errors': 2.0.4 - '@types/node': 22.10.1 + '@types/node': 22.10.2 '@types/send': 0.17.4 '@types/ssh2-streams@0.1.12': dependencies: - '@types/node': 22.10.1 + '@types/node': 22.10.2 '@types/ssh2@0.5.52': dependencies: - '@types/node': 22.10.1 + '@types/node': 22.10.2 '@types/ssh2-streams': 0.1.12 '@types/ssh2@1.15.1': @@ -10409,11 +10425,11 @@ snapshots: '@types/swagger-ui-react@4.18.3': dependencies: - '@types/react': 18.3.13 + '@types/react': 19.0.1 '@types/through@0.0.33': dependencies: - '@types/node': 22.10.1 + '@types/node': 22.10.2 '@types/tinycolor2@1.4.6': {} @@ -10429,92 +10445,87 @@ snapshots: '@types/ws@8.5.13': dependencies: - '@types/node': 22.10.1 + '@types/node': 22.10.2 '@types/xml2js@0.4.14': dependencies: - '@types/node': 22.10.1 + '@types/node': 22.10.2 - '@typescript-eslint/eslint-plugin@8.17.0(@typescript-eslint/parser@8.17.0(eslint@9.16.0)(typescript@5.7.2))(eslint@9.16.0)(typescript@5.7.2)': + '@typescript-eslint/eslint-plugin@8.18.0(@typescript-eslint/parser@8.18.0(eslint@9.16.0)(typescript@5.7.2))(eslint@9.16.0)(typescript@5.7.2)': dependencies: '@eslint-community/regexpp': 4.12.1 - '@typescript-eslint/parser': 8.17.0(eslint@9.16.0)(typescript@5.7.2) - '@typescript-eslint/scope-manager': 8.17.0 - '@typescript-eslint/type-utils': 8.17.0(eslint@9.16.0)(typescript@5.7.2) - '@typescript-eslint/utils': 8.17.0(eslint@9.16.0)(typescript@5.7.2) - '@typescript-eslint/visitor-keys': 8.17.0 + '@typescript-eslint/parser': 8.18.0(eslint@9.16.0)(typescript@5.7.2) + '@typescript-eslint/scope-manager': 8.18.0 + '@typescript-eslint/type-utils': 8.18.0(eslint@9.16.0)(typescript@5.7.2) + '@typescript-eslint/utils': 8.18.0(eslint@9.16.0)(typescript@5.7.2) + '@typescript-eslint/visitor-keys': 8.18.0 eslint: 9.16.0 graphemer: 1.4.0 ignore: 5.3.2 natural-compare: 1.4.0 ts-api-utils: 1.3.0(typescript@5.7.2) - optionalDependencies: typescript: 5.7.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.17.0(eslint@9.16.0)(typescript@5.7.2)': + '@typescript-eslint/parser@8.18.0(eslint@9.16.0)(typescript@5.7.2)': dependencies: - '@typescript-eslint/scope-manager': 8.17.0 - '@typescript-eslint/types': 8.17.0 - '@typescript-eslint/typescript-estree': 8.17.0(typescript@5.7.2) - '@typescript-eslint/visitor-keys': 8.17.0 + '@typescript-eslint/scope-manager': 8.18.0 + '@typescript-eslint/types': 8.18.0 + '@typescript-eslint/typescript-estree': 8.18.0(typescript@5.7.2) + '@typescript-eslint/visitor-keys': 8.18.0 debug: 4.3.7 eslint: 9.16.0 - optionalDependencies: typescript: 5.7.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/scope-manager@8.17.0': + '@typescript-eslint/scope-manager@8.18.0': dependencies: - '@typescript-eslint/types': 8.17.0 - '@typescript-eslint/visitor-keys': 8.17.0 + '@typescript-eslint/types': 8.18.0 + '@typescript-eslint/visitor-keys': 8.18.0 - '@typescript-eslint/type-utils@8.17.0(eslint@9.16.0)(typescript@5.7.2)': + '@typescript-eslint/type-utils@8.18.0(eslint@9.16.0)(typescript@5.7.2)': dependencies: - '@typescript-eslint/typescript-estree': 8.17.0(typescript@5.7.2) - '@typescript-eslint/utils': 8.17.0(eslint@9.16.0)(typescript@5.7.2) + '@typescript-eslint/typescript-estree': 8.18.0(typescript@5.7.2) + '@typescript-eslint/utils': 8.18.0(eslint@9.16.0)(typescript@5.7.2) debug: 4.3.7 eslint: 9.16.0 ts-api-utils: 1.3.0(typescript@5.7.2) - optionalDependencies: typescript: 5.7.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/types@8.17.0': {} + '@typescript-eslint/types@8.18.0': {} - '@typescript-eslint/typescript-estree@8.17.0(typescript@5.7.2)': + '@typescript-eslint/typescript-estree@8.18.0(typescript@5.7.2)': dependencies: - '@typescript-eslint/types': 8.17.0 - '@typescript-eslint/visitor-keys': 8.17.0 + '@typescript-eslint/types': 8.18.0 + '@typescript-eslint/visitor-keys': 8.18.0 debug: 4.3.7 fast-glob: 3.3.2 is-glob: 4.0.3 minimatch: 9.0.5 semver: 7.6.3 ts-api-utils: 1.3.0(typescript@5.7.2) - optionalDependencies: typescript: 5.7.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.17.0(eslint@9.16.0)(typescript@5.7.2)': + '@typescript-eslint/utils@8.18.0(eslint@9.16.0)(typescript@5.7.2)': dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@9.16.0) - '@typescript-eslint/scope-manager': 8.17.0 - '@typescript-eslint/types': 8.17.0 - '@typescript-eslint/typescript-estree': 8.17.0(typescript@5.7.2) + '@typescript-eslint/scope-manager': 8.18.0 + '@typescript-eslint/types': 8.18.0 + '@typescript-eslint/typescript-estree': 8.18.0(typescript@5.7.2) eslint: 9.16.0 - optionalDependencies: typescript: 5.7.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/visitor-keys@8.17.0': + '@typescript-eslint/visitor-keys@8.18.0': dependencies: - '@typescript-eslint/types': 8.17.0 + '@typescript-eslint/types': 8.18.0 eslint-visitor-keys: 4.2.0 '@umami/node@0.4.0': {} @@ -10547,14 +10558,14 @@ snapshots: global: 4.4.0 is-function: 1.0.2 - '@vitejs/plugin-react@4.3.4(vite@5.4.5(@types/node@22.10.1)(sass@1.82.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.32.0))': + '@vitejs/plugin-react@4.3.4(vite@5.4.5(@types/node@22.10.2)(sass@1.83.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.32.0))': dependencies: '@babel/core': 7.26.0 '@babel/plugin-transform-react-jsx-self': 7.25.9(@babel/core@7.26.0) '@babel/plugin-transform-react-jsx-source': 7.25.9(@babel/core@7.26.0) '@types/babel__core': 7.20.5 react-refresh: 0.14.2 - vite: 5.4.5(@types/node@22.10.1)(sass@1.82.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.32.0) + vite: 5.4.5(@types/node@22.10.2)(sass@1.83.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.32.0) transitivePeerDependencies: - supports-color @@ -10572,7 +10583,7 @@ snapshots: std-env: 3.8.0 test-exclude: 7.0.1 tinyrainbow: 1.2.0 - vitest: 2.1.8(@types/node@22.10.1)(@vitest/ui@2.1.8)(jsdom@25.0.1)(sass@1.82.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.32.0) + vitest: 2.1.8(@types/node@22.10.2)(@vitest/ui@2.1.8)(jsdom@25.0.1)(sass@1.83.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.32.0) transitivePeerDependencies: - supports-color @@ -10583,13 +10594,13 @@ snapshots: chai: 5.1.2 tinyrainbow: 1.2.0 - '@vitest/mocker@2.1.8(vite@5.4.5(@types/node@22.10.1)(sass@1.82.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.32.0))': + '@vitest/mocker@2.1.8(vite@5.4.5(@types/node@22.10.2)(sass@1.83.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.32.0))': dependencies: '@vitest/spy': 2.1.8 estree-walker: 3.0.3 magic-string: 0.30.12 optionalDependencies: - vite: 5.4.5(@types/node@22.10.1)(sass@1.82.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.32.0) + vite: 5.4.5(@types/node@22.10.2)(sass@1.83.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.32.0) '@vitest/pretty-format@2.1.8': dependencies: @@ -10619,7 +10630,7 @@ snapshots: sirv: 3.0.0 tinyglobby: 0.2.10 tinyrainbow: 1.2.0 - vitest: 2.1.8(@types/node@22.10.1)(@vitest/ui@2.1.8)(jsdom@25.0.1)(sass@1.82.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.32.0) + vitest: 2.1.8(@types/node@22.10.2)(@vitest/ui@2.1.8)(jsdom@25.0.1)(sass@1.83.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.32.0) '@vitest/utils@2.1.8': dependencies: @@ -11011,7 +11022,7 @@ snapshots: bellajs@11.2.0: {} - better-sqlite3@11.6.0: + better-sqlite3@11.7.0: dependencies: bindings: 1.5.0 prebuild-install: 7.1.2 @@ -11581,7 +11592,7 @@ snapshots: drange@1.1.1: {} - drizzle-kit@0.29.1: + drizzle-kit@0.30.1: dependencies: '@drizzle-team/brocli': 0.10.2 '@esbuild-kit/esm-loader': 2.6.5 @@ -11590,19 +11601,19 @@ snapshots: transitivePeerDependencies: - supports-color - drizzle-orm@0.37.0(@libsql/client-wasm@0.14.0)(@types/better-sqlite3@7.6.12)(@types/react@18.3.13)(better-sqlite3@11.6.0)(mysql2@3.11.5)(react@18.3.1): + drizzle-orm@0.38.1(@libsql/client-wasm@0.14.0)(@types/better-sqlite3@7.6.12)(@types/react@19.0.1)(better-sqlite3@11.7.0)(mysql2@3.11.5)(react@19.0.0): optionalDependencies: '@libsql/client-wasm': 0.14.0 '@types/better-sqlite3': 7.6.12 - '@types/react': 18.3.13 - better-sqlite3: 11.6.0 + '@types/react': 19.0.1 + better-sqlite3: 11.7.0 mysql2: 3.11.5 - react: 18.3.1 + react: 19.0.0 - drizzle-zod@0.5.1(drizzle-orm@0.37.0(@libsql/client-wasm@0.14.0)(@types/better-sqlite3@7.6.12)(@types/react@18.3.13)(better-sqlite3@11.6.0)(mysql2@3.11.5)(react@18.3.1))(zod@3.23.8): + drizzle-zod@0.6.0(drizzle-orm@0.38.1(@libsql/client-wasm@0.14.0)(@types/better-sqlite3@7.6.12)(@types/react@19.0.1)(better-sqlite3@11.7.0)(mysql2@3.11.5)(react@19.0.0))(zod@3.24.1): dependencies: - drizzle-orm: 0.37.0(@libsql/client-wasm@0.14.0)(@types/better-sqlite3@7.6.12)(@types/react@18.3.13)(better-sqlite3@11.6.0)(mysql2@3.11.5)(react@18.3.1) - zod: 3.23.8 + drizzle-orm: 0.38.1(@libsql/client-wasm@0.14.0)(@types/better-sqlite3@7.6.12)(@types/react@19.0.1)(better-sqlite3@11.7.0)(mysql2@3.11.5)(react@19.0.0) + zod: 3.24.1 eastasianwidth@0.2.0: {} @@ -11640,7 +11651,7 @@ snapshots: dependencies: '@types/cookie': 0.4.1 '@types/cors': 2.8.17 - '@types/node': 22.10.1 + '@types/node': 22.10.2 accepts: 1.3.8 base64id: 2.0.0 cookie: 0.7.2 @@ -11924,17 +11935,17 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-module-utils@2.12.0(@typescript-eslint/parser@8.17.0(eslint@9.16.0)(typescript@5.7.2))(eslint-import-resolver-node@0.3.9)(eslint@9.16.0): + eslint-module-utils@2.12.0(@typescript-eslint/parser@8.18.0(eslint@9.16.0)(typescript@5.7.2))(eslint-import-resolver-node@0.3.9)(eslint@9.16.0): dependencies: debug: 3.2.7 optionalDependencies: - '@typescript-eslint/parser': 8.17.0(eslint@9.16.0)(typescript@5.7.2) + '@typescript-eslint/parser': 8.18.0(eslint@9.16.0)(typescript@5.7.2) eslint: 9.16.0 eslint-import-resolver-node: 0.3.9 transitivePeerDependencies: - supports-color - eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.17.0(eslint@9.16.0)(typescript@5.7.2))(eslint@9.16.0): + eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.18.0(eslint@9.16.0)(typescript@5.7.2))(eslint@9.16.0): dependencies: '@rtsao/scc': 1.1.0 array-includes: 3.1.8 @@ -11945,7 +11956,7 @@ snapshots: doctrine: 2.1.0 eslint: 9.16.0 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.12.0(@typescript-eslint/parser@8.17.0(eslint@9.16.0)(typescript@5.7.2))(eslint-import-resolver-node@0.3.9)(eslint@9.16.0) + eslint-module-utils: 2.12.0(@typescript-eslint/parser@8.18.0(eslint@9.16.0)(typescript@5.7.2))(eslint-import-resolver-node@0.3.9)(eslint@9.16.0) hasown: 2.0.2 is-core-module: 2.15.1 is-glob: 4.0.3 @@ -11957,7 +11968,7 @@ snapshots: string.prototype.trimend: 1.0.8 tsconfig-paths: 3.15.0 optionalDependencies: - '@typescript-eslint/parser': 8.17.0(eslint@9.16.0)(typescript@5.7.2) + '@typescript-eslint/parser': 8.18.0(eslint@9.16.0)(typescript@5.7.2) transitivePeerDependencies: - eslint-import-resolver-typescript - eslint-import-resolver-webpack @@ -12840,7 +12851,7 @@ snapshots: jest-worker@27.5.1: dependencies: - '@types/node': 22.10.1 + '@types/node': 22.10.2 merge-stream: 2.0.0 supports-color: 8.1.1 @@ -12848,10 +12859,15 @@ snapshots: jose@5.9.6: {} - jotai@2.10.3(@types/react@18.3.13)(react@18.3.1): + jotai@2.10.3(@types/react@18.3.13)(react@19.0.0): optionalDependencies: '@types/react': 18.3.13 - react: 18.3.1 + react: 19.0.0 + + jotai@2.10.3(@types/react@19.0.1)(react@19.0.0): + optionalDependencies: + '@types/react': 19.0.1 + react: 19.0.0 js-base64@3.7.7: optional: true @@ -13070,19 +13086,33 @@ snapshots: make-error@1.3.6: {} - mantine-react-table@2.0.0-beta.7(@mantine/core@7.14.3(@mantine/hooks@7.14.3(react@18.3.1))(@types/react@18.3.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mantine/dates@7.14.3(@mantine/core@7.14.3(@mantine/hooks@7.14.3(react@18.3.1))(@types/react@18.3.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mantine/hooks@7.14.3(react@18.3.1))(dayjs@1.11.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mantine/hooks@7.14.3(react@18.3.1))(@tabler/icons-react@3.24.0(react@18.3.1))(clsx@2.1.1)(dayjs@1.11.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + mantine-react-table@2.0.0-beta.7(@mantine/core@7.15.1(@mantine/hooks@7.15.1(react@19.0.0))(@types/react@18.3.13)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(@mantine/dates@7.15.1(@mantine/core@7.15.1(@mantine/hooks@7.15.1(react@19.0.0))(@types/react@18.3.13)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(@mantine/hooks@7.15.1(react@19.0.0))(dayjs@1.11.13)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(@mantine/hooks@7.15.1(react@19.0.0))(@tabler/icons-react@3.24.0(react@19.0.0))(clsx@2.1.1)(dayjs@1.11.13)(react-dom@19.0.0(react@19.0.0))(react@19.0.0): dependencies: - '@mantine/core': 7.14.3(@mantine/hooks@7.14.3(react@18.3.1))(@types/react@18.3.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@mantine/dates': 7.14.3(@mantine/core@7.14.3(@mantine/hooks@7.14.3(react@18.3.1))(@types/react@18.3.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mantine/hooks@7.14.3(react@18.3.1))(dayjs@1.11.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@mantine/hooks': 7.14.3(react@18.3.1) - '@tabler/icons-react': 3.24.0(react@18.3.1) + '@mantine/core': 7.15.1(@mantine/hooks@7.15.1(react@19.0.0))(@types/react@18.3.13)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@mantine/dates': 7.15.1(@mantine/core@7.15.1(@mantine/hooks@7.15.1(react@19.0.0))(@types/react@18.3.13)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(@mantine/hooks@7.15.1(react@19.0.0))(dayjs@1.11.13)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@mantine/hooks': 7.15.1(react@19.0.0) + '@tabler/icons-react': 3.24.0(react@19.0.0) '@tanstack/match-sorter-utils': 8.19.4 - '@tanstack/react-table': 8.20.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@tanstack/react-virtual': 3.10.8(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@tanstack/react-table': 8.20.5(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@tanstack/react-virtual': 3.10.8(react-dom@19.0.0(react@19.0.0))(react@19.0.0) clsx: 2.1.1 dayjs: 1.11.13 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) + + mantine-react-table@2.0.0-beta.7(@mantine/core@7.15.1(@mantine/hooks@7.15.1(react@19.0.0))(@types/react@19.0.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(@mantine/dates@7.15.1(@mantine/core@7.15.1(@mantine/hooks@7.15.1(react@19.0.0))(@types/react@19.0.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(@mantine/hooks@7.15.1(react@19.0.0))(dayjs@1.11.13)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(@mantine/hooks@7.15.1(react@19.0.0))(@tabler/icons-react@3.24.0(react@19.0.0))(clsx@2.1.1)(dayjs@1.11.13)(react-dom@19.0.0(react@19.0.0))(react@19.0.0): + dependencies: + '@mantine/core': 7.15.1(@mantine/hooks@7.15.1(react@19.0.0))(@types/react@19.0.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@mantine/dates': 7.15.1(@mantine/core@7.15.1(@mantine/hooks@7.15.1(react@19.0.0))(@types/react@19.0.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(@mantine/hooks@7.15.1(react@19.0.0))(dayjs@1.11.13)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@mantine/hooks': 7.15.1(react@19.0.0) + '@tabler/icons-react': 3.24.0(react@19.0.0) + '@tanstack/match-sorter-utils': 8.19.4 + '@tanstack/react-table': 8.20.5(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@tanstack/react-virtual': 3.10.8(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + clsx: 2.1.1 + dayjs: 1.11.13 + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) markdown-it@14.1.0: dependencies: @@ -13228,21 +13258,21 @@ snapshots: netmask@2.0.2: {} - next-auth@5.0.0-beta.25(next@14.2.20(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.82.0))(react@18.3.1): + next-auth@5.0.0-beta.25(next@14.2.20(@babel/core@7.26.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(sass@1.83.0))(react@19.0.0): dependencies: '@auth/core': 0.37.2 - next: 14.2.20(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.82.0) - react: 18.3.1 + next: 14.2.20(@babel/core@7.26.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(sass@1.83.0) + react: 19.0.0 - next-intl@3.26.0(next@14.2.20(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.82.0))(react@18.3.1): + next-intl@3.26.1(next@14.2.20(@babel/core@7.26.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(sass@1.83.0))(react@19.0.0): dependencies: '@formatjs/intl-localematcher': 0.5.5 negotiator: 1.0.0 - next: 14.2.20(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.82.0) - react: 18.3.1 - use-intl: 3.26.0(react@18.3.1) + next: 14.2.20(@babel/core@7.26.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(sass@1.83.0) + react: 19.0.0 + use-intl: 3.26.1(react@19.0.0) - next@14.2.20(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.82.0): + next@14.2.20(@babel/core@7.26.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(sass@1.83.0): dependencies: '@next/env': 14.2.20 '@swc/helpers': 0.5.5 @@ -13250,9 +13280,9 @@ snapshots: caniuse-lite: 1.0.30001679 graceful-fs: 4.2.11 postcss: 8.4.31 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - styled-jsx: 5.1.1(@babel/core@7.26.0)(react@18.3.1) + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) + styled-jsx: 5.1.1(@babel/core@7.26.0)(react@19.0.0) optionalDependencies: '@next/swc-darwin-arm64': 14.2.20 '@next/swc-darwin-x64': 14.2.20 @@ -13263,7 +13293,7 @@ snapshots: '@next/swc-win32-arm64-msvc': 14.2.20 '@next/swc-win32-ia32-msvc': 14.2.20 '@next/swc-win32-x64-msvc': 14.2.20 - sass: 1.82.0 + sass: 1.83.0 transitivePeerDependencies: - '@babel/core' - babel-plugin-macros @@ -13874,81 +13904,99 @@ snapshots: minimist: 1.2.8 strip-json-comments: 2.0.1 - react-copy-to-clipboard@5.1.0(react@18.3.1): + react-copy-to-clipboard@5.1.0(react@19.0.0): dependencies: copy-to-clipboard: 3.3.3 prop-types: 15.8.1 - react: 18.3.1 + react: 19.0.0 - react-debounce-input@3.3.0(react@18.3.1): + react-debounce-input@3.3.0(react@19.0.0): dependencies: lodash.debounce: 4.0.8 prop-types: 15.8.1 - react: 18.3.1 + react: 19.0.0 - react-dom@18.3.1(react@18.3.1): + react-dom@19.0.0(react@19.0.0): dependencies: - loose-envify: 1.4.0 - react: 18.3.1 - scheduler: 0.23.2 + react: 19.0.0 + scheduler: 0.25.0 - react-error-boundary@4.1.2(react@18.3.1): + react-error-boundary@4.1.2(react@19.0.0): dependencies: '@babel/runtime': 7.25.6 - react: 18.3.1 + react: 19.0.0 react-immutable-proptypes@2.2.0(immutable@3.8.2): dependencies: immutable: 3.8.2 invariant: 2.2.4 - react-immutable-pure-component@2.2.2(immutable@3.8.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + react-immutable-pure-component@2.2.2(immutable@3.8.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0): dependencies: immutable: 3.8.2 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) - react-inspector@6.0.2(react@18.3.1): + react-inspector@6.0.2(react@19.0.0): dependencies: - react: 18.3.1 + react: 19.0.0 react-is@16.13.1: {} - react-number-format@5.4.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + react-number-format@5.4.2(react-dom@19.0.0(react@19.0.0))(react@19.0.0): dependencies: - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) - react-redux@9.1.2(@types/react@18.3.13)(react@18.3.1)(redux@5.0.1): + react-redux@9.1.2(@types/react@19.0.1)(react@19.0.0)(redux@5.0.1): dependencies: '@types/use-sync-external-store': 0.0.3 - react: 18.3.1 - use-sync-external-store: 1.2.2(react@18.3.1) + react: 19.0.0 + use-sync-external-store: 1.2.2(react@19.0.0) optionalDependencies: - '@types/react': 18.3.13 + '@types/react': 19.0.1 redux: 5.0.1 react-refresh@0.14.2: {} - react-remove-scroll-bar@2.3.6(@types/react@18.3.13)(react@18.3.1): + react-remove-scroll-bar@2.3.6(@types/react@18.3.13)(react@19.0.0): dependencies: - react: 18.3.1 - react-style-singleton: 2.2.1(@types/react@18.3.13)(react@18.3.1) + react: 19.0.0 + react-style-singleton: 2.2.1(@types/react@18.3.13)(react@19.0.0) tslib: 2.7.0 optionalDependencies: '@types/react': 18.3.13 - react-remove-scroll@2.6.0(@types/react@18.3.13)(react@18.3.1): + react-remove-scroll-bar@2.3.6(@types/react@19.0.1)(react@19.0.0): dependencies: - react: 18.3.1 - react-remove-scroll-bar: 2.3.6(@types/react@18.3.13)(react@18.3.1) - react-style-singleton: 2.2.1(@types/react@18.3.13)(react@18.3.1) + react: 19.0.0 + react-style-singleton: 2.2.1(@types/react@19.0.1)(react@19.0.0) tslib: 2.7.0 - use-callback-ref: 1.3.2(@types/react@18.3.13)(react@18.3.1) - use-sidecar: 1.1.2(@types/react@18.3.13)(react@18.3.1) + optionalDependencies: + '@types/react': 19.0.1 + + react-remove-scroll@2.6.0(@types/react@18.3.13)(react@19.0.0): + dependencies: + react: 19.0.0 + react-remove-scroll-bar: 2.3.6(@types/react@18.3.13)(react@19.0.0) + react-style-singleton: 2.2.1(@types/react@18.3.13)(react@19.0.0) + tslib: 2.7.0 + use-callback-ref: 1.3.2(@types/react@18.3.13)(react@19.0.0) + use-sidecar: 1.1.2(@types/react@18.3.13)(react@19.0.0) optionalDependencies: '@types/react': 18.3.13 + react-remove-scroll@2.6.0(@types/react@19.0.1)(react@19.0.0): + dependencies: + react: 19.0.0 + react-remove-scroll-bar: 2.3.6(@types/react@19.0.1)(react@19.0.0) + react-style-singleton: 2.2.1(@types/react@19.0.1)(react@19.0.0) + tslib: 2.7.0 + use-callback-ref: 1.3.2(@types/react@19.0.1)(react@19.0.0) + use-sidecar: 1.1.2(@types/react@19.0.1)(react@19.0.0) + optionalDependencies: + '@types/react': 19.0.1 + react-scan@0.0.31: dependencies: '@clack/core': 0.3.5 @@ -13957,50 +14005,66 @@ snapshots: mri: 1.2.0 playwright: 1.49.0 - react-simple-code-editor@0.14.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + react-simple-code-editor@0.14.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0): dependencies: - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) - react-style-singleton@2.2.1(@types/react@18.3.13)(react@18.3.1): + react-style-singleton@2.2.1(@types/react@18.3.13)(react@19.0.0): dependencies: get-nonce: 1.0.1 invariant: 2.2.4 - react: 18.3.1 + react: 19.0.0 tslib: 2.7.0 optionalDependencies: '@types/react': 18.3.13 - react-syntax-highlighter@15.5.0(react@18.3.1): + react-style-singleton@2.2.1(@types/react@19.0.1)(react@19.0.0): + dependencies: + get-nonce: 1.0.1 + invariant: 2.2.4 + react: 19.0.0 + tslib: 2.7.0 + optionalDependencies: + '@types/react': 19.0.1 + + react-syntax-highlighter@15.5.0(react@19.0.0): dependencies: '@babel/runtime': 7.25.6 highlight.js: 10.7.3 lowlight: 1.20.0 prismjs: 1.29.0 - react: 18.3.1 + react: 19.0.0 refractor: 3.6.0 - react-textarea-autosize@8.5.5(@types/react@18.3.13)(react@18.3.1): + react-textarea-autosize@8.5.5(@types/react@18.3.13)(react@19.0.0): dependencies: '@babel/runtime': 7.25.6 - react: 18.3.1 - use-composed-ref: 1.3.0(react@18.3.1) - use-latest: 1.2.1(@types/react@18.3.13)(react@18.3.1) + react: 19.0.0 + use-composed-ref: 1.3.0(react@19.0.0) + use-latest: 1.2.1(@types/react@18.3.13)(react@19.0.0) transitivePeerDependencies: - '@types/react' - react-transition-group@4.4.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + react-textarea-autosize@8.5.5(@types/react@19.0.1)(react@19.0.0): + dependencies: + '@babel/runtime': 7.25.6 + react: 19.0.0 + use-composed-ref: 1.3.0(react@19.0.0) + use-latest: 1.2.1(@types/react@19.0.1)(react@19.0.0) + transitivePeerDependencies: + - '@types/react' + + react-transition-group@4.4.5(react-dom@19.0.0(react@19.0.0))(react@19.0.0): dependencies: '@babel/runtime': 7.25.6 dom-helpers: 5.2.1 loose-envify: 1.4.0 prop-types: 15.8.1 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) - react@18.3.1: - dependencies: - loose-envify: 1.4.0 + react@19.0.0: {} readable-stream@2.3.8: dependencies: @@ -14229,7 +14293,7 @@ snapshots: safer-buffer@2.1.2: {} - sass@1.82.0: + sass@1.83.0: dependencies: chokidar: 4.0.0 immutable: 5.0.2 @@ -14243,9 +14307,7 @@ snapshots: dependencies: xmlchars: 2.2.0 - scheduler@0.23.2: - dependencies: - loose-envify: 1.4.0 + scheduler@0.25.0: {} schema-utils@3.3.0: dependencies: @@ -14558,10 +14620,10 @@ snapshots: strnum@1.0.5: {} - styled-jsx@5.1.1(@babel/core@7.26.0)(react@18.3.1): + styled-jsx@5.1.1(@babel/core@7.26.0)(react@19.0.0): dependencies: client-only: 0.0.1 - react: 18.3.1 + react: 19.0.0 optionalDependencies: '@babel/core': 7.26.0 @@ -14612,7 +14674,7 @@ snapshots: transitivePeerDependencies: - debug - swagger-ui-react@5.18.2(@types/react@18.3.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + swagger-ui-react@5.18.2(@types/react@19.0.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0): dependencies: '@babel/runtime-corejs3': 7.25.6 '@braintree/sanitize-url': 7.0.4 @@ -14630,15 +14692,15 @@ snapshots: prop-types: 15.8.1 randexp: 0.5.3 randombytes: 2.1.0 - react: 18.3.1 - react-copy-to-clipboard: 5.1.0(react@18.3.1) - react-debounce-input: 3.3.0(react@18.3.1) - react-dom: 18.3.1(react@18.3.1) + react: 19.0.0 + react-copy-to-clipboard: 5.1.0(react@19.0.0) + react-debounce-input: 3.3.0(react@19.0.0) + react-dom: 19.0.0(react@19.0.0) react-immutable-proptypes: 2.2.0(immutable@3.8.2) - react-immutable-pure-component: 2.2.2(immutable@3.8.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - react-inspector: 6.0.2(react@18.3.1) - react-redux: 9.1.2(@types/react@18.3.13)(react@18.3.1)(redux@5.0.1) - react-syntax-highlighter: 15.5.0(react@18.3.1) + react-immutable-pure-component: 2.2.2(immutable@3.8.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + react-inspector: 6.0.2(react@19.0.0) + react-redux: 9.1.2(@types/react@19.0.1)(react@19.0.0)(redux@5.0.1) + react-syntax-highlighter: 15.5.0(react@19.0.0) redux: 5.0.1 redux-immutable: 4.0.0(immutable@3.8.2) remarkable: 2.0.1 @@ -14798,11 +14860,11 @@ snapshots: no-case: 2.3.2 upper-case: 1.1.3 - tldts-core@6.1.65: {} + tldts-core@6.1.67: {} - tldts@6.1.65: + tldts@6.1.67: dependencies: - tldts-core: 6.1.65 + tldts-core: 6.1.67 tmp@0.0.33: dependencies: @@ -14822,7 +14884,7 @@ snapshots: tough-cookie@5.0.0: dependencies: - tldts: 6.1.65 + tldts: 6.1.67 tr46@0.0.3: {} @@ -14850,15 +14912,15 @@ snapshots: triple-beam@1.4.1: {} - trpc-to-openapi@2.1.0(@trpc/server@11.0.0-rc.657(typescript@5.7.2))(zod-openapi@2.19.0(zod@3.23.8))(zod@3.23.8): + trpc-to-openapi@2.1.0(@trpc/server@11.0.0-rc.660(typescript@5.7.2))(zod-openapi@2.19.0(zod@3.24.1))(zod@3.24.1): dependencies: - '@trpc/server': 11.0.0-rc.657(typescript@5.7.2) + '@trpc/server': 11.0.0-rc.660(typescript@5.7.2) co-body: 6.2.0 h3: 1.13.0 lodash.clonedeep: 4.5.0 openapi3-ts: 4.3.3 - zod: 3.23.8 - zod-openapi: 2.19.0(zod@3.23.8) + zod: 3.24.1 + zod-openapi: 2.19.0(zod@3.24.1) optionalDependencies: '@rollup/rollup-linux-x64-gnu': 4.6.1 @@ -14868,14 +14930,14 @@ snapshots: ts-mixer@6.0.4: {} - ts-node@10.9.2(@types/node@22.10.1)(typescript@5.7.2): + ts-node@10.9.2(@types/node@22.10.2)(typescript@5.7.2): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.11 '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 - '@types/node': 22.10.1 + '@types/node': 22.10.2 acorn: 8.14.0 acorn-walk: 8.3.4 arg: 4.1.3 @@ -15000,13 +15062,12 @@ snapshots: dependencies: ts-toolbelt: 9.6.0 - typescript-eslint@8.17.0(eslint@9.16.0)(typescript@5.7.2): + typescript-eslint@8.18.0(eslint@9.16.0)(typescript@5.7.2): dependencies: - '@typescript-eslint/eslint-plugin': 8.17.0(@typescript-eslint/parser@8.17.0(eslint@9.16.0)(typescript@5.7.2))(eslint@9.16.0)(typescript@5.7.2) - '@typescript-eslint/parser': 8.17.0(eslint@9.16.0)(typescript@5.7.2) - '@typescript-eslint/utils': 8.17.0(eslint@9.16.0)(typescript@5.7.2) + '@typescript-eslint/eslint-plugin': 8.18.0(@typescript-eslint/parser@8.18.0(eslint@9.16.0)(typescript@5.7.2))(eslint@9.16.0)(typescript@5.7.2) + '@typescript-eslint/parser': 8.18.0(eslint@9.16.0)(typescript@5.7.2) + '@typescript-eslint/utils': 8.18.0(eslint@9.16.0)(typescript@5.7.2) eslint: 9.16.0 - optionalDependencies: typescript: 5.7.2 transitivePeerDependencies: - supports-color @@ -15115,53 +15176,81 @@ snapshots: url-toolkit@2.2.5: {} - use-callback-ref@1.3.2(@types/react@18.3.13)(react@18.3.1): + use-callback-ref@1.3.2(@types/react@18.3.13)(react@19.0.0): dependencies: - react: 18.3.1 + react: 19.0.0 tslib: 2.7.0 optionalDependencies: '@types/react': 18.3.13 - use-composed-ref@1.3.0(react@18.3.1): + use-callback-ref@1.3.2(@types/react@19.0.1)(react@19.0.0): dependencies: - react: 18.3.1 + react: 19.0.0 + tslib: 2.7.0 + optionalDependencies: + '@types/react': 19.0.1 - use-deep-compare-effect@1.8.1(react@18.3.1): + use-composed-ref@1.3.0(react@19.0.0): + dependencies: + react: 19.0.0 + + use-deep-compare-effect@1.8.1(react@19.0.0): dependencies: '@babel/runtime': 7.25.6 dequal: 2.0.3 - react: 18.3.1 + react: 19.0.0 - use-intl@3.26.0(react@18.3.1): + use-intl@3.26.1(react@19.0.0): dependencies: '@formatjs/fast-memoize': 2.2.1 intl-messageformat: 10.7.1 - react: 18.3.1 + react: 19.0.0 - use-isomorphic-layout-effect@1.1.2(@types/react@18.3.13)(react@18.3.1): + use-isomorphic-layout-effect@1.1.2(@types/react@18.3.13)(react@19.0.0): dependencies: - react: 18.3.1 + react: 19.0.0 optionalDependencies: '@types/react': 18.3.13 - use-latest@1.2.1(@types/react@18.3.13)(react@18.3.1): + use-isomorphic-layout-effect@1.1.2(@types/react@19.0.1)(react@19.0.0): dependencies: - react: 18.3.1 - use-isomorphic-layout-effect: 1.1.2(@types/react@18.3.13)(react@18.3.1) + react: 19.0.0 + optionalDependencies: + '@types/react': 19.0.1 + + use-latest@1.2.1(@types/react@18.3.13)(react@19.0.0): + dependencies: + react: 19.0.0 + use-isomorphic-layout-effect: 1.1.2(@types/react@18.3.13)(react@19.0.0) optionalDependencies: '@types/react': 18.3.13 - use-sidecar@1.1.2(@types/react@18.3.13)(react@18.3.1): + use-latest@1.2.1(@types/react@19.0.1)(react@19.0.0): + dependencies: + react: 19.0.0 + use-isomorphic-layout-effect: 1.1.2(@types/react@19.0.1)(react@19.0.0) + optionalDependencies: + '@types/react': 19.0.1 + + use-sidecar@1.1.2(@types/react@18.3.13)(react@19.0.0): dependencies: detect-node-es: 1.1.0 - react: 18.3.1 + react: 19.0.0 tslib: 2.7.0 optionalDependencies: '@types/react': 18.3.13 - use-sync-external-store@1.2.2(react@18.3.1): + use-sidecar@1.1.2(@types/react@19.0.1)(react@19.0.0): dependencies: - react: 18.3.1 + detect-node-es: 1.1.0 + react: 19.0.0 + tslib: 2.7.0 + optionalDependencies: + '@types/react': 19.0.1 + + use-sync-external-store@1.2.2(react@19.0.0): + dependencies: + react: 19.0.0 util-deprecate@1.0.2: {} @@ -15201,13 +15290,13 @@ snapshots: dependencies: global: 4.4.0 - vite-node@2.1.8(@types/node@22.10.1)(sass@1.82.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.32.0): + vite-node@2.1.8(@types/node@22.10.2)(sass@1.83.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.32.0): dependencies: cac: 6.7.14 debug: 4.3.7 es-module-lexer: 1.5.4 pathe: 1.1.2 - vite: 5.4.5(@types/node@22.10.1)(sass@1.82.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.32.0) + vite: 5.4.5(@types/node@22.10.2)(sass@1.83.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.32.0) transitivePeerDependencies: - '@types/node' - less @@ -15219,33 +15308,33 @@ snapshots: - supports-color - terser - vite-tsconfig-paths@5.1.4(typescript@5.7.2)(vite@5.4.5(@types/node@22.10.1)(sass@1.82.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.32.0)): + vite-tsconfig-paths@5.1.4(typescript@5.7.2)(vite@5.4.5(@types/node@22.10.2)(sass@1.83.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.32.0)): dependencies: debug: 4.3.7 globrex: 0.1.2 tsconfck: 3.1.3(typescript@5.7.2) optionalDependencies: - vite: 5.4.5(@types/node@22.10.1)(sass@1.82.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.32.0) + vite: 5.4.5(@types/node@22.10.2)(sass@1.83.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.32.0) transitivePeerDependencies: - supports-color - typescript - vite@5.4.5(@types/node@22.10.1)(sass@1.82.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.32.0): + vite@5.4.5(@types/node@22.10.2)(sass@1.83.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.32.0): dependencies: esbuild: 0.21.5 postcss: 8.4.47 rollup: 4.21.3 optionalDependencies: - '@types/node': 22.10.1 + '@types/node': 22.10.2 fsevents: 2.3.3 - sass: 1.82.0 + sass: 1.83.0 sugarss: 4.0.1(postcss@8.4.47) terser: 5.32.0 - vitest@2.1.8(@types/node@22.10.1)(@vitest/ui@2.1.8)(jsdom@25.0.1)(sass@1.82.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.32.0): + vitest@2.1.8(@types/node@22.10.2)(@vitest/ui@2.1.8)(jsdom@25.0.1)(sass@1.83.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.32.0): dependencies: '@vitest/expect': 2.1.8 - '@vitest/mocker': 2.1.8(vite@5.4.5(@types/node@22.10.1)(sass@1.82.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.32.0)) + '@vitest/mocker': 2.1.8(vite@5.4.5(@types/node@22.10.2)(sass@1.83.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.32.0)) '@vitest/pretty-format': 2.1.8 '@vitest/runner': 2.1.8 '@vitest/snapshot': 2.1.8 @@ -15261,11 +15350,11 @@ snapshots: tinyexec: 0.3.1 tinypool: 1.0.1 tinyrainbow: 1.2.0 - vite: 5.4.5(@types/node@22.10.1)(sass@1.82.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.32.0) - vite-node: 2.1.8(@types/node@22.10.1)(sass@1.82.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.32.0) + vite: 5.4.5(@types/node@22.10.2)(sass@1.83.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.32.0) + vite-node: 2.1.8(@types/node@22.10.2)(sass@1.83.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.32.0) why-is-node-running: 2.3.0 optionalDependencies: - '@types/node': 22.10.1 + '@types/node': 22.10.2 '@vitest/ui': 2.1.8(vitest@2.1.8) jsdom: 25.0.1 transitivePeerDependencies: @@ -15522,12 +15611,12 @@ snapshots: compress-commons: 6.0.2 readable-stream: 4.5.2 - zod-form-data@2.0.2(zod@3.23.8): + zod-form-data@2.0.2(zod@3.24.1): dependencies: - zod: 3.23.8 + zod: 3.24.1 - zod-openapi@2.19.0(zod@3.23.8): + zod-openapi@2.19.0(zod@3.24.1): dependencies: - zod: 3.23.8 + zod: 3.24.1 - zod@3.23.8: {} + zod@3.24.1: {} diff --git a/tooling/eslint/package.json b/tooling/eslint/package.json index 02c23bbe1..c8a0dec2a 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.2", "eslint-plugin-react-hooks": "^5.1.0", - "typescript-eslint": "^8.17.0" + "typescript-eslint": "^8.18.0" }, "devDependencies": { "@homarr/prettier-config": "workspace:^0.1.0",