From e77b9bb3d27324a8822c54e2556d7461f4eb5459 Mon Sep 17 00:00:00 2001 From: Meier Lukas Date: Thu, 30 Apr 2026 18:28:32 +0200 Subject: [PATCH 01/63] ci: support releases on next branch (#5599) Co-authored-by: Copilot --- .github/workflows/deployment-docker-image.yml | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/.github/workflows/deployment-docker-image.yml b/.github/workflows/deployment-docker-image.yml index cec31c489..12d3025cd 100644 --- a/.github/workflows/deployment-docker-image.yml +++ b/.github/workflows/deployment-docker-image.yml @@ -5,6 +5,7 @@ on: branches: - main - beta + - next - dev workflow_dispatch: inputs: @@ -34,7 +35,7 @@ jobs: runs-on: ubuntu-latest timeout-minutes: 5 env: - SKIP_RELEASE: ${{ github.event_name == 'workflow_dispatch' || github.ref_name == 'dev' }} + SKIP_RELEASE: ${{ github.event_name == 'workflow_dispatch' || github.ref_name == 'dev' || github.ref_name == 'next' }} outputs: version: ${{ steps.read-semver.outputs.version || steps.version-fallback.outputs.version }} git_ref: ${{ steps.read-git-ref.outputs.ref || github.ref }} @@ -54,7 +55,7 @@ jobs: with: private-key: ${{ secrets.RENOVATE_MERGE_PRIVATE_KEY }} app-id: ${{ secrets.RENOVATE_MERGE_APP_ID }} - permission-contents: write # required to commit package.json & changelog changes, merge them to dev and publish the release + permission-contents: write # required to commit package.json & changelog changes, merge them to dev / next and publish the release - uses: actions/checkout@v6 if: env.SKIP_RELEASE == 'false' @@ -95,20 +96,21 @@ jobs: id: read-git-ref run: | echo "ref=$(git rev-parse HEAD)" >> "$GITHUB_OUTPUT" - - name: Update dev branch + - name: Update dev / next branch if: env.SKIP_RELEASE == 'false' continue-on-error: true # Prevent pipeline from failing when merge fails env: GITHUB_TOKEN: ${{ steps.obtainToken.outputs.token }} + UPSTREAM_BRANCH: ${{ github.ref_name == 'main' && 'dev' || 'next' }} run: | git config user.name "Releases Homarr" git config user.email "175486441+homarr-releases[bot]@users.noreply.github.com" git remote set-url origin https://x-access-token:${{ steps.obtainToken.outputs.token }}@github.com/${{ github.repository }}.git - git fetch origin dev - git checkout dev - git pull origin dev + git fetch origin ${{ env.UPSTREAM_BRANCH }} + git checkout ${{ env.UPSTREAM_BRANCH }} + git pull origin ${{ env.UPSTREAM_BRANCH }} git rebase ${{ github.ref_name }} - git push origin dev + git push origin ${{ env.UPSTREAM_BRANCH }} build-amd64: name: Build docker image for amd64 needs: release From a1aa5505a365688b456090a882770e561479833e Mon Sep 17 00:00:00 2001 From: Meier Lukas Date: Fri, 1 May 2026 16:35:11 +0200 Subject: [PATCH 02/63] perf(memory): combine 3 node processes into one (#5600) Co-authored-by: Copilot --- .env.example | 4 - Dockerfile | 2 - apps/nextjs/package.json | 2 + apps/nextjs/src/instrumentation.ts | 6 ++ apps/tasks/package.json | 4 +- apps/tasks/src/main.ts | 40 ------- apps/websocket/package.json | 4 +- package.json | 2 +- packages/api/package.json | 1 - packages/api/src/router/cron-jobs.ts | 35 +++--- packages/cron-job-api/eslint.config.js | 9 -- packages/cron-job-api/package.json | 48 --------- packages/cron-job-api/src/client.ts | 20 ---- packages/cron-job-api/src/constants.ts | 3 - packages/cron-job-api/src/env.ts | 11 -- packages/cron-job-api/src/index.ts | 90 ---------------- packages/cron-job-api/tsconfig.json | 8 -- packages/cron-jobs/package.json | 8 +- packages/cron-jobs/src/index.ts | 68 +++++++----- .../cron-jobs}/src/job-manager.ts | 3 +- packages/cron-jobs/src/schemas.ts | 6 ++ pnpm-lock.yaml | 101 ++++-------------- scripts/run.sh | 12 +-- 23 files changed, 105 insertions(+), 382 deletions(-) create mode 100644 apps/nextjs/src/instrumentation.ts delete mode 100644 packages/cron-job-api/eslint.config.js delete mode 100644 packages/cron-job-api/package.json delete mode 100644 packages/cron-job-api/src/client.ts delete mode 100644 packages/cron-job-api/src/constants.ts delete mode 100644 packages/cron-job-api/src/env.ts delete mode 100644 packages/cron-job-api/src/index.ts delete mode 100644 packages/cron-job-api/tsconfig.json rename {apps/tasks => packages/cron-jobs}/src/job-manager.ts (97%) create mode 100644 packages/cron-jobs/src/schemas.ts diff --git a/.env.example b/.env.example index d643c1194..ff3c38f3d 100644 --- a/.env.example +++ b/.env.example @@ -12,10 +12,6 @@ AUTH_SECRET="supersecret" # or starting the project without any (which will show a randomly generated one). SECRET_ENCRYPTION_KEY=0000000000000000000000000000000000000000000000000000000000000000 -# Cron job API key is generated every time the container starts as it is required for communication between nextjs-api and tasks-api -# export CRON_JOB_API_KEY=$(openssl rand -base64 32) -# CRON_JOB_API_KEY="your-generated-api-key" - LOG_LEVEL='info' # This is how you can use the sqlite driver: diff --git a/Dockerfile b/Dockerfile index eab3c4419..51b562f7d 100644 --- a/Dockerfile +++ b/Dockerfile @@ -43,8 +43,6 @@ RUN mkdir -p /var/cache/nginx && \ COPY --from=builder /app/apps/nextjs/next.config.ts . COPY --from=builder /app/apps/nextjs/package.json . -COPY --from=builder /app/apps/tasks/tasks.cjs ./apps/tasks/tasks.cjs -COPY --from=builder /app/apps/websocket/wssServer.cjs ./apps/websocket/wssServer.cjs COPY --from=builder /app/node_modules/better-sqlite3/build/Release/better_sqlite3.node /app/build/better_sqlite3.node COPY --from=builder /app/packages/db/migrations ./db/migrations diff --git a/apps/nextjs/package.json b/apps/nextjs/package.json index 92538095f..4a7323606 100644 --- a/apps/nextjs/package.json +++ b/apps/nextjs/package.json @@ -44,9 +44,11 @@ "@homarr/server-settings": "workspace:^0.1.0", "@homarr/settings": "workspace:^0.1.0", "@homarr/spotlight": "workspace:^0.1.0", + "@homarr/tasks": "workspace:^0.1.0", "@homarr/translation": "workspace:^0.1.0", "@homarr/ui": "workspace:^0.1.0", "@homarr/validation": "workspace:^0.1.0", + "@homarr/websocket": "workspace:^0.1.0", "@homarr/widgets": "workspace:^0.1.0", "@mantine/colors-generator": "catalog:", "@mantine/core": "catalog:", diff --git a/apps/nextjs/src/instrumentation.ts b/apps/nextjs/src/instrumentation.ts new file mode 100644 index 000000000..19a2865b7 --- /dev/null +++ b/apps/nextjs/src/instrumentation.ts @@ -0,0 +1,6 @@ +export async function register() { + if (process.env.NEXT_RUNTIME === "nodejs") { + await import("@homarr/tasks"); + await import("@homarr/websocket"); + } +} diff --git a/apps/tasks/package.json b/apps/tasks/package.json index 3cb918df5..552beb0f1 100644 --- a/apps/tasks/package.json +++ b/apps/tasks/package.json @@ -5,12 +5,11 @@ "license": "Apache-2.0", "type": "module", "exports": { - ".": "./src/index.ts" + ".": "./src/main.ts" }, "main": "./src/main.ts", "types": "./src/main.ts", "scripts": { - "build": "esbuild src/main.ts --bundle --platform=node --loader:.scss=text --external:*.node --external:@opentelemetry/api --external:deasync --external:bcrypt --outfile=tasks.cjs", "clean": "rm -rf .turbo node_modules", "dev": "pnpm with-env tsx ./src/main.ts", "format": "prettier --check . --ignore-path ../../.gitignore", @@ -24,7 +23,6 @@ "@homarr/auth": "workspace:^0.1.0", "@homarr/common": "workspace:^0.1.0", "@homarr/core": "workspace:^", - "@homarr/cron-job-api": "workspace:^0.1.0", "@homarr/cron-jobs": "workspace:^0.1.0", "@homarr/cron-jobs-core": "workspace:^0.1.0", "@homarr/db": "workspace:^0.1.0", diff --git a/apps/tasks/src/main.ts b/apps/tasks/src/main.ts index 4c60f1646..55416e689 100644 --- a/apps/tasks/src/main.ts +++ b/apps/tasks/src/main.ts @@ -1,52 +1,12 @@ // This import has to be the first import in the file so that the agent is overridden before any other modules are imported. import "./overrides"; -import type { FastifyTRPCPluginOptions } from "@trpc/server/adapters/fastify"; -import { fastifyTRPCPlugin } from "@trpc/server/adapters/fastify"; -import fastify from "fastify"; - -import { createLogger } from "@homarr/core/infrastructure/logs"; -import { ErrorWithMetadata } from "@homarr/core/infrastructure/logs/error"; -import type { JobRouter } from "@homarr/cron-job-api"; -import { jobRouter } from "@homarr/cron-job-api"; -import { CRON_JOB_API_KEY_HEADER, CRON_JOB_API_PATH, CRON_JOB_API_PORT } from "@homarr/cron-job-api/constants"; import { jobGroup } from "@homarr/cron-jobs"; -import { db } from "@homarr/db"; -import { JobManager } from "./job-manager"; import { onStartAsync } from "./on-start"; -const logger = createLogger({ module: "tasksMain" }); - -const server = fastify({ - maxParamLength: 5000, -}); -server.register(fastifyTRPCPlugin, { - prefix: CRON_JOB_API_PATH, - trpcOptions: { - router: jobRouter, - createContext: ({ req }) => ({ - manager: new JobManager(db, jobGroup), - apiKey: req.headers[CRON_JOB_API_KEY_HEADER] as string | undefined, - }), - onError({ path, error }) { - logger.error(new ErrorWithMetadata("Error in tasks tRPC handler", { path }, { cause: error })); - }, - } satisfies FastifyTRPCPluginOptions["trpcOptions"], -}); - void (async () => { await onStartAsync(); await jobGroup.initializeAsync(); await jobGroup.startAllAsync(); - - try { - await server.listen({ port: CRON_JOB_API_PORT }); - logger.info("Tasks web server started successfully", { port: CRON_JOB_API_PORT }); - } catch (err) { - logger.error( - new ErrorWithMetadata("Failed to start tasks web server", { port: CRON_JOB_API_PORT }, { cause: err }), - ); - process.exit(1); - } })(); diff --git a/apps/websocket/package.json b/apps/websocket/package.json index 8fe731bcb..c4a9cf9d0 100644 --- a/apps/websocket/package.json +++ b/apps/websocket/package.json @@ -4,10 +4,12 @@ "private": true, "license": "Apache-2.0", "type": "module", + "exports": { + ".": "./src/main.ts" + }, "main": "./src/main.ts", "types": "./src/main.ts", "scripts": { - "build": "esbuild src/main.ts --bundle --platform=node --outfile=wssServer.cjs --external:bcrypt --external:@opentelemetry/api --external:deasync --external:cpu-features --loader:.html=text --loader:.scss=text --loader:.node=text", "clean": "rm -rf .turbo node_modules", "dev": "pnpm with-env tsx ./src/main.ts", "format": "prettier --check . --ignore-path ../../.gitignore", diff --git a/package.json b/package.json index cf499a5af..fe347d041 100644 --- a/package.json +++ b/package.json @@ -15,7 +15,7 @@ "db:migration:sqlite:run": "pnpm -F db migration:sqlite:run", "db:push": "pnpm -F db push:sqlite", "db:studio": "pnpm -F db studio", - "dev": "turbo dev --parallel", + "dev": "pnpm -F nextjs dev", "docker:dev": "docker compose -f ./development/development.docker-compose.yml up", "format": "turbo format --continue -- --cache --cache-location node_modules/.cache/.prettiercache", "format:fix": "turbo format --continue -- --write --cache --cache-location node_modules/.cache/.prettiercache", diff --git a/packages/api/package.json b/packages/api/package.json index 04f7bae84..8aa4b9a10 100644 --- a/packages/api/package.json +++ b/packages/api/package.json @@ -24,7 +24,6 @@ "@homarr/auth": "workspace:^0.1.0", "@homarr/common": "workspace:^0.1.0", "@homarr/core": "workspace:^0.1.0", - "@homarr/cron-job-api": "workspace:^0.1.0", "@homarr/cron-job-status": "workspace:^0.1.0", "@homarr/cron-jobs": "workspace:^0.1.0", "@homarr/db": "workspace:^0.1.0", diff --git a/packages/api/src/router/cron-jobs.ts b/packages/api/src/router/cron-jobs.ts index 5428ac374..4fd3fba5b 100644 --- a/packages/api/src/router/cron-jobs.ts +++ b/packages/api/src/router/cron-jobs.ts @@ -2,33 +2,36 @@ import { observable } from "@trpc/server/observable"; import z from "zod/v4"; import { createLogger } from "@homarr/core/infrastructure/logs"; -import { cronExpressionSchema, jobGroupKeys, jobNameSchema } from "@homarr/cron-job-api"; -import { cronJobApi } from "@homarr/cron-job-api/client"; import type { TaskStatus } from "@homarr/cron-job-status"; import { createCronJobStatusChannel } from "@homarr/cron-job-status"; +import { cronExpressionSchema, jobGroup } from "@homarr/cron-jobs"; +import { JobManager } from "@homarr/cron-jobs/job-manager"; import { createTRPCRouter, permissionRequiredProcedure } from "../trpc"; +const jobGroupKeys = jobGroup.getKeys(); +const jobNameSchema = z.enum(jobGroup.getKeys()); + const logger = createLogger({ module: "cronJobsRouter" }); export const cronJobsRouter = createTRPCRouter({ triggerJob: permissionRequiredProcedure .requiresPermission("admin") .input(jobNameSchema) - .mutation(async ({ input }) => { - await cronJobApi.trigger.mutate(input); + .mutation(async ({ input, ctx }) => { + await new JobManager(ctx.db, jobGroup).triggerAsync(input); }), startJob: permissionRequiredProcedure .requiresPermission("admin") .input(jobNameSchema) - .mutation(async ({ input }) => { - await cronJobApi.start.mutate(input); + .mutation(async ({ input, ctx }) => { + await new JobManager(ctx.db, jobGroup).startAsync(input); }), stopJob: permissionRequiredProcedure .requiresPermission("admin") .input(jobNameSchema) - .mutation(async ({ input }) => { - await cronJobApi.stop.mutate(input); + .mutation(async ({ input, ctx }) => { + await new JobManager(ctx.db, jobGroup).stopAsync(input); }), updateJobInterval: permissionRequiredProcedure .requiresPermission("admin") @@ -38,23 +41,23 @@ export const cronJobsRouter = createTRPCRouter({ cron: cronExpressionSchema, }), ) - .mutation(async ({ input }) => { - await cronJobApi.updateInterval.mutate(input); + .mutation(async ({ input, ctx }) => { + await new JobManager(ctx.db, jobGroup).updateIntervalAsync(input.name, input.cron); }), disableJob: permissionRequiredProcedure .requiresPermission("admin") .input(jobNameSchema) - .mutation(async ({ input }) => { - await cronJobApi.disable.mutate(input); + .mutation(async ({ input, ctx }) => { + await new JobManager(ctx.db, jobGroup).disableAsync(input); }), enableJob: permissionRequiredProcedure .requiresPermission("admin") .input(jobNameSchema) - .mutation(async ({ input }) => { - await cronJobApi.enable.mutate(input); + .mutation(async ({ input, ctx }) => { + await new JobManager(ctx.db, jobGroup).enableAsync(input); }), - getJobs: permissionRequiredProcedure.requiresPermission("admin").query(async () => { - return await cronJobApi.getAll.query(); + getJobs: permissionRequiredProcedure.requiresPermission("admin").query(async ({ ctx }) => { + return await new JobManager(ctx.db, jobGroup).getAllAsync(); }), subscribeToStatusUpdates: permissionRequiredProcedure.requiresPermission("admin").subscription(() => { return observable((emit) => { diff --git a/packages/cron-job-api/eslint.config.js b/packages/cron-job-api/eslint.config.js deleted file mode 100644 index 5b19b6f8a..000000000 --- a/packages/cron-job-api/eslint.config.js +++ /dev/null @@ -1,9 +0,0 @@ -import baseConfig from "@homarr/eslint-config/base"; - -/** @type {import('typescript-eslint').Config} */ -export default [ - { - ignores: [], - }, - ...baseConfig, -]; diff --git a/packages/cron-job-api/package.json b/packages/cron-job-api/package.json deleted file mode 100644 index 09bde876b..000000000 --- a/packages/cron-job-api/package.json +++ /dev/null @@ -1,48 +0,0 @@ -{ - "name": "@homarr/cron-job-api", - "version": "0.1.0", - "private": true, - "license": "Apache-2.0", - "type": "module", - "exports": { - ".": "./src/index.ts", - "./env": "./src/env.ts", - "./constants": "./src/constants.ts", - "./client": "./src/client.ts" - }, - "typesVersions": { - "*": { - "*": [ - "src/*" - ] - } - }, - "scripts": { - "clean": "rm -rf .turbo node_modules", - "format": "prettier --check . --ignore-path ../../.gitignore", - "lint": "eslint", - "typecheck": "tsc --noEmit" - }, - "prettier": "@homarr/prettier-config", - "dependencies": { - "@homarr/common": "workspace:^0.1.0", - "@homarr/core": "workspace:^0.1.0", - "@homarr/cron-jobs": "workspace:^0.1.0", - "@tanstack/react-query": "catalog:", - "@trpc/client": "catalog:", - "@trpc/server": "catalog:", - "@trpc/tanstack-react-query": "catalog:", - "node-cron": "catalog:", - "react": "catalog:", - "zod": "catalog:" - }, - "devDependencies": { - "@homarr/eslint-config": "workspace:^0.2.0", - "@homarr/prettier-config": "workspace:^0.1.0", - "@homarr/tsconfig": "workspace:^0.1.0", - "@types/node-cron": "catalog:", - "@types/react": "catalog:", - "eslint": "catalog:", - "typescript": "catalog:" - } -} diff --git a/packages/cron-job-api/src/client.ts b/packages/cron-job-api/src/client.ts deleted file mode 100644 index 0d376a328..000000000 --- a/packages/cron-job-api/src/client.ts +++ /dev/null @@ -1,20 +0,0 @@ -import { createTRPCClient, httpLink } from "@trpc/client"; - -import type { JobRouter } from "."; -import { CRON_JOB_API_KEY_HEADER, CRON_JOB_API_PATH, CRON_JOB_API_PORT } from "./constants"; -import { env } from "./env"; - -export const cronJobApi = createTRPCClient({ - links: [ - httpLink({ - url: `${getBaseUrl()}${CRON_JOB_API_PATH}`, - headers: { - [CRON_JOB_API_KEY_HEADER]: env.CRON_JOB_API_KEY, - }, - }), - ], -}); - -function getBaseUrl() { - return `http://localhost:${CRON_JOB_API_PORT}`; -} diff --git a/packages/cron-job-api/src/constants.ts b/packages/cron-job-api/src/constants.ts deleted file mode 100644 index 8ce789e72..000000000 --- a/packages/cron-job-api/src/constants.ts +++ /dev/null @@ -1,3 +0,0 @@ -export const CRON_JOB_API_PORT = 3002; -export const CRON_JOB_API_PATH = "/trpc"; -export const CRON_JOB_API_KEY_HEADER = "cron-job-api-key"; diff --git a/packages/cron-job-api/src/env.ts b/packages/cron-job-api/src/env.ts deleted file mode 100644 index 7efb3f6e2..000000000 --- a/packages/cron-job-api/src/env.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { z } from "zod/v4"; - -import { env as commonEnv } from "@homarr/common/env"; -import { createEnv } from "@homarr/core/infrastructure/env"; - -export const env = createEnv({ - server: { - CRON_JOB_API_KEY: commonEnv.NODE_ENV === "development" ? z.string().default("test") : z.string(), - }, - experimental__runtimeEnv: process.env, -}); diff --git a/packages/cron-job-api/src/index.ts b/packages/cron-job-api/src/index.ts deleted file mode 100644 index 270a51242..000000000 --- a/packages/cron-job-api/src/index.ts +++ /dev/null @@ -1,90 +0,0 @@ -import { initTRPC, TRPCError } from "@trpc/server"; -import { validate } from "node-cron"; -import { z } from "zod/v4"; - -import type { JobGroupKeys } from "@homarr/cron-jobs"; -import { jobGroup } from "@homarr/cron-jobs"; - -import { env } from "./env"; - -export const jobGroupKeys = jobGroup.getKeys(); -export const jobNameSchema = z.enum(jobGroup.getKeys()); - -export interface IJobManager { - startAsync(name: JobGroupKeys): Promise; - triggerAsync(name: JobGroupKeys): Promise; - stopAsync(name: JobGroupKeys): Promise; - updateIntervalAsync(name: JobGroupKeys, cron: string): Promise; - disableAsync(name: JobGroupKeys): Promise; - enableAsync(name: JobGroupKeys): Promise; - getAllAsync(): Promise< - { - name: JobGroupKeys; - cron: string; - preventManualExecution: boolean; - preventCustomInterval: boolean; - isEnabled: boolean; - }[] - >; -} - -const t = initTRPC - .context<{ - manager: IJobManager; - apiKey?: string; - }>() - .create(); - -const createTrpcRouter = t.router; -const apiKeyProcedure = t.procedure.use(({ ctx, next }) => { - if (ctx.apiKey !== env.CRON_JOB_API_KEY) { - throw new TRPCError({ - code: "FORBIDDEN", - message: "Missing or invalid API key", - }); - } - - return next({ - ctx: { - ...ctx, - apiKey: undefined, // Clear the API key after checking - }, - }); -}); - -export const cronExpressionSchema = z.string().refine((expression) => validate(expression), { - error: "Invalid cron expression", -}); - -export const jobRouter = createTrpcRouter({ - start: apiKeyProcedure.input(jobNameSchema).mutation(async ({ input, ctx }) => { - await ctx.manager.startAsync(input); - }), - trigger: apiKeyProcedure.input(jobNameSchema).mutation(async ({ input, ctx }) => { - await ctx.manager.triggerAsync(input); - }), - stop: apiKeyProcedure.input(jobNameSchema).mutation(async ({ input, ctx }) => { - await ctx.manager.stopAsync(input); - }), - updateInterval: apiKeyProcedure - .input( - z.object({ - name: jobNameSchema, - cron: cronExpressionSchema, - }), - ) - .mutation(async ({ input, ctx }) => { - await ctx.manager.updateIntervalAsync(input.name, input.cron); - }), - disable: apiKeyProcedure.input(jobNameSchema).mutation(async ({ input, ctx }) => { - await ctx.manager.disableAsync(input); - }), - enable: apiKeyProcedure.input(jobNameSchema).mutation(async ({ input, ctx }) => { - await ctx.manager.enableAsync(input); - }), - getAll: apiKeyProcedure.query(({ ctx }) => { - return ctx.manager.getAllAsync(); - }), -}); - -export type JobRouter = typeof jobRouter; diff --git a/packages/cron-job-api/tsconfig.json b/packages/cron-job-api/tsconfig.json deleted file mode 100644 index cbe8483d9..000000000 --- a/packages/cron-job-api/tsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "extends": "@homarr/tsconfig/base.json", - "compilerOptions": { - "tsBuildInfoFile": "node_modules/.cache/tsbuildinfo.json" - }, - "include": ["*.ts", "src"], - "exclude": ["node_modules"] -} diff --git a/packages/cron-jobs/package.json b/packages/cron-jobs/package.json index d0a55d25a..99e91bd16 100644 --- a/packages/cron-jobs/package.json +++ b/packages/cron-jobs/package.json @@ -5,7 +5,8 @@ "license": "Apache-2.0", "type": "module", "exports": { - ".": "./index.ts" + ".": "./index.ts", + "./job-manager": "./src/job-manager.ts" }, "typesVersions": { "*": { @@ -38,12 +39,15 @@ "@homarr/server-settings": "workspace:^0.1.0", "@homarr/translation": "workspace:^0.1.0", "@homarr/validation": "workspace:^0.1.0", - "semver-parser": "catalog:" + "node-cron": "catalog:", + "semver-parser": "catalog:", + "zod": "catalog:" }, "devDependencies": { "@homarr/eslint-config": "workspace:^0.2.0", "@homarr/prettier-config": "workspace:^0.1.0", "@homarr/tsconfig": "workspace:^0.1.0", + "@types/node-cron": "catalog:", "eslint": "catalog:", "typescript": "catalog:" } diff --git a/packages/cron-jobs/src/index.ts b/packages/cron-jobs/src/index.ts index 7f2b2349f..0abe74a36 100644 --- a/packages/cron-jobs/src/index.ts +++ b/packages/cron-jobs/src/index.ts @@ -27,33 +27,45 @@ import { updateCheckerJob } from "./jobs/update-checker"; import { weatherJob } from "./jobs/weather"; import { createCronJobGroup } from "./lib"; -export const jobGroup = createCronJobGroup({ - analytics: analyticsJob, - iconsUpdater: iconsUpdaterJob, - ping: pingJob, - smartHomeEntityState: smartHomeEntityStateJob, - mediaServer: mediaServerJob, - mediaOrganizer: mediaOrganizerJob, - downloads: downloadsJob, - dnsHole: dnsHoleJob, - mediaRequestStats: mediaRequestStatsJob, - mediaRequestList: mediaRequestListJob, - rssFeeds: rssFeedsJob, - indexerManager: indexerManagerJob, - healthMonitoring: healthMonitoringJob, - updateChecker: updateCheckerJob, - mediaTranscoding: mediaTranscodingJob, - minecraftServerStatus: minecraftServerStatusJob, - dockerContainers: dockerContainersJob, - networkController: networkControllerJob, - firewallCpu: firewallCpuJob, - firewallMemory: firewallMemoryJob, - firewallVersion: firewallVersionJob, - firewallInterfaces: firewallInterfacesJob, - refreshNotifications: refreshNotificationsJob, - weather: weatherJob, - timetable: timetableJob, - tracearr: tracearrJob, -}); +const getJobGroup = () => { + return createCronJobGroup({ + analytics: analyticsJob, + iconsUpdater: iconsUpdaterJob, + ping: pingJob, + smartHomeEntityState: smartHomeEntityStateJob, + mediaServer: mediaServerJob, + mediaOrganizer: mediaOrganizerJob, + downloads: downloadsJob, + dnsHole: dnsHoleJob, + mediaRequestStats: mediaRequestStatsJob, + mediaRequestList: mediaRequestListJob, + rssFeeds: rssFeedsJob, + indexerManager: indexerManagerJob, + healthMonitoring: healthMonitoringJob, + updateChecker: updateCheckerJob, + mediaTranscoding: mediaTranscodingJob, + minecraftServerStatus: minecraftServerStatusJob, + dockerContainers: dockerContainersJob, + networkController: networkControllerJob, + firewallCpu: firewallCpuJob, + firewallMemory: firewallMemoryJob, + firewallVersion: firewallVersionJob, + firewallInterfaces: firewallInterfacesJob, + refreshNotifications: refreshNotificationsJob, + weather: weatherJob, + timetable: timetableJob, + tracearr: tracearrJob, + }); +}; + +// Add global type augmentation for homarr +declare global { + var cronJobs: ReturnType | undefined; +} + +global.cronJobs ??= getJobGroup(); + +export const jobGroup = global.cronJobs; export type JobGroupKeys = ReturnType<(typeof jobGroup)["getKeys"]>[number]; +export * from "./schemas"; diff --git a/apps/tasks/src/job-manager.ts b/packages/cron-jobs/src/job-manager.ts similarity index 97% rename from apps/tasks/src/job-manager.ts rename to packages/cron-jobs/src/job-manager.ts index f4ec8bf97..19ef8f6e8 100644 --- a/apps/tasks/src/job-manager.ts +++ b/packages/cron-jobs/src/job-manager.ts @@ -1,7 +1,6 @@ import { schedule, validate as validateCron } from "node-cron"; import { createLogger } from "@homarr/core/infrastructure/logs"; -import type { IJobManager } from "@homarr/cron-job-api"; import type { jobGroup as cronJobGroup, JobGroupKeys } from "@homarr/cron-jobs"; import type { Database, InferInsertModel } from "@homarr/db"; import { eq } from "@homarr/db"; @@ -9,7 +8,7 @@ import { cronJobConfigurations } from "@homarr/db/schema"; const logger = createLogger({ module: "jobManager" }); -export class JobManager implements IJobManager { +export class JobManager { constructor( private db: Database, private jobGroup: typeof cronJobGroup, diff --git a/packages/cron-jobs/src/schemas.ts b/packages/cron-jobs/src/schemas.ts new file mode 100644 index 000000000..af9f8b727 --- /dev/null +++ b/packages/cron-jobs/src/schemas.ts @@ -0,0 +1,6 @@ +import { validate } from "node-cron"; +import z from "zod"; + +export const cronExpressionSchema = z.string().refine((expression) => validate(expression), { + error: "Invalid cron expression", +}); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index addb9194c..cb2c7d694 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -754,6 +754,9 @@ importers: '@homarr/spotlight': specifier: workspace:^0.1.0 version: link:../../packages/spotlight + '@homarr/tasks': + specifier: workspace:^0.1.0 + version: link:../tasks '@homarr/translation': specifier: workspace:^0.1.0 version: link:../../packages/translation @@ -763,6 +766,9 @@ importers: '@homarr/validation': specifier: workspace:^0.1.0 version: link:../../packages/validation + '@homarr/websocket': + specifier: workspace:^0.1.0 + version: link:../websocket '@homarr/widgets': specifier: workspace:^0.1.0 version: link:../../packages/widgets @@ -947,9 +953,6 @@ importers: '@homarr/core': specifier: workspace:^ version: link:../../packages/core - '@homarr/cron-job-api': - specifier: workspace:^0.1.0 - version: link:../../packages/cron-job-api '@homarr/cron-jobs': specifier: workspace:^0.1.0 version: link:../../packages/cron-jobs @@ -1148,9 +1151,6 @@ importers: '@homarr/core': specifier: workspace:^0.1.0 version: link:../core - '@homarr/cron-job-api': - specifier: workspace:^0.1.0 - version: link:../cron-job-api '@homarr/cron-job-status': specifier: workspace:^0.1.0 version: link:../cron-job-status @@ -1503,61 +1503,6 @@ importers: specifier: 'catalog:' version: 5.9.3 - packages/cron-job-api: - dependencies: - '@homarr/common': - specifier: workspace:^0.1.0 - version: link:../common - '@homarr/core': - specifier: workspace:^0.1.0 - version: link:../core - '@homarr/cron-jobs': - specifier: workspace:^0.1.0 - version: link:../cron-jobs - '@tanstack/react-query': - specifier: 'catalog:' - version: 5.99.2(react@19.2.5) - '@trpc/client': - specifier: 'catalog:' - version: 11.16.0(@trpc/server@11.16.0(typescript@5.9.3))(typescript@5.9.3) - '@trpc/server': - specifier: 'catalog:' - version: 11.16.0(typescript@5.9.3) - '@trpc/tanstack-react-query': - specifier: 'catalog:' - version: 11.16.0(@tanstack/react-query@5.99.2(react@19.2.5))(@trpc/client@11.16.0(@trpc/server@11.16.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.16.0(typescript@5.9.3))(react@19.2.5)(typescript@5.9.3) - node-cron: - specifier: 'catalog:' - version: 4.2.1 - react: - specifier: 'catalog:' - version: 19.2.5 - zod: - specifier: 'catalog:' - version: 4.3.6 - devDependencies: - '@homarr/eslint-config': - specifier: workspace:^0.2.0 - version: link:../../tooling/eslint - '@homarr/prettier-config': - specifier: workspace:^0.1.0 - version: link:../../tooling/prettier - '@homarr/tsconfig': - specifier: workspace:^0.1.0 - version: link:../../tooling/typescript - '@types/node-cron': - specifier: 'catalog:' - version: 3.0.11 - '@types/react': - specifier: 'catalog:' - version: 19.2.14 - eslint: - specifier: 'catalog:' - version: 9.39.4 - typescript: - specifier: 'catalog:' - version: 5.9.3 - packages/cron-job-status: dependencies: '@homarr/redis': @@ -1630,9 +1575,15 @@ importers: '@homarr/validation': specifier: workspace:^0.1.0 version: link:../validation + node-cron: + specifier: 'catalog:' + version: 4.2.1 semver-parser: specifier: 'catalog:' version: 4.1.8 + zod: + specifier: 'catalog:' + version: 4.3.6 devDependencies: '@homarr/eslint-config': specifier: workspace:^0.2.0 @@ -1643,6 +1594,9 @@ importers: '@homarr/tsconfig': specifier: workspace:^0.1.0 version: link:../../tooling/typescript + '@types/node-cron': + specifier: 'catalog:' + version: 3.0.11 eslint: specifier: 'catalog:' version: 9.39.4 @@ -4383,7 +4337,6 @@ packages: '@million/lint@1.0.14': resolution: {integrity: sha512-u6/kglVwZRu5+GMmtkNlGLqJVkgTl0TtM+hLa9rBg7pldx+5NG5bk45NvL37uZmAr2Xfa1C6qHb7GrFwfP372g==} - deprecated: This package is no longer maintained hasBin: true '@ndaidong/bellajs@12.0.1': @@ -6882,9 +6835,6 @@ packages: dom-walk@0.1.2: resolution: {integrity: sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==} - dompurify@3.3.3: - resolution: {integrity: sha512-Oj6pzI2+RqBfFG+qOaOLbFXLQ90ARpcGG6UePL82bJLtdsa6CYJD7nmiU8MW9nQNOtCHV3lZ/Bzq1X0QYbBZCA==} - dompurify@3.4.0: resolution: {integrity: sha512-nolgK9JcaUXMSmW+j1yaSvaEaoXYHwWyGJlkoCTghc97KgGDDSnpoU/PlEnw63Ah+TGKFOyY+X5LnxaWbCSfXg==} @@ -7495,15 +7445,6 @@ packages: fn.name@1.1.0: resolution: {integrity: sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw==} - follow-redirects@1.15.9: - resolution: {integrity: sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==} - engines: {node: '>=4.0'} - peerDependencies: - debug: '*' - peerDependenciesMeta: - debug: - optional: true - follow-redirects@1.16.0: resolution: {integrity: sha512-y5rN/uOsadFT/JfYwhxRS5R7Qce+g3zG97+JrtFZlC9klX/W5hD7iiLzScI4nZqUS7DNUdhPgw4xI8W2LuXlUw==} engines: {node: '>=4.0'} @@ -10783,10 +10724,12 @@ packages: uuid@10.0.0: resolution: {integrity: sha512-8XkAphELsDnEGrDxUOHB3RGvXz6TeuYSGEZBOjtTtPm2lwhGBjLgOzLHB63IUWfBpNucQjND6d3AOudO+H3RWQ==} + deprecated: uuid@10 and below is no longer supported. For ESM codebases, update to uuid@latest. For CommonJS codebases, use uuid@11 (but be aware this version will likely be deprecated in 2028). hasBin: true uuid@8.3.2: resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} + deprecated: uuid@10 and below is no longer supported. For ESM codebases, update to uuid@latest. For CommonJS codebases, use uuid@11 (but be aware this version will likely be deprecated in 2028). hasBin: true validate-npm-package-license@3.0.4: @@ -14665,7 +14608,7 @@ snapshots: axios@1.9.0: dependencies: - follow-redirects: 1.15.9 + follow-redirects: 1.16.0 form-data: 4.0.5 proxy-from-env: 1.1.0 transitivePeerDependencies: @@ -15319,10 +15262,6 @@ snapshots: dom-walk@0.1.2: {} - dompurify@3.3.3: - optionalDependencies: - '@types/trusted-types': 2.0.7 - dompurify@3.4.0: optionalDependencies: '@types/trusted-types': 2.0.7 @@ -16074,8 +16013,6 @@ snapshots: fn.name@1.1.0: {} - follow-redirects@1.15.9: {} - follow-redirects@1.16.0: {} for-each@0.3.5: @@ -19192,7 +19129,7 @@ snapshots: classnames: 2.5.1 css.escape: 1.5.1 deep-extend: 0.6.0 - dompurify: 3.3.3 + dompurify: 3.4.0 ieee754: 1.2.1 immutable: 3.8.2 js-file-download: 0.4.12 diff --git a/scripts/run.sh b/scripts/run.sh index 4d90499d5..fc6e80ba4 100644 --- a/scripts/run.sh +++ b/scripts/run.sh @@ -16,8 +16,6 @@ fi # Auth secret is generated every time the container starts as it is required, but not used because we don't need JWTs or Mail hashing export AUTH_SECRET=$(openssl rand -base64 32) -# Cron job API key is generated every time the container starts as it is required for communication between nextjs-api and tasks-api -export CRON_JOB_API_KEY=$(openssl rand -base64 32) # Support secret file for encryption key (is not empty and file exists) if [ -n "$SECRET_ENCRYPTION_KEY_FILE" ] && [ -f "$SECRET_ENCRYPTION_KEY_FILE" ]; then @@ -43,21 +41,13 @@ else REDIS_PID=$! fi - - -node apps/tasks/tasks.cjs & -TASKS_PID=$! - -node apps/websocket/wssServer.cjs & -WSS_PID=$! - node apps/nextjs/server.js & NEXTJS_PID=$! # Function to handle SIGTERM and shut down services terminate() { echo "Received SIGTERM. Shutting down..." - kill -TERM $NGINX_PID $TASKS_PID $WSS_PID $NEXTJS_PID 2>/dev/null + kill -TERM $NGINX_PID $NEXTJS_PID 2>/dev/null wait # kill redis-server last because of logging of other services and only if $REDIS_PID is set if [ -n "$REDIS_PID" ]; then From bfa8566284e4ef9cba6fdc3bafc7ceb54f04936c Mon Sep 17 00:00:00 2001 From: Meier Lukas Date: Fri, 1 May 2026 22:18:45 +0200 Subject: [PATCH 03/63] ci: add beta release workflow (#5601) Co-authored-by: Copilot --- .github/workflows/deployment-beta-release.yml | 104 ++++++++++++++++++ 1 file changed, 104 insertions(+) create mode 100644 .github/workflows/deployment-beta-release.yml diff --git a/.github/workflows/deployment-beta-release.yml b/.github/workflows/deployment-beta-release.yml new file mode 100644 index 000000000..fd79d1502 --- /dev/null +++ b/.github/workflows/deployment-beta-release.yml @@ -0,0 +1,104 @@ +name: "[Deployment] Beta Release" + +on: + workflow_dispatch: + inputs: + send-notifications: + type: boolean + required: false + default: true + description: Send notifications + +permissions: + contents: write + pull-requests: write + +jobs: + create-and-merge-pr: + runs-on: ubuntu-latest + timeout-minutes: 2 + steps: + - name: Discord notification + if: ${{ github.event.inputs.send-notifications }} + env: + DISCORD_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK }} + uses: Ilshidur/action-discord@0.4.0 + with: + args: "Beta release has been triggered: [run ${{ github.run_number }}](${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }})" + - name: Checkout repository + uses: actions/checkout@v6 + with: + fetch-depth: 0 + - name: Get Next Version + id: semver + uses: ietf-tools/semver-action@v1 + with: + token: ${{ github.token }} + branch: next + - name: Create pull request + id: create-pull-request + run: 'gh pr create --title "chore(release): release ${{ steps.semver.outputs.next }}-beta" --body "Detected change to be ``${{ steps.semver.outputs.bump }}``
Bump version from ``${{ steps.semver.outputs.current }}`` to ``${{ steps.semver.outputs.next }}-beta``" --base beta --head next --label automerge' + env: + GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}" + - name: Discord notification + if: ${{ github.event.inputs.send-notifications }} + env: + DISCORD_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK }} + uses: Ilshidur/action-discord@0.4.0 + with: + args: "Created a release PR ${{ steps.create-pull-request.outputs.url }} for version ${{ steps.semver.outputs.next }}-beta (new behaviour: ${{ steps.semver.outputs.bump }})" + - name: Obtain token + id: obtainApprovalToken + uses: actions/create-github-app-token@v3 + with: + private-key: ${{ secrets.RENOVATE_APPROVE_PRIVATE_KEY }} + client-id: ${{ secrets.RENOVATE_APPROVE_APP_ID }} + permission-pull-requests: write + - name: Approve PR + env: + GITHUB_TOKEN: ${{ steps.obtainApprovalToken.outputs.token }} + run: | + gh pr review --approve --body "Automatically approved by GitHub Action" + - name: Obtain token + id: obtainMergeToken + uses: actions/create-github-app-token@v3 + with: + private-key: ${{ secrets.RENOVATE_MERGE_PRIVATE_KEY }} + client-id: ${{ secrets.RENOVATE_MERGE_APP_ID }} + permission-contents: write # write to beta branch (due to merge) + permission-pull-requests: write # merge pull request + - id: automerge + if: ${{ steps.semver.outputs.bump != 'major' }} + name: automerge + uses: "pascalgn/automerge-action@v0.16.4" + env: + GITHUB_TOKEN: ${{ steps.obtainMergeToken.outputs.token }} + MERGE_METHOD: merge # we prefer merge commits for merging to beta + MERGE_COMMIT_MESSAGE: "chore(release): release ${{ steps.semver.outputs.next }}-beta" + MERGE_DELETE_BRANCH: false # never set to true! + PULL_REQUEST: "${{ steps.create-pull-request.outputs.pr_number }}" + MERGE_RETRIES: 20 # 20 retries * MERGE_RETRY_SLEEP until step fails + MERGE_RETRY_SLEEP: 10000 # 10 seconds * MERGE_RETRIES until step fails + MERGE_REQUIRED_APPROVALS: 0 # do not require approvals + + - name: Merged Discord notification + if: ${{ steps.automerge.outputs.mergeResult == 'merged' && github.event.inputs.send-notifications }} + env: + DISCORD_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK }} + uses: Ilshidur/action-discord@0.4.0 + with: + args: "Merged PR ${{ steps.create-pull-request.outputs.url }} for release ${{ steps.semver.outputs.next }}-beta" + - name: Major Bump Discord notification + if: ${{ steps.semver.outputs.bump == 'major' && github.event.inputs.send-notifications }} + env: + DISCORD_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK }} + uses: Ilshidur/action-discord@0.4.0 + with: + args: "The release PR must be manually merged because the next version is a major version: ${{ steps.create-pull-request.outputs.url }} for release ${{ steps.semver.outputs.next }}-beta" + - name: Discord Fail Notification + if: failure() && github.event.inputs.send-notifications + env: + DISCORD_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK }} + uses: Ilshidur/action-discord@0.4.0 + with: + args: "The beta release workflow [run ${{ github.run_number }}](${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}) has failed" From 3f6b830f9b001cb7639c8e1bd2357de95bfa5700 Mon Sep 17 00:00:00 2001 From: Releases Homarr <175486441+homarr-releases[bot]@users.noreply.github.com> Date: Fri, 1 May 2026 20:36:08 +0000 Subject: [PATCH 04/63] chore(release): 1.60.1-beta.1 [skip ci] --- CHANGELOG.md | 6 ++++++ package.json | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 94131c6d2..f0d76e36e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,9 @@ +## [1.60.1-beta.1](https://github.com/homarr-labs/homarr/compare/v1.60.0...v1.60.1-beta.1) (2026-05-01) + +### Performance Improvements + +* **memory:** combine 3 node processes into one ([#5600](https://github.com/homarr-labs/homarr/issues/5600)) ([a1aa550](https://github.com/homarr-labs/homarr/commit/a1aa5505a365688b456090a882770e561479833e)) + ## [1.60.0](https://github.com/homarr-labs/homarr/compare/v1.59.3...v1.60.0) (2026-05-01) ### Features diff --git a/package.json b/package.json index 5f0eed5d9..36f5822ce 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "homarr", - "version": "1.60.0", + "version": "1.60.1-beta.1", "private": true, "scripts": { "build": "cross-env CI=true turbo build", From ce3c1b6cc1d874d180c716272edc909e681226c7 Mon Sep 17 00:00:00 2001 From: Meier Lukas Date: Fri, 1 May 2026 22:38:50 +0200 Subject: [PATCH 05/63] chore: retrigger release v1.60.1-beta.1 From beac1ed780878cdfb45798ffda398356b46e099e Mon Sep 17 00:00:00 2001 From: Releases Homarr <175486441+homarr-releases[bot]@users.noreply.github.com> Date: Fri, 1 May 2026 20:41:02 +0000 Subject: [PATCH 06/63] chore(release): 1.60.1-beta.1 [skip ci] --- CHANGELOG.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index f0d76e36e..4e60fe46d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,12 @@ * **memory:** combine 3 node processes into one ([#5600](https://github.com/homarr-labs/homarr/issues/5600)) ([a1aa550](https://github.com/homarr-labs/homarr/commit/a1aa5505a365688b456090a882770e561479833e)) +## [1.60.1-beta.1](https://github.com/homarr-labs/homarr/compare/v1.60.0...v1.60.1-beta.1) (2026-05-01) + +### Performance Improvements + +* **memory:** combine 3 node processes into one ([#5600](https://github.com/homarr-labs/homarr/issues/5600)) ([a1aa550](https://github.com/homarr-labs/homarr/commit/a1aa5505a365688b456090a882770e561479833e)) + ## [1.60.0](https://github.com/homarr-labs/homarr/compare/v1.59.3...v1.60.0) (2026-05-01) ### Features From 453360fe61c7f14261bce6f132eb06d9d9899429 Mon Sep 17 00:00:00 2001 From: Meier Lukas Date: Fri, 1 May 2026 22:42:02 +0200 Subject: [PATCH 07/63] ci: disable package-manager cache --- .github/workflows/deployment-docker-image.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/deployment-docker-image.yml b/.github/workflows/deployment-docker-image.yml index 9dea69600..cc742b590 100644 --- a/.github/workflows/deployment-docker-image.yml +++ b/.github/workflows/deployment-docker-image.yml @@ -67,7 +67,7 @@ jobs: if: env.SKIP_RELEASE == 'false' with: node-version: 24.15.0 - cache: "pnpm" + package-manager-cache: false - run: npm i -g pnpm if: env.SKIP_RELEASE == 'false' - name: Install dependencies From 80d18bb10d81cb46343030c604302ad773fe35a1 Mon Sep 17 00:00:00 2001 From: Releases Homarr <175486441+homarr-releases[bot]@users.noreply.github.com> Date: Fri, 1 May 2026 20:44:34 +0000 Subject: [PATCH 08/63] chore(release): 1.60.1-beta.1 [skip ci] --- CHANGELOG.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4e60fe46d..412e216a4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,12 @@ * **memory:** combine 3 node processes into one ([#5600](https://github.com/homarr-labs/homarr/issues/5600)) ([a1aa550](https://github.com/homarr-labs/homarr/commit/a1aa5505a365688b456090a882770e561479833e)) +## [1.60.1-beta.1](https://github.com/homarr-labs/homarr/compare/v1.60.0...v1.60.1-beta.1) (2026-05-01) + +### Performance Improvements + +* **memory:** combine 3 node processes into one ([#5600](https://github.com/homarr-labs/homarr/issues/5600)) ([a1aa550](https://github.com/homarr-labs/homarr/commit/a1aa5505a365688b456090a882770e561479833e)) + ## [1.60.0](https://github.com/homarr-labs/homarr/compare/v1.59.3...v1.60.0) (2026-05-01) ### Features From 5ee84f8cf464c308729281cb4db572950ba85a82 Mon Sep 17 00:00:00 2001 From: Thomas Date: Wed, 6 May 2026 23:39:26 +0200 Subject: [PATCH 09/63] perf: (next branch) reduce idle memory on startup (#5637) --- apps/nextjs/next.config.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/apps/nextjs/next.config.ts b/apps/nextjs/next.config.ts index a3dabe151..e0f496772 100644 --- a/apps/nextjs/next.config.ts +++ b/apps/nextjs/next.config.ts @@ -32,6 +32,8 @@ const nextConfig: NextConfig = { experimental: { optimizePackageImports: ["@mantine/core", "@mantine/hooks", "@tabler/icons-react"], turbopackFileSystemCacheForDev: true, + preloadEntriesOnStart: false, + webpackMemoryOptimizations: true, }, transpilePackages: ["@homarr/ui", "@homarr/notifications", "@homarr/modals", "@homarr/spotlight", "@homarr/widgets"], images: { From c83fdb2a6ec4cd58eecbcc37e9a020995d075226 Mon Sep 17 00:00:00 2001 From: Releases Homarr <175486441+homarr-releases[bot]@users.noreply.github.com> Date: Thu, 7 May 2026 16:39:41 +0000 Subject: [PATCH 10/63] chore(release): 1.60.1-beta.2 [skip ci] --- CHANGELOG.md | 6 ++++++ package.json | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 412e216a4..089f01def 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,9 @@ +## [1.60.1-beta.2](https://github.com/homarr-labs/homarr/compare/v1.60.1-beta.1...v1.60.1-beta.2) (2026-05-07) + +### Performance Improvements + +* (next branch) reduce idle memory on startup ([#5637](https://github.com/homarr-labs/homarr/issues/5637)) ([5ee84f8](https://github.com/homarr-labs/homarr/commit/5ee84f8cf464c308729281cb4db572950ba85a82)) + ## [1.60.1-beta.1](https://github.com/homarr-labs/homarr/compare/v1.60.0...v1.60.1-beta.1) (2026-05-01) ### Performance Improvements diff --git a/package.json b/package.json index 36f5822ce..b5d76fd08 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "homarr", - "version": "1.60.1-beta.1", + "version": "1.60.1-beta.2", "private": true, "scripts": { "build": "cross-env CI=true turbo build", From 62be81ea607a609a816157686700c54540e1568b Mon Sep 17 00:00:00 2001 From: Meier Lukas Date: Thu, 7 May 2026 20:54:11 +0200 Subject: [PATCH 11/63] fix(lang): portuguese is linked to brazilian portuguese on crowdin (#5622) --- packages/translation/src/config.ts | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/packages/translation/src/config.ts b/packages/translation/src/config.ts index fafbc1f61..199f6ff5a 100644 --- a/packages/translation/src/config.ts +++ b/packages/translation/src/config.ts @@ -284,6 +284,17 @@ export const localeConfigurations = { return import("dayjs/locale/pt").then((module) => module.default); }, }, + "pt-br": { + name: "Português (Brasil)", + translatedName: "Portuguese (Brazil)", + icon: flagIcon("br"), + importMrtLocalization() { + return import("mantine-react-table/locales/pt-BR/index.esm.mjs").then((module) => module.MRT_Localization_PT_BR); + }, + importDayJsLocale() { + return import("dayjs/locale/pt-br").then((module) => module.default); + }, + }, ro: { name: "Românesc", translatedName: "Romanian", From 3183914a1502555681b73975062ed6ca8a48cb75 Mon Sep 17 00:00:00 2001 From: Meier Lukas Date: Thu, 7 May 2026 20:59:12 +0200 Subject: [PATCH 12/63] fix(apps): creation on the fly broken (#5605) --- packages/widgets/src/_inputs/widget-app-input.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/widgets/src/_inputs/widget-app-input.tsx b/packages/widgets/src/_inputs/widget-app-input.tsx index 4640a7889..933f7daf9 100644 --- a/packages/widgets/src/_inputs/widget-app-input.tsx +++ b/packages/widgets/src/_inputs/widget-app-input.tsx @@ -69,9 +69,9 @@ export const WidgetAppInput = ({ property, kind }: CommonWidgetInputProps<"app"> variant="default" onClick={() => openModal({ - onClose(createdAppId) { + onClose({ id }) { void refetch().then(() => { - form.setFieldValue(`options.${property}`, createdAppId); + form.setFieldValue(`options.${property}`, id); }); }, }) From a9ad991892cc10d2bc07280b288a3e910e81643a Mon Sep 17 00:00:00 2001 From: "homarr-crowdin[bot]" <190541745+homarr-crowdin[bot]@users.noreply.github.com> Date: Thu, 7 May 2026 21:04:10 +0200 Subject: [PATCH 13/63] chore(lang): updated translations from crowdin (#5623) Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com> Co-authored-by: Meier Lukas --- packages/translation/src/lang/en-gb.json | 56 +- packages/translation/src/lang/pl.json | 4 +- packages/translation/src/lang/pt-br.json | 4807 ++++++++++++++++++++++ packages/translation/src/lang/pt.json | 4048 +++++++++--------- 4 files changed, 6861 insertions(+), 2054 deletions(-) create mode 100644 packages/translation/src/lang/pt-br.json diff --git a/packages/translation/src/lang/en-gb.json b/packages/translation/src/lang/en-gb.json index 2e276bb37..e3ab3512e 100644 --- a/packages/translation/src/lang/en-gb.json +++ b/packages/translation/src/lang/en-gb.json @@ -2178,55 +2178,55 @@ "resolution": "Resolution" }, "audio": { - "title": "", - "channelCount": "", - "codec": "" + "title": "Audio", + "channelCount": "Audio channels", + "codec": "Audio codec" }, "transcoding": { - "title": "", - "container": "", - "resolution": "", - "target": "" + "title": "Transcoding", + "container": "Container", + "resolution": "Resolution", + "target": "Target codec" } } } }, "immich-serverStats": { - "name": "", - "description": "", + "name": "Immich Server Stats", + "description": "Information about your Immich instance", "option": { "showUsers": { - "label": "", - "description": "" + "label": "Show users", + "description": "Show count of users on your instance" }, "showPhotos": { - "label": "", - "description": "" + "label": "Show photos", + "description": "Show count of photos on your instance" }, "showVideos": { - "label": "", - "description": "" + "label": "Show videos", + "description": "Show count of videos on your instance" }, "showStorage": { - "label": "", - "description": "" + "label": "Show storage", + "description": "Show the total amount of storage used" } }, - "users": "", - "photos": "", - "videos": "", - "storage": "" + "users": "Users", + "photos": "Photos", + "videos": "Videos", + "storage": "Used Storage" }, "immich-albumCarousel": { - "name": "", + "name": "Immich Album", "option": { "albumId": { - "label": "", - "description": "" + "label": "Album ID", + "description": "This is a unique ID which refers to your Immich album. You can find this id by opening an album and copying the unique string from the URL, for example 'a21aca09-9f05-47dc-b1a1-7b53c547226e'" }, "rotationIntervalSeconds": { - "label": "", - "description": "" + "label": "Interval in seconds", + "description": "Rotate between pictures in the album every X seconds. Must be at least 1. Must be below 3600." }, "showPhotoInfo": { "label": "", @@ -4401,10 +4401,10 @@ "label": "" }, "newIntegration": { - "label": "", + "label": "Create a new integration", "children": { "detail": { - "title": "" + "title": "Select the integration type you want to create" } } }, diff --git a/packages/translation/src/lang/pl.json b/packages/translation/src/lang/pl.json index e28b2cb19..470947395 100644 --- a/packages/translation/src/lang/pl.json +++ b/packages/translation/src/lang/pl.json @@ -3791,8 +3791,8 @@ "subtitle": "{count} współtworzy tłumaczenia w wielu językach" }, "sponsors": { - "title": "", - "subtitle": "" + "title": "Sponsorzy", + "subtitle": "{count} wspiera finansowo projekt" }, "libraries": { "title": "Biblioteki", diff --git a/packages/translation/src/lang/pt-br.json b/packages/translation/src/lang/pt-br.json new file mode 100644 index 000000000..4862a07cb --- /dev/null +++ b/packages/translation/src/lang/pt-br.json @@ -0,0 +1,4807 @@ +{ + "init": { + "step": { + "start": { + "title": "Bem-vindo ao Homarr", + "subtitle": "Vamos começar configurando a sua instância Homarr.", + "description": "Para começar, por favor selecione como você deseja configurar sua instância Homarr.", + "action": { + "scratch": "Começar do zero", + "importOldmarr": "Importe de uma instância do Homarr anterior a 1.0" + } + }, + "import": { + "title": "Importar dados", + "subtitle": "Você pode importar dados de uma instância existente do Homarr.", + "dropzone": { + "title": "Arraste o arquivo ZIP aqui ou clique para procurar", + "description": "O arquivo ZIP enviado será processado e você poderá selecionar o que deseja importar" + }, + "fileInfo": { + "action": { + "change": "Alterar arquivo" + } + }, + "importSettings": { + "title": "Importar configurações", + "description": "Configure o comportamento da importação" + }, + "boardSelection": { + "title": "{count} painéis encontrados", + "description": "Escolha todos os painéis com o tamanho que você deseja importar", + "action": { + "selectAll": "Selecionar todos", + "unselectAll": "Desmarcar Todos" + } + }, + "summary": { + "title": "Resumo da importação", + "description": "No resumo abaixo você pode ver o que será importado", + "action": { + "import": "Confirmar a importação e continuar" + }, + "entities": { + "apps": "Aplicativos", + "boards": "Painéis", + "integrations": "Integrações", + "credentialUsers": "Usuários credenciados" + } + }, + "tokenModal": { + "title": "Insira o token de importação", + "field": { + "token": { + "label": "Token", + "description": "Insira o token de importação mostrado em sua instância homarr anterior" + } + }, + "notification": { + "error": { + "title": "Token inválido", + "message": "O token que você inseriu é inválido" + } + } + } + }, + "user": { + "title": "Usuário Administrador", + "subtitle": "Especifique as credenciais para seu usuário administrador.", + "notification": { + "success": { + "title": "Usuário criado", + "message": "O usuário foi criado com sucesso" + }, + "error": { + "title": "Falha ao criar usuário" + } + } + }, + "group": { + "title": "Grupo externo", + "subtitle": "Especifique o grupo que deve ser usado para usuários externos.", + "form": { + "name": { + "label": "Nome do grupo", + "description": "O nome tem que coincidir com o grupo administrador do provedor externo" + } + } + }, + "settings": { + "title": "Configurações", + "subtitle": "Definir as configurações do servidor." + }, + "finish": { + "title": "Concluir configuração", + "subtitle": "Você está pronto para começar!", + "description": "Você concluiu com sucesso o processo de configuração. Agora você pode começar a usar o Homarr. Selecione sua próxima ação:", + "action": { + "goToBoard": "Ir para o painel {name}", + "createBoard": "Crie seu primeiro painel", + "inviteUser": "Convidar outros usuários", + "docs": "Ler a documentação" + } + } + }, + "backToStart": "Voltar ao início" + }, + "user": { + "title": "Usuários", + "name": "Usuário", + "page": { + "login": { + "title": "Acesse a sua conta", + "subtitle": "Bem-vindo(a) de volta! Por favor, insira suas credenciais" + }, + "invite": { + "title": "Junte-se ao Homarr", + "subtitle": "Bem-vindo ao Homarr! Por favor, crie sua conta", + "description": "Você foi convidado(a) por {username}" + }, + "init": { + "title": "Nova instalação do Homarr", + "subtitle": "Por favor, crie o usuário administrador inicial" + } + }, + "field": { + "email": { + "label": "E-mail", + "verified": "Verificado" + }, + "username": { + "label": "Usuário" + }, + "password": { + "label": "Senha", + "requirement": { + "length": "Inclua pelo menos 8 caracteres", + "lowercase": "Inclui letras minúsculas", + "uppercase": "Inclui letras maiúsculas", + "number": "Inclui número", + "special": "Inclua um caractere especial" + } + }, + "passwordConfirm": { + "label": "Confirmar senha" + }, + "previousPassword": { + "label": "Senha anterior" + }, + "homeBoard": { + "label": "Quadro inicial" + }, + "pingIconsEnabled": { + "label": "Usar ícone para pings" + }, + "defaultSearchEngine": { + "label": "Mecanismo de pesquisa padrão" + }, + "openSearchInNewTab": { + "label": "Abrir resultados da busca em uma nova guia" + } + }, + "error": { + "usernameTaken": "Nome de usuário já em uso" + }, + "action": { + "login": { + "label": "Login", + "labelWith": "Iniciar sessão com {provider}", + "notification": { + "success": { + "title": "Início de sessão bem-sucedido", + "message": "Agora você está conectado" + }, + "error": { + "title": "Falha ao iniciar sessão", + "message": "Seu acesso falhou" + } + }, + "forgotPassword": { + "label": "Esqueceu sua senha?", + "description": "Um administrador pode usar o seguinte comando para redefinir sua senha:" + } + }, + "register": { + "label": "Criar conta", + "notification": { + "success": { + "title": "Conta criada", + "message": "Por favor, entre para continuar" + }, + "error": { + "title": "Criação da conta falhou", + "message": "Sua conta não pode ser criada" + } + } + }, + "create": "Criar usuário", + "changePassword": { + "label": "Alterar senha", + "notification": { + "success": { + "message": "Senha alterada com sucesso" + }, + "error": { + "message": "Não é possível alterar a senha" + } + } + }, + "changeHomeBoard": { + "notification": { + "success": { + "message": "Quadro inicial alterado com sucesso" + }, + "error": { + "message": "Não foi possível alterar o painel inicial" + } + } + }, + "changeSearchPreferences": { + "notification": { + "success": { + "message": "Preferências de busca alteradas com sucesso" + }, + "error": { + "message": "Não foi possível alterar as preferências de busca" + } + } + }, + "changeFirstDayOfWeek": { + "notification": { + "success": { + "message": "Primeiro dia da semana alterado com sucesso" + }, + "error": { + "message": "Não foi possível alterar o primeiro dia da semana" + } + } + }, + "changePingIconsEnabled": { + "notification": { + "success": { + "message": "Ícones de ping alterados com sucesso" + }, + "error": { + "message": "Não foi possível alternar ícones de ping" + } + } + }, + "manageAvatar": { + "changeImage": { + "label": "Alterar imagem", + "notification": { + "success": { + "message": "A imagem foi alterada com sucesso" + }, + "error": { + "message": "Não é possível alterar a imagem" + }, + "toLarge": { + "title": "A imagem é muito grande", + "message": "O tamanho máximo da imagem é {size}" + } + } + }, + "removeImage": { + "label": "Remover imagem", + "confirm": "Tem certeza de que deseja remover esta imagem?", + "notification": { + "success": { + "message": "Imagem removida com sucesso" + }, + "error": { + "message": "Não é possível remover a imagem" + } + } + } + }, + "editProfile": { + "notification": { + "success": { + "message": "Perfil atualizado com sucesso" + }, + "error": { + "message": "Não foi possível atualizar o perfil" + } + } + }, + "delete": { + "label": "Excluir usuário permanentemente", + "description": "Exclui esse usuário incluindo suas preferências. Isso não removerá nenhum painel. O usuário não será notificado.", + "confirm": "Tem certeza que deseja excluir o usuário {username} e suas preferências?" + }, + "select": { + "label": "Selecionar usuário", + "notFound": "Nenhum usuário encontrado" + }, + "transfer": { + "label": "Selecionar novo proprietário" + } + } + }, + "group": { + "title": "Grupos", + "name": "Grupo", + "search": "Encontrar um grupo", + "field": { + "name": "Nome", + "members": "Membros", + "homeBoard": { + "label": "Quadro inicial", + "description": "Somente painéis acessíveis ao grupo podem ser selecionados" + }, + "mobileBoard": { + "label": "Quadro para celular", + "description": "Somente painéis acessíveis ao grupo podem ser selecionados" + } + }, + "permission": { + "admin": { + "title": "Administrador", + "item": { + "admin": { + "label": "Administrador", + "description": "Membros com essa permissão têm acesso total a todos os recursos e configurações" + } + } + }, + "app": { + "title": "Aplicativos", + "item": { + "create": { + "label": "Criar aplicativo", + "description": "Permitir que membros criem aplicativos" + }, + "use-all": { + "label": "Usar todas aplicações", + "description": "Permitir que os membros adicionem qualquer aplicativo aos seus painéis" + }, + "modify-all": { + "label": "Modificar todos os aplicativos", + "description": "Permitir que membros modifiquem todos os aplicativos" + }, + "full-all": { + "label": "Acesso completo a aplicativos", + "description": "Permitir que membros gerenciem, usem e excluam qualquer aplicativo" + } + } + }, + "board": { + "title": "Placas", + "item": { + "create": { + "label": "Criar painel", + "description": "Permitir que membros criem painéis" + }, + "view-all": { + "label": "Ver todos os painéis", + "description": "Permitir que membros visualizem todos os painéis" + }, + "modify-all": { + "label": "Modificar todos os painéis", + "description": "Permitir que membros modifiquem todos os painéis (Não inclui o controle de acesso e a zona de perigo)" + }, + "full-all": { + "label": "Acesso total ao painel", + "description": "Permitir que membros vejam, modifiquem e deletem todos os painéis (Incluindo o controle de acesso e a zona de perigo)" + } + } + }, + "integration": { + "title": "Integrações", + "item": { + "create": { + "label": "Criar integração", + "description": "Permitir que membros criem integrações" + }, + "use-all": { + "label": "Usar todas as integrações", + "description": "Permitir que membros adicionem qualquer integração aos seus painéis" + }, + "interact-all": { + "label": "Interagir com qualquer integração", + "description": "Permitir que membros interajam com qualquer integração" + }, + "full-all": { + "label": "Acesso total às integrações", + "description": "Permitir que membros gerenciem, usem e interajam com qualquer integração" + } + } + }, + "media": { + "title": "Mídias", + "item": { + "upload": { + "label": "Adicionar Mídia", + "description": "Permitir que membros adicionem mídias" + }, + "view-all": { + "label": "Visualizar todas as mídias", + "description": "Permitir que membros visualizem todas as mídias" + }, + "full-all": { + "label": "Acesso total às mídias", + "description": "Permitir que membros gerenciem e deletem qualquer mídia" + } + } + }, + "other": { + "title": "Outras", + "item": { + "view-logs": { + "label": "Visualizar registros", + "description": "Permitir que os membros visualizem os registros" + } + } + }, + "search-engine": { + "title": "Mecanismos de busca", + "item": { + "create": { + "label": "Criar mecanismos de busca", + "description": "Permitir que os membros criem mecanismos de busca" + }, + "modify-all": { + "label": "Modificar todos os mecanismos de busca", + "description": "Permitir que membros modifiquem todos os mecanismos de busca" + }, + "full-all": { + "label": "Acesso total às ferramentas de busca", + "description": "Permitir que membros modifiquem e deletem qualquer ferramenta de busca" + } + } + } + }, + "memberNotice": { + "mixed": "Alguns membros são de provedores externos e não podem ser gerenciados aqui", + "external": "Todos os membros são de provedores externos e não podem ser gerenciados aqui" + }, + "reservedNotice": { + "message": "Esse grupo é reservado para uso do sistema e restringe algumas ações. " + }, + "action": { + "create": { + "label": "Novo grupo", + "notification": { + "success": { + "message": "O grupo foi criado com sucesso" + }, + "error": { + "message": "Não foi possível criar o grupo" + } + } + }, + "transfer": { + "label": "Transferir propriedade", + "description": "Transferir propriedade deste grupo para outro usuário.", + "confirm": "Tem certeza de que deseja transferir a propriedade do grupo {name} para {username}?", + "notification": { + "success": { + "message": "Grupo {group} transferido para {user} com sucesso" + }, + "error": { + "message": "Não foi possível transferir a propriedade" + } + } + }, + "addMember": { + "label": "Adicionar membro" + }, + "removeMember": { + "label": "Remover membro", + "confirm": "Você tem certeza que deseja remover {user} desse grupo?" + }, + "delete": { + "label": "Deletar grupo", + "description": "Uma vez deletado o grupo não há como reverter. Tenha cuidado.", + "confirm": "Você tem certeza que deseja deletar o grupo {name}?", + "notification": { + "success": { + "message": "Grupo {name} deletado com sucesso" + }, + "error": { + "message": "Não foi possível deletar o grupo {name}" + } + } + }, + "changePermissions": { + "notification": { + "success": { + "title": "Permissões salvas", + "message": "Permissões foram salvas com sucesso" + }, + "error": { + "title": "Permissões não salvas", + "message": "As permissões não foram salvas" + } + } + }, + "update": { + "notification": { + "success": { + "message": "O grupo {name} foi salvo com sucesso" + }, + "error": { + "message": "Não é possível salvar o grupo {name}" + } + } + }, + "select": { + "label": "Selecionar grupo", + "notFound": "Nenhum grupo encontrado" + }, + "settings": { + "board": { + "notification": { + "success": { + "title": "Configurações salvas", + "message": "As configurações do painel foram salvas com sucesso" + }, + "error": { + "title": "Falha ao salvar configurações", + "message": "Não foi possível salvar as configurações do painel" + } + } + } + }, + "changePosition": { + "notification": { + "success": { + "message": "Posição alterada com sucesso" + }, + "error": { + "message": "Não é possível alterar a posição" + } + } + } + }, + "defaultGroup": { + "name": "Grupo padrão", + "description": "{name} — Todos os usuários conectados" + } + }, + "app": { + "search": "Encontre um aplicativo", + "page": { + "list": { + "title": "Aplicativos", + "noResults": { + "title": "Ainda não há aplicativos disponíveis", + "action": "Crie seu primeiro aplicativo" + } + }, + "create": { + "title": "Novo Aplicativo", + "notification": { + "success": { + "title": "Criado com sucesso", + "message": "O aplicativo foi criado com sucesso" + }, + "error": { + "title": "Falha ao criar", + "message": "Não foi possível criar o aplicativo" + } + } + }, + "edit": { + "title": "Editar aplicativo", + "notification": { + "success": { + "title": "Mudanças aplicadas com sucesso", + "message": "O aplicativo foi salvo com sucesso" + }, + "error": { + "title": "Não foi possível aplicar as alterações", + "message": "O aplicativo não pôde ser salvo" + } + } + }, + "delete": { + "title": "Deletar aplicativo", + "message": "Tem certeza que deseja excluir o aplicativo {name}?", + "notification": { + "success": { + "title": "Exclusão bem-sucedida", + "message": "O aplicativo foi excluído com sucesso" + }, + "error": { + "title": "Falha na exclusão", + "message": "Não foi possível excluir o aplicativo" + } + } + } + }, + "field": { + "name": { + "label": "Nome" + }, + "description": { + "label": "Descrição" + }, + "url": { + "label": "URL" + }, + "useDifferentUrlForPing": { + "checkbox": { + "label": "Use uma URL diferente para o ping", + "description": "Útil se o Homarr puder acessar diretamente usando um hostname interno ou rede para evitar uso de largura de banda do provedor" + } + } + }, + "action": { + "select": { + "label": "Selecionar aplicativo", + "notFound": "Nenhum aplicativo encontrado", + "search": "Busque por um aplicativo", + "noResults": "Sem resultados", + "action": "Selecionar {app}", + "title": "Selecione um aplicativo para adicioná-lo neste painel" + }, + "create": { + "title": "Criar aplicativo", + "description": "Criar um aplicativo", + "action": "Abrir criação de aplicativo" + }, + "add": "Adicione um aplicativo" + } + }, + "integration": { + "page": { + "list": { + "title": "Integrações", + "search": "Buscar integrações", + "noResults": { + "title": "Ainda não existem integrações" + } + }, + "create": { + "title": "Nova integração {name}", + "notification": { + "success": { + "title": "Criação bem-sucedida", + "message": "A integração foi criada com sucesso" + }, + "error": { + "title": "A criação falhou", + "message": "A integração não pôde ser criada" + } + }, + "app": { + "option": { + "existing": { + "title": "Existente", + "label": "Selecione um aplicativo existente" + }, + "new": { + "title": "Novo", + "url": { + "label": "URL da aplicação", + "description": "A URL do aplicativo será aberta quando acessada a partir do painel de controle" + } + } + } + } + }, + "edit": { + "title": "Editar integração {name}", + "notification": { + "success": { + "title": "Mudanças aplicadas com sucesso", + "message": "A integração foi salva com sucesso" + }, + "error": { + "title": "Não foi possível aplicar as alterações", + "message": "A integração não pôde ser salva" + } + }, + "app": { + "action": { + "add": "Vincular um aplicativo", + "remove": "Desvincular", + "select": "Selecione um aplicativo para vincular" + } + } + }, + "delete": { + "title": "Excluir integração", + "message": "Tem certeza que deseja excluir a integração {name}?", + "notification": { + "success": { + "title": "Exclusão bem-sucedida", + "message": "A integração foi excluída com sucesso" + }, + "error": { + "title": "Falha na exclusão", + "message": "Não foi possível deletar a integração" + } + } + } + }, + "field": { + "name": { + "label": "Nome" + }, + "url": { + "label": "URL" + }, + "attemptSearchEngineCreation": { + "label": "Criar mecanismo de busca", + "description": "A integração \"{kind}\" pode ser usada com os mecanismos de busca. Marque isso para configurar automaticamente o mecanismo de busca." + }, + "app": { + "sectionTitle": "Aplicativo vinculado" + }, + "createApp": { + "label": "Criar aplicativo", + "description": "Crie um aplicativo com o mesmo nome e ícone da integração. Deixe o campo de entrada abaixo vazio para criar o aplicativo com a URL de integração." + }, + "appHref": { + "placeholder": "URL de aplicativo personalizada" + } + }, + "action": { + "create": "Nova integração" + }, + "testConnection": { + "action": { + "create": "Testar conexão e criar", + "edit": "Testar conexão e salvar" + }, + "error": { + "common": { + "cause": { + "title": "Causa com mais detalhes" + } + }, + "unknown": { + "title": "Erro desconhecido", + "description": "Ocorreu um erro desconhecido, abra a causa abaixo para ver mais detalhes" + }, + "parse": { + "title": "Erro de análise", + "description": "A resposta não pôde ser analisada. Verifique se a URL está apontando para a URL base do serviço." + }, + "authorization": { + "title": "Erro de autorização", + "description": "A solicitação não foi autorizada. Verifique se as credenciais estão corretas e se você as configurou com permissões suficientes." + }, + "statusCode": { + "title": "Erro de resposta", + "description": "Resposta inesperada recebida: {statusCode} ({reason}) de . Verifique se a URL está apontando para a URL base da integração.", + "otherDescription": "Resposta inesperada recebida: {statusCode} de . Verifique se a URL está apontando para a URL base da integração.", + "reason": { + "badRequest": "Solicitação inválida", + "notFound": "Não encontrado", + "tooManyRequests": "Muitas solicitações", + "internalServerError": "Erro interno do servidor", + "serviceUnavailable": "Serviço indisponível", + "gatewayTimeout": "Tempo esgotado do gateway" + } + }, + "certificate": { + "title": "Erro de certificado", + "description": { + "expired": "O certificado expirou.", + "notYetValid": "O certificado ainda não é válido.", + "untrusted": "O certificado não é confiável.", + "hostnameMismatch": "O hostname do certificado não corresponde à URL." + }, + "alert": { + "permission": { + "title": "Permissões insuficientes", + "message": "Você não tem permissão para confiar ou carregar certificados. Entre em contato com o seu administrador para carregar o certificado raiz necessário." + }, + "hostnameMismatch": { + "title": "Incompatibilidade de hostname", + "message": "O hostname no certificado não corresponde ao hostname ao qual você está se conectando. Isso pode indicar um risco de segurança, mas você ainda pode optar por confiar neste certificado." + }, + "extract": { + "title": "Falha na extração do certificado CA", + "message": "Apenas certificados autoassinados sem uma cadeia podem ser buscados automaticamente. Se você estiver usando um certificado autoassinado, certifique-se de fazer upload do certificado CA manualmente. Você pode encontrar instruções sobre como fazer isso em ." + } + }, + "action": { + "retry": { + "label": "Tentar criação novamente" + }, + "trust": { + "label": "Confiar no certificado" + }, + "upload": { + "label": "Enviar certificado" + } + }, + "hostnameMismatch": { + "confirm": { + "title": "Confiar na incompatibilidade de hostname", + "message": "Tem certeza de que deseja confiar no certificado com incompatibilidade de hostname?" + }, + "notification": { + "success": { + "title": "Certificado confiável", + "message": "Hostname adicionado à lista de certificados confiáveis" + }, + "error": { + "title": "Falha ao confiar no certificado", + "message": "Não foi possível confiar no certificado com incompatibilidade de hostname" + } + } + }, + "selfSigned": { + "confirm": { + "title": "Confiar no certificado autoassinado", + "message": "Tem certeza de que deseja confiar neste certificado autoassinado?" + }, + "notification": { + "success": { + "title": "Certificado confiável", + "message": "Adicionar certificado a lista de certificados confiáveis" + }, + "error": { + "title": "Falha ao confiar no certificado", + "message": "Falha ao adicionar certificado à lista de certificados confiáveis" + } + } + }, + "details": { + "title": "Detalhes", + "description": "Revise as informações do certificado antes de decidir confiar nele.", + "content": { + "action": "Exibir conteúdo", + "title": "Certificado PEM" + } + } + }, + "request": { + "title": "Erro de solicitação", + "description": { + "connection": { + "hostUnreachable": "O servidor não pôde ser alcançado. Isso geralmente significa que o host está offline ou inacessível da sua rede.", + "networkUnreachable": "A rede está inacessível. Verifique sua conexão com a internet ou configuração de rede.", + "refused": "O servidor recusou a conexão. Ele pode não estar em execução ou está rejeitando solicitações na porta especificada.", + "reset": "A conexão foi fechada inesperadamente pelo servidor. Isso pode acontecer se o servidor estiver instável ou for reiniciado." + }, + "dns": { + "notFound": "Não foi possível encontrar o endereço do servidor. Verifique se há erros de digitação ou nomes de domínio inválidos na URL.", + "timeout": "A consulta DNS expirou. Isso pode ser um problema temporário—tente novamente em alguns instantes.", + "noAnswer": "O servidor DNS não retornou uma resposta válida. O domínio pode existir, mas não possui registros válidos." + }, + "timeout": { + "aborted": "A solicitação foi abortada antes de ser concluída. Isso pode ser devido a uma ação do usuário ou tempo limite do sistema.", + "timeout": "A solicitação demorou muito para ser concluída e expirou. Verifique sua rede ou tente novamente mais tarde." + } + } + } + }, + "alertNotice": "O botão Salvar é habilitado após o estabelecimento de uma conexão bem-sucedida", + "notification": { + "success": { + "title": "Conexão bem-sucedida", + "message": "A conexão foi estabelecida com sucesso" + }, + "invalidUrl": { + "title": "URL inválido", + "message": "A URL é inválida" + }, + "secretNotDefined": { + "title": "Credenciais ausentes", + "message": "Nem todas as credenciais foram fornecidas" + }, + "invalidCredentials": { + "title": "Credenciais inválidas", + "message": "As credenciais são inválidas" + }, + "commonError": { + "title": "Falha na conexão", + "message": "A conexão não pôde ser estabelecida" + }, + "badRequest": { + "title": "Solicitação inválida", + "message": "A solicitação estava malformada" + }, + "unauthorized": { + "title": "Não autorizado", + "message": "Credenciais provavelmente incorretas" + }, + "forbidden": { + "title": "Proibido", + "message": "Provavelmente faltam permissões" + }, + "notFound": { + "title": "Não encontrado", + "message": "Provavelmente URL ou caminho incorreto" + }, + "internalServerError": { + "title": "Erro interno do servidor", + "message": "O servidor encontrou um erro" + }, + "serviceUnavailable": { + "title": "Serviço indisponível", + "message": "O servidor está indisponível no momento" + }, + "connectionAborted": { + "title": "Conexão abortada", + "message": "A conexão foi abortada" + }, + "domainNotFound": { + "title": "Domínio não encontrado", + "message": "O domínio não pôde ser encontrado" + }, + "connectionRefused": { + "title": "Conexão recusada", + "message": "A conexão foi recusada" + }, + "invalidJson": { + "title": "JSON inválido", + "message": "A resposta não é um JSON válido" + }, + "wrongPath": { + "title": "Caminho incorreto", + "message": "O caminho provavelmente não está correto" + }, + "tooManyRequests": { + "title": "Muitas solicitações em um curto período", + "message": "Houve muitas requisições. Você provavelmente está sendo limitado por taxa ou rejeitado pelo sistema de destino" + } + } + }, + "secrets": { + "title": "Secrets", + "lastUpdated": "Última atualização em {date}", + "notSet": { + "label": "Nenhum valor definido", + "tooltip": "Esta credencial obrigatória ainda não foi definida" + }, + "secureNotice": "Esta credencial não pode ser recuperada após a criação", + "reset": { + "title": "Redefinir credencial", + "message": "Tem certeza de que deseja redefinir esta credencial?" + }, + "noSecretsRequired": { + "segmentTitle": "Sem credenciais", + "text": "Nenhuma credencial necessária para esta integração" + }, + "kind": { + "username": { + "label": "Usuário", + "newLabel": "Novo nome de usuário" + }, + "apiKey": { + "label": "Chave de API", + "newLabel": "Nova chave de API" + }, + "password": { + "label": "Senha", + "newLabel": "Nova senha" + }, + "tokenId": { + "label": "Token ID", + "newLabel": "Novo ID de token" + }, + "realm": { + "label": "Realm", + "newLabel": "Novo realm" + }, + "personalAccessToken": { + "label": "Token de acesso pessoal", + "newLabel": "Novo token de acesso pessoal" + }, + "topic": { + "label": "Tópico", + "newLabel": "Novo tópico" + }, + "url": { + "label": "URL", + "newLabel": "Nova URL" + }, + "opnsenseApiKey": { + "label": "Chave de API (Key)", + "newLabel": "Nova Chave de API (Key)" + }, + "opnsenseApiSecret": { + "label": "Chave de API (Key)", + "newLabel": "Nova Chave de API (Key)" + }, + "githubAppId": { + "label": "ID do Aplicativo", + "newLabel": "Novo ID de Aplicativo" + }, + "githubInstallationId": { + "label": "ID de instalação", + "newLabel": "Novo ID de instalação" + }, + "privateKey": { + "label": "Chave privada", + "newLabel": "Nova chave privada" + } + } + }, + "permission": { + "use": "Selecionar integrações em itens", + "interact": "Interagir com integrações", + "full": "Acesso completo à integração" + } + }, + "media": { + "plural": "Mídias", + "search": "Buscar uma mídia", + "field": { + "name": "Nome", + "size": "Tamanho", + "creator": "Criador" + }, + "action": { + "upload": { + "label": "Enviar mídia", + "file": "Selecionar arquivo", + "notification": { + "success": { + "message": "A mídia foi carregada com sucesso" + }, + "error": { + "message": "Não foi possível carregar a mídia" + } + } + }, + "delete": { + "label": "Excluir mídia", + "description": "Tem certeza que deseja deletar a mídia ?", + "notification": { + "success": { + "message": "A mídia foi excluída com sucesso" + }, + "error": { + "message": "Não foi possível excluir a mídia" + } + } + }, + "copy": { + "label": "Copiar URL" + }, + "open": { + "label": "Abrir mídia" + } + } + }, + "common": { + "success": "Sucesso", + "beta": "Beta", + "error": "Erro", + "action": { + "add": "Adicionar", + "apply": "Aplicar", + "backToOverview": "Voltar à visão geral", + "change": "Alterar", + "create": "Criar", + "createAnother": "Criar e recomeçar", + "edit": "Editar", + "import": "Importar", + "insert": "Inserir", + "remove": "Excluir", + "save": "Salvar", + "saveChanges": "Salvar alterações", + "cancel": "Cancelar", + "delete": "Apagar", + "discard": "Descartar", + "close": "Fechar", + "confirm": "Confirme", + "continue": "Continuar", + "previous": "Anterior", + "next": "Próximo", + "checkoutDocs": "Confira a documentação", + "checkLogs": "Verifique os logs para mais detalhes", + "tryAgain": "Tente novamente", + "loading": "Carregando" + }, + "here": "aqui", + "iconPicker": { + "label": "URL do ícone", + "header": "Digite o nome ou os objetos para filtrar os ícones... O Homarr pesquisará {countIcons} ícones para você." + }, + "colorScheme": { + "options": { + "light": "Claro", + "dark": "Escuro" + } + }, + "information": { + "min": "Mínimo", + "max": "Máximo", + "days": "Dias", + "hours": "Horas", + "minutes": "Minutos" + }, + "notification": { + "create": { + "success": "Criação realizada com sucesso", + "error": "Criação falhou" + }, + "delete": { + "success": "Exclusão realizada com sucesso", + "error": "Exclusão falhou" + }, + "update": { + "success": "Mudanças aplicadas com sucesso", + "error": "Não foi possível aplicar as mudanças" + }, + "transfer": { + "success": "Transferência realizada com sucesso", + "error": "Transferência falhou" + } + }, + "multiSelect": { + "placeholder": "Selecione um ou mais valores" + }, + "multiText": { + "placeholder": "Adicione mais valores", + "addLabel": "Adicionar {value}" + }, + "select": { + "placeholder": "Selecionar um valor", + "badge": { + "recommended": "Recomendado" + } + }, + "userAvatar": { + "menu": { + "switchToDarkMode": "Alternar para o modo escuro", + "switchToLightMode": "Alternar para o modo claro", + "management": "Gerenciamento", + "preferences": "Suas preferências", + "logout": "Sair", + "login": "“Login”", + "homeBoard": "Seu painel inicial", + "loggedOut": "Sessão encerrada", + "updateAvailable": "{countUpdates} atualizações disponíveis: {tag}" + } + }, + "dangerZone": "Zona de risco", + "noResults": "Nenhum resultado encontrado", + "unsavedChanges": "Você tem alterações não salvas!", + "servers": "Servidores", + "applications": "Aplicativos", + "services": "Serviços", + "preview": { + "show": "Exibir visualização", + "hide": "Ocultar visualização" + }, + "zod": { + "errors": { + "default": "Esse campo é inválido", + "required": "Este campo é obrigatório", + "string": { + "startsWith": "Esse campo deve começar com {startsWith}", + "endsWith": "Esse campo deve terminar com {endsWith}", + "includes": "Esse campo deve incluir {includes}", + "invalidEmail": "Este campo deve ser um e-mail válido" + }, + "tooSmall": { + "string": "Esse campo deve ter pelo menos {minimum} caracteres", + "number": "Esse campo deve ser maior ou igual a {minimum}" + }, + "tooBig": { + "string": "Esse campo deve ter no máximo {maximum} caracteres", + "number": "Esse campo deve ser menor ou igual a {maximum}" + }, + "custom": { + "passwordsDoNotMatch": "Senhas não coincidem", + "passwordRequirements": "A senha não atende aos requisitos", + "boardAlreadyExists": "Já existe um painel com este nome", + "invalidFileType": "Formato de arquivo inválido, esperado {expected}", + "invalidFileName": "Nome de arquivo inválido", + "fileTooLarge": "O arquivo é muito grande, o tamanho máximo é {maxSize}", + "invalidConfiguration": "Configuração inválida", + "groupNameTaken": "Nome de grupo já em uso" + } + } + }, + "unit": { + "speed": { + "kilometersPerHour": "km/h", + "milesPerHour": "mph" + } + } + }, + "section": { + "dynamic": { + "action": { + "create": "Nova seção dinâmica", + "remove": "Remover seção dinâmica" + }, + "option": { + "title": { + "label": "Título" + }, + "customCssClasses": { + "label": "Classes CSS customizadas" + }, + "borderColor": { + "label": "Cor da borda" + } + }, + "remove": { + "title": "Remover seção dinâmica", + "message": "Tem certeza de que deseja remover esta seção dinâmica? Os itens serão movidos para o mesmo local na seção pai." + } + }, + "category": { + "field": { + "name": { + "label": "Nome" + } + }, + "action": { + "create": "Nova categoria", + "edit": "Renomear categoria", + "remove": "Remover categoria", + "moveUp": "Subir", + "moveDown": "Mover para baixo", + "createAbove": "Nova categoria acima", + "createBelow": "Nova categoria abaixo", + "openAllInNewTabs": "Abrir tudo em abas" + }, + "create": { + "title": "Nova categoria", + "submit": "Adicionar categoria" + }, + "remove": { + "title": "Remover categoria", + "message": "Tem certeza que deseja deletar a categoria {name}?" + }, + "edit": { + "title": "Renomear categoria", + "submit": "Renomear categoria" + }, + "menu": { + "label": { + "create": "Nova categoria", + "changePosition": "Mudar de posição" + } + }, + "openAllInNewTabs": { + "title": "Abrir tudo em abas", + "text": "Alguns navegadores podem bloquear a abertura em massa de abas por motivos de segurança. O Homarr não conseguiu abrir todas as janelas porque seu navegador bloqueou esta ação. Por favor, permita \"Abrir janelas pop-up\" e tente novamente." + } + } + }, + "item": { + "action": { + "create": "Novo item", + "import": "Importar item", + "edit": "Editar item", + "moveResize": "Mover / redimensionar item", + "duplicate": "Duplicar item", + "remove": "Remover item" + }, + "menu": { + "label": { + "settings": "Configurações" + } + }, + "create": { + "title": "Escolha o item a adicionar", + "search": "Filtrar itens", + "addToBoard": "Adicionar ao painel" + }, + "moveResize": { + "title": "Mover / redimensionar item", + "field": { + "width": { + "label": "Largura" + }, + "height": { + "label": "Altura" + }, + "xOffset": { + "label": "Deslocamento X" + }, + "yOffset": { + "label": "Deslocamento Y" + } + } + }, + "edit": { + "title": "Editar item", + "advancedOptions": { + "label": "Opções avançadas", + "title": "Opções avançadas de itens" + }, + "field": { + "integrations": { + "label": "Integrações" + }, + "title": { + "label": "Título" + }, + "customCssClasses": { + "label": "Classes CSS personalizadas" + }, + "borderColor": { + "label": "Cor da borda" + } + } + }, + "remove": { + "title": "Remover item", + "message": "Tem certeza que deseja remover esse item?" + } + }, + "widget": { + "app": { + "name": "Aplicativo", + "description": "Incorpora um aplicativo no quadro.", + "option": { + "appId": { + "label": "Escolher aplicativo" + }, + "openInNewTab": { + "label": "Abrir em nova guia" + }, + "showTitle": { + "label": "Exibir o nome do aplicativo" + }, + "pingEnabled": { + "label": "Habilitar verificação de status" + }, + "layout": { + "label": "Layout", + "option": { + "row": "Horizontal", + "row-reverse": "Horizontal (invertido)", + "column": "Vertical", + "column-reverse": "Vertical (invertido)" + } + }, + "descriptionDisplayMode": { + "label": "Modo de exibição da descrição", + "description": "Escolha como exibir a descrição do aplicativo", + "option": { + "normal": "Dentro do widget", + "tooltip": "Como tooltip", + "hidden": "Oculto" + } + } + }, + "error": { + "notFound": { + "label": "Nenhum aplicativo", + "tooltip": "Você não tem nenhum aplicativo válido selecionado" + } + } + }, + "bookmarks": { + "name": "Marcadores", + "description": "Exibe múltiplos links de aplicativos", + "option": { + "title": { + "label": "Título" + }, + "layout": { + "label": "Layout", + "option": { + "row": { + "label": "Horizontal" + }, + "column": { + "label": "Vertical" + }, + "grid": { + "label": "Grade" + }, + "gridHorizontal": { + "label": "Grade horizontal" + } + } + }, + "hideTitle": { + "label": "Ocultar título" + }, + "hideIcon": { + "label": "Ocultar ícones" + }, + "hideHostname": { + "label": "Ocultar nomes de host" + }, + "openNewTab": { + "label": "Abrir em nova guia" + }, + "items": { + "label": "Marcadores", + "add": "Adicionar marcador" + } + } + }, + "dnsHoleSummary": { + "name": "Resumo do DNS Hole", + "description": "Exibe o resumo do seu DNS Hole", + "option": { + "layout": { + "label": "Layout", + "option": { + "row": { + "label": "Horizontal" + }, + "column": { + "label": "Vertical" + }, + "grid": { + "label": "Grade" + } + } + }, + "usePiHoleColors": { + "label": "Usar cores do Pi-Hole" + } + }, + "error": { + "internalServerError": "Falha ao buscar resumo do DNS Hole", + "integrationsDisconnected": "Nenhum dado disponível, todas as integrações estão desconectadas" + }, + "data": { + "adsBlockedToday": "Bloqueado hoje", + "adsBlockedTodayPercentage": "Bloqueado hoje", + "dnsQueriesToday": "Consultas hoje", + "domainsBeingBlocked": "Domínios na lista de bloqueio" + }, + "domainsTooltip": "Devido a múltiplas integrações, o Homarr não pode calcular o número exato de domínios sendo bloqueados" + }, + "dnsHoleControls": { + "name": "Controles do DNS Hole", + "description": "Controle o PiHole ou o AdGuard em seu painel de controle", + "option": { + "layout": { + "label": "Layout", + "option": { + "row": { + "label": "Horizontal" + }, + "column": { + "label": "Vertical" + }, + "grid": { + "label": "Grade" + } + } + }, + "showToggleAllButtons": { + "label": "Exibir botões \"Alternar Todos\"" + } + }, + "error": { + "internalServerError": "Falha ao gerenciar o DNS Hole" + }, + "controls": { + "enableAll": "Habilitar todos", + "disableAll": "Desabilitar todos", + "setTimer": "Definir temporizador", + "set": "Definir", + "enabled": "Ativado", + "disabled": "Desativado", + "processing": "Processando", + "disconnected": "Desconectado", + "hours": "Horas", + "minutes": "Minutos", + "unlimited": "Deixe em branco para não limitar" + } + }, + "clock": { + "name": "Data e hora", + "description": "Apresenta a data e hora actuais.", + "option": { + "customTitleToggle": { + "label": "Exibição personalizada do título/cidade", + "description": "Exiba um título personalizado ou o nome da cidade/país na parte superior do relógio." + }, + "customTitle": { + "label": "Título" + }, + "is24HourFormat": { + "label": "Formato de 24 horas", + "description": "Use o formato de 24 horas em vez do formato de 12 horas" + }, + "showSeconds": { + "label": "Exibir segundos" + }, + "useCustomTimezone": { + "label": "Usar um fuso horário fixo" + }, + "timezone": { + "label": "Fuso-horário", + "description": "Escolha o fuso horário seguindo o padrão IANA" + }, + "showDate": { + "label": "Exibir data" + }, + "dateFormat": { + "label": "Formato de data", + "description": "Como a data deve ser apresentada" + }, + "customTimeFormat": { + "label": "Formato de hora personalizado", + "description": "Usar ISO 8601 para formatar horas (Isso sobrescreverá outras opções)" + }, + "customDateFormat": { + "label": "Formato de data personalizado", + "description": "Usar ISO 8601 para formatar datas (Isso sobrescreverá outras opções)" + } + } + }, + "minecraftServerStatus": { + "name": "Status de servidor Minecraft", + "description": "Exibir o status de um servidor Minecraft", + "option": { + "title": { + "label": "Título" + }, + "domain": { + "label": "Endereço do servidor" + }, + "isBedrockServer": { + "label": "Servidor Bedrock" + } + }, + "status": { + "online": "Online", + "offline": "Offline" + } + }, + "timetable": { + "name": "Calendário", + "description": "Mostra os horários de partida de uma estação", + "title": "Partidas {station}", + "noStation": "Nenhuma estação selecionada", + "option": { + "station": { + "label": "Estação" + } + } + }, + "notebook": { + "name": "Caderno de anotações", + "description": "Um widget de bloco de notas simples que suporta markdown", + "option": { + "showToolbar": { + "label": "Mostrar a barra de ferramentas para ajudá-lo a escrever markdown" + }, + "allowReadOnlyCheck": { + "label": "Permitir a verificação no modo de leitura" + }, + "content": { + "label": "O conteúdo do notebook" + } + }, + "controls": { + "bold": "Negrito", + "italic": "Itálico", + "strikethrough": "Riscar", + "underline": "Sublinhar", + "colorText": "Cor do texto", + "colorHighlight": "Texto colorido em destaque", + "code": "Código", + "clear": "Limpar formatação", + "heading": "Cabeçalho {level}", + "align": "Alinhar texto: {position}", + "blockquote": "Bloco de Citação", + "horizontalLine": "Linha horizontal", + "bulletList": "Lista de marcadores", + "orderedList": "Lista ordenada", + "checkList": "Lista de verificação", + "increaseIndent": "Aumentar recuo", + "decreaseIndent": "Diminuir recuo", + "link": "Link", + "unlink": "Remover link", + "image": "Incorporar imagem", + "addTable": "Adicionar tabela", + "deleteTable": "Excluir tabela", + "colorCell": "Cor da Célula", + "mergeCell": "Ativar/desativar mesclagem de células", + "addColumnLeft": "Adicionar coluna antes", + "addColumnRight": "Adicionar coluna depois", + "deleteColumn": "Excluir coluna", + "addRowTop": "Adicionar linha antes", + "addRowBelow": "Adicionar linha depois", + "deleteRow": "Excluir linha" + }, + "align": { + "left": "Esquerda", + "center": "Centralizado", + "right": "Certo" + }, + "popover": { + "clearColor": "Limpar cor", + "source": "Fonte", + "widthPlaceholder": "Valor em % ou pixels", + "columns": "Colunas", + "rows": "Linhas", + "width": "Largura", + "height": "Altura" + }, + "placeholder": "Comece a escrever suas notas", + "dismiss": { + "title": "Descartar alterações?", + "message": "Você tem alterações não salvas em seu bloco de notas. Tem certeza de que deseja descartá-las?", + "action": { + "discard": "Descartar alterações", + "keepEditing": "Continuar editando" + } + } + }, + "anchorNote": { + "name": "Nota do Anchor", + "description": "Exibe a nota selecionada do Anchor", + "option": { + "noteId": { + "label": "Nota" + }, + "showTitle": { + "label": "Mostrar título" + }, + "showUpdatedAt": { + "label": "Exibir última atualização" + } + }, + "empty": "Selecione uma nota para exibir", + "emptyContent": "Essa nota esta vazia", + "notFound": "Nenhuma nota encontrada", + "noNotes": "Nenhuma nota encontrada", + "integrationRequired": "Selecione primeiro uma integração do Anchor", + "updatedAt": "Atualizado em {date}", + "untitled": "Sem título", + "edit": "Editar", + "save": "Salvar", + "cancel": "Cancelar", + "readOnlyViewer": "Você tem acesso de visualização a esta nota. A edição está desativada.", + "saveForbidden": "Você não tem permissão para editar essa nota.", + "saveFailed": "Não foi possível salvar a nota. Tente novamente." + }, + "iframe": { + "name": "iFrame", + "description": "Incorporar qualquer conteúdo da internet. Alguns sites podem restringir o acesso.", + "option": { + "embedUrl": { + "label": "Incorporar URL" + }, + "allowFullScreen": { + "label": "Permitir tela cheia" + }, + "allowTransparency": { + "label": "Permitir transparência" + }, + "allowScrolling": { + "label": "Permitir rolagem" + }, + "allowPayment": { + "label": "Permitir pagamento" + }, + "allowAutoPlay": { + "label": "Permitir reprodução automática" + }, + "allowMicrophone": { + "label": "Permitir microfone" + }, + "allowCamera": { + "label": "Permitir câmera" + }, + "allowGeolocation": { + "label": "Permitir geolocalização" + }, + "allowModals": { + "label": "Permitir modais" + } + }, + "error": { + "noUrl": "Nenhum URL de iFrame fornecido", + "unsupportedProtocol": "A URL fornecida está usando um protocolo não suportado. Use um dos seguintes protocolos: ({supportedProtocols})", + "noBrowerSupport": "Seu navegador não suporta iframes. Atualize seu navegador." + } + }, + "smartHome-entityState": { + "name": "Estado da Entidade", + "description": "Exibe o estado de uma entidade e permite alterná-lo opcionalmente", + "option": { + "entityId": { + "label": "ID da entidade" + }, + "displayName": { + "label": "Nome de exibição" + }, + "entityUnit": { + "label": "Unidade da Entidade" + }, + "clickable": { + "label": "Clicável" + } + } + }, + "smartHome-executeAutomation": { + "name": "Executar automação", + "description": "Acionar uma automação com um único clique", + "option": { + "displayName": { + "label": "Nome de exibição" + }, + "automationId": { + "label": "ID da automação" + } + }, + "spotlightAction": { + "run": "Executar {name}" + } + }, + "stockPrice": { + "name": "Preço das ações", + "description": "Exibe o preço atual das ações de uma empresa", + "option": { + "stock": { + "label": "Símbolo da ação" + }, + "timeRange": { + "label": "Intervalo de tempo", + "option": { + "1d": { + "label": "1 dia" + }, + "5d": { + "label": "5 dias" + }, + "1mo": { + "label": "1 mês" + }, + "3mo": { + "label": "3 meses" + }, + "6mo": { + "label": "6 meses" + }, + "ytd": { + "label": "Acumulado no ano (YTD)" + }, + "1y": { + "label": "1 ano" + }, + "2y": { + "label": "2 anos" + }, + "5y": { + "label": "5 anos" + }, + "10y": { + "label": "10 anos" + }, + "max": { + "label": "Máximo" + } + } + }, + "timeInterval": { + "label": "Intervalo de tempo", + "option": { + "5m": { + "label": "5 minutos" + }, + "15m": { + "label": "15 minutos" + }, + "30m": { + "label": "30 minutos" + }, + "1h": { + "label": "1 hora" + }, + "1d": { + "label": "1 dia" + }, + "5d": { + "label": "5 dias" + }, + "1wk": { + "label": "1 semana" + }, + "1mo": { + "label": "1 mês" + } + } + } + } + }, + "calendar": { + "name": "Calendário", + "description": "Exibe eventos de suas integrações em uma visualização de calendário dentro de um período relativo específico", + "duration": { + "allDay": "Dia inteiro" + }, + "option": { + "releaseType": { + "label": "Tipo de libertação de Radarr", + "options": { + "inCinemas": "Nos cinemas", + "digitalRelease": "Lançamento digital", + "physicalRelease": "Lançamento físico" + } + }, + "filterPastMonths": { + "label": "Começar de" + }, + "filterFutureMonths": { + "label": "Terminar em" + }, + "showUnmonitored": { + "label": "Mostrar não monitorados" + } + } + }, + "weather": { + "name": "Tempo", + "description": "Apresenta a informação meteorológica actual de um local definido.", + "option": { + "isFormatFahrenheit": { + "label": "Temperatura em Fahrenheit" + }, + "disableTemperatureDecimals": { + "label": "Desativar decimais de temperatura" + }, + "showCurrentWindSpeed": { + "label": "Exibir velocidade do vento atual", + "description": "Somente no clima atual" + }, + "useImperialSpeed": { + "label": "Usar unidade mph para velocidade do vento" + }, + "location": { + "label": "Localização do tempo" + }, + "showCity": { + "label": "Exibir cidade" + }, + "hasForecast": { + "label": "Exibir previsão" + }, + "forecastDayCount": { + "label": "Quantidade de dias de previsão", + "description": "Quando o widget não é largo o suficiente, menos dias serão exibidos" + }, + "dateFormat": { + "label": "Formato de data", + "description": "Como a data deve ser exibida" + } + }, + "currentWindSpeed": "{currentWindSpeed} {unit}", + "dailyForecast": { + "sunrise": "Nascer do sol", + "sunset": "Pôr do sol", + "maxWindSpeed": "Velocidade máxima do vento: {maxWindSpeed} {unit}", + "maxWindGusts": "Rajadas máximas de vento: {maxWindGusts} {unit}" + }, + "kind": { + "clear": "Limpar", + "mainlyClear": "Principalmente claro", + "fog": "Névoa", + "drizzle": "Chuvisco", + "freezingDrizzle": "Chuvisco de congelação", + "rain": "Chuva", + "freezingRain": "Chuva gelada", + "snowFall": "Queda de neve", + "snowGrains": "Grãos de neve", + "rainShowers": "Duches de chuva", + "snowShowers": "Aguaceiros de neve", + "thunderstorm": "Tempestade", + "thunderstormWithHail": "Tempestade com granizo", + "unknown": "Desconhecido" + } + }, + "indexerManager": { + "name": "Status do Gerenciador de Indexadores", + "description": "Status dos seus indexadores", + "option": { + "openIndexerSiteInNewTab": { + "label": "Abrir o site do indexador em uma nova guia" + } + }, + "title": "Gerenciador de indexadores", + "testAll": "Testar todos", + "error": { + "internalServerError": "Falha ao buscar status dos indexadores" + } + }, + "healthMonitoring": { + "name": "Monitoramento da integridade do sistema", + "description": "Exibe informações que mostram a saúde e status de seu(s) sistema(s).", + "tab": { + "system": "Sistema", + "cluster": "Cluster" + }, + "option": { + "fahrenheit": { + "label": "Temperatura da CPU em Fahrenheit" + }, + "cpu": { + "label": "Mostrar informações da CPU" + }, + "memory": { + "label": "Mostrar informações da memória" + }, + "gpu": { + "label": "Mostrar informações da GPU" + }, + "showUptime": { + "label": "Exibir tempo de atividade" + }, + "fileSystem": { + "label": "Mostrar informações do sistema de arquivos" + }, + "defaultTab": { + "label": "Aba padrão" + }, + "visibleClusterSections": { + "label": "Seções de cluster visíveis" + }, + "sectionIndicatorRequirement": { + "label": "Requisito do indicador de seção" + } + }, + "popover": { + "information": "Informação", + "processor": "Processador: {cpuModelName}", + "memory": "Memória: {memory}GiB", + "memoryAvailable": "Disponível: {memoryAvailable}GiB ({percent}%)", + "version": "Versão {version}", + "uptime": "Tempo de atividade: {months} mês(es), {days} dias, {hours} horas, {minutes} minutos", + "loadAverage": "Média de carga:", + "minute": "1 minuto", + "minutes": "{count} minutos", + "used": "Usado", + "available": "Disponível", + "lastSeen": "Última atualização de status: {lastSeen}" + }, + "memory": {}, + "error": { + "internalServerError": "Falha ao buscar status de saúde" + }, + "cluster": { + "summary": { + "cpu": "CPU", + "memory": "RAM" + }, + "resource": { + "node": { + "name": "Nós" + }, + "qemu": { + "name": "VMs" + }, + "lxc": { + "name": "LXCs" + }, + "storage": { + "name": "Armazenamento" + } + }, + "popover": { + "rightSection": { + "node": "Nós", + "vmId": "ID da VM", + "plugin": "Plugin" + }, + "detail": { + "cpu": "Núcleos", + "memory": "Memória", + "storage": "Armazenamento", + "uptime": "Tempo de atividade", + "haState": "Estado HA", + "storageType": { + "local": "Armazenamento local", + "shared": "Armazenamento compartilhado" + } + } + }, + "table": { + "header": { + "name": "Nome", + "cpu": "CPU", + "memory": "RAM", + "node": "Nó" + } + } + } + }, + "dockerContainers": { + "name": "Estatísticas do Docker", + "description": "Estatísticas dos seus contêineres (Esse widget só pode ser adicionado com privilégios de administrador)", + "option": { + "enableRowSorting": { + "label": "Ativar ordenação de itens" + }, + "defaultSort": { + "label": "Coluna usada para ordenação por padrão", + "option": { + "name": "Nome", + "state": "Estado", + "cpuUsage": "Uso da CPU", + "memoryUsage": "Uso da Memória" + } + }, + "descendingDefaultSort": { + "label": "Inverter ordenação" + } + }, + "error": { + "internalServerError": "Erro ao obter as estatísticas dos contêineres" + } + }, + "coolify": { + "name": "Coolify", + "description": "Visão geral da sua instância Coolify com servidores e aplicativos", + "option": { + "showServers": { + "label": "Exibir servidores" + }, + "showApplications": { + "label": "Exibir aplicações" + }, + "showServices": { + "label": "Exibir serviços" + } + }, + "empty": { + "servers": "Nenhum servidor encontrado", + "applications": "Nenhum aplicativo encontrado", + "services": "Nenhum serviço encontrado" + }, + "footer": { + "updated": "Atualizado em {when}" + }, + "error": { + "noIntegration": "Nenhuma integração Coolify configurada", + "internalServerError": "Falha ao buscar dados do Coolify" + }, + "server": { + "buildServer": "Build" + }, + "instances": { + "title": "Instâncias" + } + }, + "tracearr": { + "name": "Tracearr", + "description": "Monitoramento avançado de servidor de mídia com dados detalhados de transmissão e transcodificação\n", + "option": { + "showStreams": { + "label": "Exibir transmissões ativas" + }, + "showStats": { + "label": "Exibir resumo de estatísticas" + }, + "showRecentActivity": { + "label": "Exibir Atividade Recente" + }, + "showViolations": { + "label": "Mostrar Violações" + } + }, + "stats": { + "activeStreams": "Streams Ativas", + "totalUsers": "Total de usuários", + "transcodes": "Transcodificações", + "bandwidth": "Largura da banda" + }, + "streams": { + "empty": "Sem transmissões ativas", + "user": "Usuário", + "media": "Mídia", + "state": "Estado", + "quality": "Qualidade", + "device": "Dispositivo", + "progress": "Progresso", + "videoDecision": { + "directPlay": "Reprodução direta", + "transcode": "Transcodificação", + "directStream": "Transmissão direta" + } + }, + "recentActivity": { + "title": "Atividade recente", + "empty": "Nenhuma atividade recente", + "watched": "Assistido", + "partial": "Parcial" + }, + "violations": { + "title": "Violações", + "empty": "Não há violações recentes", + "rule": "Regra", + "user": "Usuário" + }, + "noSectionsEnabled": "Nenhuma seção habilitada", + "error": { + "noIntegration": "Nenhuma integração Coolify configurada", + "internalServerError": "Falha ao buscar dados do Tracearr" + } + }, + "common": { + "location": { + "query": "Cidade / CEP", + "latitude": "Latitude", + "longitude": "Longitude", + "disabledTooltip": "Por favor, insira uma cidade ou um CEP", + "unknownLocation": "Localização desconhecida", + "search": "Pesquisa", + "table": { + "header": { + "city": "Cidade", + "country": "País", + "coordinates": "Coordenadas", + "population": "População" + }, + "action": { + "select": "Selecione {city}, {countryCode}" + }, + "population": { + "fallback": "Desconhecido" + } + } + }, + "integration": { + "noData": "Nenhuma integração encontrada", + "description": "Clique para criar um aplicativo", + "quickCreate": "Criar aplicativo em tempo real" + }, + "error": { + "noIntegration": "Nenhuma integração selecionada", + "noData": "Nenhum dado de integração disponível" + }, + "option": {} + }, + "video": { + "name": "Transmissão de vídeo", + "description": "Incorporar um stream de vídeo ou vídeo de uma câmera ou de um site", + "option": { + "feedUrl": { + "label": "URL do feed" + }, + "hasAutoPlay": { + "label": "Reprodução automática", + "description": "A reprodução automática só funciona quando está no mudo devido a restrições do navegador" + }, + "isMuted": { + "label": "Mudo" + }, + "hasControls": { + "label": "Exibir controles" + } + }, + "error": { + "noUrl": "Nenhum URL de vídeo fornecido", + "forYoutubeUseIframe": "Para vídeos do Youtube, use a opção de iFrame" + } + }, + "mediaServer": { + "name": "Streams atuais do servidor de mídia", + "description": "Exibe os streams atuais em seus servidores de mídia", + "option": { + "showOnlyPlaying": { + "label": "Exibir apenas o que está sendo reproduzido", + "description": "Desabilitar isso não funcionará para o Plex" + } + }, + "items": { + "currentlyPlaying": "Reproduzindo agora", + "user": "Usuário", + "name": "Nome", + "id": "Id", + "metadata": { + "title": "Estatísticas para nerds", + "video": { + "title": "Vídeo", + "resolution": "Resolução" + }, + "audio": { + "title": "Áudio", + "channelCount": "Canais de áudio", + "codec": "Codificador de áudio" + }, + "transcoding": { + "title": "Transcodificação", + "container": "Contêiner", + "resolution": "Resolução", + "target": "Codec de destino" + } + } + } + }, + "immich-serverStats": { + "name": "Estatísticas do Servidor Immich", + "description": "Informações sobre sua instância do Immich", + "option": { + "showUsers": { + "label": "Mostrar usuários", + "description": "Mostrar a contagem de usuários na sua instância" + }, + "showPhotos": { + "label": "Mostrar Fotos", + "description": "Mostrar a contagem de fotos na sua instância" + }, + "showVideos": { + "label": "Mostrar vídeos", + "description": "Mostrar contagem de vídeos na sua instância" + }, + "showStorage": { + "label": "Mostrar armazenamento", + "description": "Mostrar a quantidade total de armazenamento utilizado" + } + }, + "users": "Usuários", + "photos": "Fotos", + "videos": "Vídeos", + "storage": "Armazenamento Utilizado" + }, + "immich-albumCarousel": { + "name": "Álbum do Immich", + "option": { + "albumId": { + "label": "ID do Álbum", + "description": "Esta é uma identificação única que se refere ao seu álbum Immich. Você pode encontrar essa identificação abrindo um álbum e copiando a string única da URL, por exemplo 'a21aca09-9f05-47dc-b1a1-7b53c547226e'" + }, + "rotationIntervalSeconds": { + "label": "Intervalo em segundos", + "description": "Girar entre as imagens no álbum a cada X segundos. Deve ser pelo menos 1. Deve estar abaixo de 3600." + }, + "showPhotoInfo": { + "label": "Mostrar informações da foto", + "description": "Exibir a data da imagem e o índice atual na parte inferior da apresentação" + } + }, + "description": "Apresentação de imagens em seu álbum Imich", + "noAlbumSelected": "Nenhum álbum selecionado, edite o widget e escolha um álbum", + "noPhotos": "Nenhuma foto neste álbum" + }, + "downloads": { + "name": "Cliente de Download", + "description": "Permite visualizar e gerenciar seus Downloads de clientes Torrent e Usenet.", + "option": { + "columns": { + "label": "Colunas para exibir" + }, + "enableRowSorting": { + "label": "Habilitar ordenação de itens" + }, + "defaultSort": { + "label": "Coluna usada para ordenação por padrão" + }, + "descendingDefaultSort": { + "label": "Inverter ordenação" + }, + "showCompletedUsenet": { + "label": "Exibir entradas usenet marcadas como concluídas" + }, + "showCompletedTorrent": { + "label": "Exibir entradas torrent marcadas como concluídas" + }, + "showCompletedHttp": { + "label": "Exibir entradas diversas marcadas como concluídas" + }, + "activeTorrentThreshold": { + "label": "Ocultar torrents concluídos abaixo deste limite (em kiB/s)" + }, + "categoryFilter": { + "label": "Categorias/rótulos para filtrar" + }, + "filterIsWhitelist": { + "label": "Filtrar como lista de permissões" + }, + "applyFilterToRatio": { + "label": "Usar filtro para calcular Proporção" + }, + "limitPerIntegration": { + "label": "Limitar itens por integração", + "description": "Isso limitará o número de itens exibidos por integração, não globalmente" + } + }, + "errors": { + "noColumns": "Selecionar Colunas em Itens", + "noCommunications": "Não foi possível carregar dados da integração" + }, + "items": { + "actions": { + "columnTitle": "Controles" + }, + "added": { + "columnTitle": "Adicionado", + "detailsTitle": "Data adicionada" + }, + "category": { + "columnTitle": "Extras", + "detailsTitle": "Categorias (ou informações extras)" + }, + "downSpeed": { + "columnTitle": "Para baixo", + "detailsTitle": "Velocidade de Transferência" + }, + "index": { + "columnTitle": "#", + "detailsTitle": "Índice atual no cliente" + }, + "id": { + "columnTitle": "Id" + }, + "integration": { + "columnTitle": "Integração" + }, + "name": { + "columnTitle": "Nome do trabalho" + }, + "progress": { + "columnTitle": "Progresso", + "detailsTitle": "Baixar progresso" + }, + "ratio": { + "columnTitle": "Razão", + "detailsTitle": "Relação de torrent (recebido/enviado)" + }, + "received": { + "columnTitle": "Total baixado", + "detailsTitle": "Total baixado" + }, + "sent": { + "columnTitle": "Total enviado", + "detailsTitle": "Total enviado" + }, + "size": { + "columnTitle": "Tamanho do arquivo", + "detailsTitle": "Tamanho total da seleção/arquivos" + }, + "state": { + "columnTitle": "Estado", + "detailsTitle": "Estado do trabalho" + }, + "time": { + "columnTitle": "Tempo de conclusão", + "detailsTitle": "Tempo desde/até a conclusão" + }, + "type": { + "columnTitle": "Tipo", + "detailsTitle": "Tipo de cliente de download" + }, + "upSpeed": { + "columnTitle": "Para cima", + "detailsTitle": "Velocidade de envio" + } + }, + "states": { + "downloading": "Baixando", + "queued": "Em fila", + "paused": "Pausado", + "completed": "Concluído", + "failed": "Falhou", + "processing": "Processando", + "leeching": "Baixando (Leeching)", + "stalled": "Parado", + "unknown": "Desconhecido", + "seeding": "Compartilhando (Seeding)" + }, + "actions": { + "clients": { + "modalTitle": "Lista de clientes de download", + "pause": "Pausar todos os clientes/itens", + "resume": "Retomar todos os clientes/itens" + }, + "client": { + "pause": "Pausar cliente", + "resume": "Retomar cliente" + }, + "item": { + "pause": "Pausar item", + "resume": "Pausar item", + "delete": { + "title": "Excluir item", + "modalTitle": "Tem certeza de que deseja excluir este trabalho?", + "entry": "Excluir entrada", + "entryAndFiles": "Excluir entrada e arquivo(s)" + } + } + }, + "globalRatio": "Proporção global" + }, + "mediaReleases": { + "name": "Lançamentos de mídias", + "description": "Exibe mídias recém-adicionadas ou lançamentos futuros de diferentes integrações", + "option": { + "layout": { + "label": "Layout", + "option": { + "backdrop": { + "label": "Backdrop" + }, + "poster": { + "label": "Pôster" + } + } + }, + "showDescriptionTooltip": { + "label": "Exibir dica de descrição" + }, + "showType": { + "label": "Exibir emblema de tipo de mídia" + }, + "showSource": { + "label": "Exibir integração de origem" + } + }, + "length": { + "duration": "{length} minutos" + } + }, + "mediaRequests-requestList": { + "name": "Lista de Solicitações de Mídia", + "description": "Veja uma lista de todas as solicitações de mídia da sua instância do Overseerr ou Jellyseerr", + "option": { + "linksTargetNewTab": { + "label": "Abrir links em uma nova guia" + } + }, + "pending": { + "approve": "Aprovar solicitação", + "approving": "Aprovando solicitação...", + "decline": "Recusar solicitação" + }, + "availability": { + "unknown": "Desconhecido", + "pending": "Pendente", + "processing": "Processando", + "requested": "Solicitado", + "partiallyAvailable": "Parcial", + "available": "Disponível", + "blacklisted": "Na lista negra", + "deleted": "Excluído" + }, + "status": { + "pending": "Pendente", + "approved": "Aprovado", + "declined": "Rejeitado", + "failed": "Falhou", + "completed": "Concluído" + }, + "toBeDetermined": "TBD" + }, + "mediaRequests-requestStats": { + "name": "Estatísticas de Solicitações de Mídia", + "description": "Estatísticas sobre suas solicitações de mídia", + "option": {}, + "titles": { + "stats": { + "main": "Estatísticas de mídia", + "approved": "Já aprovado", + "pending": "Aprovações pendentes", + "processing": "Sendo processado", + "declined": "Já recusado", + "available": "Já disponível", + "tv": "Solicitações de TV", + "movie": "Solicitações de filmes", + "total": "Total" + }, + "users": { + "main": "Principais usuários", + "requests": "Solicitações" + } + } + }, + "mediaTranscoding": { + "name": "Transcodificação de mídia", + "description": "Estatísticas, fila atual e status dos workers de transcodificação de mídia", + "option": { + "defaultView": { + "label": "Visualização padrão" + }, + "queuePageSize": { + "label": "Tamanho da página da fila" + } + }, + "tab": { + "workers": "Workers", + "queue": "Fila", + "statistics": "Estatísticas" + }, + "currentIndex": "{start}-{end} de {total}", + "healthCheck": { + "title": "Verificação de saúde", + "queued": "Em fila", + "status": { + "healthy": "Saudável", + "unhealthy": "Não saudável" + } + }, + "panel": { + "statistics": { + "empty": "Vazio", + "transcodes": "Transcodificações", + "transcodesCount": "Transcodificações", + "healthChecksCount": "Verificações de saúde", + "filesCount": "Arquivos", + "savedSpace": "Espaço economizado", + "healthChecks": "Verificações de saúde", + "videoCodecs": "Codificadores", + "videoContainers": "Contêineres", + "videoResolutions": "Resoluções" + }, + "workers": { + "empty": "Vazio", + "table": { + "file": "Ficheiro", + "eta": "TED", + "progress": "Progresso", + "transcode": "Transcodificar", + "healthCheck": "Verificação de saúde" + } + }, + "queue": { + "empty": "Vazio", + "table": { + "file": "Ficheiro", + "size": "Tamanho", + "transcode": "Transcodificar", + "healthCheck": "Verificação de saúde" + } + } + } + }, + "rssFeed": { + "name": "Feeds RSS", + "description": "Monitora e exibe um ou mais feeds RSS, ATOM ou JSON genéricos", + "option": { + "feedUrls": { + "label": "URLs de feed" + }, + "enableRtl": { + "label": "Habilitar RTL" + }, + "textLinesClamp": { + "label": "Limite de linhas da descrição" + }, + "maximumAmountPosts": { + "label": "Limite de quantidade de posts" + }, + "hideDescription": { + "label": "Ocultar descrição" + }, + "showPosterImage": { + "label": "Exibir pôster" + } + } + }, + "releases": { + "name": "Lançamentos", + "description": "Exibe uma lista da versão atual dos repositórios fornecidos com a expressão regular de versão fornecida.", + "option": { + "newReleaseWithin": { + "label": "Novo lançamento dentro de", + "description": "Exemplo de uso: 1w (1 semana), 10M (10 meses). Tipos de unidades aceitas: h (horas), d (dias), w (semanas), M (meses), y (anos). Deixe em branco para não destacar novos lançamentos." + }, + "staleReleaseWithin": { + "label": "Lançamento Antigo Dentro de", + "description": "Exemplo de uso: 1w (1 semana), 10M (10 meses). Tipos de unidades aceitas: h (horas), d (dias), w (semanas), M (meses), y (anos). Deixe em branco para não destacar versões antigas." + }, + "showOnlyHighlighted": { + "label": "Exibir apenas destacados", + "description": "Exibir apenas lançamentos novos ou antigos. Conforme acima." + }, + "showDetails": { + "label": "Exibir detalhes" + }, + "showOnlyIcon": { + "label": "Exibir apenas ícones" + }, + "topReleases": { + "label": "Principais lançamentos", + "description": "O número máximo de lançamentos recentes a exibir. Zero significa sem limite." + }, + "repositories": { + "label": "Repositórios", + "addRepository": { + "label": "Adicionar repositório" + }, + "importRepositories": { + "label": "Importar do Docker", + "loading": "Carregando imagens do Docker", + "noImagesFound": "Nenhuma imagem do Docker encontrada", + "listFoundImages": "Lista de imagens encontradas", + "listAlreadyImportedImages": "Lista de imagens já importadas", + "allImagesAlreadyImported": "Todas as imagens já importadas", + "onlyAdminCanImport": "Apenas administradores podem importar do Docker", + "selectAll": "Selecionar tudo", + "deselectAll": "Desmarcar tudo" + }, + "provider": { + "label": "Provedor" + }, + "identifier": { + "label": "Identificador", + "placeholder": "Nome ou Proprietário/Nome" + }, + "name": { + "label": "Nome" + }, + "versionFilter": { + "label": "Filtro de versão", + "prefix": { + "label": "Prefixo" + }, + "precision": { + "label": "Precisão", + "options": { + "none": "Nenhum(a)" + } + }, + "suffix": { + "label": "Sufixo" + }, + "regex": { + "label": "Expressão regular (RegEx)" + } + }, + "edit": { + "label": "Editar" + }, + "editForm": { + "title": "Editar repositório", + "cancel": { + "label": "Cancelar" + }, + "confirm": { + "label": "Confirmar" + } + }, + "importForm": { + "title": "Importar do Docker" + }, + "example": { + "label": "Exemplo" + }, + "invalid": "Definição de repositório inválida, verifique os valores", + "noProvider": { + "label": "Nenhum provedor", + "tooltip": "O provedor não pôde ser analisado, defina-o manualmente após importar as imagens" + } + } + }, + "not-found": "Não encontrado", + "pre-release": "Pré-lançamento", + "archived": "Arquivado", + "forked": "Fork", + "starsCount": "Estrelas", + "forksCount": "Forks", + "issuesCount": "Issues abertas", + "markViewed": "Marcar como visualizado", + "openProjectPage": "Abrir página do projeto", + "openReleasePage": "Abrir página do lançamento", + "releaseDescription": "Descrição do lançamento", + "projectDescription": "Descrição do projeto", + "created": "Criado", + "error": { + "label": "Erro", + "messages": { + "invalidIdentifier": "Identificador inválido", + "noMatchingVersion": "Nenhuma versão correspondente encontrada", + "noReleasesFound": "Nenhum lançamento encontrado", + "noProviderSeleceted": "Nenhum provedor selecionado", + "noProviderResponse": "Nenhuma resposta do provedor" + } + } + }, + "networkControllerSummary": { + "option": {}, + "card": { + "vpn": { + "countConnected": "{count} conectados" + } + }, + "error": { + "integrationsDisconnected": "Nenhum dado disponível, todas as integrações estão desconectadas", + "unknownContentOption": "Opção de conteúdo desconhecida para o widget de resumo do controlador de rede: " + }, + "name": "Resumo do Controlador de Rede", + "description": "Exibe o resumo de um Controlador de Rede (como UniFi Controller)" + }, + "networkControllerStatus": { + "card": { + "variants": { + "wired": { + "name": "Com fio" + }, + "wifi": { + "name": "Wi-Fi" + } + }, + "users": { + "label": "Usuários" + }, + "guests": { + "label": "Convidados" + } + }, + "option": { + "content": { + "option": { + "wifi": { + "label": "Wi-Fi" + }, + "wired": { + "label": "Com fio" + } + }, + "label": "Conteúdo do widget" + } + }, + "error": { + "integrationsDisconnected": "Nenhum dado disponível, todas as integrações estão desconectadas", + "unknownContentOption": "Opção de conteúdo desconhecida para o widget de status de rede: " + }, + "name": "Status da Rede", + "description": "Exibir dispositivos conectados em uma rede" + }, + "networkController": { + "error": { + "internalServerError": "Falha ao buscar resumo do Controlador de Rede" + } + }, + "firewall": { + "name": "Monitoramento do Firewall", + "description": "Exibe um resumo dos firewalls", + "tab": { + "system": "Sistema", + "interfaces": "Interfaces" + }, + "error": { + "internalServerError": "Não foi possível obter dados do firewall" + }, + "option": { + "interfaces": "Interfaces de rede a serem exibidas" + }, + "widget": { + "fwname": "Nome", + "version": "Versão", + "versiontitle": "Versões", + "cputitle": "Uso da CPU", + "memorytitle": "Uso da Memória", + "cpu": "CPU", + "memory": "Memória", + "interfaces": { + "name": "nome", + "trans": "Transmitido", + "recv": "Recebido", + "title": "Interfaces de rede" + } + } + }, + "notifications": { + "name": "Notificações", + "description": "Exibe histórico de notificações de uma integração", + "noItems": "Nenhuma notificação para exibir.", + "option": {} + }, + "speedtestTracker": { + "name": "Speedtest Tracker", + "description": "Exibe os resultados do teste de velocidade da sua instância do Speedtest Tracker.", + "option": { + "showLatestResult": { + "label": "Mostrar último resultado" + }, + "showStats": { + "label": "Exibir médias" + }, + "showRecentResults": { + "label": "Mostrar resultados recentes" + }, + "showPingGraph": { + "label": "Exibir gráfico de ping" + } + }, + "latestResult": "Último resultado", + "averages": "Médias", + "tests": "Testes", + "recentResults": "Resultados recentes", + "recentResultsSpeed": "Velocidade", + "recentResultsPing": "Ping", + "download": "Download", + "upload": "Upload", + "ping": "Ping", + "status": "Status", + "avgDownload": "Download médio", + "avgUpload": "Upload médio", + "avgPing": "Ping médio", + "healthy": "Saudável", + "unhealthy": "Com problemas", + "ok": "Ok", + "fail": "Falhou", + "noSectionsEnabled": "Habilite ao menos uma seção nas opções do widget.", + "error": { + "internalServerError": "Falha ao obter dados do Speedtest" + } + }, + "systemResources": { + "name": "Recursos do Sistema", + "description": "Utilização da CPU, Memória, Disco e outro hardware do seu sistema", + "option": { + "hasShadow": { + "label": "Habilitar sombreamento do gráfico" + }, + "visibleCharts": { + "label": "Gráficos visíveis", + "description": "Selecione os gráficos que você deseja que estejam visíveis.", + "option": { + "cpu": "CPU", + "memory": "Memória", + "gpu": "GPU", + "network": "Rede" + } + }, + "labelDisplayMode": { + "label": "Modo de exibição do rótulo", + "option": { + "textWithIcon": "Exibir texto com ícone", + "text": "Exibir apenas texto", + "icon": "Exibir apenas ícones", + "hidden": "Ocultar rótulo" + } + } + }, + "card": { + "cpu": "CPU", + "memory": "MEM", + "gpu": "GPU", + "network": "REDE", + "up": "ENVIO", + "down": "RECEBIDO" + } + }, + "systemDisks": { + "name": "Discos do sistema", + "description": "Uso de disco do seu sistema", + "option": { + "showTemperatureIfAvailable": { + "label": "Mostrar temperatura se disponível" + }, + "displayMode": { + "label": "Modo de exibição", + "option": { + "percentage": { + "label": "Porcentagem (ex: 76%)" + }, + "absolute": { + "label": "Valores absolutos (ex: 800GB / 1TB)" + }, + "free": { + "label": "Porcentagem de espaço livre (ex: 24% livre)" + } + } + }, + "showBackgroundBar": { + "label": "Exibir barra de uso em segundo plano" + } + }, + "status": { + "unhealthy": "Não saudável" + } + } + }, + "widgetPreview": { + "toggle": { + "enabled": "Modo de edição habilitado", + "disabled": "Modo de edição desabilitado" + }, + "dimensions": { + "title": "Alterar dimensões" + } + }, + "board": { + "action": { + "duplicate": { + "title": "Duplicar painel", + "message": "Isso duplicará o painel {name} com todo o seu conteúdo. Se os widgets fizerem referência a integrações que você não tem permissão para usar, eles serão removidos.", + "notification": { + "success": { + "title": "Painel duplicado", + "message": "O painel foi duplicado com sucesso" + }, + "error": { + "title": "Não foi possível duplicar o painel", + "message": "O painel não pôde ser duplicado" + } + } + }, + "edit": { + "notification": { + "success": { + "title": "Alterações aplicadas com sucesso", + "message": "O painel foi salvo com sucesso" + }, + "error": { + "title": "Não foi possível aplicar as alterações", + "message": "O painel não pôde ser salvo" + } + }, + "confirmLeave": { + "title": "Alterações não salvas", + "message": "Você tem alterações não salvas, tem certeza de que deseja sair?" + } + }, + "oldImport": { + "label": "Importar do Homarr anterior à versão 1.0.0", + "notification": { + "success": { + "title": "Importação bem-sucedida", + "message": "O painel foi importado com sucesso" + }, + "error": { + "title": "Falha na importação", + "message": "O painel não pôde ser importado, verifique os logs para mais detalhes" + } + }, + "form": { + "file": { + "label": "Selecionar arquivo JSON", + "invalidError": "Arquivo de configuração inválido" + }, + "apps": { + "label": "Aplicativos", + "avoidDuplicates": { + "label": "Evitar duplicatas", + "description": "Ignora aplicativos onde já existe um aplicativo com o mesmo href" + }, + "onlyImportApps": { + "label": "Importar apenas aplicativos", + "description": "Só adiciona os aplicativos, o painel precisa ser recriado manualmente" + } + }, + "name": { + "label": "Nome do painel" + }, + "screenSize": { + "label": "Tamanho da tela", + "description": "Nas versões anteriores à 1.0 existiam três modos diferentes, então você podia escolher a quantidade de colunas para cada tamanho de tela.", + "option": { + "sm": "Pequeno", + "md": "Médio", + "lg": "Grande" + } + }, + "sidebarBehavior": { + "label": "Comportamento da barra lateral", + "description": "As barras laterais foram removidas na versão 1.0. Você pode selecionar o que deve acontecer com os itens dentro delas.", + "option": { + "lastSection": { + "label": "Última seção", + "description": "A barra lateral será exibida abaixo da última seção" + }, + "removeItems": { + "label": "Remover itens", + "description": "Os itens presentes na barra lateral serão removidos" + } + } + } + } + }, + "quickCreateApp": { + "modal": { + "title": "Criar aplicativo em tempo real", + "createAndUse": "Criar e utilizar" + } + } + }, + "field": { + "pageTitle": { + "label": "Título da página" + }, + "metaTitle": { + "label": "Meta-título" + }, + "logoImageUrl": { + "label": "URL da imagem de logo" + }, + "faviconImageUrl": { + "label": "URL da imagem do favicon" + }, + "backgroundImageUrl": { + "label": "URL da imagem do plano de fundo", + "placeholder": "Comece a digitar para pesquisar imagens locais", + "group": { + "your": "Suas imagens", + "other": "Outras imagens" + } + }, + "backgroundImageAttachment": { + "label": "Anexo de imagem de fundo", + "option": { + "fixed": { + "label": "Fixo", + "description": "O plano de fundo permanece na mesma posição." + }, + "scroll": { + "label": "Rolar", + "description": "O plano de fundo rola com o mouse." + } + } + }, + "backgroundImageRepeat": { + "label": "Repetição da imagem de fundo", + "option": { + "repeat": { + "label": "Repetir", + "description": "A imagem é repetida o quanto for necessário para cobrir toda a área de pintura da imagem de fundo." + }, + "no-repeat": { + "label": "Não repetir", + "description": "A imagem não é repetida e pode não preencher todo o espaço." + }, + "repeat-x": { + "label": "Repetir X", + "description": "Igual a 'Repetir' mas apenas no eixo horizontal." + }, + "repeat-y": { + "label": "Repetir Y", + "description": "Igual a 'Repetir' mas apenas no eixo vertical." + } + } + }, + "backgroundImageSize": { + "label": "Tamanho da imagem de fundo", + "option": { + "cover": { + "label": "Cobrir", + "description": "Dimensiona a imagem o menor possível para cobrir toda a janela cortando o espaço excessivo." + }, + "contain": { + "label": "Incluir", + "description": "Dimensione a imagem o máximo possível dentro do seu contêiner, sem recortá-la ou distorcê-la." + } + } + }, + "primaryColor": { + "label": "Cor primária" + }, + "secondaryColor": { + "label": "Cor secundária" + }, + "opacity": { + "label": "Opacidade" + }, + "iconColor": { + "label": "Cor do ícone" + }, + "clearColor": { + "label": "Limpar cor" + }, + "customCss": { + "label": "CSS personalizado para este painel", + "description": "Além disso, personalize seu painel usando CSS, recomendado apenas para usuários experientes", + "customClassesAlert": { + "title": "Classes personalizadas", + "description": "Você pode adicionar classes personalizadas aos itens do seu painel nas opções avançadas de cada item e usá-las no CSS personalizado acima." + } + }, + "disableStatus": { + "label": "Desabilitar status do aplicativo", + "description": "Desabilita a verificação de status para todos os aplicativos neste painel" + }, + "columnCount": { + "label": "Contagem de coluna" + }, + "itemRadius": { + "label": "Raio do item", + "description": "Altera o arredondamento dos blocos no seu painel", + "option": { + "xs": "Muito pequeno", + "sm": "Pequeno", + "md": "Médio", + "lg": "Grande", + "xl": "Muito grande" + } + }, + "name": { + "label": "Nome" + }, + "isPublic": { + "label": "Público", + "description": "Painéis públicos são acessíveis a todos, mesmo sem uma conta." + } + }, + "content": { + "metaTitle": "Quadro {boardName}" + }, + "setting": { + "title": "Configurações para o painel {boardName}", + "section": { + "general": { + "title": "Geral", + "unrecognizedLink": "O link fornecido não é reconhecido e não será exibido, mas ainda pode funcionar." + }, + "layout": { + "title": "Layout", + "responsive": { + "title": "Layouts responsivos", + "action": { + "add": "Adicionar layout" + } + } + }, + "background": { + "title": "Imagem de fundo" + }, + "appearance": { + "title": "Aparência" + }, + "customCss": { + "title": "CSS personalizado" + }, + "behavior": { + "title": "Comportamento" + }, + "access": { + "title": "Controle de acesso", + "permission": { + "item": { + "view": { + "label": "Exibir painel" + }, + "modify": { + "label": "Editar painel" + }, + "full": { + "label": "Acesso completo" + } + } + } + }, + "dangerZone": { + "title": "Zona de risco", + "action": { + "rename": { + "label": "Renomear painel", + "description": "Alterar o nome quebrará quaisquer links para este painel.", + "button": "Alterar nome", + "modal": { + "title": "Renomear painel" + } + }, + "visibility": { + "label": "Editar visibilidade do painel", + "description": { + "public": "Este painel está público atualmente.", + "private": "Este painel está privado atualmente." + }, + "button": { + "public": "Tornar privado", + "private": "Tornar público" + }, + "confirm": { + "public": { + "title": "Tornar painel privado", + "description": "Tem certeza que deseja tornar esse painel privado? Isso ocultará o painel do público. Os links para convidados serão desativados." + }, + "private": { + "title": "Tornar painel público", + "description": "Tem certeza que deseja tornar esse painel público? Isso tornará o painel acessível a todos." + } + } + }, + "delete": { + "label": "Excluir este painel", + "description": "Uma vez que você exclui um painel, não há como voltar atrás. Por favor, tenha certeza.", + "button": "Excluir este painel", + "confirm": { + "title": "Excluir painel", + "description": "Tem certeza de que deseja excluir este painel? Isso excluirá permanentemente o painel e todo o seu conteúdo." + } + } + } + } + } + }, + "error": { + "noBoard": { + "title": "Bem-vindo ao Homarr", + "description": "Um painel elegante e moderno que coloca todos os seus aplicativos e serviços ao seu alcance.", + "link": "Crie seu primeiro painel", + "notice": "Para fazer esta página desaparecer, crie um painel e defina-o como painel inicial" + }, + "notFound": { + "title": "Quadro não encontrado", + "description": "O painel especificado não foi encontrado ou você não tem acesso a ele.", + "link": "Visualizar todos os painéis", + "notice": "Verifique o link ou entre em contato com um administrador se você acha que deveria estar acessível" + }, + "homeBoard": { + "title": "Nenhum painel inicial estabelecido", + "admin": { + "description": "Você ainda não definiu um painel inicial para o servidor.", + "link": "Configurar painel inicial do servidor", + "notice": "Para fazer essa página desaparecer para todos os usuários, defina um painel inicial para o servidor" + }, + "user": { + "description": "Você ainda não definiu um painel inicial.", + "link": "Configure seu quadro inicial", + "notice": "Para fazer essa página desaparecer, especifique o quadro inicial em suas preferências" + }, + "anonymous": { + "description": "O administrador do servidor ainda não definiu um quadro inicial.", + "link": "Visualizar painéis públicos", + "notice": "Para fazer essa página desaparecer, peça ao administrador do servidor para definir um quadro inicial para o servidor" + } + } + } + }, + "layout": { + "field": { + "name": { + "label": "Nome" + }, + "columnCount": { + "label": "Contagem de colunas" + }, + "breakpoint": { + "label": "Breakpoint", + "description": "O layout será usado em todas as telas maiores que este breakpoint até o próximo breakpoint maior." + } + } + }, + "management": { + "metaTitle": "Gerenciamento", + "title": { + "morning": "Bom dia, {username}", + "afternoon": "Boa tarde, {username}", + "evening": "Boa noite, {username}" + }, + "notFound": { + "title": "Não encontrado", + "text": "Não foi possível encontrar o recurso solicitado" + }, + "navbar": { + "items": { + "home": "Início", + "boards": "Placas", + "apps": "Aplicativos", + "integrations": "Integrações", + "searchEngies": "Mecanismos de busca", + "medias": "Mídias", + "users": { + "label": "Usuários", + "items": { + "manage": "Gerenciar", + "invites": "Convites", + "groups": "Grupos" + } + }, + "tools": { + "label": "Ferramentas", + "items": { + "docker": "Docker", + "kubernetes": "Kubernetes", + "logs": "Logs", + "api": "API", + "certificates": "Certificados", + "tasks": "Tarefas" + } + }, + "settings": "Configurações", + "help": { + "label": "Ajuda", + "items": { + "documentation": "Documentação", + "submitIssue": "Enviar um problema", + "discord": "Discórdia da comunidade", + "sourceCode": "Código-fonte" + } + }, + "about": "Sobre" + } + }, + "page": { + "home": { + "statistic": { + "board": "Placas", + "user": "Usuários", + "invite": "Convites", + "integration": "Integrações", + "app": "Aplicativos", + "group": "Grupos", + "searchEngine": "Mecanismos de busca", + "media": "Mídias" + }, + "statisticLabel": { + "boards": "Placas", + "resources": "Recursos", + "authentication": "Autenticação", + "authorization": "Autorização" + }, + "heroBanner": { + "title": "Bem-vindo de volta ao seu", + "subtitle": "Quadro {app}" + } + }, + "board": { + "title": "Suas placas", + "action": { + "new": { + "label": "Novo quadro" + }, + "open": { + "label": "Abrir quadro" + }, + "settings": { + "label": "Configurações" + }, + "setHomeBoard": { + "label": "Definir como quadro inicial", + "badge": { + "label": "Início", + "tooltip": "Este quadro será exibido como seu quadro inicial" + } + }, + "setMobileHomeBoard": { + "label": "Definir como painel para dispositivos móveis", + "badge": { + "label": "Dispositivos móveis", + "tooltip": "Esse painel será exibido como padrão para dispositivos móveis" + } + }, + "duplicate": { + "label": "Quadro duplicado" + }, + "delete": { + "label": "Excluir permanentemente", + "confirm": { + "title": "Excluir quadro", + "description": "Tem certeza que deseja deletar o quadro {name}?" + } + } + }, + "visibility": { + "public": "Este quadro é publico", + "private": "Este quadro é privado" + }, + "modal": { + "createBoard": { + "field": { + "name": { + "label": "Nome" + } + } + } + } + }, + "media": { + "includeFromAllUsers": "Incluir mídia para todos os usuários" + }, + "user": { + "back": "Voltar aos usuários", + "fieldsDisabledExternalProvider": "Alguns campos estão desabilitados porque são gerenciados por um provedor de autenticação externo.", + "setting": { + "general": { + "title": "Geral", + "item": { + "language": "Idioma & Região", + "board": { + "title": "Quadro inicial", + "type": { + "general": "Geral", + "mobile": "Dispositivos móveis" + } + }, + "search": "Buscar", + "firstDayOfWeek": "Primeiro dia da semana", + "accessibility": "Acessibilidade" + } + }, + "security": { + "title": "Segurança" + }, + "board": { + "title": "Placas" + } + }, + "list": { + "metaTitle": "Gerenciar usuários", + "title": "Usuários" + }, + "edit": { + "metaTitle": "Editar usuário {username}" + }, + "create": { + "metaTitle": "Criar usuário", + "title": "Criar novo usuário", + "step": { + "personalInformation": { + "label": "Informações pessoais" + }, + "security": { + "label": "Segurança" + }, + "groups": { + "label": "Grupos", + "title": "Selecione todos os grupos dos quais o usuário deve ser membro", + "description": "O grupo {everyoneGroup} é atribuído a todos os usuários e não pode ser removido." + }, + "review": { + "label": "Revisão" + }, + "completed": { + "title": "Usuário criado" + }, + "error": { + "title": "Falha ao criar usuário" + } + }, + "action": { + "createAnother": "Criar outro usuário", + "back": "Retornar à lista de usuários" + } + }, + "invite": { + "title": "Gerenciar convites de usuários", + "action": { + "new": { + "title": "Novo convite", + "description": "Após a expiração, um convite não será mais válido e o destinatário do convite não poderá criar uma conta." + }, + "copy": { + "title": "Copiar convite", + "description": "Seu convite foi gerado. Após o fechamento deste modal, você não poderá mais copiar este link. Caso não deseje mais convidar essa pessoa, você pode excluir este convite a qualquer momento.", + "link": "Link do convite", + "button": "Copiar e fechar" + }, + "delete": { + "title": "Excluir convite", + "description": "Tem certeza de que deseja excluir este convite? Os usuários com esse link não poderão mais criar uma conta usando esse link." + } + }, + "field": { + "id": { + "label": "ID" + }, + "creator": { + "label": "Criador" + }, + "expirationDate": { + "label": "Data de expiração" + }, + "token": { + "label": "Token" + } + } + } + }, + "group": { + "back": "Voltar aos grupos", + "setting": { + "general": { + "title": "Geral", + "owner": "Dono", + "ownerOfGroup": "Proprietário deste grupo", + "ownerOfGroupDeleted": "O proprietário deste grupo foi excluído. Atualmente não possui proprietário." + }, + "setting": { + "title": "Configurações", + "alert": "As configurações do grupo são priorizadas pela ordem dos grupos na lista. As configurações superiores substituem as configurações inferiores.", + "board": { + "title": "Painéis" + } + }, + "members": { + "title": "Membros", + "search": "Encontrar um membro", + "notFound": "Nenhum membro encontrado" + }, + "permissions": { + "title": "Permissões", + "form": { + "unsavedChanges": "Você tem alterações não salvas!" + } + } + } + }, + "settings": { + "title": "Configurações", + "notification": { + "success": { + "message": "Configurações salvas com sucesso" + }, + "error": { + "message": "Erro ao salvar permissões" + } + }, + "section": { + "analytics": { + "title": "Análises", + "general": { + "title": "Enviar análises anônimas", + "text": "O Homarr enviará análises anonimizadas usando o software de código aberto Umami. Quando habilitado, coletamos: versão do Homarr, tipo de banco de dados (MySQL/PostgreSQL/SQLite), status Docker/Kubernetes, métodos de autenticação habilitados e a quantidade de cada recurso. Todos os dados são anônimos e agregados - nenhuma informação pessoal, URLs, nomes ou dados identificáveis são coletados. Isso ajuda nossa equipe de código aberto a entender padrões de uso e priorizar o desenvolvimento." + }, + "widgetData": { + "title": "Dados de widgets", + "text": "Envia quais widgets (e suas quantidades) você configurou. Não inclui URLs, nomes ou quaisquer outros dados." + }, + "integrationData": { + "title": "Dados de integrações", + "text": "Envia quais integrações (e suas quantidades) você configurou. Não inclui URLs, nomes ou quaisquer outros dados." + }, + "usersData": { + "title": "Dados dos usuários", + "text": "Envia a quantidade de usuários e se você ativou SSO" + } + }, + "crawlingAndIndexing": { + "title": "Rastreamento e Indexação", + "warning": "Ativar ou desativar qualquer configuração aqui afetará significativamente a forma como os mecanismos de pesquisa indexam e rastreiam sua página. Qualquer configuração é uma solicitação e cabe ao rastreador aplicar essas configurações. Qualquer modificação pode levar vários dias ou semanas para serem aplicadas. Algumas configurações podem ser específicas do mecanismo de busca.", + "noIndex": { + "title": "Não indexar", + "text": "Não indexe o site nos mecanismos de busca e não o exiba em nenhum resultado de pesquisa" + }, + "noFollow": { + "title": "Não seguir", + "text": "Não siga nenhum link durante a indexação. Desabilitar isso fará com que os rastreadores tentem seguir todos os links no Homarr." + }, + "noTranslate": { + "title": "Não traduzir", + "text": "Quando o idioma do site provavelmente não é aquele que o usuário provavelmente deseja ler, o Google mostrará um link de tradução nos resultados da pesquisa" + }, + "noSiteLinksSearchBox": { + "title": "Sem caixa de pesquisa de links do site", + "text": "O Google criará uma caixa de pesquisa com os links rastreados, juntamente com outros links diretos. Habilitar isso pedirá ao Google para desabilitar essa caixa." + } + }, + "board": { + "title": "Placas", + "homeBoard": { + "label": "Painel inicial global", + "mobileLabel": "Painel para dispositivos móveis (global)", + "description": "Apenas painéis públicos estão disponíveis para seleção" + }, + "status": { + "title": "Status de aplicativo", + "enableStatusByDefault": { + "label": "Ativar status por padrão", + "description": "Ao adicionar um item de aplicativo, o status será ativado por padrão" + }, + "forceDisableStatus": { + "label": "Forçar status de desativação", + "description": "O status dos aplicativos será desativado para todos os usuários e não poderá ser ativado" + } + } + }, + "user": { + "title": "Usuários", + "enableGravatar": { + "label": "Ativar Gravatar", + "description": "Usa avatares de usuário do Libravatar/Gravatar quando nenhum avatar personalizado está definido e um e-mail está configurado" + } + }, + "search": { + "title": "Buscar", + "defaultSearchEngine": { + "label": "Mecanismo de busca padrão global", + "description": "Mecanismos de busca de integração não podem ser selecionados aqui" + } + }, + "appearance": { + "title": "Aparência", + "defaultColorScheme": { + "label": "Esquema de cores padrão", + "options": { + "light": "Claro", + "dark": "Escuro" + } + } + }, + "culture": { + "title": "Cultura", + "defaultLocale": { + "label": "Idioma padrão" + } + } + } + }, + "tool": { + "tasks": { + "title": "Tarefas", + "status": { + "idle": "Ocioso", + "running": "Em execução", + "error": "Erro", + "disabled": "Desabilitado" + }, + "job": { + "minecraftServerStatus": { + "label": "Status do servidor Minecraft" + }, + "timetable": { + "label": "Horários" + }, + "iconsUpdater": { + "label": "Atualizador de Ícones" + }, + "analytics": { + "label": "Análises" + }, + "smartHomeEntityState": { + "label": "Estado de Entidade do Smart Home" + }, + "ping": { + "label": "Pings" + }, + "mediaServer": { + "label": "Servidor de Mídia" + }, + "mediaOrganizer": { + "label": "Organizadores de Mídia" + }, + "downloads": { + "label": "Downloads" + }, + "mediaRequestStats": { + "label": "Estatísticas de solicitações de mídia" + }, + "mediaRequestList": { + "label": "Lista de solicitações de mídia" + }, + "rssFeeds": { + "label": "Feeds RSS" + }, + "indexerManager": { + "label": "Gerenciador de Indexadores" + }, + "healthMonitoring": { + "label": "Monitoramento de saúde" + }, + "dnsHole": { + "label": "Dados do DNS Hole" + }, + "updateChecker": { + "label": "Verificador de atualizações" + }, + "mediaTranscoding": { + "label": "Transcodificação de mídia" + }, + "networkController": { + "label": "Controlador de rede" + }, + "refreshNotifications": { + "label": "Atualizador de notificações" + }, + "dockerContainers": { + "label": "Contêineres do Docker" + }, + "firewallCpu": { + "label": "CPU do Firewall" + }, + "firewallMemory": { + "label": "Memória do Firewall" + }, + "firewallVersion": { + "label": "Versão do Firewall" + }, + "firewallInterfaces": { + "label": "Interfaces de firewall" + }, + "weather": { + "label": "Clima" + }, + "tracearr": { + "label": "Tracearr" + } + }, + "interval": { + "seconds": "A cada {interval, plural, =1 {segundo} other {# segundos}}", + "minutes": "A cada {interval, plural, =1 {minuto} other {# minutos}}", + "hours": "A cada {interval, plural, =1 {hora} other {# horas}}", + "midnight": "Todo dia à meia-noite", + "weeklyMonday": "Toda semana na segunda-feira", + "update": { + "success": { + "message": "Intervalo atualizado com sucesso" + }, + "error": { + "message": "Erro ao atualizar intervalo" + } + } + }, + "settings": { + "title": "Configurações da tarefa para {jobName}" + }, + "field": { + "name": { + "label": "Nome" + }, + "interval": { + "label": "Intervalo de agendamento" + }, + "lastExecution": { + "label": "Última Execução" + }, + "actions": { + "label": "Ações" + } + }, + "table": { + "search": "Buscar {count} tarefas..." + }, + "action": { + "refresh": { + "label": "Atualizar" + } + }, + "refresh": { + "success": { + "message": "Tarefas atualizadas com sucesso" + }, + "error": { + "message": "Erro ao atualizar tarefas" + } + }, + "trigger": { + "success": { + "message": "Tarefa acionada com sucesso" + }, + "error": { + "message": "Falha ao acionar tarefa" + } + }, + "enable": { + "success": { + "message": "Tarefa habilitada com sucesso" + } + }, + "disable": { + "success": { + "message": "Tarefa desabilitada com sucesso" + } + }, + "toggle": { + "error": { + "message": "Falha ao alternar status da tarefa" + } + } + }, + "api": { + "title": "API", + "modal": { + "createApiToken": { + "title": "Token de API criado", + "description": "O token de API foi criado. Atenção, esse token é encriptado no banco de dados e jamais poderá ser transferido novamente a você. Se você perder este token, você não será mais capaz de recuperar este token específico.", + "button": "Copiar e fechar" + } + }, + "tab": { + "documentation": { + "label": "Documentação" + }, + "apiKey": { + "label": "Autenticação", + "title": "Chaves de API", + "button": { + "createApiToken": "Criar token de API" + }, + "modal": { + "delete": { + "title": "Remover token de API", + "text": "Isso excluirá permanentemente o token de API. Clientes de API que usam este token não poderão mais autenticar e executar solicitações de API. Esta ação não pode ser desfeita." + } + }, + "table": { + "header": { + "id": "ID", + "createdBy": "Criado por", + "actions": "Ações" + } + } + } + } + } + }, + "about": { + "version": "Versão {version}", + "text": "O Homarr é um projeto de código aberto impulsionado pela comunidade e mantido por voluntários. Graças a essas pessoas, o Homarr tem sido um projeto em crescimento desde 2021. Nossa equipe trabalha remotamente em vários países diferentes no Homarr, em seu tempo livre e sem remuneração.", + "accordion": { + "contributors": { + "title": "Contribuidores", + "subtitle": "{count} mantendo código e Homarr" + }, + "translators": { + "title": "Tradutores", + "subtitle": "{count} traduções contribuídas em vários idiomas" + }, + "sponsors": { + "title": "Apoiadores", + "subtitle": "{count} apoiando o projeto financeiramente" + }, + "libraries": { + "title": "Bibliotecas", + "subtitle": "{count} usadas no código do Homarr" + }, + "hotkeys": { + "title": "Teclas de atalho", + "subtitle": "Atalhos de teclado para melhorar seu fluxo de trabalho", + "field": { + "shortcut": "Atalhos", + "action": "Ação" + }, + "action": { + "toggleBoardEdit": "Alternar para o modo de edição do quadro", + "toggleColorScheme": "Alternar entre modo claro/escuro", + "saveNotebook": "Salvar bloco de notas (apenas dentro do widget de bloco de notas)", + "openSpotlight": "Abrir busca" + }, + "note": "Dica: Mod refere-se tanto à tecla Ctrl quanto à tecla ⌘ no macOS" + } + } + } + } + }, + "docker": { + "title": "Contêineres", + "table": { + "updated": "Atualizado em {when}", + "search": "Buscar {count} contêineres", + "selected": "{selectCount} de {totalCount} contêineres selecionados", + "footer": "Total de contêineres: {count}" + }, + "field": { + "name": { + "label": "Nome" + }, + "state": { + "label": "Estado", + "option": { + "created": "Criado", + "running": "Em execução", + "paused": "Pausado", + "restarting": "Recomeço", + "exited": "Finalizado", + "removing": "Remoção", + "dead": "Morto" + } + }, + "stats": { + "cpu": { + "label": "CPU" + }, + "memory": { + "label": "Memória" + } + }, + "containerImage": { + "label": "Imagem" + }, + "ports": { + "label": "Portas" + } + }, + "action": { + "title": "Ações", + "start": { + "label": "Iniciar", + "notification": { + "success": { + "title": "Contêineres iniciados", + "message": "Os contêineres foram iniciados com sucesso" + }, + "error": { + "title": "Os contêineres não foram iniciados", + "message": "Os contêineres não puderam ser iniciados" + } + } + }, + "stop": { + "label": "Parar", + "notification": { + "success": { + "title": "Os contêineres foram parados", + "message": "Os contêineres foram parados com sucesso" + }, + "error": { + "title": "Os contêineres não foram parados", + "message": "Os contêineres não puderam ser parados" + } + } + }, + "restart": { + "label": "Reiniciar", + "notification": { + "success": { + "title": "Contêineres reiniciados", + "message": "Os contêineres foram reiniciados com sucesso" + }, + "error": { + "title": "Contêineres não reiniciados", + "message": "Os contêineres não puderam ser reiniciados" + } + } + }, + "remove": { + "label": "Excluir", + "notification": { + "success": { + "title": "Contêineres removidos", + "message": "Os contêineres foram removidos com sucesso" + }, + "error": { + "title": "Contêineres não removidos", + "message": "Os contêineres não puderam ser removidos" + } + } + }, + "refresh": { + "label": "Atualizar", + "notification": { + "success": { + "title": "Os contêineres foram atualizados", + "message": "Você está agora visualizando os dados mais recentes" + }, + "error": { + "title": "Os contêineres não foram atualizados", + "message": "Algo deu errado enquanto atualizava os contêineres" + } + } + }, + "addToHomarr": { + "label": "Adicionar ao Homarr", + "notification": { + "success": { + "title": "Adicionado ao Homarr", + "message": "Os aplicativos selecionados foram adicionados ao Homarr" + }, + "error": { + "title": "Não foi possivel adicionar ao Homarr", + "message": "Os aplicativos selecionados não puderam ser adicionados ao Homarr" + } + }, + "modal": { + "title": "Adicionar contêiner(s) docker ao Homarr" + } + } + }, + "error": { + "internalServerError": "Falha ao buscar contêineres Docker" + } + }, + "kubernetes": { + "cluster": { + "title": "Painel do Cluster", + "label": "Cluster", + "providers": "Provedores", + "version": "Versão", + "architecture": "Arquitetura", + "capacity": { + "title": "Capacidade", + "resource": { + "reserved": "Reservado", + "used": "Usado" + } + }, + "resources": { + "title": "Recursos", + "nodes": "Nós", + "namespaces": "Namespaces", + "ingresses": "Ingresses", + "services": "Serviços", + "pods": "Pods", + "configmaps": "ConfigMaps", + "secrets": "Secrets", + "volumes": "Volumes" + } + }, + "nodes": { + "label": "Nós", + "field": { + "name": { + "label": "Nome" + }, + "state": { + "label": "Estado", + "option": { + "ready": "Pronto", + "NotReady": "Não está pronto" + } + }, + "cpu": { + "label": "CPU" + }, + "memory": { + "label": "RAM" + }, + "pods": { + "label": "Pods" + }, + "operatingSystem": { + "label": "SO" + }, + "architecture": { + "label": "Arquitetura" + }, + "kubernetesVersion": { + "label": "Versão do Kubernetes" + }, + "creationTimestamp": { + "label": "Criado" + } + }, + "table": { + "search": "Buscar {count} nós" + } + }, + "namespaces": { + "label": "Namespaces", + "field": { + "name": { + "label": "Nome" + }, + "state": { + "label": "Estado", + "option": { + "active": "Ativo", + "terminating": "Terminando" + } + }, + "creationTimestamp": { + "label": "Criado" + } + }, + "table": { + "search": "Buscar {count} namespaces" + } + }, + "ingresses": { + "label": "Ingresses", + "field": { + "name": { + "label": "Nome" + }, + "namespace": { + "label": "Namespace" + }, + "className": { + "label": "Nome da classe" + }, + "rulesAndPaths": { + "label": "Regras & caminhos" + }, + "creationTimestamp": { + "label": "Criado" + } + }, + "table": { + "search": "Buscar {count} ingresses" + } + }, + "services": { + "label": "Serviços", + "field": { + "name": { + "label": "Nome" + }, + "namespace": { + "label": "Namespace" + }, + "type": { + "label": "Tipo" + }, + "ports": { + "label": "Portas" + }, + "targetPorts": { + "label": "Portas de destino" + }, + "clusterIP": { + "label": "IP do Cluster" + }, + "creationTimestamp": { + "label": "Criado" + } + }, + "table": { + "search": "Buscar {count} serviços" + } + }, + "pods": { + "label": "Pods", + "field": { + "name": { + "label": "Nome" + }, + "namespace": { + "label": "Namespace" + }, + "image": { + "label": "Imagem" + }, + "applicationType": { + "label": "Tipos de aplicações" + }, + "status": { + "label": "Status" + }, + "creationTimestamp": { + "label": "Criado" + } + }, + "table": { + "search": "Buscar {count} pods" + } + }, + "secrets": { + "label": "Secrets", + "field": { + "name": { + "label": "Nome" + }, + "namespace": { + "label": "namespace" + }, + "type": { + "label": "tipo" + }, + "creationTimestamp": { + "label": "Criado" + } + }, + "table": { + "search": "Buscar {count} secrets" + } + }, + "configmaps": { + "label": "ConfigMaps", + "field": { + "name": { + "label": "Nome" + }, + "namespace": { + "label": "namespace" + }, + "creationTimestamp": { + "label": "Criado" + } + }, + "table": { + "search": "Buscar {count} configMaps" + } + }, + "volumes": { + "label": "Volumes", + "field": { + "name": { + "label": "Nome" + }, + "namespace": { + "label": "Namespace" + }, + "accessModes": { + "label": "Modos de acesso" + }, + "storage": { + "label": "Armazenamento" + }, + "storageClassName": { + "label": "Nome da classe de armazenamento" + }, + "volumeMode": { + "label": "Modo do volume" + }, + "volumeName": { + "label": "Nome do volume" + }, + "status": { + "label": "Status" + }, + "creationTimestamp": { + "label": "Criado" + } + }, + "table": { + "search": "Buscar {count} volumes" + } + }, + "error": { + "internalServerError": "Falha ao buscar dados do Kubernetes" + } + }, + "permission": { + "title": "Permissões", + "userSelect": { + "title": "Adicionar permissão de usuário" + }, + "groupSelect": { + "title": "Adicionar permissão de grupo" + }, + "tab": { + "user": "Usuários", + "group": "Grupos", + "inherited": "Grupos herdados" + }, + "field": { + "user": { + "label": "Usuário" + }, + "group": { + "label": "Grupo" + }, + "permission": { + "label": "Permissão" + } + }, + "action": { + "saveUser": "Salvar permissão de usuário", + "saveGroup": "Salvar permissão de grupo" + } + }, + "navigationStructure": { + "manage": { + "label": "Gerenciar", + "boards": { + "label": "Placas" + }, + "integrations": { + "label": "Integrações", + "edit": { + "label": "Editar" + }, + "new": { + "label": "Novo" + } + }, + "search-engines": { + "label": "Mecanismos de busca", + "new": { + "label": "Novo" + }, + "edit": { + "label": "Editar" + } + }, + "medias": { + "label": "Mídias" + }, + "apps": { + "label": "Aplicativos", + "new": { + "label": "Novo" + }, + "edit": { + "label": "Editar" + } + }, + "users": { + "label": "Usuários", + "create": { + "label": "Criar" + }, + "general": "Geral", + "security": "Segurança", + "board": "Placas", + "groups": { + "label": "Grupos" + }, + "invites": { + "label": "Convites" + } + }, + "tools": { + "label": "Ferramentas", + "tasks": { + "label": "Tarefas" + }, + "docker": { + "label": "Docker" + }, + "kubernetes": { + "label": "Kubernetes", + "nodes": { + "label": "Nós" + }, + "namespaces": { + "label": "Namespaces" + }, + "ingresses": { + "label": "Ingresses" + }, + "services": { + "label": "Serviços" + }, + "pods": { + "label": "pods" + }, + "configmaps": { + "label": "ConfigMaps" + }, + "secrets": { + "label": "Secrets" + }, + "volumes": { + "label": "Volumes" + } + }, + "logs": { + "label": "Logs" + }, + "certificates": { + "label": "Certificados", + "hostnames": { + "label": "Hostnames" + } + } + }, + "settings": { + "label": "Configurações" + }, + "about": { + "label": "Sobre" + } + } + }, + "search": { + "placeholder": "Buscar por qualquer coisa", + "nothingFound": "Nada encontrado", + "error": { + "fetch": "Ocorreu um erro ao buscar os dados" + }, + "mode": { + "appIntegrationBoard": { + "help": "Buscar por aplicativos, integrações ou painéis", + "group": { + "app": { + "title": "Aplicativos", + "children": { + "action": { + "open": { + "label": "Abrir URL do aplicativo" + }, + "edit": { + "label": "Editar aplicativo" + } + }, + "detail": { + "title": "Selecione uma ação para o aplicativo" + } + } + }, + "board": { + "title": "Placas", + "children": { + "action": { + "open": { + "label": "Abrir quadro" + }, + "homeBoard": { + "label": "Definir como quadro inicial" + }, + "mobileBoard": { + "label": "Definir como painel para dispositivos móveis" + }, + "settings": { + "label": "Abrir configurações" + } + }, + "detail": { + "title": "Selecione uma ação para o quadro" + } + } + }, + "integration": { + "title": "Integrações" + } + } + }, + "command": { + "help": "Ativar modo de comando", + "group": { + "localCommand": { + "title": "Comandos locais" + }, + "globalCommand": { + "title": "Comandos globais", + "option": { + "colorScheme": { + "light": "Alternar para o modo claro", + "dark": "Alternar para o modo escuro" + }, + "language": { + "label": "Alterar idioma", + "children": { + "detail": { + "title": "Selecione sua linguagem preferida" + } + } + }, + "newBoard": { + "label": "Criar um novo quadro" + }, + "importBoard": { + "label": "Importe um quadro" + }, + "newApp": { + "label": "Criar aplicativo" + }, + "newIntegration": { + "label": "Criar uma nova integração", + "children": { + "detail": { + "title": "Selecione o tipo de integração que deseja criar" + } + } + }, + "newUser": { + "label": "Criar um novo usuário" + }, + "newInvite": { + "label": "Criar um novo convite" + }, + "newGroup": { + "label": "Criar um novo grupo" + } + } + } + } + }, + "media": { + "requestMovie": "Solicitar filme", + "requestSeries": "Solicitar série", + "openIn": "Abrir em {kind}" + }, + "external": { + "help": "Usar um mecanismo de busca externo", + "group": { + "searchEngine": { + "title": "Mecanismos de busca", + "children": { + "action": { + "search": { + "label": "Pesquisar com {name}" + } + }, + "detail": { + "title": "Selecione uma ação para o mecanismo de busca" + }, + "searchResults": { + "title": "Selecione um resultado de pesquisa para ações" + } + }, + "option": { + "google": { + "name": "Google", + "description": "Pesquise na web com o Google" + }, + "bing": { + "name": "Bing", + "description": "Pesquise na web com o Bing" + }, + "duckduckgo": { + "name": "DuckDuckGo", + "description": "Pesquise na web com o DuckDuckGo" + }, + "torrent": { + "name": "Torrentes", + "description": "Pesquise torrents em torrentdownloads.pro" + }, + "youTube": { + "name": "YouTube", + "description": "Pesquise vídeos no YouTube" + } + } + } + } + }, + "help": { + "group": { + "mode": { + "title": "Modos" + }, + "help": { + "title": "Ajuda", + "option": { + "documentation": { + "label": "Documentação" + }, + "submitIssue": { + "label": "Reportar um problema" + }, + "discord": { + "label": "Discórdia da comunidade" + } + } + } + } + }, + "home": { + "group": { + "search": { + "title": "Buscar", + "option": { + "other": { + "label": "Pesquise com outro mecanismo de busca" + }, + "no-default": { + "label": "Nenhum mecanismo de busca predefinido", + "description": "Defina um mecanismo de busca padrão nas preferências" + }, + "search": { + "label": "Buscar por \"{query}\" com {name}" + }, + "from-integration": { + "description": "Comece a digitar para pesquisar" + } + } + }, + "local": { + "title": "Resultados locais" + } + } + }, + "page": { + "help": "Buscar páginas", + "group": { + "page": { + "title": "Páginas", + "option": { + "manageHome": { + "label": "Gerenciar página inicial" + }, + "manageBoard": { + "label": "Gerenciar painéis" + }, + "manageApp": { + "label": "Gerenciar aplicativos" + }, + "manageIntegration": { + "label": "Gerenciar integrações" + }, + "manageSearchEngine": { + "label": "Gerenciar mecanismos de busca" + }, + "manageMedia": { + "label": "Gerencias mídias" + }, + "manageUser": { + "label": "Gerenciar usuários" + }, + "manageInvite": { + "label": "Gerenciar convites" + }, + "manageGroup": { + "label": "Gerenciar grupos" + }, + "manageDocker": { + "label": "Gerenciar Docker" + }, + "manageApi": { + "label": "Swagger API" + }, + "manageLog": { + "label": "Exibir logs" + }, + "manageTask": { + "label": "Gerenciar tarefas" + }, + "manageSettings": { + "label": "Configurações globais" + }, + "about": { + "label": "Sobre" + }, + "homeBoard": { + "label": "Quadro inicial" + }, + "preferences": { + "label": "Suas preferências" + } + } + } + } + }, + "userGroup": { + "help": "Buscar por usuários ou grupos", + "group": { + "user": { + "title": "Usuários", + "children": { + "action": { + "detail": { + "label": "Exibir detalhes do usuário" + } + }, + "detail": { + "title": "Selecione uma ação para o usuário" + } + } + }, + "group": { + "title": "Grupos", + "children": { + "action": { + "detail": { + "label": "Exibir detalhes do grupo" + }, + "manageMember": { + "label": "Gerenciar membros" + }, + "managePermission": { + "label": "Gerenciar permissões" + } + }, + "detail": { + "title": "Selecione uma ação para o grupo" + } + } + } + } + } + }, + "engine": { + "search": "Encontrar um mecanismo de busca", + "field": { + "name": { + "label": "Nome" + }, + "short": { + "label": "Abreviação" + }, + "urlTemplate": { + "label": "Modelo de busca de URL" + }, + "description": { + "label": "Descrição" + } + }, + "page": { + "list": { + "title": "Mecanismos de busca", + "noResults": { + "title": "Ainda não existem mecanismos de busca", + "action": "Crie seu primeiro mecanismo de busca" + }, + "interactive": "Interativo, usa uma integração" + }, + "create": { + "title": "Novo mecanismo de busca", + "notification": { + "success": { + "title": "Mecanismo de busca criado", + "message": "O mecanismo de busca foi criado com sucesso" + }, + "error": { + "title": "O mecanismo de busca não foi criado", + "message": "O mecanismo de busca não pôde ser criado" + } + } + }, + "edit": { + "title": "Editar mecanismo de busca", + "notification": { + "success": { + "title": "Mudanças aplicadas com sucesso", + "message": "O mecanismo de busca foi salvo com sucesso" + }, + "error": { + "title": "Não foi possível aplicar as mudanças", + "message": "O mecanismo de busca não pôde ser salvo" + } + }, + "configControl": "Configuração", + "searchEngineType": { + "generic": "Genérico", + "fromIntegration": "De integração" + } + }, + "delete": { + "title": "Excluir mecanismo de busca", + "message": "Tem certeza que deseja excluir o mecanismo de busca {name}?", + "notification": { + "success": { + "title": "Mecanismo de busca excluído", + "message": "O mecanismo de busca foi excluído com sucesso" + }, + "error": { + "title": "Mecanismo de busca não deletado", + "message": "O mecanismo de busca não pôde ser deletado" + } + } + } + }, + "media": { + "request": { + "modal": { + "title": "Solicitar \"{name}\"", + "table": { + "header": { + "season": "Temporada", + "episodes": "Episódios" + } + }, + "button": { + "send": "Enviar solicitação" + } + } + } + } + } + }, + "certificate": { + "field": { + "hostname": { + "label": "Hostname" + }, + "subject": { + "label": "Assunto" + }, + "issuer": { + "label": "Emissor" + }, + "validFrom": { + "label": "Válido desde" + }, + "validTo": { + "label": "Válido até" + }, + "serialNumber": { + "label": "Número de série" + }, + "fingerprint": { + "label": "Impressão digital" + } + }, + "page": { + "list": { + "title": "Certificados confiáveis", + "description": "Usado pelo Homarr para solicitar dados de integrações.", + "noResults": { + "title": "Ainda não existem certificados" + }, + "invalid": { + "title": "Certificado inválido", + "description": "Falha ao analisar certificado" + }, + "expires": "Expira em {when}", + "toHostnames": "Hostnames confiáveis" + }, + "hostnames": { + "title": "Hostnames de certificados confiáveis", + "description": "Alguns certificados não permitem o domínio específico que o Homarr usa para solicitá-los, por isso todos os hostnames confiáveis com suas impressões digitais de certificado são usados para contornar essas restrições.", + "noResults": { + "title": "Ainda não existem hostnames" + }, + "toCertificates": "Certificados" + } + }, + "action": { + "create": { + "label": "Adicionar certificado", + "notification": { + "success": { + "title": "Certificado adicionado", + "message": "O certificado foi adicionado com sucesso" + }, + "error": { + "title": "Falha ao adicionar certificado", + "message": "O certificado não pôde ser adicionado" + } + } + }, + "remove": { + "label": "Remover certificado", + "confirm": "Tem certeza que deseja remover o certificado?", + "notification": { + "success": { + "title": "Certificado removido", + "message": "O certificado foi removido com sucesso" + }, + "error": { + "title": "Certificado não removido", + "message": "O certificado não pôde ser removido" + } + } + }, + "removeHostname": { + "label": "Remover hostname confiável", + "confirm": "Tem certeza que deseja remover este hostname confiável? Isso pode fazer com que algumas integrações parem de funcionar.", + "notification": { + "success": { + "title": "Hostname removido", + "message": "O hostname foi removido com sucesso" + }, + "error": { + "title": "Hostname não removido", + "message": "O hostname não pôde ser removido" + } + } + } + } + }, + "log": { + "level": { + "option": { + "debug": "Debug", + "info": "Informação", + "warn": "Aviso", + "error": "Erro" + } + } + } +} diff --git a/packages/translation/src/lang/pt.json b/packages/translation/src/lang/pt.json index 4862a07cb..08a20b088 100644 --- a/packages/translation/src/lang/pt.json +++ b/packages/translation/src/lang/pt.json @@ -2,275 +2,275 @@ "init": { "step": { "start": { - "title": "Bem-vindo ao Homarr", - "subtitle": "Vamos começar configurando a sua instância Homarr.", - "description": "Para começar, por favor selecione como você deseja configurar sua instância Homarr.", + "title": "", + "subtitle": "", + "description": "", "action": { - "scratch": "Começar do zero", - "importOldmarr": "Importe de uma instância do Homarr anterior a 1.0" + "scratch": "", + "importOldmarr": "" } }, "import": { - "title": "Importar dados", - "subtitle": "Você pode importar dados de uma instância existente do Homarr.", + "title": "", + "subtitle": "", "dropzone": { - "title": "Arraste o arquivo ZIP aqui ou clique para procurar", - "description": "O arquivo ZIP enviado será processado e você poderá selecionar o que deseja importar" + "title": "", + "description": "" }, "fileInfo": { "action": { - "change": "Alterar arquivo" + "change": "" } }, "importSettings": { - "title": "Importar configurações", - "description": "Configure o comportamento da importação" + "title": "", + "description": "" }, "boardSelection": { - "title": "{count} painéis encontrados", - "description": "Escolha todos os painéis com o tamanho que você deseja importar", + "title": "", + "description": "", "action": { - "selectAll": "Selecionar todos", - "unselectAll": "Desmarcar Todos" + "selectAll": "", + "unselectAll": "" } }, "summary": { - "title": "Resumo da importação", - "description": "No resumo abaixo você pode ver o que será importado", + "title": "", + "description": "", "action": { - "import": "Confirmar a importação e continuar" + "import": "" }, "entities": { - "apps": "Aplicativos", - "boards": "Painéis", - "integrations": "Integrações", - "credentialUsers": "Usuários credenciados" + "apps": "", + "boards": "", + "integrations": "", + "credentialUsers": "" } }, "tokenModal": { - "title": "Insira o token de importação", + "title": "", "field": { "token": { - "label": "Token", - "description": "Insira o token de importação mostrado em sua instância homarr anterior" + "label": "", + "description": "" } }, "notification": { "error": { - "title": "Token inválido", - "message": "O token que você inseriu é inválido" + "title": "", + "message": "" } } } }, "user": { - "title": "Usuário Administrador", - "subtitle": "Especifique as credenciais para seu usuário administrador.", + "title": "", + "subtitle": "", "notification": { "success": { - "title": "Usuário criado", - "message": "O usuário foi criado com sucesso" + "title": "", + "message": "" }, "error": { - "title": "Falha ao criar usuário" + "title": "" } } }, "group": { - "title": "Grupo externo", - "subtitle": "Especifique o grupo que deve ser usado para usuários externos.", + "title": "", + "subtitle": "", "form": { "name": { - "label": "Nome do grupo", - "description": "O nome tem que coincidir com o grupo administrador do provedor externo" + "label": "", + "description": "" } } }, "settings": { - "title": "Configurações", - "subtitle": "Definir as configurações do servidor." + "title": "", + "subtitle": "" }, "finish": { - "title": "Concluir configuração", - "subtitle": "Você está pronto para começar!", - "description": "Você concluiu com sucesso o processo de configuração. Agora você pode começar a usar o Homarr. Selecione sua próxima ação:", + "title": "", + "subtitle": "", + "description": "", "action": { - "goToBoard": "Ir para o painel {name}", - "createBoard": "Crie seu primeiro painel", - "inviteUser": "Convidar outros usuários", - "docs": "Ler a documentação" + "goToBoard": "", + "createBoard": "", + "inviteUser": "", + "docs": "" } } }, - "backToStart": "Voltar ao início" + "backToStart": "" }, "user": { - "title": "Usuários", - "name": "Usuário", + "title": "", + "name": "", "page": { "login": { - "title": "Acesse a sua conta", - "subtitle": "Bem-vindo(a) de volta! Por favor, insira suas credenciais" + "title": "", + "subtitle": "" }, "invite": { - "title": "Junte-se ao Homarr", - "subtitle": "Bem-vindo ao Homarr! Por favor, crie sua conta", - "description": "Você foi convidado(a) por {username}" + "title": "", + "subtitle": "", + "description": "" }, "init": { - "title": "Nova instalação do Homarr", - "subtitle": "Por favor, crie o usuário administrador inicial" + "title": "", + "subtitle": "" } }, "field": { "email": { - "label": "E-mail", - "verified": "Verificado" + "label": "", + "verified": "" }, "username": { - "label": "Usuário" + "label": "" }, "password": { - "label": "Senha", + "label": "", "requirement": { - "length": "Inclua pelo menos 8 caracteres", - "lowercase": "Inclui letras minúsculas", - "uppercase": "Inclui letras maiúsculas", - "number": "Inclui número", - "special": "Inclua um caractere especial" + "length": "", + "lowercase": "", + "uppercase": "", + "number": "", + "special": "" } }, "passwordConfirm": { - "label": "Confirmar senha" + "label": "" }, "previousPassword": { - "label": "Senha anterior" + "label": "" }, "homeBoard": { - "label": "Quadro inicial" + "label": "" }, "pingIconsEnabled": { - "label": "Usar ícone para pings" + "label": "" }, "defaultSearchEngine": { - "label": "Mecanismo de pesquisa padrão" + "label": "" }, "openSearchInNewTab": { - "label": "Abrir resultados da busca em uma nova guia" + "label": "" } }, "error": { - "usernameTaken": "Nome de usuário já em uso" + "usernameTaken": "" }, "action": { "login": { - "label": "Login", - "labelWith": "Iniciar sessão com {provider}", + "label": "", + "labelWith": "", "notification": { "success": { - "title": "Início de sessão bem-sucedido", - "message": "Agora você está conectado" + "title": "", + "message": "" }, "error": { - "title": "Falha ao iniciar sessão", - "message": "Seu acesso falhou" + "title": "", + "message": "" } }, "forgotPassword": { - "label": "Esqueceu sua senha?", - "description": "Um administrador pode usar o seguinte comando para redefinir sua senha:" + "label": "", + "description": "" } }, "register": { - "label": "Criar conta", + "label": "", "notification": { "success": { - "title": "Conta criada", - "message": "Por favor, entre para continuar" + "title": "", + "message": "" }, "error": { - "title": "Criação da conta falhou", - "message": "Sua conta não pode ser criada" + "title": "", + "message": "" } } }, - "create": "Criar usuário", + "create": "", "changePassword": { - "label": "Alterar senha", + "label": "", "notification": { "success": { - "message": "Senha alterada com sucesso" + "message": "" }, "error": { - "message": "Não é possível alterar a senha" + "message": "" } } }, "changeHomeBoard": { "notification": { "success": { - "message": "Quadro inicial alterado com sucesso" + "message": "" }, "error": { - "message": "Não foi possível alterar o painel inicial" + "message": "" } } }, "changeSearchPreferences": { "notification": { "success": { - "message": "Preferências de busca alteradas com sucesso" + "message": "" }, "error": { - "message": "Não foi possível alterar as preferências de busca" + "message": "" } } }, "changeFirstDayOfWeek": { "notification": { "success": { - "message": "Primeiro dia da semana alterado com sucesso" + "message": "" }, "error": { - "message": "Não foi possível alterar o primeiro dia da semana" + "message": "" } } }, "changePingIconsEnabled": { "notification": { "success": { - "message": "Ícones de ping alterados com sucesso" + "message": "" }, "error": { - "message": "Não foi possível alternar ícones de ping" + "message": "" } } }, "manageAvatar": { "changeImage": { - "label": "Alterar imagem", + "label": "", "notification": { "success": { - "message": "A imagem foi alterada com sucesso" + "message": "" }, "error": { - "message": "Não é possível alterar a imagem" + "message": "" }, "toLarge": { - "title": "A imagem é muito grande", - "message": "O tamanho máximo da imagem é {size}" + "title": "", + "message": "" } } }, "removeImage": { - "label": "Remover imagem", - "confirm": "Tem certeza de que deseja remover esta imagem?", + "label": "", + "confirm": "", "notification": { "success": { - "message": "Imagem removida com sucesso" + "message": "" }, "error": { - "message": "Não é possível remover a imagem" + "message": "" } } } @@ -278,248 +278,248 @@ "editProfile": { "notification": { "success": { - "message": "Perfil atualizado com sucesso" + "message": "" }, "error": { - "message": "Não foi possível atualizar o perfil" + "message": "" } } }, "delete": { - "label": "Excluir usuário permanentemente", - "description": "Exclui esse usuário incluindo suas preferências. Isso não removerá nenhum painel. O usuário não será notificado.", - "confirm": "Tem certeza que deseja excluir o usuário {username} e suas preferências?" + "label": "", + "description": "", + "confirm": "" }, "select": { - "label": "Selecionar usuário", - "notFound": "Nenhum usuário encontrado" + "label": "", + "notFound": "" }, "transfer": { - "label": "Selecionar novo proprietário" + "label": "" } } }, "group": { - "title": "Grupos", - "name": "Grupo", - "search": "Encontrar um grupo", + "title": "", + "name": "", + "search": "", "field": { - "name": "Nome", - "members": "Membros", + "name": "", + "members": "", "homeBoard": { - "label": "Quadro inicial", - "description": "Somente painéis acessíveis ao grupo podem ser selecionados" + "label": "", + "description": "" }, "mobileBoard": { - "label": "Quadro para celular", - "description": "Somente painéis acessíveis ao grupo podem ser selecionados" + "label": "", + "description": "" } }, "permission": { "admin": { - "title": "Administrador", + "title": "", "item": { "admin": { - "label": "Administrador", - "description": "Membros com essa permissão têm acesso total a todos os recursos e configurações" + "label": "", + "description": "" } } }, "app": { - "title": "Aplicativos", + "title": "", "item": { "create": { - "label": "Criar aplicativo", - "description": "Permitir que membros criem aplicativos" + "label": "", + "description": "" }, "use-all": { - "label": "Usar todas aplicações", - "description": "Permitir que os membros adicionem qualquer aplicativo aos seus painéis" + "label": "", + "description": "" }, "modify-all": { - "label": "Modificar todos os aplicativos", - "description": "Permitir que membros modifiquem todos os aplicativos" + "label": "", + "description": "" }, "full-all": { - "label": "Acesso completo a aplicativos", - "description": "Permitir que membros gerenciem, usem e excluam qualquer aplicativo" + "label": "", + "description": "" } } }, "board": { - "title": "Placas", + "title": "", "item": { "create": { - "label": "Criar painel", - "description": "Permitir que membros criem painéis" + "label": "", + "description": "" }, "view-all": { - "label": "Ver todos os painéis", - "description": "Permitir que membros visualizem todos os painéis" + "label": "", + "description": "" }, "modify-all": { - "label": "Modificar todos os painéis", - "description": "Permitir que membros modifiquem todos os painéis (Não inclui o controle de acesso e a zona de perigo)" + "label": "", + "description": "" }, "full-all": { - "label": "Acesso total ao painel", - "description": "Permitir que membros vejam, modifiquem e deletem todos os painéis (Incluindo o controle de acesso e a zona de perigo)" + "label": "", + "description": "" } } }, "integration": { - "title": "Integrações", + "title": "", "item": { "create": { - "label": "Criar integração", - "description": "Permitir que membros criem integrações" + "label": "", + "description": "" }, "use-all": { - "label": "Usar todas as integrações", - "description": "Permitir que membros adicionem qualquer integração aos seus painéis" + "label": "", + "description": "" }, "interact-all": { - "label": "Interagir com qualquer integração", - "description": "Permitir que membros interajam com qualquer integração" + "label": "", + "description": "" }, "full-all": { - "label": "Acesso total às integrações", - "description": "Permitir que membros gerenciem, usem e interajam com qualquer integração" + "label": "", + "description": "" } } }, "media": { - "title": "Mídias", + "title": "", "item": { "upload": { - "label": "Adicionar Mídia", - "description": "Permitir que membros adicionem mídias" + "label": "", + "description": "" }, "view-all": { - "label": "Visualizar todas as mídias", - "description": "Permitir que membros visualizem todas as mídias" + "label": "", + "description": "" }, "full-all": { - "label": "Acesso total às mídias", - "description": "Permitir que membros gerenciem e deletem qualquer mídia" + "label": "", + "description": "" } } }, "other": { - "title": "Outras", + "title": "", "item": { "view-logs": { - "label": "Visualizar registros", - "description": "Permitir que os membros visualizem os registros" + "label": "", + "description": "" } } }, "search-engine": { - "title": "Mecanismos de busca", + "title": "", "item": { "create": { - "label": "Criar mecanismos de busca", - "description": "Permitir que os membros criem mecanismos de busca" + "label": "", + "description": "" }, "modify-all": { - "label": "Modificar todos os mecanismos de busca", - "description": "Permitir que membros modifiquem todos os mecanismos de busca" + "label": "", + "description": "" }, "full-all": { - "label": "Acesso total às ferramentas de busca", - "description": "Permitir que membros modifiquem e deletem qualquer ferramenta de busca" + "label": "", + "description": "" } } } }, "memberNotice": { - "mixed": "Alguns membros são de provedores externos e não podem ser gerenciados aqui", - "external": "Todos os membros são de provedores externos e não podem ser gerenciados aqui" + "mixed": "", + "external": "" }, "reservedNotice": { - "message": "Esse grupo é reservado para uso do sistema e restringe algumas ações. " + "message": "" }, "action": { "create": { - "label": "Novo grupo", + "label": "", "notification": { "success": { - "message": "O grupo foi criado com sucesso" + "message": "" }, "error": { - "message": "Não foi possível criar o grupo" + "message": "" } } }, "transfer": { - "label": "Transferir propriedade", - "description": "Transferir propriedade deste grupo para outro usuário.", - "confirm": "Tem certeza de que deseja transferir a propriedade do grupo {name} para {username}?", + "label": "", + "description": "", + "confirm": "", "notification": { "success": { - "message": "Grupo {group} transferido para {user} com sucesso" + "message": "" }, "error": { - "message": "Não foi possível transferir a propriedade" + "message": "" } } }, "addMember": { - "label": "Adicionar membro" + "label": "" }, "removeMember": { - "label": "Remover membro", - "confirm": "Você tem certeza que deseja remover {user} desse grupo?" + "label": "", + "confirm": "" }, "delete": { - "label": "Deletar grupo", - "description": "Uma vez deletado o grupo não há como reverter. Tenha cuidado.", - "confirm": "Você tem certeza que deseja deletar o grupo {name}?", + "label": "", + "description": "", + "confirm": "", "notification": { "success": { - "message": "Grupo {name} deletado com sucesso" + "message": "" }, "error": { - "message": "Não foi possível deletar o grupo {name}" + "message": "" } } }, "changePermissions": { "notification": { "success": { - "title": "Permissões salvas", - "message": "Permissões foram salvas com sucesso" + "title": "", + "message": "" }, "error": { - "title": "Permissões não salvas", - "message": "As permissões não foram salvas" + "title": "", + "message": "" } } }, "update": { "notification": { "success": { - "message": "O grupo {name} foi salvo com sucesso" + "message": "" }, "error": { - "message": "Não é possível salvar o grupo {name}" + "message": "" } } }, "select": { - "label": "Selecionar grupo", - "notFound": "Nenhum grupo encontrado" + "label": "", + "notFound": "" }, "settings": { "board": { "notification": { "success": { - "title": "Configurações salvas", - "message": "As configurações do painel foram salvas com sucesso" + "title": "", + "message": "" }, "error": { - "title": "Falha ao salvar configurações", - "message": "Não foi possível salvar as configurações do painel" + "title": "", + "message": "" } } } @@ -527,2145 +527,2145 @@ "changePosition": { "notification": { "success": { - "message": "Posição alterada com sucesso" + "message": "" }, "error": { - "message": "Não é possível alterar a posição" + "message": "" } } } }, "defaultGroup": { - "name": "Grupo padrão", - "description": "{name} — Todos os usuários conectados" + "name": "", + "description": "" } }, "app": { - "search": "Encontre um aplicativo", + "search": "", "page": { "list": { - "title": "Aplicativos", + "title": "", "noResults": { - "title": "Ainda não há aplicativos disponíveis", - "action": "Crie seu primeiro aplicativo" + "title": "", + "action": "" } }, "create": { - "title": "Novo Aplicativo", + "title": "", "notification": { "success": { - "title": "Criado com sucesso", - "message": "O aplicativo foi criado com sucesso" + "title": "", + "message": "" }, "error": { - "title": "Falha ao criar", - "message": "Não foi possível criar o aplicativo" + "title": "", + "message": "" } } }, "edit": { - "title": "Editar aplicativo", + "title": "", "notification": { "success": { - "title": "Mudanças aplicadas com sucesso", - "message": "O aplicativo foi salvo com sucesso" + "title": "", + "message": "" }, "error": { - "title": "Não foi possível aplicar as alterações", - "message": "O aplicativo não pôde ser salvo" + "title": "", + "message": "" } } }, "delete": { - "title": "Deletar aplicativo", - "message": "Tem certeza que deseja excluir o aplicativo {name}?", + "title": "", + "message": "", "notification": { "success": { - "title": "Exclusão bem-sucedida", - "message": "O aplicativo foi excluído com sucesso" + "title": "", + "message": "" }, "error": { - "title": "Falha na exclusão", - "message": "Não foi possível excluir o aplicativo" + "title": "", + "message": "" } } } }, "field": { "name": { - "label": "Nome" + "label": "" }, "description": { - "label": "Descrição" + "label": "" }, "url": { - "label": "URL" + "label": "" }, "useDifferentUrlForPing": { "checkbox": { - "label": "Use uma URL diferente para o ping", - "description": "Útil se o Homarr puder acessar diretamente usando um hostname interno ou rede para evitar uso de largura de banda do provedor" + "label": "", + "description": "" } } }, "action": { "select": { - "label": "Selecionar aplicativo", - "notFound": "Nenhum aplicativo encontrado", - "search": "Busque por um aplicativo", - "noResults": "Sem resultados", - "action": "Selecionar {app}", - "title": "Selecione um aplicativo para adicioná-lo neste painel" + "label": "", + "notFound": "", + "search": "", + "noResults": "", + "action": "", + "title": "" }, "create": { - "title": "Criar aplicativo", - "description": "Criar um aplicativo", - "action": "Abrir criação de aplicativo" + "title": "", + "description": "", + "action": "" }, - "add": "Adicione um aplicativo" + "add": "" } }, "integration": { "page": { "list": { - "title": "Integrações", - "search": "Buscar integrações", + "title": "", + "search": "", "noResults": { - "title": "Ainda não existem integrações" + "title": "" } }, "create": { - "title": "Nova integração {name}", + "title": "", "notification": { "success": { - "title": "Criação bem-sucedida", - "message": "A integração foi criada com sucesso" + "title": "", + "message": "" }, "error": { - "title": "A criação falhou", - "message": "A integração não pôde ser criada" + "title": "", + "message": "" } }, "app": { "option": { "existing": { - "title": "Existente", - "label": "Selecione um aplicativo existente" + "title": "", + "label": "" }, "new": { - "title": "Novo", + "title": "", "url": { - "label": "URL da aplicação", - "description": "A URL do aplicativo será aberta quando acessada a partir do painel de controle" + "label": "", + "description": "" } } } } }, "edit": { - "title": "Editar integração {name}", + "title": "", "notification": { "success": { - "title": "Mudanças aplicadas com sucesso", - "message": "A integração foi salva com sucesso" + "title": "", + "message": "" }, "error": { - "title": "Não foi possível aplicar as alterações", - "message": "A integração não pôde ser salva" + "title": "", + "message": "" } }, "app": { "action": { - "add": "Vincular um aplicativo", - "remove": "Desvincular", - "select": "Selecione um aplicativo para vincular" + "add": "", + "remove": "", + "select": "" } } }, "delete": { - "title": "Excluir integração", - "message": "Tem certeza que deseja excluir a integração {name}?", + "title": "", + "message": "", "notification": { "success": { - "title": "Exclusão bem-sucedida", - "message": "A integração foi excluída com sucesso" + "title": "", + "message": "" }, "error": { - "title": "Falha na exclusão", - "message": "Não foi possível deletar a integração" + "title": "", + "message": "" } } } }, "field": { "name": { - "label": "Nome" + "label": "" }, "url": { - "label": "URL" + "label": "" }, "attemptSearchEngineCreation": { - "label": "Criar mecanismo de busca", - "description": "A integração \"{kind}\" pode ser usada com os mecanismos de busca. Marque isso para configurar automaticamente o mecanismo de busca." + "label": "", + "description": "" }, "app": { - "sectionTitle": "Aplicativo vinculado" + "sectionTitle": "" }, "createApp": { - "label": "Criar aplicativo", - "description": "Crie um aplicativo com o mesmo nome e ícone da integração. Deixe o campo de entrada abaixo vazio para criar o aplicativo com a URL de integração." + "label": "", + "description": "" }, "appHref": { - "placeholder": "URL de aplicativo personalizada" + "placeholder": "" } }, "action": { - "create": "Nova integração" + "create": "" }, "testConnection": { "action": { - "create": "Testar conexão e criar", - "edit": "Testar conexão e salvar" + "create": "", + "edit": "" }, "error": { "common": { "cause": { - "title": "Causa com mais detalhes" + "title": "" } }, "unknown": { - "title": "Erro desconhecido", - "description": "Ocorreu um erro desconhecido, abra a causa abaixo para ver mais detalhes" + "title": "", + "description": "" }, "parse": { - "title": "Erro de análise", - "description": "A resposta não pôde ser analisada. Verifique se a URL está apontando para a URL base do serviço." + "title": "", + "description": "" }, "authorization": { - "title": "Erro de autorização", - "description": "A solicitação não foi autorizada. Verifique se as credenciais estão corretas e se você as configurou com permissões suficientes." + "title": "", + "description": "" }, "statusCode": { - "title": "Erro de resposta", - "description": "Resposta inesperada recebida: {statusCode} ({reason}) de . Verifique se a URL está apontando para a URL base da integração.", - "otherDescription": "Resposta inesperada recebida: {statusCode} de . Verifique se a URL está apontando para a URL base da integração.", + "title": "", + "description": "", + "otherDescription": "", "reason": { - "badRequest": "Solicitação inválida", - "notFound": "Não encontrado", - "tooManyRequests": "Muitas solicitações", - "internalServerError": "Erro interno do servidor", - "serviceUnavailable": "Serviço indisponível", - "gatewayTimeout": "Tempo esgotado do gateway" + "badRequest": "", + "notFound": "", + "tooManyRequests": "", + "internalServerError": "", + "serviceUnavailable": "", + "gatewayTimeout": "" } }, "certificate": { - "title": "Erro de certificado", + "title": "", "description": { - "expired": "O certificado expirou.", - "notYetValid": "O certificado ainda não é válido.", - "untrusted": "O certificado não é confiável.", - "hostnameMismatch": "O hostname do certificado não corresponde à URL." + "expired": "", + "notYetValid": "", + "untrusted": "", + "hostnameMismatch": "" }, "alert": { "permission": { - "title": "Permissões insuficientes", - "message": "Você não tem permissão para confiar ou carregar certificados. Entre em contato com o seu administrador para carregar o certificado raiz necessário." + "title": "", + "message": "" }, "hostnameMismatch": { - "title": "Incompatibilidade de hostname", - "message": "O hostname no certificado não corresponde ao hostname ao qual você está se conectando. Isso pode indicar um risco de segurança, mas você ainda pode optar por confiar neste certificado." + "title": "", + "message": "" }, "extract": { - "title": "Falha na extração do certificado CA", - "message": "Apenas certificados autoassinados sem uma cadeia podem ser buscados automaticamente. Se você estiver usando um certificado autoassinado, certifique-se de fazer upload do certificado CA manualmente. Você pode encontrar instruções sobre como fazer isso em ." + "title": "", + "message": "" } }, "action": { "retry": { - "label": "Tentar criação novamente" + "label": "" }, "trust": { - "label": "Confiar no certificado" + "label": "" }, "upload": { - "label": "Enviar certificado" + "label": "" } }, "hostnameMismatch": { "confirm": { - "title": "Confiar na incompatibilidade de hostname", - "message": "Tem certeza de que deseja confiar no certificado com incompatibilidade de hostname?" + "title": "", + "message": "" }, "notification": { "success": { - "title": "Certificado confiável", - "message": "Hostname adicionado à lista de certificados confiáveis" + "title": "", + "message": "" }, "error": { - "title": "Falha ao confiar no certificado", - "message": "Não foi possível confiar no certificado com incompatibilidade de hostname" + "title": "", + "message": "" } } }, "selfSigned": { "confirm": { - "title": "Confiar no certificado autoassinado", - "message": "Tem certeza de que deseja confiar neste certificado autoassinado?" + "title": "", + "message": "" }, "notification": { "success": { - "title": "Certificado confiável", - "message": "Adicionar certificado a lista de certificados confiáveis" + "title": "", + "message": "" }, "error": { - "title": "Falha ao confiar no certificado", - "message": "Falha ao adicionar certificado à lista de certificados confiáveis" + "title": "", + "message": "" } } }, "details": { - "title": "Detalhes", - "description": "Revise as informações do certificado antes de decidir confiar nele.", + "title": "", + "description": "", "content": { - "action": "Exibir conteúdo", - "title": "Certificado PEM" + "action": "", + "title": "" } } }, "request": { - "title": "Erro de solicitação", + "title": "", "description": { "connection": { - "hostUnreachable": "O servidor não pôde ser alcançado. Isso geralmente significa que o host está offline ou inacessível da sua rede.", - "networkUnreachable": "A rede está inacessível. Verifique sua conexão com a internet ou configuração de rede.", - "refused": "O servidor recusou a conexão. Ele pode não estar em execução ou está rejeitando solicitações na porta especificada.", - "reset": "A conexão foi fechada inesperadamente pelo servidor. Isso pode acontecer se o servidor estiver instável ou for reiniciado." + "hostUnreachable": "", + "networkUnreachable": "", + "refused": "", + "reset": "" }, "dns": { - "notFound": "Não foi possível encontrar o endereço do servidor. Verifique se há erros de digitação ou nomes de domínio inválidos na URL.", - "timeout": "A consulta DNS expirou. Isso pode ser um problema temporário—tente novamente em alguns instantes.", - "noAnswer": "O servidor DNS não retornou uma resposta válida. O domínio pode existir, mas não possui registros válidos." + "notFound": "", + "timeout": "", + "noAnswer": "" }, "timeout": { - "aborted": "A solicitação foi abortada antes de ser concluída. Isso pode ser devido a uma ação do usuário ou tempo limite do sistema.", - "timeout": "A solicitação demorou muito para ser concluída e expirou. Verifique sua rede ou tente novamente mais tarde." + "aborted": "", + "timeout": "" } } } }, - "alertNotice": "O botão Salvar é habilitado após o estabelecimento de uma conexão bem-sucedida", + "alertNotice": "", "notification": { "success": { - "title": "Conexão bem-sucedida", - "message": "A conexão foi estabelecida com sucesso" + "title": "", + "message": "" }, "invalidUrl": { - "title": "URL inválido", - "message": "A URL é inválida" + "title": "", + "message": "" }, "secretNotDefined": { - "title": "Credenciais ausentes", - "message": "Nem todas as credenciais foram fornecidas" + "title": "", + "message": "" }, "invalidCredentials": { - "title": "Credenciais inválidas", - "message": "As credenciais são inválidas" + "title": "", + "message": "" }, "commonError": { - "title": "Falha na conexão", - "message": "A conexão não pôde ser estabelecida" + "title": "", + "message": "" }, "badRequest": { - "title": "Solicitação inválida", - "message": "A solicitação estava malformada" + "title": "", + "message": "" }, "unauthorized": { - "title": "Não autorizado", - "message": "Credenciais provavelmente incorretas" + "title": "", + "message": "" }, "forbidden": { - "title": "Proibido", - "message": "Provavelmente faltam permissões" + "title": "", + "message": "" }, "notFound": { - "title": "Não encontrado", - "message": "Provavelmente URL ou caminho incorreto" + "title": "", + "message": "" }, "internalServerError": { - "title": "Erro interno do servidor", - "message": "O servidor encontrou um erro" + "title": "", + "message": "" }, "serviceUnavailable": { - "title": "Serviço indisponível", - "message": "O servidor está indisponível no momento" + "title": "", + "message": "" }, "connectionAborted": { - "title": "Conexão abortada", - "message": "A conexão foi abortada" + "title": "", + "message": "" }, "domainNotFound": { - "title": "Domínio não encontrado", - "message": "O domínio não pôde ser encontrado" + "title": "", + "message": "" }, "connectionRefused": { - "title": "Conexão recusada", - "message": "A conexão foi recusada" + "title": "", + "message": "" }, "invalidJson": { - "title": "JSON inválido", - "message": "A resposta não é um JSON válido" + "title": "", + "message": "" }, "wrongPath": { - "title": "Caminho incorreto", - "message": "O caminho provavelmente não está correto" + "title": "", + "message": "" }, "tooManyRequests": { - "title": "Muitas solicitações em um curto período", - "message": "Houve muitas requisições. Você provavelmente está sendo limitado por taxa ou rejeitado pelo sistema de destino" + "title": "", + "message": "" } } }, "secrets": { - "title": "Secrets", - "lastUpdated": "Última atualização em {date}", + "title": "", + "lastUpdated": "", "notSet": { - "label": "Nenhum valor definido", - "tooltip": "Esta credencial obrigatória ainda não foi definida" + "label": "", + "tooltip": "" }, - "secureNotice": "Esta credencial não pode ser recuperada após a criação", + "secureNotice": "", "reset": { - "title": "Redefinir credencial", - "message": "Tem certeza de que deseja redefinir esta credencial?" + "title": "", + "message": "" }, "noSecretsRequired": { - "segmentTitle": "Sem credenciais", - "text": "Nenhuma credencial necessária para esta integração" + "segmentTitle": "", + "text": "" }, "kind": { "username": { - "label": "Usuário", - "newLabel": "Novo nome de usuário" + "label": "", + "newLabel": "" }, "apiKey": { - "label": "Chave de API", - "newLabel": "Nova chave de API" + "label": "", + "newLabel": "" }, "password": { - "label": "Senha", - "newLabel": "Nova senha" + "label": "", + "newLabel": "" }, "tokenId": { - "label": "Token ID", - "newLabel": "Novo ID de token" + "label": "", + "newLabel": "" }, "realm": { - "label": "Realm", - "newLabel": "Novo realm" + "label": "", + "newLabel": "" }, "personalAccessToken": { - "label": "Token de acesso pessoal", - "newLabel": "Novo token de acesso pessoal" + "label": "", + "newLabel": "" }, "topic": { - "label": "Tópico", - "newLabel": "Novo tópico" + "label": "", + "newLabel": "" }, "url": { - "label": "URL", - "newLabel": "Nova URL" + "label": "", + "newLabel": "" }, "opnsenseApiKey": { - "label": "Chave de API (Key)", - "newLabel": "Nova Chave de API (Key)" + "label": "", + "newLabel": "" }, "opnsenseApiSecret": { - "label": "Chave de API (Key)", - "newLabel": "Nova Chave de API (Key)" + "label": "", + "newLabel": "" }, "githubAppId": { - "label": "ID do Aplicativo", - "newLabel": "Novo ID de Aplicativo" + "label": "", + "newLabel": "" }, "githubInstallationId": { - "label": "ID de instalação", - "newLabel": "Novo ID de instalação" + "label": "", + "newLabel": "" }, "privateKey": { - "label": "Chave privada", - "newLabel": "Nova chave privada" + "label": "", + "newLabel": "" } } }, "permission": { - "use": "Selecionar integrações em itens", - "interact": "Interagir com integrações", - "full": "Acesso completo à integração" + "use": "", + "interact": "", + "full": "" } }, "media": { - "plural": "Mídias", - "search": "Buscar uma mídia", + "plural": "", + "search": "", "field": { - "name": "Nome", - "size": "Tamanho", - "creator": "Criador" + "name": "", + "size": "", + "creator": "" }, "action": { "upload": { - "label": "Enviar mídia", - "file": "Selecionar arquivo", + "label": "", + "file": "", "notification": { "success": { - "message": "A mídia foi carregada com sucesso" + "message": "" }, "error": { - "message": "Não foi possível carregar a mídia" + "message": "" } } }, "delete": { - "label": "Excluir mídia", - "description": "Tem certeza que deseja deletar a mídia ?", + "label": "", + "description": "", "notification": { "success": { - "message": "A mídia foi excluída com sucesso" + "message": "" }, "error": { - "message": "Não foi possível excluir a mídia" + "message": "" } } }, "copy": { - "label": "Copiar URL" + "label": "" }, "open": { - "label": "Abrir mídia" + "label": "" } } }, "common": { - "success": "Sucesso", - "beta": "Beta", - "error": "Erro", + "success": "", + "beta": "", + "error": "", "action": { - "add": "Adicionar", - "apply": "Aplicar", - "backToOverview": "Voltar à visão geral", - "change": "Alterar", - "create": "Criar", - "createAnother": "Criar e recomeçar", - "edit": "Editar", - "import": "Importar", - "insert": "Inserir", - "remove": "Excluir", - "save": "Salvar", - "saveChanges": "Salvar alterações", - "cancel": "Cancelar", - "delete": "Apagar", - "discard": "Descartar", - "close": "Fechar", - "confirm": "Confirme", - "continue": "Continuar", - "previous": "Anterior", - "next": "Próximo", - "checkoutDocs": "Confira a documentação", - "checkLogs": "Verifique os logs para mais detalhes", - "tryAgain": "Tente novamente", - "loading": "Carregando" + "add": "", + "apply": "", + "backToOverview": "", + "change": "", + "create": "", + "createAnother": "", + "edit": "", + "import": "", + "insert": "", + "remove": "", + "save": "", + "saveChanges": "", + "cancel": "", + "delete": "", + "discard": "", + "close": "", + "confirm": "", + "continue": "", + "previous": "", + "next": "", + "checkoutDocs": "", + "checkLogs": "", + "tryAgain": "", + "loading": "" }, - "here": "aqui", + "here": "", "iconPicker": { - "label": "URL do ícone", - "header": "Digite o nome ou os objetos para filtrar os ícones... O Homarr pesquisará {countIcons} ícones para você." + "label": "", + "header": "" }, "colorScheme": { "options": { - "light": "Claro", - "dark": "Escuro" + "light": "", + "dark": "" } }, "information": { - "min": "Mínimo", - "max": "Máximo", - "days": "Dias", - "hours": "Horas", - "minutes": "Minutos" + "min": "", + "max": "", + "days": "", + "hours": "", + "minutes": "" }, "notification": { "create": { - "success": "Criação realizada com sucesso", - "error": "Criação falhou" + "success": "", + "error": "" }, "delete": { - "success": "Exclusão realizada com sucesso", - "error": "Exclusão falhou" + "success": "", + "error": "" }, "update": { - "success": "Mudanças aplicadas com sucesso", - "error": "Não foi possível aplicar as mudanças" + "success": "", + "error": "" }, "transfer": { - "success": "Transferência realizada com sucesso", - "error": "Transferência falhou" + "success": "", + "error": "" } }, "multiSelect": { - "placeholder": "Selecione um ou mais valores" + "placeholder": "" }, "multiText": { - "placeholder": "Adicione mais valores", - "addLabel": "Adicionar {value}" + "placeholder": "", + "addLabel": "" }, "select": { - "placeholder": "Selecionar um valor", + "placeholder": "", "badge": { - "recommended": "Recomendado" + "recommended": "" } }, "userAvatar": { "menu": { - "switchToDarkMode": "Alternar para o modo escuro", - "switchToLightMode": "Alternar para o modo claro", - "management": "Gerenciamento", - "preferences": "Suas preferências", - "logout": "Sair", - "login": "“Login”", - "homeBoard": "Seu painel inicial", - "loggedOut": "Sessão encerrada", - "updateAvailable": "{countUpdates} atualizações disponíveis: {tag}" + "switchToDarkMode": "", + "switchToLightMode": "", + "management": "", + "preferences": "", + "logout": "", + "login": "", + "homeBoard": "", + "loggedOut": "", + "updateAvailable": "" } }, - "dangerZone": "Zona de risco", - "noResults": "Nenhum resultado encontrado", - "unsavedChanges": "Você tem alterações não salvas!", - "servers": "Servidores", - "applications": "Aplicativos", - "services": "Serviços", + "dangerZone": "", + "noResults": "", + "unsavedChanges": "", + "servers": "", + "applications": "", + "services": "", "preview": { - "show": "Exibir visualização", - "hide": "Ocultar visualização" + "show": "", + "hide": "" }, "zod": { "errors": { - "default": "Esse campo é inválido", - "required": "Este campo é obrigatório", + "default": "", + "required": "", "string": { - "startsWith": "Esse campo deve começar com {startsWith}", - "endsWith": "Esse campo deve terminar com {endsWith}", - "includes": "Esse campo deve incluir {includes}", - "invalidEmail": "Este campo deve ser um e-mail válido" + "startsWith": "", + "endsWith": "", + "includes": "", + "invalidEmail": "" }, "tooSmall": { - "string": "Esse campo deve ter pelo menos {minimum} caracteres", - "number": "Esse campo deve ser maior ou igual a {minimum}" + "string": "", + "number": "" }, "tooBig": { - "string": "Esse campo deve ter no máximo {maximum} caracteres", - "number": "Esse campo deve ser menor ou igual a {maximum}" + "string": "", + "number": "" }, "custom": { - "passwordsDoNotMatch": "Senhas não coincidem", - "passwordRequirements": "A senha não atende aos requisitos", - "boardAlreadyExists": "Já existe um painel com este nome", - "invalidFileType": "Formato de arquivo inválido, esperado {expected}", - "invalidFileName": "Nome de arquivo inválido", - "fileTooLarge": "O arquivo é muito grande, o tamanho máximo é {maxSize}", - "invalidConfiguration": "Configuração inválida", - "groupNameTaken": "Nome de grupo já em uso" + "passwordsDoNotMatch": "", + "passwordRequirements": "", + "boardAlreadyExists": "", + "invalidFileType": "", + "invalidFileName": "", + "fileTooLarge": "", + "invalidConfiguration": "", + "groupNameTaken": "" } } }, "unit": { "speed": { - "kilometersPerHour": "km/h", - "milesPerHour": "mph" + "kilometersPerHour": "", + "milesPerHour": "" } } }, "section": { "dynamic": { "action": { - "create": "Nova seção dinâmica", - "remove": "Remover seção dinâmica" + "create": "", + "remove": "" }, "option": { "title": { - "label": "Título" + "label": "" }, "customCssClasses": { - "label": "Classes CSS customizadas" + "label": "" }, "borderColor": { - "label": "Cor da borda" + "label": "" } }, "remove": { - "title": "Remover seção dinâmica", - "message": "Tem certeza de que deseja remover esta seção dinâmica? Os itens serão movidos para o mesmo local na seção pai." + "title": "", + "message": "" } }, "category": { "field": { "name": { - "label": "Nome" + "label": "" } }, "action": { - "create": "Nova categoria", - "edit": "Renomear categoria", - "remove": "Remover categoria", - "moveUp": "Subir", - "moveDown": "Mover para baixo", - "createAbove": "Nova categoria acima", - "createBelow": "Nova categoria abaixo", - "openAllInNewTabs": "Abrir tudo em abas" + "create": "", + "edit": "", + "remove": "", + "moveUp": "", + "moveDown": "", + "createAbove": "", + "createBelow": "", + "openAllInNewTabs": "" }, "create": { - "title": "Nova categoria", - "submit": "Adicionar categoria" + "title": "", + "submit": "" }, "remove": { - "title": "Remover categoria", - "message": "Tem certeza que deseja deletar a categoria {name}?" + "title": "", + "message": "" }, "edit": { - "title": "Renomear categoria", - "submit": "Renomear categoria" + "title": "", + "submit": "" }, "menu": { "label": { - "create": "Nova categoria", - "changePosition": "Mudar de posição" + "create": "", + "changePosition": "" } }, "openAllInNewTabs": { - "title": "Abrir tudo em abas", - "text": "Alguns navegadores podem bloquear a abertura em massa de abas por motivos de segurança. O Homarr não conseguiu abrir todas as janelas porque seu navegador bloqueou esta ação. Por favor, permita \"Abrir janelas pop-up\" e tente novamente." + "title": "", + "text": "" } } }, "item": { "action": { - "create": "Novo item", - "import": "Importar item", - "edit": "Editar item", - "moveResize": "Mover / redimensionar item", - "duplicate": "Duplicar item", - "remove": "Remover item" + "create": "", + "import": "", + "edit": "", + "moveResize": "", + "duplicate": "", + "remove": "" }, "menu": { "label": { - "settings": "Configurações" + "settings": "" } }, "create": { - "title": "Escolha o item a adicionar", - "search": "Filtrar itens", - "addToBoard": "Adicionar ao painel" + "title": "", + "search": "", + "addToBoard": "" }, "moveResize": { - "title": "Mover / redimensionar item", + "title": "", "field": { "width": { - "label": "Largura" + "label": "" }, "height": { - "label": "Altura" + "label": "" }, "xOffset": { - "label": "Deslocamento X" + "label": "" }, "yOffset": { - "label": "Deslocamento Y" + "label": "" } } }, "edit": { - "title": "Editar item", + "title": "", "advancedOptions": { - "label": "Opções avançadas", - "title": "Opções avançadas de itens" + "label": "", + "title": "" }, "field": { "integrations": { - "label": "Integrações" + "label": "" }, "title": { - "label": "Título" + "label": "" }, "customCssClasses": { - "label": "Classes CSS personalizadas" + "label": "" }, "borderColor": { - "label": "Cor da borda" + "label": "" } } }, "remove": { - "title": "Remover item", - "message": "Tem certeza que deseja remover esse item?" + "title": "", + "message": "" } }, "widget": { "app": { - "name": "Aplicativo", - "description": "Incorpora um aplicativo no quadro.", + "name": "", + "description": "", "option": { "appId": { - "label": "Escolher aplicativo" + "label": "" }, "openInNewTab": { - "label": "Abrir em nova guia" + "label": "" }, "showTitle": { - "label": "Exibir o nome do aplicativo" + "label": "" }, "pingEnabled": { - "label": "Habilitar verificação de status" + "label": "" }, "layout": { - "label": "Layout", + "label": "", "option": { - "row": "Horizontal", - "row-reverse": "Horizontal (invertido)", - "column": "Vertical", - "column-reverse": "Vertical (invertido)" + "row": "", + "row-reverse": "", + "column": "", + "column-reverse": "" } }, "descriptionDisplayMode": { - "label": "Modo de exibição da descrição", - "description": "Escolha como exibir a descrição do aplicativo", + "label": "", + "description": "", "option": { - "normal": "Dentro do widget", - "tooltip": "Como tooltip", - "hidden": "Oculto" + "normal": "", + "tooltip": "", + "hidden": "" } } }, "error": { "notFound": { - "label": "Nenhum aplicativo", - "tooltip": "Você não tem nenhum aplicativo válido selecionado" + "label": "", + "tooltip": "" } } }, "bookmarks": { - "name": "Marcadores", - "description": "Exibe múltiplos links de aplicativos", + "name": "", + "description": "", "option": { "title": { - "label": "Título" + "label": "" }, "layout": { - "label": "Layout", + "label": "", "option": { "row": { - "label": "Horizontal" + "label": "" }, "column": { - "label": "Vertical" + "label": "" }, "grid": { - "label": "Grade" + "label": "" }, "gridHorizontal": { - "label": "Grade horizontal" + "label": "" } } }, "hideTitle": { - "label": "Ocultar título" + "label": "" }, "hideIcon": { - "label": "Ocultar ícones" + "label": "" }, "hideHostname": { - "label": "Ocultar nomes de host" + "label": "" }, "openNewTab": { - "label": "Abrir em nova guia" + "label": "" }, "items": { - "label": "Marcadores", - "add": "Adicionar marcador" + "label": "", + "add": "" } } }, "dnsHoleSummary": { - "name": "Resumo do DNS Hole", - "description": "Exibe o resumo do seu DNS Hole", + "name": "", + "description": "", "option": { "layout": { - "label": "Layout", + "label": "", "option": { "row": { - "label": "Horizontal" + "label": "" }, "column": { - "label": "Vertical" + "label": "" }, "grid": { - "label": "Grade" + "label": "" } } }, "usePiHoleColors": { - "label": "Usar cores do Pi-Hole" + "label": "" } }, "error": { - "internalServerError": "Falha ao buscar resumo do DNS Hole", - "integrationsDisconnected": "Nenhum dado disponível, todas as integrações estão desconectadas" + "internalServerError": "", + "integrationsDisconnected": "" }, "data": { - "adsBlockedToday": "Bloqueado hoje", - "adsBlockedTodayPercentage": "Bloqueado hoje", - "dnsQueriesToday": "Consultas hoje", - "domainsBeingBlocked": "Domínios na lista de bloqueio" + "adsBlockedToday": "", + "adsBlockedTodayPercentage": "", + "dnsQueriesToday": "", + "domainsBeingBlocked": "" }, - "domainsTooltip": "Devido a múltiplas integrações, o Homarr não pode calcular o número exato de domínios sendo bloqueados" + "domainsTooltip": "" }, "dnsHoleControls": { - "name": "Controles do DNS Hole", - "description": "Controle o PiHole ou o AdGuard em seu painel de controle", + "name": "", + "description": "", "option": { "layout": { - "label": "Layout", + "label": "", "option": { "row": { - "label": "Horizontal" + "label": "" }, "column": { - "label": "Vertical" + "label": "" }, "grid": { - "label": "Grade" + "label": "" } } }, "showToggleAllButtons": { - "label": "Exibir botões \"Alternar Todos\"" + "label": "" } }, "error": { - "internalServerError": "Falha ao gerenciar o DNS Hole" + "internalServerError": "" }, "controls": { - "enableAll": "Habilitar todos", - "disableAll": "Desabilitar todos", - "setTimer": "Definir temporizador", - "set": "Definir", - "enabled": "Ativado", - "disabled": "Desativado", - "processing": "Processando", - "disconnected": "Desconectado", - "hours": "Horas", - "minutes": "Minutos", - "unlimited": "Deixe em branco para não limitar" + "enableAll": "", + "disableAll": "", + "setTimer": "", + "set": "", + "enabled": "", + "disabled": "", + "processing": "", + "disconnected": "", + "hours": "", + "minutes": "", + "unlimited": "" } }, "clock": { - "name": "Data e hora", - "description": "Apresenta a data e hora actuais.", + "name": "", + "description": "", "option": { "customTitleToggle": { - "label": "Exibição personalizada do título/cidade", - "description": "Exiba um título personalizado ou o nome da cidade/país na parte superior do relógio." + "label": "", + "description": "" }, "customTitle": { - "label": "Título" + "label": "" }, "is24HourFormat": { - "label": "Formato de 24 horas", - "description": "Use o formato de 24 horas em vez do formato de 12 horas" + "label": "", + "description": "" }, "showSeconds": { - "label": "Exibir segundos" + "label": "" }, "useCustomTimezone": { - "label": "Usar um fuso horário fixo" + "label": "" }, "timezone": { - "label": "Fuso-horário", - "description": "Escolha o fuso horário seguindo o padrão IANA" + "label": "", + "description": "" }, "showDate": { - "label": "Exibir data" + "label": "" }, "dateFormat": { - "label": "Formato de data", - "description": "Como a data deve ser apresentada" + "label": "", + "description": "" }, "customTimeFormat": { - "label": "Formato de hora personalizado", - "description": "Usar ISO 8601 para formatar horas (Isso sobrescreverá outras opções)" + "label": "", + "description": "" }, "customDateFormat": { - "label": "Formato de data personalizado", - "description": "Usar ISO 8601 para formatar datas (Isso sobrescreverá outras opções)" + "label": "", + "description": "" } } }, "minecraftServerStatus": { - "name": "Status de servidor Minecraft", - "description": "Exibir o status de um servidor Minecraft", + "name": "", + "description": "", "option": { "title": { - "label": "Título" + "label": "" }, "domain": { - "label": "Endereço do servidor" + "label": "" }, "isBedrockServer": { - "label": "Servidor Bedrock" + "label": "" } }, "status": { - "online": "Online", - "offline": "Offline" + "online": "", + "offline": "" } }, "timetable": { - "name": "Calendário", - "description": "Mostra os horários de partida de uma estação", - "title": "Partidas {station}", - "noStation": "Nenhuma estação selecionada", + "name": "", + "description": "", + "title": "", + "noStation": "", "option": { "station": { - "label": "Estação" + "label": "" } } }, "notebook": { - "name": "Caderno de anotações", - "description": "Um widget de bloco de notas simples que suporta markdown", + "name": "", + "description": "", "option": { "showToolbar": { - "label": "Mostrar a barra de ferramentas para ajudá-lo a escrever markdown" + "label": "" }, "allowReadOnlyCheck": { - "label": "Permitir a verificação no modo de leitura" + "label": "" }, "content": { - "label": "O conteúdo do notebook" + "label": "" } }, "controls": { - "bold": "Negrito", - "italic": "Itálico", - "strikethrough": "Riscar", - "underline": "Sublinhar", - "colorText": "Cor do texto", - "colorHighlight": "Texto colorido em destaque", - "code": "Código", - "clear": "Limpar formatação", - "heading": "Cabeçalho {level}", - "align": "Alinhar texto: {position}", - "blockquote": "Bloco de Citação", - "horizontalLine": "Linha horizontal", - "bulletList": "Lista de marcadores", - "orderedList": "Lista ordenada", - "checkList": "Lista de verificação", - "increaseIndent": "Aumentar recuo", - "decreaseIndent": "Diminuir recuo", - "link": "Link", - "unlink": "Remover link", - "image": "Incorporar imagem", - "addTable": "Adicionar tabela", - "deleteTable": "Excluir tabela", - "colorCell": "Cor da Célula", - "mergeCell": "Ativar/desativar mesclagem de células", - "addColumnLeft": "Adicionar coluna antes", - "addColumnRight": "Adicionar coluna depois", - "deleteColumn": "Excluir coluna", - "addRowTop": "Adicionar linha antes", - "addRowBelow": "Adicionar linha depois", - "deleteRow": "Excluir linha" + "bold": "", + "italic": "", + "strikethrough": "", + "underline": "", + "colorText": "", + "colorHighlight": "", + "code": "", + "clear": "", + "heading": "", + "align": "", + "blockquote": "", + "horizontalLine": "", + "bulletList": "", + "orderedList": "", + "checkList": "", + "increaseIndent": "", + "decreaseIndent": "", + "link": "", + "unlink": "", + "image": "", + "addTable": "", + "deleteTable": "", + "colorCell": "", + "mergeCell": "", + "addColumnLeft": "", + "addColumnRight": "", + "deleteColumn": "", + "addRowTop": "", + "addRowBelow": "", + "deleteRow": "" }, "align": { - "left": "Esquerda", - "center": "Centralizado", - "right": "Certo" + "left": "", + "center": "", + "right": "" }, "popover": { - "clearColor": "Limpar cor", - "source": "Fonte", - "widthPlaceholder": "Valor em % ou pixels", - "columns": "Colunas", - "rows": "Linhas", - "width": "Largura", - "height": "Altura" + "clearColor": "", + "source": "", + "widthPlaceholder": "", + "columns": "", + "rows": "", + "width": "", + "height": "" }, - "placeholder": "Comece a escrever suas notas", + "placeholder": "", "dismiss": { - "title": "Descartar alterações?", - "message": "Você tem alterações não salvas em seu bloco de notas. Tem certeza de que deseja descartá-las?", + "title": "", + "message": "", "action": { - "discard": "Descartar alterações", - "keepEditing": "Continuar editando" + "discard": "", + "keepEditing": "" } } }, "anchorNote": { - "name": "Nota do Anchor", - "description": "Exibe a nota selecionada do Anchor", + "name": "", + "description": "", "option": { "noteId": { - "label": "Nota" + "label": "" }, "showTitle": { - "label": "Mostrar título" + "label": "" }, "showUpdatedAt": { - "label": "Exibir última atualização" + "label": "" } }, - "empty": "Selecione uma nota para exibir", - "emptyContent": "Essa nota esta vazia", - "notFound": "Nenhuma nota encontrada", - "noNotes": "Nenhuma nota encontrada", - "integrationRequired": "Selecione primeiro uma integração do Anchor", - "updatedAt": "Atualizado em {date}", - "untitled": "Sem título", - "edit": "Editar", - "save": "Salvar", - "cancel": "Cancelar", - "readOnlyViewer": "Você tem acesso de visualização a esta nota. A edição está desativada.", - "saveForbidden": "Você não tem permissão para editar essa nota.", - "saveFailed": "Não foi possível salvar a nota. Tente novamente." + "empty": "", + "emptyContent": "", + "notFound": "", + "noNotes": "", + "integrationRequired": "", + "updatedAt": "", + "untitled": "", + "edit": "", + "save": "", + "cancel": "", + "readOnlyViewer": "", + "saveForbidden": "", + "saveFailed": "" }, "iframe": { - "name": "iFrame", - "description": "Incorporar qualquer conteúdo da internet. Alguns sites podem restringir o acesso.", + "name": "", + "description": "", "option": { "embedUrl": { - "label": "Incorporar URL" + "label": "" }, "allowFullScreen": { - "label": "Permitir tela cheia" + "label": "" }, "allowTransparency": { - "label": "Permitir transparência" + "label": "" }, "allowScrolling": { - "label": "Permitir rolagem" + "label": "" }, "allowPayment": { - "label": "Permitir pagamento" + "label": "" }, "allowAutoPlay": { - "label": "Permitir reprodução automática" + "label": "" }, "allowMicrophone": { - "label": "Permitir microfone" + "label": "" }, "allowCamera": { - "label": "Permitir câmera" + "label": "" }, "allowGeolocation": { - "label": "Permitir geolocalização" + "label": "" }, "allowModals": { - "label": "Permitir modais" + "label": "" } }, "error": { - "noUrl": "Nenhum URL de iFrame fornecido", - "unsupportedProtocol": "A URL fornecida está usando um protocolo não suportado. Use um dos seguintes protocolos: ({supportedProtocols})", - "noBrowerSupport": "Seu navegador não suporta iframes. Atualize seu navegador." + "noUrl": "", + "unsupportedProtocol": "", + "noBrowerSupport": "" } }, "smartHome-entityState": { - "name": "Estado da Entidade", - "description": "Exibe o estado de uma entidade e permite alterná-lo opcionalmente", + "name": "", + "description": "", "option": { "entityId": { - "label": "ID da entidade" + "label": "" }, "displayName": { - "label": "Nome de exibição" + "label": "" }, "entityUnit": { - "label": "Unidade da Entidade" + "label": "" }, "clickable": { - "label": "Clicável" + "label": "" } } }, "smartHome-executeAutomation": { - "name": "Executar automação", - "description": "Acionar uma automação com um único clique", + "name": "", + "description": "", "option": { "displayName": { - "label": "Nome de exibição" + "label": "" }, "automationId": { - "label": "ID da automação" + "label": "" } }, "spotlightAction": { - "run": "Executar {name}" + "run": "" } }, "stockPrice": { - "name": "Preço das ações", - "description": "Exibe o preço atual das ações de uma empresa", + "name": "", + "description": "", "option": { "stock": { - "label": "Símbolo da ação" + "label": "" }, "timeRange": { - "label": "Intervalo de tempo", + "label": "", "option": { "1d": { - "label": "1 dia" + "label": "" }, "5d": { - "label": "5 dias" + "label": "" }, "1mo": { - "label": "1 mês" + "label": "" }, "3mo": { - "label": "3 meses" + "label": "" }, "6mo": { - "label": "6 meses" + "label": "" }, "ytd": { - "label": "Acumulado no ano (YTD)" + "label": "" }, "1y": { - "label": "1 ano" + "label": "" }, "2y": { - "label": "2 anos" + "label": "" }, "5y": { - "label": "5 anos" + "label": "" }, "10y": { - "label": "10 anos" + "label": "" }, "max": { - "label": "Máximo" + "label": "" } } }, "timeInterval": { - "label": "Intervalo de tempo", + "label": "", "option": { "5m": { - "label": "5 minutos" + "label": "" }, "15m": { - "label": "15 minutos" + "label": "" }, "30m": { - "label": "30 minutos" + "label": "" }, "1h": { - "label": "1 hora" + "label": "" }, "1d": { - "label": "1 dia" + "label": "" }, "5d": { - "label": "5 dias" + "label": "" }, "1wk": { - "label": "1 semana" + "label": "" }, "1mo": { - "label": "1 mês" + "label": "" } } } } }, "calendar": { - "name": "Calendário", - "description": "Exibe eventos de suas integrações em uma visualização de calendário dentro de um período relativo específico", + "name": "", + "description": "", "duration": { - "allDay": "Dia inteiro" + "allDay": "" }, "option": { "releaseType": { - "label": "Tipo de libertação de Radarr", + "label": "", "options": { - "inCinemas": "Nos cinemas", - "digitalRelease": "Lançamento digital", - "physicalRelease": "Lançamento físico" + "inCinemas": "", + "digitalRelease": "", + "physicalRelease": "" } }, "filterPastMonths": { - "label": "Começar de" + "label": "" }, "filterFutureMonths": { - "label": "Terminar em" + "label": "" }, "showUnmonitored": { - "label": "Mostrar não monitorados" + "label": "" } } }, "weather": { - "name": "Tempo", - "description": "Apresenta a informação meteorológica actual de um local definido.", + "name": "", + "description": "", "option": { "isFormatFahrenheit": { - "label": "Temperatura em Fahrenheit" + "label": "" }, "disableTemperatureDecimals": { - "label": "Desativar decimais de temperatura" + "label": "" }, "showCurrentWindSpeed": { - "label": "Exibir velocidade do vento atual", - "description": "Somente no clima atual" + "label": "", + "description": "" }, "useImperialSpeed": { - "label": "Usar unidade mph para velocidade do vento" + "label": "" }, "location": { - "label": "Localização do tempo" + "label": "" }, "showCity": { - "label": "Exibir cidade" + "label": "" }, "hasForecast": { - "label": "Exibir previsão" + "label": "" }, "forecastDayCount": { - "label": "Quantidade de dias de previsão", - "description": "Quando o widget não é largo o suficiente, menos dias serão exibidos" + "label": "", + "description": "" }, "dateFormat": { - "label": "Formato de data", - "description": "Como a data deve ser exibida" + "label": "", + "description": "" } }, - "currentWindSpeed": "{currentWindSpeed} {unit}", + "currentWindSpeed": "", "dailyForecast": { - "sunrise": "Nascer do sol", - "sunset": "Pôr do sol", - "maxWindSpeed": "Velocidade máxima do vento: {maxWindSpeed} {unit}", - "maxWindGusts": "Rajadas máximas de vento: {maxWindGusts} {unit}" + "sunrise": "", + "sunset": "", + "maxWindSpeed": "", + "maxWindGusts": "" }, "kind": { - "clear": "Limpar", - "mainlyClear": "Principalmente claro", - "fog": "Névoa", - "drizzle": "Chuvisco", - "freezingDrizzle": "Chuvisco de congelação", - "rain": "Chuva", - "freezingRain": "Chuva gelada", - "snowFall": "Queda de neve", - "snowGrains": "Grãos de neve", - "rainShowers": "Duches de chuva", - "snowShowers": "Aguaceiros de neve", - "thunderstorm": "Tempestade", - "thunderstormWithHail": "Tempestade com granizo", - "unknown": "Desconhecido" + "clear": "", + "mainlyClear": "", + "fog": "", + "drizzle": "", + "freezingDrizzle": "", + "rain": "", + "freezingRain": "", + "snowFall": "", + "snowGrains": "", + "rainShowers": "", + "snowShowers": "", + "thunderstorm": "", + "thunderstormWithHail": "", + "unknown": "" } }, "indexerManager": { - "name": "Status do Gerenciador de Indexadores", - "description": "Status dos seus indexadores", + "name": "", + "description": "", "option": { "openIndexerSiteInNewTab": { - "label": "Abrir o site do indexador em uma nova guia" + "label": "" } }, - "title": "Gerenciador de indexadores", - "testAll": "Testar todos", + "title": "", + "testAll": "", "error": { - "internalServerError": "Falha ao buscar status dos indexadores" + "internalServerError": "" } }, "healthMonitoring": { - "name": "Monitoramento da integridade do sistema", - "description": "Exibe informações que mostram a saúde e status de seu(s) sistema(s).", + "name": "", + "description": "", "tab": { - "system": "Sistema", - "cluster": "Cluster" + "system": "", + "cluster": "" }, "option": { "fahrenheit": { - "label": "Temperatura da CPU em Fahrenheit" + "label": "" }, "cpu": { - "label": "Mostrar informações da CPU" + "label": "" }, "memory": { - "label": "Mostrar informações da memória" + "label": "" }, "gpu": { - "label": "Mostrar informações da GPU" + "label": "" }, "showUptime": { - "label": "Exibir tempo de atividade" + "label": "" }, "fileSystem": { - "label": "Mostrar informações do sistema de arquivos" + "label": "" }, "defaultTab": { - "label": "Aba padrão" + "label": "" }, "visibleClusterSections": { - "label": "Seções de cluster visíveis" + "label": "" }, "sectionIndicatorRequirement": { - "label": "Requisito do indicador de seção" + "label": "" } }, "popover": { - "information": "Informação", - "processor": "Processador: {cpuModelName}", - "memory": "Memória: {memory}GiB", - "memoryAvailable": "Disponível: {memoryAvailable}GiB ({percent}%)", - "version": "Versão {version}", - "uptime": "Tempo de atividade: {months} mês(es), {days} dias, {hours} horas, {minutes} minutos", - "loadAverage": "Média de carga:", - "minute": "1 minuto", - "minutes": "{count} minutos", - "used": "Usado", - "available": "Disponível", - "lastSeen": "Última atualização de status: {lastSeen}" + "information": "", + "processor": "", + "memory": "", + "memoryAvailable": "", + "version": "", + "uptime": "", + "loadAverage": "", + "minute": "", + "minutes": "", + "used": "", + "available": "", + "lastSeen": "" }, "memory": {}, "error": { - "internalServerError": "Falha ao buscar status de saúde" + "internalServerError": "" }, "cluster": { "summary": { - "cpu": "CPU", - "memory": "RAM" + "cpu": "", + "memory": "" }, "resource": { "node": { - "name": "Nós" + "name": "" }, "qemu": { - "name": "VMs" + "name": "" }, "lxc": { - "name": "LXCs" + "name": "" }, "storage": { - "name": "Armazenamento" + "name": "" } }, "popover": { "rightSection": { - "node": "Nós", - "vmId": "ID da VM", - "plugin": "Plugin" + "node": "", + "vmId": "", + "plugin": "" }, "detail": { - "cpu": "Núcleos", - "memory": "Memória", - "storage": "Armazenamento", - "uptime": "Tempo de atividade", - "haState": "Estado HA", + "cpu": "", + "memory": "", + "storage": "", + "uptime": "", + "haState": "", "storageType": { - "local": "Armazenamento local", - "shared": "Armazenamento compartilhado" + "local": "", + "shared": "" } } }, "table": { "header": { - "name": "Nome", - "cpu": "CPU", - "memory": "RAM", - "node": "Nó" + "name": "", + "cpu": "", + "memory": "", + "node": "" } } } }, "dockerContainers": { - "name": "Estatísticas do Docker", - "description": "Estatísticas dos seus contêineres (Esse widget só pode ser adicionado com privilégios de administrador)", + "name": "", + "description": "", "option": { "enableRowSorting": { - "label": "Ativar ordenação de itens" + "label": "" }, "defaultSort": { - "label": "Coluna usada para ordenação por padrão", + "label": "", "option": { - "name": "Nome", - "state": "Estado", - "cpuUsage": "Uso da CPU", - "memoryUsage": "Uso da Memória" + "name": "", + "state": "", + "cpuUsage": "", + "memoryUsage": "" } }, "descendingDefaultSort": { - "label": "Inverter ordenação" + "label": "" } }, "error": { - "internalServerError": "Erro ao obter as estatísticas dos contêineres" + "internalServerError": "" } }, "coolify": { - "name": "Coolify", - "description": "Visão geral da sua instância Coolify com servidores e aplicativos", + "name": "", + "description": "", "option": { "showServers": { - "label": "Exibir servidores" + "label": "" }, "showApplications": { - "label": "Exibir aplicações" + "label": "" }, "showServices": { - "label": "Exibir serviços" + "label": "" } }, "empty": { - "servers": "Nenhum servidor encontrado", - "applications": "Nenhum aplicativo encontrado", - "services": "Nenhum serviço encontrado" + "servers": "", + "applications": "", + "services": "" }, "footer": { - "updated": "Atualizado em {when}" + "updated": "" }, "error": { - "noIntegration": "Nenhuma integração Coolify configurada", - "internalServerError": "Falha ao buscar dados do Coolify" + "noIntegration": "", + "internalServerError": "" }, "server": { - "buildServer": "Build" + "buildServer": "" }, "instances": { - "title": "Instâncias" + "title": "" } }, "tracearr": { - "name": "Tracearr", - "description": "Monitoramento avançado de servidor de mídia com dados detalhados de transmissão e transcodificação\n", + "name": "", + "description": "", "option": { "showStreams": { - "label": "Exibir transmissões ativas" + "label": "" }, "showStats": { - "label": "Exibir resumo de estatísticas" + "label": "" }, "showRecentActivity": { - "label": "Exibir Atividade Recente" + "label": "" }, "showViolations": { - "label": "Mostrar Violações" + "label": "" } }, "stats": { - "activeStreams": "Streams Ativas", - "totalUsers": "Total de usuários", - "transcodes": "Transcodificações", - "bandwidth": "Largura da banda" + "activeStreams": "", + "totalUsers": "", + "transcodes": "", + "bandwidth": "" }, "streams": { - "empty": "Sem transmissões ativas", - "user": "Usuário", - "media": "Mídia", - "state": "Estado", - "quality": "Qualidade", - "device": "Dispositivo", - "progress": "Progresso", + "empty": "", + "user": "", + "media": "", + "state": "", + "quality": "", + "device": "", + "progress": "", "videoDecision": { - "directPlay": "Reprodução direta", - "transcode": "Transcodificação", - "directStream": "Transmissão direta" + "directPlay": "", + "transcode": "", + "directStream": "" } }, "recentActivity": { - "title": "Atividade recente", - "empty": "Nenhuma atividade recente", - "watched": "Assistido", - "partial": "Parcial" + "title": "", + "empty": "", + "watched": "", + "partial": "" }, "violations": { - "title": "Violações", - "empty": "Não há violações recentes", - "rule": "Regra", - "user": "Usuário" + "title": "", + "empty": "", + "rule": "", + "user": "" }, - "noSectionsEnabled": "Nenhuma seção habilitada", + "noSectionsEnabled": "", "error": { - "noIntegration": "Nenhuma integração Coolify configurada", - "internalServerError": "Falha ao buscar dados do Tracearr" + "noIntegration": "", + "internalServerError": "" } }, "common": { "location": { - "query": "Cidade / CEP", - "latitude": "Latitude", - "longitude": "Longitude", - "disabledTooltip": "Por favor, insira uma cidade ou um CEP", - "unknownLocation": "Localização desconhecida", - "search": "Pesquisa", + "query": "", + "latitude": "", + "longitude": "", + "disabledTooltip": "", + "unknownLocation": "", + "search": "", "table": { "header": { - "city": "Cidade", - "country": "País", - "coordinates": "Coordenadas", - "population": "População" + "city": "", + "country": "", + "coordinates": "", + "population": "" }, "action": { - "select": "Selecione {city}, {countryCode}" + "select": "" }, "population": { - "fallback": "Desconhecido" + "fallback": "" } } }, "integration": { - "noData": "Nenhuma integração encontrada", - "description": "Clique para criar um aplicativo", - "quickCreate": "Criar aplicativo em tempo real" + "noData": "", + "description": "", + "quickCreate": "" }, "error": { - "noIntegration": "Nenhuma integração selecionada", - "noData": "Nenhum dado de integração disponível" + "noIntegration": "", + "noData": "" }, "option": {} }, "video": { - "name": "Transmissão de vídeo", - "description": "Incorporar um stream de vídeo ou vídeo de uma câmera ou de um site", + "name": "", + "description": "", "option": { "feedUrl": { - "label": "URL do feed" + "label": "" }, "hasAutoPlay": { - "label": "Reprodução automática", - "description": "A reprodução automática só funciona quando está no mudo devido a restrições do navegador" + "label": "", + "description": "" }, "isMuted": { - "label": "Mudo" + "label": "" }, "hasControls": { - "label": "Exibir controles" + "label": "" } }, "error": { - "noUrl": "Nenhum URL de vídeo fornecido", - "forYoutubeUseIframe": "Para vídeos do Youtube, use a opção de iFrame" + "noUrl": "", + "forYoutubeUseIframe": "" } }, "mediaServer": { - "name": "Streams atuais do servidor de mídia", - "description": "Exibe os streams atuais em seus servidores de mídia", + "name": "", + "description": "", "option": { "showOnlyPlaying": { - "label": "Exibir apenas o que está sendo reproduzido", - "description": "Desabilitar isso não funcionará para o Plex" + "label": "", + "description": "" } }, "items": { - "currentlyPlaying": "Reproduzindo agora", - "user": "Usuário", - "name": "Nome", - "id": "Id", + "currentlyPlaying": "", + "user": "", + "name": "", + "id": "", "metadata": { - "title": "Estatísticas para nerds", + "title": "", "video": { - "title": "Vídeo", - "resolution": "Resolução" + "title": "", + "resolution": "" }, "audio": { - "title": "Áudio", - "channelCount": "Canais de áudio", - "codec": "Codificador de áudio" + "title": "", + "channelCount": "", + "codec": "" }, "transcoding": { - "title": "Transcodificação", - "container": "Contêiner", - "resolution": "Resolução", - "target": "Codec de destino" + "title": "", + "container": "", + "resolution": "", + "target": "" } } } }, "immich-serverStats": { - "name": "Estatísticas do Servidor Immich", - "description": "Informações sobre sua instância do Immich", + "name": "", + "description": "", "option": { "showUsers": { - "label": "Mostrar usuários", - "description": "Mostrar a contagem de usuários na sua instância" + "label": "", + "description": "" }, "showPhotos": { - "label": "Mostrar Fotos", - "description": "Mostrar a contagem de fotos na sua instância" + "label": "", + "description": "" }, "showVideos": { - "label": "Mostrar vídeos", - "description": "Mostrar contagem de vídeos na sua instância" + "label": "", + "description": "" }, "showStorage": { - "label": "Mostrar armazenamento", - "description": "Mostrar a quantidade total de armazenamento utilizado" + "label": "", + "description": "" } }, - "users": "Usuários", - "photos": "Fotos", - "videos": "Vídeos", - "storage": "Armazenamento Utilizado" + "users": "", + "photos": "", + "videos": "", + "storage": "" }, "immich-albumCarousel": { - "name": "Álbum do Immich", + "name": "", "option": { "albumId": { - "label": "ID do Álbum", - "description": "Esta é uma identificação única que se refere ao seu álbum Immich. Você pode encontrar essa identificação abrindo um álbum e copiando a string única da URL, por exemplo 'a21aca09-9f05-47dc-b1a1-7b53c547226e'" + "label": "", + "description": "" }, "rotationIntervalSeconds": { - "label": "Intervalo em segundos", - "description": "Girar entre as imagens no álbum a cada X segundos. Deve ser pelo menos 1. Deve estar abaixo de 3600." + "label": "", + "description": "" }, "showPhotoInfo": { - "label": "Mostrar informações da foto", - "description": "Exibir a data da imagem e o índice atual na parte inferior da apresentação" + "label": "", + "description": "" } }, - "description": "Apresentação de imagens em seu álbum Imich", - "noAlbumSelected": "Nenhum álbum selecionado, edite o widget e escolha um álbum", - "noPhotos": "Nenhuma foto neste álbum" + "description": "", + "noAlbumSelected": "", + "noPhotos": "" }, "downloads": { - "name": "Cliente de Download", - "description": "Permite visualizar e gerenciar seus Downloads de clientes Torrent e Usenet.", + "name": "", + "description": "", "option": { "columns": { - "label": "Colunas para exibir" + "label": "" }, "enableRowSorting": { - "label": "Habilitar ordenação de itens" + "label": "" }, "defaultSort": { - "label": "Coluna usada para ordenação por padrão" + "label": "" }, "descendingDefaultSort": { - "label": "Inverter ordenação" + "label": "" }, "showCompletedUsenet": { - "label": "Exibir entradas usenet marcadas como concluídas" + "label": "" }, "showCompletedTorrent": { - "label": "Exibir entradas torrent marcadas como concluídas" + "label": "" }, "showCompletedHttp": { - "label": "Exibir entradas diversas marcadas como concluídas" + "label": "" }, "activeTorrentThreshold": { - "label": "Ocultar torrents concluídos abaixo deste limite (em kiB/s)" + "label": "" }, "categoryFilter": { - "label": "Categorias/rótulos para filtrar" + "label": "" }, "filterIsWhitelist": { - "label": "Filtrar como lista de permissões" + "label": "" }, "applyFilterToRatio": { - "label": "Usar filtro para calcular Proporção" + "label": "" }, "limitPerIntegration": { - "label": "Limitar itens por integração", - "description": "Isso limitará o número de itens exibidos por integração, não globalmente" + "label": "", + "description": "" } }, "errors": { - "noColumns": "Selecionar Colunas em Itens", - "noCommunications": "Não foi possível carregar dados da integração" + "noColumns": "", + "noCommunications": "" }, "items": { "actions": { - "columnTitle": "Controles" + "columnTitle": "" }, "added": { - "columnTitle": "Adicionado", - "detailsTitle": "Data adicionada" + "columnTitle": "", + "detailsTitle": "" }, "category": { - "columnTitle": "Extras", - "detailsTitle": "Categorias (ou informações extras)" + "columnTitle": "", + "detailsTitle": "" }, "downSpeed": { - "columnTitle": "Para baixo", - "detailsTitle": "Velocidade de Transferência" + "columnTitle": "", + "detailsTitle": "" }, "index": { - "columnTitle": "#", - "detailsTitle": "Índice atual no cliente" + "columnTitle": "", + "detailsTitle": "" }, "id": { - "columnTitle": "Id" + "columnTitle": "" }, "integration": { - "columnTitle": "Integração" + "columnTitle": "" }, "name": { - "columnTitle": "Nome do trabalho" + "columnTitle": "" }, "progress": { - "columnTitle": "Progresso", - "detailsTitle": "Baixar progresso" + "columnTitle": "", + "detailsTitle": "" }, "ratio": { - "columnTitle": "Razão", - "detailsTitle": "Relação de torrent (recebido/enviado)" + "columnTitle": "", + "detailsTitle": "" }, "received": { - "columnTitle": "Total baixado", - "detailsTitle": "Total baixado" + "columnTitle": "", + "detailsTitle": "" }, "sent": { - "columnTitle": "Total enviado", - "detailsTitle": "Total enviado" + "columnTitle": "", + "detailsTitle": "" }, "size": { - "columnTitle": "Tamanho do arquivo", - "detailsTitle": "Tamanho total da seleção/arquivos" + "columnTitle": "", + "detailsTitle": "" }, "state": { - "columnTitle": "Estado", - "detailsTitle": "Estado do trabalho" + "columnTitle": "", + "detailsTitle": "" }, "time": { - "columnTitle": "Tempo de conclusão", - "detailsTitle": "Tempo desde/até a conclusão" + "columnTitle": "", + "detailsTitle": "" }, "type": { - "columnTitle": "Tipo", - "detailsTitle": "Tipo de cliente de download" + "columnTitle": "", + "detailsTitle": "" }, "upSpeed": { - "columnTitle": "Para cima", - "detailsTitle": "Velocidade de envio" + "columnTitle": "", + "detailsTitle": "" } }, "states": { - "downloading": "Baixando", - "queued": "Em fila", - "paused": "Pausado", - "completed": "Concluído", - "failed": "Falhou", - "processing": "Processando", - "leeching": "Baixando (Leeching)", - "stalled": "Parado", - "unknown": "Desconhecido", - "seeding": "Compartilhando (Seeding)" + "downloading": "", + "queued": "", + "paused": "", + "completed": "", + "failed": "", + "processing": "", + "leeching": "", + "stalled": "", + "unknown": "", + "seeding": "" }, "actions": { "clients": { - "modalTitle": "Lista de clientes de download", - "pause": "Pausar todos os clientes/itens", - "resume": "Retomar todos os clientes/itens" + "modalTitle": "", + "pause": "", + "resume": "" }, "client": { - "pause": "Pausar cliente", - "resume": "Retomar cliente" + "pause": "", + "resume": "" }, "item": { - "pause": "Pausar item", - "resume": "Pausar item", + "pause": "", + "resume": "", "delete": { - "title": "Excluir item", - "modalTitle": "Tem certeza de que deseja excluir este trabalho?", - "entry": "Excluir entrada", - "entryAndFiles": "Excluir entrada e arquivo(s)" + "title": "", + "modalTitle": "", + "entry": "", + "entryAndFiles": "" } } }, - "globalRatio": "Proporção global" + "globalRatio": "" }, "mediaReleases": { - "name": "Lançamentos de mídias", - "description": "Exibe mídias recém-adicionadas ou lançamentos futuros de diferentes integrações", + "name": "", + "description": "", "option": { "layout": { - "label": "Layout", + "label": "", "option": { "backdrop": { - "label": "Backdrop" + "label": "" }, "poster": { - "label": "Pôster" + "label": "" } } }, "showDescriptionTooltip": { - "label": "Exibir dica de descrição" + "label": "" }, "showType": { - "label": "Exibir emblema de tipo de mídia" + "label": "" }, "showSource": { - "label": "Exibir integração de origem" + "label": "" } }, "length": { - "duration": "{length} minutos" + "duration": "" } }, "mediaRequests-requestList": { - "name": "Lista de Solicitações de Mídia", - "description": "Veja uma lista de todas as solicitações de mídia da sua instância do Overseerr ou Jellyseerr", + "name": "", + "description": "", "option": { "linksTargetNewTab": { - "label": "Abrir links em uma nova guia" + "label": "" } }, "pending": { - "approve": "Aprovar solicitação", - "approving": "Aprovando solicitação...", - "decline": "Recusar solicitação" + "approve": "", + "approving": "", + "decline": "" }, "availability": { - "unknown": "Desconhecido", - "pending": "Pendente", - "processing": "Processando", - "requested": "Solicitado", - "partiallyAvailable": "Parcial", - "available": "Disponível", - "blacklisted": "Na lista negra", - "deleted": "Excluído" + "unknown": "", + "pending": "", + "processing": "", + "requested": "", + "partiallyAvailable": "", + "available": "", + "blacklisted": "", + "deleted": "" }, "status": { - "pending": "Pendente", - "approved": "Aprovado", - "declined": "Rejeitado", - "failed": "Falhou", - "completed": "Concluído" + "pending": "", + "approved": "", + "declined": "", + "failed": "", + "completed": "" }, - "toBeDetermined": "TBD" + "toBeDetermined": "" }, "mediaRequests-requestStats": { - "name": "Estatísticas de Solicitações de Mídia", - "description": "Estatísticas sobre suas solicitações de mídia", + "name": "", + "description": "", "option": {}, "titles": { "stats": { - "main": "Estatísticas de mídia", - "approved": "Já aprovado", - "pending": "Aprovações pendentes", - "processing": "Sendo processado", - "declined": "Já recusado", - "available": "Já disponível", - "tv": "Solicitações de TV", - "movie": "Solicitações de filmes", - "total": "Total" + "main": "", + "approved": "", + "pending": "", + "processing": "", + "declined": "", + "available": "", + "tv": "", + "movie": "", + "total": "" }, "users": { - "main": "Principais usuários", - "requests": "Solicitações" + "main": "", + "requests": "" } } }, "mediaTranscoding": { - "name": "Transcodificação de mídia", - "description": "Estatísticas, fila atual e status dos workers de transcodificação de mídia", + "name": "", + "description": "", "option": { "defaultView": { - "label": "Visualização padrão" + "label": "" }, "queuePageSize": { - "label": "Tamanho da página da fila" + "label": "" } }, "tab": { - "workers": "Workers", - "queue": "Fila", - "statistics": "Estatísticas" + "workers": "", + "queue": "", + "statistics": "" }, - "currentIndex": "{start}-{end} de {total}", + "currentIndex": "", "healthCheck": { - "title": "Verificação de saúde", - "queued": "Em fila", + "title": "", + "queued": "", "status": { - "healthy": "Saudável", - "unhealthy": "Não saudável" + "healthy": "", + "unhealthy": "" } }, "panel": { "statistics": { - "empty": "Vazio", - "transcodes": "Transcodificações", - "transcodesCount": "Transcodificações", - "healthChecksCount": "Verificações de saúde", - "filesCount": "Arquivos", - "savedSpace": "Espaço economizado", - "healthChecks": "Verificações de saúde", - "videoCodecs": "Codificadores", - "videoContainers": "Contêineres", - "videoResolutions": "Resoluções" + "empty": "", + "transcodes": "", + "transcodesCount": "", + "healthChecksCount": "", + "filesCount": "", + "savedSpace": "", + "healthChecks": "", + "videoCodecs": "", + "videoContainers": "", + "videoResolutions": "" }, "workers": { - "empty": "Vazio", + "empty": "", "table": { - "file": "Ficheiro", - "eta": "TED", - "progress": "Progresso", - "transcode": "Transcodificar", - "healthCheck": "Verificação de saúde" + "file": "", + "eta": "", + "progress": "", + "transcode": "", + "healthCheck": "" } }, "queue": { - "empty": "Vazio", + "empty": "", "table": { - "file": "Ficheiro", - "size": "Tamanho", - "transcode": "Transcodificar", - "healthCheck": "Verificação de saúde" + "file": "", + "size": "", + "transcode": "", + "healthCheck": "" } } } }, "rssFeed": { - "name": "Feeds RSS", - "description": "Monitora e exibe um ou mais feeds RSS, ATOM ou JSON genéricos", + "name": "", + "description": "", "option": { "feedUrls": { - "label": "URLs de feed" + "label": "" }, "enableRtl": { - "label": "Habilitar RTL" + "label": "" }, "textLinesClamp": { - "label": "Limite de linhas da descrição" + "label": "" }, "maximumAmountPosts": { - "label": "Limite de quantidade de posts" + "label": "" }, "hideDescription": { - "label": "Ocultar descrição" + "label": "" }, "showPosterImage": { - "label": "Exibir pôster" + "label": "" } } }, "releases": { - "name": "Lançamentos", - "description": "Exibe uma lista da versão atual dos repositórios fornecidos com a expressão regular de versão fornecida.", + "name": "", + "description": "", "option": { "newReleaseWithin": { - "label": "Novo lançamento dentro de", - "description": "Exemplo de uso: 1w (1 semana), 10M (10 meses). Tipos de unidades aceitas: h (horas), d (dias), w (semanas), M (meses), y (anos). Deixe em branco para não destacar novos lançamentos." + "label": "", + "description": "" }, "staleReleaseWithin": { - "label": "Lançamento Antigo Dentro de", - "description": "Exemplo de uso: 1w (1 semana), 10M (10 meses). Tipos de unidades aceitas: h (horas), d (dias), w (semanas), M (meses), y (anos). Deixe em branco para não destacar versões antigas." + "label": "", + "description": "" }, "showOnlyHighlighted": { - "label": "Exibir apenas destacados", - "description": "Exibir apenas lançamentos novos ou antigos. Conforme acima." + "label": "", + "description": "" }, "showDetails": { - "label": "Exibir detalhes" + "label": "" }, "showOnlyIcon": { - "label": "Exibir apenas ícones" + "label": "" }, "topReleases": { - "label": "Principais lançamentos", - "description": "O número máximo de lançamentos recentes a exibir. Zero significa sem limite." + "label": "", + "description": "" }, "repositories": { - "label": "Repositórios", + "label": "", "addRepository": { - "label": "Adicionar repositório" + "label": "" }, "importRepositories": { - "label": "Importar do Docker", - "loading": "Carregando imagens do Docker", - "noImagesFound": "Nenhuma imagem do Docker encontrada", - "listFoundImages": "Lista de imagens encontradas", - "listAlreadyImportedImages": "Lista de imagens já importadas", - "allImagesAlreadyImported": "Todas as imagens já importadas", - "onlyAdminCanImport": "Apenas administradores podem importar do Docker", - "selectAll": "Selecionar tudo", - "deselectAll": "Desmarcar tudo" + "label": "", + "loading": "", + "noImagesFound": "", + "listFoundImages": "", + "listAlreadyImportedImages": "", + "allImagesAlreadyImported": "", + "onlyAdminCanImport": "", + "selectAll": "", + "deselectAll": "" }, "provider": { - "label": "Provedor" + "label": "" }, "identifier": { - "label": "Identificador", - "placeholder": "Nome ou Proprietário/Nome" + "label": "", + "placeholder": "" }, "name": { - "label": "Nome" + "label": "" }, "versionFilter": { - "label": "Filtro de versão", + "label": "", "prefix": { - "label": "Prefixo" + "label": "" }, "precision": { - "label": "Precisão", + "label": "", "options": { - "none": "Nenhum(a)" + "none": "" } }, "suffix": { - "label": "Sufixo" + "label": "" }, "regex": { - "label": "Expressão regular (RegEx)" + "label": "" } }, "edit": { - "label": "Editar" + "label": "" }, "editForm": { - "title": "Editar repositório", + "title": "", "cancel": { - "label": "Cancelar" + "label": "" }, "confirm": { - "label": "Confirmar" + "label": "" } }, "importForm": { - "title": "Importar do Docker" + "title": "" }, "example": { - "label": "Exemplo" + "label": "" }, - "invalid": "Definição de repositório inválida, verifique os valores", + "invalid": "", "noProvider": { - "label": "Nenhum provedor", - "tooltip": "O provedor não pôde ser analisado, defina-o manualmente após importar as imagens" + "label": "", + "tooltip": "" } } }, - "not-found": "Não encontrado", - "pre-release": "Pré-lançamento", - "archived": "Arquivado", - "forked": "Fork", - "starsCount": "Estrelas", - "forksCount": "Forks", - "issuesCount": "Issues abertas", - "markViewed": "Marcar como visualizado", - "openProjectPage": "Abrir página do projeto", - "openReleasePage": "Abrir página do lançamento", - "releaseDescription": "Descrição do lançamento", - "projectDescription": "Descrição do projeto", - "created": "Criado", + "not-found": "", + "pre-release": "", + "archived": "", + "forked": "", + "starsCount": "", + "forksCount": "", + "issuesCount": "", + "markViewed": "", + "openProjectPage": "", + "openReleasePage": "", + "releaseDescription": "", + "projectDescription": "", + "created": "", "error": { - "label": "Erro", + "label": "", "messages": { - "invalidIdentifier": "Identificador inválido", - "noMatchingVersion": "Nenhuma versão correspondente encontrada", - "noReleasesFound": "Nenhum lançamento encontrado", - "noProviderSeleceted": "Nenhum provedor selecionado", - "noProviderResponse": "Nenhuma resposta do provedor" + "invalidIdentifier": "", + "noMatchingVersion": "", + "noReleasesFound": "", + "noProviderSeleceted": "", + "noProviderResponse": "" } } }, @@ -2673,290 +2673,290 @@ "option": {}, "card": { "vpn": { - "countConnected": "{count} conectados" + "countConnected": "" } }, "error": { - "integrationsDisconnected": "Nenhum dado disponível, todas as integrações estão desconectadas", - "unknownContentOption": "Opção de conteúdo desconhecida para o widget de resumo do controlador de rede: " + "integrationsDisconnected": "", + "unknownContentOption": "" }, - "name": "Resumo do Controlador de Rede", - "description": "Exibe o resumo de um Controlador de Rede (como UniFi Controller)" + "name": "", + "description": "" }, "networkControllerStatus": { "card": { "variants": { "wired": { - "name": "Com fio" + "name": "" }, "wifi": { - "name": "Wi-Fi" + "name": "" } }, "users": { - "label": "Usuários" + "label": "" }, "guests": { - "label": "Convidados" + "label": "" } }, "option": { "content": { "option": { "wifi": { - "label": "Wi-Fi" + "label": "" }, "wired": { - "label": "Com fio" + "label": "" } }, - "label": "Conteúdo do widget" + "label": "" } }, "error": { - "integrationsDisconnected": "Nenhum dado disponível, todas as integrações estão desconectadas", - "unknownContentOption": "Opção de conteúdo desconhecida para o widget de status de rede: " + "integrationsDisconnected": "", + "unknownContentOption": "" }, - "name": "Status da Rede", - "description": "Exibir dispositivos conectados em uma rede" + "name": "", + "description": "" }, "networkController": { "error": { - "internalServerError": "Falha ao buscar resumo do Controlador de Rede" + "internalServerError": "" } }, "firewall": { - "name": "Monitoramento do Firewall", - "description": "Exibe um resumo dos firewalls", + "name": "", + "description": "", "tab": { - "system": "Sistema", - "interfaces": "Interfaces" + "system": "", + "interfaces": "" }, "error": { - "internalServerError": "Não foi possível obter dados do firewall" + "internalServerError": "" }, "option": { - "interfaces": "Interfaces de rede a serem exibidas" + "interfaces": "" }, "widget": { - "fwname": "Nome", - "version": "Versão", - "versiontitle": "Versões", - "cputitle": "Uso da CPU", - "memorytitle": "Uso da Memória", - "cpu": "CPU", - "memory": "Memória", + "fwname": "", + "version": "", + "versiontitle": "", + "cputitle": "", + "memorytitle": "", + "cpu": "", + "memory": "", "interfaces": { - "name": "nome", - "trans": "Transmitido", - "recv": "Recebido", - "title": "Interfaces de rede" + "name": "", + "trans": "", + "recv": "", + "title": "" } } }, "notifications": { - "name": "Notificações", - "description": "Exibe histórico de notificações de uma integração", - "noItems": "Nenhuma notificação para exibir.", + "name": "", + "description": "", + "noItems": "", "option": {} }, "speedtestTracker": { - "name": "Speedtest Tracker", - "description": "Exibe os resultados do teste de velocidade da sua instância do Speedtest Tracker.", + "name": "", + "description": "", "option": { "showLatestResult": { - "label": "Mostrar último resultado" + "label": "" }, "showStats": { - "label": "Exibir médias" + "label": "" }, "showRecentResults": { - "label": "Mostrar resultados recentes" + "label": "" }, "showPingGraph": { - "label": "Exibir gráfico de ping" + "label": "" } }, - "latestResult": "Último resultado", - "averages": "Médias", - "tests": "Testes", - "recentResults": "Resultados recentes", - "recentResultsSpeed": "Velocidade", - "recentResultsPing": "Ping", - "download": "Download", - "upload": "Upload", - "ping": "Ping", - "status": "Status", - "avgDownload": "Download médio", - "avgUpload": "Upload médio", - "avgPing": "Ping médio", - "healthy": "Saudável", - "unhealthy": "Com problemas", - "ok": "Ok", - "fail": "Falhou", - "noSectionsEnabled": "Habilite ao menos uma seção nas opções do widget.", + "latestResult": "", + "averages": "", + "tests": "", + "recentResults": "", + "recentResultsSpeed": "", + "recentResultsPing": "", + "download": "", + "upload": "", + "ping": "", + "status": "", + "avgDownload": "", + "avgUpload": "", + "avgPing": "", + "healthy": "", + "unhealthy": "", + "ok": "", + "fail": "", + "noSectionsEnabled": "", "error": { - "internalServerError": "Falha ao obter dados do Speedtest" + "internalServerError": "" } }, "systemResources": { - "name": "Recursos do Sistema", - "description": "Utilização da CPU, Memória, Disco e outro hardware do seu sistema", + "name": "", + "description": "", "option": { "hasShadow": { - "label": "Habilitar sombreamento do gráfico" + "label": "" }, "visibleCharts": { - "label": "Gráficos visíveis", - "description": "Selecione os gráficos que você deseja que estejam visíveis.", + "label": "", + "description": "", "option": { - "cpu": "CPU", - "memory": "Memória", - "gpu": "GPU", - "network": "Rede" + "cpu": "", + "memory": "", + "gpu": "", + "network": "" } }, "labelDisplayMode": { - "label": "Modo de exibição do rótulo", + "label": "", "option": { - "textWithIcon": "Exibir texto com ícone", - "text": "Exibir apenas texto", - "icon": "Exibir apenas ícones", - "hidden": "Ocultar rótulo" + "textWithIcon": "", + "text": "", + "icon": "", + "hidden": "" } } }, "card": { - "cpu": "CPU", - "memory": "MEM", - "gpu": "GPU", - "network": "REDE", - "up": "ENVIO", - "down": "RECEBIDO" + "cpu": "", + "memory": "", + "gpu": "", + "network": "", + "up": "", + "down": "" } }, "systemDisks": { - "name": "Discos do sistema", - "description": "Uso de disco do seu sistema", + "name": "", + "description": "", "option": { "showTemperatureIfAvailable": { - "label": "Mostrar temperatura se disponível" + "label": "" }, "displayMode": { - "label": "Modo de exibição", + "label": "", "option": { "percentage": { - "label": "Porcentagem (ex: 76%)" + "label": "" }, "absolute": { - "label": "Valores absolutos (ex: 800GB / 1TB)" + "label": "" }, "free": { - "label": "Porcentagem de espaço livre (ex: 24% livre)" + "label": "" } } }, "showBackgroundBar": { - "label": "Exibir barra de uso em segundo plano" + "label": "" } }, "status": { - "unhealthy": "Não saudável" + "unhealthy": "" } } }, "widgetPreview": { "toggle": { - "enabled": "Modo de edição habilitado", - "disabled": "Modo de edição desabilitado" + "enabled": "", + "disabled": "" }, "dimensions": { - "title": "Alterar dimensões" + "title": "" } }, "board": { "action": { "duplicate": { - "title": "Duplicar painel", - "message": "Isso duplicará o painel {name} com todo o seu conteúdo. Se os widgets fizerem referência a integrações que você não tem permissão para usar, eles serão removidos.", + "title": "", + "message": "", "notification": { "success": { - "title": "Painel duplicado", - "message": "O painel foi duplicado com sucesso" + "title": "", + "message": "" }, "error": { - "title": "Não foi possível duplicar o painel", - "message": "O painel não pôde ser duplicado" + "title": "", + "message": "" } } }, "edit": { "notification": { "success": { - "title": "Alterações aplicadas com sucesso", - "message": "O painel foi salvo com sucesso" + "title": "", + "message": "" }, "error": { - "title": "Não foi possível aplicar as alterações", - "message": "O painel não pôde ser salvo" + "title": "", + "message": "" } }, "confirmLeave": { - "title": "Alterações não salvas", - "message": "Você tem alterações não salvas, tem certeza de que deseja sair?" + "title": "", + "message": "" } }, "oldImport": { - "label": "Importar do Homarr anterior à versão 1.0.0", + "label": "", "notification": { "success": { - "title": "Importação bem-sucedida", - "message": "O painel foi importado com sucesso" + "title": "", + "message": "" }, "error": { - "title": "Falha na importação", - "message": "O painel não pôde ser importado, verifique os logs para mais detalhes" + "title": "", + "message": "" } }, "form": { "file": { - "label": "Selecionar arquivo JSON", - "invalidError": "Arquivo de configuração inválido" + "label": "", + "invalidError": "" }, "apps": { - "label": "Aplicativos", + "label": "", "avoidDuplicates": { - "label": "Evitar duplicatas", - "description": "Ignora aplicativos onde já existe um aplicativo com o mesmo href" + "label": "", + "description": "" }, "onlyImportApps": { - "label": "Importar apenas aplicativos", - "description": "Só adiciona os aplicativos, o painel precisa ser recriado manualmente" + "label": "", + "description": "" } }, "name": { - "label": "Nome do painel" + "label": "" }, "screenSize": { - "label": "Tamanho da tela", - "description": "Nas versões anteriores à 1.0 existiam três modos diferentes, então você podia escolher a quantidade de colunas para cada tamanho de tela.", + "label": "", + "description": "", "option": { - "sm": "Pequeno", - "md": "Médio", - "lg": "Grande" + "sm": "", + "md": "", + "lg": "" } }, "sidebarBehavior": { - "label": "Comportamento da barra lateral", - "description": "As barras laterais foram removidas na versão 1.0. Você pode selecionar o que deve acontecer com os itens dentro delas.", + "label": "", + "description": "", "option": { "lastSection": { - "label": "Última seção", - "description": "A barra lateral será exibida abaixo da última seção" + "label": "", + "description": "" }, "removeItems": { - "label": "Remover itens", - "description": "Os itens presentes na barra lateral serão removidos" + "label": "", + "description": "" } } } @@ -2964,214 +2964,214 @@ }, "quickCreateApp": { "modal": { - "title": "Criar aplicativo em tempo real", - "createAndUse": "Criar e utilizar" + "title": "", + "createAndUse": "" } } }, "field": { "pageTitle": { - "label": "Título da página" + "label": "" }, "metaTitle": { - "label": "Meta-título" + "label": "" }, "logoImageUrl": { - "label": "URL da imagem de logo" + "label": "" }, "faviconImageUrl": { - "label": "URL da imagem do favicon" + "label": "" }, "backgroundImageUrl": { - "label": "URL da imagem do plano de fundo", - "placeholder": "Comece a digitar para pesquisar imagens locais", + "label": "", + "placeholder": "", "group": { - "your": "Suas imagens", - "other": "Outras imagens" + "your": "", + "other": "" } }, "backgroundImageAttachment": { - "label": "Anexo de imagem de fundo", + "label": "", "option": { "fixed": { - "label": "Fixo", - "description": "O plano de fundo permanece na mesma posição." + "label": "", + "description": "" }, "scroll": { - "label": "Rolar", - "description": "O plano de fundo rola com o mouse." + "label": "", + "description": "" } } }, "backgroundImageRepeat": { - "label": "Repetição da imagem de fundo", + "label": "", "option": { "repeat": { - "label": "Repetir", - "description": "A imagem é repetida o quanto for necessário para cobrir toda a área de pintura da imagem de fundo." + "label": "", + "description": "" }, "no-repeat": { - "label": "Não repetir", - "description": "A imagem não é repetida e pode não preencher todo o espaço." + "label": "", + "description": "" }, "repeat-x": { - "label": "Repetir X", - "description": "Igual a 'Repetir' mas apenas no eixo horizontal." + "label": "", + "description": "" }, "repeat-y": { - "label": "Repetir Y", - "description": "Igual a 'Repetir' mas apenas no eixo vertical." + "label": "", + "description": "" } } }, "backgroundImageSize": { - "label": "Tamanho da imagem de fundo", + "label": "", "option": { "cover": { - "label": "Cobrir", - "description": "Dimensiona a imagem o menor possível para cobrir toda a janela cortando o espaço excessivo." + "label": "", + "description": "" }, "contain": { - "label": "Incluir", - "description": "Dimensione a imagem o máximo possível dentro do seu contêiner, sem recortá-la ou distorcê-la." + "label": "", + "description": "" } } }, "primaryColor": { - "label": "Cor primária" + "label": "" }, "secondaryColor": { - "label": "Cor secundária" + "label": "" }, "opacity": { - "label": "Opacidade" + "label": "" }, "iconColor": { - "label": "Cor do ícone" + "label": "" }, "clearColor": { - "label": "Limpar cor" + "label": "" }, "customCss": { - "label": "CSS personalizado para este painel", - "description": "Além disso, personalize seu painel usando CSS, recomendado apenas para usuários experientes", + "label": "", + "description": "", "customClassesAlert": { - "title": "Classes personalizadas", - "description": "Você pode adicionar classes personalizadas aos itens do seu painel nas opções avançadas de cada item e usá-las no CSS personalizado acima." + "title": "", + "description": "" } }, "disableStatus": { - "label": "Desabilitar status do aplicativo", - "description": "Desabilita a verificação de status para todos os aplicativos neste painel" + "label": "", + "description": "" }, "columnCount": { - "label": "Contagem de coluna" + "label": "" }, "itemRadius": { - "label": "Raio do item", - "description": "Altera o arredondamento dos blocos no seu painel", + "label": "", + "description": "", "option": { - "xs": "Muito pequeno", - "sm": "Pequeno", - "md": "Médio", - "lg": "Grande", - "xl": "Muito grande" + "xs": "", + "sm": "", + "md": "", + "lg": "", + "xl": "" } }, "name": { - "label": "Nome" + "label": "" }, "isPublic": { - "label": "Público", - "description": "Painéis públicos são acessíveis a todos, mesmo sem uma conta." + "label": "", + "description": "" } }, "content": { - "metaTitle": "Quadro {boardName}" + "metaTitle": "" }, "setting": { - "title": "Configurações para o painel {boardName}", + "title": "", "section": { "general": { - "title": "Geral", - "unrecognizedLink": "O link fornecido não é reconhecido e não será exibido, mas ainda pode funcionar." + "title": "", + "unrecognizedLink": "" }, "layout": { - "title": "Layout", + "title": "", "responsive": { - "title": "Layouts responsivos", + "title": "", "action": { - "add": "Adicionar layout" + "add": "" } } }, "background": { - "title": "Imagem de fundo" + "title": "" }, "appearance": { - "title": "Aparência" + "title": "" }, "customCss": { - "title": "CSS personalizado" + "title": "" }, "behavior": { - "title": "Comportamento" + "title": "" }, "access": { - "title": "Controle de acesso", + "title": "", "permission": { "item": { "view": { - "label": "Exibir painel" + "label": "" }, "modify": { - "label": "Editar painel" + "label": "" }, "full": { - "label": "Acesso completo" + "label": "" } } } }, "dangerZone": { - "title": "Zona de risco", + "title": "", "action": { "rename": { - "label": "Renomear painel", - "description": "Alterar o nome quebrará quaisquer links para este painel.", - "button": "Alterar nome", + "label": "", + "description": "", + "button": "", "modal": { - "title": "Renomear painel" + "title": "" } }, "visibility": { - "label": "Editar visibilidade do painel", + "label": "", "description": { - "public": "Este painel está público atualmente.", - "private": "Este painel está privado atualmente." + "public": "", + "private": "" }, "button": { - "public": "Tornar privado", - "private": "Tornar público" + "public": "", + "private": "" }, "confirm": { "public": { - "title": "Tornar painel privado", - "description": "Tem certeza que deseja tornar esse painel privado? Isso ocultará o painel do público. Os links para convidados serão desativados." + "title": "", + "description": "" }, "private": { - "title": "Tornar painel público", - "description": "Tem certeza que deseja tornar esse painel público? Isso tornará o painel acessível a todos." + "title": "", + "description": "" } } }, "delete": { - "label": "Excluir este painel", - "description": "Uma vez que você exclui um painel, não há como voltar atrás. Por favor, tenha certeza.", - "button": "Excluir este painel", + "label": "", + "description": "", + "button": "", "confirm": { - "title": "Excluir painel", - "description": "Tem certeza de que deseja excluir este painel? Isso excluirá permanentemente o painel e todo o seu conteúdo." + "title": "", + "description": "" } } } @@ -3180,33 +3180,33 @@ }, "error": { "noBoard": { - "title": "Bem-vindo ao Homarr", - "description": "Um painel elegante e moderno que coloca todos os seus aplicativos e serviços ao seu alcance.", - "link": "Crie seu primeiro painel", - "notice": "Para fazer esta página desaparecer, crie um painel e defina-o como painel inicial" + "title": "", + "description": "", + "link": "", + "notice": "" }, "notFound": { - "title": "Quadro não encontrado", - "description": "O painel especificado não foi encontrado ou você não tem acesso a ele.", - "link": "Visualizar todos os painéis", - "notice": "Verifique o link ou entre em contato com um administrador se você acha que deveria estar acessível" + "title": "", + "description": "", + "link": "", + "notice": "" }, "homeBoard": { - "title": "Nenhum painel inicial estabelecido", + "title": "", "admin": { - "description": "Você ainda não definiu um painel inicial para o servidor.", - "link": "Configurar painel inicial do servidor", - "notice": "Para fazer essa página desaparecer para todos os usuários, defina um painel inicial para o servidor" + "description": "", + "link": "", + "notice": "" }, "user": { - "description": "Você ainda não definiu um painel inicial.", - "link": "Configure seu quadro inicial", - "notice": "Para fazer essa página desaparecer, especifique o quadro inicial em suas preferências" + "description": "", + "link": "", + "notice": "" }, "anonymous": { - "description": "O administrador do servidor ainda não definiu um quadro inicial.", - "link": "Visualizar painéis públicos", - "notice": "Para fazer essa página desaparecer, peça ao administrador do servidor para definir um quadro inicial para o servidor" + "description": "", + "link": "", + "notice": "" } } } @@ -3214,564 +3214,564 @@ "layout": { "field": { "name": { - "label": "Nome" + "label": "" }, "columnCount": { - "label": "Contagem de colunas" + "label": "" }, "breakpoint": { - "label": "Breakpoint", - "description": "O layout será usado em todas as telas maiores que este breakpoint até o próximo breakpoint maior." + "label": "", + "description": "" } } }, "management": { - "metaTitle": "Gerenciamento", + "metaTitle": "", "title": { - "morning": "Bom dia, {username}", - "afternoon": "Boa tarde, {username}", - "evening": "Boa noite, {username}" + "morning": "", + "afternoon": "", + "evening": "" }, "notFound": { - "title": "Não encontrado", - "text": "Não foi possível encontrar o recurso solicitado" + "title": "", + "text": "" }, "navbar": { "items": { - "home": "Início", - "boards": "Placas", - "apps": "Aplicativos", - "integrations": "Integrações", - "searchEngies": "Mecanismos de busca", - "medias": "Mídias", + "home": "", + "boards": "", + "apps": "", + "integrations": "", + "searchEngies": "", + "medias": "", "users": { - "label": "Usuários", + "label": "", "items": { - "manage": "Gerenciar", - "invites": "Convites", - "groups": "Grupos" + "manage": "", + "invites": "", + "groups": "" } }, "tools": { - "label": "Ferramentas", + "label": "", "items": { - "docker": "Docker", - "kubernetes": "Kubernetes", - "logs": "Logs", - "api": "API", - "certificates": "Certificados", - "tasks": "Tarefas" + "docker": "", + "kubernetes": "", + "logs": "", + "api": "", + "certificates": "", + "tasks": "" } }, - "settings": "Configurações", + "settings": "", "help": { - "label": "Ajuda", + "label": "", "items": { - "documentation": "Documentação", - "submitIssue": "Enviar um problema", - "discord": "Discórdia da comunidade", - "sourceCode": "Código-fonte" + "documentation": "", + "submitIssue": "", + "discord": "", + "sourceCode": "" } }, - "about": "Sobre" + "about": "" } }, "page": { "home": { "statistic": { - "board": "Placas", - "user": "Usuários", - "invite": "Convites", - "integration": "Integrações", - "app": "Aplicativos", - "group": "Grupos", - "searchEngine": "Mecanismos de busca", - "media": "Mídias" + "board": "", + "user": "", + "invite": "", + "integration": "", + "app": "", + "group": "", + "searchEngine": "", + "media": "" }, "statisticLabel": { - "boards": "Placas", - "resources": "Recursos", - "authentication": "Autenticação", - "authorization": "Autorização" + "boards": "", + "resources": "", + "authentication": "", + "authorization": "" }, "heroBanner": { - "title": "Bem-vindo de volta ao seu", - "subtitle": "Quadro {app}" + "title": "", + "subtitle": "" } }, "board": { - "title": "Suas placas", + "title": "", "action": { "new": { - "label": "Novo quadro" + "label": "" }, "open": { - "label": "Abrir quadro" + "label": "" }, "settings": { - "label": "Configurações" + "label": "" }, "setHomeBoard": { - "label": "Definir como quadro inicial", + "label": "", "badge": { - "label": "Início", - "tooltip": "Este quadro será exibido como seu quadro inicial" + "label": "", + "tooltip": "" } }, "setMobileHomeBoard": { - "label": "Definir como painel para dispositivos móveis", + "label": "", "badge": { - "label": "Dispositivos móveis", - "tooltip": "Esse painel será exibido como padrão para dispositivos móveis" + "label": "", + "tooltip": "" } }, "duplicate": { - "label": "Quadro duplicado" + "label": "" }, "delete": { - "label": "Excluir permanentemente", + "label": "", "confirm": { - "title": "Excluir quadro", - "description": "Tem certeza que deseja deletar o quadro {name}?" + "title": "", + "description": "" } } }, "visibility": { - "public": "Este quadro é publico", - "private": "Este quadro é privado" + "public": "", + "private": "" }, "modal": { "createBoard": { "field": { "name": { - "label": "Nome" + "label": "" } } } } }, "media": { - "includeFromAllUsers": "Incluir mídia para todos os usuários" + "includeFromAllUsers": "" }, "user": { - "back": "Voltar aos usuários", - "fieldsDisabledExternalProvider": "Alguns campos estão desabilitados porque são gerenciados por um provedor de autenticação externo.", + "back": "", + "fieldsDisabledExternalProvider": "", "setting": { "general": { - "title": "Geral", + "title": "", "item": { - "language": "Idioma & Região", + "language": "", "board": { - "title": "Quadro inicial", + "title": "", "type": { - "general": "Geral", - "mobile": "Dispositivos móveis" + "general": "", + "mobile": "" } }, - "search": "Buscar", - "firstDayOfWeek": "Primeiro dia da semana", - "accessibility": "Acessibilidade" + "search": "", + "firstDayOfWeek": "", + "accessibility": "" } }, "security": { - "title": "Segurança" + "title": "" }, "board": { - "title": "Placas" + "title": "" } }, "list": { - "metaTitle": "Gerenciar usuários", - "title": "Usuários" + "metaTitle": "", + "title": "" }, "edit": { - "metaTitle": "Editar usuário {username}" + "metaTitle": "" }, "create": { - "metaTitle": "Criar usuário", - "title": "Criar novo usuário", + "metaTitle": "", + "title": "", "step": { "personalInformation": { - "label": "Informações pessoais" + "label": "" }, "security": { - "label": "Segurança" + "label": "" }, "groups": { - "label": "Grupos", - "title": "Selecione todos os grupos dos quais o usuário deve ser membro", - "description": "O grupo {everyoneGroup} é atribuído a todos os usuários e não pode ser removido." + "label": "", + "title": "", + "description": "" }, "review": { - "label": "Revisão" + "label": "" }, "completed": { - "title": "Usuário criado" + "title": "" }, "error": { - "title": "Falha ao criar usuário" + "title": "" } }, "action": { - "createAnother": "Criar outro usuário", - "back": "Retornar à lista de usuários" + "createAnother": "", + "back": "" } }, "invite": { - "title": "Gerenciar convites de usuários", + "title": "", "action": { "new": { - "title": "Novo convite", - "description": "Após a expiração, um convite não será mais válido e o destinatário do convite não poderá criar uma conta." + "title": "", + "description": "" }, "copy": { - "title": "Copiar convite", - "description": "Seu convite foi gerado. Após o fechamento deste modal, você não poderá mais copiar este link. Caso não deseje mais convidar essa pessoa, você pode excluir este convite a qualquer momento.", - "link": "Link do convite", - "button": "Copiar e fechar" + "title": "", + "description": "", + "link": "", + "button": "" }, "delete": { - "title": "Excluir convite", - "description": "Tem certeza de que deseja excluir este convite? Os usuários com esse link não poderão mais criar uma conta usando esse link." + "title": "", + "description": "" } }, "field": { "id": { - "label": "ID" + "label": "" }, "creator": { - "label": "Criador" + "label": "" }, "expirationDate": { - "label": "Data de expiração" + "label": "" }, "token": { - "label": "Token" + "label": "" } } } }, "group": { - "back": "Voltar aos grupos", + "back": "", "setting": { "general": { - "title": "Geral", - "owner": "Dono", - "ownerOfGroup": "Proprietário deste grupo", - "ownerOfGroupDeleted": "O proprietário deste grupo foi excluído. Atualmente não possui proprietário." + "title": "", + "owner": "", + "ownerOfGroup": "", + "ownerOfGroupDeleted": "" }, "setting": { - "title": "Configurações", - "alert": "As configurações do grupo são priorizadas pela ordem dos grupos na lista. As configurações superiores substituem as configurações inferiores.", + "title": "", + "alert": "", "board": { - "title": "Painéis" + "title": "" } }, "members": { - "title": "Membros", - "search": "Encontrar um membro", - "notFound": "Nenhum membro encontrado" + "title": "", + "search": "", + "notFound": "" }, "permissions": { - "title": "Permissões", + "title": "", "form": { - "unsavedChanges": "Você tem alterações não salvas!" + "unsavedChanges": "" } } } }, "settings": { - "title": "Configurações", + "title": "", "notification": { "success": { - "message": "Configurações salvas com sucesso" + "message": "" }, "error": { - "message": "Erro ao salvar permissões" + "message": "" } }, "section": { "analytics": { - "title": "Análises", + "title": "", "general": { - "title": "Enviar análises anônimas", - "text": "O Homarr enviará análises anonimizadas usando o software de código aberto Umami. Quando habilitado, coletamos: versão do Homarr, tipo de banco de dados (MySQL/PostgreSQL/SQLite), status Docker/Kubernetes, métodos de autenticação habilitados e a quantidade de cada recurso. Todos os dados são anônimos e agregados - nenhuma informação pessoal, URLs, nomes ou dados identificáveis são coletados. Isso ajuda nossa equipe de código aberto a entender padrões de uso e priorizar o desenvolvimento." + "title": "", + "text": "" }, "widgetData": { - "title": "Dados de widgets", - "text": "Envia quais widgets (e suas quantidades) você configurou. Não inclui URLs, nomes ou quaisquer outros dados." + "title": "", + "text": "" }, "integrationData": { - "title": "Dados de integrações", - "text": "Envia quais integrações (e suas quantidades) você configurou. Não inclui URLs, nomes ou quaisquer outros dados." + "title": "", + "text": "" }, "usersData": { - "title": "Dados dos usuários", - "text": "Envia a quantidade de usuários e se você ativou SSO" + "title": "", + "text": "" } }, "crawlingAndIndexing": { - "title": "Rastreamento e Indexação", - "warning": "Ativar ou desativar qualquer configuração aqui afetará significativamente a forma como os mecanismos de pesquisa indexam e rastreiam sua página. Qualquer configuração é uma solicitação e cabe ao rastreador aplicar essas configurações. Qualquer modificação pode levar vários dias ou semanas para serem aplicadas. Algumas configurações podem ser específicas do mecanismo de busca.", + "title": "", + "warning": "", "noIndex": { - "title": "Não indexar", - "text": "Não indexe o site nos mecanismos de busca e não o exiba em nenhum resultado de pesquisa" + "title": "", + "text": "" }, "noFollow": { - "title": "Não seguir", - "text": "Não siga nenhum link durante a indexação. Desabilitar isso fará com que os rastreadores tentem seguir todos os links no Homarr." + "title": "", + "text": "" }, "noTranslate": { - "title": "Não traduzir", - "text": "Quando o idioma do site provavelmente não é aquele que o usuário provavelmente deseja ler, o Google mostrará um link de tradução nos resultados da pesquisa" + "title": "", + "text": "" }, "noSiteLinksSearchBox": { - "title": "Sem caixa de pesquisa de links do site", - "text": "O Google criará uma caixa de pesquisa com os links rastreados, juntamente com outros links diretos. Habilitar isso pedirá ao Google para desabilitar essa caixa." + "title": "", + "text": "" } }, "board": { - "title": "Placas", + "title": "", "homeBoard": { - "label": "Painel inicial global", - "mobileLabel": "Painel para dispositivos móveis (global)", - "description": "Apenas painéis públicos estão disponíveis para seleção" + "label": "", + "mobileLabel": "", + "description": "" }, "status": { - "title": "Status de aplicativo", + "title": "", "enableStatusByDefault": { - "label": "Ativar status por padrão", - "description": "Ao adicionar um item de aplicativo, o status será ativado por padrão" + "label": "", + "description": "" }, "forceDisableStatus": { - "label": "Forçar status de desativação", - "description": "O status dos aplicativos será desativado para todos os usuários e não poderá ser ativado" + "label": "", + "description": "" } } }, "user": { - "title": "Usuários", + "title": "", "enableGravatar": { - "label": "Ativar Gravatar", - "description": "Usa avatares de usuário do Libravatar/Gravatar quando nenhum avatar personalizado está definido e um e-mail está configurado" + "label": "", + "description": "" } }, "search": { - "title": "Buscar", + "title": "", "defaultSearchEngine": { - "label": "Mecanismo de busca padrão global", - "description": "Mecanismos de busca de integração não podem ser selecionados aqui" + "label": "", + "description": "" } }, "appearance": { - "title": "Aparência", + "title": "", "defaultColorScheme": { - "label": "Esquema de cores padrão", + "label": "", "options": { - "light": "Claro", - "dark": "Escuro" + "light": "", + "dark": "" } } }, "culture": { - "title": "Cultura", + "title": "", "defaultLocale": { - "label": "Idioma padrão" + "label": "" } } } }, "tool": { "tasks": { - "title": "Tarefas", + "title": "", "status": { - "idle": "Ocioso", - "running": "Em execução", - "error": "Erro", - "disabled": "Desabilitado" + "idle": "", + "running": "", + "error": "", + "disabled": "" }, "job": { "minecraftServerStatus": { - "label": "Status do servidor Minecraft" + "label": "" }, "timetable": { - "label": "Horários" + "label": "" }, "iconsUpdater": { - "label": "Atualizador de Ícones" + "label": "" }, "analytics": { - "label": "Análises" + "label": "" }, "smartHomeEntityState": { - "label": "Estado de Entidade do Smart Home" + "label": "" }, "ping": { - "label": "Pings" + "label": "" }, "mediaServer": { - "label": "Servidor de Mídia" + "label": "" }, "mediaOrganizer": { - "label": "Organizadores de Mídia" + "label": "" }, "downloads": { - "label": "Downloads" + "label": "" }, "mediaRequestStats": { - "label": "Estatísticas de solicitações de mídia" + "label": "" }, "mediaRequestList": { - "label": "Lista de solicitações de mídia" + "label": "" }, "rssFeeds": { - "label": "Feeds RSS" + "label": "" }, "indexerManager": { - "label": "Gerenciador de Indexadores" + "label": "" }, "healthMonitoring": { - "label": "Monitoramento de saúde" + "label": "" }, "dnsHole": { - "label": "Dados do DNS Hole" + "label": "" }, "updateChecker": { - "label": "Verificador de atualizações" + "label": "" }, "mediaTranscoding": { - "label": "Transcodificação de mídia" + "label": "" }, "networkController": { - "label": "Controlador de rede" + "label": "" }, "refreshNotifications": { - "label": "Atualizador de notificações" + "label": "" }, "dockerContainers": { - "label": "Contêineres do Docker" + "label": "" }, "firewallCpu": { - "label": "CPU do Firewall" + "label": "" }, "firewallMemory": { - "label": "Memória do Firewall" + "label": "" }, "firewallVersion": { - "label": "Versão do Firewall" + "label": "" }, "firewallInterfaces": { - "label": "Interfaces de firewall" + "label": "" }, "weather": { - "label": "Clima" + "label": "" }, "tracearr": { - "label": "Tracearr" + "label": "" } }, "interval": { - "seconds": "A cada {interval, plural, =1 {segundo} other {# segundos}}", - "minutes": "A cada {interval, plural, =1 {minuto} other {# minutos}}", - "hours": "A cada {interval, plural, =1 {hora} other {# horas}}", - "midnight": "Todo dia à meia-noite", - "weeklyMonday": "Toda semana na segunda-feira", + "seconds": "", + "minutes": "", + "hours": "", + "midnight": "", + "weeklyMonday": "", "update": { "success": { - "message": "Intervalo atualizado com sucesso" + "message": "" }, "error": { - "message": "Erro ao atualizar intervalo" + "message": "" } } }, "settings": { - "title": "Configurações da tarefa para {jobName}" + "title": "" }, "field": { "name": { - "label": "Nome" + "label": "" }, "interval": { - "label": "Intervalo de agendamento" + "label": "" }, "lastExecution": { - "label": "Última Execução" + "label": "" }, "actions": { - "label": "Ações" + "label": "" } }, "table": { - "search": "Buscar {count} tarefas..." + "search": "" }, "action": { "refresh": { - "label": "Atualizar" + "label": "" } }, "refresh": { "success": { - "message": "Tarefas atualizadas com sucesso" + "message": "" }, "error": { - "message": "Erro ao atualizar tarefas" + "message": "" } }, "trigger": { "success": { - "message": "Tarefa acionada com sucesso" + "message": "" }, "error": { - "message": "Falha ao acionar tarefa" + "message": "" } }, "enable": { "success": { - "message": "Tarefa habilitada com sucesso" + "message": "" } }, "disable": { "success": { - "message": "Tarefa desabilitada com sucesso" + "message": "" } }, "toggle": { "error": { - "message": "Falha ao alternar status da tarefa" + "message": "" } } }, "api": { - "title": "API", + "title": "", "modal": { "createApiToken": { - "title": "Token de API criado", - "description": "O token de API foi criado. Atenção, esse token é encriptado no banco de dados e jamais poderá ser transferido novamente a você. Se você perder este token, você não será mais capaz de recuperar este token específico.", - "button": "Copiar e fechar" + "title": "", + "description": "", + "button": "" } }, "tab": { "documentation": { - "label": "Documentação" + "label": "" }, "apiKey": { - "label": "Autenticação", - "title": "Chaves de API", + "label": "", + "title": "", "button": { - "createApiToken": "Criar token de API" + "createApiToken": "" }, "modal": { "delete": { - "title": "Remover token de API", - "text": "Isso excluirá permanentemente o token de API. Clientes de API que usam este token não poderão mais autenticar e executar solicitações de API. Esta ação não pode ser desfeita." + "title": "", + "text": "" } }, "table": { "header": { - "id": "ID", - "createdBy": "Criado por", - "actions": "Ações" + "id": "", + "createdBy": "", + "actions": "" } } } @@ -3779,691 +3779,691 @@ } }, "about": { - "version": "Versão {version}", - "text": "O Homarr é um projeto de código aberto impulsionado pela comunidade e mantido por voluntários. Graças a essas pessoas, o Homarr tem sido um projeto em crescimento desde 2021. Nossa equipe trabalha remotamente em vários países diferentes no Homarr, em seu tempo livre e sem remuneração.", + "version": "", + "text": "", "accordion": { "contributors": { - "title": "Contribuidores", - "subtitle": "{count} mantendo código e Homarr" + "title": "", + "subtitle": "" }, "translators": { - "title": "Tradutores", - "subtitle": "{count} traduções contribuídas em vários idiomas" + "title": "", + "subtitle": "" }, "sponsors": { - "title": "Apoiadores", - "subtitle": "{count} apoiando o projeto financeiramente" + "title": "", + "subtitle": "" }, "libraries": { - "title": "Bibliotecas", - "subtitle": "{count} usadas no código do Homarr" + "title": "", + "subtitle": "" }, "hotkeys": { - "title": "Teclas de atalho", - "subtitle": "Atalhos de teclado para melhorar seu fluxo de trabalho", + "title": "", + "subtitle": "", "field": { - "shortcut": "Atalhos", - "action": "Ação" + "shortcut": "", + "action": "" }, "action": { - "toggleBoardEdit": "Alternar para o modo de edição do quadro", - "toggleColorScheme": "Alternar entre modo claro/escuro", - "saveNotebook": "Salvar bloco de notas (apenas dentro do widget de bloco de notas)", - "openSpotlight": "Abrir busca" + "toggleBoardEdit": "", + "toggleColorScheme": "", + "saveNotebook": "", + "openSpotlight": "" }, - "note": "Dica: Mod refere-se tanto à tecla Ctrl quanto à tecla ⌘ no macOS" + "note": "" } } } } }, "docker": { - "title": "Contêineres", + "title": "", "table": { - "updated": "Atualizado em {when}", - "search": "Buscar {count} contêineres", - "selected": "{selectCount} de {totalCount} contêineres selecionados", - "footer": "Total de contêineres: {count}" + "updated": "", + "search": "", + "selected": "", + "footer": "" }, "field": { "name": { - "label": "Nome" + "label": "" }, "state": { - "label": "Estado", + "label": "", "option": { - "created": "Criado", - "running": "Em execução", - "paused": "Pausado", - "restarting": "Recomeço", - "exited": "Finalizado", - "removing": "Remoção", - "dead": "Morto" + "created": "", + "running": "", + "paused": "", + "restarting": "", + "exited": "", + "removing": "", + "dead": "" } }, "stats": { "cpu": { - "label": "CPU" + "label": "" }, "memory": { - "label": "Memória" + "label": "" } }, "containerImage": { - "label": "Imagem" + "label": "" }, "ports": { - "label": "Portas" + "label": "" } }, "action": { - "title": "Ações", + "title": "", "start": { - "label": "Iniciar", + "label": "", "notification": { "success": { - "title": "Contêineres iniciados", - "message": "Os contêineres foram iniciados com sucesso" + "title": "", + "message": "" }, "error": { - "title": "Os contêineres não foram iniciados", - "message": "Os contêineres não puderam ser iniciados" + "title": "", + "message": "" } } }, "stop": { - "label": "Parar", + "label": "", "notification": { "success": { - "title": "Os contêineres foram parados", - "message": "Os contêineres foram parados com sucesso" + "title": "", + "message": "" }, "error": { - "title": "Os contêineres não foram parados", - "message": "Os contêineres não puderam ser parados" + "title": "", + "message": "" } } }, "restart": { - "label": "Reiniciar", + "label": "", "notification": { "success": { - "title": "Contêineres reiniciados", - "message": "Os contêineres foram reiniciados com sucesso" + "title": "", + "message": "" }, "error": { - "title": "Contêineres não reiniciados", - "message": "Os contêineres não puderam ser reiniciados" + "title": "", + "message": "" } } }, "remove": { - "label": "Excluir", + "label": "", "notification": { "success": { - "title": "Contêineres removidos", - "message": "Os contêineres foram removidos com sucesso" + "title": "", + "message": "" }, "error": { - "title": "Contêineres não removidos", - "message": "Os contêineres não puderam ser removidos" + "title": "", + "message": "" } } }, "refresh": { - "label": "Atualizar", + "label": "", "notification": { "success": { - "title": "Os contêineres foram atualizados", - "message": "Você está agora visualizando os dados mais recentes" + "title": "", + "message": "" }, "error": { - "title": "Os contêineres não foram atualizados", - "message": "Algo deu errado enquanto atualizava os contêineres" + "title": "", + "message": "" } } }, "addToHomarr": { - "label": "Adicionar ao Homarr", + "label": "", "notification": { "success": { - "title": "Adicionado ao Homarr", - "message": "Os aplicativos selecionados foram adicionados ao Homarr" + "title": "", + "message": "" }, "error": { - "title": "Não foi possivel adicionar ao Homarr", - "message": "Os aplicativos selecionados não puderam ser adicionados ao Homarr" + "title": "", + "message": "" } }, "modal": { - "title": "Adicionar contêiner(s) docker ao Homarr" + "title": "" } } }, "error": { - "internalServerError": "Falha ao buscar contêineres Docker" + "internalServerError": "" } }, "kubernetes": { "cluster": { - "title": "Painel do Cluster", - "label": "Cluster", - "providers": "Provedores", - "version": "Versão", - "architecture": "Arquitetura", + "title": "", + "label": "", + "providers": "", + "version": "", + "architecture": "", "capacity": { - "title": "Capacidade", + "title": "", "resource": { - "reserved": "Reservado", - "used": "Usado" + "reserved": "", + "used": "" } }, "resources": { - "title": "Recursos", - "nodes": "Nós", - "namespaces": "Namespaces", - "ingresses": "Ingresses", - "services": "Serviços", - "pods": "Pods", - "configmaps": "ConfigMaps", - "secrets": "Secrets", - "volumes": "Volumes" + "title": "", + "nodes": "", + "namespaces": "", + "ingresses": "", + "services": "", + "pods": "", + "configmaps": "", + "secrets": "", + "volumes": "" } }, "nodes": { - "label": "Nós", + "label": "", "field": { "name": { - "label": "Nome" + "label": "" }, "state": { - "label": "Estado", + "label": "", "option": { - "ready": "Pronto", - "NotReady": "Não está pronto" + "ready": "", + "NotReady": "" } }, "cpu": { - "label": "CPU" + "label": "" }, "memory": { - "label": "RAM" + "label": "" }, "pods": { - "label": "Pods" + "label": "" }, "operatingSystem": { - "label": "SO" + "label": "" }, "architecture": { - "label": "Arquitetura" + "label": "" }, "kubernetesVersion": { - "label": "Versão do Kubernetes" + "label": "" }, "creationTimestamp": { - "label": "Criado" + "label": "" } }, "table": { - "search": "Buscar {count} nós" + "search": "" } }, "namespaces": { - "label": "Namespaces", + "label": "", "field": { "name": { - "label": "Nome" + "label": "" }, "state": { - "label": "Estado", + "label": "", "option": { - "active": "Ativo", - "terminating": "Terminando" + "active": "", + "terminating": "" } }, "creationTimestamp": { - "label": "Criado" + "label": "" } }, "table": { - "search": "Buscar {count} namespaces" + "search": "" } }, "ingresses": { - "label": "Ingresses", + "label": "", "field": { "name": { - "label": "Nome" + "label": "" }, "namespace": { - "label": "Namespace" + "label": "" }, "className": { - "label": "Nome da classe" + "label": "" }, "rulesAndPaths": { - "label": "Regras & caminhos" + "label": "" }, "creationTimestamp": { - "label": "Criado" + "label": "" } }, "table": { - "search": "Buscar {count} ingresses" + "search": "" } }, "services": { - "label": "Serviços", + "label": "", "field": { "name": { - "label": "Nome" + "label": "" }, "namespace": { - "label": "Namespace" + "label": "" }, "type": { - "label": "Tipo" + "label": "" }, "ports": { - "label": "Portas" + "label": "" }, "targetPorts": { - "label": "Portas de destino" + "label": "" }, "clusterIP": { - "label": "IP do Cluster" + "label": "" }, "creationTimestamp": { - "label": "Criado" + "label": "" } }, "table": { - "search": "Buscar {count} serviços" + "search": "" } }, "pods": { - "label": "Pods", + "label": "", "field": { "name": { - "label": "Nome" + "label": "" }, "namespace": { - "label": "Namespace" + "label": "" }, "image": { - "label": "Imagem" + "label": "" }, "applicationType": { - "label": "Tipos de aplicações" + "label": "" }, "status": { - "label": "Status" + "label": "" }, "creationTimestamp": { - "label": "Criado" + "label": "" } }, "table": { - "search": "Buscar {count} pods" + "search": "" } }, "secrets": { - "label": "Secrets", + "label": "", "field": { "name": { - "label": "Nome" + "label": "" }, "namespace": { - "label": "namespace" + "label": "" }, "type": { - "label": "tipo" + "label": "" }, "creationTimestamp": { - "label": "Criado" + "label": "" } }, "table": { - "search": "Buscar {count} secrets" + "search": "" } }, "configmaps": { - "label": "ConfigMaps", + "label": "", "field": { "name": { - "label": "Nome" + "label": "" }, "namespace": { - "label": "namespace" + "label": "" }, "creationTimestamp": { - "label": "Criado" + "label": "" } }, "table": { - "search": "Buscar {count} configMaps" + "search": "" } }, "volumes": { - "label": "Volumes", + "label": "", "field": { "name": { - "label": "Nome" + "label": "" }, "namespace": { - "label": "Namespace" + "label": "" }, "accessModes": { - "label": "Modos de acesso" + "label": "" }, "storage": { - "label": "Armazenamento" + "label": "" }, "storageClassName": { - "label": "Nome da classe de armazenamento" + "label": "" }, "volumeMode": { - "label": "Modo do volume" + "label": "" }, "volumeName": { - "label": "Nome do volume" + "label": "" }, "status": { - "label": "Status" + "label": "" }, "creationTimestamp": { - "label": "Criado" + "label": "" } }, "table": { - "search": "Buscar {count} volumes" + "search": "" } }, "error": { - "internalServerError": "Falha ao buscar dados do Kubernetes" + "internalServerError": "" } }, "permission": { - "title": "Permissões", + "title": "", "userSelect": { - "title": "Adicionar permissão de usuário" + "title": "" }, "groupSelect": { - "title": "Adicionar permissão de grupo" + "title": "" }, "tab": { - "user": "Usuários", - "group": "Grupos", - "inherited": "Grupos herdados" + "user": "", + "group": "", + "inherited": "" }, "field": { "user": { - "label": "Usuário" + "label": "" }, "group": { - "label": "Grupo" + "label": "" }, "permission": { - "label": "Permissão" + "label": "" } }, "action": { - "saveUser": "Salvar permissão de usuário", - "saveGroup": "Salvar permissão de grupo" + "saveUser": "", + "saveGroup": "" } }, "navigationStructure": { "manage": { - "label": "Gerenciar", + "label": "", "boards": { - "label": "Placas" + "label": "" }, "integrations": { - "label": "Integrações", + "label": "", "edit": { - "label": "Editar" + "label": "" }, "new": { - "label": "Novo" + "label": "" } }, "search-engines": { - "label": "Mecanismos de busca", + "label": "", "new": { - "label": "Novo" + "label": "" }, "edit": { - "label": "Editar" + "label": "" } }, "medias": { - "label": "Mídias" + "label": "" }, "apps": { - "label": "Aplicativos", + "label": "", "new": { - "label": "Novo" + "label": "" }, "edit": { - "label": "Editar" + "label": "" } }, "users": { - "label": "Usuários", + "label": "", "create": { - "label": "Criar" + "label": "" }, - "general": "Geral", - "security": "Segurança", - "board": "Placas", + "general": "", + "security": "", + "board": "", "groups": { - "label": "Grupos" + "label": "" }, "invites": { - "label": "Convites" + "label": "" } }, "tools": { - "label": "Ferramentas", + "label": "", "tasks": { - "label": "Tarefas" + "label": "" }, "docker": { - "label": "Docker" + "label": "" }, "kubernetes": { - "label": "Kubernetes", + "label": "", "nodes": { - "label": "Nós" + "label": "" }, "namespaces": { - "label": "Namespaces" + "label": "" }, "ingresses": { - "label": "Ingresses" + "label": "" }, "services": { - "label": "Serviços" + "label": "" }, "pods": { - "label": "pods" + "label": "" }, "configmaps": { - "label": "ConfigMaps" + "label": "" }, "secrets": { - "label": "Secrets" + "label": "" }, "volumes": { - "label": "Volumes" + "label": "" } }, "logs": { - "label": "Logs" + "label": "" }, "certificates": { - "label": "Certificados", + "label": "", "hostnames": { - "label": "Hostnames" + "label": "" } } }, "settings": { - "label": "Configurações" + "label": "" }, "about": { - "label": "Sobre" + "label": "" } } }, "search": { - "placeholder": "Buscar por qualquer coisa", - "nothingFound": "Nada encontrado", + "placeholder": "", + "nothingFound": "", "error": { - "fetch": "Ocorreu um erro ao buscar os dados" + "fetch": "" }, "mode": { "appIntegrationBoard": { - "help": "Buscar por aplicativos, integrações ou painéis", + "help": "", "group": { "app": { - "title": "Aplicativos", + "title": "", "children": { "action": { "open": { - "label": "Abrir URL do aplicativo" + "label": "" }, "edit": { - "label": "Editar aplicativo" + "label": "" } }, "detail": { - "title": "Selecione uma ação para o aplicativo" + "title": "" } } }, "board": { - "title": "Placas", + "title": "", "children": { "action": { "open": { - "label": "Abrir quadro" + "label": "" }, "homeBoard": { - "label": "Definir como quadro inicial" + "label": "" }, "mobileBoard": { - "label": "Definir como painel para dispositivos móveis" + "label": "" }, "settings": { - "label": "Abrir configurações" + "label": "" } }, "detail": { - "title": "Selecione uma ação para o quadro" + "title": "" } } }, "integration": { - "title": "Integrações" + "title": "" } } }, "command": { - "help": "Ativar modo de comando", + "help": "", "group": { "localCommand": { - "title": "Comandos locais" + "title": "" }, "globalCommand": { - "title": "Comandos globais", + "title": "", "option": { "colorScheme": { - "light": "Alternar para o modo claro", - "dark": "Alternar para o modo escuro" + "light": "", + "dark": "" }, "language": { - "label": "Alterar idioma", + "label": "", "children": { "detail": { - "title": "Selecione sua linguagem preferida" + "title": "" } } }, "newBoard": { - "label": "Criar um novo quadro" + "label": "" }, "importBoard": { - "label": "Importe um quadro" + "label": "" }, "newApp": { - "label": "Criar aplicativo" + "label": "" }, "newIntegration": { - "label": "Criar uma nova integração", + "label": "", "children": { "detail": { - "title": "Selecione o tipo de integração que deseja criar" + "title": "" } } }, "newUser": { - "label": "Criar um novo usuário" + "label": "" }, "newInvite": { - "label": "Criar um novo convite" + "label": "" }, "newGroup": { - "label": "Criar um novo grupo" + "label": "" } } } } }, "media": { - "requestMovie": "Solicitar filme", - "requestSeries": "Solicitar série", - "openIn": "Abrir em {kind}" + "requestMovie": "", + "requestSeries": "", + "openIn": "" }, "external": { - "help": "Usar um mecanismo de busca externo", + "help": "", "group": { "searchEngine": { - "title": "Mecanismos de busca", + "title": "", "children": { "action": { "search": { - "label": "Pesquisar com {name}" + "label": "" } }, "detail": { - "title": "Selecione uma ação para o mecanismo de busca" + "title": "" }, "searchResults": { - "title": "Selecione um resultado de pesquisa para ações" + "title": "" } }, "option": { "google": { - "name": "Google", - "description": "Pesquise na web com o Google" + "name": "", + "description": "" }, "bing": { - "name": "Bing", - "description": "Pesquise na web com o Bing" + "name": "", + "description": "" }, "duckduckgo": { - "name": "DuckDuckGo", - "description": "Pesquise na web com o DuckDuckGo" + "name": "", + "description": "" }, "torrent": { - "name": "Torrentes", - "description": "Pesquise torrents em torrentdownloads.pro" + "name": "", + "description": "" }, "youTube": { - "name": "YouTube", - "description": "Pesquise vídeos no YouTube" + "name": "", + "description": "" } } } @@ -4472,19 +4472,19 @@ "help": { "group": { "mode": { - "title": "Modos" + "title": "" }, "help": { - "title": "Ajuda", + "title": "", "option": { "documentation": { - "label": "Documentação" + "label": "" }, "submitIssue": { - "label": "Reportar um problema" + "label": "" }, "discord": { - "label": "Discórdia da comunidade" + "label": "" } } } @@ -4493,121 +4493,121 @@ "home": { "group": { "search": { - "title": "Buscar", + "title": "", "option": { "other": { - "label": "Pesquise com outro mecanismo de busca" + "label": "" }, "no-default": { - "label": "Nenhum mecanismo de busca predefinido", - "description": "Defina um mecanismo de busca padrão nas preferências" + "label": "", + "description": "" }, "search": { - "label": "Buscar por \"{query}\" com {name}" + "label": "" }, "from-integration": { - "description": "Comece a digitar para pesquisar" + "description": "" } } }, "local": { - "title": "Resultados locais" + "title": "" } } }, "page": { - "help": "Buscar páginas", + "help": "", "group": { "page": { - "title": "Páginas", + "title": "", "option": { "manageHome": { - "label": "Gerenciar página inicial" + "label": "" }, "manageBoard": { - "label": "Gerenciar painéis" + "label": "" }, "manageApp": { - "label": "Gerenciar aplicativos" + "label": "" }, "manageIntegration": { - "label": "Gerenciar integrações" + "label": "" }, "manageSearchEngine": { - "label": "Gerenciar mecanismos de busca" + "label": "" }, "manageMedia": { - "label": "Gerencias mídias" + "label": "" }, "manageUser": { - "label": "Gerenciar usuários" + "label": "" }, "manageInvite": { - "label": "Gerenciar convites" + "label": "" }, "manageGroup": { - "label": "Gerenciar grupos" + "label": "" }, "manageDocker": { - "label": "Gerenciar Docker" + "label": "" }, "manageApi": { - "label": "Swagger API" + "label": "" }, "manageLog": { - "label": "Exibir logs" + "label": "" }, "manageTask": { - "label": "Gerenciar tarefas" + "label": "" }, "manageSettings": { - "label": "Configurações globais" + "label": "" }, "about": { - "label": "Sobre" + "label": "" }, "homeBoard": { - "label": "Quadro inicial" + "label": "" }, "preferences": { - "label": "Suas preferências" + "label": "" } } } } }, "userGroup": { - "help": "Buscar por usuários ou grupos", + "help": "", "group": { "user": { - "title": "Usuários", + "title": "", "children": { "action": { "detail": { - "label": "Exibir detalhes do usuário" + "label": "" } }, "detail": { - "title": "Selecione uma ação para o usuário" + "title": "" } } }, "group": { - "title": "Grupos", + "title": "", "children": { "action": { "detail": { - "label": "Exibir detalhes do grupo" + "label": "" }, "manageMember": { - "label": "Gerenciar membros" + "label": "" }, "managePermission": { - "label": "Gerenciar permissões" + "label": "" } }, "detail": { - "title": "Selecione uma ação para o grupo" + "title": "" } } } @@ -4615,72 +4615,72 @@ } }, "engine": { - "search": "Encontrar um mecanismo de busca", + "search": "", "field": { "name": { - "label": "Nome" + "label": "" }, "short": { - "label": "Abreviação" + "label": "" }, "urlTemplate": { - "label": "Modelo de busca de URL" + "label": "" }, "description": { - "label": "Descrição" + "label": "" } }, "page": { "list": { - "title": "Mecanismos de busca", + "title": "", "noResults": { - "title": "Ainda não existem mecanismos de busca", - "action": "Crie seu primeiro mecanismo de busca" + "title": "", + "action": "" }, - "interactive": "Interativo, usa uma integração" + "interactive": "" }, "create": { - "title": "Novo mecanismo de busca", + "title": "", "notification": { "success": { - "title": "Mecanismo de busca criado", - "message": "O mecanismo de busca foi criado com sucesso" + "title": "", + "message": "" }, "error": { - "title": "O mecanismo de busca não foi criado", - "message": "O mecanismo de busca não pôde ser criado" + "title": "", + "message": "" } } }, "edit": { - "title": "Editar mecanismo de busca", + "title": "", "notification": { "success": { - "title": "Mudanças aplicadas com sucesso", - "message": "O mecanismo de busca foi salvo com sucesso" + "title": "", + "message": "" }, "error": { - "title": "Não foi possível aplicar as mudanças", - "message": "O mecanismo de busca não pôde ser salvo" + "title": "", + "message": "" } }, - "configControl": "Configuração", + "configControl": "", "searchEngineType": { - "generic": "Genérico", - "fromIntegration": "De integração" + "generic": "", + "fromIntegration": "" } }, "delete": { - "title": "Excluir mecanismo de busca", - "message": "Tem certeza que deseja excluir o mecanismo de busca {name}?", + "title": "", + "message": "", "notification": { "success": { - "title": "Mecanismo de busca excluído", - "message": "O mecanismo de busca foi excluído com sucesso" + "title": "", + "message": "" }, "error": { - "title": "Mecanismo de busca não deletado", - "message": "O mecanismo de busca não pôde ser deletado" + "title": "", + "message": "" } } } @@ -4688,15 +4688,15 @@ "media": { "request": { "modal": { - "title": "Solicitar \"{name}\"", + "title": "", "table": { "header": { - "season": "Temporada", - "episodes": "Episódios" + "season": "", + "episodes": "" } }, "button": { - "send": "Enviar solicitação" + "send": "" } } } @@ -4706,89 +4706,89 @@ "certificate": { "field": { "hostname": { - "label": "Hostname" + "label": "" }, "subject": { - "label": "Assunto" + "label": "" }, "issuer": { - "label": "Emissor" + "label": "" }, "validFrom": { - "label": "Válido desde" + "label": "" }, "validTo": { - "label": "Válido até" + "label": "" }, "serialNumber": { - "label": "Número de série" + "label": "" }, "fingerprint": { - "label": "Impressão digital" + "label": "" } }, "page": { "list": { - "title": "Certificados confiáveis", - "description": "Usado pelo Homarr para solicitar dados de integrações.", + "title": "", + "description": "", "noResults": { - "title": "Ainda não existem certificados" + "title": "" }, "invalid": { - "title": "Certificado inválido", - "description": "Falha ao analisar certificado" + "title": "", + "description": "" }, - "expires": "Expira em {when}", - "toHostnames": "Hostnames confiáveis" + "expires": "", + "toHostnames": "" }, "hostnames": { - "title": "Hostnames de certificados confiáveis", - "description": "Alguns certificados não permitem o domínio específico que o Homarr usa para solicitá-los, por isso todos os hostnames confiáveis com suas impressões digitais de certificado são usados para contornar essas restrições.", + "title": "", + "description": "", "noResults": { - "title": "Ainda não existem hostnames" + "title": "" }, - "toCertificates": "Certificados" + "toCertificates": "" } }, "action": { "create": { - "label": "Adicionar certificado", + "label": "", "notification": { "success": { - "title": "Certificado adicionado", - "message": "O certificado foi adicionado com sucesso" + "title": "", + "message": "" }, "error": { - "title": "Falha ao adicionar certificado", - "message": "O certificado não pôde ser adicionado" + "title": "", + "message": "" } } }, "remove": { - "label": "Remover certificado", - "confirm": "Tem certeza que deseja remover o certificado?", + "label": "", + "confirm": "", "notification": { "success": { - "title": "Certificado removido", - "message": "O certificado foi removido com sucesso" + "title": "", + "message": "" }, "error": { - "title": "Certificado não removido", - "message": "O certificado não pôde ser removido" + "title": "", + "message": "" } } }, "removeHostname": { - "label": "Remover hostname confiável", - "confirm": "Tem certeza que deseja remover este hostname confiável? Isso pode fazer com que algumas integrações parem de funcionar.", + "label": "", + "confirm": "", "notification": { "success": { - "title": "Hostname removido", - "message": "O hostname foi removido com sucesso" + "title": "", + "message": "" }, "error": { - "title": "Hostname não removido", - "message": "O hostname não pôde ser removido" + "title": "", + "message": "" } } } @@ -4797,10 +4797,10 @@ "log": { "level": { "option": { - "debug": "Debug", - "info": "Informação", - "warn": "Aviso", - "error": "Erro" + "debug": "", + "info": "", + "warn": "", + "error": "" } } } From 277a509f490d57bb6547c86c417c29c0e7af7e40 Mon Sep 17 00:00:00 2001 From: sharpsalat Date: Thu, 7 May 2026 21:53:17 +0200 Subject: [PATCH 14/63] feat: add pwa support (#5530) * feat: add pwa support * fix: deepsource warning * fix: format warning * fix: lint error --------- Co-authored-by: sharpsalat --- apps/nextjs/eslint.config.js | 17 +++++++++++++++++ apps/nextjs/next.config.ts | 9 +++++++++ apps/nextjs/public/sw.js | 7 +++++++ apps/nextjs/src/app/[locale]/layout.tsx | 2 ++ .../layout/service-worker-registration.tsx | 14 ++++++++++++++ 5 files changed, 49 insertions(+) create mode 100644 apps/nextjs/public/sw.js create mode 100644 apps/nextjs/src/components/layout/service-worker-registration.tsx diff --git a/apps/nextjs/eslint.config.js b/apps/nextjs/eslint.config.js index c131bab90..3d593e34e 100644 --- a/apps/nextjs/eslint.config.js +++ b/apps/nextjs/eslint.config.js @@ -10,4 +10,21 @@ export default [ ...baseConfig, ...reactConfig, ...nextjsConfig, + { + files: ["public/sw.js"], + languageOptions: { + globals: { + self: "readonly", + clients: "readonly", + skipWaiting: "readonly", + importScripts: "readonly", + caches: "readonly", + fetch: "readonly", + }, + }, + rules: { + "@typescript-eslint/no-unsafe-call": "off", + "@typescript-eslint/no-unsafe-member-access": "off", + }, + }, ]; diff --git a/apps/nextjs/next.config.ts b/apps/nextjs/next.config.ts index a3dabe151..4a0450165 100644 --- a/apps/nextjs/next.config.ts +++ b/apps/nextjs/next.config.ts @@ -42,9 +42,18 @@ const nextConfig: NextConfig = { }, ], }, + // skipcq: JS-0116 // eslint-disable-next-line @typescript-eslint/require-await,no-restricted-syntax async headers() { return [ + { + source: "/sw.js", + headers: [ + { key: "Content-Type", value: "application/javascript; charset=utf-8" }, + { key: "Cache-Control", value: "no-cache, no-store, must-revalidate" }, + { key: "Content-Security-Policy", value: "default-src 'self'; script-src 'self'" }, + ], + }, { source: "/(.*)", // Apply CSP to all routes headers: [ diff --git a/apps/nextjs/public/sw.js b/apps/nextjs/public/sw.js new file mode 100644 index 000000000..dbb12ebbb --- /dev/null +++ b/apps/nextjs/public/sw.js @@ -0,0 +1,7 @@ +self.addEventListener("install", () => { + self.skipWaiting(); +}); + +self.addEventListener("activate", (event) => { + event.waitUntil(self.clients.claim()); +}); diff --git a/apps/nextjs/src/app/[locale]/layout.tsx b/apps/nextjs/src/app/[locale]/layout.tsx index daab79726..5449e1252 100644 --- a/apps/nextjs/src/app/[locale]/layout.tsx +++ b/apps/nextjs/src/app/[locale]/layout.tsx @@ -26,6 +26,7 @@ import { isLocaleRTL, isLocaleSupported } from "@homarr/translation"; import { Analytics } from "~/components/layout/analytics"; import { CrowdinLiveTranslation } from "~/components/layout/crowdin-live-translation"; import { SearchEngineOptimization } from "~/components/layout/search-engine-optimization"; +import { ServiceWorkerRegistration } from "~/components/layout/service-worker-registration"; import { getCurrentColorSchemeAsync } from "~/theme/color-scheme"; import { DayJsLoader } from "./_client-providers/dayjs-loader"; import { JotaiProvider } from "./_client-providers/jotai"; @@ -142,6 +143,7 @@ export default async function Layout(props: { + {props.children} diff --git a/apps/nextjs/src/components/layout/service-worker-registration.tsx b/apps/nextjs/src/components/layout/service-worker-registration.tsx new file mode 100644 index 000000000..ef7fd1de1 --- /dev/null +++ b/apps/nextjs/src/components/layout/service-worker-registration.tsx @@ -0,0 +1,14 @@ +"use client"; + +import { useEffect } from "react"; + +export const ServiceWorkerRegistration = () => { + useEffect(() => { + if (!("serviceWorker" in navigator)) return; + navigator.serviceWorker.register("/sw.js", { scope: "/", updateViaCache: "none" }).catch((error) => { + console.error("Service worker registration failed", error); + }); + }, []); + + return null; +}; From 44bd16d6770d289054df6c7c93adff42d2243252 Mon Sep 17 00:00:00 2001 From: Matt Van Horn Date: Thu, 7 May 2026 13:02:21 -0700 Subject: [PATCH 15/63] fix(calendar): keep working integrations when one fails (#5629) Co-authored-by: Matt Van Horn <455140+mvanhorn@users.noreply.github.com> Co-authored-by: Meier Lukas --- packages/api/src/router/widgets/calendar.ts | 24 ++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/packages/api/src/router/widgets/calendar.ts b/packages/api/src/router/widgets/calendar.ts index 5c8322299..5119cfc36 100644 --- a/packages/api/src/router/widgets/calendar.ts +++ b/packages/api/src/router/widgets/calendar.ts @@ -2,6 +2,8 @@ import { observable } from "@trpc/server/observable"; import { z } from "zod/v4"; import type { Modify } from "@homarr/common/types"; +import { createLogger } from "@homarr/core/infrastructure/logs"; +import { ErrorWithMetadata } from "@homarr/core/infrastructure/logs/error"; import type { Integration } from "@homarr/db/schema"; import type { IntegrationKindByCategory } from "@homarr/definitions"; import { getIntegrationKindsByCategory } from "@homarr/definitions"; @@ -12,6 +14,8 @@ import { calendarMonthRequestHandler } from "@homarr/request-handler/calendar"; import { createManyIntegrationMiddleware } from "../../middlewares/integration"; import { createTRPCRouter, publicProcedure } from "../../trpc"; +const logger = createLogger({ module: "calendarRouter" }); + export const calendarRouter = createTRPCRouter({ findAllEvents: publicProcedure .input( @@ -24,7 +28,7 @@ export const calendarRouter = createTRPCRouter({ ) .concat(createManyIntegrationMiddleware("query", ...getIntegrationKindsByCategory("calendar"))) .query(async ({ ctx, input }) => { - return await Promise.all( + const settled = await Promise.allSettled( ctx.integrations.map(async (integration) => { const { integrationIds: _integrationIds, ...handlerInput } = input; const innerHandler = calendarMonthRequestHandler.handler(integration, handlerInput); @@ -40,6 +44,24 @@ export const calendarRouter = createTRPCRouter({ }; }), ); + + return settled.flatMap((result, index) => { + if (result.status === "fulfilled") { + return [result.value]; + } + const integration = ctx.integrations[index]; + logger.warn( + new ErrorWithMetadata( + "Calendar integration request failed; skipping events for this integration", + { + integrationId: integration?.id, + integrationKind: integration?.kind, + }, + { cause: result.reason }, + ), + ); + return []; + }); }), subscribeToEvents: publicProcedure .input( From df953771a70da8ef76feaf8794c41b0d70212860 Mon Sep 17 00:00:00 2001 From: "homarr-renovate[bot]" <158783068+homarr-renovate[bot]@users.noreply.github.com> Date: Thu, 7 May 2026 20:22:00 +0000 Subject: [PATCH 16/63] chore(deps): update dependency axios@>=1.0.0 <1.8.2 to >=1.16.0 (#5665) Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com> --- package.json | 2 +- pnpm-lock.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 67f4b654f..5cdd91982 100644 --- a/package.json +++ b/package.json @@ -79,7 +79,7 @@ "overrides": { "@babel/helpers@<7.26.10": ">=7.29.2", "@babel/runtime@<7.26.10": ">=7.29.2", - "axios@>=1.0.0 <1.8.2": ">=1.15.2", + "axios@>=1.0.0 <1.8.2": ">=1.16.0", "brace-expansion@>=2.0.0 <=2.0.1": ">=5.0.5", "brace-expansion@>=1.0.0 <=1.1.11": ">=5.0.5", "esbuild@<=0.24.2": ">=0.28.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e80d3410c..5afcab7af 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -565,7 +565,7 @@ catalogs: overrides: '@babel/helpers@<7.26.10': '>=7.29.2' '@babel/runtime@<7.26.10': '>=7.29.2' - axios@>=1.0.0 <1.8.2: '>=1.15.2' + axios@>=1.0.0 <1.8.2: '>=1.16.0' brace-expansion@>=2.0.0 <=2.0.1: '>=5.0.5' brace-expansion@>=1.0.0 <=1.1.11: '>=5.0.5' esbuild@<=0.24.2: '>=0.28.0' From b8e0123893e36042bff3510a85228b10bcf12523 Mon Sep 17 00:00:00 2001 From: "homarr-renovate[bot]" <158783068+homarr-renovate[bot]@users.noreply.github.com> Date: Thu, 7 May 2026 22:46:55 +0200 Subject: [PATCH 17/63] chore(deps): update pnpm to v11 (#5660) Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com> Co-authored-by: Meier Lukas --- .github/renovate.json5 | 4 +- .npmrc | 6 - deployments/prebuilt-debian/Dockerfile | 1 + deployments/prebuilt-debian/package.json | 9 +- .../prebuilt-debian/pnpm-workspace.yaml | 2 + package.json | 51 +----- pnpm-lock.yaml | 145 +++--------------- pnpm-workspace.yaml | 43 +++++- test/renovate.spec.ts | 13 +- 9 files changed, 80 insertions(+), 194 deletions(-) delete mode 100644 .npmrc create mode 100644 deployments/prebuilt-debian/pnpm-workspace.yaml diff --git a/.github/renovate.json5 b/.github/renovate.json5 index 269a4d2ff..ebfca8af4 100644 --- a/.github/renovate.json5 +++ b/.github/renovate.json5 @@ -22,7 +22,7 @@ automerge: true, }, { - // disallow automerge for onlyBuiltDependencies + // disallow automerge for dependencies requiring postinstall scripts matchPackageNames: [ "@tree-sitter-grammars/tree-sitter-yaml", "bcrypt", @@ -39,7 +39,7 @@ ], // Updates lockfile for prebuilt-debian after if package.json is updated, otherwise only root lockfile is updated postUpgradeTasks: { - commands: ["cd deployments/prebuilt-debian && pnpm install --ignore-workspace --lockfile-only"], + commands: ["cd deployments/prebuilt-debian && pnpm install --lockfile-only"], fileFilters: ["deployments/prebuilt-debian/pnpm-lock.yaml"], executionMode: "update", }, diff --git a/.npmrc b/.npmrc deleted file mode 100644 index 34451fb2f..000000000 --- a/.npmrc +++ /dev/null @@ -1,6 +0,0 @@ -# Expo doesn't play nice with pnpm by default. -# The symbolic links of pnpm break the rules of Expo monorepos. -# @link https://docs.expo.dev/guides/monorepos/#common-issues -node-linker=hoisted -strict-peer-dependencies=false -engine-strict=true \ No newline at end of file diff --git a/deployments/prebuilt-debian/Dockerfile b/deployments/prebuilt-debian/Dockerfile index 8ac61693e..7ca2aafb1 100644 --- a/deployments/prebuilt-debian/Dockerfile +++ b/deployments/prebuilt-debian/Dockerfile @@ -2,5 +2,6 @@ FROM node:24.15.0-trixie AS base WORKDIR /app COPY package.json . COPY pnpm-lock.yaml . +COPY pnpm-workspace.yaml . RUN corepack enable pnpm && pnpm install --frozen-lockfile CMD ["sleep", "60s"] \ No newline at end of file diff --git a/deployments/prebuilt-debian/package.json b/deployments/prebuilt-debian/package.json index 15876ecc1..4df35b776 100644 --- a/deployments/prebuilt-debian/package.json +++ b/deployments/prebuilt-debian/package.json @@ -4,14 +4,9 @@ "dependencies": { "better-sqlite3": "^12.9.0" }, - "packageManager": "pnpm@10.33.2", + "packageManager": "pnpm@11.0.3", "engines": { "node": ">=24.15.0", - "pnpm": ">=10.33.2" - }, - "pnpm": { - "onlyBuiltDependencies": [ - "better-sqlite3" - ] + "pnpm": ">=11.0.3" } } diff --git a/deployments/prebuilt-debian/pnpm-workspace.yaml b/deployments/prebuilt-debian/pnpm-workspace.yaml new file mode 100644 index 000000000..65783dc34 --- /dev/null +++ b/deployments/prebuilt-debian/pnpm-workspace.yaml @@ -0,0 +1,2 @@ +allowBuilds: + better-sqlite3: true diff --git a/package.json b/package.json index 5cdd91982..96f35e0cc 100644 --- a/package.json +++ b/package.json @@ -57,55 +57,12 @@ "turbo": "catalog:", "typescript": "catalog:", "vite-tsconfig-paths": "catalog:", - "vitest": "catalog:" + "vitest": "catalog:", + "yaml": "catalog:" }, - "packageManager": "pnpm@10.33.2", + "packageManager": "pnpm@11.0.3", "engines": { "node": ">=24.15.0", - "pnpm": ">=10.33.2" - }, - "pnpm": { - "onlyBuiltDependencies": [ - "@tree-sitter-grammars/tree-sitter-yaml", - "bcrypt", - "better-sqlite3", - "cpu-features", - "esbuild", - "sharp", - "ssh2", - "tree-sitter", - "tree-sitter-json" - ], - "overrides": { - "@babel/helpers@<7.26.10": ">=7.29.2", - "@babel/runtime@<7.26.10": ">=7.29.2", - "axios@>=1.0.0 <1.8.2": ">=1.16.0", - "brace-expansion@>=2.0.0 <=2.0.1": ">=5.0.5", - "brace-expansion@>=1.0.0 <=1.1.11": ">=5.0.5", - "esbuild@<=0.24.2": ">=0.28.0", - "form-data@>=4.0.0 <4.0.4": ">=4.0.5", - "hono@<4.6.5": ">=4.12.16", - "linkifyjs@<4.3.2": ">=4.3.2", - "nanoid@>=4.0.0 <5.0.9": ">=5.1.11", - "prismjs@<1.30.0": ">=1.30.0", - "proxmox-api>undici": "7.24.6", - "react-is": "^19.2.5", - "rollup@>=4.0.0 <4.22.4": ">=4.60.2", - "sha.js@<=2.4.11": ">=2.4.12", - "tar-fs@>=3.0.0 <3.0.9": ">=3.1.2", - "tar-fs@>=2.0.0 <2.1.3": ">=3.1.2", - "tmp@<=0.2.3": ">=0.2.5", - "vite@>=5.0.0 <=5.4.18": ">=8.0.10" - }, - "patchedDependencies": { - "@types/node-unifi": "patches/@types__node-unifi.patch", - "trpc-to-openapi": "patches/trpc-to-openapi.patch" - }, - "allowUnusedPatches": true, - "ignoredBuiltDependencies": [ - "@scarf/scarf", - "core-js-pure", - "protobufjs" - ] + "pnpm": ">=11.0.3" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 5afcab7af..b33836c1b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -566,8 +566,8 @@ overrides: '@babel/helpers@<7.26.10': '>=7.29.2' '@babel/runtime@<7.26.10': '>=7.29.2' axios@>=1.0.0 <1.8.2: '>=1.16.0' - brace-expansion@>=2.0.0 <=2.0.1: '>=5.0.5' brace-expansion@>=1.0.0 <=1.1.11: '>=5.0.5' + brace-expansion@>=2.0.0 <=2.0.1: '>=5.0.5' esbuild@<=0.24.2: '>=0.28.0' form-data@>=4.0.0 <4.0.4: '>=4.0.5' hono@<4.6.5: '>=4.12.16' @@ -578,18 +578,14 @@ overrides: react-is: ^19.2.5 rollup@>=4.0.0 <4.22.4: '>=4.60.2' sha.js@<=2.4.11: '>=2.4.12' - tar-fs@>=3.0.0 <3.0.9: '>=3.1.2' tar-fs@>=2.0.0 <2.1.3: '>=3.1.2' + tar-fs@>=3.0.0 <3.0.9: '>=3.1.2' tmp@<=0.2.3: '>=0.2.5' vite@>=5.0.0 <=5.4.18: '>=8.0.10' patchedDependencies: - '@types/node-unifi': - hash: 5e6ae51e2a17a7f9729bfa30b0eb3d0842a5810ac6db47603ab4a6efa1ed84c5 - path: patches/@types__node-unifi.patch - trpc-to-openapi: - hash: 2ca3c16af0fcca0c736697ad4fe553a14f794524fa9ce0d5c3e8ee4aea76090c - path: patches/trpc-to-openapi.patch + '@types/node-unifi': 5e6ae51e2a17a7f9729bfa30b0eb3d0842a5810ac6db47603ab4a6efa1ed84c5 + trpc-to-openapi: 2ca3c16af0fcca0c736697ad4fe553a14f794524fa9ce0d5c3e8ee4aea76090c importers: @@ -664,6 +660,9 @@ importers: vitest: specifier: 'catalog:' version: 4.1.5(@types/node@24.12.2)(@vitest/coverage-v8@4.1.5)(@vitest/ui@4.1.5)(jsdom@29.1.1(@noble/hashes@2.0.1))(vite@7.1.12(@types/node@24.12.2)(sass@1.99.0)(sugarss@5.0.0(postcss@8.5.8))(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.4)) + yaml: + specifier: 'catalog:' + version: 2.8.4 apps/nextjs: dependencies: @@ -1455,7 +1454,7 @@ importers: dependencies: '@t3-oss/env-nextjs': specifier: 'catalog:' - version: 0.13.11(arktype@2.1.20)(typescript@5.9.3)(zod@4.4.2) + version: 0.13.11(typescript@5.9.3)(zod@4.4.2) better-sqlite3: specifier: 'catalog:' version: 12.9.0 @@ -1464,7 +1463,7 @@ importers: version: 0.2.9 drizzle-orm: specifier: 'catalog:' - version: 0.45.2(@libsql/client-wasm@0.14.0)(@types/better-sqlite3@7.6.13)(@types/pg@8.20.0)(better-sqlite3@12.9.0)(gel@2.0.0)(mysql2@3.22.3(@types/node@24.12.2))(pg@8.20.0) + version: 0.45.2(@types/better-sqlite3@7.6.13)(@types/pg@8.20.0)(better-sqlite3@12.9.0)(mysql2@3.22.3(@types/node@24.12.2))(pg@8.20.0) ioredis: specifier: 'catalog:' version: 5.10.1 @@ -1718,10 +1717,10 @@ importers: version: 0.31.10 drizzle-orm: specifier: 'catalog:' - version: 0.45.2(@libsql/client-wasm@0.14.0)(@types/better-sqlite3@7.6.13)(@types/pg@8.20.0)(better-sqlite3@12.9.0)(gel@2.0.0)(mysql2@3.22.3(@types/node@24.12.2))(pg@8.20.0) + version: 0.45.2(@types/better-sqlite3@7.6.13)(@types/pg@8.20.0)(better-sqlite3@12.9.0)(mysql2@3.22.3(@types/node@24.12.2))(pg@8.20.0) drizzle-zod: specifier: 'catalog:' - version: 0.8.3(drizzle-orm@0.45.2(@libsql/client-wasm@0.14.0)(@types/better-sqlite3@7.6.13)(@types/pg@8.20.0)(better-sqlite3@12.9.0)(gel@2.0.0)(mysql2@3.22.3(@types/node@24.12.2))(pg@8.20.0))(zod@4.4.2) + version: 0.8.3(drizzle-orm@0.45.2(@types/better-sqlite3@7.6.13)(@types/pg@8.20.0)(better-sqlite3@12.9.0)(mysql2@3.22.3(@types/node@24.12.2))(pg@8.20.0))(zod@4.4.2) mysql2: specifier: 'catalog:' version: 3.22.3(@types/node@24.12.2) @@ -3001,12 +3000,6 @@ packages: resolution: {integrity: sha512-2aDL3WUv8hMJb2L3r/PIQWsTLyq7RQr3v9xD16fiz6O8ys1xEyLhhTOv8gxtZvJiTzjTF5pHoArvRdesGL1DMQ==} hasBin: true - '@ark/schema@0.46.0': - resolution: {integrity: sha512-c2UQdKgP2eqqDArfBqQIJppxJHvNNXuQPeuSPlDML4rjw+f1cu0qAlzOG4b8ujgm9ctIDWwhpyw6gjG5ledIVQ==} - - '@ark/util@0.46.0': - resolution: {integrity: sha512-JPy/NGWn/lvf1WmGCPw2VGpBg5utZraE84I7wli18EDF3p3zc/e9WolT35tINeZO3l7C77SjqRJeAUoT0CvMRg==} - '@asamuzakjp/css-color@5.1.11': resolution: {integrity: sha512-KVw6qIiCTUQhByfTd78h2yD1/00waTmm9uy/R7Ck/ctUyAPj+AEDLkQIdJW0T8+qGgj3j5bpNKK7Q3G+LedJWg==} engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0} @@ -4283,14 +4276,6 @@ packages: '@kwsites/file-exists@1.1.1': resolution: {integrity: sha512-m9/5YGR18lIwxSFDwfE3oA7bWuq9kdau6ugN4H2rJeyhFQZcG9AgSHkQtSD15a8WvTgfz9aikZMrKPHvbpqFiw==} - '@libsql/client-wasm@0.14.0': - resolution: {integrity: sha512-gB/jtz0xuwrqAHApBv9e9JSew2030Fhj2edyZ83InZ4yPj/Q2LTUlEhaspEYT0T0xsAGqPy38uGrmq/OGS+DdQ==} - bundledDependencies: - - '@libsql/libsql-wasm-experimental' - - '@libsql/core@0.14.0': - resolution: {integrity: sha512-nhbuXf7GP3PSZgdCY2Ecj8vz187ptHlZQ0VRc751oB2C1W8jQUXKKklvt7t1LJiUTQBVJuadF628eUk+3cRi4Q==} - '@mantine/charts@8.3.18': resolution: {integrity: sha512-oudif3EUH7Nb9DPm0abAPxpFYDWWjR3k2S5ll0/CcB+pJzlhwaBG19QwpOJaRA6VAvAXDDKOXCO4mi9XCEN78g==} peerDependencies: @@ -4666,9 +4651,6 @@ packages: resolution: {integrity: sha512-HNjmfLQEVRZmHRET336f20H/8kOozUGwk7yajvsonjNxbj2wBTK1WsQuHkD5yYh9RxFGL2EyDHryOihOwUoKDA==} engines: {node: '>= 10.0.0'} - '@petamoriken/float16@3.9.3': - resolution: {integrity: sha512-8awtpHXCx/bNpFt4mt2xdkgtgVvKqty8VbjHI/WWWQuEw+KLzFot3f4+LkQY9YmOtq7A5GdOnqoIC8Pdygjk2g==} - '@pinojs/redact@0.4.0': resolution: {integrity: sha512-k2ENnmBugE/rzQfEcdWHcCY+/FM3VLzH9cYEsbdsoqrvzAKRhUZeRNhAZvB8OitQJ1TBed3yqWtdjzS6wJKBwg==} @@ -6112,9 +6094,6 @@ packages: resolution: {integrity: sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==} engines: {node: '>= 0.4'} - arktype@2.1.20: - resolution: {integrity: sha512-IZCEEXaJ8g+Ijd59WtSYwtjnqXiwM8sWQ5EjGamcto7+HVN9eK0C4p0zDlCuAwWhpqr6fIBkxPuYDl4/Mcj/+Q==} - array-buffer-byte-length@1.0.2: resolution: {integrity: sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==} engines: {node: '>= 0.4'} @@ -7094,10 +7073,6 @@ packages: resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==} engines: {node: '>=6'} - env-paths@3.0.0: - resolution: {integrity: sha512-dtJUTepzMW3Lm/NPxRf3wP4642UWhjL2sQxc+ym2YMj1m/H2zDNQOlezafzkHwn6sMstjHTwG6iQQsctDW/b1A==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - environment@1.1.0: resolution: {integrity: sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==} engines: {node: '>=18'} @@ -7561,11 +7536,6 @@ packages: functions-have-names@1.2.3: resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} - gel@2.0.0: - resolution: {integrity: sha512-Oq3Fjay71s00xzDc0BF/mpcLmnA+uRqMEJK8p5K4PaZjUEsxaeo+kR9OHBVAf289/qPd+0OcLOLUN0UhqiUCog==} - engines: {node: '>= 18.0.0'} - hasBin: true - generate-function@2.3.1: resolution: {integrity: sha512-eeB5GfMNeevm/GRYq20ShmsaGcmI81kIX2K9XQx5miC8KdHaC6Jm0qQ8ZNeGOi7wYB8OsdxKs+Y2oVuTFuVwKQ==} @@ -8109,10 +8079,6 @@ packages: isexe@2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} - isexe@3.1.5: - resolution: {integrity: sha512-6B3tLtFqtQS4ekarvLVMZ+X+VlvQekbe4taUkf/rhVO3d/h0M2rfARm/pXLcPEsjjMsFgrFgSrhQIxcSVrBz8w==} - engines: {node: '>=18'} - isomorphic-dompurify@3.12.0: resolution: {integrity: sha512-8n+j+6ypTHvriJwFOQ2qusQ6bzGjZVcR3jbe1pBpLcGI1dn4WIl0ctLBngqE5QttquQBAlKXwJeTMw+X7x7qKw==} engines: {node: ^20.19.0 || ^22.13.0 || >=24.0.0} @@ -8181,9 +8147,6 @@ packages: react: optional: true - js-base64@3.7.8: - resolution: {integrity: sha512-hNngCeKxIUQiEUN3GPJOkz4wF/YvdUdbNL9hsBcMQTkKzboD7T/q3OYOuuPZLUE6dBxSGpwhk5mwuDud7JVAow==} - js-file-download@0.4.12: resolution: {integrity: sha512-rML+NkoD08p5Dllpjo0ffy4jRHeY6Zsapvr/W86N7E0yuzAO6qa5X9+xog6zQNlH102J7IXljNY2FtS6Lj3ucg==} @@ -10980,11 +10943,6 @@ packages: engines: {node: '>= 8'} hasBin: true - which@4.0.0: - resolution: {integrity: sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==} - engines: {node: ^16.13.0 || >=18.0.0} - hasBin: true - why-is-node-running@2.3.0: resolution: {integrity: sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==} engines: {node: '>=8'} @@ -11111,11 +11069,6 @@ packages: yallist@3.1.1: resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} - yaml@2.8.3: - resolution: {integrity: sha512-AvbaCLOO2Otw/lW5bmh9d/WEdcDFdQp2Z2ZUH3pX9U2ihyUY0nvLv7J6TrWowklRGPYbB/IuIMfYgxaCPg5Bpg==} - engines: {node: '>= 14.6'} - hasBin: true - yaml@2.8.4: resolution: {integrity: sha512-ml/JPOj9fOQK8RNnWojA67GbZ0ApXAUlN2UQclwv2eVgTgn7O9gg9o7paZWKMp4g0H3nTLtS9LVzhkpOFIKzog==} engines: {node: '>= 14.6'} @@ -11218,14 +11171,6 @@ snapshots: '@antfu/ni@0.21.12': {} - '@ark/schema@0.46.0': - dependencies: - '@ark/util': 0.46.0 - optional: true - - '@ark/util@0.46.0': - optional: true - '@asamuzakjp/css-color@5.1.11': dependencies: '@asamuzakjp/generational-cache': 1.0.1 @@ -12319,17 +12264,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@libsql/client-wasm@0.14.0': - dependencies: - '@libsql/core': 0.14.0 - js-base64: 3.7.8 - optional: true - - '@libsql/core@0.14.0': - dependencies: - js-base64: 3.7.8 - optional: true - '@mantine/charts@8.3.18(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(@mantine/hooks@8.3.18(react@19.2.5))(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(recharts@2.15.4(react-dom@19.2.5(react@19.2.5))(react@19.2.5))': dependencies: '@mantine/core': 8.3.18(@mantine/hooks@8.3.18(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) @@ -12734,9 +12668,6 @@ snapshots: '@parcel/watcher-win32-ia32': 2.4.1 '@parcel/watcher-win32-x64': 2.4.1 - '@petamoriken/float16@3.9.3': - optional: true - '@pinojs/redact@0.4.0': {} '@pkgjs/parseargs@0.11.0': @@ -13478,17 +13409,15 @@ snapshots: dependencies: '@swc/counter': 0.1.3 - '@t3-oss/env-core@0.13.11(arktype@2.1.20)(typescript@5.9.3)(zod@4.4.2)': + '@t3-oss/env-core@0.13.11(typescript@5.9.3)(zod@4.4.2)': optionalDependencies: - arktype: 2.1.20 typescript: 5.9.3 zod: 4.4.2 - '@t3-oss/env-nextjs@0.13.11(arktype@2.1.20)(typescript@5.9.3)(zod@4.4.2)': + '@t3-oss/env-nextjs@0.13.11(typescript@5.9.3)(zod@4.4.2)': dependencies: - '@t3-oss/env-core': 0.13.11(arktype@2.1.20)(typescript@5.9.3)(zod@4.4.2) + '@t3-oss/env-core': 0.13.11(typescript@5.9.3)(zod@4.4.2) optionalDependencies: - arktype: 2.1.20 typescript: 5.9.3 zod: 4.4.2 @@ -14527,12 +14456,6 @@ snapshots: aria-query@5.3.2: {} - arktype@2.1.20: - dependencies: - '@ark/schema': 0.46.0 - '@ark/util': 0.46.0 - optional: true - array-buffer-byte-length@1.0.2: dependencies: call-bound: 1.0.4 @@ -15281,7 +15204,7 @@ snapshots: docker-compose@1.4.2: dependencies: - yaml: 2.8.3 + yaml: 2.8.4 docker-modem@5.0.7: dependencies: @@ -15364,19 +15287,17 @@ snapshots: esbuild: 0.25.12 tsx: 4.21.0 - drizzle-orm@0.45.2(@libsql/client-wasm@0.14.0)(@types/better-sqlite3@7.6.13)(@types/pg@8.20.0)(better-sqlite3@12.9.0)(gel@2.0.0)(mysql2@3.22.3(@types/node@24.12.2))(pg@8.20.0): + drizzle-orm@0.45.2(@types/better-sqlite3@7.6.13)(@types/pg@8.20.0)(better-sqlite3@12.9.0)(mysql2@3.22.3(@types/node@24.12.2))(pg@8.20.0): optionalDependencies: - '@libsql/client-wasm': 0.14.0 '@types/better-sqlite3': 7.6.13 '@types/pg': 8.20.0 better-sqlite3: 12.9.0 - gel: 2.0.0 mysql2: 3.22.3(@types/node@24.12.2) pg: 8.20.0 - drizzle-zod@0.8.3(drizzle-orm@0.45.2(@libsql/client-wasm@0.14.0)(@types/better-sqlite3@7.6.13)(@types/pg@8.20.0)(better-sqlite3@12.9.0)(gel@2.0.0)(mysql2@3.22.3(@types/node@24.12.2))(pg@8.20.0))(zod@4.4.2): + drizzle-zod@0.8.3(drizzle-orm@0.45.2(@types/better-sqlite3@7.6.13)(@types/pg@8.20.0)(better-sqlite3@12.9.0)(mysql2@3.22.3(@types/node@24.12.2))(pg@8.20.0))(zod@4.4.2): dependencies: - drizzle-orm: 0.45.2(@libsql/client-wasm@0.14.0)(@types/better-sqlite3@7.6.13)(@types/pg@8.20.0)(better-sqlite3@12.9.0)(gel@2.0.0)(mysql2@3.22.3(@types/node@24.12.2))(pg@8.20.0) + drizzle-orm: 0.45.2(@types/better-sqlite3@7.6.13)(@types/pg@8.20.0)(better-sqlite3@12.9.0)(mysql2@3.22.3(@types/node@24.12.2))(pg@8.20.0) zod: 4.4.2 dunder-proto@1.0.1: @@ -15459,9 +15380,6 @@ snapshots: env-paths@2.2.1: {} - env-paths@3.0.0: - optional: true - environment@1.1.0: {} error-causes@3.0.2: {} @@ -16132,18 +16050,6 @@ snapshots: functions-have-names@1.2.3: {} - gel@2.0.0: - dependencies: - '@petamoriken/float16': 3.9.3 - debug: 4.4.3 - env-paths: 3.0.0 - semver: 7.7.4 - shell-quote: 1.8.3 - which: 4.0.0 - transitivePeerDependencies: - - supports-color - optional: true - generate-function@2.3.1: dependencies: is-property: 1.0.2 @@ -16676,9 +16582,6 @@ snapshots: isexe@2.0.0: {} - isexe@3.1.5: - optional: true - isomorphic-dompurify@3.12.0(@noble/hashes@2.0.1): dependencies: dompurify: 3.4.2 @@ -16762,9 +16665,6 @@ snapshots: '@types/react': 19.2.14 react: 19.2.5 - js-base64@3.7.8: - optional: true - js-file-download@0.4.12: {} js-tokens@10.0.0: {} @@ -17645,7 +17545,7 @@ snapshots: openapi3-ts@4.4.0: dependencies: - yaml: 2.8.3 + yaml: 2.8.4 openid-client@6.3.3: dependencies: @@ -19993,11 +19893,6 @@ snapshots: dependencies: isexe: 2.0.0 - which@4.0.0: - dependencies: - isexe: 3.1.5 - optional: true - why-is-node-running@2.3.0: dependencies: siginfo: 2.0.0 @@ -20112,8 +20007,6 @@ snapshots: yallist@3.1.1: {} - yaml@2.8.3: {} - yaml@2.8.4: {} yargs-parser@20.2.9: {} diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 7978ed6f1..4f7576ad6 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -2,6 +2,22 @@ packages: - apps/* - packages/* - tooling/* +allowBuilds: + "@scarf/scarf": false + "@swc/core": false + "@tree-sitter-grammars/tree-sitter-yaml": true + bcrypt: true + better-sqlite3: true + core-js-pure: false + cpu-features: true + esbuild: true + protobufjs: false + sharp: true + ssh2: true + tree-sitter: true + tree-sitter-json: true + nice-napi: false +allowUnusedPatches: true catalog: "@auth/core": ^0.41.2 "@auth/drizzle-adapter": ^1.11.2 @@ -13,7 +29,7 @@ catalog: "@dnd-kit/sortable": ^10.0.0 "@dnd-kit/utilities": ^3.2.2 "@drizzle-team/brocli": ^0.12.0 - '@eslint/js': 10.0.1 + "@eslint/js": 10.0.1 "@extractus/feed-extractor": 7.1.7 "@gitbeaker/rest": ^43.8.0 "@homarr/gridstack": ^1.12.0 @@ -189,7 +205,32 @@ catalog: zod-form-data: ^3.0.1 zod-validation-error: ^5.0.0 catalogMode: strict +engineStrict: true minimumReleaseAge: 4320 minimumReleaseAgeExclude: - next - "@next/*" +nodeLinker: hoisted +overrides: + "@babel/helpers@<7.26.10": ">=7.29.2" + "@babel/runtime@<7.26.10": ">=7.29.2" + "axios@>=1.0.0 <1.8.2": ">=1.16.0" + "brace-expansion@>=1.0.0 <=1.1.11": ">=5.0.5" + "brace-expansion@>=2.0.0 <=2.0.1": ">=5.0.5" + "esbuild@<=0.24.2": ">=0.28.0" + "form-data@>=4.0.0 <4.0.4": ">=4.0.5" + "hono@<4.6.5": ">=4.12.16" + "linkifyjs@<4.3.2": ">=4.3.2" + "nanoid@>=4.0.0 <5.0.9": ">=5.1.11" + "prismjs@<1.30.0": ">=1.30.0" + "proxmox-api>undici": "7.24.6" + "react-is": "^19.2.5" + "rollup@>=4.0.0 <4.22.4": ">=4.60.2" + "sha.js@<=2.4.11": ">=2.4.12" + "tar-fs@>=2.0.0 <2.1.3": ">=3.1.2" + "tar-fs@>=3.0.0 <3.0.9": ">=3.1.2" + "tmp@<=0.2.3": ">=0.2.5" + "vite@>=5.0.0 <=5.4.18": ">=8.0.10" +patchedDependencies: + "@types/node-unifi": "patches/@types__node-unifi.patch" + trpc-to-openapi: "patches/trpc-to-openapi.patch" diff --git a/test/renovate.spec.ts b/test/renovate.spec.ts index 0f40a8061..2b8236ce6 100644 --- a/test/renovate.spec.ts +++ b/test/renovate.spec.ts @@ -2,21 +2,24 @@ import fs from "fs/promises"; import { join } from "path"; import json5 from "json5"; import { describe, test } from "vitest"; +import { parse as parseYaml } from "yaml"; describe("Renovate configuration tests", () => { - test("automerge should be disabled for onlyBuiltDependencies", async () => { - const packageJson = await import("../package.json"); + test("automerge should be disabled for built dependencies", async () => { + const pnpmConfig = await fs.readFile(join(__dirname, "../pnpm-workspace.yaml"), "utf-8").then(parseYaml); const renovateConfig = await fs.readFile(join(__dirname, "../.github/renovate.json5"), "utf-8").then(json5.parse); - const onlyBuiltDependencies = packageJson.pnpm.onlyBuiltDependencies; + const dependenciesWithBuilt = Object.entries(pnpmConfig.allowBuilds) + .filter(([_, value]) => value === true) + .map(([key, _]) => key); const automergeDisabledDeps = renovateConfig.packageRules .filter((rule: any) => rule.automerge === false) .flatMap((rule: any) => rule.matchPackageNames || []); - const missingDeps = onlyBuiltDependencies.filter((dep: string) => !automergeDisabledDeps.includes(dep)); + const missingDeps = dependenciesWithBuilt.filter((dep: string) => !automergeDisabledDeps.includes(dep)); if (missingDeps.length > 0) { throw new Error( - `The following onlyBuiltDependencies are missing automerge disable rules in renovate.json5: ${missingDeps.join(", ")}`, + `The following built dependencies are missing automerge disable rules in renovate.json5: ${missingDeps.join(", ")}`, ); } }); From c4ec45a9d076d9ec64aa163cd944995033d0a368 Mon Sep 17 00:00:00 2001 From: "homarr-renovate[bot]" <158783068+homarr-renovate[bot]@users.noreply.github.com> Date: Fri, 8 May 2026 03:04:44 +0000 Subject: [PATCH 18/63] chore(deps): update pnpm to v11.0.4 (#5668) Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com> --- deployments/prebuilt-debian/package.json | 4 ++-- package.json | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/deployments/prebuilt-debian/package.json b/deployments/prebuilt-debian/package.json index 4df35b776..6d326193c 100644 --- a/deployments/prebuilt-debian/package.json +++ b/deployments/prebuilt-debian/package.json @@ -4,9 +4,9 @@ "dependencies": { "better-sqlite3": "^12.9.0" }, - "packageManager": "pnpm@11.0.3", + "packageManager": "pnpm@11.0.4", "engines": { "node": ">=24.15.0", - "pnpm": ">=11.0.3" + "pnpm": ">=11.0.4" } } diff --git a/package.json b/package.json index 96f35e0cc..d81206e10 100644 --- a/package.json +++ b/package.json @@ -60,9 +60,9 @@ "vitest": "catalog:", "yaml": "catalog:" }, - "packageManager": "pnpm@11.0.3", + "packageManager": "pnpm@11.0.4", "engines": { "node": ">=24.15.0", - "pnpm": ">=11.0.3" + "pnpm": ">=11.0.4" } } From 12a1bd7e2ed6cffae537a0f363ef4bcc681e2136 Mon Sep 17 00:00:00 2001 From: "homarr-crowdin[bot]" <190541745+homarr-crowdin[bot]@users.noreply.github.com> Date: Fri, 8 May 2026 13:54:36 +0200 Subject: [PATCH 19/63] chore(lang): updated translations from crowdin * chore(lang): update translations from crowdin * chore(lang): update translations from crowdin --------- Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com> Co-authored-by: Meier Lukas --- packages/translation/src/lang/ca.json | 125 +++++++++++++++++++++++ packages/translation/src/lang/cn.json | 125 +++++++++++++++++++++++ packages/translation/src/lang/cr.json | 125 +++++++++++++++++++++++ packages/translation/src/lang/cs.json | 125 +++++++++++++++++++++++ packages/translation/src/lang/da.json | 125 +++++++++++++++++++++++ packages/translation/src/lang/de-CH.json | 125 +++++++++++++++++++++++ packages/translation/src/lang/de.json | 125 +++++++++++++++++++++++ packages/translation/src/lang/el.json | 125 +++++++++++++++++++++++ packages/translation/src/lang/en-gb.json | 125 +++++++++++++++++++++++ packages/translation/src/lang/es.json | 125 +++++++++++++++++++++++ packages/translation/src/lang/et.json | 125 +++++++++++++++++++++++ packages/translation/src/lang/fr.json | 125 +++++++++++++++++++++++ packages/translation/src/lang/he.json | 125 +++++++++++++++++++++++ packages/translation/src/lang/hr.json | 125 +++++++++++++++++++++++ packages/translation/src/lang/hu.json | 125 +++++++++++++++++++++++ packages/translation/src/lang/it.json | 125 +++++++++++++++++++++++ packages/translation/src/lang/ja.json | 125 +++++++++++++++++++++++ packages/translation/src/lang/ko.json | 125 +++++++++++++++++++++++ packages/translation/src/lang/lt.json | 125 +++++++++++++++++++++++ packages/translation/src/lang/lv.json | 125 +++++++++++++++++++++++ packages/translation/src/lang/nl.json | 125 +++++++++++++++++++++++ packages/translation/src/lang/no.json | 125 +++++++++++++++++++++++ packages/translation/src/lang/pl.json | 125 +++++++++++++++++++++++ packages/translation/src/lang/pt-br.json | 125 +++++++++++++++++++++++ packages/translation/src/lang/pt.json | 125 +++++++++++++++++++++++ packages/translation/src/lang/ro.json | 125 +++++++++++++++++++++++ packages/translation/src/lang/ru.json | 125 +++++++++++++++++++++++ packages/translation/src/lang/sk.json | 125 +++++++++++++++++++++++ packages/translation/src/lang/sl.json | 125 +++++++++++++++++++++++ packages/translation/src/lang/sv.json | 125 +++++++++++++++++++++++ packages/translation/src/lang/tr.json | 125 +++++++++++++++++++++++ packages/translation/src/lang/uk.json | 125 +++++++++++++++++++++++ packages/translation/src/lang/vi.json | 125 +++++++++++++++++++++++ packages/translation/src/lang/zh.json | 125 +++++++++++++++++++++++ 34 files changed, 4250 insertions(+) diff --git a/packages/translation/src/lang/ca.json b/packages/translation/src/lang/ca.json index 5985ba892..a117b07fd 100644 --- a/packages/translation/src/lang/ca.json +++ b/packages/translation/src/lang/ca.json @@ -157,6 +157,9 @@ }, "openSearchInNewTab": { "label": "Obre els resultats de la cerca en una pestanya nova" + }, + "ddgBangs": { + "label": "" } }, "error": { @@ -246,6 +249,16 @@ } } }, + "changeDdgBangs": { + "notification": { + "success": { + "message": "" + }, + "error": { + "message": "" + } + } + }, "manageAvatar": { "changeImage": { "label": "Canvia la imatge", @@ -1080,6 +1093,7 @@ }, "colorScheme": { "options": { + "auto": "", "light": "", "dark": "" } @@ -2096,6 +2110,104 @@ "internalServerError": "" } }, + "umami": { + "name": "", + "description": "", + "visitors": "", + "active": "", + "pageviews": "", + "visits": "", + "bounceRate": "", + "avgDuration": "", + "option": { + "websiteId": { + "label": "", + "description": "", + "placeholder": "", + "loading": "", + "noWebsites": "", + "configureIntegrationFirst": "" + }, + "timeFrame": { + "label": "", + "description": "", + "option": { + "today": "", + "24h": "", + "7d": "", + "30d": "", + "month": "", + "lastMonth": "" + } + }, + "eventName": { + "label": "", + "description": "", + "placeholder": "", + "loading": "", + "noEvents": "", + "none": "", + "configureWebsiteFirst": "" + }, + "chartType": { + "label": "", + "description": "", + "option": { + "bar": "", + "sparkline": "" + } + }, + "chartStyle": { + "label": "", + "description": "", + "option": { + "grouped": "", + "overlay": "" + } + }, + "viewMode": { + "label": "", + "description": "", + "option": { + "chart": "", + "events": "", + "topPages": "", + "topReferrers": "" + } + }, + "eventNames": { + "label": "", + "description": "", + "placeholder": "", + "loading": "", + "noEvents": "", + "configureWebsiteFirst": "" + }, + "topCount": { + "label": "", + "description": "" + } + }, + "event": { + "occurrences": "", + "label": "" + }, + "topPages": { + "direct": "" + }, + "topReferrers": { + "direct": "" + }, + "events": { + "selectPrompt": "" + }, + "error": { + "noIntegration": "", + "noWebsite": "", + "noData": "", + "internalServerError": "" + } + }, "common": { "location": { "query": "", @@ -3568,6 +3680,7 @@ "defaultColorScheme": { "label": "", "options": { + "auto": "", "light": "", "dark": "" } @@ -3668,6 +3781,9 @@ }, "tracearr": { "label": "" + }, + "umamiActiveVisitors": { + "label": "" } }, "interval": { @@ -4380,6 +4496,7 @@ "title": "", "option": { "colorScheme": { + "auto": "", "light": "", "dark": "" }, @@ -4431,6 +4548,14 @@ "group": { "searchEngine": { "title": "", + "tipDdgBangs": "", + "bang": { + "searchWithQuery": "", + "pressEnterToOpen": "", + "engineSelected": "", + "typeQueryToContinue": "", + "emptyBangHint": "" + }, "children": { "action": { "search": { diff --git a/packages/translation/src/lang/cn.json b/packages/translation/src/lang/cn.json index c25440a6b..86c012cb2 100644 --- a/packages/translation/src/lang/cn.json +++ b/packages/translation/src/lang/cn.json @@ -157,6 +157,9 @@ }, "openSearchInNewTab": { "label": "在新标签页中打开搜索结果" + }, + "ddgBangs": { + "label": "" } }, "error": { @@ -246,6 +249,16 @@ } } }, + "changeDdgBangs": { + "notification": { + "success": { + "message": "" + }, + "error": { + "message": "" + } + } + }, "manageAvatar": { "changeImage": { "label": "更改头像", @@ -1080,6 +1093,7 @@ }, "colorScheme": { "options": { + "auto": "", "light": "日间", "dark": "暗黑" } @@ -2096,6 +2110,104 @@ "internalServerError": "" } }, + "umami": { + "name": "", + "description": "", + "visitors": "", + "active": "", + "pageviews": "", + "visits": "", + "bounceRate": "", + "avgDuration": "", + "option": { + "websiteId": { + "label": "", + "description": "", + "placeholder": "", + "loading": "", + "noWebsites": "", + "configureIntegrationFirst": "" + }, + "timeFrame": { + "label": "", + "description": "", + "option": { + "today": "", + "24h": "", + "7d": "", + "30d": "", + "month": "", + "lastMonth": "" + } + }, + "eventName": { + "label": "", + "description": "", + "placeholder": "", + "loading": "", + "noEvents": "", + "none": "", + "configureWebsiteFirst": "" + }, + "chartType": { + "label": "", + "description": "", + "option": { + "bar": "", + "sparkline": "" + } + }, + "chartStyle": { + "label": "", + "description": "", + "option": { + "grouped": "", + "overlay": "" + } + }, + "viewMode": { + "label": "", + "description": "", + "option": { + "chart": "", + "events": "", + "topPages": "", + "topReferrers": "" + } + }, + "eventNames": { + "label": "", + "description": "", + "placeholder": "", + "loading": "", + "noEvents": "", + "configureWebsiteFirst": "" + }, + "topCount": { + "label": "", + "description": "" + } + }, + "event": { + "occurrences": "", + "label": "" + }, + "topPages": { + "direct": "" + }, + "topReferrers": { + "direct": "" + }, + "events": { + "selectPrompt": "" + }, + "error": { + "noIntegration": "", + "noWebsite": "", + "noData": "", + "internalServerError": "" + } + }, "common": { "location": { "query": "城市/邮编", @@ -3568,6 +3680,7 @@ "defaultColorScheme": { "label": "默认配色方案", "options": { + "auto": "", "light": "日间", "dark": "暗黑" } @@ -3668,6 +3781,9 @@ }, "tracearr": { "label": "" + }, + "umamiActiveVisitors": { + "label": "" } }, "interval": { @@ -4380,6 +4496,7 @@ "title": "全局命令", "option": { "colorScheme": { + "auto": "", "light": "切换到日间模式", "dark": "切换到暗黑模式" }, @@ -4431,6 +4548,14 @@ "group": { "searchEngine": { "title": "搜索引擎", + "tipDdgBangs": "", + "bang": { + "searchWithQuery": "", + "pressEnterToOpen": "", + "engineSelected": "", + "typeQueryToContinue": "", + "emptyBangHint": "" + }, "children": { "action": { "search": { diff --git a/packages/translation/src/lang/cr.json b/packages/translation/src/lang/cr.json index d9e5c0224..6b7ce247c 100644 --- a/packages/translation/src/lang/cr.json +++ b/packages/translation/src/lang/cr.json @@ -157,6 +157,9 @@ }, "openSearchInNewTab": { "label": "crwdns2696:0crwdne2696:0" + }, + "ddgBangs": { + "label": "crwdns4231:0crwdne4231:0" } }, "error": { @@ -246,6 +249,16 @@ } } }, + "changeDdgBangs": { + "notification": { + "success": { + "message": "crwdns4233:0crwdne4233:0" + }, + "error": { + "message": "crwdns4235:0crwdne4235:0" + } + } + }, "manageAvatar": { "changeImage": { "label": "crwdns94:0crwdne94:0", @@ -1080,6 +1093,7 @@ }, "colorScheme": { "options": { + "auto": "crwdns4225:0crwdne4225:0", "light": "crwdns2362:0crwdne2362:0", "dark": "crwdns2364:0crwdne2364:0" } @@ -2096,6 +2110,104 @@ "internalServerError": "crwdns3988:0crwdne3988:0" } }, + "umami": { + "name": "crwdns4103:0crwdne4103:0", + "description": "crwdns4105:0crwdne4105:0", + "visitors": "crwdns4107:0crwdne4107:0", + "active": "crwdns4109:0crwdne4109:0", + "pageviews": "crwdns4111:0crwdne4111:0", + "visits": "crwdns4113:0crwdne4113:0", + "bounceRate": "crwdns4115:0crwdne4115:0", + "avgDuration": "crwdns4117:0crwdne4117:0", + "option": { + "websiteId": { + "label": "crwdns4119:0crwdne4119:0", + "description": "crwdns4121:0crwdne4121:0", + "placeholder": "crwdns4123:0crwdne4123:0", + "loading": "crwdns4125:0crwdne4125:0", + "noWebsites": "crwdns4127:0crwdne4127:0", + "configureIntegrationFirst": "crwdns4129:0crwdne4129:0" + }, + "timeFrame": { + "label": "crwdns4131:0crwdne4131:0", + "description": "crwdns4133:0crwdne4133:0", + "option": { + "today": "crwdns4135:0crwdne4135:0", + "24h": "crwdns4137:0crwdne4137:0", + "7d": "crwdns4139:0crwdne4139:0", + "30d": "crwdns4141:0crwdne4141:0", + "month": "crwdns4143:0crwdne4143:0", + "lastMonth": "crwdns4145:0crwdne4145:0" + } + }, + "eventName": { + "label": "crwdns4147:0crwdne4147:0", + "description": "crwdns4149:0crwdne4149:0", + "placeholder": "crwdns4151:0crwdne4151:0", + "loading": "crwdns4153:0crwdne4153:0", + "noEvents": "crwdns4155:0crwdne4155:0", + "none": "crwdns4157:0crwdne4157:0", + "configureWebsiteFirst": "crwdns4159:0crwdne4159:0" + }, + "chartType": { + "label": "crwdns4161:0crwdne4161:0", + "description": "crwdns4163:0crwdne4163:0", + "option": { + "bar": "crwdns4165:0crwdne4165:0", + "sparkline": "crwdns4167:0crwdne4167:0" + } + }, + "chartStyle": { + "label": "crwdns4169:0crwdne4169:0", + "description": "crwdns4171:0crwdne4171:0", + "option": { + "grouped": "crwdns4173:0crwdne4173:0", + "overlay": "crwdns4175:0crwdne4175:0" + } + }, + "viewMode": { + "label": "crwdns4177:0crwdne4177:0", + "description": "crwdns4179:0crwdne4179:0", + "option": { + "chart": "crwdns4181:0crwdne4181:0", + "events": "crwdns4183:0crwdne4183:0", + "topPages": "crwdns4185:0crwdne4185:0", + "topReferrers": "crwdns4187:0crwdne4187:0" + } + }, + "eventNames": { + "label": "crwdns4189:0crwdne4189:0", + "description": "crwdns4191:0crwdne4191:0", + "placeholder": "crwdns4193:0crwdne4193:0", + "loading": "crwdns4195:0crwdne4195:0", + "noEvents": "crwdns4197:0crwdne4197:0", + "configureWebsiteFirst": "crwdns4199:0crwdne4199:0" + }, + "topCount": { + "label": "crwdns4201:0crwdne4201:0", + "description": "crwdns4203:0crwdne4203:0" + } + }, + "event": { + "occurrences": "crwdns4205:0crwdne4205:0", + "label": "crwdns4207:0crwdne4207:0" + }, + "topPages": { + "direct": "crwdns4209:0crwdne4209:0" + }, + "topReferrers": { + "direct": "crwdns4211:0crwdne4211:0" + }, + "events": { + "selectPrompt": "crwdns4213:0crwdne4213:0" + }, + "error": { + "noIntegration": "crwdns4215:0crwdne4215:0", + "noWebsite": "crwdns4217:0crwdne4217:0", + "noData": "crwdns4219:0crwdne4219:0", + "internalServerError": "crwdns4221:0crwdne4221:0" + } + }, "common": { "location": { "query": "crwdns1110:0crwdne1110:0", @@ -3568,6 +3680,7 @@ "defaultColorScheme": { "label": "crwdns1810:0crwdne1810:0", "options": { + "auto": "crwdns4227:0crwdne4227:0", "light": "crwdns1812:0crwdne1812:0", "dark": "crwdns1814:0crwdne1814:0" } @@ -3668,6 +3781,9 @@ }, "tracearr": { "label": "crwdns3990:0crwdne3990:0" + }, + "umamiActiveVisitors": { + "label": "crwdns4223:0crwdne4223:0" } }, "interval": { @@ -4380,6 +4496,7 @@ "title": "crwdns2072:0crwdne2072:0", "option": { "colorScheme": { + "auto": "crwdns4229:0crwdne4229:0", "light": "crwdns2074:0crwdne2074:0", "dark": "crwdns2076:0crwdne2076:0" }, @@ -4431,6 +4548,14 @@ "group": { "searchEngine": { "title": "crwdns2100:0crwdne2100:0", + "tipDdgBangs": "crwdns4237:0crwdne4237:0", + "bang": { + "searchWithQuery": "crwdns4239:0{query}crwdnd4239:0{label}crwdne4239:0", + "pressEnterToOpen": "crwdns4241:0crwdne4241:0", + "engineSelected": "crwdns4243:0{label}crwdnd4243:0{bang}crwdne4243:0", + "typeQueryToContinue": "crwdns4245:0crwdne4245:0", + "emptyBangHint": "crwdns4247:0crwdne4247:0" + }, "children": { "action": { "search": { diff --git a/packages/translation/src/lang/cs.json b/packages/translation/src/lang/cs.json index ef47cde8b..743a1d8c8 100644 --- a/packages/translation/src/lang/cs.json +++ b/packages/translation/src/lang/cs.json @@ -157,6 +157,9 @@ }, "openSearchInNewTab": { "label": "" + }, + "ddgBangs": { + "label": "" } }, "error": { @@ -246,6 +249,16 @@ } } }, + "changeDdgBangs": { + "notification": { + "success": { + "message": "" + }, + "error": { + "message": "" + } + } + }, "manageAvatar": { "changeImage": { "label": "Změnit obrázek", @@ -1080,6 +1093,7 @@ }, "colorScheme": { "options": { + "auto": "", "light": "Světlý", "dark": "Tmavý" } @@ -2096,6 +2110,104 @@ "internalServerError": "" } }, + "umami": { + "name": "", + "description": "", + "visitors": "", + "active": "", + "pageviews": "", + "visits": "", + "bounceRate": "", + "avgDuration": "", + "option": { + "websiteId": { + "label": "", + "description": "", + "placeholder": "", + "loading": "", + "noWebsites": "", + "configureIntegrationFirst": "" + }, + "timeFrame": { + "label": "", + "description": "", + "option": { + "today": "", + "24h": "", + "7d": "", + "30d": "", + "month": "", + "lastMonth": "" + } + }, + "eventName": { + "label": "", + "description": "", + "placeholder": "", + "loading": "", + "noEvents": "", + "none": "", + "configureWebsiteFirst": "" + }, + "chartType": { + "label": "", + "description": "", + "option": { + "bar": "", + "sparkline": "" + } + }, + "chartStyle": { + "label": "", + "description": "", + "option": { + "grouped": "", + "overlay": "" + } + }, + "viewMode": { + "label": "", + "description": "", + "option": { + "chart": "", + "events": "", + "topPages": "", + "topReferrers": "" + } + }, + "eventNames": { + "label": "", + "description": "", + "placeholder": "", + "loading": "", + "noEvents": "", + "configureWebsiteFirst": "" + }, + "topCount": { + "label": "", + "description": "" + } + }, + "event": { + "occurrences": "", + "label": "" + }, + "topPages": { + "direct": "" + }, + "topReferrers": { + "direct": "" + }, + "events": { + "selectPrompt": "" + }, + "error": { + "noIntegration": "", + "noWebsite": "", + "noData": "", + "internalServerError": "" + } + }, "common": { "location": { "query": "", @@ -3568,6 +3680,7 @@ "defaultColorScheme": { "label": "", "options": { + "auto": "", "light": "", "dark": "" } @@ -3668,6 +3781,9 @@ }, "tracearr": { "label": "" + }, + "umamiActiveVisitors": { + "label": "" } }, "interval": { @@ -4380,6 +4496,7 @@ "title": "", "option": { "colorScheme": { + "auto": "", "light": "", "dark": "" }, @@ -4431,6 +4548,14 @@ "group": { "searchEngine": { "title": "", + "tipDdgBangs": "", + "bang": { + "searchWithQuery": "", + "pressEnterToOpen": "", + "engineSelected": "", + "typeQueryToContinue": "", + "emptyBangHint": "" + }, "children": { "action": { "search": { diff --git a/packages/translation/src/lang/da.json b/packages/translation/src/lang/da.json index f73d49a08..0c08fe680 100644 --- a/packages/translation/src/lang/da.json +++ b/packages/translation/src/lang/da.json @@ -157,6 +157,9 @@ }, "openSearchInNewTab": { "label": "Åben søgeresultater i en ny fane" + }, + "ddgBangs": { + "label": "" } }, "error": { @@ -246,6 +249,16 @@ } } }, + "changeDdgBangs": { + "notification": { + "success": { + "message": "" + }, + "error": { + "message": "" + } + } + }, "manageAvatar": { "changeImage": { "label": "Skift billede", @@ -1080,6 +1093,7 @@ }, "colorScheme": { "options": { + "auto": "", "light": "Lys", "dark": "Mørk" } @@ -2096,6 +2110,104 @@ "internalServerError": "Kunne ikke hente Tracearr data" } }, + "umami": { + "name": "", + "description": "", + "visitors": "", + "active": "", + "pageviews": "", + "visits": "", + "bounceRate": "", + "avgDuration": "", + "option": { + "websiteId": { + "label": "", + "description": "", + "placeholder": "", + "loading": "", + "noWebsites": "", + "configureIntegrationFirst": "" + }, + "timeFrame": { + "label": "", + "description": "", + "option": { + "today": "", + "24h": "", + "7d": "", + "30d": "", + "month": "", + "lastMonth": "" + } + }, + "eventName": { + "label": "", + "description": "", + "placeholder": "", + "loading": "", + "noEvents": "", + "none": "", + "configureWebsiteFirst": "" + }, + "chartType": { + "label": "", + "description": "", + "option": { + "bar": "", + "sparkline": "" + } + }, + "chartStyle": { + "label": "", + "description": "", + "option": { + "grouped": "", + "overlay": "" + } + }, + "viewMode": { + "label": "", + "description": "", + "option": { + "chart": "", + "events": "", + "topPages": "", + "topReferrers": "" + } + }, + "eventNames": { + "label": "", + "description": "", + "placeholder": "", + "loading": "", + "noEvents": "", + "configureWebsiteFirst": "" + }, + "topCount": { + "label": "", + "description": "" + } + }, + "event": { + "occurrences": "", + "label": "" + }, + "topPages": { + "direct": "" + }, + "topReferrers": { + "direct": "" + }, + "events": { + "selectPrompt": "" + }, + "error": { + "noIntegration": "", + "noWebsite": "", + "noData": "", + "internalServerError": "" + } + }, "common": { "location": { "query": "By / Postnummer", @@ -3568,6 +3680,7 @@ "defaultColorScheme": { "label": "Standard farvetema", "options": { + "auto": "", "light": "Lys", "dark": "Mørk" } @@ -3668,6 +3781,9 @@ }, "tracearr": { "label": "Tracearr" + }, + "umamiActiveVisitors": { + "label": "" } }, "interval": { @@ -4380,6 +4496,7 @@ "title": "Globale kommandoer", "option": { "colorScheme": { + "auto": "", "light": "Skift til lys tilstand", "dark": "Skift til mørk tilstand" }, @@ -4431,6 +4548,14 @@ "group": { "searchEngine": { "title": "Søgemaskiner", + "tipDdgBangs": "", + "bang": { + "searchWithQuery": "", + "pressEnterToOpen": "", + "engineSelected": "", + "typeQueryToContinue": "", + "emptyBangHint": "" + }, "children": { "action": { "search": { diff --git a/packages/translation/src/lang/de-CH.json b/packages/translation/src/lang/de-CH.json index fa5931482..cd65d3a6f 100644 --- a/packages/translation/src/lang/de-CH.json +++ b/packages/translation/src/lang/de-CH.json @@ -157,6 +157,9 @@ }, "openSearchInNewTab": { "label": "Suchergebnisse in neuem Tab öffnen" + }, + "ddgBangs": { + "label": "" } }, "error": { @@ -246,6 +249,16 @@ } } }, + "changeDdgBangs": { + "notification": { + "success": { + "message": "" + }, + "error": { + "message": "" + } + } + }, "manageAvatar": { "changeImage": { "label": "Biud wächsle", @@ -1080,6 +1093,7 @@ }, "colorScheme": { "options": { + "auto": "", "light": "Hell", "dark": "Dunkel" } @@ -2096,6 +2110,104 @@ "internalServerError": "" } }, + "umami": { + "name": "", + "description": "", + "visitors": "", + "active": "", + "pageviews": "", + "visits": "", + "bounceRate": "", + "avgDuration": "", + "option": { + "websiteId": { + "label": "", + "description": "", + "placeholder": "", + "loading": "", + "noWebsites": "", + "configureIntegrationFirst": "" + }, + "timeFrame": { + "label": "", + "description": "", + "option": { + "today": "", + "24h": "", + "7d": "", + "30d": "", + "month": "", + "lastMonth": "" + } + }, + "eventName": { + "label": "", + "description": "", + "placeholder": "", + "loading": "", + "noEvents": "", + "none": "", + "configureWebsiteFirst": "" + }, + "chartType": { + "label": "", + "description": "", + "option": { + "bar": "", + "sparkline": "" + } + }, + "chartStyle": { + "label": "", + "description": "", + "option": { + "grouped": "", + "overlay": "" + } + }, + "viewMode": { + "label": "", + "description": "", + "option": { + "chart": "", + "events": "", + "topPages": "", + "topReferrers": "" + } + }, + "eventNames": { + "label": "", + "description": "", + "placeholder": "", + "loading": "", + "noEvents": "", + "configureWebsiteFirst": "" + }, + "topCount": { + "label": "", + "description": "" + } + }, + "event": { + "occurrences": "", + "label": "" + }, + "topPages": { + "direct": "" + }, + "topReferrers": { + "direct": "" + }, + "events": { + "selectPrompt": "" + }, + "error": { + "noIntegration": "", + "noWebsite": "", + "noData": "", + "internalServerError": "" + } + }, "common": { "location": { "query": "Stadt / Postleitzahl", @@ -3568,6 +3680,7 @@ "defaultColorScheme": { "label": "Standard Farbschema", "options": { + "auto": "", "light": "Hell", "dark": "Dunkel" } @@ -3668,6 +3781,9 @@ }, "tracearr": { "label": "" + }, + "umamiActiveVisitors": { + "label": "" } }, "interval": { @@ -4380,6 +4496,7 @@ "title": "Globale Befehle", "option": { "colorScheme": { + "auto": "", "light": "Zum hellen Design wechseln", "dark": "Zum dunklen Design wechseln" }, @@ -4431,6 +4548,14 @@ "group": { "searchEngine": { "title": "Suchmaschinen", + "tipDdgBangs": "", + "bang": { + "searchWithQuery": "", + "pressEnterToOpen": "", + "engineSelected": "", + "typeQueryToContinue": "", + "emptyBangHint": "" + }, "children": { "action": { "search": { diff --git a/packages/translation/src/lang/de.json b/packages/translation/src/lang/de.json index d46f12613..52bc3d0ea 100644 --- a/packages/translation/src/lang/de.json +++ b/packages/translation/src/lang/de.json @@ -157,6 +157,9 @@ }, "openSearchInNewTab": { "label": "Suchergebnisse in neuem Tab öffnen" + }, + "ddgBangs": { + "label": "" } }, "error": { @@ -246,6 +249,16 @@ } } }, + "changeDdgBangs": { + "notification": { + "success": { + "message": "" + }, + "error": { + "message": "" + } + } + }, "manageAvatar": { "changeImage": { "label": "Bild ändern", @@ -1080,6 +1093,7 @@ }, "colorScheme": { "options": { + "auto": "", "light": "Hell", "dark": "Dunkel" } @@ -2096,6 +2110,104 @@ "internalServerError": "" } }, + "umami": { + "name": "", + "description": "", + "visitors": "", + "active": "", + "pageviews": "", + "visits": "", + "bounceRate": "", + "avgDuration": "", + "option": { + "websiteId": { + "label": "", + "description": "", + "placeholder": "", + "loading": "", + "noWebsites": "", + "configureIntegrationFirst": "" + }, + "timeFrame": { + "label": "", + "description": "", + "option": { + "today": "", + "24h": "", + "7d": "", + "30d": "", + "month": "", + "lastMonth": "" + } + }, + "eventName": { + "label": "", + "description": "", + "placeholder": "", + "loading": "", + "noEvents": "", + "none": "", + "configureWebsiteFirst": "" + }, + "chartType": { + "label": "", + "description": "", + "option": { + "bar": "", + "sparkline": "" + } + }, + "chartStyle": { + "label": "", + "description": "", + "option": { + "grouped": "", + "overlay": "" + } + }, + "viewMode": { + "label": "", + "description": "", + "option": { + "chart": "", + "events": "", + "topPages": "", + "topReferrers": "" + } + }, + "eventNames": { + "label": "", + "description": "", + "placeholder": "", + "loading": "", + "noEvents": "", + "configureWebsiteFirst": "" + }, + "topCount": { + "label": "", + "description": "" + } + }, + "event": { + "occurrences": "", + "label": "" + }, + "topPages": { + "direct": "" + }, + "topReferrers": { + "direct": "" + }, + "events": { + "selectPrompt": "" + }, + "error": { + "noIntegration": "", + "noWebsite": "", + "noData": "", + "internalServerError": "" + } + }, "common": { "location": { "query": "Stadt / Postleitzahl", @@ -3568,6 +3680,7 @@ "defaultColorScheme": { "label": "Standard Farbschema", "options": { + "auto": "", "light": "Hell", "dark": "Dunkel" } @@ -3668,6 +3781,9 @@ }, "tracearr": { "label": "" + }, + "umamiActiveVisitors": { + "label": "" } }, "interval": { @@ -4380,6 +4496,7 @@ "title": "Globale Befehle", "option": { "colorScheme": { + "auto": "", "light": "Zum hellen Design wechseln", "dark": "Zum dunklen Design wechseln" }, @@ -4431,6 +4548,14 @@ "group": { "searchEngine": { "title": "Suchmaschinen", + "tipDdgBangs": "", + "bang": { + "searchWithQuery": "", + "pressEnterToOpen": "", + "engineSelected": "", + "typeQueryToContinue": "", + "emptyBangHint": "" + }, "children": { "action": { "search": { diff --git a/packages/translation/src/lang/el.json b/packages/translation/src/lang/el.json index 9a15d93b9..a748ef3f7 100644 --- a/packages/translation/src/lang/el.json +++ b/packages/translation/src/lang/el.json @@ -157,6 +157,9 @@ }, "openSearchInNewTab": { "label": "" + }, + "ddgBangs": { + "label": "" } }, "error": { @@ -246,6 +249,16 @@ } } }, + "changeDdgBangs": { + "notification": { + "success": { + "message": "" + }, + "error": { + "message": "" + } + } + }, "manageAvatar": { "changeImage": { "label": "", @@ -1080,6 +1093,7 @@ }, "colorScheme": { "options": { + "auto": "", "light": "", "dark": "" } @@ -2096,6 +2110,104 @@ "internalServerError": "" } }, + "umami": { + "name": "", + "description": "", + "visitors": "", + "active": "", + "pageviews": "", + "visits": "", + "bounceRate": "", + "avgDuration": "", + "option": { + "websiteId": { + "label": "", + "description": "", + "placeholder": "", + "loading": "", + "noWebsites": "", + "configureIntegrationFirst": "" + }, + "timeFrame": { + "label": "", + "description": "", + "option": { + "today": "", + "24h": "", + "7d": "", + "30d": "", + "month": "", + "lastMonth": "" + } + }, + "eventName": { + "label": "", + "description": "", + "placeholder": "", + "loading": "", + "noEvents": "", + "none": "", + "configureWebsiteFirst": "" + }, + "chartType": { + "label": "", + "description": "", + "option": { + "bar": "", + "sparkline": "" + } + }, + "chartStyle": { + "label": "", + "description": "", + "option": { + "grouped": "", + "overlay": "" + } + }, + "viewMode": { + "label": "", + "description": "", + "option": { + "chart": "", + "events": "", + "topPages": "", + "topReferrers": "" + } + }, + "eventNames": { + "label": "", + "description": "", + "placeholder": "", + "loading": "", + "noEvents": "", + "configureWebsiteFirst": "" + }, + "topCount": { + "label": "", + "description": "" + } + }, + "event": { + "occurrences": "", + "label": "" + }, + "topPages": { + "direct": "" + }, + "topReferrers": { + "direct": "" + }, + "events": { + "selectPrompt": "" + }, + "error": { + "noIntegration": "", + "noWebsite": "", + "noData": "", + "internalServerError": "" + } + }, "common": { "location": { "query": "", @@ -3568,6 +3680,7 @@ "defaultColorScheme": { "label": "", "options": { + "auto": "", "light": "", "dark": "" } @@ -3668,6 +3781,9 @@ }, "tracearr": { "label": "" + }, + "umamiActiveVisitors": { + "label": "" } }, "interval": { @@ -4380,6 +4496,7 @@ "title": "", "option": { "colorScheme": { + "auto": "", "light": "", "dark": "" }, @@ -4431,6 +4548,14 @@ "group": { "searchEngine": { "title": "", + "tipDdgBangs": "", + "bang": { + "searchWithQuery": "", + "pressEnterToOpen": "", + "engineSelected": "", + "typeQueryToContinue": "", + "emptyBangHint": "" + }, "children": { "action": { "search": { diff --git a/packages/translation/src/lang/en-gb.json b/packages/translation/src/lang/en-gb.json index e3ab3512e..2df303887 100644 --- a/packages/translation/src/lang/en-gb.json +++ b/packages/translation/src/lang/en-gb.json @@ -157,6 +157,9 @@ }, "openSearchInNewTab": { "label": "Open the search results in a new tab" + }, + "ddgBangs": { + "label": "Enable DuckDuckGo bangs" } }, "error": { @@ -246,6 +249,16 @@ } } }, + "changeDdgBangs": { + "notification": { + "success": { + "message": "DuckDuckGo bangs toggled successfully" + }, + "error": { + "message": "Unable to toggle DuckDuckGo bangs" + } + } + }, "manageAvatar": { "changeImage": { "label": "Change image", @@ -1080,6 +1093,7 @@ }, "colorScheme": { "options": { + "auto": "Auto", "light": "Light", "dark": "Dark" } @@ -2096,6 +2110,104 @@ "internalServerError": "Failed to fetch Tracearr data" } }, + "umami": { + "name": "Umami Analytics", + "description": "Display visitor stats from your Umami analytics instance", + "visitors": "visitors", + "active": "active", + "pageviews": "", + "visits": "", + "bounceRate": "", + "avgDuration": "", + "option": { + "websiteId": { + "label": "", + "description": "", + "placeholder": "", + "loading": "", + "noWebsites": "", + "configureIntegrationFirst": "" + }, + "timeFrame": { + "label": "", + "description": "", + "option": { + "today": "", + "24h": "", + "7d": "", + "30d": "", + "month": "", + "lastMonth": "" + } + }, + "eventName": { + "label": "", + "description": "", + "placeholder": "", + "loading": "", + "noEvents": "", + "none": "", + "configureWebsiteFirst": "" + }, + "chartType": { + "label": "", + "description": "", + "option": { + "bar": "", + "sparkline": "" + } + }, + "chartStyle": { + "label": "", + "description": "", + "option": { + "grouped": "", + "overlay": "" + } + }, + "viewMode": { + "label": "", + "description": "", + "option": { + "chart": "", + "events": "", + "topPages": "", + "topReferrers": "" + } + }, + "eventNames": { + "label": "", + "description": "", + "placeholder": "", + "loading": "", + "noEvents": "", + "configureWebsiteFirst": "" + }, + "topCount": { + "label": "", + "description": "" + } + }, + "event": { + "occurrences": "", + "label": "" + }, + "topPages": { + "direct": "" + }, + "topReferrers": { + "direct": "" + }, + "events": { + "selectPrompt": "" + }, + "error": { + "noIntegration": "", + "noWebsite": "", + "noData": "", + "internalServerError": "" + } + }, "common": { "location": { "query": "City / Postal code", @@ -3568,6 +3680,7 @@ "defaultColorScheme": { "label": "Default colour scheme", "options": { + "auto": "", "light": "", "dark": "" } @@ -3668,6 +3781,9 @@ }, "tracearr": { "label": "" + }, + "umamiActiveVisitors": { + "label": "" } }, "interval": { @@ -4380,6 +4496,7 @@ "title": "", "option": { "colorScheme": { + "auto": "", "light": "", "dark": "" }, @@ -4431,6 +4548,14 @@ "group": { "searchEngine": { "title": "", + "tipDdgBangs": "", + "bang": { + "searchWithQuery": "", + "pressEnterToOpen": "", + "engineSelected": "", + "typeQueryToContinue": "", + "emptyBangHint": "" + }, "children": { "action": { "search": { diff --git a/packages/translation/src/lang/es.json b/packages/translation/src/lang/es.json index 5ec0b8573..a5306e619 100644 --- a/packages/translation/src/lang/es.json +++ b/packages/translation/src/lang/es.json @@ -157,6 +157,9 @@ }, "openSearchInNewTab": { "label": "Abrir resultados de búsqueda en una nueva pestaña" + }, + "ddgBangs": { + "label": "" } }, "error": { @@ -246,6 +249,16 @@ } } }, + "changeDdgBangs": { + "notification": { + "success": { + "message": "" + }, + "error": { + "message": "" + } + } + }, "manageAvatar": { "changeImage": { "label": "Cambiar imagen", @@ -1080,6 +1093,7 @@ }, "colorScheme": { "options": { + "auto": "", "light": "Claro", "dark": "Oscuro" } @@ -2096,6 +2110,104 @@ "internalServerError": "Error al obtener los datos de Tracearr" } }, + "umami": { + "name": "", + "description": "", + "visitors": "", + "active": "", + "pageviews": "", + "visits": "", + "bounceRate": "", + "avgDuration": "", + "option": { + "websiteId": { + "label": "", + "description": "", + "placeholder": "", + "loading": "", + "noWebsites": "", + "configureIntegrationFirst": "" + }, + "timeFrame": { + "label": "", + "description": "", + "option": { + "today": "", + "24h": "", + "7d": "", + "30d": "", + "month": "", + "lastMonth": "" + } + }, + "eventName": { + "label": "", + "description": "", + "placeholder": "", + "loading": "", + "noEvents": "", + "none": "", + "configureWebsiteFirst": "" + }, + "chartType": { + "label": "", + "description": "", + "option": { + "bar": "", + "sparkline": "" + } + }, + "chartStyle": { + "label": "", + "description": "", + "option": { + "grouped": "", + "overlay": "" + } + }, + "viewMode": { + "label": "", + "description": "", + "option": { + "chart": "", + "events": "", + "topPages": "", + "topReferrers": "" + } + }, + "eventNames": { + "label": "", + "description": "", + "placeholder": "", + "loading": "", + "noEvents": "", + "configureWebsiteFirst": "" + }, + "topCount": { + "label": "", + "description": "" + } + }, + "event": { + "occurrences": "", + "label": "" + }, + "topPages": { + "direct": "" + }, + "topReferrers": { + "direct": "" + }, + "events": { + "selectPrompt": "" + }, + "error": { + "noIntegration": "", + "noWebsite": "", + "noData": "", + "internalServerError": "" + } + }, "common": { "location": { "query": "Ciudad / Código postal", @@ -3568,6 +3680,7 @@ "defaultColorScheme": { "label": "Esquema de color predeterminado", "options": { + "auto": "", "light": "Claro", "dark": "Oscuro" } @@ -3668,6 +3781,9 @@ }, "tracearr": { "label": "Tracearr" + }, + "umamiActiveVisitors": { + "label": "" } }, "interval": { @@ -4380,6 +4496,7 @@ "title": "Comandos globales", "option": { "colorScheme": { + "auto": "", "light": "Cambiar a modo claro", "dark": "Cambiar a modo oscuro" }, @@ -4431,6 +4548,14 @@ "group": { "searchEngine": { "title": "Motores de búsqueda", + "tipDdgBangs": "", + "bang": { + "searchWithQuery": "", + "pressEnterToOpen": "", + "engineSelected": "", + "typeQueryToContinue": "", + "emptyBangHint": "" + }, "children": { "action": { "search": { diff --git a/packages/translation/src/lang/et.json b/packages/translation/src/lang/et.json index 3f4b529f7..c6e4fbf67 100644 --- a/packages/translation/src/lang/et.json +++ b/packages/translation/src/lang/et.json @@ -157,6 +157,9 @@ }, "openSearchInNewTab": { "label": "" + }, + "ddgBangs": { + "label": "" } }, "error": { @@ -246,6 +249,16 @@ } } }, + "changeDdgBangs": { + "notification": { + "success": { + "message": "" + }, + "error": { + "message": "" + } + } + }, "manageAvatar": { "changeImage": { "label": "", @@ -1080,6 +1093,7 @@ }, "colorScheme": { "options": { + "auto": "", "light": "", "dark": "" } @@ -2096,6 +2110,104 @@ "internalServerError": "" } }, + "umami": { + "name": "", + "description": "", + "visitors": "", + "active": "", + "pageviews": "", + "visits": "", + "bounceRate": "", + "avgDuration": "", + "option": { + "websiteId": { + "label": "", + "description": "", + "placeholder": "", + "loading": "", + "noWebsites": "", + "configureIntegrationFirst": "" + }, + "timeFrame": { + "label": "", + "description": "", + "option": { + "today": "", + "24h": "", + "7d": "", + "30d": "", + "month": "", + "lastMonth": "" + } + }, + "eventName": { + "label": "", + "description": "", + "placeholder": "", + "loading": "", + "noEvents": "", + "none": "", + "configureWebsiteFirst": "" + }, + "chartType": { + "label": "", + "description": "", + "option": { + "bar": "", + "sparkline": "" + } + }, + "chartStyle": { + "label": "", + "description": "", + "option": { + "grouped": "", + "overlay": "" + } + }, + "viewMode": { + "label": "", + "description": "", + "option": { + "chart": "", + "events": "", + "topPages": "", + "topReferrers": "" + } + }, + "eventNames": { + "label": "", + "description": "", + "placeholder": "", + "loading": "", + "noEvents": "", + "configureWebsiteFirst": "" + }, + "topCount": { + "label": "", + "description": "" + } + }, + "event": { + "occurrences": "", + "label": "" + }, + "topPages": { + "direct": "" + }, + "topReferrers": { + "direct": "" + }, + "events": { + "selectPrompt": "" + }, + "error": { + "noIntegration": "", + "noWebsite": "", + "noData": "", + "internalServerError": "" + } + }, "common": { "location": { "query": "", @@ -3568,6 +3680,7 @@ "defaultColorScheme": { "label": "", "options": { + "auto": "", "light": "", "dark": "" } @@ -3668,6 +3781,9 @@ }, "tracearr": { "label": "" + }, + "umamiActiveVisitors": { + "label": "" } }, "interval": { @@ -4380,6 +4496,7 @@ "title": "", "option": { "colorScheme": { + "auto": "", "light": "", "dark": "" }, @@ -4431,6 +4548,14 @@ "group": { "searchEngine": { "title": "", + "tipDdgBangs": "", + "bang": { + "searchWithQuery": "", + "pressEnterToOpen": "", + "engineSelected": "", + "typeQueryToContinue": "", + "emptyBangHint": "" + }, "children": { "action": { "search": { diff --git a/packages/translation/src/lang/fr.json b/packages/translation/src/lang/fr.json index aba3a3589..625551048 100644 --- a/packages/translation/src/lang/fr.json +++ b/packages/translation/src/lang/fr.json @@ -157,6 +157,9 @@ }, "openSearchInNewTab": { "label": "Ouvrir les résultats de recherche dans un nouvel onglet" + }, + "ddgBangs": { + "label": "" } }, "error": { @@ -246,6 +249,16 @@ } } }, + "changeDdgBangs": { + "notification": { + "success": { + "message": "" + }, + "error": { + "message": "" + } + } + }, "manageAvatar": { "changeImage": { "label": "Modifier l’image", @@ -1080,6 +1093,7 @@ }, "colorScheme": { "options": { + "auto": "", "light": "Clair", "dark": "Sombre" } @@ -2096,6 +2110,104 @@ "internalServerError": "Impossible de récupérer les données de Tracearr" } }, + "umami": { + "name": "", + "description": "", + "visitors": "", + "active": "", + "pageviews": "", + "visits": "", + "bounceRate": "", + "avgDuration": "", + "option": { + "websiteId": { + "label": "", + "description": "", + "placeholder": "", + "loading": "", + "noWebsites": "", + "configureIntegrationFirst": "" + }, + "timeFrame": { + "label": "", + "description": "", + "option": { + "today": "", + "24h": "", + "7d": "", + "30d": "", + "month": "", + "lastMonth": "" + } + }, + "eventName": { + "label": "", + "description": "", + "placeholder": "", + "loading": "", + "noEvents": "", + "none": "", + "configureWebsiteFirst": "" + }, + "chartType": { + "label": "", + "description": "", + "option": { + "bar": "", + "sparkline": "" + } + }, + "chartStyle": { + "label": "", + "description": "", + "option": { + "grouped": "", + "overlay": "" + } + }, + "viewMode": { + "label": "", + "description": "", + "option": { + "chart": "", + "events": "", + "topPages": "", + "topReferrers": "" + } + }, + "eventNames": { + "label": "", + "description": "", + "placeholder": "", + "loading": "", + "noEvents": "", + "configureWebsiteFirst": "" + }, + "topCount": { + "label": "", + "description": "" + } + }, + "event": { + "occurrences": "", + "label": "" + }, + "topPages": { + "direct": "" + }, + "topReferrers": { + "direct": "" + }, + "events": { + "selectPrompt": "" + }, + "error": { + "noIntegration": "", + "noWebsite": "", + "noData": "", + "internalServerError": "" + } + }, "common": { "location": { "query": "Ville / Code Postal", @@ -3568,6 +3680,7 @@ "defaultColorScheme": { "label": "Schéma de couleurs par défaut", "options": { + "auto": "", "light": "Clair", "dark": "Sombre" } @@ -3668,6 +3781,9 @@ }, "tracearr": { "label": "Tracearr" + }, + "umamiActiveVisitors": { + "label": "" } }, "interval": { @@ -4380,6 +4496,7 @@ "title": "Commandes globales", "option": { "colorScheme": { + "auto": "", "light": "Activer le mode clair", "dark": "Activer le mode sombre" }, @@ -4431,6 +4548,14 @@ "group": { "searchEngine": { "title": "Moteurs de recherche", + "tipDdgBangs": "", + "bang": { + "searchWithQuery": "", + "pressEnterToOpen": "", + "engineSelected": "", + "typeQueryToContinue": "", + "emptyBangHint": "" + }, "children": { "action": { "search": { diff --git a/packages/translation/src/lang/he.json b/packages/translation/src/lang/he.json index 68ff225d1..d523ad84f 100644 --- a/packages/translation/src/lang/he.json +++ b/packages/translation/src/lang/he.json @@ -157,6 +157,9 @@ }, "openSearchInNewTab": { "label": "פתיחת תוצאות חיפוש בכרטיסיה חדשה" + }, + "ddgBangs": { + "label": "" } }, "error": { @@ -246,6 +249,16 @@ } } }, + "changeDdgBangs": { + "notification": { + "success": { + "message": "" + }, + "error": { + "message": "" + } + } + }, "manageAvatar": { "changeImage": { "label": "שנה תמונה", @@ -1080,6 +1093,7 @@ }, "colorScheme": { "options": { + "auto": "", "light": "בהיר", "dark": "כהה" } @@ -2096,6 +2110,104 @@ "internalServerError": "" } }, + "umami": { + "name": "", + "description": "", + "visitors": "", + "active": "", + "pageviews": "", + "visits": "", + "bounceRate": "", + "avgDuration": "", + "option": { + "websiteId": { + "label": "", + "description": "", + "placeholder": "", + "loading": "", + "noWebsites": "", + "configureIntegrationFirst": "" + }, + "timeFrame": { + "label": "", + "description": "", + "option": { + "today": "", + "24h": "", + "7d": "", + "30d": "", + "month": "", + "lastMonth": "" + } + }, + "eventName": { + "label": "", + "description": "", + "placeholder": "", + "loading": "", + "noEvents": "", + "none": "", + "configureWebsiteFirst": "" + }, + "chartType": { + "label": "", + "description": "", + "option": { + "bar": "", + "sparkline": "" + } + }, + "chartStyle": { + "label": "", + "description": "", + "option": { + "grouped": "", + "overlay": "" + } + }, + "viewMode": { + "label": "", + "description": "", + "option": { + "chart": "", + "events": "", + "topPages": "", + "topReferrers": "" + } + }, + "eventNames": { + "label": "", + "description": "", + "placeholder": "", + "loading": "", + "noEvents": "", + "configureWebsiteFirst": "" + }, + "topCount": { + "label": "", + "description": "" + } + }, + "event": { + "occurrences": "", + "label": "" + }, + "topPages": { + "direct": "" + }, + "topReferrers": { + "direct": "" + }, + "events": { + "selectPrompt": "" + }, + "error": { + "noIntegration": "", + "noWebsite": "", + "noData": "", + "internalServerError": "" + } + }, "common": { "location": { "query": "עיר / מיקוד", @@ -3568,6 +3680,7 @@ "defaultColorScheme": { "label": "סכמת צבעים ברירת מחדל", "options": { + "auto": "", "light": "בהיר", "dark": "כהה" } @@ -3668,6 +3781,9 @@ }, "tracearr": { "label": "" + }, + "umamiActiveVisitors": { + "label": "" } }, "interval": { @@ -4380,6 +4496,7 @@ "title": "פקודות גלובליות", "option": { "colorScheme": { + "auto": "", "light": "עבור למצב בהיר", "dark": "עבור למצב כהה" }, @@ -4431,6 +4548,14 @@ "group": { "searchEngine": { "title": "מנועי חיפוש", + "tipDdgBangs": "", + "bang": { + "searchWithQuery": "", + "pressEnterToOpen": "", + "engineSelected": "", + "typeQueryToContinue": "", + "emptyBangHint": "" + }, "children": { "action": { "search": { diff --git a/packages/translation/src/lang/hr.json b/packages/translation/src/lang/hr.json index c6b65dbbd..8bd53d09f 100644 --- a/packages/translation/src/lang/hr.json +++ b/packages/translation/src/lang/hr.json @@ -157,6 +157,9 @@ }, "openSearchInNewTab": { "label": "" + }, + "ddgBangs": { + "label": "" } }, "error": { @@ -246,6 +249,16 @@ } } }, + "changeDdgBangs": { + "notification": { + "success": { + "message": "" + }, + "error": { + "message": "" + } + } + }, "manageAvatar": { "changeImage": { "label": "", @@ -1080,6 +1093,7 @@ }, "colorScheme": { "options": { + "auto": "", "light": "", "dark": "" } @@ -2096,6 +2110,104 @@ "internalServerError": "" } }, + "umami": { + "name": "", + "description": "", + "visitors": "", + "active": "", + "pageviews": "", + "visits": "", + "bounceRate": "", + "avgDuration": "", + "option": { + "websiteId": { + "label": "", + "description": "", + "placeholder": "", + "loading": "", + "noWebsites": "", + "configureIntegrationFirst": "" + }, + "timeFrame": { + "label": "", + "description": "", + "option": { + "today": "", + "24h": "", + "7d": "", + "30d": "", + "month": "", + "lastMonth": "" + } + }, + "eventName": { + "label": "", + "description": "", + "placeholder": "", + "loading": "", + "noEvents": "", + "none": "", + "configureWebsiteFirst": "" + }, + "chartType": { + "label": "", + "description": "", + "option": { + "bar": "", + "sparkline": "" + } + }, + "chartStyle": { + "label": "", + "description": "", + "option": { + "grouped": "", + "overlay": "" + } + }, + "viewMode": { + "label": "", + "description": "", + "option": { + "chart": "", + "events": "", + "topPages": "", + "topReferrers": "" + } + }, + "eventNames": { + "label": "", + "description": "", + "placeholder": "", + "loading": "", + "noEvents": "", + "configureWebsiteFirst": "" + }, + "topCount": { + "label": "", + "description": "" + } + }, + "event": { + "occurrences": "", + "label": "" + }, + "topPages": { + "direct": "" + }, + "topReferrers": { + "direct": "" + }, + "events": { + "selectPrompt": "" + }, + "error": { + "noIntegration": "", + "noWebsite": "", + "noData": "", + "internalServerError": "" + } + }, "common": { "location": { "query": "", @@ -3568,6 +3680,7 @@ "defaultColorScheme": { "label": "", "options": { + "auto": "", "light": "", "dark": "" } @@ -3668,6 +3781,9 @@ }, "tracearr": { "label": "" + }, + "umamiActiveVisitors": { + "label": "" } }, "interval": { @@ -4380,6 +4496,7 @@ "title": "", "option": { "colorScheme": { + "auto": "", "light": "", "dark": "" }, @@ -4431,6 +4548,14 @@ "group": { "searchEngine": { "title": "", + "tipDdgBangs": "", + "bang": { + "searchWithQuery": "", + "pressEnterToOpen": "", + "engineSelected": "", + "typeQueryToContinue": "", + "emptyBangHint": "" + }, "children": { "action": { "search": { diff --git a/packages/translation/src/lang/hu.json b/packages/translation/src/lang/hu.json index 44da07150..2561eff74 100644 --- a/packages/translation/src/lang/hu.json +++ b/packages/translation/src/lang/hu.json @@ -157,6 +157,9 @@ }, "openSearchInNewTab": { "label": "Nyissa meg a keresési eredményeket új ablakban" + }, + "ddgBangs": { + "label": "" } }, "error": { @@ -246,6 +249,16 @@ } } }, + "changeDdgBangs": { + "notification": { + "success": { + "message": "" + }, + "error": { + "message": "" + } + } + }, "manageAvatar": { "changeImage": { "label": "Képcsere", @@ -1080,6 +1093,7 @@ }, "colorScheme": { "options": { + "auto": "", "light": "Világos", "dark": "Sötét" } @@ -2096,6 +2110,104 @@ "internalServerError": "Nem sikerült letölteni a Tracearr-adatokat" } }, + "umami": { + "name": "", + "description": "", + "visitors": "", + "active": "", + "pageviews": "", + "visits": "", + "bounceRate": "", + "avgDuration": "", + "option": { + "websiteId": { + "label": "", + "description": "", + "placeholder": "", + "loading": "", + "noWebsites": "", + "configureIntegrationFirst": "" + }, + "timeFrame": { + "label": "", + "description": "", + "option": { + "today": "", + "24h": "", + "7d": "", + "30d": "", + "month": "", + "lastMonth": "" + } + }, + "eventName": { + "label": "", + "description": "", + "placeholder": "", + "loading": "", + "noEvents": "", + "none": "", + "configureWebsiteFirst": "" + }, + "chartType": { + "label": "", + "description": "", + "option": { + "bar": "", + "sparkline": "" + } + }, + "chartStyle": { + "label": "", + "description": "", + "option": { + "grouped": "", + "overlay": "" + } + }, + "viewMode": { + "label": "", + "description": "", + "option": { + "chart": "", + "events": "", + "topPages": "", + "topReferrers": "" + } + }, + "eventNames": { + "label": "", + "description": "", + "placeholder": "", + "loading": "", + "noEvents": "", + "configureWebsiteFirst": "" + }, + "topCount": { + "label": "", + "description": "" + } + }, + "event": { + "occurrences": "", + "label": "" + }, + "topPages": { + "direct": "" + }, + "topReferrers": { + "direct": "" + }, + "events": { + "selectPrompt": "" + }, + "error": { + "noIntegration": "", + "noWebsite": "", + "noData": "", + "internalServerError": "" + } + }, "common": { "location": { "query": "Város / Irányítószám", @@ -3568,6 +3680,7 @@ "defaultColorScheme": { "label": "", "options": { + "auto": "", "light": "Világos", "dark": "Sötét" } @@ -3668,6 +3781,9 @@ }, "tracearr": { "label": "" + }, + "umamiActiveVisitors": { + "label": "" } }, "interval": { @@ -4380,6 +4496,7 @@ "title": "", "option": { "colorScheme": { + "auto": "", "light": "", "dark": "" }, @@ -4431,6 +4548,14 @@ "group": { "searchEngine": { "title": "Keresőmotorok", + "tipDdgBangs": "", + "bang": { + "searchWithQuery": "", + "pressEnterToOpen": "", + "engineSelected": "", + "typeQueryToContinue": "", + "emptyBangHint": "" + }, "children": { "action": { "search": { diff --git a/packages/translation/src/lang/it.json b/packages/translation/src/lang/it.json index 5146e0ecd..c17edea9d 100644 --- a/packages/translation/src/lang/it.json +++ b/packages/translation/src/lang/it.json @@ -157,6 +157,9 @@ }, "openSearchInNewTab": { "label": "Apri risultati di ricerca in una nuova scheda" + }, + "ddgBangs": { + "label": "" } }, "error": { @@ -246,6 +249,16 @@ } } }, + "changeDdgBangs": { + "notification": { + "success": { + "message": "" + }, + "error": { + "message": "" + } + } + }, "manageAvatar": { "changeImage": { "label": "Cambia immagine", @@ -1080,6 +1093,7 @@ }, "colorScheme": { "options": { + "auto": "", "light": "Chiaro", "dark": "Scuro" } @@ -2096,6 +2110,104 @@ "internalServerError": "Impossibile recuperare i dati di Tracearr" } }, + "umami": { + "name": "", + "description": "", + "visitors": "", + "active": "", + "pageviews": "", + "visits": "", + "bounceRate": "", + "avgDuration": "", + "option": { + "websiteId": { + "label": "", + "description": "", + "placeholder": "", + "loading": "", + "noWebsites": "", + "configureIntegrationFirst": "" + }, + "timeFrame": { + "label": "", + "description": "", + "option": { + "today": "", + "24h": "", + "7d": "", + "30d": "", + "month": "", + "lastMonth": "" + } + }, + "eventName": { + "label": "", + "description": "", + "placeholder": "", + "loading": "", + "noEvents": "", + "none": "", + "configureWebsiteFirst": "" + }, + "chartType": { + "label": "", + "description": "", + "option": { + "bar": "", + "sparkline": "" + } + }, + "chartStyle": { + "label": "", + "description": "", + "option": { + "grouped": "", + "overlay": "" + } + }, + "viewMode": { + "label": "", + "description": "", + "option": { + "chart": "", + "events": "", + "topPages": "", + "topReferrers": "" + } + }, + "eventNames": { + "label": "", + "description": "", + "placeholder": "", + "loading": "", + "noEvents": "", + "configureWebsiteFirst": "" + }, + "topCount": { + "label": "", + "description": "" + } + }, + "event": { + "occurrences": "", + "label": "" + }, + "topPages": { + "direct": "" + }, + "topReferrers": { + "direct": "" + }, + "events": { + "selectPrompt": "" + }, + "error": { + "noIntegration": "", + "noWebsite": "", + "noData": "", + "internalServerError": "" + } + }, "common": { "location": { "query": "Città / Codice postale", @@ -3568,6 +3680,7 @@ "defaultColorScheme": { "label": "Schema colore predefinito", "options": { + "auto": "", "light": "Chiaro", "dark": "Scuro" } @@ -3668,6 +3781,9 @@ }, "tracearr": { "label": "Tracearr" + }, + "umamiActiveVisitors": { + "label": "" } }, "interval": { @@ -4380,6 +4496,7 @@ "title": "Comandi generali", "option": { "colorScheme": { + "auto": "", "light": "Passa al tema chiaro", "dark": "Passa al tema scuro" }, @@ -4431,6 +4548,14 @@ "group": { "searchEngine": { "title": "Motori di ricerca", + "tipDdgBangs": "", + "bang": { + "searchWithQuery": "", + "pressEnterToOpen": "", + "engineSelected": "", + "typeQueryToContinue": "", + "emptyBangHint": "" + }, "children": { "action": { "search": { diff --git a/packages/translation/src/lang/ja.json b/packages/translation/src/lang/ja.json index 72c636d84..9674169e1 100644 --- a/packages/translation/src/lang/ja.json +++ b/packages/translation/src/lang/ja.json @@ -157,6 +157,9 @@ }, "openSearchInNewTab": { "label": "新しいタブで検索結果を見る" + }, + "ddgBangs": { + "label": "" } }, "error": { @@ -246,6 +249,16 @@ } } }, + "changeDdgBangs": { + "notification": { + "success": { + "message": "" + }, + "error": { + "message": "" + } + } + }, "manageAvatar": { "changeImage": { "label": "画像を変更", @@ -1080,6 +1093,7 @@ }, "colorScheme": { "options": { + "auto": "", "light": "ライト", "dark": "ダーク" } @@ -2096,6 +2110,104 @@ "internalServerError": "Tracearrデータの取得に失敗しました" } }, + "umami": { + "name": "", + "description": "", + "visitors": "", + "active": "", + "pageviews": "", + "visits": "", + "bounceRate": "", + "avgDuration": "", + "option": { + "websiteId": { + "label": "", + "description": "", + "placeholder": "", + "loading": "", + "noWebsites": "", + "configureIntegrationFirst": "" + }, + "timeFrame": { + "label": "", + "description": "", + "option": { + "today": "", + "24h": "", + "7d": "", + "30d": "", + "month": "", + "lastMonth": "" + } + }, + "eventName": { + "label": "", + "description": "", + "placeholder": "", + "loading": "", + "noEvents": "", + "none": "", + "configureWebsiteFirst": "" + }, + "chartType": { + "label": "", + "description": "", + "option": { + "bar": "", + "sparkline": "" + } + }, + "chartStyle": { + "label": "", + "description": "", + "option": { + "grouped": "", + "overlay": "" + } + }, + "viewMode": { + "label": "", + "description": "", + "option": { + "chart": "", + "events": "", + "topPages": "", + "topReferrers": "" + } + }, + "eventNames": { + "label": "", + "description": "", + "placeholder": "", + "loading": "", + "noEvents": "", + "configureWebsiteFirst": "" + }, + "topCount": { + "label": "", + "description": "" + } + }, + "event": { + "occurrences": "", + "label": "" + }, + "topPages": { + "direct": "" + }, + "topReferrers": { + "direct": "" + }, + "events": { + "selectPrompt": "" + }, + "error": { + "noIntegration": "", + "noWebsite": "", + "noData": "", + "internalServerError": "" + } + }, "common": { "location": { "query": "都市/郵便番号", @@ -3568,6 +3680,7 @@ "defaultColorScheme": { "label": "既定の配色設定", "options": { + "auto": "", "light": "ライト", "dark": "ダーク" } @@ -3668,6 +3781,9 @@ }, "tracearr": { "label": "Tracearr" + }, + "umamiActiveVisitors": { + "label": "" } }, "interval": { @@ -4380,6 +4496,7 @@ "title": "グローバルコマンド", "option": { "colorScheme": { + "auto": "", "light": "ライトモードに切り替え", "dark": "ダークモードに切り替え" }, @@ -4431,6 +4548,14 @@ "group": { "searchEngine": { "title": "検索エンジン", + "tipDdgBangs": "", + "bang": { + "searchWithQuery": "", + "pressEnterToOpen": "", + "engineSelected": "", + "typeQueryToContinue": "", + "emptyBangHint": "" + }, "children": { "action": { "search": { diff --git a/packages/translation/src/lang/ko.json b/packages/translation/src/lang/ko.json index 60d11950f..2d34e4ad8 100644 --- a/packages/translation/src/lang/ko.json +++ b/packages/translation/src/lang/ko.json @@ -157,6 +157,9 @@ }, "openSearchInNewTab": { "label": "" + }, + "ddgBangs": { + "label": "" } }, "error": { @@ -246,6 +249,16 @@ } } }, + "changeDdgBangs": { + "notification": { + "success": { + "message": "" + }, + "error": { + "message": "" + } + } + }, "manageAvatar": { "changeImage": { "label": "", @@ -1080,6 +1093,7 @@ }, "colorScheme": { "options": { + "auto": "", "light": "", "dark": "" } @@ -2096,6 +2110,104 @@ "internalServerError": "" } }, + "umami": { + "name": "", + "description": "", + "visitors": "", + "active": "", + "pageviews": "", + "visits": "", + "bounceRate": "", + "avgDuration": "", + "option": { + "websiteId": { + "label": "", + "description": "", + "placeholder": "", + "loading": "", + "noWebsites": "", + "configureIntegrationFirst": "" + }, + "timeFrame": { + "label": "", + "description": "", + "option": { + "today": "", + "24h": "", + "7d": "", + "30d": "", + "month": "", + "lastMonth": "" + } + }, + "eventName": { + "label": "", + "description": "", + "placeholder": "", + "loading": "", + "noEvents": "", + "none": "", + "configureWebsiteFirst": "" + }, + "chartType": { + "label": "", + "description": "", + "option": { + "bar": "", + "sparkline": "" + } + }, + "chartStyle": { + "label": "", + "description": "", + "option": { + "grouped": "", + "overlay": "" + } + }, + "viewMode": { + "label": "", + "description": "", + "option": { + "chart": "", + "events": "", + "topPages": "", + "topReferrers": "" + } + }, + "eventNames": { + "label": "", + "description": "", + "placeholder": "", + "loading": "", + "noEvents": "", + "configureWebsiteFirst": "" + }, + "topCount": { + "label": "", + "description": "" + } + }, + "event": { + "occurrences": "", + "label": "" + }, + "topPages": { + "direct": "" + }, + "topReferrers": { + "direct": "" + }, + "events": { + "selectPrompt": "" + }, + "error": { + "noIntegration": "", + "noWebsite": "", + "noData": "", + "internalServerError": "" + } + }, "common": { "location": { "query": "", @@ -3568,6 +3680,7 @@ "defaultColorScheme": { "label": "", "options": { + "auto": "", "light": "", "dark": "" } @@ -3668,6 +3781,9 @@ }, "tracearr": { "label": "" + }, + "umamiActiveVisitors": { + "label": "" } }, "interval": { @@ -4380,6 +4496,7 @@ "title": "", "option": { "colorScheme": { + "auto": "", "light": "", "dark": "" }, @@ -4431,6 +4548,14 @@ "group": { "searchEngine": { "title": "", + "tipDdgBangs": "", + "bang": { + "searchWithQuery": "", + "pressEnterToOpen": "", + "engineSelected": "", + "typeQueryToContinue": "", + "emptyBangHint": "" + }, "children": { "action": { "search": { diff --git a/packages/translation/src/lang/lt.json b/packages/translation/src/lang/lt.json index a28bed0de..510c9c7dd 100644 --- a/packages/translation/src/lang/lt.json +++ b/packages/translation/src/lang/lt.json @@ -157,6 +157,9 @@ }, "openSearchInNewTab": { "label": "" + }, + "ddgBangs": { + "label": "" } }, "error": { @@ -246,6 +249,16 @@ } } }, + "changeDdgBangs": { + "notification": { + "success": { + "message": "" + }, + "error": { + "message": "" + } + } + }, "manageAvatar": { "changeImage": { "label": "", @@ -1080,6 +1093,7 @@ }, "colorScheme": { "options": { + "auto": "", "light": "", "dark": "" } @@ -2096,6 +2110,104 @@ "internalServerError": "" } }, + "umami": { + "name": "", + "description": "", + "visitors": "", + "active": "", + "pageviews": "", + "visits": "", + "bounceRate": "", + "avgDuration": "", + "option": { + "websiteId": { + "label": "", + "description": "", + "placeholder": "", + "loading": "", + "noWebsites": "", + "configureIntegrationFirst": "" + }, + "timeFrame": { + "label": "", + "description": "", + "option": { + "today": "", + "24h": "", + "7d": "", + "30d": "", + "month": "", + "lastMonth": "" + } + }, + "eventName": { + "label": "", + "description": "", + "placeholder": "", + "loading": "", + "noEvents": "", + "none": "", + "configureWebsiteFirst": "" + }, + "chartType": { + "label": "", + "description": "", + "option": { + "bar": "", + "sparkline": "" + } + }, + "chartStyle": { + "label": "", + "description": "", + "option": { + "grouped": "", + "overlay": "" + } + }, + "viewMode": { + "label": "", + "description": "", + "option": { + "chart": "", + "events": "", + "topPages": "", + "topReferrers": "" + } + }, + "eventNames": { + "label": "", + "description": "", + "placeholder": "", + "loading": "", + "noEvents": "", + "configureWebsiteFirst": "" + }, + "topCount": { + "label": "", + "description": "" + } + }, + "event": { + "occurrences": "", + "label": "" + }, + "topPages": { + "direct": "" + }, + "topReferrers": { + "direct": "" + }, + "events": { + "selectPrompt": "" + }, + "error": { + "noIntegration": "", + "noWebsite": "", + "noData": "", + "internalServerError": "" + } + }, "common": { "location": { "query": "", @@ -3568,6 +3680,7 @@ "defaultColorScheme": { "label": "", "options": { + "auto": "", "light": "", "dark": "" } @@ -3668,6 +3781,9 @@ }, "tracearr": { "label": "" + }, + "umamiActiveVisitors": { + "label": "" } }, "interval": { @@ -4380,6 +4496,7 @@ "title": "", "option": { "colorScheme": { + "auto": "", "light": "", "dark": "" }, @@ -4431,6 +4548,14 @@ "group": { "searchEngine": { "title": "", + "tipDdgBangs": "", + "bang": { + "searchWithQuery": "", + "pressEnterToOpen": "", + "engineSelected": "", + "typeQueryToContinue": "", + "emptyBangHint": "" + }, "children": { "action": { "search": { diff --git a/packages/translation/src/lang/lv.json b/packages/translation/src/lang/lv.json index 6e06269c1..181c1ab8e 100644 --- a/packages/translation/src/lang/lv.json +++ b/packages/translation/src/lang/lv.json @@ -157,6 +157,9 @@ }, "openSearchInNewTab": { "label": "" + }, + "ddgBangs": { + "label": "" } }, "error": { @@ -246,6 +249,16 @@ } } }, + "changeDdgBangs": { + "notification": { + "success": { + "message": "" + }, + "error": { + "message": "" + } + } + }, "manageAvatar": { "changeImage": { "label": "", @@ -1080,6 +1093,7 @@ }, "colorScheme": { "options": { + "auto": "", "light": "", "dark": "" } @@ -2096,6 +2110,104 @@ "internalServerError": "" } }, + "umami": { + "name": "", + "description": "", + "visitors": "", + "active": "", + "pageviews": "", + "visits": "", + "bounceRate": "", + "avgDuration": "", + "option": { + "websiteId": { + "label": "", + "description": "", + "placeholder": "", + "loading": "", + "noWebsites": "", + "configureIntegrationFirst": "" + }, + "timeFrame": { + "label": "", + "description": "", + "option": { + "today": "", + "24h": "", + "7d": "", + "30d": "", + "month": "", + "lastMonth": "" + } + }, + "eventName": { + "label": "", + "description": "", + "placeholder": "", + "loading": "", + "noEvents": "", + "none": "", + "configureWebsiteFirst": "" + }, + "chartType": { + "label": "", + "description": "", + "option": { + "bar": "", + "sparkline": "" + } + }, + "chartStyle": { + "label": "", + "description": "", + "option": { + "grouped": "", + "overlay": "" + } + }, + "viewMode": { + "label": "", + "description": "", + "option": { + "chart": "", + "events": "", + "topPages": "", + "topReferrers": "" + } + }, + "eventNames": { + "label": "", + "description": "", + "placeholder": "", + "loading": "", + "noEvents": "", + "configureWebsiteFirst": "" + }, + "topCount": { + "label": "", + "description": "" + } + }, + "event": { + "occurrences": "", + "label": "" + }, + "topPages": { + "direct": "" + }, + "topReferrers": { + "direct": "" + }, + "events": { + "selectPrompt": "" + }, + "error": { + "noIntegration": "", + "noWebsite": "", + "noData": "", + "internalServerError": "" + } + }, "common": { "location": { "query": "", @@ -3568,6 +3680,7 @@ "defaultColorScheme": { "label": "", "options": { + "auto": "", "light": "", "dark": "" } @@ -3668,6 +3781,9 @@ }, "tracearr": { "label": "" + }, + "umamiActiveVisitors": { + "label": "" } }, "interval": { @@ -4380,6 +4496,7 @@ "title": "", "option": { "colorScheme": { + "auto": "", "light": "", "dark": "" }, @@ -4431,6 +4548,14 @@ "group": { "searchEngine": { "title": "", + "tipDdgBangs": "", + "bang": { + "searchWithQuery": "", + "pressEnterToOpen": "", + "engineSelected": "", + "typeQueryToContinue": "", + "emptyBangHint": "" + }, "children": { "action": { "search": { diff --git a/packages/translation/src/lang/nl.json b/packages/translation/src/lang/nl.json index 1773a66ac..c430e07d8 100644 --- a/packages/translation/src/lang/nl.json +++ b/packages/translation/src/lang/nl.json @@ -157,6 +157,9 @@ }, "openSearchInNewTab": { "label": "Zoekresultaten openen in nieuw tabblad" + }, + "ddgBangs": { + "label": "" } }, "error": { @@ -246,6 +249,16 @@ } } }, + "changeDdgBangs": { + "notification": { + "success": { + "message": "" + }, + "error": { + "message": "" + } + } + }, "manageAvatar": { "changeImage": { "label": "Afbeelding veranderen", @@ -1080,6 +1093,7 @@ }, "colorScheme": { "options": { + "auto": "", "light": "Licht", "dark": "Donker" } @@ -2096,6 +2110,104 @@ "internalServerError": "" } }, + "umami": { + "name": "", + "description": "", + "visitors": "", + "active": "", + "pageviews": "", + "visits": "", + "bounceRate": "", + "avgDuration": "", + "option": { + "websiteId": { + "label": "", + "description": "", + "placeholder": "", + "loading": "", + "noWebsites": "", + "configureIntegrationFirst": "" + }, + "timeFrame": { + "label": "", + "description": "", + "option": { + "today": "", + "24h": "", + "7d": "", + "30d": "", + "month": "", + "lastMonth": "" + } + }, + "eventName": { + "label": "", + "description": "", + "placeholder": "", + "loading": "", + "noEvents": "", + "none": "", + "configureWebsiteFirst": "" + }, + "chartType": { + "label": "", + "description": "", + "option": { + "bar": "", + "sparkline": "" + } + }, + "chartStyle": { + "label": "", + "description": "", + "option": { + "grouped": "", + "overlay": "" + } + }, + "viewMode": { + "label": "", + "description": "", + "option": { + "chart": "", + "events": "", + "topPages": "", + "topReferrers": "" + } + }, + "eventNames": { + "label": "", + "description": "", + "placeholder": "", + "loading": "", + "noEvents": "", + "configureWebsiteFirst": "" + }, + "topCount": { + "label": "", + "description": "" + } + }, + "event": { + "occurrences": "", + "label": "" + }, + "topPages": { + "direct": "" + }, + "topReferrers": { + "direct": "" + }, + "events": { + "selectPrompt": "" + }, + "error": { + "noIntegration": "", + "noWebsite": "", + "noData": "", + "internalServerError": "" + } + }, "common": { "location": { "query": "Stad / postcode", @@ -3568,6 +3680,7 @@ "defaultColorScheme": { "label": "Standaard kleurenschema", "options": { + "auto": "", "light": "Licht", "dark": "Donker" } @@ -3668,6 +3781,9 @@ }, "tracearr": { "label": "" + }, + "umamiActiveVisitors": { + "label": "" } }, "interval": { @@ -4380,6 +4496,7 @@ "title": "Globale commando's", "option": { "colorScheme": { + "auto": "", "light": "Schakel naar lichte modus", "dark": "Schakel naar donkere modus" }, @@ -4431,6 +4548,14 @@ "group": { "searchEngine": { "title": "Zoekmachines", + "tipDdgBangs": "", + "bang": { + "searchWithQuery": "", + "pressEnterToOpen": "", + "engineSelected": "", + "typeQueryToContinue": "", + "emptyBangHint": "" + }, "children": { "action": { "search": { diff --git a/packages/translation/src/lang/no.json b/packages/translation/src/lang/no.json index 7d4166803..754f9a821 100644 --- a/packages/translation/src/lang/no.json +++ b/packages/translation/src/lang/no.json @@ -157,6 +157,9 @@ }, "openSearchInNewTab": { "label": "Åpne søkeresultater i ny fane" + }, + "ddgBangs": { + "label": "" } }, "error": { @@ -246,6 +249,16 @@ } } }, + "changeDdgBangs": { + "notification": { + "success": { + "message": "" + }, + "error": { + "message": "" + } + } + }, "manageAvatar": { "changeImage": { "label": "Endre bilde", @@ -1080,6 +1093,7 @@ }, "colorScheme": { "options": { + "auto": "", "light": "Lys", "dark": "Mørk" } @@ -2096,6 +2110,104 @@ "internalServerError": "Kunne ikke hente Tracearr data" } }, + "umami": { + "name": "", + "description": "", + "visitors": "", + "active": "", + "pageviews": "", + "visits": "", + "bounceRate": "", + "avgDuration": "", + "option": { + "websiteId": { + "label": "", + "description": "", + "placeholder": "", + "loading": "", + "noWebsites": "", + "configureIntegrationFirst": "" + }, + "timeFrame": { + "label": "", + "description": "", + "option": { + "today": "", + "24h": "", + "7d": "", + "30d": "", + "month": "", + "lastMonth": "" + } + }, + "eventName": { + "label": "", + "description": "", + "placeholder": "", + "loading": "", + "noEvents": "", + "none": "", + "configureWebsiteFirst": "" + }, + "chartType": { + "label": "", + "description": "", + "option": { + "bar": "", + "sparkline": "" + } + }, + "chartStyle": { + "label": "", + "description": "", + "option": { + "grouped": "", + "overlay": "" + } + }, + "viewMode": { + "label": "", + "description": "", + "option": { + "chart": "", + "events": "", + "topPages": "", + "topReferrers": "" + } + }, + "eventNames": { + "label": "", + "description": "", + "placeholder": "", + "loading": "", + "noEvents": "", + "configureWebsiteFirst": "" + }, + "topCount": { + "label": "", + "description": "" + } + }, + "event": { + "occurrences": "", + "label": "" + }, + "topPages": { + "direct": "" + }, + "topReferrers": { + "direct": "" + }, + "events": { + "selectPrompt": "" + }, + "error": { + "noIntegration": "", + "noWebsite": "", + "noData": "", + "internalServerError": "" + } + }, "common": { "location": { "query": "By / Postnummer", @@ -3568,6 +3680,7 @@ "defaultColorScheme": { "label": "Standard fargetema", "options": { + "auto": "", "light": "Lys", "dark": "Mørk" } @@ -3668,6 +3781,9 @@ }, "tracearr": { "label": "Tracearr" + }, + "umamiActiveVisitors": { + "label": "" } }, "interval": { @@ -4380,6 +4496,7 @@ "title": "Globale kommandoer", "option": { "colorScheme": { + "auto": "", "light": "Bytt til lys modus", "dark": "Bytt til mørk modus" }, @@ -4431,6 +4548,14 @@ "group": { "searchEngine": { "title": "Søkemotorer", + "tipDdgBangs": "", + "bang": { + "searchWithQuery": "", + "pressEnterToOpen": "", + "engineSelected": "", + "typeQueryToContinue": "", + "emptyBangHint": "" + }, "children": { "action": { "search": { diff --git a/packages/translation/src/lang/pl.json b/packages/translation/src/lang/pl.json index 470947395..6288f1302 100644 --- a/packages/translation/src/lang/pl.json +++ b/packages/translation/src/lang/pl.json @@ -157,6 +157,9 @@ }, "openSearchInNewTab": { "label": "Otwórz wyniki wyszukiwania w nowej karcie" + }, + "ddgBangs": { + "label": "" } }, "error": { @@ -246,6 +249,16 @@ } } }, + "changeDdgBangs": { + "notification": { + "success": { + "message": "" + }, + "error": { + "message": "" + } + } + }, "manageAvatar": { "changeImage": { "label": "Zmień obraz", @@ -1080,6 +1093,7 @@ }, "colorScheme": { "options": { + "auto": "", "light": "Jasny", "dark": "Ciemny" } @@ -2096,6 +2110,104 @@ "internalServerError": "Nie udało się pobrać danych z Tracearr" } }, + "umami": { + "name": "", + "description": "", + "visitors": "", + "active": "", + "pageviews": "", + "visits": "", + "bounceRate": "", + "avgDuration": "", + "option": { + "websiteId": { + "label": "", + "description": "", + "placeholder": "", + "loading": "", + "noWebsites": "", + "configureIntegrationFirst": "" + }, + "timeFrame": { + "label": "", + "description": "", + "option": { + "today": "", + "24h": "", + "7d": "", + "30d": "", + "month": "", + "lastMonth": "" + } + }, + "eventName": { + "label": "", + "description": "", + "placeholder": "", + "loading": "", + "noEvents": "", + "none": "", + "configureWebsiteFirst": "" + }, + "chartType": { + "label": "", + "description": "", + "option": { + "bar": "", + "sparkline": "" + } + }, + "chartStyle": { + "label": "", + "description": "", + "option": { + "grouped": "", + "overlay": "" + } + }, + "viewMode": { + "label": "", + "description": "", + "option": { + "chart": "", + "events": "", + "topPages": "", + "topReferrers": "" + } + }, + "eventNames": { + "label": "", + "description": "", + "placeholder": "", + "loading": "", + "noEvents": "", + "configureWebsiteFirst": "" + }, + "topCount": { + "label": "", + "description": "" + } + }, + "event": { + "occurrences": "", + "label": "" + }, + "topPages": { + "direct": "" + }, + "topReferrers": { + "direct": "" + }, + "events": { + "selectPrompt": "" + }, + "error": { + "noIntegration": "", + "noWebsite": "", + "noData": "", + "internalServerError": "" + } + }, "common": { "location": { "query": "Miasto / kod pocztowy", @@ -3568,6 +3680,7 @@ "defaultColorScheme": { "label": "Domyślny schemat kolorów", "options": { + "auto": "", "light": "Jasny", "dark": "Ciemny" } @@ -3668,6 +3781,9 @@ }, "tracearr": { "label": "Tracearr" + }, + "umamiActiveVisitors": { + "label": "" } }, "interval": { @@ -4380,6 +4496,7 @@ "title": "Polecenia globalne", "option": { "colorScheme": { + "auto": "", "light": "Przełącz na tryb jasny", "dark": "Przełącz na tryb ciemny" }, @@ -4431,6 +4548,14 @@ "group": { "searchEngine": { "title": "Wyszukiwarki", + "tipDdgBangs": "", + "bang": { + "searchWithQuery": "", + "pressEnterToOpen": "", + "engineSelected": "", + "typeQueryToContinue": "", + "emptyBangHint": "" + }, "children": { "action": { "search": { diff --git a/packages/translation/src/lang/pt-br.json b/packages/translation/src/lang/pt-br.json index 4862a07cb..ba562a170 100644 --- a/packages/translation/src/lang/pt-br.json +++ b/packages/translation/src/lang/pt-br.json @@ -157,6 +157,9 @@ }, "openSearchInNewTab": { "label": "Abrir resultados da busca em uma nova guia" + }, + "ddgBangs": { + "label": "" } }, "error": { @@ -246,6 +249,16 @@ } } }, + "changeDdgBangs": { + "notification": { + "success": { + "message": "" + }, + "error": { + "message": "" + } + } + }, "manageAvatar": { "changeImage": { "label": "Alterar imagem", @@ -1080,6 +1093,7 @@ }, "colorScheme": { "options": { + "auto": "", "light": "Claro", "dark": "Escuro" } @@ -2096,6 +2110,104 @@ "internalServerError": "Falha ao buscar dados do Tracearr" } }, + "umami": { + "name": "", + "description": "", + "visitors": "", + "active": "", + "pageviews": "", + "visits": "", + "bounceRate": "", + "avgDuration": "", + "option": { + "websiteId": { + "label": "", + "description": "", + "placeholder": "", + "loading": "", + "noWebsites": "", + "configureIntegrationFirst": "" + }, + "timeFrame": { + "label": "", + "description": "", + "option": { + "today": "", + "24h": "", + "7d": "", + "30d": "", + "month": "", + "lastMonth": "" + } + }, + "eventName": { + "label": "", + "description": "", + "placeholder": "", + "loading": "", + "noEvents": "", + "none": "", + "configureWebsiteFirst": "" + }, + "chartType": { + "label": "", + "description": "", + "option": { + "bar": "", + "sparkline": "" + } + }, + "chartStyle": { + "label": "", + "description": "", + "option": { + "grouped": "", + "overlay": "" + } + }, + "viewMode": { + "label": "", + "description": "", + "option": { + "chart": "", + "events": "", + "topPages": "", + "topReferrers": "" + } + }, + "eventNames": { + "label": "", + "description": "", + "placeholder": "", + "loading": "", + "noEvents": "", + "configureWebsiteFirst": "" + }, + "topCount": { + "label": "", + "description": "" + } + }, + "event": { + "occurrences": "", + "label": "" + }, + "topPages": { + "direct": "" + }, + "topReferrers": { + "direct": "" + }, + "events": { + "selectPrompt": "" + }, + "error": { + "noIntegration": "", + "noWebsite": "", + "noData": "", + "internalServerError": "" + } + }, "common": { "location": { "query": "Cidade / CEP", @@ -3568,6 +3680,7 @@ "defaultColorScheme": { "label": "Esquema de cores padrão", "options": { + "auto": "", "light": "Claro", "dark": "Escuro" } @@ -3668,6 +3781,9 @@ }, "tracearr": { "label": "Tracearr" + }, + "umamiActiveVisitors": { + "label": "" } }, "interval": { @@ -4380,6 +4496,7 @@ "title": "Comandos globais", "option": { "colorScheme": { + "auto": "", "light": "Alternar para o modo claro", "dark": "Alternar para o modo escuro" }, @@ -4431,6 +4548,14 @@ "group": { "searchEngine": { "title": "Mecanismos de busca", + "tipDdgBangs": "", + "bang": { + "searchWithQuery": "", + "pressEnterToOpen": "", + "engineSelected": "", + "typeQueryToContinue": "", + "emptyBangHint": "" + }, "children": { "action": { "search": { diff --git a/packages/translation/src/lang/pt.json b/packages/translation/src/lang/pt.json index 08a20b088..e3d82d55d 100644 --- a/packages/translation/src/lang/pt.json +++ b/packages/translation/src/lang/pt.json @@ -157,6 +157,9 @@ }, "openSearchInNewTab": { "label": "" + }, + "ddgBangs": { + "label": "" } }, "error": { @@ -246,6 +249,16 @@ } } }, + "changeDdgBangs": { + "notification": { + "success": { + "message": "" + }, + "error": { + "message": "" + } + } + }, "manageAvatar": { "changeImage": { "label": "", @@ -1080,6 +1093,7 @@ }, "colorScheme": { "options": { + "auto": "", "light": "", "dark": "" } @@ -2096,6 +2110,104 @@ "internalServerError": "" } }, + "umami": { + "name": "", + "description": "", + "visitors": "", + "active": "", + "pageviews": "", + "visits": "", + "bounceRate": "", + "avgDuration": "", + "option": { + "websiteId": { + "label": "", + "description": "", + "placeholder": "", + "loading": "", + "noWebsites": "", + "configureIntegrationFirst": "" + }, + "timeFrame": { + "label": "", + "description": "", + "option": { + "today": "", + "24h": "", + "7d": "", + "30d": "", + "month": "", + "lastMonth": "" + } + }, + "eventName": { + "label": "", + "description": "", + "placeholder": "", + "loading": "", + "noEvents": "", + "none": "", + "configureWebsiteFirst": "" + }, + "chartType": { + "label": "", + "description": "", + "option": { + "bar": "", + "sparkline": "" + } + }, + "chartStyle": { + "label": "", + "description": "", + "option": { + "grouped": "", + "overlay": "" + } + }, + "viewMode": { + "label": "", + "description": "", + "option": { + "chart": "", + "events": "", + "topPages": "", + "topReferrers": "" + } + }, + "eventNames": { + "label": "", + "description": "", + "placeholder": "", + "loading": "", + "noEvents": "", + "configureWebsiteFirst": "" + }, + "topCount": { + "label": "", + "description": "" + } + }, + "event": { + "occurrences": "", + "label": "" + }, + "topPages": { + "direct": "" + }, + "topReferrers": { + "direct": "" + }, + "events": { + "selectPrompt": "" + }, + "error": { + "noIntegration": "", + "noWebsite": "", + "noData": "", + "internalServerError": "" + } + }, "common": { "location": { "query": "", @@ -3568,6 +3680,7 @@ "defaultColorScheme": { "label": "", "options": { + "auto": "", "light": "", "dark": "" } @@ -3668,6 +3781,9 @@ }, "tracearr": { "label": "" + }, + "umamiActiveVisitors": { + "label": "" } }, "interval": { @@ -4380,6 +4496,7 @@ "title": "", "option": { "colorScheme": { + "auto": "", "light": "", "dark": "" }, @@ -4431,6 +4548,14 @@ "group": { "searchEngine": { "title": "", + "tipDdgBangs": "", + "bang": { + "searchWithQuery": "", + "pressEnterToOpen": "", + "engineSelected": "", + "typeQueryToContinue": "", + "emptyBangHint": "" + }, "children": { "action": { "search": { diff --git a/packages/translation/src/lang/ro.json b/packages/translation/src/lang/ro.json index 636db5678..92dce9449 100644 --- a/packages/translation/src/lang/ro.json +++ b/packages/translation/src/lang/ro.json @@ -157,6 +157,9 @@ }, "openSearchInNewTab": { "label": "" + }, + "ddgBangs": { + "label": "" } }, "error": { @@ -246,6 +249,16 @@ } } }, + "changeDdgBangs": { + "notification": { + "success": { + "message": "" + }, + "error": { + "message": "" + } + } + }, "manageAvatar": { "changeImage": { "label": "", @@ -1080,6 +1093,7 @@ }, "colorScheme": { "options": { + "auto": "", "light": "", "dark": "" } @@ -2096,6 +2110,104 @@ "internalServerError": "" } }, + "umami": { + "name": "", + "description": "", + "visitors": "", + "active": "", + "pageviews": "", + "visits": "", + "bounceRate": "", + "avgDuration": "", + "option": { + "websiteId": { + "label": "", + "description": "", + "placeholder": "", + "loading": "", + "noWebsites": "", + "configureIntegrationFirst": "" + }, + "timeFrame": { + "label": "", + "description": "", + "option": { + "today": "", + "24h": "", + "7d": "", + "30d": "", + "month": "", + "lastMonth": "" + } + }, + "eventName": { + "label": "", + "description": "", + "placeholder": "", + "loading": "", + "noEvents": "", + "none": "", + "configureWebsiteFirst": "" + }, + "chartType": { + "label": "", + "description": "", + "option": { + "bar": "", + "sparkline": "" + } + }, + "chartStyle": { + "label": "", + "description": "", + "option": { + "grouped": "", + "overlay": "" + } + }, + "viewMode": { + "label": "", + "description": "", + "option": { + "chart": "", + "events": "", + "topPages": "", + "topReferrers": "" + } + }, + "eventNames": { + "label": "", + "description": "", + "placeholder": "", + "loading": "", + "noEvents": "", + "configureWebsiteFirst": "" + }, + "topCount": { + "label": "", + "description": "" + } + }, + "event": { + "occurrences": "", + "label": "" + }, + "topPages": { + "direct": "" + }, + "topReferrers": { + "direct": "" + }, + "events": { + "selectPrompt": "" + }, + "error": { + "noIntegration": "", + "noWebsite": "", + "noData": "", + "internalServerError": "" + } + }, "common": { "location": { "query": "", @@ -3568,6 +3680,7 @@ "defaultColorScheme": { "label": "", "options": { + "auto": "", "light": "", "dark": "" } @@ -3668,6 +3781,9 @@ }, "tracearr": { "label": "" + }, + "umamiActiveVisitors": { + "label": "" } }, "interval": { @@ -4380,6 +4496,7 @@ "title": "", "option": { "colorScheme": { + "auto": "", "light": "", "dark": "" }, @@ -4431,6 +4548,14 @@ "group": { "searchEngine": { "title": "", + "tipDdgBangs": "", + "bang": { + "searchWithQuery": "", + "pressEnterToOpen": "", + "engineSelected": "", + "typeQueryToContinue": "", + "emptyBangHint": "" + }, "children": { "action": { "search": { diff --git a/packages/translation/src/lang/ru.json b/packages/translation/src/lang/ru.json index c2f1203c5..fe2049bbf 100644 --- a/packages/translation/src/lang/ru.json +++ b/packages/translation/src/lang/ru.json @@ -157,6 +157,9 @@ }, "openSearchInNewTab": { "label": "Открыть результаты поиска в новой вкладке" + }, + "ddgBangs": { + "label": "" } }, "error": { @@ -246,6 +249,16 @@ } } }, + "changeDdgBangs": { + "notification": { + "success": { + "message": "" + }, + "error": { + "message": "" + } + } + }, "manageAvatar": { "changeImage": { "label": "Изменить изображение", @@ -1080,6 +1093,7 @@ }, "colorScheme": { "options": { + "auto": "", "light": "Светлая", "dark": "Тёмная" } @@ -2096,6 +2110,104 @@ "internalServerError": "Не удалось получить данные Tracearr" } }, + "umami": { + "name": "", + "description": "", + "visitors": "", + "active": "", + "pageviews": "", + "visits": "", + "bounceRate": "", + "avgDuration": "", + "option": { + "websiteId": { + "label": "", + "description": "", + "placeholder": "", + "loading": "", + "noWebsites": "", + "configureIntegrationFirst": "" + }, + "timeFrame": { + "label": "", + "description": "", + "option": { + "today": "", + "24h": "", + "7d": "", + "30d": "", + "month": "", + "lastMonth": "" + } + }, + "eventName": { + "label": "", + "description": "", + "placeholder": "", + "loading": "", + "noEvents": "", + "none": "", + "configureWebsiteFirst": "" + }, + "chartType": { + "label": "", + "description": "", + "option": { + "bar": "", + "sparkline": "" + } + }, + "chartStyle": { + "label": "", + "description": "", + "option": { + "grouped": "", + "overlay": "" + } + }, + "viewMode": { + "label": "", + "description": "", + "option": { + "chart": "", + "events": "", + "topPages": "", + "topReferrers": "" + } + }, + "eventNames": { + "label": "", + "description": "", + "placeholder": "", + "loading": "", + "noEvents": "", + "configureWebsiteFirst": "" + }, + "topCount": { + "label": "", + "description": "" + } + }, + "event": { + "occurrences": "", + "label": "" + }, + "topPages": { + "direct": "" + }, + "topReferrers": { + "direct": "" + }, + "events": { + "selectPrompt": "" + }, + "error": { + "noIntegration": "", + "noWebsite": "", + "noData": "", + "internalServerError": "" + } + }, "common": { "location": { "query": "Город / Почтовый индекс", @@ -3568,6 +3680,7 @@ "defaultColorScheme": { "label": "Цветовая схема по умолчанию", "options": { + "auto": "", "light": "Светлая", "dark": "Тёмная" } @@ -3668,6 +3781,9 @@ }, "tracearr": { "label": "Tracearr" + }, + "umamiActiveVisitors": { + "label": "" } }, "interval": { @@ -4380,6 +4496,7 @@ "title": "Глобальные команды", "option": { "colorScheme": { + "auto": "", "light": "Переключить на светлую тему", "dark": "Переключить на тёмную тему" }, @@ -4431,6 +4548,14 @@ "group": { "searchEngine": { "title": "Поисковые системы", + "tipDdgBangs": "", + "bang": { + "searchWithQuery": "", + "pressEnterToOpen": "", + "engineSelected": "", + "typeQueryToContinue": "", + "emptyBangHint": "" + }, "children": { "action": { "search": { diff --git a/packages/translation/src/lang/sk.json b/packages/translation/src/lang/sk.json index e32d45860..802b0b860 100644 --- a/packages/translation/src/lang/sk.json +++ b/packages/translation/src/lang/sk.json @@ -157,6 +157,9 @@ }, "openSearchInNewTab": { "label": "Otvoriť výsledky vyhľadávania na novej karte" + }, + "ddgBangs": { + "label": "" } }, "error": { @@ -246,6 +249,16 @@ } } }, + "changeDdgBangs": { + "notification": { + "success": { + "message": "" + }, + "error": { + "message": "" + } + } + }, "manageAvatar": { "changeImage": { "label": "Zmeniť obrázok", @@ -1080,6 +1093,7 @@ }, "colorScheme": { "options": { + "auto": "", "light": "Svetlý", "dark": "Tmavý" } @@ -2096,6 +2110,104 @@ "internalServerError": "" } }, + "umami": { + "name": "", + "description": "", + "visitors": "", + "active": "", + "pageviews": "", + "visits": "", + "bounceRate": "", + "avgDuration": "", + "option": { + "websiteId": { + "label": "", + "description": "", + "placeholder": "", + "loading": "", + "noWebsites": "", + "configureIntegrationFirst": "" + }, + "timeFrame": { + "label": "", + "description": "", + "option": { + "today": "", + "24h": "", + "7d": "", + "30d": "", + "month": "", + "lastMonth": "" + } + }, + "eventName": { + "label": "", + "description": "", + "placeholder": "", + "loading": "", + "noEvents": "", + "none": "", + "configureWebsiteFirst": "" + }, + "chartType": { + "label": "", + "description": "", + "option": { + "bar": "", + "sparkline": "" + } + }, + "chartStyle": { + "label": "", + "description": "", + "option": { + "grouped": "", + "overlay": "" + } + }, + "viewMode": { + "label": "", + "description": "", + "option": { + "chart": "", + "events": "", + "topPages": "", + "topReferrers": "" + } + }, + "eventNames": { + "label": "", + "description": "", + "placeholder": "", + "loading": "", + "noEvents": "", + "configureWebsiteFirst": "" + }, + "topCount": { + "label": "", + "description": "" + } + }, + "event": { + "occurrences": "", + "label": "" + }, + "topPages": { + "direct": "" + }, + "topReferrers": { + "direct": "" + }, + "events": { + "selectPrompt": "" + }, + "error": { + "noIntegration": "", + "noWebsite": "", + "noData": "", + "internalServerError": "" + } + }, "common": { "location": { "query": "Mesto / PSČ", @@ -3568,6 +3680,7 @@ "defaultColorScheme": { "label": "Predvolená farebná schéma", "options": { + "auto": "", "light": "Svetlý", "dark": "Tmavý" } @@ -3668,6 +3781,9 @@ }, "tracearr": { "label": "" + }, + "umamiActiveVisitors": { + "label": "" } }, "interval": { @@ -4380,6 +4496,7 @@ "title": "Globálne príkazy", "option": { "colorScheme": { + "auto": "", "light": "Prepnúť na svetlý motív", "dark": "Prepnúť na tmavý motív" }, @@ -4431,6 +4548,14 @@ "group": { "searchEngine": { "title": "Vyhľadávače", + "tipDdgBangs": "", + "bang": { + "searchWithQuery": "", + "pressEnterToOpen": "", + "engineSelected": "", + "typeQueryToContinue": "", + "emptyBangHint": "" + }, "children": { "action": { "search": { diff --git a/packages/translation/src/lang/sl.json b/packages/translation/src/lang/sl.json index b156df881..366c4bb74 100644 --- a/packages/translation/src/lang/sl.json +++ b/packages/translation/src/lang/sl.json @@ -157,6 +157,9 @@ }, "openSearchInNewTab": { "label": "" + }, + "ddgBangs": { + "label": "" } }, "error": { @@ -246,6 +249,16 @@ } } }, + "changeDdgBangs": { + "notification": { + "success": { + "message": "" + }, + "error": { + "message": "" + } + } + }, "manageAvatar": { "changeImage": { "label": "", @@ -1080,6 +1093,7 @@ }, "colorScheme": { "options": { + "auto": "", "light": "", "dark": "" } @@ -2096,6 +2110,104 @@ "internalServerError": "" } }, + "umami": { + "name": "", + "description": "", + "visitors": "", + "active": "", + "pageviews": "", + "visits": "", + "bounceRate": "", + "avgDuration": "", + "option": { + "websiteId": { + "label": "", + "description": "", + "placeholder": "", + "loading": "", + "noWebsites": "", + "configureIntegrationFirst": "" + }, + "timeFrame": { + "label": "", + "description": "", + "option": { + "today": "", + "24h": "", + "7d": "", + "30d": "", + "month": "", + "lastMonth": "" + } + }, + "eventName": { + "label": "", + "description": "", + "placeholder": "", + "loading": "", + "noEvents": "", + "none": "", + "configureWebsiteFirst": "" + }, + "chartType": { + "label": "", + "description": "", + "option": { + "bar": "", + "sparkline": "" + } + }, + "chartStyle": { + "label": "", + "description": "", + "option": { + "grouped": "", + "overlay": "" + } + }, + "viewMode": { + "label": "", + "description": "", + "option": { + "chart": "", + "events": "", + "topPages": "", + "topReferrers": "" + } + }, + "eventNames": { + "label": "", + "description": "", + "placeholder": "", + "loading": "", + "noEvents": "", + "configureWebsiteFirst": "" + }, + "topCount": { + "label": "", + "description": "" + } + }, + "event": { + "occurrences": "", + "label": "" + }, + "topPages": { + "direct": "" + }, + "topReferrers": { + "direct": "" + }, + "events": { + "selectPrompt": "" + }, + "error": { + "noIntegration": "", + "noWebsite": "", + "noData": "", + "internalServerError": "" + } + }, "common": { "location": { "query": "", @@ -3568,6 +3680,7 @@ "defaultColorScheme": { "label": "", "options": { + "auto": "", "light": "", "dark": "" } @@ -3668,6 +3781,9 @@ }, "tracearr": { "label": "" + }, + "umamiActiveVisitors": { + "label": "" } }, "interval": { @@ -4380,6 +4496,7 @@ "title": "", "option": { "colorScheme": { + "auto": "", "light": "", "dark": "" }, @@ -4431,6 +4548,14 @@ "group": { "searchEngine": { "title": "", + "tipDdgBangs": "", + "bang": { + "searchWithQuery": "", + "pressEnterToOpen": "", + "engineSelected": "", + "typeQueryToContinue": "", + "emptyBangHint": "" + }, "children": { "action": { "search": { diff --git a/packages/translation/src/lang/sv.json b/packages/translation/src/lang/sv.json index 0bd7991bb..27fccf189 100644 --- a/packages/translation/src/lang/sv.json +++ b/packages/translation/src/lang/sv.json @@ -157,6 +157,9 @@ }, "openSearchInNewTab": { "label": "Visa sökresultat i ny flik" + }, + "ddgBangs": { + "label": "" } }, "error": { @@ -246,6 +249,16 @@ } } }, + "changeDdgBangs": { + "notification": { + "success": { + "message": "" + }, + "error": { + "message": "" + } + } + }, "manageAvatar": { "changeImage": { "label": "Byt bild", @@ -1080,6 +1093,7 @@ }, "colorScheme": { "options": { + "auto": "", "light": "", "dark": "" } @@ -2096,6 +2110,104 @@ "internalServerError": "" } }, + "umami": { + "name": "", + "description": "", + "visitors": "", + "active": "", + "pageviews": "", + "visits": "", + "bounceRate": "", + "avgDuration": "", + "option": { + "websiteId": { + "label": "", + "description": "", + "placeholder": "", + "loading": "", + "noWebsites": "", + "configureIntegrationFirst": "" + }, + "timeFrame": { + "label": "", + "description": "", + "option": { + "today": "", + "24h": "", + "7d": "", + "30d": "", + "month": "", + "lastMonth": "" + } + }, + "eventName": { + "label": "", + "description": "", + "placeholder": "", + "loading": "", + "noEvents": "", + "none": "", + "configureWebsiteFirst": "" + }, + "chartType": { + "label": "", + "description": "", + "option": { + "bar": "", + "sparkline": "" + } + }, + "chartStyle": { + "label": "", + "description": "", + "option": { + "grouped": "", + "overlay": "" + } + }, + "viewMode": { + "label": "", + "description": "", + "option": { + "chart": "", + "events": "", + "topPages": "", + "topReferrers": "" + } + }, + "eventNames": { + "label": "", + "description": "", + "placeholder": "", + "loading": "", + "noEvents": "", + "configureWebsiteFirst": "" + }, + "topCount": { + "label": "", + "description": "" + } + }, + "event": { + "occurrences": "", + "label": "" + }, + "topPages": { + "direct": "" + }, + "topReferrers": { + "direct": "" + }, + "events": { + "selectPrompt": "" + }, + "error": { + "noIntegration": "", + "noWebsite": "", + "noData": "", + "internalServerError": "" + } + }, "common": { "location": { "query": "", @@ -3568,6 +3680,7 @@ "defaultColorScheme": { "label": "", "options": { + "auto": "", "light": "Ljus", "dark": "Mörk" } @@ -3668,6 +3781,9 @@ }, "tracearr": { "label": "" + }, + "umamiActiveVisitors": { + "label": "" } }, "interval": { @@ -4380,6 +4496,7 @@ "title": "", "option": { "colorScheme": { + "auto": "", "light": "Byt till ljust läge", "dark": "Byt till mörkt läge" }, @@ -4431,6 +4548,14 @@ "group": { "searchEngine": { "title": "", + "tipDdgBangs": "", + "bang": { + "searchWithQuery": "", + "pressEnterToOpen": "", + "engineSelected": "", + "typeQueryToContinue": "", + "emptyBangHint": "" + }, "children": { "action": { "search": { diff --git a/packages/translation/src/lang/tr.json b/packages/translation/src/lang/tr.json index 2f14b98d3..0a06a35b9 100644 --- a/packages/translation/src/lang/tr.json +++ b/packages/translation/src/lang/tr.json @@ -157,6 +157,9 @@ }, "openSearchInNewTab": { "label": "Arama sonucunu yeni sekmede aç" + }, + "ddgBangs": { + "label": "" } }, "error": { @@ -246,6 +249,16 @@ } } }, + "changeDdgBangs": { + "notification": { + "success": { + "message": "" + }, + "error": { + "message": "" + } + } + }, "manageAvatar": { "changeImage": { "label": "Görseli değiştir", @@ -1080,6 +1093,7 @@ }, "colorScheme": { "options": { + "auto": "", "light": "Aydınlık", "dark": "Koyu" } @@ -2096,6 +2110,104 @@ "internalServerError": "Failed to fetch Tracearr data" } }, + "umami": { + "name": "", + "description": "", + "visitors": "", + "active": "", + "pageviews": "", + "visits": "", + "bounceRate": "", + "avgDuration": "", + "option": { + "websiteId": { + "label": "", + "description": "", + "placeholder": "", + "loading": "", + "noWebsites": "", + "configureIntegrationFirst": "" + }, + "timeFrame": { + "label": "", + "description": "", + "option": { + "today": "", + "24h": "", + "7d": "", + "30d": "", + "month": "", + "lastMonth": "" + } + }, + "eventName": { + "label": "", + "description": "", + "placeholder": "", + "loading": "", + "noEvents": "", + "none": "", + "configureWebsiteFirst": "" + }, + "chartType": { + "label": "", + "description": "", + "option": { + "bar": "", + "sparkline": "" + } + }, + "chartStyle": { + "label": "", + "description": "", + "option": { + "grouped": "", + "overlay": "" + } + }, + "viewMode": { + "label": "", + "description": "", + "option": { + "chart": "", + "events": "", + "topPages": "", + "topReferrers": "" + } + }, + "eventNames": { + "label": "", + "description": "", + "placeholder": "", + "loading": "", + "noEvents": "", + "configureWebsiteFirst": "" + }, + "topCount": { + "label": "", + "description": "" + } + }, + "event": { + "occurrences": "", + "label": "" + }, + "topPages": { + "direct": "" + }, + "topReferrers": { + "direct": "" + }, + "events": { + "selectPrompt": "" + }, + "error": { + "noIntegration": "", + "noWebsite": "", + "noData": "", + "internalServerError": "" + } + }, "common": { "location": { "query": "Şehir / Posta kodu", @@ -3568,6 +3680,7 @@ "defaultColorScheme": { "label": "Öntanımlı Renk Düzeni", "options": { + "auto": "", "light": "Aydınlık", "dark": "Koyu" } @@ -3668,6 +3781,9 @@ }, "tracearr": { "label": "Tracearr" + }, + "umamiActiveVisitors": { + "label": "" } }, "interval": { @@ -4380,6 +4496,7 @@ "title": "Genel komutlar", "option": { "colorScheme": { + "auto": "", "light": "Aydınlık Temaya Geç", "dark": "Koyu Temaya Geç" }, @@ -4431,6 +4548,14 @@ "group": { "searchEngine": { "title": "Arama Motorları", + "tipDdgBangs": "", + "bang": { + "searchWithQuery": "", + "pressEnterToOpen": "", + "engineSelected": "", + "typeQueryToContinue": "", + "emptyBangHint": "" + }, "children": { "action": { "search": { diff --git a/packages/translation/src/lang/uk.json b/packages/translation/src/lang/uk.json index d0466bbda..7405a918c 100644 --- a/packages/translation/src/lang/uk.json +++ b/packages/translation/src/lang/uk.json @@ -157,6 +157,9 @@ }, "openSearchInNewTab": { "label": "Відкрити результати пошуку в новій вкладці" + }, + "ddgBangs": { + "label": "" } }, "error": { @@ -246,6 +249,16 @@ } } }, + "changeDdgBangs": { + "notification": { + "success": { + "message": "" + }, + "error": { + "message": "" + } + } + }, "manageAvatar": { "changeImage": { "label": "Змінити зображення", @@ -1080,6 +1093,7 @@ }, "colorScheme": { "options": { + "auto": "", "light": "Світла", "dark": "Темна" } @@ -2096,6 +2110,104 @@ "internalServerError": "" } }, + "umami": { + "name": "", + "description": "", + "visitors": "", + "active": "", + "pageviews": "", + "visits": "", + "bounceRate": "", + "avgDuration": "", + "option": { + "websiteId": { + "label": "", + "description": "", + "placeholder": "", + "loading": "", + "noWebsites": "", + "configureIntegrationFirst": "" + }, + "timeFrame": { + "label": "", + "description": "", + "option": { + "today": "", + "24h": "", + "7d": "", + "30d": "", + "month": "", + "lastMonth": "" + } + }, + "eventName": { + "label": "", + "description": "", + "placeholder": "", + "loading": "", + "noEvents": "", + "none": "", + "configureWebsiteFirst": "" + }, + "chartType": { + "label": "", + "description": "", + "option": { + "bar": "", + "sparkline": "" + } + }, + "chartStyle": { + "label": "", + "description": "", + "option": { + "grouped": "", + "overlay": "" + } + }, + "viewMode": { + "label": "", + "description": "", + "option": { + "chart": "", + "events": "", + "topPages": "", + "topReferrers": "" + } + }, + "eventNames": { + "label": "", + "description": "", + "placeholder": "", + "loading": "", + "noEvents": "", + "configureWebsiteFirst": "" + }, + "topCount": { + "label": "", + "description": "" + } + }, + "event": { + "occurrences": "", + "label": "" + }, + "topPages": { + "direct": "" + }, + "topReferrers": { + "direct": "" + }, + "events": { + "selectPrompt": "" + }, + "error": { + "noIntegration": "", + "noWebsite": "", + "noData": "", + "internalServerError": "" + } + }, "common": { "location": { "query": "Місто / Поштовий індекс", @@ -3568,6 +3680,7 @@ "defaultColorScheme": { "label": "Стандартна кольорова тема", "options": { + "auto": "", "light": "Світла", "dark": "Темна" } @@ -3668,6 +3781,9 @@ }, "tracearr": { "label": "" + }, + "umamiActiveVisitors": { + "label": "" } }, "interval": { @@ -4380,6 +4496,7 @@ "title": "Глобальні команди", "option": { "colorScheme": { + "auto": "", "light": "Перемикнути на світлу тему", "dark": "Перемикнути на темну тему" }, @@ -4431,6 +4548,14 @@ "group": { "searchEngine": { "title": "Пошукові системи", + "tipDdgBangs": "", + "bang": { + "searchWithQuery": "", + "pressEnterToOpen": "", + "engineSelected": "", + "typeQueryToContinue": "", + "emptyBangHint": "" + }, "children": { "action": { "search": { diff --git a/packages/translation/src/lang/vi.json b/packages/translation/src/lang/vi.json index fc3c85549..964ecaf61 100644 --- a/packages/translation/src/lang/vi.json +++ b/packages/translation/src/lang/vi.json @@ -157,6 +157,9 @@ }, "openSearchInNewTab": { "label": "Mở kết quả tìm kiếm trong thẻ mới" + }, + "ddgBangs": { + "label": "" } }, "error": { @@ -246,6 +249,16 @@ } } }, + "changeDdgBangs": { + "notification": { + "success": { + "message": "" + }, + "error": { + "message": "" + } + } + }, "manageAvatar": { "changeImage": { "label": "Thay đổi hình ảnh", @@ -1080,6 +1093,7 @@ }, "colorScheme": { "options": { + "auto": "", "light": "", "dark": "" } @@ -2096,6 +2110,104 @@ "internalServerError": "" } }, + "umami": { + "name": "", + "description": "", + "visitors": "", + "active": "", + "pageviews": "", + "visits": "", + "bounceRate": "", + "avgDuration": "", + "option": { + "websiteId": { + "label": "", + "description": "", + "placeholder": "", + "loading": "", + "noWebsites": "", + "configureIntegrationFirst": "" + }, + "timeFrame": { + "label": "", + "description": "", + "option": { + "today": "", + "24h": "", + "7d": "", + "30d": "", + "month": "", + "lastMonth": "" + } + }, + "eventName": { + "label": "", + "description": "", + "placeholder": "", + "loading": "", + "noEvents": "", + "none": "", + "configureWebsiteFirst": "" + }, + "chartType": { + "label": "", + "description": "", + "option": { + "bar": "", + "sparkline": "" + } + }, + "chartStyle": { + "label": "", + "description": "", + "option": { + "grouped": "", + "overlay": "" + } + }, + "viewMode": { + "label": "", + "description": "", + "option": { + "chart": "", + "events": "", + "topPages": "", + "topReferrers": "" + } + }, + "eventNames": { + "label": "", + "description": "", + "placeholder": "", + "loading": "", + "noEvents": "", + "configureWebsiteFirst": "" + }, + "topCount": { + "label": "", + "description": "" + } + }, + "event": { + "occurrences": "", + "label": "" + }, + "topPages": { + "direct": "" + }, + "topReferrers": { + "direct": "" + }, + "events": { + "selectPrompt": "" + }, + "error": { + "noIntegration": "", + "noWebsite": "", + "noData": "", + "internalServerError": "" + } + }, "common": { "location": { "query": "", @@ -3568,6 +3680,7 @@ "defaultColorScheme": { "label": "", "options": { + "auto": "", "light": "", "dark": "" } @@ -3668,6 +3781,9 @@ }, "tracearr": { "label": "" + }, + "umamiActiveVisitors": { + "label": "" } }, "interval": { @@ -4380,6 +4496,7 @@ "title": "", "option": { "colorScheme": { + "auto": "", "light": "", "dark": "" }, @@ -4431,6 +4548,14 @@ "group": { "searchEngine": { "title": "", + "tipDdgBangs": "", + "bang": { + "searchWithQuery": "", + "pressEnterToOpen": "", + "engineSelected": "", + "typeQueryToContinue": "", + "emptyBangHint": "" + }, "children": { "action": { "search": { diff --git a/packages/translation/src/lang/zh.json b/packages/translation/src/lang/zh.json index 3d6260c86..1933d9a6c 100644 --- a/packages/translation/src/lang/zh.json +++ b/packages/translation/src/lang/zh.json @@ -157,6 +157,9 @@ }, "openSearchInNewTab": { "label": "於新分頁中開啟搜尋結果" + }, + "ddgBangs": { + "label": "" } }, "error": { @@ -246,6 +249,16 @@ } } }, + "changeDdgBangs": { + "notification": { + "success": { + "message": "" + }, + "error": { + "message": "" + } + } + }, "manageAvatar": { "changeImage": { "label": "更改圖案", @@ -1080,6 +1093,7 @@ }, "colorScheme": { "options": { + "auto": "", "light": "日間", "dark": "暗黑" } @@ -2096,6 +2110,104 @@ "internalServerError": "" } }, + "umami": { + "name": "", + "description": "", + "visitors": "", + "active": "", + "pageviews": "", + "visits": "", + "bounceRate": "", + "avgDuration": "", + "option": { + "websiteId": { + "label": "", + "description": "", + "placeholder": "", + "loading": "", + "noWebsites": "", + "configureIntegrationFirst": "" + }, + "timeFrame": { + "label": "", + "description": "", + "option": { + "today": "", + "24h": "", + "7d": "", + "30d": "", + "month": "", + "lastMonth": "" + } + }, + "eventName": { + "label": "", + "description": "", + "placeholder": "", + "loading": "", + "noEvents": "", + "none": "", + "configureWebsiteFirst": "" + }, + "chartType": { + "label": "", + "description": "", + "option": { + "bar": "", + "sparkline": "" + } + }, + "chartStyle": { + "label": "", + "description": "", + "option": { + "grouped": "", + "overlay": "" + } + }, + "viewMode": { + "label": "", + "description": "", + "option": { + "chart": "", + "events": "", + "topPages": "", + "topReferrers": "" + } + }, + "eventNames": { + "label": "", + "description": "", + "placeholder": "", + "loading": "", + "noEvents": "", + "configureWebsiteFirst": "" + }, + "topCount": { + "label": "", + "description": "" + } + }, + "event": { + "occurrences": "", + "label": "" + }, + "topPages": { + "direct": "" + }, + "topReferrers": { + "direct": "" + }, + "events": { + "selectPrompt": "" + }, + "error": { + "noIntegration": "", + "noWebsite": "", + "noData": "", + "internalServerError": "" + } + }, "common": { "location": { "query": "城市 / 郵遞區號", @@ -3568,6 +3680,7 @@ "defaultColorScheme": { "label": "預設配色方案", "options": { + "auto": "", "light": "日間", "dark": "暗黑" } @@ -3668,6 +3781,9 @@ }, "tracearr": { "label": "" + }, + "umamiActiveVisitors": { + "label": "" } }, "interval": { @@ -4380,6 +4496,7 @@ "title": "全局命令", "option": { "colorScheme": { + "auto": "", "light": "切換日間模式", "dark": "切換暗黑模式" }, @@ -4431,6 +4548,14 @@ "group": { "searchEngine": { "title": "搜尋引擎", + "tipDdgBangs": "", + "bang": { + "searchWithQuery": "", + "pressEnterToOpen": "", + "engineSelected": "", + "typeQueryToContinue": "", + "emptyBangHint": "" + }, "children": { "action": { "search": { From 036f6aa1858a67ae3f437c58ce92145b536c3085 Mon Sep 17 00:00:00 2001 From: "homarr-renovate[bot]" <158783068+homarr-renovate[bot]@users.noreply.github.com> Date: Fri, 8 May 2026 15:02:52 +0200 Subject: [PATCH 20/63] chore(deps): update dependency recharts to v3 (#4302) Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com> Co-authored-by: Manuel <30572287+manuel-rw@users.noreply.github.com> Co-authored-by: Meier Lukas --- .../src/speedtest-tracker/recent-results.tsx | 9 +- .../chart/combined-network-traffic.tsx | 5 +- .../src/system-resources/chart/cpu-chart.tsx | 3 - .../src/system-resources/chart/gpu-chart.tsx | 3 - .../system-resources/chart/memory-chart.tsx | 3 - .../chart/network-traffic.tsx | 3 - pnpm-lock.yaml | 155 ++++++++++-------- pnpm-workspace.yaml | 2 +- 8 files changed, 93 insertions(+), 90 deletions(-) diff --git a/packages/widgets/src/speedtest-tracker/recent-results.tsx b/packages/widgets/src/speedtest-tracker/recent-results.tsx index 286baffc6..5d2328563 100644 --- a/packages/widgets/src/speedtest-tracker/recent-results.tsx +++ b/packages/widgets/src/speedtest-tracker/recent-results.tsx @@ -46,7 +46,7 @@ function buildXAxisTicks(data: { ts: number }[]): XAxisTicks { } function makeXTickRenderer(midnightTs: number | null) { - return ({ x, y, payload }: { x: number; y: number; payload: { value: number } }) => { + return ({ x, y, payload }: { x: number | string; y: number | string; payload: { value: number } }) => { const date = new Date(payload.value); const timeStr = date.toLocaleTimeString([], { hour: "2-digit", minute: "2-digit" }); const isMidnight = midnightTs !== null && payload.value === midnightTs; @@ -67,7 +67,12 @@ function makeXTickRenderer(midnightTs: number | null) { }; } -function renderTopDateTick(props: { x: number; y: number; payload: { value: number }; index: number }) { +function renderTopDateTick(props: { + x: number | string; + y: number | string; + payload: { value: number }; + index: number; +}) { const { x, y, payload, index } = props; const date = new Date(payload.value); const dateStr = date.toLocaleDateString([], { weekday: "short", month: "short", day: "numeric" }); diff --git a/packages/widgets/src/system-resources/chart/combined-network-traffic.tsx b/packages/widgets/src/system-resources/chart/combined-network-traffic.tsx index 38c72c72c..6cfee0eaa 100644 --- a/packages/widgets/src/system-resources/chart/combined-network-traffic.tsx +++ b/packages/widgets/src/system-resources/chart/combined-network-traffic.tsx @@ -37,9 +37,6 @@ export const CombinedNetworkTrafficChart = ({ labelDisplayMode={labelDisplayMode} tooltipProps={{ content: ({ payload }) => { - if (!payload) { - return null; - } return ( @@ -50,7 +47,7 @@ export const CombinedNetworkTrafficChart = ({ {payloadData.value === undefined ? ( <>N/A ) : ( - <>{humanFileSize(Math.round(payloadData.value))}/s + <>{humanFileSize(Math.round(Number(payloadData.value)))}/s )} diff --git a/packages/widgets/src/system-resources/chart/cpu-chart.tsx b/packages/widgets/src/system-resources/chart/cpu-chart.tsx index ceb6ba547..7006728d5 100644 --- a/packages/widgets/src/system-resources/chart/cpu-chart.tsx +++ b/packages/widgets/src/system-resources/chart/cpu-chart.tsx @@ -34,9 +34,6 @@ export const SystemResourceCPUChart = ({ labelDisplayMode={labelDisplayMode} tooltipProps={{ content: ({ payload }) => { - if (!payload) { - return null; - } const value = payload[0] ? Number(payload[0].value) : 0; return ( diff --git a/packages/widgets/src/system-resources/chart/gpu-chart.tsx b/packages/widgets/src/system-resources/chart/gpu-chart.tsx index e1f7daa2c..bf2d34b40 100644 --- a/packages/widgets/src/system-resources/chart/gpu-chart.tsx +++ b/packages/widgets/src/system-resources/chart/gpu-chart.tsx @@ -34,9 +34,6 @@ export const SystemResourceGPUChart = ({ labelDisplayMode={labelDisplayMode} tooltipProps={{ content: ({ payload }) => { - if (!payload) { - return null; - } const value = payload[0] ? Number(payload[0].value) : 0; return ( diff --git a/packages/widgets/src/system-resources/chart/memory-chart.tsx b/packages/widgets/src/system-resources/chart/memory-chart.tsx index ac265db8a..54c2e347c 100644 --- a/packages/widgets/src/system-resources/chart/memory-chart.tsx +++ b/packages/widgets/src/system-resources/chart/memory-chart.tsx @@ -40,9 +40,6 @@ export const SystemResourceMemoryChart = ({ chartType={hasShadow ? "area" : "line"} tooltipProps={{ content: ({ payload }) => { - if (!payload) { - return null; - } const value = payload[0] ? Number(payload[0].value) : 0; return ( diff --git a/packages/widgets/src/system-resources/chart/network-traffic.tsx b/packages/widgets/src/system-resources/chart/network-traffic.tsx index 5edbabd61..02747b86d 100644 --- a/packages/widgets/src/system-resources/chart/network-traffic.tsx +++ b/packages/widgets/src/system-resources/chart/network-traffic.tsx @@ -37,9 +37,6 @@ export const NetworkTrafficChart = ({ labelDisplayMode={labelDisplayMode} tooltipProps={{ content: ({ payload }) => { - if (!payload) { - return null; - } const value = payload[0] ? Number(payload[0].value) : 0; return ( diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index b33836c1b..6873a362e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -481,8 +481,8 @@ catalogs: specifier: ^0.14.1 version: 0.14.1 recharts: - specifier: ^2.15.4 - version: 2.15.4 + specifier: ^3.8.1 + version: 3.8.1 sass: specifier: ^1.99.0 version: 1.99.0 @@ -2798,7 +2798,7 @@ importers: version: link:../validation '@mantine/charts': specifier: 'catalog:' - version: 8.3.18(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(@mantine/hooks@8.3.18(react@19.2.5))(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(recharts@2.15.4(react-dom@19.2.5(react@19.2.5))(react@19.2.5)) + version: 8.3.18(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(@mantine/hooks@8.3.18(react@19.2.5))(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(recharts@3.8.1(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react-is@19.2.5)(react@19.2.5)(redux@5.0.1)) '@mantine/core': specifier: 'catalog:' version: 8.3.18(@mantine/hooks@8.3.18(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) @@ -2885,7 +2885,7 @@ importers: version: 3.8.3(quill-delta@5.1.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) recharts: specifier: 'catalog:' - version: 2.15.4(react-dom@19.2.5(react@19.2.5))(react@19.2.5) + version: 3.8.1(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react-is@19.2.5)(react@19.2.5)(redux@5.0.1) video.js: specifier: 'catalog:' version: 8.23.7 @@ -4703,6 +4703,17 @@ packages: '@protobufjs/utf8@1.1.0': resolution: {integrity: sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==} + '@reduxjs/toolkit@2.11.2': + resolution: {integrity: sha512-Kd6kAHTA6/nUpp8mySPqj3en3dm0tdMIgbttnQ1xFMVpufoj+ADi8pXLBsd4xzTRHQa7t/Jv8W5UnCuW4kuWMQ==} + peerDependencies: + react: ^16.9.0 || ^17.0.0 || ^18 || ^19 + react-redux: ^7.2.1 || ^8.1.3 || ^9.0.0 + peerDependenciesMeta: + react: + optional: true + react-redux: + optional: true + '@rolldown/pluginutils@1.0.0-rc.3': resolution: {integrity: sha512-eybk3TjzzzV97Dlj5c+XrBFW57eTNhzod66y9HrBlzJ6NsCrWCp/2kaPS3K9wJmurBC0Tdw4yPjXKZqlznim3Q==} @@ -4938,6 +4949,9 @@ packages: '@standard-schema/spec@1.1.0': resolution: {integrity: sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==} + '@standard-schema/utils@0.3.0': + resolution: {integrity: sha512-e7Mew686owMaPJVNNLs55PUvgz371nKgwsc4vxE49zsODpJEnxgxRo2y/OKrqueavXgZNMDVj3DdHFlaSAeU8g==} + '@swagger-api/apidom-ast@1.11.0': resolution: {integrity: sha512-poLd6eNipLCFCrxjZD+E9E0Z85CLfFzueNiVcYj86rwMp2OszYsTzZS2jz82yR/usNCjXCpkQ2xEXWSmDhefPg==} @@ -6872,9 +6886,6 @@ packages: dom-walk@0.1.2: resolution: {integrity: sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==} - dompurify@3.4.1: - resolution: {integrity: sha512-JahakDAIg1gyOm7dlgWSDjV4n7Ip2PKR55NIT6jrMfIgLFgWo81vdr1/QGqWtFNRqXP9UV71oVePtjqS2ebnPw==} - dompurify@3.4.2: resolution: {integrity: sha512-lHeS9SA/IKeIFFyYciHBr2n0v1VMPlSj843HdLOwjb2OxNwdq9Xykxqhk+FE42MzAdHvInbAolSE4mhahPpjXA==} @@ -7121,6 +7132,9 @@ packages: resolution: {integrity: sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==} engines: {node: '>= 0.4'} + es-toolkit@1.46.1: + resolution: {integrity: sha512-5eNtXOs3tbfxXOj04tjjseeWkRWaoCjdEI+96DgwzZoe6c9juL49pXlzAFTI72aWC9Y8p7168g6XIKjh7k6pyQ==} + esbuild@0.25.12: resolution: {integrity: sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg==} engines: {node: '>=18'} @@ -7300,9 +7314,6 @@ packages: eventemitter3@2.0.3: resolution: {integrity: sha512-jLN68Dx5kyFHaePoXWPsCGW5qdyZQtLYHkxkg02/Mz6g0kYpDx4FyP6XfArhQdlOC4b8Mv+EMxPo/8La7Tzghg==} - eventemitter3@4.0.7: - resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==} - eventemitter3@5.0.4: resolution: {integrity: sha512-mlsTRyGaPBjPedk6Bvw+aqbsXDtoAyAzm5MO7JgU+yVRyMQ5O8bD4Kcci7BS85f93veegeCPkL8R4GLClnjLFw==} @@ -7801,6 +7812,12 @@ packages: resolution: {integrity: sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==} engines: {node: '>= 4'} + immer@10.2.0: + resolution: {integrity: sha512-d/+XTN3zfODyjr89gM3mPq1WNX2B8pYsu7eORitdwyA2sBubnTl3laYlBk4sXY5FUa5qTZGBDPJICVbvqzjlbw==} + + immer@11.1.4: + resolution: {integrity: sha512-XREFCPo6ksxVzP4E0ekD5aMdf8WMwmdNaz6vuvxgI40UaEiu6q3p8X52aU6GdyvLY3XXX/8R7JOTXStz/nBbRw==} + immutable@3.8.2: resolution: {integrity: sha512-15gZoQ38eYjEjxkorfbcgBKBL6R7T459OuK+CpcWt7O3KF4uPCx2tD0uFETlUDIyo+1789crbMhTvQBSR5yBMg==} engines: {node: '>=0.10.0'} @@ -8353,10 +8370,6 @@ packages: lru-cache@10.4.3: resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} - lru-cache@11.2.7: - resolution: {integrity: sha512-aY/R+aEsRelme17KGQa/1ZSIpLpNYYrhcrepKTZgE+W3WM16YMCaPwOHLHsmopZHELU0Ojin1lPVxKR0MihncA==} - engines: {node: 20 || >=22} - lru-cache@11.3.5: resolution: {integrity: sha512-NxVFwLAnrd9i7KUBxC4DrUhmgjzOs+1Qm50D3oF1/oL+r1NpZ4gA7xvG0/zJ8evR7zIKn4vLf7qTNduWFtCrRw==} engines: {node: 20 || >=22} @@ -8565,10 +8578,6 @@ packages: resolution: {integrity: sha512-bjdr2xW1dBCMsMGGsUeqM4eFI60m94+szhxWys+B1ztIt6gWSfeGBdSVCIawezeHYLYn0j6zrsXdQS/JllBzww==} engines: {node: '>=6'} - minimatch@10.2.2: - resolution: {integrity: sha512-+G4CpNBxa5MprY+04MbgOw1v7So6n5JY166pFi9KfYwT78fxScCeSNQSNzp6dpPSW2rONOps6Ocam1wFhCgoVw==} - engines: {node: 18 || 20 || >=22} - minimatch@10.2.5: resolution: {integrity: sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==} engines: {node: 18 || 20 || >=22} @@ -9557,12 +9566,6 @@ packages: react: '>=16.8.0' react-dom: '>=16.8.0' - react-smooth@4.0.4: - resolution: {integrity: sha512-gnGKTpYwqL0Iii09gHobNolvX4Kiq4PKx6eWBCYYix+8cdw+cGo3do906l1NBPKkSWx1DghC1dlWG9L2uGd61Q==} - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 - react-style-singleton@2.2.3: resolution: {integrity: sha512-b6jSvxvVnyptAiLjbkWLE/lOnR4lfTtDAl+eUC7RZy+QQWc6wRzIV2CE6xBuMmDxc2qIihtDCZD5NPOFl7fRBQ==} engines: {node: '>=10'} @@ -9637,15 +9640,13 @@ packages: resolution: {integrity: sha512-YTUo+Flmw4ZXiWfQKGcwwc11KnoRAYgzAE2E7mXKCjSviTKShtxBsN6YUUBB2gtaBzKzeKunxhUwNHQuRryhWA==} engines: {node: '>= 4'} - recharts-scale@0.4.5: - resolution: {integrity: sha512-kivNFO+0OcUNu7jQquLXAxz1FIwZj8nrj+YkOKc5694NbjCvcT6aSZiIzNzd2Kul4o4rTto8QVR9lMNtxD4G1w==} - - recharts@2.15.4: - resolution: {integrity: sha512-UT/q6fwS3c1dHbXv2uFgYJ9BMFHu3fwnd7AYZaEQhXuYQ4hgsxLvsUXzGdKeZrW5xopzDCvuA2N41WJ88I7zIw==} - engines: {node: '>=14'} + recharts@3.8.1: + resolution: {integrity: sha512-mwzmO1s9sFL0TduUpwndxCUNoXsBw3u3E/0+A+cLcrSfQitSG62L32N69GhqUrrT5qKcAE3pCGVINC6pqkBBQg==} + engines: {node: '>=18'} peerDependencies: - react: ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 react-dom: ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + react-is: ^19.2.5 redis-errors@1.2.0: resolution: {integrity: sha512-1qny3OExCf0UvUV/5wpYKf2YwPcOqXzkwKKSmKHiE6ZMQs5heeE/c8eXK+PNllPvmjgAbfnsbpkGZWy8cBpn9w==} @@ -9660,6 +9661,11 @@ packages: peerDependencies: immutable: ^3.8.1 || ^4.0.0-rc.1 + redux-thunk@3.1.0: + resolution: {integrity: sha512-NW2r5T6ksUKXCabzhL9z+h206HQw/NJkcLm1GPImRQ8IzfXwRGqjVhKJGauHirT0DAuyy6hjdnMZaRoAcy0Klw==} + peerDependencies: + redux: ^5.0.0 + redux@5.0.1: resolution: {integrity: sha512-M9/ELqF6fy8FwmkpnF0S3YKOqMyoWJ4+CS5Efg2ct3oY9daQvd/Pc71FpGZsVsbl3Cpb+IIcjBDUnnyBdQbq4w==} @@ -10762,8 +10768,8 @@ packages: vfile@6.0.3: resolution: {integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==} - victory-vendor@36.9.2: - resolution: {integrity: sha512-PnpQQMuxlwYdocC8fIJqVXvkeViHYzotI+NJrCuav0ZYFoq912ZHBk3mCeuj+5/VpodOjPe1z0Fk2ihgzlXqjQ==} + victory-vendor@37.3.6: + resolution: {integrity: sha512-SbPDPdDBYp+5MJHhBCAyI7wKM3d5ivekigc2Dk2s7pgbZ9wIgIBYGVw4zGHBml/qTFbexrofXW6Gu4noGxrOwQ==} video.js@8.23.7: resolution: {integrity: sha512-cG4HOygYt+Z8j6Sf5DuK6OgEOoM+g9oGP6vpqoZRaD13aHE4PMITbyjJUXZcIQbgB0wJEadBRaVm5lJIzo2jAA==} @@ -12264,13 +12270,13 @@ snapshots: transitivePeerDependencies: - supports-color - '@mantine/charts@8.3.18(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(@mantine/hooks@8.3.18(react@19.2.5))(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(recharts@2.15.4(react-dom@19.2.5(react@19.2.5))(react@19.2.5))': + '@mantine/charts@8.3.18(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(@mantine/hooks@8.3.18(react@19.2.5))(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(recharts@3.8.1(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react-is@19.2.5)(react@19.2.5)(redux@5.0.1))': dependencies: '@mantine/core': 8.3.18(@mantine/hooks@8.3.18(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) '@mantine/hooks': 8.3.18(react@19.2.5) react: 19.2.5 react-dom: 19.2.5(react@19.2.5) - recharts: 2.15.4(react-dom@19.2.5(react@19.2.5))(react@19.2.5) + recharts: 3.8.1(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react-is@19.2.5)(react@19.2.5)(redux@5.0.1) '@mantine/colors-generator@8.3.18(chroma-js@3.2.0)': dependencies: @@ -12710,6 +12716,18 @@ snapshots: '@protobufjs/utf8@1.1.0': {} + '@reduxjs/toolkit@2.11.2(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.5)(redux@5.0.1))(react@19.2.5)': + dependencies: + '@standard-schema/spec': 1.1.0 + '@standard-schema/utils': 0.3.0 + immer: 11.1.4 + redux: 5.0.1 + redux-thunk: 3.1.0(redux@5.0.1) + reselect: 5.1.1 + optionalDependencies: + react: 19.2.5 + react-redux: 9.2.0(@types/react@19.2.14)(react@19.2.5)(redux@5.0.1) + '@rolldown/pluginutils@1.0.0-rc.3': {} '@rollup/pluginutils@5.1.0': @@ -12868,7 +12886,7 @@ snapshots: p-filter: 4.1.0 semantic-release: 25.0.3(typescript@5.9.3) tinyglobby: 0.2.15 - undici: 7.24.6 + undici: 7.25.0 url-join: 5.0.0 transitivePeerDependencies: - supports-color @@ -12921,6 +12939,8 @@ snapshots: '@standard-schema/spec@1.1.0': {} + '@standard-schema/utils@0.3.0': {} + '@swagger-api/apidom-ast@1.11.0': dependencies: '@babel/runtime-corejs3': 7.27.1 @@ -15200,7 +15220,7 @@ snapshots: dns-caching@0.2.9: dependencies: - lru-cache: 11.2.7 + lru-cache: 11.3.5 docker-compose@1.4.2: dependencies: @@ -15249,10 +15269,6 @@ snapshots: dom-walk@0.1.2: {} - dompurify@3.4.1: - optionalDependencies: - '@types/trusted-types': 2.0.7 - dompurify@3.4.2: optionalDependencies: '@types/trusted-types': 2.0.7 @@ -15493,6 +15509,8 @@ snapshots: is-date-object: 1.1.0 is-symbol: 1.1.1 + es-toolkit@1.46.1: {} + esbuild@0.25.12: optionalDependencies: '@esbuild/aix-ppc64': 0.25.12 @@ -15791,8 +15809,6 @@ snapshots: eventemitter3@2.0.3: {} - eventemitter3@4.0.7: {} - eventemitter3@5.0.4: {} events@3.3.0: {} @@ -16137,7 +16153,7 @@ snapshots: glob@13.0.6: dependencies: - minimatch: 10.2.2 + minimatch: 10.2.5 minipass: 7.1.3 path-scurry: 2.0.2 @@ -16337,6 +16353,10 @@ snapshots: ignore@7.0.5: {} + immer@10.2.0: {} + + immer@11.1.4: {} + immutable@3.8.2: {} immutable@5.1.5: {} @@ -16869,8 +16889,6 @@ snapshots: lru-cache@10.4.3: {} - lru-cache@11.2.7: {} - lru-cache@11.3.5: {} lru-cache@5.1.1: @@ -17198,10 +17216,6 @@ snapshots: dependencies: lodash: 4.18.1 - minimatch@10.2.2: - dependencies: - brace-expansion: 5.0.5 - minimatch@10.2.5: dependencies: brace-expansion: 5.0.5 @@ -18182,14 +18196,6 @@ snapshots: react: 19.2.5 react-dom: 19.2.5(react@19.2.5) - react-smooth@4.0.4(react-dom@19.2.5(react@19.2.5))(react@19.2.5): - dependencies: - fast-equals: 5.3.3 - prop-types: 15.8.1 - react: 19.2.5 - react-dom: 19.2.5(react@19.2.5) - react-transition-group: 4.4.5(react-dom@19.2.5(react@19.2.5))(react@19.2.5) - react-style-singleton@2.2.3(@types/react@19.2.14)(react@19.2.5): dependencies: get-nonce: 1.0.1 @@ -18296,22 +18302,25 @@ snapshots: tiny-invariant: 1.3.3 tslib: 2.8.1 - recharts-scale@0.4.5: - dependencies: - decimal.js-light: 2.5.1 - - recharts@2.15.4(react-dom@19.2.5(react@19.2.5))(react@19.2.5): + recharts@3.8.1(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react-is@19.2.5)(react@19.2.5)(redux@5.0.1): dependencies: + '@reduxjs/toolkit': 2.11.2(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.5)(redux@5.0.1))(react@19.2.5) clsx: 2.1.1 - eventemitter3: 4.0.7 - lodash: 4.18.1 + decimal.js-light: 2.5.1 + es-toolkit: 1.46.1 + eventemitter3: 5.0.4 + immer: 10.2.0 react: 19.2.5 react-dom: 19.2.5(react@19.2.5) react-is: 19.2.5 - react-smooth: 4.0.4(react-dom@19.2.5(react@19.2.5))(react@19.2.5) - recharts-scale: 0.4.5 + react-redux: 9.2.0(@types/react@19.2.14)(react@19.2.5)(redux@5.0.1) + reselect: 5.1.1 tiny-invariant: 1.3.3 - victory-vendor: 36.9.2 + use-sync-external-store: 1.4.0(react@19.2.5) + victory-vendor: 37.3.6 + transitivePeerDependencies: + - '@types/react' + - redux redis-errors@1.2.0: {} @@ -18323,6 +18332,10 @@ snapshots: dependencies: immutable: 3.8.2 + redux-thunk@3.1.0(redux@5.0.1): + dependencies: + redux: 5.0.1 + redux@5.0.1: {} reflect.getprototypeof@1.0.9: @@ -19091,7 +19104,7 @@ snapshots: classnames: 2.5.1 css.escape: 1.5.1 deep-extend: 0.6.0 - dompurify: 3.4.1 + dompurify: 3.4.2 ieee754: 1.2.1 immutable: 3.8.2 js-file-download: 0.4.12 @@ -19203,7 +19216,7 @@ snapshots: ssh-remote-port-forward: 1.0.4 tar-fs: 3.1.2 tmp: 0.2.5 - undici: 7.24.6 + undici: 7.25.0 transitivePeerDependencies: - bare-buffer - supports-color @@ -19677,7 +19690,7 @@ snapshots: '@types/unist': 3.0.3 vfile-message: 4.0.2 - victory-vendor@36.9.2: + victory-vendor@37.3.6: dependencies: '@types/d3-array': 3.2.1 '@types/d3-ease': 3.0.2 diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 4f7576ad6..ce173e1db 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -177,7 +177,7 @@ catalog: react-markdown: ^10.1.0 react-quill-new: ^3.8.3 react-simple-code-editor: ^0.14.1 - recharts: ^2.15.4 + recharts: ^3.8.1 sass: ^1.99.0 semantic-release: ^25.0.3 semver-parser: ^4.1.8 From 69fe180968738c319958d0400efe03f6fb93cdef Mon Sep 17 00:00:00 2001 From: "homarr-update-contributors[bot]" <210161987+homarr-update-contributors[bot]@users.noreply.github.com> Date: Fri, 8 May 2026 13:25:53 +0000 Subject: [PATCH 21/63] chore: update contributors (#5674) Co-authored-by: Homarr Update Contributors <210161987+homarr-update-contributors[bot]@users.noreply.github.com> --- static-data/contributors.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/static-data/contributors.json b/static-data/contributors.json index 5db83ab61..d6a6b43fa 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":"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":"krishnamuppaneni","avatar_url":"https://avatars.githubusercontent.com/u/4703366?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":"alotlikebeans","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":"huanga","avatar_url":"https://avatars.githubusercontent.com/u/732970?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":"tesar-tech","avatar_url":"https://avatars.githubusercontent.com/u/33880579?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":"Aandree5","avatar_url":"https://avatars.githubusercontent.com/u/32734153?v=4"},{"login":"jackwellerreal","avatar_url":"https://avatars.githubusercontent.com/u/97435840?v=4"},{"login":"SergioChan","avatar_url":"https://avatars.githubusercontent.com/u/10103766?v=4"},{"login":"toineenzo","avatar_url":"https://avatars.githubusercontent.com/u/4921397?v=4"},{"login":"oben01","avatar_url":"https://avatars.githubusercontent.com/u/22369027?v=4"},{"login":"rezstje","avatar_url":"https://avatars.githubusercontent.com/u/45420315?v=4"},{"login":"castielwaverly","avatar_url":"https://avatars.githubusercontent.com/u/137005689?v=4"},{"login":"xoxyuxu","avatar_url":"https://avatars.githubusercontent.com/u/3543416?v=4"},{"login":"MaienM","avatar_url":"https://avatars.githubusercontent.com/u/583129?v=4"},{"login":"mvanhorn","avatar_url":"https://avatars.githubusercontent.com/u/455140?v=4"},{"login":"HeapReaper","avatar_url":"https://avatars.githubusercontent.com/u/31496522?v=4"},{"login":"Copilot","avatar_url":"https://avatars.githubusercontent.com/in/1143301?v=4"},{"login":"mairas","avatar_url":"https://avatars.githubusercontent.com/u/407010?v=4"},{"login":"itzTheMeow","avatar_url":"https://avatars.githubusercontent.com/u/50887230?v=4"},{"login":"NicolasNewman","avatar_url":"https://avatars.githubusercontent.com/u/16135852?v=4"},{"login":"NikeLaosClericus","avatar_url":"https://avatars.githubusercontent.com/u/39810627?v=4"},{"login":"noahcroghan","avatar_url":"https://avatars.githubusercontent.com/u/27422774?v=4"},{"login":"ohmzi","avatar_url":"https://avatars.githubusercontent.com/u/6551272?v=4"},{"login":"Rhiz3K","avatar_url":"https://avatars.githubusercontent.com/u/33246262?v=4"},{"login":"saschabuehrle","avatar_url":"https://avatars.githubusercontent.com/u/47737812?v=4"},{"login":"StrandedTurtle","avatar_url":"https://avatars.githubusercontent.com/u/132835255?v=4"},{"login":"CrazyWolf13","avatar_url":"https://avatars.githubusercontent.com/u/96661824?v=4"},{"login":"generalmat82","avatar_url":"https://avatars.githubusercontent.com/u/110256073?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"},{"login":"leandroscardua","avatar_url":"https://avatars.githubusercontent.com/u/24698541?v=4"},{"login":"kylegrieder","avatar_url":"https://avatars.githubusercontent.com/u/25424229?v=4"},{"login":"hotrungnhan","avatar_url":"https://avatars.githubusercontent.com/u/40029631?v=4"},{"login":"KelianB","avatar_url":"https://avatars.githubusercontent.com/u/11216155?v=4"},{"login":"Kaotic3","avatar_url":"https://avatars.githubusercontent.com/u/80522225?v=4"},{"login":"frankvHoof93","avatar_url":"https://avatars.githubusercontent.com/u/7346516?v=4"},{"login":"faugusto-oliveira","avatar_url":"https://avatars.githubusercontent.com/u/37384074?v=4"},{"login":"ieugen","avatar_url":"https://avatars.githubusercontent.com/u/1050920?v=4"},{"login":"KartulUdus","avatar_url":"https://avatars.githubusercontent.com/u/23346150?v=4"},{"login":"dgshue","avatar_url":"https://avatars.githubusercontent.com/u/12952156?v=4"},{"login":"DZ945brH","avatar_url":"https://avatars.githubusercontent.com/u/42635243?v=4"},{"login":"Oupsman","avatar_url":"https://avatars.githubusercontent.com/u/11260343?v=4"},{"login":"m0s4ik","avatar_url":"https://avatars.githubusercontent.com/u/26578395?v=4"},{"login":"AartSchinkel","avatar_url":"https://avatars.githubusercontent.com/u/189675191?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":"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":"krishnamuppaneni","avatar_url":"https://avatars.githubusercontent.com/u/4703366?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":"alotlikebeans","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":"huanga","avatar_url":"https://avatars.githubusercontent.com/u/732970?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":"tesar-tech","avatar_url":"https://avatars.githubusercontent.com/u/33880579?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":"Aandree5","avatar_url":"https://avatars.githubusercontent.com/u/32734153?v=4"},{"login":"jackwellerreal","avatar_url":"https://avatars.githubusercontent.com/u/97435840?v=4"},{"login":"mvanhorn","avatar_url":"https://avatars.githubusercontent.com/u/455140?v=4"},{"login":"SergioChan","avatar_url":"https://avatars.githubusercontent.com/u/10103766?v=4"},{"login":"toineenzo","avatar_url":"https://avatars.githubusercontent.com/u/4921397?v=4"},{"login":"oben01","avatar_url":"https://avatars.githubusercontent.com/u/22369027?v=4"},{"login":"rezstje","avatar_url":"https://avatars.githubusercontent.com/u/45420315?v=4"},{"login":"castielwaverly","avatar_url":"https://avatars.githubusercontent.com/u/137005689?v=4"},{"login":"xoxyuxu","avatar_url":"https://avatars.githubusercontent.com/u/3543416?v=4"},{"login":"MaienM","avatar_url":"https://avatars.githubusercontent.com/u/583129?v=4"},{"login":"kylegrieder","avatar_url":"https://avatars.githubusercontent.com/u/25424229?v=4"},{"login":"HeapReaper","avatar_url":"https://avatars.githubusercontent.com/u/31496522?v=4"},{"login":"Copilot","avatar_url":"https://avatars.githubusercontent.com/in/1143301?v=4"},{"login":"itzTheMeow","avatar_url":"https://avatars.githubusercontent.com/u/50887230?v=4"},{"login":"NicolasNewman","avatar_url":"https://avatars.githubusercontent.com/u/16135852?v=4"},{"login":"NikeLaosClericus","avatar_url":"https://avatars.githubusercontent.com/u/39810627?v=4"},{"login":"noahcroghan","avatar_url":"https://avatars.githubusercontent.com/u/27422774?v=4"},{"login":"ohmzi","avatar_url":"https://avatars.githubusercontent.com/u/6551272?v=4"},{"login":"Rhiz3K","avatar_url":"https://avatars.githubusercontent.com/u/33246262?v=4"},{"login":"saschabuehrle","avatar_url":"https://avatars.githubusercontent.com/u/47737812?v=4"},{"login":"StrandedTurtle","avatar_url":"https://avatars.githubusercontent.com/u/132835255?v=4"},{"login":"CrazyWolf13","avatar_url":"https://avatars.githubusercontent.com/u/96661824?v=4"},{"login":"generalmat82","avatar_url":"https://avatars.githubusercontent.com/u/110256073?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":"sharpsalat","avatar_url":"https://avatars.githubusercontent.com/u/15666932?v=4"},{"login":"tech62","avatar_url":"https://avatars.githubusercontent.com/u/16237642?v=4"},{"login":"mairas","avatar_url":"https://avatars.githubusercontent.com/u/407010?v=4"},{"login":"leandroscardua","avatar_url":"https://avatars.githubusercontent.com/u/24698541?v=4"},{"login":"hotrungnhan","avatar_url":"https://avatars.githubusercontent.com/u/40029631?v=4"},{"login":"KelianB","avatar_url":"https://avatars.githubusercontent.com/u/11216155?v=4"},{"login":"Kaotic3","avatar_url":"https://avatars.githubusercontent.com/u/80522225?v=4"},{"login":"febrile42","avatar_url":"https://avatars.githubusercontent.com/u/14597122?v=4"},{"login":"frankvHoof93","avatar_url":"https://avatars.githubusercontent.com/u/7346516?v=4"},{"login":"faugusto-oliveira","avatar_url":"https://avatars.githubusercontent.com/u/37384074?v=4"},{"login":"ieugen","avatar_url":"https://avatars.githubusercontent.com/u/1050920?v=4"},{"login":"KartulUdus","avatar_url":"https://avatars.githubusercontent.com/u/23346150?v=4"},{"login":"dgshue","avatar_url":"https://avatars.githubusercontent.com/u/12952156?v=4"},{"login":"DZ945brH","avatar_url":"https://avatars.githubusercontent.com/u/42635243?v=4"},{"login":"Oupsman","avatar_url":"https://avatars.githubusercontent.com/u/11260343?v=4"},{"login":"m0s4ik","avatar_url":"https://avatars.githubusercontent.com/u/26578395?v=4"},{"login":"AartSchinkel","avatar_url":"https://avatars.githubusercontent.com/u/189675191?v=4"}] \ No newline at end of file From a474dcd961d55472a63cf774cbbaaf61ebe92690 Mon Sep 17 00:00:00 2001 From: Manuel <30572287+manuel-rw@users.noreply.github.com> Date: Fri, 8 May 2026 15:37:41 +0200 Subject: [PATCH 22/63] chore: exclude renovate managed files from codeowners (#5676) --- CODEOWNERS | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CODEOWNERS b/CODEOWNERS index ed482fd41..b798cfada 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -3,7 +3,11 @@ # Exempt Renovate‑managed files (no owners) package.json +**/package.json package-lock.json +**/package-lock.json pnpm-lock.yaml +**/pnpm-lock.yaml +pnpm-workspace.yaml Dockerfile docker-compose.yml From 00a055283e8848542b67d88a656a99fdd0bcb444 Mon Sep 17 00:00:00 2001 From: Manuel <30572287+manuel-rw@users.noreply.github.com> Date: Fri, 8 May 2026 15:44:04 +0200 Subject: [PATCH 23/63] fix(qbittorrent): support version 5.2 (#5672) --- pnpm-lock.yaml | 29 +++++++++++++++++++++-------- pnpm-workspace.yaml | 2 +- 2 files changed, 22 insertions(+), 9 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 6873a362e..086fcd1f1 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -16,8 +16,8 @@ catalogs: specifier: ^8.0.0 version: 8.0.0 '@ctrl/qbittorrent': - specifier: ^9.11.2 - version: 9.11.2 + specifier: ^9.12.1 + version: 9.12.1 '@ctrl/transmission': specifier: ^7.4.0 version: 7.4.0 @@ -1985,7 +1985,7 @@ importers: version: 8.0.0 '@ctrl/qbittorrent': specifier: 'catalog:' - version: 9.11.2 + version: 9.12.1 '@ctrl/transmission': specifier: 'catalog:' version: 7.4.0 @@ -3209,8 +3209,8 @@ packages: resolution: {integrity: sha512-fEfw3AeQ8XhVsNzogZrnyTNDD/Tpbfl3ybHsspBMvj0UKctabApv1JV3JJUQG/hoX6hiO+DtQS+acN7dMPX01g==} engines: {node: '>20'} - '@ctrl/qbittorrent@9.11.2': - resolution: {integrity: sha512-ZIayGA72R4rzXaCcEYrxBwOMYZ1iT0EABJPwjTkwaO3VYRBBltwHSAxNfMWaz4GVmqLA12/WCfx+IPXBN9Gtxg==} + '@ctrl/qbittorrent@9.12.1': + resolution: {integrity: sha512-6rSTWPV0UwehqLCyBLh9Avw5FPA1nh8SO+aTxrEXu6okZPjz+3tn7EGZdLhOfy+6poIc7miX/1g1VAOVo3JSTA==} engines: {node: '>=18'} '@ctrl/shared-torrent@6.5.1': @@ -10521,6 +10521,10 @@ packages: resolution: {integrity: sha512-PlBfpQwiUvGViBNX84Yxwjsdhd1TUlXr6zjX7eoirtCPIr08NAmxwa+fcYBTeRQxHo9YC9wwF3m9i700sHma8g==} engines: {node: '>=20'} + type-fest@5.6.0: + resolution: {integrity: sha512-8ZiHFm91orbSAe2PSAiSVBVko18pbhbiB3U9GglSzF/zCGkR+rxpHx6sEMCUm4kxY4LjDIUGgCfUMtwfZfjfUA==} + engines: {node: '>=20'} + type-is@1.6.18: resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} engines: {node: '>= 0.6'} @@ -10562,6 +10566,9 @@ packages: ufo@1.6.3: resolution: {integrity: sha512-yDJTmhydvl5lJzBmy/hyOAA0d+aqCBuwl818haVdYCRrWV84o7YyeVm4QlVHStqNrrJSTb6jKuFAVqAFsr+K3Q==} + ufo@1.6.4: + resolution: {integrity: sha512-JFNbkD1Svwe0KvGi8GOeLcP4kAWQ609twvCdcHxq1oSL8svv39ZuSvajcD8B+5D0eL4+s1Is2D/O6KN3qcTeRA==} + uglify-js@3.19.3: resolution: {integrity: sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ==} engines: {node: '>=0.8.0'} @@ -11440,7 +11447,7 @@ snapshots: rfc4648: 1.5.4 uint8array-extras: 1.5.0 - '@ctrl/qbittorrent@9.11.2': + '@ctrl/qbittorrent@9.12.1': dependencies: '@ctrl/magnet-link': 4.3.0 '@ctrl/shared-torrent': 6.5.1(ofetch@1.5.1) @@ -11448,8 +11455,8 @@ snapshots: cookie: 1.1.1 node-fetch-native: 1.6.7 ofetch: 1.5.1 - type-fest: 5.5.0 - ufo: 1.6.3 + type-fest: 5.6.0 + ufo: 1.6.4 uint8array-extras: 1.5.0 '@ctrl/shared-torrent@6.5.1(ofetch@1.5.1)': @@ -19428,6 +19435,10 @@ snapshots: dependencies: tagged-tag: 1.0.0 + type-fest@5.6.0: + dependencies: + tagged-tag: 1.0.0 + type-is@1.6.18: dependencies: media-typer: 0.3.0 @@ -19489,6 +19500,8 @@ snapshots: ufo@1.6.3: {} + ufo@1.6.4: {} + uglify-js@3.19.3: optional: true diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index ce173e1db..e5d22df4d 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -22,7 +22,7 @@ catalog: "@auth/core": ^0.41.2 "@auth/drizzle-adapter": ^1.11.2 "@ctrl/deluge": ^8.0.0 - "@ctrl/qbittorrent": ^9.11.2 + "@ctrl/qbittorrent": ^9.12.1 "@ctrl/transmission": ^7.4.0 "@dnd-kit/core": ^6.3.1 "@dnd-kit/modifiers": ^9.0.0 From 44a2973b1aba1e2c6bd818be022205f3cdb7c943 Mon Sep 17 00:00:00 2001 From: Manuel <30572287+manuel-rw@users.noreply.github.com> Date: Fri, 8 May 2026 16:03:12 +0200 Subject: [PATCH 24/63] revert(deps): downgrade pnpm to v10 (#5673) --- .github/renovate.json5 | 4 +- .npmrc | 6 + deployments/prebuilt-debian/Dockerfile | 1 - deployments/prebuilt-debian/package.json | 9 +- .../prebuilt-debian/pnpm-workspace.yaml | 2 - package.json | 51 ++++++- pnpm-lock.yaml | 135 +++++++++++++++--- pnpm-workspace.yaml | 43 +----- test/renovate.spec.ts | 13 +- 9 files changed, 185 insertions(+), 79 deletions(-) create mode 100644 .npmrc delete mode 100644 deployments/prebuilt-debian/pnpm-workspace.yaml diff --git a/.github/renovate.json5 b/.github/renovate.json5 index ebfca8af4..269a4d2ff 100644 --- a/.github/renovate.json5 +++ b/.github/renovate.json5 @@ -22,7 +22,7 @@ automerge: true, }, { - // disallow automerge for dependencies requiring postinstall scripts + // disallow automerge for onlyBuiltDependencies matchPackageNames: [ "@tree-sitter-grammars/tree-sitter-yaml", "bcrypt", @@ -39,7 +39,7 @@ ], // Updates lockfile for prebuilt-debian after if package.json is updated, otherwise only root lockfile is updated postUpgradeTasks: { - commands: ["cd deployments/prebuilt-debian && pnpm install --lockfile-only"], + commands: ["cd deployments/prebuilt-debian && pnpm install --ignore-workspace --lockfile-only"], fileFilters: ["deployments/prebuilt-debian/pnpm-lock.yaml"], executionMode: "update", }, diff --git a/.npmrc b/.npmrc new file mode 100644 index 000000000..34451fb2f --- /dev/null +++ b/.npmrc @@ -0,0 +1,6 @@ +# Expo doesn't play nice with pnpm by default. +# The symbolic links of pnpm break the rules of Expo monorepos. +# @link https://docs.expo.dev/guides/monorepos/#common-issues +node-linker=hoisted +strict-peer-dependencies=false +engine-strict=true \ No newline at end of file diff --git a/deployments/prebuilt-debian/Dockerfile b/deployments/prebuilt-debian/Dockerfile index 7ca2aafb1..8ac61693e 100644 --- a/deployments/prebuilt-debian/Dockerfile +++ b/deployments/prebuilt-debian/Dockerfile @@ -2,6 +2,5 @@ FROM node:24.15.0-trixie AS base WORKDIR /app COPY package.json . COPY pnpm-lock.yaml . -COPY pnpm-workspace.yaml . RUN corepack enable pnpm && pnpm install --frozen-lockfile CMD ["sleep", "60s"] \ No newline at end of file diff --git a/deployments/prebuilt-debian/package.json b/deployments/prebuilt-debian/package.json index 6d326193c..15876ecc1 100644 --- a/deployments/prebuilt-debian/package.json +++ b/deployments/prebuilt-debian/package.json @@ -4,9 +4,14 @@ "dependencies": { "better-sqlite3": "^12.9.0" }, - "packageManager": "pnpm@11.0.4", + "packageManager": "pnpm@10.33.2", "engines": { "node": ">=24.15.0", - "pnpm": ">=11.0.4" + "pnpm": ">=10.33.2" + }, + "pnpm": { + "onlyBuiltDependencies": [ + "better-sqlite3" + ] } } diff --git a/deployments/prebuilt-debian/pnpm-workspace.yaml b/deployments/prebuilt-debian/pnpm-workspace.yaml deleted file mode 100644 index 65783dc34..000000000 --- a/deployments/prebuilt-debian/pnpm-workspace.yaml +++ /dev/null @@ -1,2 +0,0 @@ -allowBuilds: - better-sqlite3: true diff --git a/package.json b/package.json index d81206e10..5cdd91982 100644 --- a/package.json +++ b/package.json @@ -57,12 +57,55 @@ "turbo": "catalog:", "typescript": "catalog:", "vite-tsconfig-paths": "catalog:", - "vitest": "catalog:", - "yaml": "catalog:" + "vitest": "catalog:" }, - "packageManager": "pnpm@11.0.4", + "packageManager": "pnpm@10.33.2", "engines": { "node": ">=24.15.0", - "pnpm": ">=11.0.4" + "pnpm": ">=10.33.2" + }, + "pnpm": { + "onlyBuiltDependencies": [ + "@tree-sitter-grammars/tree-sitter-yaml", + "bcrypt", + "better-sqlite3", + "cpu-features", + "esbuild", + "sharp", + "ssh2", + "tree-sitter", + "tree-sitter-json" + ], + "overrides": { + "@babel/helpers@<7.26.10": ">=7.29.2", + "@babel/runtime@<7.26.10": ">=7.29.2", + "axios@>=1.0.0 <1.8.2": ">=1.16.0", + "brace-expansion@>=2.0.0 <=2.0.1": ">=5.0.5", + "brace-expansion@>=1.0.0 <=1.1.11": ">=5.0.5", + "esbuild@<=0.24.2": ">=0.28.0", + "form-data@>=4.0.0 <4.0.4": ">=4.0.5", + "hono@<4.6.5": ">=4.12.16", + "linkifyjs@<4.3.2": ">=4.3.2", + "nanoid@>=4.0.0 <5.0.9": ">=5.1.11", + "prismjs@<1.30.0": ">=1.30.0", + "proxmox-api>undici": "7.24.6", + "react-is": "^19.2.5", + "rollup@>=4.0.0 <4.22.4": ">=4.60.2", + "sha.js@<=2.4.11": ">=2.4.12", + "tar-fs@>=3.0.0 <3.0.9": ">=3.1.2", + "tar-fs@>=2.0.0 <2.1.3": ">=3.1.2", + "tmp@<=0.2.3": ">=0.2.5", + "vite@>=5.0.0 <=5.4.18": ">=8.0.10" + }, + "patchedDependencies": { + "@types/node-unifi": "patches/@types__node-unifi.patch", + "trpc-to-openapi": "patches/trpc-to-openapi.patch" + }, + "allowUnusedPatches": true, + "ignoredBuiltDependencies": [ + "@scarf/scarf", + "core-js-pure", + "protobufjs" + ] } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 086fcd1f1..647b98e2d 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -566,8 +566,8 @@ overrides: '@babel/helpers@<7.26.10': '>=7.29.2' '@babel/runtime@<7.26.10': '>=7.29.2' axios@>=1.0.0 <1.8.2: '>=1.16.0' - brace-expansion@>=1.0.0 <=1.1.11: '>=5.0.5' brace-expansion@>=2.0.0 <=2.0.1: '>=5.0.5' + brace-expansion@>=1.0.0 <=1.1.11: '>=5.0.5' esbuild@<=0.24.2: '>=0.28.0' form-data@>=4.0.0 <4.0.4: '>=4.0.5' hono@<4.6.5: '>=4.12.16' @@ -578,14 +578,18 @@ overrides: react-is: ^19.2.5 rollup@>=4.0.0 <4.22.4: '>=4.60.2' sha.js@<=2.4.11: '>=2.4.12' - tar-fs@>=2.0.0 <2.1.3: '>=3.1.2' tar-fs@>=3.0.0 <3.0.9: '>=3.1.2' + tar-fs@>=2.0.0 <2.1.3: '>=3.1.2' tmp@<=0.2.3: '>=0.2.5' vite@>=5.0.0 <=5.4.18: '>=8.0.10' patchedDependencies: - '@types/node-unifi': 5e6ae51e2a17a7f9729bfa30b0eb3d0842a5810ac6db47603ab4a6efa1ed84c5 - trpc-to-openapi: 2ca3c16af0fcca0c736697ad4fe553a14f794524fa9ce0d5c3e8ee4aea76090c + '@types/node-unifi': + hash: 5e6ae51e2a17a7f9729bfa30b0eb3d0842a5810ac6db47603ab4a6efa1ed84c5 + path: patches/@types__node-unifi.patch + trpc-to-openapi: + hash: 2ca3c16af0fcca0c736697ad4fe553a14f794524fa9ce0d5c3e8ee4aea76090c + path: patches/trpc-to-openapi.patch importers: @@ -660,9 +664,6 @@ importers: vitest: specifier: 'catalog:' version: 4.1.5(@types/node@24.12.2)(@vitest/coverage-v8@4.1.5)(@vitest/ui@4.1.5)(jsdom@29.1.1(@noble/hashes@2.0.1))(vite@7.1.12(@types/node@24.12.2)(sass@1.99.0)(sugarss@5.0.0(postcss@8.5.8))(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.4)) - yaml: - specifier: 'catalog:' - version: 2.8.4 apps/nextjs: dependencies: @@ -1454,7 +1455,7 @@ importers: dependencies: '@t3-oss/env-nextjs': specifier: 'catalog:' - version: 0.13.11(typescript@5.9.3)(zod@4.4.2) + version: 0.13.11(arktype@2.1.20)(typescript@5.9.3)(zod@4.4.2) better-sqlite3: specifier: 'catalog:' version: 12.9.0 @@ -1463,7 +1464,7 @@ importers: version: 0.2.9 drizzle-orm: specifier: 'catalog:' - version: 0.45.2(@types/better-sqlite3@7.6.13)(@types/pg@8.20.0)(better-sqlite3@12.9.0)(mysql2@3.22.3(@types/node@24.12.2))(pg@8.20.0) + version: 0.45.2(@libsql/client-wasm@0.14.0)(@types/better-sqlite3@7.6.13)(@types/pg@8.20.0)(better-sqlite3@12.9.0)(gel@2.0.0)(mysql2@3.22.3(@types/node@24.12.2))(pg@8.20.0) ioredis: specifier: 'catalog:' version: 5.10.1 @@ -1717,10 +1718,10 @@ importers: version: 0.31.10 drizzle-orm: specifier: 'catalog:' - version: 0.45.2(@types/better-sqlite3@7.6.13)(@types/pg@8.20.0)(better-sqlite3@12.9.0)(mysql2@3.22.3(@types/node@24.12.2))(pg@8.20.0) + version: 0.45.2(@libsql/client-wasm@0.14.0)(@types/better-sqlite3@7.6.13)(@types/pg@8.20.0)(better-sqlite3@12.9.0)(gel@2.0.0)(mysql2@3.22.3(@types/node@24.12.2))(pg@8.20.0) drizzle-zod: specifier: 'catalog:' - version: 0.8.3(drizzle-orm@0.45.2(@types/better-sqlite3@7.6.13)(@types/pg@8.20.0)(better-sqlite3@12.9.0)(mysql2@3.22.3(@types/node@24.12.2))(pg@8.20.0))(zod@4.4.2) + version: 0.8.3(drizzle-orm@0.45.2(@libsql/client-wasm@0.14.0)(@types/better-sqlite3@7.6.13)(@types/pg@8.20.0)(better-sqlite3@12.9.0)(gel@2.0.0)(mysql2@3.22.3(@types/node@24.12.2))(pg@8.20.0))(zod@4.4.2) mysql2: specifier: 'catalog:' version: 3.22.3(@types/node@24.12.2) @@ -3000,6 +3001,12 @@ packages: resolution: {integrity: sha512-2aDL3WUv8hMJb2L3r/PIQWsTLyq7RQr3v9xD16fiz6O8ys1xEyLhhTOv8gxtZvJiTzjTF5pHoArvRdesGL1DMQ==} hasBin: true + '@ark/schema@0.46.0': + resolution: {integrity: sha512-c2UQdKgP2eqqDArfBqQIJppxJHvNNXuQPeuSPlDML4rjw+f1cu0qAlzOG4b8ujgm9ctIDWwhpyw6gjG5ledIVQ==} + + '@ark/util@0.46.0': + resolution: {integrity: sha512-JPy/NGWn/lvf1WmGCPw2VGpBg5utZraE84I7wli18EDF3p3zc/e9WolT35tINeZO3l7C77SjqRJeAUoT0CvMRg==} + '@asamuzakjp/css-color@5.1.11': resolution: {integrity: sha512-KVw6qIiCTUQhByfTd78h2yD1/00waTmm9uy/R7Ck/ctUyAPj+AEDLkQIdJW0T8+qGgj3j5bpNKK7Q3G+LedJWg==} engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0} @@ -4276,6 +4283,14 @@ packages: '@kwsites/file-exists@1.1.1': resolution: {integrity: sha512-m9/5YGR18lIwxSFDwfE3oA7bWuq9kdau6ugN4H2rJeyhFQZcG9AgSHkQtSD15a8WvTgfz9aikZMrKPHvbpqFiw==} + '@libsql/client-wasm@0.14.0': + resolution: {integrity: sha512-gB/jtz0xuwrqAHApBv9e9JSew2030Fhj2edyZ83InZ4yPj/Q2LTUlEhaspEYT0T0xsAGqPy38uGrmq/OGS+DdQ==} + bundledDependencies: + - '@libsql/libsql-wasm-experimental' + + '@libsql/core@0.14.0': + resolution: {integrity: sha512-nhbuXf7GP3PSZgdCY2Ecj8vz187ptHlZQ0VRc751oB2C1W8jQUXKKklvt7t1LJiUTQBVJuadF628eUk+3cRi4Q==} + '@mantine/charts@8.3.18': resolution: {integrity: sha512-oudif3EUH7Nb9DPm0abAPxpFYDWWjR3k2S5ll0/CcB+pJzlhwaBG19QwpOJaRA6VAvAXDDKOXCO4mi9XCEN78g==} peerDependencies: @@ -4370,7 +4385,6 @@ packages: '@million/lint@1.0.14': resolution: {integrity: sha512-u6/kglVwZRu5+GMmtkNlGLqJVkgTl0TtM+hLa9rBg7pldx+5NG5bk45NvL37uZmAr2Xfa1C6qHb7GrFwfP372g==} - deprecated: This package is no longer maintained hasBin: true '@ndaidong/bellajs@12.0.1': @@ -4651,6 +4665,9 @@ packages: resolution: {integrity: sha512-HNjmfLQEVRZmHRET336f20H/8kOozUGwk7yajvsonjNxbj2wBTK1WsQuHkD5yYh9RxFGL2EyDHryOihOwUoKDA==} engines: {node: '>= 10.0.0'} + '@petamoriken/float16@3.9.3': + resolution: {integrity: sha512-8awtpHXCx/bNpFt4mt2xdkgtgVvKqty8VbjHI/WWWQuEw+KLzFot3f4+LkQY9YmOtq7A5GdOnqoIC8Pdygjk2g==} + '@pinojs/redact@0.4.0': resolution: {integrity: sha512-k2ENnmBugE/rzQfEcdWHcCY+/FM3VLzH9cYEsbdsoqrvzAKRhUZeRNhAZvB8OitQJ1TBed3yqWtdjzS6wJKBwg==} @@ -6108,6 +6125,9 @@ packages: resolution: {integrity: sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==} engines: {node: '>= 0.4'} + arktype@2.1.20: + resolution: {integrity: sha512-IZCEEXaJ8g+Ijd59WtSYwtjnqXiwM8sWQ5EjGamcto7+HVN9eK0C4p0zDlCuAwWhpqr6fIBkxPuYDl4/Mcj/+Q==} + array-buffer-byte-length@1.0.2: resolution: {integrity: sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==} engines: {node: '>= 0.4'} @@ -7084,6 +7104,10 @@ packages: resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==} engines: {node: '>=6'} + env-paths@3.0.0: + resolution: {integrity: sha512-dtJUTepzMW3Lm/NPxRf3wP4642UWhjL2sQxc+ym2YMj1m/H2zDNQOlezafzkHwn6sMstjHTwG6iQQsctDW/b1A==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + environment@1.1.0: resolution: {integrity: sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==} engines: {node: '>=18'} @@ -7547,6 +7571,11 @@ packages: functions-have-names@1.2.3: resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} + gel@2.0.0: + resolution: {integrity: sha512-Oq3Fjay71s00xzDc0BF/mpcLmnA+uRqMEJK8p5K4PaZjUEsxaeo+kR9OHBVAf289/qPd+0OcLOLUN0UhqiUCog==} + engines: {node: '>= 18.0.0'} + hasBin: true + generate-function@2.3.1: resolution: {integrity: sha512-eeB5GfMNeevm/GRYq20ShmsaGcmI81kIX2K9XQx5miC8KdHaC6Jm0qQ8ZNeGOi7wYB8OsdxKs+Y2oVuTFuVwKQ==} @@ -8096,6 +8125,10 @@ packages: isexe@2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + isexe@3.1.5: + resolution: {integrity: sha512-6B3tLtFqtQS4ekarvLVMZ+X+VlvQekbe4taUkf/rhVO3d/h0M2rfARm/pXLcPEsjjMsFgrFgSrhQIxcSVrBz8w==} + engines: {node: '>=18'} + isomorphic-dompurify@3.12.0: resolution: {integrity: sha512-8n+j+6ypTHvriJwFOQ2qusQ6bzGjZVcR3jbe1pBpLcGI1dn4WIl0ctLBngqE5QttquQBAlKXwJeTMw+X7x7qKw==} engines: {node: ^20.19.0 || ^22.13.0 || >=24.0.0} @@ -8164,6 +8197,9 @@ packages: react: optional: true + js-base64@3.7.8: + resolution: {integrity: sha512-hNngCeKxIUQiEUN3GPJOkz4wF/YvdUdbNL9hsBcMQTkKzboD7T/q3OYOuuPZLUE6dBxSGpwhk5mwuDud7JVAow==} + js-file-download@0.4.12: resolution: {integrity: sha512-rML+NkoD08p5Dllpjo0ffy4jRHeY6Zsapvr/W86N7E0yuzAO6qa5X9+xog6zQNlH102J7IXljNY2FtS6Lj3ucg==} @@ -10956,6 +10992,11 @@ packages: engines: {node: '>= 8'} hasBin: true + which@4.0.0: + resolution: {integrity: sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==} + engines: {node: ^16.13.0 || >=18.0.0} + hasBin: true + why-is-node-running@2.3.0: resolution: {integrity: sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==} engines: {node: '>=8'} @@ -11184,6 +11225,14 @@ snapshots: '@antfu/ni@0.21.12': {} + '@ark/schema@0.46.0': + dependencies: + '@ark/util': 0.46.0 + optional: true + + '@ark/util@0.46.0': + optional: true + '@asamuzakjp/css-color@5.1.11': dependencies: '@asamuzakjp/generational-cache': 1.0.1 @@ -12277,6 +12326,17 @@ snapshots: transitivePeerDependencies: - supports-color + '@libsql/client-wasm@0.14.0': + dependencies: + '@libsql/core': 0.14.0 + js-base64: 3.7.8 + optional: true + + '@libsql/core@0.14.0': + dependencies: + js-base64: 3.7.8 + optional: true + '@mantine/charts@8.3.18(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(@mantine/hooks@8.3.18(react@19.2.5))(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(recharts@3.8.1(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react-is@19.2.5)(react@19.2.5)(redux@5.0.1))': dependencies: '@mantine/core': 8.3.18(@mantine/hooks@8.3.18(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) @@ -12681,6 +12741,9 @@ snapshots: '@parcel/watcher-win32-ia32': 2.4.1 '@parcel/watcher-win32-x64': 2.4.1 + '@petamoriken/float16@3.9.3': + optional: true + '@pinojs/redact@0.4.0': {} '@pkgjs/parseargs@0.11.0': @@ -13436,15 +13499,17 @@ snapshots: dependencies: '@swc/counter': 0.1.3 - '@t3-oss/env-core@0.13.11(typescript@5.9.3)(zod@4.4.2)': + '@t3-oss/env-core@0.13.11(arktype@2.1.20)(typescript@5.9.3)(zod@4.4.2)': optionalDependencies: + arktype: 2.1.20 typescript: 5.9.3 zod: 4.4.2 - '@t3-oss/env-nextjs@0.13.11(typescript@5.9.3)(zod@4.4.2)': + '@t3-oss/env-nextjs@0.13.11(arktype@2.1.20)(typescript@5.9.3)(zod@4.4.2)': dependencies: - '@t3-oss/env-core': 0.13.11(typescript@5.9.3)(zod@4.4.2) + '@t3-oss/env-core': 0.13.11(arktype@2.1.20)(typescript@5.9.3)(zod@4.4.2) optionalDependencies: + arktype: 2.1.20 typescript: 5.9.3 zod: 4.4.2 @@ -14483,6 +14548,12 @@ snapshots: aria-query@5.3.2: {} + arktype@2.1.20: + dependencies: + '@ark/schema': 0.46.0 + '@ark/util': 0.46.0 + optional: true + array-buffer-byte-length@1.0.2: dependencies: call-bound: 1.0.4 @@ -15310,17 +15381,19 @@ snapshots: esbuild: 0.25.12 tsx: 4.21.0 - drizzle-orm@0.45.2(@types/better-sqlite3@7.6.13)(@types/pg@8.20.0)(better-sqlite3@12.9.0)(mysql2@3.22.3(@types/node@24.12.2))(pg@8.20.0): + drizzle-orm@0.45.2(@libsql/client-wasm@0.14.0)(@types/better-sqlite3@7.6.13)(@types/pg@8.20.0)(better-sqlite3@12.9.0)(gel@2.0.0)(mysql2@3.22.3(@types/node@24.12.2))(pg@8.20.0): optionalDependencies: + '@libsql/client-wasm': 0.14.0 '@types/better-sqlite3': 7.6.13 '@types/pg': 8.20.0 better-sqlite3: 12.9.0 + gel: 2.0.0 mysql2: 3.22.3(@types/node@24.12.2) pg: 8.20.0 - drizzle-zod@0.8.3(drizzle-orm@0.45.2(@types/better-sqlite3@7.6.13)(@types/pg@8.20.0)(better-sqlite3@12.9.0)(mysql2@3.22.3(@types/node@24.12.2))(pg@8.20.0))(zod@4.4.2): + drizzle-zod@0.8.3(drizzle-orm@0.45.2(@libsql/client-wasm@0.14.0)(@types/better-sqlite3@7.6.13)(@types/pg@8.20.0)(better-sqlite3@12.9.0)(gel@2.0.0)(mysql2@3.22.3(@types/node@24.12.2))(pg@8.20.0))(zod@4.4.2): dependencies: - drizzle-orm: 0.45.2(@types/better-sqlite3@7.6.13)(@types/pg@8.20.0)(better-sqlite3@12.9.0)(mysql2@3.22.3(@types/node@24.12.2))(pg@8.20.0) + drizzle-orm: 0.45.2(@libsql/client-wasm@0.14.0)(@types/better-sqlite3@7.6.13)(@types/pg@8.20.0)(better-sqlite3@12.9.0)(gel@2.0.0)(mysql2@3.22.3(@types/node@24.12.2))(pg@8.20.0) zod: 4.4.2 dunder-proto@1.0.1: @@ -15403,6 +15476,9 @@ snapshots: env-paths@2.2.1: {} + env-paths@3.0.0: + optional: true + environment@1.1.0: {} error-causes@3.0.2: {} @@ -16073,6 +16149,18 @@ snapshots: functions-have-names@1.2.3: {} + gel@2.0.0: + dependencies: + '@petamoriken/float16': 3.9.3 + debug: 4.4.3 + env-paths: 3.0.0 + semver: 7.7.4 + shell-quote: 1.8.3 + which: 4.0.0 + transitivePeerDependencies: + - supports-color + optional: true + generate-function@2.3.1: dependencies: is-property: 1.0.2 @@ -16609,6 +16697,9 @@ snapshots: isexe@2.0.0: {} + isexe@3.1.5: + optional: true + isomorphic-dompurify@3.12.0(@noble/hashes@2.0.1): dependencies: dompurify: 3.4.2 @@ -16692,6 +16783,9 @@ snapshots: '@types/react': 19.2.14 react: 19.2.5 + js-base64@3.7.8: + optional: true + js-file-download@0.4.12: {} js-tokens@10.0.0: {} @@ -19919,6 +20013,11 @@ snapshots: dependencies: isexe: 2.0.0 + which@4.0.0: + dependencies: + isexe: 3.1.5 + optional: true + why-is-node-running@2.3.0: dependencies: siginfo: 2.0.0 diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index e5d22df4d..bfff3f1d6 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -2,22 +2,6 @@ packages: - apps/* - packages/* - tooling/* -allowBuilds: - "@scarf/scarf": false - "@swc/core": false - "@tree-sitter-grammars/tree-sitter-yaml": true - bcrypt: true - better-sqlite3: true - core-js-pure: false - cpu-features: true - esbuild: true - protobufjs: false - sharp: true - ssh2: true - tree-sitter: true - tree-sitter-json: true - nice-napi: false -allowUnusedPatches: true catalog: "@auth/core": ^0.41.2 "@auth/drizzle-adapter": ^1.11.2 @@ -29,7 +13,7 @@ catalog: "@dnd-kit/sortable": ^10.0.0 "@dnd-kit/utilities": ^3.2.2 "@drizzle-team/brocli": ^0.12.0 - "@eslint/js": 10.0.1 + '@eslint/js': 10.0.1 "@extractus/feed-extractor": 7.1.7 "@gitbeaker/rest": ^43.8.0 "@homarr/gridstack": ^1.12.0 @@ -205,32 +189,7 @@ catalog: zod-form-data: ^3.0.1 zod-validation-error: ^5.0.0 catalogMode: strict -engineStrict: true minimumReleaseAge: 4320 minimumReleaseAgeExclude: - next - "@next/*" -nodeLinker: hoisted -overrides: - "@babel/helpers@<7.26.10": ">=7.29.2" - "@babel/runtime@<7.26.10": ">=7.29.2" - "axios@>=1.0.0 <1.8.2": ">=1.16.0" - "brace-expansion@>=1.0.0 <=1.1.11": ">=5.0.5" - "brace-expansion@>=2.0.0 <=2.0.1": ">=5.0.5" - "esbuild@<=0.24.2": ">=0.28.0" - "form-data@>=4.0.0 <4.0.4": ">=4.0.5" - "hono@<4.6.5": ">=4.12.16" - "linkifyjs@<4.3.2": ">=4.3.2" - "nanoid@>=4.0.0 <5.0.9": ">=5.1.11" - "prismjs@<1.30.0": ">=1.30.0" - "proxmox-api>undici": "7.24.6" - "react-is": "^19.2.5" - "rollup@>=4.0.0 <4.22.4": ">=4.60.2" - "sha.js@<=2.4.11": ">=2.4.12" - "tar-fs@>=2.0.0 <2.1.3": ">=3.1.2" - "tar-fs@>=3.0.0 <3.0.9": ">=3.1.2" - "tmp@<=0.2.3": ">=0.2.5" - "vite@>=5.0.0 <=5.4.18": ">=8.0.10" -patchedDependencies: - "@types/node-unifi": "patches/@types__node-unifi.patch" - trpc-to-openapi: "patches/trpc-to-openapi.patch" diff --git a/test/renovate.spec.ts b/test/renovate.spec.ts index 2b8236ce6..0f40a8061 100644 --- a/test/renovate.spec.ts +++ b/test/renovate.spec.ts @@ -2,24 +2,21 @@ import fs from "fs/promises"; import { join } from "path"; import json5 from "json5"; import { describe, test } from "vitest"; -import { parse as parseYaml } from "yaml"; describe("Renovate configuration tests", () => { - test("automerge should be disabled for built dependencies", async () => { - const pnpmConfig = await fs.readFile(join(__dirname, "../pnpm-workspace.yaml"), "utf-8").then(parseYaml); + test("automerge should be disabled for onlyBuiltDependencies", async () => { + const packageJson = await import("../package.json"); const renovateConfig = await fs.readFile(join(__dirname, "../.github/renovate.json5"), "utf-8").then(json5.parse); - const dependenciesWithBuilt = Object.entries(pnpmConfig.allowBuilds) - .filter(([_, value]) => value === true) - .map(([key, _]) => key); + const onlyBuiltDependencies = packageJson.pnpm.onlyBuiltDependencies; const automergeDisabledDeps = renovateConfig.packageRules .filter((rule: any) => rule.automerge === false) .flatMap((rule: any) => rule.matchPackageNames || []); - const missingDeps = dependenciesWithBuilt.filter((dep: string) => !automergeDisabledDeps.includes(dep)); + const missingDeps = onlyBuiltDependencies.filter((dep: string) => !automergeDisabledDeps.includes(dep)); if (missingDeps.length > 0) { throw new Error( - `The following built dependencies are missing automerge disable rules in renovate.json5: ${missingDeps.join(", ")}`, + `The following onlyBuiltDependencies are missing automerge disable rules in renovate.json5: ${missingDeps.join(", ")}`, ); } }); From 2d15b3d4078381a803128413e1300d999efc2675 Mon Sep 17 00:00:00 2001 From: Meier Lukas Date: Fri, 8 May 2026 17:10:22 +0200 Subject: [PATCH 25/63] chore(deps): update dependency zod to v4.4.3 (#5675) --- pnpm-lock.yaml | 129 ++++++++++++++++++++------------------------ pnpm-workspace.yaml | 2 +- 2 files changed, 59 insertions(+), 72 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 647b98e2d..e7e2835e8 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -553,8 +553,8 @@ catalogs: specifier: 2.8.4 version: 2.8.4 zod: - specifier: ^4.4.2 - version: 4.4.2 + specifier: ^4.4.3 + version: 4.4.3 zod-form-data: specifier: ^3.0.1 version: 3.0.1 @@ -888,7 +888,7 @@ importers: version: 2.8.4 zod: specifier: 'catalog:' - version: 4.4.2 + version: 4.4.3 devDependencies: '@homarr/eslint-config': specifier: workspace:^0.2.0 @@ -1234,10 +1234,10 @@ importers: version: 2.2.6 trpc-to-openapi: specifier: 'catalog:' - version: 3.2.0(patch_hash=2ca3c16af0fcca0c736697ad4fe553a14f794524fa9ce0d5c3e8ee4aea76090c)(@trpc/server@11.17.0(typescript@5.9.3))(zod-openapi@5.3.0(zod@4.4.2))(zod@4.4.2) + version: 3.2.0(patch_hash=2ca3c16af0fcca0c736697ad4fe553a14f794524fa9ce0d5c3e8ee4aea76090c)(@trpc/server@11.17.0(typescript@5.9.3))(zod-openapi@5.3.0(zod@4.4.3))(zod@4.4.3) zod: specifier: 'catalog:' - version: 4.4.2 + version: 4.4.3 devDependencies: '@homarr/eslint-config': specifier: workspace:^0.2.0 @@ -1304,7 +1304,7 @@ importers: version: 19.2.5(react@19.2.5) zod: specifier: 'catalog:' - version: 4.4.2 + version: 4.4.3 devDependencies: '@homarr/eslint-config': specifier: workspace:^0.2.0 @@ -1430,10 +1430,10 @@ importers: version: 7.24.6 zod: specifier: 'catalog:' - version: 4.4.2 + version: 4.4.3 zod-validation-error: specifier: 'catalog:' - version: 5.0.0(zod@4.4.2) + version: 5.0.0(zod@4.4.3) devDependencies: '@homarr/eslint-config': specifier: workspace:^0.2.0 @@ -1455,7 +1455,7 @@ importers: dependencies: '@t3-oss/env-nextjs': specifier: 'catalog:' - version: 0.13.11(arktype@2.1.20)(typescript@5.9.3)(zod@4.4.2) + version: 0.13.11(arktype@2.1.20)(typescript@5.9.3)(zod@4.4.3) better-sqlite3: specifier: 'catalog:' version: 12.9.0 @@ -1482,7 +1482,7 @@ importers: version: 3.19.0 zod: specifier: 'catalog:' - version: 4.4.2 + version: 4.4.3 devDependencies: '@homarr/eslint-config': specifier: workspace:^0.2.0 @@ -1534,7 +1534,7 @@ importers: version: 19.2.5 zod: specifier: 'catalog:' - version: 4.4.2 + version: 4.4.3 devDependencies: '@homarr/eslint-config': specifier: workspace:^0.2.0 @@ -1721,7 +1721,7 @@ importers: version: 0.45.2(@libsql/client-wasm@0.14.0)(@types/better-sqlite3@7.6.13)(@types/pg@8.20.0)(better-sqlite3@12.9.0)(gel@2.0.0)(mysql2@3.22.3(@types/node@24.12.2))(pg@8.20.0) drizzle-zod: specifier: 'catalog:' - version: 0.8.3(drizzle-orm@0.45.2(@libsql/client-wasm@0.14.0)(@types/better-sqlite3@7.6.13)(@types/pg@8.20.0)(better-sqlite3@12.9.0)(gel@2.0.0)(mysql2@3.22.3(@types/node@24.12.2))(pg@8.20.0))(zod@4.4.2) + version: 0.8.3(drizzle-orm@0.45.2(@libsql/client-wasm@0.14.0)(@types/better-sqlite3@7.6.13)(@types/pg@8.20.0)(better-sqlite3@12.9.0)(gel@2.0.0)(mysql2@3.22.3(@types/node@24.12.2))(pg@8.20.0))(zod@4.4.3) mysql2: specifier: 'catalog:' version: 3.22.3(@types/node@24.12.2) @@ -1776,7 +1776,7 @@ importers: version: 5.7.2 zod: specifier: 'catalog:' - version: 4.4.2 + version: 4.4.3 devDependencies: '@homarr/eslint-config': specifier: workspace:^0.2.0 @@ -1844,10 +1844,10 @@ importers: version: 8.3.18(react@19.2.5) mantine-form-zod-resolver: specifier: 'catalog:' - version: 1.3.0(@mantine/form@8.3.18(react@19.2.5))(zod@4.4.2) + version: 1.3.0(@mantine/form@8.3.18(react@19.2.5))(zod@4.4.3) zod: specifier: 'catalog:' - version: 4.4.2 + version: 4.4.3 devDependencies: '@homarr/eslint-config': specifier: workspace:^0.2.0 @@ -1899,7 +1899,7 @@ importers: version: 19.2.5 zod: specifier: 'catalog:' - version: 4.4.2 + version: 4.4.3 devDependencies: '@homarr/eslint-config': specifier: workspace:^0.2.0 @@ -2055,7 +2055,7 @@ importers: version: 0.6.2 zod: specifier: 'catalog:' - version: 4.4.2 + version: 4.4.3 devDependencies: '@homarr/eslint-config': specifier: workspace:^0.2.0 @@ -2168,7 +2168,7 @@ importers: version: 19.2.5(react@19.2.5) zod: specifier: 'catalog:' - version: 4.4.2 + version: 4.4.3 devDependencies: '@homarr/eslint-config': specifier: workspace:^0.2.0 @@ -2272,10 +2272,10 @@ importers: version: 2.2.6 zod: specifier: 'catalog:' - version: 4.4.2 + version: 4.4.3 zod-form-data: specifier: 'catalog:' - version: 3.0.1(zod@4.4.2) + version: 3.0.1(zod@4.4.3) devDependencies: '@homarr/eslint-config': specifier: workspace:^0.2.0 @@ -2303,7 +2303,7 @@ importers: version: link:../common zod: specifier: 'catalog:' - version: 4.4.2 + version: 4.4.3 devDependencies: '@homarr/eslint-config': specifier: workspace:^0.2.0 @@ -2423,7 +2423,7 @@ importers: version: 7.24.6 zod: specifier: 'catalog:' - version: 4.4.2 + version: 4.4.3 devDependencies: '@homarr/eslint-config': specifier: workspace:^0.2.0 @@ -2705,10 +2705,10 @@ importers: version: link:../translation zod: specifier: 'catalog:' - version: 4.4.2 + version: 4.4.3 zod-form-data: specifier: 'catalog:' - version: 3.0.1(zod@4.4.2) + version: 3.0.1(zod@4.4.3) devDependencies: '@homarr/eslint-config': specifier: workspace:^0.2.0 @@ -2865,7 +2865,7 @@ importers: version: 1.11.20 mantine-form-zod-resolver: specifier: 'catalog:' - version: 1.3.0(@mantine/form@8.3.18(react@19.2.5))(zod@4.4.2) + version: 1.3.0(@mantine/form@8.3.18(react@19.2.5))(zod@4.4.3) mantine-react-table: specifier: 'catalog:' version: 2.0.0-beta.9(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(@mantine/dates@8.3.18(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(@mantine/hooks@8.3.18(react@19.2.5))(dayjs@1.11.20)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(@mantine/hooks@8.3.18(react@19.2.5))(@tabler/icons-react@3.41.1(react@19.2.5))(clsx@2.1.1)(dayjs@1.11.20)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) @@ -2892,7 +2892,7 @@ importers: version: 8.23.7 zod: specifier: 'catalog:' - version: 4.4.2 + version: 4.4.3 devDependencies: '@homarr/eslint-config': specifier: workspace:^0.2.0 @@ -10553,10 +10553,6 @@ packages: resolution: {integrity: sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==} engines: {node: '>=16'} - type-fest@5.5.0: - resolution: {integrity: sha512-PlBfpQwiUvGViBNX84Yxwjsdhd1TUlXr6zjX7eoirtCPIr08NAmxwa+fcYBTeRQxHo9YC9wwF3m9i700sHma8g==} - engines: {node: '>=20'} - type-fest@5.6.0: resolution: {integrity: sha512-8ZiHFm91orbSAe2PSAiSVBVko18pbhbiB3U9GglSzF/zCGkR+rxpHx6sEMCUm4kxY4LjDIUGgCfUMtwfZfjfUA==} engines: {node: '>=20'} @@ -10599,9 +10595,6 @@ packages: engines: {node: '>=14.17'} hasBin: true - ufo@1.6.3: - resolution: {integrity: sha512-yDJTmhydvl5lJzBmy/hyOAA0d+aqCBuwl818haVdYCRrWV84o7YyeVm4QlVHStqNrrJSTb6jKuFAVqAFsr+K3Q==} - ufo@1.6.4: resolution: {integrity: sha512-JFNbkD1Svwe0KvGi8GOeLcP4kAWQ609twvCdcHxq1oSL8svv39ZuSvajcD8B+5D0eL4+s1Is2D/O6KN3qcTeRA==} @@ -11194,8 +11187,8 @@ packages: peerDependencies: zod: ^3.25.0 || ^4.0.0 - zod@4.4.2: - resolution: {integrity: sha512-IynmDyxsEsb9RKzO3J9+4SxXnl2FTFSzNBaKKaMV6tsSk0rw9gYw9gs+JFCq/qk2LCZ78KDwyj+Z289TijSkUw==} + zod@4.4.3: + resolution: {integrity: sha512-ytENFjIJFl2UwYglde2jchW2Hwm4GJFLDiSXWdTrJQBIN9Fcyp7n4DhxJEiWNAJMV1/BqWfW/kkg71UDcHJyTQ==} zwitch@2.0.4: resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} @@ -11487,8 +11480,8 @@ snapshots: cookie-es: 3.0.1 node-fetch-native: 1.6.7 ofetch: 1.5.1 - type-fest: 5.5.0 - ufo: 1.6.3 + type-fest: 5.6.0 + ufo: 1.6.4 uint8array-extras: 1.5.0 '@ctrl/magnet-link@4.3.0': @@ -11520,7 +11513,7 @@ snapshots: '@ctrl/shared-torrent': 6.5.1(ofetch@1.5.1) ofetch: 1.5.1 type-fest: 4.41.0 - ufo: 1.6.3 + ufo: 1.6.4 uint8array-extras: 1.5.0 '@dabh/diagnostics@2.0.8': @@ -13499,19 +13492,19 @@ snapshots: dependencies: '@swc/counter': 0.1.3 - '@t3-oss/env-core@0.13.11(arktype@2.1.20)(typescript@5.9.3)(zod@4.4.2)': + '@t3-oss/env-core@0.13.11(arktype@2.1.20)(typescript@5.9.3)(zod@4.4.3)': optionalDependencies: arktype: 2.1.20 typescript: 5.9.3 - zod: 4.4.2 + zod: 4.4.3 - '@t3-oss/env-nextjs@0.13.11(arktype@2.1.20)(typescript@5.9.3)(zod@4.4.2)': + '@t3-oss/env-nextjs@0.13.11(arktype@2.1.20)(typescript@5.9.3)(zod@4.4.3)': dependencies: - '@t3-oss/env-core': 0.13.11(arktype@2.1.20)(typescript@5.9.3)(zod@4.4.2) + '@t3-oss/env-core': 0.13.11(arktype@2.1.20)(typescript@5.9.3)(zod@4.4.3) optionalDependencies: arktype: 2.1.20 typescript: 5.9.3 - zod: 4.4.2 + zod: 4.4.3 '@tabler/icons-react@3.41.1(react@19.2.5)': dependencies: @@ -15391,10 +15384,10 @@ snapshots: mysql2: 3.22.3(@types/node@24.12.2) pg: 8.20.0 - drizzle-zod@0.8.3(drizzle-orm@0.45.2(@libsql/client-wasm@0.14.0)(@types/better-sqlite3@7.6.13)(@types/pg@8.20.0)(better-sqlite3@12.9.0)(gel@2.0.0)(mysql2@3.22.3(@types/node@24.12.2))(pg@8.20.0))(zod@4.4.2): + drizzle-zod@0.8.3(drizzle-orm@0.45.2(@libsql/client-wasm@0.14.0)(@types/better-sqlite3@7.6.13)(@types/pg@8.20.0)(better-sqlite3@12.9.0)(gel@2.0.0)(mysql2@3.22.3(@types/node@24.12.2))(pg@8.20.0))(zod@4.4.3): dependencies: drizzle-orm: 0.45.2(@libsql/client-wasm@0.14.0)(@types/better-sqlite3@7.6.13)(@types/pg@8.20.0)(better-sqlite3@12.9.0)(gel@2.0.0)(mysql2@3.22.3(@types/node@24.12.2))(pg@8.20.0) - zod: 4.4.2 + zod: 4.4.3 dunder-proto@1.0.1: dependencies: @@ -15772,8 +15765,8 @@ snapshots: '@babel/core': 7.29.0 '@babel/parser': 7.29.2 eslint: 10.3.0 - zod: 4.4.2 - zod-validation-error: 4.0.2(zod@4.4.2) + zod: 4.4.3 + zod-validation-error: 4.0.2(zod@4.4.3) transitivePeerDependencies: - supports-color @@ -16283,7 +16276,7 @@ snapshots: iron-webcrypto: 1.2.1 node-mock-http: 1.0.2 radix3: 1.1.2 - ufo: 1.6.3 + ufo: 1.6.4 uncrypto: 0.1.3 handlebars@4.7.8: @@ -17022,10 +17015,10 @@ snapshots: dependencies: semver: 7.7.4 - mantine-form-zod-resolver@1.3.0(@mantine/form@8.3.18(react@19.2.5))(zod@4.4.2): + mantine-form-zod-resolver@1.3.0(@mantine/form@8.3.18(react@19.2.5))(zod@4.4.3): dependencies: '@mantine/form': 8.3.18(react@19.2.5) - zod: 4.4.2 + zod: 4.4.3 mantine-react-table@2.0.0-beta.9(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(@mantine/dates@8.3.18(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(@mantine/hooks@8.3.18(react@19.2.5))(dayjs@1.11.20)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(@mantine/hooks@8.3.18(react@19.2.5))(@tabler/icons-react@3.41.1(react@19.2.5))(clsx@2.1.1)(dayjs@1.11.20)(react-dom@19.2.5(react@19.2.5))(react@19.2.5): dependencies: @@ -17628,7 +17621,7 @@ snapshots: dependencies: destr: 2.0.5 node-fetch-native: 1.6.7 - ufo: 1.6.3 + ufo: 1.6.4 ohash@1.1.4: {} @@ -18345,14 +18338,14 @@ snapshots: dependencies: find-up-simple: 1.0.1 read-pkg: 10.0.0 - type-fest: 5.5.0 + type-fest: 5.6.0 read-pkg@10.0.0: dependencies: '@types/normalize-package-data': 2.4.4 normalize-package-data: 8.0.0 parse-json: 8.3.0 - type-fest: 5.5.0 + type-fest: 5.6.0 unicorn-magic: 0.3.0 read-pkg@9.0.1: @@ -19440,14 +19433,14 @@ snapshots: trough@2.2.0: {} - trpc-to-openapi@3.2.0(patch_hash=2ca3c16af0fcca0c736697ad4fe553a14f794524fa9ce0d5c3e8ee4aea76090c)(@trpc/server@11.17.0(typescript@5.9.3))(zod-openapi@5.3.0(zod@4.4.2))(zod@4.4.2): + trpc-to-openapi@3.2.0(patch_hash=2ca3c16af0fcca0c736697ad4fe553a14f794524fa9ce0d5c3e8ee4aea76090c)(@trpc/server@11.17.0(typescript@5.9.3))(zod-openapi@5.3.0(zod@4.4.3))(zod@4.4.3): dependencies: '@trpc/server': 11.17.0(typescript@5.9.3) co-body: 6.2.0 h3: 1.15.1 openapi3-ts: 4.4.0 - zod: 4.4.2 - zod-openapi: 5.3.0(zod@4.4.2) + zod: 4.4.3 + zod-openapi: 5.3.0(zod@4.4.3) optionalDependencies: '@rollup/rollup-linux-x64-gnu': 4.6.1 @@ -19525,10 +19518,6 @@ snapshots: type-fest@4.41.0: {} - type-fest@5.5.0: - dependencies: - tagged-tag: 1.0.0 - type-fest@5.6.0: dependencies: tagged-tag: 1.0.0 @@ -19592,8 +19581,6 @@ snapshots: typescript@5.9.3: {} - ufo@1.6.3: {} - ufo@1.6.4: {} uglify-js@3.19.3: @@ -20183,23 +20170,23 @@ snapshots: compress-commons: 6.0.2 readable-stream: 4.5.2 - zod-form-data@3.0.1(zod@4.4.2): + zod-form-data@3.0.1(zod@4.4.3): dependencies: '@rvf/set-get': 7.0.1 - zod: 4.4.2 + zod: 4.4.3 - zod-openapi@5.3.0(zod@4.4.2): + zod-openapi@5.3.0(zod@4.4.3): dependencies: - zod: 4.4.2 + zod: 4.4.3 - zod-validation-error@4.0.2(zod@4.4.2): + zod-validation-error@4.0.2(zod@4.4.3): dependencies: - zod: 4.4.2 + zod: 4.4.3 - zod-validation-error@5.0.0(zod@4.4.2): + zod-validation-error@5.0.0(zod@4.4.3): dependencies: - zod: 4.4.2 + zod: 4.4.3 - zod@4.4.2: {} + zod@4.4.3: {} zwitch@2.0.4: {} diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index bfff3f1d6..9d53deda1 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -185,7 +185,7 @@ catalog: ws: ^8.20.0 xml2js: ^0.6.2 yaml: 2.8.4 - zod: ^4.4.2 + zod: ^4.4.3 zod-form-data: ^3.0.1 zod-validation-error: ^5.0.0 catalogMode: strict From 4d30a2e8c48f818bb4947a651b0fec5f64cbf569 Mon Sep 17 00:00:00 2001 From: Borislaw Sotnikow Date: Fri, 8 May 2026 17:11:08 +0200 Subject: [PATCH 26/63] feat(installations): support secrets file for all environment variables (#5125) Co-authored-by: Meier Lukas --- scripts/entrypoint.sh | 13 +++++++++++++ scripts/run.sh | 5 ----- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/scripts/entrypoint.sh b/scripts/entrypoint.sh index c362eac3a..f4d7c9fa4 100644 --- a/scripts/entrypoint.sh +++ b/scripts/entrypoint.sh @@ -18,6 +18,19 @@ if [ "${PUID}" != "0" ] || [ "${PGID}" != "0" ]; then echo "Changing owner to $PUID:$PGID, done." fi +# support _FILE Suffix for environment variables +for file_var in $(env | cut -d '=' -f 1 | grep "_FILE$"); do + target_var=$(echo "$file_var" | cut -d'=' -f1 | sed 's/_FILE//') + file_path=$(printenv "$file_var") + + if [ -f "$file_path" ]; then + export "$target_var"=$(cat "$file_path" | tr -d '\n\r') + echo "Info: Loaded secret for $target_var from $file_path" + else + echo "Warning: Secret file $file_path not found for $target_var" + fi +done + if [ "${PUID}" != "0" ]; then exec su-exec $PUID:$PGID "$@" else diff --git a/scripts/run.sh b/scripts/run.sh index 4d90499d5..78659a04a 100644 --- a/scripts/run.sh +++ b/scripts/run.sh @@ -19,11 +19,6 @@ export AUTH_SECRET=$(openssl rand -base64 32) # Cron job API key is generated every time the container starts as it is required for communication between nextjs-api and tasks-api export CRON_JOB_API_KEY=$(openssl rand -base64 32) -# Support secret file for encryption key (is not empty and file exists) -if [ -n "$SECRET_ENCRYPTION_KEY_FILE" ] && [ -f "$SECRET_ENCRYPTION_KEY_FILE" ]; then - export SECRET_ENCRYPTION_KEY=$(cat $SECRET_ENCRYPTION_KEY_FILE) -fi - # Start nginx proxy # 1. Replace the HOSTNAME in the nginx template file # 2. Create the nginx configuration file from the template From 84b269a80df1ed2514ac381bc7471dc4a71ae5d4 Mon Sep 17 00:00:00 2001 From: "homarr-renovate[bot]" <158783068+homarr-renovate[bot]@users.noreply.github.com> Date: Fri, 8 May 2026 15:30:26 +0000 Subject: [PATCH 27/63] chore(deps): update tanstack-query monorepo to ^5.100.9 (#5678) Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com> --- pnpm-lock.yaml | 89 +++++++++++++++++++++++---------------------- pnpm-workspace.yaml | 6 +-- 2 files changed, 48 insertions(+), 47 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e7e2835e8..2de02eff3 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -133,14 +133,14 @@ catalogs: specifier: ^3.41.1 version: 3.41.1 '@tanstack/react-query': - specifier: ^5.100.8 - version: 5.100.8 + specifier: ^5.100.9 + version: 5.100.9 '@tanstack/react-query-devtools': - specifier: ^5.100.8 - version: 5.100.8 + specifier: ^5.100.9 + version: 5.100.9 '@tanstack/react-query-next-experimental': - specifier: ^5.100.8 - version: 5.100.8 + specifier: ^5.100.9 + version: 5.100.9 '@testcontainers/mysql': specifier: ^11.14.0 version: 11.14.0 @@ -792,22 +792,22 @@ importers: version: 3.41.1(react@19.2.5) '@tanstack/react-query': specifier: 'catalog:' - version: 5.100.8(react@19.2.5) + version: 5.100.9(react@19.2.5) '@tanstack/react-query-devtools': specifier: 'catalog:' - version: 5.100.8(@tanstack/react-query@5.100.8(react@19.2.5))(react@19.2.5) + version: 5.100.9(@tanstack/react-query@5.100.9(react@19.2.5))(react@19.2.5) '@tanstack/react-query-next-experimental': specifier: 'catalog:' - version: 5.100.8(@tanstack/react-query@5.100.8(react@19.2.5))(next@16.2.4(@babel/core@7.26.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0))(react@19.2.5) + version: 5.100.9(@tanstack/react-query@5.100.9(react@19.2.5))(next@16.2.4(@babel/core@7.26.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0))(react@19.2.5) '@trpc/client': specifier: 'catalog:' version: 11.17.0(@trpc/server@11.17.0(typescript@5.9.3))(typescript@5.9.3) '@trpc/next': specifier: 'catalog:' - version: 11.17.0(@tanstack/react-query@5.100.8(react@19.2.5))(@trpc/client@11.17.0(@trpc/server@11.17.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/react-query@11.17.0(@tanstack/react-query@5.100.8(react@19.2.5))(@trpc/client@11.17.0(@trpc/server@11.17.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.17.0(typescript@5.9.3))(react@19.2.5)(typescript@5.9.3))(@trpc/server@11.17.0(typescript@5.9.3))(next@16.2.4(@babel/core@7.26.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0))(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(typescript@5.9.3) + version: 11.17.0(@tanstack/react-query@5.100.9(react@19.2.5))(@trpc/client@11.17.0(@trpc/server@11.17.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/react-query@11.17.0(@tanstack/react-query@5.100.9(react@19.2.5))(@trpc/client@11.17.0(@trpc/server@11.17.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.17.0(typescript@5.9.3))(react@19.2.5)(typescript@5.9.3))(@trpc/server@11.17.0(typescript@5.9.3))(next@16.2.4(@babel/core@7.26.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0))(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(typescript@5.9.3) '@trpc/react-query': specifier: 'catalog:' - version: 11.17.0(@tanstack/react-query@5.100.8(react@19.2.5))(@trpc/client@11.17.0(@trpc/server@11.17.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.17.0(typescript@5.9.3))(react@19.2.5)(typescript@5.9.3) + version: 11.17.0(@tanstack/react-query@5.100.9(react@19.2.5))(@trpc/client@11.17.0(@trpc/server@11.17.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.17.0(typescript@5.9.3))(react@19.2.5)(typescript@5.9.3) '@trpc/server': specifier: 'catalog:' version: 11.17.0(typescript@5.9.3) @@ -1204,19 +1204,19 @@ importers: version: 1.4.0 '@tanstack/react-query': specifier: 'catalog:' - version: 5.100.8(react@19.2.5) + version: 5.100.9(react@19.2.5) '@trpc/client': specifier: 'catalog:' version: 11.17.0(@trpc/server@11.17.0(typescript@5.9.3))(typescript@5.9.3) '@trpc/react-query': specifier: 'catalog:' - version: 11.17.0(@tanstack/react-query@5.100.8(react@19.2.5))(@trpc/client@11.17.0(@trpc/server@11.17.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.17.0(typescript@5.9.3))(react@19.2.5)(typescript@5.9.3) + version: 11.17.0(@tanstack/react-query@5.100.9(react@19.2.5))(@trpc/client@11.17.0(@trpc/server@11.17.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.17.0(typescript@5.9.3))(react@19.2.5)(typescript@5.9.3) '@trpc/server': specifier: 'catalog:' version: 11.17.0(typescript@5.9.3) '@trpc/tanstack-react-query': specifier: 'catalog:' - version: 11.17.0(@tanstack/react-query@5.100.8(react@19.2.5))(@trpc/client@11.17.0(@trpc/server@11.17.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.17.0(typescript@5.9.3))(react@19.2.5)(typescript@5.9.3) + version: 11.17.0(@tanstack/react-query@5.100.9(react@19.2.5))(@trpc/client@11.17.0(@trpc/server@11.17.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.17.0(typescript@5.9.3))(react@19.2.5)(typescript@5.9.3) lodash.clonedeep: specifier: 'catalog:' version: 4.5.0 @@ -1519,7 +1519,7 @@ importers: version: link:../cron-jobs '@tanstack/react-query': specifier: 'catalog:' - version: 5.100.8(react@19.2.5) + version: 5.100.9(react@19.2.5) '@trpc/client': specifier: 'catalog:' version: 11.17.0(@trpc/server@11.17.0(typescript@5.9.3))(typescript@5.9.3) @@ -1528,7 +1528,7 @@ importers: version: 11.17.0(typescript@5.9.3) '@trpc/tanstack-react-query': specifier: 'catalog:' - version: 11.17.0(@tanstack/react-query@5.100.8(react@19.2.5))(@trpc/client@11.17.0(@trpc/server@11.17.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.17.0(typescript@5.9.3))(react@19.2.5)(typescript@5.9.3) + version: 11.17.0(@tanstack/react-query@5.100.9(react@19.2.5))(@trpc/client@11.17.0(@trpc/server@11.17.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.17.0(typescript@5.9.3))(react@19.2.5)(typescript@5.9.3) react: specifier: 'catalog:' version: 19.2.5 @@ -4385,6 +4385,7 @@ packages: '@million/lint@1.0.14': resolution: {integrity: sha512-u6/kglVwZRu5+GMmtkNlGLqJVkgTl0TtM+hLa9rBg7pldx+5NG5bk45NvL37uZmAr2Xfa1C6qHb7GrFwfP372g==} + deprecated: This package is no longer maintained hasBin: true '@ndaidong/bellajs@12.0.1': @@ -5213,27 +5214,27 @@ packages: resolution: {integrity: sha512-Wo1iKt2b9OT7d+YGhvEPD3DXvPv2etTusIMhMUoG7fbhmxcXCtIjJDEygy91Y2JFlwGyjqiBPRozme7UD8hoqg==} engines: {node: '>=12'} - '@tanstack/query-core@5.100.8': - resolution: {integrity: sha512-ceYwSFOqjPwET5TA6IOYxzxlGc0ekyH/gfOtWkP0PX43rzX9bxW48Iuw8KAduKCToi4rJAQ6nRy2kAe8gszdmg==} + '@tanstack/query-core@5.100.9': + resolution: {integrity: sha512-SJSFw1S8+kQ0+knv/XGfrbocWoAlT7vDKsSImtLx3ZPQmEcR46hkDjLSvynSy25N8Ms4tIEini1FuBd5k7IscQ==} - '@tanstack/query-devtools@5.100.8': - resolution: {integrity: sha512-29D6k564h7eudwNdfRcq6Je2VFUWGxHwADPg1xC2yHxrovYBwZiqzIv/DkPRsK/EMoOIPIvPq+IU0uCxiQXYPA==} + '@tanstack/query-devtools@5.100.9': + resolution: {integrity: sha512-gqiptrTIhbK2PuCaPRHmWXfJG1NGYVFpAr0HqogEqiSBNB5xDz6fmesQt7w4WgMOqOQPnPHJ3ZDMuhDaXvNO8g==} - '@tanstack/react-query-devtools@5.100.8': - resolution: {integrity: sha512-BKpysWo1u3kVMtv92XOv/Gu6eCbE/IxBLJPs0GG/qyySUQvZI2h7mqRwyf8Aa6WfUoX8Yf2AAh0uugQLAr8KtQ==} + '@tanstack/react-query-devtools@5.100.9': + resolution: {integrity: sha512-mM3slaVGXJmz+pOLgXdANj75ikgQCyudyl3kmFvm6brI1JyVeY/+IeD17uDHIvZrD8hfoO2sdZ54RFsHdYAuhA==} peerDependencies: - '@tanstack/react-query': ^5.100.8 + '@tanstack/react-query': ^5.100.9 react: ^18 || ^19 - '@tanstack/react-query-next-experimental@5.100.8': - resolution: {integrity: sha512-B1p5yeqWeLrWasZ0s2pG7b7do37XNXIlzHnj8RcEsoJ8DsGWXvAfSjXgnLvG0HdZUTPWjHrVRMIJ0Pgmy+bCtw==} + '@tanstack/react-query-next-experimental@5.100.9': + resolution: {integrity: sha512-cXkeZW/lEQaVmB3l0eiej5lJUNix4xxWWxOzgIJYC8D4fwgl1Kwf/bb9Av92hm6MKjWyixNCJ1wmjWrhFtuCGA==} peerDependencies: - '@tanstack/react-query': ^5.100.8 + '@tanstack/react-query': ^5.100.9 next: ^13 || ^14 || ^15 || ^16 react: ^18 || ^19 - '@tanstack/react-query@5.100.8': - resolution: {integrity: sha512-iNNEekixXU5vtAGKKZX2lx3jTooG5yNY+kv0wSgEdEYG0Mj0JM5bcuQtC35ZAP3nDopT6jciUK3xeX65U7AnfA==} + '@tanstack/react-query@5.100.9': + resolution: {integrity: sha512-Oa44XkaI3kCNN6ME0KByU3xT3SEUNOMfZpHxL6+wFoTm+OeUFYHKdeYVe0aOXlRDm/f15sgLwEt2HDorIdW8+A==} peerDependencies: react: ^18 || ^19 @@ -13517,25 +13518,25 @@ snapshots: dependencies: remove-accents: 0.5.0 - '@tanstack/query-core@5.100.8': {} + '@tanstack/query-core@5.100.9': {} - '@tanstack/query-devtools@5.100.8': {} + '@tanstack/query-devtools@5.100.9': {} - '@tanstack/react-query-devtools@5.100.8(@tanstack/react-query@5.100.8(react@19.2.5))(react@19.2.5)': + '@tanstack/react-query-devtools@5.100.9(@tanstack/react-query@5.100.9(react@19.2.5))(react@19.2.5)': dependencies: - '@tanstack/query-devtools': 5.100.8 - '@tanstack/react-query': 5.100.8(react@19.2.5) + '@tanstack/query-devtools': 5.100.9 + '@tanstack/react-query': 5.100.9(react@19.2.5) react: 19.2.5 - '@tanstack/react-query-next-experimental@5.100.8(@tanstack/react-query@5.100.8(react@19.2.5))(next@16.2.4(@babel/core@7.26.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0))(react@19.2.5)': + '@tanstack/react-query-next-experimental@5.100.9(@tanstack/react-query@5.100.9(react@19.2.5))(next@16.2.4(@babel/core@7.26.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0))(react@19.2.5)': dependencies: - '@tanstack/react-query': 5.100.8(react@19.2.5) + '@tanstack/react-query': 5.100.9(react@19.2.5) next: 16.2.4(@babel/core@7.26.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0) react: 19.2.5 - '@tanstack/react-query@5.100.8(react@19.2.5)': + '@tanstack/react-query@5.100.9(react@19.2.5)': dependencies: - '@tanstack/query-core': 5.100.8 + '@tanstack/query-core': 5.100.9 react: 19.2.5 '@tanstack/react-table@8.20.5(react-dom@19.2.5(react@19.2.5))(react@19.2.5)': @@ -13808,7 +13809,7 @@ snapshots: '@trpc/server': 11.17.0(typescript@5.9.3) typescript: 5.9.3 - '@trpc/next@11.17.0(@tanstack/react-query@5.100.8(react@19.2.5))(@trpc/client@11.17.0(@trpc/server@11.17.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/react-query@11.17.0(@tanstack/react-query@5.100.8(react@19.2.5))(@trpc/client@11.17.0(@trpc/server@11.17.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.17.0(typescript@5.9.3))(react@19.2.5)(typescript@5.9.3))(@trpc/server@11.17.0(typescript@5.9.3))(next@16.2.4(@babel/core@7.26.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0))(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(typescript@5.9.3)': + '@trpc/next@11.17.0(@tanstack/react-query@5.100.9(react@19.2.5))(@trpc/client@11.17.0(@trpc/server@11.17.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/react-query@11.17.0(@tanstack/react-query@5.100.9(react@19.2.5))(@trpc/client@11.17.0(@trpc/server@11.17.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.17.0(typescript@5.9.3))(react@19.2.5)(typescript@5.9.3))(@trpc/server@11.17.0(typescript@5.9.3))(next@16.2.4(@babel/core@7.26.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0))(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(typescript@5.9.3)': dependencies: '@trpc/client': 11.17.0(@trpc/server@11.17.0(typescript@5.9.3))(typescript@5.9.3) '@trpc/server': 11.17.0(typescript@5.9.3) @@ -13817,12 +13818,12 @@ snapshots: react-dom: 19.2.5(react@19.2.5) typescript: 5.9.3 optionalDependencies: - '@tanstack/react-query': 5.100.8(react@19.2.5) - '@trpc/react-query': 11.17.0(@tanstack/react-query@5.100.8(react@19.2.5))(@trpc/client@11.17.0(@trpc/server@11.17.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.17.0(typescript@5.9.3))(react@19.2.5)(typescript@5.9.3) + '@tanstack/react-query': 5.100.9(react@19.2.5) + '@trpc/react-query': 11.17.0(@tanstack/react-query@5.100.9(react@19.2.5))(@trpc/client@11.17.0(@trpc/server@11.17.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.17.0(typescript@5.9.3))(react@19.2.5)(typescript@5.9.3) - '@trpc/react-query@11.17.0(@tanstack/react-query@5.100.8(react@19.2.5))(@trpc/client@11.17.0(@trpc/server@11.17.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.17.0(typescript@5.9.3))(react@19.2.5)(typescript@5.9.3)': + '@trpc/react-query@11.17.0(@tanstack/react-query@5.100.9(react@19.2.5))(@trpc/client@11.17.0(@trpc/server@11.17.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.17.0(typescript@5.9.3))(react@19.2.5)(typescript@5.9.3)': dependencies: - '@tanstack/react-query': 5.100.8(react@19.2.5) + '@tanstack/react-query': 5.100.9(react@19.2.5) '@trpc/client': 11.17.0(@trpc/server@11.17.0(typescript@5.9.3))(typescript@5.9.3) '@trpc/server': 11.17.0(typescript@5.9.3) react: 19.2.5 @@ -13832,9 +13833,9 @@ snapshots: dependencies: typescript: 5.9.3 - '@trpc/tanstack-react-query@11.17.0(@tanstack/react-query@5.100.8(react@19.2.5))(@trpc/client@11.17.0(@trpc/server@11.17.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.17.0(typescript@5.9.3))(react@19.2.5)(typescript@5.9.3)': + '@trpc/tanstack-react-query@11.17.0(@tanstack/react-query@5.100.9(react@19.2.5))(@trpc/client@11.17.0(@trpc/server@11.17.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.17.0(typescript@5.9.3))(react@19.2.5)(typescript@5.9.3)': dependencies: - '@tanstack/react-query': 5.100.8(react@19.2.5) + '@tanstack/react-query': 5.100.9(react@19.2.5) '@trpc/client': 11.17.0(@trpc/server@11.17.0(typescript@5.9.3))(typescript@5.9.3) '@trpc/server': 11.17.0(typescript@5.9.3) react: 19.2.5 diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 9d53deda1..d0a6b89ef 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -45,9 +45,9 @@ catalog: "@semantic-release/release-notes-generator": ^14.1.0 "@t3-oss/env-nextjs": ^0.13.11 "@tabler/icons-react": ^3.41.1 - "@tanstack/react-query": ^5.100.8 - "@tanstack/react-query-devtools": ^5.100.8 - "@tanstack/react-query-next-experimental": ^5.100.8 + "@tanstack/react-query": ^5.100.9 + "@tanstack/react-query-devtools": ^5.100.9 + "@tanstack/react-query-next-experimental": ^5.100.9 "@testcontainers/mysql": ^11.14.0 "@testcontainers/postgresql": ^11.14.0 "@testcontainers/redis": ^11.14.0 From 56af6bcaf00e980e4c7a40d8e912901cd1395f5a Mon Sep 17 00:00:00 2001 From: Ashton Batty <230635+ashtonbatty@users.noreply.github.com> Date: Sat, 9 May 2026 01:31:56 +1000 Subject: [PATCH 28/63] feat(docker): Podman compatibility, multi-socket support, per-host error isolation (#5425) Co-authored-by: Meier Lukas --- .env.example | 6 + .../manage/tools/docker/docker-table.tsx | 12 ++ .../api/src/router/docker/docker-router.ts | 1 + packages/docker/src/env.ts | 4 +- packages/docker/src/singleton.ts | 52 +++++--- packages/docker/src/test/singleton.spec.ts | 110 ++++++++++++++++ packages/request-handler/src/docker.ts | 44 +++++-- .../request-handler/src/test/docker.spec.ts | 121 ++++++++++++++++++ packages/translation/src/lang/en.json | 3 + packages/widgets/src/docker/component.tsx | 13 ++ turbo.json | 1 + 11 files changed, 334 insertions(+), 33 deletions(-) create mode 100644 packages/docker/src/test/singleton.spec.ts create mode 100644 packages/request-handler/src/test/docker.spec.ts diff --git a/.env.example b/.env.example index d643c1194..745d45954 100644 --- a/.env.example +++ b/.env.example @@ -45,6 +45,12 @@ DB_URL='FULL_PATH_TO_YOUR_SQLITE_DB_FILE' TURBO_TELEMETRY_DISABLED=1 +# Comma-separated paths to Docker-compatible Unix sockets. +# Useful for connecting to multiple runtimes (Docker + Podman) simultaneously. +# When unset and no TCP hosts configured, defaults to /var/run/docker.sock. +# Example: DOCKER_SOCKET_PATHS=/var/run/docker.sock,/run/user/1000/podman/podman.sock +# DOCKER_SOCKET_PATHS= + # Enable kubernetes tool # ENABLE_KUBERNETES=true diff --git a/apps/nextjs/src/app/[locale]/manage/tools/docker/docker-table.tsx b/apps/nextjs/src/app/[locale]/manage/tools/docker/docker-table.tsx index 537c85e7c..de7e781a1 100644 --- a/apps/nextjs/src/app/[locale]/manage/tools/docker/docker-table.tsx +++ b/apps/nextjs/src/app/[locale]/manage/tools/docker/docker-table.tsx @@ -58,6 +58,18 @@ const createColumns = ( return ; }, }, + { + accessorKey: "host", + header: t("docker.field.host.label"), + size: 140, + Cell({ row }) { + return ( + + {row.original.host} + + ); + }, + }, { accessorKey: "image", header: t("docker.field.containerImage.label"), diff --git a/packages/api/src/router/docker/docker-router.ts b/packages/api/src/router/docker/docker-router.ts index e5a4b4796..4527482f0 100644 --- a/packages/api/src/router/docker/docker-router.ts +++ b/packages/api/src/router/docker/docker-router.ts @@ -138,6 +138,7 @@ const getContainerOrThrowAsync = async (id: string) => { interface DockerContainer { name: string; id: string; + host: string; state: ContainerState; image: string; ports: Port[] | undefined; diff --git a/packages/docker/src/env.ts b/packages/docker/src/env.ts index e858d3e69..003a9bfa6 100644 --- a/packages/docker/src/env.ts +++ b/packages/docker/src/env.ts @@ -4,9 +4,11 @@ import { createBooleanSchema, createEnv } from "@homarr/core/infrastructure/env" export const env = createEnv({ server: { - // Comma separated list of docker hostnames that can be used to connect to query the docker endpoints (localhost:2375,host.docker.internal:2375, ...) + // Comma separated list of docker hostnames that can be used to connect to query the docker endpoints (localhost,host.docker.internal, ...) DOCKER_HOSTNAMES: z.string().optional(), DOCKER_PORTS: z.string().optional(), + // Comma separated paths to Docker-compatible Unix sockets (e.g., /var/run/docker.sock,/run/user/1000/podman/podman.sock) + DOCKER_SOCKET_PATHS: z.string().optional(), ENABLE_DOCKER: createBooleanSchema(true), ENABLE_KUBERNETES: createBooleanSchema(false), }, diff --git a/packages/docker/src/singleton.ts b/packages/docker/src/singleton.ts index 86ce9661e..f24e8eb9c 100644 --- a/packages/docker/src/singleton.ts +++ b/packages/docker/src/singleton.ts @@ -11,31 +11,43 @@ export class DockerSingleton { private static instances: DockerInstance[] | null = null; private createInstances() { + const socketPaths = env.DOCKER_SOCKET_PATHS; const hostVariable = env.DOCKER_HOSTNAMES; const portVariable = env.DOCKER_PORTS; - if (hostVariable === undefined || portVariable === undefined) { + + // Socket instances from DOCKER_SOCKET_PATHS + const socketInstances: DockerInstance[] = socketPaths + ? socketPaths.split(",").map((socketPath) => ({ + host: socketPath, + instance: new Docker({ socketPath }), + })) + : []; + + // TCP instances from existing DOCKER_HOSTNAMES/DOCKER_PORTS + let tcpInstances: DockerInstance[] = []; + if (hostVariable !== undefined && portVariable !== undefined) { + const hostnames = hostVariable.split(","); + const ports = portVariable.split(","); + + if (hostnames.length !== ports.length) { + throw new Error("The number of hosts and ports must match"); + } + + tcpInstances = hostnames.map((host, i) => ({ + host: `${host}:${ports[i]}`, + // eslint-disable-next-line @typescript-eslint/no-non-null-assertion + instance: new Docker({ host, port: parseInt(ports[i]!, 10) }), + })); + } + + const instances = [...socketInstances, ...tcpInstances]; + + // Default: local socket if nothing else configured + if (instances.length === 0) { return [{ host: "socket", instance: new Docker() }]; } - const hostnames = hostVariable.split(","); - const ports = portVariable.split(","); - if (hostnames.length !== ports.length) { - throw new Error("The number of hosts and ports must match"); - } - - return hostnames.map((host, i) => { - // Check above ensures that ports[i] is not undefined - // eslint-disable-next-line @typescript-eslint/no-non-null-assertion - const port = ports[i]!; - - return { - host: `${host}:${port}`, - instance: new Docker({ - host, - port: parseInt(port, 10), - }), - }; - }); + return instances; } public static findInstance(host: string): DockerInstance | undefined { diff --git a/packages/docker/src/test/singleton.spec.ts b/packages/docker/src/test/singleton.spec.ts new file mode 100644 index 000000000..53af453af --- /dev/null +++ b/packages/docker/src/test/singleton.spec.ts @@ -0,0 +1,110 @@ +import { beforeEach, describe, expect, test, vi } from "vitest"; + +import { DockerSingleton } from "../singleton"; + +const mockEnv = vi.hoisted(() => ({ + DOCKER_SOCKET_PATHS: undefined as string | undefined, + DOCKER_HOSTNAMES: undefined as string | undefined, + DOCKER_PORTS: undefined as string | undefined, + ENABLE_DOCKER: true, + ENABLE_KUBERNETES: false, +})); + +vi.mock("dockerode", () => { + return { + default: class MockDocker { + constructor(public opts?: Record) {} + }, + }; +}); + +vi.mock("../env", () => ({ + env: mockEnv, +})); + +describe("DockerSingleton", () => { + beforeEach(() => { + // Reset singleton cache between tests + // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-member-access + (DockerSingleton as any).instances = null; + + // Reset env to defaults + mockEnv.DOCKER_SOCKET_PATHS = undefined; + mockEnv.DOCKER_HOSTNAMES = undefined; + mockEnv.DOCKER_PORTS = undefined; + }); + + test("should return default socket when no env vars set", () => { + const instances = DockerSingleton.getInstances(); + + expect(instances).toHaveLength(1); + expect(instances[0]?.host).toBe("socket"); + }); + + test("should return TCP instances only when DOCKER_HOSTNAMES and DOCKER_PORTS set", () => { + mockEnv.DOCKER_HOSTNAMES = "remote-host"; + mockEnv.DOCKER_PORTS = "2375"; + + const instances = DockerSingleton.getInstances(); + + expect(instances).toHaveLength(1); + expect(instances[0]?.host).toBe("remote-host:2375"); + }); + + test("should return multiple TCP instances", () => { + mockEnv.DOCKER_HOSTNAMES = "host1,host2"; + mockEnv.DOCKER_PORTS = "2375,2376"; + + const instances = DockerSingleton.getInstances(); + + expect(instances).toHaveLength(2); + expect(instances[0]?.host).toBe("host1:2375"); + expect(instances[1]?.host).toBe("host2:2376"); + }); + + test("should throw when hostname and port counts do not match", () => { + mockEnv.DOCKER_HOSTNAMES = "host1,host2"; + mockEnv.DOCKER_PORTS = "2375"; + + expect(() => DockerSingleton.getInstances()).toThrow("The number of hosts and ports must match"); + }); + + test("should return socket instances when DOCKER_SOCKET_PATHS set", () => { + mockEnv.DOCKER_SOCKET_PATHS = "/var/run/docker.sock"; + + const instances = DockerSingleton.getInstances(); + + expect(instances).toHaveLength(1); + expect(instances[0]?.host).toBe("/var/run/docker.sock"); + }); + + test("should return multiple socket instances", () => { + mockEnv.DOCKER_SOCKET_PATHS = "/var/run/docker.sock,/run/user/1000/podman/podman.sock"; + + const instances = DockerSingleton.getInstances(); + + expect(instances).toHaveLength(2); + expect(instances[0]?.host).toBe("/var/run/docker.sock"); + expect(instances[1]?.host).toBe("/run/user/1000/podman/podman.sock"); + }); + + test("should combine socket and TCP instances", () => { + mockEnv.DOCKER_SOCKET_PATHS = "/var/run/docker.sock,/run/user/1000/podman/podman.sock"; + mockEnv.DOCKER_HOSTNAMES = "remote-host"; + mockEnv.DOCKER_PORTS = "2375"; + + const instances = DockerSingleton.getInstances(); + + expect(instances).toHaveLength(3); + expect(instances[0]?.host).toBe("/var/run/docker.sock"); + expect(instances[1]?.host).toBe("/run/user/1000/podman/podman.sock"); + expect(instances[2]?.host).toBe("remote-host:2375"); + }); + + test("should cache instances on subsequent calls", () => { + const first = DockerSingleton.getInstances(); + const second = DockerSingleton.getInstances(); + + expect(first).toBe(second); + }); +}); diff --git a/packages/request-handler/src/docker.ts b/packages/request-handler/src/docker.ts index 7b873ec00..6610aba7e 100644 --- a/packages/request-handler/src/docker.ts +++ b/packages/request-handler/src/docker.ts @@ -2,6 +2,8 @@ import dayjs from "dayjs"; import type { ContainerInfo, ContainerStats } from "dockerode"; import type Dockerode from "dockerode"; +import { createLogger } from "@homarr/core/infrastructure/logs"; +import { ErrorWithMetadata } from "@homarr/core/infrastructure/logs/error"; import { db, like, or } from "@homarr/db"; import { icons } from "@homarr/db/schema"; import type { ContainerState } from "@homarr/docker"; @@ -9,6 +11,8 @@ import { dockerLabels, DockerSingleton } from "@homarr/docker"; import { createCachedWidgetRequestHandler } from "./lib/cached-widget-request-handler"; +const logger = createLogger({ module: "dockerRequestHandler" }); + export const dockerContainersRequestHandler = createCachedWidgetRequestHandler({ queryKey: "dockerContainersResult", widgetKind: "dockerContainers", @@ -18,19 +22,34 @@ export const dockerContainersRequestHandler = createCachedWidgetRequestHandler({ cacheDuration: dayjs.duration(20, "seconds"), }); -const dockerInstances = DockerSingleton.getInstances(); - const extractImage = (container: ContainerInfo) => container.Image.split("/").at(-1)?.split(":").at(0) ?? ""; async function getContainersWithStatsAsync() { - const containers = await Promise.all( + const dockerInstances = DockerSingleton.getInstances(); + const results = await Promise.allSettled( dockerInstances.map(async ({ instance, host }) => { const instanceContainers = await instance.listContainers({ all: true }); return instanceContainers .filter((container) => !(dockerLabels.hide in container.Labels)) .map((container) => ({ ...container, instance: host })); }), - ).then((res) => res.flat()); + ); + + const containers = results.flatMap((result, index) => { + if (result.status === "fulfilled") return result.value; + logger.warn( + new ErrorWithMetadata( + "Failed to list containers from Docker host", + { + // eslint-disable-next-line @typescript-eslint/no-non-null-assertion + host: dockerInstances[index]!.host, + }, + { cause: result.reason }, + ), + ); + + return []; + }); const likeQueries = containers.map((container) => like(icons.name, `%${extractImage(container)}%`)); const dbIcons = @@ -44,8 +63,6 @@ async function getContainersWithStatsAsync() { const instance = dockerInstances.find(({ host }) => host === container.instance)?.instance; if (!instance) return null; - // Get stats, falling back to an empty stats object if fetch fails - // calculateCpuUsage and calculateMemoryUsage will return 0 for invalid/missing stats const stats = await instance .getContainer(container.Id) .stats({ stream: false, "one-shot": true }) @@ -63,6 +80,7 @@ async function getContainersWithStatsAsync() { return { id: container.Id, name: container.Names[0]?.split("/")[1] ?? "Unknown", + host: container.instance, state: container.State as ContainerState, iconUrl: dbIcons.find((icon) => { @@ -80,9 +98,10 @@ async function getContainersWithStatsAsync() { return (await Promise.all(containerStatsPromises)).filter((container) => container !== null); } -function calculateCpuUsage(stats: ContainerStats): number { - // Handle containers with missing or invalid stats (e.g., exited, dead containers) - if (!stats.cpu_stats.online_cpus || stats.cpu_stats.online_cpus === 0 || !stats.cpu_stats.cpu_usage.total_usage) { +export function calculateCpuUsage(stats: ContainerStats): number { + // Handle containers with missing or invalid stats (e.g., exited, dead containers, Podman responses) + // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition + if (!stats.cpu_stats?.online_cpus || stats.cpu_stats.online_cpus === 0 || !stats.cpu_stats.cpu_usage?.total_usage) { return 0; } @@ -95,9 +114,10 @@ function calculateCpuUsage(stats: ContainerStats): number { return (stats.cpu_stats.cpu_usage.total_usage / usage) * numberOfCpus * 100; } -function calculateMemoryUsage(stats: ContainerStats): number { - // Handle containers with missing or invalid stats (e.g., exited, dead containers) - if (!stats.memory_stats.usage) { +export function calculateMemoryUsage(stats: ContainerStats): number { + // Handle containers with missing or invalid stats (e.g., exited, dead containers, Podman responses) + // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition + if (!stats.memory_stats?.usage) { return 0; } diff --git a/packages/request-handler/src/test/docker.spec.ts b/packages/request-handler/src/test/docker.spec.ts new file mode 100644 index 000000000..b4e34f816 --- /dev/null +++ b/packages/request-handler/src/test/docker.spec.ts @@ -0,0 +1,121 @@ +import type { ContainerStats } from "dockerode"; +import { describe, expect, test, vi } from "vitest"; + +import { createDb } from "@homarr/db/test"; + +import { calculateCpuUsage, calculateMemoryUsage } from "../docker"; + +vi.mock("@homarr/db", async (importActual) => { + // eslint-disable-next-line @typescript-eslint/consistent-type-imports + const actual = await importActual(); + return { + ...actual, + db: createDb(), + }; +}); + +// Helper to create a partial stats object, cast to ContainerStats. +// This mirrors what Podman and other Docker-compatible runtimes may return +// at runtime, even though @types/dockerode declares all fields as required. +const createStats = (overrides: Record = {}) => overrides as unknown as ContainerStats; + +describe("calculateCpuUsage", () => { + test("should return 0 when cpu_stats is undefined (Podman)", () => { + const stats = createStats({ cpu_stats: undefined }); + expect(calculateCpuUsage(stats)).toBe(0); + }); + + test("should return 0 when online_cpus is 0", () => { + const stats = createStats({ + cpu_stats: { online_cpus: 0, cpu_usage: { total_usage: 1000 }, system_cpu_usage: 5000 }, + }); + expect(calculateCpuUsage(stats)).toBe(0); + }); + + test("should return 0 when online_cpus is undefined", () => { + const stats = createStats({ + cpu_stats: { cpu_usage: { total_usage: 1000 }, system_cpu_usage: 5000 }, + }); + expect(calculateCpuUsage(stats)).toBe(0); + }); + + test("should return 0 when cpu_usage is undefined", () => { + const stats = createStats({ + cpu_stats: { online_cpus: 4, system_cpu_usage: 5000 }, + }); + expect(calculateCpuUsage(stats)).toBe(0); + }); + + test("should return 0 when total_usage is 0", () => { + const stats = createStats({ + cpu_stats: { online_cpus: 4, cpu_usage: { total_usage: 0 }, system_cpu_usage: 5000 }, + }); + expect(calculateCpuUsage(stats)).toBe(0); + }); + + test("should return 0 when system_cpu_usage is 0", () => { + const stats = createStats({ + cpu_stats: { online_cpus: 4, cpu_usage: { total_usage: 1000 }, system_cpu_usage: 0 }, + }); + expect(calculateCpuUsage(stats)).toBe(0); + }); + + test("should calculate correct CPU percentage for valid stats", () => { + const stats = createStats({ + cpu_stats: { online_cpus: 4, cpu_usage: { total_usage: 2000 }, system_cpu_usage: 10000 }, + }); + // (2000 / 10000) * 4 * 100 = 80 + expect(calculateCpuUsage(stats)).toBe(80); + }); + + test("should handle fractional CPU usage", () => { + const stats = createStats({ + cpu_stats: { online_cpus: 2, cpu_usage: { total_usage: 500 }, system_cpu_usage: 100000 }, + }); + // (500 / 100000) * 2 * 100 = 1 + expect(calculateCpuUsage(stats)).toBe(1); + }); +}); + +describe("calculateMemoryUsage", () => { + test("should return 0 when memory_stats is undefined (Podman)", () => { + const stats = createStats({ memory_stats: undefined }); + expect(calculateMemoryUsage(stats)).toBe(0); + }); + + test("should return 0 when memory_stats.usage is 0", () => { + const stats = createStats({ memory_stats: { usage: 0 } }); + expect(calculateMemoryUsage(stats)).toBe(0); + }); + + test("should return 0 when memory_stats.usage is undefined", () => { + const stats = createStats({ memory_stats: {} }); + expect(calculateMemoryUsage(stats)).toBe(0); + }); + + test("should subtract cache from usage", () => { + const stats = createStats({ + memory_stats: { usage: 1000, stats: { cache: 200 } }, + }); + expect(calculateMemoryUsage(stats)).toBe(800); + }); + + test("should use total_inactive_file when cache is absent", () => { + const stats = createStats({ + memory_stats: { usage: 1000, stats: { total_inactive_file: 300 } }, + }); + expect(calculateMemoryUsage(stats)).toBe(700); + }); + + test("should use inactive_file as last fallback", () => { + const stats = createStats({ + memory_stats: { usage: 1000, stats: { inactive_file: 150 } }, + }); + expect(calculateMemoryUsage(stats)).toBe(850); + }); + + test("should return raw usage when memory_stats.stats is undefined", () => { + const stats = createStats({ memory_stats: { usage: 512 } }); + expect(calculateMemoryUsage(stats)).toBe(512); + }); +}); diff --git a/packages/translation/src/lang/en.json b/packages/translation/src/lang/en.json index 981839c3b..29e86458e 100644 --- a/packages/translation/src/lang/en.json +++ b/packages/translation/src/lang/en.json @@ -3970,6 +3970,9 @@ }, "ports": { "label": "Ports" + }, + "host": { + "label": "Host" } }, "action": { diff --git a/packages/widgets/src/docker/component.tsx b/packages/widgets/src/docker/component.tsx index 869b76f0b..c135484a8 100644 --- a/packages/widgets/src/docker/component.tsx +++ b/packages/widgets/src/docker/component.tsx @@ -79,6 +79,19 @@ const createColumns = ( return ; }, }, + { + id: "host", + accessorKey: "host", + size: 100, + header: t("field.host.label"), + Cell({ row }) { + return ( + + {row.original.host} + + ); + }, + }, { id: "cpuUsage", sortingFn: (rowA, rowB) => { diff --git a/turbo.json b/turbo.json index 208d42365..33b661f69 100644 --- a/turbo.json +++ b/turbo.json @@ -37,6 +37,7 @@ "DB_DRIVER", "DOCKER_HOSTNAMES", "DOCKER_PORTS", + "DOCKER_SOCKET_PATHS", "NODE_ENV", "PORT", "LOCAL_CERTIFICATE_PATH", From 7c64de5cbc7e491d1247b381368354dfead7c452 Mon Sep 17 00:00:00 2001 From: "homarr-renovate[bot]" <158783068+homarr-renovate[bot]@users.noreply.github.com> Date: Fri, 8 May 2026 17:25:39 +0000 Subject: [PATCH 29/63] chore(deps): update turbo monorepo to ^2.9.8 (#5669) Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com> --- pnpm-lock.yaml | 6 +++--- pnpm-workspace.yaml | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 2de02eff3..73fea2a52 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -214,7 +214,7 @@ catalogs: specifier: ^11.17.0 version: 11.17.0 '@turbo/gen': - specifier: ^2.9.7 + specifier: ^2.9.8 version: 2.9.8 '@types/adm-zip': specifier: 0.5.8 @@ -367,7 +367,7 @@ catalogs: specifier: ^10.1.8 version: 10.1.8 eslint-config-turbo: - specifier: ^2.9.7 + specifier: ^2.9.8 version: 2.9.8 eslint-plugin-import: specifier: ^2.32.0 @@ -517,7 +517,7 @@ catalogs: specifier: 4.20.4 version: 4.20.4 turbo: - specifier: ^2.9.7 + specifier: ^2.9.8 version: 2.9.8 typescript: specifier: ^5.9.3 diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index d0a6b89ef..ef2f695b5 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -72,7 +72,7 @@ catalog: "@trpc/react-query": ^11.17.0 "@trpc/server": ^11.17.0 "@trpc/tanstack-react-query": ^11.17.0 - "@turbo/gen": ^2.9.7 + "@turbo/gen": ^2.9.8 "@types/adm-zip": 0.5.8 "@types/bcrypt": 6.0.0 "@types/better-sqlite3": 7.6.13 @@ -123,7 +123,7 @@ catalog: esbuild: ^0.28.0 eslint: ^10.3.0 eslint-config-prettier: ^10.1.8 - eslint-config-turbo: ^2.9.7 + eslint-config-turbo: ^2.9.8 eslint-plugin-import: ^2.32.0 eslint-plugin-jsx-a11y: ^6.10.2 eslint-plugin-react: ^7.37.5 @@ -173,7 +173,7 @@ catalog: trpc-to-openapi: ^3.2.0 tsdav: ^2.2.0 tsx: 4.20.4 - turbo: ^2.9.7 + turbo: ^2.9.8 typescript: ^5.9.3 typescript-eslint: ^8.58.2 undici: 7.24.6 From 756e8d172455f91e40cd8fb5faff6953cc9778c5 Mon Sep 17 00:00:00 2001 From: Meier Lukas Date: Fri, 8 May 2026 20:08:37 +0200 Subject: [PATCH 30/63] feat(qbittorrent): add api-key support (#5677) --- packages/definitions/src/integration.ts | 2 +- .../qbittorrent/qbittorrent-integration.ts | 12 ++++++++++-- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/packages/definitions/src/integration.ts b/packages/definitions/src/integration.ts index 81c58b0af..dfc862fbb 100644 --- a/packages/definitions/src/integration.ts +++ b/packages/definitions/src/integration.ts @@ -61,7 +61,7 @@ export const integrationDefs = { }, qBittorrent: { name: "qBittorrent", - secretKinds: [["username", "password"]], + secretKinds: [["apiKey"], ["username", "password"]], iconUrl: "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons@master/svg/qbittorrent.svg", category: ["downloadClient", "torrent"], documentationUrl: createDocumentationLink("/docs/integrations/q-bittorent"), diff --git a/packages/integrations/src/download-client/qbittorrent/qbittorrent-integration.ts b/packages/integrations/src/download-client/qbittorrent/qbittorrent-integration.ts index 1076bca5e..a142fb1a3 100644 --- a/packages/integrations/src/download-client/qbittorrent/qbittorrent-integration.ts +++ b/packages/integrations/src/download-client/qbittorrent/qbittorrent-integration.ts @@ -90,10 +90,18 @@ export class QBitTorrentIntegration extends Integration implements IDownloadClie } private async getClientAsync(dispatcher?: Dispatcher) { + const credentials = this.hasSecretValue("apiKey") + ? { + apiKey: this.getSecretValue("apiKey"), + } + : { + username: this.getSecretValue("username"), + password: this.getSecretValue("password"), + }; + return new QBittorrent({ + ...credentials, baseUrl: this.url("/").toString(), - username: this.getSecretValue("username"), - password: this.getSecretValue("password"), dispatcher: dispatcher ?? (await createCertificateAgentAsync()), }); } From b581f9b11a6c7f7f48c5a3b122f364f5e27fcdec Mon Sep 17 00:00:00 2001 From: "homarr-renovate[bot]" <158783068+homarr-renovate[bot]@users.noreply.github.com> Date: Fri, 8 May 2026 19:26:12 +0000 Subject: [PATCH 31/63] chore(deps): update dependency @extractus/feed-extractor to v7.2.1 (#5670) Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com> --- pnpm-lock.yaml | 37 +++++++++++++------------------------ pnpm-workspace.yaml | 2 +- 2 files changed, 14 insertions(+), 25 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 73fea2a52..20ad25153 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -40,8 +40,8 @@ catalogs: specifier: 10.0.1 version: 10.0.1 '@extractus/feed-extractor': - specifier: 7.1.7 - version: 7.1.7 + specifier: 7.2.1 + version: 7.2.1 '@gitbeaker/rest': specifier: ^43.8.0 version: 43.8.0 @@ -2387,7 +2387,7 @@ importers: dependencies: '@extractus/feed-extractor': specifier: 'catalog:' - version: 7.1.7 + version: 7.2.1 '@homarr/common': specifier: workspace:^0.1.0 version: link:../common @@ -3801,8 +3801,8 @@ packages: '@noble/hashes': optional: true - '@extractus/feed-extractor@7.1.7': - resolution: {integrity: sha512-eNeddvKK9rBxWSHj5zBo6ODihJqJtq+QzEQdVeadkOK48avmdela+c2JAfMcPEBMFaWcAYV4bUMhI9Tqi8mX2Q==} + '@extractus/feed-extractor@7.2.1': + resolution: {integrity: sha512-vc84NZST31wLDTesAkmHL8GBxSB2zw2/h9ZKiQMB71az13sC65EeAcDeLJ2z3atsIhtxESnCMaKmQdOrFiFLcg==} engines: {node: '>= 20'} '@fastify/ajv-compiler@4.0.5': @@ -4388,9 +4388,6 @@ packages: deprecated: This package is no longer maintained hasBin: true - '@ndaidong/bellajs@12.0.1': - resolution: {integrity: sha512-1iY42uiHz0cxNMbde7O3zVN+ZX1viOOUOBRt6ht6lkRZbSjwOnFV34Zv4URp3hGzEe6L9Byk7BOq/41H0PzAOQ==} - '@next/env@16.2.4': resolution: {integrity: sha512-dKkkOzOSwFYe5RX6y26fZgkSpVAlIOJKQHIiydQcrWH6y/97+RceSOAdjZ14Qa3zLduVUy0TXcn+EiM6t4rPgw==} @@ -4721,6 +4718,10 @@ packages: '@protobufjs/utf8@1.1.0': resolution: {integrity: sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==} + '@pwshub/bellajs@13.0.2': + resolution: {integrity: sha512-OWOaE7Ieufo7VMv957iahOzv/w5oXyyXO28Jh2x6rLU96ZLqC508kAKTgdMJRXgVjda2s+/0C6Kno+k16OmJsQ==} + engines: {bun: '>=1.0.0', node: '>=20.0.0'} + '@reduxjs/toolkit@2.11.2': resolution: {integrity: sha512-Kd6kAHTA6/nUpp8mySPqj3en3dm0tdMIgbttnQ1xFMVpufoj+ADi8pXLBsd4xzTRHQa7t/Jv8W5UnCuW4kuWMQ==} peerDependencies: @@ -6661,9 +6662,6 @@ packages: engines: {node: '>=20'} hasBin: true - cross-fetch@4.1.0: - resolution: {integrity: sha512-uKm5PU+MHTootlWEY+mZ4vvXoCn4fLQxT9dSc1sXVMSFkINTJVN8cAQROpwcKm8bJ/c7rgZVIBWzH5T78sNZZw==} - cross-spawn@7.0.6: resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} engines: {node: '>= 8'} @@ -11848,14 +11846,11 @@ snapshots: optionalDependencies: '@noble/hashes': 2.0.1 - '@extractus/feed-extractor@7.1.7': + '@extractus/feed-extractor@7.2.1': dependencies: - '@ndaidong/bellajs': 12.0.1 - cross-fetch: 4.1.0 + '@pwshub/bellajs': 13.0.2 fast-xml-parser: 5.7.2 html-entities: 2.6.0 - transitivePeerDependencies: - - encoding '@fastify/ajv-compiler@4.0.5': dependencies: @@ -12474,8 +12469,6 @@ snapshots: - utf-8-validate - webpack-sources - '@ndaidong/bellajs@12.0.1': {} - '@next/env@16.2.4': {} '@next/eslint-plugin-next@16.2.4': @@ -12780,6 +12773,8 @@ snapshots: '@protobufjs/utf8@1.1.0': {} + '@pwshub/bellajs@13.0.2': {} + '@reduxjs/toolkit@2.11.2(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.5)(redux@5.0.1))(react@19.2.5)': dependencies: '@standard-schema/spec': 1.1.0 @@ -15109,12 +15104,6 @@ snapshots: '@epic-web/invariant': 1.0.0 cross-spawn: 7.0.6 - cross-fetch@4.1.0: - dependencies: - node-fetch: 2.7.0 - transitivePeerDependencies: - - encoding - cross-spawn@7.0.6: dependencies: path-key: 3.1.1 diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index ef2f695b5..b42e515a5 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -14,7 +14,7 @@ catalog: "@dnd-kit/utilities": ^3.2.2 "@drizzle-team/brocli": ^0.12.0 '@eslint/js': 10.0.1 - "@extractus/feed-extractor": 7.1.7 + "@extractus/feed-extractor": 7.2.1 "@gitbeaker/rest": ^43.8.0 "@homarr/gridstack": ^1.12.0 "@homarr/node-unifi": ^2.6.0 From 4635c51fe1b47d1112ed4fdc64f526609dab8124 Mon Sep 17 00:00:00 2001 From: Releases Homarr <175486441+homarr-releases[bot]@users.noreply.github.com> Date: Fri, 8 May 2026 20:06:52 +0000 Subject: [PATCH 32/63] chore(release): 1.61.0 [skip ci] --- CHANGELOG.md | 25 +++++++++++++++++++++++++ package.json | 2 +- 2 files changed, 26 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 94131c6d2..51b53f787 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,28 @@ +## [1.61.0](https://github.com/homarr-labs/homarr/compare/v1.60.0...v1.61.0) (2026-05-08) + +### Features + +* add auto/system appearance mode + fix dark mode system resources charts ([#5492](https://github.com/homarr-labs/homarr/issues/5492)) ([831b622](https://github.com/homarr-labs/homarr/commit/831b6221fdf21fe4913b0f165ef551afeada4f33)) +* add pwa support ([#5530](https://github.com/homarr-labs/homarr/issues/5530)) ([277a509](https://github.com/homarr-labs/homarr/commit/277a509f490d57bb6547c86c417c29c0e7af7e40)) +* add Umami Analytics integration and widget ([#5362](https://github.com/homarr-labs/homarr/issues/5362)) ([43cc68b](https://github.com/homarr-labs/homarr/commit/43cc68bdd49c4877012e39e23355f6506aea7f4e)) +* **docker:** Podman compatibility, multi-socket support, per-host error isolation ([#5425](https://github.com/homarr-labs/homarr/issues/5425)) ([56af6bc](https://github.com/homarr-labs/homarr/commit/56af6bcaf00e980e4c7a40d8e912901cd1395f5a)) +* **entity-state:** add data attributes for custom-css styling ([#5655](https://github.com/homarr-labs/homarr/issues/5655)) ([0937555](https://github.com/homarr-labs/homarr/commit/0937555d49c29455bc33307ae5e50bf5b812c7c7)) +* **installations:** support secrets file for all environment variables ([#5125](https://github.com/homarr-labs/homarr/issues/5125)) ([4d30a2e](https://github.com/homarr-labs/homarr/commit/4d30a2e8c48f818bb4947a651b0fec5f64cbf569)) +* **qbittorrent:** add api-key support ([#5677](https://github.com/homarr-labs/homarr/issues/5677)) ([756e8d1](https://github.com/homarr-labs/homarr/commit/756e8d172455f91e40cd8fb5faff6953cc9778c5)) +* **spotlight:** rework !bang search UX ([#4813](https://github.com/homarr-labs/homarr/issues/4813)) ([b5c316b](https://github.com/homarr-labs/homarr/commit/b5c316b825bdffa267fd173a3c39a12269142665)) + +### Bug Fixes + +* **apps:** creation on the fly broken ([#5605](https://github.com/homarr-labs/homarr/issues/5605)) ([3183914](https://github.com/homarr-labs/homarr/commit/3183914a1502555681b73975062ed6ca8a48cb75)) +* **calendar:** keep working integrations when one fails ([#5629](https://github.com/homarr-labs/homarr/issues/5629)) ([44bd16d](https://github.com/homarr-labs/homarr/commit/44bd16d6770d289054df6c7c93adff42d2243252)) +* **lang:** portuguese is linked to brazilian portuguese on crowdin ([#5622](https://github.com/homarr-labs/homarr/issues/5622)) ([62be81e](https://github.com/homarr-labs/homarr/commit/62be81ea607a609a816157686700c54540e1568b)) +* **qbittorrent:** support version 5.2 ([#5672](https://github.com/homarr-labs/homarr/issues/5672)) ([00a0552](https://github.com/homarr-labs/homarr/commit/00a055283e8848542b67d88a656a99fdd0bcb444)) +* **update-checker:** hide prereleases on non-prerelease versions ([#5645](https://github.com/homarr-labs/homarr/issues/5645)) ([b07a4a0](https://github.com/homarr-labs/homarr/commit/b07a4a0f3e3af384ec477bf5c505a705b003de47)) + +### Reverts + +* **deps:** downgrade pnpm to v10 ([#5673](https://github.com/homarr-labs/homarr/issues/5673)) ([44a2973](https://github.com/homarr-labs/homarr/commit/44a2973b1aba1e2c6bd818be022205f3cdb7c943)) + ## [1.60.0](https://github.com/homarr-labs/homarr/compare/v1.59.3...v1.60.0) (2026-05-01) ### Features diff --git a/package.json b/package.json index 5cdd91982..6df6f0815 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "homarr", - "version": "1.60.0", + "version": "1.61.0", "private": true, "scripts": { "build": "cross-env CI=true turbo build", From c78bf05fc358557b792c7b15c3c9c1be736a19cb Mon Sep 17 00:00:00 2001 From: "homarr-releases[bot]" <175486441+homarr-releases[bot]@users.noreply.github.com> Date: Fri, 8 May 2026 20:17:34 +0000 Subject: [PATCH 33/63] chore: update bug report template (#5682) Co-authored-by: Releases Homarr <175486441+homarr-releases[bot]@users.noreply.github.com> --- .github/ISSUE_TEMPLATE/bug_report.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml index c76536d88..a5137601a 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yml +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -33,6 +33,7 @@ body: options: # The below comment is used to insert a new version with on-release.yml #NEXT_VERSION# + - 1.61.0 - 1.60.1-beta.1 - 1.60.0 - 1.59.3 From 3a8abe441567cfe1c07e530eb66a695b53733e76 Mon Sep 17 00:00:00 2001 From: Meier Lukas Date: Fri, 8 May 2026 23:48:31 +0200 Subject: [PATCH 34/63] chore(docs): update sitemap --- packages/definitions/src/docs/homarr-docs-sitemap.ts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/packages/definitions/src/docs/homarr-docs-sitemap.ts b/packages/definitions/src/docs/homarr-docs-sitemap.ts index 049c8a4af..b97a34937 100644 --- a/packages/definitions/src/docs/homarr-docs-sitemap.ts +++ b/packages/definitions/src/docs/homarr-docs-sitemap.ts @@ -93,6 +93,7 @@ export type HomarrDocumentationPath = | "/docs/tags/roles" | "/docs/tags/search" | "/docs/tags/search-engines" + | "/docs/tags/secrets" | "/docs/tags/security" | "/docs/tags/self-signed" | "/docs/tags/seo" @@ -198,6 +199,7 @@ export type HomarrDocumentationPath = | "/docs/integrations/tracearr" | "/docs/integrations/transmission" | "/docs/integrations/truenas" + | "/docs/integrations/umami" | "/docs/integrations/unifi-controller" | "/docs/integrations/unraid" | "/docs/management/api" @@ -244,6 +246,7 @@ export type HomarrDocumentationPath = | "/docs/widgets/system-resources" | "/docs/widgets/timetable" | "/docs/widgets/tracearr" + | "/docs/widgets/umami" | "/docs/widgets/video" | "/docs/widgets/weather" | "" From b34102a973efec8c0016522fd92063c4b76f6077 Mon Sep 17 00:00:00 2001 From: Releases Homarr <175486441+homarr-releases[bot]@users.noreply.github.com> Date: Fri, 8 May 2026 21:55:01 +0000 Subject: [PATCH 35/63] chore(release): 1.61.1-beta.1 [skip ci] --- CHANGELOG.md | 7 +++++++ package.json | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 19ffec025..83a872367 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,10 @@ +## [1.61.1-beta.1](https://github.com/homarr-labs/homarr/compare/v1.61.0...v1.61.1-beta.1) (2026-05-08) + +### Performance Improvements + +* (next branch) reduce idle memory on startup ([#5637](https://github.com/homarr-labs/homarr/issues/5637)) ([5ee84f8](https://github.com/homarr-labs/homarr/commit/5ee84f8cf464c308729281cb4db572950ba85a82)) +* **memory:** combine 3 node processes into one ([#5600](https://github.com/homarr-labs/homarr/issues/5600)) ([a1aa550](https://github.com/homarr-labs/homarr/commit/a1aa5505a365688b456090a882770e561479833e)) + ## [1.61.0](https://github.com/homarr-labs/homarr/compare/v1.60.0...v1.61.0) (2026-05-08) ### Features diff --git a/package.json b/package.json index 531d3b276..157422ac9 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "homarr", - "version": "1.61.0", + "version": "1.61.1-beta.1", "private": true, "scripts": { "build": "cross-env CI=true turbo build", From 968338aa97ed4357adfc20315af90c676bd81f4d Mon Sep 17 00:00:00 2001 From: "homarr-crowdin[bot]" <190541745+homarr-crowdin[bot]@users.noreply.github.com> Date: Sun, 10 May 2026 10:38:59 +0200 Subject: [PATCH 36/63] chore(lang): updated translations from crowdin (#5685) Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com> --- packages/translation/src/lang/ca.json | 3 + packages/translation/src/lang/cn.json | 323 ++++++++++++----------- packages/translation/src/lang/cr.json | 3 + packages/translation/src/lang/cs.json | 3 + packages/translation/src/lang/da.json | 3 + packages/translation/src/lang/de-CH.json | 3 + packages/translation/src/lang/de.json | 3 + packages/translation/src/lang/el.json | 3 + packages/translation/src/lang/en-gb.json | 3 + packages/translation/src/lang/es.json | 3 + packages/translation/src/lang/et.json | 3 + packages/translation/src/lang/fr.json | 3 + packages/translation/src/lang/he.json | 3 + packages/translation/src/lang/hr.json | 3 + packages/translation/src/lang/hu.json | 249 ++++++++--------- packages/translation/src/lang/it.json | 149 ++++++----- packages/translation/src/lang/ja.json | 3 + packages/translation/src/lang/ko.json | 3 + packages/translation/src/lang/lt.json | 3 + packages/translation/src/lang/lv.json | 3 + packages/translation/src/lang/nl.json | 3 + packages/translation/src/lang/no.json | 149 ++++++----- packages/translation/src/lang/pl.json | 3 + packages/translation/src/lang/pt-br.json | 3 + packages/translation/src/lang/pt.json | 3 + packages/translation/src/lang/ro.json | 3 + packages/translation/src/lang/ru.json | 3 + packages/translation/src/lang/sk.json | 3 + packages/translation/src/lang/sl.json | 3 + packages/translation/src/lang/sv.json | 3 + packages/translation/src/lang/tr.json | 3 + packages/translation/src/lang/uk.json | 3 + packages/translation/src/lang/vi.json | 3 + packages/translation/src/lang/zh.json | 3 + 34 files changed, 531 insertions(+), 429 deletions(-) diff --git a/packages/translation/src/lang/ca.json b/packages/translation/src/lang/ca.json index a117b07fd..6cbd7acf6 100644 --- a/packages/translation/src/lang/ca.json +++ b/packages/translation/src/lang/ca.json @@ -3970,6 +3970,9 @@ }, "ports": { "label": "" + }, + "host": { + "label": "" } }, "action": { diff --git a/packages/translation/src/lang/cn.json b/packages/translation/src/lang/cn.json index 86c012cb2..3a10e9210 100644 --- a/packages/translation/src/lang/cn.json +++ b/packages/translation/src/lang/cn.json @@ -159,7 +159,7 @@ "label": "在新标签页中打开搜索结果" }, "ddgBangs": { - "label": "" + "label": "启用 DuckDuckGo bangs" } }, "error": { @@ -252,10 +252,10 @@ "changeDdgBangs": { "notification": { "success": { - "message": "" + "message": "DuckDuckGo bangs 切换成功" }, "error": { - "message": "" + "message": "无法切换 DuckDuckGo bangs" } } }, @@ -1093,7 +1093,7 @@ }, "colorScheme": { "options": { - "auto": "", + "auto": "自动", "light": "日间", "dark": "暗黑" } @@ -1540,13 +1540,13 @@ } }, "timetable": { - "name": "", - "description": "", - "title": "", - "noStation": "", + "name": "时刻表", + "description": "显示车站的出发时间", + "title": "出发时间 {station}", + "noStation": "未选择车站", "option": { "station": { - "label": "" + "label": "车站" } } }, @@ -1621,11 +1621,11 @@ } }, "anchorNote": { - "name": "", - "description": "", + "name": "锚点笔记", + "description": "显示来自锚点的所选笔记", "option": { "noteId": { - "label": "" + "label": "笔记" }, "showTitle": { "label": "显示标题" @@ -1637,16 +1637,16 @@ "empty": "选择要显示的笔记", "emptyContent": "此笔记没有内容", "notFound": "未找到笔记", - "noNotes": "", - "integrationRequired": "", + "noNotes": "未找到笔记", + "integrationRequired": "请先选择锚点集成", "updatedAt": "更新时间:{date}", "untitled": "未命名", "edit": "编辑", "save": "保存", "cancel": "取消", - "readOnlyViewer": "", - "saveForbidden": "", - "saveFailed": "" + "readOnlyViewer": "您对该笔记只有查看权限,编辑已禁用。", + "saveForbidden": "您没有编辑此笔记的权限。", + "saveFailed": "保存此笔记失败,请重试。" }, "iframe": { "name": "iFrame", @@ -1680,7 +1680,7 @@ "label": "允许地理位置" }, "allowModals": { - "label": "" + "label": "允许弹窗" } }, "error": { @@ -2056,156 +2056,156 @@ } }, "tracearr": { - "name": "", - "description": "", + "name": "Tracearr", + "description": "增强型媒体服务器监控,提供详细的流与转码数据", "option": { "showStreams": { - "label": "" + "label": "显示活跃流" }, "showStats": { - "label": "" + "label": "显示统计摘要" }, "showRecentActivity": { - "label": "" + "label": "显示近期活动" }, "showViolations": { - "label": "" + "label": "显示违规记录" } }, "stats": { - "activeStreams": "", - "totalUsers": "", - "transcodes": "", - "bandwidth": "" + "activeStreams": "活跃流", + "totalUsers": "总用户数", + "transcodes": "转码数", + "bandwidth": "带宽" }, "streams": { - "empty": "", - "user": "", - "media": "", - "state": "", - "quality": "", - "device": "", - "progress": "", + "empty": "无活跃流", + "user": "用户", + "media": "媒体", + "state": "状态", + "quality": "画质", + "device": "设备", + "progress": "进度", "videoDecision": { - "directPlay": "", - "transcode": "", - "directStream": "" + "directPlay": "直接播放", + "transcode": "转码", + "directStream": "直接串流" } }, "recentActivity": { - "title": "", - "empty": "", - "watched": "", - "partial": "" + "title": "近期活动", + "empty": "暂无近期活动", + "watched": "已观看", + "partial": "部分观看" }, "violations": { - "title": "", - "empty": "", - "rule": "", - "user": "" + "title": "违规记录", + "empty": "暂无近期违规", + "rule": "规则", + "user": "用户" }, - "noSectionsEnabled": "", + "noSectionsEnabled": "未启用任何分区", "error": { - "noIntegration": "", - "internalServerError": "" + "noIntegration": "未配置 Tracearr 集成", + "internalServerError": "获取 Tracearr 数据失败" } }, "umami": { - "name": "", - "description": "", - "visitors": "", - "active": "", - "pageviews": "", - "visits": "", - "bounceRate": "", - "avgDuration": "", + "name": "Umami 分析", + "description": "显示来自 Umami 分析实例的访客统计", + "visitors": "访客", + "active": "活跃", + "pageviews": "浏览量", + "visits": "访问数", + "bounceRate": "跳出率", + "avgDuration": "平均", "option": { "websiteId": { - "label": "", - "description": "", - "placeholder": "", - "loading": "", - "noWebsites": "", - "configureIntegrationFirst": "" + "label": "网站", + "description": "选择您的 Umami 实例所追踪的网站", + "placeholder": "选择一个网站", + "loading": "正在加载网站……", + "noWebsites": "未找到网站", + "configureIntegrationFirst": "请先添加 Umami 集成" }, "timeFrame": { - "label": "", - "description": "", + "label": "时间范围", + "description": "用于展示访客数据的时间段", "option": { - "today": "", - "24h": "", - "7d": "", - "30d": "", - "month": "", - "lastMonth": "" + "today": "今天", + "24h": "过去 24 小时", + "7d": "过去 7 天", + "30d": "过去 30 天", + "month": "本月", + "lastMonth": "上月" } }, "eventName": { - "label": "", - "description": "", - "placeholder": "", - "loading": "", - "noEvents": "", - "none": "", - "configureWebsiteFirst": "" + "label": "事件", + "description": "显示特定事件的总发生次数", + "placeholder": "选择一个事件", + "loading": "正在加载事件……", + "noEvents": "未找到事件", + "none": "无事件", + "configureWebsiteFirst": "请先选择网站以加载事件" }, "chartType": { - "label": "", - "description": "", + "label": "图表类型", + "description": "图表的显示样式", "option": { - "bar": "", - "sparkline": "" + "bar": "条形图", + "sparkline": "迷你趋势图" } }, "chartStyle": { - "label": "", - "description": "", + "label": "图表样式", + "description": "如何在图表中显示事件序列", "option": { - "grouped": "", - "overlay": "" + "grouped": "并排", + "overlay": "叠加(子集)" } }, "viewMode": { - "label": "", - "description": "", + "label": "视图", + "description": "组件主体中要显示的内容", "option": { - "chart": "", - "events": "", - "topPages": "", - "topReferrers": "" + "chart": "图表", + "events": "事件图表", + "topPages": "热门页面", + "topReferrers": "热门来源" } }, "eventNames": { - "label": "", - "description": "", - "placeholder": "", - "loading": "", - "noEvents": "", - "configureWebsiteFirst": "" + "label": "事件", + "description": "选择一个或多个要图表化的事件", + "placeholder": "选择事件……", + "loading": "正在加载事件……", + "noEvents": "未找到事件", + "configureWebsiteFirst": "请先选择网站以加载事件" }, "topCount": { - "label": "", - "description": "" + "label": "显示数量", + "description": "要显示的热门项目数量(最大 500)" } }, "event": { - "occurrences": "", - "label": "" + "occurrences": "事件", + "label": "事件" }, "topPages": { - "direct": "" + "direct": "直接" }, "topReferrers": { - "direct": "" + "direct": "直接" }, "events": { - "selectPrompt": "" + "selectPrompt": "选择要图表化的事件" }, "error": { - "noIntegration": "", - "noWebsite": "", - "noData": "", - "internalServerError": "" + "noIntegration": "未配置 Umami 集成", + "noWebsite": "未配置网站", + "noData": "无可用数据", + "internalServerError": "获取 Umami 数据失败" } }, "common": { @@ -2304,50 +2304,50 @@ } }, "immich-serverStats": { - "name": "", - "description": "", + "name": "Immich 服务器统计", + "description": "有关您的 Immich 实例的信息", "option": { "showUsers": { - "label": "", - "description": "" + "label": "显示用户", + "description": "显示实例上的用户数量" }, "showPhotos": { "label": "显示图片", - "description": "" + "description": "显示实例上的照片数量" }, "showVideos": { "label": "显示视频", - "description": "" + "description": "显示实例上的视频数量" }, "showStorage": { "label": "显示存储", - "description": "" + "description": "显示已使用的总存储空间" } }, - "users": "", - "photos": "", - "videos": "", - "storage": "" + "users": "用户", + "photos": "照片", + "videos": "视频", + "storage": "已用存储" }, "immich-albumCarousel": { - "name": "", + "name": "Immich 相册", "option": { "albumId": { - "label": "", - "description": "" + "label": "相册ID", + "description": "这是一个唯一标识符,用于指向您的 Immich 相册。您可以通过打开相册并从 URL 中复制那段唯一字符串来找到该 ID,例如:'a21aca09-9f05-47dc-b1a1-7b53c547226e'" }, "rotationIntervalSeconds": { - "label": "", - "description": "" + "label": "间隔(秒)", + "description": "每 X 秒切换一次相册中的图片。最小为 1,最大不得超过 3600。" }, "showPhotoInfo": { "label": "显示图片信息", - "description": "" + "description": "在幻灯片底部显示图片日期和当前索引" } }, - "description": "", - "noAlbumSelected": "", - "noPhotos": "" + "description": "Immich 相册图片幻灯片", + "noAlbumSelected": "未选择相册,请编辑组件并选择一个相册", + "noPhotos": "此相册中没有照片" }, "downloads": { "name": "下载客户端", @@ -2658,7 +2658,7 @@ "label": "隐藏描述" }, "showPosterImage": { - "label": "" + "label": "显示封面图" } } }, @@ -2873,28 +2873,28 @@ "option": {} }, "speedtestTracker": { - "name": "", - "description": "", + "name": "网速测试追踪器", + "description": "显示 网速测试追踪器 实例中的测速结果。", "option": { "showLatestResult": { - "label": "" + "label": "显示最新结果" }, "showStats": { - "label": "" + "label": "显示平均值" }, "showRecentResults": { - "label": "" + "label": "显示近期结果" }, "showPingGraph": { - "label": "" + "label": "显示 Ping 图表" } }, - "latestResult": "", - "averages": "", - "tests": "", - "recentResults": "", - "recentResultsSpeed": "", - "recentResultsPing": "", + "latestResult": "最新结果", + "averages": "平均值", + "tests": "{count}次测试", + "recentResults": "近期结果", + "recentResultsSpeed": "速度", + "recentResultsPing": "Ping", "download": "下载", "upload": "上传", "ping": "Ping", @@ -2902,13 +2902,13 @@ "avgDownload": "平均下载", "avgUpload": "平均上传", "avgPing": "平均Ping", - "healthy": "", - "unhealthy": "", - "ok": "", + "healthy": "健康", + "unhealthy": "不健康", + "ok": "正常", "fail": "失败", - "noSectionsEnabled": "", + "noSectionsEnabled": "请在组件选项中至少启用一个模块。", "error": { - "internalServerError": "" + "internalServerError": "获取测速数据失败" } }, "systemResources": { @@ -3680,7 +3680,7 @@ "defaultColorScheme": { "label": "默认配色方案", "options": { - "auto": "", + "auto": "自动", "light": "日间", "dark": "暗黑" } @@ -3708,7 +3708,7 @@ "label": "Minecraft 服务状态" }, "timetable": { - "label": "" + "label": "时刻表" }, "iconsUpdater": { "label": "图标更新" @@ -3780,10 +3780,10 @@ "label": "天气" }, "tracearr": { - "label": "" + "label": "Tracearr" }, "umamiActiveVisitors": { - "label": "" + "label": "Umami 活跃访客" } }, "interval": { @@ -3907,8 +3907,8 @@ "subtitle": "在许多语言中,有{count}人贡献了翻译" }, "sponsors": { - "title": "", - "subtitle": "" + "title": "赞助商", + "subtitle": "{count}人通过财务方式支持该项目" }, "libraries": { "title": "相关的库", @@ -3970,6 +3970,9 @@ }, "ports": { "label": "端口" + }, + "host": { + "label": "宿主机" } }, "action": { @@ -4496,7 +4499,7 @@ "title": "全局命令", "option": { "colorScheme": { - "auto": "", + "auto": "切换外观模式", "light": "切换到日间模式", "dark": "切换到暗黑模式" }, @@ -4548,13 +4551,13 @@ "group": { "searchEngine": { "title": "搜索引擎", - "tipDdgBangs": "", + "tipDdgBangs": "提示:你也可以在此使用任何 DuckDuckGo Bangs,例如 !something", "bang": { - "searchWithQuery": "", - "pressEnterToOpen": "", - "engineSelected": "", - "typeQueryToContinue": "", - "emptyBangHint": "" + "searchWithQuery": "使用“‘’{query}”搜索“{label}”", + "pressEnterToOpen": "按 Enter 键打开", + "engineSelected": "已选择{label}({bang})", + "typeQueryToContinue": "输入搜索查询以继续", + "emptyBangHint": "输入 bang,例如 !yt,然后按空格键进行选择" }, "children": { "action": { diff --git a/packages/translation/src/lang/cr.json b/packages/translation/src/lang/cr.json index 6b7ce247c..27a4588a8 100644 --- a/packages/translation/src/lang/cr.json +++ b/packages/translation/src/lang/cr.json @@ -3970,6 +3970,9 @@ }, "ports": { "label": "crwdns1920:0crwdne1920:0" + }, + "host": { + "label": "crwdns4249:0crwdne4249:0" } }, "action": { diff --git a/packages/translation/src/lang/cs.json b/packages/translation/src/lang/cs.json index 743a1d8c8..46d284ee5 100644 --- a/packages/translation/src/lang/cs.json +++ b/packages/translation/src/lang/cs.json @@ -3970,6 +3970,9 @@ }, "ports": { "label": "Porty" + }, + "host": { + "label": "" } }, "action": { diff --git a/packages/translation/src/lang/da.json b/packages/translation/src/lang/da.json index 0c08fe680..09d071783 100644 --- a/packages/translation/src/lang/da.json +++ b/packages/translation/src/lang/da.json @@ -3970,6 +3970,9 @@ }, "ports": { "label": "Porte" + }, + "host": { + "label": "" } }, "action": { diff --git a/packages/translation/src/lang/de-CH.json b/packages/translation/src/lang/de-CH.json index cd65d3a6f..024e95740 100644 --- a/packages/translation/src/lang/de-CH.json +++ b/packages/translation/src/lang/de-CH.json @@ -3970,6 +3970,9 @@ }, "ports": { "label": "" + }, + "host": { + "label": "" } }, "action": { diff --git a/packages/translation/src/lang/de.json b/packages/translation/src/lang/de.json index 52bc3d0ea..db0479ba6 100644 --- a/packages/translation/src/lang/de.json +++ b/packages/translation/src/lang/de.json @@ -3970,6 +3970,9 @@ }, "ports": { "label": "Ports" + }, + "host": { + "label": "" } }, "action": { diff --git a/packages/translation/src/lang/el.json b/packages/translation/src/lang/el.json index a748ef3f7..9c9b49876 100644 --- a/packages/translation/src/lang/el.json +++ b/packages/translation/src/lang/el.json @@ -3970,6 +3970,9 @@ }, "ports": { "label": "Θύρες" + }, + "host": { + "label": "" } }, "action": { diff --git a/packages/translation/src/lang/en-gb.json b/packages/translation/src/lang/en-gb.json index 2df303887..ae6870d90 100644 --- a/packages/translation/src/lang/en-gb.json +++ b/packages/translation/src/lang/en-gb.json @@ -3970,6 +3970,9 @@ }, "ports": { "label": "" + }, + "host": { + "label": "" } }, "action": { diff --git a/packages/translation/src/lang/es.json b/packages/translation/src/lang/es.json index a5306e619..cbbb17abd 100644 --- a/packages/translation/src/lang/es.json +++ b/packages/translation/src/lang/es.json @@ -3970,6 +3970,9 @@ }, "ports": { "label": "Puertos" + }, + "host": { + "label": "" } }, "action": { diff --git a/packages/translation/src/lang/et.json b/packages/translation/src/lang/et.json index c6e4fbf67..d48280e5c 100644 --- a/packages/translation/src/lang/et.json +++ b/packages/translation/src/lang/et.json @@ -3970,6 +3970,9 @@ }, "ports": { "label": "" + }, + "host": { + "label": "" } }, "action": { diff --git a/packages/translation/src/lang/fr.json b/packages/translation/src/lang/fr.json index 625551048..a28b4718b 100644 --- a/packages/translation/src/lang/fr.json +++ b/packages/translation/src/lang/fr.json @@ -3970,6 +3970,9 @@ }, "ports": { "label": "Ports" + }, + "host": { + "label": "" } }, "action": { diff --git a/packages/translation/src/lang/he.json b/packages/translation/src/lang/he.json index d523ad84f..b23563ce9 100644 --- a/packages/translation/src/lang/he.json +++ b/packages/translation/src/lang/he.json @@ -3970,6 +3970,9 @@ }, "ports": { "label": "יציאות" + }, + "host": { + "label": "" } }, "action": { diff --git a/packages/translation/src/lang/hr.json b/packages/translation/src/lang/hr.json index 8bd53d09f..9558b4bfa 100644 --- a/packages/translation/src/lang/hr.json +++ b/packages/translation/src/lang/hr.json @@ -3970,6 +3970,9 @@ }, "ports": { "label": "Portovi" + }, + "host": { + "label": "" } }, "action": { diff --git a/packages/translation/src/lang/hu.json b/packages/translation/src/lang/hu.json index 2561eff74..44f4a8575 100644 --- a/packages/translation/src/lang/hu.json +++ b/packages/translation/src/lang/hu.json @@ -159,7 +159,7 @@ "label": "Nyissa meg a keresési eredményeket új ablakban" }, "ddgBangs": { - "label": "" + "label": "DuckDuckGo parancsok engedélyezése" } }, "error": { @@ -252,10 +252,10 @@ "changeDdgBangs": { "notification": { "success": { - "message": "" + "message": "DuckDuckGo parancsok sikeresen bekapcsolódott" }, "error": { - "message": "" + "message": "DuckDuckGo parancsokkat nem sikerült bekapcsolni" } } }, @@ -1093,7 +1093,7 @@ }, "colorScheme": { "options": { - "auto": "", + "auto": "Automatikus", "light": "Világos", "dark": "Sötét" } @@ -2111,101 +2111,101 @@ } }, "umami": { - "name": "", - "description": "", - "visitors": "", - "active": "", - "pageviews": "", - "visits": "", - "bounceRate": "", - "avgDuration": "", + "name": "Umami Analitika", + "description": "Umami elemzési rendszeréből származó látogatói statisztikák megjelenítése", + "visitors": "látogatók", + "active": "aktív", + "pageviews": "oldalletöltések", + "visits": "látogatások", + "bounceRate": "visszapattan", + "avgDuration": "átl", "option": { "websiteId": { - "label": "", - "description": "", - "placeholder": "", - "loading": "", - "noWebsites": "", - "configureIntegrationFirst": "" + "label": "Honlap", + "description": "Válasszon ki egy olyan webhelyet, amelyet az Ön Umami-példánya követ", + "placeholder": "Válasszon ki egy weboldalt", + "loading": "Weboldalak betöltése...", + "noWebsites": "Nem található weboldal", + "configureIntegrationFirst": "Először csatlakoztassa az Umami integrációt" }, "timeFrame": { - "label": "", - "description": "", + "label": "Időkeret", + "description": "Látogatói adatok megjelenítésének időtartama", "option": { - "today": "", - "24h": "", - "7d": "", - "30d": "", - "month": "", - "lastMonth": "" + "today": "Ma", + "24h": "Elmúlt 24 óra", + "7d": "Elmúlt 7 nap", + "30d": "Elmúlt 30 nap", + "month": "Ez a hónap", + "lastMonth": "Előző hónap" } }, "eventName": { - "label": "", - "description": "", - "placeholder": "", - "loading": "", - "noEvents": "", - "none": "", - "configureWebsiteFirst": "" + "label": "Esemény", + "description": "Egy adott esemény összes előfordulásának megjelenítése", + "placeholder": "Válasszon ki egy eseményt", + "loading": "Események betöltése...", + "noEvents": "Nem található esemény", + "none": "Nincs esemény", + "configureWebsiteFirst": "Először válasszon ki egy weboldalt az események betöltéséhez" }, "chartType": { - "label": "", - "description": "", + "label": "Diagramtípus", + "description": "A diagram megjelenítési stílusa", "option": { - "bar": "", - "sparkline": "" + "bar": "Oszlopdiagram", + "sparkline": "Mikrodiagram" } }, "chartStyle": { - "label": "", - "description": "", + "label": "Diagramstílus", + "description": "Hogyan jeleníthetjük meg az eseménysorozatot a diagramon", "option": { - "grouped": "", - "overlay": "" + "grouped": "Egymás mellett", + "overlay": "Átfedés (részhalmaz)" } }, "viewMode": { - "label": "", - "description": "", + "label": "Megtekintés", + "description": "Mit jelenítsen meg a widget törzse", "option": { - "chart": "", - "events": "", - "topPages": "", - "topReferrers": "" + "chart": "Ábra", + "events": "Eseménynaptár", + "topPages": "Legnépszerűbb oldalak", + "topReferrers": "Legjobb hivatkozások" } }, "eventNames": { - "label": "", - "description": "", - "placeholder": "", - "loading": "", - "noEvents": "", - "configureWebsiteFirst": "" + "label": "Események", + "description": "Válasszon ki egy vagy több eseményt a grafikonhoz", + "placeholder": "Események kiválasztása...", + "loading": "Események betöltése...", + "noEvents": "Nem található esemény", + "configureWebsiteFirst": "Először válasszon ki egy weboldalt az események betöltéséhez" }, "topCount": { - "label": "", - "description": "" + "label": "Items to show", + "description": "Megjelenítendő legnépszerűbb elemek száma (max. 500)" } }, "event": { - "occurrences": "", - "label": "" + "occurrences": "események", + "label": "események" }, "topPages": { - "direct": "" + "direct": "Közvetlen" }, "topReferrers": { - "direct": "" + "direct": "Közvetlen" }, "events": { - "selectPrompt": "" + "selectPrompt": "Válassza ki a grafikonra felveendő eseményeket" }, "error": { - "noIntegration": "", - "noWebsite": "", - "noData": "", - "internalServerError": "" + "noIntegration": "Nincs beállítva az Umami-integráció", + "noWebsite": "Nincs beállított webhely", + "noData": "Nincs elérhető adat", + "internalServerError": "Umami-adatok letöltése nem sikerült" } }, "common": { @@ -2745,15 +2745,15 @@ } }, "importForm": { - "title": "" + "title": "Importálás a Docker-ből" }, "example": { - "label": "" + "label": "Példa" }, - "invalid": "", + "invalid": "A tároló meghatározása érvénytelen, kérjük, ellenőrizze az értékeket", "noProvider": { - "label": "", - "tooltip": "" + "label": "Nincs Szolgáltató", + "tooltip": "A szolgáltató adatai nem értelmezhetők; kérjük, az importálás után állítsa be azokat manuálisan" } } }, @@ -2826,34 +2826,34 @@ } }, "error": { - "integrationsDisconnected": "", - "unknownContentOption": "" + "integrationsDisconnected": "Nincs elérhető adat, az összes integráció le van választva", + "unknownContentOption": "A hálózati állapot-widget ismeretlen tartalmi beállítása: " }, - "name": "", - "description": "" + "name": "Hálózat állapota", + "description": "A hálózathoz csatlakozó eszközök megjelenítése" }, "networkController": { "error": { - "internalServerError": "" + "internalServerError": "A hálózati vezérlő összefoglalójának letöltése nem sikerült" } }, "firewall": { - "name": "", - "description": "", + "name": "Tűzfal-felügyelet", + "description": "Megjeleníti a tűzfalak összefoglalóját", "tab": { - "system": "", - "interfaces": "" + "system": "Rendszer", + "interfaces": "Interfészek" }, "error": { - "internalServerError": "" + "internalServerError": "Nem sikerült adatokat lekérni a tűzfalról" }, "option": { - "interfaces": "" + "interfaces": "Megjelenítendő hálózati interfészek" }, "widget": { - "fwname": "", - "version": "", - "versiontitle": "", + "fwname": "Név", + "version": "Verzió", + "versiontitle": "Verziók", "cputitle": "CPU használat", "memorytitle": "Memória használat", "cpu": "CPU", @@ -2942,63 +2942,63 @@ "cpu": "CPU", "memory": "RAM", "gpu": "GPU", - "network": "", - "up": "", - "down": "" + "network": "NET", + "up": "FÖNN", + "down": "LENN" } }, "systemDisks": { - "name": "", - "description": "", + "name": "Rendszer lemezek", + "description": "A rendszer lemezhasználata", "option": { "showTemperatureIfAvailable": { - "label": "" + "label": "Ha elérhető, mutassa a hőmérsékletet" }, "displayMode": { - "label": "", + "label": "Megjelenítési mód", "option": { "percentage": { - "label": "" + "label": "Százalék (pl: 76%)" }, "absolute": { - "label": "" + "label": "Abszolút értékek (pl. 800 Gb / 1 Tb)" }, "free": { - "label": "" + "label": "A szabad hely aránya (pl. 24% szabad)" } } }, "showBackgroundBar": { - "label": "" + "label": "Háttérhasználati sáv megjelenítése" } }, "status": { - "unhealthy": "" + "unhealthy": "Hibás" } } }, "widgetPreview": { "toggle": { - "enabled": "", - "disabled": "" + "enabled": "Szerkesztési mód engedélyezve", + "disabled": "Szerkesztési mód tiltva" }, "dimensions": { - "title": "" + "title": "Dimenzió váltása" } }, "board": { "action": { "duplicate": { - "title": "", - "message": "", + "title": "Tábla duplikálása", + "message": "Ezzel a {name} tábla teljes tartalmával együtt duplikálódik. Ha a widgetek olyan integrációkra hivatkoznak, amelyek használata nem engedélyezett, azok eltávolításra kerülnek.", "notification": { "success": { - "title": "", - "message": "" + "title": "Tábla duplikálva", + "message": "A tábla sikeresen duplikálódott" }, "error": { - "title": "", - "message": "" + "title": "Nem lehet duplikálni a táblát", + "message": "Nem tudtam duplikálni a táblát" } } }, @@ -3006,44 +3006,44 @@ "notification": { "success": { "title": "A módosítások sikeresen alkalmazva", - "message": "" + "message": "A tábla sikeresen elmentve" }, "error": { "title": "Nem sikerült alkalmazni a változtatásokat", - "message": "" + "message": "A táblát nem sikerült elmenteni" } }, "confirmLeave": { - "title": "", - "message": "" + "title": "Mentetlen változtatások", + "message": "Nem mentett változtatásai vannak, biztosan el akarja hagyni az oldalt?" } }, "oldImport": { - "label": "", + "label": "Importálás a homarr 1.0.0 előtti verzióból", "notification": { "success": { - "title": "", - "message": "" + "title": "Sikeres importálás", + "message": "A tábla sikeresen importálva" }, "error": { - "title": "", - "message": "" + "title": "Importálás nem sikerült", + "message": "Táblát nem sikerült importálni; további részletekért nézd meg a naplófájlokat" } }, "form": { "file": { - "label": "", - "invalidError": "" + "label": "JSON fájl kiválasztása", + "invalidError": "Érvénytelen konfigurációs fájl" }, "apps": { "label": "Alkalmazások", "avoidDuplicates": { - "label": "", - "description": "" + "label": "Kerülje az ismétlődéseket", + "description": "Nem veszi figyelembe azokat az alkalmazásokat, amelyeknél már létezik azonos href-vel rendelkező alkalmazás" }, "onlyImportApps": { - "label": "", - "description": "" + "label": "Csak alkalmazások importálása", + "description": "Csak az alkalmazásokat adja hozzá, a táblát manuálisan kell újra létrehozni" } }, "name": { @@ -3272,15 +3272,15 @@ "description": "" }, "private": { - "title": "", - "description": "" + "title": "Nyilvános tábla készítése", + "description": "Biztosan nyilvánossá szeretnéd tenni ezt a fórumot? Ezzel a fórum mindenki számára elérhetővé válik." } } }, "delete": { - "label": "", + "label": "Törölje ezt a táblát", "description": "", - "button": "", + "button": "Törölje ezt a táblát", "confirm": { "title": "Tábla törlése", "description": "" @@ -3970,6 +3970,9 @@ }, "ports": { "label": "Portok" + }, + "host": { + "label": "" } }, "action": { diff --git a/packages/translation/src/lang/it.json b/packages/translation/src/lang/it.json index c17edea9d..60720ad7c 100644 --- a/packages/translation/src/lang/it.json +++ b/packages/translation/src/lang/it.json @@ -159,7 +159,7 @@ "label": "Apri risultati di ricerca in una nuova scheda" }, "ddgBangs": { - "label": "" + "label": "Abilita bangs DuckDuckGo" } }, "error": { @@ -252,10 +252,10 @@ "changeDdgBangs": { "notification": { "success": { - "message": "" + "message": "DuckDuckGo bangs attivato con successo" }, "error": { - "message": "" + "message": "Impossibile attivare i bangs DuckDuckGo" } } }, @@ -1093,7 +1093,7 @@ }, "colorScheme": { "options": { - "auto": "", + "auto": "Automatico", "light": "Chiaro", "dark": "Scuro" } @@ -2111,101 +2111,101 @@ } }, "umami": { - "name": "", - "description": "", - "visitors": "", - "active": "", - "pageviews": "", - "visits": "", - "bounceRate": "", - "avgDuration": "", + "name": "Umami Analytics", + "description": "Visualizza le statistiche dei visitatori dall'istanza Umami analytics", + "visitors": "visitatori", + "active": "attivo", + "pageviews": "pagine viste", + "visits": "visite", + "bounceRate": "rimbalzo", + "avgDuration": "media", "option": { "websiteId": { - "label": "", - "description": "", - "placeholder": "", - "loading": "", - "noWebsites": "", - "configureIntegrationFirst": "" + "label": "Sito web", + "description": "Seleziona un sito web tracciato dalla tua istanza di Umami", + "placeholder": "Seleziona un sito web", + "loading": "Caricamento siti web...", + "noWebsites": "Nessun sito web trovato", + "configureIntegrationFirst": "Connetti prima un'integrazione Umami" }, "timeFrame": { - "label": "", - "description": "", + "label": "Intervallo di tempo", + "description": "Il periodo di tempo per visualizzare i dati dei visitatori per", "option": { - "today": "", - "24h": "", - "7d": "", - "30d": "", - "month": "", - "lastMonth": "" + "today": "Oggi", + "24h": "Ultime 24 ore", + "7d": "Ultimi 7 giorni", + "30d": "Ultimi 30 giorni", + "month": "Questo mese", + "lastMonth": "Mese precedente" } }, "eventName": { - "label": "", - "description": "", - "placeholder": "", - "loading": "", - "noEvents": "", - "none": "", - "configureWebsiteFirst": "" + "label": "Evento", + "description": "Mostra le occorrenze totali di un evento specifico", + "placeholder": "Seleziona un evento", + "loading": "Caricamento eventi...", + "noEvents": "Nessun evento trovato", + "none": "Nessun evento", + "configureWebsiteFirst": "Seleziona un sito web prima di caricare gli eventi" }, "chartType": { - "label": "", - "description": "", + "label": "Tipo di grafico", + "description": "Stile di visualizzazione del grafico", "option": { - "bar": "", - "sparkline": "" + "bar": "Grafico a barre", + "sparkline": "Grafico a linee compatto" } }, "chartStyle": { - "label": "", - "description": "", + "label": "Stile del grafico", + "description": "Come visualizzare la serie di eventi nel grafico", "option": { - "grouped": "", - "overlay": "" + "grouped": "Affiancati", + "overlay": "Sovrapponi (subset)" } }, "viewMode": { - "label": "", - "description": "", + "label": "Vista", + "description": "Cosa mostrare nel corpo del widget", "option": { - "chart": "", - "events": "", - "topPages": "", - "topReferrers": "" + "chart": "Grafico", + "events": "Grafico degli eventi", + "topPages": "Pagine più visitate", + "topReferrers": "Referrer principali" } }, "eventNames": { - "label": "", - "description": "", - "placeholder": "", - "loading": "", - "noEvents": "", - "configureWebsiteFirst": "" + "label": "Eventi", + "description": "Scegli uno o più eventi per il grafico", + "placeholder": "Seleziona eventi...", + "loading": "Caricamento eventi...", + "noEvents": "Nessun evento trovato", + "configureWebsiteFirst": "Seleziona prima un sito web per caricare gli eventi" }, "topCount": { - "label": "", - "description": "" + "label": "Elementi da mostrare", + "description": "Numero di elementi principali da visualizzare (max 500)" } }, "event": { - "occurrences": "", - "label": "" + "occurrences": "eventi", + "label": "eventi" }, "topPages": { - "direct": "" + "direct": "Diretto" }, "topReferrers": { - "direct": "" + "direct": "Diretto" }, "events": { - "selectPrompt": "" + "selectPrompt": "Seleziona gli eventi per il grafico" }, "error": { - "noIntegration": "", - "noWebsite": "", - "noData": "", - "internalServerError": "" + "noIntegration": "Nessuna integrazione di Umami configurata", + "noWebsite": "Nessun sito web configurato", + "noData": "Nessun dato disponibile", + "internalServerError": "Recupero dati Umami fallito" } }, "common": { @@ -3680,7 +3680,7 @@ "defaultColorScheme": { "label": "Schema colore predefinito", "options": { - "auto": "", + "auto": "Automatico", "light": "Chiaro", "dark": "Scuro" } @@ -3783,7 +3783,7 @@ "label": "Tracearr" }, "umamiActiveVisitors": { - "label": "" + "label": "Visitatori Attivi Umami" } }, "interval": { @@ -3970,6 +3970,9 @@ }, "ports": { "label": "Porte" + }, + "host": { + "label": "Host" } }, "action": { @@ -4496,7 +4499,7 @@ "title": "Comandi generali", "option": { "colorScheme": { - "auto": "", + "auto": "Attiva/Disattiva modalità aspetto", "light": "Passa al tema chiaro", "dark": "Passa al tema scuro" }, @@ -4548,13 +4551,13 @@ "group": { "searchEngine": { "title": "Motori di ricerca", - "tipDdgBangs": "", + "tipDdgBangs": "Suggerimento: puoi usare anche i bang di DuckDuckGo, ad esempio !qualcosa", "bang": { - "searchWithQuery": "", - "pressEnterToOpen": "", - "engineSelected": "", - "typeQueryToContinue": "", - "emptyBangHint": "" + "searchWithQuery": "Cerca \"{query}\" con {label}", + "pressEnterToOpen": "Premere Invio per aprire", + "engineSelected": "{label} selezionato (!{bang})", + "typeQueryToContinue": "Digita la tua query di ricerca per continuare", + "emptyBangHint": "Digita un bang, ad es. !yt, poi premi Spazio per selezionare" }, "children": { "action": { diff --git a/packages/translation/src/lang/ja.json b/packages/translation/src/lang/ja.json index 9674169e1..752a3a529 100644 --- a/packages/translation/src/lang/ja.json +++ b/packages/translation/src/lang/ja.json @@ -3970,6 +3970,9 @@ }, "ports": { "label": "ポート" + }, + "host": { + "label": "" } }, "action": { diff --git a/packages/translation/src/lang/ko.json b/packages/translation/src/lang/ko.json index 2d34e4ad8..868611bd4 100644 --- a/packages/translation/src/lang/ko.json +++ b/packages/translation/src/lang/ko.json @@ -3970,6 +3970,9 @@ }, "ports": { "label": "포트" + }, + "host": { + "label": "" } }, "action": { diff --git a/packages/translation/src/lang/lt.json b/packages/translation/src/lang/lt.json index 510c9c7dd..5b165bb86 100644 --- a/packages/translation/src/lang/lt.json +++ b/packages/translation/src/lang/lt.json @@ -3970,6 +3970,9 @@ }, "ports": { "label": "Prievadai" + }, + "host": { + "label": "" } }, "action": { diff --git a/packages/translation/src/lang/lv.json b/packages/translation/src/lang/lv.json index 181c1ab8e..762f7bff7 100644 --- a/packages/translation/src/lang/lv.json +++ b/packages/translation/src/lang/lv.json @@ -3970,6 +3970,9 @@ }, "ports": { "label": "" + }, + "host": { + "label": "" } }, "action": { diff --git a/packages/translation/src/lang/nl.json b/packages/translation/src/lang/nl.json index c430e07d8..c8fb6c654 100644 --- a/packages/translation/src/lang/nl.json +++ b/packages/translation/src/lang/nl.json @@ -3970,6 +3970,9 @@ }, "ports": { "label": "Poorten" + }, + "host": { + "label": "" } }, "action": { diff --git a/packages/translation/src/lang/no.json b/packages/translation/src/lang/no.json index 754f9a821..224f8c0a0 100644 --- a/packages/translation/src/lang/no.json +++ b/packages/translation/src/lang/no.json @@ -159,7 +159,7 @@ "label": "Åpne søkeresultater i ny fane" }, "ddgBangs": { - "label": "" + "label": "Aktiver DuckDuckGo bangs" } }, "error": { @@ -252,10 +252,10 @@ "changeDdgBangs": { "notification": { "success": { - "message": "" + "message": "DuckDuckGo bangs er endret vellykket" }, "error": { - "message": "" + "message": "Kan ikke slå av/på DuckDuckGo bangs" } } }, @@ -1093,7 +1093,7 @@ }, "colorScheme": { "options": { - "auto": "", + "auto": "Auto", "light": "Lys", "dark": "Mørk" } @@ -2111,101 +2111,101 @@ } }, "umami": { - "name": "", - "description": "", - "visitors": "", - "active": "", - "pageviews": "", - "visits": "", - "bounceRate": "", - "avgDuration": "", + "name": "Umami Analytics", + "description": "Vise besøkende statistikk fra din Umami-analyseinstans", + "visitors": "besøkende", + "active": "aktiv", + "pageviews": "sidevisninger", + "visits": "besøk", + "bounceRate": "tilbakesende", + "avgDuration": "gjennomsnitt", "option": { "websiteId": { - "label": "", - "description": "", - "placeholder": "", - "loading": "", - "noWebsites": "", - "configureIntegrationFirst": "" + "label": "Nettsted", + "description": "Velg et nettsted som spores av Umami-instansen din", + "placeholder": "Velg en nettside", + "loading": "Laster inn nettsteder...", + "noWebsites": "Ingen nettsteder ble funnet", + "configureIntegrationFirst": "Koble til en Umami integrasjon først" }, "timeFrame": { - "label": "", - "description": "", + "label": "Tidsramme", + "description": "Tidsperiode som skal vise besøkende data for", "option": { - "today": "", - "24h": "", - "7d": "", - "30d": "", - "month": "", - "lastMonth": "" + "today": "I dag", + "24h": "Siste 24 timer", + "7d": "Siste 7 dager", + "30d": "Siste 30 dager", + "month": "Denne måneden", + "lastMonth": "Siste måned" } }, "eventName": { - "label": "", - "description": "", - "placeholder": "", - "loading": "", - "noEvents": "", - "none": "", - "configureWebsiteFirst": "" + "label": "Hendelse", + "description": "Vis totale forekomster av en bestemt hendelse", + "placeholder": "Velg en hendelse", + "loading": "Laster inn hendelser...", + "noEvents": "Ingen hendelser funnet", + "none": "Ingen hendelser", + "configureWebsiteFirst": "Velg en nettside først for å laste inn hendelser" }, "chartType": { - "label": "", - "description": "", + "label": "Diagramtype", + "description": "Vis stil for diagrammet", "option": { - "bar": "", - "sparkline": "" + "bar": "Søylediagram", + "sparkline": "Minigraf" } }, "chartStyle": { - "label": "", - "description": "", + "label": "Diagramtype", + "description": "Hvordan vise hendelsesserier i diagrammet", "option": { - "grouped": "", - "overlay": "" + "grouped": "Side om side", + "overlay": "Overlegg (delmengde)" } }, "viewMode": { - "label": "", - "description": "", + "label": "Visning", + "description": "Hva skal vises i widgetkroppen", "option": { - "chart": "", - "events": "", - "topPages": "", - "topReferrers": "" + "chart": "Diagram", + "events": "Hendelser diagram", + "topPages": "Toppsider", + "topReferrers": "Topp referenter" } }, "eventNames": { - "label": "", - "description": "", - "placeholder": "", - "loading": "", - "noEvents": "", - "configureWebsiteFirst": "" + "label": "Hendelser", + "description": "Velg ett eller flere hendelser i diagrammet", + "placeholder": "Velg en hendelse...", + "loading": "Laster inn hendelser...", + "noEvents": "Ingen hendelser funnet", + "configureWebsiteFirst": "Velg en nettside først for å laste inn hendelser" }, "topCount": { - "label": "", - "description": "" + "label": "Gjenstander å vise", + "description": "Antall oppføringer som skal vises (maks 500)" } }, "event": { - "occurrences": "", - "label": "" + "occurrences": "hendelser", + "label": "hendelser" }, "topPages": { - "direct": "" + "direct": "Direkte" }, "topReferrers": { - "direct": "" + "direct": "Direkte" }, "events": { - "selectPrompt": "" + "selectPrompt": "Velg hendelser for å diagram" }, "error": { - "noIntegration": "", - "noWebsite": "", - "noData": "", - "internalServerError": "" + "noIntegration": "Ingen Umami integrasjon konfigurert", + "noWebsite": "Ingen nettsted konfigurert", + "noData": "Ingen data tilgjengelig", + "internalServerError": "Kunne ikke hente Umami data" } }, "common": { @@ -3680,7 +3680,7 @@ "defaultColorScheme": { "label": "Standard fargetema", "options": { - "auto": "", + "auto": "Auto", "light": "Lys", "dark": "Mørk" } @@ -3783,7 +3783,7 @@ "label": "Tracearr" }, "umamiActiveVisitors": { - "label": "" + "label": "Umami Aktive Besøkende" } }, "interval": { @@ -3970,6 +3970,9 @@ }, "ports": { "label": "Porter" + }, + "host": { + "label": "Vert" } }, "action": { @@ -4496,7 +4499,7 @@ "title": "Globale kommandoer", "option": { "colorScheme": { - "auto": "", + "auto": "Bytt visningsmodus", "light": "Bytt til lys modus", "dark": "Bytt til mørk modus" }, @@ -4548,13 +4551,13 @@ "group": { "searchEngine": { "title": "Søkemotorer", - "tipDdgBangs": "", + "tipDdgBangs": "Tips: Du kan også bruke DuckDuckGo-bangs her, f.eks. !something", "bang": { - "searchWithQuery": "", - "pressEnterToOpen": "", - "engineSelected": "", - "typeQueryToContinue": "", - "emptyBangHint": "" + "searchWithQuery": "Søk etter \"{query}\" med {label}", + "pressEnterToOpen": "Trykk på Enter for å åpne", + "engineSelected": "{label} valgt (!{bang})", + "typeQueryToContinue": "Skriv inn søkeordet for å fortsette", + "emptyBangHint": "Skriv inn en bang, f.eks. !yt, og trykk deretter på mellomrom for å velge" }, "children": { "action": { diff --git a/packages/translation/src/lang/pl.json b/packages/translation/src/lang/pl.json index 6288f1302..c93bb30d8 100644 --- a/packages/translation/src/lang/pl.json +++ b/packages/translation/src/lang/pl.json @@ -3970,6 +3970,9 @@ }, "ports": { "label": "Porty" + }, + "host": { + "label": "" } }, "action": { diff --git a/packages/translation/src/lang/pt-br.json b/packages/translation/src/lang/pt-br.json index ba562a170..0e130afac 100644 --- a/packages/translation/src/lang/pt-br.json +++ b/packages/translation/src/lang/pt-br.json @@ -3970,6 +3970,9 @@ }, "ports": { "label": "Portas" + }, + "host": { + "label": "" } }, "action": { diff --git a/packages/translation/src/lang/pt.json b/packages/translation/src/lang/pt.json index e3d82d55d..4d6cbd7f0 100644 --- a/packages/translation/src/lang/pt.json +++ b/packages/translation/src/lang/pt.json @@ -3970,6 +3970,9 @@ }, "ports": { "label": "" + }, + "host": { + "label": "" } }, "action": { diff --git a/packages/translation/src/lang/ro.json b/packages/translation/src/lang/ro.json index 92dce9449..559f78e58 100644 --- a/packages/translation/src/lang/ro.json +++ b/packages/translation/src/lang/ro.json @@ -3970,6 +3970,9 @@ }, "ports": { "label": "Porturi" + }, + "host": { + "label": "" } }, "action": { diff --git a/packages/translation/src/lang/ru.json b/packages/translation/src/lang/ru.json index fe2049bbf..11d073d13 100644 --- a/packages/translation/src/lang/ru.json +++ b/packages/translation/src/lang/ru.json @@ -3970,6 +3970,9 @@ }, "ports": { "label": "Порты" + }, + "host": { + "label": "" } }, "action": { diff --git a/packages/translation/src/lang/sk.json b/packages/translation/src/lang/sk.json index 802b0b860..576aa56a3 100644 --- a/packages/translation/src/lang/sk.json +++ b/packages/translation/src/lang/sk.json @@ -3970,6 +3970,9 @@ }, "ports": { "label": "Porty" + }, + "host": { + "label": "" } }, "action": { diff --git a/packages/translation/src/lang/sl.json b/packages/translation/src/lang/sl.json index 366c4bb74..186e79151 100644 --- a/packages/translation/src/lang/sl.json +++ b/packages/translation/src/lang/sl.json @@ -3970,6 +3970,9 @@ }, "ports": { "label": "Vrata" + }, + "host": { + "label": "" } }, "action": { diff --git a/packages/translation/src/lang/sv.json b/packages/translation/src/lang/sv.json index 27fccf189..83fb869fb 100644 --- a/packages/translation/src/lang/sv.json +++ b/packages/translation/src/lang/sv.json @@ -3970,6 +3970,9 @@ }, "ports": { "label": "Portar" + }, + "host": { + "label": "" } }, "action": { diff --git a/packages/translation/src/lang/tr.json b/packages/translation/src/lang/tr.json index 0a06a35b9..35e29f18e 100644 --- a/packages/translation/src/lang/tr.json +++ b/packages/translation/src/lang/tr.json @@ -3970,6 +3970,9 @@ }, "ports": { "label": "Bağlantı noktaları" + }, + "host": { + "label": "" } }, "action": { diff --git a/packages/translation/src/lang/uk.json b/packages/translation/src/lang/uk.json index 7405a918c..c573c65ba 100644 --- a/packages/translation/src/lang/uk.json +++ b/packages/translation/src/lang/uk.json @@ -3970,6 +3970,9 @@ }, "ports": { "label": "Порти" + }, + "host": { + "label": "" } }, "action": { diff --git a/packages/translation/src/lang/vi.json b/packages/translation/src/lang/vi.json index 964ecaf61..f8f8823e1 100644 --- a/packages/translation/src/lang/vi.json +++ b/packages/translation/src/lang/vi.json @@ -3970,6 +3970,9 @@ }, "ports": { "label": "Cổng" + }, + "host": { + "label": "" } }, "action": { diff --git a/packages/translation/src/lang/zh.json b/packages/translation/src/lang/zh.json index 1933d9a6c..147db32f0 100644 --- a/packages/translation/src/lang/zh.json +++ b/packages/translation/src/lang/zh.json @@ -3970,6 +3970,9 @@ }, "ports": { "label": "端口" + }, + "host": { + "label": "" } }, "action": { From ab867a9e507e07bbc315e8ba6e241f455c1ceb5e Mon Sep 17 00:00:00 2001 From: Meier Lukas Date: Sun, 10 May 2026 10:40:29 +0200 Subject: [PATCH 37/63] chore: remove temporary ts-expect-error --- packages/definitions/src/integration.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/definitions/src/integration.ts b/packages/definitions/src/integration.ts index dfc862fbb..f90f81a38 100644 --- a/packages/definitions/src/integration.ts +++ b/packages/definitions/src/integration.ts @@ -376,7 +376,6 @@ export const integrationDefs = { iconUrl: "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons@master/svg/umami.svg", category: ["analytics"], defaultUrl: "https://api.umami.is/v1", - // @ts-expect-error - docs page will be created when integration is merged documentationUrl: createDocumentationLink("/docs/integrations/umami"), }, // This integration only returns mock data, it is used during development (but can also be used in production by directly going to the create page) From b061a59433257a8ac659fafe6dfb9ed6dbb0a2cf Mon Sep 17 00:00:00 2001 From: "homarr-renovate[bot]" <158783068+homarr-renovate[bot]@users.noreply.github.com> Date: Sun, 10 May 2026 09:01:25 +0000 Subject: [PATCH 38/63] chore(deps): update dependency fast-xml-parser to ^5.7.3 (#5692) Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com> --- pnpm-lock.yaml | 24 +++++++++++++++++++++--- pnpm-workspace.yaml | 2 +- 2 files changed, 22 insertions(+), 4 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 20ad25153..a5ab4902d 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -382,8 +382,8 @@ catalogs: specifier: ^6.1.1 version: 6.1.1 fast-xml-parser: - specifier: ^5.7.2 - version: 5.7.2 + specifier: ^5.7.3 + version: 5.7.3 fastify: specifier: ^5.8.5 version: 5.8.5 @@ -1773,7 +1773,7 @@ importers: version: link:../common fast-xml-parser: specifier: 'catalog:' - version: 5.7.2 + version: 5.7.3 zod: specifier: 'catalog:' version: 4.4.3 @@ -7415,10 +7415,17 @@ packages: fast-xml-builder@1.1.5: resolution: {integrity: sha512-4TJn/8FKLeslLAH3dnohXqE3QSoxkhvaMzepOIZytwJXZO69Bfz0HBdDHzOTOon6G59Zrk6VQ2bEiv1t61rfkA==} + fast-xml-builder@1.1.9: + resolution: {integrity: sha512-jcyKVSEX13iseJqg7n/KWw+xnu/7fdrZ333Fac54KjHDIELVCfDDJXYIm6DTJ0Su4gSzrhqiK0DzY/wZbF40mw==} + fast-xml-parser@5.7.2: resolution: {integrity: sha512-P7oW7tLbYnhOLQk/Gv7cZgzgMPP/XN03K02/Jy6Y/NHzyIAIpxuZIM/YqAkfiXFPxA2CTm7NtCijK9EDu09u2w==} hasBin: true + fast-xml-parser@5.7.3: + resolution: {integrity: sha512-C0AaNuC+mscy6vrAQKAc/rMq+zAPHodfHGZu4sGVehvAQt/JLG1O5zEcYcXSY5zSqr4YVgxsB+pHXTq0i7eDlg==} + hasBin: true + faster-babel-types@0.1.0: resolution: {integrity: sha512-0bEgAyXBdX330U6WbY80Q/h8k0NAPT3Z3sRlC6Fiv0kxekow9JQv2KBL55jIDFxNKcixjvByNnTZfH4axKSB9g==} engines: {node: '>=10'} @@ -15973,6 +15980,10 @@ snapshots: dependencies: path-expression-matcher: 1.5.0 + fast-xml-builder@1.1.9: + dependencies: + path-expression-matcher: 1.5.0 + fast-xml-parser@5.7.2: dependencies: '@nodable/entities': 2.1.0 @@ -15980,6 +15991,13 @@ snapshots: path-expression-matcher: 1.5.0 strnum: 2.2.3 + fast-xml-parser@5.7.3: + dependencies: + '@nodable/entities': 2.1.0 + fast-xml-builder: 1.1.9 + path-expression-matcher: 1.5.0 + strnum: 2.2.3 + faster-babel-types@0.1.0(@babel/types@7.26.0): dependencies: '@babel/types': 7.26.0 diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index b42e515a5..08abdcd74 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -128,7 +128,7 @@ catalog: eslint-plugin-jsx-a11y: ^6.10.2 eslint-plugin-react: ^7.37.5 eslint-plugin-react-hooks: ^6.1.1 - fast-xml-parser: ^5.7.2 + fast-xml-parser: ^5.7.3 fastify: ^5.8.5 flag-icons: ^7.5.0 glob: ^13.0.6 From 1942c3212824b8782969d47c065a87ca47e47b80 Mon Sep 17 00:00:00 2001 From: "homarr-renovate[bot]" <158783068+homarr-renovate[bot]@users.noreply.github.com> Date: Sun, 10 May 2026 10:24:31 +0000 Subject: [PATCH 39/63] chore(deps): update turbo monorepo to ^2.9.9 (#5690) Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com> --- pnpm-lock.yaml | 96 ++++++++++++++++++++++----------------------- pnpm-workspace.yaml | 6 +-- 2 files changed, 51 insertions(+), 51 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a5ab4902d..aaad5a171 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -214,8 +214,8 @@ catalogs: specifier: ^11.17.0 version: 11.17.0 '@turbo/gen': - specifier: ^2.9.8 - version: 2.9.8 + specifier: ^2.9.9 + version: 2.9.9 '@types/adm-zip': specifier: 0.5.8 version: 0.5.8 @@ -367,8 +367,8 @@ catalogs: specifier: ^10.1.8 version: 10.1.8 eslint-config-turbo: - specifier: ^2.9.8 - version: 2.9.8 + specifier: ^2.9.9 + version: 2.9.9 eslint-plugin-import: specifier: ^2.32.0 version: 2.32.0 @@ -517,8 +517,8 @@ catalogs: specifier: 4.20.4 version: 4.20.4 turbo: - specifier: ^2.9.8 - version: 2.9.8 + specifier: ^2.9.9 + version: 2.9.9 typescript: specifier: ^5.9.3 version: 5.9.3 @@ -621,7 +621,7 @@ importers: version: 11.14.0 '@turbo/gen': specifier: 'catalog:' - version: 2.9.8(@types/node@24.12.2) + version: 2.9.9(@types/node@24.12.2) '@vitejs/plugin-react': specifier: 'catalog:' version: 5.2.0(vite@7.1.12(@types/node@24.12.2)(sass@1.99.0)(sugarss@5.0.0(postcss@8.5.8))(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.4)) @@ -654,7 +654,7 @@ importers: version: 11.14.0 turbo: specifier: 'catalog:' - version: 2.9.8 + version: 2.9.9 typescript: specifier: 'catalog:' version: 5.9.3 @@ -2923,7 +2923,7 @@ importers: version: 10.1.8(eslint@10.3.0) eslint-config-turbo: specifier: 'catalog:' - version: 2.9.8(eslint@10.3.0)(turbo@2.9.8) + version: 2.9.9(eslint@10.3.0)(turbo@2.9.9) eslint-plugin-import: specifier: 'catalog:' version: 2.32.0(@typescript-eslint/parser@8.58.2(eslint@10.3.0)(typescript@5.9.3))(eslint@10.3.0) @@ -5539,37 +5539,37 @@ packages: '@tsconfig/svelte@1.0.13': resolution: {integrity: sha512-5lYJP45Xllo4yE/RUBccBT32eBlRDbqN8r1/MIvQbKxW3aFqaYPCNgm8D5V20X4ShHcwvYWNlKg3liDh1MlBoA==} - '@turbo/darwin-64@2.9.8': - resolution: {integrity: sha512-zU1P95ygDpsQ+2QHh7CVTqvYwi9UBlhKWzoIyUnP3vUoge7H9SQEzrd8dj+XcTrslAp9Db3vIBcXtMVoTEYDnA==} + '@turbo/darwin-64@2.9.9': + resolution: {integrity: sha512-hTEiNu2ABZZOO1qbjnKASI8eF3BdOOzU6iKv5w5uGOK65DDMc10cS40N1kqM99YT0uSAGUwNu6GdFctRPeEeVA==} cpu: [x64] os: [darwin] - '@turbo/darwin-arm64@2.9.8': - resolution: {integrity: sha512-nKRFI5ZhCGUi4eXNlrojzWcT/CehMj0raot1WE4lw5qf66ZxZHbRbBqcwNEy+ZLY7RkJJRY+TaU89fuj3BcgGg==} + '@turbo/darwin-arm64@2.9.9': + resolution: {integrity: sha512-MinO40EEcP5mJiTVpfjtEulsEBhVeryfq21QhYtJZ8hQJLHGgy459rcmDVAY8/JERe4dkVU4KW+zoLF22o01EA==} cpu: [arm64] os: [darwin] - '@turbo/gen@2.9.8': - resolution: {integrity: sha512-whc1xUXvYQ05etSNs6akwU4KpB1mn8q8GIVTz+nB0ruTqvN0tdS7gN/l+UZC0hvipoKUPW9IRrUIxljMq8AKWg==} + '@turbo/gen@2.9.9': + resolution: {integrity: sha512-76Qj2vjKtc2zgJG0tL2Fy13T0BzIp2bujkB+K6cls1hZIzLuLkxf3wjLnqNkYnlV6aku1ZxOlNGAGOt9F98J+w==} hasBin: true - '@turbo/linux-64@2.9.8': - resolution: {integrity: sha512-Wf/kQpVDCaWM3P5d6lKvJnqjYn/ofUBGbT4h4vRFrdC4N6B/nsun03S2kQNJJMXpXg39woeS4CI367RMU3/OAg==} + '@turbo/linux-64@2.9.9': + resolution: {integrity: sha512-7JNLw88Isk+gMlbsC8pulLDkrqe2B827ZsKFEHilb17AC6Xn/62pzH7afjY7fEU6Ayp4XP/vGhlRWOzqBvBvIQ==} cpu: [x64] os: [linux] - '@turbo/linux-arm64@2.9.8': - resolution: {integrity: sha512-v6S3HuKVoa9CEx16IxKj1i/+crxXx22A9O80zW1350zyUlcX0T/zLOxVf1k+ruK/7ssXnDJVg8uSYOxlYRedlA==} + '@turbo/linux-arm64@2.9.9': + resolution: {integrity: sha512-0pnXDwPw1rHii98JZPRg7SvsjIzy7jrhkwGU9Jy5fVYoMdYd3P2vbtLfII+OJ0Mm4Ar5yykdHDTz3RWiRI1o9g==} cpu: [arm64] os: [linux] - '@turbo/windows-64@2.9.8': - resolution: {integrity: sha512-JaefWOJNBazDylAn3f+lLB34XMNu8nEBbgPRP/Ewysg81cBubGfcyyyzpQOGVuMwfaqdNAE/kitG7w3AbJn9/g==} + '@turbo/windows-64@2.9.9': + resolution: {integrity: sha512-vjDQycz4gQVvIq4n2rPtiiIESwJlAc406qtkiZlqyL+fHZEd9SxYNlBIFYtc5cuMuwrk+sIKrhN7XvwjmvS9YQ==} cpu: [x64] os: [win32] - '@turbo/windows-arm64@2.9.8': - resolution: {integrity: sha512-Or6ljjB4TiiwCdVKDYWew0SokQ9kep5zruL8P3nbum9WdkH5XA41rQID4Ulc215Z+R3DrB+qXSHPsJjU3/n2ng==} + '@turbo/windows-arm64@2.9.9': + resolution: {integrity: sha512-V6NiH43oCctepbOdQFp7UjqLyK8p6Tt824QA+G4TE+B1BBHu80A0W8OCL+H7uBJ3XZjAj/hvPDw3k3l65DoDGw==} cpu: [arm64] os: [win32] @@ -7199,8 +7199,8 @@ packages: peerDependencies: eslint: '>=7.0.0' - eslint-config-turbo@2.9.8: - resolution: {integrity: sha512-NEF7KAULL8FYZEhug9jUUakQ+7S9ANe+KVSxzi4QXhuUdJb1+f85zqkL0ssM+hIlRLgOz5rKJiZQEYgmHo9IKg==} + eslint-config-turbo@2.9.9: + resolution: {integrity: sha512-KhO8N8ot1s9wXbkNDVgMwvkpbfO+YgEbteikFu406aQoJgenzNh5ErI985CeFKV3e33ZGLZX5YAJ1pgnhOXCZA==} peerDependencies: eslint: '>6.6.0' turbo: '>2.0.0' @@ -7257,8 +7257,8 @@ packages: peerDependencies: eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7 - eslint-plugin-turbo@2.9.8: - resolution: {integrity: sha512-czP2GjPzR6G+BpVEKXNa7Vs45/Zz0QjUEyB+SSLNpVJTqBe331AlE9IxkC2Eh00H6a1hf/Q6BVwf+1WJupyVYA==} + eslint-plugin-turbo@2.9.9: + resolution: {integrity: sha512-CHjV79PUXv5D+eCcnk3IMfu15X+EnwDSOWcVM72gQ3Ib8J+pF6zrY7A0kOgdS2HexdaGDoqzSLiXYRyu42TaGQ==} peerDependencies: eslint: '>6.6.0' turbo: '>2.0.0' @@ -10532,8 +10532,8 @@ packages: resolution: {integrity: sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==} engines: {node: '>=0.6.11 <=0.7.0 || >=0.7.3'} - turbo@2.9.8: - resolution: {integrity: sha512-REEB2rVTVDTf4hav1gJ5dIsGylWZrNonvjXFtk1dCi8gND3PhZtnYkyry1bra/Fo+iP6ctTEZbg6vWfdfHq/1A==} + turbo@2.9.9: + resolution: {integrity: sha512-3xfzXE/yTjhh0S5dIWlE+3E+J9A09REpLI1ZqVh2+HrNZoVzZn0pkvjiRgVK/Ev3PF9XnaTwCntTx+CADWXcyA==} hasBin: true tweetnacl@0.14.5: @@ -13845,29 +13845,29 @@ snapshots: '@tsconfig/svelte@1.0.13': {} - '@turbo/darwin-64@2.9.8': + '@turbo/darwin-64@2.9.9': optional: true - '@turbo/darwin-arm64@2.9.8': + '@turbo/darwin-arm64@2.9.9': optional: true - '@turbo/gen@2.9.8(@types/node@24.12.2)': + '@turbo/gen@2.9.9(@types/node@24.12.2)': dependencies: '@inquirer/prompts': 7.10.1(@types/node@24.12.2) esbuild: 0.25.12 transitivePeerDependencies: - '@types/node' - '@turbo/linux-64@2.9.8': + '@turbo/linux-64@2.9.9': optional: true - '@turbo/linux-arm64@2.9.8': + '@turbo/linux-arm64@2.9.9': optional: true - '@turbo/windows-64@2.9.8': + '@turbo/windows-64@2.9.9': optional: true - '@turbo/windows-arm64@2.9.8': + '@turbo/windows-arm64@2.9.9': optional: true '@types/adm-zip@0.5.8': @@ -15685,11 +15685,11 @@ snapshots: dependencies: eslint: 10.3.0 - eslint-config-turbo@2.9.8(eslint@10.3.0)(turbo@2.9.8): + eslint-config-turbo@2.9.9(eslint@10.3.0)(turbo@2.9.9): dependencies: eslint: 10.3.0 - eslint-plugin-turbo: 2.9.8(eslint@10.3.0)(turbo@2.9.8) - turbo: 2.9.8 + eslint-plugin-turbo: 2.9.9(eslint@10.3.0)(turbo@2.9.9) + turbo: 2.9.9 eslint-import-resolver-node@0.3.9: dependencies: @@ -15789,11 +15789,11 @@ snapshots: string.prototype.matchall: 4.0.12 string.prototype.repeat: 1.0.0 - eslint-plugin-turbo@2.9.8(eslint@10.3.0)(turbo@2.9.8): + eslint-plugin-turbo@2.9.9(eslint@10.3.0)(turbo@2.9.9): dependencies: dotenv: 16.0.3 eslint: 10.3.0 - turbo: 2.9.8 + turbo: 2.9.9 eslint-scope@5.1.1: dependencies: @@ -19503,14 +19503,14 @@ snapshots: tunnel@0.0.6: {} - turbo@2.9.8: + turbo@2.9.9: optionalDependencies: - '@turbo/darwin-64': 2.9.8 - '@turbo/darwin-arm64': 2.9.8 - '@turbo/linux-64': 2.9.8 - '@turbo/linux-arm64': 2.9.8 - '@turbo/windows-64': 2.9.8 - '@turbo/windows-arm64': 2.9.8 + '@turbo/darwin-64': 2.9.9 + '@turbo/darwin-arm64': 2.9.9 + '@turbo/linux-64': 2.9.9 + '@turbo/linux-arm64': 2.9.9 + '@turbo/windows-64': 2.9.9 + '@turbo/windows-arm64': 2.9.9 tweetnacl@0.14.5: {} diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 08abdcd74..351e6a782 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -72,7 +72,7 @@ catalog: "@trpc/react-query": ^11.17.0 "@trpc/server": ^11.17.0 "@trpc/tanstack-react-query": ^11.17.0 - "@turbo/gen": ^2.9.8 + "@turbo/gen": ^2.9.9 "@types/adm-zip": 0.5.8 "@types/bcrypt": 6.0.0 "@types/better-sqlite3": 7.6.13 @@ -123,7 +123,7 @@ catalog: esbuild: ^0.28.0 eslint: ^10.3.0 eslint-config-prettier: ^10.1.8 - eslint-config-turbo: ^2.9.8 + eslint-config-turbo: ^2.9.9 eslint-plugin-import: ^2.32.0 eslint-plugin-jsx-a11y: ^6.10.2 eslint-plugin-react: ^7.37.5 @@ -173,7 +173,7 @@ catalog: trpc-to-openapi: ^3.2.0 tsdav: ^2.2.0 tsx: 4.20.4 - turbo: ^2.9.8 + turbo: ^2.9.9 typescript: ^5.9.3 typescript-eslint: ^8.58.2 undici: 7.24.6 From 4daf2729e51925a16fd3f18ee9acd0e1e37216bc Mon Sep 17 00:00:00 2001 From: "homarr-renovate[bot]" <158783068+homarr-renovate[bot]@users.noreply.github.com> Date: Sun, 10 May 2026 11:59:24 +0000 Subject: [PATCH 40/63] chore(deps): update dependency rollup@>=4.0.0 <4.22.4 to >=4.60.3 (#5688) Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com> --- package.json | 2 +- pnpm-lock.yaml | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index 6df6f0815..0c9555a73 100644 --- a/package.json +++ b/package.json @@ -90,7 +90,7 @@ "prismjs@<1.30.0": ">=1.30.0", "proxmox-api>undici": "7.24.6", "react-is": "^19.2.5", - "rollup@>=4.0.0 <4.22.4": ">=4.60.2", + "rollup@>=4.0.0 <4.22.4": ">=4.60.3", "sha.js@<=2.4.11": ">=2.4.12", "tar-fs@>=3.0.0 <3.0.9": ">=3.1.2", "tar-fs@>=2.0.0 <2.1.3": ">=3.1.2", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index aaad5a171..04068a877 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -576,7 +576,7 @@ overrides: prismjs@<1.30.0: '>=1.30.0' proxmox-api>undici: 7.24.6 react-is: ^19.2.5 - rollup@>=4.0.0 <4.22.4: '>=4.60.2' + rollup@>=4.0.0 <4.22.4: '>=4.60.3' sha.js@<=2.4.11: '>=2.4.12' tar-fs@>=3.0.0 <3.0.9: '>=3.1.2' tar-fs@>=2.0.0 <2.1.3: '>=3.1.2' @@ -4740,7 +4740,7 @@ packages: resolution: {integrity: sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==} engines: {node: '>=14.0.0'} peerDependencies: - rollup: '>=4.60.2' + rollup: '>=4.60.3' peerDependenciesMeta: rollup: optional: true From 7adb21ca5951118257a685ab06b5bb489722ad19 Mon Sep 17 00:00:00 2001 From: "homarr-renovate[bot]" <158783068+homarr-renovate[bot]@users.noreply.github.com> Date: Sun, 10 May 2026 13:27:39 +0000 Subject: [PATCH 41/63] chore(deps): update dependency @tabler/icons-react to ^3.42.0 (#5691) Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com> --- pnpm-lock.yaml | 42 +++++++++++++++++++++--------------------- pnpm-workspace.yaml | 2 +- 2 files changed, 22 insertions(+), 22 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 04068a877..29f115406 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -130,8 +130,8 @@ catalogs: specifier: ^0.13.11 version: 0.13.11 '@tabler/icons-react': - specifier: ^3.41.1 - version: 3.41.1 + specifier: ^3.42.0 + version: 3.43.0 '@tanstack/react-query': specifier: ^5.100.9 version: 5.100.9 @@ -789,7 +789,7 @@ importers: version: 1.0.14(webpack-sources@3.3.4) '@tabler/icons-react': specifier: 'catalog:' - version: 3.41.1(react@19.2.5) + version: 3.43.0(react@19.2.5) '@tanstack/react-query': specifier: 'catalog:' version: 5.100.9(react@19.2.5) @@ -849,7 +849,7 @@ importers: version: 2.19.1(@babel/core@7.26.0)(@babel/template@7.28.6)(@types/react@19.2.14)(react@19.2.5) mantine-react-table: specifier: 'catalog:' - version: 2.0.0-beta.9(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(@mantine/dates@8.3.18(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(@mantine/hooks@8.3.18(react@19.2.5))(dayjs@1.11.20)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(@mantine/hooks@8.3.18(react@19.2.5))(@tabler/icons-react@3.41.1(react@19.2.5))(clsx@2.1.1)(dayjs@1.11.20)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) + version: 2.0.0-beta.9(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(@mantine/dates@8.3.18(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(@mantine/hooks@8.3.18(react@19.2.5))(dayjs@1.11.20)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(@mantine/hooks@8.3.18(react@19.2.5))(@tabler/icons-react@3.43.0(react@19.2.5))(clsx@2.1.1)(dayjs@1.11.20)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) next: specifier: 'catalog:' version: 16.2.4(@babel/core@7.26.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0) @@ -2153,7 +2153,7 @@ importers: version: 8.3.18(@mantine/hooks@8.3.18(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) '@tabler/icons-react': specifier: 'catalog:' - version: 3.41.1(react@19.2.5) + version: 3.43.0(react@19.2.5) dayjs: specifier: 'catalog:' version: 1.11.20 @@ -2196,7 +2196,7 @@ importers: version: 8.3.18(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(@mantine/hooks@8.3.18(react@19.2.5))(react-dom@19.2.5(react@19.2.5))(react@19.2.5) '@tabler/icons-react': specifier: 'catalog:' - version: 3.41.1(react@19.2.5) + version: 3.43.0(react@19.2.5) devDependencies: '@homarr/eslint-config': specifier: workspace:^0.2.0 @@ -2546,7 +2546,7 @@ importers: version: 8.3.18(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(@mantine/hooks@8.3.18(react@19.2.5))(react-dom@19.2.5(react@19.2.5))(react@19.2.5) '@tabler/icons-react': specifier: 'catalog:' - version: 3.41.1(react@19.2.5) + version: 3.43.0(react@19.2.5) jotai: specifier: 'catalog:' version: 2.19.1(@babel/core@7.29.0)(@babel/template@7.28.6)(@types/react@19.2.14)(react@19.2.5) @@ -2595,7 +2595,7 @@ importers: version: 4.3.1 mantine-react-table: specifier: 'catalog:' - version: 2.0.0-beta.9(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(@mantine/dates@8.3.18(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(@mantine/hooks@8.3.18(react@19.2.5))(dayjs@1.11.20)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(@mantine/hooks@8.3.18(react@19.2.5))(@tabler/icons-react@3.41.1(react@19.2.5))(clsx@2.1.1)(dayjs@1.11.20)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) + version: 2.0.0-beta.9(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(@mantine/dates@8.3.18(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(@mantine/hooks@8.3.18(react@19.2.5))(dayjs@1.11.20)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(@mantine/hooks@8.3.18(react@19.2.5))(@tabler/icons-react@3.43.0(react@19.2.5))(clsx@2.1.1)(dayjs@1.11.20)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) next: specifier: 'catalog:' version: 16.2.4(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0) @@ -2653,13 +2653,13 @@ importers: version: 8.3.18(react@19.2.5) '@tabler/icons-react': specifier: 'catalog:' - version: 3.41.1(react@19.2.5) + version: 3.43.0(react@19.2.5) crypto-js: specifier: 'catalog:' version: 4.2.0 mantine-react-table: specifier: 'catalog:' - version: 2.0.0-beta.9(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(@mantine/dates@8.3.18(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(@mantine/hooks@8.3.18(react@19.2.5))(dayjs@1.11.20)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(@mantine/hooks@8.3.18(react@19.2.5))(@tabler/icons-react@3.41.1(react@19.2.5))(clsx@2.1.1)(dayjs@1.11.20)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) + version: 2.0.0-beta.9(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(@mantine/dates@8.3.18(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(@mantine/hooks@8.3.18(react@19.2.5))(dayjs@1.11.20)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(@mantine/hooks@8.3.18(react@19.2.5))(@tabler/icons-react@3.43.0(react@19.2.5))(clsx@2.1.1)(dayjs@1.11.20)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) next: specifier: 'catalog:' version: 16.2.4(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0) @@ -2808,7 +2808,7 @@ importers: version: 8.3.18(react@19.2.5) '@tabler/icons-react': specifier: 'catalog:' - version: 3.41.1(react@19.2.5) + version: 3.43.0(react@19.2.5) '@tiptap/extension-color': specifier: 'catalog:' version: 3.22.5(@tiptap/extension-text-style@3.22.5(@tiptap/core@3.22.5(@tiptap/pm@3.22.5))) @@ -2868,7 +2868,7 @@ importers: version: 1.3.0(@mantine/form@8.3.18(react@19.2.5))(zod@4.4.3) mantine-react-table: specifier: 'catalog:' - version: 2.0.0-beta.9(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(@mantine/dates@8.3.18(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(@mantine/hooks@8.3.18(react@19.2.5))(dayjs@1.11.20)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(@mantine/hooks@8.3.18(react@19.2.5))(@tabler/icons-react@3.41.1(react@19.2.5))(clsx@2.1.1)(dayjs@1.11.20)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) + version: 2.0.0-beta.9(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(@mantine/dates@8.3.18(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(@mantine/hooks@8.3.18(react@19.2.5))(dayjs@1.11.20)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(@mantine/hooks@8.3.18(react@19.2.5))(@tabler/icons-react@3.43.0(react@19.2.5))(clsx@2.1.1)(dayjs@1.11.20)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) next: specifier: 'catalog:' version: 16.2.4(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0) @@ -5203,13 +5203,13 @@ packages: zod: optional: true - '@tabler/icons-react@3.41.1': - resolution: {integrity: sha512-kUgweE+DJtAlMZVIns1FTDdcbpRVnkK7ZpUOXmoxy3JAF0rSHj0TcP4VHF14+gMJGnF+psH2Zt26BLT6owetBA==} + '@tabler/icons-react@3.43.0': + resolution: {integrity: sha512-rXUuCQEeRbEk3lJxs3gwzdtaaITSwc/JUbp+AkqsGff5uBpzZw7eKPDk53xKoKLyjrbj82Ai4GuVG0kO89Jf5g==} peerDependencies: react: '>= 16' - '@tabler/icons@3.41.1': - resolution: {integrity: sha512-OaRnVbRmH2nHtFeg+RmMJ/7m2oBIF9XCJAUD5gQnMrpK9f05ydj8MZrAf3NZQqOXyxGN1UBL0D5IKLLEUfr74Q==} + '@tabler/icons@3.43.0': + resolution: {integrity: sha512-qXwS17Op9jqr3Asvu31fejyw8+OnRDKH7oR8nQXyUgW1pI44ET8OKG9kssy+XIvvAIyej6gZdGmviNUn1VMfPw==} '@tanstack/match-sorter-utils@8.19.4': resolution: {integrity: sha512-Wo1iKt2b9OT7d+YGhvEPD3DXvPv2etTusIMhMUoG7fbhmxcXCtIjJDEygy91Y2JFlwGyjqiBPRozme7UD8hoqg==} @@ -13509,12 +13509,12 @@ snapshots: typescript: 5.9.3 zod: 4.4.3 - '@tabler/icons-react@3.41.1(react@19.2.5)': + '@tabler/icons-react@3.43.0(react@19.2.5)': dependencies: - '@tabler/icons': 3.41.1 + '@tabler/icons': 3.43.0 react: 19.2.5 - '@tabler/icons@3.41.1': {} + '@tabler/icons@3.43.0': {} '@tanstack/match-sorter-utils@8.19.4': dependencies: @@ -17028,12 +17028,12 @@ snapshots: '@mantine/form': 8.3.18(react@19.2.5) zod: 4.4.3 - mantine-react-table@2.0.0-beta.9(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(@mantine/dates@8.3.18(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(@mantine/hooks@8.3.18(react@19.2.5))(dayjs@1.11.20)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(@mantine/hooks@8.3.18(react@19.2.5))(@tabler/icons-react@3.41.1(react@19.2.5))(clsx@2.1.1)(dayjs@1.11.20)(react-dom@19.2.5(react@19.2.5))(react@19.2.5): + mantine-react-table@2.0.0-beta.9(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(@mantine/dates@8.3.18(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(@mantine/hooks@8.3.18(react@19.2.5))(dayjs@1.11.20)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(@mantine/hooks@8.3.18(react@19.2.5))(@tabler/icons-react@3.43.0(react@19.2.5))(clsx@2.1.1)(dayjs@1.11.20)(react-dom@19.2.5(react@19.2.5))(react@19.2.5): dependencies: '@mantine/core': 8.3.18(@mantine/hooks@8.3.18(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) '@mantine/dates': 8.3.18(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(@mantine/hooks@8.3.18(react@19.2.5))(dayjs@1.11.20)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) '@mantine/hooks': 8.3.18(react@19.2.5) - '@tabler/icons-react': 3.41.1(react@19.2.5) + '@tabler/icons-react': 3.43.0(react@19.2.5) '@tanstack/match-sorter-utils': 8.19.4 '@tanstack/react-table': 8.20.5(react-dom@19.2.5(react@19.2.5))(react@19.2.5) '@tanstack/react-virtual': 3.11.2(react-dom@19.2.5(react@19.2.5))(react@19.2.5) diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 351e6a782..2f29103f3 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -44,7 +44,7 @@ catalog: "@semantic-release/npm": ^13.1.5 "@semantic-release/release-notes-generator": ^14.1.0 "@t3-oss/env-nextjs": ^0.13.11 - "@tabler/icons-react": ^3.41.1 + "@tabler/icons-react": ^3.42.0 "@tanstack/react-query": ^5.100.9 "@tanstack/react-query-devtools": ^5.100.9 "@tanstack/react-query-next-experimental": ^5.100.9 From 1ac67748219b3c749a8321dc39b645a69a80e321 Mon Sep 17 00:00:00 2001 From: "homarr-renovate[bot]" <158783068+homarr-renovate[bot]@users.noreply.github.com> Date: Sun, 10 May 2026 15:00:34 +0000 Subject: [PATCH 42/63] chore(deps): update pnpm to v10.33.3 (#5689) Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com> --- deployments/prebuilt-debian/package.json | 4 ++-- package.json | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/deployments/prebuilt-debian/package.json b/deployments/prebuilt-debian/package.json index 15876ecc1..9f590f0e3 100644 --- a/deployments/prebuilt-debian/package.json +++ b/deployments/prebuilt-debian/package.json @@ -4,10 +4,10 @@ "dependencies": { "better-sqlite3": "^12.9.0" }, - "packageManager": "pnpm@10.33.2", + "packageManager": "pnpm@10.33.3", "engines": { "node": ">=24.15.0", - "pnpm": ">=10.33.2" + "pnpm": ">=10.33.3" }, "pnpm": { "onlyBuiltDependencies": [ diff --git a/package.json b/package.json index 0c9555a73..7bb6d9445 100644 --- a/package.json +++ b/package.json @@ -59,10 +59,10 @@ "vite-tsconfig-paths": "catalog:", "vitest": "catalog:" }, - "packageManager": "pnpm@10.33.2", + "packageManager": "pnpm@10.33.3", "engines": { "node": ">=24.15.0", - "pnpm": ">=10.33.2" + "pnpm": ">=10.33.3" }, "pnpm": { "onlyBuiltDependencies": [ From bac0bc7b845e55db2d7e8616bf507ba6ac801936 Mon Sep 17 00:00:00 2001 From: "homarr-renovate[bot]" <158783068+homarr-renovate[bot]@users.noreply.github.com> Date: Mon, 11 May 2026 14:00:57 +0000 Subject: [PATCH 43/63] chore(deps): update dependency jotai to ^2.20.0 (#5694) Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com> --- pnpm-lock.yaml | 16 ++++++++-------- pnpm-workspace.yaml | 2 +- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 29f115406..54b05e935 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -403,8 +403,8 @@ catalogs: specifier: ^3.12.0 version: 3.12.0 jotai: - specifier: ^2.19.1 - version: 2.19.1 + specifier: ^2.20.0 + version: 2.20.0 jsdom: specifier: ^29.1.1 version: 29.1.1 @@ -846,7 +846,7 @@ importers: version: 3.12.0(@noble/hashes@2.0.1) jotai: specifier: 'catalog:' - version: 2.19.1(@babel/core@7.26.0)(@babel/template@7.28.6)(@types/react@19.2.14)(react@19.2.5) + version: 2.20.0(@babel/core@7.26.0)(@babel/template@7.28.6)(@types/react@19.2.14)(react@19.2.5) mantine-react-table: specifier: 'catalog:' version: 2.0.0-beta.9(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(@mantine/dates@8.3.18(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(@mantine/hooks@8.3.18(react@19.2.5))(dayjs@1.11.20)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(@mantine/hooks@8.3.18(react@19.2.5))(@tabler/icons-react@3.43.0(react@19.2.5))(clsx@2.1.1)(dayjs@1.11.20)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) @@ -2549,7 +2549,7 @@ importers: version: 3.43.0(react@19.2.5) jotai: specifier: 'catalog:' - version: 2.19.1(@babel/core@7.29.0)(@babel/template@7.28.6)(@types/react@19.2.14)(react@19.2.5) + version: 2.20.0(@babel/core@7.29.0)(@babel/template@7.28.6)(@types/react@19.2.14)(react@19.2.5) next: specifier: 'catalog:' version: 16.2.4(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0) @@ -8185,8 +8185,8 @@ packages: jose@6.0.8: resolution: {integrity: sha512-EyUPtOKyTYq+iMOszO42eobQllaIjJnwkZ2U93aJzNyPibCy7CEvT9UQnaCVB51IAd49gbNdCew1c0LcLTCB2g==} - jotai@2.19.1: - resolution: {integrity: sha512-sqm9lVZiqBHZH8aSRk32DSiZDHY3yUIlulXYn9GQj7/LvoUdYXSMti7ZPJGo+6zjzKFt5a25k/I6iBCi43PJcw==} + jotai@2.20.0: + resolution: {integrity: sha512-b5GAqgmXmXzB4WPaTH26ppk9Sl7AA9WSQX7yfdM+gJ1rFROiWcVbi97gFuN/yVCojOcbcvop2sfLL+fjxW0JVg==} engines: {node: '>=12.20.0'} peerDependencies: '@babel/core': '>=7.0.0' @@ -16770,14 +16770,14 @@ snapshots: jose@6.0.8: {} - jotai@2.19.1(@babel/core@7.26.0)(@babel/template@7.28.6)(@types/react@19.2.14)(react@19.2.5): + jotai@2.20.0(@babel/core@7.26.0)(@babel/template@7.28.6)(@types/react@19.2.14)(react@19.2.5): optionalDependencies: '@babel/core': 7.26.0 '@babel/template': 7.28.6 '@types/react': 19.2.14 react: 19.2.5 - jotai@2.19.1(@babel/core@7.29.0)(@babel/template@7.28.6)(@types/react@19.2.14)(react@19.2.5): + jotai@2.20.0(@babel/core@7.29.0)(@babel/template@7.28.6)(@types/react@19.2.14)(react@19.2.5): optionalDependencies: '@babel/core': 7.29.0 '@babel/template': 7.28.6 diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 2f29103f3..83a87322c 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -135,7 +135,7 @@ catalog: ical.js: ^2.2.1 ioredis: 5.10.1 isomorphic-dompurify: ^3.12.0 - jotai: ^2.19.1 + jotai: ^2.20.0 jsdom: ^29.1.1 json5: ^2.2.3 ldapts: 8.1.7 From 41d596a1c94f2d9889e98e5804e8c5e5a9808138 Mon Sep 17 00:00:00 2001 From: "homarr-renovate[bot]" <158783068+homarr-renovate[bot]@users.noreply.github.com> Date: Mon, 11 May 2026 15:01:42 +0000 Subject: [PATCH 44/63] chore(deps): update pnpm to v10.33.4 (#5695) Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com> --- deployments/prebuilt-debian/package.json | 4 ++-- package.json | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/deployments/prebuilt-debian/package.json b/deployments/prebuilt-debian/package.json index 9f590f0e3..afef98bec 100644 --- a/deployments/prebuilt-debian/package.json +++ b/deployments/prebuilt-debian/package.json @@ -4,10 +4,10 @@ "dependencies": { "better-sqlite3": "^12.9.0" }, - "packageManager": "pnpm@10.33.3", + "packageManager": "pnpm@10.33.4", "engines": { "node": ">=24.15.0", - "pnpm": ">=10.33.3" + "pnpm": ">=10.33.4" }, "pnpm": { "onlyBuiltDependencies": [ diff --git a/package.json b/package.json index 7bb6d9445..052dc00fb 100644 --- a/package.json +++ b/package.json @@ -59,10 +59,10 @@ "vite-tsconfig-paths": "catalog:", "vitest": "catalog:" }, - "packageManager": "pnpm@10.33.3", + "packageManager": "pnpm@10.33.4", "engines": { "node": ">=24.15.0", - "pnpm": ">=10.33.3" + "pnpm": ">=10.33.4" }, "pnpm": { "onlyBuiltDependencies": [ From 64a4c196c00060828dd2786f0d3ad67e8576ec8b Mon Sep 17 00:00:00 2001 From: "homarr-renovate[bot]" <158783068+homarr-renovate[bot]@users.noreply.github.com> Date: Mon, 11 May 2026 17:33:08 +0000 Subject: [PATCH 45/63] chore(deps): update dependency tsdav to ^2.2.1 (#5696) Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com> --- pnpm-lock.yaml | 12 ++++++------ pnpm-workspace.yaml | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 54b05e935..5505495f4 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -511,8 +511,8 @@ catalogs: specifier: ^3.2.0 version: 3.2.0 tsdav: - specifier: ^2.2.0 - version: 2.2.0 + specifier: ^2.2.1 + version: 2.2.1 tsx: specifier: 4.20.4 version: 4.20.4 @@ -2046,7 +2046,7 @@ importers: version: 2.2.0 tsdav: specifier: 'catalog:' - version: 2.2.0 + version: 2.2.1 undici: specifier: 'catalog:' version: 7.24.6 @@ -10504,8 +10504,8 @@ packages: tsconfig-paths@3.15.0: resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==} - tsdav@2.2.0: - resolution: {integrity: sha512-ISMp2d8eeM7nzNIWzFLYbq5TBvv1gZYm+sRLaT3ec6HUj84wn2IlcuioPL9/NXhahStspCauD1BVBg98Y4e9+Q==} + tsdav@2.2.1: + resolution: {integrity: sha512-Vo8Ro0TgDfs6WNZ3ePx4rF+n46jUMjj1rJNx+QUjiys8K1n7ya5W/EfcUMHnfqG6TcKAwFNJnBKBhb2HB5Ns4w==} engines: {node: '>=18'} tslib@2.8.1: @@ -19471,7 +19471,7 @@ snapshots: minimist: 1.2.8 strip-bom: 3.0.0 - tsdav@2.2.0: + tsdav@2.2.1: dependencies: base-64: 1.0.0 debug: 4.4.3 diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 83a87322c..dc013a2f2 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -171,7 +171,7 @@ catalog: testcontainers: ^11.14.0 timezones-ical-library: ^2.2.0 trpc-to-openapi: ^3.2.0 - tsdav: ^2.2.0 + tsdav: ^2.2.1 tsx: 4.20.4 turbo: ^2.9.9 typescript: ^5.9.3 From dec34916b204be92e22b294726f66e3b602aa047 Mon Sep 17 00:00:00 2001 From: "homarr-renovate[bot]" <158783068+homarr-renovate[bot]@users.noreply.github.com> Date: Mon, 11 May 2026 21:03:28 +0200 Subject: [PATCH 46/63] chore(deps): update nextjs monorepo to v16.2.5 (#5697) Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com> --- pnpm-lock.yaml | 160 ++++++++++++++++++++++---------------------- pnpm-workspace.yaml | 4 +- 2 files changed, 82 insertions(+), 82 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 5505495f4..545584138 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -100,8 +100,8 @@ catalogs: specifier: 1.0.14 version: 1.0.14 '@next/eslint-plugin-next': - specifier: 16.2.4 - version: 16.2.4 + specifier: 16.2.5 + version: 16.2.5 '@octokit/auth-app': specifier: ^8.2.0 version: 8.2.0 @@ -430,8 +430,8 @@ catalogs: specifier: 3.22.3 version: 3.22.3 next: - specifier: 16.2.4 - version: 16.2.4 + specifier: 16.2.5 + version: 16.2.5 next-auth: specifier: 5.0.0-beta.31 version: 5.0.0-beta.31 @@ -798,13 +798,13 @@ importers: version: 5.100.9(@tanstack/react-query@5.100.9(react@19.2.5))(react@19.2.5) '@tanstack/react-query-next-experimental': specifier: 'catalog:' - version: 5.100.9(@tanstack/react-query@5.100.9(react@19.2.5))(next@16.2.4(@babel/core@7.26.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0))(react@19.2.5) + version: 5.100.9(@tanstack/react-query@5.100.9(react@19.2.5))(next@16.2.5(@babel/core@7.26.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0))(react@19.2.5) '@trpc/client': specifier: 'catalog:' version: 11.17.0(@trpc/server@11.17.0(typescript@5.9.3))(typescript@5.9.3) '@trpc/next': specifier: 'catalog:' - version: 11.17.0(@tanstack/react-query@5.100.9(react@19.2.5))(@trpc/client@11.17.0(@trpc/server@11.17.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/react-query@11.17.0(@tanstack/react-query@5.100.9(react@19.2.5))(@trpc/client@11.17.0(@trpc/server@11.17.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.17.0(typescript@5.9.3))(react@19.2.5)(typescript@5.9.3))(@trpc/server@11.17.0(typescript@5.9.3))(next@16.2.4(@babel/core@7.26.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0))(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(typescript@5.9.3) + version: 11.17.0(@tanstack/react-query@5.100.9(react@19.2.5))(@trpc/client@11.17.0(@trpc/server@11.17.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/react-query@11.17.0(@tanstack/react-query@5.100.9(react@19.2.5))(@trpc/client@11.17.0(@trpc/server@11.17.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.17.0(typescript@5.9.3))(react@19.2.5)(typescript@5.9.3))(@trpc/server@11.17.0(typescript@5.9.3))(next@16.2.5(@babel/core@7.26.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0))(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(typescript@5.9.3) '@trpc/react-query': specifier: 'catalog:' version: 11.17.0(@tanstack/react-query@5.100.9(react@19.2.5))(@trpc/client@11.17.0(@trpc/server@11.17.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.17.0(typescript@5.9.3))(react@19.2.5)(typescript@5.9.3) @@ -852,7 +852,7 @@ importers: version: 2.0.0-beta.9(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(@mantine/dates@8.3.18(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(@mantine/hooks@8.3.18(react@19.2.5))(dayjs@1.11.20)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(@mantine/hooks@8.3.18(react@19.2.5))(@tabler/icons-react@3.43.0(react@19.2.5))(clsx@2.1.1)(dayjs@1.11.20)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) next: specifier: 'catalog:' - version: 16.2.4(@babel/core@7.26.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0) + version: 16.2.5(@babel/core@7.26.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0) postcss-preset-mantine: specifier: 'catalog:' version: 1.18.0(postcss@8.5.8) @@ -1222,7 +1222,7 @@ importers: version: 4.5.0 next: specifier: 'catalog:' - version: 16.2.4(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0) + version: 16.2.5(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0) react: specifier: 'catalog:' version: 19.2.5 @@ -1292,10 +1292,10 @@ importers: version: 8.1.7 next: specifier: 'catalog:' - version: 16.2.4(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0) + version: 16.2.5(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0) next-auth: specifier: 'catalog:' - version: 5.0.0-beta.31(next@16.2.4(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0))(react@19.2.5) + version: 5.0.0-beta.31(next@16.2.5(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0))(react@19.2.5) react: specifier: 'catalog:' version: 19.2.5 @@ -1415,7 +1415,7 @@ importers: version: 1.11.20 next: specifier: 'catalog:' - version: 16.2.4(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0) + version: 16.2.5(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0) octokit: specifier: 'catalog:' version: 5.0.5 @@ -2159,7 +2159,7 @@ importers: version: 1.11.20 next: specifier: 'catalog:' - version: 16.2.4(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0) + version: 16.2.5(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0) react: specifier: 'catalog:' version: 19.2.5 @@ -2260,7 +2260,7 @@ importers: version: 0.5.17 next: specifier: 'catalog:' - version: 16.2.4(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0) + version: 16.2.5(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0) react: specifier: 'catalog:' version: 19.2.5 @@ -2479,7 +2479,7 @@ importers: version: 8.3.18(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(@mantine/hooks@8.3.18(react@19.2.5))(dayjs@1.11.20)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) next: specifier: 'catalog:' - version: 16.2.4(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0) + version: 16.2.5(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0) react: specifier: 'catalog:' version: 19.2.5 @@ -2552,7 +2552,7 @@ importers: version: 2.20.0(@babel/core@7.29.0)(@babel/template@7.28.6)(@types/react@19.2.14)(react@19.2.5) next: specifier: 'catalog:' - version: 16.2.4(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0) + version: 16.2.5(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0) react: specifier: 'catalog:' version: 19.2.5 @@ -2598,10 +2598,10 @@ importers: version: 2.0.0-beta.9(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(@mantine/dates@8.3.18(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(@mantine/hooks@8.3.18(react@19.2.5))(dayjs@1.11.20)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(@mantine/hooks@8.3.18(react@19.2.5))(@tabler/icons-react@3.43.0(react@19.2.5))(clsx@2.1.1)(dayjs@1.11.20)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) next: specifier: 'catalog:' - version: 16.2.4(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0) + version: 16.2.5(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0) next-intl: specifier: 'catalog:' - version: 4.11.0(next@16.2.4(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0))(react@19.2.5)(typescript@5.9.3) + version: 4.11.0(next@16.2.5(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0))(react@19.2.5)(typescript@5.9.3) react: specifier: 'catalog:' version: 19.2.5 @@ -2662,7 +2662,7 @@ importers: version: 2.0.0-beta.9(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(@mantine/dates@8.3.18(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(@mantine/hooks@8.3.18(react@19.2.5))(dayjs@1.11.20)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(@mantine/hooks@8.3.18(react@19.2.5))(@tabler/icons-react@3.43.0(react@19.2.5))(clsx@2.1.1)(dayjs@1.11.20)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) next: specifier: 'catalog:' - version: 16.2.4(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0) + version: 16.2.5(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0) react: specifier: 'catalog:' version: 19.2.5 @@ -2871,7 +2871,7 @@ importers: version: 2.0.0-beta.9(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(@mantine/dates@8.3.18(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(@mantine/hooks@8.3.18(react@19.2.5))(dayjs@1.11.20)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(@mantine/hooks@8.3.18(react@19.2.5))(@tabler/icons-react@3.43.0(react@19.2.5))(clsx@2.1.1)(dayjs@1.11.20)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) next: specifier: 'catalog:' - version: 16.2.4(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0) + version: 16.2.5(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0) react: specifier: 'catalog:' version: 19.2.5 @@ -2917,7 +2917,7 @@ importers: dependencies: '@next/eslint-plugin-next': specifier: 'catalog:' - version: 16.2.4 + version: 16.2.5 eslint-config-prettier: specifier: 'catalog:' version: 10.1.8(eslint@10.3.0) @@ -4388,60 +4388,60 @@ packages: deprecated: This package is no longer maintained hasBin: true - '@next/env@16.2.4': - resolution: {integrity: sha512-dKkkOzOSwFYe5RX6y26fZgkSpVAlIOJKQHIiydQcrWH6y/97+RceSOAdjZ14Qa3zLduVUy0TXcn+EiM6t4rPgw==} + '@next/env@16.2.5': + resolution: {integrity: sha512-Lb9ElHD2klcyeVD25vW+siPFqz9QMzDUSgvFZNO+dZEKoMHex4viJhVuzBhrXKqb+UKnih7mVYbt50/7KLsSCA==} - '@next/eslint-plugin-next@16.2.4': - resolution: {integrity: sha512-tOX826JJ96gYK/go18sPUgMq9FK1tqxBFfUCEufJb5XIkWFFmpgU7mahJANKGkHs7F41ir3tReJ3Lv5La0RvhA==} + '@next/eslint-plugin-next@16.2.5': + resolution: {integrity: sha512-PyILm/cw2u5gEG5xOjqFbALUAl/erAqtM47iZtP9lXiSzin+eOIf3KRi+CBC/mFG9j7Iz3JDqCOY94nFLUCccg==} - '@next/swc-darwin-arm64@16.2.4': - resolution: {integrity: sha512-OXTFFox5EKN1Ym08vfrz+OXxmCcEjT4SFMbNRsWZE99dMqt2Kcusl5MqPXcW232RYkMLQTy0hqgAMEsfEd/l2A==} + '@next/swc-darwin-arm64@16.2.5': + resolution: {integrity: sha512-BW+8PGVmsruomXHsitD8JG6gny9lEdobctjBwvtPF8AKtxGDR7nR35FOl/oK9UAPXBOBm+vx0k8qtpeHOXQMGQ==} engines: {node: '>= 10'} cpu: [arm64] os: [darwin] - '@next/swc-darwin-x64@16.2.4': - resolution: {integrity: sha512-XhpVnUfmYWvD3YrXu55XdcAkQtOnvaI6wtQa8fuF5fGoKoxIUZ0kWPtcOfqJEWngFF/lOS9l3+O9CcownhiQxQ==} + '@next/swc-darwin-x64@16.2.5': + resolution: {integrity: sha512-ZoCGnCl9LlQJWmqXrZAUlNxvuNmclvE+7zUif+nDydkkehl9FKxHJ+wxSQMj+C37BYFerKiEdX9s9o02ir975Q==} engines: {node: '>= 10'} cpu: [x64] os: [darwin] - '@next/swc-linux-arm64-gnu@16.2.4': - resolution: {integrity: sha512-Mx/tjlNA3G8kg14QvuGAJ4xBwPk1tUHq56JxZ8CXnZwz1Etz714soCEzGQQzVMz4bEnGPowzkV6Xrp6wAkEWOQ==} + '@next/swc-linux-arm64-gnu@16.2.5': + resolution: {integrity: sha512-AwcZzMChaWkOTZt3vu+2ZMIj8g4dYQY+B8VUVhlFSQ2JtvyZpefyYHTe00D6b6L7BysYw7vl3zsvs9jix8tl5Q==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] libc: [glibc] - '@next/swc-linux-arm64-musl@16.2.4': - resolution: {integrity: sha512-iVMMp14514u7Nup2umQS03nT/bN9HurK8ufylC3FZNykrwjtx7V1A7+4kvhbDSCeonTVqV3Txnv0Lu+m2oDXNg==} + '@next/swc-linux-arm64-musl@16.2.5': + resolution: {integrity: sha512-QqMgqWbCBFsfiQ7BF3dUlW8HJy1LWhpcqbTpoHMWA9IV+TnWwDKozQJA5NdIAHjQ00yX2Q7AUkLr/XK4n77q8A==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] libc: [musl] - '@next/swc-linux-x64-gnu@16.2.4': - resolution: {integrity: sha512-EZOvm1aQWgnI/N/xcWOlnS3RQBk0VtVav5Zo7n4p0A7UKyTDx047k8opDbXgBpHl4CulRqRfbw3QrX2w5UOXMQ==} + '@next/swc-linux-x64-gnu@16.2.5': + resolution: {integrity: sha512-3hzeiFGZtyATVx9pCeuzTshXmh50vHZitqaeZiyJZaUmjQyrfjsVUgS8apOj1vEJCIpKJM/55F45yPAV2kpjsA==} engines: {node: '>= 10'} cpu: [x64] os: [linux] libc: [glibc] - '@next/swc-linux-x64-musl@16.2.4': - resolution: {integrity: sha512-h9FxsngCm9cTBf71AR4fGznDEDx1hS7+kSEiIRjq5kO1oXWm07DxVGZjCvk0SGx7TSjlUqhI8oOyz7NfwAdPoA==} + '@next/swc-linux-x64-musl@16.2.5': + resolution: {integrity: sha512-0mzZV/mAt7Qj2tYNdTB6AqrS8dwng/AQLSYC5Z1YLpZdi2wxqKDPK7RY2RvjB1fXyJfOfdA3l/yTF5yLi+WfuQ==} engines: {node: '>= 10'} cpu: [x64] os: [linux] libc: [musl] - '@next/swc-win32-arm64-msvc@16.2.4': - resolution: {integrity: sha512-3NdJV5OXMSOeJYijX+bjaLge3mJBlh4ybydbT4GFoB/2hAojWHtMhl3CYlYoMrjPuodp0nzFVi4Tj2+WaMg+Ow==} + '@next/swc-win32-arm64-msvc@16.2.5': + resolution: {integrity: sha512-f/H4nZ2zJBvA8/+HpsB9mNonF9zfQoAU6D0WxJrfzhJDvJLfngVN85oqxUyrDVK99DIFfFYhLpGa5K+c5uotSw==} engines: {node: '>= 10'} cpu: [arm64] os: [win32] - '@next/swc-win32-x64-msvc@16.2.4': - resolution: {integrity: sha512-kMVGgsqhO5YTYODD9IPGGhA6iprWidQckK3LmPeW08PIFENRmgfb4MjXHO+p//d+ts2rpjvK5gXWzXSMrPl9cw==} + '@next/swc-win32-x64-msvc@16.2.5': + resolution: {integrity: sha512-nuP7DHs4koAojsIxVPkihNgKiRUKtCU65j5X6DAbSy8VBrfT/o90bCLLHPf51JEdOZwZMFzM6e0NiGWfIWjVAg==} engines: {node: '>= 10'} cpu: [x64] os: [win32] @@ -8756,8 +8756,8 @@ packages: typescript: optional: true - next@16.2.4: - resolution: {integrity: sha512-kPvz56wF5frc+FxlHI5qnklCzbq53HTwORaWBGdT0vNoKh1Aya9XC8aPauH4NJxqtzbWsS5mAbctm4cr+EkQ2Q==} + next@16.2.5: + resolution: {integrity: sha512-TkVTm9F2WEulkgGljm4wPwNgvCCWCVw6StUHsZb8WZpHFRjepoUWg3d7L4IMg7IyjcJ4Co9eVhpro8e8O+KarQ==} engines: {node: '>=20.9.0'} hasBin: true peerDependencies: @@ -12476,34 +12476,34 @@ snapshots: - utf-8-validate - webpack-sources - '@next/env@16.2.4': {} + '@next/env@16.2.5': {} - '@next/eslint-plugin-next@16.2.4': + '@next/eslint-plugin-next@16.2.5': dependencies: fast-glob: 3.3.1 - '@next/swc-darwin-arm64@16.2.4': + '@next/swc-darwin-arm64@16.2.5': optional: true - '@next/swc-darwin-x64@16.2.4': + '@next/swc-darwin-x64@16.2.5': optional: true - '@next/swc-linux-arm64-gnu@16.2.4': + '@next/swc-linux-arm64-gnu@16.2.5': optional: true - '@next/swc-linux-arm64-musl@16.2.4': + '@next/swc-linux-arm64-musl@16.2.5': optional: true - '@next/swc-linux-x64-gnu@16.2.4': + '@next/swc-linux-x64-gnu@16.2.5': optional: true - '@next/swc-linux-x64-musl@16.2.4': + '@next/swc-linux-x64-musl@16.2.5': optional: true - '@next/swc-win32-arm64-msvc@16.2.4': + '@next/swc-win32-arm64-msvc@16.2.5': optional: true - '@next/swc-win32-x64-msvc@16.2.4': + '@next/swc-win32-x64-msvc@16.2.5': optional: true '@noble/hashes@2.0.1': {} @@ -13530,10 +13530,10 @@ snapshots: '@tanstack/react-query': 5.100.9(react@19.2.5) react: 19.2.5 - '@tanstack/react-query-next-experimental@5.100.9(@tanstack/react-query@5.100.9(react@19.2.5))(next@16.2.4(@babel/core@7.26.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0))(react@19.2.5)': + '@tanstack/react-query-next-experimental@5.100.9(@tanstack/react-query@5.100.9(react@19.2.5))(next@16.2.5(@babel/core@7.26.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0))(react@19.2.5)': dependencies: '@tanstack/react-query': 5.100.9(react@19.2.5) - next: 16.2.4(@babel/core@7.26.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0) + next: 16.2.5(@babel/core@7.26.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0) react: 19.2.5 '@tanstack/react-query@5.100.9(react@19.2.5)': @@ -13811,11 +13811,11 @@ snapshots: '@trpc/server': 11.17.0(typescript@5.9.3) typescript: 5.9.3 - '@trpc/next@11.17.0(@tanstack/react-query@5.100.9(react@19.2.5))(@trpc/client@11.17.0(@trpc/server@11.17.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/react-query@11.17.0(@tanstack/react-query@5.100.9(react@19.2.5))(@trpc/client@11.17.0(@trpc/server@11.17.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.17.0(typescript@5.9.3))(react@19.2.5)(typescript@5.9.3))(@trpc/server@11.17.0(typescript@5.9.3))(next@16.2.4(@babel/core@7.26.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0))(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(typescript@5.9.3)': + '@trpc/next@11.17.0(@tanstack/react-query@5.100.9(react@19.2.5))(@trpc/client@11.17.0(@trpc/server@11.17.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/react-query@11.17.0(@tanstack/react-query@5.100.9(react@19.2.5))(@trpc/client@11.17.0(@trpc/server@11.17.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.17.0(typescript@5.9.3))(react@19.2.5)(typescript@5.9.3))(@trpc/server@11.17.0(typescript@5.9.3))(next@16.2.5(@babel/core@7.26.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0))(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(typescript@5.9.3)': dependencies: '@trpc/client': 11.17.0(@trpc/server@11.17.0(typescript@5.9.3))(typescript@5.9.3) '@trpc/server': 11.17.0(typescript@5.9.3) - next: 16.2.4(@babel/core@7.26.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0) + next: 16.2.5(@babel/core@7.26.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0) react: 19.2.5 react-dom: 19.2.5(react@19.2.5) typescript: 5.9.3 @@ -17407,22 +17407,22 @@ snapshots: nerf-dart@1.0.0: {} - next-auth@5.0.0-beta.31(next@16.2.4(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0))(react@19.2.5): + next-auth@5.0.0-beta.31(next@16.2.5(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0))(react@19.2.5): dependencies: '@auth/core': 0.41.2 - next: 16.2.4(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0) + next: 16.2.5(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0) react: 19.2.5 next-intl-swc-plugin-extractor@4.11.0: {} - next-intl@4.11.0(next@16.2.4(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0))(react@19.2.5)(typescript@5.9.3): + next-intl@4.11.0(next@16.2.5(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0))(react@19.2.5)(typescript@5.9.3): dependencies: '@formatjs/intl-localematcher': 0.8.1 '@parcel/watcher': 2.4.1 '@swc/core': 1.15.3 icu-minify: 4.11.0 negotiator: 1.0.0 - next: 16.2.4(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0) + next: 16.2.5(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0) next-intl-swc-plugin-extractor: 4.11.0 po-parser: 2.1.1 react: 19.2.5 @@ -17432,9 +17432,9 @@ snapshots: transitivePeerDependencies: - '@swc/helpers' - next@16.2.4(@babel/core@7.26.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0): + next@16.2.5(@babel/core@7.26.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0): dependencies: - '@next/env': 16.2.4 + '@next/env': 16.2.5 '@swc/helpers': 0.5.15 baseline-browser-mapping: 2.9.19 caniuse-lite: 1.0.30001766 @@ -17443,14 +17443,14 @@ snapshots: react-dom: 19.2.5(react@19.2.5) styled-jsx: 5.1.6(@babel/core@7.26.0)(react@19.2.5) optionalDependencies: - '@next/swc-darwin-arm64': 16.2.4 - '@next/swc-darwin-x64': 16.2.4 - '@next/swc-linux-arm64-gnu': 16.2.4 - '@next/swc-linux-arm64-musl': 16.2.4 - '@next/swc-linux-x64-gnu': 16.2.4 - '@next/swc-linux-x64-musl': 16.2.4 - '@next/swc-win32-arm64-msvc': 16.2.4 - '@next/swc-win32-x64-msvc': 16.2.4 + '@next/swc-darwin-arm64': 16.2.5 + '@next/swc-darwin-x64': 16.2.5 + '@next/swc-linux-arm64-gnu': 16.2.5 + '@next/swc-linux-arm64-musl': 16.2.5 + '@next/swc-linux-x64-gnu': 16.2.5 + '@next/swc-linux-x64-musl': 16.2.5 + '@next/swc-win32-arm64-msvc': 16.2.5 + '@next/swc-win32-x64-msvc': 16.2.5 babel-plugin-react-compiler: 1.0.0 sass: 1.99.0 sharp: 0.34.5 @@ -17458,9 +17458,9 @@ snapshots: - '@babel/core' - babel-plugin-macros - next@16.2.4(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0): + next@16.2.5(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0): dependencies: - '@next/env': 16.2.4 + '@next/env': 16.2.5 '@swc/helpers': 0.5.15 baseline-browser-mapping: 2.9.19 caniuse-lite: 1.0.30001766 @@ -17469,14 +17469,14 @@ snapshots: react-dom: 19.2.5(react@19.2.5) styled-jsx: 5.1.6(@babel/core@7.29.0)(react@19.2.5) optionalDependencies: - '@next/swc-darwin-arm64': 16.2.4 - '@next/swc-darwin-x64': 16.2.4 - '@next/swc-linux-arm64-gnu': 16.2.4 - '@next/swc-linux-arm64-musl': 16.2.4 - '@next/swc-linux-x64-gnu': 16.2.4 - '@next/swc-linux-x64-musl': 16.2.4 - '@next/swc-win32-arm64-msvc': 16.2.4 - '@next/swc-win32-x64-msvc': 16.2.4 + '@next/swc-darwin-arm64': 16.2.5 + '@next/swc-darwin-x64': 16.2.5 + '@next/swc-linux-arm64-gnu': 16.2.5 + '@next/swc-linux-arm64-musl': 16.2.5 + '@next/swc-linux-x64-gnu': 16.2.5 + '@next/swc-linux-x64-musl': 16.2.5 + '@next/swc-win32-arm64-msvc': 16.2.5 + '@next/swc-win32-x64-msvc': 16.2.5 babel-plugin-react-compiler: 1.0.0 sass: 1.99.0 sharp: 0.34.5 diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index dc013a2f2..e81fd39c7 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -34,7 +34,7 @@ catalog: "@mantine/spotlight": ^8.3.18 "@mantine/tiptap": ^8.3.18 "@million/lint": 1.0.14 - "@next/eslint-plugin-next": 16.2.4 + "@next/eslint-plugin-next": 16.2.5 "@octokit/auth-app": ^8.2.0 "@paralleldrive/cuid2": ^3.3.0 "@semantic-release/changelog": ^6.0.3 @@ -144,7 +144,7 @@ catalog: mantine-react-table: 2.0.0-beta.9 maria2: ^0.4.1 mysql2: 3.22.3 - next: 16.2.4 + next: 16.2.5 next-auth: 5.0.0-beta.31 next-intl: 4.11.0 node-loader: ^2.1.0 From 37103cf414198e95f5a68e692d35e50229032e85 Mon Sep 17 00:00:00 2001 From: "homarr-renovate[bot]" <158783068+homarr-renovate[bot]@users.noreply.github.com> Date: Mon, 11 May 2026 19:56:51 +0000 Subject: [PATCH 47/63] chore(deps): update dependency next to v16.2.6 [security] (#5699) Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com> --- pnpm-lock.yaml | 148 ++++++++++++++++++++++---------------------- pnpm-workspace.yaml | 2 +- 2 files changed, 75 insertions(+), 75 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 545584138..ec535a480 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -430,8 +430,8 @@ catalogs: specifier: 3.22.3 version: 3.22.3 next: - specifier: 16.2.5 - version: 16.2.5 + specifier: 16.2.6 + version: 16.2.6 next-auth: specifier: 5.0.0-beta.31 version: 5.0.0-beta.31 @@ -798,13 +798,13 @@ importers: version: 5.100.9(@tanstack/react-query@5.100.9(react@19.2.5))(react@19.2.5) '@tanstack/react-query-next-experimental': specifier: 'catalog:' - version: 5.100.9(@tanstack/react-query@5.100.9(react@19.2.5))(next@16.2.5(@babel/core@7.26.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0))(react@19.2.5) + version: 5.100.9(@tanstack/react-query@5.100.9(react@19.2.5))(next@16.2.6(@babel/core@7.26.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0))(react@19.2.5) '@trpc/client': specifier: 'catalog:' version: 11.17.0(@trpc/server@11.17.0(typescript@5.9.3))(typescript@5.9.3) '@trpc/next': specifier: 'catalog:' - version: 11.17.0(@tanstack/react-query@5.100.9(react@19.2.5))(@trpc/client@11.17.0(@trpc/server@11.17.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/react-query@11.17.0(@tanstack/react-query@5.100.9(react@19.2.5))(@trpc/client@11.17.0(@trpc/server@11.17.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.17.0(typescript@5.9.3))(react@19.2.5)(typescript@5.9.3))(@trpc/server@11.17.0(typescript@5.9.3))(next@16.2.5(@babel/core@7.26.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0))(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(typescript@5.9.3) + version: 11.17.0(@tanstack/react-query@5.100.9(react@19.2.5))(@trpc/client@11.17.0(@trpc/server@11.17.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/react-query@11.17.0(@tanstack/react-query@5.100.9(react@19.2.5))(@trpc/client@11.17.0(@trpc/server@11.17.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.17.0(typescript@5.9.3))(react@19.2.5)(typescript@5.9.3))(@trpc/server@11.17.0(typescript@5.9.3))(next@16.2.6(@babel/core@7.26.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0))(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(typescript@5.9.3) '@trpc/react-query': specifier: 'catalog:' version: 11.17.0(@tanstack/react-query@5.100.9(react@19.2.5))(@trpc/client@11.17.0(@trpc/server@11.17.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.17.0(typescript@5.9.3))(react@19.2.5)(typescript@5.9.3) @@ -852,7 +852,7 @@ importers: version: 2.0.0-beta.9(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(@mantine/dates@8.3.18(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(@mantine/hooks@8.3.18(react@19.2.5))(dayjs@1.11.20)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(@mantine/hooks@8.3.18(react@19.2.5))(@tabler/icons-react@3.43.0(react@19.2.5))(clsx@2.1.1)(dayjs@1.11.20)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) next: specifier: 'catalog:' - version: 16.2.5(@babel/core@7.26.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0) + version: 16.2.6(@babel/core@7.26.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0) postcss-preset-mantine: specifier: 'catalog:' version: 1.18.0(postcss@8.5.8) @@ -1222,7 +1222,7 @@ importers: version: 4.5.0 next: specifier: 'catalog:' - version: 16.2.5(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0) + version: 16.2.6(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0) react: specifier: 'catalog:' version: 19.2.5 @@ -1292,10 +1292,10 @@ importers: version: 8.1.7 next: specifier: 'catalog:' - version: 16.2.5(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0) + version: 16.2.6(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0) next-auth: specifier: 'catalog:' - version: 5.0.0-beta.31(next@16.2.5(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0))(react@19.2.5) + version: 5.0.0-beta.31(next@16.2.6(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0))(react@19.2.5) react: specifier: 'catalog:' version: 19.2.5 @@ -1415,7 +1415,7 @@ importers: version: 1.11.20 next: specifier: 'catalog:' - version: 16.2.5(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0) + version: 16.2.6(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0) octokit: specifier: 'catalog:' version: 5.0.5 @@ -2159,7 +2159,7 @@ importers: version: 1.11.20 next: specifier: 'catalog:' - version: 16.2.5(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0) + version: 16.2.6(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0) react: specifier: 'catalog:' version: 19.2.5 @@ -2260,7 +2260,7 @@ importers: version: 0.5.17 next: specifier: 'catalog:' - version: 16.2.5(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0) + version: 16.2.6(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0) react: specifier: 'catalog:' version: 19.2.5 @@ -2479,7 +2479,7 @@ importers: version: 8.3.18(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(@mantine/hooks@8.3.18(react@19.2.5))(dayjs@1.11.20)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) next: specifier: 'catalog:' - version: 16.2.5(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0) + version: 16.2.6(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0) react: specifier: 'catalog:' version: 19.2.5 @@ -2552,7 +2552,7 @@ importers: version: 2.20.0(@babel/core@7.29.0)(@babel/template@7.28.6)(@types/react@19.2.14)(react@19.2.5) next: specifier: 'catalog:' - version: 16.2.5(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0) + version: 16.2.6(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0) react: specifier: 'catalog:' version: 19.2.5 @@ -2598,10 +2598,10 @@ importers: version: 2.0.0-beta.9(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(@mantine/dates@8.3.18(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(@mantine/hooks@8.3.18(react@19.2.5))(dayjs@1.11.20)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(@mantine/hooks@8.3.18(react@19.2.5))(@tabler/icons-react@3.43.0(react@19.2.5))(clsx@2.1.1)(dayjs@1.11.20)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) next: specifier: 'catalog:' - version: 16.2.5(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0) + version: 16.2.6(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0) next-intl: specifier: 'catalog:' - version: 4.11.0(next@16.2.5(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0))(react@19.2.5)(typescript@5.9.3) + version: 4.11.0(next@16.2.6(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0))(react@19.2.5)(typescript@5.9.3) react: specifier: 'catalog:' version: 19.2.5 @@ -2662,7 +2662,7 @@ importers: version: 2.0.0-beta.9(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(@mantine/dates@8.3.18(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(@mantine/hooks@8.3.18(react@19.2.5))(dayjs@1.11.20)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(@mantine/hooks@8.3.18(react@19.2.5))(@tabler/icons-react@3.43.0(react@19.2.5))(clsx@2.1.1)(dayjs@1.11.20)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) next: specifier: 'catalog:' - version: 16.2.5(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0) + version: 16.2.6(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0) react: specifier: 'catalog:' version: 19.2.5 @@ -2871,7 +2871,7 @@ importers: version: 2.0.0-beta.9(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(@mantine/dates@8.3.18(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(@mantine/hooks@8.3.18(react@19.2.5))(dayjs@1.11.20)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(@mantine/hooks@8.3.18(react@19.2.5))(@tabler/icons-react@3.43.0(react@19.2.5))(clsx@2.1.1)(dayjs@1.11.20)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) next: specifier: 'catalog:' - version: 16.2.5(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0) + version: 16.2.6(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0) react: specifier: 'catalog:' version: 19.2.5 @@ -4388,60 +4388,60 @@ packages: deprecated: This package is no longer maintained hasBin: true - '@next/env@16.2.5': - resolution: {integrity: sha512-Lb9ElHD2klcyeVD25vW+siPFqz9QMzDUSgvFZNO+dZEKoMHex4viJhVuzBhrXKqb+UKnih7mVYbt50/7KLsSCA==} + '@next/env@16.2.6': + resolution: {integrity: sha512-gd8HoHN4ufj73WmR3JmVolrpJR47ILK6LouP5xElPglaVxir6e1a7VzvTvDWkOoPXT9rkkTzyCxBu4yeZfZwcw==} '@next/eslint-plugin-next@16.2.5': resolution: {integrity: sha512-PyILm/cw2u5gEG5xOjqFbALUAl/erAqtM47iZtP9lXiSzin+eOIf3KRi+CBC/mFG9j7Iz3JDqCOY94nFLUCccg==} - '@next/swc-darwin-arm64@16.2.5': - resolution: {integrity: sha512-BW+8PGVmsruomXHsitD8JG6gny9lEdobctjBwvtPF8AKtxGDR7nR35FOl/oK9UAPXBOBm+vx0k8qtpeHOXQMGQ==} + '@next/swc-darwin-arm64@16.2.6': + resolution: {integrity: sha512-ZJGkkcNfYgrrMkqOdZ7zoLa1TOy0qpcMfk/z4Mh/FKUz40gVO+HNQWqmLxf67Z5WB64DRp0dhEbyHfel+6sJUg==} engines: {node: '>= 10'} cpu: [arm64] os: [darwin] - '@next/swc-darwin-x64@16.2.5': - resolution: {integrity: sha512-ZoCGnCl9LlQJWmqXrZAUlNxvuNmclvE+7zUif+nDydkkehl9FKxHJ+wxSQMj+C37BYFerKiEdX9s9o02ir975Q==} + '@next/swc-darwin-x64@16.2.6': + resolution: {integrity: sha512-v/YLBHIY132Ced3puBJ7YJKw1lqsCrgcNo2aRJlCEyQrrCeRJlvGlnmxhPxNQI3KE3N1DN5r9TPNPvka3nq5RQ==} engines: {node: '>= 10'} cpu: [x64] os: [darwin] - '@next/swc-linux-arm64-gnu@16.2.5': - resolution: {integrity: sha512-AwcZzMChaWkOTZt3vu+2ZMIj8g4dYQY+B8VUVhlFSQ2JtvyZpefyYHTe00D6b6L7BysYw7vl3zsvs9jix8tl5Q==} + '@next/swc-linux-arm64-gnu@16.2.6': + resolution: {integrity: sha512-RPOvqlYBbcQjkz9VQQDZ2T2bARIjXZV1KFlt+V2Mr6SW/e4I9fcKsaA0hdyf2FHoTlsV2xnBd5Y912rP/1Ce6w==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] libc: [glibc] - '@next/swc-linux-arm64-musl@16.2.5': - resolution: {integrity: sha512-QqMgqWbCBFsfiQ7BF3dUlW8HJy1LWhpcqbTpoHMWA9IV+TnWwDKozQJA5NdIAHjQ00yX2Q7AUkLr/XK4n77q8A==} + '@next/swc-linux-arm64-musl@16.2.6': + resolution: {integrity: sha512-URUTu1+dMkxJsPFgm+OeEvq9wf5sujw0EvgYy80TDGHTSLTnIHeqb0Eu8A3sC95IRgjejQL+kC4mw+4yPxiAXA==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] libc: [musl] - '@next/swc-linux-x64-gnu@16.2.5': - resolution: {integrity: sha512-3hzeiFGZtyATVx9pCeuzTshXmh50vHZitqaeZiyJZaUmjQyrfjsVUgS8apOj1vEJCIpKJM/55F45yPAV2kpjsA==} + '@next/swc-linux-x64-gnu@16.2.6': + resolution: {integrity: sha512-DOj182mPV8G3UkrayLoREM5YEYI+Dk5wv7Ox9xl1fFibAELEsFD0lDPfHIeILlutMMfdyhlzYPELG3peuKaurw==} engines: {node: '>= 10'} cpu: [x64] os: [linux] libc: [glibc] - '@next/swc-linux-x64-musl@16.2.5': - resolution: {integrity: sha512-0mzZV/mAt7Qj2tYNdTB6AqrS8dwng/AQLSYC5Z1YLpZdi2wxqKDPK7RY2RvjB1fXyJfOfdA3l/yTF5yLi+WfuQ==} + '@next/swc-linux-x64-musl@16.2.6': + resolution: {integrity: sha512-HKQ5SP/V/ub73UvF7n/zeJlxk2kLmtL7Wzrg4WfmkjmNos5onJ2tKu7yZOPdL18A6Svfn3max29ym+ry7NkK4g==} engines: {node: '>= 10'} cpu: [x64] os: [linux] libc: [musl] - '@next/swc-win32-arm64-msvc@16.2.5': - resolution: {integrity: sha512-f/H4nZ2zJBvA8/+HpsB9mNonF9zfQoAU6D0WxJrfzhJDvJLfngVN85oqxUyrDVK99DIFfFYhLpGa5K+c5uotSw==} + '@next/swc-win32-arm64-msvc@16.2.6': + resolution: {integrity: sha512-LZXpTlPyS5v7HhSmnvsLGP3iIYgYOBnc8r8ArlT55sGHV89bR2HlDdBjWQ+PY6SJMmk8TuVGFuxalnP3k/0Dwg==} engines: {node: '>= 10'} cpu: [arm64] os: [win32] - '@next/swc-win32-x64-msvc@16.2.5': - resolution: {integrity: sha512-nuP7DHs4koAojsIxVPkihNgKiRUKtCU65j5X6DAbSy8VBrfT/o90bCLLHPf51JEdOZwZMFzM6e0NiGWfIWjVAg==} + '@next/swc-win32-x64-msvc@16.2.6': + resolution: {integrity: sha512-F0+4i0h9J6C4eE3EAPWsoCk7UW/dbzOjyzxY0qnDUOYFu6FFmdZ6l97/XdV3/Nz3VYyO7UWjyEJUXkGqcoXfMA==} engines: {node: '>= 10'} cpu: [x64] os: [win32] @@ -8756,8 +8756,8 @@ packages: typescript: optional: true - next@16.2.5: - resolution: {integrity: sha512-TkVTm9F2WEulkgGljm4wPwNgvCCWCVw6StUHsZb8WZpHFRjepoUWg3d7L4IMg7IyjcJ4Co9eVhpro8e8O+KarQ==} + next@16.2.6: + resolution: {integrity: sha512-qOVgKJg1+At15NpeUP+eJgCHvTCgXsogweq87Ri/Ix7PkqQHg4sdaXmSFqKlgaIXE4kW0g25LE68W87UANlHtw==} engines: {node: '>=20.9.0'} hasBin: true peerDependencies: @@ -12476,34 +12476,34 @@ snapshots: - utf-8-validate - webpack-sources - '@next/env@16.2.5': {} + '@next/env@16.2.6': {} '@next/eslint-plugin-next@16.2.5': dependencies: fast-glob: 3.3.1 - '@next/swc-darwin-arm64@16.2.5': + '@next/swc-darwin-arm64@16.2.6': optional: true - '@next/swc-darwin-x64@16.2.5': + '@next/swc-darwin-x64@16.2.6': optional: true - '@next/swc-linux-arm64-gnu@16.2.5': + '@next/swc-linux-arm64-gnu@16.2.6': optional: true - '@next/swc-linux-arm64-musl@16.2.5': + '@next/swc-linux-arm64-musl@16.2.6': optional: true - '@next/swc-linux-x64-gnu@16.2.5': + '@next/swc-linux-x64-gnu@16.2.6': optional: true - '@next/swc-linux-x64-musl@16.2.5': + '@next/swc-linux-x64-musl@16.2.6': optional: true - '@next/swc-win32-arm64-msvc@16.2.5': + '@next/swc-win32-arm64-msvc@16.2.6': optional: true - '@next/swc-win32-x64-msvc@16.2.5': + '@next/swc-win32-x64-msvc@16.2.6': optional: true '@noble/hashes@2.0.1': {} @@ -13530,10 +13530,10 @@ snapshots: '@tanstack/react-query': 5.100.9(react@19.2.5) react: 19.2.5 - '@tanstack/react-query-next-experimental@5.100.9(@tanstack/react-query@5.100.9(react@19.2.5))(next@16.2.5(@babel/core@7.26.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0))(react@19.2.5)': + '@tanstack/react-query-next-experimental@5.100.9(@tanstack/react-query@5.100.9(react@19.2.5))(next@16.2.6(@babel/core@7.26.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0))(react@19.2.5)': dependencies: '@tanstack/react-query': 5.100.9(react@19.2.5) - next: 16.2.5(@babel/core@7.26.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0) + next: 16.2.6(@babel/core@7.26.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0) react: 19.2.5 '@tanstack/react-query@5.100.9(react@19.2.5)': @@ -13811,11 +13811,11 @@ snapshots: '@trpc/server': 11.17.0(typescript@5.9.3) typescript: 5.9.3 - '@trpc/next@11.17.0(@tanstack/react-query@5.100.9(react@19.2.5))(@trpc/client@11.17.0(@trpc/server@11.17.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/react-query@11.17.0(@tanstack/react-query@5.100.9(react@19.2.5))(@trpc/client@11.17.0(@trpc/server@11.17.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.17.0(typescript@5.9.3))(react@19.2.5)(typescript@5.9.3))(@trpc/server@11.17.0(typescript@5.9.3))(next@16.2.5(@babel/core@7.26.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0))(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(typescript@5.9.3)': + '@trpc/next@11.17.0(@tanstack/react-query@5.100.9(react@19.2.5))(@trpc/client@11.17.0(@trpc/server@11.17.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/react-query@11.17.0(@tanstack/react-query@5.100.9(react@19.2.5))(@trpc/client@11.17.0(@trpc/server@11.17.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.17.0(typescript@5.9.3))(react@19.2.5)(typescript@5.9.3))(@trpc/server@11.17.0(typescript@5.9.3))(next@16.2.6(@babel/core@7.26.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0))(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(typescript@5.9.3)': dependencies: '@trpc/client': 11.17.0(@trpc/server@11.17.0(typescript@5.9.3))(typescript@5.9.3) '@trpc/server': 11.17.0(typescript@5.9.3) - next: 16.2.5(@babel/core@7.26.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0) + next: 16.2.6(@babel/core@7.26.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0) react: 19.2.5 react-dom: 19.2.5(react@19.2.5) typescript: 5.9.3 @@ -17407,22 +17407,22 @@ snapshots: nerf-dart@1.0.0: {} - next-auth@5.0.0-beta.31(next@16.2.5(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0))(react@19.2.5): + next-auth@5.0.0-beta.31(next@16.2.6(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0))(react@19.2.5): dependencies: '@auth/core': 0.41.2 - next: 16.2.5(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0) + next: 16.2.6(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0) react: 19.2.5 next-intl-swc-plugin-extractor@4.11.0: {} - next-intl@4.11.0(next@16.2.5(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0))(react@19.2.5)(typescript@5.9.3): + next-intl@4.11.0(next@16.2.6(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0))(react@19.2.5)(typescript@5.9.3): dependencies: '@formatjs/intl-localematcher': 0.8.1 '@parcel/watcher': 2.4.1 '@swc/core': 1.15.3 icu-minify: 4.11.0 negotiator: 1.0.0 - next: 16.2.5(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0) + next: 16.2.6(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0) next-intl-swc-plugin-extractor: 4.11.0 po-parser: 2.1.1 react: 19.2.5 @@ -17432,9 +17432,9 @@ snapshots: transitivePeerDependencies: - '@swc/helpers' - next@16.2.5(@babel/core@7.26.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0): + next@16.2.6(@babel/core@7.26.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0): dependencies: - '@next/env': 16.2.5 + '@next/env': 16.2.6 '@swc/helpers': 0.5.15 baseline-browser-mapping: 2.9.19 caniuse-lite: 1.0.30001766 @@ -17443,14 +17443,14 @@ snapshots: react-dom: 19.2.5(react@19.2.5) styled-jsx: 5.1.6(@babel/core@7.26.0)(react@19.2.5) optionalDependencies: - '@next/swc-darwin-arm64': 16.2.5 - '@next/swc-darwin-x64': 16.2.5 - '@next/swc-linux-arm64-gnu': 16.2.5 - '@next/swc-linux-arm64-musl': 16.2.5 - '@next/swc-linux-x64-gnu': 16.2.5 - '@next/swc-linux-x64-musl': 16.2.5 - '@next/swc-win32-arm64-msvc': 16.2.5 - '@next/swc-win32-x64-msvc': 16.2.5 + '@next/swc-darwin-arm64': 16.2.6 + '@next/swc-darwin-x64': 16.2.6 + '@next/swc-linux-arm64-gnu': 16.2.6 + '@next/swc-linux-arm64-musl': 16.2.6 + '@next/swc-linux-x64-gnu': 16.2.6 + '@next/swc-linux-x64-musl': 16.2.6 + '@next/swc-win32-arm64-msvc': 16.2.6 + '@next/swc-win32-x64-msvc': 16.2.6 babel-plugin-react-compiler: 1.0.0 sass: 1.99.0 sharp: 0.34.5 @@ -17458,9 +17458,9 @@ snapshots: - '@babel/core' - babel-plugin-macros - next@16.2.5(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0): + next@16.2.6(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0): dependencies: - '@next/env': 16.2.5 + '@next/env': 16.2.6 '@swc/helpers': 0.5.15 baseline-browser-mapping: 2.9.19 caniuse-lite: 1.0.30001766 @@ -17469,14 +17469,14 @@ snapshots: react-dom: 19.2.5(react@19.2.5) styled-jsx: 5.1.6(@babel/core@7.29.0)(react@19.2.5) optionalDependencies: - '@next/swc-darwin-arm64': 16.2.5 - '@next/swc-darwin-x64': 16.2.5 - '@next/swc-linux-arm64-gnu': 16.2.5 - '@next/swc-linux-arm64-musl': 16.2.5 - '@next/swc-linux-x64-gnu': 16.2.5 - '@next/swc-linux-x64-musl': 16.2.5 - '@next/swc-win32-arm64-msvc': 16.2.5 - '@next/swc-win32-x64-msvc': 16.2.5 + '@next/swc-darwin-arm64': 16.2.6 + '@next/swc-darwin-x64': 16.2.6 + '@next/swc-linux-arm64-gnu': 16.2.6 + '@next/swc-linux-arm64-musl': 16.2.6 + '@next/swc-linux-x64-gnu': 16.2.6 + '@next/swc-linux-x64-musl': 16.2.6 + '@next/swc-win32-arm64-msvc': 16.2.6 + '@next/swc-win32-x64-msvc': 16.2.6 babel-plugin-react-compiler: 1.0.0 sass: 1.99.0 sharp: 0.34.5 diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index e81fd39c7..a24b90ba0 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -144,7 +144,7 @@ catalog: mantine-react-table: 2.0.0-beta.9 maria2: ^0.4.1 mysql2: 3.22.3 - next: 16.2.5 + next: 16.2.6 next-auth: 5.0.0-beta.31 next-intl: 4.11.0 node-loader: ^2.1.0 From 48a0f75c31b1a48e6ed2fb254c7dbd6aada2ac3d Mon Sep 17 00:00:00 2001 From: "homarr-renovate[bot]" <158783068+homarr-renovate[bot]@users.noreply.github.com> Date: Mon, 11 May 2026 21:25:44 +0000 Subject: [PATCH 48/63] chore(deps): update react monorepo to v19.2.6 (#5698) Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com> --- package.json | 2 +- pnpm-lock.yaml | 700 ++++++++++++++++++++++---------------------- pnpm-workspace.yaml | 4 +- 3 files changed, 353 insertions(+), 353 deletions(-) diff --git a/package.json b/package.json index 052dc00fb..652da92be 100644 --- a/package.json +++ b/package.json @@ -89,7 +89,7 @@ "nanoid@>=4.0.0 <5.0.9": ">=5.1.11", "prismjs@<1.30.0": ">=1.30.0", "proxmox-api>undici": "7.24.6", - "react-is": "^19.2.5", + "react-is": "^19.2.6", "rollup@>=4.0.0 <4.22.4": ">=4.60.3", "sha.js@<=2.4.11": ">=2.4.12", "tar-fs@>=3.0.0 <3.0.9": ">=3.1.2", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ec535a480..d3b2d1d93 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -463,11 +463,11 @@ catalogs: specifier: 1.1.1 version: 1.1.1 react: - specifier: 19.2.5 - version: 19.2.5 + specifier: 19.2.6 + version: 19.2.6 react-dom: - specifier: 19.2.5 - version: 19.2.5 + specifier: 19.2.6 + version: 19.2.6 react-error-boundary: specifier: ^6.1.1 version: 6.1.1 @@ -575,7 +575,7 @@ overrides: nanoid@>=4.0.0 <5.0.9: '>=5.1.11' prismjs@<1.30.0: '>=1.30.0' proxmox-api>undici: 7.24.6 - react-is: ^19.2.5 + react-is: ^19.2.6 rollup@>=4.0.0 <4.22.4: '>=4.60.3' sha.js@<=2.4.11: '>=2.4.12' tar-fs@>=3.0.0 <3.0.9: '>=3.1.2' @@ -669,16 +669,16 @@ importers: dependencies: '@dnd-kit/core': specifier: 'catalog:' - version: 6.3.1(react-dom@19.2.5(react@19.2.5))(react@19.2.5) + version: 6.3.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6) '@dnd-kit/modifiers': specifier: 'catalog:' - version: 9.0.0(@dnd-kit/core@6.3.1(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(react@19.2.5) + version: 9.0.0(@dnd-kit/core@6.3.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react@19.2.6) '@dnd-kit/sortable': specifier: 'catalog:' - version: 10.0.0(@dnd-kit/core@6.3.1(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(react@19.2.5) + version: 10.0.0(@dnd-kit/core@6.3.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react@19.2.6) '@dnd-kit/utilities': specifier: 'catalog:' - version: 3.2.2(react@19.2.5) + version: 3.2.2(react@19.2.6) '@homarr/analytics': specifier: workspace:^0.1.0 version: link:../../packages/analytics @@ -771,43 +771,43 @@ importers: version: 8.3.18(chroma-js@3.2.0) '@mantine/core': specifier: 'catalog:' - version: 8.3.18(@mantine/hooks@8.3.18(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) + version: 8.3.18(@mantine/hooks@8.3.18(react@19.2.6))(@types/react@19.2.14)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) '@mantine/dropzone': specifier: 'catalog:' - version: 8.3.18(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(@mantine/hooks@8.3.18(react@19.2.5))(react-dom@19.2.5(react@19.2.5))(react@19.2.5) + version: 8.3.18(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.6))(@types/react@19.2.14)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(@mantine/hooks@8.3.18(react@19.2.6))(react-dom@19.2.6(react@19.2.6))(react@19.2.6) '@mantine/hooks': specifier: 'catalog:' - version: 8.3.18(react@19.2.5) + version: 8.3.18(react@19.2.6) '@mantine/modals': specifier: 'catalog:' - version: 8.3.18(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(@mantine/hooks@8.3.18(react@19.2.5))(react-dom@19.2.5(react@19.2.5))(react@19.2.5) + version: 8.3.18(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.6))(@types/react@19.2.14)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(@mantine/hooks@8.3.18(react@19.2.6))(react-dom@19.2.6(react@19.2.6))(react@19.2.6) '@mantine/tiptap': specifier: 'catalog:' - version: 8.3.18(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(@mantine/hooks@8.3.18(react@19.2.5))(@tiptap/extension-link@3.22.5(@tiptap/core@3.22.5(@tiptap/pm@3.22.5))(@tiptap/pm@3.22.5))(@tiptap/react@3.22.5(@floating-ui/dom@1.7.4)(@tiptap/core@3.22.5(@tiptap/pm@3.22.5))(@tiptap/pm@3.22.5)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(react-dom@19.2.5(react@19.2.5))(react@19.2.5) + version: 8.3.18(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.6))(@types/react@19.2.14)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(@mantine/hooks@8.3.18(react@19.2.6))(@tiptap/extension-link@3.22.5(@tiptap/core@3.22.5(@tiptap/pm@3.22.5))(@tiptap/pm@3.22.5))(@tiptap/react@3.22.5(@floating-ui/dom@1.7.4)(@tiptap/core@3.22.5(@tiptap/pm@3.22.5))(@tiptap/pm@3.22.5)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react-dom@19.2.6(react@19.2.6))(react@19.2.6) '@million/lint': specifier: 'catalog:' version: 1.0.14(webpack-sources@3.3.4) '@tabler/icons-react': specifier: 'catalog:' - version: 3.43.0(react@19.2.5) + version: 3.43.0(react@19.2.6) '@tanstack/react-query': specifier: 'catalog:' - version: 5.100.9(react@19.2.5) + version: 5.100.9(react@19.2.6) '@tanstack/react-query-devtools': specifier: 'catalog:' - version: 5.100.9(@tanstack/react-query@5.100.9(react@19.2.5))(react@19.2.5) + version: 5.100.9(@tanstack/react-query@5.100.9(react@19.2.6))(react@19.2.6) '@tanstack/react-query-next-experimental': specifier: 'catalog:' - version: 5.100.9(@tanstack/react-query@5.100.9(react@19.2.5))(next@16.2.6(@babel/core@7.26.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0))(react@19.2.5) + version: 5.100.9(@tanstack/react-query@5.100.9(react@19.2.6))(next@16.2.6(@babel/core@7.26.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(sass@1.99.0))(react@19.2.6) '@trpc/client': specifier: 'catalog:' version: 11.17.0(@trpc/server@11.17.0(typescript@5.9.3))(typescript@5.9.3) '@trpc/next': specifier: 'catalog:' - version: 11.17.0(@tanstack/react-query@5.100.9(react@19.2.5))(@trpc/client@11.17.0(@trpc/server@11.17.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/react-query@11.17.0(@tanstack/react-query@5.100.9(react@19.2.5))(@trpc/client@11.17.0(@trpc/server@11.17.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.17.0(typescript@5.9.3))(react@19.2.5)(typescript@5.9.3))(@trpc/server@11.17.0(typescript@5.9.3))(next@16.2.6(@babel/core@7.26.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0))(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(typescript@5.9.3) + version: 11.17.0(@tanstack/react-query@5.100.9(react@19.2.6))(@trpc/client@11.17.0(@trpc/server@11.17.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/react-query@11.17.0(@tanstack/react-query@5.100.9(react@19.2.6))(@trpc/client@11.17.0(@trpc/server@11.17.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.17.0(typescript@5.9.3))(react@19.2.6)(typescript@5.9.3))(@trpc/server@11.17.0(typescript@5.9.3))(next@16.2.6(@babel/core@7.26.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(sass@1.99.0))(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(typescript@5.9.3) '@trpc/react-query': specifier: 'catalog:' - version: 11.17.0(@tanstack/react-query@5.100.9(react@19.2.5))(@trpc/client@11.17.0(@trpc/server@11.17.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.17.0(typescript@5.9.3))(react@19.2.5)(typescript@5.9.3) + version: 11.17.0(@tanstack/react-query@5.100.9(react@19.2.6))(@trpc/client@11.17.0(@trpc/server@11.17.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.17.0(typescript@5.9.3))(react@19.2.6)(typescript@5.9.3) '@trpc/server': specifier: 'catalog:' version: 11.17.0(typescript@5.9.3) @@ -846,13 +846,13 @@ importers: version: 3.12.0(@noble/hashes@2.0.1) jotai: specifier: 'catalog:' - version: 2.20.0(@babel/core@7.26.0)(@babel/template@7.28.6)(@types/react@19.2.14)(react@19.2.5) + version: 2.20.0(@babel/core@7.26.0)(@babel/template@7.28.6)(@types/react@19.2.14)(react@19.2.6) mantine-react-table: specifier: 'catalog:' - version: 2.0.0-beta.9(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(@mantine/dates@8.3.18(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(@mantine/hooks@8.3.18(react@19.2.5))(dayjs@1.11.20)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(@mantine/hooks@8.3.18(react@19.2.5))(@tabler/icons-react@3.43.0(react@19.2.5))(clsx@2.1.1)(dayjs@1.11.20)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) + version: 2.0.0-beta.9(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.6))(@types/react@19.2.14)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(@mantine/dates@8.3.18(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.6))(@types/react@19.2.14)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(@mantine/hooks@8.3.18(react@19.2.6))(dayjs@1.11.20)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(@mantine/hooks@8.3.18(react@19.2.6))(@tabler/icons-react@3.43.0(react@19.2.6))(clsx@2.1.1)(dayjs@1.11.20)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) next: specifier: 'catalog:' - version: 16.2.6(@babel/core@7.26.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0) + version: 16.2.6(@babel/core@7.26.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(sass@1.99.0) postcss-preset-mantine: specifier: 'catalog:' version: 1.18.0(postcss@8.5.8) @@ -861,16 +861,16 @@ importers: version: 1.30.0 react: specifier: 'catalog:' - version: 19.2.5 + version: 19.2.6 react-dom: specifier: 'catalog:' - version: 19.2.5(react@19.2.5) + version: 19.2.6(react@19.2.6) react-error-boundary: specifier: 'catalog:' - version: 6.1.1(react@19.2.5) + version: 6.1.1(react@19.2.6) react-simple-code-editor: specifier: 'catalog:' - version: 0.14.1(react-dom@19.2.5(react@19.2.5))(react@19.2.5) + version: 0.14.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6) sass: specifier: 'catalog:' version: 1.99.0 @@ -879,10 +879,10 @@ importers: version: 2.2.6 swagger-ui-react: specifier: 'catalog:' - version: 5.32.5(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) + version: 5.32.5(@types/react@19.2.14)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) use-deep-compare-effect: specifier: 'catalog:' - version: 1.8.1(react@19.2.5) + version: 1.8.1(react@19.2.6) yaml: specifier: 'catalog:' version: 2.8.4 @@ -1204,31 +1204,31 @@ importers: version: 1.4.0 '@tanstack/react-query': specifier: 'catalog:' - version: 5.100.9(react@19.2.5) + version: 5.100.9(react@19.2.6) '@trpc/client': specifier: 'catalog:' version: 11.17.0(@trpc/server@11.17.0(typescript@5.9.3))(typescript@5.9.3) '@trpc/react-query': specifier: 'catalog:' - version: 11.17.0(@tanstack/react-query@5.100.9(react@19.2.5))(@trpc/client@11.17.0(@trpc/server@11.17.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.17.0(typescript@5.9.3))(react@19.2.5)(typescript@5.9.3) + version: 11.17.0(@tanstack/react-query@5.100.9(react@19.2.6))(@trpc/client@11.17.0(@trpc/server@11.17.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.17.0(typescript@5.9.3))(react@19.2.6)(typescript@5.9.3) '@trpc/server': specifier: 'catalog:' version: 11.17.0(typescript@5.9.3) '@trpc/tanstack-react-query': specifier: 'catalog:' - version: 11.17.0(@tanstack/react-query@5.100.9(react@19.2.5))(@trpc/client@11.17.0(@trpc/server@11.17.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.17.0(typescript@5.9.3))(react@19.2.5)(typescript@5.9.3) + version: 11.17.0(@tanstack/react-query@5.100.9(react@19.2.6))(@trpc/client@11.17.0(@trpc/server@11.17.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.17.0(typescript@5.9.3))(react@19.2.6)(typescript@5.9.3) lodash.clonedeep: specifier: 'catalog:' version: 4.5.0 next: specifier: 'catalog:' - version: 16.2.6(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0) + version: 16.2.6(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(sass@1.99.0) react: specifier: 'catalog:' - version: 19.2.5 + version: 19.2.6 react-dom: specifier: 'catalog:' - version: 19.2.5(react@19.2.5) + version: 19.2.6(react@19.2.6) superjson: specifier: 'catalog:' version: 2.2.6 @@ -1292,16 +1292,16 @@ importers: version: 8.1.7 next: specifier: 'catalog:' - version: 16.2.6(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0) + version: 16.2.6(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(sass@1.99.0) next-auth: specifier: 'catalog:' - version: 5.0.0-beta.31(next@16.2.6(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0))(react@19.2.5) + version: 5.0.0-beta.31(next@16.2.6(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(sass@1.99.0))(react@19.2.6) react: specifier: 'catalog:' - version: 19.2.5 + version: 19.2.6 react-dom: specifier: 'catalog:' - version: 19.2.5(react@19.2.5) + version: 19.2.6(react@19.2.6) zod: specifier: 'catalog:' version: 4.4.3 @@ -1338,10 +1338,10 @@ importers: version: link:../api react: specifier: 'catalog:' - version: 19.2.5 + version: 19.2.6 react-dom: specifier: 'catalog:' - version: 19.2.5(react@19.2.5) + version: 19.2.6(react@19.2.6) devDependencies: '@homarr/eslint-config': specifier: workspace:^0.2.0 @@ -1415,16 +1415,16 @@ importers: version: 1.11.20 next: specifier: 'catalog:' - version: 16.2.6(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0) + version: 16.2.6(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(sass@1.99.0) octokit: specifier: 'catalog:' version: 5.0.5 react: specifier: 'catalog:' - version: 19.2.5 + version: 19.2.6 react-dom: specifier: 'catalog:' - version: 19.2.5(react@19.2.5) + version: 19.2.6(react@19.2.6) undici: specifier: 'catalog:' version: 7.24.6 @@ -1519,7 +1519,7 @@ importers: version: link:../cron-jobs '@tanstack/react-query': specifier: 'catalog:' - version: 5.100.9(react@19.2.5) + version: 5.100.9(react@19.2.6) '@trpc/client': specifier: 'catalog:' version: 11.17.0(@trpc/server@11.17.0(typescript@5.9.3))(typescript@5.9.3) @@ -1528,10 +1528,10 @@ importers: version: 11.17.0(typescript@5.9.3) '@trpc/tanstack-react-query': specifier: 'catalog:' - version: 11.17.0(@tanstack/react-query@5.100.9(react@19.2.5))(@trpc/client@11.17.0(@trpc/server@11.17.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.17.0(typescript@5.9.3))(react@19.2.5)(typescript@5.9.3) + version: 11.17.0(@tanstack/react-query@5.100.9(react@19.2.6))(@trpc/client@11.17.0(@trpc/server@11.17.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.17.0(typescript@5.9.3))(react@19.2.6)(typescript@5.9.3) react: specifier: 'catalog:' - version: 19.2.5 + version: 19.2.6 zod: specifier: 'catalog:' version: 4.4.3 @@ -1697,7 +1697,7 @@ importers: version: link:../server-settings '@mantine/core': specifier: 'catalog:' - version: 8.3.18(@mantine/hooks@8.3.18(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) + version: 8.3.18(@mantine/hooks@8.3.18(react@19.2.6))(@types/react@19.2.14)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) '@paralleldrive/cuid2': specifier: 'catalog:' version: 3.3.0 @@ -1841,10 +1841,10 @@ importers: version: link:../validation '@mantine/form': specifier: 'catalog:' - version: 8.3.18(react@19.2.5) + version: 8.3.18(react@19.2.6) mantine-form-zod-resolver: specifier: 'catalog:' - version: 1.3.0(@mantine/form@8.3.18(react@19.2.5))(zod@4.4.3) + version: 1.3.0(@mantine/form@8.3.18(react@19.2.6))(zod@4.4.3) zod: specifier: 'catalog:' version: 4.4.3 @@ -1893,10 +1893,10 @@ importers: version: link:../validation '@mantine/core': specifier: 'catalog:' - version: 8.3.18(@mantine/hooks@8.3.18(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) + version: 8.3.18(@mantine/hooks@8.3.18(react@19.2.6))(@types/react@19.2.14)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) react: specifier: 'catalog:' - version: 19.2.5 + version: 19.2.6 zod: specifier: 'catalog:' version: 4.4.3 @@ -2089,13 +2089,13 @@ importers: version: link:../ui '@mantine/core': specifier: 'catalog:' - version: 8.3.18(@mantine/hooks@8.3.18(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) + version: 8.3.18(@mantine/hooks@8.3.18(react@19.2.6))(@types/react@19.2.14)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) '@mantine/hooks': specifier: 'catalog:' - version: 8.3.18(react@19.2.5) + version: 8.3.18(react@19.2.6) react: specifier: 'catalog:' - version: 19.2.5 + version: 19.2.6 devDependencies: '@homarr/eslint-config': specifier: workspace:^0.2.0 @@ -2150,22 +2150,22 @@ importers: version: link:../validation '@mantine/core': specifier: 'catalog:' - version: 8.3.18(@mantine/hooks@8.3.18(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) + version: 8.3.18(@mantine/hooks@8.3.18(react@19.2.6))(@types/react@19.2.14)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) '@tabler/icons-react': specifier: 'catalog:' - version: 3.43.0(react@19.2.5) + version: 3.43.0(react@19.2.6) dayjs: specifier: 'catalog:' version: 1.11.20 next: specifier: 'catalog:' - version: 16.2.6(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0) + version: 16.2.6(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(sass@1.99.0) react: specifier: 'catalog:' - version: 19.2.5 + version: 19.2.6 react-dom: specifier: 'catalog:' - version: 19.2.5(react@19.2.5) + version: 19.2.6(react@19.2.6) zod: specifier: 'catalog:' version: 4.4.3 @@ -2193,10 +2193,10 @@ importers: version: link:../ui '@mantine/notifications': specifier: 'catalog:' - version: 8.3.18(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(@mantine/hooks@8.3.18(react@19.2.5))(react-dom@19.2.5(react@19.2.5))(react@19.2.5) + version: 8.3.18(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.6))(@types/react@19.2.14)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(@mantine/hooks@8.3.18(react@19.2.6))(react-dom@19.2.6(react@19.2.6))(react@19.2.6) '@tabler/icons-react': specifier: 'catalog:' - version: 3.43.0(react@19.2.5) + version: 3.43.0(react@19.2.6) devDependencies: '@homarr/eslint-config': specifier: workspace:^0.2.0 @@ -2251,22 +2251,22 @@ importers: version: link:../validation '@mantine/core': specifier: 'catalog:' - version: 8.3.18(@mantine/hooks@8.3.18(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) + version: 8.3.18(@mantine/hooks@8.3.18(react@19.2.6))(@types/react@19.2.14)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) '@mantine/hooks': specifier: 'catalog:' - version: 8.3.18(react@19.2.5) + version: 8.3.18(react@19.2.6) adm-zip: specifier: 'catalog:' version: 0.5.17 next: specifier: 'catalog:' - version: 16.2.6(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0) + version: 16.2.6(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(sass@1.99.0) react: specifier: 'catalog:' - version: 19.2.5 + version: 19.2.6 react-dom: specifier: 'catalog:' - version: 19.2.5(react@19.2.5) + version: 19.2.6(react@19.2.6) superjson: specifier: 'catalog:' version: 2.2.6 @@ -2476,16 +2476,16 @@ importers: version: link:../server-settings '@mantine/dates': specifier: 'catalog:' - version: 8.3.18(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(@mantine/hooks@8.3.18(react@19.2.5))(dayjs@1.11.20)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) + version: 8.3.18(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.6))(@types/react@19.2.14)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(@mantine/hooks@8.3.18(react@19.2.6))(dayjs@1.11.20)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) next: specifier: 'catalog:' - version: 16.2.6(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0) + version: 16.2.6(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(sass@1.99.0) react: specifier: 'catalog:' - version: 19.2.5 + version: 19.2.6 react-dom: specifier: 'catalog:' - version: 19.2.5(react@19.2.5) + version: 19.2.6(react@19.2.6) devDependencies: '@homarr/eslint-config': specifier: workspace:^0.2.0 @@ -2537,31 +2537,31 @@ importers: version: link:../ui '@mantine/core': specifier: 'catalog:' - version: 8.3.18(@mantine/hooks@8.3.18(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) + version: 8.3.18(@mantine/hooks@8.3.18(react@19.2.6))(@types/react@19.2.14)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) '@mantine/hooks': specifier: 'catalog:' - version: 8.3.18(react@19.2.5) + version: 8.3.18(react@19.2.6) '@mantine/spotlight': specifier: 'catalog:' - version: 8.3.18(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(@mantine/hooks@8.3.18(react@19.2.5))(react-dom@19.2.5(react@19.2.5))(react@19.2.5) + version: 8.3.18(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.6))(@types/react@19.2.14)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(@mantine/hooks@8.3.18(react@19.2.6))(react-dom@19.2.6(react@19.2.6))(react@19.2.6) '@tabler/icons-react': specifier: 'catalog:' - version: 3.43.0(react@19.2.5) + version: 3.43.0(react@19.2.6) jotai: specifier: 'catalog:' - version: 2.20.0(@babel/core@7.29.0)(@babel/template@7.28.6)(@types/react@19.2.14)(react@19.2.5) + version: 2.20.0(@babel/core@7.29.0)(@babel/template@7.28.6)(@types/react@19.2.14)(react@19.2.6) next: specifier: 'catalog:' - version: 16.2.6(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0) + version: 16.2.6(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(sass@1.99.0) react: specifier: 'catalog:' - version: 19.2.5 + version: 19.2.6 react-dom: specifier: 'catalog:' - version: 19.2.5(react@19.2.5) + version: 19.2.6(react@19.2.6) use-deep-compare-effect: specifier: 'catalog:' - version: 1.8.1(react@19.2.5) + version: 1.8.1(react@19.2.6) devDependencies: '@homarr/eslint-config': specifier: workspace:^0.2.0 @@ -2595,19 +2595,19 @@ importers: version: 4.3.1 mantine-react-table: specifier: 'catalog:' - version: 2.0.0-beta.9(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(@mantine/dates@8.3.18(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(@mantine/hooks@8.3.18(react@19.2.5))(dayjs@1.11.20)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(@mantine/hooks@8.3.18(react@19.2.5))(@tabler/icons-react@3.43.0(react@19.2.5))(clsx@2.1.1)(dayjs@1.11.20)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) + version: 2.0.0-beta.9(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.6))(@types/react@19.2.14)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(@mantine/dates@8.3.18(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.6))(@types/react@19.2.14)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(@mantine/hooks@8.3.18(react@19.2.6))(dayjs@1.11.20)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(@mantine/hooks@8.3.18(react@19.2.6))(@tabler/icons-react@3.43.0(react@19.2.6))(clsx@2.1.1)(dayjs@1.11.20)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) next: specifier: 'catalog:' - version: 16.2.6(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0) + version: 16.2.6(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(sass@1.99.0) next-intl: specifier: 'catalog:' - version: 4.11.0(next@16.2.6(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0))(react@19.2.5)(typescript@5.9.3) + version: 4.11.0(next@16.2.6(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(sass@1.99.0))(react@19.2.6)(typescript@5.9.3) react: specifier: 'catalog:' - version: 19.2.5 + version: 19.2.6 react-dom: specifier: 'catalog:' - version: 19.2.5(react@19.2.5) + version: 19.2.6(react@19.2.6) devDependencies: '@homarr/eslint-config': specifier: workspace:^0.2.0 @@ -2644,31 +2644,31 @@ importers: version: link:../validation '@mantine/core': specifier: 'catalog:' - version: 8.3.18(@mantine/hooks@8.3.18(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) + version: 8.3.18(@mantine/hooks@8.3.18(react@19.2.6))(@types/react@19.2.14)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) '@mantine/dates': specifier: 'catalog:' - version: 8.3.18(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(@mantine/hooks@8.3.18(react@19.2.5))(dayjs@1.11.20)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) + version: 8.3.18(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.6))(@types/react@19.2.14)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(@mantine/hooks@8.3.18(react@19.2.6))(dayjs@1.11.20)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) '@mantine/hooks': specifier: 'catalog:' - version: 8.3.18(react@19.2.5) + version: 8.3.18(react@19.2.6) '@tabler/icons-react': specifier: 'catalog:' - version: 3.43.0(react@19.2.5) + version: 3.43.0(react@19.2.6) crypto-js: specifier: 'catalog:' version: 4.2.0 mantine-react-table: specifier: 'catalog:' - version: 2.0.0-beta.9(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(@mantine/dates@8.3.18(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(@mantine/hooks@8.3.18(react@19.2.5))(dayjs@1.11.20)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(@mantine/hooks@8.3.18(react@19.2.5))(@tabler/icons-react@3.43.0(react@19.2.5))(clsx@2.1.1)(dayjs@1.11.20)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) + version: 2.0.0-beta.9(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.6))(@types/react@19.2.14)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(@mantine/dates@8.3.18(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.6))(@types/react@19.2.14)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(@mantine/hooks@8.3.18(react@19.2.6))(dayjs@1.11.20)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(@mantine/hooks@8.3.18(react@19.2.6))(@tabler/icons-react@3.43.0(react@19.2.6))(clsx@2.1.1)(dayjs@1.11.20)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) next: specifier: 'catalog:' - version: 16.2.6(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0) + version: 16.2.6(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(sass@1.99.0) react: specifier: 'catalog:' - version: 19.2.5 + version: 19.2.6 react-dom: specifier: 'catalog:' - version: 19.2.5(react@19.2.5) + version: 19.2.6(react@19.2.6) svgson: specifier: 'catalog:' version: 5.3.1 @@ -2730,10 +2730,10 @@ importers: dependencies: '@dnd-kit/core': specifier: 'catalog:' - version: 6.3.1(react-dom@19.2.5(react@19.2.5))(react@19.2.5) + version: 6.3.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6) '@dnd-kit/sortable': specifier: 'catalog:' - version: 10.0.0(@dnd-kit/core@6.3.1(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(react@19.2.5) + version: 10.0.0(@dnd-kit/core@6.3.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react@19.2.6) '@homarr/api': specifier: workspace:^0.1.0 version: link:../api @@ -2799,16 +2799,16 @@ importers: version: link:../validation '@mantine/charts': specifier: 'catalog:' - version: 8.3.18(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(@mantine/hooks@8.3.18(react@19.2.5))(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(recharts@3.8.1(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react-is@19.2.5)(react@19.2.5)(redux@5.0.1)) + version: 8.3.18(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.6))(@types/react@19.2.14)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(@mantine/hooks@8.3.18(react@19.2.6))(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(recharts@3.8.1(@types/react@19.2.14)(react-dom@19.2.6(react@19.2.6))(react-is@19.2.6)(react@19.2.6)(redux@5.0.1)) '@mantine/core': specifier: 'catalog:' - version: 8.3.18(@mantine/hooks@8.3.18(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) + version: 8.3.18(@mantine/hooks@8.3.18(react@19.2.6))(@types/react@19.2.14)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) '@mantine/hooks': specifier: 'catalog:' - version: 8.3.18(react@19.2.5) + version: 8.3.18(react@19.2.6) '@tabler/icons-react': specifier: 'catalog:' - version: 3.43.0(react@19.2.5) + version: 3.43.0(react@19.2.6) '@tiptap/extension-color': specifier: 'catalog:' version: 3.22.5(@tiptap/extension-text-style@3.22.5(@tiptap/core@3.22.5(@tiptap/pm@3.22.5))) @@ -2853,7 +2853,7 @@ importers: version: 3.22.5(@tiptap/core@3.22.5(@tiptap/pm@3.22.5)) '@tiptap/react': specifier: 'catalog:' - version: 3.22.5(@floating-ui/dom@1.7.4)(@tiptap/core@3.22.5(@tiptap/pm@3.22.5))(@tiptap/pm@3.22.5)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) + version: 3.22.5(@floating-ui/dom@1.7.4)(@tiptap/core@3.22.5(@tiptap/pm@3.22.5))(@tiptap/pm@3.22.5)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) '@tiptap/starter-kit': specifier: 'catalog:' version: 3.22.5 @@ -2865,28 +2865,28 @@ importers: version: 1.11.20 mantine-form-zod-resolver: specifier: 'catalog:' - version: 1.3.0(@mantine/form@8.3.18(react@19.2.5))(zod@4.4.3) + version: 1.3.0(@mantine/form@8.3.18(react@19.2.6))(zod@4.4.3) mantine-react-table: specifier: 'catalog:' - version: 2.0.0-beta.9(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(@mantine/dates@8.3.18(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(@mantine/hooks@8.3.18(react@19.2.5))(dayjs@1.11.20)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(@mantine/hooks@8.3.18(react@19.2.5))(@tabler/icons-react@3.43.0(react@19.2.5))(clsx@2.1.1)(dayjs@1.11.20)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) + version: 2.0.0-beta.9(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.6))(@types/react@19.2.14)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(@mantine/dates@8.3.18(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.6))(@types/react@19.2.14)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(@mantine/hooks@8.3.18(react@19.2.6))(dayjs@1.11.20)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(@mantine/hooks@8.3.18(react@19.2.6))(@tabler/icons-react@3.43.0(react@19.2.6))(clsx@2.1.1)(dayjs@1.11.20)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) next: specifier: 'catalog:' - version: 16.2.6(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0) + version: 16.2.6(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(sass@1.99.0) react: specifier: 'catalog:' - version: 19.2.5 + version: 19.2.6 react-dom: specifier: 'catalog:' - version: 19.2.5(react@19.2.5) + version: 19.2.6(react@19.2.6) react-markdown: specifier: 'catalog:' - version: 10.1.0(@types/react@19.2.14)(react@19.2.5) + version: 10.1.0(@types/react@19.2.14)(react@19.2.6) react-quill-new: specifier: 'catalog:' - version: 3.8.3(quill-delta@5.1.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) + version: 3.8.3(quill-delta@5.1.0)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) recharts: specifier: 'catalog:' - version: 3.8.1(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react-is@19.2.5)(react@19.2.5)(redux@5.0.1) + version: 3.8.1(@types/react@19.2.14)(react-dom@19.2.6(react@19.2.6))(react-is@19.2.6)(react@19.2.6)(redux@5.0.1) video.js: specifier: 'catalog:' version: 8.23.7 @@ -9507,10 +9507,10 @@ packages: peerDependencies: react: ^15.3.0 || 16 || 17 || 18 - react-dom@19.2.5: - resolution: {integrity: sha512-J5bAZz+DXMMwW/wV3xzKke59Af6CHY7G4uYLN1OvBcKEsWOs4pQExj86BBKamxl/Ik5bx9whOrvBlSDfWzgSag==} + react-dom@19.2.6: + resolution: {integrity: sha512-0prMI+hvBbPjsWnxDLxlCGyM8PN6UuWjEUCYmZhO67xIV9Xasa/r/vDnq+Xyq4Lo27g8QSbO5YzARu0D1Sps3g==} peerDependencies: - react: ^19.2.5 + react: ^19.2.6 react-dropzone@15.0.0: resolution: {integrity: sha512-lGjYV/EoqEjEWPnmiSvH4v5IoIAwQM2W4Z1C0Q/Pw2xD0eVzKPS359BQTUMum+1fa0kH2nrKjuavmTPOGhpLPg==} @@ -9540,8 +9540,8 @@ packages: peerDependencies: react: ^16.8.4 || ^17.0.0 || ^18.0.0 - react-is@19.2.5: - resolution: {integrity: sha512-Dn0t8IQhCmeIT3wu+Apm1/YVsJXsGWi6k4sPdnBIdqMVtHtv0IGi6dcpNpNkNac0zB2uUAqNX3MHzN8c+z2rwQ==} + react-is@19.2.6: + resolution: {integrity: sha512-XjBR15BhXuylgWGuslhDKqlSayuqvqBX91BP8pauG8kd1zY8kotkNWbXksTCNRarse4kuGbe2kIY05ARtwNIvw==} react-markdown@10.1.0: resolution: {integrity: sha512-qKxVopLT/TyA6BX3Ue5NwabOsAzm0Q7kAPwq6L+wWDwisYs7R8vZ0nRXqq6rkueboxpkjvLGU9fWifiX/ZZFxQ==} @@ -9636,8 +9636,8 @@ packages: react: '>=16.6.0' react-dom: '>=16.6.0' - react@19.2.5: - resolution: {integrity: sha512-llUJLzz1zTUBrskt2pwZgLq59AemifIftw4aB7JxOqf1HY2FDaGDxgwpAPVzHU1kdWabH7FauP4i1oEeer2WCA==} + react@19.2.6: + resolution: {integrity: sha512-sfWGGfavi0xr8Pg0sVsyHMAOziVYKgPLNrS7ig+ivMNb3wbCBw3KxtflsGBAwD3gYQlE/AEZsTLgToRrSCjb0Q==} engines: {node: '>=0.10.0'} read-package-up@11.0.0: @@ -9688,7 +9688,7 @@ packages: peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 react-dom: ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 - react-is: ^19.2.5 + react-is: ^19.2.6 redis-errors@1.2.0: resolution: {integrity: sha512-1qny3OExCf0UvUV/5wpYKf2YwPcOqXzkwKKSmKHiE6ZMQs5heeE/c8eXK+PNllPvmjgAbfnsbpkGZWy8cBpn9w==} @@ -11528,36 +11528,36 @@ snapshots: enabled: 2.0.0 kuler: 2.0.0 - '@dnd-kit/accessibility@3.1.1(react@19.2.5)': + '@dnd-kit/accessibility@3.1.1(react@19.2.6)': dependencies: - react: 19.2.5 + react: 19.2.6 tslib: 2.8.1 - '@dnd-kit/core@6.3.1(react-dom@19.2.5(react@19.2.5))(react@19.2.5)': + '@dnd-kit/core@6.3.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': dependencies: - '@dnd-kit/accessibility': 3.1.1(react@19.2.5) - '@dnd-kit/utilities': 3.2.2(react@19.2.5) - react: 19.2.5 - react-dom: 19.2.5(react@19.2.5) + '@dnd-kit/accessibility': 3.1.1(react@19.2.6) + '@dnd-kit/utilities': 3.2.2(react@19.2.6) + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) tslib: 2.8.1 - '@dnd-kit/modifiers@9.0.0(@dnd-kit/core@6.3.1(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(react@19.2.5)': + '@dnd-kit/modifiers@9.0.0(@dnd-kit/core@6.3.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react@19.2.6)': dependencies: - '@dnd-kit/core': 6.3.1(react-dom@19.2.5(react@19.2.5))(react@19.2.5) - '@dnd-kit/utilities': 3.2.2(react@19.2.5) - react: 19.2.5 + '@dnd-kit/core': 6.3.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@dnd-kit/utilities': 3.2.2(react@19.2.6) + react: 19.2.6 tslib: 2.8.1 - '@dnd-kit/sortable@10.0.0(@dnd-kit/core@6.3.1(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(react@19.2.5)': + '@dnd-kit/sortable@10.0.0(@dnd-kit/core@6.3.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react@19.2.6)': dependencies: - '@dnd-kit/core': 6.3.1(react-dom@19.2.5(react@19.2.5))(react@19.2.5) - '@dnd-kit/utilities': 3.2.2(react@19.2.5) - react: 19.2.5 + '@dnd-kit/core': 6.3.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@dnd-kit/utilities': 3.2.2(react@19.2.6) + react: 19.2.6 tslib: 2.8.1 - '@dnd-kit/utilities@3.2.2(react@19.2.5)': + '@dnd-kit/utilities@3.2.2(react@19.2.6)': dependencies: - react: 19.2.5 + react: 19.2.6 tslib: 2.8.1 '@drizzle-team/brocli@0.10.2': {} @@ -11891,18 +11891,18 @@ snapshots: '@floating-ui/core': 1.7.3 '@floating-ui/utils': 0.2.10 - '@floating-ui/react-dom@2.1.6(react-dom@19.2.5(react@19.2.5))(react@19.2.5)': + '@floating-ui/react-dom@2.1.6(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': dependencies: '@floating-ui/dom': 1.7.4 - react: 19.2.5 - react-dom: 19.2.5(react@19.2.5) + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) - '@floating-ui/react@0.27.16(react-dom@19.2.5(react@19.2.5))(react@19.2.5)': + '@floating-ui/react@0.27.16(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': dependencies: - '@floating-ui/react-dom': 2.1.6(react-dom@19.2.5(react@19.2.5))(react@19.2.5) + '@floating-ui/react-dom': 2.1.6(react-dom@19.2.6(react@19.2.6))(react@19.2.6) '@floating-ui/utils': 0.2.10 - react: 19.2.5 - react-dom: 19.2.5(react@19.2.5) + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) tabbable: 6.2.0 '@floating-ui/utils@0.2.10': {} @@ -12333,95 +12333,95 @@ snapshots: js-base64: 3.7.8 optional: true - '@mantine/charts@8.3.18(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(@mantine/hooks@8.3.18(react@19.2.5))(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(recharts@3.8.1(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react-is@19.2.5)(react@19.2.5)(redux@5.0.1))': + '@mantine/charts@8.3.18(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.6))(@types/react@19.2.14)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(@mantine/hooks@8.3.18(react@19.2.6))(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(recharts@3.8.1(@types/react@19.2.14)(react-dom@19.2.6(react@19.2.6))(react-is@19.2.6)(react@19.2.6)(redux@5.0.1))': dependencies: - '@mantine/core': 8.3.18(@mantine/hooks@8.3.18(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) - '@mantine/hooks': 8.3.18(react@19.2.5) - react: 19.2.5 - react-dom: 19.2.5(react@19.2.5) - recharts: 3.8.1(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react-is@19.2.5)(react@19.2.5)(redux@5.0.1) + '@mantine/core': 8.3.18(@mantine/hooks@8.3.18(react@19.2.6))(@types/react@19.2.14)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@mantine/hooks': 8.3.18(react@19.2.6) + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) + recharts: 3.8.1(@types/react@19.2.14)(react-dom@19.2.6(react@19.2.6))(react-is@19.2.6)(react@19.2.6)(redux@5.0.1) '@mantine/colors-generator@8.3.18(chroma-js@3.2.0)': dependencies: chroma-js: 3.2.0 - '@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)': + '@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.6))(@types/react@19.2.14)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': dependencies: - '@floating-ui/react': 0.27.16(react-dom@19.2.5(react@19.2.5))(react@19.2.5) - '@mantine/hooks': 8.3.18(react@19.2.5) + '@floating-ui/react': 0.27.16(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@mantine/hooks': 8.3.18(react@19.2.6) clsx: 2.1.1 - react: 19.2.5 - react-dom: 19.2.5(react@19.2.5) - react-number-format: 5.4.4(react-dom@19.2.5(react@19.2.5))(react@19.2.5) - react-remove-scroll: 2.7.1(@types/react@19.2.14)(react@19.2.5) - react-textarea-autosize: 8.5.9(@types/react@19.2.14)(react@19.2.5) + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) + react-number-format: 5.4.4(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + react-remove-scroll: 2.7.1(@types/react@19.2.14)(react@19.2.6) + react-textarea-autosize: 8.5.9(@types/react@19.2.14)(react@19.2.6) type-fest: 4.41.0 transitivePeerDependencies: - '@types/react' - '@mantine/dates@8.3.18(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(@mantine/hooks@8.3.18(react@19.2.5))(dayjs@1.11.20)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)': + '@mantine/dates@8.3.18(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.6))(@types/react@19.2.14)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(@mantine/hooks@8.3.18(react@19.2.6))(dayjs@1.11.20)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': dependencies: - '@mantine/core': 8.3.18(@mantine/hooks@8.3.18(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) - '@mantine/hooks': 8.3.18(react@19.2.5) + '@mantine/core': 8.3.18(@mantine/hooks@8.3.18(react@19.2.6))(@types/react@19.2.14)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@mantine/hooks': 8.3.18(react@19.2.6) clsx: 2.1.1 dayjs: 1.11.20 - react: 19.2.5 - react-dom: 19.2.5(react@19.2.5) + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) - '@mantine/dropzone@8.3.18(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(@mantine/hooks@8.3.18(react@19.2.5))(react-dom@19.2.5(react@19.2.5))(react@19.2.5)': + '@mantine/dropzone@8.3.18(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.6))(@types/react@19.2.14)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(@mantine/hooks@8.3.18(react@19.2.6))(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': dependencies: - '@mantine/core': 8.3.18(@mantine/hooks@8.3.18(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) - '@mantine/hooks': 8.3.18(react@19.2.5) - react: 19.2.5 - react-dom: 19.2.5(react@19.2.5) - react-dropzone: 15.0.0(react@19.2.5) + '@mantine/core': 8.3.18(@mantine/hooks@8.3.18(react@19.2.6))(@types/react@19.2.14)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@mantine/hooks': 8.3.18(react@19.2.6) + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) + react-dropzone: 15.0.0(react@19.2.6) - '@mantine/form@8.3.18(react@19.2.5)': + '@mantine/form@8.3.18(react@19.2.6)': dependencies: fast-deep-equal: 3.1.3 klona: 2.0.6 - react: 19.2.5 + react: 19.2.6 - '@mantine/hooks@8.3.18(react@19.2.5)': + '@mantine/hooks@8.3.18(react@19.2.6)': dependencies: - react: 19.2.5 + react: 19.2.6 - '@mantine/modals@8.3.18(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(@mantine/hooks@8.3.18(react@19.2.5))(react-dom@19.2.5(react@19.2.5))(react@19.2.5)': + '@mantine/modals@8.3.18(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.6))(@types/react@19.2.14)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(@mantine/hooks@8.3.18(react@19.2.6))(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': dependencies: - '@mantine/core': 8.3.18(@mantine/hooks@8.3.18(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) - '@mantine/hooks': 8.3.18(react@19.2.5) - react: 19.2.5 - react-dom: 19.2.5(react@19.2.5) + '@mantine/core': 8.3.18(@mantine/hooks@8.3.18(react@19.2.6))(@types/react@19.2.14)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@mantine/hooks': 8.3.18(react@19.2.6) + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) - '@mantine/notifications@8.3.18(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(@mantine/hooks@8.3.18(react@19.2.5))(react-dom@19.2.5(react@19.2.5))(react@19.2.5)': + '@mantine/notifications@8.3.18(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.6))(@types/react@19.2.14)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(@mantine/hooks@8.3.18(react@19.2.6))(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': dependencies: - '@mantine/core': 8.3.18(@mantine/hooks@8.3.18(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) - '@mantine/hooks': 8.3.18(react@19.2.5) - '@mantine/store': 8.3.18(react@19.2.5) - react: 19.2.5 - react-dom: 19.2.5(react@19.2.5) - react-transition-group: 4.4.5(react-dom@19.2.5(react@19.2.5))(react@19.2.5) + '@mantine/core': 8.3.18(@mantine/hooks@8.3.18(react@19.2.6))(@types/react@19.2.14)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@mantine/hooks': 8.3.18(react@19.2.6) + '@mantine/store': 8.3.18(react@19.2.6) + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) + react-transition-group: 4.4.5(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - '@mantine/spotlight@8.3.18(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(@mantine/hooks@8.3.18(react@19.2.5))(react-dom@19.2.5(react@19.2.5))(react@19.2.5)': + '@mantine/spotlight@8.3.18(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.6))(@types/react@19.2.14)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(@mantine/hooks@8.3.18(react@19.2.6))(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': dependencies: - '@mantine/core': 8.3.18(@mantine/hooks@8.3.18(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) - '@mantine/hooks': 8.3.18(react@19.2.5) - '@mantine/store': 8.3.18(react@19.2.5) - react: 19.2.5 - react-dom: 19.2.5(react@19.2.5) + '@mantine/core': 8.3.18(@mantine/hooks@8.3.18(react@19.2.6))(@types/react@19.2.14)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@mantine/hooks': 8.3.18(react@19.2.6) + '@mantine/store': 8.3.18(react@19.2.6) + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) - '@mantine/store@8.3.18(react@19.2.5)': + '@mantine/store@8.3.18(react@19.2.6)': dependencies: - react: 19.2.5 + react: 19.2.6 - '@mantine/tiptap@8.3.18(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(@mantine/hooks@8.3.18(react@19.2.5))(@tiptap/extension-link@3.22.5(@tiptap/core@3.22.5(@tiptap/pm@3.22.5))(@tiptap/pm@3.22.5))(@tiptap/react@3.22.5(@floating-ui/dom@1.7.4)(@tiptap/core@3.22.5(@tiptap/pm@3.22.5))(@tiptap/pm@3.22.5)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(react-dom@19.2.5(react@19.2.5))(react@19.2.5)': + '@mantine/tiptap@8.3.18(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.6))(@types/react@19.2.14)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(@mantine/hooks@8.3.18(react@19.2.6))(@tiptap/extension-link@3.22.5(@tiptap/core@3.22.5(@tiptap/pm@3.22.5))(@tiptap/pm@3.22.5))(@tiptap/react@3.22.5(@floating-ui/dom@1.7.4)(@tiptap/core@3.22.5(@tiptap/pm@3.22.5))(@tiptap/pm@3.22.5)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': dependencies: - '@mantine/core': 8.3.18(@mantine/hooks@8.3.18(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) - '@mantine/hooks': 8.3.18(react@19.2.5) + '@mantine/core': 8.3.18(@mantine/hooks@8.3.18(react@19.2.6))(@types/react@19.2.14)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@mantine/hooks': 8.3.18(react@19.2.6) '@tiptap/extension-link': 3.22.5(@tiptap/core@3.22.5(@tiptap/pm@3.22.5))(@tiptap/pm@3.22.5) - '@tiptap/react': 3.22.5(@floating-ui/dom@1.7.4)(@tiptap/core@3.22.5(@tiptap/pm@3.22.5))(@tiptap/pm@3.22.5)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) - react: 19.2.5 - react-dom: 19.2.5(react@19.2.5) + '@tiptap/react': 3.22.5(@floating-ui/dom@1.7.4)(@tiptap/core@3.22.5(@tiptap/pm@3.22.5))(@tiptap/pm@3.22.5)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) '@million/install@1.0.14': dependencies: @@ -12782,7 +12782,7 @@ snapshots: '@pwshub/bellajs@13.0.2': {} - '@reduxjs/toolkit@2.11.2(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.5)(redux@5.0.1))(react@19.2.5)': + '@reduxjs/toolkit@2.11.2(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.6)(redux@5.0.1))(react@19.2.6)': dependencies: '@standard-schema/spec': 1.1.0 '@standard-schema/utils': 0.3.0 @@ -12791,8 +12791,8 @@ snapshots: redux-thunk: 3.1.0(redux@5.0.1) reselect: 5.1.1 optionalDependencies: - react: 19.2.5 - react-redux: 9.2.0(@types/react@19.2.14)(react@19.2.5)(redux@5.0.1) + react: 19.2.6 + react-redux: 9.2.0(@types/react@19.2.14)(react@19.2.6)(redux@5.0.1) '@rolldown/pluginutils@1.0.0-rc.3': {} @@ -13509,10 +13509,10 @@ snapshots: typescript: 5.9.3 zod: 4.4.3 - '@tabler/icons-react@3.43.0(react@19.2.5)': + '@tabler/icons-react@3.43.0(react@19.2.6)': dependencies: '@tabler/icons': 3.43.0 - react: 19.2.5 + react: 19.2.6 '@tabler/icons@3.43.0': {} @@ -13524,34 +13524,34 @@ snapshots: '@tanstack/query-devtools@5.100.9': {} - '@tanstack/react-query-devtools@5.100.9(@tanstack/react-query@5.100.9(react@19.2.5))(react@19.2.5)': + '@tanstack/react-query-devtools@5.100.9(@tanstack/react-query@5.100.9(react@19.2.6))(react@19.2.6)': dependencies: '@tanstack/query-devtools': 5.100.9 - '@tanstack/react-query': 5.100.9(react@19.2.5) - react: 19.2.5 + '@tanstack/react-query': 5.100.9(react@19.2.6) + react: 19.2.6 - '@tanstack/react-query-next-experimental@5.100.9(@tanstack/react-query@5.100.9(react@19.2.5))(next@16.2.6(@babel/core@7.26.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0))(react@19.2.5)': + '@tanstack/react-query-next-experimental@5.100.9(@tanstack/react-query@5.100.9(react@19.2.6))(next@16.2.6(@babel/core@7.26.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(sass@1.99.0))(react@19.2.6)': dependencies: - '@tanstack/react-query': 5.100.9(react@19.2.5) - next: 16.2.6(@babel/core@7.26.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0) - react: 19.2.5 + '@tanstack/react-query': 5.100.9(react@19.2.6) + next: 16.2.6(@babel/core@7.26.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(sass@1.99.0) + react: 19.2.6 - '@tanstack/react-query@5.100.9(react@19.2.5)': + '@tanstack/react-query@5.100.9(react@19.2.6)': dependencies: '@tanstack/query-core': 5.100.9 - react: 19.2.5 + react: 19.2.6 - '@tanstack/react-table@8.20.5(react-dom@19.2.5(react@19.2.5))(react@19.2.5)': + '@tanstack/react-table@8.20.5(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': dependencies: '@tanstack/table-core': 8.20.5 - react: 19.2.5 - react-dom: 19.2.5(react@19.2.5) + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) - '@tanstack/react-virtual@3.11.2(react-dom@19.2.5(react@19.2.5))(react@19.2.5)': + '@tanstack/react-virtual@3.11.2(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': dependencies: '@tanstack/virtual-core': 3.11.2 - react: 19.2.5 - react-dom: 19.2.5(react@19.2.5) + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) '@tanstack/table-core@8.20.5': {} @@ -13754,7 +13754,7 @@ snapshots: prosemirror-transform: 1.10.2 prosemirror-view: 1.41.4 - '@tiptap/react@3.22.5(@floating-ui/dom@1.7.4)(@tiptap/core@3.22.5(@tiptap/pm@3.22.5))(@tiptap/pm@3.22.5)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)': + '@tiptap/react@3.22.5(@floating-ui/dom@1.7.4)(@tiptap/core@3.22.5(@tiptap/pm@3.22.5))(@tiptap/pm@3.22.5)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': dependencies: '@tiptap/core': 3.22.5(@tiptap/pm@3.22.5) '@tiptap/pm': 3.22.5 @@ -13762,9 +13762,9 @@ snapshots: '@types/react-dom': 19.2.3(@types/react@19.2.14) '@types/use-sync-external-store': 0.0.6 fast-equals: 5.3.3 - react: 19.2.5 - react-dom: 19.2.5(react@19.2.5) - use-sync-external-store: 1.4.0(react@19.2.5) + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) + use-sync-external-store: 1.4.0(react@19.2.6) optionalDependencies: '@tiptap/extension-bubble-menu': 3.22.5(@tiptap/core@3.22.5(@tiptap/pm@3.22.5))(@tiptap/pm@3.22.5) '@tiptap/extension-floating-menu': 3.22.5(@floating-ui/dom@1.7.4)(@tiptap/core@3.22.5(@tiptap/pm@3.22.5))(@tiptap/pm@3.22.5) @@ -13811,36 +13811,36 @@ snapshots: '@trpc/server': 11.17.0(typescript@5.9.3) typescript: 5.9.3 - '@trpc/next@11.17.0(@tanstack/react-query@5.100.9(react@19.2.5))(@trpc/client@11.17.0(@trpc/server@11.17.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/react-query@11.17.0(@tanstack/react-query@5.100.9(react@19.2.5))(@trpc/client@11.17.0(@trpc/server@11.17.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.17.0(typescript@5.9.3))(react@19.2.5)(typescript@5.9.3))(@trpc/server@11.17.0(typescript@5.9.3))(next@16.2.6(@babel/core@7.26.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0))(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(typescript@5.9.3)': + '@trpc/next@11.17.0(@tanstack/react-query@5.100.9(react@19.2.6))(@trpc/client@11.17.0(@trpc/server@11.17.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/react-query@11.17.0(@tanstack/react-query@5.100.9(react@19.2.6))(@trpc/client@11.17.0(@trpc/server@11.17.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.17.0(typescript@5.9.3))(react@19.2.6)(typescript@5.9.3))(@trpc/server@11.17.0(typescript@5.9.3))(next@16.2.6(@babel/core@7.26.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(sass@1.99.0))(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(typescript@5.9.3)': dependencies: '@trpc/client': 11.17.0(@trpc/server@11.17.0(typescript@5.9.3))(typescript@5.9.3) '@trpc/server': 11.17.0(typescript@5.9.3) - next: 16.2.6(@babel/core@7.26.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0) - react: 19.2.5 - react-dom: 19.2.5(react@19.2.5) + next: 16.2.6(@babel/core@7.26.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(sass@1.99.0) + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) typescript: 5.9.3 optionalDependencies: - '@tanstack/react-query': 5.100.9(react@19.2.5) - '@trpc/react-query': 11.17.0(@tanstack/react-query@5.100.9(react@19.2.5))(@trpc/client@11.17.0(@trpc/server@11.17.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.17.0(typescript@5.9.3))(react@19.2.5)(typescript@5.9.3) + '@tanstack/react-query': 5.100.9(react@19.2.6) + '@trpc/react-query': 11.17.0(@tanstack/react-query@5.100.9(react@19.2.6))(@trpc/client@11.17.0(@trpc/server@11.17.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.17.0(typescript@5.9.3))(react@19.2.6)(typescript@5.9.3) - '@trpc/react-query@11.17.0(@tanstack/react-query@5.100.9(react@19.2.5))(@trpc/client@11.17.0(@trpc/server@11.17.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.17.0(typescript@5.9.3))(react@19.2.5)(typescript@5.9.3)': + '@trpc/react-query@11.17.0(@tanstack/react-query@5.100.9(react@19.2.6))(@trpc/client@11.17.0(@trpc/server@11.17.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.17.0(typescript@5.9.3))(react@19.2.6)(typescript@5.9.3)': dependencies: - '@tanstack/react-query': 5.100.9(react@19.2.5) + '@tanstack/react-query': 5.100.9(react@19.2.6) '@trpc/client': 11.17.0(@trpc/server@11.17.0(typescript@5.9.3))(typescript@5.9.3) '@trpc/server': 11.17.0(typescript@5.9.3) - react: 19.2.5 + react: 19.2.6 typescript: 5.9.3 '@trpc/server@11.17.0(typescript@5.9.3)': dependencies: typescript: 5.9.3 - '@trpc/tanstack-react-query@11.17.0(@tanstack/react-query@5.100.9(react@19.2.5))(@trpc/client@11.17.0(@trpc/server@11.17.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.17.0(typescript@5.9.3))(react@19.2.5)(typescript@5.9.3)': + '@trpc/tanstack-react-query@11.17.0(@tanstack/react-query@5.100.9(react@19.2.6))(@trpc/client@11.17.0(@trpc/server@11.17.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.17.0(typescript@5.9.3))(react@19.2.6)(typescript@5.9.3)': dependencies: - '@tanstack/react-query': 5.100.9(react@19.2.5) + '@tanstack/react-query': 5.100.9(react@19.2.6) '@trpc/client': 11.17.0(@trpc/server@11.17.0(typescript@5.9.3))(typescript@5.9.3) '@trpc/server': 11.17.0(typescript@5.9.3) - react: 19.2.5 + react: 19.2.6 typescript: 5.9.3 '@tsconfig/svelte@1.0.13': {} @@ -16770,19 +16770,19 @@ snapshots: jose@6.0.8: {} - jotai@2.20.0(@babel/core@7.26.0)(@babel/template@7.28.6)(@types/react@19.2.14)(react@19.2.5): + jotai@2.20.0(@babel/core@7.26.0)(@babel/template@7.28.6)(@types/react@19.2.14)(react@19.2.6): optionalDependencies: '@babel/core': 7.26.0 '@babel/template': 7.28.6 '@types/react': 19.2.14 - react: 19.2.5 + react: 19.2.6 - jotai@2.20.0(@babel/core@7.29.0)(@babel/template@7.28.6)(@types/react@19.2.14)(react@19.2.5): + jotai@2.20.0(@babel/core@7.29.0)(@babel/template@7.28.6)(@types/react@19.2.14)(react@19.2.6): optionalDependencies: '@babel/core': 7.29.0 '@babel/template': 7.28.6 '@types/react': 19.2.14 - react: 19.2.5 + react: 19.2.6 js-base64@3.7.8: optional: true @@ -17023,24 +17023,24 @@ snapshots: dependencies: semver: 7.7.4 - mantine-form-zod-resolver@1.3.0(@mantine/form@8.3.18(react@19.2.5))(zod@4.4.3): + mantine-form-zod-resolver@1.3.0(@mantine/form@8.3.18(react@19.2.6))(zod@4.4.3): dependencies: - '@mantine/form': 8.3.18(react@19.2.5) + '@mantine/form': 8.3.18(react@19.2.6) zod: 4.4.3 - mantine-react-table@2.0.0-beta.9(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(@mantine/dates@8.3.18(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(@mantine/hooks@8.3.18(react@19.2.5))(dayjs@1.11.20)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(@mantine/hooks@8.3.18(react@19.2.5))(@tabler/icons-react@3.43.0(react@19.2.5))(clsx@2.1.1)(dayjs@1.11.20)(react-dom@19.2.5(react@19.2.5))(react@19.2.5): + mantine-react-table@2.0.0-beta.9(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.6))(@types/react@19.2.14)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(@mantine/dates@8.3.18(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.6))(@types/react@19.2.14)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(@mantine/hooks@8.3.18(react@19.2.6))(dayjs@1.11.20)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(@mantine/hooks@8.3.18(react@19.2.6))(@tabler/icons-react@3.43.0(react@19.2.6))(clsx@2.1.1)(dayjs@1.11.20)(react-dom@19.2.6(react@19.2.6))(react@19.2.6): dependencies: - '@mantine/core': 8.3.18(@mantine/hooks@8.3.18(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) - '@mantine/dates': 8.3.18(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5))(@mantine/hooks@8.3.18(react@19.2.5))(dayjs@1.11.20)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) - '@mantine/hooks': 8.3.18(react@19.2.5) - '@tabler/icons-react': 3.43.0(react@19.2.5) + '@mantine/core': 8.3.18(@mantine/hooks@8.3.18(react@19.2.6))(@types/react@19.2.14)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@mantine/dates': 8.3.18(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.6))(@types/react@19.2.14)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(@mantine/hooks@8.3.18(react@19.2.6))(dayjs@1.11.20)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@mantine/hooks': 8.3.18(react@19.2.6) + '@tabler/icons-react': 3.43.0(react@19.2.6) '@tanstack/match-sorter-utils': 8.19.4 - '@tanstack/react-table': 8.20.5(react-dom@19.2.5(react@19.2.5))(react@19.2.5) - '@tanstack/react-virtual': 3.11.2(react-dom@19.2.5(react@19.2.5))(react@19.2.5) + '@tanstack/react-table': 8.20.5(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@tanstack/react-virtual': 3.11.2(react-dom@19.2.6(react@19.2.6))(react@19.2.6) clsx: 2.1.1 dayjs: 1.11.20 - react: 19.2.5 - react-dom: 19.2.5(react@19.2.5) + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) maria2@0.4.1: {} @@ -17407,41 +17407,41 @@ snapshots: nerf-dart@1.0.0: {} - next-auth@5.0.0-beta.31(next@16.2.6(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0))(react@19.2.5): + next-auth@5.0.0-beta.31(next@16.2.6(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(sass@1.99.0))(react@19.2.6): dependencies: '@auth/core': 0.41.2 - next: 16.2.6(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0) - react: 19.2.5 + next: 16.2.6(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(sass@1.99.0) + react: 19.2.6 next-intl-swc-plugin-extractor@4.11.0: {} - next-intl@4.11.0(next@16.2.6(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0))(react@19.2.5)(typescript@5.9.3): + next-intl@4.11.0(next@16.2.6(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(sass@1.99.0))(react@19.2.6)(typescript@5.9.3): dependencies: '@formatjs/intl-localematcher': 0.8.1 '@parcel/watcher': 2.4.1 '@swc/core': 1.15.3 icu-minify: 4.11.0 negotiator: 1.0.0 - next: 16.2.6(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0) + next: 16.2.6(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(sass@1.99.0) next-intl-swc-plugin-extractor: 4.11.0 po-parser: 2.1.1 - react: 19.2.5 - use-intl: 4.11.0(react@19.2.5) + react: 19.2.6 + use-intl: 4.11.0(react@19.2.6) optionalDependencies: typescript: 5.9.3 transitivePeerDependencies: - '@swc/helpers' - next@16.2.6(@babel/core@7.26.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0): + next@16.2.6(@babel/core@7.26.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(sass@1.99.0): dependencies: '@next/env': 16.2.6 '@swc/helpers': 0.5.15 baseline-browser-mapping: 2.9.19 caniuse-lite: 1.0.30001766 postcss: 8.4.31 - react: 19.2.5 - react-dom: 19.2.5(react@19.2.5) - styled-jsx: 5.1.6(@babel/core@7.26.0)(react@19.2.5) + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) + styled-jsx: 5.1.6(@babel/core@7.26.0)(react@19.2.6) optionalDependencies: '@next/swc-darwin-arm64': 16.2.6 '@next/swc-darwin-x64': 16.2.6 @@ -17458,16 +17458,16 @@ snapshots: - '@babel/core' - babel-plugin-macros - next@16.2.6(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(sass@1.99.0): + next@16.2.6(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(sass@1.99.0): dependencies: '@next/env': 16.2.6 '@swc/helpers': 0.5.15 baseline-browser-mapping: 2.9.19 caniuse-lite: 1.0.30001766 postcss: 8.4.31 - react: 19.2.5 - react-dom: 19.2.5(react@19.2.5) - styled-jsx: 5.1.6(@babel/core@7.29.0)(react@19.2.5) + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) + styled-jsx: 5.1.6(@babel/core@7.29.0)(react@19.2.6) optionalDependencies: '@next/swc-darwin-arm64': 16.2.6 '@next/swc-darwin-x64': 16.2.6 @@ -17999,7 +17999,7 @@ snapshots: dependencies: loose-envify: 1.4.0 object-assign: 4.1.1 - react-is: 19.2.5 + react-is: 19.2.6 proper-lockfile@4.1.2: dependencies: @@ -18179,52 +18179,52 @@ snapshots: minimist: 1.2.8 strip-json-comments: 2.0.1 - react-copy-to-clipboard@5.1.0(react@19.2.5): + react-copy-to-clipboard@5.1.0(react@19.2.6): dependencies: copy-to-clipboard: 3.3.3 prop-types: 15.8.1 - react: 19.2.5 + react: 19.2.6 - react-debounce-input@3.3.0(react@19.2.5): + react-debounce-input@3.3.0(react@19.2.6): dependencies: lodash.debounce: 4.0.8 prop-types: 15.8.1 - react: 19.2.5 + react: 19.2.6 - react-dom@19.2.5(react@19.2.5): + react-dom@19.2.6(react@19.2.6): dependencies: - react: 19.2.5 + react: 19.2.6 scheduler: 0.27.0 - react-dropzone@15.0.0(react@19.2.5): + react-dropzone@15.0.0(react@19.2.6): dependencies: attr-accept: 2.2.5 file-selector: 2.1.2 prop-types: 15.8.1 - react: 19.2.5 + react: 19.2.6 - react-error-boundary@6.1.1(react@19.2.5): + react-error-boundary@6.1.1(react@19.2.6): dependencies: - react: 19.2.5 + react: 19.2.6 react-immutable-proptypes@2.2.0(immutable@3.8.2): dependencies: immutable: 3.8.2 invariant: 2.2.4 - react-immutable-pure-component@2.2.2(immutable@3.8.2)(react-dom@19.2.5(react@19.2.5))(react@19.2.5): + react-immutable-pure-component@2.2.2(immutable@3.8.2)(react-dom@19.2.6(react@19.2.6))(react@19.2.6): dependencies: immutable: 3.8.2 - react: 19.2.5 - react-dom: 19.2.5(react@19.2.5) + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) - react-inspector@6.0.2(react@19.2.5): + react-inspector@6.0.2(react@19.2.6): dependencies: - react: 19.2.5 + react: 19.2.6 - react-is@19.2.5: {} + react-is@19.2.6: {} - react-markdown@10.1.0(@types/react@19.2.14)(react@19.2.5): + react-markdown@10.1.0(@types/react@19.2.14)(react@19.2.6): dependencies: '@types/hast': 3.0.4 '@types/mdast': 4.0.4 @@ -18233,7 +18233,7 @@ snapshots: hast-util-to-jsx-runtime: 2.3.6 html-url-attributes: 3.0.1 mdast-util-to-hast: 13.2.0 - react: 19.2.5 + react: 19.2.6 remark-parse: 11.0.0 remark-rehype: 11.1.1 unified: 11.0.5 @@ -18242,46 +18242,46 @@ snapshots: transitivePeerDependencies: - supports-color - react-number-format@5.4.4(react-dom@19.2.5(react@19.2.5))(react@19.2.5): + react-number-format@5.4.4(react-dom@19.2.6(react@19.2.6))(react@19.2.6): dependencies: - react: 19.2.5 - react-dom: 19.2.5(react@19.2.5) + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) - react-quill-new@3.8.3(quill-delta@5.1.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5): + react-quill-new@3.8.3(quill-delta@5.1.0)(react-dom@19.2.6(react@19.2.6))(react@19.2.6): dependencies: lodash-es: 4.17.21 quill: 2.0.3 quill-delta: 5.1.0 - react: 19.2.5 - react-dom: 19.2.5(react@19.2.5) + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) - react-redux@9.2.0(@types/react@19.2.14)(react@19.2.5)(redux@5.0.1): + react-redux@9.2.0(@types/react@19.2.14)(react@19.2.6)(redux@5.0.1): dependencies: '@types/use-sync-external-store': 0.0.6 - react: 19.2.5 - use-sync-external-store: 1.4.0(react@19.2.5) + react: 19.2.6 + use-sync-external-store: 1.4.0(react@19.2.6) optionalDependencies: '@types/react': 19.2.14 redux: 5.0.1 react-refresh@0.18.0: {} - react-remove-scroll-bar@2.3.8(@types/react@19.2.14)(react@19.2.5): + react-remove-scroll-bar@2.3.8(@types/react@19.2.14)(react@19.2.6): dependencies: - react: 19.2.5 - react-style-singleton: 2.2.3(@types/react@19.2.14)(react@19.2.5) + react: 19.2.6 + react-style-singleton: 2.2.3(@types/react@19.2.14)(react@19.2.6) tslib: 2.8.1 optionalDependencies: '@types/react': 19.2.14 - react-remove-scroll@2.7.1(@types/react@19.2.14)(react@19.2.5): + react-remove-scroll@2.7.1(@types/react@19.2.14)(react@19.2.6): dependencies: - react: 19.2.5 - react-remove-scroll-bar: 2.3.8(@types/react@19.2.14)(react@19.2.5) - react-style-singleton: 2.2.3(@types/react@19.2.14)(react@19.2.5) + react: 19.2.6 + react-remove-scroll-bar: 2.3.8(@types/react@19.2.14)(react@19.2.6) + react-style-singleton: 2.2.3(@types/react@19.2.14)(react@19.2.6) tslib: 2.8.1 - use-callback-ref: 1.3.3(@types/react@19.2.14)(react@19.2.5) - use-sidecar: 1.1.3(@types/react@19.2.14)(react@19.2.5) + use-callback-ref: 1.3.3(@types/react@19.2.14)(react@19.2.6) + use-sidecar: 1.1.3(@types/react@19.2.14)(react@19.2.6) optionalDependencies: '@types/react': 19.2.14 @@ -18293,48 +18293,48 @@ snapshots: mri: 1.2.0 playwright: 1.49.0 - react-simple-code-editor@0.14.1(react-dom@19.2.5(react@19.2.5))(react@19.2.5): + react-simple-code-editor@0.14.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6): dependencies: - react: 19.2.5 - react-dom: 19.2.5(react@19.2.5) + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) - react-style-singleton@2.2.3(@types/react@19.2.14)(react@19.2.5): + react-style-singleton@2.2.3(@types/react@19.2.14)(react@19.2.6): dependencies: get-nonce: 1.0.1 - react: 19.2.5 + react: 19.2.6 tslib: 2.8.1 optionalDependencies: '@types/react': 19.2.14 - react-syntax-highlighter@16.1.0(react@19.2.5): + react-syntax-highlighter@16.1.0(react@19.2.6): dependencies: '@babel/runtime': 7.29.2 highlight.js: 10.7.3 highlightjs-vue: 1.0.0 lowlight: 1.20.0 prismjs: 1.30.0 - react: 19.2.5 + react: 19.2.6 refractor: 5.0.0 - react-textarea-autosize@8.5.9(@types/react@19.2.14)(react@19.2.5): + react-textarea-autosize@8.5.9(@types/react@19.2.14)(react@19.2.6): dependencies: '@babel/runtime': 7.29.2 - react: 19.2.5 - use-composed-ref: 1.3.0(react@19.2.5) - use-latest: 1.2.1(@types/react@19.2.14)(react@19.2.5) + react: 19.2.6 + use-composed-ref: 1.3.0(react@19.2.6) + use-latest: 1.2.1(@types/react@19.2.14)(react@19.2.6) transitivePeerDependencies: - '@types/react' - react-transition-group@4.4.5(react-dom@19.2.5(react@19.2.5))(react@19.2.5): + react-transition-group@4.4.5(react-dom@19.2.6(react@19.2.6))(react@19.2.6): dependencies: '@babel/runtime': 7.29.2 dom-helpers: 5.2.1 loose-envify: 1.4.0 prop-types: 15.8.1 - react: 19.2.5 - react-dom: 19.2.5(react@19.2.5) + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) - react@19.2.5: {} + react@19.2.6: {} read-package-up@11.0.0: dependencies: @@ -18404,21 +18404,21 @@ snapshots: tiny-invariant: 1.3.3 tslib: 2.8.1 - recharts@3.8.1(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react-is@19.2.5)(react@19.2.5)(redux@5.0.1): + recharts@3.8.1(@types/react@19.2.14)(react-dom@19.2.6(react@19.2.6))(react-is@19.2.6)(react@19.2.6)(redux@5.0.1): dependencies: - '@reduxjs/toolkit': 2.11.2(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.5)(redux@5.0.1))(react@19.2.5) + '@reduxjs/toolkit': 2.11.2(react-redux@9.2.0(@types/react@19.2.14)(react@19.2.6)(redux@5.0.1))(react@19.2.6) clsx: 2.1.1 decimal.js-light: 2.5.1 es-toolkit: 1.46.1 eventemitter3: 5.0.4 immer: 10.2.0 - react: 19.2.5 - react-dom: 19.2.5(react@19.2.5) - react-is: 19.2.5 - react-redux: 9.2.0(@types/react@19.2.14)(react@19.2.5)(redux@5.0.1) + react: 19.2.6 + react-dom: 19.2.6(react@19.2.6) + react-is: 19.2.6 + react-redux: 9.2.0(@types/react@19.2.14)(react@19.2.6)(redux@5.0.1) reselect: 5.1.1 tiny-invariant: 1.3.3 - use-sync-external-store: 1.4.0(react@19.2.5) + use-sync-external-store: 1.4.0(react@19.2.6) victory-vendor: 37.3.6 transitivePeerDependencies: - '@types/react' @@ -19120,17 +19120,17 @@ snapshots: dependencies: inline-style-parser: 0.2.4 - styled-jsx@5.1.6(@babel/core@7.26.0)(react@19.2.5): + styled-jsx@5.1.6(@babel/core@7.26.0)(react@19.2.6): dependencies: client-only: 0.0.1 - react: 19.2.5 + react: 19.2.6 optionalDependencies: '@babel/core': 7.26.0 - styled-jsx@5.1.6(@babel/core@7.29.0)(react@19.2.5): + styled-jsx@5.1.6(@babel/core@7.29.0)(react@19.2.6): dependencies: client-only: 0.0.1 - react: 19.2.5 + react: 19.2.6 optionalDependencies: '@babel/core': 7.29.0 @@ -19197,7 +19197,7 @@ snapshots: transitivePeerDependencies: - debug - swagger-ui-react@5.32.5(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5): + swagger-ui-react@5.32.5(@types/react@19.2.14)(react-dom@19.2.6(react@19.2.6))(react@19.2.6): dependencies: '@babel/runtime-corejs3': 7.27.1 '@scarf/scarf': 1.4.0 @@ -19215,15 +19215,15 @@ snapshots: prop-types: 15.8.1 randexp: 0.5.3 randombytes: 2.1.0 - react: 19.2.5 - react-copy-to-clipboard: 5.1.0(react@19.2.5) - react-debounce-input: 3.3.0(react@19.2.5) - react-dom: 19.2.5(react@19.2.5) + react: 19.2.6 + react-copy-to-clipboard: 5.1.0(react@19.2.6) + react-debounce-input: 3.3.0(react@19.2.6) + react-dom: 19.2.6(react@19.2.6) react-immutable-proptypes: 2.2.0(immutable@3.8.2) - react-immutable-pure-component: 2.2.2(immutable@3.8.2)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) - react-inspector: 6.0.2(react@19.2.5) - react-redux: 9.2.0(@types/react@19.2.14)(react@19.2.5)(redux@5.0.1) - react-syntax-highlighter: 16.1.0(react@19.2.5) + react-immutable-pure-component: 2.2.2(immutable@3.8.2)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + react-inspector: 6.0.2(react@19.2.6) + react-redux: 9.2.0(@types/react@19.2.14)(react@19.2.6)(redux@5.0.1) + react-syntax-highlighter: 16.1.0(react@19.2.6) redux: 5.0.1 redux-immutable: 4.0.0(immutable@3.8.2) remarkable: 2.0.1 @@ -19719,55 +19719,55 @@ snapshots: url-toolkit@2.2.5: {} - use-callback-ref@1.3.3(@types/react@19.2.14)(react@19.2.5): + use-callback-ref@1.3.3(@types/react@19.2.14)(react@19.2.6): dependencies: - react: 19.2.5 + react: 19.2.6 tslib: 2.8.1 optionalDependencies: '@types/react': 19.2.14 - use-composed-ref@1.3.0(react@19.2.5): + use-composed-ref@1.3.0(react@19.2.6): dependencies: - react: 19.2.5 + react: 19.2.6 - use-deep-compare-effect@1.8.1(react@19.2.5): + use-deep-compare-effect@1.8.1(react@19.2.6): dependencies: '@babel/runtime': 7.29.2 dequal: 2.0.3 - react: 19.2.5 + react: 19.2.6 - use-intl@4.11.0(react@19.2.5): + use-intl@4.11.0(react@19.2.6): dependencies: '@formatjs/fast-memoize': 3.1.0 '@schummar/icu-type-parser': 1.21.5 icu-minify: 4.11.0 intl-messageformat: 11.1.1 - react: 19.2.5 + react: 19.2.6 - use-isomorphic-layout-effect@1.1.2(@types/react@19.2.14)(react@19.2.5): + use-isomorphic-layout-effect@1.1.2(@types/react@19.2.14)(react@19.2.6): dependencies: - react: 19.2.5 + react: 19.2.6 optionalDependencies: '@types/react': 19.2.14 - use-latest@1.2.1(@types/react@19.2.14)(react@19.2.5): + use-latest@1.2.1(@types/react@19.2.14)(react@19.2.6): dependencies: - react: 19.2.5 - use-isomorphic-layout-effect: 1.1.2(@types/react@19.2.14)(react@19.2.5) + react: 19.2.6 + use-isomorphic-layout-effect: 1.1.2(@types/react@19.2.14)(react@19.2.6) optionalDependencies: '@types/react': 19.2.14 - use-sidecar@1.1.3(@types/react@19.2.14)(react@19.2.5): + use-sidecar@1.1.3(@types/react@19.2.14)(react@19.2.6): dependencies: detect-node-es: 1.1.0 - react: 19.2.5 + react: 19.2.6 tslib: 2.8.1 optionalDependencies: '@types/react': 19.2.14 - use-sync-external-store@1.4.0(react@19.2.5): + use-sync-external-store@1.4.0(react@19.2.6): dependencies: - react: 19.2.5 + react: 19.2.6 util-deprecate@1.0.2: {} diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index a24b90ba0..dcd3ccbf8 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -155,8 +155,8 @@ catalog: prettier-plugin-packagejson: ^3.0.2 prismjs: ^1.30.0 proxmox-api: 1.1.1 - react: 19.2.5 - react-dom: 19.2.5 + react: 19.2.6 + react-dom: 19.2.6 react-error-boundary: ^6.1.1 react-markdown: ^10.1.0 react-quill-new: ^3.8.3 From 89dfe82fe921f9b38c05d0bfe8478f418061fc34 Mon Sep 17 00:00:00 2001 From: "homarr-renovate[bot]" <158783068+homarr-renovate[bot]@users.noreply.github.com> Date: Mon, 11 May 2026 23:02:13 +0000 Subject: [PATCH 49/63] chore(deps): update dependency @tabler/icons-react to ^3.43.0 (#5700) Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com> --- pnpm-lock.yaml | 2 +- pnpm-workspace.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index d3b2d1d93..4d63b6531 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -130,7 +130,7 @@ catalogs: specifier: ^0.13.11 version: 0.13.11 '@tabler/icons-react': - specifier: ^3.42.0 + specifier: ^3.43.0 version: 3.43.0 '@tanstack/react-query': specifier: ^5.100.9 diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index dcd3ccbf8..cd0dea01a 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -44,7 +44,7 @@ catalog: "@semantic-release/npm": ^13.1.5 "@semantic-release/release-notes-generator": ^14.1.0 "@t3-oss/env-nextjs": ^0.13.11 - "@tabler/icons-react": ^3.42.0 + "@tabler/icons-react": ^3.43.0 "@tanstack/react-query": ^5.100.9 "@tanstack/react-query-devtools": ^5.100.9 "@tanstack/react-query-next-experimental": ^5.100.9 From f29e74b6f466be19b535a0fcc930b1356accfe6e Mon Sep 17 00:00:00 2001 From: "homarr-renovate[bot]" <158783068+homarr-renovate[bot]@users.noreply.github.com> Date: Tue, 12 May 2026 17:19:38 +0000 Subject: [PATCH 50/63] chore(deps): update turbo monorepo to ^2.9.10 (#5702) Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com> --- pnpm-lock.yaml | 96 ++++++++++++++++++++++----------------------- pnpm-workspace.yaml | 6 +-- 2 files changed, 51 insertions(+), 51 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 4d63b6531..e5167adab 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -214,8 +214,8 @@ catalogs: specifier: ^11.17.0 version: 11.17.0 '@turbo/gen': - specifier: ^2.9.9 - version: 2.9.9 + specifier: ^2.9.10 + version: 2.9.12 '@types/adm-zip': specifier: 0.5.8 version: 0.5.8 @@ -367,8 +367,8 @@ catalogs: specifier: ^10.1.8 version: 10.1.8 eslint-config-turbo: - specifier: ^2.9.9 - version: 2.9.9 + specifier: ^2.9.10 + version: 2.9.12 eslint-plugin-import: specifier: ^2.32.0 version: 2.32.0 @@ -517,8 +517,8 @@ catalogs: specifier: 4.20.4 version: 4.20.4 turbo: - specifier: ^2.9.9 - version: 2.9.9 + specifier: ^2.9.10 + version: 2.9.12 typescript: specifier: ^5.9.3 version: 5.9.3 @@ -621,7 +621,7 @@ importers: version: 11.14.0 '@turbo/gen': specifier: 'catalog:' - version: 2.9.9(@types/node@24.12.2) + version: 2.9.12(@types/node@24.12.2) '@vitejs/plugin-react': specifier: 'catalog:' version: 5.2.0(vite@7.1.12(@types/node@24.12.2)(sass@1.99.0)(sugarss@5.0.0(postcss@8.5.8))(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.4)) @@ -654,7 +654,7 @@ importers: version: 11.14.0 turbo: specifier: 'catalog:' - version: 2.9.9 + version: 2.9.12 typescript: specifier: 'catalog:' version: 5.9.3 @@ -2923,7 +2923,7 @@ importers: version: 10.1.8(eslint@10.3.0) eslint-config-turbo: specifier: 'catalog:' - version: 2.9.9(eslint@10.3.0)(turbo@2.9.9) + version: 2.9.12(eslint@10.3.0)(turbo@2.9.12) eslint-plugin-import: specifier: 'catalog:' version: 2.32.0(@typescript-eslint/parser@8.58.2(eslint@10.3.0)(typescript@5.9.3))(eslint@10.3.0) @@ -5539,37 +5539,37 @@ packages: '@tsconfig/svelte@1.0.13': resolution: {integrity: sha512-5lYJP45Xllo4yE/RUBccBT32eBlRDbqN8r1/MIvQbKxW3aFqaYPCNgm8D5V20X4ShHcwvYWNlKg3liDh1MlBoA==} - '@turbo/darwin-64@2.9.9': - resolution: {integrity: sha512-hTEiNu2ABZZOO1qbjnKASI8eF3BdOOzU6iKv5w5uGOK65DDMc10cS40N1kqM99YT0uSAGUwNu6GdFctRPeEeVA==} + '@turbo/darwin-64@2.9.12': + resolution: {integrity: sha512-eu3eFRmE9NjgZ0wPdRJ44l+LGSeIky+tz5ZQd8zQkw/Yqi+BM7wq+8nbabeoiVUcICi/IZweMOKl/MCmkrd1+g==} cpu: [x64] os: [darwin] - '@turbo/darwin-arm64@2.9.9': - resolution: {integrity: sha512-MinO40EEcP5mJiTVpfjtEulsEBhVeryfq21QhYtJZ8hQJLHGgy459rcmDVAY8/JERe4dkVU4KW+zoLF22o01EA==} + '@turbo/darwin-arm64@2.9.12': + resolution: {integrity: sha512-RUkAE404z/J8NsyrUosMcBaXT6M4bRFxTQrmkDQBLQVXaC8Jl0e9bMvYDSX0GW7Ffm2m3j9y7RXgR1foeUAM9w==} cpu: [arm64] os: [darwin] - '@turbo/gen@2.9.9': - resolution: {integrity: sha512-76Qj2vjKtc2zgJG0tL2Fy13T0BzIp2bujkB+K6cls1hZIzLuLkxf3wjLnqNkYnlV6aku1ZxOlNGAGOt9F98J+w==} + '@turbo/gen@2.9.12': + resolution: {integrity: sha512-p0lmM+9SR9hO8L+7ta13YAdOg4lQOkNKR5o+/jY6cqc/8FGDbPrwOT3+K1xd6LRSnXEdtRGFWPi8n7XOfPHHRw==} hasBin: true - '@turbo/linux-64@2.9.9': - resolution: {integrity: sha512-7JNLw88Isk+gMlbsC8pulLDkrqe2B827ZsKFEHilb17AC6Xn/62pzH7afjY7fEU6Ayp4XP/vGhlRWOzqBvBvIQ==} + '@turbo/linux-64@2.9.12': + resolution: {integrity: sha512-InIUtH7cw/vqXNX1Gr7QgWfmw3ct08pV5CpfdEOR48z2u2rzdmpIuk00B/Q2xCb0PMWtKgiMQynfuphmEuUyTQ==} cpu: [x64] os: [linux] - '@turbo/linux-arm64@2.9.9': - resolution: {integrity: sha512-0pnXDwPw1rHii98JZPRg7SvsjIzy7jrhkwGU9Jy5fVYoMdYd3P2vbtLfII+OJ0Mm4Ar5yykdHDTz3RWiRI1o9g==} + '@turbo/linux-arm64@2.9.12': + resolution: {integrity: sha512-lC6nD//Xh67fmJM0LKaLsg74Wry0aYrgMklpiNgCbUaMdPIOqj0A00iri3NU7Lb7pZHx8ViisgpeDKlpSgFUCA==} cpu: [arm64] os: [linux] - '@turbo/windows-64@2.9.9': - resolution: {integrity: sha512-vjDQycz4gQVvIq4n2rPtiiIESwJlAc406qtkiZlqyL+fHZEd9SxYNlBIFYtc5cuMuwrk+sIKrhN7XvwjmvS9YQ==} + '@turbo/windows-64@2.9.12': + resolution: {integrity: sha512-conYri8VUl72JOdYnLDPYwzqbPcY5ECoHmo9FWoKznemhaAIilj4maHqs9Uar0aKfNoZIULniy+6iWaLtLO34A==} cpu: [x64] os: [win32] - '@turbo/windows-arm64@2.9.9': - resolution: {integrity: sha512-V6NiH43oCctepbOdQFp7UjqLyK8p6Tt824QA+G4TE+B1BBHu80A0W8OCL+H7uBJ3XZjAj/hvPDw3k3l65DoDGw==} + '@turbo/windows-arm64@2.9.12': + resolution: {integrity: sha512-XoR4bsg62/L/esRVcmoMESEiNZ36+YmyjYGLpoqk8nwMgXzzVjNOgX0lRSz5w/U/ajLGv3nhMsS0Q2QOdvp2AQ==} cpu: [arm64] os: [win32] @@ -7199,8 +7199,8 @@ packages: peerDependencies: eslint: '>=7.0.0' - eslint-config-turbo@2.9.9: - resolution: {integrity: sha512-KhO8N8ot1s9wXbkNDVgMwvkpbfO+YgEbteikFu406aQoJgenzNh5ErI985CeFKV3e33ZGLZX5YAJ1pgnhOXCZA==} + eslint-config-turbo@2.9.12: + resolution: {integrity: sha512-QnAiTMzCz2mP2EGGVLx1j6mDsKRhMaY424IqJql3z1AQ06OSlXYl3aSIQEwQJEH5RgW/fHx9VK213BF3ZwO8Sw==} peerDependencies: eslint: '>6.6.0' turbo: '>2.0.0' @@ -7257,8 +7257,8 @@ packages: peerDependencies: eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7 - eslint-plugin-turbo@2.9.9: - resolution: {integrity: sha512-CHjV79PUXv5D+eCcnk3IMfu15X+EnwDSOWcVM72gQ3Ib8J+pF6zrY7A0kOgdS2HexdaGDoqzSLiXYRyu42TaGQ==} + eslint-plugin-turbo@2.9.12: + resolution: {integrity: sha512-Ilv1DTYyghdIdTUsW/VbjVTYKt1Hfs7X2C+rq/i4u7ZVofzcHZwk/3QwrV5UyOGADmxmWNyD+xcRS7+ZE5arQg==} peerDependencies: eslint: '>6.6.0' turbo: '>2.0.0' @@ -10532,8 +10532,8 @@ packages: resolution: {integrity: sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==} engines: {node: '>=0.6.11 <=0.7.0 || >=0.7.3'} - turbo@2.9.9: - resolution: {integrity: sha512-3xfzXE/yTjhh0S5dIWlE+3E+J9A09REpLI1ZqVh2+HrNZoVzZn0pkvjiRgVK/Ev3PF9XnaTwCntTx+CADWXcyA==} + turbo@2.9.12: + resolution: {integrity: sha512-lCPgus1NuTiBdaITWqzSH/Ff6HVL8HHGBtOXHg1dHRfcshN79XkygSdh0M6g8b0td91ILLG5MTkLOkp5UvyPJw==} hasBin: true tweetnacl@0.14.5: @@ -13845,29 +13845,29 @@ snapshots: '@tsconfig/svelte@1.0.13': {} - '@turbo/darwin-64@2.9.9': + '@turbo/darwin-64@2.9.12': optional: true - '@turbo/darwin-arm64@2.9.9': + '@turbo/darwin-arm64@2.9.12': optional: true - '@turbo/gen@2.9.9(@types/node@24.12.2)': + '@turbo/gen@2.9.12(@types/node@24.12.2)': dependencies: '@inquirer/prompts': 7.10.1(@types/node@24.12.2) esbuild: 0.25.12 transitivePeerDependencies: - '@types/node' - '@turbo/linux-64@2.9.9': + '@turbo/linux-64@2.9.12': optional: true - '@turbo/linux-arm64@2.9.9': + '@turbo/linux-arm64@2.9.12': optional: true - '@turbo/windows-64@2.9.9': + '@turbo/windows-64@2.9.12': optional: true - '@turbo/windows-arm64@2.9.9': + '@turbo/windows-arm64@2.9.12': optional: true '@types/adm-zip@0.5.8': @@ -15685,11 +15685,11 @@ snapshots: dependencies: eslint: 10.3.0 - eslint-config-turbo@2.9.9(eslint@10.3.0)(turbo@2.9.9): + eslint-config-turbo@2.9.12(eslint@10.3.0)(turbo@2.9.12): dependencies: eslint: 10.3.0 - eslint-plugin-turbo: 2.9.9(eslint@10.3.0)(turbo@2.9.9) - turbo: 2.9.9 + eslint-plugin-turbo: 2.9.12(eslint@10.3.0)(turbo@2.9.12) + turbo: 2.9.12 eslint-import-resolver-node@0.3.9: dependencies: @@ -15789,11 +15789,11 @@ snapshots: string.prototype.matchall: 4.0.12 string.prototype.repeat: 1.0.0 - eslint-plugin-turbo@2.9.9(eslint@10.3.0)(turbo@2.9.9): + eslint-plugin-turbo@2.9.12(eslint@10.3.0)(turbo@2.9.12): dependencies: dotenv: 16.0.3 eslint: 10.3.0 - turbo: 2.9.9 + turbo: 2.9.12 eslint-scope@5.1.1: dependencies: @@ -19503,14 +19503,14 @@ snapshots: tunnel@0.0.6: {} - turbo@2.9.9: + turbo@2.9.12: optionalDependencies: - '@turbo/darwin-64': 2.9.9 - '@turbo/darwin-arm64': 2.9.9 - '@turbo/linux-64': 2.9.9 - '@turbo/linux-arm64': 2.9.9 - '@turbo/windows-64': 2.9.9 - '@turbo/windows-arm64': 2.9.9 + '@turbo/darwin-64': 2.9.12 + '@turbo/darwin-arm64': 2.9.12 + '@turbo/linux-64': 2.9.12 + '@turbo/linux-arm64': 2.9.12 + '@turbo/windows-64': 2.9.12 + '@turbo/windows-arm64': 2.9.12 tweetnacl@0.14.5: {} diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index cd0dea01a..adc9dd847 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -72,7 +72,7 @@ catalog: "@trpc/react-query": ^11.17.0 "@trpc/server": ^11.17.0 "@trpc/tanstack-react-query": ^11.17.0 - "@turbo/gen": ^2.9.9 + "@turbo/gen": ^2.9.10 "@types/adm-zip": 0.5.8 "@types/bcrypt": 6.0.0 "@types/better-sqlite3": 7.6.13 @@ -123,7 +123,7 @@ catalog: esbuild: ^0.28.0 eslint: ^10.3.0 eslint-config-prettier: ^10.1.8 - eslint-config-turbo: ^2.9.9 + eslint-config-turbo: ^2.9.10 eslint-plugin-import: ^2.32.0 eslint-plugin-jsx-a11y: ^6.10.2 eslint-plugin-react: ^7.37.5 @@ -173,7 +173,7 @@ catalog: trpc-to-openapi: ^3.2.0 tsdav: ^2.2.1 tsx: 4.20.4 - turbo: ^2.9.9 + turbo: ^2.9.10 typescript: ^5.9.3 typescript-eslint: ^8.58.2 undici: 7.24.6 From 2461363d4fd75c18edcff5660d272d7709f5ebf0 Mon Sep 17 00:00:00 2001 From: "homarr-renovate[bot]" <158783068+homarr-renovate[bot]@users.noreply.github.com> Date: Tue, 12 May 2026 20:02:16 +0000 Subject: [PATCH 51/63] chore(deps): update dependency @next/eslint-plugin-next to v16.2.6 (#5703) Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com> --- pnpm-lock.yaml | 12 ++++++------ pnpm-workspace.yaml | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e5167adab..c74b6d709 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -100,8 +100,8 @@ catalogs: specifier: 1.0.14 version: 1.0.14 '@next/eslint-plugin-next': - specifier: 16.2.5 - version: 16.2.5 + specifier: 16.2.6 + version: 16.2.6 '@octokit/auth-app': specifier: ^8.2.0 version: 8.2.0 @@ -2917,7 +2917,7 @@ importers: dependencies: '@next/eslint-plugin-next': specifier: 'catalog:' - version: 16.2.5 + version: 16.2.6 eslint-config-prettier: specifier: 'catalog:' version: 10.1.8(eslint@10.3.0) @@ -4391,8 +4391,8 @@ packages: '@next/env@16.2.6': resolution: {integrity: sha512-gd8HoHN4ufj73WmR3JmVolrpJR47ILK6LouP5xElPglaVxir6e1a7VzvTvDWkOoPXT9rkkTzyCxBu4yeZfZwcw==} - '@next/eslint-plugin-next@16.2.5': - resolution: {integrity: sha512-PyILm/cw2u5gEG5xOjqFbALUAl/erAqtM47iZtP9lXiSzin+eOIf3KRi+CBC/mFG9j7Iz3JDqCOY94nFLUCccg==} + '@next/eslint-plugin-next@16.2.6': + resolution: {integrity: sha512-Z8l6o4JWKUl755x4R+wogD86KPeU+Ckw4K+SYG4kHeOJtRenDeK+OSbGcqZpDtbwn9DsJVdir2UxmwXuinUbUw==} '@next/swc-darwin-arm64@16.2.6': resolution: {integrity: sha512-ZJGkkcNfYgrrMkqOdZ7zoLa1TOy0qpcMfk/z4Mh/FKUz40gVO+HNQWqmLxf67Z5WB64DRp0dhEbyHfel+6sJUg==} @@ -12478,7 +12478,7 @@ snapshots: '@next/env@16.2.6': {} - '@next/eslint-plugin-next@16.2.5': + '@next/eslint-plugin-next@16.2.6': dependencies: fast-glob: 3.3.1 diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index adc9dd847..215cefbd0 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -34,7 +34,7 @@ catalog: "@mantine/spotlight": ^8.3.18 "@mantine/tiptap": ^8.3.18 "@million/lint": 1.0.14 - "@next/eslint-plugin-next": 16.2.5 + "@next/eslint-plugin-next": 16.2.6 "@octokit/auth-app": ^8.2.0 "@paralleldrive/cuid2": ^3.3.0 "@semantic-release/changelog": ^6.0.3 From 1b3e7207011f2ea22b80a78db28166292c0e7d32 Mon Sep 17 00:00:00 2001 From: "homarr-renovate[bot]" <158783068+homarr-renovate[bot]@users.noreply.github.com> Date: Tue, 12 May 2026 21:28:14 +0000 Subject: [PATCH 52/63] chore(deps): update dependency vite@>=5.0.0 <=5.4.18 to >=8.0.11 (#5701) Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com> --- package.json | 2 +- pnpm-lock.yaml | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/package.json b/package.json index 652da92be..71d82db24 100644 --- a/package.json +++ b/package.json @@ -95,7 +95,7 @@ "tar-fs@>=3.0.0 <3.0.9": ">=3.1.2", "tar-fs@>=2.0.0 <2.1.3": ">=3.1.2", "tmp@<=0.2.3": ">=0.2.5", - "vite@>=5.0.0 <=5.4.18": ">=8.0.10" + "vite@>=5.0.0 <=5.4.18": ">=8.0.11" }, "patchedDependencies": { "@types/node-unifi": "patches/@types__node-unifi.patch", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c74b6d709..3a4504a2e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -581,7 +581,7 @@ overrides: tar-fs@>=3.0.0 <3.0.9: '>=3.1.2' tar-fs@>=2.0.0 <2.1.3: '>=3.1.2' tmp@<=0.2.3: '>=0.2.5' - vite@>=5.0.0 <=5.4.18: '>=8.0.10' + vite@>=5.0.0 <=5.4.18: '>=8.0.11' patchedDependencies: '@types/node-unifi': @@ -5881,7 +5881,7 @@ packages: resolution: {integrity: sha512-YmKkfhOAi3wsB1PhJq5Scj3GXMn3WvtQ/JC0xoopuHoXSdmtdStOpFrYaT1kie2YgFBcIe64ROzMYRjCrYOdYw==} engines: {node: ^20.19.0 || >=22.12.0} peerDependencies: - vite: '>=8.0.10' + vite: '>=8.0.11' '@vitest/coverage-v8@4.1.5': resolution: {integrity: sha512-38C0/Ddb7HcRG0Z4/DUem8x57d2p9jYgp18mkaYswEOQBGsI1CG4f/hjm0ZCeaJfWhSZ4k7jgs29V1Zom7Ki9A==} @@ -10831,7 +10831,7 @@ packages: vite-tsconfig-paths@6.1.1: resolution: {integrity: sha512-2cihq7zliibCCZ8P9cKJrQBkfgdvcFkOOc3Y02o3GWUDLgqjWsZudaoiuOwO/gzTzy17cS5F7ZPo4bsnS4DGkg==} peerDependencies: - vite: '>=8.0.10' + vite: '>=8.0.11' vite@7.1.12: resolution: {integrity: sha512-ZWyE8YXEXqJrrSLvYgrRP7p62OziLW7xI5HYGWFzOvupfAlrLvURSzv/FyGyy0eidogEM3ujU+kUG1zuHgb6Ug==} From a9e9ac1cfa6a5b8757455ba550e4b80b534d83e5 Mon Sep 17 00:00:00 2001 From: "homarr-renovate[bot]" <158783068+homarr-renovate[bot]@users.noreply.github.com> Date: Tue, 12 May 2026 23:09:48 +0000 Subject: [PATCH 53/63] chore(deps): update dependency @types/node to ^24.12.3 (#5704) Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com> --- pnpm-lock.yaml | 201 +++++++++++++++++++++++--------------------- pnpm-workspace.yaml | 2 +- 2 files changed, 105 insertions(+), 98 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 3a4504a2e..7b9546d0f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -241,8 +241,8 @@ catalogs: specifier: ^4.0.1 version: 4.0.1 '@types/node': - specifier: ^24.12.2 - version: 24.12.2 + specifier: ^24.12.3 + version: 24.12.3 '@types/node-unifi': specifier: ^2.5.1 version: 2.5.1 @@ -621,10 +621,10 @@ importers: version: 11.14.0 '@turbo/gen': specifier: 'catalog:' - version: 2.9.12(@types/node@24.12.2) + version: 2.9.12(@types/node@24.12.3) '@vitejs/plugin-react': specifier: 'catalog:' - version: 5.2.0(vite@7.1.12(@types/node@24.12.2)(sass@1.99.0)(sugarss@5.0.0(postcss@8.5.8))(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.4)) + version: 5.2.0(vite@7.1.12(@types/node@24.12.3)(sass@1.99.0)(sugarss@5.0.0(postcss@8.5.8))(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.4)) '@vitest/coverage-v8': specifier: 'catalog:' version: 4.1.5(vitest@4.1.5) @@ -660,10 +660,10 @@ importers: version: 5.9.3 vite-tsconfig-paths: specifier: 'catalog:' - version: 6.1.1(typescript@5.9.3)(vite@7.1.12(@types/node@24.12.2)(sass@1.99.0)(sugarss@5.0.0(postcss@8.5.8))(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.4)) + version: 6.1.1(typescript@5.9.3)(vite@7.1.12(@types/node@24.12.3)(sass@1.99.0)(sugarss@5.0.0(postcss@8.5.8))(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.4)) vitest: specifier: 'catalog:' - version: 4.1.5(@types/node@24.12.2)(@vitest/coverage-v8@4.1.5)(@vitest/ui@4.1.5)(jsdom@29.1.1(@noble/hashes@2.0.1))(vite@7.1.12(@types/node@24.12.2)(sass@1.99.0)(sugarss@5.0.0(postcss@8.5.8))(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.4)) + version: 4.1.5(@types/node@24.12.3)(@vitest/coverage-v8@4.1.5)(@vitest/ui@4.1.5)(jsdom@29.1.1(@noble/hashes@2.0.1))(vite@7.1.12(@types/node@24.12.3)(sass@1.99.0)(sugarss@5.0.0(postcss@8.5.8))(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.4)) apps/nextjs: dependencies: @@ -904,7 +904,7 @@ importers: version: 3.1.2 '@types/node': specifier: 'catalog:' - version: 24.12.2 + version: 24.12.3 '@types/prismjs': specifier: 'catalog:' version: 1.26.6 @@ -1016,7 +1016,7 @@ importers: version: link:../../tooling/typescript '@types/node': specifier: 'catalog:' - version: 24.12.2 + version: 24.12.3 dotenv-cli: specifier: 'catalog:' version: 11.0.0 @@ -1464,13 +1464,13 @@ importers: version: 0.2.9 drizzle-orm: specifier: 'catalog:' - version: 0.45.2(@libsql/client-wasm@0.14.0)(@types/better-sqlite3@7.6.13)(@types/pg@8.20.0)(better-sqlite3@12.9.0)(gel@2.0.0)(mysql2@3.22.3(@types/node@24.12.2))(pg@8.20.0) + version: 0.45.2(@libsql/client-wasm@0.14.0)(@types/better-sqlite3@7.6.13)(@types/pg@8.20.0)(better-sqlite3@12.9.0)(gel@2.0.0)(mysql2@3.22.3(@types/node@24.12.3))(pg@8.20.0) ioredis: specifier: 'catalog:' version: 5.10.1 mysql2: specifier: 'catalog:' - version: 3.22.3(@types/node@24.12.2) + version: 3.22.3(@types/node@24.12.3) pg: specifier: 'catalog:' version: 8.20.0 @@ -1718,13 +1718,13 @@ importers: version: 0.31.10 drizzle-orm: specifier: 'catalog:' - version: 0.45.2(@libsql/client-wasm@0.14.0)(@types/better-sqlite3@7.6.13)(@types/pg@8.20.0)(better-sqlite3@12.9.0)(gel@2.0.0)(mysql2@3.22.3(@types/node@24.12.2))(pg@8.20.0) + version: 0.45.2(@libsql/client-wasm@0.14.0)(@types/better-sqlite3@7.6.13)(@types/pg@8.20.0)(better-sqlite3@12.9.0)(gel@2.0.0)(mysql2@3.22.3(@types/node@24.12.3))(pg@8.20.0) drizzle-zod: specifier: 'catalog:' - version: 0.8.3(drizzle-orm@0.45.2(@libsql/client-wasm@0.14.0)(@types/better-sqlite3@7.6.13)(@types/pg@8.20.0)(better-sqlite3@12.9.0)(gel@2.0.0)(mysql2@3.22.3(@types/node@24.12.2))(pg@8.20.0))(zod@4.4.3) + version: 0.8.3(drizzle-orm@0.45.2(@libsql/client-wasm@0.14.0)(@types/better-sqlite3@7.6.13)(@types/pg@8.20.0)(better-sqlite3@12.9.0)(gel@2.0.0)(mysql2@3.22.3(@types/node@24.12.3))(pg@8.20.0))(zod@4.4.3) mysql2: specifier: 'catalog:' - version: 3.22.3(@types/node@24.12.2) + version: 3.22.3(@types/node@24.12.3) pg: specifier: 'catalog:' version: 8.20.0 @@ -5720,6 +5720,9 @@ packages: '@types/node@24.12.2': resolution: {integrity: sha512-A1sre26ke7HDIuY/M23nd9gfB+nrmhtYyMINbjI1zHJxYteKR6qSMX56FsmjMcDb3SMcjJg5BiRRgOCC/yBD0g==} + '@types/node@24.12.3': + resolution: {integrity: sha512-8oljBDGun9cIsZRJR6fkihn0TSXJI0UDOOhncYaERq6M0JMDoPLxyscwruJcb4GKS6dvK/d8xebYBg27h/duaQ==} + '@types/normalize-package-data@2.4.4': resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} @@ -12117,128 +12120,128 @@ snapshots: '@inquirer/ansi@1.0.2': {} - '@inquirer/checkbox@4.3.2(@types/node@24.12.2)': + '@inquirer/checkbox@4.3.2(@types/node@24.12.3)': dependencies: '@inquirer/ansi': 1.0.2 - '@inquirer/core': 10.3.2(@types/node@24.12.2) + '@inquirer/core': 10.3.2(@types/node@24.12.3) '@inquirer/figures': 1.0.15 - '@inquirer/type': 3.0.10(@types/node@24.12.2) + '@inquirer/type': 3.0.10(@types/node@24.12.3) yoctocolors-cjs: 2.1.3 optionalDependencies: - '@types/node': 24.12.2 + '@types/node': 24.12.3 - '@inquirer/confirm@5.1.21(@types/node@24.12.2)': + '@inquirer/confirm@5.1.21(@types/node@24.12.3)': dependencies: - '@inquirer/core': 10.3.2(@types/node@24.12.2) - '@inquirer/type': 3.0.10(@types/node@24.12.2) + '@inquirer/core': 10.3.2(@types/node@24.12.3) + '@inquirer/type': 3.0.10(@types/node@24.12.3) optionalDependencies: - '@types/node': 24.12.2 + '@types/node': 24.12.3 - '@inquirer/core@10.3.2(@types/node@24.12.2)': + '@inquirer/core@10.3.2(@types/node@24.12.3)': dependencies: '@inquirer/ansi': 1.0.2 '@inquirer/figures': 1.0.15 - '@inquirer/type': 3.0.10(@types/node@24.12.2) + '@inquirer/type': 3.0.10(@types/node@24.12.3) cli-width: 4.1.0 mute-stream: 2.0.0 signal-exit: 4.1.0 wrap-ansi: 6.2.0 yoctocolors-cjs: 2.1.3 optionalDependencies: - '@types/node': 24.12.2 + '@types/node': 24.12.3 - '@inquirer/editor@4.2.23(@types/node@24.12.2)': + '@inquirer/editor@4.2.23(@types/node@24.12.3)': dependencies: - '@inquirer/core': 10.3.2(@types/node@24.12.2) - '@inquirer/external-editor': 1.0.3(@types/node@24.12.2) - '@inquirer/type': 3.0.10(@types/node@24.12.2) + '@inquirer/core': 10.3.2(@types/node@24.12.3) + '@inquirer/external-editor': 1.0.3(@types/node@24.12.3) + '@inquirer/type': 3.0.10(@types/node@24.12.3) optionalDependencies: - '@types/node': 24.12.2 + '@types/node': 24.12.3 - '@inquirer/expand@4.0.23(@types/node@24.12.2)': + '@inquirer/expand@4.0.23(@types/node@24.12.3)': dependencies: - '@inquirer/core': 10.3.2(@types/node@24.12.2) - '@inquirer/type': 3.0.10(@types/node@24.12.2) + '@inquirer/core': 10.3.2(@types/node@24.12.3) + '@inquirer/type': 3.0.10(@types/node@24.12.3) yoctocolors-cjs: 2.1.3 optionalDependencies: - '@types/node': 24.12.2 + '@types/node': 24.12.3 - '@inquirer/external-editor@1.0.3(@types/node@24.12.2)': + '@inquirer/external-editor@1.0.3(@types/node@24.12.3)': dependencies: chardet: 2.1.1 iconv-lite: 0.7.2 optionalDependencies: - '@types/node': 24.12.2 + '@types/node': 24.12.3 '@inquirer/figures@1.0.15': {} - '@inquirer/input@4.3.1(@types/node@24.12.2)': + '@inquirer/input@4.3.1(@types/node@24.12.3)': dependencies: - '@inquirer/core': 10.3.2(@types/node@24.12.2) - '@inquirer/type': 3.0.10(@types/node@24.12.2) + '@inquirer/core': 10.3.2(@types/node@24.12.3) + '@inquirer/type': 3.0.10(@types/node@24.12.3) optionalDependencies: - '@types/node': 24.12.2 + '@types/node': 24.12.3 - '@inquirer/number@3.0.23(@types/node@24.12.2)': + '@inquirer/number@3.0.23(@types/node@24.12.3)': dependencies: - '@inquirer/core': 10.3.2(@types/node@24.12.2) - '@inquirer/type': 3.0.10(@types/node@24.12.2) + '@inquirer/core': 10.3.2(@types/node@24.12.3) + '@inquirer/type': 3.0.10(@types/node@24.12.3) optionalDependencies: - '@types/node': 24.12.2 + '@types/node': 24.12.3 - '@inquirer/password@4.0.23(@types/node@24.12.2)': + '@inquirer/password@4.0.23(@types/node@24.12.3)': dependencies: '@inquirer/ansi': 1.0.2 - '@inquirer/core': 10.3.2(@types/node@24.12.2) - '@inquirer/type': 3.0.10(@types/node@24.12.2) + '@inquirer/core': 10.3.2(@types/node@24.12.3) + '@inquirer/type': 3.0.10(@types/node@24.12.3) optionalDependencies: - '@types/node': 24.12.2 + '@types/node': 24.12.3 - '@inquirer/prompts@7.10.1(@types/node@24.12.2)': + '@inquirer/prompts@7.10.1(@types/node@24.12.3)': dependencies: - '@inquirer/checkbox': 4.3.2(@types/node@24.12.2) - '@inquirer/confirm': 5.1.21(@types/node@24.12.2) - '@inquirer/editor': 4.2.23(@types/node@24.12.2) - '@inquirer/expand': 4.0.23(@types/node@24.12.2) - '@inquirer/input': 4.3.1(@types/node@24.12.2) - '@inquirer/number': 3.0.23(@types/node@24.12.2) - '@inquirer/password': 4.0.23(@types/node@24.12.2) - '@inquirer/rawlist': 4.1.11(@types/node@24.12.2) - '@inquirer/search': 3.2.2(@types/node@24.12.2) - '@inquirer/select': 4.4.2(@types/node@24.12.2) + '@inquirer/checkbox': 4.3.2(@types/node@24.12.3) + '@inquirer/confirm': 5.1.21(@types/node@24.12.3) + '@inquirer/editor': 4.2.23(@types/node@24.12.3) + '@inquirer/expand': 4.0.23(@types/node@24.12.3) + '@inquirer/input': 4.3.1(@types/node@24.12.3) + '@inquirer/number': 3.0.23(@types/node@24.12.3) + '@inquirer/password': 4.0.23(@types/node@24.12.3) + '@inquirer/rawlist': 4.1.11(@types/node@24.12.3) + '@inquirer/search': 3.2.2(@types/node@24.12.3) + '@inquirer/select': 4.4.2(@types/node@24.12.3) optionalDependencies: - '@types/node': 24.12.2 + '@types/node': 24.12.3 - '@inquirer/rawlist@4.1.11(@types/node@24.12.2)': + '@inquirer/rawlist@4.1.11(@types/node@24.12.3)': dependencies: - '@inquirer/core': 10.3.2(@types/node@24.12.2) - '@inquirer/type': 3.0.10(@types/node@24.12.2) + '@inquirer/core': 10.3.2(@types/node@24.12.3) + '@inquirer/type': 3.0.10(@types/node@24.12.3) yoctocolors-cjs: 2.1.3 optionalDependencies: - '@types/node': 24.12.2 + '@types/node': 24.12.3 - '@inquirer/search@3.2.2(@types/node@24.12.2)': + '@inquirer/search@3.2.2(@types/node@24.12.3)': dependencies: - '@inquirer/core': 10.3.2(@types/node@24.12.2) + '@inquirer/core': 10.3.2(@types/node@24.12.3) '@inquirer/figures': 1.0.15 - '@inquirer/type': 3.0.10(@types/node@24.12.2) + '@inquirer/type': 3.0.10(@types/node@24.12.3) yoctocolors-cjs: 2.1.3 optionalDependencies: - '@types/node': 24.12.2 + '@types/node': 24.12.3 - '@inquirer/select@4.4.2(@types/node@24.12.2)': + '@inquirer/select@4.4.2(@types/node@24.12.3)': dependencies: '@inquirer/ansi': 1.0.2 - '@inquirer/core': 10.3.2(@types/node@24.12.2) + '@inquirer/core': 10.3.2(@types/node@24.12.3) '@inquirer/figures': 1.0.15 - '@inquirer/type': 3.0.10(@types/node@24.12.2) + '@inquirer/type': 3.0.10(@types/node@24.12.3) yoctocolors-cjs: 2.1.3 optionalDependencies: - '@types/node': 24.12.2 + '@types/node': 24.12.3 - '@inquirer/type@3.0.10(@types/node@24.12.2)': + '@inquirer/type@3.0.10(@types/node@24.12.3)': optionalDependencies: - '@types/node': 24.12.2 + '@types/node': 24.12.3 '@ioredis/commands@1.5.1': {} @@ -13851,9 +13854,9 @@ snapshots: '@turbo/darwin-arm64@2.9.12': optional: true - '@turbo/gen@2.9.12(@types/node@24.12.2)': + '@turbo/gen@2.9.12(@types/node@24.12.3)': dependencies: - '@inquirer/prompts': 7.10.1(@types/node@24.12.2) + '@inquirer/prompts': 7.10.1(@types/node@24.12.3) esbuild: 0.25.12 transitivePeerDependencies: - '@types/node' @@ -13931,7 +13934,7 @@ snapshots: '@types/cors@2.8.17': dependencies: - '@types/node': 24.12.2 + '@types/node': 24.12.3 '@types/crypto-js@4.2.2': {} @@ -14041,6 +14044,10 @@ snapshots: dependencies: undici-types: 7.16.0 + '@types/node@24.12.3': + dependencies: + undici-types: 7.16.0 + '@types/normalize-package-data@2.4.4': {} '@types/pg@8.20.0': @@ -14245,7 +14252,7 @@ snapshots: global: 4.4.0 is-function: 1.0.2 - '@vitejs/plugin-react@5.2.0(vite@7.1.12(@types/node@24.12.2)(sass@1.99.0)(sugarss@5.0.0(postcss@8.5.8))(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.4))': + '@vitejs/plugin-react@5.2.0(vite@7.1.12(@types/node@24.12.3)(sass@1.99.0)(sugarss@5.0.0(postcss@8.5.8))(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.4))': dependencies: '@babel/core': 7.29.0 '@babel/plugin-transform-react-jsx-self': 7.27.1(@babel/core@7.29.0) @@ -14253,7 +14260,7 @@ snapshots: '@rolldown/pluginutils': 1.0.0-rc.3 '@types/babel__core': 7.20.5 react-refresh: 0.18.0 - vite: 7.1.12(@types/node@24.12.2)(sass@1.99.0)(sugarss@5.0.0(postcss@8.5.8))(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.4) + vite: 7.1.12(@types/node@24.12.3)(sass@1.99.0)(sugarss@5.0.0(postcss@8.5.8))(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.4) transitivePeerDependencies: - supports-color @@ -14269,7 +14276,7 @@ snapshots: obug: 2.1.1 std-env: 4.0.0 tinyrainbow: 3.1.0 - vitest: 4.1.5(@types/node@24.12.2)(@vitest/coverage-v8@4.1.5)(@vitest/ui@4.1.5)(jsdom@29.1.1(@noble/hashes@2.0.1))(vite@7.1.12(@types/node@24.12.2)(sass@1.99.0)(sugarss@5.0.0(postcss@8.5.8))(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.4)) + vitest: 4.1.5(@types/node@24.12.3)(@vitest/coverage-v8@4.1.5)(@vitest/ui@4.1.5)(jsdom@29.1.1(@noble/hashes@2.0.1))(vite@7.1.12(@types/node@24.12.3)(sass@1.99.0)(sugarss@5.0.0(postcss@8.5.8))(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.4)) '@vitest/expect@4.1.5': dependencies: @@ -14280,13 +14287,13 @@ snapshots: chai: 6.2.2 tinyrainbow: 3.1.0 - '@vitest/mocker@4.1.5(vite@7.1.12(@types/node@24.12.2)(sass@1.99.0)(sugarss@5.0.0(postcss@8.5.8))(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.4))': + '@vitest/mocker@4.1.5(vite@7.1.12(@types/node@24.12.3)(sass@1.99.0)(sugarss@5.0.0(postcss@8.5.8))(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.4))': dependencies: '@vitest/spy': 4.1.5 estree-walker: 3.0.3 magic-string: 0.30.21 optionalDependencies: - vite: 7.1.12(@types/node@24.12.2)(sass@1.99.0)(sugarss@5.0.0(postcss@8.5.8))(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.4) + vite: 7.1.12(@types/node@24.12.3)(sass@1.99.0)(sugarss@5.0.0(postcss@8.5.8))(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.4) '@vitest/pretty-format@4.1.5': dependencies: @@ -14315,7 +14322,7 @@ snapshots: sirv: 3.0.2 tinyglobby: 0.2.15 tinyrainbow: 3.1.0 - vitest: 4.1.5(@types/node@24.12.2)(@vitest/coverage-v8@4.1.5)(@vitest/ui@4.1.5)(jsdom@29.1.1(@noble/hashes@2.0.1))(vite@7.1.12(@types/node@24.12.2)(sass@1.99.0)(sugarss@5.0.0(postcss@8.5.8))(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.4)) + vitest: 4.1.5(@types/node@24.12.3)(@vitest/coverage-v8@4.1.5)(@vitest/ui@4.1.5)(jsdom@29.1.1(@noble/hashes@2.0.1))(vite@7.1.12(@types/node@24.12.3)(sass@1.99.0)(sugarss@5.0.0(postcss@8.5.8))(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.4)) '@vitest/utils@4.1.5': dependencies: @@ -15371,19 +15378,19 @@ snapshots: esbuild: 0.25.12 tsx: 4.21.0 - drizzle-orm@0.45.2(@libsql/client-wasm@0.14.0)(@types/better-sqlite3@7.6.13)(@types/pg@8.20.0)(better-sqlite3@12.9.0)(gel@2.0.0)(mysql2@3.22.3(@types/node@24.12.2))(pg@8.20.0): + drizzle-orm@0.45.2(@libsql/client-wasm@0.14.0)(@types/better-sqlite3@7.6.13)(@types/pg@8.20.0)(better-sqlite3@12.9.0)(gel@2.0.0)(mysql2@3.22.3(@types/node@24.12.3))(pg@8.20.0): optionalDependencies: '@libsql/client-wasm': 0.14.0 '@types/better-sqlite3': 7.6.13 '@types/pg': 8.20.0 better-sqlite3: 12.9.0 gel: 2.0.0 - mysql2: 3.22.3(@types/node@24.12.2) + mysql2: 3.22.3(@types/node@24.12.3) pg: 8.20.0 - drizzle-zod@0.8.3(drizzle-orm@0.45.2(@libsql/client-wasm@0.14.0)(@types/better-sqlite3@7.6.13)(@types/pg@8.20.0)(better-sqlite3@12.9.0)(gel@2.0.0)(mysql2@3.22.3(@types/node@24.12.2))(pg@8.20.0))(zod@4.4.3): + drizzle-zod@0.8.3(drizzle-orm@0.45.2(@libsql/client-wasm@0.14.0)(@types/better-sqlite3@7.6.13)(@types/pg@8.20.0)(better-sqlite3@12.9.0)(gel@2.0.0)(mysql2@3.22.3(@types/node@24.12.3))(pg@8.20.0))(zod@4.4.3): dependencies: - drizzle-orm: 0.45.2(@libsql/client-wasm@0.14.0)(@types/better-sqlite3@7.6.13)(@types/pg@8.20.0)(better-sqlite3@12.9.0)(gel@2.0.0)(mysql2@3.22.3(@types/node@24.12.2))(pg@8.20.0) + drizzle-orm: 0.45.2(@libsql/client-wasm@0.14.0)(@types/better-sqlite3@7.6.13)(@types/pg@8.20.0)(better-sqlite3@12.9.0)(gel@2.0.0)(mysql2@3.22.3(@types/node@24.12.3))(pg@8.20.0) zod: 4.4.3 dunder-proto@1.0.1: @@ -15439,7 +15446,7 @@ snapshots: dependencies: '@types/cookie': 0.4.1 '@types/cors': 2.8.17 - '@types/node': 24.12.2 + '@types/node': 24.12.3 accepts: 1.3.8 base64id: 2.0.0 cookie: 0.7.2 @@ -17364,9 +17371,9 @@ snapshots: '@babel/runtime': 7.29.2 global: 4.4.0 - mysql2@3.22.3(@types/node@24.12.2): + mysql2@3.22.3(@types/node@24.12.3): dependencies: - '@types/node': 24.12.2 + '@types/node': 24.12.3 aws-ssl-profiles: 1.1.2 denque: 2.1.0 generate-function: 2.3.1 @@ -19835,17 +19842,17 @@ snapshots: dependencies: global: 4.4.0 - vite-tsconfig-paths@6.1.1(typescript@5.9.3)(vite@7.1.12(@types/node@24.12.2)(sass@1.99.0)(sugarss@5.0.0(postcss@8.5.8))(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.4)): + vite-tsconfig-paths@6.1.1(typescript@5.9.3)(vite@7.1.12(@types/node@24.12.3)(sass@1.99.0)(sugarss@5.0.0(postcss@8.5.8))(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.4)): dependencies: debug: 4.4.3 globrex: 0.1.2 tsconfck: 3.1.3(typescript@5.9.3) - vite: 7.1.12(@types/node@24.12.2)(sass@1.99.0)(sugarss@5.0.0(postcss@8.5.8))(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.4) + vite: 7.1.12(@types/node@24.12.3)(sass@1.99.0)(sugarss@5.0.0(postcss@8.5.8))(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.4) transitivePeerDependencies: - supports-color - typescript - vite@7.1.12(@types/node@24.12.2)(sass@1.99.0)(sugarss@5.0.0(postcss@8.5.8))(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.4): + vite@7.1.12(@types/node@24.12.3)(sass@1.99.0)(sugarss@5.0.0(postcss@8.5.8))(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.4): dependencies: esbuild: 0.25.12 fdir: 6.5.0(picomatch@4.0.4) @@ -19854,7 +19861,7 @@ snapshots: rollup: 4.60.0 tinyglobby: 0.2.15 optionalDependencies: - '@types/node': 24.12.2 + '@types/node': 24.12.3 fsevents: 2.3.3 sass: 1.99.0 sugarss: 5.0.0(postcss@8.5.8) @@ -19862,10 +19869,10 @@ snapshots: tsx: 4.21.0 yaml: 2.8.4 - vitest@4.1.5(@types/node@24.12.2)(@vitest/coverage-v8@4.1.5)(@vitest/ui@4.1.5)(jsdom@29.1.1(@noble/hashes@2.0.1))(vite@7.1.12(@types/node@24.12.2)(sass@1.99.0)(sugarss@5.0.0(postcss@8.5.8))(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.4)): + vitest@4.1.5(@types/node@24.12.3)(@vitest/coverage-v8@4.1.5)(@vitest/ui@4.1.5)(jsdom@29.1.1(@noble/hashes@2.0.1))(vite@7.1.12(@types/node@24.12.3)(sass@1.99.0)(sugarss@5.0.0(postcss@8.5.8))(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.4)): dependencies: '@vitest/expect': 4.1.5 - '@vitest/mocker': 4.1.5(vite@7.1.12(@types/node@24.12.2)(sass@1.99.0)(sugarss@5.0.0(postcss@8.5.8))(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.4)) + '@vitest/mocker': 4.1.5(vite@7.1.12(@types/node@24.12.3)(sass@1.99.0)(sugarss@5.0.0(postcss@8.5.8))(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.4)) '@vitest/pretty-format': 4.1.5 '@vitest/runner': 4.1.5 '@vitest/snapshot': 4.1.5 @@ -19882,10 +19889,10 @@ snapshots: tinyexec: 1.0.2 tinyglobby: 0.2.15 tinyrainbow: 3.1.0 - vite: 7.1.12(@types/node@24.12.2)(sass@1.99.0)(sugarss@5.0.0(postcss@8.5.8))(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.4) + vite: 7.1.12(@types/node@24.12.3)(sass@1.99.0)(sugarss@5.0.0(postcss@8.5.8))(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.4) why-is-node-running: 2.3.0 optionalDependencies: - '@types/node': 24.12.2 + '@types/node': 24.12.3 '@vitest/coverage-v8': 4.1.5(vitest@4.1.5) '@vitest/ui': 4.1.5(vitest@4.1.5) jsdom: 29.1.1(@noble/hashes@2.0.1) diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 215cefbd0..d12cbeb69 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -81,7 +81,7 @@ catalog: "@types/crypto-js": ^4.2.2 "@types/css-modules": ^1.0.5 "@types/dockerode": ^4.0.1 - "@types/node": ^24.12.2 + "@types/node": ^24.12.3 "@types/node-unifi": ^2.5.1 "@types/pg": ^8.20.0 "@types/prismjs": ^1.26.6 From d356fa41a0baf2df81683d663e7b09dd66f7c2cf Mon Sep 17 00:00:00 2001 From: "homarr-renovate[bot]" <158783068+homarr-renovate[bot]@users.noreply.github.com> Date: Wed, 13 May 2026 06:55:25 +0000 Subject: [PATCH 54/63] chore(deps): update dependency brace-expansion@>=1.0.0 <=1.1.11 to >=5.0.6 (#5705) Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com> --- package.json | 2 +- pnpm-lock.yaml | 14 +++++++++++--- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/package.json b/package.json index 71d82db24..c89c2be7e 100644 --- a/package.json +++ b/package.json @@ -81,7 +81,7 @@ "@babel/runtime@<7.26.10": ">=7.29.2", "axios@>=1.0.0 <1.8.2": ">=1.16.0", "brace-expansion@>=2.0.0 <=2.0.1": ">=5.0.5", - "brace-expansion@>=1.0.0 <=1.1.11": ">=5.0.5", + "brace-expansion@>=1.0.0 <=1.1.11": ">=5.0.6", "esbuild@<=0.24.2": ">=0.28.0", "form-data@>=4.0.0 <4.0.4": ">=4.0.5", "hono@<4.6.5": ">=4.12.16", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 7b9546d0f..04c0aeec9 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -567,7 +567,7 @@ overrides: '@babel/runtime@<7.26.10': '>=7.29.2' axios@>=1.0.0 <1.8.2: '>=1.16.0' brace-expansion@>=2.0.0 <=2.0.1: '>=5.0.5' - brace-expansion@>=1.0.0 <=1.1.11: '>=5.0.5' + brace-expansion@>=1.0.0 <=1.1.11: '>=5.0.6' esbuild@<=0.24.2: '>=0.28.0' form-data@>=4.0.0 <4.0.4: '>=4.0.5' hono@<4.6.5: '>=4.12.16' @@ -6334,6 +6334,10 @@ packages: resolution: {integrity: sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==} engines: {node: 18 || 20 || >=22} + brace-expansion@5.0.6: + resolution: {integrity: sha512-kLpxurY4Z4r9sgMsyG0Z9uzsBlgiU/EFKhj/h91/8yHu0edo7XuixOIH3VcJ8kkxs6/jPzoI6U9Vj3WqbMQ94g==} + engines: {node: 18 || 20 || >=22} + braces@3.0.3: resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} @@ -14795,6 +14799,10 @@ snapshots: dependencies: balanced-match: 4.0.2 + brace-expansion@5.0.6: + dependencies: + balanced-match: 4.0.2 + braces@3.0.3: dependencies: fill-range: 7.1.1 @@ -16771,7 +16779,7 @@ snapshots: jest-worker@27.5.1: dependencies: - '@types/node': 24.12.2 + '@types/node': 24.12.3 merge-stream: 2.0.0 supports-color: 8.1.1 @@ -17331,7 +17339,7 @@ snapshots: minimatch@3.1.5: dependencies: - brace-expansion: 5.0.5 + brace-expansion: 5.0.6 minimatch@5.1.6: dependencies: From f0bd5132a3c3857cf787130b979c5342c65f7a4c Mon Sep 17 00:00:00 2001 From: "homarr-renovate[bot]" <158783068+homarr-renovate[bot]@users.noreply.github.com> Date: Wed, 13 May 2026 09:52:26 +0000 Subject: [PATCH 55/63] chore(deps): update dependency brace-expansion@>=2.0.0 <=2.0.1 to >=5.0.6 (#5706) Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com> --- package.json | 2 +- pnpm-lock.yaml | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/package.json b/package.json index c89c2be7e..24974dd9f 100644 --- a/package.json +++ b/package.json @@ -80,7 +80,7 @@ "@babel/helpers@<7.26.10": ">=7.29.2", "@babel/runtime@<7.26.10": ">=7.29.2", "axios@>=1.0.0 <1.8.2": ">=1.16.0", - "brace-expansion@>=2.0.0 <=2.0.1": ">=5.0.5", + "brace-expansion@>=2.0.0 <=2.0.1": ">=5.0.6", "brace-expansion@>=1.0.0 <=1.1.11": ">=5.0.6", "esbuild@<=0.24.2": ">=0.28.0", "form-data@>=4.0.0 <4.0.4": ">=4.0.5", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 04c0aeec9..df86643df 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -566,7 +566,7 @@ overrides: '@babel/helpers@<7.26.10': '>=7.29.2' '@babel/runtime@<7.26.10': '>=7.29.2' axios@>=1.0.0 <1.8.2: '>=1.16.0' - brace-expansion@>=2.0.0 <=2.0.1: '>=5.0.5' + brace-expansion@>=2.0.0 <=2.0.1: '>=5.0.6' brace-expansion@>=1.0.0 <=1.1.11: '>=5.0.6' esbuild@<=0.24.2: '>=0.28.0' form-data@>=4.0.0 <4.0.4: '>=4.0.5' @@ -17343,11 +17343,11 @@ snapshots: minimatch@5.1.6: dependencies: - brace-expansion: 5.0.5 + brace-expansion: 5.0.6 minimatch@9.0.5: dependencies: - brace-expansion: 5.0.5 + brace-expansion: 5.0.6 minimist@1.2.8: {} From e5021b1d7861981f2e94d5a64deceb6f25410a2b Mon Sep 17 00:00:00 2001 From: "homarr-renovate[bot]" <158783068+homarr-renovate[bot]@users.noreply.github.com> Date: Wed, 13 May 2026 12:16:00 +0000 Subject: [PATCH 56/63] chore(deps): update tiptap monorepo to v3.23.1 (#5708) Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com> --- pnpm-lock.yaml | 584 ++++++++++++++++++++++---------------------- pnpm-workspace.yaml | 32 +-- 2 files changed, 308 insertions(+), 308 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index df86643df..bd83551b0 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -151,53 +151,53 @@ catalogs: specifier: ^11.14.0 version: 11.14.0 '@tiptap/extension-color': - specifier: 3.22.5 - version: 3.22.5 + specifier: 3.23.1 + version: 3.23.1 '@tiptap/extension-highlight': - specifier: 3.22.5 - version: 3.22.5 + specifier: 3.23.1 + version: 3.23.1 '@tiptap/extension-image': - specifier: 3.22.5 - version: 3.22.5 + specifier: 3.23.1 + version: 3.23.1 '@tiptap/extension-link': - specifier: ^3.22.5 - version: 3.22.5 + specifier: ^3.23.1 + version: 3.23.1 '@tiptap/extension-placeholder': - specifier: ^3.22.5 - version: 3.22.5 + specifier: ^3.23.1 + version: 3.23.1 '@tiptap/extension-table': - specifier: 3.22.5 - version: 3.22.5 + specifier: 3.23.1 + version: 3.23.1 '@tiptap/extension-table-cell': - specifier: 3.22.5 - version: 3.22.5 + specifier: 3.23.1 + version: 3.23.1 '@tiptap/extension-table-header': - specifier: 3.22.5 - version: 3.22.5 + specifier: 3.23.1 + version: 3.23.1 '@tiptap/extension-table-row': - specifier: 3.22.5 - version: 3.22.5 + specifier: 3.23.1 + version: 3.23.1 '@tiptap/extension-task-item': - specifier: 3.22.5 - version: 3.22.5 + specifier: 3.23.1 + version: 3.23.1 '@tiptap/extension-task-list': - specifier: 3.22.5 - version: 3.22.5 + specifier: 3.23.1 + version: 3.23.1 '@tiptap/extension-text-align': - specifier: 3.22.5 - version: 3.22.5 + specifier: 3.23.1 + version: 3.23.1 '@tiptap/extension-text-style': - specifier: 3.22.5 - version: 3.22.5 + specifier: 3.23.1 + version: 3.23.1 '@tiptap/extension-underline': - specifier: 3.22.5 - version: 3.22.5 + specifier: 3.23.1 + version: 3.23.1 '@tiptap/react': - specifier: ^3.22.5 - version: 3.22.5 + specifier: ^3.23.1 + version: 3.23.1 '@tiptap/starter-kit': - specifier: ^3.22.5 - version: 3.22.5 + specifier: ^3.23.1 + version: 3.23.1 '@trpc/client': specifier: ^11.17.0 version: 11.17.0 @@ -783,7 +783,7 @@ importers: version: 8.3.18(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.6))(@types/react@19.2.14)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(@mantine/hooks@8.3.18(react@19.2.6))(react-dom@19.2.6(react@19.2.6))(react@19.2.6) '@mantine/tiptap': specifier: 'catalog:' - version: 8.3.18(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.6))(@types/react@19.2.14)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(@mantine/hooks@8.3.18(react@19.2.6))(@tiptap/extension-link@3.22.5(@tiptap/core@3.22.5(@tiptap/pm@3.22.5))(@tiptap/pm@3.22.5))(@tiptap/react@3.22.5(@floating-ui/dom@1.7.4)(@tiptap/core@3.22.5(@tiptap/pm@3.22.5))(@tiptap/pm@3.22.5)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + version: 8.3.18(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.6))(@types/react@19.2.14)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(@mantine/hooks@8.3.18(react@19.2.6))(@tiptap/extension-link@3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1))(@tiptap/react@3.23.1(@floating-ui/dom@1.7.4)(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react-dom@19.2.6(react@19.2.6))(react@19.2.6) '@million/lint': specifier: 'catalog:' version: 1.0.14(webpack-sources@3.3.4) @@ -2811,52 +2811,52 @@ importers: version: 3.43.0(react@19.2.6) '@tiptap/extension-color': specifier: 'catalog:' - version: 3.22.5(@tiptap/extension-text-style@3.22.5(@tiptap/core@3.22.5(@tiptap/pm@3.22.5))) + version: 3.23.1(@tiptap/extension-text-style@3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))) '@tiptap/extension-highlight': specifier: 'catalog:' - version: 3.22.5(@tiptap/core@3.22.5(@tiptap/pm@3.22.5)) + version: 3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1)) '@tiptap/extension-image': specifier: 'catalog:' - version: 3.22.5(@tiptap/core@3.22.5(@tiptap/pm@3.22.5)) + version: 3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1)) '@tiptap/extension-link': specifier: 'catalog:' - version: 3.22.5(@tiptap/core@3.22.5(@tiptap/pm@3.22.5))(@tiptap/pm@3.22.5) + version: 3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1) '@tiptap/extension-placeholder': specifier: 'catalog:' - version: 3.22.5(@tiptap/extensions@3.22.5(@tiptap/core@3.22.5(@tiptap/pm@3.22.5))(@tiptap/pm@3.22.5)) + version: 3.23.1(@tiptap/extensions@3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1)) '@tiptap/extension-table': specifier: 'catalog:' - version: 3.22.5(@tiptap/core@3.22.5(@tiptap/pm@3.22.5))(@tiptap/pm@3.22.5) + version: 3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1) '@tiptap/extension-table-cell': specifier: 'catalog:' - version: 3.22.5(@tiptap/extension-table@3.22.5(@tiptap/core@3.22.5(@tiptap/pm@3.22.5))(@tiptap/pm@3.22.5)) + version: 3.23.1(@tiptap/extension-table@3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1)) '@tiptap/extension-table-header': specifier: 'catalog:' - version: 3.22.5(@tiptap/extension-table@3.22.5(@tiptap/core@3.22.5(@tiptap/pm@3.22.5))(@tiptap/pm@3.22.5)) + version: 3.23.1(@tiptap/extension-table@3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1)) '@tiptap/extension-table-row': specifier: 'catalog:' - version: 3.22.5(@tiptap/extension-table@3.22.5(@tiptap/core@3.22.5(@tiptap/pm@3.22.5))(@tiptap/pm@3.22.5)) + version: 3.23.1(@tiptap/extension-table@3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1)) '@tiptap/extension-task-item': specifier: 'catalog:' - version: 3.22.5(@tiptap/extension-list@3.22.5(@tiptap/core@3.22.5(@tiptap/pm@3.22.5))(@tiptap/pm@3.22.5)) + version: 3.23.1(@tiptap/extension-list@3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1)) '@tiptap/extension-task-list': specifier: 'catalog:' - version: 3.22.5(@tiptap/extension-list@3.22.5(@tiptap/core@3.22.5(@tiptap/pm@3.22.5))(@tiptap/pm@3.22.5)) + version: 3.23.1(@tiptap/extension-list@3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1)) '@tiptap/extension-text-align': specifier: 'catalog:' - version: 3.22.5(@tiptap/core@3.22.5(@tiptap/pm@3.22.5)) + version: 3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1)) '@tiptap/extension-text-style': specifier: 'catalog:' - version: 3.22.5(@tiptap/core@3.22.5(@tiptap/pm@3.22.5)) + version: 3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1)) '@tiptap/extension-underline': specifier: 'catalog:' - version: 3.22.5(@tiptap/core@3.22.5(@tiptap/pm@3.22.5)) + version: 3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1)) '@tiptap/react': specifier: 'catalog:' - version: 3.22.5(@floating-ui/dom@1.7.4)(@tiptap/core@3.22.5(@tiptap/pm@3.22.5))(@tiptap/pm@3.22.5)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + version: 3.23.1(@floating-ui/dom@1.7.4)(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) '@tiptap/starter-kit': specifier: 'catalog:' - version: 3.22.5 + version: 3.23.1 clsx: specifier: 'catalog:' version: 2.1.1 @@ -5268,215 +5268,215 @@ packages: '@testcontainers/redis@11.14.0': resolution: {integrity: sha512-WX005slz2JMQPw2avbSjf5awVjpmFhOs5xCxeGSYLcV5ia4W1edv/P6MdOw4dZnvDQDuN5LfqNoV/ut3XGb2pA==} - '@tiptap/core@3.22.5': - resolution: {integrity: sha512-L1lhWz6ujGny8LduTJ7MBWYhzigwOvfUJUrJ7IzOJSuy3+OAzisdGDD1GV7LEO/hU0Hr2Mkm1wajRIHExvS9HQ==} + '@tiptap/core@3.23.1': + resolution: {integrity: sha512-8YvSGiJTeU5wPuGiYIIYgyiyaaT1CAx+kJL0bju0w871OvbJJj0T/ywhcmxGXW6pOal2T8X2xt9ZqE+vib0VJw==} peerDependencies: - '@tiptap/pm': 3.22.5 + '@tiptap/pm': 3.23.1 - '@tiptap/extension-blockquote@3.22.5': - resolution: {integrity: sha512-ajyP5W8fG5Hrru47T/eF3xMKOpNvWofgNJqBTeNuGl02sYxsy9a4EunyFxudsaZP9WW3VOD4SaIWr5+MqpbnOQ==} + '@tiptap/extension-blockquote@3.23.1': + resolution: {integrity: sha512-FdVZLZOkL06j3WLXOC2UeX7++Cj3qI2vfohruMJiz4vk1Q5UUH7G4+AykFzjzBJHrdEpkiRUkRpU1KZIWdbluw==} peerDependencies: - '@tiptap/core': 3.22.5 + '@tiptap/core': 3.23.1 - '@tiptap/extension-bold@3.22.5': - resolution: {integrity: sha512-l/uDtpJISiFFyfctvnODNWBN/XPZI1jVZRacTRDDnSn8+x6KQ7G2qgFYueU7KvVJGDFVT39Iio56mcFRG/Pozg==} + '@tiptap/extension-bold@3.23.1': + resolution: {integrity: sha512-EAYdNzyOjlQh2VBY1EhdxtiTjVMaOAD6P0ezms60dKRjd4oj/8grfXfUqwgo4NVdFb11Ks85vXoHuXJSylfR4A==} peerDependencies: - '@tiptap/core': 3.22.5 + '@tiptap/core': 3.23.1 - '@tiptap/extension-bubble-menu@3.22.5': - resolution: {integrity: sha512-yrNlFQQJY5MmhBpmD8tnmaSmyUQrEvgyPKa3bzVeWEhDSG1CW4A0ZSMx3hrA9yFO0HWfw3IJmvSCycEZQBalpQ==} + '@tiptap/extension-bubble-menu@3.23.1': + resolution: {integrity: sha512-1advMCpPkHD/3ucZhYmNau8B4tF0L6iRAFhUOglp5bBZDuq13+rYujh3cm4vFmjH9KqThzpcUDn+ZU2c+mTMyw==} peerDependencies: - '@tiptap/core': 3.22.5 - '@tiptap/pm': 3.22.5 + '@tiptap/core': 3.23.1 + '@tiptap/pm': 3.23.1 - '@tiptap/extension-bullet-list@3.22.5': - resolution: {integrity: sha512-cf54fG9AybU8NgPMv1TOcoqAkELeRc/VpnSCt/rIJZphWQx9nsFmrtkrlCatrIcCaGtNZYwlHlMnC5LVVMu0uA==} + '@tiptap/extension-bullet-list@3.23.1': + resolution: {integrity: sha512-owWnBBI4t+jqVDY0naDjhsAmrNGldh4czouef2K+mEf032B7uGsDVCwKp1qaX1JZesyYDfvXOaIwT22hNID2mw==} peerDependencies: - '@tiptap/extension-list': 3.22.5 + '@tiptap/extension-list': 3.23.1 - '@tiptap/extension-code-block@3.22.5': - resolution: {integrity: sha512-d123kCfLdJTi4fue1m0+TNFztDkmIRSZGZmGu6H9KqwG5Q7IzjT9o8lzRsz+pXxYqHvqgYmXoEpM6srbzXx/Ag==} + '@tiptap/extension-code-block@3.23.1': + resolution: {integrity: sha512-BdJGqM57CsKgYrQUZz78vIG8Yn7EpsE2pA7iKn5tYoSXpYtt0IaU4qB1heH7lwWD/vVCAm0YQVD7/0F+0++yhA==} peerDependencies: - '@tiptap/core': 3.22.5 - '@tiptap/pm': 3.22.5 + '@tiptap/core': 3.23.1 + '@tiptap/pm': 3.23.1 - '@tiptap/extension-code@3.22.5': - resolution: {integrity: sha512-mwDNOJC9rYbDu/JcqrN4dbUQRklJU8Fuk2raxD/IvFw9qUIcPCmxQ2XT9UTKmZz/Ju7Kdy72fss6XpgWv6gLAQ==} + '@tiptap/extension-code@3.23.1': + resolution: {integrity: sha512-nGuhb4YghgTfkejwWHrD9GSpwcC5kkVmm2sN/UY4yceDw+PkyysYKJWZehRLTOC8GNgSAhq/EeQeq14Xwk6dyg==} peerDependencies: - '@tiptap/core': 3.22.5 + '@tiptap/core': 3.23.1 - '@tiptap/extension-color@3.22.5': - resolution: {integrity: sha512-4aTygOUlTFBYCvJy67SeKVdXCQw7du3Rj+N5ZutVnDnrpfzUBWsO7f+I+iDS8eMQFbWxVFLlWxGMcTbjtk1a+Q==} + '@tiptap/extension-color@3.23.1': + resolution: {integrity: sha512-OYk/fT3h8Bz4B6GUVTQDvKGpPnpI5d6QHkuqjVhdFsgH3oo58PdLE1TdIGgeavuYPLaFxgBtEXmm3oTY9jPWxw==} peerDependencies: - '@tiptap/extension-text-style': 3.22.5 + '@tiptap/extension-text-style': 3.23.1 - '@tiptap/extension-document@3.22.5': - resolution: {integrity: sha512-8NJERd+pCtvSuEP4C4WMGYmRRCV12ePZL7bC+QUdFlbdXg+kNZS0zZ7hh879tYA0Kidbi8rWWD1Tx+H2ezkmMw==} + '@tiptap/extension-document@3.23.1': + resolution: {integrity: sha512-NA5Rx59HRwG6Hb6LwLpC5lE7z6vCj6f90S7RNNsnE+CyiXNR/OhY2BcjuxiGnascHvsnsAbvxGU3ymKMDgvDVg==} peerDependencies: - '@tiptap/core': 3.22.5 + '@tiptap/core': 3.23.1 - '@tiptap/extension-dropcursor@3.22.5': - resolution: {integrity: sha512-Mp40DaFrY3sEUVtFqmxrR0BmU4G3k8GCYYNGqNa9OqWv7BrcFDC03V2n3okESDKt4MKkzhQQmypq+ouLy8dLfA==} + '@tiptap/extension-dropcursor@3.23.1': + resolution: {integrity: sha512-WRN7e/h9m3uI5j9/+L6jcPhHbTL6aKxfFfQWZHNf5M8TqSL1P+/2h034td0XMj3n48i4fWyzjVUV9+sz6t2fDw==} peerDependencies: - '@tiptap/extensions': 3.22.5 + '@tiptap/extensions': 3.23.1 - '@tiptap/extension-floating-menu@3.22.5': - resolution: {integrity: sha512-dhem4sTPhyQgQ+pFp2Oud4k4FSQz9PVMgeQAC9288SmGwxBkJNveDAw6sKTMrumqDvwkJrtslXIupq9TZYQnzg==} + '@tiptap/extension-floating-menu@3.23.1': + resolution: {integrity: sha512-XrYHpLn1DpLFSGTko9F9xgbNamL6fGpWkK4wqgwPVbg/SJwQCDO/9p5D3DtJTwD+xgw4sQ9as4O6rt6jx8JT+Q==} peerDependencies: '@floating-ui/dom': ^1.0.0 - '@tiptap/core': 3.22.5 - '@tiptap/pm': 3.22.5 + '@tiptap/core': 3.23.1 + '@tiptap/pm': 3.23.1 - '@tiptap/extension-gapcursor@3.22.5': - resolution: {integrity: sha512-4WkMu7qqjbsm8hCQS+8X+la1wjriN0SKoRdvpfKH33qM50MB34tYJuGLAO+y7TTh4MMMco3AZCKPBL5JVMqNIg==} + '@tiptap/extension-gapcursor@3.23.1': + resolution: {integrity: sha512-E4hB0xquUpEXy7kboLBazrFyRCsN0j0fsTFR8udgQf5xetAVPhOexSTKuzOcU/n0kxsKJin7laYYEag/Fd2KNw==} peerDependencies: - '@tiptap/extensions': 3.22.5 + '@tiptap/extensions': 3.23.1 - '@tiptap/extension-hard-break@3.22.5': - resolution: {integrity: sha512-n0R2mUVYZU2AVbJhg/WcY9+zx690wVwvsItHJf0DrYbf1tCYHx+PRHUt/AoXk6u8BSmnkb8/FDziS8m3mjfpSg==} + '@tiptap/extension-hard-break@3.23.1': + resolution: {integrity: sha512-XYkCKC5RVqMmmBk+nd22/6IDDx1OC54sdStH5VEHtfOrarriO0JztK8Mr0TijPPk9N4rKXsmndYZM2xyWZZytQ==} peerDependencies: - '@tiptap/core': 3.22.5 + '@tiptap/core': 3.23.1 - '@tiptap/extension-heading@3.22.5': - resolution: {integrity: sha512-hjyEG4947PAhMBfP1G6B0QAh6+y9mp2C5BQmNjprA05/lQzDAT7KFZzNh8ZVp3ol6aICKq/N1gFOW9Dc/9FUOw==} + '@tiptap/extension-heading@3.23.1': + resolution: {integrity: sha512-1z9yCSp8fevgX3r/4kWXO3of0WFCQWfYjWfHANvoJ4JQTYBkARjXlj1tbk5rrAJBFDDfKRkUpZOurXKgGo+h+g==} peerDependencies: - '@tiptap/core': 3.22.5 + '@tiptap/core': 3.23.1 - '@tiptap/extension-highlight@3.22.5': - resolution: {integrity: sha512-byWruAOKcqRN0OuzVSKqLLrced3M9AZaR2pD1BV3aUZHzMzeBjLBfByh8s4lExH2Z547xQUdHHnUflBQ572I5A==} + '@tiptap/extension-highlight@3.23.1': + resolution: {integrity: sha512-Bf5u5KBb6SLveKzPgUEbHoU5uWTUcEvSSZr/mpQZpvCpE6MlXZbvengmFj1OkKnrNZWg0Um2p9e6zKnZHH07sA==} peerDependencies: - '@tiptap/core': 3.22.5 + '@tiptap/core': 3.23.1 - '@tiptap/extension-horizontal-rule@3.22.5': - resolution: {integrity: sha512-vUV0/ugIbXOc8SJib0h8UMhgcqZXWu/dkEhlswZN4VVven1o5enkfxEiDw+OyIJHi5rUkrdhsQ/KTxG/Xb7X8A==} + '@tiptap/extension-horizontal-rule@3.23.1': + resolution: {integrity: sha512-30XUHXdEZxcz1FCWjz9HW2EEq06NQcAye6rXGnvHo6Y60iJ6MRsrX5byvceFNF9DTVtOIcUFBQ/psIiRcoi0KA==} peerDependencies: - '@tiptap/core': 3.22.5 - '@tiptap/pm': 3.22.5 + '@tiptap/core': 3.23.1 + '@tiptap/pm': 3.23.1 - '@tiptap/extension-image@3.22.5': - resolution: {integrity: sha512-ezMzA6w6UsPesQp6fxTQojI/IkGJLmkwR/VGTimva7sudP3HdSW8k3SGBkjfvp0L2xqUrC/l4nWOchu01A/xtQ==} + '@tiptap/extension-image@3.23.1': + resolution: {integrity: sha512-rAyfh8HS0PfXS8PKl1VQUiDFzXtF5SlrILpOPmz+4Oc4pmI+/vN+ain4z8k6HRxWM03YVpvLvyeQ0OFwi/fq3A==} peerDependencies: - '@tiptap/core': 3.22.5 + '@tiptap/core': 3.23.1 - '@tiptap/extension-italic@3.22.5': - resolution: {integrity: sha512-4T8baSiLkeIymTgEwirxDFt5YgYofkP3m1+MGYdGy2HKcOK+1vpvlPhEO1X5qtZngtJW5S4+njKjinRg52A4PA==} + '@tiptap/extension-italic@3.23.1': + resolution: {integrity: sha512-lZB9YCjoVNDoPMguya66nBvaS/2YpGN5iAcjAGx/JQkCAZeOAtl9+ALMzbWPKH6tQP6m98YtkY1T7RXr++T0bA==} peerDependencies: - '@tiptap/core': 3.22.5 + '@tiptap/core': 3.23.1 - '@tiptap/extension-link@3.22.5': - resolution: {integrity: sha512-d671MvF3GPKoS2OVxjIlQ7hIE7MS3hREdR+d4cvnnoiLLD+ZJ6KgDnxmWqF0a1s4qxLWK2KxKRSOIfYGE31QWQ==} + '@tiptap/extension-link@3.23.1': + resolution: {integrity: sha512-uOeyLqYQI0WG62agpFG24kVHSn3Z48gD8Y0uLLJbtzh/nDFC3d9So2sQGWlSVyMzsgkJ4k/9jNnxxsVO8qgJOg==} peerDependencies: - '@tiptap/core': 3.22.5 - '@tiptap/pm': 3.22.5 + '@tiptap/core': 3.23.1 + '@tiptap/pm': 3.23.1 - '@tiptap/extension-list-item@3.22.5': - resolution: {integrity: sha512-W7uTmyKLhlsvuTPLv+8WwnsY+mlikBFIoLSvVcBaFt4MwpsZ+DeB6KQg02Y7tbtaAnG7rXu9Fvw2QORh2P728A==} + '@tiptap/extension-list-item@3.23.1': + resolution: {integrity: sha512-Fk/884un5OSLCFxe2TbOmfp3sLMB5b76CnMjaSrvgfiaZnsV2WlJZGPXxCAPbxNIATTykNlSBsVuMBO7we64Vg==} peerDependencies: - '@tiptap/extension-list': 3.22.5 + '@tiptap/extension-list': 3.23.1 - '@tiptap/extension-list-keymap@3.22.5': - resolution: {integrity: sha512-cGUnxJ0y515e1bVHNjUmbx7oWHoEon59w6BA5N2KwV9iW2mZZchlTX4yxJSOX+ixeVRChsa7YwC3Z1jUZ6AMEg==} + '@tiptap/extension-list-keymap@3.23.1': + resolution: {integrity: sha512-sHbE5sxiJzhgGn94GUAzD4qKM9SyImBrOlAGS/EIe+pausjqQE7xi+YW0gRo2jG+gXhSYl4/oAGXQXzmSInSUQ==} peerDependencies: - '@tiptap/extension-list': 3.22.5 + '@tiptap/extension-list': 3.23.1 - '@tiptap/extension-list@3.22.5': - resolution: {integrity: sha512-cVO3ZHCgxAWZ4zrFSs81FO2nyCk1wb2EHkpLpW98FzbJLkN9rDkazhW99P3HRWy/CvUldOT+8ecI1YrQtBojMg==} + '@tiptap/extension-list@3.23.1': + resolution: {integrity: sha512-v1AeXPpagslgRZdOp7WdjCoO4TjjNP8RM2R6Gqx0/inGaNXnM8zCMshOxZlAb03Ad7kq/4RGJmkpM/Jjsi6dEQ==} peerDependencies: - '@tiptap/core': 3.22.5 - '@tiptap/pm': 3.22.5 + '@tiptap/core': 3.23.1 + '@tiptap/pm': 3.23.1 - '@tiptap/extension-ordered-list@3.22.5': - resolution: {integrity: sha512-OXdh4k4CNrukwiSdWdEQ49uvgnqvR0Z9aNSP4HI5/kZQ/Te1NtRtYCpUrzWyO/7CtjcCisXHti0o9C/TV8YMbQ==} + '@tiptap/extension-ordered-list@3.23.1': + resolution: {integrity: sha512-3GG7YFhVJWw/HWmRxvMMUC296x7TPBQRLsH4ryEC1SMAmVJnbTIvetyvIcLqLEXGW7Rj41S7SO8qjOXVceSOTA==} peerDependencies: - '@tiptap/extension-list': 3.22.5 + '@tiptap/extension-list': 3.23.1 - '@tiptap/extension-paragraph@3.22.5': - resolution: {integrity: sha512-52KCto4+XKpnBWpIufspWLyq4UWxAWC72ANPdGuIhbi72NRTabiTbTVN40uwGSPkyakeESG0/vKdWJCVvB4f0g==} + '@tiptap/extension-paragraph@3.23.1': + resolution: {integrity: sha512-GC7b6yAjASl1q9sNkPmukZmVYMfxx03EEhpMMrLYJY9GBz82Ald927yYQsOqf2aKA/Rjo/aZMYCGtjXkGk6aBA==} peerDependencies: - '@tiptap/core': 3.22.5 + '@tiptap/core': 3.23.1 - '@tiptap/extension-placeholder@3.22.5': - resolution: {integrity: sha512-MZAohQ3FCS763BkhGXgaWRya6WruZjwRwEAkXP8vkxbERzl2OJRjniS4uXCWzAlRb3ttE103SnY7LMdM8FvsXw==} + '@tiptap/extension-placeholder@3.23.1': + resolution: {integrity: sha512-eKmQhDt+51GIPxcFXoT8wmS+ejt6evIiHtXBgsLaABG6wg9GHnpGEndPcXsDGVR1s5ZLawVB52PFCX5GqKoWlQ==} peerDependencies: - '@tiptap/extensions': 3.22.5 + '@tiptap/extensions': 3.23.1 - '@tiptap/extension-strike@3.22.5': - resolution: {integrity: sha512-42WrrFK5gOom/0znH85x12Mw5IQ/6O6DWdyUWoRIrNA/qJpuHtU8oVU+bIgU2tuomMGHruRjIzgBQv5sBjEtww==} + '@tiptap/extension-strike@3.23.1': + resolution: {integrity: sha512-+R5LG0ZW9SDZc4weA79uq6uUduVsCEph9tRcoQCRA82IVIiPYSTxTLew9odalmk/Mc7vdZvOK5jjtO5jUVw/rg==} peerDependencies: - '@tiptap/core': 3.22.5 + '@tiptap/core': 3.23.1 - '@tiptap/extension-table-cell@3.22.5': - resolution: {integrity: sha512-Wn4asCgNLfOPH5EOpiMjzOJXTZvv+TTqUT+gzm2fV69ZkleCGNO0BZwuR/TCIDLGIArbvHzyYy2/lJAfG4UCtg==} + '@tiptap/extension-table-cell@3.23.1': + resolution: {integrity: sha512-irRouV6h+sxg+VJrQAxBNTsRiGcTc2Qx0sLGd32KUUrKjOPEyFEdsZQGVFkbHIrFvDc2DnMR3vUpk7G7LxdBcw==} peerDependencies: - '@tiptap/extension-table': 3.22.5 + '@tiptap/extension-table': 3.23.1 - '@tiptap/extension-table-header@3.22.5': - resolution: {integrity: sha512-aJmbgbO6QbSj0Rw3X4ogGPyd+8FwP6RgG71Dpa3NovzVkqJc3ZUq0wC3XH48U9Hd89F8f4AggFgHjU6/kQAgQQ==} + '@tiptap/extension-table-header@3.23.1': + resolution: {integrity: sha512-QJHavpzCStcR4FRKAqi9w19KZCbAcNNFNhli/d3e492wsEPcw35mXL2Urr+IJbIeWAnhUMHn/QSQKXr4VRjVkQ==} peerDependencies: - '@tiptap/extension-table': 3.22.5 + '@tiptap/extension-table': 3.23.1 - '@tiptap/extension-table-row@3.22.5': - resolution: {integrity: sha512-9A2BdX+R+P71f192Fo74OttMHj1WoFVO0ezaCzFbT8uNVG3nCJ7B5/1UkTlzqDdGOuWh1VpR63pFZP9LFsUv6A==} + '@tiptap/extension-table-row@3.23.1': + resolution: {integrity: sha512-PPP4nqlnCFwoZMcR/KgItj900vLqVn6pjLb9zKNb+H4uyA70TNn7xNN1jxUddxCz6AXDXfbRKR1YWF1kq8losg==} peerDependencies: - '@tiptap/extension-table': 3.22.5 + '@tiptap/extension-table': 3.23.1 - '@tiptap/extension-table@3.22.5': - resolution: {integrity: sha512-GMBM07bCwzHx1NK08zXRr2mNTDnP78Hd0VxFsRBIDFddDMZ2qG5jhwKHXN5cHMTrdWokWFUjvnEeJeV3guHoGg==} + '@tiptap/extension-table@3.23.1': + resolution: {integrity: sha512-EOcz0TCC+1LJwM4c36YYwzdH4RaYAn2j0ypjeDflFwJWMMKXWdJDm/zHc2mW0i7aiuUUwQj9791NLEQOl3mPjg==} peerDependencies: - '@tiptap/core': 3.22.5 - '@tiptap/pm': 3.22.5 + '@tiptap/core': 3.23.1 + '@tiptap/pm': 3.23.1 - '@tiptap/extension-task-item@3.22.5': - resolution: {integrity: sha512-OVJKiq67lU+RiC6slIhhgTJBlP/Vads6MZ7Ld5wxzCtWMdGKDuzQ1dgF7vrMEs7mhSeSH3phNcIdQ5ypYftZ9w==} + '@tiptap/extension-task-item@3.23.1': + resolution: {integrity: sha512-6g1vwOlKasbm3XxWLHmOIF6ghKbpU02dmG/uFah0xcEcfcb5e+JSb7PCWyxnp8bpLntGRSv2/kmDj/ptE9UJiQ==} peerDependencies: - '@tiptap/extension-list': 3.22.5 + '@tiptap/extension-list': 3.23.1 - '@tiptap/extension-task-list@3.22.5': - resolution: {integrity: sha512-SfZeJSALtFODs0i3fml1TSi4vQ4Uopu0p/LndK+mX5FGNBtNmWiy7Wr5cH03ANfzj8c2EzfGIyH+F2/V0HLK9g==} + '@tiptap/extension-task-list@3.23.1': + resolution: {integrity: sha512-/xn49drozPBtuavlggiu+8lJG/gWdTol1T3QlK16W+P1tbSic/7xk9m+AAQcnlcBTXPq9BuCs9nIcgEYkX6e1w==} peerDependencies: - '@tiptap/extension-list': 3.22.5 + '@tiptap/extension-list': 3.23.1 - '@tiptap/extension-text-align@3.22.5': - resolution: {integrity: sha512-LNUinhsZJC+/Vm7ugtghSjqlO64FQuww8oJkHq54Oh135fJ+kY2yBRakYFeH0P0gl4VPJH13AUetLF696CM2UQ==} + '@tiptap/extension-text-align@3.23.1': + resolution: {integrity: sha512-ap4ZN31v57mVX2P+0OoW5iO+ehsUNe0C5MgF/Ta2F/HRmTCc1M1mFqYUCk8zJYX1TFRV18vqK2j6STRBk0R8ng==} peerDependencies: - '@tiptap/core': 3.22.5 + '@tiptap/core': 3.23.1 - '@tiptap/extension-text-style@3.22.5': - resolution: {integrity: sha512-jt63jy8YbhZJUGMxTUzeivLhowGtFp6YbCFrrmZJ7G6IHu8X8LJzO81ksz5nT5l8DKpldGwnINUfA6iE91JIAg==} + '@tiptap/extension-text-style@3.23.1': + resolution: {integrity: sha512-q3GQQo+lBhrtNkqdbhYWnv/byG/RYAxVnNhYPQMubRzavGdXBU8NhpJ/47YYjPimG1sahzcs2aqy7amVd8ri/A==} peerDependencies: - '@tiptap/core': 3.22.5 + '@tiptap/core': 3.23.1 - '@tiptap/extension-text@3.22.5': - resolution: {integrity: sha512-bzpDOdAEo1JeoVZDIyV0oY0jGXkEG+AzF70SzHoRSjOvFDtKWunyXf9eO1OnOr2/fmMcckT2qwUBNBMQplWBzw==} + '@tiptap/extension-text@3.23.1': + resolution: {integrity: sha512-k1Ki9bBV6mLz1mFP+Laqh1YHJ2MY0P8XzaMqpkgMndEBIJQ3XcpWQc5bfAlRnYcOI9ZXDbAgQ8CwgArxHmQWCQ==} peerDependencies: - '@tiptap/core': 3.22.5 + '@tiptap/core': 3.23.1 - '@tiptap/extension-underline@3.22.5': - resolution: {integrity: sha512-9ut09rJD0iEbS6sk7yd2j6IwuFDLTNmDEGTDLodvqAfi+bq7ddsTDv0YviXoZaA9sdHAdTEVr2ITy2m6WK5jpA==} + '@tiptap/extension-underline@3.23.1': + resolution: {integrity: sha512-+PvHyVozHyxJ9oWCIQx5JHBZ7LAa/sFJUOFaKyfmel4gL9AbP52MmvrciXARlZHd1WCULJtdbLan0+x5/D/9hQ==} peerDependencies: - '@tiptap/core': 3.22.5 + '@tiptap/core': 3.23.1 - '@tiptap/extensions@3.22.5': - resolution: {integrity: sha512-Ifg4MzKCj3uRqe3ieTwYnomu2y4p7EXr2avVSKZYfh12i2dyWe2Gkn1KuZDREANVE+gHqFlQjJRYzhJFwzSCrg==} + '@tiptap/extensions@3.23.1': + resolution: {integrity: sha512-7UIn+idaVTVhdlP0KmgzBh8Csmwck357Dq4te5DuAxhSkN1gsXHlq39mpx907UYKJdSOgd+GMFeyOziPwSmbOQ==} peerDependencies: - '@tiptap/core': 3.22.5 - '@tiptap/pm': 3.22.5 + '@tiptap/core': 3.23.1 + '@tiptap/pm': 3.23.1 - '@tiptap/pm@3.22.5': - resolution: {integrity: sha512-Cr9Mv4igxvI2tKMiahw48sZxva3PfDzypErH8IB82N+9qa9n9ygVMt0BOaDg53hLKxEEVeYr2S/wCcJIVFgBTw==} + '@tiptap/pm@3.23.1': + resolution: {integrity: sha512-8G+TkNsUHHAAJYREpA6fw+Dw/m2Y3Go4/QMQM8RYepid+wTeE1wSv7sBA/CBrphhYmJSWeTyCPtgQIxnTJXMCA==} - '@tiptap/react@3.22.5': - resolution: {integrity: sha512-36WHEs+vPmB//V1ff7Ujcnpz7Ey5g8lhpI/0+hoanSbdiPMTQ7qZVWwMovIkMKDlqWVp2fxBgeYM1861jyFzTw==} + '@tiptap/react@3.23.1': + resolution: {integrity: sha512-43zUwKOcsxRIcgiDbcEUagojhPIez2OIryaNG/uiDcRzkrUteiTu2wSJndkQqwouwh3wJEm+KOw8xybNYvU+qA==} peerDependencies: - '@tiptap/core': 3.22.5 - '@tiptap/pm': 3.22.5 + '@tiptap/core': 3.23.1 + '@tiptap/pm': 3.23.1 '@types/react': ^17.0.0 || ^18.0.0 || ^19.0.0 '@types/react-dom': ^17.0.0 || ^18.0.0 || ^19.0.0 react: ^17.0.0 || ^18.0.0 || ^19.0.0 react-dom: ^17.0.0 || ^18.0.0 || ^19.0.0 - '@tiptap/starter-kit@3.22.5': - resolution: {integrity: sha512-LZ/LYbwH6rnDi5DnRyagkuNsYAVyhM+yJvvz+ZuYA0JkPiTXJV86J5PWSKew8M0gVfMHcNVtKjfQCvViFCeIgw==} + '@tiptap/starter-kit@3.23.1': + resolution: {integrity: sha512-CURePHQagBaZIDJrHH3of4Nmi0VYGpZ6yBlkdFxFHBxY9aeG2/h5kn+oHo8GbzkSFsRV+9olzRgDTOULVgs8pQ==} '@tree-sitter-grammars/tree-sitter-yaml@0.7.1': resolution: {integrity: sha512-AynBwkIoQCTgjDR33bDUp9Mqq+YTco0is3n5hRApMqG9of/6A4eQsfC1/uSEeHSUyMQSYawcAWamsexnVpIP4Q==} @@ -12421,12 +12421,12 @@ snapshots: dependencies: react: 19.2.6 - '@mantine/tiptap@8.3.18(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.6))(@types/react@19.2.14)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(@mantine/hooks@8.3.18(react@19.2.6))(@tiptap/extension-link@3.22.5(@tiptap/core@3.22.5(@tiptap/pm@3.22.5))(@tiptap/pm@3.22.5))(@tiptap/react@3.22.5(@floating-ui/dom@1.7.4)(@tiptap/core@3.22.5(@tiptap/pm@3.22.5))(@tiptap/pm@3.22.5)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': + '@mantine/tiptap@8.3.18(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.6))(@types/react@19.2.14)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(@mantine/hooks@8.3.18(react@19.2.6))(@tiptap/extension-link@3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1))(@tiptap/react@3.23.1(@floating-ui/dom@1.7.4)(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': dependencies: '@mantine/core': 8.3.18(@mantine/hooks@8.3.18(react@19.2.6))(@types/react@19.2.14)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) '@mantine/hooks': 8.3.18(react@19.2.6) - '@tiptap/extension-link': 3.22.5(@tiptap/core@3.22.5(@tiptap/pm@3.22.5))(@tiptap/pm@3.22.5) - '@tiptap/react': 3.22.5(@floating-ui/dom@1.7.4)(@tiptap/core@3.22.5(@tiptap/pm@3.22.5))(@tiptap/pm@3.22.5)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + '@tiptap/extension-link': 3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1) + '@tiptap/react': 3.23.1(@floating-ui/dom@1.7.4)(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) react: 19.2.6 react-dom: 19.2.6(react@19.2.6) @@ -13585,168 +13585,168 @@ snapshots: - bare-buffer - supports-color - '@tiptap/core@3.22.5(@tiptap/pm@3.22.5)': + '@tiptap/core@3.23.1(@tiptap/pm@3.23.1)': dependencies: - '@tiptap/pm': 3.22.5 + '@tiptap/pm': 3.23.1 - '@tiptap/extension-blockquote@3.22.5(@tiptap/core@3.22.5(@tiptap/pm@3.22.5))': + '@tiptap/extension-blockquote@3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))': dependencies: - '@tiptap/core': 3.22.5(@tiptap/pm@3.22.5) + '@tiptap/core': 3.23.1(@tiptap/pm@3.23.1) - '@tiptap/extension-bold@3.22.5(@tiptap/core@3.22.5(@tiptap/pm@3.22.5))': + '@tiptap/extension-bold@3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))': dependencies: - '@tiptap/core': 3.22.5(@tiptap/pm@3.22.5) + '@tiptap/core': 3.23.1(@tiptap/pm@3.23.1) - '@tiptap/extension-bubble-menu@3.22.5(@tiptap/core@3.22.5(@tiptap/pm@3.22.5))(@tiptap/pm@3.22.5)': + '@tiptap/extension-bubble-menu@3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1)': dependencies: '@floating-ui/dom': 1.7.4 - '@tiptap/core': 3.22.5(@tiptap/pm@3.22.5) - '@tiptap/pm': 3.22.5 + '@tiptap/core': 3.23.1(@tiptap/pm@3.23.1) + '@tiptap/pm': 3.23.1 optional: true - '@tiptap/extension-bullet-list@3.22.5(@tiptap/extension-list@3.22.5(@tiptap/core@3.22.5(@tiptap/pm@3.22.5))(@tiptap/pm@3.22.5))': + '@tiptap/extension-bullet-list@3.23.1(@tiptap/extension-list@3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1))': dependencies: - '@tiptap/extension-list': 3.22.5(@tiptap/core@3.22.5(@tiptap/pm@3.22.5))(@tiptap/pm@3.22.5) + '@tiptap/extension-list': 3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1) - '@tiptap/extension-code-block@3.22.5(@tiptap/core@3.22.5(@tiptap/pm@3.22.5))(@tiptap/pm@3.22.5)': + '@tiptap/extension-code-block@3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1)': dependencies: - '@tiptap/core': 3.22.5(@tiptap/pm@3.22.5) - '@tiptap/pm': 3.22.5 + '@tiptap/core': 3.23.1(@tiptap/pm@3.23.1) + '@tiptap/pm': 3.23.1 - '@tiptap/extension-code@3.22.5(@tiptap/core@3.22.5(@tiptap/pm@3.22.5))': + '@tiptap/extension-code@3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))': dependencies: - '@tiptap/core': 3.22.5(@tiptap/pm@3.22.5) + '@tiptap/core': 3.23.1(@tiptap/pm@3.23.1) - '@tiptap/extension-color@3.22.5(@tiptap/extension-text-style@3.22.5(@tiptap/core@3.22.5(@tiptap/pm@3.22.5)))': + '@tiptap/extension-color@3.23.1(@tiptap/extension-text-style@3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1)))': dependencies: - '@tiptap/extension-text-style': 3.22.5(@tiptap/core@3.22.5(@tiptap/pm@3.22.5)) + '@tiptap/extension-text-style': 3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1)) - '@tiptap/extension-document@3.22.5(@tiptap/core@3.22.5(@tiptap/pm@3.22.5))': + '@tiptap/extension-document@3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))': dependencies: - '@tiptap/core': 3.22.5(@tiptap/pm@3.22.5) + '@tiptap/core': 3.23.1(@tiptap/pm@3.23.1) - '@tiptap/extension-dropcursor@3.22.5(@tiptap/extensions@3.22.5(@tiptap/core@3.22.5(@tiptap/pm@3.22.5))(@tiptap/pm@3.22.5))': + '@tiptap/extension-dropcursor@3.23.1(@tiptap/extensions@3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1))': dependencies: - '@tiptap/extensions': 3.22.5(@tiptap/core@3.22.5(@tiptap/pm@3.22.5))(@tiptap/pm@3.22.5) + '@tiptap/extensions': 3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1) - '@tiptap/extension-floating-menu@3.22.5(@floating-ui/dom@1.7.4)(@tiptap/core@3.22.5(@tiptap/pm@3.22.5))(@tiptap/pm@3.22.5)': + '@tiptap/extension-floating-menu@3.23.1(@floating-ui/dom@1.7.4)(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1)': dependencies: '@floating-ui/dom': 1.7.4 - '@tiptap/core': 3.22.5(@tiptap/pm@3.22.5) - '@tiptap/pm': 3.22.5 + '@tiptap/core': 3.23.1(@tiptap/pm@3.23.1) + '@tiptap/pm': 3.23.1 optional: true - '@tiptap/extension-gapcursor@3.22.5(@tiptap/extensions@3.22.5(@tiptap/core@3.22.5(@tiptap/pm@3.22.5))(@tiptap/pm@3.22.5))': + '@tiptap/extension-gapcursor@3.23.1(@tiptap/extensions@3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1))': dependencies: - '@tiptap/extensions': 3.22.5(@tiptap/core@3.22.5(@tiptap/pm@3.22.5))(@tiptap/pm@3.22.5) + '@tiptap/extensions': 3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1) - '@tiptap/extension-hard-break@3.22.5(@tiptap/core@3.22.5(@tiptap/pm@3.22.5))': + '@tiptap/extension-hard-break@3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))': dependencies: - '@tiptap/core': 3.22.5(@tiptap/pm@3.22.5) + '@tiptap/core': 3.23.1(@tiptap/pm@3.23.1) - '@tiptap/extension-heading@3.22.5(@tiptap/core@3.22.5(@tiptap/pm@3.22.5))': + '@tiptap/extension-heading@3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))': dependencies: - '@tiptap/core': 3.22.5(@tiptap/pm@3.22.5) + '@tiptap/core': 3.23.1(@tiptap/pm@3.23.1) - '@tiptap/extension-highlight@3.22.5(@tiptap/core@3.22.5(@tiptap/pm@3.22.5))': + '@tiptap/extension-highlight@3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))': dependencies: - '@tiptap/core': 3.22.5(@tiptap/pm@3.22.5) + '@tiptap/core': 3.23.1(@tiptap/pm@3.23.1) - '@tiptap/extension-horizontal-rule@3.22.5(@tiptap/core@3.22.5(@tiptap/pm@3.22.5))(@tiptap/pm@3.22.5)': + '@tiptap/extension-horizontal-rule@3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1)': dependencies: - '@tiptap/core': 3.22.5(@tiptap/pm@3.22.5) - '@tiptap/pm': 3.22.5 + '@tiptap/core': 3.23.1(@tiptap/pm@3.23.1) + '@tiptap/pm': 3.23.1 - '@tiptap/extension-image@3.22.5(@tiptap/core@3.22.5(@tiptap/pm@3.22.5))': + '@tiptap/extension-image@3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))': dependencies: - '@tiptap/core': 3.22.5(@tiptap/pm@3.22.5) + '@tiptap/core': 3.23.1(@tiptap/pm@3.23.1) - '@tiptap/extension-italic@3.22.5(@tiptap/core@3.22.5(@tiptap/pm@3.22.5))': + '@tiptap/extension-italic@3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))': dependencies: - '@tiptap/core': 3.22.5(@tiptap/pm@3.22.5) + '@tiptap/core': 3.23.1(@tiptap/pm@3.23.1) - '@tiptap/extension-link@3.22.5(@tiptap/core@3.22.5(@tiptap/pm@3.22.5))(@tiptap/pm@3.22.5)': + '@tiptap/extension-link@3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1)': dependencies: - '@tiptap/core': 3.22.5(@tiptap/pm@3.22.5) - '@tiptap/pm': 3.22.5 + '@tiptap/core': 3.23.1(@tiptap/pm@3.23.1) + '@tiptap/pm': 3.23.1 linkifyjs: 4.3.2 - '@tiptap/extension-list-item@3.22.5(@tiptap/extension-list@3.22.5(@tiptap/core@3.22.5(@tiptap/pm@3.22.5))(@tiptap/pm@3.22.5))': + '@tiptap/extension-list-item@3.23.1(@tiptap/extension-list@3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1))': dependencies: - '@tiptap/extension-list': 3.22.5(@tiptap/core@3.22.5(@tiptap/pm@3.22.5))(@tiptap/pm@3.22.5) + '@tiptap/extension-list': 3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1) - '@tiptap/extension-list-keymap@3.22.5(@tiptap/extension-list@3.22.5(@tiptap/core@3.22.5(@tiptap/pm@3.22.5))(@tiptap/pm@3.22.5))': + '@tiptap/extension-list-keymap@3.23.1(@tiptap/extension-list@3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1))': dependencies: - '@tiptap/extension-list': 3.22.5(@tiptap/core@3.22.5(@tiptap/pm@3.22.5))(@tiptap/pm@3.22.5) + '@tiptap/extension-list': 3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1) - '@tiptap/extension-list@3.22.5(@tiptap/core@3.22.5(@tiptap/pm@3.22.5))(@tiptap/pm@3.22.5)': + '@tiptap/extension-list@3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1)': dependencies: - '@tiptap/core': 3.22.5(@tiptap/pm@3.22.5) - '@tiptap/pm': 3.22.5 + '@tiptap/core': 3.23.1(@tiptap/pm@3.23.1) + '@tiptap/pm': 3.23.1 - '@tiptap/extension-ordered-list@3.22.5(@tiptap/extension-list@3.22.5(@tiptap/core@3.22.5(@tiptap/pm@3.22.5))(@tiptap/pm@3.22.5))': + '@tiptap/extension-ordered-list@3.23.1(@tiptap/extension-list@3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1))': dependencies: - '@tiptap/extension-list': 3.22.5(@tiptap/core@3.22.5(@tiptap/pm@3.22.5))(@tiptap/pm@3.22.5) + '@tiptap/extension-list': 3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1) - '@tiptap/extension-paragraph@3.22.5(@tiptap/core@3.22.5(@tiptap/pm@3.22.5))': + '@tiptap/extension-paragraph@3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))': dependencies: - '@tiptap/core': 3.22.5(@tiptap/pm@3.22.5) + '@tiptap/core': 3.23.1(@tiptap/pm@3.23.1) - '@tiptap/extension-placeholder@3.22.5(@tiptap/extensions@3.22.5(@tiptap/core@3.22.5(@tiptap/pm@3.22.5))(@tiptap/pm@3.22.5))': + '@tiptap/extension-placeholder@3.23.1(@tiptap/extensions@3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1))': dependencies: - '@tiptap/extensions': 3.22.5(@tiptap/core@3.22.5(@tiptap/pm@3.22.5))(@tiptap/pm@3.22.5) + '@tiptap/extensions': 3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1) - '@tiptap/extension-strike@3.22.5(@tiptap/core@3.22.5(@tiptap/pm@3.22.5))': + '@tiptap/extension-strike@3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))': dependencies: - '@tiptap/core': 3.22.5(@tiptap/pm@3.22.5) + '@tiptap/core': 3.23.1(@tiptap/pm@3.23.1) - '@tiptap/extension-table-cell@3.22.5(@tiptap/extension-table@3.22.5(@tiptap/core@3.22.5(@tiptap/pm@3.22.5))(@tiptap/pm@3.22.5))': + '@tiptap/extension-table-cell@3.23.1(@tiptap/extension-table@3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1))': dependencies: - '@tiptap/extension-table': 3.22.5(@tiptap/core@3.22.5(@tiptap/pm@3.22.5))(@tiptap/pm@3.22.5) + '@tiptap/extension-table': 3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1) - '@tiptap/extension-table-header@3.22.5(@tiptap/extension-table@3.22.5(@tiptap/core@3.22.5(@tiptap/pm@3.22.5))(@tiptap/pm@3.22.5))': + '@tiptap/extension-table-header@3.23.1(@tiptap/extension-table@3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1))': dependencies: - '@tiptap/extension-table': 3.22.5(@tiptap/core@3.22.5(@tiptap/pm@3.22.5))(@tiptap/pm@3.22.5) + '@tiptap/extension-table': 3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1) - '@tiptap/extension-table-row@3.22.5(@tiptap/extension-table@3.22.5(@tiptap/core@3.22.5(@tiptap/pm@3.22.5))(@tiptap/pm@3.22.5))': + '@tiptap/extension-table-row@3.23.1(@tiptap/extension-table@3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1))': dependencies: - '@tiptap/extension-table': 3.22.5(@tiptap/core@3.22.5(@tiptap/pm@3.22.5))(@tiptap/pm@3.22.5) + '@tiptap/extension-table': 3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1) - '@tiptap/extension-table@3.22.5(@tiptap/core@3.22.5(@tiptap/pm@3.22.5))(@tiptap/pm@3.22.5)': + '@tiptap/extension-table@3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1)': dependencies: - '@tiptap/core': 3.22.5(@tiptap/pm@3.22.5) - '@tiptap/pm': 3.22.5 + '@tiptap/core': 3.23.1(@tiptap/pm@3.23.1) + '@tiptap/pm': 3.23.1 - '@tiptap/extension-task-item@3.22.5(@tiptap/extension-list@3.22.5(@tiptap/core@3.22.5(@tiptap/pm@3.22.5))(@tiptap/pm@3.22.5))': + '@tiptap/extension-task-item@3.23.1(@tiptap/extension-list@3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1))': dependencies: - '@tiptap/extension-list': 3.22.5(@tiptap/core@3.22.5(@tiptap/pm@3.22.5))(@tiptap/pm@3.22.5) + '@tiptap/extension-list': 3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1) - '@tiptap/extension-task-list@3.22.5(@tiptap/extension-list@3.22.5(@tiptap/core@3.22.5(@tiptap/pm@3.22.5))(@tiptap/pm@3.22.5))': + '@tiptap/extension-task-list@3.23.1(@tiptap/extension-list@3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1))': dependencies: - '@tiptap/extension-list': 3.22.5(@tiptap/core@3.22.5(@tiptap/pm@3.22.5))(@tiptap/pm@3.22.5) + '@tiptap/extension-list': 3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1) - '@tiptap/extension-text-align@3.22.5(@tiptap/core@3.22.5(@tiptap/pm@3.22.5))': + '@tiptap/extension-text-align@3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))': dependencies: - '@tiptap/core': 3.22.5(@tiptap/pm@3.22.5) + '@tiptap/core': 3.23.1(@tiptap/pm@3.23.1) - '@tiptap/extension-text-style@3.22.5(@tiptap/core@3.22.5(@tiptap/pm@3.22.5))': + '@tiptap/extension-text-style@3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))': dependencies: - '@tiptap/core': 3.22.5(@tiptap/pm@3.22.5) + '@tiptap/core': 3.23.1(@tiptap/pm@3.23.1) - '@tiptap/extension-text@3.22.5(@tiptap/core@3.22.5(@tiptap/pm@3.22.5))': + '@tiptap/extension-text@3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))': dependencies: - '@tiptap/core': 3.22.5(@tiptap/pm@3.22.5) + '@tiptap/core': 3.23.1(@tiptap/pm@3.23.1) - '@tiptap/extension-underline@3.22.5(@tiptap/core@3.22.5(@tiptap/pm@3.22.5))': + '@tiptap/extension-underline@3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))': dependencies: - '@tiptap/core': 3.22.5(@tiptap/pm@3.22.5) + '@tiptap/core': 3.23.1(@tiptap/pm@3.23.1) - '@tiptap/extensions@3.22.5(@tiptap/core@3.22.5(@tiptap/pm@3.22.5))(@tiptap/pm@3.22.5)': + '@tiptap/extensions@3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1)': dependencies: - '@tiptap/core': 3.22.5(@tiptap/pm@3.22.5) - '@tiptap/pm': 3.22.5 + '@tiptap/core': 3.23.1(@tiptap/pm@3.23.1) + '@tiptap/pm': 3.23.1 - '@tiptap/pm@3.22.5': + '@tiptap/pm@3.23.1': dependencies: prosemirror-changeset: 2.3.0 prosemirror-commands: 1.6.2 @@ -13761,10 +13761,10 @@ snapshots: prosemirror-transform: 1.10.2 prosemirror-view: 1.41.4 - '@tiptap/react@3.22.5(@floating-ui/dom@1.7.4)(@tiptap/core@3.22.5(@tiptap/pm@3.22.5))(@tiptap/pm@3.22.5)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': + '@tiptap/react@3.23.1(@floating-ui/dom@1.7.4)(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': dependencies: - '@tiptap/core': 3.22.5(@tiptap/pm@3.22.5) - '@tiptap/pm': 3.22.5 + '@tiptap/core': 3.23.1(@tiptap/pm@3.23.1) + '@tiptap/pm': 3.23.1 '@types/react': 19.2.14 '@types/react-dom': 19.2.3(@types/react@19.2.14) '@types/use-sync-external-store': 0.0.6 @@ -13773,37 +13773,37 @@ snapshots: react-dom: 19.2.6(react@19.2.6) use-sync-external-store: 1.4.0(react@19.2.6) optionalDependencies: - '@tiptap/extension-bubble-menu': 3.22.5(@tiptap/core@3.22.5(@tiptap/pm@3.22.5))(@tiptap/pm@3.22.5) - '@tiptap/extension-floating-menu': 3.22.5(@floating-ui/dom@1.7.4)(@tiptap/core@3.22.5(@tiptap/pm@3.22.5))(@tiptap/pm@3.22.5) + '@tiptap/extension-bubble-menu': 3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1) + '@tiptap/extension-floating-menu': 3.23.1(@floating-ui/dom@1.7.4)(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1) transitivePeerDependencies: - '@floating-ui/dom' - '@tiptap/starter-kit@3.22.5': + '@tiptap/starter-kit@3.23.1': dependencies: - '@tiptap/core': 3.22.5(@tiptap/pm@3.22.5) - '@tiptap/extension-blockquote': 3.22.5(@tiptap/core@3.22.5(@tiptap/pm@3.22.5)) - '@tiptap/extension-bold': 3.22.5(@tiptap/core@3.22.5(@tiptap/pm@3.22.5)) - '@tiptap/extension-bullet-list': 3.22.5(@tiptap/extension-list@3.22.5(@tiptap/core@3.22.5(@tiptap/pm@3.22.5))(@tiptap/pm@3.22.5)) - '@tiptap/extension-code': 3.22.5(@tiptap/core@3.22.5(@tiptap/pm@3.22.5)) - '@tiptap/extension-code-block': 3.22.5(@tiptap/core@3.22.5(@tiptap/pm@3.22.5))(@tiptap/pm@3.22.5) - '@tiptap/extension-document': 3.22.5(@tiptap/core@3.22.5(@tiptap/pm@3.22.5)) - '@tiptap/extension-dropcursor': 3.22.5(@tiptap/extensions@3.22.5(@tiptap/core@3.22.5(@tiptap/pm@3.22.5))(@tiptap/pm@3.22.5)) - '@tiptap/extension-gapcursor': 3.22.5(@tiptap/extensions@3.22.5(@tiptap/core@3.22.5(@tiptap/pm@3.22.5))(@tiptap/pm@3.22.5)) - '@tiptap/extension-hard-break': 3.22.5(@tiptap/core@3.22.5(@tiptap/pm@3.22.5)) - '@tiptap/extension-heading': 3.22.5(@tiptap/core@3.22.5(@tiptap/pm@3.22.5)) - '@tiptap/extension-horizontal-rule': 3.22.5(@tiptap/core@3.22.5(@tiptap/pm@3.22.5))(@tiptap/pm@3.22.5) - '@tiptap/extension-italic': 3.22.5(@tiptap/core@3.22.5(@tiptap/pm@3.22.5)) - '@tiptap/extension-link': 3.22.5(@tiptap/core@3.22.5(@tiptap/pm@3.22.5))(@tiptap/pm@3.22.5) - '@tiptap/extension-list': 3.22.5(@tiptap/core@3.22.5(@tiptap/pm@3.22.5))(@tiptap/pm@3.22.5) - '@tiptap/extension-list-item': 3.22.5(@tiptap/extension-list@3.22.5(@tiptap/core@3.22.5(@tiptap/pm@3.22.5))(@tiptap/pm@3.22.5)) - '@tiptap/extension-list-keymap': 3.22.5(@tiptap/extension-list@3.22.5(@tiptap/core@3.22.5(@tiptap/pm@3.22.5))(@tiptap/pm@3.22.5)) - '@tiptap/extension-ordered-list': 3.22.5(@tiptap/extension-list@3.22.5(@tiptap/core@3.22.5(@tiptap/pm@3.22.5))(@tiptap/pm@3.22.5)) - '@tiptap/extension-paragraph': 3.22.5(@tiptap/core@3.22.5(@tiptap/pm@3.22.5)) - '@tiptap/extension-strike': 3.22.5(@tiptap/core@3.22.5(@tiptap/pm@3.22.5)) - '@tiptap/extension-text': 3.22.5(@tiptap/core@3.22.5(@tiptap/pm@3.22.5)) - '@tiptap/extension-underline': 3.22.5(@tiptap/core@3.22.5(@tiptap/pm@3.22.5)) - '@tiptap/extensions': 3.22.5(@tiptap/core@3.22.5(@tiptap/pm@3.22.5))(@tiptap/pm@3.22.5) - '@tiptap/pm': 3.22.5 + '@tiptap/core': 3.23.1(@tiptap/pm@3.23.1) + '@tiptap/extension-blockquote': 3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1)) + '@tiptap/extension-bold': 3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1)) + '@tiptap/extension-bullet-list': 3.23.1(@tiptap/extension-list@3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1)) + '@tiptap/extension-code': 3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1)) + '@tiptap/extension-code-block': 3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1) + '@tiptap/extension-document': 3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1)) + '@tiptap/extension-dropcursor': 3.23.1(@tiptap/extensions@3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1)) + '@tiptap/extension-gapcursor': 3.23.1(@tiptap/extensions@3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1)) + '@tiptap/extension-hard-break': 3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1)) + '@tiptap/extension-heading': 3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1)) + '@tiptap/extension-horizontal-rule': 3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1) + '@tiptap/extension-italic': 3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1)) + '@tiptap/extension-link': 3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1) + '@tiptap/extension-list': 3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1) + '@tiptap/extension-list-item': 3.23.1(@tiptap/extension-list@3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1)) + '@tiptap/extension-list-keymap': 3.23.1(@tiptap/extension-list@3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1)) + '@tiptap/extension-ordered-list': 3.23.1(@tiptap/extension-list@3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1)) + '@tiptap/extension-paragraph': 3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1)) + '@tiptap/extension-strike': 3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1)) + '@tiptap/extension-text': 3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1)) + '@tiptap/extension-underline': 3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1)) + '@tiptap/extensions': 3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1) + '@tiptap/pm': 3.23.1 '@tree-sitter-grammars/tree-sitter-yaml@0.7.1(tree-sitter@0.22.4)': dependencies: diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index d12cbeb69..f128d5af2 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -51,22 +51,22 @@ catalog: "@testcontainers/mysql": ^11.14.0 "@testcontainers/postgresql": ^11.14.0 "@testcontainers/redis": ^11.14.0 - "@tiptap/extension-color": 3.22.5 - "@tiptap/extension-highlight": 3.22.5 - "@tiptap/extension-image": 3.22.5 - "@tiptap/extension-link": ^3.22.5 - "@tiptap/extension-placeholder": ^3.22.5 - "@tiptap/extension-table": 3.22.5 - "@tiptap/extension-table-cell": 3.22.5 - "@tiptap/extension-table-header": 3.22.5 - "@tiptap/extension-table-row": 3.22.5 - "@tiptap/extension-task-item": 3.22.5 - "@tiptap/extension-task-list": 3.22.5 - "@tiptap/extension-text-align": 3.22.5 - "@tiptap/extension-text-style": 3.22.5 - "@tiptap/extension-underline": 3.22.5 - "@tiptap/react": ^3.22.5 - "@tiptap/starter-kit": ^3.22.5 + "@tiptap/extension-color": 3.23.1 + "@tiptap/extension-highlight": 3.23.1 + "@tiptap/extension-image": 3.23.1 + "@tiptap/extension-link": ^3.23.1 + "@tiptap/extension-placeholder": ^3.23.1 + "@tiptap/extension-table": 3.23.1 + "@tiptap/extension-table-cell": 3.23.1 + "@tiptap/extension-table-header": 3.23.1 + "@tiptap/extension-table-row": 3.23.1 + "@tiptap/extension-task-item": 3.23.1 + "@tiptap/extension-task-list": 3.23.1 + "@tiptap/extension-text-align": 3.23.1 + "@tiptap/extension-text-style": 3.23.1 + "@tiptap/extension-underline": 3.23.1 + "@tiptap/react": ^3.23.1 + "@tiptap/starter-kit": ^3.23.1 "@trpc/client": ^11.17.0 "@trpc/next": ^11.17.0 "@trpc/react-query": ^11.17.0 From cefd90385dc7c2a048347e29f1a8d69a11b11187 Mon Sep 17 00:00:00 2001 From: "homarr-renovate[bot]" <158783068+homarr-renovate[bot]@users.noreply.github.com> Date: Wed, 13 May 2026 15:51:14 +0000 Subject: [PATCH 57/63] chore(deps): update dependency next-intl to v4.11.1 (#5707) Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com> --- pnpm-lock.yaml | 38 +++++++++++++++++++------------------- pnpm-workspace.yaml | 2 +- 2 files changed, 20 insertions(+), 20 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index bd83551b0..38a4771bd 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -436,8 +436,8 @@ catalogs: specifier: 5.0.0-beta.31 version: 5.0.0-beta.31 next-intl: - specifier: 4.11.0 - version: 4.11.0 + specifier: 4.11.1 + version: 4.11.1 node-loader: specifier: ^2.1.0 version: 2.1.0 @@ -2601,7 +2601,7 @@ importers: version: 16.2.6(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(sass@1.99.0) next-intl: specifier: 'catalog:' - version: 4.11.0(next@16.2.6(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(sass@1.99.0))(react@19.2.6)(typescript@5.9.3) + version: 4.11.1(next@16.2.6(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(sass@1.99.0))(react@19.2.6)(typescript@5.9.3) react: specifier: 'catalog:' version: 19.2.6 @@ -7840,8 +7840,8 @@ packages: resolution: {integrity: sha512-im9DjEDQ55s9fL4EYzOAv0yMqmMBSZp6G0VvFyTMPKWxiSBHUj9NW/qqLmXUwXrrM7AvqSlTCfvqRb0cM8yYqw==} engines: {node: '>=0.10.0'} - icu-minify@4.11.0: - resolution: {integrity: sha512-XRvblCwLqWXio5ZLcmDqXvJv7alSACK6UjXuuMOdQWB//d25AQX6xlVlI1FEbc3Q6iPLXXo6HaVLn8LcAFhn1Q==} + icu-minify@4.11.1: + resolution: {integrity: sha512-C0tsPVuvyNp+++qWJP+mty/KLLStjerOZqu3W1xWLJkChEDbDi9Taoj6blK7L/onxbuVzwgH6k9Sf+rOV6lOvw==} ieee754@1.2.1: resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} @@ -8750,11 +8750,11 @@ packages: nodemailer: optional: true - next-intl-swc-plugin-extractor@4.11.0: - resolution: {integrity: sha512-WUGBSxGNd8eQ0rAsJHFmRw2H7+SZAXQIY/HAnYM57JaUsj5D2vx4KOz4zFtXlyKDtsw9awHfgWVvBae2/RDF9A==} + next-intl-swc-plugin-extractor@4.11.1: + resolution: {integrity: sha512-jHKGij7NoYccy2y54+e/wHVMoRgNt4h/Kn0XS9c4GbKu3KgJyANLUN8sFcDixv6sqz4V2kh6CTWgrkIidQksUg==} - next-intl@4.11.0: - resolution: {integrity: sha512-Chp8rgEVUYOX/bCtYy+PXH6lDX3X+GPT9sR9HScHroL283em/4urP9btfdHEMEHJJXdq2W/5wDaDDtWONPdNSA==} + next-intl@4.11.1: + resolution: {integrity: sha512-s32lFFLXkxrW6fy+4IVaGD5J8xPpbEDFLfBbXV73CTbHAGhOGMjYN4/rftdsKOQ44AnPhnZ5Et+ZNMr5tRpsqA==} peerDependencies: next: ^12.0.0 || ^13.0.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 react: ^16.8.0 || ^17.0.0 || ^18.0.0 || >=19.0.0-rc <19.0.0 || ^19.0.0 @@ -10753,8 +10753,8 @@ packages: peerDependencies: react: '>=16.13' - use-intl@4.11.0: - resolution: {integrity: sha512-7ILhTLuo3fnSKhoTGDk5X9591pjtWr6qB4inrlvGkN9OEyKhoiG73GZFoLSs68wz3BsSGtoWa62iWvrYEYU+iA==} + use-intl@4.11.1: + resolution: {integrity: sha512-/dqWSqUSbVMzC+fdy7io8enhGYHeGeHK1bFhTLrp0ZblqdzY4FkE+tkffW6IfCauqaIA2/z4DQae4XEn93+raw==} peerDependencies: react: ^17.0.0 || ^18.0.0 || >=19.0.0-rc <19.0.0 || ^19.0.0 @@ -16454,7 +16454,7 @@ snapshots: dependencies: safer-buffer: 2.1.2 - icu-minify@4.11.0: + icu-minify@4.11.1: dependencies: '@formatjs/icu-messageformat-parser': 3.5.0 @@ -17428,20 +17428,20 @@ snapshots: next: 16.2.6(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(sass@1.99.0) react: 19.2.6 - next-intl-swc-plugin-extractor@4.11.0: {} + next-intl-swc-plugin-extractor@4.11.1: {} - next-intl@4.11.0(next@16.2.6(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(sass@1.99.0))(react@19.2.6)(typescript@5.9.3): + next-intl@4.11.1(next@16.2.6(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(sass@1.99.0))(react@19.2.6)(typescript@5.9.3): dependencies: '@formatjs/intl-localematcher': 0.8.1 '@parcel/watcher': 2.4.1 '@swc/core': 1.15.3 - icu-minify: 4.11.0 + icu-minify: 4.11.1 negotiator: 1.0.0 next: 16.2.6(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(sass@1.99.0) - next-intl-swc-plugin-extractor: 4.11.0 + next-intl-swc-plugin-extractor: 4.11.1 po-parser: 2.1.1 react: 19.2.6 - use-intl: 4.11.0(react@19.2.6) + use-intl: 4.11.1(react@19.2.6) optionalDependencies: typescript: 5.9.3 transitivePeerDependencies: @@ -19751,11 +19751,11 @@ snapshots: dequal: 2.0.3 react: 19.2.6 - use-intl@4.11.0(react@19.2.6): + use-intl@4.11.1(react@19.2.6): dependencies: '@formatjs/fast-memoize': 3.1.0 '@schummar/icu-type-parser': 1.21.5 - icu-minify: 4.11.0 + icu-minify: 4.11.1 intl-messageformat: 11.1.1 react: 19.2.6 diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index f128d5af2..f58043813 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -146,7 +146,7 @@ catalog: mysql2: 3.22.3 next: 16.2.6 next-auth: 5.0.0-beta.31 - next-intl: 4.11.0 + next-intl: 4.11.1 node-loader: ^2.1.0 octokit: ^5.0.5 pg: ^8.20.0 From f656d9ca2dac458bcb7a71862fda8fc5933d7713 Mon Sep 17 00:00:00 2001 From: "homarr-renovate[bot]" <158783068+homarr-renovate[bot]@users.noreply.github.com> Date: Thu, 14 May 2026 00:07:48 +0000 Subject: [PATCH 58/63] chore(deps): update turbo monorepo to ^2.9.11 (#5710) Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com> --- pnpm-lock.yaml | 6 +++--- pnpm-workspace.yaml | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 38a4771bd..428f684b1 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -214,7 +214,7 @@ catalogs: specifier: ^11.17.0 version: 11.17.0 '@turbo/gen': - specifier: ^2.9.10 + specifier: ^2.9.11 version: 2.9.12 '@types/adm-zip': specifier: 0.5.8 @@ -367,7 +367,7 @@ catalogs: specifier: ^10.1.8 version: 10.1.8 eslint-config-turbo: - specifier: ^2.9.10 + specifier: ^2.9.11 version: 2.9.12 eslint-plugin-import: specifier: ^2.32.0 @@ -517,7 +517,7 @@ catalogs: specifier: 4.20.4 version: 4.20.4 turbo: - specifier: ^2.9.10 + specifier: ^2.9.11 version: 2.9.12 typescript: specifier: ^5.9.3 diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index f58043813..aa9cd4856 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -72,7 +72,7 @@ catalog: "@trpc/react-query": ^11.17.0 "@trpc/server": ^11.17.0 "@trpc/tanstack-react-query": ^11.17.0 - "@turbo/gen": ^2.9.10 + "@turbo/gen": ^2.9.11 "@types/adm-zip": 0.5.8 "@types/bcrypt": 6.0.0 "@types/better-sqlite3": 7.6.13 @@ -123,7 +123,7 @@ catalog: esbuild: ^0.28.0 eslint: ^10.3.0 eslint-config-prettier: ^10.1.8 - eslint-config-turbo: ^2.9.10 + eslint-config-turbo: ^2.9.11 eslint-plugin-import: ^2.32.0 eslint-plugin-jsx-a11y: ^6.10.2 eslint-plugin-react: ^7.37.5 @@ -173,7 +173,7 @@ catalog: trpc-to-openapi: ^3.2.0 tsdav: ^2.2.1 tsx: 4.20.4 - turbo: ^2.9.10 + turbo: ^2.9.11 typescript: ^5.9.3 typescript-eslint: ^8.58.2 undici: 7.24.6 From f7ade3c67611d05c03e78fbf2f25519f9bc9c68a Mon Sep 17 00:00:00 2001 From: "homarr-renovate[bot]" <158783068+homarr-renovate[bot]@users.noreply.github.com> Date: Thu, 14 May 2026 04:15:07 +0000 Subject: [PATCH 59/63] chore(deps): update dependency @tabler/icons-react to ^3.44.0 (#5711) Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com> --- pnpm-lock.yaml | 42 +++++++++++++++++++++--------------------- pnpm-workspace.yaml | 2 +- 2 files changed, 22 insertions(+), 22 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 428f684b1..bb3810047 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -130,8 +130,8 @@ catalogs: specifier: ^0.13.11 version: 0.13.11 '@tabler/icons-react': - specifier: ^3.43.0 - version: 3.43.0 + specifier: ^3.44.0 + version: 3.44.0 '@tanstack/react-query': specifier: ^5.100.9 version: 5.100.9 @@ -789,7 +789,7 @@ importers: version: 1.0.14(webpack-sources@3.3.4) '@tabler/icons-react': specifier: 'catalog:' - version: 3.43.0(react@19.2.6) + version: 3.44.0(react@19.2.6) '@tanstack/react-query': specifier: 'catalog:' version: 5.100.9(react@19.2.6) @@ -849,7 +849,7 @@ importers: version: 2.20.0(@babel/core@7.26.0)(@babel/template@7.28.6)(@types/react@19.2.14)(react@19.2.6) mantine-react-table: specifier: 'catalog:' - version: 2.0.0-beta.9(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.6))(@types/react@19.2.14)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(@mantine/dates@8.3.18(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.6))(@types/react@19.2.14)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(@mantine/hooks@8.3.18(react@19.2.6))(dayjs@1.11.20)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(@mantine/hooks@8.3.18(react@19.2.6))(@tabler/icons-react@3.43.0(react@19.2.6))(clsx@2.1.1)(dayjs@1.11.20)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + version: 2.0.0-beta.9(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.6))(@types/react@19.2.14)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(@mantine/dates@8.3.18(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.6))(@types/react@19.2.14)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(@mantine/hooks@8.3.18(react@19.2.6))(dayjs@1.11.20)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(@mantine/hooks@8.3.18(react@19.2.6))(@tabler/icons-react@3.44.0(react@19.2.6))(clsx@2.1.1)(dayjs@1.11.20)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) next: specifier: 'catalog:' version: 16.2.6(@babel/core@7.26.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(sass@1.99.0) @@ -2153,7 +2153,7 @@ importers: version: 8.3.18(@mantine/hooks@8.3.18(react@19.2.6))(@types/react@19.2.14)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) '@tabler/icons-react': specifier: 'catalog:' - version: 3.43.0(react@19.2.6) + version: 3.44.0(react@19.2.6) dayjs: specifier: 'catalog:' version: 1.11.20 @@ -2196,7 +2196,7 @@ importers: version: 8.3.18(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.6))(@types/react@19.2.14)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(@mantine/hooks@8.3.18(react@19.2.6))(react-dom@19.2.6(react@19.2.6))(react@19.2.6) '@tabler/icons-react': specifier: 'catalog:' - version: 3.43.0(react@19.2.6) + version: 3.44.0(react@19.2.6) devDependencies: '@homarr/eslint-config': specifier: workspace:^0.2.0 @@ -2546,7 +2546,7 @@ importers: version: 8.3.18(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.6))(@types/react@19.2.14)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(@mantine/hooks@8.3.18(react@19.2.6))(react-dom@19.2.6(react@19.2.6))(react@19.2.6) '@tabler/icons-react': specifier: 'catalog:' - version: 3.43.0(react@19.2.6) + version: 3.44.0(react@19.2.6) jotai: specifier: 'catalog:' version: 2.20.0(@babel/core@7.29.0)(@babel/template@7.28.6)(@types/react@19.2.14)(react@19.2.6) @@ -2595,7 +2595,7 @@ importers: version: 4.3.1 mantine-react-table: specifier: 'catalog:' - version: 2.0.0-beta.9(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.6))(@types/react@19.2.14)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(@mantine/dates@8.3.18(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.6))(@types/react@19.2.14)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(@mantine/hooks@8.3.18(react@19.2.6))(dayjs@1.11.20)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(@mantine/hooks@8.3.18(react@19.2.6))(@tabler/icons-react@3.43.0(react@19.2.6))(clsx@2.1.1)(dayjs@1.11.20)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + version: 2.0.0-beta.9(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.6))(@types/react@19.2.14)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(@mantine/dates@8.3.18(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.6))(@types/react@19.2.14)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(@mantine/hooks@8.3.18(react@19.2.6))(dayjs@1.11.20)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(@mantine/hooks@8.3.18(react@19.2.6))(@tabler/icons-react@3.44.0(react@19.2.6))(clsx@2.1.1)(dayjs@1.11.20)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) next: specifier: 'catalog:' version: 16.2.6(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(sass@1.99.0) @@ -2653,13 +2653,13 @@ importers: version: 8.3.18(react@19.2.6) '@tabler/icons-react': specifier: 'catalog:' - version: 3.43.0(react@19.2.6) + version: 3.44.0(react@19.2.6) crypto-js: specifier: 'catalog:' version: 4.2.0 mantine-react-table: specifier: 'catalog:' - version: 2.0.0-beta.9(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.6))(@types/react@19.2.14)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(@mantine/dates@8.3.18(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.6))(@types/react@19.2.14)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(@mantine/hooks@8.3.18(react@19.2.6))(dayjs@1.11.20)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(@mantine/hooks@8.3.18(react@19.2.6))(@tabler/icons-react@3.43.0(react@19.2.6))(clsx@2.1.1)(dayjs@1.11.20)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + version: 2.0.0-beta.9(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.6))(@types/react@19.2.14)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(@mantine/dates@8.3.18(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.6))(@types/react@19.2.14)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(@mantine/hooks@8.3.18(react@19.2.6))(dayjs@1.11.20)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(@mantine/hooks@8.3.18(react@19.2.6))(@tabler/icons-react@3.44.0(react@19.2.6))(clsx@2.1.1)(dayjs@1.11.20)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) next: specifier: 'catalog:' version: 16.2.6(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(sass@1.99.0) @@ -2808,7 +2808,7 @@ importers: version: 8.3.18(react@19.2.6) '@tabler/icons-react': specifier: 'catalog:' - version: 3.43.0(react@19.2.6) + version: 3.44.0(react@19.2.6) '@tiptap/extension-color': specifier: 'catalog:' version: 3.23.1(@tiptap/extension-text-style@3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))) @@ -2868,7 +2868,7 @@ importers: version: 1.3.0(@mantine/form@8.3.18(react@19.2.6))(zod@4.4.3) mantine-react-table: specifier: 'catalog:' - version: 2.0.0-beta.9(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.6))(@types/react@19.2.14)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(@mantine/dates@8.3.18(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.6))(@types/react@19.2.14)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(@mantine/hooks@8.3.18(react@19.2.6))(dayjs@1.11.20)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(@mantine/hooks@8.3.18(react@19.2.6))(@tabler/icons-react@3.43.0(react@19.2.6))(clsx@2.1.1)(dayjs@1.11.20)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + version: 2.0.0-beta.9(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.6))(@types/react@19.2.14)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(@mantine/dates@8.3.18(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.6))(@types/react@19.2.14)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(@mantine/hooks@8.3.18(react@19.2.6))(dayjs@1.11.20)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(@mantine/hooks@8.3.18(react@19.2.6))(@tabler/icons-react@3.44.0(react@19.2.6))(clsx@2.1.1)(dayjs@1.11.20)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) next: specifier: 'catalog:' version: 16.2.6(@babel/core@7.29.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(sass@1.99.0) @@ -5203,13 +5203,13 @@ packages: zod: optional: true - '@tabler/icons-react@3.43.0': - resolution: {integrity: sha512-rXUuCQEeRbEk3lJxs3gwzdtaaITSwc/JUbp+AkqsGff5uBpzZw7eKPDk53xKoKLyjrbj82Ai4GuVG0kO89Jf5g==} + '@tabler/icons-react@3.44.0': + resolution: {integrity: sha512-8+rvzBbVm/1Z3sG3x7GUNAaxIKxwgz8xaMhRs23nrCnMTKRFAhEC+82zAIFeAA0seXdrAGX5HFCkaLpGK2rVHg==} peerDependencies: react: '>= 16' - '@tabler/icons@3.43.0': - resolution: {integrity: sha512-qXwS17Op9jqr3Asvu31fejyw8+OnRDKH7oR8nQXyUgW1pI44ET8OKG9kssy+XIvvAIyej6gZdGmviNUn1VMfPw==} + '@tabler/icons@3.44.0': + resolution: {integrity: sha512-Wn0AOZG9sg0L+bjfMqq4eNhC6pQjIrk94LvvWYNYkY8KH8wC3YILRzQlrnVJc4FUeMxH/AK97QsYCX35H3LndA==} '@tanstack/match-sorter-utils@8.19.4': resolution: {integrity: sha512-Wo1iKt2b9OT7d+YGhvEPD3DXvPv2etTusIMhMUoG7fbhmxcXCtIjJDEygy91Y2JFlwGyjqiBPRozme7UD8hoqg==} @@ -13516,12 +13516,12 @@ snapshots: typescript: 5.9.3 zod: 4.4.3 - '@tabler/icons-react@3.43.0(react@19.2.6)': + '@tabler/icons-react@3.44.0(react@19.2.6)': dependencies: - '@tabler/icons': 3.43.0 + '@tabler/icons': 3.44.0 react: 19.2.6 - '@tabler/icons@3.43.0': {} + '@tabler/icons@3.44.0': {} '@tanstack/match-sorter-utils@8.19.4': dependencies: @@ -17043,12 +17043,12 @@ snapshots: '@mantine/form': 8.3.18(react@19.2.6) zod: 4.4.3 - mantine-react-table@2.0.0-beta.9(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.6))(@types/react@19.2.14)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(@mantine/dates@8.3.18(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.6))(@types/react@19.2.14)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(@mantine/hooks@8.3.18(react@19.2.6))(dayjs@1.11.20)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(@mantine/hooks@8.3.18(react@19.2.6))(@tabler/icons-react@3.43.0(react@19.2.6))(clsx@2.1.1)(dayjs@1.11.20)(react-dom@19.2.6(react@19.2.6))(react@19.2.6): + mantine-react-table@2.0.0-beta.9(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.6))(@types/react@19.2.14)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(@mantine/dates@8.3.18(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.6))(@types/react@19.2.14)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(@mantine/hooks@8.3.18(react@19.2.6))(dayjs@1.11.20)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(@mantine/hooks@8.3.18(react@19.2.6))(@tabler/icons-react@3.44.0(react@19.2.6))(clsx@2.1.1)(dayjs@1.11.20)(react-dom@19.2.6(react@19.2.6))(react@19.2.6): dependencies: '@mantine/core': 8.3.18(@mantine/hooks@8.3.18(react@19.2.6))(@types/react@19.2.14)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) '@mantine/dates': 8.3.18(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.6))(@types/react@19.2.14)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(@mantine/hooks@8.3.18(react@19.2.6))(dayjs@1.11.20)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) '@mantine/hooks': 8.3.18(react@19.2.6) - '@tabler/icons-react': 3.43.0(react@19.2.6) + '@tabler/icons-react': 3.44.0(react@19.2.6) '@tanstack/match-sorter-utils': 8.19.4 '@tanstack/react-table': 8.20.5(react-dom@19.2.6(react@19.2.6))(react@19.2.6) '@tanstack/react-virtual': 3.11.2(react-dom@19.2.6(react@19.2.6))(react@19.2.6) diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index aa9cd4856..ebb05de8a 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -44,7 +44,7 @@ catalog: "@semantic-release/npm": ^13.1.5 "@semantic-release/release-notes-generator": ^14.1.0 "@t3-oss/env-nextjs": ^0.13.11 - "@tabler/icons-react": ^3.43.0 + "@tabler/icons-react": ^3.44.0 "@tanstack/react-query": ^5.100.9 "@tanstack/react-query-devtools": ^5.100.9 "@tanstack/react-query-next-experimental": ^5.100.9 From a1d6457ced5874a9b55314656d5254e79c24b909 Mon Sep 17 00:00:00 2001 From: "homarr-renovate[bot]" <158783068+homarr-renovate[bot]@users.noreply.github.com> Date: Thu, 14 May 2026 07:50:20 +0000 Subject: [PATCH 60/63] chore(deps): update semantic-release monorepo (#5709) Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com> --- pnpm-lock.yaml | 89 ++++++++++++++++----------------------------- pnpm-workspace.yaml | 4 +- 2 files changed, 34 insertions(+), 59 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index bb3810047..2cae78f77 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -118,14 +118,14 @@ catalogs: specifier: ^10.0.1 version: 10.0.1 '@semantic-release/github': - specifier: ^12.0.6 - version: 12.0.6 + specifier: ^12.0.8 + version: 12.0.8 '@semantic-release/npm': specifier: ^13.1.5 version: 13.1.5 '@semantic-release/release-notes-generator': - specifier: ^14.1.0 - version: 14.1.0 + specifier: ^14.1.1 + version: 14.1.1 '@t3-oss/env-nextjs': specifier: ^0.13.11 version: 0.13.11 @@ -609,13 +609,13 @@ importers: version: 10.0.1(semantic-release@25.0.3(typescript@5.9.3)) '@semantic-release/github': specifier: 'catalog:' - version: 12.0.6(semantic-release@25.0.3(typescript@5.9.3)) + version: 12.0.8(semantic-release@25.0.3(typescript@5.9.3)) '@semantic-release/npm': specifier: 'catalog:' version: 13.1.5(semantic-release@25.0.3(typescript@5.9.3)) '@semantic-release/release-notes-generator': specifier: 'catalog:' - version: 14.1.0(semantic-release@25.0.3(typescript@5.9.3)) + version: 14.1.1(semantic-release@25.0.3(typescript@5.9.3)) '@testcontainers/redis': specifier: 'catalog:' version: 11.14.0 @@ -4933,8 +4933,8 @@ packages: peerDependencies: semantic-release: '>=18.0.0' - '@semantic-release/github@12.0.6': - resolution: {integrity: sha512-aYYFkwHW3c6YtHwQF0t0+lAjlU+87NFOZuH2CvWFD0Ylivc7MwhZMiHOJ0FMpIgPpCVib/VUAcOwvrW0KnxQtA==} + '@semantic-release/github@12.0.8': + resolution: {integrity: sha512-tej5AAgK5X9wHRoDmYhecMXEHEkFeGOY1XsEblKxu8pIQwahzf1STYyr7iPU6Lpbg6C5I3N2w/ocXrBo+L7jhw==} engines: {node: ^22.14.0 || >= 24.10.0} peerDependencies: semantic-release: '>=24.1.0' @@ -4945,8 +4945,8 @@ packages: peerDependencies: semantic-release: '>=20.1.0' - '@semantic-release/release-notes-generator@14.1.0': - resolution: {integrity: sha512-CcyDRk7xq+ON/20YNR+1I/jP7BYKICr1uKd1HHpROSnnTdGqOTburi4jcRiTYz0cpfhxSloQO3cGhnoot7IEkA==} + '@semantic-release/release-notes-generator@14.1.1': + resolution: {integrity: sha512-Pbd2e2XRMUD0OxehHpgd5/YghsE76cddkRHSoDvKLK+OCy4Ewxn49rWR631MEUU01lgwF/uyVXvbnVuu6+Z6VA==} engines: {node: '>=20.8.1'} peerDependencies: semantic-release: '>=20.1.0' @@ -6036,6 +6036,10 @@ packages: resolution: {integrity: sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw==} engines: {node: '>= 14'} + agent-base@9.0.0: + resolution: {integrity: sha512-TQf59BsZnytt8GdJKLPfUZ54g/iaUL2OWDSFCCvMOhsHduDQxO8xC4PNeyIkVcA5KwL2phPSv0douC0fgWzmnA==} + engines: {node: '>= 20'} + aggregate-error@3.1.0: resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} engines: {node: '>=8'} @@ -7550,9 +7554,6 @@ packages: resolution: {integrity: sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==} engines: {node: '>=0.4.x'} - from2@2.3.0: - resolution: {integrity: sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g==} - fs-constants@1.0.0: resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} @@ -7624,10 +7625,6 @@ packages: resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} engines: {node: '>=10'} - get-stream@7.0.1: - resolution: {integrity: sha512-3M8C1EOFN6r8AMUhwUAACIoXZJEOufDU5+0gFFN5uNs6XYOralD2Pqkl7m046va6x77FwposWXbAhPPIOus7mQ==} - engines: {node: '>=16'} - get-stream@8.0.1: resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} engines: {node: '>=16'} @@ -7809,13 +7806,13 @@ packages: resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} engines: {node: '>= 0.8'} - http-proxy-agent@7.0.2: - resolution: {integrity: sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==} - engines: {node: '>= 14'} + http-proxy-agent@9.0.0: + resolution: {integrity: sha512-FcF8VhXYLQcxWCnt/cCpT2apKsRDUGeVEeMqGu4HSTu29U8Yw0TLOjdYIlDsYk3IkUh+taX4IDWpPcCqKDhCjA==} + engines: {node: '>= 20'} - https-proxy-agent@7.0.6: - resolution: {integrity: sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==} - engines: {node: '>= 14'} + https-proxy-agent@9.0.0: + resolution: {integrity: sha512-/MVmHp58WkOypgFhCLk4fzpPcFQvTJ/e6LBI7irpIO2HfxUbpmYoHF+KzipzJpxxzJu7aJNWQ0xojJ/dzV2G5g==} + engines: {node: '>= 20'} human-signals@2.1.0: resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} @@ -7926,10 +7923,6 @@ packages: intl-messageformat@11.1.1: resolution: {integrity: sha512-vnrF2f4vfsdaFY6tuLZfzGcx1GZFMFAq6c7QdK3HSXNcGXEIQncNgbeAcnpjAOszQzq3Jbol2SwgshIGY08WyA==} - into-stream@7.0.0: - resolution: {integrity: sha512-2dYz766i9HprMBasCMvHMuazJ7u4WzhJwo5kb3iPSiW/iRYV6uPari3zHoqZlnuaR7V1bEiNMxikhp37rdBXbw==} - engines: {node: '>=12'} - invariant@2.2.4: resolution: {integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==} @@ -9044,10 +9037,6 @@ packages: resolution: {integrity: sha512-37/tPdZ3oJwHaS3gNJdenCDB3Tz26i9sjhnguBtvN0vYlRIiDNnvTWkuh+0hETV9rLPdJ3rlL3yVOYPIAnM8rw==} engines: {node: '>=18'} - p-is-promise@3.0.0: - resolution: {integrity: sha512-Wo8VsW4IRQSKVXsJCn7TomUaVtyfjVDn3nUP7kE967BQk0CwFpdbZs0X0uk5sW9mkBa9eNM7hCMaG93WUAwxYQ==} - engines: {node: '>=8'} - p-limit@1.3.0: resolution: {integrity: sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==} engines: {node: '>=4'} @@ -12941,7 +12930,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@semantic-release/github@12.0.6(semantic-release@25.0.3(typescript@5.9.3))': + '@semantic-release/github@12.0.8(semantic-release@25.0.3(typescript@5.9.3))': dependencies: '@octokit/core': 7.0.6 '@octokit/plugin-paginate-rest': 14.0.0(@octokit/core@7.0.6) @@ -12951,8 +12940,8 @@ snapshots: aggregate-error: 5.0.0 debug: 4.4.3 dir-glob: 3.0.1 - http-proxy-agent: 7.0.2 - https-proxy-agent: 7.0.6 + http-proxy-agent: 9.0.0 + https-proxy-agent: 9.0.0 issue-parser: 7.0.1 lodash-es: 4.17.21 mime: 4.0.4 @@ -12983,16 +12972,14 @@ snapshots: semver: 7.7.4 tempy: 3.1.0 - '@semantic-release/release-notes-generator@14.1.0(semantic-release@25.0.3(typescript@5.9.3))': + '@semantic-release/release-notes-generator@14.1.1(semantic-release@25.0.3(typescript@5.9.3))': dependencies: conventional-changelog-angular: 8.0.0 conventional-changelog-writer: 8.0.0 conventional-commits-filter: 5.0.0 conventional-commits-parser: 6.0.0 debug: 4.4.3 - get-stream: 7.0.1 import-from-esm: 2.0.0 - into-stream: 7.0.0 lodash-es: 4.17.21 read-package-up: 11.0.0 semantic-release: 25.0.3(typescript@5.9.3) @@ -14458,6 +14445,8 @@ snapshots: agent-base@7.1.3: {} + agent-base@9.0.0: {} + aggregate-error@3.1.0: dependencies: clean-stack: 2.2.0 @@ -16131,11 +16120,6 @@ snapshots: format@0.2.2: {} - from2@2.3.0: - dependencies: - inherits: 2.0.4 - readable-stream: 2.3.8 - fs-constants@1.0.0: {} fs-extra@11.2.0: @@ -16211,8 +16195,6 @@ snapshots: get-stream@6.0.1: {} - get-stream@7.0.1: {} - get-stream@8.0.1: {} get-stream@9.0.1: @@ -16424,16 +16406,16 @@ snapshots: statuses: 2.0.1 toidentifier: 1.0.1 - http-proxy-agent@7.0.2: + http-proxy-agent@9.0.0: dependencies: - agent-base: 7.1.3 + agent-base: 9.0.0 debug: 4.4.3 transitivePeerDependencies: - supports-color - https-proxy-agent@7.0.6: + https-proxy-agent@9.0.0: dependencies: - agent-base: 7.1.3 + agent-base: 9.0.0 debug: 4.4.3 transitivePeerDependencies: - supports-color @@ -16521,11 +16503,6 @@ snapshots: '@formatjs/icu-messageformat-parser': 3.5.0 tslib: 2.8.1 - into-stream@7.0.0: - dependencies: - from2: 2.3.0 - p-is-promise: 3.0.0 - invariant@2.2.4: dependencies: loose-envify: 1.4.0 @@ -17706,8 +17683,6 @@ snapshots: dependencies: p-map: 7.0.3 - p-is-promise@3.0.0: {} - p-limit@1.3.0: dependencies: p-try: 1.0.0 @@ -18689,9 +18664,9 @@ snapshots: dependencies: '@semantic-release/commit-analyzer': 13.0.1(semantic-release@25.0.3(typescript@5.9.3)) '@semantic-release/error': 4.0.0 - '@semantic-release/github': 12.0.6(semantic-release@25.0.3(typescript@5.9.3)) + '@semantic-release/github': 12.0.8(semantic-release@25.0.3(typescript@5.9.3)) '@semantic-release/npm': 13.1.5(semantic-release@25.0.3(typescript@5.9.3)) - '@semantic-release/release-notes-generator': 14.1.0(semantic-release@25.0.3(typescript@5.9.3)) + '@semantic-release/release-notes-generator': 14.1.1(semantic-release@25.0.3(typescript@5.9.3)) aggregate-error: 5.0.0 cosmiconfig: 9.0.0(typescript@5.9.3) debug: 4.4.3 diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index ebb05de8a..274d8a7bb 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -40,9 +40,9 @@ catalog: "@semantic-release/changelog": ^6.0.3 "@semantic-release/commit-analyzer": ^13.0.1 "@semantic-release/git": ^10.0.1 - "@semantic-release/github": ^12.0.6 + "@semantic-release/github": ^12.0.8 "@semantic-release/npm": ^13.1.5 - "@semantic-release/release-notes-generator": ^14.1.0 + "@semantic-release/release-notes-generator": ^14.1.1 "@t3-oss/env-nextjs": ^0.13.11 "@tabler/icons-react": ^3.44.0 "@tanstack/react-query": ^5.100.9 From 220f361b69ed29a5733aee997829ed0e7effff96 Mon Sep 17 00:00:00 2001 From: "homarr-renovate[bot]" <158783068+homarr-renovate[bot]@users.noreply.github.com> Date: Thu, 14 May 2026 10:24:19 +0000 Subject: [PATCH 61/63] chore(deps): update turbo monorepo to ^2.9.12 (#5712) Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com> --- pnpm-lock.yaml | 6 +++--- pnpm-workspace.yaml | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 2cae78f77..b03ffd0b4 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -214,7 +214,7 @@ catalogs: specifier: ^11.17.0 version: 11.17.0 '@turbo/gen': - specifier: ^2.9.11 + specifier: ^2.9.12 version: 2.9.12 '@types/adm-zip': specifier: 0.5.8 @@ -367,7 +367,7 @@ catalogs: specifier: ^10.1.8 version: 10.1.8 eslint-config-turbo: - specifier: ^2.9.11 + specifier: ^2.9.12 version: 2.9.12 eslint-plugin-import: specifier: ^2.32.0 @@ -517,7 +517,7 @@ catalogs: specifier: 4.20.4 version: 4.20.4 turbo: - specifier: ^2.9.11 + specifier: ^2.9.12 version: 2.9.12 typescript: specifier: ^5.9.3 diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 274d8a7bb..153f52b80 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -72,7 +72,7 @@ catalog: "@trpc/react-query": ^11.17.0 "@trpc/server": ^11.17.0 "@trpc/tanstack-react-query": ^11.17.0 - "@turbo/gen": ^2.9.11 + "@turbo/gen": ^2.9.12 "@types/adm-zip": 0.5.8 "@types/bcrypt": 6.0.0 "@types/better-sqlite3": 7.6.13 @@ -123,7 +123,7 @@ catalog: esbuild: ^0.28.0 eslint: ^10.3.0 eslint-config-prettier: ^10.1.8 - eslint-config-turbo: ^2.9.11 + eslint-config-turbo: ^2.9.12 eslint-plugin-import: ^2.32.0 eslint-plugin-jsx-a11y: ^6.10.2 eslint-plugin-react: ^7.37.5 @@ -173,7 +173,7 @@ catalog: trpc-to-openapi: ^3.2.0 tsdav: ^2.2.1 tsx: 4.20.4 - turbo: ^2.9.11 + turbo: ^2.9.12 typescript: ^5.9.3 typescript-eslint: ^8.58.2 undici: 7.24.6 From 6b67671e29542512ac638c80467ed446ccc51a24 Mon Sep 17 00:00:00 2001 From: "homarr-update-contributors[bot]" <210161987+homarr-update-contributors[bot]@users.noreply.github.com> Date: Fri, 15 May 2026 13:59:07 +0000 Subject: [PATCH 62/63] chore: update contributors (#5717) Co-authored-by: Homarr Update Contributors <210161987+homarr-update-contributors[bot]@users.noreply.github.com> --- static-data/contributors.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/static-data/contributors.json b/static-data/contributors.json index d6a6b43fa..ca292cd5f 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":"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":"krishnamuppaneni","avatar_url":"https://avatars.githubusercontent.com/u/4703366?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":"alotlikebeans","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":"huanga","avatar_url":"https://avatars.githubusercontent.com/u/732970?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":"tesar-tech","avatar_url":"https://avatars.githubusercontent.com/u/33880579?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":"Aandree5","avatar_url":"https://avatars.githubusercontent.com/u/32734153?v=4"},{"login":"jackwellerreal","avatar_url":"https://avatars.githubusercontent.com/u/97435840?v=4"},{"login":"mvanhorn","avatar_url":"https://avatars.githubusercontent.com/u/455140?v=4"},{"login":"SergioChan","avatar_url":"https://avatars.githubusercontent.com/u/10103766?v=4"},{"login":"toineenzo","avatar_url":"https://avatars.githubusercontent.com/u/4921397?v=4"},{"login":"oben01","avatar_url":"https://avatars.githubusercontent.com/u/22369027?v=4"},{"login":"rezstje","avatar_url":"https://avatars.githubusercontent.com/u/45420315?v=4"},{"login":"castielwaverly","avatar_url":"https://avatars.githubusercontent.com/u/137005689?v=4"},{"login":"xoxyuxu","avatar_url":"https://avatars.githubusercontent.com/u/3543416?v=4"},{"login":"MaienM","avatar_url":"https://avatars.githubusercontent.com/u/583129?v=4"},{"login":"kylegrieder","avatar_url":"https://avatars.githubusercontent.com/u/25424229?v=4"},{"login":"HeapReaper","avatar_url":"https://avatars.githubusercontent.com/u/31496522?v=4"},{"login":"Copilot","avatar_url":"https://avatars.githubusercontent.com/in/1143301?v=4"},{"login":"itzTheMeow","avatar_url":"https://avatars.githubusercontent.com/u/50887230?v=4"},{"login":"NicolasNewman","avatar_url":"https://avatars.githubusercontent.com/u/16135852?v=4"},{"login":"NikeLaosClericus","avatar_url":"https://avatars.githubusercontent.com/u/39810627?v=4"},{"login":"noahcroghan","avatar_url":"https://avatars.githubusercontent.com/u/27422774?v=4"},{"login":"ohmzi","avatar_url":"https://avatars.githubusercontent.com/u/6551272?v=4"},{"login":"Rhiz3K","avatar_url":"https://avatars.githubusercontent.com/u/33246262?v=4"},{"login":"saschabuehrle","avatar_url":"https://avatars.githubusercontent.com/u/47737812?v=4"},{"login":"StrandedTurtle","avatar_url":"https://avatars.githubusercontent.com/u/132835255?v=4"},{"login":"CrazyWolf13","avatar_url":"https://avatars.githubusercontent.com/u/96661824?v=4"},{"login":"generalmat82","avatar_url":"https://avatars.githubusercontent.com/u/110256073?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":"sharpsalat","avatar_url":"https://avatars.githubusercontent.com/u/15666932?v=4"},{"login":"tech62","avatar_url":"https://avatars.githubusercontent.com/u/16237642?v=4"},{"login":"mairas","avatar_url":"https://avatars.githubusercontent.com/u/407010?v=4"},{"login":"leandroscardua","avatar_url":"https://avatars.githubusercontent.com/u/24698541?v=4"},{"login":"hotrungnhan","avatar_url":"https://avatars.githubusercontent.com/u/40029631?v=4"},{"login":"KelianB","avatar_url":"https://avatars.githubusercontent.com/u/11216155?v=4"},{"login":"Kaotic3","avatar_url":"https://avatars.githubusercontent.com/u/80522225?v=4"},{"login":"febrile42","avatar_url":"https://avatars.githubusercontent.com/u/14597122?v=4"},{"login":"frankvHoof93","avatar_url":"https://avatars.githubusercontent.com/u/7346516?v=4"},{"login":"faugusto-oliveira","avatar_url":"https://avatars.githubusercontent.com/u/37384074?v=4"},{"login":"ieugen","avatar_url":"https://avatars.githubusercontent.com/u/1050920?v=4"},{"login":"KartulUdus","avatar_url":"https://avatars.githubusercontent.com/u/23346150?v=4"},{"login":"dgshue","avatar_url":"https://avatars.githubusercontent.com/u/12952156?v=4"},{"login":"DZ945brH","avatar_url":"https://avatars.githubusercontent.com/u/42635243?v=4"},{"login":"Oupsman","avatar_url":"https://avatars.githubusercontent.com/u/11260343?v=4"},{"login":"m0s4ik","avatar_url":"https://avatars.githubusercontent.com/u/26578395?v=4"},{"login":"AartSchinkel","avatar_url":"https://avatars.githubusercontent.com/u/189675191?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":"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":"krishnamuppaneni","avatar_url":"https://avatars.githubusercontent.com/u/4703366?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":"alotlikebeans","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":"huanga","avatar_url":"https://avatars.githubusercontent.com/u/732970?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":"tesar-tech","avatar_url":"https://avatars.githubusercontent.com/u/33880579?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":"Aandree5","avatar_url":"https://avatars.githubusercontent.com/u/32734153?v=4"},{"login":"jackwellerreal","avatar_url":"https://avatars.githubusercontent.com/u/97435840?v=4"},{"login":"mvanhorn","avatar_url":"https://avatars.githubusercontent.com/u/455140?v=4"},{"login":"SergioChan","avatar_url":"https://avatars.githubusercontent.com/u/10103766?v=4"},{"login":"toineenzo","avatar_url":"https://avatars.githubusercontent.com/u/4921397?v=4"},{"login":"oben01","avatar_url":"https://avatars.githubusercontent.com/u/22369027?v=4"},{"login":"rezstje","avatar_url":"https://avatars.githubusercontent.com/u/45420315?v=4"},{"login":"castielwaverly","avatar_url":"https://avatars.githubusercontent.com/u/137005689?v=4"},{"login":"xoxyuxu","avatar_url":"https://avatars.githubusercontent.com/u/3543416?v=4"},{"login":"MaienM","avatar_url":"https://avatars.githubusercontent.com/u/583129?v=4"},{"login":"kylegrieder","avatar_url":"https://avatars.githubusercontent.com/u/25424229?v=4"},{"login":"HeapReaper","avatar_url":"https://avatars.githubusercontent.com/u/31496522?v=4"},{"login":"Copilot","avatar_url":"https://avatars.githubusercontent.com/in/1143301?v=4"},{"login":"mairas","avatar_url":"https://avatars.githubusercontent.com/u/407010?v=4"},{"login":"itzTheMeow","avatar_url":"https://avatars.githubusercontent.com/u/50887230?v=4"},{"login":"NicolasNewman","avatar_url":"https://avatars.githubusercontent.com/u/16135852?v=4"},{"login":"NikeLaosClericus","avatar_url":"https://avatars.githubusercontent.com/u/39810627?v=4"},{"login":"noahcroghan","avatar_url":"https://avatars.githubusercontent.com/u/27422774?v=4"},{"login":"ohmzi","avatar_url":"https://avatars.githubusercontent.com/u/6551272?v=4"},{"login":"Rhiz3K","avatar_url":"https://avatars.githubusercontent.com/u/33246262?v=4"},{"login":"saschabuehrle","avatar_url":"https://avatars.githubusercontent.com/u/47737812?v=4"},{"login":"StrandedTurtle","avatar_url":"https://avatars.githubusercontent.com/u/132835255?v=4"},{"login":"CrazyWolf13","avatar_url":"https://avatars.githubusercontent.com/u/96661824?v=4"},{"login":"generalmat82","avatar_url":"https://avatars.githubusercontent.com/u/110256073?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":"sharpsalat","avatar_url":"https://avatars.githubusercontent.com/u/15666932?v=4"},{"login":"tech62","avatar_url":"https://avatars.githubusercontent.com/u/16237642?v=4"},{"login":"AartSchinkel","avatar_url":"https://avatars.githubusercontent.com/u/189675191?v=4"},{"login":"m0s4ik","avatar_url":"https://avatars.githubusercontent.com/u/26578395?v=4"},{"login":"ashtonbatty","avatar_url":"https://avatars.githubusercontent.com/u/230635?v=4"},{"login":"Oupsman","avatar_url":"https://avatars.githubusercontent.com/u/11260343?v=4"},{"login":"cethien","avatar_url":"https://avatars.githubusercontent.com/u/60463918?v=4"},{"login":"DZ945brH","avatar_url":"https://avatars.githubusercontent.com/u/42635243?v=4"},{"login":"dgshue","avatar_url":"https://avatars.githubusercontent.com/u/12952156?v=4"},{"login":"KartulUdus","avatar_url":"https://avatars.githubusercontent.com/u/23346150?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":"febrile42","avatar_url":"https://avatars.githubusercontent.com/u/14597122?v=4"},{"login":"Kaotic3","avatar_url":"https://avatars.githubusercontent.com/u/80522225?v=4"},{"login":"KelianB","avatar_url":"https://avatars.githubusercontent.com/u/11216155?v=4"},{"login":"hotrungnhan","avatar_url":"https://avatars.githubusercontent.com/u/40029631?v=4"},{"login":"leandroscardua","avatar_url":"https://avatars.githubusercontent.com/u/24698541?v=4"}] \ No newline at end of file From 90d703b8702710607df59dcee35f1e93646ea91c Mon Sep 17 00:00:00 2001 From: "homarr-renovate[bot]" <158783068+homarr-renovate[bot]@users.noreply.github.com> Date: Sat, 16 May 2026 08:54:57 +0000 Subject: [PATCH 63/63] chore(deps): update dependency vite@>=5.0.0 <=5.4.18 to >=8.0.12 (#5719) Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com> --- package.json | 2 +- pnpm-lock.yaml | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/package.json b/package.json index 2c5b1a893..f58f08d17 100644 --- a/package.json +++ b/package.json @@ -95,7 +95,7 @@ "tar-fs@>=3.0.0 <3.0.9": ">=3.1.2", "tar-fs@>=2.0.0 <2.1.3": ">=3.1.2", "tmp@<=0.2.3": ">=0.2.5", - "vite@>=5.0.0 <=5.4.18": ">=8.0.11" + "vite@>=5.0.0 <=5.4.18": ">=8.0.12" }, "patchedDependencies": { "@types/node-unifi": "patches/@types__node-unifi.patch", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index bb536ceac..75d2b416f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -581,7 +581,7 @@ overrides: tar-fs@>=3.0.0 <3.0.9: '>=3.1.2' tar-fs@>=2.0.0 <2.1.3: '>=3.1.2' tmp@<=0.2.3: '>=0.2.5' - vite@>=5.0.0 <=5.4.18: '>=8.0.11' + vite@>=5.0.0 <=5.4.18: '>=8.0.12' patchedDependencies: '@types/node-unifi': @@ -4339,6 +4339,7 @@ packages: '@million/lint@1.0.14': resolution: {integrity: sha512-u6/kglVwZRu5+GMmtkNlGLqJVkgTl0TtM+hLa9rBg7pldx+5NG5bk45NvL37uZmAr2Xfa1C6qHb7GrFwfP372g==} + deprecated: This package is no longer maintained hasBin: true '@next/env@16.2.6': @@ -5834,7 +5835,7 @@ packages: resolution: {integrity: sha512-YmKkfhOAi3wsB1PhJq5Scj3GXMn3WvtQ/JC0xoopuHoXSdmtdStOpFrYaT1kie2YgFBcIe64ROzMYRjCrYOdYw==} engines: {node: ^20.19.0 || >=22.12.0} peerDependencies: - vite: '>=8.0.11' + vite: '>=8.0.12' '@vitest/coverage-v8@4.1.5': resolution: {integrity: sha512-38C0/Ddb7HcRG0Z4/DUem8x57d2p9jYgp18mkaYswEOQBGsI1CG4f/hjm0ZCeaJfWhSZ4k7jgs29V1Zom7Ki9A==} @@ -10766,7 +10767,7 @@ packages: vite-tsconfig-paths@6.1.1: resolution: {integrity: sha512-2cihq7zliibCCZ8P9cKJrQBkfgdvcFkOOc3Y02o3GWUDLgqjWsZudaoiuOwO/gzTzy17cS5F7ZPo4bsnS4DGkg==} peerDependencies: - vite: '>=8.0.11' + vite: '>=8.0.12' vite@7.1.12: resolution: {integrity: sha512-ZWyE8YXEXqJrrSLvYgrRP7p62OziLW7xI5HYGWFzOvupfAlrLvURSzv/FyGyy0eidogEM3ujU+kUG1zuHgb6Ug==}