chore(release): automatic release v1.45.0
This commit is contained in:
1
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
1
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
@@ -33,6 +33,7 @@ body:
|
||||
options:
|
||||
# The below comment is used to insert a new version with on-release.yml
|
||||
#NEXT_VERSION#
|
||||
- 1.44.0
|
||||
- 1.43.1
|
||||
- 1.43.0
|
||||
- 1.42.1
|
||||
|
||||
15
.github/renovate.json5
vendored
15
.github/renovate.json5
vendored
@@ -15,6 +15,21 @@
|
||||
matchUpdateTypes: ["minor", "patch", "pin", "digest"],
|
||||
automerge: true,
|
||||
},
|
||||
{
|
||||
// disallow automerge for onlyBuiltDependencies
|
||||
matchPackageNames: [
|
||||
"@tree-sitter-grammars/tree-sitter-yaml",
|
||||
"bcrypt",
|
||||
"better-sqlite3",
|
||||
"cpu-features",
|
||||
"esbuild",
|
||||
"sharp",
|
||||
"ssh2",
|
||||
"tree-sitter",
|
||||
"tree-sitter-json",
|
||||
],
|
||||
automerge: false,
|
||||
},
|
||||
],
|
||||
updateInternalDeps: true,
|
||||
rangeStrategy: "bump",
|
||||
|
||||
2
.github/workflows/code-quality.yml
vendored
2
.github/workflows/code-quality.yml
vendored
@@ -1,4 +1,6 @@
|
||||
name: "[Quality] Code Analysis"
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
|
||||
2
.github/workflows/crowdin-upload.yml
vendored
2
.github/workflows/crowdin-upload.yml
vendored
@@ -1,4 +1,6 @@
|
||||
name: "[Crowdin] Upload translations"
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
|
||||
2
.github/workflows/update-contributors.yml
vendored
2
.github/workflows/update-contributors.yml
vendored
@@ -9,6 +9,8 @@ env:
|
||||
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
|
||||
CROWDIN_TOKEN: "${{ secrets.CROWDIN_UPDATE_CONTRIBUTORS_TOKEN }}"
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
jobs:
|
||||
update-contributors:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
1
.npmrc
1
.npmrc
@@ -3,3 +3,4 @@
|
||||
# @link https://docs.expo.dev/guides/monorepos/#common-issues
|
||||
node-linker=hoisted
|
||||
strict-peer-dependencies=false
|
||||
engine-strict=true
|
||||
@@ -1,4 +1,4 @@
|
||||
FROM node:24.11.0-alpine AS base
|
||||
FROM node:24.11.1-alpine AS base
|
||||
|
||||
FROM base AS builder
|
||||
RUN apk add --no-cache libc6-compat
|
||||
@@ -55,7 +55,7 @@ COPY --from=builder /app/apps/nextjs/.next/standalone ./
|
||||
COPY --from=builder /app/apps/nextjs/.next/static ./apps/nextjs/.next/static
|
||||
COPY --from=builder /app/apps/nextjs/public ./apps/nextjs/public
|
||||
COPY scripts/run.sh ./run.sh
|
||||
COPY --chmod=777 scripts/entrypoint.sh ./entrypoint.sh
|
||||
COPY --chmod=755 scripts/entrypoint.sh ./entrypoint.sh
|
||||
COPY packages/redis/redis.conf /app/redis.conf
|
||||
COPY nginx.conf /etc/nginx/templates/nginx.conf
|
||||
|
||||
|
||||
@@ -58,7 +58,7 @@
|
||||
"@mantine/tiptap": "^8.3.8",
|
||||
"@million/lint": "1.0.14",
|
||||
"@tabler/icons-react": "^3.35.0",
|
||||
"@tanstack/react-query": "^5.90.9",
|
||||
"@tanstack/react-query": "^5.90.10",
|
||||
"@tanstack/react-query-devtools": "^5.90.2",
|
||||
"@tanstack/react-query-next-experimental": "^5.91.0",
|
||||
"@trpc/client": "^11.7.1",
|
||||
@@ -74,7 +74,7 @@
|
||||
"dayjs": "^1.11.19",
|
||||
"dotenv": "^17.2.3",
|
||||
"flag-icons": "^7.5.0",
|
||||
"glob": "^11.0.3",
|
||||
"glob": "^12.0.0",
|
||||
"isomorphic-dompurify": "^2.32.0",
|
||||
"jotai": "^2.15.1",
|
||||
"mantine-react-table": "2.0.0-beta.9",
|
||||
@@ -85,7 +85,7 @@
|
||||
"react-dom": "19.2.0",
|
||||
"react-error-boundary": "^6.0.0",
|
||||
"react-simple-code-editor": "^0.14.1",
|
||||
"sass": "^1.94.0",
|
||||
"sass": "^1.94.1",
|
||||
"superjson": "2.2.5",
|
||||
"swagger-ui-react": "^5.30.2",
|
||||
"use-deep-compare-effect": "^1.8.1",
|
||||
@@ -98,7 +98,7 @@
|
||||
"@types/chroma-js": "3.1.2",
|
||||
"@types/node": "^24.10.1",
|
||||
"@types/prismjs": "^1.26.5",
|
||||
"@types/react": "19.2.5",
|
||||
"@types/react": "19.2.6",
|
||||
"@types/react-dom": "19.2.3",
|
||||
"@types/swagger-ui-react": "^5.18.0",
|
||||
"concurrently": "^9.2.1",
|
||||
|
||||
14
package.json
14
package.json
@@ -45,22 +45,24 @@
|
||||
"@testcontainers/redis": "^11.8.1",
|
||||
"@turbo/gen": "^2.6.1",
|
||||
"@vitejs/plugin-react": "^5.1.1",
|
||||
"@vitest/coverage-v8": "^4.0.9",
|
||||
"@vitest/ui": "^4.0.9",
|
||||
"@vitest/coverage-v8": "^4.0.10",
|
||||
"@vitest/ui": "^4.0.10",
|
||||
"conventional-changelog-conventionalcommits": "^9.1.0",
|
||||
"cross-env": "^10.1.0",
|
||||
"jsdom": "^27.2.0",
|
||||
"json5": "^2.2.3",
|
||||
"prettier": "^3.6.2",
|
||||
"semantic-release": "^25.0.2",
|
||||
"testcontainers": "^11.8.1",
|
||||
"turbo": "^2.6.1",
|
||||
"typescript": "^5.9.3",
|
||||
"vite-tsconfig-paths": "^5.1.4",
|
||||
"vitest": "^4.0.9"
|
||||
"vitest": "^4.0.10"
|
||||
},
|
||||
"packageManager": "pnpm@10.22.0",
|
||||
"engines": {
|
||||
"node": ">=24.11.1"
|
||||
"node": ">=24.11.1",
|
||||
"pnpm": ">=10.22.0"
|
||||
},
|
||||
"pnpm": {
|
||||
"onlyBuiltDependencies": [
|
||||
@@ -81,14 +83,14 @@
|
||||
"brace-expansion@>=2.0.0 <=2.0.1": ">=4.0.1",
|
||||
"brace-expansion@>=1.0.0 <=1.1.11": ">=4.0.1",
|
||||
"esbuild@<=0.24.2": ">=0.27.0",
|
||||
"form-data@>=4.0.0 <4.0.4": ">=4.0.4",
|
||||
"form-data@>=4.0.0 <4.0.4": ">=4.0.5",
|
||||
"hono@<4.6.5": ">=4.10.6",
|
||||
"linkifyjs@<4.3.2": ">=4.3.2",
|
||||
"nanoid@>=4.0.0 <5.0.9": ">=5.1.6",
|
||||
"prismjs@<1.30.0": ">=1.30.0",
|
||||
"proxmox-api>undici": "7.16.0",
|
||||
"react-is": "^19.2.0",
|
||||
"rollup@>=4.0.0 <4.22.4": ">=4.53.2",
|
||||
"rollup@>=4.0.0 <4.22.4": ">=4.53.3",
|
||||
"sha.js@<=2.4.11": ">=2.4.12",
|
||||
"tar-fs@>=3.0.0 <3.0.9": ">=3.1.1",
|
||||
"tar-fs@>=2.0.0 <2.1.3": ">=3.1.1",
|
||||
|
||||
@@ -43,7 +43,7 @@
|
||||
"@homarr/translation": "workspace:^0.1.0",
|
||||
"@homarr/validation": "workspace:^0.1.0",
|
||||
"@kubernetes/client-node": "^1.4.0",
|
||||
"@tanstack/react-query": "^5.90.9",
|
||||
"@tanstack/react-query": "^5.90.10",
|
||||
"@trpc/client": "^11.7.1",
|
||||
"@trpc/react-query": "^11.7.1",
|
||||
"@trpc/server": "^11.7.1",
|
||||
|
||||
@@ -38,7 +38,7 @@
|
||||
"react-dom": "19.2.0",
|
||||
"undici": "7.16.0",
|
||||
"zod": "^4.1.12",
|
||||
"zod-validation-error": "^4.0.2"
|
||||
"zod-validation-error": "^5.0.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@homarr/eslint-config": "workspace:^0.2.0",
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
"@homarr/core": "workspace:^0.1.0",
|
||||
"@homarr/cron-jobs": "workspace:^0.1.0",
|
||||
"@homarr/log": "workspace:^0.1.0",
|
||||
"@tanstack/react-query": "^5.90.9",
|
||||
"@tanstack/react-query": "^5.90.10",
|
||||
"@trpc/client": "^11.7.1",
|
||||
"@trpc/server": "^11.7.1",
|
||||
"@trpc/tanstack-react-query": "^11.7.1",
|
||||
@@ -42,7 +42,7 @@
|
||||
"@homarr/prettier-config": "workspace:^0.1.0",
|
||||
"@homarr/tsconfig": "workspace:^0.1.0",
|
||||
"@types/node-cron": "^3.0.11",
|
||||
"@types/react": "19.2.5",
|
||||
"@types/react": "19.2.6",
|
||||
"eslint": "^9.39.1",
|
||||
"typescript": "^5.9.3"
|
||||
}
|
||||
|
||||
@@ -32,7 +32,7 @@
|
||||
"@homarr/eslint-config": "workspace:^0.2.0",
|
||||
"@homarr/prettier-config": "workspace:^0.1.0",
|
||||
"@homarr/tsconfig": "workspace:^0.1.0",
|
||||
"@types/dockerode": "^3.3.46",
|
||||
"@types/dockerode": "^3.3.47",
|
||||
"eslint": "^9.39.1",
|
||||
"typescript": "^5.9.3"
|
||||
}
|
||||
|
||||
@@ -8,3 +8,4 @@ export type { Docker };
|
||||
export const containerStates = ["created", "running", "paused", "restarting", "exited", "removing", "dead"] as const;
|
||||
|
||||
export type ContainerState = (typeof containerStates)[number];
|
||||
export * from "./labels";
|
||||
|
||||
4
packages/docker/src/labels.ts
Normal file
4
packages/docker/src/labels.ts
Normal file
@@ -0,0 +1,4 @@
|
||||
export const dockerLabels = {
|
||||
// Label to hide a container from Homarrs docker integration
|
||||
hide: "homarr.hide",
|
||||
} as const;
|
||||
@@ -26,6 +26,7 @@
|
||||
"@homarr/common": "workspace:^0.1.0",
|
||||
"@homarr/db": "workspace:^0.1.0",
|
||||
"@homarr/definitions": "workspace:^0.1.0",
|
||||
"@homarr/docker": "workspace:^0.1.0",
|
||||
"@homarr/integrations": "workspace:^0.1.0",
|
||||
"@homarr/log": "workspace:^0.1.0",
|
||||
"@homarr/redis": "workspace:^0.1.0",
|
||||
|
||||
@@ -3,9 +3,9 @@ import type { ContainerInfo, ContainerStats } from "dockerode";
|
||||
|
||||
import { db, like, or } from "@homarr/db";
|
||||
import { icons } from "@homarr/db/schema";
|
||||
import type { ContainerState } from "@homarr/docker";
|
||||
import { dockerLabels, DockerSingleton } from "@homarr/docker";
|
||||
|
||||
import type { ContainerState } from "../../docker/src";
|
||||
import { DockerSingleton } from "../../docker/src";
|
||||
import { createCachedWidgetRequestHandler } from "./lib/cached-widget-request-handler";
|
||||
|
||||
export const dockerContainersRequestHandler = createCachedWidgetRequestHandler({
|
||||
@@ -27,13 +27,11 @@ async function getContainersWithStatsAsync() {
|
||||
const containers = await Promise.all(
|
||||
dockerInstances.map(async ({ instance, host }) => {
|
||||
const instanceContainers = await instance.listContainers({ all: true });
|
||||
return instanceContainers.map((container) => ({
|
||||
...container,
|
||||
instance: host,
|
||||
}));
|
||||
return instanceContainers
|
||||
.filter((container) => dockerLabels.hide in container.Labels === false)
|
||||
.map((container) => ({ ...container, instance: host }));
|
||||
}),
|
||||
).then((res) => res.flat());
|
||||
|
||||
const likeQueries = containers.map((container) => like(icons.name, `%${extractImage(container)}%`));
|
||||
|
||||
const dbIcons =
|
||||
|
||||
@@ -33,7 +33,7 @@
|
||||
"deepmerge": "4.3.1",
|
||||
"mantine-react-table": "2.0.0-beta.9",
|
||||
"next": "16.0.3",
|
||||
"next-intl": "4.5.3",
|
||||
"next-intl": "4.5.5",
|
||||
"react": "19.2.0",
|
||||
"react-dom": "19.2.0"
|
||||
},
|
||||
|
||||
@@ -2232,6 +2232,7 @@
|
||||
"unknown": "",
|
||||
"pending": "",
|
||||
"processing": "",
|
||||
"requested": "",
|
||||
"partiallyAvailable": "",
|
||||
"available": "",
|
||||
"blacklisted": "",
|
||||
|
||||
@@ -2232,6 +2232,7 @@
|
||||
"unknown": "未知",
|
||||
"pending": "等待处理",
|
||||
"processing": "处理中",
|
||||
"requested": "",
|
||||
"partiallyAvailable": "部分",
|
||||
"available": "可用",
|
||||
"blacklisted": "已列入黑名单",
|
||||
|
||||
@@ -2232,6 +2232,7 @@
|
||||
"unknown": "crwdns1314:0crwdne1314:0",
|
||||
"pending": "crwdns1316:0crwdne1316:0",
|
||||
"processing": "crwdns1318:0crwdne1318:0",
|
||||
"requested": "crwdns3806:0crwdne3806:0",
|
||||
"partiallyAvailable": "crwdns1320:0crwdne1320:0",
|
||||
"available": "crwdns1322:0crwdne1322:0",
|
||||
"blacklisted": "crwdns3468:0crwdne3468:0",
|
||||
|
||||
@@ -2232,6 +2232,7 @@
|
||||
"unknown": "Neznámý",
|
||||
"pending": "",
|
||||
"processing": "",
|
||||
"requested": "",
|
||||
"partiallyAvailable": "Částečně dostupné",
|
||||
"available": "K dispozici",
|
||||
"blacklisted": "",
|
||||
|
||||
@@ -2232,6 +2232,7 @@
|
||||
"unknown": "Ukendt",
|
||||
"pending": "Afventende",
|
||||
"processing": "Behandler",
|
||||
"requested": "",
|
||||
"partiallyAvailable": "Delvis",
|
||||
"available": "Tilgængelig",
|
||||
"blacklisted": "Blacklistet",
|
||||
|
||||
@@ -2232,6 +2232,7 @@
|
||||
"unknown": "Unbekannt",
|
||||
"pending": "Ausstehend",
|
||||
"processing": "In Bearbeitung",
|
||||
"requested": "",
|
||||
"partiallyAvailable": "Teilweise",
|
||||
"available": "Verfügbar",
|
||||
"blacklisted": "",
|
||||
|
||||
@@ -2232,6 +2232,7 @@
|
||||
"unknown": "Unbekannt",
|
||||
"pending": "Ausstehend",
|
||||
"processing": "In Bearbeitung",
|
||||
"requested": "",
|
||||
"partiallyAvailable": "Teilweise",
|
||||
"available": "Verfügbar",
|
||||
"blacklisted": "Gesperrt",
|
||||
|
||||
@@ -2232,6 +2232,7 @@
|
||||
"unknown": "Άγνωστο",
|
||||
"pending": "",
|
||||
"processing": "",
|
||||
"requested": "",
|
||||
"partiallyAvailable": "Μερικώς",
|
||||
"available": "Διαθέσιμο",
|
||||
"blacklisted": "",
|
||||
|
||||
@@ -2232,6 +2232,7 @@
|
||||
"unknown": "",
|
||||
"pending": "",
|
||||
"processing": "",
|
||||
"requested": "",
|
||||
"partiallyAvailable": "",
|
||||
"available": "",
|
||||
"blacklisted": "",
|
||||
|
||||
@@ -2232,6 +2232,7 @@
|
||||
"unknown": "Desconocido",
|
||||
"pending": "Pendiente",
|
||||
"processing": "Procesando",
|
||||
"requested": "",
|
||||
"partiallyAvailable": "Parcial",
|
||||
"available": "Disponible",
|
||||
"blacklisted": "Lista negra",
|
||||
|
||||
@@ -2232,6 +2232,7 @@
|
||||
"unknown": "",
|
||||
"pending": "",
|
||||
"processing": "",
|
||||
"requested": "",
|
||||
"partiallyAvailable": "",
|
||||
"available": "",
|
||||
"blacklisted": "",
|
||||
|
||||
@@ -2232,6 +2232,7 @@
|
||||
"unknown": "Inconnu",
|
||||
"pending": "En attente",
|
||||
"processing": "Traitement en cours",
|
||||
"requested": "",
|
||||
"partiallyAvailable": "Partiel",
|
||||
"available": "Disponible",
|
||||
"blacklisted": "Sur la liste noire",
|
||||
|
||||
@@ -2232,6 +2232,7 @@
|
||||
"unknown": "לא ידוע",
|
||||
"pending": "בהמתנה",
|
||||
"processing": "מעבד",
|
||||
"requested": "",
|
||||
"partiallyAvailable": "חלקי",
|
||||
"available": "זמין",
|
||||
"blacklisted": "ברשימה השחורה",
|
||||
|
||||
@@ -2232,6 +2232,7 @@
|
||||
"unknown": "Nepoznato",
|
||||
"pending": "",
|
||||
"processing": "",
|
||||
"requested": "",
|
||||
"partiallyAvailable": "",
|
||||
"available": "",
|
||||
"blacklisted": "",
|
||||
|
||||
@@ -2232,6 +2232,7 @@
|
||||
"unknown": "Ismeretlen",
|
||||
"pending": "",
|
||||
"processing": "Feldolgozás",
|
||||
"requested": "",
|
||||
"partiallyAvailable": "Részleges",
|
||||
"available": "Elérhető",
|
||||
"blacklisted": "",
|
||||
|
||||
@@ -730,7 +730,7 @@
|
||||
"error": {
|
||||
"common": {
|
||||
"cause": {
|
||||
"title": ""
|
||||
"title": "Causa con più dettagli"
|
||||
}
|
||||
},
|
||||
"unknown": {
|
||||
@@ -738,7 +738,7 @@
|
||||
"description": "Si è verificato un errore sconosciuto, apri la causa sottostante per vedere maggiori dettagli"
|
||||
},
|
||||
"parse": {
|
||||
"title": "",
|
||||
"title": "Errore di analisi",
|
||||
"description": "La risposta non può essere analizzata. Si prega di verificare che l'URL stia puntando all'URL di base del servizio."
|
||||
},
|
||||
"authorization": {
|
||||
@@ -959,8 +959,8 @@
|
||||
"newLabel": "Nuovo ID token"
|
||||
},
|
||||
"realm": {
|
||||
"label": "",
|
||||
"newLabel": ""
|
||||
"label": "Dominio",
|
||||
"newLabel": "Nuovo dominio"
|
||||
},
|
||||
"personalAccessToken": {
|
||||
"label": "Token d'Accesso Personale",
|
||||
@@ -1053,7 +1053,7 @@
|
||||
"backToOverview": "Torna alla panoramica",
|
||||
"change": "Cambia",
|
||||
"create": "Crea",
|
||||
"createAnother": "",
|
||||
"createAnother": "Crea e ricomincia",
|
||||
"edit": "Modifica",
|
||||
"import": "Importa",
|
||||
"insert": "Inserisci",
|
||||
@@ -1389,8 +1389,8 @@
|
||||
}
|
||||
},
|
||||
"dnsHoleSummary": {
|
||||
"name": "",
|
||||
"description": "",
|
||||
"name": "Riepilogo del filtraggio DNS",
|
||||
"description": "Mostra il riepilogo del tuo filtro DNS",
|
||||
"option": {
|
||||
"layout": {
|
||||
"label": "Layout",
|
||||
@@ -1411,7 +1411,7 @@
|
||||
}
|
||||
},
|
||||
"error": {
|
||||
"internalServerError": "",
|
||||
"internalServerError": "Impossibile recuperare il riepilogo del filtro DNS",
|
||||
"integrationsDisconnected": "Nessun dato disponibile, tutte le integrazioni disconnesse"
|
||||
},
|
||||
"data": {
|
||||
@@ -1423,7 +1423,7 @@
|
||||
"domainsTooltip": "A causa di più integrazioni, Homarr non può calcolare il numero esatto di domini bloccati"
|
||||
},
|
||||
"dnsHoleControls": {
|
||||
"name": "",
|
||||
"name": "Controlli del filtro DNS",
|
||||
"description": "Controlla PiHole o AdGuard dalla tua dashboard",
|
||||
"option": {
|
||||
"layout": {
|
||||
@@ -1445,7 +1445,7 @@
|
||||
}
|
||||
},
|
||||
"error": {
|
||||
"internalServerError": ""
|
||||
"internalServerError": "Impossibile controllare il DNS Hole"
|
||||
},
|
||||
"controls": {
|
||||
"enableAll": "Abilita tutto",
|
||||
@@ -1514,7 +1514,7 @@
|
||||
"label": "Indirizzo del server"
|
||||
},
|
||||
"isBedrockServer": {
|
||||
"label": ""
|
||||
"label": "Server Bedrock"
|
||||
}
|
||||
},
|
||||
"status": {
|
||||
@@ -1625,7 +1625,7 @@
|
||||
}
|
||||
},
|
||||
"error": {
|
||||
"noUrl": "",
|
||||
"noUrl": "Nessun URL iFrame fornito",
|
||||
"unsupportedProtocol": "L'URL fornito sta usando un protocollo non supportato. Si prega di utilizzare uno di ({supportedProtocols})",
|
||||
"noBrowerSupport": "Il tuo browser non supporta iframes. Aggiorna il tuo browser."
|
||||
}
|
||||
@@ -1664,7 +1664,7 @@
|
||||
}
|
||||
},
|
||||
"stockPrice": {
|
||||
"name": "",
|
||||
"name": "Prezzo delle azioni",
|
||||
"description": "Visualizza il prezzo attuale delle azioni di una società",
|
||||
"option": {
|
||||
"stock": {
|
||||
@@ -1835,7 +1835,7 @@
|
||||
"title": "Index manager",
|
||||
"testAll": "Prova tutto",
|
||||
"error": {
|
||||
"internalServerError": ""
|
||||
"internalServerError": "Impossibile recuperare lo stato degli indicizzatori"
|
||||
}
|
||||
},
|
||||
"healthMonitoring": {
|
||||
@@ -2020,7 +2020,7 @@
|
||||
"name": "Nome",
|
||||
"id": "Id",
|
||||
"metadata": {
|
||||
"title": "",
|
||||
"title": "Statistiche per nerd",
|
||||
"video": {
|
||||
"title": "Video",
|
||||
"resolution": "Risoluzione"
|
||||
@@ -2034,7 +2034,7 @@
|
||||
"title": "Transcodifica",
|
||||
"container": "Container",
|
||||
"resolution": "Risoluzione",
|
||||
"target": ""
|
||||
"target": "Codec di destinazione"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -2098,7 +2098,7 @@
|
||||
"detailsTitle": "Categorie (Informazioni aggiuntive)"
|
||||
},
|
||||
"downSpeed": {
|
||||
"columnTitle": "",
|
||||
"columnTitle": "Giù",
|
||||
"detailsTitle": "Velocità Di Download"
|
||||
},
|
||||
"index": {
|
||||
@@ -2112,22 +2112,22 @@
|
||||
"columnTitle": "Integrazione"
|
||||
},
|
||||
"name": {
|
||||
"columnTitle": ""
|
||||
"columnTitle": "Nome del job"
|
||||
},
|
||||
"progress": {
|
||||
"columnTitle": "Avanzamento",
|
||||
"detailsTitle": ""
|
||||
"detailsTitle": "Avanzamento del download"
|
||||
},
|
||||
"ratio": {
|
||||
"columnTitle": "Rapporto",
|
||||
"detailsTitle": "Rapporto torrent (ricevuti/inviati)"
|
||||
},
|
||||
"received": {
|
||||
"columnTitle": "",
|
||||
"columnTitle": "Totale fuori servizio",
|
||||
"detailsTitle": "Totale scaricati"
|
||||
},
|
||||
"sent": {
|
||||
"columnTitle": "",
|
||||
"columnTitle": "Totale operativo",
|
||||
"detailsTitle": "Totale Caricati"
|
||||
},
|
||||
"size": {
|
||||
@@ -2136,7 +2136,7 @@
|
||||
},
|
||||
"state": {
|
||||
"columnTitle": "Stato",
|
||||
"detailsTitle": ""
|
||||
"detailsTitle": "Stato job"
|
||||
},
|
||||
"time": {
|
||||
"columnTitle": "Ora di fine",
|
||||
@@ -2158,7 +2158,7 @@
|
||||
"completed": "Completato",
|
||||
"failed": "Non riuscito",
|
||||
"processing": "In lavorazione",
|
||||
"leeching": "",
|
||||
"leeching": "Leeching",
|
||||
"stalled": "In stallo",
|
||||
"unknown": "Sconosciuto",
|
||||
"seeding": "Seeding"
|
||||
@@ -2205,7 +2205,7 @@
|
||||
"label": "Mostra suggerimento descrizione"
|
||||
},
|
||||
"showType": {
|
||||
"label": ""
|
||||
"label": "Mostra il badge del tipo di media"
|
||||
},
|
||||
"showSource": {
|
||||
"label": "Mostra sorgente integrazione"
|
||||
@@ -2216,7 +2216,7 @@
|
||||
}
|
||||
},
|
||||
"mediaRequests-requestList": {
|
||||
"name": "",
|
||||
"name": "Elenco Richieste Media",
|
||||
"description": "Visualizza un elenco di tutte le richieste media dalla tua istanza Overseerr o Jellyseerr",
|
||||
"option": {
|
||||
"linksTargetNewTab": {
|
||||
@@ -2232,9 +2232,10 @@
|
||||
"unknown": "Sconosciuto",
|
||||
"pending": "In sospeso",
|
||||
"processing": "In lavorazione",
|
||||
"requested": "Richiesto",
|
||||
"partiallyAvailable": "Parziale",
|
||||
"available": "Disponibile",
|
||||
"blacklisted": "",
|
||||
"blacklisted": "In blacklist",
|
||||
"deleted": "Eliminato"
|
||||
},
|
||||
"status": {
|
||||
@@ -2247,7 +2248,7 @@
|
||||
"toBeDetermined": "TBD"
|
||||
},
|
||||
"mediaRequests-requestStats": {
|
||||
"name": "",
|
||||
"name": "Statistiche Richiesta Media",
|
||||
"description": "Statistiche sulle richieste dei media",
|
||||
"option": {},
|
||||
"titles": {
|
||||
@@ -2338,7 +2339,7 @@
|
||||
"label": "Abilita RTL"
|
||||
},
|
||||
"textLinesClamp": {
|
||||
"label": ""
|
||||
"label": "Limita le righe della descrizione"
|
||||
},
|
||||
"maximumAmountPosts": {
|
||||
"label": "Limite di post"
|
||||
@@ -2353,11 +2354,11 @@
|
||||
"description": "Visualizza un elenco della versione corrente dei repository dati con la versione regex specificata.",
|
||||
"option": {
|
||||
"newReleaseWithin": {
|
||||
"label": "",
|
||||
"label": "Nuova versione entro",
|
||||
"description": "Esempio di utilizzo: 1w (1 settimana), 10M (10 mesi). Tipi di unità accettati h (ore), d (giorni), w (settimane), M (mesi), y (anni). Lasciare vuoto per non evidenziare le nuove versioni."
|
||||
},
|
||||
"staleReleaseWithin": {
|
||||
"label": "",
|
||||
"label": "Rilascio obsoleto entro",
|
||||
"description": "Esempio di utilizzo: 1w (1 settimana), 10M (10 mesi). Tipi di unità accettati h (ore), d (giorni), w (settimane), M (mesi), y (anni). Lasciare vuoto per non evidenziare le release obsolete."
|
||||
},
|
||||
"showOnlyHighlighted": {
|
||||
@@ -2702,7 +2703,7 @@
|
||||
"label": "Titolo della pagina"
|
||||
},
|
||||
"metaTitle": {
|
||||
"label": ""
|
||||
"label": "Meta title"
|
||||
},
|
||||
"logoImageUrl": {
|
||||
"label": "URL immagine del logo"
|
||||
@@ -2948,7 +2949,7 @@
|
||||
"label": "Numero di colonne"
|
||||
},
|
||||
"breakpoint": {
|
||||
"label": "",
|
||||
"label": "Breakpoint",
|
||||
"description": "Il layout verrà utilizzato su tutti gli schermi più grandi di questo breakpoint fino al breakpoint più grande successivo."
|
||||
}
|
||||
}
|
||||
@@ -3322,7 +3323,7 @@
|
||||
"label": "Analytics"
|
||||
},
|
||||
"smartHomeEntityState": {
|
||||
"label": ""
|
||||
"label": "Stato dell'entità Smart Home"
|
||||
},
|
||||
"ping": {
|
||||
"label": "Ping"
|
||||
@@ -3337,10 +3338,10 @@
|
||||
"label": "Scaricamenti"
|
||||
},
|
||||
"mediaRequestStats": {
|
||||
"label": ""
|
||||
"label": "Statistiche richieste media"
|
||||
},
|
||||
"mediaRequestList": {
|
||||
"label": ""
|
||||
"label": "Elenco richieste media"
|
||||
},
|
||||
"rssFeeds": {
|
||||
"label": "Feeds RSS"
|
||||
@@ -3349,10 +3350,10 @@
|
||||
"label": "Gestione Indicizzatori"
|
||||
},
|
||||
"healthMonitoring": {
|
||||
"label": ""
|
||||
"label": "Monitoraggio integrità del sistema"
|
||||
},
|
||||
"dnsHole": {
|
||||
"label": ""
|
||||
"label": "Dati di filtraggio DNS"
|
||||
},
|
||||
"updateChecker": {
|
||||
"label": "Controllo aggiornamenti"
|
||||
@@ -3435,10 +3436,10 @@
|
||||
},
|
||||
"trigger": {
|
||||
"success": {
|
||||
"message": ""
|
||||
"message": "Attività attivata con successo"
|
||||
},
|
||||
"error": {
|
||||
"message": ""
|
||||
"message": "Impossibile attivare l'attività"
|
||||
}
|
||||
},
|
||||
"enable": {
|
||||
@@ -3453,7 +3454,7 @@
|
||||
},
|
||||
"toggle": {
|
||||
"error": {
|
||||
"message": ""
|
||||
"message": "Impossibile attivare lo stato dell'attività"
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -3517,12 +3518,12 @@
|
||||
"action": "Azione"
|
||||
},
|
||||
"action": {
|
||||
"toggleBoardEdit": "",
|
||||
"toggleColorScheme": "",
|
||||
"saveNotebook": "",
|
||||
"toggleBoardEdit": "Attiva la modalità di modifica della board",
|
||||
"toggleColorScheme": "Attiva tema chiaro/scuro",
|
||||
"saveNotebook": "Salva notebook (solo nel widget notebook)",
|
||||
"openSpotlight": "Apri ricerca"
|
||||
},
|
||||
"note": ""
|
||||
"note": "Suggerimento: 'Mod' si riferisce sia al tasto Ctrl che al tasto ⌘ su macOS"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -3534,7 +3535,7 @@
|
||||
"updated": "Aggiornato {when}",
|
||||
"search": "Cerca {count} container",
|
||||
"selected": "{selectCount} di {totalCount} containers selezionati",
|
||||
"footer": ""
|
||||
"footer": "Totale container {count}"
|
||||
},
|
||||
"field": {
|
||||
"name": {
|
||||
@@ -3672,11 +3673,11 @@
|
||||
"resources": {
|
||||
"title": "Risorse",
|
||||
"nodes": "Nodi",
|
||||
"namespaces": "",
|
||||
"namespaces": "Spazi dei nomi",
|
||||
"ingresses": "Ingressi",
|
||||
"services": "Servizi",
|
||||
"pods": "Pods",
|
||||
"configmaps": "",
|
||||
"configmaps": "ConfigMaps",
|
||||
"secrets": "Secrets",
|
||||
"volumes": "Volumi"
|
||||
}
|
||||
@@ -3721,7 +3722,7 @@
|
||||
}
|
||||
},
|
||||
"namespaces": {
|
||||
"label": "",
|
||||
"label": "Spazi dei nomi",
|
||||
"field": {
|
||||
"name": {
|
||||
"label": "Nome"
|
||||
@@ -3730,7 +3731,7 @@
|
||||
"label": "Stato",
|
||||
"option": {
|
||||
"active": "Attivo",
|
||||
"terminating": ""
|
||||
"terminating": "Terminare"
|
||||
}
|
||||
},
|
||||
"creationTimestamp": {
|
||||
@@ -3738,7 +3739,7 @@
|
||||
}
|
||||
},
|
||||
"table": {
|
||||
"search": ""
|
||||
"search": "Cerca {count} spazi dei nomi"
|
||||
}
|
||||
},
|
||||
"ingresses": {
|
||||
@@ -3761,7 +3762,7 @@
|
||||
}
|
||||
},
|
||||
"table": {
|
||||
"search": ""
|
||||
"search": "Cerca {count} ingresses"
|
||||
}
|
||||
},
|
||||
"services": {
|
||||
@@ -3771,7 +3772,7 @@
|
||||
"label": "Nome"
|
||||
},
|
||||
"namespace": {
|
||||
"label": ""
|
||||
"label": "Spazio del nome"
|
||||
},
|
||||
"type": {
|
||||
"label": "Tipo"
|
||||
@@ -3800,7 +3801,7 @@
|
||||
"label": "Nome"
|
||||
},
|
||||
"namespace": {
|
||||
"label": ""
|
||||
"label": "Spazio del nome"
|
||||
},
|
||||
"image": {
|
||||
"label": "Immagine"
|
||||
@@ -3826,7 +3827,7 @@
|
||||
"label": "Nome"
|
||||
},
|
||||
"namespace": {
|
||||
"label": ""
|
||||
"label": "spazio del nome"
|
||||
},
|
||||
"type": {
|
||||
"label": "tipo"
|
||||
@@ -3836,24 +3837,24 @@
|
||||
}
|
||||
},
|
||||
"table": {
|
||||
"search": ""
|
||||
"search": "Cerca {count} segreti"
|
||||
}
|
||||
},
|
||||
"configmaps": {
|
||||
"label": "",
|
||||
"label": "ConfigMaps",
|
||||
"field": {
|
||||
"name": {
|
||||
"label": "Nome"
|
||||
},
|
||||
"namespace": {
|
||||
"label": ""
|
||||
"label": "namespace"
|
||||
},
|
||||
"creationTimestamp": {
|
||||
"label": "Creato"
|
||||
}
|
||||
},
|
||||
"table": {
|
||||
"search": ""
|
||||
"search": "Cerca {count} ConfigMaps"
|
||||
}
|
||||
},
|
||||
"volumes": {
|
||||
@@ -3863,7 +3864,7 @@
|
||||
"label": "Nome"
|
||||
},
|
||||
"namespace": {
|
||||
"label": ""
|
||||
"label": "Namespace"
|
||||
},
|
||||
"accessModes": {
|
||||
"label": "Modalità Di Accesso"
|
||||
@@ -3872,7 +3873,7 @@
|
||||
"label": "Spazio di archiviazione"
|
||||
},
|
||||
"storageClassName": {
|
||||
"label": ""
|
||||
"label": "Nome Classe Archivio"
|
||||
},
|
||||
"volumeMode": {
|
||||
"label": "Modalità Volume"
|
||||
@@ -3888,7 +3889,7 @@
|
||||
}
|
||||
},
|
||||
"table": {
|
||||
"search": ""
|
||||
"search": "Cerca {count} volumi"
|
||||
}
|
||||
},
|
||||
"error": {
|
||||
@@ -3989,7 +3990,7 @@
|
||||
"label": "Nodi"
|
||||
},
|
||||
"namespaces": {
|
||||
"label": ""
|
||||
"label": "Namespaces"
|
||||
},
|
||||
"ingresses": {
|
||||
"label": "Ingressi"
|
||||
@@ -4001,7 +4002,7 @@
|
||||
"label": "pods"
|
||||
},
|
||||
"configmaps": {
|
||||
"label": ""
|
||||
"label": "ConfigMaps"
|
||||
},
|
||||
"secrets": {
|
||||
"label": "Secrets"
|
||||
@@ -4092,7 +4093,7 @@
|
||||
"option": {
|
||||
"colorScheme": {
|
||||
"light": "Passa al tema chiaro",
|
||||
"dark": "Passa alla modalità scura"
|
||||
"dark": "Passa al tema scuro"
|
||||
},
|
||||
"language": {
|
||||
"label": "Cambia lingua",
|
||||
|
||||
@@ -2232,6 +2232,7 @@
|
||||
"unknown": "不明",
|
||||
"pending": "保留中",
|
||||
"processing": "処理中",
|
||||
"requested": "",
|
||||
"partiallyAvailable": "一部",
|
||||
"available": "利用可能",
|
||||
"blacklisted": "ブラックリスト",
|
||||
|
||||
@@ -2232,6 +2232,7 @@
|
||||
"unknown": "알 수 없음",
|
||||
"pending": "",
|
||||
"processing": "",
|
||||
"requested": "",
|
||||
"partiallyAvailable": "",
|
||||
"available": "",
|
||||
"blacklisted": "",
|
||||
|
||||
@@ -2232,6 +2232,7 @@
|
||||
"unknown": "Nežinoma",
|
||||
"pending": "",
|
||||
"processing": "",
|
||||
"requested": "",
|
||||
"partiallyAvailable": "Dalis",
|
||||
"available": "Galima",
|
||||
"blacklisted": "",
|
||||
|
||||
@@ -2232,6 +2232,7 @@
|
||||
"unknown": "Nezināms",
|
||||
"pending": "",
|
||||
"processing": "",
|
||||
"requested": "",
|
||||
"partiallyAvailable": "Daļējs",
|
||||
"available": "Pieejams",
|
||||
"blacklisted": "",
|
||||
|
||||
@@ -2232,6 +2232,7 @@
|
||||
"unknown": "Onbekend",
|
||||
"pending": "In afwachting",
|
||||
"processing": "Verwerken",
|
||||
"requested": "",
|
||||
"partiallyAvailable": "Gedeeltelijk",
|
||||
"available": "Beschikbaar",
|
||||
"blacklisted": "Geblacklist",
|
||||
|
||||
@@ -2232,6 +2232,7 @@
|
||||
"unknown": "Ukjent",
|
||||
"pending": "Pågår",
|
||||
"processing": "Prosesserer",
|
||||
"requested": "",
|
||||
"partiallyAvailable": "Delvis",
|
||||
"available": "Tilgjengelig",
|
||||
"blacklisted": "",
|
||||
|
||||
@@ -2232,6 +2232,7 @@
|
||||
"unknown": "Nieznany",
|
||||
"pending": "Oczekujący",
|
||||
"processing": "Przetwarzanie",
|
||||
"requested": "",
|
||||
"partiallyAvailable": "Częściowy",
|
||||
"available": "Dostępne",
|
||||
"blacklisted": "Zablokowany",
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
"description": "Para começar, por favor selecione como você deseja configurar sua instância Homarr.",
|
||||
"action": {
|
||||
"scratch": "Começar do zero",
|
||||
"importOldmarr": "Importe de uma instância Homarr anterior a 1,0"
|
||||
"importOldmarr": "Importe de uma instância Homarr anterior a 1.0"
|
||||
}
|
||||
},
|
||||
"import": {
|
||||
@@ -307,12 +307,12 @@
|
||||
"name": "Nome",
|
||||
"members": "Membros",
|
||||
"homeBoard": {
|
||||
"label": "",
|
||||
"description": ""
|
||||
"label": "Quadro inicial",
|
||||
"description": "Somente quadros acessíveis ao grupo podem ser selecionados"
|
||||
},
|
||||
"mobileBoard": {
|
||||
"label": "",
|
||||
"description": ""
|
||||
"label": "Quadro para celular",
|
||||
"description": "Somente quadros acessíveis ao grupo podem ser selecionados"
|
||||
}
|
||||
},
|
||||
"permission": {
|
||||
@@ -320,8 +320,8 @@
|
||||
"title": "Administrador",
|
||||
"item": {
|
||||
"admin": {
|
||||
"label": "",
|
||||
"description": ""
|
||||
"label": "Administrador",
|
||||
"description": "Membros com essa permissão têm acesso total a todos os recursos e configurações"
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -329,15 +329,15 @@
|
||||
"title": "Aplicativos",
|
||||
"item": {
|
||||
"create": {
|
||||
"label": "",
|
||||
"description": ""
|
||||
"label": "Criar aplicativo",
|
||||
"description": "Permitir que membros criem aplicativos"
|
||||
},
|
||||
"use-all": {
|
||||
"label": "",
|
||||
"description": ""
|
||||
"label": "Usar todas aplicações",
|
||||
"description": "Permitir que os membros adicionem qualquer aplicativo aos seus quadros"
|
||||
},
|
||||
"modify-all": {
|
||||
"label": "",
|
||||
"label": "Modificar todos os aplicativos",
|
||||
"description": ""
|
||||
},
|
||||
"full-all": {
|
||||
@@ -410,7 +410,7 @@
|
||||
"item": {
|
||||
"view-logs": {
|
||||
"label": "",
|
||||
"description": ""
|
||||
"description": "Permitir que os membros visualizem os registros"
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -419,7 +419,7 @@
|
||||
"item": {
|
||||
"create": {
|
||||
"label": "",
|
||||
"description": ""
|
||||
"description": "Permitir que os membros criem mecanismos de busca"
|
||||
},
|
||||
"modify-all": {
|
||||
"label": "",
|
||||
@@ -547,19 +547,19 @@
|
||||
"title": "Aplicativos",
|
||||
"noResults": {
|
||||
"title": "",
|
||||
"action": ""
|
||||
"action": "Crie seu primeiro aplicativo"
|
||||
}
|
||||
},
|
||||
"create": {
|
||||
"title": "",
|
||||
"title": "Novo Aplicativo",
|
||||
"notification": {
|
||||
"success": {
|
||||
"title": "",
|
||||
"message": ""
|
||||
"title": "Criado com sucesso",
|
||||
"message": "O aplicativo foi criado com sucesso"
|
||||
},
|
||||
"error": {
|
||||
"title": "",
|
||||
"message": ""
|
||||
"title": "Falha ao criar",
|
||||
"message": "Não foi possível criar o aplicativo"
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -618,9 +618,9 @@
|
||||
"title": ""
|
||||
},
|
||||
"create": {
|
||||
"title": "",
|
||||
"description": "",
|
||||
"action": ""
|
||||
"title": "Criar aplicativo",
|
||||
"description": "Criar um aplicativo",
|
||||
"action": "Abrir criação de aplicativo"
|
||||
},
|
||||
"add": ""
|
||||
}
|
||||
@@ -649,14 +649,14 @@
|
||||
"app": {
|
||||
"option": {
|
||||
"existing": {
|
||||
"title": "",
|
||||
"label": ""
|
||||
"title": "Existente",
|
||||
"label": "Selecione um aplicativo existente"
|
||||
},
|
||||
"new": {
|
||||
"title": "",
|
||||
"title": "Novo",
|
||||
"url": {
|
||||
"label": "",
|
||||
"description": ""
|
||||
"label": "URL da aplicação",
|
||||
"description": "A URL do aplicativo será aberta quando acessada a partir do painel de controle"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -712,8 +712,8 @@
|
||||
"sectionTitle": ""
|
||||
},
|
||||
"createApp": {
|
||||
"label": "",
|
||||
"description": ""
|
||||
"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": ""
|
||||
@@ -1973,8 +1973,8 @@
|
||||
},
|
||||
"app": {
|
||||
"noData": "",
|
||||
"description": "",
|
||||
"quickCreate": ""
|
||||
"description": "Clique <here></here> para criar um aplicativo",
|
||||
"quickCreate": "Criar aplicativo em tempo real"
|
||||
},
|
||||
"error": {
|
||||
"noIntegration": "",
|
||||
@@ -2232,6 +2232,7 @@
|
||||
"unknown": "Desconhecido",
|
||||
"pending": "",
|
||||
"processing": "",
|
||||
"requested": "",
|
||||
"partiallyAvailable": "Parcial",
|
||||
"available": "Disponível",
|
||||
"blacklisted": "",
|
||||
@@ -2659,7 +2660,7 @@
|
||||
},
|
||||
"onlyImportApps": {
|
||||
"label": "",
|
||||
"description": ""
|
||||
"description": "Só adiciona os aplicativos, o quadro precisa ser recriado manualmente"
|
||||
}
|
||||
},
|
||||
"name": {
|
||||
@@ -2692,8 +2693,8 @@
|
||||
},
|
||||
"quickCreateApp": {
|
||||
"modal": {
|
||||
"title": "",
|
||||
"createAndUse": ""
|
||||
"title": "Criar aplicativo em tempo real",
|
||||
"createAndUse": "Criar e utilizar"
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -2911,7 +2912,7 @@
|
||||
"title": "",
|
||||
"description": "",
|
||||
"link": "",
|
||||
"notice": ""
|
||||
"notice": "Para fazer esta página desaparecer, crie um quadro e defina-o como quadro inicial"
|
||||
},
|
||||
"notFound": {
|
||||
"title": "",
|
||||
@@ -4109,7 +4110,7 @@
|
||||
"label": ""
|
||||
},
|
||||
"newApp": {
|
||||
"label": ""
|
||||
"label": "Criar aplicativo"
|
||||
},
|
||||
"newIntegration": {
|
||||
"label": "",
|
||||
|
||||
@@ -2232,6 +2232,7 @@
|
||||
"unknown": "Necunoscut",
|
||||
"pending": "",
|
||||
"processing": "",
|
||||
"requested": "",
|
||||
"partiallyAvailable": "Parțial",
|
||||
"available": "Disponibil",
|
||||
"blacklisted": "",
|
||||
|
||||
@@ -2232,6 +2232,7 @@
|
||||
"unknown": "Неизвестно",
|
||||
"pending": "В ожидании",
|
||||
"processing": "Обработка",
|
||||
"requested": "",
|
||||
"partiallyAvailable": "Частично доступно",
|
||||
"available": "Доступно",
|
||||
"blacklisted": "",
|
||||
|
||||
@@ -2232,6 +2232,7 @@
|
||||
"unknown": "Neznámy",
|
||||
"pending": "Čakajúce",
|
||||
"processing": "Spracovanie",
|
||||
"requested": "",
|
||||
"partiallyAvailable": "Čiastočný",
|
||||
"available": "K dispozícii",
|
||||
"blacklisted": "",
|
||||
|
||||
@@ -2232,6 +2232,7 @@
|
||||
"unknown": "Neznano",
|
||||
"pending": "",
|
||||
"processing": "",
|
||||
"requested": "",
|
||||
"partiallyAvailable": "",
|
||||
"available": "",
|
||||
"blacklisted": "",
|
||||
|
||||
@@ -2232,6 +2232,7 @@
|
||||
"unknown": "Okänd",
|
||||
"pending": "",
|
||||
"processing": "",
|
||||
"requested": "",
|
||||
"partiallyAvailable": "Delmängd",
|
||||
"available": "Tillgänglig",
|
||||
"blacklisted": "",
|
||||
|
||||
@@ -2232,6 +2232,7 @@
|
||||
"unknown": "Bilinmeyen",
|
||||
"pending": "Bekleyen",
|
||||
"processing": "İşlemde",
|
||||
"requested": "",
|
||||
"partiallyAvailable": "Kısmi",
|
||||
"available": "Mevcut",
|
||||
"blacklisted": "Engellenenler",
|
||||
|
||||
@@ -2232,6 +2232,7 @@
|
||||
"unknown": "Невідомо",
|
||||
"pending": "В очікуванні",
|
||||
"processing": "В обробці",
|
||||
"requested": "",
|
||||
"partiallyAvailable": "Частково доступно",
|
||||
"available": "Доступно",
|
||||
"blacklisted": "",
|
||||
|
||||
@@ -2232,6 +2232,7 @@
|
||||
"unknown": "Không rõ",
|
||||
"pending": "",
|
||||
"processing": "",
|
||||
"requested": "",
|
||||
"partiallyAvailable": "Một phần",
|
||||
"available": "Khả dụng",
|
||||
"blacklisted": "",
|
||||
|
||||
@@ -2232,6 +2232,7 @@
|
||||
"unknown": "未知",
|
||||
"pending": "等待處理中",
|
||||
"processing": "處理中",
|
||||
"requested": "",
|
||||
"partiallyAvailable": "部分",
|
||||
"available": "待定",
|
||||
"blacklisted": "",
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
"use client";
|
||||
|
||||
import { Box, Flex, Group, Text, Tooltip } from "@mantine/core";
|
||||
import { IconUsersGroup } from "@tabler/icons-react";
|
||||
import { IconCube, IconUsersGroup } from "@tabler/icons-react";
|
||||
|
||||
import { clientApi } from "@homarr/api/client";
|
||||
import { formatNumber } from "@homarr/common";
|
||||
@@ -44,13 +44,25 @@ export default function MinecraftServerStatusWidget({ options }: WidgetComponent
|
||||
</Group>
|
||||
{data.online && (
|
||||
<>
|
||||
{!options.isBedrockServer && (
|
||||
<img
|
||||
style={{ flex: 1, transform: "scale(0.8)", objectFit: "contain" }}
|
||||
alt={`minecraft icon ${options.domain}`}
|
||||
src={data.icon}
|
||||
/>
|
||||
)}
|
||||
{!options.isBedrockServer &&
|
||||
(data.icon ? (
|
||||
<img
|
||||
style={{ flex: 1, transform: "scale(0.8)", objectFit: "contain" }}
|
||||
alt={`minecraft icon ${options.domain}`}
|
||||
src={data.icon}
|
||||
/>
|
||||
) : (
|
||||
<Box
|
||||
style={{
|
||||
flex: 1,
|
||||
display: "flex",
|
||||
alignItems: "center",
|
||||
justifyContent: "center",
|
||||
}}
|
||||
>
|
||||
<IconCube size="3rem" color="var(--mantine-color-gray-5)" />
|
||||
</Box>
|
||||
))}
|
||||
<Group gap={5} c="gray.6" align="center">
|
||||
<IconUsersGroup size="1rem" />
|
||||
<Text size="md">
|
||||
|
||||
528
pnpm-lock.yaml
generated
528
pnpm-lock.yaml
generated
File diff suppressed because it is too large
Load Diff
@@ -2,3 +2,5 @@ packages:
|
||||
- apps/*
|
||||
- packages/*
|
||||
- tooling/*
|
||||
|
||||
minimumReleaseAge: 4320 # Only download deps if they are at least 3 days old (in minutes)
|
||||
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
23
test/renovate.spec.ts
Normal file
23
test/renovate.spec.ts
Normal file
@@ -0,0 +1,23 @@
|
||||
import fs from "fs/promises";
|
||||
import { join } from "path";
|
||||
import json5 from "json5";
|
||||
import { describe, test } from "vitest";
|
||||
|
||||
describe("Renovate configuration tests", () => {
|
||||
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 onlyBuiltDependencies = packageJson.pnpm.onlyBuiltDependencies;
|
||||
const automergeDisabledDeps = renovateConfig.packageRules
|
||||
.filter((rule: any) => rule.automerge === false)
|
||||
.flatMap((rule: any) => rule.matchPackageNames || []);
|
||||
|
||||
const missingDeps = onlyBuiltDependencies.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(", ")}`,
|
||||
);
|
||||
}
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user