diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml index 0dabeb329..b35fd56f4 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yml +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -31,6 +31,7 @@ body: label: Version description: What version of Homarr are you running? options: + - 1.25.0 - 1.24.0 - 1.23.0 - 1.22.0 diff --git a/.github/workflows/conventions-semantic-commits.yml b/.github/workflows/conventions-semantic-commits.yml deleted file mode 100644 index d26307ba0..000000000 --- a/.github/workflows/conventions-semantic-commits.yml +++ /dev/null @@ -1,14 +0,0 @@ -# https://github.com/webiny/action-conventional-commits?tab=readme-ov-file -name: "[Conventions] Semantic Commits" - -on: - pull_request: - branches: [ dev ] - -jobs: - build: - name: Conventional Commits - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - uses: webiny/action-conventional-commits@v1.3.0 \ No newline at end of file diff --git a/.nvmrc b/.nvmrc index 5b540673a..fc37597bc 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -22.16.0 +22.17.0 diff --git a/apps/nextjs/package.json b/apps/nextjs/package.json index 73cc93437..725fbe473 100644 --- a/apps/nextjs/package.json +++ b/apps/nextjs/package.json @@ -48,28 +48,28 @@ "@homarr/ui": "workspace:^0.1.0", "@homarr/validation": "workspace:^0.1.0", "@homarr/widgets": "workspace:^0.1.0", - "@mantine/colors-generator": "^8.1.1", - "@mantine/core": "^8.1.1", - "@mantine/dropzone": "^8.1.1", - "@mantine/hooks": "^8.1.1", - "@mantine/modals": "^8.1.1", - "@mantine/tiptap": "^8.1.1", + "@mantine/colors-generator": "^8.1.2", + "@mantine/core": "^8.1.2", + "@mantine/dropzone": "^8.1.2", + "@mantine/hooks": "^8.1.2", + "@mantine/modals": "^8.1.2", + "@mantine/tiptap": "^8.1.2", "@million/lint": "1.0.14", "@tabler/icons-react": "^3.34.0", - "@tanstack/react-query": "^5.80.10", - "@tanstack/react-query-devtools": "^5.80.10", - "@tanstack/react-query-next-experimental": "^5.80.10", - "@trpc/client": "^11.4.2", - "@trpc/next": "^11.4.2", - "@trpc/react-query": "^11.4.2", - "@trpc/server": "^11.4.2", + "@tanstack/react-query": "^5.81.4", + "@tanstack/react-query-devtools": "^5.81.4", + "@tanstack/react-query-next-experimental": "^5.81.4", + "@trpc/client": "^11.4.3", + "@trpc/next": "^11.4.3", + "@trpc/react-query": "^11.4.3", + "@trpc/server": "^11.4.3", "@xterm/addon-canvas": "^0.7.0", "@xterm/addon-fit": "0.10.0", "@xterm/xterm": "^5.5.0", "chroma-js": "^3.1.2", "clsx": "^2.1.1", "dayjs": "^1.11.13", - "dotenv": "^16.5.0", + "dotenv": "^16.6.0", "flag-icons": "^7.5.0", "glob": "^11.0.3", "jotai": "^2.12.5", @@ -83,7 +83,7 @@ "react-simple-code-editor": "^0.14.1", "sass": "^1.89.2", "superjson": "2.2.2", - "swagger-ui-react": "^5.25.2", + "swagger-ui-react": "^5.25.3", "use-deep-compare-effect": "^1.8.1", "zod": "^3.25.67" }, @@ -92,15 +92,15 @@ "@homarr/prettier-config": "workspace:^0.1.0", "@homarr/tsconfig": "workspace:^0.1.0", "@types/chroma-js": "3.1.1", - "@types/node": "^22.15.32", + "@types/node": "^22.15.33", "@types/prismjs": "^1.26.5", "@types/react": "19.1.8", "@types/react-dom": "19.1.6", "@types/swagger-ui-react": "^5.18.0", - "concurrently": "^9.1.2", + "concurrently": "^9.2.0", "eslint": "^9.29.0", "node-loader": "^2.1.0", - "prettier": "^3.5.3", + "prettier": "^3.6.2", "typescript": "^5.8.3" } } diff --git a/apps/nextjs/src/app/[locale]/manage/integrations/_components/secrets/integration-secret-icons.ts b/apps/nextjs/src/app/[locale]/manage/integrations/_components/secrets/integration-secret-icons.ts index 16266f889..1c15710a5 100644 --- a/apps/nextjs/src/app/[locale]/manage/integrations/_components/secrets/integration-secret-icons.ts +++ b/apps/nextjs/src/app/[locale]/manage/integrations/_components/secrets/integration-secret-icons.ts @@ -1,4 +1,4 @@ -import { IconGrid3x3, IconKey, IconPassword, IconServer, IconUser } from "@tabler/icons-react"; +import { IconGrid3x3, IconKey, IconMessage, IconPassword, IconServer, IconUser } from "@tabler/icons-react"; import type { IntegrationSecretKind } from "@homarr/definitions"; import type { TablerIcon } from "@homarr/ui"; @@ -9,4 +9,5 @@ export const integrationSecretIcons = { password: IconPassword, realm: IconServer, tokenId: IconGrid3x3, + topic: IconMessage, } satisfies Record; diff --git a/apps/tasks/package.json b/apps/tasks/package.json index 8796f5122..7915e7723 100644 --- a/apps/tasks/package.json +++ b/apps/tasks/package.json @@ -36,19 +36,19 @@ "@homarr/validation": "workspace:^0.1.0", "@homarr/widgets": "workspace:^0.1.0", "dayjs": "^1.11.13", - "dotenv": "^16.5.0", + "dotenv": "^16.6.0", "superjson": "2.2.2", - "undici": "7.10.0" + "undici": "7.11.0" }, "devDependencies": { "@homarr/eslint-config": "workspace:^0.2.0", "@homarr/prettier-config": "workspace:^0.1.0", "@homarr/tsconfig": "workspace:^0.1.0", - "@types/node": "^22.15.32", + "@types/node": "^22.15.33", "dotenv-cli": "^8.0.0", "esbuild": "^0.25.5", "eslint": "^9.29.0", - "prettier": "^3.5.3", + "prettier": "^3.6.2", "tsx": "4.20.3", "typescript": "^5.8.3" } diff --git a/apps/websocket/package.json b/apps/websocket/package.json index ef0b1cfce..3167eefc7 100644 --- a/apps/websocket/package.json +++ b/apps/websocket/package.json @@ -25,7 +25,7 @@ "@homarr/log": "workspace:^", "@homarr/redis": "workspace:^0.1.0", "@homarr/validation": "workspace:^0.1.0", - "dotenv": "^16.5.0", + "dotenv": "^16.6.0", "tsx": "4.20.3", "ws": "^8.18.2" }, @@ -36,7 +36,7 @@ "@types/ws": "^8.18.1", "esbuild": "^0.25.5", "eslint": "^9.29.0", - "prettier": "^3.5.3", + "prettier": "^3.6.2", "typescript": "^5.8.3" } } diff --git a/package.json b/package.json index 37bc59072..e88ab0004 100644 --- a/package.json +++ b/package.json @@ -36,16 +36,16 @@ "@semantic-release/commit-analyzer": "^13.0.1", "@semantic-release/git": "^10.0.1", "@semantic-release/github": "^11.0.3", - "@semantic-release/npm": "^12.0.1", + "@semantic-release/npm": "^12.0.2", "@semantic-release/release-notes-generator": "^14.0.3", "@turbo/gen": "^2.5.4", - "@vitejs/plugin-react": "^4.5.2", + "@vitejs/plugin-react": "^4.6.0", "@vitest/coverage-v8": "^3.2.4", "@vitest/ui": "^3.2.4", "conventional-changelog-conventionalcommits": "^9.0.0", "cross-env": "^7.0.3", "jsdom": "^26.1.0", - "prettier": "^3.5.3", + "prettier": "^3.6.2", "semantic-release": "^24.2.5", "testcontainers": "^11.0.3", "turbo": "^2.5.4", @@ -53,9 +53,9 @@ "vite-tsconfig-paths": "^5.1.4", "vitest": "^3.2.4" }, - "packageManager": "pnpm@10.12.1", + "packageManager": "pnpm@10.12.4", "engines": { - "node": ">=22.16.0" + "node": ">=22.17.0" }, "pnpm": { "onlyBuiltDependencies": [ @@ -70,7 +70,7 @@ "tree-sitter-json" ], "overrides": { - "proxmox-api>undici": "7.10.0" + "proxmox-api>undici": "7.11.0" }, "allowUnusedPatches": true, "ignoredBuiltDependencies": [ diff --git a/packages/api/package.json b/packages/api/package.json index 43889c60a..deb04da23 100644 --- a/packages/api/package.json +++ b/packages/api/package.json @@ -41,11 +41,11 @@ "@homarr/server-settings": "workspace:^0.1.0", "@homarr/validation": "workspace:^0.1.0", "@kubernetes/client-node": "^1.3.0", - "@tanstack/react-query": "^5.80.10", - "@trpc/client": "^11.4.2", - "@trpc/react-query": "^11.4.2", - "@trpc/server": "^11.4.2", - "@trpc/tanstack-react-query": "^11.4.2", + "@tanstack/react-query": "^5.81.4", + "@trpc/client": "^11.4.3", + "@trpc/react-query": "^11.4.3", + "@trpc/server": "^11.4.3", + "@trpc/tanstack-react-query": "^11.4.3", "lodash.clonedeep": "^4.5.0", "next": "15.3.4", "react": "19.1.0", @@ -59,7 +59,7 @@ "@homarr/prettier-config": "workspace:^0.1.0", "@homarr/tsconfig": "workspace:^0.1.0", "eslint": "^9.29.0", - "prettier": "^3.5.3", + "prettier": "^3.6.2", "typescript": "^5.8.3" } } diff --git a/packages/api/src/router/widgets/index.ts b/packages/api/src/router/widgets/index.ts index d97741c29..77a1bd2ef 100644 --- a/packages/api/src/router/widgets/index.ts +++ b/packages/api/src/router/widgets/index.ts @@ -11,6 +11,7 @@ import { mediaTranscodingRouter } from "./media-transcoding"; import { minecraftRouter } from "./minecraft"; import { networkControllerRouter } from "./network-controller"; import { notebookRouter } from "./notebook"; +import { notificationsRouter } from "./notifications"; import { optionsRouter } from "./options"; import { releasesRouter } from "./releases"; import { rssFeedRouter } from "./rssFeed"; @@ -37,4 +38,5 @@ export const widgetRouter = createTRPCRouter({ options: optionsRouter, releases: releasesRouter, networkController: networkControllerRouter, + notifications: notificationsRouter, }); diff --git a/packages/api/src/router/widgets/notifications.ts b/packages/api/src/router/widgets/notifications.ts new file mode 100644 index 000000000..89ec95165 --- /dev/null +++ b/packages/api/src/router/widgets/notifications.ts @@ -0,0 +1,64 @@ +import { observable } from "@trpc/server/observable"; + +import type { Modify } from "@homarr/common/types"; +import type { Integration } from "@homarr/db/schema"; +import type { IntegrationKindByCategory } from "@homarr/definitions"; +import { getIntegrationKindsByCategory } from "@homarr/definitions"; +import type { Notification } from "@homarr/integrations"; +import { notificationsRequestHandler } from "@homarr/request-handler/notifications"; + +import type { IntegrationAction } from "../../middlewares/integration"; +import { createManyIntegrationMiddleware } from "../../middlewares/integration"; +import { createTRPCRouter, publicProcedure } from "../../trpc"; + +const createNotificationsIntegrationMiddleware = (action: IntegrationAction) => + createManyIntegrationMiddleware(action, ...getIntegrationKindsByCategory("notifications")); + +export const notificationsRouter = createTRPCRouter({ + getNotifications: publicProcedure + .unstable_concat(createNotificationsIntegrationMiddleware("query")) + .query(async ({ ctx }) => { + return await Promise.all( + ctx.integrations.map(async (integration) => { + const innerHandler = notificationsRequestHandler.handler(integration, {}); + const { data, timestamp } = await innerHandler.getCachedOrUpdatedDataAsync({ forceUpdate: false }); + + return { + integration: { + id: integration.id, + name: integration.name, + kind: integration.kind, + updatedAt: timestamp, + }, + data, + }; + }), + ); + }), + subscribeNotifications: publicProcedure + .unstable_concat(createNotificationsIntegrationMiddleware("query")) + .subscription(({ ctx }) => { + return observable<{ + integration: Modify }>; + data: Notification[]; + }>((emit) => { + const unsubscribes: (() => void)[] = []; + for (const integrationWithSecrets of ctx.integrations) { + const { decryptedSecrets: _, ...integration } = integrationWithSecrets; + const innerHandler = notificationsRequestHandler.handler(integrationWithSecrets, {}); + const unsubscribe = innerHandler.subscribe((data) => { + emit.next({ + integration, + data, + }); + }); + unsubscribes.push(unsubscribe); + } + return () => { + unsubscribes.forEach((unsubscribe) => { + unsubscribe(); + }); + }; + }); + }), +}); diff --git a/packages/auth/package.json b/packages/auth/package.json index b82799f20..e916e170c 100644 --- a/packages/auth/package.json +++ b/packages/auth/package.json @@ -23,8 +23,8 @@ }, "prettier": "@homarr/prettier-config", "dependencies": { - "@auth/core": "^0.39.1", - "@auth/drizzle-adapter": "^1.9.1", + "@auth/core": "^0.40.0", + "@auth/drizzle-adapter": "^1.10.0", "@homarr/certificates": "workspace:^0.1.0", "@homarr/common": "workspace:^0.1.0", "@homarr/db": "workspace:^0.1.0", @@ -34,9 +34,9 @@ "@homarr/validation": "workspace:^0.1.0", "bcrypt": "^6.0.0", "cookies": "^0.9.1", - "ldapts": "8.0.1", + "ldapts": "8.0.2", "next": "15.3.4", - "next-auth": "5.0.0-beta.28", + "next-auth": "5.0.0-beta.29", "react": "19.1.0", "react-dom": "19.1.0", "zod": "^3.25.67" @@ -48,7 +48,7 @@ "@types/bcrypt": "5.0.2", "@types/cookies": "0.9.1", "eslint": "^9.29.0", - "prettier": "^3.5.3", + "prettier": "^3.6.2", "typescript": "^5.8.3" } } diff --git a/packages/certificates/package.json b/packages/certificates/package.json index 53ea2e550..45b457b43 100644 --- a/packages/certificates/package.json +++ b/packages/certificates/package.json @@ -24,7 +24,7 @@ "dependencies": { "@homarr/common": "workspace:^0.1.0", "@homarr/db": "workspace:^0.1.0", - "undici": "7.10.0" + "undici": "7.11.0" }, "devDependencies": { "@homarr/eslint-config": "workspace:^0.2.0", diff --git a/packages/cli/package.json b/packages/cli/package.json index 3e6f7c2be..552ede3a7 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -28,7 +28,7 @@ "@homarr/common": "workspace:^0.1.0", "@homarr/db": "workspace:^0.1.0", "@homarr/validation": "workspace:^0.1.0", - "dotenv": "^16.5.0" + "dotenv": "^16.6.0" }, "devDependencies": { "@homarr/eslint-config": "workspace:^0.2.0", diff --git a/packages/common/package.json b/packages/common/package.json index f31538d40..134f95136 100644 --- a/packages/common/package.json +++ b/packages/common/package.json @@ -33,7 +33,7 @@ "next": "15.3.4", "react": "19.1.0", "react-dom": "19.1.0", - "undici": "7.10.0", + "undici": "7.11.0", "zod": "^3.25.67", "zod-validation-error": "^3.5.2" }, diff --git a/packages/common/src/hooks.ts b/packages/common/src/hooks.ts index e5040968e..ff4559b5f 100644 --- a/packages/common/src/hooks.ts +++ b/packages/common/src/hooks.ts @@ -10,11 +10,11 @@ const calculateTimeAgo = (timestamp: Date) => { return dayjs().to(timestamp); }; -export const useTimeAgo = (timestamp: Date) => { +export const useTimeAgo = (timestamp: Date, updateFrequency = 1000) => { const [timeAgo, setTimeAgo] = useState(calculateTimeAgo(timestamp)); useEffect(() => { - const intervalId = setInterval(() => setTimeAgo(calculateTimeAgo(timestamp)), 1000); // update every second + const intervalId = setInterval(() => setTimeAgo(calculateTimeAgo(timestamp)), updateFrequency); return () => clearInterval(intervalId); // clear interval on hook unmount }, [timestamp]); diff --git a/packages/cron-job-runner/src/index.ts b/packages/cron-job-runner/src/index.ts index 9605ba3c4..73d9e436b 100644 --- a/packages/cron-job-runner/src/index.ts +++ b/packages/cron-job-runner/src/index.ts @@ -25,6 +25,7 @@ export const cronJobs = { minecraftServerStatus: { preventManualExecution: false }, networkController: { preventManualExecution: false }, dockerContainers: { preventManualExecution: false }, + refreshNotifications: { preventManualExecution: false }, } satisfies Record; /** diff --git a/packages/cron-jobs/src/index.ts b/packages/cron-jobs/src/index.ts index 64a661b05..b29e8a46e 100644 --- a/packages/cron-jobs/src/index.ts +++ b/packages/cron-jobs/src/index.ts @@ -11,6 +11,7 @@ import { mediaRequestListJob, mediaRequestStatsJob } from "./jobs/integrations/m import { mediaServerJob } from "./jobs/integrations/media-server"; import { mediaTranscodingJob } from "./jobs/integrations/media-transcoding"; import { networkControllerJob } from "./jobs/integrations/network-controller"; +import { refreshNotificationsJob } from "./jobs/integrations/notifications"; import { minecraftServerStatusJob } from "./jobs/minecraft-server-status"; import { pingJob } from "./jobs/ping"; import { rssFeedsJob } from "./jobs/rss-feeds"; @@ -38,6 +39,7 @@ export const jobGroup = createCronJobGroup({ minecraftServerStatus: minecraftServerStatusJob, dockerContainers: dockerContainersJob, networkController: networkControllerJob, + refreshNotifications: refreshNotificationsJob, }); export type JobGroupKeys = ReturnType<(typeof jobGroup)["getKeys"]>[number]; diff --git a/packages/cron-jobs/src/jobs/integrations/notifications.ts b/packages/cron-jobs/src/jobs/integrations/notifications.ts new file mode 100644 index 000000000..0f544995f --- /dev/null +++ b/packages/cron-jobs/src/jobs/integrations/notifications.ts @@ -0,0 +1,14 @@ +import { EVERY_5_MINUTES } from "@homarr/cron-jobs-core/expressions"; +import { createRequestIntegrationJobHandler } from "@homarr/request-handler/lib/cached-request-integration-job-handler"; +import { notificationsRequestHandler } from "@homarr/request-handler/notifications"; + +import { createCronJob } from "../../lib"; + +export const refreshNotificationsJob = createCronJob("refreshNotifications", EVERY_5_MINUTES).withCallback( + createRequestIntegrationJobHandler(notificationsRequestHandler.handler, { + widgetKinds: ["notifications"], + getInput: { + notifications: (options) => options, + }, + }), +); diff --git a/packages/db/package.json b/packages/db/package.json index a0e7de22e..fb36a45ee 100644 --- a/packages/db/package.json +++ b/packages/db/package.json @@ -38,18 +38,18 @@ }, "prettier": "@homarr/prettier-config", "dependencies": { - "@auth/core": "^0.39.1", + "@auth/core": "^0.40.0", "@homarr/common": "workspace:^0.1.0", "@homarr/definitions": "workspace:^0.1.0", "@homarr/env": "workspace:^0.1.0", "@homarr/log": "workspace:^0.1.0", "@homarr/server-settings": "workspace:^0.1.0", - "@mantine/core": "^8.1.1", + "@mantine/core": "^8.1.2", "@paralleldrive/cuid2": "^2.2.2", "@testcontainers/mysql": "^11.0.3", - "better-sqlite3": "^11.10.0", - "dotenv": "^16.5.0", - "drizzle-kit": "^0.31.1", + "better-sqlite3": "^12.1.1", + "dotenv": "^16.6.0", + "drizzle-kit": "^0.31.4", "drizzle-orm": "^0.44.2", "drizzle-zod": "^0.7.1", "mysql2": "3.14.1" @@ -62,7 +62,7 @@ "dotenv-cli": "^8.0.0", "esbuild": "^0.25.5", "eslint": "^9.29.0", - "prettier": "^3.5.3", + "prettier": "^3.6.2", "tsx": "4.20.3", "typescript": "^5.8.3" } diff --git a/packages/definitions/src/integration.ts b/packages/definitions/src/integration.ts index a363a6cac..c127e364f 100644 --- a/packages/definitions/src/integration.ts +++ b/packages/definitions/src/integration.ts @@ -7,6 +7,7 @@ export const integrationSecretKindObject = { password: { isPublic: false }, tokenId: { isPublic: true }, realm: { isPublic: true }, + topic: { isPublic: true }, } satisfies Record; export const integrationSecretKinds = objectKeys(integrationSecretKindObject); @@ -169,6 +170,12 @@ export const integrationDefs = { iconUrl: "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons@master/png/unifi.png", category: ["networkController"], }, + ntfy: { + name: "ntfy", + secretKinds: [["topic"], ["topic", "apiKey"]], + iconUrl: "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons@master/svg/ntfy.svg", + category: ["notifications"], + }, } as const satisfies Record; export const integrationKinds = objectKeys(integrationDefs) as AtLeastOneOf; @@ -223,4 +230,5 @@ export type IntegrationCategory = | "healthMonitoring" | "search" | "mediaTranscoding" - | "networkController"; + | "networkController" + | "notifications"; diff --git a/packages/definitions/src/widget.ts b/packages/definitions/src/widget.ts index e5b92a8bd..609e8bf9a 100644 --- a/packages/definitions/src/widget.ts +++ b/packages/definitions/src/widget.ts @@ -25,5 +25,6 @@ export const widgetKinds = [ "healthMonitoring", "releases", "dockerContainers", + "notifications", ] as const; export type WidgetKind = (typeof widgetKinds)[number]; diff --git a/packages/form/package.json b/packages/form/package.json index 048117274..7ae28fa4b 100644 --- a/packages/form/package.json +++ b/packages/form/package.json @@ -26,7 +26,7 @@ "@homarr/common": "workspace:^0.1.0", "@homarr/translation": "workspace:^0.1.0", "@homarr/validation": "workspace:^0.1.0", - "@mantine/form": "^8.1.1", + "@mantine/form": "^8.1.2", "zod": "^3.25.67" }, "devDependencies": { diff --git a/packages/forms-collection/package.json b/packages/forms-collection/package.json index 6cf0c6a8a..e2b51b8b6 100644 --- a/packages/forms-collection/package.json +++ b/packages/forms-collection/package.json @@ -29,7 +29,7 @@ "@homarr/notifications": "workspace:^0.1.0", "@homarr/translation": "workspace:^0.1.0", "@homarr/validation": "workspace:^0.1.0", - "@mantine/core": "^8.1.1", + "@mantine/core": "^8.1.2", "react": "19.1.0", "zod": "^3.25.67" }, diff --git a/packages/integrations/package.json b/packages/integrations/package.json index 0fa74e0f0..fd8ec6f1e 100644 --- a/packages/integrations/package.json +++ b/packages/integrations/package.json @@ -38,11 +38,11 @@ "@homarr/translation": "workspace:^0.1.0", "@homarr/validation": "workspace:^0.1.0", "@jellyfin/sdk": "^0.11.0", - "maria2": "^0.4.0", + "maria2": "^0.4.1", "node-ical": "^0.20.1", "proxmox-api": "1.1.1", "tsdav": "^2.1.5", - "undici": "7.10.0", + "undici": "7.11.0", "xml2js": "^0.6.2", "zod": "^3.25.67" }, diff --git a/packages/integrations/src/base/creator.ts b/packages/integrations/src/base/creator.ts index f9aec19a0..df615fa1f 100644 --- a/packages/integrations/src/base/creator.ts +++ b/packages/integrations/src/base/creator.ts @@ -21,6 +21,7 @@ import { ReadarrIntegration } from "../media-organizer/readarr/readarr-integrati import { SonarrIntegration } from "../media-organizer/sonarr/sonarr-integration"; import { TdarrIntegration } from "../media-transcoding/tdarr-integration"; import { NextcloudIntegration } from "../nextcloud/nextcloud.integration"; +import { NTFYIntegration } from "../ntfy/ntfy-integration"; import { OpenMediaVaultIntegration } from "../openmediavault/openmediavault-integration"; import { OverseerrIntegration } from "../overseerr/overseerr-integration"; import { createPiHoleIntegrationAsync } from "../pi-hole/pi-hole-integration-factory"; @@ -92,6 +93,7 @@ export const integrationCreators = { emby: EmbyIntegration, nextcloud: NextcloudIntegration, unifiController: UnifiControllerIntegration, + ntfy: NTFYIntegration, } satisfies Record Promise]>; type IntegrationInstanceOfKind = { diff --git a/packages/integrations/src/index.ts b/packages/integrations/src/index.ts index 80752e149..ed6901cf5 100644 --- a/packages/integrations/src/index.ts +++ b/packages/integrations/src/index.ts @@ -1,26 +1,27 @@ // General integrations export { AdGuardHomeIntegration } from "./adguard-home/adguard-home-integration"; +export { Aria2Integration } from "./download-client/aria2/aria2-integration"; export { DelugeIntegration } from "./download-client/deluge/deluge-integration"; export { NzbGetIntegration } from "./download-client/nzbget/nzbget-integration"; export { QBitTorrentIntegration } from "./download-client/qbittorrent/qbittorrent-integration"; export { SabnzbdIntegration } from "./download-client/sabnzbd/sabnzbd-integration"; export { TransmissionIntegration } from "./download-client/transmission/transmission-integration"; -export { Aria2Integration } from "./download-client/aria2/aria2-integration"; export { HomeAssistantIntegration } from "./homeassistant/homeassistant-integration"; export { DownloadClientIntegration } from "./interfaces/downloads/download-client-integration"; export { JellyfinIntegration } from "./jellyfin/jellyfin-integration"; export { JellyseerrIntegration } from "./jellyseerr/jellyseerr-integration"; +export { LidarrIntegration } from "./media-organizer/lidarr/lidarr-integration"; export { RadarrIntegration } from "./media-organizer/radarr/radarr-integration"; +export { ReadarrIntegration } from "./media-organizer/readarr/readarr-integration"; export { SonarrIntegration } from "./media-organizer/sonarr/sonarr-integration"; +export { NextcloudIntegration } from "./nextcloud/nextcloud.integration"; +export { NTFYIntegration } from "./ntfy/ntfy-integration"; export { OpenMediaVaultIntegration } from "./openmediavault/openmediavault-integration"; export { OverseerrIntegration } from "./overseerr/overseerr-integration"; export { PiHoleIntegrationV5 } from "./pi-hole/v5/pi-hole-integration-v5"; export { PiHoleIntegrationV6 } from "./pi-hole/v6/pi-hole-integration-v6"; export { PlexIntegration } from "./plex/plex-integration"; export { ProwlarrIntegration } from "./prowlarr/prowlarr-integration"; -export { LidarrIntegration } from "./media-organizer/lidarr/lidarr-integration"; -export { ReadarrIntegration } from "./media-organizer/readarr/readarr-integration"; -export { NextcloudIntegration } from "./nextcloud/nextcloud.integration"; // Types export type { IntegrationInput } from "./base/integration"; @@ -34,6 +35,7 @@ export type { StreamSession } from "./interfaces/media-server/session"; export type { TdarrQueue } from "./interfaces/media-transcoding/queue"; export type { TdarrPieSegment, TdarrStatistics } from "./interfaces/media-transcoding/statistics"; export type { TdarrWorker } from "./interfaces/media-transcoding/workers"; +export type { Notification } from "./interfaces/notifications/notification"; // Schemas export { downloadClientItemSchema } from "./interfaces/downloads/download-client-items"; diff --git a/packages/integrations/src/interfaces/media-requests/media-request.ts b/packages/integrations/src/interfaces/media-requests/media-request.ts index c22302159..d4a449727 100644 --- a/packages/integrations/src/interfaces/media-requests/media-request.ts +++ b/packages/integrations/src/interfaces/media-requests/media-request.ts @@ -43,6 +43,7 @@ export interface MediaRequestStats { users: RequestUser[]; } +// https://github.com/fallenbagel/jellyseerr/blob/0fd03f38480f853e7015ad9229ed98160e37602e/server/constants/media.ts#L1 export enum MediaRequestStatus { PendingApproval = 1, Approved = 2, @@ -51,6 +52,7 @@ export enum MediaRequestStatus { Completed = 5, } +// https://github.com/fallenbagel/jellyseerr/blob/0fd03f38480f853e7015ad9229ed98160e37602e/server/constants/media.ts#L14 export enum MediaAvailability { Unknown = 1, Pending = 2, @@ -58,4 +60,5 @@ export enum MediaAvailability { PartiallyAvailable = 4, Available = 5, Blacklisted = 6, + Deleted = 7, } diff --git a/packages/integrations/src/interfaces/notifications/notification.ts b/packages/integrations/src/interfaces/notifications/notification.ts new file mode 100644 index 000000000..8f6944944 --- /dev/null +++ b/packages/integrations/src/interfaces/notifications/notification.ts @@ -0,0 +1,6 @@ +export interface Notification { + id: string; + time: Date; + title: string; + body: string; +} diff --git a/packages/integrations/src/interfaces/notifications/notifications-integration.ts b/packages/integrations/src/interfaces/notifications/notifications-integration.ts new file mode 100644 index 000000000..45a052d27 --- /dev/null +++ b/packages/integrations/src/interfaces/notifications/notifications-integration.ts @@ -0,0 +1,6 @@ +import { Integration } from "../../base/integration"; +import type { Notification } from "./notification"; + +export abstract class NotificationsIntegration extends Integration { + public abstract getNotificationsAsync(): Promise; +} diff --git a/packages/integrations/src/ntfy/ntfy-integration.ts b/packages/integrations/src/ntfy/ntfy-integration.ts new file mode 100644 index 000000000..ffdf9dfad --- /dev/null +++ b/packages/integrations/src/ntfy/ntfy-integration.ts @@ -0,0 +1,65 @@ +import { fetchWithTrustedCertificatesAsync } from "@homarr/certificates/server"; +import { ResponseError } from "@homarr/common/server"; + +import type { IntegrationTestingInput } from "../base/integration"; +import type { TestingResult } from "../base/test-connection/test-connection-service"; +import type { Notification } from "../interfaces/notifications/notification"; +import { NotificationsIntegration } from "../interfaces/notifications/notifications-integration"; +import { ntfyNotificationSchema } from "./ntfy-schema"; + +export class NTFYIntegration extends NotificationsIntegration { + public async testingAsync(input: IntegrationTestingInput): Promise { + await input.fetchAsync(this.url("/v1/account"), { headers: this.getHeaders() }); + return { success: true }; + } + + private getTopicURL() { + return this.url(`/${encodeURIComponent(super.getSecretValue("topic"))}/json`, { poll: 1 }); + } + private getHeaders() { + return this.hasSecretValue("apiKey") ? { Authorization: `Bearer ${super.getSecretValue("apiKey")}` } : {}; + } + + public async getNotificationsAsync() { + const url = this.getTopicURL(); + const notifications = await Promise.all( + ( + await fetchWithTrustedCertificatesAsync(url, { headers: this.getHeaders() }) + .then((response) => { + if (!response.ok) throw new ResponseError(response); + return response.text(); + }) + .catch((error) => { + if (error instanceof Error) throw error; + else { + throw new Error("Error communicating with ntfy"); + } + }) + ) + // response is provided as individual lines of JSON + .split("\n") + .map(async (line) => { + // ignore empty lines + if (line.length === 0) return null; + + const json = JSON.parse(line) as unknown; + const parsed = await ntfyNotificationSchema.parseAsync(json); + if (parsed.event === "message") return parsed; + // ignore non-event messages + else return null; + }), + ); + + return notifications + .filter((notification) => notification !== null) + .map((notification): Notification => { + const topicURL = this.url(`/${notification.topic}`); + return { + id: notification.id, + time: new Date(notification.time * 1000), + title: notification.title ?? topicURL.hostname + topicURL.pathname, + body: notification.message, + }; + }); + } +} diff --git a/packages/integrations/src/ntfy/ntfy-schema.ts b/packages/integrations/src/ntfy/ntfy-schema.ts new file mode 100644 index 000000000..2c00557b4 --- /dev/null +++ b/packages/integrations/src/ntfy/ntfy-schema.ts @@ -0,0 +1,12 @@ +import { z } from "zod"; + +// There are more properties, see: https://docs.ntfy.sh/subscribe/api/#json-message-format +// Not all properties are required for this use case. +export const ntfyNotificationSchema = z.object({ + id: z.string(), + time: z.number(), + event: z.string(), // we only care about "message" + topic: z.string(), + title: z.optional(z.string()), + message: z.string(), +}); diff --git a/packages/modals-collection/package.json b/packages/modals-collection/package.json index f5f8a1dd9..16c63c392 100644 --- a/packages/modals-collection/package.json +++ b/packages/modals-collection/package.json @@ -33,7 +33,7 @@ "@homarr/translation": "workspace:^0.1.0", "@homarr/ui": "workspace:^0.1.0", "@homarr/validation": "workspace:^0.1.0", - "@mantine/core": "^8.1.1", + "@mantine/core": "^8.1.2", "@tabler/icons-react": "^3.34.0", "dayjs": "^1.11.13", "next": "15.3.4", diff --git a/packages/modals/package.json b/packages/modals/package.json index 3c2855175..47596e6bd 100644 --- a/packages/modals/package.json +++ b/packages/modals/package.json @@ -24,8 +24,8 @@ "dependencies": { "@homarr/translation": "workspace:^0.1.0", "@homarr/ui": "workspace:^0.1.0", - "@mantine/core": "^8.1.1", - "@mantine/hooks": "^8.1.1", + "@mantine/core": "^8.1.2", + "@mantine/hooks": "^8.1.2", "react": "19.1.0" }, "devDependencies": { diff --git a/packages/notifications/package.json b/packages/notifications/package.json index 845820379..7011acf55 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": "^8.1.1", + "@mantine/notifications": "^8.1.2", "@tabler/icons-react": "^3.34.0" }, "devDependencies": { diff --git a/packages/old-import/package.json b/packages/old-import/package.json index d1d71b61d..500858ac5 100644 --- a/packages/old-import/package.json +++ b/packages/old-import/package.json @@ -37,8 +37,8 @@ "@homarr/translation": "workspace:^0.1.0", "@homarr/ui": "workspace:^0.1.0", "@homarr/validation": "workspace:^0.1.0", - "@mantine/core": "^8.1.1", - "@mantine/hooks": "^8.1.1", + "@mantine/core": "^8.1.2", + "@mantine/hooks": "^8.1.2", "adm-zip": "0.5.16", "next": "15.3.4", "react": "19.1.0", diff --git a/packages/request-handler/src/notifications.ts b/packages/request-handler/src/notifications.ts new file mode 100644 index 000000000..41098e660 --- /dev/null +++ b/packages/request-handler/src/notifications.ts @@ -0,0 +1,20 @@ +import dayjs from "dayjs"; + +import type { IntegrationKindByCategory } from "@homarr/definitions"; +import type { Notification } from "@homarr/integrations"; +import { createIntegrationAsync } from "@homarr/integrations"; + +import { createCachedIntegrationRequestHandler } from "./lib/cached-integration-request-handler"; + +export const notificationsRequestHandler = createCachedIntegrationRequestHandler< + Notification[], + IntegrationKindByCategory<"notifications">, + Record +>({ + async requestAsync(integration) { + const integrationInstance = await createIntegrationAsync(integration); + return await integrationInstance.getNotificationsAsync(); + }, + cacheDuration: dayjs.duration(5, "minutes"), + queryKey: "notificationsJobStatus", +}); diff --git a/packages/settings/package.json b/packages/settings/package.json index f9478b728..09adeef88 100644 --- a/packages/settings/package.json +++ b/packages/settings/package.json @@ -26,7 +26,7 @@ "@homarr/api": "workspace:^0.1.0", "@homarr/db": "workspace:^0.1.0", "@homarr/server-settings": "workspace:^0.1.0", - "@mantine/dates": "^8.1.1", + "@mantine/dates": "^8.1.2", "next": "15.3.4", "react": "19.1.0", "react-dom": "19.1.0" diff --git a/packages/spotlight/package.json b/packages/spotlight/package.json index d19c6b175..6d6bbd813 100644 --- a/packages/spotlight/package.json +++ b/packages/spotlight/package.json @@ -33,9 +33,9 @@ "@homarr/settings": "workspace:^0.1.0", "@homarr/translation": "workspace:^0.1.0", "@homarr/ui": "workspace:^0.1.0", - "@mantine/core": "^8.1.1", - "@mantine/hooks": "^8.1.1", - "@mantine/spotlight": "^8.1.1", + "@mantine/core": "^8.1.2", + "@mantine/hooks": "^8.1.2", + "@mantine/spotlight": "^8.1.2", "@tabler/icons-react": "^3.34.0", "jotai": "^2.12.5", "next": "15.3.4", diff --git a/packages/translation/package.json b/packages/translation/package.json index 5ea665d65..80a61762b 100644 --- a/packages/translation/package.json +++ b/packages/translation/package.json @@ -33,7 +33,7 @@ "deepmerge": "4.3.1", "mantine-react-table": "2.0.0-beta.9", "next": "15.3.4", - "next-intl": "4.1.0", + "next-intl": "4.3.1", "react": "19.1.0", "react-dom": "19.1.0" }, diff --git a/packages/translation/src/lang/ca.json b/packages/translation/src/lang/ca.json index 09d033e32..e6eb919b6 100644 --- a/packages/translation/src/lang/ca.json +++ b/packages/translation/src/lang/ca.json @@ -936,6 +936,10 @@ "realm": { "label": "", "newLabel": "" + }, + "topic": { + "label": "", + "newLabel": "" } } }, @@ -2088,7 +2092,9 @@ "pending": "", "processing": "", "partiallyAvailable": "", - "available": "" + "available": "", + "blacklisted": "", + "deleted": "" }, "status": { "pending": "", @@ -2357,6 +2363,12 @@ "error": { "internalServerError": "" } + }, + "notifications": { + "name": "", + "description": "", + "noItems": "", + "option": {} } }, "widgetPreview": { @@ -3122,6 +3134,9 @@ "networkController": { "label": "" }, + "refreshNotifications": { + "label": "" + }, "dockerContainers": { "label": "" } diff --git a/packages/translation/src/lang/cn.json b/packages/translation/src/lang/cn.json index 16a8bd54f..4b5f73a28 100644 --- a/packages/translation/src/lang/cn.json +++ b/packages/translation/src/lang/cn.json @@ -936,6 +936,10 @@ "realm": { "label": "领域", "newLabel": "新领域" + }, + "topic": { + "label": "", + "newLabel": "" } } }, @@ -2088,7 +2092,9 @@ "pending": "等待处理", "processing": "处理中", "partiallyAvailable": "部分", - "available": "可用" + "available": "可用", + "blacklisted": "", + "deleted": "" }, "status": { "pending": "待处理", @@ -2357,6 +2363,12 @@ "error": { "internalServerError": "获取网络控制器概述失败" } + }, + "notifications": { + "name": "", + "description": "", + "noItems": "", + "option": {} } }, "widgetPreview": { @@ -3122,6 +3134,9 @@ "networkController": { "label": "网络控制器" }, + "refreshNotifications": { + "label": "" + }, "dockerContainers": { "label": "Docker 容器" } diff --git a/packages/translation/src/lang/cs.json b/packages/translation/src/lang/cs.json index 0f250cd46..7a7f1183f 100644 --- a/packages/translation/src/lang/cs.json +++ b/packages/translation/src/lang/cs.json @@ -936,6 +936,10 @@ "realm": { "label": "", "newLabel": "" + }, + "topic": { + "label": "", + "newLabel": "" } } }, @@ -2088,7 +2092,9 @@ "pending": "", "processing": "", "partiallyAvailable": "Částečně dostupné", - "available": "K dispozici" + "available": "K dispozici", + "blacklisted": "", + "deleted": "" }, "status": { "pending": "", @@ -2357,6 +2363,12 @@ "error": { "internalServerError": "" } + }, + "notifications": { + "name": "", + "description": "", + "noItems": "", + "option": {} } }, "widgetPreview": { @@ -3122,6 +3134,9 @@ "networkController": { "label": "" }, + "refreshNotifications": { + "label": "" + }, "dockerContainers": { "label": "" } diff --git a/packages/translation/src/lang/da.json b/packages/translation/src/lang/da.json index b8d0b5a56..a6cd93f9d 100644 --- a/packages/translation/src/lang/da.json +++ b/packages/translation/src/lang/da.json @@ -936,6 +936,10 @@ "realm": { "label": "Realm", "newLabel": "Nyt realm" + }, + "topic": { + "label": "", + "newLabel": "" } } }, @@ -2088,7 +2092,9 @@ "pending": "Afventende", "processing": "Behandler", "partiallyAvailable": "Delvis", - "available": "Tilgængelig" + "available": "Tilgængelig", + "blacklisted": "", + "deleted": "" }, "status": { "pending": "Afventende", @@ -2357,6 +2363,12 @@ "error": { "internalServerError": "Kunne ikke hente Netværkskontroloversigt" } + }, + "notifications": { + "name": "", + "description": "", + "noItems": "", + "option": {} } }, "widgetPreview": { @@ -3122,6 +3134,9 @@ "networkController": { "label": "Netværkskontroller" }, + "refreshNotifications": { + "label": "" + }, "dockerContainers": { "label": "Docker containers" } diff --git a/packages/translation/src/lang/de-CH.json b/packages/translation/src/lang/de-CH.json index c5b53bfae..e95a9c623 100644 --- a/packages/translation/src/lang/de-CH.json +++ b/packages/translation/src/lang/de-CH.json @@ -936,6 +936,10 @@ "realm": { "label": "Bereich", "newLabel": "Neuer Bereich" + }, + "topic": { + "label": "", + "newLabel": "" } } }, @@ -2088,7 +2092,9 @@ "pending": "Ausstehend", "processing": "In Bearbeitung", "partiallyAvailable": "Teilweise", - "available": "Verfügbar" + "available": "Verfügbar", + "blacklisted": "", + "deleted": "" }, "status": { "pending": "Ausstehend", @@ -2357,6 +2363,12 @@ "error": { "internalServerError": "" } + }, + "notifications": { + "name": "", + "description": "", + "noItems": "", + "option": {} } }, "widgetPreview": { @@ -3122,6 +3134,9 @@ "networkController": { "label": "" }, + "refreshNotifications": { + "label": "" + }, "dockerContainers": { "label": "" } diff --git a/packages/translation/src/lang/de.json b/packages/translation/src/lang/de.json index d035ba70f..aa0c1fc85 100644 --- a/packages/translation/src/lang/de.json +++ b/packages/translation/src/lang/de.json @@ -936,6 +936,10 @@ "realm": { "label": "Bereich", "newLabel": "Neuer Bereich" + }, + "topic": { + "label": "Thema", + "newLabel": "Neues Thema erstellen" } } }, @@ -1758,7 +1762,7 @@ "label": "Speicher-Info anzeigen" }, "showUptime": { - "label": "" + "label": "Laufzeit anzeigen" }, "fileSystem": { "label": "Dateisystem Info anzeigen" @@ -1767,7 +1771,7 @@ "label": "Standard Tab" }, "visibleClusterSections": { - "label": "" + "label": "Sichtbare Cluster-Abschnitte" }, "sectionIndicatorRequirement": { "label": "Anforderung der Sektionsindikatoren" @@ -1839,11 +1843,11 @@ } }, "dockerContainers": { - "name": "", - "description": "", + "name": "Docker Statistiken", + "description": "Statistiken Ihrer Container (Dieses Widget kann nur mit Administratorrechten hinzugefügt werden)", "option": {}, "error": { - "internalServerError": "" + "internalServerError": "Fehler beim Abrufen der Container Statistiken" } }, "common": { @@ -1961,8 +1965,8 @@ "label": "Filter zur Berechnung des Verhältnisses verwenden" }, "limitPerIntegration": { - "label": "", - "description": "" + "label": "Elemente pro Integration begrenzen", + "description": "Dies begrenzt die Anzahl der Elemente pro Integration, jedoch nicht global" } }, "errors": { @@ -2088,7 +2092,9 @@ "pending": "Ausstehend", "processing": "In Bearbeitung", "partiallyAvailable": "Teilweise", - "available": "Verfügbar" + "available": "Verfügbar", + "blacklisted": "Gesperrt", + "deleted": "Gelöscht" }, "status": { "pending": "Ausstehend", @@ -2227,13 +2233,13 @@ "label": "Repository hinzufügen" }, "importRepositories": { - "label": "", - "loading": "", - "noImagesFound": "", - "listFoundImages": "", - "listAlreadyImportedImages": "", - "allImagesAlreadyImported": "", - "onlyAdminCanImport": "" + "label": "Von Docker importieren", + "loading": "Lade Docker Images", + "noImagesFound": "Keine Docker Images gefunden", + "listFoundImages": "Liste der gefundenen Images", + "listAlreadyImportedImages": "Liste der bereits importierten Images", + "allImagesAlreadyImported": "Alle Images wurden bereits importiert", + "onlyAdminCanImport": "Nur Administratoren können vom Docker importieren" }, "provider": { "label": "Anbieter" @@ -2276,7 +2282,7 @@ } }, "importForm": { - "title": "" + "title": "Von Docker importieren" }, "example": { "label": "Beispiel" @@ -2357,6 +2363,12 @@ "error": { "internalServerError": "Fehler beim Abrufen der Netzwerk Controller Zusammenfassung" } + }, + "notifications": { + "name": "Benachrichtigungen", + "description": "Benachrichtigungshistorie von einer Integration anzeigen", + "noItems": "Keine Benachrichtigungen zum Anzeigen.", + "option": {} } }, "widgetPreview": { @@ -3122,8 +3134,11 @@ "networkController": { "label": "Netzwerk Controller" }, + "refreshNotifications": { + "label": "Benachrichtigungs Updater" + }, "dockerContainers": { - "label": "" + "label": "Docker Container" } } }, @@ -3189,7 +3204,7 @@ "updated": "Aktualisiert {when}", "search": "{count} Container durchsuchen", "selected": "{selectCount} von {totalCount} ausgewählten Containern", - "footer": "" + "footer": "Insgesamt {count} Container" }, "field": { "name": { @@ -3209,10 +3224,10 @@ }, "stats": { "cpu": { - "label": "" + "label": "CPU" }, "memory": { - "label": "" + "label": "Speicher" } }, "containerImage": { @@ -3223,7 +3238,7 @@ } }, "action": { - "title": "", + "title": "Aktionen", "start": { "label": "Starten", "notification": { diff --git a/packages/translation/src/lang/el.json b/packages/translation/src/lang/el.json index b1ad19dcb..dbb60f199 100644 --- a/packages/translation/src/lang/el.json +++ b/packages/translation/src/lang/el.json @@ -936,6 +936,10 @@ "realm": { "label": "", "newLabel": "" + }, + "topic": { + "label": "", + "newLabel": "" } } }, @@ -2088,7 +2092,9 @@ "pending": "", "processing": "", "partiallyAvailable": "Μερικώς", - "available": "Διαθέσιμο" + "available": "Διαθέσιμο", + "blacklisted": "", + "deleted": "" }, "status": { "pending": "", @@ -2357,6 +2363,12 @@ "error": { "internalServerError": "" } + }, + "notifications": { + "name": "", + "description": "", + "noItems": "", + "option": {} } }, "widgetPreview": { @@ -3122,6 +3134,9 @@ "networkController": { "label": "" }, + "refreshNotifications": { + "label": "" + }, "dockerContainers": { "label": "" } diff --git a/packages/translation/src/lang/en-gb.json b/packages/translation/src/lang/en-gb.json index 020bc3dc4..7551a0b7b 100644 --- a/packages/translation/src/lang/en-gb.json +++ b/packages/translation/src/lang/en-gb.json @@ -936,6 +936,10 @@ "realm": { "label": "Realm", "newLabel": "New realm" + }, + "topic": { + "label": "", + "newLabel": "" } } }, @@ -2088,7 +2092,9 @@ "pending": "", "processing": "", "partiallyAvailable": "", - "available": "" + "available": "", + "blacklisted": "", + "deleted": "" }, "status": { "pending": "", @@ -2357,6 +2363,12 @@ "error": { "internalServerError": "" } + }, + "notifications": { + "name": "", + "description": "", + "noItems": "", + "option": {} } }, "widgetPreview": { @@ -3122,6 +3134,9 @@ "networkController": { "label": "" }, + "refreshNotifications": { + "label": "" + }, "dockerContainers": { "label": "" } diff --git a/packages/translation/src/lang/en.json b/packages/translation/src/lang/en.json index 1534ea16e..5492223d4 100644 --- a/packages/translation/src/lang/en.json +++ b/packages/translation/src/lang/en.json @@ -936,6 +936,10 @@ "realm": { "label": "Realm", "newLabel": "New realm" + }, + "topic": { + "label": "Topic", + "newLabel": "New topic" } } }, @@ -2088,7 +2092,9 @@ "pending": "Pending", "processing": "Processing", "partiallyAvailable": "Partial", - "available": "Available" + "available": "Available", + "blacklisted": "Blacklisted", + "deleted": "Deleted" }, "status": { "pending": "Pending", @@ -2357,6 +2363,12 @@ "error": { "internalServerError": "Failed to fetch Network Controller Summary" } + }, + "notifications": { + "name": "Notifications", + "description": "Display notification history from an integration", + "noItems": "No notifications to display.", + "option": {} } }, "widgetPreview": { @@ -3122,6 +3134,9 @@ "networkController": { "label": "Network Controller" }, + "refreshNotifications": { + "label": "Notification Updater" + }, "dockerContainers": { "label": "Docker containers" } diff --git a/packages/translation/src/lang/es.json b/packages/translation/src/lang/es.json index 533bfeca9..87ef4ab4d 100644 --- a/packages/translation/src/lang/es.json +++ b/packages/translation/src/lang/es.json @@ -936,6 +936,10 @@ "realm": { "label": "", "newLabel": "" + }, + "topic": { + "label": "", + "newLabel": "" } } }, @@ -2088,7 +2092,9 @@ "pending": "", "processing": "", "partiallyAvailable": "Parcial", - "available": "Disponible" + "available": "Disponible", + "blacklisted": "", + "deleted": "" }, "status": { "pending": "", @@ -2357,6 +2363,12 @@ "error": { "internalServerError": "" } + }, + "notifications": { + "name": "", + "description": "", + "noItems": "", + "option": {} } }, "widgetPreview": { @@ -3122,6 +3134,9 @@ "networkController": { "label": "" }, + "refreshNotifications": { + "label": "" + }, "dockerContainers": { "label": "" } diff --git a/packages/translation/src/lang/et.json b/packages/translation/src/lang/et.json index f1fa528f3..5eb6f6334 100644 --- a/packages/translation/src/lang/et.json +++ b/packages/translation/src/lang/et.json @@ -936,6 +936,10 @@ "realm": { "label": "", "newLabel": "" + }, + "topic": { + "label": "", + "newLabel": "" } } }, @@ -2088,7 +2092,9 @@ "pending": "", "processing": "", "partiallyAvailable": "", - "available": "" + "available": "", + "blacklisted": "", + "deleted": "" }, "status": { "pending": "", @@ -2357,6 +2363,12 @@ "error": { "internalServerError": "" } + }, + "notifications": { + "name": "", + "description": "", + "noItems": "", + "option": {} } }, "widgetPreview": { @@ -3122,6 +3134,9 @@ "networkController": { "label": "" }, + "refreshNotifications": { + "label": "" + }, "dockerContainers": { "label": "" } diff --git a/packages/translation/src/lang/fr.json b/packages/translation/src/lang/fr.json index ef4d9973f..897b80a0e 100644 --- a/packages/translation/src/lang/fr.json +++ b/packages/translation/src/lang/fr.json @@ -936,6 +936,10 @@ "realm": { "label": "Domaine", "newLabel": "Nouveau domaine" + }, + "topic": { + "label": "", + "newLabel": "" } } }, @@ -2088,7 +2092,9 @@ "pending": "En attente", "processing": "Traitement en cours", "partiallyAvailable": "Partiel", - "available": "Disponible" + "available": "Disponible", + "blacklisted": "", + "deleted": "" }, "status": { "pending": "En attente", @@ -2357,6 +2363,12 @@ "error": { "internalServerError": "" } + }, + "notifications": { + "name": "", + "description": "", + "noItems": "", + "option": {} } }, "widgetPreview": { @@ -3122,6 +3134,9 @@ "networkController": { "label": "" }, + "refreshNotifications": { + "label": "" + }, "dockerContainers": { "label": "" } diff --git a/packages/translation/src/lang/he.json b/packages/translation/src/lang/he.json index e2928ef9a..c05a4d869 100644 --- a/packages/translation/src/lang/he.json +++ b/packages/translation/src/lang/he.json @@ -936,6 +936,10 @@ "realm": { "label": "תחום", "newLabel": "תחום חדש" + }, + "topic": { + "label": "", + "newLabel": "" } } }, @@ -2088,7 +2092,9 @@ "pending": "בהמתנה", "processing": "מעבד", "partiallyAvailable": "חלקי", - "available": "זמין" + "available": "זמין", + "blacklisted": "", + "deleted": "" }, "status": { "pending": "ממתין", @@ -2227,13 +2233,13 @@ "label": "הוסף מאגר" }, "importRepositories": { - "label": "", - "loading": "", - "noImagesFound": "", - "listFoundImages": "", - "listAlreadyImportedImages": "", - "allImagesAlreadyImported": "", - "onlyAdminCanImport": "" + "label": "ייבוא מדוקר", + "loading": "טוען תמונות דוקר", + "noImagesFound": "לא נמצאו תמונות דוקר", + "listFoundImages": "רשימת התמונות שנמצאו", + "listAlreadyImportedImages": "רשימת התמונות שכבר יובאו", + "allImagesAlreadyImported": "כל התמונות כבר יובאו", + "onlyAdminCanImport": "רק מנהלים יכולים לייבא מדוקר" }, "provider": { "label": "ספק" @@ -2276,7 +2282,7 @@ } }, "importForm": { - "title": "" + "title": "ייבוא מדוקר" }, "example": { "label": "דוגמא" @@ -2357,6 +2363,12 @@ "error": { "internalServerError": "אחזור תקציר בקר הרשת נכשל" } + }, + "notifications": { + "name": "", + "description": "", + "noItems": "", + "option": {} } }, "widgetPreview": { @@ -3122,6 +3134,9 @@ "networkController": { "label": "בקר רשת" }, + "refreshNotifications": { + "label": "" + }, "dockerContainers": { "label": "מכולות דוקר" } diff --git a/packages/translation/src/lang/hr.json b/packages/translation/src/lang/hr.json index 71415b611..fdefb820c 100644 --- a/packages/translation/src/lang/hr.json +++ b/packages/translation/src/lang/hr.json @@ -936,6 +936,10 @@ "realm": { "label": "", "newLabel": "" + }, + "topic": { + "label": "", + "newLabel": "" } } }, @@ -2088,7 +2092,9 @@ "pending": "", "processing": "", "partiallyAvailable": "", - "available": "" + "available": "", + "blacklisted": "", + "deleted": "" }, "status": { "pending": "", @@ -2357,6 +2363,12 @@ "error": { "internalServerError": "" } + }, + "notifications": { + "name": "", + "description": "", + "noItems": "", + "option": {} } }, "widgetPreview": { @@ -3122,6 +3134,9 @@ "networkController": { "label": "" }, + "refreshNotifications": { + "label": "" + }, "dockerContainers": { "label": "" } diff --git a/packages/translation/src/lang/hu.json b/packages/translation/src/lang/hu.json index 83f00f76f..1b7403c39 100644 --- a/packages/translation/src/lang/hu.json +++ b/packages/translation/src/lang/hu.json @@ -936,6 +936,10 @@ "realm": { "label": "", "newLabel": "" + }, + "topic": { + "label": "", + "newLabel": "" } } }, @@ -2088,7 +2092,9 @@ "pending": "", "processing": "Feldolgozás", "partiallyAvailable": "Részleges", - "available": "Elérhető" + "available": "Elérhető", + "blacklisted": "", + "deleted": "" }, "status": { "pending": "", @@ -2357,6 +2363,12 @@ "error": { "internalServerError": "" } + }, + "notifications": { + "name": "", + "description": "", + "noItems": "", + "option": {} } }, "widgetPreview": { @@ -3122,6 +3134,9 @@ "networkController": { "label": "" }, + "refreshNotifications": { + "label": "" + }, "dockerContainers": { "label": "" } diff --git a/packages/translation/src/lang/it.json b/packages/translation/src/lang/it.json index b22f7ae5c..6797c7622 100644 --- a/packages/translation/src/lang/it.json +++ b/packages/translation/src/lang/it.json @@ -936,6 +936,10 @@ "realm": { "label": "", "newLabel": "" + }, + "topic": { + "label": "", + "newLabel": "" } } }, @@ -2088,7 +2092,9 @@ "pending": "", "processing": "", "partiallyAvailable": "Parziale", - "available": "Disponibile" + "available": "Disponibile", + "blacklisted": "", + "deleted": "" }, "status": { "pending": "", @@ -2357,6 +2363,12 @@ "error": { "internalServerError": "" } + }, + "notifications": { + "name": "", + "description": "", + "noItems": "", + "option": {} } }, "widgetPreview": { @@ -3122,6 +3134,9 @@ "networkController": { "label": "" }, + "refreshNotifications": { + "label": "" + }, "dockerContainers": { "label": "" } diff --git a/packages/translation/src/lang/ja.json b/packages/translation/src/lang/ja.json index 057021178..a471ae882 100644 --- a/packages/translation/src/lang/ja.json +++ b/packages/translation/src/lang/ja.json @@ -4,101 +4,101 @@ "start": { "title": "Homarrへようこそ", "subtitle": "Homarr を設定しましょう。", - "description": "", + "description": "始めるには、Homarrインスタンスの設定方法を選択してください。", "action": { "scratch": "ゼロからスタート", - "importOldmarr": "" + "importOldmarr": "1.0 より前の Homarr からインポート" } }, "import": { "title": "データのインポート", - "subtitle": "", + "subtitle": "既存のHomarrインスタンスからデータをインポートできます。", "dropzone": { - "title": "", - "description": "" + "title": "ここにzipファイルをドラッグするか、クリックして参照してください", + "description": "アップロードされたzipファイルは処理され、インポートするものを選択することができます" }, "fileInfo": { "action": { - "change": "" + "change": "ファイルを変更" } }, "importSettings": { - "title": "", - "description": "" + "title": "設定をインポート", + "description": "インポートの動作を設定" }, "boardSelection": { - "title": "", - "description": "", + "title": "{count} 個のボードを見つけました", + "description": "インポートしたいサイズのボードをすべて選択してください", "action": { - "selectAll": "", - "unselectAll": "" + "selectAll": "すべてを選択", + "unselectAll": "すべて選択解除" } }, "summary": { - "title": "", - "description": "", + "title": "インポートサマリー", + "description": "以下のサマリーで、インポートする内容を確認できます", "action": { - "import": "" + "import": "インポートを確認して続ける" }, "entities": { "apps": "アプリ", "boards": "ボード", "integrations": "インテグレーション", - "credentialUsers": "" + "credentialUsers": "認証ユーザー" } }, "tokenModal": { - "title": "", + "title": "インポート トークンを入力してください", "field": { "token": { "label": "トークン", - "description": "" + "description": "以前のhomarrインスタンスから表示されたインポートトークンを入力してください" } }, "notification": { "error": { - "title": "", - "message": "" + "title": "無効なトークン", + "message": "入力されたトークンは無効です" } } } }, "user": { - "title": "", - "subtitle": "", + "title": "管理者ユーザー", + "subtitle": "管理者ユーザーの資格情報を指定します。", "notification": { "success": { - "title": "", - "message": "" + "title": "ユーザーが作成されました", + "message": "ユーザーが正常に作成されました" }, "error": { - "title": "" + "title": "ユーザーの作成に失敗しました" } } }, "group": { - "title": "", - "subtitle": "", + "title": "外部グループ", + "subtitle": "外部ユーザーに使用するグループを指定します。", "form": { "name": { - "label": "", - "description": "" + "label": "グループ名", + "description": "名前は外部プロバイダの管理者グループと一致する必要があります" } } }, "settings": { "title": "設定", - "subtitle": "" + "subtitle": "サーバー設定。" }, "finish": { - "title": "", + "title": "設定終了", "subtitle": "準備ができています!", "description": "セットアップが正常に完了しました。使い始めることができます。次のアクションを選択してください:", "action": { - "goToBoard": "", - "createBoard": "", + "goToBoard": "{name} ボードへ移動", + "createBoard": "最初のボードを作成", "inviteUser": "他のユーザーを招待する", - "docs": "" + "docs": "ドキュメントを読む" } } }, @@ -109,23 +109,23 @@ "name": "ユーザー", "page": { "login": { - "title": "", - "subtitle": "" + "title": "アカウントにログイン", + "subtitle": "おかえりなさい!認証情報を入力してください" }, "invite": { - "title": "", + "title": "Homarrに参加", "subtitle": "Homarr へようこそ!アカウントを作成してください", - "description": "" + "description": "あなたは {username}に招待されました" }, "init": { - "title": "", - "subtitle": "" + "title": "新しいHomarrのインストール", + "subtitle": "最初の管理者ユーザを作成してください" } }, "field": { "email": { "label": "Eメール", - "verified": "" + "verified": "認証済み" }, "username": { "label": "ユーザー名" @@ -137,39 +137,39 @@ "lowercase": "小文字を含む", "uppercase": "大文字を含む", "number": "番号を含む", - "special": "" + "special": "特殊記号を含む" } }, "passwordConfirm": { "label": "パスワードの確認" }, "previousPassword": { - "label": "" + "label": "以前のパスワード" }, "homeBoard": { - "label": "" + "label": "ホームボード" }, "pingIconsEnabled": { - "label": "" + "label": "Pingにアイコンを使う" }, "defaultSearchEngine": { - "label": "" + "label": "既定の検索エンジン" }, "openSearchInNewTab": { - "label": "" + "label": "新しいタブで検索結果を見る" } }, "error": { - "usernameTaken": "" + "usernameTaken": "そのユーザー名はすでに使われています" }, "action": { "login": { "label": "ログイン", - "labelWith": "", + "labelWith": "{provider} でログイン", "notification": { "success": { - "title": "", - "message": "" + "title": "ログイン成功", + "message": "ログインしました" }, "error": { "title": "ログイン失敗", @@ -186,91 +186,91 @@ "notification": { "success": { "title": "アカウント作成", - "message": "" + "message": "続けるにはログインしてください" }, "error": { - "title": "", - "message": "" + "title": "アカウントの作成に失敗しました", + "message": "あなたのアカウントを作成できませんでした" } } }, "create": "ユーザー作成", "changePassword": { - "label": "", + "label": "パスワードの変更", "notification": { "success": { - "message": "" + "message": "パスワードは正しく変更されました" }, "error": { - "message": "" + "message": "パスワードを変更できません" } } }, "changeHomeBoard": { "notification": { "success": { - "message": "" + "message": "ホームボードは正常に変更されました" }, "error": { - "message": "" + "message": "ホームボードを変更することができません" } } }, "changeSearchPreferences": { "notification": { "success": { - "message": "" + "message": "検索設定は正常に変更されました" }, "error": { - "message": "" + "message": "検索設定を変更することができません" } } }, "changeFirstDayOfWeek": { "notification": { "success": { - "message": "" + "message": "週の最初の日が正常に変更されました" }, "error": { - "message": "" + "message": "週の最初の日を変更することができません" } } }, "changePingIconsEnabled": { "notification": { "success": { - "message": "" + "message": "Pingアイコンの切り替えに成功しました" }, "error": { - "message": "" + "message": "Pingアイコンを切り替えることができません" } } }, "manageAvatar": { "changeImage": { - "label": "", + "label": "画像を変更する", "notification": { "success": { - "message": "" + "message": "画像は正常に変更されました" }, "error": { - "message": "" + "message": "画像を変更することができません" }, "toLarge": { - "title": "", - "message": "" + "title": "画像のサイズが大きすぎます", + "message": "画像の最大サイズは {size}です" } } }, "removeImage": { - "label": "", - "confirm": "", + "label": "画像を削除", + "confirm": "本当にこの画像を削除しますか?", "notification": { "success": { - "message": "" + "message": "画像の削除に成功しました" }, "error": { - "message": "" + "message": "画像を削除することができません" } } } @@ -278,41 +278,41 @@ "editProfile": { "notification": { "success": { - "message": "" + "message": "プロファイルが正常に更新されました" }, "error": { - "message": "" + "message": "プロファイルを更新できません" } } }, "delete": { - "label": "", - "description": "", - "confirm": "" + "label": "ユーザーを恒久的に削除", + "description": "ユーザー設定を含むこのユーザーを削除します。ボードは削除されません。ユーザーには通知されません。", + "confirm": "ユーザー {username} とユーザ設定を削除することを了承しますか。" }, "select": { - "label": "", - "notFound": "" + "label": "ユーザーを選択", + "notFound": "ユーザーが見つかりません" }, "transfer": { - "label": "" + "label": "新しいオーナーを選択" } } }, "group": { - "title": "", - "name": "", - "search": "", + "title": "グループ", + "name": "グループ", + "search": "グループを探す", "field": { "name": "名称", - "members": "", + "members": "メンバー", "homeBoard": { - "label": "", - "description": "" + "label": "ホームボード", + "description": "グループにアクセス可能なボードだけを選択できます" }, "mobileBoard": { - "label": "", - "description": "" + "label": "モバイルボード", + "description": "グループにアクセス可能なボードだけを選択できます" } }, "permission": { @@ -320,8 +320,8 @@ "title": "管理者", "item": { "admin": { - "label": "", - "description": "" + "label": "管理者", + "description": "この権限を持つメンバーは、すべての機能と設定にフルアクセスできます" } } }, @@ -329,20 +329,20 @@ "title": "アプリ", "item": { "create": { - "label": "", - "description": "" + "label": "アプリ作成", + "description": "メンバーがアプリを作成することを許可する" }, "use-all": { - "label": "", - "description": "" + "label": "すべてのアプリを使用", + "description": "メンバーが自分のボードにアプリを追加することを許可する" }, "modify-all": { - "label": "", - "description": "" + "label": "すべてのアプリを変更", + "description": "メンバーがすべてのアプリを変更することを許可する" }, "full-all": { - "label": "", - "description": "" + "label": "アプリへのフルアクセス", + "description": "メンバーがアプリを管理、使用、削除することを許可する" } } }, @@ -350,176 +350,176 @@ "title": "ボード", "item": { "create": { - "label": "", - "description": "" + "label": "ボードを作成", + "description": "メンバーがボードを作成することを許可する" }, "view-all": { - "label": "", + "label": "すべてのボードを表示", "description": "" }, "modify-all": { - "label": "", - "description": "" + "label": "すべてのボードを変更", + "description": "メンバーがすべてのボードを変更することを許可します(アクセス制御ゾーンと危険ゾーンは含まれません)" }, "full-all": { - "label": "", - "description": "" + "label": "フルボードアクセス", + "description": "メンバーがすべてのボードを表示、変更、削除することを許可する (アクセス制御ゾーンと危険ゾーンを含む)" } } }, "integration": { - "title": "", + "title": "インテグレーション", "item": { "create": { - "label": "", - "description": "" + "label": "インテグレーションを作成", + "description": "メンバーがインテグレーションを作成することを許可する" }, "use-all": { - "label": "", - "description": "" + "label": "すべてのインテグレーションを使用", + "description": "メンバーが自分のボードに任意のインテグレーションを追加することを許可する" }, "interact-all": { - "label": "", - "description": "" + "label": "任意のインテグレーションとやりとりする", + "description": "メンバーが任意のインテグレーションとやり取りすることを許可する" }, "full-all": { - "label": "", - "description": "" + "label": "完全なインテグレーションアクセス", + "description": "メンバーが任意のインテグレーションを管理、使用、操作できるようにします" } } }, "media": { - "title": "", + "title": "メディア", "item": { "upload": { - "label": "", - "description": "" + "label": "メディアをアップロード", + "description": "メンバーがメディアをアップロードで許可する" }, "view-all": { - "label": "", - "description": "" + "label": "すべてのメディアを表示", + "description": "メンバーにすべてのメディアの表示を許可する" }, "full-all": { - "label": "", - "description": "" + "label": "メディアへのフルアクセス", + "description": "メンバーにメディアの管理と削除を許可する" } } }, "other": { - "title": "", + "title": "その他", "item": { "view-logs": { - "label": "", - "description": "" + "label": "ログの表示", + "description": "メンバーにログの表示を許可する" } } }, "search-engine": { - "title": "", + "title": "検索エンジン", "item": { "create": { - "label": "", - "description": "" + "label": "検索エンジンの作成", + "description": "メンバーに検索エンジンの作成を許可する" }, "modify-all": { - "label": "", - "description": "" + "label": "すべての検索エンジンを変更", + "description": "メンバーにすべての検索エンジンの変更を許可する" }, "full-all": { - "label": "", - "description": "" + "label": "完全な検索エンジンアクセス", + "description": "メンバーに任意の検索エンジンの管理と削除を許可する" } } } }, "memberNotice": { - "mixed": "", - "external": "" + "mixed": "外部プロバイダからのメンバーがいます。ここでは管理できません", + "external": "すべてのメンバーは外部プロバイダからのものであり、ここでは管理できません" }, "reservedNotice": { - "message": "" + "message": "このグループは、システムでの使用のため予約されており、一部のアクションを制限します。 " }, "action": { "create": { - "label": "", + "label": "新規グループ", "notification": { "success": { - "message": "" + "message": "グループは正常に作成されました" }, "error": { - "message": "" + "message": "グループを作成できませんでした" } } }, "transfer": { - "label": "", - "description": "", - "confirm": "", + "label": "所有権の譲渡", + "description": "このグループの所有権を別のユーザーに譲渡します。", + "confirm": "グループ {name} の所有権を {username} に譲渡してもよろしいですか?", "notification": { "success": { - "message": "" + "message": "グループ {group} を {user} に譲渡しました" }, "error": { - "message": "" + "message": "所有権を譲渡できません" } } }, "addMember": { - "label": "" + "label": "メンバーを追加" }, "removeMember": { - "label": "", - "confirm": "" + "label": "メンバーを削除", + "confirm": "このグループから {user} を削除してもよろしいですか?" }, "delete": { - "label": "", - "description": "", - "confirm": "", + "label": "グループを削除", + "description": "グループを削除すると、元に戻すことはできません。確認してください。", + "confirm": "グループ {name} を削除してもよろしいですか?", "notification": { "success": { - "message": "" + "message": "グループ {name} の削除に成功しました" }, "error": { - "message": "" + "message": "グループ {name} を削除できません" } } }, "changePermissions": { "notification": { "success": { - "title": "", - "message": "" + "title": "権限が保存されました", + "message": "権限が正常に保存されました" }, "error": { - "title": "", - "message": "" + "title": "権限は保存されませんでした", + "message": "権限は保存されていません" } } }, "update": { "notification": { "success": { - "message": "" + "message": "グループ {name} は正常に保存されました" }, "error": { - "message": "" + "message": "グループ {name} を保存できません" } } }, "select": { - "label": "", - "notFound": "" + "label": "グループを選択", + "notFound": "グループがありません。" }, "settings": { "board": { "notification": { "success": { - "title": "", - "message": "" + "title": "設定が保存されました", + "message": "ボードの設定を正常に保存しました" }, "error": { - "title": "", - "message": "" + "title": "設定を保存できませんでした", + "message": "ボードの設定を保存できません" } } } @@ -527,66 +527,66 @@ "changePosition": { "notification": { "success": { - "message": "" + "message": "位置が変更されました" }, "error": { - "message": "" + "message": "位置を変更できません" } } } }, "defaultGroup": { - "name": "", - "description": "" + "name": "デフォルトのグループ", + "description": "{name} - すべてのサインインユーザー" } }, "app": { - "search": "", + "search": "アプリを探す", "page": { "list": { "title": "アプリ", "noResults": { - "title": "", - "action": "" + "title": "アプリは、まだありません", + "action": "最初のアプリを作成する" } }, "create": { - "title": "", + "title": "アプリを新規作成", "notification": { "success": { - "title": "", - "message": "" + "title": "作成成功", + "message": "アプリが正常に作成されました" }, "error": { - "title": "", - "message": "" + "title": "作成失敗", + "message": "アプリを作成できませんでした" } } }, "edit": { - "title": "", + "title": "アプリを編集", "notification": { "success": { - "title": "", - "message": "" + "title": "変更は正常に適用されました", + "message": "アプリは正常に保存されました" }, "error": { - "title": "", - "message": "" + "title": "変更を適用できません", + "message": "アプリを保存できませんでした" } } }, "delete": { - "title": "", - "message": "", + "title": "アプリを削除", + "message": "アプリ {name} を削除してもよろしいですか?", "notification": { "success": { - "title": "", - "message": "" + "title": "削除成功", + "message": "アプリが正常に削除されました" }, "error": { - "title": "", - "message": "" + "title": "削除失敗", + "message": "アプリを削除できませんでした" } } } @@ -596,81 +596,81 @@ "label": "名称" }, "description": { - "label": "" + "label": "説明" }, "url": { - "label": "" + "label": "URL" }, "useDifferentUrlForPing": { "checkbox": { - "label": "", - "description": "" + "label": "ping に 別の URL を使用する", + "description": "Homarrが内部ホスト名やネットワークを使ってISPの帯域幅使用を避けるために直接アクセスできる場合に便利です" } } }, "action": { "select": { - "label": "", - "notFound": "", - "search": "", - "noResults": "", - "action": "", - "title": "" + "label": "アプリを選択", + "notFound": "アプリが見つかりません", + "search": "アプリを探す", + "noResults": "該当なし", + "action": "{app} を選択", + "title": "このボードに追加するアプリを選択" }, "create": { - "title": "", - "description": "", - "action": "" + "title": "新しいアプリを作成", + "description": "新しいアプリを作成する ", + "action": "アプリの作成を開く" }, - "add": "" + "add": "アプリを追加する" } }, "integration": { "page": { "list": { - "title": "", - "search": "", + "title": "インテグレーション", + "search": "インテグレーションを検索", "noResults": { - "title": "" + "title": "まだ、インテグレーションはありません" } }, "create": { - "title": "", + "title": "新しい {name} インテグレーション", "notification": { "success": { - "title": "", - "message": "" + "title": "作成完了", + "message": "インテグレーションが正常に作成されました" }, "error": { - "title": "", - "message": "" + "title": "作成失敗", + "message": "インテグレーションを作成できません" } } }, "edit": { - "title": "", + "title": "{name} インテグレーションを編集", "notification": { "success": { - "title": "", - "message": "" + "title": "変更の適用成功", + "message": "インテグレーションが正常に作成されました" }, "error": { - "title": "", - "message": "" + "title": "変更の適用失敗", + "message": "インテグレーションを保存できません" } } }, "delete": { - "title": "", - "message": "", + "title": " インテグレーション削除", + "message": "インテグレーション {name}を削除してもよろしいですか?", "notification": { "success": { - "title": "", - "message": "" + "title": "削除成功", + "message": "インテグレーションは正常に削除されました" }, "error": { - "title": "", - "message": "" + "title": "削除失敗", + "message": "インテグレーションの削除ができませんでした" } } } @@ -680,274 +680,278 @@ "label": "名称" }, "url": { - "label": "" + "label": "URL" }, "attemptSearchEngineCreation": { - "label": "", - "description": "" + "label": "検索エンジンを作成", + "description": "インテグレーション \"{kind}\" は、検索エンジンで使用できます。検索エンジンを自動的に設定するには、これにチェックを入れてください。" }, "createApp": { - "label": "", - "description": "" + "label": "アプリの作成", + "description": "インテグレーションと同じ名前とアイコンを持つアプリを作成します。 アプリケーションを作成するには、以下の入力フィールドを空のままにしてください。" }, "appHref": { - "placeholder": "" + "placeholder": "カスタム アプリ URL" } }, "action": { - "create": "" + "create": "新しいインテグレーションを作る" }, "testConnection": { "action": { - "create": "", - "edit": "" + "create": "接続をテストして作成する", + "edit": "接続をテストして保存する" }, "error": { "common": { "cause": { - "title": "" + "title": "詳細な原因" } }, "unknown": { - "title": "", - "description": "" + "title": "不明なエラー", + "description": "不明なエラーが発生しました。詳細を確認するには以下の原因を開いてください" }, "parse": { - "title": "", - "description": "" + "title": "解析エラー", + "description": "レスポンスを解析できませんでした。URLが、サービスのベースURLを指していることを確認してください。" }, "authorization": { - "title": "", - "description": "" + "title": "認証エラー", + "description": "リクエストは承認されませんでした。認証情報が正しいこと、十分な権限が設定されていることを確認してください。" }, "statusCode": { - "title": "", - "description": "", - "otherDescription": "", + "title": "応答エラー", + "description": " から予期しない {statusCode} ({reason}) 応答を受信しました。URL がインテグレーションのベース URL を指していることを確認してください。", + "otherDescription": " から予期しない {statusCode} 応答を受信しました。URL がインテグレーションのベース URL を指していることを確認してください。 ", "reason": { - "badRequest": "", - "notFound": "", - "tooManyRequests": "", - "internalServerError": "", - "serviceUnavailable": "", - "gatewayTimeout": "" + "badRequest": "不正なリクエスト", + "notFound": "見つかりません", + "tooManyRequests": "リクエストが多すぎます", + "internalServerError": "内部サーバーエラー", + "serviceUnavailable": "サービスは利用できません", + "gatewayTimeout": "ゲートウェイタイムアウト" } }, "certificate": { - "title": "", + "title": "証明書エラー", "description": { - "expired": "", - "notYetValid": "", - "untrusted": "", - "hostnameMismatch": "" + "expired": "証明書の期限が切れています。", + "notYetValid": "証明書はまだ有効ではありません", + "untrusted": "証明書が信頼されていません。", + "hostnameMismatch": "証明書のホスト名が URL と一致しません。" }, "alert": { "permission": { - "title": "", - "message": "" + "title": "権限が不足しています", + "message": "証明書を信頼またはアップロードすることはできません。必要なルート証明書をアップロードするには、管理者に問い合わせてください。" }, "hostnameMismatch": { - "title": "", - "message": "" + "title": "ホスト名が一致しない", + "message": "証明書中のホスト名が接続先のホスト名と一致しません。 これはセキュリティ上のリスクを示す可能性がありますが、この証明書を信頼することを選択することはできます。" }, "extract": { - "title": "", - "message": "" + "title": "CA証明書の抽出失敗", + "message": "チェーンを持たない自己署名証明書のみ自動的に取得できます。 自己署名証明書を使用している場合は、必ず手動で CA 証明書をアップロードしてください。 これを行う方法については、 を参照してください。" } }, "action": { "retry": { - "label": "" + "label": "再作成する" }, "trust": { - "label": "" + "label": "証明書を信頼する" }, "upload": { - "label": "" + "label": "証明書のアップロード" } }, "hostnameMismatch": { "confirm": { - "title": "", - "message": "" + "title": "ホスト名の不一致を信頼する", + "message": "ホスト名の不一致で証明書を信頼してもよろしいですか?" }, "notification": { "success": { - "title": "", - "message": "" + "title": "信頼済み証明書", + "message": "信頼できる証明書リストにホスト名を追加しました" }, "error": { - "title": "", - "message": "" + "title": "証明書の信頼に失敗しました", + "message": "ホスト名が一致しない証明書は信頼できませんでした" } } }, "selfSigned": { "confirm": { - "title": "", - "message": "" + "title": "自己署名証明書の信頼", + "message": "自己署名証明書を信頼してもよろしいですか?" }, "notification": { "success": { - "title": "", - "message": "" + "title": "信頼できる証明書", + "message": "信頼できる証明書リストに証明書を追加しました" }, "error": { - "title": "", - "message": "" + "title": "証明書の信頼に失敗", + "message": "信頼できる証明書リストに証明書を追加できませんでした" } } }, "details": { - "title": "", - "description": "", + "title": "詳細", + "description": "信頼することを決める前に、証明書情報を確認してください。", "content": { - "action": "", - "title": "" + "action": "コンテンツを表示する", + "title": "PEM証明書" } } }, "request": { - "title": "", + "title": "リクエストエラー", "description": { "connection": { - "hostUnreachable": "", - "networkUnreachable": "", - "refused": "", - "reset": "" + "hostUnreachable": "サーバーに到達できませんでした。これは通常、ホストがオフラインまたはネットワークから到達できないことを意味します。", + "networkUnreachable": "ネットワークに接続できません。インターネット接続またはネットワーク設定を確認してください。", + "refused": "サーバーが接続を拒否しました。サーバーが稼働していないか、指定されたポートへのリクエストを拒否している可能性があります。", + "reset": "サーバーによって予期せず接続が切断されました。サーバーが不安定または再起動された場合に発生する可能性があります。" }, "dns": { - "notFound": "", - "timeout": "", - "noAnswer": "" + "notFound": "サーバーのアドレスが見つかりません。URLのタイプミスまたは無効なドメイン名かを確認してください。", + "timeout": "DNS ルックアップがタイムアウトしました。これは一時的な問題である可能性があります。しばらくしてからもう一度お試しください。", + "noAnswer": "DNSサーバーは有効な応答を返しませんでした。ドメインは存在する可能性がありますが、有効なレコードがありません。" }, "timeout": { - "aborted": "", - "timeout": "" + "aborted": "リクエストが完了する前に中止されました。これはユーザーアクションまたはシステムタイムアウトによる可能性があります。", + "timeout": "リクエストを完了するのに時間がかかりすぎてタイムアウトしました。ネットワークを確認するか、あとでもう一度お試しください。" } } } }, - "alertNotice": "", + "alertNotice": "保存ボタンは、接続が成功すると有効になります", "notification": { "success": { - "title": "", - "message": "" + "title": "接続成功", + "message": "接続が正常に確立されました" }, "invalidUrl": { "title": "無効なURL", - "message": "" + "message": "URL が無効です" }, "secretNotDefined": { - "title": "", - "message": "" + "title": "認証情報の不足", + "message": "すべての認証情報が提供されていません" }, "invalidCredentials": { - "title": "", - "message": "" + "title": "無効な認証情報", + "message": "認証情報が無効です" }, "commonError": { - "title": "", - "message": "" + "title": "接続失敗", + "message": "接続が確立できませんでした。" }, "badRequest": { - "title": "", - "message": "" + "title": "不正なリクエスト", + "message": "リクエストが不正な形式になっています" }, "unauthorized": { - "title": "", - "message": "" + "title": "認証失敗", + "message": "認証情報が間違っている可能性があります" }, "forbidden": { - "title": "", - "message": "" + "title": "アクセス不可", + "message": "権限がない可能性があります" }, "notFound": { - "title": "", - "message": "" + "title": "見つかりません", + "message": "URLまたはパスが間違っている可能性があります" }, "internalServerError": { - "title": "", - "message": "" + "title": "内部サーバーエラー", + "message": "サーバーでエラーが発生しました" }, "serviceUnavailable": { - "title": "", - "message": "" + "title": "サービスを利用できません", + "message": "サーバーは現在利用できません" }, "connectionAborted": { - "title": "", - "message": "" + "title": "接続中断", + "message": "接続が中断されました" }, "domainNotFound": { - "title": "", - "message": "" + "title": "ドメインが見つかりません", + "message": "ドメインが見つかりませんでした" }, "connectionRefused": { - "title": "", - "message": "" + "title": "接続拒否", + "message": "接続が拒否されました" }, "invalidJson": { - "title": "", - "message": "" + "title": "不正な JSON", + "message": "応答は有効な JSON ではありません" }, "wrongPath": { - "title": "", - "message": "" + "title": "間違ったパス", + "message": "パスが正しくない可能性があります" }, "tooManyRequests": { - "title": "", - "message": "" + "title": "一定時間内にリクエストが多すぎます", + "message": "リクエストが多すぎます。対象システムによってレート制限または拒否されている可能性があります" } } }, "secrets": { - "title": "", - "lastUpdated": "", + "title": "シークレット", + "lastUpdated": "最終更新日 {date}", "notSet": { - "label": "", - "tooltip": "" + "label": "値の設定なし", + "tooltip": "この必要なシークレットはまだ設定されていません" }, - "secureNotice": "", + "secureNotice": "このシークレットは作成後に取得できません", "reset": { - "title": "", - "message": "" + "title": "シークレットをリセット", + "message": "このシークレットをリセットしてもよろしいですか?" }, "noSecretsRequired": { - "segmentTitle": "", - "text": "" + "segmentTitle": "シークレットなし", + "text": "このインテグレーションにシークレットは必要ありません" }, "kind": { "username": { "label": "ユーザー名", - "newLabel": "" + "newLabel": "新しいユーザ名" }, "apiKey": { - "label": "", - "newLabel": "" + "label": "API キー", + "newLabel": "新規APIキー" }, "password": { "label": "パスワード", "newLabel": "新しいパスワード" }, "tokenId": { - "label": "", - "newLabel": "" + "label": "トークンID", + "newLabel": "新規トークンID" }, "realm": { - "label": "", - "newLabel": "" + "label": "Realm", + "newLabel": "新しい Realm" + }, + "topic": { + "label": "トピック", + "newLabel": "新規トピック" } } }, "permission": { - "use": "", - "interact": "", - "full": "" + "use": "アイテム内のインテグレーションの選択", + "interact": "インテグレーションとの連携", + "full": "完全なインテグレーションアクセス" } }, "media": { - "plural": "", - "search": "", + "plural": "メディア", + "search": "メディアを探す", "field": { "name": "名称", "size": "サイズ", @@ -955,26 +959,26 @@ }, "action": { "upload": { - "label": "", - "file": "", + "label": "メディアのアップロード", + "file": "ファイルの選択", "notification": { "success": { - "message": "" + "message": "メディアは正常にアップロードされました" }, "error": { - "message": "" + "message": "メディアをアップロードできませんでした" } } }, "delete": { - "label": "", - "description": "", + "label": "メディアの削除", + "description": "メディア を削除してもよろしいですか?", "notification": { "success": { - "message": "" + "message": "メディアは正常に削除されました" }, "error": { - "message": "" + "message": "メディアは削除できませんでした" } } }, @@ -982,134 +986,134 @@ "label": "" }, "open": { - "label": "" + "label": "メディアを開く" } } }, "common": { - "beta": "", + "beta": "Beta", "error": "エラー", "action": { "add": "追加", "apply": "適用", - "backToOverview": "", + "backToOverview": "概要に戻る", "create": "作成", - "createAnother": "", + "createAnother": "作成・新規入力", "edit": "編集", - "import": "", + "import": "インポートする", "insert": "挿入", "remove": "削除", "save": "保存", "saveChanges": "変更を保存する", "cancel": "キャンセル", "delete": "削除", - "discard": "", - "close": "", + "discard": "破棄する", + "close": "閉じる", "confirm": "確認", "continue": "次へ", "previous": "前へ", "next": "次へ", - "checkoutDocs": "", - "checkLogs": "", + "checkoutDocs": "ドキュメントを確認する", + "checkLogs": "詳細はログを確認してください", "tryAgain": "リトライ", - "loading": "" + "loading": "読み込み中" }, - "here": "", + "here": "こちら", "iconPicker": { - "label": "", - "header": "" + "label": "アイコン URL", + "header": "アイコンをフィルタするために、名前またはオブジェクトを入力してください... Homarrは {countIcons} アイコンを検索します。" }, "colorScheme": { "options": { - "light": "", - "dark": "" + "light": "ライト", + "dark": "ダーク" } }, "information": { - "min": "", - "max": "", - "days": "", + "min": "最小", + "max": "最大", + "days": "日数", "hours": "時間", "minutes": "分" }, "notification": { "create": { - "success": "", - "error": "" + "success": "作成に成功しました", + "error": "作成に失敗しました" }, "delete": { - "success": "", - "error": "" + "success": "削除に成功しました", + "error": "削除に失敗しました" }, "update": { - "success": "", - "error": "" + "success": "変更は正常に適用されました", + "error": "変更を適用できません" }, "transfer": { - "success": "", - "error": "" + "success": "転送に成功しました", + "error": "転送に失敗しました" } }, "multiSelect": { - "placeholder": "" + "placeholder": "1つ以上の値を選択します" }, "multiText": { - "placeholder": "", - "addLabel": "" + "placeholder": "より多くの値を追加", + "addLabel": "{value} を追加" }, "select": { - "placeholder": "", + "placeholder": "値を選択", "badge": { - "recommended": "" + "recommended": "推奨" } }, "userAvatar": { "menu": { - "switchToDarkMode": "", - "switchToLightMode": "", - "management": "", + "switchToDarkMode": "ダークモードに切り替え", + "switchToLightMode": "ライトモードに切り替え", + "management": "管理", "preferences": "あなたの好み", - "logout": "", + "logout": "ログアウト", "login": "ログイン", - "homeBoard": "", - "loggedOut": "", - "updateAvailable": "" + "homeBoard": "あなたのホーム ボード", + "loggedOut": "ログアウトしました", + "updateAvailable": "{countUpdates} 個のアップデート利用可能: {tag}" } }, "dangerZone": "危険な操作", "noResults": "結果が見つかりません", - "unsavedChanges": "", + "unsavedChanges": "保存していない変更があります!", "preview": { - "show": "", - "hide": "" + "show": "プレビューを表示", + "hide": "プレビューを閉じる" }, "zod": { "errors": { "default": "このフィールドは無効です。", "required": "このフィールドは必須です", "string": { - "startsWith": "このフィールドは {startsWith}で始まらなければならない。", - "endsWith": "このフィールドの末尾は {endsWith}でなければならない。", - "includes": "このフィールドには {includes}を含めなければならない。", - "invalidEmail": "" + "startsWith": "このフィールドは {startsWith} で始まらなければならない。", + "endsWith": "このフィールドの末尾は {endsWith} でなければならない。", + "includes": "このフィールドには {includes} を含めなければならない。", + "invalidEmail": "このフィールドは有効なメールアドレスでなければなりません" }, "tooSmall": { "string": "このフィールドは {minimum} 文字以上で入力してください。", - "number": "このフィールドは {minimum}以上でなければならない。" + "number": "このフィールドは {minimum} 以上でなければならない。" }, "tooBig": { "string": "このフィールドは {maximum} 文字以内で入力してください。", - "number": "このフィールドは {maximum}以下でなければならない。" + "number": "このフィールドは {maximum} 以下でなければならない。" }, "custom": { - "passwordsDoNotMatch": "", - "passwordRequirements": "", - "boardAlreadyExists": "", - "invalidFileType": "", - "invalidFileName": "", - "fileTooLarge": "", - "invalidConfiguration": "", - "groupNameTaken": "" + "passwordsDoNotMatch": "パスワードが一致しません", + "passwordRequirements": "パスワードが要件を満たしていません", + "boardAlreadyExists": "この名前のボードは既に存在します", + "invalidFileType": "無効なファイルタイプです。 {expected} が必要です", + "invalidFileName": "無効なファイル名です", + "fileTooLarge": "ファイルが大きすぎます。最大サイズは {maxSize} です", + "invalidConfiguration": "無効な設定", + "groupNameTaken": "グループ名は、既に使用されています" } } } @@ -1117,20 +1121,20 @@ "section": { "dynamic": { "action": { - "create": "", - "remove": "" + "create": "新しいダイナミックセクション", + "remove": "ダイナミックセクションを削除する" }, "option": { "title": { - "label": "" + "label": "タイトル" }, "borderColor": { - "label": "" + "label": "境界線の色" } }, "remove": { - "title": "", - "message": "" + "title": "ダイナミックセクションの削除", + "message": "この動的セクションを削除してもよろしいですか?アイテムは親セクションの同じ場所に移動されます。" } }, "category": { @@ -1140,47 +1144,47 @@ } }, "action": { - "create": "", - "edit": "", - "remove": "", + "create": "新しいカテゴリー", + "edit": "カテゴリー名の変更", + "remove": "カテゴリーを削除", "moveUp": "上に移動", "moveDown": "下へ移動", - "createAbove": "", - "createBelow": "", - "openAllInNewTabs": "" + "createAbove": "上に新しいカテゴリー", + "createBelow": "下に新しいカテゴリ", + "openAllInNewTabs": "すべてのタブを開く" }, "create": { - "title": "", - "submit": "" + "title": "新しいカテゴリー", + "submit": "カテゴリーを追加" }, "remove": { - "title": "", - "message": "" + "title": "カテゴリーの削除", + "message": "カテゴリー {name} を削除してもよろしいですか?" }, "edit": { - "title": "", - "submit": "" + "title": "カテゴリー名変更", + "submit": "カテゴリー名を変更" }, "menu": { "label": { - "create": "", + "create": "新しいカテゴリー", "changePosition": "ポジションを変更する" } }, "openAllInNewTabs": { - "title": "", - "text": "" + "title": "すべてのタブを開く", + "text": "一部のブラウザーはセキュリティ上の理由からタブの一括開封をブロックすることがあります。 あなたのブラウザがこの操作をブロックしたため、Homarrはすべてのウィンドウを開くことができませんでした。「ポップアップウィンドウを開く」を許可して再試行してください。" } } }, "item": { "action": { - "create": "", - "import": "", - "edit": "", - "moveResize": "", - "duplicate": "", - "remove": "" + "create": "新しいアイテム", + "import": "アイテムをインポート", + "edit": "アイテムを編集", + "moveResize": "アイテムを移動/サイズ変更", + "duplicate": "アイテムを複製", + "remove": "アイテムを削除" }, "menu": { "label": { @@ -1188,12 +1192,12 @@ } }, "create": { - "title": "", - "search": "", - "addToBoard": "" + "title": "追加するアイテムを選択", + "search": "アイテムをフィルタする", + "addToBoard": "ボードに追加" }, "moveResize": { - "title": "", + "title": "アイテムの移動/サイズ変更", "field": { "width": { "label": "幅" @@ -1202,73 +1206,73 @@ "label": "高さ" }, "xOffset": { - "label": "" + "label": "X オフセット" }, "yOffset": { - "label": "" + "label": "Y\n オフセット" } } }, "edit": { - "title": "", + "title": "アイテムの編集", "advancedOptions": { - "label": "", - "title": "" + "label": "高度な設定", + "title": "高度なアイテムオプション" }, "field": { "integrations": { - "label": "" + "label": "インテグレーション" }, "title": { - "label": "" + "label": "タイトル" }, "customCssClasses": { - "label": "" + "label": "カスタム CSS クラス" }, "borderColor": { - "label": "" + "label": "境界線の色" } } }, "remove": { - "title": "", - "message": "" + "title": "アイテム削除", + "message": "このアイテムを削除してもよろしいですか?" } }, "widget": { "app": { - "name": "", - "description": "", + "name": "アプリ", + "description": "アプリをボードに埋め込みます。", "option": { "appId": { - "label": "" + "label": "アプリを選択" }, "openInNewTab": { "label": "新しいタブで開く" }, "showTitle": { - "label": "" + "label": "アプリ名を表示" }, "showDescriptionTooltip": { - "label": "" + "label": "説明ツールチップを表示" }, "pingEnabled": { - "label": "" + "label": "ステータスチェックを有効にする" } }, "error": { "notFound": { - "label": "", - "tooltip": "" + "label": "アプリがありません", + "tooltip": "有効なアプリが選択されていません" } } }, "bookmarks": { - "name": "", - "description": "", + "name": "ブックマーク", + "description": "複数のアプリリンクを表示します", "option": { "title": { - "label": "" + "label": "タイトル" }, "layout": { "label": "レイアウト", @@ -1280,34 +1284,34 @@ "label": "垂直" }, "grid": { - "label": "" + "label": "グリッド" }, "gridHorizontal": { - "label": "" + "label": "グリッドは水平方向" } } }, "hideTitle": { - "label": "" + "label": "タイトルを非表示" }, "hideIcon": { - "label": "" + "label": "アイコンを非表示" }, "hideHostname": { - "label": "" + "label": "ホスト名を非表示" }, "openNewTab": { - "label": "" + "label": "新しいタブで開く" }, "items": { - "label": "", - "add": "" + "label": "ブックマーク", + "add": "ブックマークに追加" } } }, "dnsHoleSummary": { - "name": "", - "description": "", + "name": "DNS Hole 概要", + "description": "DNS Hole の概要を表示します", "option": { "layout": { "label": "レイアウト", @@ -1319,28 +1323,28 @@ "label": "垂直" }, "grid": { - "label": "" + "label": "グリッド" } } }, "usePiHoleColors": { - "label": "" + "label": "Pi-Hole の色を使用" } }, "error": { - "internalServerError": "", - "integrationsDisconnected": "" + "internalServerError": "DNS Hole Summary の取得に失敗しました", + "integrationsDisconnected": "利用可能なデータがありません。すべてのインテグレーションが切断されました" }, "data": { "adsBlockedToday": "今日のブロック", "adsBlockedTodayPercentage": "今日のブロック", "dnsQueriesToday": "今日のクエリ", - "domainsBeingBlocked": "" + "domainsBeingBlocked": "ブロックリストにあるドメイン" }, - "domainsTooltip": "" + "domainsTooltip": "複数のインテグレーションにより、Homarrはブロックされているドメインの正確な数を計算できません" }, "dnsHoleControls": { - "name": "", + "name": "DNS Hole の 制御", "description": "ダッシュボードからPiHoleまたはAdGuardをコントロールする", "option": { "layout": { @@ -1353,95 +1357,95 @@ "label": "垂直" }, "grid": { - "label": "" + "label": "グリッド" } } }, "showToggleAllButtons": { - "label": "" + "label": "すべてのボタンを表示" } }, "error": { - "internalServerError": "" + "internalServerError": "DNS Hole の 制御に失敗しました" }, "controls": { - "enableAll": "", - "disableAll": "", - "setTimer": "", + "enableAll": "すべて有効", + "disableAll": "すべて無効", + "setTimer": "タイマー設定", "set": "設定", "enabled": "有効", "disabled": "無効", - "processing": "", - "disconnected": "", + "processing": "処理中", + "disconnected": "切断されました", "hours": "時間", "minutes": "分", - "unlimited": "" + "unlimited": "無制限にする場合は、空白のままにしてください" } }, "clock": { - "name": "", + "name": "日付と時刻", "description": "現在の日付と時刻を表示します。", "option": { "customTitleToggle": { - "label": "", - "description": "" + "label": "都市名部にカスタム表示", + "description": "時計の上にカスタムタイトルまたは都市/国の名前を表示します。" }, "customTitle": { - "label": "" + "label": "タイトル" }, "is24HourFormat": { - "label": "", - "description": "" + "label": "24時間表示", + "description": "12 時間形式の代わりに 24 時間形式を使用します" }, "showSeconds": { - "label": "" + "label": "秒を表示" }, "useCustomTimezone": { - "label": "" + "label": "固定のタイムゾーンを使用" }, "timezone": { "label": "タイムゾーン", - "description": "" + "description": "以下の IANA 標準タイムゾーンを選択してください" }, "showDate": { - "label": "" + "label": "日付を表示" }, "dateFormat": { - "label": "", - "description": "" + "label": "日付の形式", + "description": "日付がどのように表示されるか" }, "customTimeFormat": { - "label": "", - "description": "" + "label": "時間の書式をカスタマイズ", + "description": "時刻の書式に ISO-8601を使用します(これは他のオプションを上書きします)" }, "customDateFormat": { - "label": "", - "description": "" + "label": "日付の書式をカスタマイズ", + "description": "日付の書式に ISO-8601を使用します(これは他のオプションを上書きします)" } } }, "minecraftServerStatus": { - "name": "", - "description": "", + "name": "Minecraft サーバーステータス", + "description": "Minecraft サーバーのステータスを表示します", "option": { "title": { - "label": "" + "label": "タイトル" }, "domain": { - "label": "" + "label": "サーバーアドレス" }, "isBedrockServer": { - "label": "" + "label": "Bedrockサーバー" } }, "status": { - "online": "", - "offline": "" + "online": "オンライン", + "offline": "オフライン" } }, "notebook": { "name": "メモ帳", - "description": "", + "description": "マークダウンをサポートするシンプルなノートブックウィジェット", "option": { "showToolbar": { "label": "マークダウンを書くのに役立つツールバーを表示する" @@ -1501,7 +1505,7 @@ } }, "iframe": { - "name": "iframe ", + "name": "iFrame", "description": "インターネットから任意のコンテンツを埋め込みます。一部のウェブサイトではアクセスが制限される場合があります", "option": { "embedUrl": { @@ -1533,32 +1537,32 @@ } }, "error": { - "noUrl": "", - "unsupportedProtocol": "", + "noUrl": "IFrame URLが指定されていません", + "unsupportedProtocol": "提供された URL は、サポートされていないプロトコルを使用しています。( {supportedProtocols} ) から1つを使ってください", "noBrowerSupport": "お使いのブラウザは iframe をサポートしていません。ブラウザを更新してください。" } }, "smartHome-entityState": { - "name": "", - "description": "", + "name": "エンティティ状態", + "description": "エンティティの状態を表示し、オプションで切り替えます", "option": { "entityId": { "label": "エンティティID" }, "displayName": { - "label": "" + "label": "表示名" }, "entityUnit": { - "label": "" + "label": "エンティティユニット" }, "clickable": { - "label": "" + "label": "クリック可能" } } }, "smartHome-executeAutomation": { - "name": "", - "description": "", + "name": "オートメーションの実行", + "description": "ワンクリックでオートメーションをトリガーする", "option": { "displayName": { "label": "表示名" @@ -1568,80 +1572,80 @@ } }, "spotlightAction": { - "run": "" + "run": "{name} を実行" } }, "stockPrice": { - "name": "", - "description": "", + "name": "株価", + "description": "会社の現在の株価を表示します", "option": { "stock": { - "label": "" + "label": "株式銘柄" }, "timeRange": { - "label": "", + "label": "対象期間", "option": { "1d": { - "label": "" + "label": "1日" }, "5d": { - "label": "" + "label": "5日" }, "1mo": { - "label": "" + "label": "1ヵ月" }, "3mo": { - "label": "" + "label": "3ヵ月" }, "6mo": { - "label": "" + "label": "6ヵ月" }, "ytd": { - "label": "" + "label": "年始から今日まで" }, "1y": { - "label": "" + "label": "1年" }, "2y": { - "label": "" + "label": "2年" }, "5y": { - "label": "" + "label": "5年" }, "10y": { - "label": "" + "label": "10年" }, "max": { - "label": "" + "label": "最大" } } }, "timeInterval": { - "label": "", + "label": "時間間隔", "option": { "5m": { - "label": "" + "label": "5分" }, "15m": { - "label": "" + "label": "15分" }, "30m": { - "label": "" + "label": "30分" }, "1h": { - "label": "" + "label": "1時間" }, "1d": { - "label": "" + "label": "1日" }, "5d": { - "label": "" + "label": "5日" }, "1wk": { - "label": "" + "label": "1週間" }, "1mo": { - "label": "" + "label": "1ヵ月" } } } @@ -1649,21 +1653,21 @@ }, "calendar": { "name": "カレンダー", - "description": "", + "description": "カレンダービューで、特定の相対的な期間内に、インテグレーションからのイベントを表示します", "option": { "releaseType": { "label": "ラダーリリースタイプ", "options": { - "inCinemas": "", + "inCinemas": "映画", "digitalRelease": "", "physicalRelease": "" } }, "filterPastMonths": { - "label": "" + "label": "開始日" }, "filterFutureMonths": { - "label": "" + "label": "終了日" }, "showUnmonitored": { "label": "" @@ -1675,30 +1679,30 @@ "description": "設定した場所の現在の天気情報を表示します。", "option": { "isFormatFahrenheit": { - "label": "" + "label": "華氏温度" }, "disableTemperatureDecimals": { - "label": "" + "label": "温度の小数点以下を無効にする" }, "showCurrentWindSpeed": { - "label": "", - "description": "" + "label": "現在の風速を表示", + "description": "現在の天気のみ表示" }, "location": { "label": "天候の場所" }, "showCity": { - "label": "" + "label": "都市名を表示" }, "hasForecast": { - "label": "" + "label": "天気予報を表示" }, "forecastDayCount": { - "label": "", - "description": "" + "label": "天気予報の日数", + "description": "ウィジェットの幅が十分でない場合、より少ない日数が表示されます" }, "dateFormat": { - "label": "", + "label": "日付の形式", "description": "" } }, @@ -1833,36 +1837,36 @@ "name": "", "cpu": "", "memory": "", - "node": "" + "node": "ノード" } } } }, "dockerContainers": { - "name": "", - "description": "", + "name": "Dockerのステータス", + "description": "あなたのコンテナの統計(このウィジェットは管理者権限でのみ追加できます)", "option": {}, "error": { - "internalServerError": "" + "internalServerError": "コンテナステータスの取得に失敗しました" } }, "common": { "location": { - "query": "", - "latitude": "", - "longitude": "", - "disabledTooltip": "", - "unknownLocation": "", + "query": "都市/郵便番号", + "latitude": "緯度", + "longitude": "経度", + "disabledTooltip": "都市または郵便番号を入力してください", + "unknownLocation": "不明な場所", "search": "検索", "table": { "header": { - "city": "", - "country": "", + "city": "都市", + "country": "国/地域", "coordinates": "", "population": "" }, "action": { - "select": "" + "select": "{city} / {countryCode} を選択する" }, "population": { "fallback": "不明" @@ -1870,17 +1874,17 @@ } }, "integration": { - "noData": "", - "description": "" + "noData": "インテグレーションが見つかりません", + "description": " をクリックして新しいインテグレーションを作成する" }, "app": { - "noData": "", - "description": "", - "quickCreate": "" + "noData": "アプリが見つかりません", + "description": " をクリックして新しいアプリを作成する", + "quickCreate": "その場でアプリを作成" }, "error": { - "noIntegration": "", - "noData": "" + "noIntegration": "インテグレーションが選択されていません", + "noData": "利用可能なインテグレーションデータがありません" }, "option": {} }, @@ -1893,38 +1897,38 @@ }, "hasAutoPlay": { "label": "オートプレイ", - "description": "" + "description": "自動再生はブラウザの制限によりミュートされた場合にのみ機能します" }, "isMuted": { - "label": "" + "label": "ミュート" }, "hasControls": { - "label": "" + "label": "コントロールを表示" } }, "error": { - "noUrl": "", - "forYoutubeUseIframe": "" + "noUrl": "動画の URL が提供されていません", + "forYoutubeUseIframe": "YouTube動画の場合、iframeオプションを使用してください" } }, "mediaServer": { - "name": "", - "description": "", + "name": "現在のメディアサーバーのストリーム", + "description": "メディアサーバーに現在のストリームを表示します", "option": { "showOnlyPlaying": { - "label": "", - "description": "" + "label": "現在再生中のみ表示", + "description": "これを無効にすると plex では動作しません" } }, "items": { - "currentlyPlaying": "", - "user": "", - "name": "", - "id": "" + "currentlyPlaying": "再生中の曲", + "user": "ユーザー", + "name": "名前", + "id": "ID" } }, "downloads": { - "name": "", + "name": "クライアントをダウンロード", "description": "", "option": { "columns": { @@ -2023,7 +2027,7 @@ "detailsTitle": "" }, "time": { - "columnTitle": "", + "columnTitle": "終了時刻", "detailsTitle": "" }, "type": { @@ -2088,7 +2092,9 @@ "pending": "", "processing": "", "partiallyAvailable": "一部", - "available": "利用可能" + "available": "利用可能", + "blacklisted": "", + "deleted": "" }, "status": { "pending": "", @@ -2357,6 +2363,12 @@ "error": { "internalServerError": "" } + }, + "notifications": { + "name": "", + "description": "", + "noItems": "", + "option": {} } }, "widgetPreview": { @@ -2997,10 +3009,10 @@ }, "crawlingAndIndexing": { "title": "", - "warning": "", + "warning": "ここで設定を有効または無効にすると、検索エンジンがページをインデックスしてクロールする方法に深刻な影響を与えます。 すべての設定はリクエストであり、これらの設定を適用することはクローラー次第です。 変更が適用されるまでに数日または数週間かかる場合があります。", "noIndex": { "title": "", - "text": "" + "text": "検索エンジンでウェブサイトにインデックスを付けず、検索結果には表示しません" }, "noFollow": { "title": "", @@ -3122,6 +3134,9 @@ "networkController": { "label": "" }, + "refreshNotifications": { + "label": "" + }, "dockerContainers": { "label": "" } diff --git a/packages/translation/src/lang/ko.json b/packages/translation/src/lang/ko.json index 92e4e33ba..95110271e 100644 --- a/packages/translation/src/lang/ko.json +++ b/packages/translation/src/lang/ko.json @@ -936,6 +936,10 @@ "realm": { "label": "", "newLabel": "" + }, + "topic": { + "label": "", + "newLabel": "" } } }, @@ -2088,7 +2092,9 @@ "pending": "", "processing": "", "partiallyAvailable": "", - "available": "" + "available": "", + "blacklisted": "", + "deleted": "" }, "status": { "pending": "", @@ -2357,6 +2363,12 @@ "error": { "internalServerError": "" } + }, + "notifications": { + "name": "", + "description": "", + "noItems": "", + "option": {} } }, "widgetPreview": { @@ -3122,6 +3134,9 @@ "networkController": { "label": "" }, + "refreshNotifications": { + "label": "" + }, "dockerContainers": { "label": "" } diff --git a/packages/translation/src/lang/lt.json b/packages/translation/src/lang/lt.json index 2bf9dd27a..ada3e1e14 100644 --- a/packages/translation/src/lang/lt.json +++ b/packages/translation/src/lang/lt.json @@ -936,6 +936,10 @@ "realm": { "label": "", "newLabel": "" + }, + "topic": { + "label": "", + "newLabel": "" } } }, @@ -2088,7 +2092,9 @@ "pending": "", "processing": "", "partiallyAvailable": "Dalis", - "available": "Galima" + "available": "Galima", + "blacklisted": "", + "deleted": "" }, "status": { "pending": "", @@ -2357,6 +2363,12 @@ "error": { "internalServerError": "" } + }, + "notifications": { + "name": "", + "description": "", + "noItems": "", + "option": {} } }, "widgetPreview": { @@ -3122,6 +3134,9 @@ "networkController": { "label": "" }, + "refreshNotifications": { + "label": "" + }, "dockerContainers": { "label": "" } diff --git a/packages/translation/src/lang/lv.json b/packages/translation/src/lang/lv.json index 911b6a85a..9d5826f2d 100644 --- a/packages/translation/src/lang/lv.json +++ b/packages/translation/src/lang/lv.json @@ -936,6 +936,10 @@ "realm": { "label": "", "newLabel": "" + }, + "topic": { + "label": "", + "newLabel": "" } } }, @@ -2088,7 +2092,9 @@ "pending": "", "processing": "", "partiallyAvailable": "Daļējs", - "available": "Pieejams" + "available": "Pieejams", + "blacklisted": "", + "deleted": "" }, "status": { "pending": "", @@ -2357,6 +2363,12 @@ "error": { "internalServerError": "" } + }, + "notifications": { + "name": "", + "description": "", + "noItems": "", + "option": {} } }, "widgetPreview": { @@ -3122,6 +3134,9 @@ "networkController": { "label": "" }, + "refreshNotifications": { + "label": "" + }, "dockerContainers": { "label": "" } diff --git a/packages/translation/src/lang/nl.json b/packages/translation/src/lang/nl.json index 98266140f..3afbdecf0 100644 --- a/packages/translation/src/lang/nl.json +++ b/packages/translation/src/lang/nl.json @@ -936,6 +936,10 @@ "realm": { "label": "Realm", "newLabel": "Nieuwe Realm" + }, + "topic": { + "label": "", + "newLabel": "" } } }, @@ -2088,7 +2092,9 @@ "pending": "In afwachting", "processing": "Verwerken", "partiallyAvailable": "Gedeeltelijk", - "available": "Beschikbaar" + "available": "Beschikbaar", + "blacklisted": "", + "deleted": "" }, "status": { "pending": "In afwachting", @@ -2357,6 +2363,12 @@ "error": { "internalServerError": "Netwerkcontroller samenvatting ophalen mislukt" } + }, + "notifications": { + "name": "", + "description": "", + "noItems": "", + "option": {} } }, "widgetPreview": { @@ -3122,6 +3134,9 @@ "networkController": { "label": "Netwerkcontroller" }, + "refreshNotifications": { + "label": "" + }, "dockerContainers": { "label": "" } diff --git a/packages/translation/src/lang/no.json b/packages/translation/src/lang/no.json index d140b25b4..88ba1b2e2 100644 --- a/packages/translation/src/lang/no.json +++ b/packages/translation/src/lang/no.json @@ -936,6 +936,10 @@ "realm": { "label": "Område", "newLabel": "Nytt område" + }, + "topic": { + "label": "", + "newLabel": "" } } }, @@ -2088,7 +2092,9 @@ "pending": "Pågår", "processing": "Prosesserer", "partiallyAvailable": "Delvis", - "available": "Tilgjengelig" + "available": "Tilgjengelig", + "blacklisted": "", + "deleted": "" }, "status": { "pending": "Venter", @@ -2357,6 +2363,12 @@ "error": { "internalServerError": "" } + }, + "notifications": { + "name": "", + "description": "", + "noItems": "", + "option": {} } }, "widgetPreview": { @@ -3122,6 +3134,9 @@ "networkController": { "label": "" }, + "refreshNotifications": { + "label": "" + }, "dockerContainers": { "label": "" } diff --git a/packages/translation/src/lang/pl.json b/packages/translation/src/lang/pl.json index 6a764b80d..915aaeb23 100644 --- a/packages/translation/src/lang/pl.json +++ b/packages/translation/src/lang/pl.json @@ -936,6 +936,10 @@ "realm": { "label": "", "newLabel": "" + }, + "topic": { + "label": "", + "newLabel": "" } } }, @@ -2088,7 +2092,9 @@ "pending": "Oczekujący", "processing": "Przetwarzanie", "partiallyAvailable": "", - "available": "Dostępne" + "available": "Dostępne", + "blacklisted": "", + "deleted": "" }, "status": { "pending": "", @@ -2357,6 +2363,12 @@ "error": { "internalServerError": "" } + }, + "notifications": { + "name": "", + "description": "", + "noItems": "", + "option": {} } }, "widgetPreview": { @@ -3122,6 +3134,9 @@ "networkController": { "label": "" }, + "refreshNotifications": { + "label": "" + }, "dockerContainers": { "label": "" } diff --git a/packages/translation/src/lang/pt.json b/packages/translation/src/lang/pt.json index 986c507df..3efc7cac7 100644 --- a/packages/translation/src/lang/pt.json +++ b/packages/translation/src/lang/pt.json @@ -936,6 +936,10 @@ "realm": { "label": "", "newLabel": "" + }, + "topic": { + "label": "", + "newLabel": "" } } }, @@ -2088,7 +2092,9 @@ "pending": "", "processing": "", "partiallyAvailable": "Parcial", - "available": "Disponível" + "available": "Disponível", + "blacklisted": "", + "deleted": "" }, "status": { "pending": "", @@ -2357,6 +2363,12 @@ "error": { "internalServerError": "" } + }, + "notifications": { + "name": "", + "description": "", + "noItems": "", + "option": {} } }, "widgetPreview": { @@ -3122,6 +3134,9 @@ "networkController": { "label": "" }, + "refreshNotifications": { + "label": "" + }, "dockerContainers": { "label": "" } diff --git a/packages/translation/src/lang/ro.json b/packages/translation/src/lang/ro.json index 9661849fa..a1fad1afc 100644 --- a/packages/translation/src/lang/ro.json +++ b/packages/translation/src/lang/ro.json @@ -936,6 +936,10 @@ "realm": { "label": "", "newLabel": "" + }, + "topic": { + "label": "", + "newLabel": "" } } }, @@ -2088,7 +2092,9 @@ "pending": "", "processing": "", "partiallyAvailable": "Parțial", - "available": "Disponibil" + "available": "Disponibil", + "blacklisted": "", + "deleted": "" }, "status": { "pending": "", @@ -2357,6 +2363,12 @@ "error": { "internalServerError": "" } + }, + "notifications": { + "name": "", + "description": "", + "noItems": "", + "option": {} } }, "widgetPreview": { @@ -3122,6 +3134,9 @@ "networkController": { "label": "" }, + "refreshNotifications": { + "label": "" + }, "dockerContainers": { "label": "" } diff --git a/packages/translation/src/lang/ru.json b/packages/translation/src/lang/ru.json index 1a841c2cd..950ddc270 100644 --- a/packages/translation/src/lang/ru.json +++ b/packages/translation/src/lang/ru.json @@ -936,6 +936,10 @@ "realm": { "label": "Область", "newLabel": "Новая область" + }, + "topic": { + "label": "", + "newLabel": "" } } }, @@ -2088,7 +2092,9 @@ "pending": "В ожидании", "processing": "Обработка", "partiallyAvailable": "Частично доступно", - "available": "Доступно" + "available": "Доступно", + "blacklisted": "", + "deleted": "" }, "status": { "pending": "В ожидании", @@ -2357,6 +2363,12 @@ "error": { "internalServerError": "" } + }, + "notifications": { + "name": "", + "description": "", + "noItems": "", + "option": {} } }, "widgetPreview": { @@ -3122,6 +3134,9 @@ "networkController": { "label": "" }, + "refreshNotifications": { + "label": "" + }, "dockerContainers": { "label": "" } diff --git a/packages/translation/src/lang/sk.json b/packages/translation/src/lang/sk.json index fb1a64c65..8b6c91862 100644 --- a/packages/translation/src/lang/sk.json +++ b/packages/translation/src/lang/sk.json @@ -936,6 +936,10 @@ "realm": { "label": "Ríša", "newLabel": "Nová ríša" + }, + "topic": { + "label": "", + "newLabel": "" } } }, @@ -2088,7 +2092,9 @@ "pending": "Čakajúce", "processing": "Spracovanie", "partiallyAvailable": "Čiastočný", - "available": "K dispozícii" + "available": "K dispozícii", + "blacklisted": "", + "deleted": "" }, "status": { "pending": "Čakajúce", @@ -2357,6 +2363,12 @@ "error": { "internalServerError": "Nepodarilo sa načítať súhrn sieťového ovládača" } + }, + "notifications": { + "name": "", + "description": "", + "noItems": "", + "option": {} } }, "widgetPreview": { @@ -3122,6 +3134,9 @@ "networkController": { "label": "Sieťový ovládač" }, + "refreshNotifications": { + "label": "" + }, "dockerContainers": { "label": "Docker kontajnery" } diff --git a/packages/translation/src/lang/sl.json b/packages/translation/src/lang/sl.json index 4b107f693..f1568cdcc 100644 --- a/packages/translation/src/lang/sl.json +++ b/packages/translation/src/lang/sl.json @@ -936,6 +936,10 @@ "realm": { "label": "", "newLabel": "" + }, + "topic": { + "label": "", + "newLabel": "" } } }, @@ -2088,7 +2092,9 @@ "pending": "", "processing": "", "partiallyAvailable": "", - "available": "" + "available": "", + "blacklisted": "", + "deleted": "" }, "status": { "pending": "", @@ -2357,6 +2363,12 @@ "error": { "internalServerError": "" } + }, + "notifications": { + "name": "", + "description": "", + "noItems": "", + "option": {} } }, "widgetPreview": { @@ -3122,6 +3134,9 @@ "networkController": { "label": "" }, + "refreshNotifications": { + "label": "" + }, "dockerContainers": { "label": "" } diff --git a/packages/translation/src/lang/sv.json b/packages/translation/src/lang/sv.json index 893a0b83b..b4623f8dc 100644 --- a/packages/translation/src/lang/sv.json +++ b/packages/translation/src/lang/sv.json @@ -936,6 +936,10 @@ "realm": { "label": "", "newLabel": "" + }, + "topic": { + "label": "", + "newLabel": "" } } }, @@ -2088,7 +2092,9 @@ "pending": "", "processing": "", "partiallyAvailable": "Delmängd", - "available": "Tillgänglig" + "available": "Tillgänglig", + "blacklisted": "", + "deleted": "" }, "status": { "pending": "", @@ -2357,6 +2363,12 @@ "error": { "internalServerError": "" } + }, + "notifications": { + "name": "", + "description": "", + "noItems": "", + "option": {} } }, "widgetPreview": { @@ -3122,6 +3134,9 @@ "networkController": { "label": "" }, + "refreshNotifications": { + "label": "" + }, "dockerContainers": { "label": "" } diff --git a/packages/translation/src/lang/tr.json b/packages/translation/src/lang/tr.json index 85324274e..dc9f0d3b4 100644 --- a/packages/translation/src/lang/tr.json +++ b/packages/translation/src/lang/tr.json @@ -936,6 +936,10 @@ "realm": { "label": "Erişim Alanı", "newLabel": "Yeni erişim alanı" + }, + "topic": { + "label": "Konu", + "newLabel": "Yeni konu" } } }, @@ -2088,7 +2092,9 @@ "pending": "Bekleyen", "processing": "İşlemde", "partiallyAvailable": "Kısmi", - "available": "Mevcut" + "available": "Mevcut", + "blacklisted": "Engellenenler", + "deleted": "Silinen" }, "status": { "pending": "Bekleyen", @@ -2357,6 +2363,12 @@ "error": { "internalServerError": "Ağ Denetleyicisi Özeti alınamadı" } + }, + "notifications": { + "name": "Bildirimler", + "description": "Entegrasyonların bildirim geçmişini görüntüle", + "noItems": "Görüntülenecek bildirim yok.", + "option": {} } }, "widgetPreview": { @@ -3122,6 +3134,9 @@ "networkController": { "label": "Ağ Denetleyicisi" }, + "refreshNotifications": { + "label": "Bildirim Güncelleyici" + }, "dockerContainers": { "label": "Docker konteynerleri" } diff --git a/packages/translation/src/lang/uk.json b/packages/translation/src/lang/uk.json index f2e8d889b..c511aa690 100644 --- a/packages/translation/src/lang/uk.json +++ b/packages/translation/src/lang/uk.json @@ -936,6 +936,10 @@ "realm": { "label": "", "newLabel": "" + }, + "topic": { + "label": "", + "newLabel": "" } } }, @@ -2088,7 +2092,9 @@ "pending": "В очікуванні", "processing": "В обробці", "partiallyAvailable": "Частково доступно", - "available": "Доступно" + "available": "Доступно", + "blacklisted": "", + "deleted": "" }, "status": { "pending": "", @@ -2357,6 +2363,12 @@ "error": { "internalServerError": "" } + }, + "notifications": { + "name": "", + "description": "", + "noItems": "", + "option": {} } }, "widgetPreview": { @@ -3122,6 +3134,9 @@ "networkController": { "label": "" }, + "refreshNotifications": { + "label": "" + }, "dockerContainers": { "label": "" } diff --git a/packages/translation/src/lang/vi.json b/packages/translation/src/lang/vi.json index ae92647af..cefe511d9 100644 --- a/packages/translation/src/lang/vi.json +++ b/packages/translation/src/lang/vi.json @@ -936,6 +936,10 @@ "realm": { "label": "", "newLabel": "" + }, + "topic": { + "label": "", + "newLabel": "" } } }, @@ -2088,7 +2092,9 @@ "pending": "", "processing": "", "partiallyAvailable": "Một phần", - "available": "Khả dụng" + "available": "Khả dụng", + "blacklisted": "", + "deleted": "" }, "status": { "pending": "", @@ -2357,6 +2363,12 @@ "error": { "internalServerError": "" } + }, + "notifications": { + "name": "", + "description": "", + "noItems": "", + "option": {} } }, "widgetPreview": { @@ -3122,6 +3134,9 @@ "networkController": { "label": "" }, + "refreshNotifications": { + "label": "" + }, "dockerContainers": { "label": "" } diff --git a/packages/translation/src/lang/zh.json b/packages/translation/src/lang/zh.json index f5ea79917..6236f1d12 100644 --- a/packages/translation/src/lang/zh.json +++ b/packages/translation/src/lang/zh.json @@ -936,6 +936,10 @@ "realm": { "label": "領域", "newLabel": "新領域" + }, + "topic": { + "label": "", + "newLabel": "" } } }, @@ -2088,7 +2092,9 @@ "pending": "等待處理中", "processing": "處理中", "partiallyAvailable": "部分", - "available": "待定" + "available": "待定", + "blacklisted": "", + "deleted": "" }, "status": { "pending": "待處理", @@ -2357,6 +2363,12 @@ "error": { "internalServerError": "無法獲取網路控制總覽" } + }, + "notifications": { + "name": "", + "description": "", + "noItems": "", + "option": {} } }, "widgetPreview": { @@ -3122,6 +3134,9 @@ "networkController": { "label": "網路控制" }, + "refreshNotifications": { + "label": "" + }, "dockerContainers": { "label": "" } diff --git a/packages/ui/package.json b/packages/ui/package.json index f421423fe..6109b4375 100644 --- a/packages/ui/package.json +++ b/packages/ui/package.json @@ -29,9 +29,9 @@ "@homarr/log": "workspace:^0.1.0", "@homarr/translation": "workspace:^0.1.0", "@homarr/validation": "workspace:^0.1.0", - "@mantine/core": "^8.1.1", - "@mantine/dates": "^8.1.1", - "@mantine/hooks": "^8.1.1", + "@mantine/core": "^8.1.2", + "@mantine/dates": "^8.1.2", + "@mantine/hooks": "^8.1.2", "@tabler/icons-react": "^3.34.0", "mantine-react-table": "2.0.0-beta.9", "next": "15.3.4", diff --git a/packages/widgets/package.json b/packages/widgets/package.json index b453e04b7..4e6205399 100644 --- a/packages/widgets/package.json +++ b/packages/widgets/package.json @@ -48,25 +48,25 @@ "@homarr/translation": "workspace:^0.1.0", "@homarr/ui": "workspace:^0.1.0", "@homarr/validation": "workspace:^0.1.0", - "@mantine/charts": "^8.1.1", - "@mantine/core": "^8.1.1", - "@mantine/hooks": "^8.1.1", + "@mantine/charts": "^8.1.2", + "@mantine/core": "^8.1.2", + "@mantine/hooks": "^8.1.2", "@tabler/icons-react": "^3.34.0", - "@tiptap/extension-color": "2.22.0", - "@tiptap/extension-highlight": "2.22.0", - "@tiptap/extension-image": "2.22.0", - "@tiptap/extension-link": "^2.22.0", - "@tiptap/extension-table": "2.22.0", - "@tiptap/extension-table-cell": "2.22.0", - "@tiptap/extension-table-header": "2.22.0", - "@tiptap/extension-table-row": "2.22.0", - "@tiptap/extension-task-item": "2.22.0", - "@tiptap/extension-task-list": "2.22.0", - "@tiptap/extension-text-align": "2.22.0", - "@tiptap/extension-text-style": "2.22.0", - "@tiptap/extension-underline": "2.22.0", - "@tiptap/react": "^2.22.0", - "@tiptap/starter-kit": "^2.22.0", + "@tiptap/extension-color": "2.23.0", + "@tiptap/extension-highlight": "2.23.0", + "@tiptap/extension-image": "2.23.0", + "@tiptap/extension-link": "^2.23.0", + "@tiptap/extension-table": "2.23.0", + "@tiptap/extension-table-cell": "2.23.0", + "@tiptap/extension-table-header": "2.23.0", + "@tiptap/extension-table-row": "2.23.0", + "@tiptap/extension-task-item": "2.23.0", + "@tiptap/extension-task-list": "2.23.0", + "@tiptap/extension-text-align": "2.23.0", + "@tiptap/extension-text-style": "2.23.0", + "@tiptap/extension-underline": "2.23.0", + "@tiptap/react": "^2.23.0", + "@tiptap/starter-kit": "^2.23.0", "clsx": "^2.1.1", "dayjs": "^1.11.13", "mantine-react-table": "2.0.0-beta.9", @@ -74,7 +74,7 @@ "react": "19.1.0", "react-dom": "19.1.0", "react-markdown": "^10.1.0", - "recharts": "^2.15.3", + "recharts": "^2.15.4", "video.js": "^8.23.3", "zod": "^3.25.67" }, diff --git a/packages/widgets/src/index.tsx b/packages/widgets/src/index.tsx index e8d9cbe1d..fc2fbc8e4 100644 --- a/packages/widgets/src/index.tsx +++ b/packages/widgets/src/index.tsx @@ -28,6 +28,7 @@ import * as minecraftServerStatus from "./minecraft/server-status"; import * as networkControllerStatus from "./network-controller/network-status"; import * as networkControllerSummary from "./network-controller/summary"; import * as notebook from "./notebook"; +import * as notifications from "./notifications"; import type { WidgetOptionDefinition } from "./options"; import * as releases from "./releases"; import * as rssFeed from "./rssFeed"; @@ -67,6 +68,7 @@ export const widgetImports = { minecraftServerStatus, dockerContainers, releases, + notifications, } satisfies WidgetImportRecord; export type WidgetImports = typeof widgetImports; diff --git a/packages/widgets/src/media-requests/list/component.tsx b/packages/widgets/src/media-requests/list/component.tsx index 24c58e4ac..d148ff916 100644 --- a/packages/widgets/src/media-requests/list/component.tsx +++ b/packages/widgets/src/media-requests/list/component.tsx @@ -252,7 +252,11 @@ function getAvailabilityProperties( return { color: "blue", label: t("availability.processing") }; case MediaAvailability.Pending: return { color: "violet", label: t("availability.pending") }; + case MediaAvailability.Blacklisted: + return { color: "gray", label: t("availability.blacklisted") }; + case MediaAvailability.Deleted: + return { color: "red", label: t("availability.deleted") }; default: - return { color: "red", label: t("availability.unknown") }; + return { color: "orange", label: t("availability.unknown") }; } } diff --git a/packages/widgets/src/notifications/component.tsx b/packages/widgets/src/notifications/component.tsx new file mode 100644 index 000000000..1fc4d6910 --- /dev/null +++ b/packages/widgets/src/notifications/component.tsx @@ -0,0 +1,106 @@ +"use client"; + +import { useMemo } from "react"; +import { Card, Flex, Group, ScrollArea, Stack, Text } from "@mantine/core"; +import { IconClock } from "@tabler/icons-react"; + +import { clientApi } from "@homarr/api/client"; +import { useRequiredBoard } from "@homarr/boards/context"; +import { useTimeAgo } from "@homarr/common"; +import { useScopedI18n } from "@homarr/translation/client"; + +import type { WidgetComponentProps } from "../definition"; + +export default function NotificationsWidget({ options, integrationIds }: WidgetComponentProps<"notifications">) { + const [notificationIntegrations] = clientApi.widget.notifications.getNotifications.useSuspenseQuery( + { + ...options, + integrationIds, + }, + { + refetchOnMount: false, + refetchOnWindowFocus: false, + refetchOnReconnect: false, + retry: false, + }, + ); + const utils = clientApi.useUtils(); + + clientApi.widget.notifications.subscribeNotifications.useSubscription( + { + ...options, + integrationIds, + }, + { + onData: (data) => { + utils.widget.notifications.getNotifications.setData({ ...options, integrationIds }, (prevData) => { + return prevData?.map((item) => { + if (item.integration.id !== data.integration.id) return item; + + return { + data: data.data, + integration: { + ...data.integration, + updatedAt: new Date(), + }, + }; + }); + }); + }, + }, + ); + + const t = useScopedI18n("widget.notifications"); + + const board = useRequiredBoard(); + + const sortedNotifications = useMemo( + () => + notificationIntegrations + .flatMap((integration) => integration.data) + .sort((entryA, entryB) => entryB.time.getTime() - entryA.time.getTime()), + [notificationIntegrations], + ); + + return ( + + + {sortedNotifications.length > 0 ? ( + sortedNotifications.map((notification) => ( + + + {notification.title && ( + + {notification.title} + + )} + + {notification.body} + + + + + + )) + ) : ( + + {t("noItems")} + + )} + + + ); +} + +const InfoDisplay = ({ date }: { date: Date }) => { + const timeAgo = useTimeAgo(date, 30000); // update every 30sec + + return ( + + + + {timeAgo} + + + ); +}; diff --git a/packages/widgets/src/notifications/index.ts b/packages/widgets/src/notifications/index.ts new file mode 100644 index 000000000..577d698a0 --- /dev/null +++ b/packages/widgets/src/notifications/index.ts @@ -0,0 +1,14 @@ +import { IconMessage } from "@tabler/icons-react"; + +import { getIntegrationKindsByCategory } from "@homarr/definitions"; + +import { createWidgetDefinition } from "../definition"; +import { optionsBuilder } from "../options"; + +export const { componentLoader, definition } = createWidgetDefinition("notifications", { + icon: IconMessage, + createOptions() { + return optionsBuilder.from(() => ({})); + }, + supportedIntegrations: getIntegrationKindsByCategory("notifications"), +}).withDynamicImport(() => import("./component")); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 106892e36..787e1e98f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -5,7 +5,7 @@ settings: excludeLinksFromLockfile: false overrides: - proxmox-api>undici: 7.10.0 + proxmox-api>undici: 7.11.0 patchedDependencies: '@types/node-unifi': @@ -32,17 +32,17 @@ importers: specifier: ^11.0.3 version: 11.0.3(semantic-release@24.2.5(typescript@5.8.3)) '@semantic-release/npm': - specifier: ^12.0.1 - version: 12.0.1(semantic-release@24.2.5(typescript@5.8.3)) + specifier: ^12.0.2 + version: 12.0.2(semantic-release@24.2.5(typescript@5.8.3)) '@semantic-release/release-notes-generator': specifier: ^14.0.3 version: 14.0.3(semantic-release@24.2.5(typescript@5.8.3)) '@turbo/gen': specifier: ^2.5.4 - version: 2.5.4(@types/node@22.15.32)(typescript@5.8.3) + version: 2.5.4(@types/node@22.15.33)(typescript@5.8.3) '@vitejs/plugin-react': - specifier: ^4.5.2 - version: 4.5.2(vite@5.4.5(@types/node@22.15.32)(sass@1.89.2)(sugarss@4.0.1(postcss@8.4.47))(terser@5.39.0)) + specifier: ^4.6.0 + version: 4.6.0(vite@5.4.5(@types/node@22.15.33)(sass@1.89.2)(sugarss@4.0.1(postcss@8.4.47))(terser@5.39.0)) '@vitest/coverage-v8': specifier: ^3.2.4 version: 3.2.4(vitest@3.2.4) @@ -59,8 +59,8 @@ importers: specifier: ^26.1.0 version: 26.1.0 prettier: - specifier: ^3.5.3 - version: 3.5.3 + specifier: ^3.6.2 + version: 3.6.2 semantic-release: specifier: ^24.2.5 version: 24.2.5(typescript@5.8.3) @@ -75,10 +75,10 @@ importers: version: 5.8.3 vite-tsconfig-paths: specifier: ^5.1.4 - version: 5.1.4(typescript@5.8.3)(vite@5.4.5(@types/node@22.15.32)(sass@1.89.2)(sugarss@4.0.1(postcss@8.4.47))(terser@5.39.0)) + version: 5.1.4(typescript@5.8.3)(vite@5.4.5(@types/node@22.15.33)(sass@1.89.2)(sugarss@4.0.1(postcss@8.4.47))(terser@5.39.0)) vitest: specifier: ^3.2.4 - version: 3.2.4(@types/debug@4.1.12)(@types/node@22.15.32)(@vitest/ui@3.2.4)(jsdom@26.1.0)(sass@1.89.2)(sugarss@4.0.1(postcss@8.4.47))(terser@5.39.0) + version: 3.2.4(@types/debug@4.1.12)(@types/node@22.15.33)(@vitest/ui@3.2.4)(jsdom@26.1.0)(sass@1.89.2)(sugarss@4.0.1(postcss@8.4.47))(terser@5.39.0) apps/nextjs: dependencies: @@ -182,23 +182,23 @@ importers: specifier: workspace:^0.1.0 version: link:../../packages/widgets '@mantine/colors-generator': - specifier: ^8.1.1 - version: 8.1.1(chroma-js@3.1.2) + specifier: ^8.1.2 + version: 8.1.2(chroma-js@3.1.2) '@mantine/core': - specifier: ^8.1.1 - version: 8.1.1(@mantine/hooks@8.1.1(react@19.1.0))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + specifier: ^8.1.2 + version: 8.1.2(@mantine/hooks@8.1.2(react@19.1.0))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@mantine/dropzone': - specifier: ^8.1.1 - version: 8.1.1(@mantine/core@8.1.1(@mantine/hooks@8.1.1(react@19.1.0))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/hooks@8.1.1(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + specifier: ^8.1.2 + version: 8.1.2(@mantine/core@8.1.2(@mantine/hooks@8.1.2(react@19.1.0))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/hooks@8.1.2(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@mantine/hooks': - specifier: ^8.1.1 - version: 8.1.1(react@19.1.0) + specifier: ^8.1.2 + version: 8.1.2(react@19.1.0) '@mantine/modals': - specifier: ^8.1.1 - version: 8.1.1(@mantine/core@8.1.1(@mantine/hooks@8.1.1(react@19.1.0))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/hooks@8.1.1(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + specifier: ^8.1.2 + version: 8.1.2(@mantine/core@8.1.2(@mantine/hooks@8.1.2(react@19.1.0))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/hooks@8.1.2(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@mantine/tiptap': - specifier: ^8.1.1 - version: 8.1.1(@mantine/core@8.1.1(@mantine/hooks@8.1.1(react@19.1.0))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/hooks@8.1.1(react@19.1.0))(@tiptap/extension-link@2.22.0(@tiptap/core@2.22.0(@tiptap/pm@2.22.0))(@tiptap/pm@2.22.0))(@tiptap/react@2.22.0(@tiptap/core@2.22.0(@tiptap/pm@2.22.0))(@tiptap/pm@2.22.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + specifier: ^8.1.2 + version: 8.1.2(@mantine/core@8.1.2(@mantine/hooks@8.1.2(react@19.1.0))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/hooks@8.1.2(react@19.1.0))(@tiptap/extension-link@2.23.0(@tiptap/core@2.23.0(@tiptap/pm@2.23.0))(@tiptap/pm@2.23.0))(@tiptap/react@2.23.0(@tiptap/core@2.23.0(@tiptap/pm@2.23.0))(@tiptap/pm@2.23.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@million/lint': specifier: 1.0.14 version: 1.0.14(rollup@4.21.3)(webpack-sources@3.2.3) @@ -206,26 +206,26 @@ importers: specifier: ^3.34.0 version: 3.34.0(react@19.1.0) '@tanstack/react-query': - specifier: ^5.80.10 - version: 5.80.10(react@19.1.0) + specifier: ^5.81.4 + version: 5.81.4(react@19.1.0) '@tanstack/react-query-devtools': - specifier: ^5.80.10 - version: 5.80.10(@tanstack/react-query@5.80.10(react@19.1.0))(react@19.1.0) + specifier: ^5.81.4 + version: 5.81.4(@tanstack/react-query@5.81.4(react@19.1.0))(react@19.1.0) '@tanstack/react-query-next-experimental': - specifier: ^5.80.10 - version: 5.80.10(@tanstack/react-query@5.80.10(react@19.1.0))(next@15.3.4(@babel/core@7.26.0)(@playwright/test@1.49.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(sass@1.89.2))(react@19.1.0) + specifier: ^5.81.4 + version: 5.81.4(@tanstack/react-query@5.81.4(react@19.1.0))(next@15.3.4(@babel/core@7.26.0)(@playwright/test@1.49.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(sass@1.89.2))(react@19.1.0) '@trpc/client': - specifier: ^11.4.2 - version: 11.4.2(@trpc/server@11.4.2(typescript@5.8.3))(typescript@5.8.3) + specifier: ^11.4.3 + version: 11.4.3(@trpc/server@11.4.3(typescript@5.8.3))(typescript@5.8.3) '@trpc/next': - specifier: ^11.4.2 - version: 11.4.2(@tanstack/react-query@5.80.10(react@19.1.0))(@trpc/client@11.4.2(@trpc/server@11.4.2(typescript@5.8.3))(typescript@5.8.3))(@trpc/react-query@11.4.2(@tanstack/react-query@5.80.10(react@19.1.0))(@trpc/client@11.4.2(@trpc/server@11.4.2(typescript@5.8.3))(typescript@5.8.3))(@trpc/server@11.4.2(typescript@5.8.3))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.8.3))(@trpc/server@11.4.2(typescript@5.8.3))(next@15.3.4(@babel/core@7.26.0)(@playwright/test@1.49.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(sass@1.89.2))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.8.3) + specifier: ^11.4.3 + version: 11.4.3(@tanstack/react-query@5.81.4(react@19.1.0))(@trpc/client@11.4.3(@trpc/server@11.4.3(typescript@5.8.3))(typescript@5.8.3))(@trpc/react-query@11.4.3(@tanstack/react-query@5.81.4(react@19.1.0))(@trpc/client@11.4.3(@trpc/server@11.4.3(typescript@5.8.3))(typescript@5.8.3))(@trpc/server@11.4.3(typescript@5.8.3))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.8.3))(@trpc/server@11.4.3(typescript@5.8.3))(next@15.3.4(@babel/core@7.26.0)(@playwright/test@1.49.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(sass@1.89.2))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.8.3) '@trpc/react-query': - specifier: ^11.4.2 - version: 11.4.2(@tanstack/react-query@5.80.10(react@19.1.0))(@trpc/client@11.4.2(@trpc/server@11.4.2(typescript@5.8.3))(typescript@5.8.3))(@trpc/server@11.4.2(typescript@5.8.3))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.8.3) + specifier: ^11.4.3 + version: 11.4.3(@tanstack/react-query@5.81.4(react@19.1.0))(@trpc/client@11.4.3(@trpc/server@11.4.3(typescript@5.8.3))(typescript@5.8.3))(@trpc/server@11.4.3(typescript@5.8.3))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.8.3) '@trpc/server': - specifier: ^11.4.2 - version: 11.4.2(typescript@5.8.3) + specifier: ^11.4.3 + version: 11.4.3(typescript@5.8.3) '@xterm/addon-canvas': specifier: ^0.7.0 version: 0.7.0(@xterm/xterm@5.5.0) @@ -245,8 +245,8 @@ importers: specifier: ^1.11.13 version: 1.11.13 dotenv: - specifier: ^16.5.0 - version: 16.5.0 + specifier: ^16.6.0 + version: 16.6.0 flag-icons: specifier: ^7.5.0 version: 7.5.0 @@ -258,7 +258,7 @@ importers: version: 2.12.5(@types/react@19.1.8)(react@19.1.0) mantine-react-table: specifier: 2.0.0-beta.9 - version: 2.0.0-beta.9(@mantine/core@8.1.1(@mantine/hooks@8.1.1(react@19.1.0))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/dates@8.1.1(@mantine/core@8.1.1(@mantine/hooks@8.1.1(react@19.1.0))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/hooks@8.1.1(react@19.1.0))(dayjs@1.11.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/hooks@8.1.1(react@19.1.0))(@tabler/icons-react@3.34.0(react@19.1.0))(clsx@2.1.1)(dayjs@1.11.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + version: 2.0.0-beta.9(@mantine/core@8.1.2(@mantine/hooks@8.1.2(react@19.1.0))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/dates@8.1.2(@mantine/core@8.1.2(@mantine/hooks@8.1.2(react@19.1.0))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/hooks@8.1.2(react@19.1.0))(dayjs@1.11.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/hooks@8.1.2(react@19.1.0))(@tabler/icons-react@3.34.0(react@19.1.0))(clsx@2.1.1)(dayjs@1.11.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) next: specifier: 15.3.4 version: 15.3.4(@babel/core@7.26.0)(@playwright/test@1.49.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(sass@1.89.2) @@ -287,8 +287,8 @@ importers: specifier: 2.2.2 version: 2.2.2 swagger-ui-react: - specifier: ^5.25.2 - version: 5.25.2(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + specifier: ^5.25.3 + version: 5.25.3(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) use-deep-compare-effect: specifier: ^1.8.1 version: 1.8.1(react@19.1.0) @@ -309,8 +309,8 @@ importers: specifier: 3.1.1 version: 3.1.1 '@types/node': - specifier: ^22.15.32 - version: 22.15.32 + specifier: ^22.15.33 + version: 22.15.33 '@types/prismjs': specifier: ^1.26.5 version: 1.26.5 @@ -324,8 +324,8 @@ importers: specifier: ^5.18.0 version: 5.18.0 concurrently: - specifier: ^9.1.2 - version: 9.1.2 + specifier: ^9.2.0 + version: 9.2.0 eslint: specifier: ^9.29.0 version: 9.29.0 @@ -333,8 +333,8 @@ importers: specifier: ^2.1.0 version: 2.1.0(webpack@5.94.0) prettier: - specifier: ^3.5.3 - version: 3.5.3 + specifier: ^3.6.2 + version: 3.6.2 typescript: specifier: ^5.8.3 version: 5.8.3 @@ -390,14 +390,14 @@ importers: specifier: ^1.11.13 version: 1.11.13 dotenv: - specifier: ^16.5.0 - version: 16.5.0 + specifier: ^16.6.0 + version: 16.6.0 superjson: specifier: 2.2.2 version: 2.2.2 undici: - specifier: 7.10.0 - version: 7.10.0 + specifier: 7.11.0 + version: 7.11.0 devDependencies: '@homarr/eslint-config': specifier: workspace:^0.2.0 @@ -409,8 +409,8 @@ importers: specifier: workspace:^0.1.0 version: link:../../tooling/typescript '@types/node': - specifier: ^22.15.32 - version: 22.15.32 + specifier: ^22.15.33 + version: 22.15.33 dotenv-cli: specifier: ^8.0.0 version: 8.0.0 @@ -421,8 +421,8 @@ importers: specifier: ^9.29.0 version: 9.29.0 prettier: - specifier: ^3.5.3 - version: 3.5.3 + specifier: ^3.6.2 + version: 3.6.2 tsx: specifier: 4.20.3 version: 4.20.3 @@ -457,8 +457,8 @@ importers: specifier: workspace:^0.1.0 version: link:../../packages/validation dotenv: - specifier: ^16.5.0 - version: 16.5.0 + specifier: ^16.6.0 + version: 16.6.0 tsx: specifier: 4.20.3 version: 4.20.3 @@ -485,8 +485,8 @@ importers: specifier: ^9.29.0 version: 9.29.0 prettier: - specifier: ^3.5.3 - version: 3.5.3 + specifier: ^3.6.2 + version: 3.6.2 typescript: specifier: ^5.8.3 version: 5.8.3 @@ -588,20 +588,20 @@ importers: specifier: ^1.3.0 version: 1.3.0 '@tanstack/react-query': - specifier: ^5.80.10 - version: 5.80.10(react@19.1.0) + specifier: ^5.81.4 + version: 5.81.4(react@19.1.0) '@trpc/client': - specifier: ^11.4.2 - version: 11.4.2(@trpc/server@11.4.2(typescript@5.8.3))(typescript@5.8.3) + specifier: ^11.4.3 + version: 11.4.3(@trpc/server@11.4.3(typescript@5.8.3))(typescript@5.8.3) '@trpc/react-query': - specifier: ^11.4.2 - version: 11.4.2(@tanstack/react-query@5.80.10(react@19.1.0))(@trpc/client@11.4.2(@trpc/server@11.4.2(typescript@5.8.3))(typescript@5.8.3))(@trpc/server@11.4.2(typescript@5.8.3))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.8.3) + specifier: ^11.4.3 + version: 11.4.3(@tanstack/react-query@5.81.4(react@19.1.0))(@trpc/client@11.4.3(@trpc/server@11.4.3(typescript@5.8.3))(typescript@5.8.3))(@trpc/server@11.4.3(typescript@5.8.3))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.8.3) '@trpc/server': - specifier: ^11.4.2 - version: 11.4.2(typescript@5.8.3) + specifier: ^11.4.3 + version: 11.4.3(typescript@5.8.3) '@trpc/tanstack-react-query': - specifier: ^11.4.2 - version: 11.4.2(@tanstack/react-query@5.80.10(react@19.1.0))(@trpc/client@11.4.2(@trpc/server@11.4.2(typescript@5.8.3))(typescript@5.8.3))(@trpc/server@11.4.2(typescript@5.8.3))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.8.3) + specifier: ^11.4.3 + version: 11.4.3(@tanstack/react-query@5.81.4(react@19.1.0))(@trpc/client@11.4.3(@trpc/server@11.4.3(typescript@5.8.3))(typescript@5.8.3))(@trpc/server@11.4.3(typescript@5.8.3))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.8.3) lodash.clonedeep: specifier: ^4.5.0 version: 4.5.0 @@ -619,7 +619,7 @@ importers: version: 2.2.2 trpc-to-openapi: specifier: ^2.3.1 - version: 2.3.1(@trpc/server@11.4.2(typescript@5.8.3))(zod-openapi@2.19.0(zod@3.25.67))(zod@3.25.67) + version: 2.3.1(@trpc/server@11.4.3(typescript@5.8.3))(zod-openapi@2.19.0(zod@3.25.67))(zod@3.25.67) zod: specifier: ^3.25.67 version: 3.25.67 @@ -637,8 +637,8 @@ importers: specifier: ^9.29.0 version: 9.29.0 prettier: - specifier: ^3.5.3 - version: 3.5.3 + specifier: ^3.6.2 + version: 3.6.2 typescript: specifier: ^5.8.3 version: 5.8.3 @@ -646,11 +646,11 @@ importers: packages/auth: dependencies: '@auth/core': - specifier: ^0.39.1 - version: 0.39.1 + specifier: ^0.40.0 + version: 0.40.0 '@auth/drizzle-adapter': - specifier: ^1.9.1 - version: 1.9.1 + specifier: ^1.10.0 + version: 1.10.0 '@homarr/certificates': specifier: workspace:^0.1.0 version: link:../certificates @@ -679,14 +679,14 @@ importers: specifier: ^0.9.1 version: 0.9.1 ldapts: - specifier: 8.0.1 - version: 8.0.1 + specifier: 8.0.2 + version: 8.0.2 next: specifier: 15.3.4 version: 15.3.4(@babel/core@7.27.4)(@playwright/test@1.49.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(sass@1.89.2) next-auth: - specifier: 5.0.0-beta.28 - version: 5.0.0-beta.28(next@15.3.4(@babel/core@7.27.4)(@playwright/test@1.49.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(sass@1.89.2))(react@19.1.0) + specifier: 5.0.0-beta.29 + version: 5.0.0-beta.29(next@15.3.4(@babel/core@7.27.4)(@playwright/test@1.49.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(sass@1.89.2))(react@19.1.0) react: specifier: 19.1.0 version: 19.1.0 @@ -716,8 +716,8 @@ importers: specifier: ^9.29.0 version: 9.29.0 prettier: - specifier: ^3.5.3 - version: 3.5.3 + specifier: ^3.6.2 + version: 3.6.2 typescript: specifier: ^5.8.3 version: 5.8.3 @@ -759,8 +759,8 @@ importers: specifier: workspace:^0.1.0 version: link:../db undici: - specifier: 7.10.0 - version: 7.10.0 + specifier: 7.11.0 + version: 7.11.0 devDependencies: '@homarr/eslint-config': specifier: workspace:^0.2.0 @@ -796,8 +796,8 @@ importers: specifier: workspace:^0.1.0 version: link:../validation dotenv: - specifier: ^16.5.0 - version: 16.5.0 + specifier: ^16.6.0 + version: 16.6.0 devDependencies: '@homarr/eslint-config': specifier: workspace:^0.2.0 @@ -839,8 +839,8 @@ importers: specifier: 19.1.0 version: 19.1.0(react@19.1.0) undici: - specifier: 7.10.0 - version: 7.10.0 + specifier: 7.11.0 + version: 7.11.0 zod: specifier: ^3.25.67 version: 3.25.67 @@ -1021,8 +1021,8 @@ importers: packages/db: dependencies: '@auth/core': - specifier: ^0.39.1 - version: 0.39.1 + specifier: ^0.40.0 + version: 0.40.0 '@homarr/common': specifier: workspace:^0.1.0 version: link:../common @@ -1039,8 +1039,8 @@ importers: specifier: workspace:^0.1.0 version: link:../server-settings '@mantine/core': - specifier: ^8.1.1 - version: 8.1.1(@mantine/hooks@8.1.1(react@19.1.0))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + specifier: ^8.1.2 + version: 8.1.2(@mantine/hooks@8.1.2(react@19.1.0))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@paralleldrive/cuid2': specifier: ^2.2.2 version: 2.2.2 @@ -1048,20 +1048,20 @@ importers: specifier: ^11.0.3 version: 11.0.3 better-sqlite3: - specifier: ^11.10.0 - version: 11.10.0 + specifier: ^12.1.1 + version: 12.1.1 dotenv: - specifier: ^16.5.0 - version: 16.5.0 + specifier: ^16.6.0 + version: 16.6.0 drizzle-kit: - specifier: ^0.31.1 - version: 0.31.1 + specifier: ^0.31.4 + version: 0.31.4 drizzle-orm: specifier: ^0.44.2 - version: 0.44.2(@libsql/client-wasm@0.14.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@11.10.0)(gel@2.0.0)(mysql2@3.14.1) + version: 0.44.2(@libsql/client-wasm@0.14.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.1.1)(gel@2.0.0)(mysql2@3.14.1) drizzle-zod: specifier: ^0.7.1 - version: 0.7.1(drizzle-orm@0.44.2(@libsql/client-wasm@0.14.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@11.10.0)(gel@2.0.0)(mysql2@3.14.1))(zod@3.25.67) + version: 0.7.1(drizzle-orm@0.44.2(@libsql/client-wasm@0.14.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.1.1)(gel@2.0.0)(mysql2@3.14.1))(zod@3.25.67) mysql2: specifier: 3.14.1 version: 3.14.1 @@ -1088,8 +1088,8 @@ importers: specifier: ^9.29.0 version: 9.29.0 prettier: - specifier: ^3.5.3 - version: 3.5.3 + specifier: ^3.6.2 + version: 3.6.2 tsx: specifier: 4.20.3 version: 4.20.3 @@ -1196,8 +1196,8 @@ importers: specifier: workspace:^0.1.0 version: link:../validation '@mantine/form': - specifier: ^8.1.1 - version: 8.1.1(react@19.1.0) + specifier: ^8.1.2 + version: 8.1.2(react@19.1.0) zod: specifier: ^3.25.67 version: 3.25.67 @@ -1242,8 +1242,8 @@ importers: specifier: workspace:^0.1.0 version: link:../validation '@mantine/core': - specifier: ^8.1.1 - version: 8.1.1(@mantine/hooks@8.1.1(react@19.1.0))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + specifier: ^8.1.2 + version: 8.1.2(@mantine/hooks@8.1.2(react@19.1.0))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) react: specifier: 19.1.0 version: 19.1.0 @@ -1323,7 +1323,7 @@ importers: version: link:../log '@homarr/node-unifi': specifier: ^2.6.0 - version: 2.6.0(undici@7.10.0) + version: 2.6.0(undici@7.11.0) '@homarr/redis': specifier: workspace:^0.1.0 version: link:../redis @@ -1337,8 +1337,8 @@ importers: specifier: ^0.11.0 version: 0.11.0(axios@1.9.0) maria2: - specifier: ^0.4.0 - version: 0.4.0 + specifier: ^0.4.1 + version: 0.4.1 node-ical: specifier: ^0.20.1 version: 0.20.1 @@ -1349,8 +1349,8 @@ importers: specifier: ^2.1.5 version: 2.1.5 undici: - specifier: 7.10.0 - version: 7.10.0 + specifier: 7.11.0 + version: 7.11.0 xml2js: specifier: ^0.6.2 version: 0.6.2 @@ -1423,11 +1423,11 @@ importers: specifier: workspace:^0.1.0 version: link:../ui '@mantine/core': - specifier: ^8.1.1 - version: 8.1.1(@mantine/hooks@8.1.1(react@19.1.0))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + specifier: ^8.1.2 + version: 8.1.2(@mantine/hooks@8.1.2(react@19.1.0))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@mantine/hooks': - specifier: ^8.1.1 - version: 8.1.1(react@19.1.0) + specifier: ^8.1.2 + version: 8.1.2(react@19.1.0) react: specifier: 19.1.0 version: 19.1.0 @@ -1484,8 +1484,8 @@ importers: specifier: workspace:^0.1.0 version: link:../validation '@mantine/core': - specifier: ^8.1.1 - version: 8.1.1(@mantine/hooks@8.1.1(react@19.1.0))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + specifier: ^8.1.2 + version: 8.1.2(@mantine/hooks@8.1.2(react@19.1.0))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@tabler/icons-react': specifier: ^3.34.0 version: 3.34.0(react@19.1.0) @@ -1527,8 +1527,8 @@ importers: specifier: workspace:^0.1.0 version: link:../ui '@mantine/notifications': - specifier: ^8.1.1 - version: 8.1.1(@mantine/core@8.1.1(@mantine/hooks@8.1.1(react@19.1.0))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/hooks@8.1.1(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + specifier: ^8.1.2 + version: 8.1.2(@mantine/core@8.1.2(@mantine/hooks@8.1.2(react@19.1.0))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/hooks@8.1.2(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@tabler/icons-react': specifier: ^3.34.0 version: 3.34.0(react@19.1.0) @@ -1585,11 +1585,11 @@ importers: specifier: workspace:^0.1.0 version: link:../validation '@mantine/core': - specifier: ^8.1.1 - version: 8.1.1(@mantine/hooks@8.1.1(react@19.1.0))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + specifier: ^8.1.2 + version: 8.1.2(@mantine/hooks@8.1.2(react@19.1.0))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@mantine/hooks': - specifier: ^8.1.1 - version: 8.1.1(react@19.1.0) + specifier: ^8.1.2 + version: 8.1.2(react@19.1.0) adm-zip: specifier: 0.5.16 version: 0.5.16 @@ -1807,8 +1807,8 @@ importers: specifier: workspace:^0.1.0 version: link:../server-settings '@mantine/dates': - specifier: ^8.1.1 - version: 8.1.1(@mantine/core@8.1.1(@mantine/hooks@8.1.1(react@19.1.0))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/hooks@8.1.1(react@19.1.0))(dayjs@1.11.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + specifier: ^8.1.2 + version: 8.1.2(@mantine/core@8.1.2(@mantine/hooks@8.1.2(react@19.1.0))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/hooks@8.1.2(react@19.1.0))(dayjs@1.11.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) next: specifier: 15.3.4 version: 15.3.4(@babel/core@7.27.4)(@playwright/test@1.49.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(sass@1.89.2) @@ -1868,14 +1868,14 @@ importers: specifier: workspace:^0.1.0 version: link:../ui '@mantine/core': - specifier: ^8.1.1 - version: 8.1.1(@mantine/hooks@8.1.1(react@19.1.0))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + specifier: ^8.1.2 + version: 8.1.2(@mantine/hooks@8.1.2(react@19.1.0))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@mantine/hooks': - specifier: ^8.1.1 - version: 8.1.1(react@19.1.0) + specifier: ^8.1.2 + version: 8.1.2(react@19.1.0) '@mantine/spotlight': - specifier: ^8.1.1 - version: 8.1.1(@mantine/core@8.1.1(@mantine/hooks@8.1.1(react@19.1.0))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/hooks@8.1.1(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + specifier: ^8.1.2 + version: 8.1.2(@mantine/core@8.1.2(@mantine/hooks@8.1.2(react@19.1.0))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/hooks@8.1.2(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@tabler/icons-react': specifier: ^3.34.0 version: 3.34.0(react@19.1.0) @@ -1927,13 +1927,13 @@ importers: version: 4.3.1 mantine-react-table: specifier: 2.0.0-beta.9 - version: 2.0.0-beta.9(@mantine/core@8.1.1(@mantine/hooks@8.1.1(react@19.1.0))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/dates@8.1.1(@mantine/core@8.1.1(@mantine/hooks@8.1.1(react@19.1.0))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/hooks@8.1.1(react@19.1.0))(dayjs@1.11.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/hooks@8.1.1(react@19.1.0))(@tabler/icons-react@3.34.0(react@19.1.0))(clsx@2.1.1)(dayjs@1.11.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + version: 2.0.0-beta.9(@mantine/core@8.1.2(@mantine/hooks@8.1.2(react@19.1.0))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/dates@8.1.2(@mantine/core@8.1.2(@mantine/hooks@8.1.2(react@19.1.0))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/hooks@8.1.2(react@19.1.0))(dayjs@1.11.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/hooks@8.1.2(react@19.1.0))(@tabler/icons-react@3.34.0(react@19.1.0))(clsx@2.1.1)(dayjs@1.11.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) next: specifier: 15.3.4 version: 15.3.4(@babel/core@7.27.4)(@playwright/test@1.49.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(sass@1.89.2) next-intl: - specifier: 4.1.0 - version: 4.1.0(next@15.3.4(@babel/core@7.27.4)(@playwright/test@1.49.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(sass@1.89.2))(react@19.1.0)(typescript@5.8.3) + specifier: 4.3.1 + version: 4.3.1(next@15.3.4(@babel/core@7.27.4)(@playwright/test@1.49.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(sass@1.89.2))(react@19.1.0)(typescript@5.8.3) react: specifier: 19.1.0 version: 19.1.0 @@ -1975,20 +1975,20 @@ importers: specifier: workspace:^0.1.0 version: link:../validation '@mantine/core': - specifier: ^8.1.1 - version: 8.1.1(@mantine/hooks@8.1.1(react@19.1.0))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + specifier: ^8.1.2 + version: 8.1.2(@mantine/hooks@8.1.2(react@19.1.0))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@mantine/dates': - specifier: ^8.1.1 - version: 8.1.1(@mantine/core@8.1.1(@mantine/hooks@8.1.1(react@19.1.0))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/hooks@8.1.1(react@19.1.0))(dayjs@1.11.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + specifier: ^8.1.2 + version: 8.1.2(@mantine/core@8.1.2(@mantine/hooks@8.1.2(react@19.1.0))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/hooks@8.1.2(react@19.1.0))(dayjs@1.11.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@mantine/hooks': - specifier: ^8.1.1 - version: 8.1.1(react@19.1.0) + specifier: ^8.1.2 + version: 8.1.2(react@19.1.0) '@tabler/icons-react': specifier: ^3.34.0 version: 3.34.0(react@19.1.0) mantine-react-table: specifier: 2.0.0-beta.9 - version: 2.0.0-beta.9(@mantine/core@8.1.1(@mantine/hooks@8.1.1(react@19.1.0))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/dates@8.1.1(@mantine/core@8.1.1(@mantine/hooks@8.1.1(react@19.1.0))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/hooks@8.1.1(react@19.1.0))(dayjs@1.11.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/hooks@8.1.1(react@19.1.0))(@tabler/icons-react@3.34.0(react@19.1.0))(clsx@2.1.1)(dayjs@1.11.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + version: 2.0.0-beta.9(@mantine/core@8.1.2(@mantine/hooks@8.1.2(react@19.1.0))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/dates@8.1.2(@mantine/core@8.1.2(@mantine/hooks@8.1.2(react@19.1.0))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/hooks@8.1.2(react@19.1.0))(dayjs@1.11.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/hooks@8.1.2(react@19.1.0))(@tabler/icons-react@3.34.0(react@19.1.0))(clsx@2.1.1)(dayjs@1.11.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) next: specifier: 15.3.4 version: 15.3.4(@babel/core@7.27.4)(@playwright/test@1.49.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(sass@1.89.2) @@ -2121,62 +2121,62 @@ importers: specifier: workspace:^0.1.0 version: link:../validation '@mantine/charts': - specifier: ^8.1.1 - version: 8.1.1(@mantine/core@8.1.1(@mantine/hooks@8.1.1(react@19.1.0))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/hooks@8.1.1(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(recharts@2.15.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0)) + specifier: ^8.1.2 + version: 8.1.2(@mantine/core@8.1.2(@mantine/hooks@8.1.2(react@19.1.0))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/hooks@8.1.2(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(recharts@2.15.4(react-dom@19.1.0(react@19.1.0))(react@19.1.0)) '@mantine/core': - specifier: ^8.1.1 - version: 8.1.1(@mantine/hooks@8.1.1(react@19.1.0))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + specifier: ^8.1.2 + version: 8.1.2(@mantine/hooks@8.1.2(react@19.1.0))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@mantine/hooks': - specifier: ^8.1.1 - version: 8.1.1(react@19.1.0) + specifier: ^8.1.2 + version: 8.1.2(react@19.1.0) '@tabler/icons-react': specifier: ^3.34.0 version: 3.34.0(react@19.1.0) '@tiptap/extension-color': - specifier: 2.22.0 - version: 2.22.0(@tiptap/core@2.22.0(@tiptap/pm@2.22.0))(@tiptap/extension-text-style@2.22.0(@tiptap/core@2.22.0(@tiptap/pm@2.22.0))) + specifier: 2.23.0 + version: 2.23.0(@tiptap/core@2.23.0(@tiptap/pm@2.23.0))(@tiptap/extension-text-style@2.23.0(@tiptap/core@2.23.0(@tiptap/pm@2.23.0))) '@tiptap/extension-highlight': - specifier: 2.22.0 - version: 2.22.0(@tiptap/core@2.22.0(@tiptap/pm@2.22.0)) + specifier: 2.23.0 + version: 2.23.0(@tiptap/core@2.23.0(@tiptap/pm@2.23.0)) '@tiptap/extension-image': - specifier: 2.22.0 - version: 2.22.0(@tiptap/core@2.22.0(@tiptap/pm@2.22.0)) + specifier: 2.23.0 + version: 2.23.0(@tiptap/core@2.23.0(@tiptap/pm@2.23.0)) '@tiptap/extension-link': - specifier: ^2.22.0 - version: 2.22.0(@tiptap/core@2.22.0(@tiptap/pm@2.22.0))(@tiptap/pm@2.22.0) + specifier: ^2.23.0 + version: 2.23.0(@tiptap/core@2.23.0(@tiptap/pm@2.23.0))(@tiptap/pm@2.23.0) '@tiptap/extension-table': - specifier: 2.22.0 - version: 2.22.0(@tiptap/core@2.22.0(@tiptap/pm@2.22.0))(@tiptap/pm@2.22.0) + specifier: 2.23.0 + version: 2.23.0(@tiptap/core@2.23.0(@tiptap/pm@2.23.0))(@tiptap/pm@2.23.0) '@tiptap/extension-table-cell': - specifier: 2.22.0 - version: 2.22.0(@tiptap/core@2.22.0(@tiptap/pm@2.22.0)) + specifier: 2.23.0 + version: 2.23.0(@tiptap/core@2.23.0(@tiptap/pm@2.23.0)) '@tiptap/extension-table-header': - specifier: 2.22.0 - version: 2.22.0(@tiptap/core@2.22.0(@tiptap/pm@2.22.0)) + specifier: 2.23.0 + version: 2.23.0(@tiptap/core@2.23.0(@tiptap/pm@2.23.0)) '@tiptap/extension-table-row': - specifier: 2.22.0 - version: 2.22.0(@tiptap/core@2.22.0(@tiptap/pm@2.22.0)) + specifier: 2.23.0 + version: 2.23.0(@tiptap/core@2.23.0(@tiptap/pm@2.23.0)) '@tiptap/extension-task-item': - specifier: 2.22.0 - version: 2.22.0(@tiptap/core@2.22.0(@tiptap/pm@2.22.0))(@tiptap/pm@2.22.0) + specifier: 2.23.0 + version: 2.23.0(@tiptap/core@2.23.0(@tiptap/pm@2.23.0))(@tiptap/pm@2.23.0) '@tiptap/extension-task-list': - specifier: 2.22.0 - version: 2.22.0(@tiptap/core@2.22.0(@tiptap/pm@2.22.0)) + specifier: 2.23.0 + version: 2.23.0(@tiptap/core@2.23.0(@tiptap/pm@2.23.0)) '@tiptap/extension-text-align': - specifier: 2.22.0 - version: 2.22.0(@tiptap/core@2.22.0(@tiptap/pm@2.22.0)) + specifier: 2.23.0 + version: 2.23.0(@tiptap/core@2.23.0(@tiptap/pm@2.23.0)) '@tiptap/extension-text-style': - specifier: 2.22.0 - version: 2.22.0(@tiptap/core@2.22.0(@tiptap/pm@2.22.0)) + specifier: 2.23.0 + version: 2.23.0(@tiptap/core@2.23.0(@tiptap/pm@2.23.0)) '@tiptap/extension-underline': - specifier: 2.22.0 - version: 2.22.0(@tiptap/core@2.22.0(@tiptap/pm@2.22.0)) + specifier: 2.23.0 + version: 2.23.0(@tiptap/core@2.23.0(@tiptap/pm@2.23.0)) '@tiptap/react': - specifier: ^2.22.0 - version: 2.22.0(@tiptap/core@2.22.0(@tiptap/pm@2.22.0))(@tiptap/pm@2.22.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + specifier: ^2.23.0 + version: 2.23.0(@tiptap/core@2.23.0(@tiptap/pm@2.23.0))(@tiptap/pm@2.23.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@tiptap/starter-kit': - specifier: ^2.22.0 - version: 2.22.0 + specifier: ^2.23.0 + version: 2.23.0 clsx: specifier: ^2.1.1 version: 2.1.1 @@ -2185,7 +2185,7 @@ importers: version: 1.11.13 mantine-react-table: specifier: 2.0.0-beta.9 - version: 2.0.0-beta.9(@mantine/core@8.1.1(@mantine/hooks@8.1.1(react@19.1.0))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/dates@8.1.1(@mantine/core@8.1.1(@mantine/hooks@8.1.1(react@19.1.0))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/hooks@8.1.1(react@19.1.0))(dayjs@1.11.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/hooks@8.1.1(react@19.1.0))(@tabler/icons-react@3.34.0(react@19.1.0))(clsx@2.1.1)(dayjs@1.11.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + version: 2.0.0-beta.9(@mantine/core@8.1.2(@mantine/hooks@8.1.2(react@19.1.0))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/dates@8.1.2(@mantine/core@8.1.2(@mantine/hooks@8.1.2(react@19.1.0))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/hooks@8.1.2(react@19.1.0))(dayjs@1.11.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/hooks@8.1.2(react@19.1.0))(@tabler/icons-react@3.34.0(react@19.1.0))(clsx@2.1.1)(dayjs@1.11.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) next: specifier: 15.3.4 version: 15.3.4(@babel/core@7.27.4)(@playwright/test@1.49.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(sass@1.89.2) @@ -2199,8 +2199,8 @@ importers: specifier: ^10.1.0 version: 10.1.0(@types/react@19.1.8)(react@19.1.0) recharts: - specifier: ^2.15.3 - version: 2.15.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + specifier: ^2.15.4 + version: 2.15.4(react-dom@19.1.0(react@19.1.0))(react@19.1.0) video.js: specifier: ^8.23.3 version: 8.23.3 @@ -2239,8 +2239,8 @@ importers: specifier: ^2.5.4 version: 2.5.4(eslint@9.29.0)(turbo@2.5.4) eslint-plugin-import: - specifier: ^2.31.0 - version: 2.31.0(@typescript-eslint/parser@8.34.1(eslint@9.29.0)(typescript@5.8.3))(eslint@9.29.0) + specifier: ^2.32.0 + version: 2.32.0(@typescript-eslint/parser@8.35.0(eslint@9.29.0)(typescript@5.8.3))(eslint@9.29.0) eslint-plugin-jsx-a11y: specifier: ^6.10.2 version: 6.10.2(eslint@9.29.0) @@ -2251,8 +2251,8 @@ importers: specifier: ^5.2.0 version: 5.2.0(eslint@9.29.0) typescript-eslint: - specifier: ^8.34.1 - version: 8.34.1(eslint@9.29.0)(typescript@5.8.3) + specifier: ^8.35.0 + version: 8.35.0(eslint@9.29.0)(typescript@5.8.3) devDependencies: '@homarr/prettier-config': specifier: workspace:^0.1.0 @@ -2273,17 +2273,17 @@ importers: dependencies: '@ianvs/prettier-plugin-sort-imports': specifier: ^4.4.2 - version: 4.4.2(prettier@3.5.3) + version: 4.4.2(prettier@3.6.2) prettier: - specifier: ^3.5.3 - version: 3.5.3 + specifier: ^3.6.2 + version: 3.6.2 devDependencies: '@homarr/tsconfig': specifier: workspace:^0.1.0 version: link:../typescript prettier-plugin-packagejson: - specifier: ^2.5.15 - version: 2.5.15(prettier@3.5.3) + specifier: ^2.5.16 + version: 2.5.16(prettier@3.6.2) typescript: specifier: ^5.8.3 version: 5.8.3 @@ -2309,8 +2309,8 @@ packages: '@asamuzakjp/css-color@2.8.2': resolution: {integrity: sha512-RtWv9jFN2/bLExuZgFFZ0I3pWWeezAHGgrmjqGGWclATl1aDe3yhCUaI0Ilkp6OCk9zX7+FjvDasEX8Q9Rxc5w==} - '@auth/core@0.39.1': - resolution: {integrity: sha512-McD8slui0oOA1pjR5sPjLPl5Zm//nLP/8T3kr8hxIsvNLvsiudYvPHhDFPjh1KcZ2nFxCkZmP6bRxaaPd/AnLA==} + '@auth/core@0.40.0': + resolution: {integrity: sha512-n53uJE0RH5SqZ7N1xZoMKekbHfQgjd0sAEyUbE+IYJnmuQkbvuZnXItCU7d+i7Fj8VGOgqvNO7Mw4YfBTlZeQw==} peerDependencies: '@simplewebauthn/browser': ^9.0.1 '@simplewebauthn/server': ^9.0.2 @@ -2323,8 +2323,8 @@ packages: nodemailer: optional: true - '@auth/drizzle-adapter@1.9.1': - resolution: {integrity: sha512-WQ4vtDxpo3jAPfSLJbrjFx++/lMO1HJbV7ZwzCUBEkhqYMTrqQBJhLb+vcusDu95wiekVOUCPe1y6QSNbMeeYA==} + '@auth/drizzle-adapter@1.10.0': + resolution: {integrity: sha512-3MKsdAINTfvV4QKev8PFMNG93HJEUHh9sggDXnmUmriFogRf8qLvgqnPsTlfUyWcLwTzzrrYjeu8CGM+4IxHwQ==} '@axiomhq/js@1.0.0-rc.3': resolution: {integrity: sha512-Zm10TczcMLounWqC42nMkXQ7XKLqjzLrd5ia022oBKDUZqAFVg2y9d1quQVNV4FlXyg9MKDdfMjpKQRmzEGaog==} @@ -3509,88 +3509,88 @@ packages: '@libsql/core@0.14.0': resolution: {integrity: sha512-nhbuXf7GP3PSZgdCY2Ecj8vz187ptHlZQ0VRc751oB2C1W8jQUXKKklvt7t1LJiUTQBVJuadF628eUk+3cRi4Q==} - '@mantine/charts@8.1.1': - resolution: {integrity: sha512-k0KlWwSJOMbfjR7AomBu5605BvpjQVcpPDiGI3tgKeCUufEX8EzCTlrnRrgAJRzdpjUFtfoP8ayjzeNOvgxkHQ==} + '@mantine/charts@8.1.2': + resolution: {integrity: sha512-K1AfGQa+ABFLWNXT8d1mu+Zsqv6pG1LT+1FnIorpyxe3DOsWLXP3Tr4JHW9QSS0qFyvpOiFuKeCMdDUkdzyMfQ==} peerDependencies: - '@mantine/core': 8.1.1 - '@mantine/hooks': 8.1.1 + '@mantine/core': 8.1.2 + '@mantine/hooks': 8.1.2 react: ^18.x || ^19.x react-dom: ^18.x || ^19.x recharts: ^2.13.3 - '@mantine/colors-generator@8.1.1': - resolution: {integrity: sha512-C2mxqdkFme4lbmNFKSaK1kwTUTK0q1CmHWyheUG/2xVT1P6da+fQvnfzzs32k8I3jubK5Toy25+XxWXQ+4w9vw==} + '@mantine/colors-generator@8.1.2': + resolution: {integrity: sha512-D+58ju6/EvdS+h6RyegwDC/QXYlGLiC8eToKHPckL2xwZeR1z8EG7zO5msjBwrhHtgVbb/c7ZekAHUfoaR0WOA==} peerDependencies: chroma-js: '>=2.4.2' - '@mantine/core@8.1.1': - resolution: {integrity: sha512-fW5phaeraz5F2+rnu3cz9aqzyOdvK8ZKi3fWgfhURVt8lo7+oZOVmqsKnvnxw4clJvj/A51wLCmgN9uhlm0n2g==} + '@mantine/core@8.1.2': + resolution: {integrity: sha512-+maX0a1+fxh6Lvnzi0qb0AZsCnnHlIiTE/hFC+dd3eRfUW2PEKJ5/wTpmrX8IGyxa+NS+fXjZD/cU4Yt9xNjdg==} peerDependencies: - '@mantine/hooks': 8.1.1 + '@mantine/hooks': 8.1.2 react: ^18.x || ^19.x react-dom: ^18.x || ^19.x - '@mantine/dates@8.1.1': - resolution: {integrity: sha512-ewFtUQNMvvdVgsITx8QSeptS17/Ygy5K9YMkdV8AwMHuB9S2UZBmBpn0TTfFtEEwsBf8nBtSbYGY/dQFZDP+AA==} + '@mantine/dates@8.1.2': + resolution: {integrity: sha512-cq2Sp8g8KIYWIg9Yh4yCuHBEMQRCAAe0LhzPfQnNAJ2DtgW0qlszgWUu62WiPs8T5TU1bBgC4NHXGUM0w6Ef4A==} peerDependencies: - '@mantine/core': 8.1.1 - '@mantine/hooks': 8.1.1 + '@mantine/core': 8.1.2 + '@mantine/hooks': 8.1.2 dayjs: '>=1.0.0' react: ^18.x || ^19.x react-dom: ^18.x || ^19.x - '@mantine/dropzone@8.1.1': - resolution: {integrity: sha512-oy7p1MycqXyP+nC4vL3Dd+AwF7L0UprZ9jFXao50BNVcU2KqnUGMUQzsWx8XmAAxcQLCB5+ni4eZ0ybY7gAt8A==} + '@mantine/dropzone@8.1.2': + resolution: {integrity: sha512-BWTUpfQ4LAGzZgSVcpbtmAvcKCvHNOysZlCr1ouNPGWezUJTT3ocdmSMCDhhUO0QZmHWYVgWnRj9XHyM6jBZRw==} peerDependencies: - '@mantine/core': 8.1.1 - '@mantine/hooks': 8.1.1 + '@mantine/core': 8.1.2 + '@mantine/hooks': 8.1.2 react: ^18.x || ^19.x react-dom: ^18.x || ^19.x - '@mantine/form@8.1.1': - resolution: {integrity: sha512-9QGiPa51SMjbxA25fOwiWFkayIzZzTeOdhFv6pJgxSe3/4DxI0fmJUzxXnBpXuPAYYyHyeHm1I1gRGreplFGVg==} + '@mantine/form@8.1.2': + resolution: {integrity: sha512-w+PWUQPE3JDiK4ZBWN+WtfixWtt/+KavHjsSjCxIuUodzygdkV/4bWtPKYx7dFQTozWhfMVqxtORhn3no28Qwg==} peerDependencies: react: ^18.x || ^19.x - '@mantine/hooks@8.1.1': - resolution: {integrity: sha512-C+p9pPDPl/IMcVCN44XMa9MbuUOEJS3PG9Wklw9Z+ooJqkBnc7aXs3xTAjIsaUCinR9hMqT19cwiYb+W88leVg==} + '@mantine/hooks@8.1.2': + resolution: {integrity: sha512-BrriTsiazqZ2fLuL7UDasNTQJSaoJ7mN2qYVkdsiYI158lxJdUaFWHhd6BDyzK+W6thvBx2D+R/hh1rsWWefdQ==} peerDependencies: react: ^18.x || ^19.x - '@mantine/modals@8.1.1': - resolution: {integrity: sha512-XEpaUjALtEG63TnnSgd4DiWtIZ9G6pAEB597VZtPlrbm87lrb5APr2BUkXY0unayVIRteG+TpRSjrii/mStpQA==} + '@mantine/modals@8.1.2': + resolution: {integrity: sha512-PwZ0KITRMbyLJfgvQtpRJQ8fE/YBZ1DWnhkjREVVHFZpKLczkGtLOMOO3QEGNqVJSExnUIeWywuF92IWYTijSg==} peerDependencies: - '@mantine/core': 8.1.1 - '@mantine/hooks': 8.1.1 + '@mantine/core': 8.1.2 + '@mantine/hooks': 8.1.2 react: ^18.x || ^19.x react-dom: ^18.x || ^19.x - '@mantine/notifications@8.1.1': - resolution: {integrity: sha512-eCPsCVkvb5ce0FIbbBiQPGhmgaXgv+9KXPzr3BEfWiR33BSaPs8Q0NaweyZGpEICerOodeAKVXWTGf1KbfEN/g==} + '@mantine/notifications@8.1.2': + resolution: {integrity: sha512-9yqMRz9KlU0rXYc2xB+gfKwm6wt5e05B2eCAx0QcSDaxUl2EIfDINqdD+rTTvuWDxiQoN16wF/VJvFHn9wj3Xw==} peerDependencies: - '@mantine/core': 8.1.1 - '@mantine/hooks': 8.1.1 + '@mantine/core': 8.1.2 + '@mantine/hooks': 8.1.2 react: ^18.x || ^19.x react-dom: ^18.x || ^19.x - '@mantine/spotlight@8.1.1': - resolution: {integrity: sha512-yQiIC7FShUKL5WhdS4FsILbMtduINGYnE6OQYmGur7P5V/2JqGwTK19zBjgJWW5FV1Mm7MzUUPNFj/eg9SsHIQ==} + '@mantine/spotlight@8.1.2': + resolution: {integrity: sha512-lepO2YzhfhY3q6F6CmV63UhVY3iR81XvCC6Ss58dUcB6E0+G47kkPTw6yiIVM278pVXPWudHD8pO4HHxSKkVXA==} peerDependencies: - '@mantine/core': 8.1.1 - '@mantine/hooks': 8.1.1 + '@mantine/core': 8.1.2 + '@mantine/hooks': 8.1.2 react: ^18.x || ^19.x react-dom: ^18.x || ^19.x - '@mantine/store@8.1.1': - resolution: {integrity: sha512-VmFhaMT+W0YhX2KyoOc7xYYg9nN1LhG8eTFebOshwSi0I2HIONXtgtLg0wBSi3ZXI22dNicCBS/ukA3X534ZBg==} + '@mantine/store@8.1.2': + resolution: {integrity: sha512-Dt7NJc2+kvtpWkTXR5Mwmwo5zluFM9n6UYaIn4i726PPoABCAvQU4wwkw9GkOEdPNkRcnRdNg5SxWa+QZY/4ag==} peerDependencies: react: ^18.x || ^19.x - '@mantine/tiptap@8.1.1': - resolution: {integrity: sha512-l8UtFFEi6RZIL1hVXu+z6+xWBfAJJ9w6GpT9nlkelzb5vZKpfgoCZkROGNmlzN+OgSVqySOCAVW4A+j/TbiB8g==} + '@mantine/tiptap@8.1.2': + resolution: {integrity: sha512-p3guyDQJezA5aac+89BDFaVHszBDhC7v6hXl47lxhDhrroomkdO59IrlPlbaIgJwJW2945rJ7D6nLTBJB3oJDw==} peerDependencies: - '@mantine/core': 8.1.1 - '@mantine/hooks': 8.1.1 + '@mantine/core': 8.1.2 + '@mantine/hooks': 8.1.2 '@tiptap/extension-link': '>=2.1.12' '@tiptap/react': '>=2.1.12' react: ^18.x || ^19.x @@ -3939,8 +3939,8 @@ packages: '@remirror/core-constants@3.0.0': resolution: {integrity: sha512-42aWfPrimMfDKDi4YegyS7x+/0tlzaqwPQCULLanv3DMIlu96KTJR0fM5isWX2UViOqlGnX6YFgqWepcX+XMNg==} - '@rolldown/pluginutils@1.0.0-beta.11': - resolution: {integrity: sha512-L/gAA/hyCSuzTF1ftlzUSI/IKr2POHsv1Dd78GfqkR83KMNuswWD61JxGV2L7nRwBBBSDr6R1gCkdTmoN7W4ag==} + '@rolldown/pluginutils@1.0.0-beta.19': + resolution: {integrity: sha512-3FL3mnMbPu0muGOCaKAhhFEYmqv9eTfPSJRJmANrCwtgK8VuxpsZDGK+m0LYAGoyO8+0j5uRe4PeyPDK1yA/hA==} '@rollup/pluginutils@5.1.0': resolution: {integrity: sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==} @@ -4086,8 +4086,8 @@ packages: peerDependencies: semantic-release: '>=24.1.0' - '@semantic-release/npm@12.0.1': - resolution: {integrity: sha512-/6nntGSUGK2aTOI0rHPwY3ZjgY9FkXmEHbW9Kr+62NVOsyqpKKeP0lrCH+tphv+EsNdJNmqqwijTEnVWUMQ2Nw==} + '@semantic-release/npm@12.0.2': + resolution: {integrity: sha512-+M9/Lb35IgnlUO6OSJ40Ie+hUsZLuph2fqXC/qrKn0fMvUU/jiCjpoL6zEm69vzcmaZJ8yNKtMBEKHWN49WBbQ==} engines: {node: '>=20.8.1'} peerDependencies: semantic-release: '>=20.1.0' @@ -4266,27 +4266,27 @@ packages: resolution: {integrity: sha512-Wo1iKt2b9OT7d+YGhvEPD3DXvPv2etTusIMhMUoG7fbhmxcXCtIjJDEygy91Y2JFlwGyjqiBPRozme7UD8hoqg==} engines: {node: '>=12'} - '@tanstack/query-core@5.80.10': - resolution: {integrity: sha512-mUNQOtzxkjL6jLbyChZoSBP6A5gQDVRUiPvW+/zw/9ftOAz+H754zCj3D8PwnzPKyHzGkQ9JbH48ukhym9LK1Q==} + '@tanstack/query-core@5.81.4': + resolution: {integrity: sha512-z0yBgRFTPIEYcjFFiahOwtEU3kEKpF5Rwls7UjBCsRghmhwIXyxd5U2p0yEmUfcwm85W4XZkt4dc1OWc5my3Yw==} - '@tanstack/query-devtools@5.80.0': - resolution: {integrity: sha512-D6gH4asyjaoXrCOt5vG5Og/YSj0D/TxwNQgtLJIgWbhbWCC/emu2E92EFoVHh4ppVWg1qT2gKHvKyQBEFZhCuA==} + '@tanstack/query-devtools@5.81.2': + resolution: {integrity: sha512-jCeJcDCwKfoyyBXjXe9+Lo8aTkavygHHsUHAlxQKKaDeyT0qyQNLKl7+UyqYH2dDF6UN/14873IPBHchcsU+Zg==} - '@tanstack/react-query-devtools@5.80.10': - resolution: {integrity: sha512-6JL63fSc7kxyGOLV2w466SxhMn/m7LZk/ximQciy6OpVt+n2A8Mq3S0QwhIzfm4WEwLK/F3OELfzRToQburnYA==} + '@tanstack/react-query-devtools@5.81.4': + resolution: {integrity: sha512-zFg7rzOmM9Q+Ym/TujWR4HD+jKwQd+N8WuWZRmHU8sjI2flyxWTWIEQvl9BFt+HiNA6leS3ODZ9SHYmEb3zduw==} peerDependencies: - '@tanstack/react-query': ^5.80.10 + '@tanstack/react-query': ^5.81.4 react: ^18 || ^19 - '@tanstack/react-query-next-experimental@5.80.10': - resolution: {integrity: sha512-TTc+7QXsPl5BZpRzagrDW/T3oAJ8c0H/rdWXv2PhBixMi3EBdb/Ieky/02sjUIoS+ZE+DwY1nEYWxXzvYL/zvQ==} + '@tanstack/react-query-next-experimental@5.81.4': + resolution: {integrity: sha512-Nqznyyfe2y4AAtL7nZmk3qnK8clKVWJnuwE71UpamHdFvfms+Y+QsIsXW/cMtPVO1yFNa7+QXZyqGzRL35eSDA==} peerDependencies: - '@tanstack/react-query': ^5.80.10 + '@tanstack/react-query': ^5.81.4 next: ^13 || ^14 || ^15 react: ^18 || ^19 - '@tanstack/react-query@5.80.10': - resolution: {integrity: sha512-6zM098J8sLy9oU60XAdzUlAH4wVzoMVsWUWiiE/Iz4fd67PplxeyL4sw/MPcVJJVhbwGGXCsHn9GrQt2mlAzig==} + '@tanstack/react-query@5.81.4': + resolution: {integrity: sha512-bBrf5kTNr9t5BnskvyHQGwe2LRZsgnmx1sClyRQbAHxhSJfnT6z9h27IfGpY6JtfEH5y5R9jJegTG/93zyox/A==} peerDependencies: react: ^18 || ^19 @@ -4313,200 +4313,200 @@ packages: '@testcontainers/mysql@11.0.3': resolution: {integrity: sha512-0ZU47s5FWckNKZrb7eLZAgGa24aqaG8H1EvsjzpRHlGpC9z3lisG//BYqUmR8qwucwdaqCMcZS6pYA4N+X2Wxw==} - '@tiptap/core@2.22.0': - resolution: {integrity: sha512-TiUx5SXv2lE7jSADTyJkoo56eVpav4mqtoryCcL6hZtw579Y+5FOvPBz8xUJ4wRsscuE+3PCjmEAm0XVhtST0w==} + '@tiptap/core@2.23.0': + resolution: {integrity: sha512-Cdfhd0Po1cKMYqHtyv/3XATXpf2Kjo8fuau/QJwrml0NpM18/XX9mAgp2NJ/QaiQ3vi8vDandg7RmZ5OrApglQ==} peerDependencies: '@tiptap/pm': ^2.7.0 - '@tiptap/extension-blockquote@2.22.0': - resolution: {integrity: sha512-tYONwwtfaPDiH0tFR5OkIaQ/1eeCGpLY33kS1iMuW/DqZMzB7EqUrMvj94BwpOpZLsfoOzDDT3Twj9aRMLekOA==} + '@tiptap/extension-blockquote@2.23.0': + resolution: {integrity: sha512-EBWzvqM39K07oAtxD/bZr/TKqTvMZ9pQtBkimyFgHBhkd/PsQvu0r0k1wmheSsizlwDVkO4O8St0zkUimqyevQ==} peerDependencies: '@tiptap/core': ^2.7.0 - '@tiptap/extension-bold@2.22.0': - resolution: {integrity: sha512-WETj/jjLBJ5EgjCxH7CzeOei74pfPnzgi5FWmEnvS7s1qiAdf3xF4tpZ8Gar84VtmZY3edt9WBMFrWjNg2xipA==} + '@tiptap/extension-bold@2.23.0': + resolution: {integrity: sha512-OY1xlt1yXpj9+Mzdv+YC6a3okr39xDkeCJyvmLG5OShYUx6fxTT19uXbKF7Y3aAS0BHet5rcrTXEMRlp7N3Qaw==} peerDependencies: '@tiptap/core': ^2.7.0 - '@tiptap/extension-bubble-menu@2.22.0': - resolution: {integrity: sha512-q003IheeMNSZFemgbSQ/lnZV1LNgsmUdVxO0TEuVMhIpF5jLkOLbPNsHLvtuymFBvyJdVUtgUek706u19kTc2w==} + '@tiptap/extension-bubble-menu@2.23.0': + resolution: {integrity: sha512-4CZxcVj/0ZetEiWgiP31xTHgaQ7Hr3Ad36cAEza/nGYifaztuPjLO2Y9qdnC1iJHIxttnX6GVRnCMRmZMfhgHg==} peerDependencies: '@tiptap/core': ^2.7.0 '@tiptap/pm': ^2.7.0 - '@tiptap/extension-bullet-list@2.22.0': - resolution: {integrity: sha512-ITpSBiUJSkMFoP8rAZyhLeSweN6I7rYbA22hQpwkCnsfQn21OQ08oVqKUuO7Q1c5Ow23ehIZ+ZiNUSwRshvXqw==} + '@tiptap/extension-bullet-list@2.23.0': + resolution: {integrity: sha512-YrmH5AVSkpCQ7k1Orm8hlzDeUO7rxpQkS51sr2w+ruruKIun/X6V0phuLee+f7DBrzHenBcuU6gBtU6vgGPYFw==} peerDependencies: '@tiptap/core': ^2.7.0 - '@tiptap/extension-code-block@2.22.0': - resolution: {integrity: sha512-y6JLi4qAG7PObhC7lk1sv23xPp5aT7Ml2qzSifw1Hizi813TGvB4ma39EUCbwJSZF6/N5w8q9XtvicXQDLsO4w==} + '@tiptap/extension-code-block@2.23.0': + resolution: {integrity: sha512-p8iizp5nQBBhYPrIgBVwEqcDnc2fFRAZCXy/xjmAk2kKOhB7NYe3+1yrbFcQKVAdaUFxG+BRj2WxNDeeRt5tJA==} peerDependencies: '@tiptap/core': ^2.7.0 '@tiptap/pm': ^2.7.0 - '@tiptap/extension-code@2.22.0': - resolution: {integrity: sha512-M7xWNPr/23K5Y2HEWso+3e5PYcoZXDyx0uphOaj0jgTsuotKdOjgnv4WvxQuqiFnxQ13pZEvInVux5Fs6ZjApQ==} + '@tiptap/extension-code@2.23.0': + resolution: {integrity: sha512-Ip/5+kNoqrxYPHLnZMf7i6wfjjRuR5QgfC3IR3Mk1WQM1JGXCLL+uUjTUxKXFUj28hjSJfsmVbTUhoVvgZEWfw==} peerDependencies: '@tiptap/core': ^2.7.0 - '@tiptap/extension-color@2.22.0': - resolution: {integrity: sha512-8aXNQQR3BPDedSkJLKjX/LvgyfV82pmydf2lN/FXEOtxWT5gId8I3ivI+5vsJdjUY34CUCUMILdXK6wClLTGuw==} + '@tiptap/extension-color@2.23.0': + resolution: {integrity: sha512-KWnxX5Y2/yVgUizEv/feFLMJObnY11pjAmvkypx10/8pkc8EECsa+fJPSkm4293TumVNiJxxGWkGZ1jkL0avoA==} peerDependencies: '@tiptap/core': ^2.7.0 '@tiptap/extension-text-style': ^2.7.0 - '@tiptap/extension-document@2.22.0': - resolution: {integrity: sha512-vk/txcZWZ5P6LmOgd8kqxeIsf+vNurh8EuOCFJnpOClyzT74iD5zuzTA583pfs2r3SpCZutltD3XWiHRFZb3yw==} + '@tiptap/extension-document@2.23.0': + resolution: {integrity: sha512-kuRPqH0UdjZ4RcnpPELsu1N8LqeixEin+mv5eaQJI/aZ6rFq+kcY4UZF3C7q56Rat5r9CgHBiZbD0t5l6E3gdA==} peerDependencies: '@tiptap/core': ^2.7.0 - '@tiptap/extension-dropcursor@2.22.0': - resolution: {integrity: sha512-gXS1sCuQKiGNDAEqbKWm43U8LE8y9nQd+jqiU4owFxFv8GIrRSGRvaJIX0gNYygleo/ALmsuLibyjSDYWdOo/g==} + '@tiptap/extension-dropcursor@2.23.0': + resolution: {integrity: sha512-m2LzkJpipHLPEllD3MXZQMssu7Xng7YJOJ8ZNDkF0uUkXljwh7G0ROjGNKUlV8/dqoCVmJIZIyF6t9saQwTTbA==} peerDependencies: '@tiptap/core': ^2.7.0 '@tiptap/pm': ^2.7.0 - '@tiptap/extension-floating-menu@2.22.0': - resolution: {integrity: sha512-tHLvCpGqPstJrrv2HkpVo4mzh06DtHFEV47y58h5mlutwNq5Vx1zynieyeK6Cicxf59mJsxmiaBzZDjAJK2LFg==} + '@tiptap/extension-floating-menu@2.23.0': + resolution: {integrity: sha512-MvwDMhO5o5NciE+wc6B9dQgTFzmPjtB1o3S+HTdlGzGFGgx9PsNikK5BkqMit9j2NnrqyHnOf88QK/wZR5fqGA==} peerDependencies: '@tiptap/core': ^2.7.0 '@tiptap/pm': ^2.7.0 - '@tiptap/extension-gapcursor@2.22.0': - resolution: {integrity: sha512-Wr9O1U/0OpGiPZNhxSCu7QMmNg4Bktj5K26kNjOLgySdYUFo/g8C0s7wDlucUKYWK2maxxftH4CIrQz5QE5Uvw==} + '@tiptap/extension-gapcursor@2.23.0': + resolution: {integrity: sha512-SpYsDtMiVwqcSB84g714PrnHo985R5UiIaGngef6iMNy/0xjKcO0tj/feu0WwJDuSj22Opzlnb/Ld/D4Va27Ng==} peerDependencies: '@tiptap/core': ^2.7.0 '@tiptap/pm': ^2.7.0 - '@tiptap/extension-hard-break@2.22.0': - resolution: {integrity: sha512-QozTy6WfmZkRXC7uu8n4b+yKBmZNm/F4UA5A3sOq/wlYSNI3HPxjq3wqF17m3ZzeZFf6WMKYeMcOHIqYf585fw==} + '@tiptap/extension-hard-break@2.23.0': + resolution: {integrity: sha512-OpNBEYv9HDUPo8SgvmI5oPd0b+xmdadtFyL7t4lxhYar8n5NDYubaXYgbKcdJfXvUxEeGwdc3ePnTFpsF0mrYw==} peerDependencies: '@tiptap/core': ^2.7.0 - '@tiptap/extension-heading@2.22.0': - resolution: {integrity: sha512-EimQzq/EfTtGakVKn7BUkefw7JQi7G3cihHjOhCyeCAhlWTtmHBUszQTZtYohzT3jDImlMmcyjVyciYhWR/s6w==} + '@tiptap/extension-heading@2.23.0': + resolution: {integrity: sha512-ZbombU/zc42QiqIBVq5bn/I0Y+eiie/0Nax/bdFCDPIKLp8GCp2BDRg46e3kcCanTyZMXw2HmkWrkG3sQNHLWw==} peerDependencies: '@tiptap/core': ^2.7.0 - '@tiptap/extension-highlight@2.22.0': - resolution: {integrity: sha512-z9PqXBrcY+IAGAGhiqFcG1jpKq5U2cfi2hHcX0fIly+esYAnIzH7qTEC9ANKv2HRVOQ9IPzBZfdFny8xunedsA==} + '@tiptap/extension-highlight@2.23.0': + resolution: {integrity: sha512-Jzy8Qmh9/YApo1MONTBJx4r0id24AX527oskQ0iE0eYWbfuu2G0SRSxtP/x+vgvGbmcw0mgm6PZbHVcJTyf+KA==} peerDependencies: '@tiptap/core': ^2.7.0 - '@tiptap/extension-history@2.22.0': - resolution: {integrity: sha512-mysTQR/EvESohz0yptAPCBU64qAuhmPJvIeNFQEL2F6GNQNJafb3bA0tCcQR5aKro74RWL1+GnPlN7XsTz8u0w==} + '@tiptap/extension-history@2.23.0': + resolution: {integrity: sha512-W+2bZ/02nm56g/wmEaSx9QcdZ8mHjoFyc8MKf54Mrzi+nIdNjsNreKrn1yCp683CGEPd8DLadDFkz0o13N+rxA==} peerDependencies: '@tiptap/core': ^2.7.0 '@tiptap/pm': ^2.7.0 - '@tiptap/extension-horizontal-rule@2.22.0': - resolution: {integrity: sha512-OAsCIzZn61x0n3k195UxB+IBgzWBADjtQ+cJpKBAK3HI9BEoue+3V0zjzL/j+Cr1jFnCSRpMTl3/R8ub7Hyd5w==} + '@tiptap/extension-horizontal-rule@2.23.0': + resolution: {integrity: sha512-i/gml9PMQ6uNeq2CCNIWkkYDbafx6XMH4xPSHW4SAG02Exa64iIZLWy57Vb4MR5INSZ6lM/OzU7sdfzHSOb44g==} peerDependencies: '@tiptap/core': ^2.7.0 '@tiptap/pm': ^2.7.0 - '@tiptap/extension-image@2.22.0': - resolution: {integrity: sha512-c4/BhpFIj9AP2LpSmDj3F7xi1+KEIOzFKu8hYTcrnyJS4PNn/ivmhxmVX7CcniHaO69by7FlOQx/hNhWQ3dUEA==} + '@tiptap/extension-image@2.23.0': + resolution: {integrity: sha512-/rW2+a21VBGBv5c/78CVW8XA7bThSqE3FqcBtWyq8IxZoe8Hj9+Jac7FcB2YR3aY0BeHwso474e1RuVr1iYBKQ==} peerDependencies: '@tiptap/core': ^2.7.0 - '@tiptap/extension-italic@2.22.0': - resolution: {integrity: sha512-YVTENkgPTKI6PqjRrIae1kiOvcBbprHK+C+lmmWl0Xagj4XcdScgNASmO3rFpUWw4mPSwkDHqmt8kQrRzoeawQ==} + '@tiptap/extension-italic@2.23.0': + resolution: {integrity: sha512-hX3oacTUloWM8Xu8IapcU2onMWmSkJi8mNAJiIFMiAYcERfTfxPsT3u2yO2gvpoh1iqtZWFM2gc+3x6BnXek8g==} peerDependencies: '@tiptap/core': ^2.7.0 - '@tiptap/extension-link@2.22.0': - resolution: {integrity: sha512-/4kODZyf5DHFnzmeTVWwM6uTaSbriAdQYuZ6Q05fylZ0EY4hx/+eRUsdufwXxR01DmfN2kvD9wg1HyZTgmNPrw==} + '@tiptap/extension-link@2.23.0': + resolution: {integrity: sha512-D+ethAE8+2f7RH7kqS+//EsC2wNblhmssJYVE0hCXM5BKIBixjs8eCOAvLbJsw0u/5LqFYjsyAimTqa4hD5uvg==} peerDependencies: '@tiptap/core': ^2.7.0 '@tiptap/pm': ^2.7.0 - '@tiptap/extension-list-item@2.22.0': - resolution: {integrity: sha512-9fUdXqfuApoQQLEtP2Y9Q4QTROmPU+c64o1Dt5/sZzOh/gSknYJKOlwY6+0Fn56in5E8pCKUlQotGjEeH0UaFw==} + '@tiptap/extension-list-item@2.23.0': + resolution: {integrity: sha512-tYhLqCaQRjX2S6ICt8FJ+eCAxBMVtXWth6dWt3w7wpkoCVU6n0Dva/2Z3x5lNJPZxUKrsqXc1oYOgvY1pUYyAA==} peerDependencies: '@tiptap/core': ^2.7.0 - '@tiptap/extension-ordered-list@2.22.0': - resolution: {integrity: sha512-stsREFcPkYvRPX/RbEr1N9anpyiR0odCdQpraRQAka0GtaQwKEN006TfzFDGMSzbT1DchoI/kzGTse+hYoxxPg==} + '@tiptap/extension-ordered-list@2.23.0': + resolution: {integrity: sha512-IMlPpAPuiFl5L5QwP0aFb8jmJtOceNy4E4tUZulvqARnrzFv//wSuHBZKJziygvm/XK7VcV/clk4fCk/ca5r4g==} peerDependencies: '@tiptap/core': ^2.7.0 - '@tiptap/extension-paragraph@2.22.0': - resolution: {integrity: sha512-NXE3g4jiJElBiKE3h3URcQqjP8629ocdsCCBhfm9oWpmlRWSfHFg0CRBM/Td96DJXssHPpFilRhpiQCWdeBN4g==} + '@tiptap/extension-paragraph@2.23.0': + resolution: {integrity: sha512-MXhRkb741UOcJp2evG/H0MY3WJQnX7z8PsejmJbJXOHBrS/Esxq0AlrDAjuFhbfAnJwYiWQ1lk6ucvKV6DhFuQ==} peerDependencies: '@tiptap/core': ^2.7.0 - '@tiptap/extension-strike@2.22.0': - resolution: {integrity: sha512-u24rmqT24dZLaaS1D+uDNr+YGRs7QUM4aQyCmYZu6gVAXEXEjp5wYLSrw8FMLFZx5Hq4RgXqb8pjwRB/quLRYw==} + '@tiptap/extension-strike@2.23.0': + resolution: {integrity: sha512-zdYO4xdg15BE8gmPYFgA5Xn5+hPA6NAiDBWxv5KNWD9cJ5OhsJx2OsfSCWc0CxYQaIIbHhGM9EGzqH5lF+UnwQ==} peerDependencies: '@tiptap/core': ^2.7.0 - '@tiptap/extension-table-cell@2.22.0': - resolution: {integrity: sha512-Y2rgFsNmkJf9DZDeas6IzvCAktB17Dsq8BSlrTLR4UjeU+kY/oO+9icdkdYKDJfMD85V2ZsvzcryU0som806Ig==} + '@tiptap/extension-table-cell@2.23.0': + resolution: {integrity: sha512-+fYhtoUPAveDfbvz0aUuyzBZf3swD3Lo5Vf6oLL+rU5kIS9hHkYW8opkLnH87dOauRiTbwlM60lK9qaW07VGuA==} peerDependencies: '@tiptap/core': ^2.7.0 - '@tiptap/extension-table-header@2.22.0': - resolution: {integrity: sha512-PVSHh5wwthKg12o0MaD0e0u+sP8gNLgxs87XviwhORLpTmZC7oQJ1ip66yu/pJO/51Ykdfxx+E9ow2WSBhWiEA==} + '@tiptap/extension-table-header@2.23.0': + resolution: {integrity: sha512-WTd6tGUzMR1oX07BkgNPwX9HJczB3GCZfiqtXjAcFSfEwiE2CxhCxyZ3BHxmobxEs57tmANwsTPGApQnLvxAuw==} peerDependencies: '@tiptap/core': ^2.7.0 - '@tiptap/extension-table-row@2.22.0': - resolution: {integrity: sha512-4s5jNNufkLtN0kROpVJX+alNLaDhlIXewKpUTQpZoBlP/zq8GJXcHs7zph/uF4QCgdHCPALbTkx2rgigLFIRIA==} + '@tiptap/extension-table-row@2.23.0': + resolution: {integrity: sha512-0BO1FEU9w2cMZvdjStwF9fiVbu60HqarBLJcpsCYSUHKt6XdaYd8vuX8YOd5moqL9EpexfmDWwoUj/LwPi6PYw==} peerDependencies: '@tiptap/core': ^2.7.0 - '@tiptap/extension-table@2.22.0': - resolution: {integrity: sha512-nJFtcYBE/1s7wapRHwMqzP070V2tEYv8CKI2VzTav1XiNbbzM4X+f38HRp4FuHh3VGwqPaQIOlcONc/LIJhT6Q==} + '@tiptap/extension-table@2.23.0': + resolution: {integrity: sha512-DkXW9px5gXmiMxQdG0++j3v8D4c8lw4Op2KjZVdZ+JAy8cDZJne9BQlZ/NWPsDUhA5iB4D+oRNyTfMOgDXMXew==} peerDependencies: '@tiptap/core': ^2.7.0 '@tiptap/pm': ^2.7.0 - '@tiptap/extension-task-item@2.22.0': - resolution: {integrity: sha512-kbJbBLOZSMTLp6Rsdn8l6iUBJSQUjXZGmAEJzeAlrk4VTUM2++fNu3qK/v2FjY2AmQZ6v/DJJUSeqq7YAqe1Jg==} + '@tiptap/extension-task-item@2.23.0': + resolution: {integrity: sha512-KdxuaXkASapTq8giUiwC5pL6LAZc9slY+3TqYVdiC1Mo3c9fzQ3QNqbUu5lyesSkVkvXRsHYGphzufeoFn5lDA==} peerDependencies: '@tiptap/core': ^2.7.0 '@tiptap/pm': ^2.7.0 - '@tiptap/extension-task-list@2.22.0': - resolution: {integrity: sha512-7QmMWemWK7z1SxE16/pwTMkP9erSZImIr29MzSnkaKTo9vWx1P0FnHRKnxImXSF0sP4loQoHifSJ3hpZ43JwLw==} + '@tiptap/extension-task-list@2.23.0': + resolution: {integrity: sha512-gYL3Zvk6EMZNyoByT2XqI1beAyeusdefGWVblgBKuTwxTmwZMwwI4agwJy03D4RMQkZBOR2Mg0vQ2Jd6wKKydg==} peerDependencies: '@tiptap/core': ^2.7.0 - '@tiptap/extension-text-align@2.22.0': - resolution: {integrity: sha512-gXdsC4G4a0B6+o1f/j0JDdsnlZc+J0Ez4XzmRzAAW3/Ku/G6SQcMCa4Pgdwmn0OIN+6e1KNLk7Jm8cseIWkzEw==} + '@tiptap/extension-text-align@2.23.0': + resolution: {integrity: sha512-uUnldFtZ/8uIbkR/NrI/JhM0OThGHyPooOhK/cVMexyLkGQdt75Vkc9T7nYxiFHp6MRRzFzbdPbTjkpc8UxKew==} peerDependencies: '@tiptap/core': ^2.7.0 - '@tiptap/extension-text-style@2.22.0': - resolution: {integrity: sha512-HtldtCIhavMJgj8pFGMhCWCxAn1qLZ7T4ahcatrLLcjA6yjU5C3abK8h4RLM1YhOtw5RsNrClhmHtr+/+bQg9Q==} + '@tiptap/extension-text-style@2.23.0': + resolution: {integrity: sha512-SFSKm0fHgBiJHwv8nZFeNToBqTDWxuTBr1vWHu/QKmP4H3D8xKRJZlCJ4zrtTEhMyKSLmFxG41fuC0r233SE3Q==} peerDependencies: '@tiptap/core': ^2.7.0 - '@tiptap/extension-text@2.22.0': - resolution: {integrity: sha512-q+se4cf+MyWWVkuC/rpm/FYMU8TrEqTPQNRJljN+E9t1x3XgXkQpLxDs0pefCsTrstu6vAshYVaQCJDfTWKsag==} + '@tiptap/extension-text@2.23.0': + resolution: {integrity: sha512-hF+CU1H4B4UgqjBXXPPaACVZdSGuMH0TDYTd7h403qUAIBKkYbjuan7laQpiT0qnF0Dg+sGgvmGcd4H1tTBM8g==} peerDependencies: '@tiptap/core': ^2.7.0 - '@tiptap/extension-underline@2.22.0': - resolution: {integrity: sha512-X9N7fMIFzLf/gRdrBDZ87agZfeM8XFHOYZv/oQroL4E4lkMqi+DXb5Ix7ZzPAL1q9ohvqhBamN7dyUw+hqaU8A==} + '@tiptap/extension-underline@2.23.0': + resolution: {integrity: sha512-90sV1QwazRvNeJRc7RS1347YN0deKCqe07feBACR/p2qdVbeiG1VPxOTQ0UJdN6t+ypH/dM+JmYMryu1zCw9MA==} peerDependencies: '@tiptap/core': ^2.7.0 - '@tiptap/pm@2.22.0': - resolution: {integrity: sha512-umtIAWu3CbV4U9L2Ceqe41D24gyWotq9K4dQzDXbQ5x0RrcSXj92rmpa4Cs7qdkNu40M/7dwoJX9GIy2PbTPaQ==} + '@tiptap/pm@2.23.0': + resolution: {integrity: sha512-PQFi8H+OrcaNXNGxbXSjJmZFh1wxiFMbUg25LjOX148d7i+21uWKy6avsr5rsBQNBAKIIMB6PQY61Lhv5r61uA==} - '@tiptap/react@2.22.0': - resolution: {integrity: sha512-WXi0ZF1ZMIlvUt6vmq0/Wjb1iTKkj1loxe+jXa67AtSYNGnlwYTmhqx9mRzfSLjjg4fLpRerbqKE/zkYEJWYRg==} + '@tiptap/react@2.23.0': + resolution: {integrity: sha512-HiEIMYXa4/JWJq1USm0BWXDX0nrXUyG3T1UwZXwFCWZWaRBXmBRv+X5GkyP7fYuuiTTcqmTO3bBhb9CGNDr+AA==} peerDependencies: '@tiptap/core': ^2.7.0 '@tiptap/pm': ^2.7.0 react: ^17.0.0 || ^18.0.0 || ^19.0.0 react-dom: ^17.0.0 || ^18.0.0 || ^19.0.0 - '@tiptap/starter-kit@2.22.0': - resolution: {integrity: sha512-zteolVaD8njRp+0bl+7tIex42TLo9CR3hSaJ8W4IPflSWmaK9x5f9JtvaaDOZBeq2aYEWpGuJNHOkTjuwyojWA==} + '@tiptap/starter-kit@2.23.0': + resolution: {integrity: sha512-mmSrWQB57dHQOZLE9Q4vlgsYYMfihVHDMHshgTSy7nsmw3cFgYGcmzdBKVkO6Ekxk4vElzZIzjSTa0cbOOtfKQ==} '@tootallnate/quickjs-emscripten@0.23.0': resolution: {integrity: sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA==} @@ -4519,19 +4519,19 @@ packages: tree-sitter: optional: true - '@trpc/client@11.4.2': - resolution: {integrity: sha512-Eep1rorAsATs9bxgaXf+BV34CRs4lAKQmwumUL4CNdNDkJItyfuWUr3xWx0np1w3EzUDVA0YDMK93iKDBBA0KQ==} + '@trpc/client@11.4.3': + resolution: {integrity: sha512-i2suttUCfColktXT8bqex5kHW5jpT15nwUh0hGSDiW1keN621kSUQKcLJ095blqQAUgB+lsmgSqSMmB4L9shQQ==} peerDependencies: - '@trpc/server': 11.4.2 + '@trpc/server': 11.4.3 typescript: '>=5.7.2' - '@trpc/next@11.4.2': - resolution: {integrity: sha512-TprETSb4NECbBp6OClcedH9mugTyGJYEWRV7nQRVIOumZUTDlsYZSb08baGIBEMWNvHqFwOLAvvpwiDNPK8xaA==} + '@trpc/next@11.4.3': + resolution: {integrity: sha512-/AqPpzlrQy8ylLEdBAemRU1xmdqJVaXrXI/ZUYl3Oz1Id36gvGMdn5uxm0wgKPpZneM2EICvYcrsLSsdtddW4w==} peerDependencies: '@tanstack/react-query': ^5.59.15 - '@trpc/client': 11.4.2 - '@trpc/react-query': 11.4.2 - '@trpc/server': 11.4.2 + '@trpc/client': 11.4.3 + '@trpc/react-query': 11.4.3 + '@trpc/server': 11.4.3 next: '*' react: '>=16.8.0' react-dom: '>=16.8.0' @@ -4542,27 +4542,27 @@ packages: '@trpc/react-query': optional: true - '@trpc/react-query@11.4.2': - resolution: {integrity: sha512-tm2y9asG3PmdyZqgE92hQEauxls/2ZlEMpA6y/hLizdhjLiKCEtYCQ38pU+n4vUYczffZ90aTaSFm7zf+tnz/g==} + '@trpc/react-query@11.4.3': + resolution: {integrity: sha512-z+jhAiOBD22NNhHtvF0iFp9hO36YFA7M8AiUu/XtNmMxyLd3Y9/d1SMjMwlTdnGqxEGPo41VEWBrdhDUGtUuHg==} peerDependencies: '@tanstack/react-query': ^5.80.3 - '@trpc/client': 11.4.2 - '@trpc/server': 11.4.2 + '@trpc/client': 11.4.3 + '@trpc/server': 11.4.3 react: '>=18.2.0' react-dom: '>=18.2.0' typescript: '>=5.7.2' - '@trpc/server@11.4.2': - resolution: {integrity: sha512-THyq/V5bSFDHeWEAk6LqHF0IVTGk6voGwWsFEipzRRKOWWMIZINCsKZ4cISG6kWO2X9jBfMWv/S2o9hnC0zQ0w==} + '@trpc/server@11.4.3': + resolution: {integrity: sha512-wnWq3wiLlMOlYkaIZz+qbuYA5udPTLS4GVVRyFkr6aT83xpdCHyVtURT+u4hSoIrOXQM9OPCNXSXsAujWZDdaw==} peerDependencies: typescript: '>=5.7.2' - '@trpc/tanstack-react-query@11.4.2': - resolution: {integrity: sha512-eBB8tqFZeTVkdJ0pfHEluOCHFM1tW6orjoX0R0U+UQeLoYrmXQ6hsW9XYcJU0eH4kHjRGg7HEnhHBgXaO+6xkg==} + '@trpc/tanstack-react-query@11.4.3': + resolution: {integrity: sha512-aYPp12wE9IrakccGWoQU/waZuWr3FLw9RtagsqJmX9NKHpQOVzoDvHA1W0amwyTQSAfL98Bn5rWmD7KTdr5AWg==} peerDependencies: '@tanstack/react-query': ^5.80.3 - '@trpc/client': 11.4.2 - '@trpc/server': 11.4.2 + '@trpc/client': 11.4.3 + '@trpc/server': 11.4.3 react: '>=18.2.0' react-dom: '>=18.2.0' typescript: '>=5.7.2' @@ -4758,8 +4758,8 @@ packages: '@types/node@18.19.50': resolution: {integrity: sha512-xonK+NRrMBRtkL1hVCc3G+uXtjh1Al4opBLjqVmipe5ZAaBYWW6cNAiBVZ1BvmkBhep698rP3UM3aRAdSALuhg==} - '@types/node@22.15.32': - resolution: {integrity: sha512-3jigKqgSjsH6gYZv2nEsqdXfZqIFGAV36XYYjf9KGZ3PSG+IhLecqPnI310RvjutyMwifE2hhhNEklOUrvx/wA==} + '@types/node@22.15.33': + resolution: {integrity: sha512-wzoocdnnpSxZ+6CjW4ADCK1jVmd1S/J3ArNWfn8FDDQtRm8dkDg7TA+mvek2wNrfCgwuZxqEOiB9B1XCJ6+dbw==} '@types/normalize-package-data@2.4.4': resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} @@ -4838,63 +4838,63 @@ packages: '@types/xml2js@0.4.14': resolution: {integrity: sha512-4YnrRemBShWRO2QjvUin8ESA41rH+9nQGLUGZV/1IDhi3SL9OhdpNC/MrulTWuptXKwhx/aDxE7toV0f/ypIXQ==} - '@typescript-eslint/eslint-plugin@8.34.1': - resolution: {integrity: sha512-STXcN6ebF6li4PxwNeFnqF8/2BNDvBupf2OPx2yWNzr6mKNGF7q49VM00Pz5FaomJyqvbXpY6PhO+T9w139YEQ==} + '@typescript-eslint/eslint-plugin@8.35.0': + resolution: {integrity: sha512-ijItUYaiWuce0N1SoSMrEd0b6b6lYkYt99pqCPfybd+HKVXtEvYhICfLdwp42MhiI5mp0oq7PKEL+g1cNiz/Eg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - '@typescript-eslint/parser': ^8.34.1 + '@typescript-eslint/parser': ^8.35.0 eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.9.0' - '@typescript-eslint/parser@8.34.1': - resolution: {integrity: sha512-4O3idHxhyzjClSMJ0a29AcoK0+YwnEqzI6oz3vlRf3xw0zbzt15MzXwItOlnr5nIth6zlY2RENLsOPvhyrKAQA==} + '@typescript-eslint/parser@8.35.0': + resolution: {integrity: sha512-6sMvZePQrnZH2/cJkwRpkT7DxoAWh+g6+GFRK6bV3YQo7ogi3SX5rgF6099r5Q53Ma5qeT7LGmOmuIutF4t3lA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.9.0' - '@typescript-eslint/project-service@8.34.1': - resolution: {integrity: sha512-nuHlOmFZfuRwLJKDGQOVc0xnQrAmuq1Mj/ISou5044y1ajGNp2BNliIqp7F2LPQ5sForz8lempMFCovfeS1XoA==} + '@typescript-eslint/project-service@8.35.0': + resolution: {integrity: sha512-41xatqRwWZuhUMF/aZm2fcUsOFKNcG28xqRSS6ZVr9BVJtGExosLAm5A1OxTjRMagx8nJqva+P5zNIGt8RIgbQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <5.9.0' - '@typescript-eslint/scope-manager@8.34.1': - resolution: {integrity: sha512-beu6o6QY4hJAgL1E8RaXNC071G4Kso2MGmJskCFQhRhg8VOH/FDbC8soP8NHN7e/Hdphwp8G8cE6OBzC8o41ZA==} + '@typescript-eslint/scope-manager@8.35.0': + resolution: {integrity: sha512-+AgL5+mcoLxl1vGjwNfiWq5fLDZM1TmTPYs2UkyHfFhgERxBbqHlNjRzhThJqz+ktBqTChRYY6zwbMwy0591AA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/tsconfig-utils@8.34.1': - resolution: {integrity: sha512-K4Sjdo4/xF9NEeA2khOb7Y5nY6NSXBnod87uniVYW9kHP+hNlDV8trUSFeynA2uxWam4gIWgWoygPrv9VMWrYg==} + '@typescript-eslint/tsconfig-utils@8.35.0': + resolution: {integrity: sha512-04k/7247kZzFraweuEirmvUj+W3bJLI9fX6fbo1Qm2YykuBvEhRTPl8tcxlYO8kZZW+HIXfkZNoasVb8EV4jpA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <5.9.0' - '@typescript-eslint/type-utils@8.34.1': - resolution: {integrity: sha512-Tv7tCCr6e5m8hP4+xFugcrwTOucB8lshffJ6zf1mF1TbU67R+ntCc6DzLNKM+s/uzDyv8gLq7tufaAhIBYeV8g==} + '@typescript-eslint/type-utils@8.35.0': + resolution: {integrity: sha512-ceNNttjfmSEoM9PW87bWLDEIaLAyR+E6BoYJQ5PfaDau37UGca9Nyq3lBk8Bw2ad0AKvYabz6wxc7DMTO2jnNA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.9.0' - '@typescript-eslint/types@8.34.1': - resolution: {integrity: sha512-rjLVbmE7HR18kDsjNIZQHxmv9RZwlgzavryL5Lnj2ujIRTeXlKtILHgRNmQ3j4daw7zd+mQgy+uyt6Zo6I0IGA==} + '@typescript-eslint/types@8.35.0': + resolution: {integrity: sha512-0mYH3emanku0vHw2aRLNGqe7EXh9WHEhi7kZzscrMDf6IIRUQ5Jk4wp1QrledE/36KtdZrVfKnE32eZCf/vaVQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/typescript-estree@8.34.1': - resolution: {integrity: sha512-rjCNqqYPuMUF5ODD+hWBNmOitjBWghkGKJg6hiCHzUvXRy6rK22Jd3rwbP2Xi+R7oYVvIKhokHVhH41BxPV5mA==} + '@typescript-eslint/typescript-estree@8.35.0': + resolution: {integrity: sha512-F+BhnaBemgu1Qf8oHrxyw14wq6vbL8xwWKKMwTMwYIRmFFY/1n/9T/jpbobZL8vp7QyEUcC6xGrnAO4ua8Kp7w==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <5.9.0' - '@typescript-eslint/utils@8.34.1': - resolution: {integrity: sha512-mqOwUdZ3KjtGk7xJJnLbHxTuWVn3GO2WZZuM+Slhkun4+qthLdXx32C8xIXbO1kfCECb3jIs3eoxK3eryk7aoQ==} + '@typescript-eslint/utils@8.35.0': + resolution: {integrity: sha512-nqoMu7WWM7ki5tPgLVsmPM8CkqtoPUG6xXGeefM5t4x3XumOEKMoUZPdi+7F+/EotukN4R9OWdmDxN80fqoZeg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.9.0' - '@typescript-eslint/visitor-keys@8.34.1': - resolution: {integrity: sha512-xoh5rJ+tgsRKoXnkBPFRLZ7rjKM0AfVbC68UZ/ECXoDbfggb9RbEySN359acY1vS3qZ0jVTVWzbtfapwm5ztxw==} + '@typescript-eslint/visitor-keys@8.35.0': + resolution: {integrity: sha512-zTh2+1Y8ZpmeQaQVIc/ZZxsx8UzgKJyNg1PTvjzC7WMhPSVS8bfDX34k1SrwOf016qd5RU3az2UxUNue3IfQ5g==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@umami/node@0.4.0': @@ -4920,8 +4920,8 @@ packages: '@videojs/xhr@2.7.0': resolution: {integrity: sha512-giab+EVRanChIupZK7gXjHy90y3nncA2phIOyG3Ne5fvpiMJzvqYwiTOnEVW2S4CoYcuKJkomat7bMXA/UoUZQ==} - '@vitejs/plugin-react@4.5.2': - resolution: {integrity: sha512-QNVT3/Lxx99nMQWJWF7K4N6apUEuT0KlZA3mx/mVaoGj3smm/8rc8ezz15J1pcbcjDK0V15rpHetVfya08r76Q==} + '@vitejs/plugin-react@4.6.0': + resolution: {integrity: sha512-5Kgff+m8e2PB+9j51eGHEpn5kUzRKH2Ry0qGoe8ItJg7pqnkPrYPkDQZGgGmTa0EGarHrkjLvOdU3b1fzI8otQ==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: vite: ^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0-beta.0 @@ -5199,6 +5199,10 @@ packages: resolution: {integrity: sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==} engines: {node: '>= 0.4'} + array-includes@3.1.9: + resolution: {integrity: sha512-FmeCCAenzH0KH381SPT5FZmiA/TmpndpcaShhfgEN9eCVjnFBqq3l1xrI42y8+PPLI6hypzou4GXw00WHmPBLQ==} + engines: {node: '>= 0.4'} + array-union@2.1.0: resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} engines: {node: '>=8'} @@ -5207,14 +5211,18 @@ packages: resolution: {integrity: sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==} engines: {node: '>= 0.4'} - array.prototype.findlastindex@1.2.5: - resolution: {integrity: sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ==} + array.prototype.findlastindex@1.2.6: + resolution: {integrity: sha512-F/TKATkzseUExPlfvmwQKGITM3DGTK+vkAsCZoDc5daVygbJBnjEUCbgkAvVFsgfXfX4YIqZ/27G3k3tdXrTxQ==} engines: {node: '>= 0.4'} array.prototype.flat@1.3.2: resolution: {integrity: sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==} engines: {node: '>= 0.4'} + array.prototype.flat@1.3.3: + resolution: {integrity: sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg==} + engines: {node: '>= 0.4'} + array.prototype.flatmap@1.3.2: resolution: {integrity: sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==} engines: {node: '>= 0.4'} @@ -5368,8 +5376,9 @@ packages: before-after-hook@4.0.0: resolution: {integrity: sha512-q6tR3RPqIB1pMiTRMFcZwuG5T8vwp+vUvEG0vuI6B+Rikh5BfPp2fQ82c925FOs+b0lcFQ8CFrL+KbilfZFhOQ==} - better-sqlite3@11.10.0: - resolution: {integrity: sha512-EwhOpyXiOEL/lKzHz9AW1msWFNzGc/z+LzeB3/jnFJpxu+th2yqvzsSWas1v9jgs9+xiXJcD5A8CJxAG2TaghQ==} + better-sqlite3@12.1.1: + resolution: {integrity: sha512-xjl/TjWLy/6yLa5wkbQSjTgIgSiaEJy3XzjF5TAdiWaAsu/v0OCkYOc6tos+PkM/k4qURN2pFKTsbcG3gk29Uw==} + engines: {node: 20.x || 22.x || 23.x || 24.x} big.js@5.2.2: resolution: {integrity: sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==} @@ -5680,8 +5689,8 @@ packages: concat-map@0.0.1: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} - concurrently@9.1.2: - resolution: {integrity: sha512-H9MWcoPsYddwbOGM6difjVwVZHl63nwMEwDJG/L7VGtuaJhb12h2caPG2tVPWs7emuYix252iGfqOyrz1GczTQ==} + concurrently@9.2.0: + resolution: {integrity: sha512-IsB/fiXTupmagMW4MNp2lx2cdSN2FfZq78vF90LBB+zZHArbIQZjQtzXCiXnvTxCZSvXanTqFLWBjw2UkLx1SQ==} engines: {node: '>=18'} hasBin: true @@ -6091,16 +6100,16 @@ packages: resolution: {integrity: sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==} engines: {node: '>=12'} - dotenv@16.5.0: - resolution: {integrity: sha512-m/C+AwOAr9/W1UOIZUo232ejMNnJAJtYQjUbHoNTBNTJSvqzzDh7vnrei3o3r3m9blf6ZoDkvcw0VmozNRFJxg==} + dotenv@16.6.0: + resolution: {integrity: sha512-Omf1L8paOy2VJhILjyhrhqwLIdstqm1BvcDPKg4NGAlkwEu9ODyrFbvk8UymUOMCT+HXo31jg1lArIrVAAhuGA==} engines: {node: '>=12'} drange@1.1.1: resolution: {integrity: sha512-pYxfDYpued//QpnLIm4Avk7rsNtAtQkUES2cwAYSvD/wd2pKD71gN2Ebj3e7klzXwjocvE8c5vx/1fxwpqmSxA==} engines: {node: '>=4'} - drizzle-kit@0.31.1: - resolution: {integrity: sha512-PUjYKWtzOzPtdtQlTHQG3qfv4Y0XT8+Eas6UbxCmxTj7qgMf+39dDujf1BP1I+qqZtw9uzwTh8jYtkMuCq+B0Q==} + drizzle-kit@0.31.4: + resolution: {integrity: sha512-tCPWVZWZqWVx2XUsVpJRnH9Mx0ClVOf5YUHerZ5so1OKSlqww4zy1R5ksEdGRcO3tM3zj0PYN6V48TbQCL1RfA==} hasBin: true drizzle-orm@0.44.2: @@ -6285,6 +6294,10 @@ packages: resolution: {integrity: sha512-OygGC8kIcDhXX+6yAZRGLqwi2CmEXCbLQixeGUgYeR+Qwlppqmo7DIDr8XibtEBZp+fJcoYpoatp5qwLMEdcqQ==} engines: {node: '>= 0.4'} + es-abstract@1.24.0: + resolution: {integrity: sha512-WSzPgsdLtTcQwm4CROfS5ju2Wa1QQcVeT37jFjYzdFz1r9ahadC8B8/a4qxJxM+09F18iumCdRmlr96ZYkQvEg==} + engines: {node: '>= 0.4'} + es-define-property@1.0.0: resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==} engines: {node: '>= 0.4'} @@ -6316,9 +6329,17 @@ packages: resolution: {integrity: sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==} engines: {node: '>= 0.4'} + es-set-tostringtag@2.1.0: + resolution: {integrity: sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==} + engines: {node: '>= 0.4'} + es-shim-unscopables@1.0.2: resolution: {integrity: sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==} + es-shim-unscopables@1.1.0: + resolution: {integrity: sha512-d9T8ucsEhh8Bi1woXCf+TIKDIROLG5WCkxg8geBCbvk22kzwC5G2OnXVMO6FUsvQlgUUXQ2itephWDLqDzbeCw==} + engines: {node: '>= 0.4'} + es-to-primitive@1.2.1: resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} engines: {node: '>= 0.4'} @@ -6392,8 +6413,8 @@ packages: eslint-import-resolver-node@0.3.9: resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} - eslint-module-utils@2.12.0: - resolution: {integrity: sha512-wALZ0HFoytlyh/1+4wuZ9FJCD/leWHQzzrxJ8+rebyReSLk7LApMyd3WJaLVoN+D5+WIdJyDK1c6JnE65V4Zyg==} + eslint-module-utils@2.12.1: + resolution: {integrity: sha512-L8jSWTze7K2mTg0vos/RuLRS5soomksDPoJLXIslC7c8Wmut3bx7CPpJijDcBZtxQ5lrbUdM+s0OlNbz0DCDNw==} engines: {node: '>=4'} peerDependencies: '@typescript-eslint/parser': '*' @@ -6413,8 +6434,8 @@ packages: eslint-import-resolver-webpack: optional: true - eslint-plugin-import@2.31.0: - resolution: {integrity: sha512-ixmkI62Rbc2/w8Vfxyh1jQRTdRTF52VxwRVHl/ykPAmqG+Nb7/kNn+byLP0LxPgI7zWA16Jt82SybJInmMia3A==} + eslint-plugin-import@2.32.0: + resolution: {integrity: sha512-whOE1HFo/qJDyX4SnXzP4N6zOWn79WhnCUY/iDR0mPfQZO8wcYE4JClzI2oZrhBnnMUCBCHZhO6VQyoBU95mZA==} engines: {node: '>=4'} peerDependencies: '@typescript-eslint/parser': '*' @@ -6693,6 +6714,10 @@ packages: for-each@0.3.3: resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} + for-each@0.3.5: + resolution: {integrity: sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==} + engines: {node: '>= 0.4'} + foreground-child@3.3.1: resolution: {integrity: sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==} engines: {node: '>=14'} @@ -7224,6 +7249,10 @@ packages: resolution: {integrity: sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==} engines: {node: '>= 0.4'} + is-core-module@2.16.1: + resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==} + engines: {node: '>= 0.4'} + is-data-view@1.0.1: resolution: {integrity: sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==} engines: {node: '>= 0.4'} @@ -7413,6 +7442,10 @@ packages: resolution: {integrity: sha512-SXM8Nwyys6nT5WP6pltOwKytLV7FqQ4UiibxVmW+EIosHcmCqkkjViTb5SNssDlkCiEYRP1/pdWUKVvZBmsR2Q==} engines: {node: '>= 0.4'} + is-weakref@1.1.1: + resolution: {integrity: sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew==} + engines: {node: '>= 0.4'} + is-weakset@2.0.3: resolution: {integrity: sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==} engines: {node: '>= 0.4'} @@ -7608,8 +7641,8 @@ packages: resolution: {integrity: sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==} engines: {node: '>= 0.6.3'} - ldapts@8.0.1: - resolution: {integrity: sha512-ItE52wO3TewMQjT1Ee7KKxOtKL6Pr2+uf2ySwoxUX5g4iKXGampkovADkQwCAnDKk65FJZWiaoYjQN8Oyy2vfQ==} + ldapts@8.0.2: + resolution: {integrity: sha512-hHSzfv+e8eRXxDD4gNjgAf72SCw5jIXN5qI8tzBm+MfrVBbE2nzxKD5sCl6aBcP5nCvYivpD37POvHzT7bkYJg==} engines: {node: '>=20'} levn@0.4.1: @@ -7776,8 +7809,8 @@ packages: react: '>=18.0' react-dom: '>=18.0' - maria2@0.4.0: - resolution: {integrity: sha512-jQ9yezKDaSeiy7SZRA8zMAYkFyfx3yoeB/lhcOSQsoGf4YyVaPDopP+dEU6HWNJwK2Oo/rmgqTb5Na1gJcLtrg==} + maria2@0.4.1: + resolution: {integrity: sha512-3lr8UeB+R+BN9c7eOBkeH1GlHf7+0Kzt0pcEgsT9xoXIA5gfXAzjd1niYiYDsvb62v5rLPqCqDiyYxtmmhGJ3g==} engines: {node: '>= 22.5.0'} markdown-it@14.1.0: @@ -8062,8 +8095,8 @@ packages: resolution: {integrity: sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg==} engines: {node: '>= 0.4.0'} - next-auth@5.0.0-beta.28: - resolution: {integrity: sha512-2RDR1h3DJb4nizcd5UBBwC2gtyP7j/jTvVLvEtDaFSKUWNfou3Gek2uTNHSga/Q4I/GF+OJobA4mFbRaWJgIDQ==} + next-auth@5.0.0-beta.29: + resolution: {integrity: sha512-Ukpnuk3NMc/LiOl32njZPySk7pABEzbjhMUFd5/n10I0ZNC7NCuVv8IY2JgbDek2t/PUOifQEoUiOOTLy4os5A==} peerDependencies: '@simplewebauthn/browser': ^9.0.1 '@simplewebauthn/server': ^9.0.2 @@ -8078,8 +8111,8 @@ packages: nodemailer: optional: true - next-intl@4.1.0: - resolution: {integrity: sha512-JNJRjc7sdnfUxhZmGcvzDszZ60tQKrygV/VLsgzXhnJDxQPn1cN2rVpc53adA1SvBJwPK2O6Sc6b4gYSILjCzw==} + next-intl@4.3.1: + resolution: {integrity: sha512-FylHpOoQw5MpOyJt4cw8pNEGba7r3jKDSqt112fmBqXVceGR5YncmqpxS5MvSHsWRwbjqpOV8OsZCIY/4f4HWg==} peerDependencies: next: ^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 @@ -8219,8 +8252,8 @@ packages: resolution: {integrity: sha512-9qny7Z9DsQU8Ou39ERsPU4OZQlSTP47ShQzuKZ6PRXpYLtIFgl/DEBYEXKlvcEa+9tHVcK8CF81Y2V72qaZhWA==} engines: {node: '>=18'} - npm@10.9.2: - resolution: {integrity: sha512-iriPEPIkoMYUy3F6f3wwSZAU93E0Eg6cHwIR6jzzOXWSy+SD/rOODEs74cVONHKSx2obXtuUoyidVEhISrisgQ==} + npm@10.9.3: + resolution: {integrity: sha512-6Eh1u5Q+kIVXeA8e7l2c/HpnFFcwrkt37xDMujD5be1gloWa9p6j3Fsv3mByXXmqJHy+2cElRMML8opNT7xIJQ==} engines: {node: ^18.17.0 || >=20.5.0} hasBin: true bundledDependencies: @@ -8311,6 +8344,10 @@ packages: resolution: {integrity: sha512-kDCGIbxkDSXE3euJZZXzc6to7fCrKHNI/hSRQnRuQ+BWjFNzZwiFF8fj/6o2t2G9/jTj8PSIYTfCLelLZEeRpA==} engines: {node: '>= 0.4'} + object-inspect@1.13.4: + resolution: {integrity: sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==} + engines: {node: '>= 0.4'} + object-keys@1.1.1: resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} engines: {node: '>= 0.4'} @@ -8400,6 +8437,10 @@ packages: resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==} engines: {node: '>=0.10.0'} + own-keys@1.0.1: + resolution: {integrity: sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==} + engines: {node: '>= 0.4'} + p-each-series@3.0.0: resolution: {integrity: sha512-lastgtAdoH9YaLyDa5i5z64q+kzOcQHsQ5SsZJD3q0VEyI8mq872S3geuNbRUQLVAE9siMfgKrpj7MloKFHruw==} engines: {node: '>=12'} @@ -8673,16 +8714,16 @@ packages: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} - prettier-plugin-packagejson@2.5.15: - resolution: {integrity: sha512-2QSx6y4IT6LTwXtCvXAopENW5IP/aujC8fobEM2pDbs0IGkiVjW/ipPuYAHuXigbNe64aGWF7vIetukuzM3CBw==} + prettier-plugin-packagejson@2.5.16: + resolution: {integrity: sha512-1EORN4SahAWU55ll+xp0PXhiUmD93PJlBE88GbWv7X5xtZ7ycj3GNbRGX+r75zWn70KAoYVO08rF2C/TqGCHPA==} peerDependencies: prettier: '>= 1.16.0' peerDependenciesMeta: prettier: optional: true - prettier@3.5.3: - resolution: {integrity: sha512-QQtaxnoDJeAkDvDKWCLiwIXkTgRhwYDEQCghU9Z6q03iyek/rxRh/2lC3HB7P8sWT2xC/y5JDctPLBIGzHKbhw==} + prettier@3.6.2: + resolution: {integrity: sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ==} engines: {node: '>=14'} hasBin: true @@ -9032,8 +9073,8 @@ packages: recharts-scale@0.4.5: resolution: {integrity: sha512-kivNFO+0OcUNu7jQquLXAxz1FIwZj8nrj+YkOKc5694NbjCvcT6aSZiIzNzd2Kul4o4rTto8QVR9lMNtxD4G1w==} - recharts@2.15.3: - resolution: {integrity: sha512-EdOPzTwcFSuqtvkDoaM5ws/Km1+WTAO2eizL7rqiG0V2UVhTnz0m7J2i0CjVPUCdEkZImaWvXLbZDS2H5t6GFQ==} + recharts@2.15.4: + resolution: {integrity: sha512-UT/q6fwS3c1dHbXv2uFgYJ9BMFHu3fwnd7AYZaEQhXuYQ4hgsxLvsUXzGdKeZrW5xopzDCvuA2N41WJ88I7zIw==} engines: {node: '>=14'} peerDependencies: react: ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 @@ -9073,6 +9114,10 @@ packages: resolution: {integrity: sha512-vqlC04+RQoFalODCbCumG2xIOvapzVMHwsyIGM/SIE8fRhFFsXeH8/QQ+s0T0kDAhKc4k30s73/0ydkHQz6HlQ==} engines: {node: '>= 0.4'} + regexp.prototype.flags@1.5.4: + resolution: {integrity: sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==} + engines: {node: '>= 0.4'} + registry-auth-token@3.3.2: resolution: {integrity: sha512-JL39c60XlzCVgNrO+qq68FoNb56w/m7JYvGR2jT5iR1xBrUA3Mfx5Twk5rqTThPmQKMWydGmq8oFtDlxfrmxnQ==} @@ -9220,6 +9265,10 @@ packages: safe-buffer@5.2.1: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + safe-push-apply@1.0.0: + resolution: {integrity: sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==} + engines: {node: '>= 0.4'} + safe-regex-test@1.0.3: resolution: {integrity: sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==} engines: {node: '>= 0.4'} @@ -9318,6 +9367,10 @@ packages: resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==} engines: {node: '>= 0.4'} + set-proto@1.0.0: + resolution: {integrity: sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==} + engines: {node: '>= 0.4'} + setprototypeof@1.2.0: resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} @@ -9435,8 +9488,8 @@ packages: sort-object-keys@1.1.3: resolution: {integrity: sha512-855pvK+VkU7PaKYPc+Jjnmt4EzejQHyhhF33q31qG8x7maDzkeFhAAThdCYay11CISO+qAMwjOBP+fPZe0IPyg==} - sort-package-json@3.2.1: - resolution: {integrity: sha512-rTfRdb20vuoAn7LDlEtCqOkYfl2X+Qze6cLbNOzcDpbmKEhJI30tTN44d5shbKJnXsvz24QQhlCm81Bag7EOKg==} + sort-package-json@3.2.2: + resolution: {integrity: sha512-twAMvmzOcEPsN3N9zKPDpl6zproGU0JcBOQFU4T6e5wrStH8iuPiAjFz9g+cMRC52eQBUbZlFCeGt+F4vginkw==} hasBin: true source-map-js@1.2.1: @@ -9510,6 +9563,10 @@ packages: std-env@3.9.0: resolution: {integrity: sha512-UGvjygr6F6tpH7o2qyqR6QYpwraIjKSdtzyBdyytFOHmPZY917kwdwLG0RbOjWOnKmnm3PeHjaoLLMie7kPLQw==} + stop-iteration-iterator@1.1.0: + resolution: {integrity: sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==} + engines: {node: '>= 0.4'} + stream-buffers@3.0.3: resolution: {integrity: sha512-pqMqwQCso0PBJt2PQmDO0cFj0lyqmiwOMiMSkVtRokl7e+ZTRYgDHKnuZNbqjiJXgsg4nuqtD/zxuo9KqTp0Yw==} engines: {node: '>= 0.10.0'} @@ -9554,9 +9611,6 @@ packages: resolution: {integrity: sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==} engines: {node: '>= 0.4'} - string.prototype.trimend@1.0.8: - resolution: {integrity: sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==} - string.prototype.trimend@1.0.9: resolution: {integrity: sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==} engines: {node: '>= 0.4'} @@ -9671,8 +9725,8 @@ packages: swagger-client@3.35.5: resolution: {integrity: sha512-ayCrpDAgm5jIdq1kmcVWJRfp27cqU9tSRiAfKg3BKeplOmvu3+lKTPPtz4x1uI8v5l5/92Aopvq0EzRkXEr7Rw==} - swagger-ui-react@5.25.2: - resolution: {integrity: sha512-derGtL7NKvF0w4XIULgiWmS1y3EMEVQAJwLVLTAzVo6/ilLhwP9HCz2yjkVVHzK58gvOzrhO3DKk/Effpr5LJw==} + swagger-ui-react@5.25.3: + resolution: {integrity: sha512-R9nVMbwH3J/on8ZEctHlN86l6QucaOy6wUnm7npIwTJOgv+qnJ/t+VkSW1NW6l7a9uDg+PxkbDC0jo9YI9MCEA==} peerDependencies: react: '>=16.8.0 <19' react-dom: '>=16.8.0 <19' @@ -9781,10 +9835,6 @@ packages: tinyexec@0.3.2: resolution: {integrity: sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==} - tinyglobby@0.2.13: - resolution: {integrity: sha512-mEwzpUgrLySlveBwEVDMKk5B57bhLPYovRfPAXD5gA/98Opn0rCDj3GtLwFvCvH5RK9uPCExUROW5NjDwvqkxw==} - engines: {node: '>=12.0.0'} - tinyglobby@0.2.14: resolution: {integrity: sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==} engines: {node: '>=12.0.0'} @@ -9944,9 +9994,6 @@ packages: tslib@1.14.1: resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} - tslib@2.7.0: - resolution: {integrity: sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==} - tslib@2.8.1: resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} @@ -10069,8 +10116,8 @@ packages: types-ramda@0.30.1: resolution: {integrity: sha512-1HTsf5/QVRmLzcGfldPFvkVsAdi1db1BBKzi7iW3KBUlOICg/nKnFS+jGqDJS3YD8VsWbAh7JiHeBvbsw8RPxA==} - typescript-eslint@8.34.1: - resolution: {integrity: sha512-XjS+b6Vg9oT1BaIUfkW3M3LvqZE++rbzAMEHuccCfO/YkP43ha6w3jTEMilQxMF92nVOYCcdjv1ZUhAa1D/0ow==} + typescript-eslint@8.35.0: + resolution: {integrity: sha512-uEnz70b7kBz6eg/j0Czy6K5NivaYopgxRjsnAJ2Fx5oTLo3wefTHIbL7AkQr1+7tJCRVpTs/wiM8JR/11Loq9A==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 @@ -10115,8 +10162,8 @@ packages: undici-types@6.21.0: resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==} - undici@7.10.0: - resolution: {integrity: sha512-u5otvFBOBZvmdjWLVW+5DAc9Nkq8f24g0O9oY7qw2JVIF1VocIFoyz9JFkuVOS2j41AufeO0xnlweJ2RLT8nGw==} + undici@7.11.0: + resolution: {integrity: sha512-heTSIac3iLhsmZhUCjyS3JQEkZELateufzZuBaVM5RHXdSBMb1LPMQf5x+FH7qjsZYDP0ttAc3nnVpUB+wYbOg==} engines: {node: '>=20.18.1'} unicode-emoji-modifier-base@1.0.0: @@ -10242,8 +10289,8 @@ packages: peerDependencies: react: '>=16.13' - use-intl@4.1.0: - resolution: {integrity: sha512-mQvDYFvoGn+bm/PWvlQOtluKCknsQ5a9F1Cj0hMfBjMBVTwnOqLPd6srhjvVdEQEQFVyHM1PfyifKqKYb11M9Q==} + use-intl@4.3.1: + resolution: {integrity: sha512-8Xn5RXzeHZhWqqZimi1wi2pKFqm0NxRUOB41k1QdjbPX+ysoeLW3Ey+fi603D/e5EGb0fYw8WzjgtUagJdlIvg==} peerDependencies: react: ^17.0.0 || ^18.0.0 || >=19.0.0-rc <19.0.0 || ^19.0.0 @@ -10491,6 +10538,10 @@ packages: resolution: {integrity: sha512-qEcY+KJYlWyLH9vNbsr6/5j59AXk5ni5aakf8ldzBvGde6Iz4sxZGkJyWSAueTG7QhOvNRYb1lDdFmL5Td0QKA==} engines: {node: '>= 0.4'} + which-typed-array@1.1.19: + resolution: {integrity: sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==} + engines: {node: '>= 0.4'} + which@2.0.2: resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} engines: {node: '>= 8'} @@ -10702,7 +10753,7 @@ snapshots: '@csstools/css-tokenizer': 3.0.3 lru-cache: 11.0.2 - '@auth/core@0.39.1': + '@auth/core@0.40.0': dependencies: '@panva/hkdf': 1.2.1 jose: 6.0.8 @@ -10710,9 +10761,9 @@ snapshots: preact: 10.24.3 preact-render-to-string: 6.5.11(preact@10.24.3) - '@auth/drizzle-adapter@1.9.1': + '@auth/drizzle-adapter@1.10.0': dependencies: - '@auth/core': 0.39.1 + '@auth/core': 0.40.0 transitivePeerDependencies: - '@simplewebauthn/browser' - '@simplewebauthn/server' @@ -10821,7 +10872,7 @@ snapshots: '@babel/helper-module-imports@7.25.9': dependencies: - '@babel/traverse': 7.27.0 + '@babel/traverse': 7.27.4 '@babel/types': 7.27.6 transitivePeerDependencies: - supports-color @@ -11522,11 +11573,11 @@ snapshots: '@homarr/gridstack@1.12.0': {} - '@homarr/node-unifi@2.6.0(undici@7.10.0)': + '@homarr/node-unifi@2.6.0(undici@7.11.0)': dependencies: axios: 1.9.0 eventemitter2: 6.4.9 - http-cookie-agent: 6.0.8(tough-cookie@5.1.2)(undici@7.10.0) + http-cookie-agent: 6.0.8(tough-cookie@5.1.2)(undici@7.11.0) tough-cookie: 5.1.2 ws: 8.18.2 transitivePeerDependencies: @@ -11552,13 +11603,13 @@ snapshots: '@humanwhocodes/retry@0.4.2': {} - '@ianvs/prettier-plugin-sort-imports@4.4.2(prettier@3.5.3)': + '@ianvs/prettier-plugin-sort-imports@4.4.2(prettier@3.6.2)': dependencies: '@babel/generator': 7.27.0 '@babel/parser': 7.27.0 '@babel/traverse': 7.27.0 '@babel/types': 7.27.0 - prettier: 3.5.3 + prettier: 3.6.2 semver: 7.7.1 transitivePeerDependencies: - supports-color @@ -11710,7 +11761,7 @@ snapshots: '@kubernetes/client-node@1.3.0': dependencies: '@types/js-yaml': 4.0.9 - '@types/node': 22.15.32 + '@types/node': 22.15.33 '@types/node-fetch': 2.6.12 '@types/stream-buffers': 3.0.7 form-data: 4.0.1 @@ -11743,22 +11794,22 @@ snapshots: js-base64: 3.7.7 optional: true - '@mantine/charts@8.1.1(@mantine/core@8.1.1(@mantine/hooks@8.1.1(react@19.1.0))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/hooks@8.1.1(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(recharts@2.15.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0))': + '@mantine/charts@8.1.2(@mantine/core@8.1.2(@mantine/hooks@8.1.2(react@19.1.0))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/hooks@8.1.2(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(recharts@2.15.4(react-dom@19.1.0(react@19.1.0))(react@19.1.0))': dependencies: - '@mantine/core': 8.1.1(@mantine/hooks@8.1.1(react@19.1.0))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@mantine/hooks': 8.1.1(react@19.1.0) + '@mantine/core': 8.1.2(@mantine/hooks@8.1.2(react@19.1.0))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@mantine/hooks': 8.1.2(react@19.1.0) react: 19.1.0 react-dom: 19.1.0(react@19.1.0) - recharts: 2.15.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + recharts: 2.15.4(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@mantine/colors-generator@8.1.1(chroma-js@3.1.2)': + '@mantine/colors-generator@8.1.2(chroma-js@3.1.2)': dependencies: chroma-js: 3.1.2 - '@mantine/core@8.1.1(@mantine/hooks@8.1.1(react@19.1.0))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@mantine/core@8.1.2(@mantine/hooks@8.1.2(react@19.1.0))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: '@floating-ui/react': 0.26.28(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@mantine/hooks': 8.1.1(react@19.1.0) + '@mantine/hooks': 8.1.2(react@19.1.0) clsx: 2.1.1 react: 19.1.0 react-dom: 19.1.0(react@19.1.0) @@ -11769,67 +11820,67 @@ snapshots: transitivePeerDependencies: - '@types/react' - '@mantine/dates@8.1.1(@mantine/core@8.1.1(@mantine/hooks@8.1.1(react@19.1.0))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/hooks@8.1.1(react@19.1.0))(dayjs@1.11.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@mantine/dates@8.1.2(@mantine/core@8.1.2(@mantine/hooks@8.1.2(react@19.1.0))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/hooks@8.1.2(react@19.1.0))(dayjs@1.11.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: - '@mantine/core': 8.1.1(@mantine/hooks@8.1.1(react@19.1.0))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@mantine/hooks': 8.1.1(react@19.1.0) + '@mantine/core': 8.1.2(@mantine/hooks@8.1.2(react@19.1.0))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@mantine/hooks': 8.1.2(react@19.1.0) clsx: 2.1.1 dayjs: 1.11.13 react: 19.1.0 react-dom: 19.1.0(react@19.1.0) - '@mantine/dropzone@8.1.1(@mantine/core@8.1.1(@mantine/hooks@8.1.1(react@19.1.0))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/hooks@8.1.1(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@mantine/dropzone@8.1.2(@mantine/core@8.1.2(@mantine/hooks@8.1.2(react@19.1.0))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/hooks@8.1.2(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: - '@mantine/core': 8.1.1(@mantine/hooks@8.1.1(react@19.1.0))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@mantine/hooks': 8.1.1(react@19.1.0) + '@mantine/core': 8.1.2(@mantine/hooks@8.1.2(react@19.1.0))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@mantine/hooks': 8.1.2(react@19.1.0) react: 19.1.0 react-dom: 19.1.0(react@19.1.0) react-dropzone: 14.3.8(react@19.1.0) - '@mantine/form@8.1.1(react@19.1.0)': + '@mantine/form@8.1.2(react@19.1.0)': dependencies: fast-deep-equal: 3.1.3 klona: 2.0.6 react: 19.1.0 - '@mantine/hooks@8.1.1(react@19.1.0)': + '@mantine/hooks@8.1.2(react@19.1.0)': dependencies: react: 19.1.0 - '@mantine/modals@8.1.1(@mantine/core@8.1.1(@mantine/hooks@8.1.1(react@19.1.0))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/hooks@8.1.1(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@mantine/modals@8.1.2(@mantine/core@8.1.2(@mantine/hooks@8.1.2(react@19.1.0))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/hooks@8.1.2(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: - '@mantine/core': 8.1.1(@mantine/hooks@8.1.1(react@19.1.0))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@mantine/hooks': 8.1.1(react@19.1.0) + '@mantine/core': 8.1.2(@mantine/hooks@8.1.2(react@19.1.0))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@mantine/hooks': 8.1.2(react@19.1.0) react: 19.1.0 react-dom: 19.1.0(react@19.1.0) - '@mantine/notifications@8.1.1(@mantine/core@8.1.1(@mantine/hooks@8.1.1(react@19.1.0))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/hooks@8.1.1(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@mantine/notifications@8.1.2(@mantine/core@8.1.2(@mantine/hooks@8.1.2(react@19.1.0))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/hooks@8.1.2(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: - '@mantine/core': 8.1.1(@mantine/hooks@8.1.1(react@19.1.0))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@mantine/hooks': 8.1.1(react@19.1.0) - '@mantine/store': 8.1.1(react@19.1.0) + '@mantine/core': 8.1.2(@mantine/hooks@8.1.2(react@19.1.0))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@mantine/hooks': 8.1.2(react@19.1.0) + '@mantine/store': 8.1.2(react@19.1.0) react: 19.1.0 react-dom: 19.1.0(react@19.1.0) react-transition-group: 4.4.5(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@mantine/spotlight@8.1.1(@mantine/core@8.1.1(@mantine/hooks@8.1.1(react@19.1.0))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/hooks@8.1.1(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@mantine/spotlight@8.1.2(@mantine/core@8.1.2(@mantine/hooks@8.1.2(react@19.1.0))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/hooks@8.1.2(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: - '@mantine/core': 8.1.1(@mantine/hooks@8.1.1(react@19.1.0))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@mantine/hooks': 8.1.1(react@19.1.0) - '@mantine/store': 8.1.1(react@19.1.0) + '@mantine/core': 8.1.2(@mantine/hooks@8.1.2(react@19.1.0))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@mantine/hooks': 8.1.2(react@19.1.0) + '@mantine/store': 8.1.2(react@19.1.0) react: 19.1.0 react-dom: 19.1.0(react@19.1.0) - '@mantine/store@8.1.1(react@19.1.0)': + '@mantine/store@8.1.2(react@19.1.0)': dependencies: react: 19.1.0 - '@mantine/tiptap@8.1.1(@mantine/core@8.1.1(@mantine/hooks@8.1.1(react@19.1.0))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/hooks@8.1.1(react@19.1.0))(@tiptap/extension-link@2.22.0(@tiptap/core@2.22.0(@tiptap/pm@2.22.0))(@tiptap/pm@2.22.0))(@tiptap/react@2.22.0(@tiptap/core@2.22.0(@tiptap/pm@2.22.0))(@tiptap/pm@2.22.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@mantine/tiptap@8.1.2(@mantine/core@8.1.2(@mantine/hooks@8.1.2(react@19.1.0))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/hooks@8.1.2(react@19.1.0))(@tiptap/extension-link@2.23.0(@tiptap/core@2.23.0(@tiptap/pm@2.23.0))(@tiptap/pm@2.23.0))(@tiptap/react@2.23.0(@tiptap/core@2.23.0(@tiptap/pm@2.23.0))(@tiptap/pm@2.23.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: - '@mantine/core': 8.1.1(@mantine/hooks@8.1.1(react@19.1.0))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@mantine/hooks': 8.1.1(react@19.1.0) - '@tiptap/extension-link': 2.22.0(@tiptap/core@2.22.0(@tiptap/pm@2.22.0))(@tiptap/pm@2.22.0) - '@tiptap/react': 2.22.0(@tiptap/core@2.22.0(@tiptap/pm@2.22.0))(@tiptap/pm@2.22.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@mantine/core': 8.1.2(@mantine/hooks@8.1.2(react@19.1.0))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@mantine/hooks': 8.1.2(react@19.1.0) + '@tiptap/extension-link': 2.23.0(@tiptap/core@2.23.0(@tiptap/pm@2.23.0))(@tiptap/pm@2.23.0) + '@tiptap/react': 2.23.0(@tiptap/core@2.23.0(@tiptap/pm@2.23.0))(@tiptap/pm@2.23.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) react: 19.1.0 react-dom: 19.1.0(react@19.1.0) @@ -12202,7 +12253,7 @@ snapshots: '@remirror/core-constants@3.0.0': {} - '@rolldown/pluginutils@1.0.0-beta.11': {} + '@rolldown/pluginutils@1.0.0-beta.19': {} '@rollup/pluginutils@5.1.0(rollup@4.21.3)': dependencies: @@ -12339,7 +12390,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@semantic-release/npm@12.0.1(semantic-release@24.2.5(typescript@5.8.3))': + '@semantic-release/npm@12.0.2(semantic-release@24.2.5(typescript@5.8.3))': dependencies: '@semantic-release/error': 4.0.0 aggregate-error: 5.0.0 @@ -12348,12 +12399,12 @@ snapshots: lodash-es: 4.17.21 nerf-dart: 1.0.0 normalize-url: 8.0.1 - npm: 10.9.2 + npm: 10.9.3 rc: 1.2.8 read-pkg: 9.0.1 registry-auth-token: 5.0.2 semantic-release: 24.2.5(typescript@5.8.3) - semver: 7.6.3 + semver: 7.7.1 tempy: 3.1.0 '@semantic-release/release-notes-generator@14.0.3(semantic-release@24.2.5(typescript@5.8.3))': @@ -12772,25 +12823,25 @@ snapshots: dependencies: remove-accents: 0.5.0 - '@tanstack/query-core@5.80.10': {} + '@tanstack/query-core@5.81.4': {} - '@tanstack/query-devtools@5.80.0': {} + '@tanstack/query-devtools@5.81.2': {} - '@tanstack/react-query-devtools@5.80.10(@tanstack/react-query@5.80.10(react@19.1.0))(react@19.1.0)': + '@tanstack/react-query-devtools@5.81.4(@tanstack/react-query@5.81.4(react@19.1.0))(react@19.1.0)': dependencies: - '@tanstack/query-devtools': 5.80.0 - '@tanstack/react-query': 5.80.10(react@19.1.0) + '@tanstack/query-devtools': 5.81.2 + '@tanstack/react-query': 5.81.4(react@19.1.0) react: 19.1.0 - '@tanstack/react-query-next-experimental@5.80.10(@tanstack/react-query@5.80.10(react@19.1.0))(next@15.3.4(@babel/core@7.26.0)(@playwright/test@1.49.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(sass@1.89.2))(react@19.1.0)': + '@tanstack/react-query-next-experimental@5.81.4(@tanstack/react-query@5.81.4(react@19.1.0))(next@15.3.4(@babel/core@7.26.0)(@playwright/test@1.49.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(sass@1.89.2))(react@19.1.0)': dependencies: - '@tanstack/react-query': 5.80.10(react@19.1.0) + '@tanstack/react-query': 5.81.4(react@19.1.0) next: 15.3.4(@babel/core@7.26.0)(@playwright/test@1.49.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(sass@1.89.2) react: 19.1.0 - '@tanstack/react-query@5.80.10(react@19.1.0)': + '@tanstack/react-query@5.81.4(react@19.1.0)': dependencies: - '@tanstack/query-core': 5.80.10 + '@tanstack/query-core': 5.81.4 react: 19.1.0 '@tanstack/react-table@8.20.5(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': @@ -12816,157 +12867,157 @@ snapshots: - bare-buffer - supports-color - '@tiptap/core@2.22.0(@tiptap/pm@2.22.0)': + '@tiptap/core@2.23.0(@tiptap/pm@2.23.0)': dependencies: - '@tiptap/pm': 2.22.0 + '@tiptap/pm': 2.23.0 - '@tiptap/extension-blockquote@2.22.0(@tiptap/core@2.22.0(@tiptap/pm@2.22.0))': + '@tiptap/extension-blockquote@2.23.0(@tiptap/core@2.23.0(@tiptap/pm@2.23.0))': dependencies: - '@tiptap/core': 2.22.0(@tiptap/pm@2.22.0) + '@tiptap/core': 2.23.0(@tiptap/pm@2.23.0) - '@tiptap/extension-bold@2.22.0(@tiptap/core@2.22.0(@tiptap/pm@2.22.0))': + '@tiptap/extension-bold@2.23.0(@tiptap/core@2.23.0(@tiptap/pm@2.23.0))': dependencies: - '@tiptap/core': 2.22.0(@tiptap/pm@2.22.0) + '@tiptap/core': 2.23.0(@tiptap/pm@2.23.0) - '@tiptap/extension-bubble-menu@2.22.0(@tiptap/core@2.22.0(@tiptap/pm@2.22.0))(@tiptap/pm@2.22.0)': + '@tiptap/extension-bubble-menu@2.23.0(@tiptap/core@2.23.0(@tiptap/pm@2.23.0))(@tiptap/pm@2.23.0)': dependencies: - '@tiptap/core': 2.22.0(@tiptap/pm@2.22.0) - '@tiptap/pm': 2.22.0 + '@tiptap/core': 2.23.0(@tiptap/pm@2.23.0) + '@tiptap/pm': 2.23.0 tippy.js: 6.3.7 - '@tiptap/extension-bullet-list@2.22.0(@tiptap/core@2.22.0(@tiptap/pm@2.22.0))': + '@tiptap/extension-bullet-list@2.23.0(@tiptap/core@2.23.0(@tiptap/pm@2.23.0))': dependencies: - '@tiptap/core': 2.22.0(@tiptap/pm@2.22.0) + '@tiptap/core': 2.23.0(@tiptap/pm@2.23.0) - '@tiptap/extension-code-block@2.22.0(@tiptap/core@2.22.0(@tiptap/pm@2.22.0))(@tiptap/pm@2.22.0)': + '@tiptap/extension-code-block@2.23.0(@tiptap/core@2.23.0(@tiptap/pm@2.23.0))(@tiptap/pm@2.23.0)': dependencies: - '@tiptap/core': 2.22.0(@tiptap/pm@2.22.0) - '@tiptap/pm': 2.22.0 + '@tiptap/core': 2.23.0(@tiptap/pm@2.23.0) + '@tiptap/pm': 2.23.0 - '@tiptap/extension-code@2.22.0(@tiptap/core@2.22.0(@tiptap/pm@2.22.0))': + '@tiptap/extension-code@2.23.0(@tiptap/core@2.23.0(@tiptap/pm@2.23.0))': dependencies: - '@tiptap/core': 2.22.0(@tiptap/pm@2.22.0) + '@tiptap/core': 2.23.0(@tiptap/pm@2.23.0) - '@tiptap/extension-color@2.22.0(@tiptap/core@2.22.0(@tiptap/pm@2.22.0))(@tiptap/extension-text-style@2.22.0(@tiptap/core@2.22.0(@tiptap/pm@2.22.0)))': + '@tiptap/extension-color@2.23.0(@tiptap/core@2.23.0(@tiptap/pm@2.23.0))(@tiptap/extension-text-style@2.23.0(@tiptap/core@2.23.0(@tiptap/pm@2.23.0)))': dependencies: - '@tiptap/core': 2.22.0(@tiptap/pm@2.22.0) - '@tiptap/extension-text-style': 2.22.0(@tiptap/core@2.22.0(@tiptap/pm@2.22.0)) + '@tiptap/core': 2.23.0(@tiptap/pm@2.23.0) + '@tiptap/extension-text-style': 2.23.0(@tiptap/core@2.23.0(@tiptap/pm@2.23.0)) - '@tiptap/extension-document@2.22.0(@tiptap/core@2.22.0(@tiptap/pm@2.22.0))': + '@tiptap/extension-document@2.23.0(@tiptap/core@2.23.0(@tiptap/pm@2.23.0))': dependencies: - '@tiptap/core': 2.22.0(@tiptap/pm@2.22.0) + '@tiptap/core': 2.23.0(@tiptap/pm@2.23.0) - '@tiptap/extension-dropcursor@2.22.0(@tiptap/core@2.22.0(@tiptap/pm@2.22.0))(@tiptap/pm@2.22.0)': + '@tiptap/extension-dropcursor@2.23.0(@tiptap/core@2.23.0(@tiptap/pm@2.23.0))(@tiptap/pm@2.23.0)': dependencies: - '@tiptap/core': 2.22.0(@tiptap/pm@2.22.0) - '@tiptap/pm': 2.22.0 + '@tiptap/core': 2.23.0(@tiptap/pm@2.23.0) + '@tiptap/pm': 2.23.0 - '@tiptap/extension-floating-menu@2.22.0(@tiptap/core@2.22.0(@tiptap/pm@2.22.0))(@tiptap/pm@2.22.0)': + '@tiptap/extension-floating-menu@2.23.0(@tiptap/core@2.23.0(@tiptap/pm@2.23.0))(@tiptap/pm@2.23.0)': dependencies: - '@tiptap/core': 2.22.0(@tiptap/pm@2.22.0) - '@tiptap/pm': 2.22.0 + '@tiptap/core': 2.23.0(@tiptap/pm@2.23.0) + '@tiptap/pm': 2.23.0 tippy.js: 6.3.7 - '@tiptap/extension-gapcursor@2.22.0(@tiptap/core@2.22.0(@tiptap/pm@2.22.0))(@tiptap/pm@2.22.0)': + '@tiptap/extension-gapcursor@2.23.0(@tiptap/core@2.23.0(@tiptap/pm@2.23.0))(@tiptap/pm@2.23.0)': dependencies: - '@tiptap/core': 2.22.0(@tiptap/pm@2.22.0) - '@tiptap/pm': 2.22.0 + '@tiptap/core': 2.23.0(@tiptap/pm@2.23.0) + '@tiptap/pm': 2.23.0 - '@tiptap/extension-hard-break@2.22.0(@tiptap/core@2.22.0(@tiptap/pm@2.22.0))': + '@tiptap/extension-hard-break@2.23.0(@tiptap/core@2.23.0(@tiptap/pm@2.23.0))': dependencies: - '@tiptap/core': 2.22.0(@tiptap/pm@2.22.0) + '@tiptap/core': 2.23.0(@tiptap/pm@2.23.0) - '@tiptap/extension-heading@2.22.0(@tiptap/core@2.22.0(@tiptap/pm@2.22.0))': + '@tiptap/extension-heading@2.23.0(@tiptap/core@2.23.0(@tiptap/pm@2.23.0))': dependencies: - '@tiptap/core': 2.22.0(@tiptap/pm@2.22.0) + '@tiptap/core': 2.23.0(@tiptap/pm@2.23.0) - '@tiptap/extension-highlight@2.22.0(@tiptap/core@2.22.0(@tiptap/pm@2.22.0))': + '@tiptap/extension-highlight@2.23.0(@tiptap/core@2.23.0(@tiptap/pm@2.23.0))': dependencies: - '@tiptap/core': 2.22.0(@tiptap/pm@2.22.0) + '@tiptap/core': 2.23.0(@tiptap/pm@2.23.0) - '@tiptap/extension-history@2.22.0(@tiptap/core@2.22.0(@tiptap/pm@2.22.0))(@tiptap/pm@2.22.0)': + '@tiptap/extension-history@2.23.0(@tiptap/core@2.23.0(@tiptap/pm@2.23.0))(@tiptap/pm@2.23.0)': dependencies: - '@tiptap/core': 2.22.0(@tiptap/pm@2.22.0) - '@tiptap/pm': 2.22.0 + '@tiptap/core': 2.23.0(@tiptap/pm@2.23.0) + '@tiptap/pm': 2.23.0 - '@tiptap/extension-horizontal-rule@2.22.0(@tiptap/core@2.22.0(@tiptap/pm@2.22.0))(@tiptap/pm@2.22.0)': + '@tiptap/extension-horizontal-rule@2.23.0(@tiptap/core@2.23.0(@tiptap/pm@2.23.0))(@tiptap/pm@2.23.0)': dependencies: - '@tiptap/core': 2.22.0(@tiptap/pm@2.22.0) - '@tiptap/pm': 2.22.0 + '@tiptap/core': 2.23.0(@tiptap/pm@2.23.0) + '@tiptap/pm': 2.23.0 - '@tiptap/extension-image@2.22.0(@tiptap/core@2.22.0(@tiptap/pm@2.22.0))': + '@tiptap/extension-image@2.23.0(@tiptap/core@2.23.0(@tiptap/pm@2.23.0))': dependencies: - '@tiptap/core': 2.22.0(@tiptap/pm@2.22.0) + '@tiptap/core': 2.23.0(@tiptap/pm@2.23.0) - '@tiptap/extension-italic@2.22.0(@tiptap/core@2.22.0(@tiptap/pm@2.22.0))': + '@tiptap/extension-italic@2.23.0(@tiptap/core@2.23.0(@tiptap/pm@2.23.0))': dependencies: - '@tiptap/core': 2.22.0(@tiptap/pm@2.22.0) + '@tiptap/core': 2.23.0(@tiptap/pm@2.23.0) - '@tiptap/extension-link@2.22.0(@tiptap/core@2.22.0(@tiptap/pm@2.22.0))(@tiptap/pm@2.22.0)': + '@tiptap/extension-link@2.23.0(@tiptap/core@2.23.0(@tiptap/pm@2.23.0))(@tiptap/pm@2.23.0)': dependencies: - '@tiptap/core': 2.22.0(@tiptap/pm@2.22.0) - '@tiptap/pm': 2.22.0 + '@tiptap/core': 2.23.0(@tiptap/pm@2.23.0) + '@tiptap/pm': 2.23.0 linkifyjs: 4.2.0 - '@tiptap/extension-list-item@2.22.0(@tiptap/core@2.22.0(@tiptap/pm@2.22.0))': + '@tiptap/extension-list-item@2.23.0(@tiptap/core@2.23.0(@tiptap/pm@2.23.0))': dependencies: - '@tiptap/core': 2.22.0(@tiptap/pm@2.22.0) + '@tiptap/core': 2.23.0(@tiptap/pm@2.23.0) - '@tiptap/extension-ordered-list@2.22.0(@tiptap/core@2.22.0(@tiptap/pm@2.22.0))': + '@tiptap/extension-ordered-list@2.23.0(@tiptap/core@2.23.0(@tiptap/pm@2.23.0))': dependencies: - '@tiptap/core': 2.22.0(@tiptap/pm@2.22.0) + '@tiptap/core': 2.23.0(@tiptap/pm@2.23.0) - '@tiptap/extension-paragraph@2.22.0(@tiptap/core@2.22.0(@tiptap/pm@2.22.0))': + '@tiptap/extension-paragraph@2.23.0(@tiptap/core@2.23.0(@tiptap/pm@2.23.0))': dependencies: - '@tiptap/core': 2.22.0(@tiptap/pm@2.22.0) + '@tiptap/core': 2.23.0(@tiptap/pm@2.23.0) - '@tiptap/extension-strike@2.22.0(@tiptap/core@2.22.0(@tiptap/pm@2.22.0))': + '@tiptap/extension-strike@2.23.0(@tiptap/core@2.23.0(@tiptap/pm@2.23.0))': dependencies: - '@tiptap/core': 2.22.0(@tiptap/pm@2.22.0) + '@tiptap/core': 2.23.0(@tiptap/pm@2.23.0) - '@tiptap/extension-table-cell@2.22.0(@tiptap/core@2.22.0(@tiptap/pm@2.22.0))': + '@tiptap/extension-table-cell@2.23.0(@tiptap/core@2.23.0(@tiptap/pm@2.23.0))': dependencies: - '@tiptap/core': 2.22.0(@tiptap/pm@2.22.0) + '@tiptap/core': 2.23.0(@tiptap/pm@2.23.0) - '@tiptap/extension-table-header@2.22.0(@tiptap/core@2.22.0(@tiptap/pm@2.22.0))': + '@tiptap/extension-table-header@2.23.0(@tiptap/core@2.23.0(@tiptap/pm@2.23.0))': dependencies: - '@tiptap/core': 2.22.0(@tiptap/pm@2.22.0) + '@tiptap/core': 2.23.0(@tiptap/pm@2.23.0) - '@tiptap/extension-table-row@2.22.0(@tiptap/core@2.22.0(@tiptap/pm@2.22.0))': + '@tiptap/extension-table-row@2.23.0(@tiptap/core@2.23.0(@tiptap/pm@2.23.0))': dependencies: - '@tiptap/core': 2.22.0(@tiptap/pm@2.22.0) + '@tiptap/core': 2.23.0(@tiptap/pm@2.23.0) - '@tiptap/extension-table@2.22.0(@tiptap/core@2.22.0(@tiptap/pm@2.22.0))(@tiptap/pm@2.22.0)': + '@tiptap/extension-table@2.23.0(@tiptap/core@2.23.0(@tiptap/pm@2.23.0))(@tiptap/pm@2.23.0)': dependencies: - '@tiptap/core': 2.22.0(@tiptap/pm@2.22.0) - '@tiptap/pm': 2.22.0 + '@tiptap/core': 2.23.0(@tiptap/pm@2.23.0) + '@tiptap/pm': 2.23.0 - '@tiptap/extension-task-item@2.22.0(@tiptap/core@2.22.0(@tiptap/pm@2.22.0))(@tiptap/pm@2.22.0)': + '@tiptap/extension-task-item@2.23.0(@tiptap/core@2.23.0(@tiptap/pm@2.23.0))(@tiptap/pm@2.23.0)': dependencies: - '@tiptap/core': 2.22.0(@tiptap/pm@2.22.0) - '@tiptap/pm': 2.22.0 + '@tiptap/core': 2.23.0(@tiptap/pm@2.23.0) + '@tiptap/pm': 2.23.0 - '@tiptap/extension-task-list@2.22.0(@tiptap/core@2.22.0(@tiptap/pm@2.22.0))': + '@tiptap/extension-task-list@2.23.0(@tiptap/core@2.23.0(@tiptap/pm@2.23.0))': dependencies: - '@tiptap/core': 2.22.0(@tiptap/pm@2.22.0) + '@tiptap/core': 2.23.0(@tiptap/pm@2.23.0) - '@tiptap/extension-text-align@2.22.0(@tiptap/core@2.22.0(@tiptap/pm@2.22.0))': + '@tiptap/extension-text-align@2.23.0(@tiptap/core@2.23.0(@tiptap/pm@2.23.0))': dependencies: - '@tiptap/core': 2.22.0(@tiptap/pm@2.22.0) + '@tiptap/core': 2.23.0(@tiptap/pm@2.23.0) - '@tiptap/extension-text-style@2.22.0(@tiptap/core@2.22.0(@tiptap/pm@2.22.0))': + '@tiptap/extension-text-style@2.23.0(@tiptap/core@2.23.0(@tiptap/pm@2.23.0))': dependencies: - '@tiptap/core': 2.22.0(@tiptap/pm@2.22.0) + '@tiptap/core': 2.23.0(@tiptap/pm@2.23.0) - '@tiptap/extension-text@2.22.0(@tiptap/core@2.22.0(@tiptap/pm@2.22.0))': + '@tiptap/extension-text@2.23.0(@tiptap/core@2.23.0(@tiptap/pm@2.23.0))': dependencies: - '@tiptap/core': 2.22.0(@tiptap/pm@2.22.0) + '@tiptap/core': 2.23.0(@tiptap/pm@2.23.0) - '@tiptap/extension-underline@2.22.0(@tiptap/core@2.22.0(@tiptap/pm@2.22.0))': + '@tiptap/extension-underline@2.23.0(@tiptap/core@2.23.0(@tiptap/pm@2.23.0))': dependencies: - '@tiptap/core': 2.22.0(@tiptap/pm@2.22.0) + '@tiptap/core': 2.23.0(@tiptap/pm@2.23.0) - '@tiptap/pm@2.22.0': + '@tiptap/pm@2.23.0': dependencies: prosemirror-changeset: 2.3.0 prosemirror-collab: 1.3.1 @@ -12987,41 +13038,41 @@ snapshots: prosemirror-transform: 1.10.2 prosemirror-view: 1.37.2 - '@tiptap/react@2.22.0(@tiptap/core@2.22.0(@tiptap/pm@2.22.0))(@tiptap/pm@2.22.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@tiptap/react@2.23.0(@tiptap/core@2.23.0(@tiptap/pm@2.23.0))(@tiptap/pm@2.23.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: - '@tiptap/core': 2.22.0(@tiptap/pm@2.22.0) - '@tiptap/extension-bubble-menu': 2.22.0(@tiptap/core@2.22.0(@tiptap/pm@2.22.0))(@tiptap/pm@2.22.0) - '@tiptap/extension-floating-menu': 2.22.0(@tiptap/core@2.22.0(@tiptap/pm@2.22.0))(@tiptap/pm@2.22.0) - '@tiptap/pm': 2.22.0 + '@tiptap/core': 2.23.0(@tiptap/pm@2.23.0) + '@tiptap/extension-bubble-menu': 2.23.0(@tiptap/core@2.23.0(@tiptap/pm@2.23.0))(@tiptap/pm@2.23.0) + '@tiptap/extension-floating-menu': 2.23.0(@tiptap/core@2.23.0(@tiptap/pm@2.23.0))(@tiptap/pm@2.23.0) + '@tiptap/pm': 2.23.0 '@types/use-sync-external-store': 0.0.6 fast-deep-equal: 3.1.3 react: 19.1.0 react-dom: 19.1.0(react@19.1.0) use-sync-external-store: 1.4.0(react@19.1.0) - '@tiptap/starter-kit@2.22.0': + '@tiptap/starter-kit@2.23.0': dependencies: - '@tiptap/core': 2.22.0(@tiptap/pm@2.22.0) - '@tiptap/extension-blockquote': 2.22.0(@tiptap/core@2.22.0(@tiptap/pm@2.22.0)) - '@tiptap/extension-bold': 2.22.0(@tiptap/core@2.22.0(@tiptap/pm@2.22.0)) - '@tiptap/extension-bullet-list': 2.22.0(@tiptap/core@2.22.0(@tiptap/pm@2.22.0)) - '@tiptap/extension-code': 2.22.0(@tiptap/core@2.22.0(@tiptap/pm@2.22.0)) - '@tiptap/extension-code-block': 2.22.0(@tiptap/core@2.22.0(@tiptap/pm@2.22.0))(@tiptap/pm@2.22.0) - '@tiptap/extension-document': 2.22.0(@tiptap/core@2.22.0(@tiptap/pm@2.22.0)) - '@tiptap/extension-dropcursor': 2.22.0(@tiptap/core@2.22.0(@tiptap/pm@2.22.0))(@tiptap/pm@2.22.0) - '@tiptap/extension-gapcursor': 2.22.0(@tiptap/core@2.22.0(@tiptap/pm@2.22.0))(@tiptap/pm@2.22.0) - '@tiptap/extension-hard-break': 2.22.0(@tiptap/core@2.22.0(@tiptap/pm@2.22.0)) - '@tiptap/extension-heading': 2.22.0(@tiptap/core@2.22.0(@tiptap/pm@2.22.0)) - '@tiptap/extension-history': 2.22.0(@tiptap/core@2.22.0(@tiptap/pm@2.22.0))(@tiptap/pm@2.22.0) - '@tiptap/extension-horizontal-rule': 2.22.0(@tiptap/core@2.22.0(@tiptap/pm@2.22.0))(@tiptap/pm@2.22.0) - '@tiptap/extension-italic': 2.22.0(@tiptap/core@2.22.0(@tiptap/pm@2.22.0)) - '@tiptap/extension-list-item': 2.22.0(@tiptap/core@2.22.0(@tiptap/pm@2.22.0)) - '@tiptap/extension-ordered-list': 2.22.0(@tiptap/core@2.22.0(@tiptap/pm@2.22.0)) - '@tiptap/extension-paragraph': 2.22.0(@tiptap/core@2.22.0(@tiptap/pm@2.22.0)) - '@tiptap/extension-strike': 2.22.0(@tiptap/core@2.22.0(@tiptap/pm@2.22.0)) - '@tiptap/extension-text': 2.22.0(@tiptap/core@2.22.0(@tiptap/pm@2.22.0)) - '@tiptap/extension-text-style': 2.22.0(@tiptap/core@2.22.0(@tiptap/pm@2.22.0)) - '@tiptap/pm': 2.22.0 + '@tiptap/core': 2.23.0(@tiptap/pm@2.23.0) + '@tiptap/extension-blockquote': 2.23.0(@tiptap/core@2.23.0(@tiptap/pm@2.23.0)) + '@tiptap/extension-bold': 2.23.0(@tiptap/core@2.23.0(@tiptap/pm@2.23.0)) + '@tiptap/extension-bullet-list': 2.23.0(@tiptap/core@2.23.0(@tiptap/pm@2.23.0)) + '@tiptap/extension-code': 2.23.0(@tiptap/core@2.23.0(@tiptap/pm@2.23.0)) + '@tiptap/extension-code-block': 2.23.0(@tiptap/core@2.23.0(@tiptap/pm@2.23.0))(@tiptap/pm@2.23.0) + '@tiptap/extension-document': 2.23.0(@tiptap/core@2.23.0(@tiptap/pm@2.23.0)) + '@tiptap/extension-dropcursor': 2.23.0(@tiptap/core@2.23.0(@tiptap/pm@2.23.0))(@tiptap/pm@2.23.0) + '@tiptap/extension-gapcursor': 2.23.0(@tiptap/core@2.23.0(@tiptap/pm@2.23.0))(@tiptap/pm@2.23.0) + '@tiptap/extension-hard-break': 2.23.0(@tiptap/core@2.23.0(@tiptap/pm@2.23.0)) + '@tiptap/extension-heading': 2.23.0(@tiptap/core@2.23.0(@tiptap/pm@2.23.0)) + '@tiptap/extension-history': 2.23.0(@tiptap/core@2.23.0(@tiptap/pm@2.23.0))(@tiptap/pm@2.23.0) + '@tiptap/extension-horizontal-rule': 2.23.0(@tiptap/core@2.23.0(@tiptap/pm@2.23.0))(@tiptap/pm@2.23.0) + '@tiptap/extension-italic': 2.23.0(@tiptap/core@2.23.0(@tiptap/pm@2.23.0)) + '@tiptap/extension-list-item': 2.23.0(@tiptap/core@2.23.0(@tiptap/pm@2.23.0)) + '@tiptap/extension-ordered-list': 2.23.0(@tiptap/core@2.23.0(@tiptap/pm@2.23.0)) + '@tiptap/extension-paragraph': 2.23.0(@tiptap/core@2.23.0(@tiptap/pm@2.23.0)) + '@tiptap/extension-strike': 2.23.0(@tiptap/core@2.23.0(@tiptap/pm@2.23.0)) + '@tiptap/extension-text': 2.23.0(@tiptap/core@2.23.0(@tiptap/pm@2.23.0)) + '@tiptap/extension-text-style': 2.23.0(@tiptap/core@2.23.0(@tiptap/pm@2.23.0)) + '@tiptap/pm': 2.23.0 '@tootallnate/quickjs-emscripten@0.23.0': {} @@ -13033,41 +13084,41 @@ snapshots: tree-sitter: 0.22.4 optional: true - '@trpc/client@11.4.2(@trpc/server@11.4.2(typescript@5.8.3))(typescript@5.8.3)': + '@trpc/client@11.4.3(@trpc/server@11.4.3(typescript@5.8.3))(typescript@5.8.3)': dependencies: - '@trpc/server': 11.4.2(typescript@5.8.3) + '@trpc/server': 11.4.3(typescript@5.8.3) typescript: 5.8.3 - '@trpc/next@11.4.2(@tanstack/react-query@5.80.10(react@19.1.0))(@trpc/client@11.4.2(@trpc/server@11.4.2(typescript@5.8.3))(typescript@5.8.3))(@trpc/react-query@11.4.2(@tanstack/react-query@5.80.10(react@19.1.0))(@trpc/client@11.4.2(@trpc/server@11.4.2(typescript@5.8.3))(typescript@5.8.3))(@trpc/server@11.4.2(typescript@5.8.3))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.8.3))(@trpc/server@11.4.2(typescript@5.8.3))(next@15.3.4(@babel/core@7.26.0)(@playwright/test@1.49.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(sass@1.89.2))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.8.3)': + '@trpc/next@11.4.3(@tanstack/react-query@5.81.4(react@19.1.0))(@trpc/client@11.4.3(@trpc/server@11.4.3(typescript@5.8.3))(typescript@5.8.3))(@trpc/react-query@11.4.3(@tanstack/react-query@5.81.4(react@19.1.0))(@trpc/client@11.4.3(@trpc/server@11.4.3(typescript@5.8.3))(typescript@5.8.3))(@trpc/server@11.4.3(typescript@5.8.3))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.8.3))(@trpc/server@11.4.3(typescript@5.8.3))(next@15.3.4(@babel/core@7.26.0)(@playwright/test@1.49.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(sass@1.89.2))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.8.3)': dependencies: - '@trpc/client': 11.4.2(@trpc/server@11.4.2(typescript@5.8.3))(typescript@5.8.3) - '@trpc/server': 11.4.2(typescript@5.8.3) + '@trpc/client': 11.4.3(@trpc/server@11.4.3(typescript@5.8.3))(typescript@5.8.3) + '@trpc/server': 11.4.3(typescript@5.8.3) next: 15.3.4(@babel/core@7.26.0)(@playwright/test@1.49.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(sass@1.89.2) react: 19.1.0 react-dom: 19.1.0(react@19.1.0) typescript: 5.8.3 optionalDependencies: - '@tanstack/react-query': 5.80.10(react@19.1.0) - '@trpc/react-query': 11.4.2(@tanstack/react-query@5.80.10(react@19.1.0))(@trpc/client@11.4.2(@trpc/server@11.4.2(typescript@5.8.3))(typescript@5.8.3))(@trpc/server@11.4.2(typescript@5.8.3))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.8.3) + '@tanstack/react-query': 5.81.4(react@19.1.0) + '@trpc/react-query': 11.4.3(@tanstack/react-query@5.81.4(react@19.1.0))(@trpc/client@11.4.3(@trpc/server@11.4.3(typescript@5.8.3))(typescript@5.8.3))(@trpc/server@11.4.3(typescript@5.8.3))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.8.3) - '@trpc/react-query@11.4.2(@tanstack/react-query@5.80.10(react@19.1.0))(@trpc/client@11.4.2(@trpc/server@11.4.2(typescript@5.8.3))(typescript@5.8.3))(@trpc/server@11.4.2(typescript@5.8.3))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.8.3)': + '@trpc/react-query@11.4.3(@tanstack/react-query@5.81.4(react@19.1.0))(@trpc/client@11.4.3(@trpc/server@11.4.3(typescript@5.8.3))(typescript@5.8.3))(@trpc/server@11.4.3(typescript@5.8.3))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.8.3)': dependencies: - '@tanstack/react-query': 5.80.10(react@19.1.0) - '@trpc/client': 11.4.2(@trpc/server@11.4.2(typescript@5.8.3))(typescript@5.8.3) - '@trpc/server': 11.4.2(typescript@5.8.3) + '@tanstack/react-query': 5.81.4(react@19.1.0) + '@trpc/client': 11.4.3(@trpc/server@11.4.3(typescript@5.8.3))(typescript@5.8.3) + '@trpc/server': 11.4.3(typescript@5.8.3) react: 19.1.0 react-dom: 19.1.0(react@19.1.0) typescript: 5.8.3 - '@trpc/server@11.4.2(typescript@5.8.3)': + '@trpc/server@11.4.3(typescript@5.8.3)': dependencies: typescript: 5.8.3 - '@trpc/tanstack-react-query@11.4.2(@tanstack/react-query@5.80.10(react@19.1.0))(@trpc/client@11.4.2(@trpc/server@11.4.2(typescript@5.8.3))(typescript@5.8.3))(@trpc/server@11.4.2(typescript@5.8.3))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.8.3)': + '@trpc/tanstack-react-query@11.4.3(@tanstack/react-query@5.81.4(react@19.1.0))(@trpc/client@11.4.3(@trpc/server@11.4.3(typescript@5.8.3))(typescript@5.8.3))(@trpc/server@11.4.3(typescript@5.8.3))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.8.3)': dependencies: - '@tanstack/react-query': 5.80.10(react@19.1.0) - '@trpc/client': 11.4.2(@trpc/server@11.4.2(typescript@5.8.3))(typescript@5.8.3) - '@trpc/server': 11.4.2(typescript@5.8.3) + '@tanstack/react-query': 5.81.4(react@19.1.0) + '@trpc/client': 11.4.3(@trpc/server@11.4.3(typescript@5.8.3))(typescript@5.8.3) + '@trpc/server': 11.4.3(typescript@5.8.3) react: 19.1.0 react-dom: 19.1.0(react@19.1.0) typescript: 5.8.3 @@ -13082,7 +13133,7 @@ snapshots: '@tsconfig/svelte@1.0.13': {} - '@turbo/gen@2.5.4(@types/node@22.15.32)(typescript@5.8.3)': + '@turbo/gen@2.5.4(@types/node@22.15.33)(typescript@5.8.3)': dependencies: '@turbo/workspaces': 2.5.4 commander: 10.0.1 @@ -13092,7 +13143,7 @@ snapshots: node-plop: 0.26.3 picocolors: 1.0.1 proxy-agent: 6.5.0 - ts-node: 10.9.2(@types/node@22.15.32)(typescript@5.8.3) + ts-node: 10.9.2(@types/node@22.15.33)(typescript@5.8.3) update-check: 1.5.4 validate-npm-package-name: 5.0.1 transitivePeerDependencies: @@ -13118,18 +13169,18 @@ snapshots: '@types/adm-zip@0.5.7': dependencies: - '@types/node': 22.15.32 + '@types/node': 22.15.33 '@types/asn1@0.2.4': dependencies: - '@types/node': 22.15.32 + '@types/node': 22.15.33 '@types/aws-lambda@8.10.146': {} '@types/babel__core@7.20.5': dependencies: - '@babel/parser': 7.27.0 - '@babel/types': 7.27.0 + '@babel/parser': 7.27.5 + '@babel/types': 7.27.6 '@types/babel__generator': 7.6.8 '@types/babel__template': 7.4.4 '@types/babel__traverse': 7.20.6 @@ -13149,16 +13200,16 @@ snapshots: '@types/bcrypt@5.0.2': dependencies: - '@types/node': 22.15.32 + '@types/node': 22.15.33 '@types/better-sqlite3@7.6.13': dependencies: - '@types/node': 22.15.32 + '@types/node': 22.15.33 '@types/body-parser@1.19.5': dependencies: '@types/connect': 3.4.38 - '@types/node': 22.15.32 + '@types/node': 22.15.33 '@types/chai@5.2.2': dependencies: @@ -13168,7 +13219,7 @@ snapshots: '@types/connect@3.4.38': dependencies: - '@types/node': 22.15.32 + '@types/node': 22.15.33 '@types/cookie@0.4.1': {} @@ -13177,11 +13228,11 @@ snapshots: '@types/connect': 3.4.38 '@types/express': 4.17.21 '@types/keygrip': 1.0.6 - '@types/node': 22.15.32 + '@types/node': 22.15.33 '@types/cors@2.8.17': dependencies: - '@types/node': 22.15.32 + '@types/node': 22.15.33 '@types/css-font-loading-module@0.0.7': {} @@ -13219,13 +13270,13 @@ snapshots: '@types/docker-modem@3.0.6': dependencies: - '@types/node': 22.15.32 + '@types/node': 22.15.33 '@types/ssh2': 1.15.1 '@types/dockerode@3.3.41': dependencies: '@types/docker-modem': 3.0.6 - '@types/node': 22.15.32 + '@types/node': 22.15.33 '@types/ssh2': 1.15.1 '@types/estree-jsx@1.0.5': @@ -13238,7 +13289,7 @@ snapshots: '@types/express-serve-static-core@4.19.5': dependencies: - '@types/node': 22.15.32 + '@types/node': 22.15.33 '@types/qs': 6.9.16 '@types/range-parser': 1.2.7 '@types/send': 0.17.4 @@ -13253,7 +13304,7 @@ snapshots: '@types/glob@7.2.0': dependencies: '@types/minimatch': 5.1.2 - '@types/node': 22.15.32 + '@types/node': 22.15.33 '@types/hast@2.3.10': dependencies: @@ -13301,7 +13352,7 @@ snapshots: '@types/node-fetch@2.6.12': dependencies: - '@types/node': 22.15.32 + '@types/node': 22.15.33 form-data: 4.0.1 '@types/node-unifi@2.5.1(patch_hash=5e6ae51e2a17a7f9729bfa30b0eb3d0842a5810ac6db47603ab4a6efa1ed84c5)': @@ -13312,7 +13363,7 @@ snapshots: dependencies: undici-types: 5.26.5 - '@types/node@22.15.32': + '@types/node@22.15.33': dependencies: undici-types: 6.21.0 @@ -13341,21 +13392,21 @@ snapshots: '@types/send@0.17.4': dependencies: '@types/mime': 1.3.5 - '@types/node': 22.15.32 + '@types/node': 22.15.33 '@types/serve-static@1.15.7': dependencies: '@types/http-errors': 2.0.4 - '@types/node': 22.15.32 + '@types/node': 22.15.33 '@types/send': 0.17.4 '@types/ssh2-streams@0.1.12': dependencies: - '@types/node': 22.15.32 + '@types/node': 22.15.33 '@types/ssh2@0.5.52': dependencies: - '@types/node': 22.15.32 + '@types/node': 22.15.33 '@types/ssh2-streams': 0.1.12 '@types/ssh2@1.15.1': @@ -13364,7 +13415,7 @@ snapshots: '@types/stream-buffers@3.0.7': dependencies: - '@types/node': 22.15.32 + '@types/node': 22.15.33 '@types/swagger-ui-react@5.18.0': dependencies: @@ -13372,7 +13423,7 @@ snapshots: '@types/through@0.0.33': dependencies: - '@types/node': 22.15.32 + '@types/node': 22.15.33 '@types/tinycolor2@1.4.6': {} @@ -13391,20 +13442,20 @@ snapshots: '@types/ws@8.18.1': dependencies: - '@types/node': 22.15.32 + '@types/node': 22.15.33 '@types/xml2js@0.4.14': dependencies: - '@types/node': 22.15.32 + '@types/node': 22.15.33 - '@typescript-eslint/eslint-plugin@8.34.1(@typescript-eslint/parser@8.34.1(eslint@9.29.0)(typescript@5.8.3))(eslint@9.29.0)(typescript@5.8.3)': + '@typescript-eslint/eslint-plugin@8.35.0(@typescript-eslint/parser@8.35.0(eslint@9.29.0)(typescript@5.8.3))(eslint@9.29.0)(typescript@5.8.3)': dependencies: '@eslint-community/regexpp': 4.12.1 - '@typescript-eslint/parser': 8.34.1(eslint@9.29.0)(typescript@5.8.3) - '@typescript-eslint/scope-manager': 8.34.1 - '@typescript-eslint/type-utils': 8.34.1(eslint@9.29.0)(typescript@5.8.3) - '@typescript-eslint/utils': 8.34.1(eslint@9.29.0)(typescript@5.8.3) - '@typescript-eslint/visitor-keys': 8.34.1 + '@typescript-eslint/parser': 8.35.0(eslint@9.29.0)(typescript@5.8.3) + '@typescript-eslint/scope-manager': 8.35.0 + '@typescript-eslint/type-utils': 8.35.0(eslint@9.29.0)(typescript@5.8.3) + '@typescript-eslint/utils': 8.35.0(eslint@9.29.0)(typescript@5.8.3) + '@typescript-eslint/visitor-keys': 8.35.0 eslint: 9.29.0 graphemer: 1.4.0 ignore: 7.0.4 @@ -13414,40 +13465,40 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.34.1(eslint@9.29.0)(typescript@5.8.3)': + '@typescript-eslint/parser@8.35.0(eslint@9.29.0)(typescript@5.8.3)': dependencies: - '@typescript-eslint/scope-manager': 8.34.1 - '@typescript-eslint/types': 8.34.1 - '@typescript-eslint/typescript-estree': 8.34.1(typescript@5.8.3) - '@typescript-eslint/visitor-keys': 8.34.1 + '@typescript-eslint/scope-manager': 8.35.0 + '@typescript-eslint/types': 8.35.0 + '@typescript-eslint/typescript-estree': 8.35.0(typescript@5.8.3) + '@typescript-eslint/visitor-keys': 8.35.0 debug: 4.4.1 eslint: 9.29.0 typescript: 5.8.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/project-service@8.34.1(typescript@5.8.3)': + '@typescript-eslint/project-service@8.35.0(typescript@5.8.3)': dependencies: - '@typescript-eslint/tsconfig-utils': 8.34.1(typescript@5.8.3) - '@typescript-eslint/types': 8.34.1 + '@typescript-eslint/tsconfig-utils': 8.35.0(typescript@5.8.3) + '@typescript-eslint/types': 8.35.0 debug: 4.4.1 typescript: 5.8.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/scope-manager@8.34.1': + '@typescript-eslint/scope-manager@8.35.0': dependencies: - '@typescript-eslint/types': 8.34.1 - '@typescript-eslint/visitor-keys': 8.34.1 + '@typescript-eslint/types': 8.35.0 + '@typescript-eslint/visitor-keys': 8.35.0 - '@typescript-eslint/tsconfig-utils@8.34.1(typescript@5.8.3)': + '@typescript-eslint/tsconfig-utils@8.35.0(typescript@5.8.3)': dependencies: typescript: 5.8.3 - '@typescript-eslint/type-utils@8.34.1(eslint@9.29.0)(typescript@5.8.3)': + '@typescript-eslint/type-utils@8.35.0(eslint@9.29.0)(typescript@5.8.3)': dependencies: - '@typescript-eslint/typescript-estree': 8.34.1(typescript@5.8.3) - '@typescript-eslint/utils': 8.34.1(eslint@9.29.0)(typescript@5.8.3) + '@typescript-eslint/typescript-estree': 8.35.0(typescript@5.8.3) + '@typescript-eslint/utils': 8.35.0(eslint@9.29.0)(typescript@5.8.3) debug: 4.4.1 eslint: 9.29.0 ts-api-utils: 2.1.0(typescript@5.8.3) @@ -13455,14 +13506,14 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/types@8.34.1': {} + '@typescript-eslint/types@8.35.0': {} - '@typescript-eslint/typescript-estree@8.34.1(typescript@5.8.3)': + '@typescript-eslint/typescript-estree@8.35.0(typescript@5.8.3)': dependencies: - '@typescript-eslint/project-service': 8.34.1(typescript@5.8.3) - '@typescript-eslint/tsconfig-utils': 8.34.1(typescript@5.8.3) - '@typescript-eslint/types': 8.34.1 - '@typescript-eslint/visitor-keys': 8.34.1 + '@typescript-eslint/project-service': 8.35.0(typescript@5.8.3) + '@typescript-eslint/tsconfig-utils': 8.35.0(typescript@5.8.3) + '@typescript-eslint/types': 8.35.0 + '@typescript-eslint/visitor-keys': 8.35.0 debug: 4.4.1 fast-glob: 3.3.2 is-glob: 4.0.3 @@ -13473,20 +13524,20 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.34.1(eslint@9.29.0)(typescript@5.8.3)': + '@typescript-eslint/utils@8.35.0(eslint@9.29.0)(typescript@5.8.3)': dependencies: '@eslint-community/eslint-utils': 4.7.0(eslint@9.29.0) - '@typescript-eslint/scope-manager': 8.34.1 - '@typescript-eslint/types': 8.34.1 - '@typescript-eslint/typescript-estree': 8.34.1(typescript@5.8.3) + '@typescript-eslint/scope-manager': 8.35.0 + '@typescript-eslint/types': 8.35.0 + '@typescript-eslint/typescript-estree': 8.35.0(typescript@5.8.3) eslint: 9.29.0 typescript: 5.8.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/visitor-keys@8.34.1': + '@typescript-eslint/visitor-keys@8.35.0': dependencies: - '@typescript-eslint/types': 8.34.1 + '@typescript-eslint/types': 8.35.0 eslint-visitor-keys: 4.2.1 '@umami/node@0.4.0': {} @@ -13521,15 +13572,15 @@ snapshots: global: 4.4.0 is-function: 1.0.2 - '@vitejs/plugin-react@4.5.2(vite@5.4.5(@types/node@22.15.32)(sass@1.89.2)(sugarss@4.0.1(postcss@8.4.47))(terser@5.39.0))': + '@vitejs/plugin-react@4.6.0(vite@5.4.5(@types/node@22.15.33)(sass@1.89.2)(sugarss@4.0.1(postcss@8.4.47))(terser@5.39.0))': dependencies: '@babel/core': 7.27.4 '@babel/plugin-transform-react-jsx-self': 7.27.1(@babel/core@7.27.4) '@babel/plugin-transform-react-jsx-source': 7.27.1(@babel/core@7.27.4) - '@rolldown/pluginutils': 1.0.0-beta.11 + '@rolldown/pluginutils': 1.0.0-beta.19 '@types/babel__core': 7.20.5 react-refresh: 0.17.0 - vite: 5.4.5(@types/node@22.15.32)(sass@1.89.2)(sugarss@4.0.1(postcss@8.4.47))(terser@5.39.0) + vite: 5.4.5(@types/node@22.15.33)(sass@1.89.2)(sugarss@4.0.1(postcss@8.4.47))(terser@5.39.0) transitivePeerDependencies: - supports-color @@ -13548,7 +13599,7 @@ snapshots: std-env: 3.9.0 test-exclude: 7.0.1 tinyrainbow: 2.0.0 - vitest: 3.2.4(@types/debug@4.1.12)(@types/node@22.15.32)(@vitest/ui@3.2.4)(jsdom@26.1.0)(sass@1.89.2)(sugarss@4.0.1(postcss@8.4.47))(terser@5.39.0) + vitest: 3.2.4(@types/debug@4.1.12)(@types/node@22.15.33)(@vitest/ui@3.2.4)(jsdom@26.1.0)(sass@1.89.2)(sugarss@4.0.1(postcss@8.4.47))(terser@5.39.0) transitivePeerDependencies: - supports-color @@ -13560,13 +13611,13 @@ snapshots: chai: 5.2.0 tinyrainbow: 2.0.0 - '@vitest/mocker@3.2.4(vite@5.4.5(@types/node@22.15.32)(sass@1.89.2)(sugarss@4.0.1(postcss@8.4.47))(terser@5.39.0))': + '@vitest/mocker@3.2.4(vite@5.4.5(@types/node@22.15.33)(sass@1.89.2)(sugarss@4.0.1(postcss@8.4.47))(terser@5.39.0))': dependencies: '@vitest/spy': 3.2.4 estree-walker: 3.0.3 magic-string: 0.30.17 optionalDependencies: - vite: 5.4.5(@types/node@22.15.32)(sass@1.89.2)(sugarss@4.0.1(postcss@8.4.47))(terser@5.39.0) + vite: 5.4.5(@types/node@22.15.33)(sass@1.89.2)(sugarss@4.0.1(postcss@8.4.47))(terser@5.39.0) '@vitest/pretty-format@3.2.4': dependencies: @@ -13597,7 +13648,7 @@ snapshots: sirv: 3.0.1 tinyglobby: 0.2.14 tinyrainbow: 2.0.0 - vitest: 3.2.4(@types/debug@4.1.12)(@types/node@22.15.32)(@vitest/ui@3.2.4)(jsdom@26.1.0)(sass@1.89.2)(sugarss@4.0.1(postcss@8.4.47))(terser@5.39.0) + vitest: 3.2.4(@types/debug@4.1.12)(@types/node@22.15.33)(@vitest/ui@3.2.4)(jsdom@26.1.0)(sass@1.89.2)(sugarss@4.0.1(postcss@8.4.47))(terser@5.39.0) '@vitest/utils@3.2.4': dependencies: @@ -13849,7 +13900,7 @@ snapshots: array-buffer-byte-length@1.0.2: dependencies: - call-bound: 1.0.3 + call-bound: 1.0.4 is-array-buffer: 3.0.5 array-ify@1.0.0: {} @@ -13863,6 +13914,17 @@ snapshots: get-intrinsic: 1.2.4 is-string: 1.0.7 + array-includes@3.1.9: + dependencies: + call-bind: 1.0.8 + call-bound: 1.0.4 + define-properties: 1.2.1 + es-abstract: 1.24.0 + es-object-atoms: 1.1.1 + get-intrinsic: 1.3.0 + is-string: 1.1.1 + math-intrinsics: 1.1.0 + array-union@2.1.0: {} array.prototype.findlast@1.2.5: @@ -13874,14 +13936,15 @@ snapshots: es-object-atoms: 1.0.0 es-shim-unscopables: 1.0.2 - array.prototype.findlastindex@1.2.5: + array.prototype.findlastindex@1.2.6: dependencies: - call-bind: 1.0.7 + call-bind: 1.0.8 + call-bound: 1.0.4 define-properties: 1.2.1 - es-abstract: 1.23.3 + es-abstract: 1.24.0 es-errors: 1.3.0 - es-object-atoms: 1.0.0 - es-shim-unscopables: 1.0.2 + es-object-atoms: 1.1.1 + es-shim-unscopables: 1.1.0 array.prototype.flat@1.3.2: dependencies: @@ -13890,6 +13953,13 @@ snapshots: es-abstract: 1.23.3 es-shim-unscopables: 1.0.2 + array.prototype.flat@1.3.3: + dependencies: + call-bind: 1.0.8 + define-properties: 1.2.1 + es-abstract: 1.23.7 + es-shim-unscopables: 1.0.2 + array.prototype.flatmap@1.3.2: dependencies: call-bind: 1.0.7 @@ -13919,7 +13989,7 @@ snapshots: define-properties: 1.2.1 es-abstract: 1.23.7 es-errors: 1.3.0 - get-intrinsic: 1.2.6 + get-intrinsic: 1.3.0 is-array-buffer: 3.0.4 is-shared-array-buffer: 1.0.3 @@ -13930,7 +14000,7 @@ snapshots: define-properties: 1.2.1 es-abstract: 1.23.7 es-errors: 1.3.0 - get-intrinsic: 1.2.6 + get-intrinsic: 1.3.0 is-array-buffer: 3.0.5 asn1@0.2.6: @@ -14053,7 +14123,7 @@ snapshots: before-after-hook@4.0.0: {} - better-sqlite3@11.10.0: + better-sqlite3@12.1.1: dependencies: bindings: 1.5.0 prebuild-install: 7.1.2 @@ -14396,7 +14466,7 @@ snapshots: concat-map@0.0.1: {} - concurrently@9.1.2: + concurrently@9.2.0: dependencies: chalk: 4.1.2 lodash: 4.17.21 @@ -14603,7 +14673,7 @@ snapshots: data-view-buffer@1.0.2: dependencies: - call-bound: 1.0.3 + call-bound: 1.0.4 es-errors: 1.3.0 is-data-view: 1.0.2 @@ -14615,7 +14685,7 @@ snapshots: data-view-byte-length@1.0.2: dependencies: - call-bound: 1.0.3 + call-bound: 1.0.4 es-errors: 1.3.0 is-data-view: 1.0.2 @@ -14627,7 +14697,7 @@ snapshots: data-view-byte-offset@1.0.1: dependencies: - call-bound: 1.0.3 + call-bound: 1.0.4 es-errors: 1.3.0 is-data-view: 1.0.2 @@ -14788,7 +14858,7 @@ snapshots: dotenv-cli@8.0.0: dependencies: cross-spawn: 7.0.6 - dotenv: 16.5.0 + dotenv: 16.6.0 dotenv-expand: 10.0.0 minimist: 1.2.8 @@ -14796,11 +14866,11 @@ snapshots: dotenv@16.0.3: {} - dotenv@16.5.0: {} + dotenv@16.6.0: {} drange@1.1.1: {} - drizzle-kit@0.31.1: + drizzle-kit@0.31.4: dependencies: '@drizzle-team/brocli': 0.10.2 '@esbuild-kit/esm-loader': 2.6.5 @@ -14809,17 +14879,17 @@ snapshots: transitivePeerDependencies: - supports-color - drizzle-orm@0.44.2(@libsql/client-wasm@0.14.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@11.10.0)(gel@2.0.0)(mysql2@3.14.1): + drizzle-orm@0.44.2(@libsql/client-wasm@0.14.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.1.1)(gel@2.0.0)(mysql2@3.14.1): optionalDependencies: '@libsql/client-wasm': 0.14.0 '@types/better-sqlite3': 7.6.13 - better-sqlite3: 11.10.0 + better-sqlite3: 12.1.1 gel: 2.0.0 mysql2: 3.14.1 - drizzle-zod@0.7.1(drizzle-orm@0.44.2(@libsql/client-wasm@0.14.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@11.10.0)(gel@2.0.0)(mysql2@3.14.1))(zod@3.25.67): + drizzle-zod@0.7.1(drizzle-orm@0.44.2(@libsql/client-wasm@0.14.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.1.1)(gel@2.0.0)(mysql2@3.14.1))(zod@3.25.67): dependencies: - drizzle-orm: 0.44.2(@libsql/client-wasm@0.14.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@11.10.0)(gel@2.0.0)(mysql2@3.14.1) + drizzle-orm: 0.44.2(@libsql/client-wasm@0.14.0)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.1.1)(gel@2.0.0)(mysql2@3.14.1) zod: 3.25.67 dunder-proto@1.0.1: @@ -14875,7 +14945,7 @@ snapshots: dependencies: '@types/cookie': 0.4.1 '@types/cors': 2.8.17 - '@types/node': 22.15.32 + '@types/node': 22.15.33 accepts: 1.3.8 base64id: 2.0.0 cookie: 0.7.2 @@ -14951,7 +15021,7 @@ snapshots: safe-array-concat: 1.1.2 safe-regex-test: 1.0.3 string.prototype.trim: 1.2.9 - string.prototype.trimend: 1.0.8 + string.prototype.trimend: 1.0.9 string.prototype.trimstart: 1.0.8 typed-array-buffer: 1.0.2 typed-array-byte-length: 1.0.1 @@ -15010,9 +15080,66 @@ snapshots: unbox-primitive: 1.1.0 which-typed-array: 1.1.18 + es-abstract@1.24.0: + dependencies: + array-buffer-byte-length: 1.0.2 + arraybuffer.prototype.slice: 1.0.4 + available-typed-arrays: 1.0.7 + call-bind: 1.0.8 + call-bound: 1.0.4 + data-view-buffer: 1.0.2 + data-view-byte-length: 1.0.2 + data-view-byte-offset: 1.0.1 + es-define-property: 1.0.1 + es-errors: 1.3.0 + es-object-atoms: 1.1.1 + es-set-tostringtag: 2.1.0 + es-to-primitive: 1.3.0 + function.prototype.name: 1.1.8 + get-intrinsic: 1.3.0 + get-proto: 1.0.1 + get-symbol-description: 1.1.0 + globalthis: 1.0.4 + gopd: 1.2.0 + has-property-descriptors: 1.0.2 + has-proto: 1.2.0 + has-symbols: 1.1.0 + hasown: 2.0.2 + internal-slot: 1.1.0 + is-array-buffer: 3.0.5 + is-callable: 1.2.7 + is-data-view: 1.0.2 + is-negative-zero: 2.0.3 + is-regex: 1.2.1 + is-set: 2.0.3 + is-shared-array-buffer: 1.0.4 + is-string: 1.1.1 + is-typed-array: 1.1.15 + is-weakref: 1.1.1 + math-intrinsics: 1.1.0 + object-inspect: 1.13.4 + object-keys: 1.1.1 + object.assign: 4.1.7 + own-keys: 1.0.1 + regexp.prototype.flags: 1.5.4 + safe-array-concat: 1.1.3 + safe-push-apply: 1.0.0 + safe-regex-test: 1.1.0 + set-proto: 1.0.0 + stop-iteration-iterator: 1.1.0 + string.prototype.trim: 1.2.10 + string.prototype.trimend: 1.0.9 + string.prototype.trimstart: 1.0.8 + typed-array-buffer: 1.0.3 + typed-array-byte-length: 1.0.3 + typed-array-byte-offset: 1.0.4 + typed-array-length: 1.0.7 + unbox-primitive: 1.1.0 + which-typed-array: 1.1.19 + es-define-property@1.0.0: dependencies: - get-intrinsic: 1.2.6 + get-intrinsic: 1.3.0 es-define-property@1.0.1: {} @@ -15053,10 +15180,21 @@ snapshots: has-tostringtag: 1.0.2 hasown: 2.0.2 + es-set-tostringtag@2.1.0: + dependencies: + es-errors: 1.3.0 + get-intrinsic: 1.3.0 + has-tostringtag: 1.0.2 + hasown: 2.0.2 + es-shim-unscopables@1.0.2: dependencies: hasown: 2.0.2 + es-shim-unscopables@1.1.0: + dependencies: + hasown: 2.0.2 + es-to-primitive@1.2.1: dependencies: is-callable: 1.2.7 @@ -15212,45 +15350,45 @@ snapshots: eslint-import-resolver-node@0.3.9: dependencies: debug: 3.2.7 - is-core-module: 2.15.1 + is-core-module: 2.16.1 resolve: 1.22.8 transitivePeerDependencies: - supports-color - eslint-module-utils@2.12.0(@typescript-eslint/parser@8.34.1(eslint@9.29.0)(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint@9.29.0): + eslint-module-utils@2.12.1(@typescript-eslint/parser@8.35.0(eslint@9.29.0)(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint@9.29.0): dependencies: debug: 3.2.7 optionalDependencies: - '@typescript-eslint/parser': 8.34.1(eslint@9.29.0)(typescript@5.8.3) + '@typescript-eslint/parser': 8.35.0(eslint@9.29.0)(typescript@5.8.3) eslint: 9.29.0 eslint-import-resolver-node: 0.3.9 transitivePeerDependencies: - supports-color - eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.34.1(eslint@9.29.0)(typescript@5.8.3))(eslint@9.29.0): + eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.35.0(eslint@9.29.0)(typescript@5.8.3))(eslint@9.29.0): dependencies: '@rtsao/scc': 1.1.0 - array-includes: 3.1.8 - array.prototype.findlastindex: 1.2.5 - array.prototype.flat: 1.3.2 - array.prototype.flatmap: 1.3.2 + array-includes: 3.1.9 + array.prototype.findlastindex: 1.2.6 + array.prototype.flat: 1.3.3 + array.prototype.flatmap: 1.3.3 debug: 3.2.7 doctrine: 2.1.0 eslint: 9.29.0 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.12.0(@typescript-eslint/parser@8.34.1(eslint@9.29.0)(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint@9.29.0) + eslint-module-utils: 2.12.1(@typescript-eslint/parser@8.35.0(eslint@9.29.0)(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint@9.29.0) hasown: 2.0.2 - is-core-module: 2.15.1 + is-core-module: 2.16.1 is-glob: 4.0.3 minimatch: 3.1.2 object.fromentries: 2.0.8 object.groupby: 1.0.3 - object.values: 1.2.0 + object.values: 1.2.1 semver: 6.3.1 - string.prototype.trimend: 1.0.8 + string.prototype.trimend: 1.0.9 tsconfig-paths: 3.15.0 optionalDependencies: - '@typescript-eslint/parser': 8.34.1(eslint@9.29.0)(typescript@5.8.3) + '@typescript-eslint/parser': 8.35.0(eslint@9.29.0)(typescript@5.8.3) transitivePeerDependencies: - eslint-import-resolver-typescript - eslint-import-resolver-webpack @@ -15573,6 +15711,10 @@ snapshots: dependencies: is-callable: 1.2.7 + for-each@0.3.5: + dependencies: + is-callable: 1.2.7 + foreground-child@3.3.1: dependencies: cross-spawn: 7.0.6 @@ -15627,7 +15769,7 @@ snapshots: function.prototype.name@1.1.8: dependencies: call-bind: 1.0.8 - call-bound: 1.0.3 + call-bound: 1.0.4 define-properties: 1.2.1 functions-have-names: 1.2.3 hasown: 2.0.2 @@ -15713,13 +15855,13 @@ snapshots: dependencies: call-bind: 1.0.8 es-errors: 1.3.0 - get-intrinsic: 1.2.6 + get-intrinsic: 1.3.0 get-symbol-description@1.1.0: dependencies: - call-bound: 1.0.3 + call-bound: 1.0.4 es-errors: 1.3.0 - get-intrinsic: 1.2.6 + get-intrinsic: 1.3.0 get-tsconfig@4.8.1: dependencies: @@ -15826,7 +15968,7 @@ snapshots: gopd@1.0.1: dependencies: - get-intrinsic: 1.2.6 + get-intrinsic: 1.3.0 gopd@1.2.0: {} @@ -15965,12 +16107,12 @@ snapshots: html-url-attributes@3.0.1: {} - http-cookie-agent@6.0.8(tough-cookie@5.1.2)(undici@7.10.0): + http-cookie-agent@6.0.8(tough-cookie@5.1.2)(undici@7.11.0): dependencies: agent-base: 7.1.3 tough-cookie: 5.1.2 optionalDependencies: - undici: 7.10.0 + undici: 7.11.0 http-errors@2.0.0: dependencies: @@ -16159,13 +16301,13 @@ snapshots: is-array-buffer@3.0.4: dependencies: call-bind: 1.0.8 - get-intrinsic: 1.2.6 + get-intrinsic: 1.3.0 is-array-buffer@3.0.5: dependencies: call-bind: 1.0.8 - call-bound: 1.0.3 - get-intrinsic: 1.2.6 + call-bound: 1.0.4 + get-intrinsic: 1.3.0 is-arrayish@0.2.1: {} @@ -16190,7 +16332,7 @@ snapshots: is-boolean-object@1.2.1: dependencies: - call-bound: 1.0.3 + call-bound: 1.0.4 has-tostringtag: 1.0.2 is-callable@1.2.7: {} @@ -16203,14 +16345,18 @@ snapshots: dependencies: hasown: 2.0.2 + is-core-module@2.16.1: + dependencies: + hasown: 2.0.2 + is-data-view@1.0.1: dependencies: is-typed-array: 1.1.13 is-data-view@1.0.2: dependencies: - call-bound: 1.0.3 - get-intrinsic: 1.2.6 + call-bound: 1.0.4 + get-intrinsic: 1.3.0 is-typed-array: 1.1.15 is-date-object@1.0.5: @@ -16219,7 +16365,7 @@ snapshots: is-date-object@1.1.0: dependencies: - call-bound: 1.0.3 + call-bound: 1.0.4 has-tostringtag: 1.0.2 is-decimal@1.0.4: {} @@ -16230,7 +16376,7 @@ snapshots: is-finalizationregistry@1.1.1: dependencies: - call-bound: 1.0.3 + call-bound: 1.0.4 is-fullwidth-code-point@3.0.0: {} @@ -16271,7 +16417,7 @@ snapshots: is-number-object@1.1.1: dependencies: - call-bound: 1.0.3 + call-bound: 1.0.4 has-tostringtag: 1.0.2 is-number@7.0.0: {} @@ -16295,7 +16441,7 @@ snapshots: is-regex@1.2.1: dependencies: - call-bound: 1.0.3 + call-bound: 1.0.4 gopd: 1.2.0 has-tostringtag: 1.0.2 hasown: 2.0.2 @@ -16308,7 +16454,7 @@ snapshots: is-shared-array-buffer@1.0.4: dependencies: - call-bound: 1.0.3 + call-bound: 1.0.4 is-stream@2.0.1: {} @@ -16322,7 +16468,7 @@ snapshots: is-string@1.1.1: dependencies: - call-bound: 1.0.3 + call-bound: 1.0.4 has-tostringtag: 1.0.2 is-symbol@1.0.4: @@ -16331,7 +16477,7 @@ snapshots: is-symbol@1.1.1: dependencies: - call-bound: 1.0.3 + call-bound: 1.0.4 has-symbols: 1.1.0 safe-regex-test: 1.1.0 @@ -16361,12 +16507,16 @@ snapshots: is-weakref@1.1.0: dependencies: - call-bound: 1.0.3 + call-bound: 1.0.4 + + is-weakref@1.1.1: + dependencies: + call-bound: 1.0.4 is-weakset@2.0.3: dependencies: call-bind: 1.0.8 - get-intrinsic: 1.2.6 + get-intrinsic: 1.3.0 is-what@4.1.16: {} @@ -16446,7 +16596,7 @@ snapshots: jest-worker@27.5.1: dependencies: - '@types/node': 22.15.32 + '@types/node': 22.15.33 merge-stream: 2.0.0 supports-color: 8.1.1 @@ -16564,7 +16714,7 @@ snapshots: dependencies: readable-stream: 2.3.8 - ldapts@8.0.1: + ldapts@8.0.2: dependencies: '@types/asn1': 0.2.4 asn1: 0.2.6 @@ -16719,11 +16869,11 @@ snapshots: make-error@1.3.6: {} - mantine-react-table@2.0.0-beta.9(@mantine/core@8.1.1(@mantine/hooks@8.1.1(react@19.1.0))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/dates@8.1.1(@mantine/core@8.1.1(@mantine/hooks@8.1.1(react@19.1.0))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/hooks@8.1.1(react@19.1.0))(dayjs@1.11.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/hooks@8.1.1(react@19.1.0))(@tabler/icons-react@3.34.0(react@19.1.0))(clsx@2.1.1)(dayjs@1.11.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0): + mantine-react-table@2.0.0-beta.9(@mantine/core@8.1.2(@mantine/hooks@8.1.2(react@19.1.0))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/dates@8.1.2(@mantine/core@8.1.2(@mantine/hooks@8.1.2(react@19.1.0))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/hooks@8.1.2(react@19.1.0))(dayjs@1.11.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/hooks@8.1.2(react@19.1.0))(@tabler/icons-react@3.34.0(react@19.1.0))(clsx@2.1.1)(dayjs@1.11.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0): dependencies: - '@mantine/core': 8.1.1(@mantine/hooks@8.1.1(react@19.1.0))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@mantine/dates': 8.1.1(@mantine/core@8.1.1(@mantine/hooks@8.1.1(react@19.1.0))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/hooks@8.1.1(react@19.1.0))(dayjs@1.11.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@mantine/hooks': 8.1.1(react@19.1.0) + '@mantine/core': 8.1.2(@mantine/hooks@8.1.2(react@19.1.0))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@mantine/dates': 8.1.2(@mantine/core@8.1.2(@mantine/hooks@8.1.2(react@19.1.0))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/hooks@8.1.2(react@19.1.0))(dayjs@1.11.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@mantine/hooks': 8.1.2(react@19.1.0) '@tabler/icons-react': 3.34.0(react@19.1.0) '@tanstack/match-sorter-utils': 8.19.4 '@tanstack/react-table': 8.20.5(react-dom@19.1.0(react@19.1.0))(react@19.1.0) @@ -16733,7 +16883,7 @@ snapshots: react: 19.1.0 react-dom: 19.1.0(react@19.1.0) - maria2@0.4.0: {} + maria2@0.4.1: {} markdown-it@14.1.0: dependencies: @@ -17123,19 +17273,19 @@ snapshots: netmask@2.0.2: {} - next-auth@5.0.0-beta.28(next@15.3.4(@babel/core@7.27.4)(@playwright/test@1.49.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(sass@1.89.2))(react@19.1.0): + next-auth@5.0.0-beta.29(next@15.3.4(@babel/core@7.27.4)(@playwright/test@1.49.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(sass@1.89.2))(react@19.1.0): dependencies: - '@auth/core': 0.39.1 + '@auth/core': 0.40.0 next: 15.3.4(@babel/core@7.27.4)(@playwright/test@1.49.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(sass@1.89.2) react: 19.1.0 - next-intl@4.1.0(next@15.3.4(@babel/core@7.27.4)(@playwright/test@1.49.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(sass@1.89.2))(react@19.1.0)(typescript@5.8.3): + next-intl@4.3.1(next@15.3.4(@babel/core@7.27.4)(@playwright/test@1.49.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(sass@1.89.2))(react@19.1.0)(typescript@5.8.3): dependencies: '@formatjs/intl-localematcher': 0.5.5 negotiator: 1.0.0 next: 15.3.4(@babel/core@7.27.4)(@playwright/test@1.49.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(sass@1.89.2) react: 19.1.0 - use-intl: 4.1.0(react@19.1.0) + use-intl: 4.3.1(react@19.1.0) optionalDependencies: typescript: 5.8.3 @@ -17303,7 +17453,7 @@ snapshots: path-key: 4.0.0 unicorn-magic: 0.3.0 - npm@10.9.2: {} + npm@10.9.3: {} nwsapi@2.2.16: {} @@ -17315,6 +17465,8 @@ snapshots: object-inspect@1.13.3: {} + object-inspect@1.13.4: {} + object-keys@1.1.1: {} object.assign@4.1.5: @@ -17327,9 +17479,9 @@ snapshots: object.assign@4.1.7: dependencies: call-bind: 1.0.8 - call-bound: 1.0.3 + call-bound: 1.0.4 define-properties: 1.2.1 - es-object-atoms: 1.0.0 + es-object-atoms: 1.1.1 has-symbols: 1.1.0 object-keys: 1.1.1 @@ -17342,16 +17494,16 @@ snapshots: object.fromentries@2.0.8: dependencies: - call-bind: 1.0.7 + call-bind: 1.0.8 define-properties: 1.2.1 - es-abstract: 1.23.3 - es-object-atoms: 1.0.0 + es-abstract: 1.23.7 + es-object-atoms: 1.1.1 object.groupby@1.0.3: dependencies: - call-bind: 1.0.7 + call-bind: 1.0.8 define-properties: 1.2.1 - es-abstract: 1.23.3 + es-abstract: 1.23.7 object.values@1.2.0: dependencies: @@ -17362,9 +17514,9 @@ snapshots: object.values@1.2.1: dependencies: call-bind: 1.0.8 - call-bound: 1.0.3 + call-bound: 1.0.4 define-properties: 1.2.1 - es-object-atoms: 1.0.0 + es-object-atoms: 1.1.1 octokit@5.0.3: dependencies: @@ -17457,6 +17609,12 @@ snapshots: os-tmpdir@1.0.2: {} + own-keys@1.0.1: + dependencies: + get-intrinsic: 1.3.0 + object-keys: 1.1.1 + safe-push-apply: 1.0.0 + p-each-series@3.0.0: {} p-filter@4.1.0: @@ -17549,14 +17707,14 @@ snapshots: parse-json@5.2.0: dependencies: - '@babel/code-frame': 7.26.2 + '@babel/code-frame': 7.27.1 error-ex: 1.3.2 json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 parse-json@8.1.0: dependencies: - '@babel/code-frame': 7.26.2 + '@babel/code-frame': 7.27.1 index-to-position: 0.1.2 type-fest: 4.40.0 @@ -17728,14 +17886,14 @@ snapshots: prelude-ls@1.2.1: {} - prettier-plugin-packagejson@2.5.15(prettier@3.5.3): + prettier-plugin-packagejson@2.5.16(prettier@3.6.2): dependencies: - sort-package-json: 3.2.1 + sort-package-json: 3.2.2 synckit: 0.11.8 optionalDependencies: - prettier: 3.5.3 + prettier: 3.6.2 - prettier@3.5.3: {} + prettier@3.6.2: {} pretty-ms@8.0.0: dependencies: @@ -17892,12 +18050,12 @@ snapshots: '@protobufjs/path': 1.1.2 '@protobufjs/pool': 1.1.0 '@protobufjs/utf8': 1.1.0 - '@types/node': 22.15.32 + '@types/node': 22.15.33 long: 5.2.3 proxmox-api@1.1.1: dependencies: - undici: 7.10.0 + undici: 7.11.0 proxy-agent@6.5.0: dependencies: @@ -18184,7 +18342,7 @@ snapshots: dependencies: decimal.js-light: 2.5.1 - recharts@2.15.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0): + recharts@2.15.4(react-dom@19.1.0(react@19.1.0))(react@19.1.0): dependencies: clsx: 2.1.1 eventemitter3: 4.0.7 @@ -18216,7 +18374,7 @@ snapshots: dunder-proto: 1.0.1 es-abstract: 1.23.7 es-errors: 1.3.0 - get-intrinsic: 1.2.6 + get-intrinsic: 1.3.0 gopd: 1.2.0 which-builtin-type: 1.2.1 @@ -18242,6 +18400,15 @@ snapshots: es-errors: 1.3.0 set-function-name: 2.0.2 + regexp.prototype.flags@1.5.4: + dependencies: + call-bind: 1.0.8 + define-properties: 1.2.1 + es-errors: 1.3.0 + get-proto: 1.0.1 + gopd: 1.2.0 + set-function-name: 2.0.2 + registry-auth-token@3.3.2: dependencies: rc: 1.2.8 @@ -18301,7 +18468,7 @@ snapshots: resolve@1.22.8: dependencies: - is-core-module: 2.15.1 + is-core-module: 2.16.1 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 @@ -18396,12 +18563,12 @@ snapshots: rxjs@7.8.1: dependencies: - tslib: 2.7.0 + tslib: 2.8.1 safe-array-concat@1.1.2: dependencies: call-bind: 1.0.8 - get-intrinsic: 1.2.6 + get-intrinsic: 1.3.0 has-symbols: 1.1.0 isarray: 2.0.5 @@ -18417,6 +18584,11 @@ snapshots: safe-buffer@5.2.1: {} + safe-push-apply@1.0.0: + dependencies: + es-errors: 1.3.0 + isarray: 2.0.5 + safe-regex-test@1.0.3: dependencies: call-bind: 1.0.7 @@ -18425,7 +18597,7 @@ snapshots: safe-regex-test@1.1.0: dependencies: - call-bound: 1.0.3 + call-bound: 1.0.4 es-errors: 1.3.0 is-regex: 1.2.1 @@ -18467,7 +18639,7 @@ snapshots: '@semantic-release/commit-analyzer': 13.0.1(semantic-release@24.2.5(typescript@5.8.3)) '@semantic-release/error': 4.0.0 '@semantic-release/github': 11.0.3(semantic-release@24.2.5(typescript@5.8.3)) - '@semantic-release/npm': 12.0.1(semantic-release@24.2.5(typescript@5.8.3)) + '@semantic-release/npm': 12.0.2(semantic-release@24.2.5(typescript@5.8.3)) '@semantic-release/release-notes-generator': 14.0.3(semantic-release@24.2.5(typescript@5.8.3)) aggregate-error: 5.0.0 cosmiconfig: 9.0.0(typescript@5.8.3) @@ -18537,7 +18709,7 @@ snapshots: define-data-property: 1.1.4 es-errors: 1.3.0 function-bind: 1.1.2 - get-intrinsic: 1.2.6 + get-intrinsic: 1.3.0 gopd: 1.2.0 has-property-descriptors: 1.0.2 @@ -18548,6 +18720,12 @@ snapshots: functions-have-names: 1.2.3 has-property-descriptors: 1.0.2 + set-proto@1.0.0: + dependencies: + dunder-proto: 1.0.1 + es-errors: 1.3.0 + es-object-atoms: 1.1.1 + setprototypeof@1.2.0: {} sha.js@2.4.11: @@ -18600,16 +18778,16 @@ snapshots: side-channel-map@1.0.1: dependencies: - call-bound: 1.0.3 + call-bound: 1.0.4 es-errors: 1.3.0 - get-intrinsic: 1.2.6 + get-intrinsic: 1.3.0 object-inspect: 1.13.3 side-channel-weakmap@1.0.2: dependencies: - call-bound: 1.0.3 + call-bound: 1.0.4 es-errors: 1.3.0 - get-intrinsic: 1.2.6 + get-intrinsic: 1.3.0 object-inspect: 1.13.3 side-channel-map: 1.0.1 @@ -18723,7 +18901,7 @@ snapshots: sort-object-keys@1.1.3: {} - sort-package-json@3.2.1: + sort-package-json@3.2.2: dependencies: detect-indent: 7.0.1 detect-newline: 4.0.1 @@ -18731,7 +18909,7 @@ snapshots: is-plain-obj: 4.1.0 semver: 7.7.1 sort-object-keys: 1.1.3 - tinyglobby: 0.2.13 + tinyglobby: 0.2.14 source-map-js@1.2.1: {} @@ -18797,6 +18975,11 @@ snapshots: std-env@3.9.0: {} + stop-iteration-iterator@1.1.0: + dependencies: + es-errors: 1.3.0 + internal-slot: 1.1.0 + stream-buffers@3.0.3: {} stream-combiner2@1.1.1: @@ -18857,11 +19040,11 @@ snapshots: string.prototype.trim@1.2.10: dependencies: call-bind: 1.0.8 - call-bound: 1.0.3 + call-bound: 1.0.4 define-data-property: 1.1.4 define-properties: 1.2.1 es-abstract: 1.23.7 - es-object-atoms: 1.0.0 + es-object-atoms: 1.1.1 has-property-descriptors: 1.0.2 string.prototype.trim@1.2.9: @@ -18869,26 +19052,20 @@ snapshots: call-bind: 1.0.8 define-properties: 1.2.1 es-abstract: 1.23.7 - es-object-atoms: 1.0.0 - - string.prototype.trimend@1.0.8: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-object-atoms: 1.0.0 + es-object-atoms: 1.1.1 string.prototype.trimend@1.0.9: dependencies: call-bind: 1.0.8 - call-bound: 1.0.3 + call-bound: 1.0.4 define-properties: 1.2.1 - es-object-atoms: 1.0.0 + es-object-atoms: 1.1.1 string.prototype.trimstart@1.0.8: dependencies: call-bind: 1.0.8 define-properties: 1.2.1 - es-object-atoms: 1.0.0 + es-object-atoms: 1.1.1 string_decoder@1.1.1: dependencies: @@ -19008,7 +19185,7 @@ snapshots: transitivePeerDependencies: - debug - swagger-ui-react@5.25.2(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0): + swagger-ui-react@5.25.3(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0): dependencies: '@babel/runtime-corejs3': 7.27.1 '@scarf/scarf': 1.4.0 @@ -19152,7 +19329,7 @@ snapshots: ssh-remote-port-forward: 1.0.4 tar-fs: 3.0.9 tmp: 0.2.3 - undici: 7.10.0 + undici: 7.11.0 transitivePeerDependencies: - bare-buffer - supports-color @@ -19190,11 +19367,6 @@ snapshots: tinyexec@0.3.2: {} - tinyglobby@0.2.13: - dependencies: - fdir: 6.4.4(picomatch@4.0.2) - picomatch: 4.0.2 - tinyglobby@0.2.14: dependencies: fdir: 6.4.4(picomatch@4.0.2) @@ -19288,9 +19460,9 @@ snapshots: trough@2.2.0: {} - trpc-to-openapi@2.3.1(@trpc/server@11.4.2(typescript@5.8.3))(zod-openapi@2.19.0(zod@3.25.67))(zod@3.25.67): + trpc-to-openapi@2.3.1(@trpc/server@11.4.3(typescript@5.8.3))(zod-openapi@2.19.0(zod@3.25.67))(zod@3.25.67): dependencies: - '@trpc/server': 11.4.2(typescript@5.8.3) + '@trpc/server': 11.4.3(typescript@5.8.3) co-body: 6.2.0 h3: 1.15.1 openapi3-ts: 4.4.0 @@ -19305,14 +19477,14 @@ snapshots: ts-mixer@6.0.4: {} - ts-node@10.9.2(@types/node@22.15.32)(typescript@5.8.3): + ts-node@10.9.2(@types/node@22.15.33)(typescript@5.8.3): 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.15.32 + '@types/node': 22.15.33 acorn: 8.14.1 acorn-walk: 8.3.4 arg: 4.1.3 @@ -19348,8 +19520,6 @@ snapshots: tslib@1.14.1: {} - tslib@2.7.0: {} - tslib@2.8.1: {} tsscmp@1.0.6: {} @@ -19423,7 +19593,7 @@ snapshots: typed-array-buffer@1.0.3: dependencies: - call-bound: 1.0.3 + call-bound: 1.0.4 es-errors: 1.3.0 is-typed-array: 1.1.15 @@ -19488,11 +19658,11 @@ snapshots: dependencies: ts-toolbelt: 9.6.0 - typescript-eslint@8.34.1(eslint@9.29.0)(typescript@5.8.3): + typescript-eslint@8.35.0(eslint@9.29.0)(typescript@5.8.3): dependencies: - '@typescript-eslint/eslint-plugin': 8.34.1(@typescript-eslint/parser@8.34.1(eslint@9.29.0)(typescript@5.8.3))(eslint@9.29.0)(typescript@5.8.3) - '@typescript-eslint/parser': 8.34.1(eslint@9.29.0)(typescript@5.8.3) - '@typescript-eslint/utils': 8.34.1(eslint@9.29.0)(typescript@5.8.3) + '@typescript-eslint/eslint-plugin': 8.35.0(@typescript-eslint/parser@8.35.0(eslint@9.29.0)(typescript@5.8.3))(eslint@9.29.0)(typescript@5.8.3) + '@typescript-eslint/parser': 8.35.0(eslint@9.29.0)(typescript@5.8.3) + '@typescript-eslint/utils': 8.35.0(eslint@9.29.0)(typescript@5.8.3) eslint: 9.29.0 typescript: 5.8.3 transitivePeerDependencies: @@ -19520,7 +19690,7 @@ snapshots: unbox-primitive@1.1.0: dependencies: - call-bound: 1.0.3 + call-bound: 1.0.4 has-bigints: 1.0.2 has-symbols: 1.1.0 which-boxed-primitive: 1.1.1 @@ -19531,7 +19701,7 @@ snapshots: undici-types@6.21.0: {} - undici@7.10.0: {} + undici@7.11.0: {} unicode-emoji-modifier-base@1.0.0: {} @@ -19671,7 +19841,7 @@ snapshots: dequal: 2.0.3 react: 19.1.0 - use-intl@4.1.0(react@19.1.0): + use-intl@4.3.1(react@19.1.0): dependencies: '@formatjs/fast-memoize': 2.2.1 '@schummar/icu-type-parser': 1.21.5 @@ -19775,13 +19945,13 @@ snapshots: dependencies: global: 4.4.0 - vite-node@3.2.4(@types/node@22.15.32)(sass@1.89.2)(sugarss@4.0.1(postcss@8.4.47))(terser@5.39.0): + vite-node@3.2.4(@types/node@22.15.33)(sass@1.89.2)(sugarss@4.0.1(postcss@8.4.47))(terser@5.39.0): dependencies: cac: 6.7.14 debug: 4.4.1 es-module-lexer: 1.7.0 pathe: 2.0.3 - vite: 5.4.5(@types/node@22.15.32)(sass@1.89.2)(sugarss@4.0.1(postcss@8.4.47))(terser@5.39.0) + vite: 5.4.5(@types/node@22.15.33)(sass@1.89.2)(sugarss@4.0.1(postcss@8.4.47))(terser@5.39.0) transitivePeerDependencies: - '@types/node' - less @@ -19793,34 +19963,34 @@ snapshots: - supports-color - terser - vite-tsconfig-paths@5.1.4(typescript@5.8.3)(vite@5.4.5(@types/node@22.15.32)(sass@1.89.2)(sugarss@4.0.1(postcss@8.4.47))(terser@5.39.0)): + vite-tsconfig-paths@5.1.4(typescript@5.8.3)(vite@5.4.5(@types/node@22.15.33)(sass@1.89.2)(sugarss@4.0.1(postcss@8.4.47))(terser@5.39.0)): dependencies: debug: 4.3.7 globrex: 0.1.2 tsconfck: 3.1.3(typescript@5.8.3) optionalDependencies: - vite: 5.4.5(@types/node@22.15.32)(sass@1.89.2)(sugarss@4.0.1(postcss@8.4.47))(terser@5.39.0) + vite: 5.4.5(@types/node@22.15.33)(sass@1.89.2)(sugarss@4.0.1(postcss@8.4.47))(terser@5.39.0) transitivePeerDependencies: - supports-color - typescript - vite@5.4.5(@types/node@22.15.32)(sass@1.89.2)(sugarss@4.0.1(postcss@8.4.47))(terser@5.39.0): + vite@5.4.5(@types/node@22.15.33)(sass@1.89.2)(sugarss@4.0.1(postcss@8.4.47))(terser@5.39.0): dependencies: esbuild: 0.21.5 postcss: 8.4.47 rollup: 4.21.3 optionalDependencies: - '@types/node': 22.15.32 + '@types/node': 22.15.33 fsevents: 2.3.3 sass: 1.89.2 sugarss: 4.0.1(postcss@8.4.47) terser: 5.39.0 - vitest@3.2.4(@types/debug@4.1.12)(@types/node@22.15.32)(@vitest/ui@3.2.4)(jsdom@26.1.0)(sass@1.89.2)(sugarss@4.0.1(postcss@8.4.47))(terser@5.39.0): + vitest@3.2.4(@types/debug@4.1.12)(@types/node@22.15.33)(@vitest/ui@3.2.4)(jsdom@26.1.0)(sass@1.89.2)(sugarss@4.0.1(postcss@8.4.47))(terser@5.39.0): dependencies: '@types/chai': 5.2.2 '@vitest/expect': 3.2.4 - '@vitest/mocker': 3.2.4(vite@5.4.5(@types/node@22.15.32)(sass@1.89.2)(sugarss@4.0.1(postcss@8.4.47))(terser@5.39.0)) + '@vitest/mocker': 3.2.4(vite@5.4.5(@types/node@22.15.33)(sass@1.89.2)(sugarss@4.0.1(postcss@8.4.47))(terser@5.39.0)) '@vitest/pretty-format': 3.2.4 '@vitest/runner': 3.2.4 '@vitest/snapshot': 3.2.4 @@ -19838,12 +20008,12 @@ snapshots: tinyglobby: 0.2.14 tinypool: 1.1.1 tinyrainbow: 2.0.0 - vite: 5.4.5(@types/node@22.15.32)(sass@1.89.2)(sugarss@4.0.1(postcss@8.4.47))(terser@5.39.0) - vite-node: 3.2.4(@types/node@22.15.32)(sass@1.89.2)(sugarss@4.0.1(postcss@8.4.47))(terser@5.39.0) + vite: 5.4.5(@types/node@22.15.33)(sass@1.89.2)(sugarss@4.0.1(postcss@8.4.47))(terser@5.39.0) + vite-node: 3.2.4(@types/node@22.15.33)(sass@1.89.2)(sugarss@4.0.1(postcss@8.4.47))(terser@5.39.0) why-is-node-running: 2.3.0 optionalDependencies: '@types/debug': 4.1.12 - '@types/node': 22.15.32 + '@types/node': 22.15.33 '@vitest/ui': 3.2.4(vitest@3.2.4) jsdom: 26.1.0 transitivePeerDependencies: @@ -19951,7 +20121,7 @@ snapshots: which-builtin-type@1.2.1: dependencies: - call-bound: 1.0.3 + call-bound: 1.0.4 function.prototype.name: 1.1.8 has-tostringtag: 1.0.2 is-async-function: 2.0.0 @@ -19984,11 +20154,21 @@ snapshots: dependencies: available-typed-arrays: 1.0.7 call-bind: 1.0.8 - call-bound: 1.0.3 + call-bound: 1.0.4 for-each: 0.3.3 gopd: 1.2.0 has-tostringtag: 1.0.2 + which-typed-array@1.1.19: + dependencies: + available-typed-arrays: 1.0.7 + call-bind: 1.0.8 + call-bound: 1.0.4 + for-each: 0.3.5 + get-proto: 1.0.1 + gopd: 1.2.0 + has-tostringtag: 1.0.2 + which@2.0.2: dependencies: isexe: 2.0.0 diff --git a/static-data/contributors.json b/static-data/contributors.json index b17c33631..58c44bfe8 100644 --- a/static-data/contributors.json +++ b/static-data/contributors.json @@ -1 +1 @@ -[{"login":"ajnart","avatar_url":"https://avatars.githubusercontent.com/u/49837342?v=4"},{"login":"manuel-rw","avatar_url":"https://avatars.githubusercontent.com/u/30572287?v=4"},{"login":"Meierschlumpf","avatar_url":"https://avatars.githubusercontent.com/u/63781622?v=4"},{"login":"SeDemal","avatar_url":"https://avatars.githubusercontent.com/u/26098587?v=4"},{"login":"lammersbjorn","avatar_url":"https://avatars.githubusercontent.com/u/71191962?v=4"},{"login":"LarveyOfficial","avatar_url":"https://avatars.githubusercontent.com/u/39219859?v=4"},{"login":"c00ldude1oo","avatar_url":"https://avatars.githubusercontent.com/u/15677803?v=4"},{"login":"InterN0te","avatar_url":"https://avatars.githubusercontent.com/u/10882916?v=4"},{"login":"Aimsucks","avatar_url":"https://avatars.githubusercontent.com/u/1828486?v=4"},{"login":"JannesV","avatar_url":"https://avatars.githubusercontent.com/u/5984244?v=4"},{"login":"MauriceNino","avatar_url":"https://avatars.githubusercontent.com/u/18658092?v=4"},{"login":"hillaliy","avatar_url":"https://avatars.githubusercontent.com/u/950010?v=4"},{"login":"Skeeww","avatar_url":"https://avatars.githubusercontent.com/u/9639992?v=4"},{"login":"RichyHBM","avatar_url":"https://avatars.githubusercontent.com/u/5472275?v=4"},{"login":"Bonfire","avatar_url":"https://avatars.githubusercontent.com/u/5704760?v=4"},{"login":"wieli99","avatar_url":"https://avatars.githubusercontent.com/u/46794825?v=4"},{"login":"ishaanparlikar","avatar_url":"https://avatars.githubusercontent.com/u/43013132?v=4"},{"login":"Zareix","avatar_url":"https://avatars.githubusercontent.com/u/29818713?v=4"},{"login":"tuggan","avatar_url":"https://avatars.githubusercontent.com/u/4325608?v=4"},{"login":"Spillebulle","avatar_url":"https://avatars.githubusercontent.com/u/46653946?v=4"},{"login":"tancak","avatar_url":"https://avatars.githubusercontent.com/u/11760749?v=4"},{"login":"spkesDE","avatar_url":"https://avatars.githubusercontent.com/u/1682314?v=4"},{"login":"j3lte","avatar_url":"https://avatars.githubusercontent.com/u/2557568?v=4"},{"login":"dslatt","avatar_url":"https://avatars.githubusercontent.com/u/5211001?v=4"},{"login":"Malong11-007","avatar_url":"https://avatars.githubusercontent.com/u/40298510?v=4"},{"login":"StefanB7","avatar_url":"https://avatars.githubusercontent.com/u/22056509?v=4"},{"login":"souravghosh01","avatar_url":"https://avatars.githubusercontent.com/u/37548139?v=4"},{"login":"SR3u","avatar_url":"https://avatars.githubusercontent.com/u/2380522?v=4"},{"login":"Rikpat","avatar_url":"https://avatars.githubusercontent.com/u/33869814?v=4"},{"login":"NormanJS","avatar_url":"https://avatars.githubusercontent.com/u/83409549?v=4"},{"login":"No-Maines-Land","avatar_url":"https://avatars.githubusercontent.com/u/20687725?v=4"},{"login":"stark1tty","avatar_url":"https://avatars.githubusercontent.com/u/69326376?v=4"},{"login":"Momcilo42","avatar_url":"https://avatars.githubusercontent.com/u/10118137?v=4"},{"login":"marius-arch","avatar_url":"https://avatars.githubusercontent.com/u/72494359?v=4"},{"login":"Lumilias","avatar_url":"https://avatars.githubusercontent.com/u/10852161?v=4"},{"login":"Havock94","avatar_url":"https://avatars.githubusercontent.com/u/7635248?v=4"},{"login":"Lollyde","avatar_url":"https://avatars.githubusercontent.com/u/11347524?v=4"},{"login":"huanga","avatar_url":"https://avatars.githubusercontent.com/u/732970?v=4"},{"login":"devtobi","avatar_url":"https://avatars.githubusercontent.com/u/28538704?v=4"},{"login":"TyxTang","avatar_url":"https://avatars.githubusercontent.com/u/90897955?v=4"},{"login":"VinnyVynce","avatar_url":"https://avatars.githubusercontent.com/u/19630511?v=4"},{"login":"WillyJL","avatar_url":"https://avatars.githubusercontent.com/u/49810075?v=4"},{"login":"anonysoul","avatar_url":"https://avatars.githubusercontent.com/u/105715150?v=4"},{"login":"cospeedster","avatar_url":"https://avatars.githubusercontent.com/u/52749645?v=4"},{"login":"diederbert","avatar_url":"https://avatars.githubusercontent.com/u/162878798?v=4"},{"login":"digdilem","avatar_url":"https://avatars.githubusercontent.com/u/4052275?v=4"},{"login":"dinghino","avatar_url":"https://avatars.githubusercontent.com/u/14729459?v=4"},{"login":"gfomichev","avatar_url":"https://avatars.githubusercontent.com/u/1596146?v=4"},{"login":"gnattu","avatar_url":"https://avatars.githubusercontent.com/u/12995396?v=4"},{"login":"tuxpizza","avatar_url":"https://avatars.githubusercontent.com/u/84710786?v=4"},{"login":"xmarkurion","avatar_url":"https://avatars.githubusercontent.com/u/46654687?v=4"},{"login":"taos15","avatar_url":"https://avatars.githubusercontent.com/u/122130728?v=4"},{"login":"arghyadipchak","avatar_url":"https://avatars.githubusercontent.com/u/32430374?v=4"},{"login":"AuthorShin","avatar_url":"https://avatars.githubusercontent.com/u/4959043?v=4"},{"login":"benniblot","avatar_url":"https://avatars.githubusercontent.com/u/47495914?v=4"},{"login":"bebsworthy","avatar_url":"https://avatars.githubusercontent.com/u/5266759?v=4"},{"login":"catrielmuller","avatar_url":"https://avatars.githubusercontent.com/u/2272323?v=4"},{"login":"Vysp3r","avatar_url":"https://avatars.githubusercontent.com/u/62019735?v=4"},{"login":"DR-Blogs","avatar_url":"https://avatars.githubusercontent.com/u/96393186?v=4"},{"login":"singular0","avatar_url":"https://avatars.githubusercontent.com/u/1925883?v=4"},{"login":"diogovalentte","avatar_url":"https://avatars.githubusercontent.com/u/49578155?v=4"},{"login":"codezninja","avatar_url":"https://avatars.githubusercontent.com/u/4400773?v=4"},{"login":"fabricionaweb","avatar_url":"https://avatars.githubusercontent.com/u/15933?v=4"},{"login":"nyok1912","avatar_url":"https://avatars.githubusercontent.com/u/32163949?v=4"},{"login":"bo3bdo","avatar_url":"https://avatars.githubusercontent.com/u/5271380?v=4"},{"login":"hskrtich","avatar_url":"https://avatars.githubusercontent.com/u/1214484?v=4"},{"login":"ishults","avatar_url":"https://avatars.githubusercontent.com/u/7275442?v=4"},{"login":"jelliuk","avatar_url":"https://avatars.githubusercontent.com/u/4790959?v=4"},{"login":"Moohan","avatar_url":"https://avatars.githubusercontent.com/u/5982260?v=4"},{"login":"jbruell","avatar_url":"https://avatars.githubusercontent.com/u/31685172?v=4"},{"login":"JasonLeeB06","avatar_url":"https://avatars.githubusercontent.com/u/82266978?v=4"},{"login":"jeffersonraimon","avatar_url":"https://avatars.githubusercontent.com/u/80064475?v=4"},{"login":"jo-chemla","avatar_url":"https://avatars.githubusercontent.com/u/16822841?v=4"},{"login":"joser93","avatar_url":"https://avatars.githubusercontent.com/u/6912089?v=4"},{"login":"justijndepover","avatar_url":"https://avatars.githubusercontent.com/u/9008623?v=4"},{"login":"krishnamuppaneni","avatar_url":"https://avatars.githubusercontent.com/u/4703366?v=4"},{"login":"Aandree5","avatar_url":"https://avatars.githubusercontent.com/u/32734153?v=4"},{"login":"jackwellerreal","avatar_url":"https://avatars.githubusercontent.com/u/97435840?v=4"},{"login":"toineenzo","avatar_url":"https://avatars.githubusercontent.com/u/4921397?v=4"},{"login":"rezstje","avatar_url":"https://avatars.githubusercontent.com/u/45420315?v=4"},{"login":"MaienM","avatar_url":"https://avatars.githubusercontent.com/u/583129?v=4"},{"login":"oben01","avatar_url":"https://avatars.githubusercontent.com/u/22369027?v=4"},{"login":"m0s4ik","avatar_url":"https://avatars.githubusercontent.com/u/26578395?v=4"},{"login":"ieugen","avatar_url":"https://avatars.githubusercontent.com/u/1050920?v=4"},{"login":"faugusto-oliveira","avatar_url":"https://avatars.githubusercontent.com/u/37384074?v=4"},{"login":"frankvHoof93","avatar_url":"https://avatars.githubusercontent.com/u/7346516?v=4"},{"login":"Kaotic3","avatar_url":"https://avatars.githubusercontent.com/u/80522225?v=4"},{"login":"hotrungnhan","avatar_url":"https://avatars.githubusercontent.com/u/40029631?v=4"},{"login":"lthomsen","avatar_url":"https://avatars.githubusercontent.com/u/28560325?v=4"},{"login":"pitschi","avatar_url":"https://avatars.githubusercontent.com/u/6841565?v=4"},{"login":"tech62","avatar_url":"https://avatars.githubusercontent.com/u/16237642?v=4"}] \ No newline at end of file +[{"login":"ajnart","avatar_url":"https://avatars.githubusercontent.com/u/49837342?v=4"},{"login":"manuel-rw","avatar_url":"https://avatars.githubusercontent.com/u/30572287?v=4"},{"login":"Meierschlumpf","avatar_url":"https://avatars.githubusercontent.com/u/63781622?v=4"},{"login":"SeDemal","avatar_url":"https://avatars.githubusercontent.com/u/26098587?v=4"},{"login":"lammersbjorn","avatar_url":"https://avatars.githubusercontent.com/u/71191962?v=4"},{"login":"LarveyOfficial","avatar_url":"https://avatars.githubusercontent.com/u/39219859?v=4"},{"login":"c00ldude1oo","avatar_url":"https://avatars.githubusercontent.com/u/15677803?v=4"},{"login":"InterN0te","avatar_url":"https://avatars.githubusercontent.com/u/10882916?v=4"},{"login":"Aimsucks","avatar_url":"https://avatars.githubusercontent.com/u/1828486?v=4"},{"login":"JannesV","avatar_url":"https://avatars.githubusercontent.com/u/5984244?v=4"},{"login":"MauriceNino","avatar_url":"https://avatars.githubusercontent.com/u/18658092?v=4"},{"login":"hillaliy","avatar_url":"https://avatars.githubusercontent.com/u/950010?v=4"},{"login":"Skeeww","avatar_url":"https://avatars.githubusercontent.com/u/9639992?v=4"},{"login":"RichyHBM","avatar_url":"https://avatars.githubusercontent.com/u/5472275?v=4"},{"login":"Bonfire","avatar_url":"https://avatars.githubusercontent.com/u/5704760?v=4"},{"login":"wieli99","avatar_url":"https://avatars.githubusercontent.com/u/46794825?v=4"},{"login":"ishaanparlikar","avatar_url":"https://avatars.githubusercontent.com/u/43013132?v=4"},{"login":"Zareix","avatar_url":"https://avatars.githubusercontent.com/u/29818713?v=4"},{"login":"tuggan","avatar_url":"https://avatars.githubusercontent.com/u/4325608?v=4"},{"login":"Spillebulle","avatar_url":"https://avatars.githubusercontent.com/u/46653946?v=4"},{"login":"tancak","avatar_url":"https://avatars.githubusercontent.com/u/11760749?v=4"},{"login":"spkesDE","avatar_url":"https://avatars.githubusercontent.com/u/1682314?v=4"},{"login":"j3lte","avatar_url":"https://avatars.githubusercontent.com/u/2557568?v=4"},{"login":"dslatt","avatar_url":"https://avatars.githubusercontent.com/u/5211001?v=4"},{"login":"Malong11-007","avatar_url":"https://avatars.githubusercontent.com/u/40298510?v=4"},{"login":"StefanB7","avatar_url":"https://avatars.githubusercontent.com/u/22056509?v=4"},{"login":"souravghosh01","avatar_url":"https://avatars.githubusercontent.com/u/37548139?v=4"},{"login":"SR3u","avatar_url":"https://avatars.githubusercontent.com/u/2380522?v=4"},{"login":"Rikpat","avatar_url":"https://avatars.githubusercontent.com/u/33869814?v=4"},{"login":"NormanJS","avatar_url":"https://avatars.githubusercontent.com/u/83409549?v=4"},{"login":"No-Maines-Land","avatar_url":"https://avatars.githubusercontent.com/u/20687725?v=4"},{"login":"stark1tty","avatar_url":"https://avatars.githubusercontent.com/u/69326376?v=4"},{"login":"Momcilo42","avatar_url":"https://avatars.githubusercontent.com/u/10118137?v=4"},{"login":"marius-arch","avatar_url":"https://avatars.githubusercontent.com/u/72494359?v=4"},{"login":"Lumilias","avatar_url":"https://avatars.githubusercontent.com/u/10852161?v=4"},{"login":"Havock94","avatar_url":"https://avatars.githubusercontent.com/u/7635248?v=4"},{"login":"Lollyde","avatar_url":"https://avatars.githubusercontent.com/u/11347524?v=4"},{"login":"huanga","avatar_url":"https://avatars.githubusercontent.com/u/732970?v=4"},{"login":"devtobi","avatar_url":"https://avatars.githubusercontent.com/u/28538704?v=4"},{"login":"TyxTang","avatar_url":"https://avatars.githubusercontent.com/u/90897955?v=4"},{"login":"VinnyVynce","avatar_url":"https://avatars.githubusercontent.com/u/19630511?v=4"},{"login":"WillyJL","avatar_url":"https://avatars.githubusercontent.com/u/49810075?v=4"},{"login":"anonysoul","avatar_url":"https://avatars.githubusercontent.com/u/105715150?v=4"},{"login":"cospeedster","avatar_url":"https://avatars.githubusercontent.com/u/52749645?v=4"},{"login":"diederbert","avatar_url":"https://avatars.githubusercontent.com/u/162878798?v=4"},{"login":"digdilem","avatar_url":"https://avatars.githubusercontent.com/u/4052275?v=4"},{"login":"dinghino","avatar_url":"https://avatars.githubusercontent.com/u/14729459?v=4"},{"login":"gfomichev","avatar_url":"https://avatars.githubusercontent.com/u/1596146?v=4"},{"login":"gnattu","avatar_url":"https://avatars.githubusercontent.com/u/12995396?v=4"},{"login":"tuxpizza","avatar_url":"https://avatars.githubusercontent.com/u/84710786?v=4"},{"login":"xmarkurion","avatar_url":"https://avatars.githubusercontent.com/u/46654687?v=4"},{"login":"taos15","avatar_url":"https://avatars.githubusercontent.com/u/122130728?v=4"},{"login":"arghyadipchak","avatar_url":"https://avatars.githubusercontent.com/u/32430374?v=4"},{"login":"AuthorShin","avatar_url":"https://avatars.githubusercontent.com/u/4959043?v=4"},{"login":"benniblot","avatar_url":"https://avatars.githubusercontent.com/u/47495914?v=4"},{"login":"bebsworthy","avatar_url":"https://avatars.githubusercontent.com/u/5266759?v=4"},{"login":"catrielmuller","avatar_url":"https://avatars.githubusercontent.com/u/2272323?v=4"},{"login":"Vysp3r","avatar_url":"https://avatars.githubusercontent.com/u/62019735?v=4"},{"login":"DR-Blogs","avatar_url":"https://avatars.githubusercontent.com/u/96393186?v=4"},{"login":"singular0","avatar_url":"https://avatars.githubusercontent.com/u/1925883?v=4"},{"login":"diogovalentte","avatar_url":"https://avatars.githubusercontent.com/u/49578155?v=4"},{"login":"codezninja","avatar_url":"https://avatars.githubusercontent.com/u/4400773?v=4"},{"login":"fabricionaweb","avatar_url":"https://avatars.githubusercontent.com/u/15933?v=4"},{"login":"nyok1912","avatar_url":"https://avatars.githubusercontent.com/u/32163949?v=4"},{"login":"bo3bdo","avatar_url":"https://avatars.githubusercontent.com/u/5271380?v=4"},{"login":"hskrtich","avatar_url":"https://avatars.githubusercontent.com/u/1214484?v=4"},{"login":"ishults","avatar_url":"https://avatars.githubusercontent.com/u/7275442?v=4"},{"login":"jelliuk","avatar_url":"https://avatars.githubusercontent.com/u/4790959?v=4"},{"login":"Moohan","avatar_url":"https://avatars.githubusercontent.com/u/5982260?v=4"},{"login":"jbruell","avatar_url":"https://avatars.githubusercontent.com/u/31685172?v=4"},{"login":"JasonLeeB06","avatar_url":"https://avatars.githubusercontent.com/u/82266978?v=4"},{"login":"jeffersonraimon","avatar_url":"https://avatars.githubusercontent.com/u/80064475?v=4"},{"login":"jo-chemla","avatar_url":"https://avatars.githubusercontent.com/u/16822841?v=4"},{"login":"joser93","avatar_url":"https://avatars.githubusercontent.com/u/6912089?v=4"},{"login":"justijndepover","avatar_url":"https://avatars.githubusercontent.com/u/9008623?v=4"},{"login":"krishnamuppaneni","avatar_url":"https://avatars.githubusercontent.com/u/4703366?v=4"},{"login":"Aandree5","avatar_url":"https://avatars.githubusercontent.com/u/32734153?v=4"},{"login":"jackwellerreal","avatar_url":"https://avatars.githubusercontent.com/u/97435840?v=4"},{"login":"toineenzo","avatar_url":"https://avatars.githubusercontent.com/u/4921397?v=4"},{"login":"rezstje","avatar_url":"https://avatars.githubusercontent.com/u/45420315?v=4"},{"login":"MaienM","avatar_url":"https://avatars.githubusercontent.com/u/583129?v=4"},{"login":"oben01","avatar_url":"https://avatars.githubusercontent.com/u/22369027?v=4"},{"login":"m0s4ik","avatar_url":"https://avatars.githubusercontent.com/u/26578395?v=4"},{"login":"ieugen","avatar_url":"https://avatars.githubusercontent.com/u/1050920?v=4"},{"login":"faugusto-oliveira","avatar_url":"https://avatars.githubusercontent.com/u/37384074?v=4"},{"login":"frankvHoof93","avatar_url":"https://avatars.githubusercontent.com/u/7346516?v=4"},{"login":"Kaotic3","avatar_url":"https://avatars.githubusercontent.com/u/80522225?v=4"},{"login":"hotrungnhan","avatar_url":"https://avatars.githubusercontent.com/u/40029631?v=4"},{"login":"itzTheMeow","avatar_url":"https://avatars.githubusercontent.com/u/50887230?v=4"},{"login":"lthomsen","avatar_url":"https://avatars.githubusercontent.com/u/28560325?v=4"},{"login":"pitschi","avatar_url":"https://avatars.githubusercontent.com/u/6841565?v=4"},{"login":"tech62","avatar_url":"https://avatars.githubusercontent.com/u/16237642?v=4"}] \ No newline at end of file diff --git a/static-data/translators.json b/static-data/translators.json index 894f2d31e..3f13c2eae 100644 --- a/static-data/translators.json +++ b/static-data/translators.json @@ -1 +1 @@ -[{"username":"carlchina","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/6697/medium/d22bbe7797bbeb30dbdc73a5648d329a_default.png"},{"username":"zielmann","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/7795/medium/ad22b8b8d5eb33e4154d53a454c862fd_default.png"},{"username":"Thalyn","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/12494028/medium/5faf5acc945a874ed116c4567edaa09f_default.png"},{"username":"magnushj","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/12503488/medium/68f32e33ea7b891960055c9f831f7344_default.png"},{"username":"almontegil","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/12580457/medium/f4136cacbdfdb4c28ae7f85dc5f840db_default.png"},{"username":"Skick","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/12619811/medium/0331f1de413a645b4516bc4e037f31bb.jpg"},{"username":"andibing","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/12664938/medium/b8be63e4dcb2e791ced1ffc9e3a049a5.jpg"},{"username":"gronare","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/12680911/medium/c6eb14d1504156f34a158e507f73aa3d_default.png"},{"username":"SmartPhoneLover","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/12701640/medium/ec95486662ec875cda080e778c3ff702.jpg"},{"username":"marcelotk_15","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/12773227/medium/ecf6bea16ab0c873c131df2154ee9718_default.png"},{"username":"S3OD177","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13051544/medium/11dd990837f61f7e8f7d36b041a7fddb_default.png"},{"username":"marcg","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13153301/medium/ebcf60fbf27deb148ec40a659566c6ff_default.png"},{"username":"BeersTeddy","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13185230/medium/2f1f4e1effe74a23422b195cbefb2a95_default.png"},{"username":"jamesmcmahon0","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13245578/medium/586aa873b4abddbd9abc6f3de99ab70e.jpeg"},{"username":"b1nar10","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13286752/medium/249b02e3368752cb175446082015737c_default.png"},{"username":"vannCN","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13330448/medium/9b8a9ee3611e51e951e22d5fd4eb7d8d.jpg"},{"username":"binswm","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13343482/medium/45dde0e6097b9b72705d2eba9dbbc276_default.png"},{"username":"SkewRam","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13496556/medium/188f5c2deb7938eda51eb786cc4539ca.jpeg"},{"username":"raphcatarino","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13547726/medium/b003511e67df13a4b4b5689488fa8099.jpg"},{"username":"shillos5","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13600557/medium/b17650b2b84f829d54fa548c44c1ab27.jpeg"},{"username":"wolong98","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13641407/medium/f4634edc58c7857a357e5293543c15cf.jpg"},{"username":"spair0039","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14012333/medium/72430e96027c09c19141cac38eae4617.png"},{"username":"MajorMarcin","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14072183/medium/0a197e64bb92b6ea94cecbb607512c45.jpg"},{"username":"KosmoMoustache","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14103535/medium/51c438cdd9f86e8811c75f4869de479c.png"},{"username":"Soochaehwa","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14118689/medium/496a1ce63111547bf455a1e0a7ac75f1_default.png"},{"username":"garryfield","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14187035/medium/520c964706676045f6eeec1b08edc880.jpg"},{"username":"droidenko","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14444264/medium/4aa3a8e824f72bc9e5ec0d8de307095e.jpeg"},{"username":"maathis","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14489950/medium/6eeddf13a757ee35f78f1763f94d95e1.jpeg"},{"username":"bukvam","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14546502/medium/a819dc40a13c57395a17dc46e847d3ce.jpg"},{"username":"gm.cinalli","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14670666/medium/2d466a0fdbda40764526be86c97c0ab4.jpeg"},{"username":"antoine2tt","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14722148/medium/f88d926900862dd59007ea4b3419cb9d.png"},{"username":"cretzen","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14799754/medium/3ba5c1805ec20c000d5810c07985afe9.jpg"},{"username":"ktKongTong","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14817246/medium/97cfc3c028dbdaf85ebd1102da71e58c.jpeg"},{"username":"marinkaberg","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14861042/medium/2d5c4e62613f03082f3e645fa92efd59.jpeg"},{"username":"djismgaming","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14934947/medium/f5a8570713c34ab0f7d5405d105e2a9a.jpeg"},{"username":"f1refa11","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14949159/medium/fd2ae63b8eb4462200ba96abf943c1b9.png"},{"username":"jeffersonraimon","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15057621/medium/6dff469563860e2618bc9d45646d0ab4.png"},{"username":"giop98","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15057987/medium/b8a4825d3fc39fc662f35ee258db4b2d.jpeg"},{"username":"tomislav.kraljevic","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15118857/medium/e133f1061cc92850b854d05d8faaeafd.png"},{"username":"Walkx","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15202182/medium/5c37361ae45aeed487b34582c1f7ca37.png"},{"username":"andrea.rosso","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15246318/medium/11f3f5ef44ec7f55b6f143090e208704_default.png"},{"username":"ajnart","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15270132/medium/a0f107a463c8910ee96bc2fa843a17e3.jpeg"},{"username":"Witchling","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15282238/medium/9e196b6783415b10ca571b7673c2ef33.jpg"},{"username":"guineuu","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15292058/medium/22fbb758bda3b7805d50bf21d38f2c20.jpeg"},{"username":"Bulgus","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15304568/medium/0e8787e5ceb02ed5c96a514d0068ae87.jpg"},{"username":"Narno","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15314996/medium/a6ba093f24884250a1bf6c6f2ca50f1b_default.png"},{"username":"BySempron","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15315986/medium/e3d22d7b1423c6823a9f36d595ed4bdb.png"},{"username":"jonathan.berglin.work","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15359236/medium/95930b2093db13b76179782f7322c5d5.png"},{"username":"icdmkg","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15405504/medium/f334d16cde1ac4ffb935b440d03465af.gif"},{"username":"irithys","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15405614/medium/3086461c47cce0a0c031925e5f943412.png"},{"username":"JannesV","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15419912/medium/a7809eb4b817d7c49b62cf10ae86b950.png"},{"username":"benniblot","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15419914/medium/8086b1573d31f152ba41949b3a172445.jpeg"},{"username":"pacjo","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15419916/medium/3cbeddbd7bc01faafb5a3bf47bba915b_default.png"},{"username":"Payou6994","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15419934/medium/37c9b9b17dfb578404c1c1ddb73ba7a8.png"},{"username":"fzibi21","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15419976/medium/0da688450358e0290a7b7359cc1f7328.png"},{"username":"WowMurdock","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15420118/medium/de19576fccb495b6dfe4c4c04a56b834.png"},{"username":"hbooo","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15420120/medium/6c7c7f8db785061356ebb03d044d3329.jpeg"},{"username":"Manicraft1001","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15420178/medium/50ec94563a06a9f74f33bd09f01eed4d.jpg"},{"username":"Void123","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15420354/medium/86929d44df92a00f9fe900a985c196df_default.png"},{"username":"R4cc","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15422606/medium/a390979662b84694f59de30bdb732141.jpeg"},{"username":"fabricionaweb","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15425808/medium/a9354142e7ae5152c144409d55fda551_default.png"},{"username":"JokeOfDead","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15426890/medium/a383eac9365e9de64fd4ab1d6fd0cb95.jpeg"},{"username":"hkz","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15427174/medium/c88acefb0d7306e1f7470e872029fb39_default.png"},{"username":"Steken","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15428516/medium/d5aea5653c769c3a523182bdb60d1664.png"},{"username":"flar.anton","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15428592/medium/b01fdb365d892e9f811f77fcb50a80a2.jpeg"},{"username":"Bon","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15433542/medium/5397da4dfc821f20b6ac14fe0c514e9a.jpeg"},{"username":"bfkadan","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15434162/medium/4f9a0b43cfe3acaea60124c14ba7f44a.png"},{"username":"BunnySweety","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15434662/medium/f0ef200a6a0dcf0e1d0e9ecd4148f560_default.png"},{"username":"HRKings","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15436168/medium/69a31e461d38549f01864e7ef10d642e.png"},{"username":"wiston81","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15439078/medium/10f292c8d12a7c21a44b54495fa4a3d8.jpeg"},{"username":"qaz0911","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15440860/medium/3d3e50ee388c72dc4bf7a771761f2d89_default.png"},{"username":"qqyule","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15441462/medium/7a3cdf82710ffb5d8f388bc0bd010665.png"},{"username":"Bims0n","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15445560/medium/603220b603eeb3367e0f0d3fa675247c.jpg"},{"username":"TariqDaCoder","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15446228/medium/50b0f4040112bbd67690b769477398e5_default.png"},{"username":"Anarchon","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15449644/medium/e925e1f3e3ffbf0f982391ce263a1a28.jpeg"},{"username":"Ashun","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15453020/medium/ccdcf51c73d6aae40751bb30beee1915_default.png"},{"username":"sebekmartin","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15454038/medium/bcfb44598cdfd1d7cd4eb35812538962.jpeg"},{"username":"RagnarGraves","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15459882/medium/143d5af850c1154070a218bea124e9cb_default.png"},{"username":"PrtmPhlp","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15462414/medium/b80db55e9de301432dcd1f8c8b24fd49_default.png"},{"username":"DooYoo","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15470768/medium/2a18cf4be67094724b508c9e1e698a21_default.png"},{"username":"espentruls","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15486092/medium/8e38afc3a4ff669226a0cfd3e420ff3a.jpeg"},{"username":"frisco82","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15486922/medium/4e1c5d4189b42508e660daa3c1c25b2a.jpeg"},{"username":"lupineDK","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15491798/medium/461bd501e8371c062bf29ea171aedd36_default.png"},{"username":"hillaliy","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15492732/medium/0bae17b421604892d888e3fc70cf0587.jpeg"},{"username":"MarcOrfilaCarreras","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15501072/medium/ea52b26c3c6f21e4931e38e3ce3f3d6e.png"},{"username":"robertbridda","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15507822/medium/a368c2e30411bb2da9b49290084191f3.png"},{"username":"MKoniuszko","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15518090/medium/87605434fcc839f6763ab07c50f6d232.jpeg"},{"username":"HeroSizy","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15518710/medium/4e79c0e98cbeb536dd961e656331b509.png"},{"username":"dwt136","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15520022/medium/554422503f2baea43ace85facb4546fb_default.png"},{"username":"asifthewebguy","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15526719/medium/b18931dd0c800d725048bd440646198b_default.png"},{"username":"eiloogs","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15545537/medium/f290a2f1190983530a9b76b2e858a609.gif"},{"username":"_vytdv","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15547289/medium/60d8644cc8ad6f11a92ccea4a14cd098_default.png"},{"username":"crendasien","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15554645/medium/598ab1d4aaf6b8dccd5ba16be92da7b9.jpeg"},{"username":"edxo","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15573823/medium/8a565b732a75a77f840dd123cdb30bf4.png"},{"username":"somerlev","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15617065/medium/f4b13513e311ec902d90b2f718412c55.jpg"},{"username":"kid1412621","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15643771/medium/dd455e32de652fa88e6fd97598bdffa7.png"},{"username":"suming","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15644717/medium/244159dfe10fa03436205506f80c9e25.png"},{"username":"nick.gher","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15647517/medium/5374a2c6fef60a3fbf0edf86b997c351_default.png"},{"username":"DataCat","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15650315/medium/ce7c1365adf35c5d490d77500a4607fb_default.png"},{"username":"dizo89","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15658375/medium/0ca745e5017d491fe1b22b0239904de8.jpeg"},{"username":"tee_noodle","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15674577/medium/804d9cf06f5196026acb6436b809d0da_default.png"},{"username":"Marty88","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15674593/medium/492b1509d52bd2809dea768121217125.jpeg"},{"username":"Spillebulle","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15677023/medium/20b98bb85062e07afe0e63618f8a5feb.PNG"},{"username":"petitmewen","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15685239/medium/15de9b62d2e0bc25013435f1784bbcc1.jpeg"},{"username":"NoProsNoNoobs","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15687709/medium/ae8f65fafeb8bcf74dcb8871bbe46461.png"},{"username":"y.gybson","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15690777/medium/b5cb5d2d5768904ff6586c727e3a6c77.jpeg"},{"username":"inside90","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15704947/medium/c1355fcb30dd76f8e39d98d1d49f1c52.png"},{"username":"RJSkudra","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15709853/medium/c3abf2774913dc4e81fb261d36d7668c.png"},{"username":"binge203","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15713937/medium/77c1cfa4314673db80e6881fd9f64668.gif"},{"username":"Mailootje","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15714337/medium/743c3bc4ab1989966a375eeeec83d8b8.jpeg"},{"username":"tim-wiegers","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15719805/medium/08a96f064813350661cd6b20bf3d7d99.png"},{"username":"GkhnG","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15722911/medium/71a027caec489ef6ce82bcf1888329d0_default.png"},{"username":"Zoen-Millo","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15760967/medium/9e956f11adc5b34f5636268b5c485dbf.jpg"},{"username":"HooinKyoma","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15792897/medium/9489f0a9b368e0e827ae758b740a2eed.jpeg"},{"username":"wathergeen","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15794495/medium/a83b7fc80d180669ebfd6deb3544cfd0.png"},{"username":"MoeToo","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15818233/medium/d35cd6953717706eaf20f6c143c62947.png"},{"username":"itodouble","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15836233/medium/e984caea18fb0673bf319fcf28cef649.png"},{"username":"loslocitos","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15847901/medium/fe30d12fd2cf38212f929e13b169f9ec.jpeg"},{"username":"Oversleep","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15849065/medium/06141f13a6d541d753f3c2f2947b8068_default.png"},{"username":"Beardy","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15865139/medium/fca6b9d2b3f52e286d1568f52b83b6a0_default.png"},{"username":"raelyan","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15875457/medium/2f4fda1d1aaa5dcc79b328baf3f03151.jpeg"},{"username":"dolphin738","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15913763/medium/ee6fede7b8528ca642329ada80d1cc18.png"},{"username":"brunotco","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15916719/medium/09db45880fc05abc18adb8d932a5ecf9_default.png"},{"username":"LukeIsHereToDevelop","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15924739/medium/3e6cd3940297bb4ba7bb039c93e6f918.png"},{"username":"kennit","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15925879/medium/6b0733ad3c5949b91c55e4d8b03db8a5_default.png"},{"username":"kuunpire","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15950309/medium/8192a4f08f07086828ac9f74ed29a169.jpeg"},{"username":"Sandor-dev","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15951759/medium/0216c2da4eb028164ebbecf1c72f6271_default.png"},{"username":"Meierschlumpf","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15953187/medium/23c744faef1ab84fbdc9351a7850aab6.jpeg"},{"username":"harmlesscat","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15970733/medium/dd8d0214a0250c932bb518b1b55e45a2_default.png"},{"username":"OrzWTF","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15976121/medium/4c4557cbff7ff7b0503455bc59c020e0.jpeg"},{"username":"tagaishi","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15977271/medium/eade504c83a5a1ff831c80a538fbdb44_default.png"},{"username":"azurite928","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15981895/medium/547ccc459ee123e78b5401c499f1022d.png"},{"username":"Ronner231","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16021342/medium/7734d550df2de5a2fec2ffff33e7024c.jpeg"},{"username":"ugyes","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16034148/medium/ed001e3f470a2dea9a8ce955b18e7bd5.png"},{"username":"rpieja","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16045554/medium/bd55baca2ef8b92502a760cc9ee7c505_default.png"},{"username":"flambyisyou","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16051620/medium/3a3bc0c90f6b95ab4ef74396a0a17beb.png"},{"username":"Topbcy","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16077170/medium/d3aed33ea56330338756cfcd89477cfe.jpeg"},{"username":"ai5d02sb","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16084674/medium/7c8119fe2a5ca71bb15f636916a42b95_default.png"},{"username":"explosiveparrot","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16097722/medium/7762f80fc1da63f5b2eb87de9d640324_default.png"},{"username":"DestroyCom","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16111544/medium/83e3d3ac5c8bfed634cd1a074854db67.png"},{"username":"neotraxo","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16116966/medium/b30df957873329019a8a90a69f6efe3a.png"},{"username":"gzxpa","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16123314/medium/487b05577310a946b0b98bc72c11213b_default.png"},{"username":"TORIK","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16124732/medium/de770890e6411860ac06e8cc2dc0abd0_default.png"},{"username":"sergio.pibot","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16138114/medium/80db802b2fcd6bbf19ea4c7413367dca.jpeg"},{"username":"karam-ajaj","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16139838/medium/7539ab958d3c85d5f67e7849483ea8f7.jpeg"},{"username":"SimonHenz97","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16151520/medium/9b94a85b536688e2d94538c384fd0a76.png"},{"username":"olsson82","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16198988/medium/eeaab4cba210c537424d4204754b604e.png"},{"username":"bo3bdo","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16222806/medium/8652f3beacb6098dde5a4cd0a29fe80d.jpeg"},{"username":"AngryPlayer04","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16245192/medium/342715274f4dc31fd4132cdae9126188.jpeg"},{"username":"ehatamm","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16245884/medium/979d5e5526fe545be9bf46db481f7182.jpeg"},{"username":"Balionelis","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16246058/medium/986d62ba363594c517d966fe9178dcbb.png"},{"username":"kwargs","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16248816/medium/19ce11f04bf1ae2637e0483399c675f9_default.png"},{"username":"lucicu","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16273892/medium/3b09e8f3bead221ef98d6a45a16851dc_default.png"},{"username":"Michael5564445","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16357688/medium/9d9026a8bf3eaccb0417da240932ebf7.png"},{"username":"Netscream","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16359198/medium/694e0c8572dc8a47e6d63da31ec5b992.png"},{"username":"belicstefan04","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16368142/medium/4742dcfd7bf7ad7e33e37ac44fba7e0f.png"},{"username":"Hamad2066","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16371478/medium/f37bbc7685b6757defdbd1494236af61.jpeg"},{"username":"3ct0pl4sm","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16399616/medium/ce796d1c40163975624c0a483e56374f.png"},{"username":"sanchez.marcell626","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16433865/medium/3ddde1314764cc2205ffdcd1ae719a91.png"},{"username":"Minoctis","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16490079/medium/91fd0849303a4eca033d660d0a7b6854.jpeg"},{"username":"vittoriosoccorso","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16498805/medium/17086b2f1981f734edd1572f79c3158a.jpeg"},{"username":"Worgen325","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16533177/medium/4a62cc6b06095751aeb4b1b3e96db93f.png"},{"username":"homarr","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16657003/medium/3afabfd3de949a54ff5d40ad04552aba.png"},{"username":"mwgg","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16658379/medium/763dd09f5c238cc5324d4d5357985292.png"},{"username":"dymek37","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16659221/medium/d1dc6d11d7e7fc370efc5070e837ae03.png"},{"username":"kiwinho","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16671855/medium/bfe3a2d497dc4748a04d02e4ae2139cb.jpeg"},{"username":"tjvg4m34r13","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16679135/medium/7a483b9b0abe0d925e54808e1cb38fa0.jpeg"},{"username":"Diegoem","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16705921/medium/29ce68ebc191fc3f65499511b12de98f_default.png"},{"username":"bouks69","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16746091/medium/b58b1fc08520de416198be9df5d093eb.jpeg"},{"username":"futhgar","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16748067/medium/b8c526b097f9aa9d687250cac3df16dc.jpeg"},{"username":"GrimSQL","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16764343/medium/fff729a76d1f8fbcdaee9bb0c0f5f3fd.png"},{"username":"chnikel","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16767047/medium/3dda2a37e03049dafefe6697bb00f75c.png"},{"username":"yuki19870616","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16767951/medium/f59c848e38382cda6c8464b0a7b9e642_default.png"},{"username":"noamdal","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16782245/medium/b4a72a61f9caf138f0322c0cb987e6d0.png"},{"username":"MalithRukshan","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16809057/medium/084d6a5b35fbbeacc70e7021197d222f.png"},{"username":"minirope19","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16930929/medium/e8cbbc26747e31c5a8959215e1dd067b.jpeg"},{"username":"toineenzo","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/12371852/medium/9f1b2bedb4794c59479cd289bdba9fab.png"},{"username":"ArcaneWater","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/12421105/medium/1ac82517a6c658f6b62c48aebcb17e86_default.png"},{"username":"SergiSvK","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13320543/medium/3df3c79cc5f0c53716c559cd3fd2fc20.png"},{"username":"Cruellest","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13610615/medium/2a74faa0947ee08d18f7946fb8602c1e.jpg"},{"username":"Thario","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14491372/medium/dd5e142070802a672900121aa3f332a6_default.png"},{"username":"regi4","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14842936/medium/f7e1d672f562a7db61ba6b4b8f4de41d.png"},{"username":"baton5129","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14891064/medium/8d438f557b82977dd02f0ead3187265f.PNG"},{"username":"TheRedCyclops","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16486399/medium/7f39226180120d5a9efcb8e13d8aec8e_default.png"},{"username":"B3CKDOOR","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16744975/medium/e6c7b2d45e76465d54e6efb67c83da7d.png"},{"username":"Larsluph","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16779933/medium/ed7d36f8b44013bad3a16ac0491bd0f7.png"},{"username":"FOEDI","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16781001/medium/6b4552fb72e359aa016f7a054078fac8.png"},{"username":"xmarkurion","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16805443/medium/34a20428427de5aaef99c7d140646803.png"},{"username":"gregid","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16806705/medium/f3c8f4a20436e8538929130142bbc104.png"},{"username":"Flameberg","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16820453/medium/d47be866148474c9d05fec6fbe406d88.png"},{"username":"Playfust","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16872865/medium/5f4609cc711e5fb9fa8a0b178635769c.jpeg"},{"username":"Cotignac","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16879297/medium/81ff353edf030699a159bb79cda26e84.jpg"},{"username":"LeaHun","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16916375/medium/618520f0543b1e212ebc83d66b683d4b_default.png"},{"username":"jackwellerreal","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16919717/medium/37bbfdc03893f141133ccc619593266d.png"},{"username":"andrius.cim","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16967845/medium/46028fc1a0ddfaaeebcb37b39739625d_default.png"},{"username":"xjxexrxrxyx","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17041412/medium/d34d664166db6fb25579bca9ff3b50b4.jpeg"},{"username":"bilhal.fellah","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17044572/medium/d1ec6f17e4aa013e9eededc83778d2c6.png"},{"username":"the_octo","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17058060/medium/7423ab3a4cabb67f5decb2e2dfa2b675_default.png"},{"username":"BamesJond","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17075846/medium/128d7ffd40254c8e376f45678e2fc620_default.png"},{"username":"Kornikus","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17134240/medium/d7a42b2c30db46ff152699ca01f9e11a_default.png"}] \ No newline at end of file +[{"username":"carlchina","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/6697/medium/d22bbe7797bbeb30dbdc73a5648d329a_default.png"},{"username":"zielmann","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/7795/medium/ad22b8b8d5eb33e4154d53a454c862fd_default.png"},{"username":"Thalyn","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/12494028/medium/5faf5acc945a874ed116c4567edaa09f_default.png"},{"username":"magnushj","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/12503488/medium/68f32e33ea7b891960055c9f831f7344_default.png"},{"username":"almontegil","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/12580457/medium/f4136cacbdfdb4c28ae7f85dc5f840db_default.png"},{"username":"Skick","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/12619811/medium/0331f1de413a645b4516bc4e037f31bb.jpg"},{"username":"andibing","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/12664938/medium/b8be63e4dcb2e791ced1ffc9e3a049a5.jpg"},{"username":"gronare","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/12680911/medium/c6eb14d1504156f34a158e507f73aa3d_default.png"},{"username":"SmartPhoneLover","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/12701640/medium/ec95486662ec875cda080e778c3ff702.jpg"},{"username":"marcelotk_15","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/12773227/medium/ecf6bea16ab0c873c131df2154ee9718_default.png"},{"username":"S3OD177","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13051544/medium/11dd990837f61f7e8f7d36b041a7fddb_default.png"},{"username":"marcg","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13153301/medium/ebcf60fbf27deb148ec40a659566c6ff_default.png"},{"username":"BeersTeddy","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13185230/medium/2f1f4e1effe74a23422b195cbefb2a95_default.png"},{"username":"jamesmcmahon0","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13245578/medium/586aa873b4abddbd9abc6f3de99ab70e.jpeg"},{"username":"b1nar10","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13286752/medium/249b02e3368752cb175446082015737c_default.png"},{"username":"vannCN","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13330448/medium/9b8a9ee3611e51e951e22d5fd4eb7d8d.jpg"},{"username":"binswm","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13343482/medium/45dde0e6097b9b72705d2eba9dbbc276_default.png"},{"username":"SkewRam","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13496556/medium/188f5c2deb7938eda51eb786cc4539ca.jpeg"},{"username":"raphcatarino","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13547726/medium/b003511e67df13a4b4b5689488fa8099.jpg"},{"username":"shillos5","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13600557/medium/b17650b2b84f829d54fa548c44c1ab27.jpeg"},{"username":"wolong98","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13641407/medium/f4634edc58c7857a357e5293543c15cf.jpg"},{"username":"spair0039","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14012333/medium/72430e96027c09c19141cac38eae4617.png"},{"username":"MajorMarcin","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14072183/medium/0a197e64bb92b6ea94cecbb607512c45.jpg"},{"username":"KosmoMoustache","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14103535/medium/51c438cdd9f86e8811c75f4869de479c.png"},{"username":"Soochaehwa","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14118689/medium/496a1ce63111547bf455a1e0a7ac75f1_default.png"},{"username":"garryfield","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14187035/medium/520c964706676045f6eeec1b08edc880.jpg"},{"username":"droidenko","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14444264/medium/4aa3a8e824f72bc9e5ec0d8de307095e.jpeg"},{"username":"maathis","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14489950/medium/6eeddf13a757ee35f78f1763f94d95e1.jpeg"},{"username":"bukvam","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14546502/medium/a819dc40a13c57395a17dc46e847d3ce.jpg"},{"username":"gm.cinalli","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14670666/medium/2d466a0fdbda40764526be86c97c0ab4.jpeg"},{"username":"antoine2tt","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14722148/medium/f88d926900862dd59007ea4b3419cb9d.png"},{"username":"cretzen","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14799754/medium/3ba5c1805ec20c000d5810c07985afe9.jpg"},{"username":"ktKongTong","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14817246/medium/97cfc3c028dbdaf85ebd1102da71e58c.jpeg"},{"username":"marinkaberg","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14861042/medium/2d5c4e62613f03082f3e645fa92efd59.jpeg"},{"username":"djismgaming","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14934947/medium/f5a8570713c34ab0f7d5405d105e2a9a.jpeg"},{"username":"f1refa11","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14949159/medium/fd2ae63b8eb4462200ba96abf943c1b9.png"},{"username":"jeffersonraimon","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15057621/medium/6dff469563860e2618bc9d45646d0ab4.png"},{"username":"giop98","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15057987/medium/b8a4825d3fc39fc662f35ee258db4b2d.jpeg"},{"username":"tomislav.kraljevic","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15118857/medium/e133f1061cc92850b854d05d8faaeafd.png"},{"username":"Walkx","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15202182/medium/5c37361ae45aeed487b34582c1f7ca37.png"},{"username":"andrea.rosso","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15246318/medium/11f3f5ef44ec7f55b6f143090e208704_default.png"},{"username":"ajnart","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15270132/medium/a0f107a463c8910ee96bc2fa843a17e3.jpeg"},{"username":"Witchling","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15282238/medium/9e196b6783415b10ca571b7673c2ef33.jpg"},{"username":"guineuu","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15292058/medium/22fbb758bda3b7805d50bf21d38f2c20.jpeg"},{"username":"Bulgus","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15304568/medium/0e8787e5ceb02ed5c96a514d0068ae87.jpg"},{"username":"Narno","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15314996/medium/a6ba093f24884250a1bf6c6f2ca50f1b_default.png"},{"username":"BySempron","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15315986/medium/e3d22d7b1423c6823a9f36d595ed4bdb.png"},{"username":"jonathan.berglin.work","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15359236/medium/95930b2093db13b76179782f7322c5d5.png"},{"username":"icdmkg","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15405504/medium/f334d16cde1ac4ffb935b440d03465af.gif"},{"username":"irithys","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15405614/medium/3086461c47cce0a0c031925e5f943412.png"},{"username":"JannesV","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15419912/medium/a7809eb4b817d7c49b62cf10ae86b950.png"},{"username":"benniblot","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15419914/medium/8086b1573d31f152ba41949b3a172445.jpeg"},{"username":"pacjo","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15419916/medium/3cbeddbd7bc01faafb5a3bf47bba915b_default.png"},{"username":"Payou6994","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15419934/medium/37c9b9b17dfb578404c1c1ddb73ba7a8.png"},{"username":"fzibi21","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15419976/medium/0da688450358e0290a7b7359cc1f7328.png"},{"username":"WowMurdock","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15420118/medium/de19576fccb495b6dfe4c4c04a56b834.png"},{"username":"hbooo","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15420120/medium/6c7c7f8db785061356ebb03d044d3329.jpeg"},{"username":"Manicraft1001","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15420178/medium/50ec94563a06a9f74f33bd09f01eed4d.jpg"},{"username":"Void123","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15420354/medium/86929d44df92a00f9fe900a985c196df_default.png"},{"username":"R4cc","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15422606/medium/a390979662b84694f59de30bdb732141.jpeg"},{"username":"fabricionaweb","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15425808/medium/a9354142e7ae5152c144409d55fda551_default.png"},{"username":"JokeOfDead","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15426890/medium/a383eac9365e9de64fd4ab1d6fd0cb95.jpeg"},{"username":"hkz","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15427174/medium/c88acefb0d7306e1f7470e872029fb39_default.png"},{"username":"Steken","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15428516/medium/d5aea5653c769c3a523182bdb60d1664.png"},{"username":"flar.anton","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15428592/medium/b01fdb365d892e9f811f77fcb50a80a2.jpeg"},{"username":"Bon","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15433542/medium/5397da4dfc821f20b6ac14fe0c514e9a.jpeg"},{"username":"bfkadan","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15434162/medium/4f9a0b43cfe3acaea60124c14ba7f44a.png"},{"username":"BunnySweety","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15434662/medium/f0ef200a6a0dcf0e1d0e9ecd4148f560_default.png"},{"username":"HRKings","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15436168/medium/69a31e461d38549f01864e7ef10d642e.png"},{"username":"wiston81","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15439078/medium/10f292c8d12a7c21a44b54495fa4a3d8.jpeg"},{"username":"qaz0911","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15440860/medium/3d3e50ee388c72dc4bf7a771761f2d89_default.png"},{"username":"qqyule","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15441462/medium/7a3cdf82710ffb5d8f388bc0bd010665.png"},{"username":"Bims0n","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15445560/medium/603220b603eeb3367e0f0d3fa675247c.jpg"},{"username":"TariqDaCoder","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15446228/medium/50b0f4040112bbd67690b769477398e5_default.png"},{"username":"Anarchon","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15449644/medium/e925e1f3e3ffbf0f982391ce263a1a28.jpeg"},{"username":"Ashun","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15453020/medium/ccdcf51c73d6aae40751bb30beee1915_default.png"},{"username":"sebekmartin","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15454038/medium/bcfb44598cdfd1d7cd4eb35812538962.jpeg"},{"username":"RagnarGraves","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15459882/medium/143d5af850c1154070a218bea124e9cb_default.png"},{"username":"PrtmPhlp","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15462414/medium/b80db55e9de301432dcd1f8c8b24fd49_default.png"},{"username":"DooYoo","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15470768/medium/2a18cf4be67094724b508c9e1e698a21_default.png"},{"username":"espentruls","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15486092/medium/8e38afc3a4ff669226a0cfd3e420ff3a.jpeg"},{"username":"frisco82","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15486922/medium/4e1c5d4189b42508e660daa3c1c25b2a.jpeg"},{"username":"lupineDK","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15491798/medium/461bd501e8371c062bf29ea171aedd36_default.png"},{"username":"hillaliy","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15492732/medium/0bae17b421604892d888e3fc70cf0587.jpeg"},{"username":"MarcOrfilaCarreras","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15501072/medium/ea52b26c3c6f21e4931e38e3ce3f3d6e.png"},{"username":"robertbridda","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15507822/medium/a368c2e30411bb2da9b49290084191f3.png"},{"username":"MKoniuszko","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15518090/medium/87605434fcc839f6763ab07c50f6d232.jpeg"},{"username":"HeroSizy","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15518710/medium/4e79c0e98cbeb536dd961e656331b509.png"},{"username":"dwt136","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15520022/medium/554422503f2baea43ace85facb4546fb_default.png"},{"username":"asifthewebguy","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15526719/medium/b18931dd0c800d725048bd440646198b_default.png"},{"username":"eiloogs","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15545537/medium/f290a2f1190983530a9b76b2e858a609.gif"},{"username":"_vytdv","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15547289/medium/60d8644cc8ad6f11a92ccea4a14cd098_default.png"},{"username":"crendasien","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15554645/medium/598ab1d4aaf6b8dccd5ba16be92da7b9.jpeg"},{"username":"edxo","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15573823/medium/8a565b732a75a77f840dd123cdb30bf4.png"},{"username":"somerlev","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15617065/medium/f4b13513e311ec902d90b2f718412c55.jpg"},{"username":"kid1412621","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15643771/medium/dd455e32de652fa88e6fd97598bdffa7.png"},{"username":"suming","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15644717/medium/244159dfe10fa03436205506f80c9e25.png"},{"username":"nick.gher","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15647517/medium/5374a2c6fef60a3fbf0edf86b997c351_default.png"},{"username":"DataCat","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15650315/medium/ce7c1365adf35c5d490d77500a4607fb_default.png"},{"username":"dizo89","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15658375/medium/0ca745e5017d491fe1b22b0239904de8.jpeg"},{"username":"tee_noodle","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15674577/medium/804d9cf06f5196026acb6436b809d0da_default.png"},{"username":"Marty88","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15674593/medium/492b1509d52bd2809dea768121217125.jpeg"},{"username":"Spillebulle","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15677023/medium/20b98bb85062e07afe0e63618f8a5feb.PNG"},{"username":"petitmewen","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15685239/medium/15de9b62d2e0bc25013435f1784bbcc1.jpeg"},{"username":"NoProsNoNoobs","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15687709/medium/ae8f65fafeb8bcf74dcb8871bbe46461.png"},{"username":"y.gybson","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15690777/medium/b5cb5d2d5768904ff6586c727e3a6c77.jpeg"},{"username":"inside90","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15704947/medium/c1355fcb30dd76f8e39d98d1d49f1c52.png"},{"username":"RJSkudra","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15709853/medium/c3abf2774913dc4e81fb261d36d7668c.png"},{"username":"binge203","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15713937/medium/77c1cfa4314673db80e6881fd9f64668.gif"},{"username":"Mailootje","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15714337/medium/743c3bc4ab1989966a375eeeec83d8b8.jpeg"},{"username":"tim-wiegers","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15719805/medium/08a96f064813350661cd6b20bf3d7d99.png"},{"username":"GkhnG","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15722911/medium/71a027caec489ef6ce82bcf1888329d0_default.png"},{"username":"Zoen-Millo","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15760967/medium/9e956f11adc5b34f5636268b5c485dbf.jpg"},{"username":"HooinKyoma","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15792897/medium/9489f0a9b368e0e827ae758b740a2eed.jpeg"},{"username":"wathergeen","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15794495/medium/a83b7fc80d180669ebfd6deb3544cfd0.png"},{"username":"MoeToo","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15818233/medium/d35cd6953717706eaf20f6c143c62947.png"},{"username":"itodouble","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15836233/medium/e984caea18fb0673bf319fcf28cef649.png"},{"username":"loslocitos","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15847901/medium/fe30d12fd2cf38212f929e13b169f9ec.jpeg"},{"username":"Oversleep","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15849065/medium/06141f13a6d541d753f3c2f2947b8068_default.png"},{"username":"Beardy","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15865139/medium/fca6b9d2b3f52e286d1568f52b83b6a0_default.png"},{"username":"raelyan","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15875457/medium/2f4fda1d1aaa5dcc79b328baf3f03151.jpeg"},{"username":"dolphin738","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15913763/medium/ee6fede7b8528ca642329ada80d1cc18.png"},{"username":"brunotco","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15916719/medium/09db45880fc05abc18adb8d932a5ecf9_default.png"},{"username":"LukeIsHereToDevelop","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15924739/medium/3e6cd3940297bb4ba7bb039c93e6f918.png"},{"username":"kennit","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15925879/medium/6b0733ad3c5949b91c55e4d8b03db8a5_default.png"},{"username":"kuunpire","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15950309/medium/8192a4f08f07086828ac9f74ed29a169.jpeg"},{"username":"Sandor-dev","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15951759/medium/0216c2da4eb028164ebbecf1c72f6271_default.png"},{"username":"Meierschlumpf","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15953187/medium/23c744faef1ab84fbdc9351a7850aab6.jpeg"},{"username":"harmlesscat","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15970733/medium/dd8d0214a0250c932bb518b1b55e45a2_default.png"},{"username":"OrzWTF","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15976121/medium/4c4557cbff7ff7b0503455bc59c020e0.jpeg"},{"username":"tagaishi","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15977271/medium/eade504c83a5a1ff831c80a538fbdb44_default.png"},{"username":"azurite928","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15981895/medium/547ccc459ee123e78b5401c499f1022d.png"},{"username":"Ronner231","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16021342/medium/7734d550df2de5a2fec2ffff33e7024c.jpeg"},{"username":"ugyes","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16034148/medium/ed001e3f470a2dea9a8ce955b18e7bd5.png"},{"username":"rpieja","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16045554/medium/bd55baca2ef8b92502a760cc9ee7c505_default.png"},{"username":"flambyisyou","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16051620/medium/3a3bc0c90f6b95ab4ef74396a0a17beb.png"},{"username":"Topbcy","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16077170/medium/d3aed33ea56330338756cfcd89477cfe.jpeg"},{"username":"ai5d02sb","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16084674/medium/7c8119fe2a5ca71bb15f636916a42b95_default.png"},{"username":"explosiveparrot","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16097722/medium/7762f80fc1da63f5b2eb87de9d640324_default.png"},{"username":"DestroyCom","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16111544/medium/83e3d3ac5c8bfed634cd1a074854db67.png"},{"username":"neotraxo","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16116966/medium/b30df957873329019a8a90a69f6efe3a.png"},{"username":"gzxpa","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16123314/medium/487b05577310a946b0b98bc72c11213b_default.png"},{"username":"TORIK","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16124732/medium/de770890e6411860ac06e8cc2dc0abd0_default.png"},{"username":"sergio.pibot","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16138114/medium/80db802b2fcd6bbf19ea4c7413367dca.jpeg"},{"username":"karam-ajaj","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16139838/medium/7539ab958d3c85d5f67e7849483ea8f7.jpeg"},{"username":"SimonHenz97","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16151520/medium/9b94a85b536688e2d94538c384fd0a76.png"},{"username":"olsson82","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16198988/medium/eeaab4cba210c537424d4204754b604e.png"},{"username":"bo3bdo","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16222806/medium/8652f3beacb6098dde5a4cd0a29fe80d.jpeg"},{"username":"AngryPlayer04","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16245192/medium/342715274f4dc31fd4132cdae9126188.jpeg"},{"username":"ehatamm","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16245884/medium/979d5e5526fe545be9bf46db481f7182.jpeg"},{"username":"Balionelis","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16246058/medium/986d62ba363594c517d966fe9178dcbb.png"},{"username":"kwargs","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16248816/medium/19ce11f04bf1ae2637e0483399c675f9_default.png"},{"username":"lucicu","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16273892/medium/3b09e8f3bead221ef98d6a45a16851dc_default.png"},{"username":"Michael5564445","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16357688/medium/9d9026a8bf3eaccb0417da240932ebf7.png"},{"username":"Netscream","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16359198/medium/694e0c8572dc8a47e6d63da31ec5b992.png"},{"username":"belicstefan04","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16368142/medium/4742dcfd7bf7ad7e33e37ac44fba7e0f.png"},{"username":"Hamad2066","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16371478/medium/f37bbc7685b6757defdbd1494236af61.jpeg"},{"username":"3ct0pl4sm","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16399616/medium/ce796d1c40163975624c0a483e56374f.png"},{"username":"sanchez.marcell626","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16433865/medium/3ddde1314764cc2205ffdcd1ae719a91.png"},{"username":"Minoctis","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16490079/medium/91fd0849303a4eca033d660d0a7b6854.jpeg"},{"username":"vittoriosoccorso","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16498805/medium/17086b2f1981f734edd1572f79c3158a.jpeg"},{"username":"Worgen325","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16533177/medium/4a62cc6b06095751aeb4b1b3e96db93f.png"},{"username":"homarr","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16657003/medium/3afabfd3de949a54ff5d40ad04552aba.png"},{"username":"mwgg","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16658379/medium/763dd09f5c238cc5324d4d5357985292.png"},{"username":"dymek37","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16659221/medium/d1dc6d11d7e7fc370efc5070e837ae03.png"},{"username":"kiwinho","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16671855/medium/bfe3a2d497dc4748a04d02e4ae2139cb.jpeg"},{"username":"tjvg4m34r13","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16679135/medium/7a483b9b0abe0d925e54808e1cb38fa0.jpeg"},{"username":"Diegoem","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16705921/medium/29ce68ebc191fc3f65499511b12de98f_default.png"},{"username":"bouks69","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16746091/medium/b58b1fc08520de416198be9df5d093eb.jpeg"},{"username":"futhgar","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16748067/medium/b8c526b097f9aa9d687250cac3df16dc.jpeg"},{"username":"GrimSQL","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16764343/medium/fff729a76d1f8fbcdaee9bb0c0f5f3fd.png"},{"username":"chnikel","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16767047/medium/3dda2a37e03049dafefe6697bb00f75c.png"},{"username":"yuki19870616","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16767951/medium/f59c848e38382cda6c8464b0a7b9e642_default.png"},{"username":"noamdal","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16782245/medium/b4a72a61f9caf138f0322c0cb987e6d0.png"},{"username":"MalithRukshan","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16809057/medium/084d6a5b35fbbeacc70e7021197d222f.png"},{"username":"minirope19","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16930929/medium/e8cbbc26747e31c5a8959215e1dd067b.jpeg"},{"username":"toineenzo","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/12371852/medium/9f1b2bedb4794c59479cd289bdba9fab.png"},{"username":"ArcaneWater","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/12421105/medium/1ac82517a6c658f6b62c48aebcb17e86_default.png"},{"username":"SergiSvK","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13320543/medium/3df3c79cc5f0c53716c559cd3fd2fc20.png"},{"username":"Cruellest","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13610615/medium/2a74faa0947ee08d18f7946fb8602c1e.jpg"},{"username":"Thario","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14491372/medium/dd5e142070802a672900121aa3f332a6_default.png"},{"username":"regi4","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14842936/medium/f7e1d672f562a7db61ba6b4b8f4de41d.png"},{"username":"baton5129","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14891064/medium/8d438f557b82977dd02f0ead3187265f.PNG"},{"username":"TheRedCyclops","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16486399/medium/7f39226180120d5a9efcb8e13d8aec8e_default.png"},{"username":"B3CKDOOR","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16744975/medium/e6c7b2d45e76465d54e6efb67c83da7d.png"},{"username":"Larsluph","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16779933/medium/ed7d36f8b44013bad3a16ac0491bd0f7.png"},{"username":"FOEDI","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16781001/medium/6b4552fb72e359aa016f7a054078fac8.png"},{"username":"xmarkurion","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16805443/medium/34a20428427de5aaef99c7d140646803.png"},{"username":"gregid","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16806705/medium/f3c8f4a20436e8538929130142bbc104.png"},{"username":"Flameberg","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16820453/medium/d47be866148474c9d05fec6fbe406d88.png"},{"username":"Playfust","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16872865/medium/5f4609cc711e5fb9fa8a0b178635769c.jpeg"},{"username":"Cotignac","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16879297/medium/81ff353edf030699a159bb79cda26e84.jpg"},{"username":"LeaHun","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16916375/medium/618520f0543b1e212ebc83d66b683d4b_default.png"},{"username":"jackwellerreal","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16919717/medium/37bbfdc03893f141133ccc619593266d.png"},{"username":"andrius.cim","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16967845/medium/46028fc1a0ddfaaeebcb37b39739625d_default.png"},{"username":"xjxexrxrxyx","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17041412/medium/d34d664166db6fb25579bca9ff3b50b4.jpeg"},{"username":"bilhal.fellah","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17044572/medium/d1ec6f17e4aa013e9eededc83778d2c6.png"},{"username":"the_octo","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17058060/medium/7423ab3a4cabb67f5decb2e2dfa2b675_default.png"},{"username":"BamesJond","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17075846/medium/128d7ffd40254c8e376f45678e2fc620_default.png"},{"username":"Kornikus","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17134240/medium/d7a42b2c30db46ff152699ca01f9e11a_default.png"},{"username":"xoxyuxu","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17176526/medium/108055aa24343043de852e412bec74be.png"}] \ No newline at end of file diff --git a/tooling/eslint/package.json b/tooling/eslint/package.json index a4d5d1499..3c0997779 100644 --- a/tooling/eslint/package.json +++ b/tooling/eslint/package.json @@ -20,11 +20,11 @@ "@next/eslint-plugin-next": "15.3.4", "eslint-config-prettier": "^10.1.5", "eslint-config-turbo": "^2.5.4", - "eslint-plugin-import": "^2.31.0", + "eslint-plugin-import": "^2.32.0", "eslint-plugin-jsx-a11y": "^6.10.2", "eslint-plugin-react": "^7.37.5", "eslint-plugin-react-hooks": "^5.2.0", - "typescript-eslint": "^8.34.1" + "typescript-eslint": "^8.35.0" }, "devDependencies": { "@homarr/prettier-config": "workspace:^0.1.0", diff --git a/tooling/prettier/package.json b/tooling/prettier/package.json index a99aa9a1f..82e6747e2 100644 --- a/tooling/prettier/package.json +++ b/tooling/prettier/package.json @@ -11,11 +11,11 @@ "prettier": "@homarr/prettier-config", "dependencies": { "@ianvs/prettier-plugin-sort-imports": "^4.4.2", - "prettier": "^3.5.3" + "prettier": "^3.6.2" }, "devDependencies": { "@homarr/tsconfig": "workspace:^0.1.0", - "prettier-plugin-packagejson": "^2.5.15", + "prettier-plugin-packagejson": "^2.5.16", "typescript": "^5.8.3" } }