chore(release): automatic release v1.36.0

This commit is contained in:
homarr-releases[bot]
2025-09-05 19:13:51 +00:00
committed by GitHub
97 changed files with 2832 additions and 2481 deletions

View File

@@ -33,6 +33,8 @@ body:
options:
# The below comment is used to insert a new version with on-release.yml
#NEXT_VERSION#
- 1.35.1
- 1.35.0
- 1.34.0
- 1.33.0
- 1.32.0

View File

@@ -6,6 +6,11 @@
matchPackagePatterns: ["^@homarr/"],
enabled: false,
},
// Reenable once https://github.com/privatenumber/tsx/issues/737 is fixed
{
matchPackagePatterns: ["tsx"],
enabled: false,
},
{
matchUpdateTypes: ["minor", "patch", "pin", "digest"],
automerge: true,

View File

@@ -60,7 +60,7 @@ jobs:
- uses: actions/setup-node@v4
if: env.SKIP_RELEASE == 'false'
with:
node-version: 22.18.0
node-version: 22.19.0
- run: npm i -g pnpm
if: env.SKIP_RELEASE == 'false'
- name: Install dependencies

View File

@@ -0,0 +1,26 @@
permissions:
statuses: write
on:
pull_request:
branches-ignore: "renovate/*"
types: [opened, synchronize]
jobs:
skip-stability-days:
name: Skip Stability Days
runs-on: ubuntu-latest
steps:
- name: Add status check
env:
GH_TOKEN: ${{secrets.GITHUB_TOKEN}}
run: |
gh api \
--method POST \
-H "Accept: application/vnd.github+json" \
-H "X-GitHub-Api-Version: 2022-11-28" \
/repos/${{github.repository}}/statuses/${{github.event.pull_request.head.sha}} \
-f 'state=success' \
-f 'target_url=https://docs.renovatebot.com/configuration-options#minimumreleaseage' \
-f 'description=Skipped for non renovate branches' \
-f 'context=renovate/stability-days'

2
.nvmrc
View File

@@ -1 +1 @@
22.18.0
22.19.0

View File

@@ -1,4 +1,4 @@
FROM node:22.18.0-alpine AS base
FROM node:22.19.0-alpine AS base
FROM base AS builder
RUN apk add --no-cache libc6-compat

View File

@@ -50,57 +50,57 @@
"@homarr/ui": "workspace:^0.1.0",
"@homarr/validation": "workspace:^0.1.0",
"@homarr/widgets": "workspace:^0.1.0",
"@mantine/colors-generator": "^8.2.5",
"@mantine/core": "^8.2.5",
"@mantine/dropzone": "^8.2.5",
"@mantine/hooks": "^8.2.5",
"@mantine/modals": "^8.2.5",
"@mantine/tiptap": "^8.2.5",
"@mantine/colors-generator": "^8.2.8",
"@mantine/core": "^8.2.8",
"@mantine/dropzone": "^8.2.8",
"@mantine/hooks": "^8.2.8",
"@mantine/modals": "^8.2.8",
"@mantine/tiptap": "^8.2.8",
"@million/lint": "1.0.14",
"@tabler/icons-react": "^3.34.1",
"@tanstack/react-query": "^5.85.5",
"@tanstack/react-query-devtools": "^5.85.5",
"@tanstack/react-query-next-experimental": "^5.85.5",
"@trpc/client": "^11.4.4",
"@trpc/next": "^11.4.4",
"@trpc/react-query": "^11.4.4",
"@trpc/server": "^11.4.4",
"@tanstack/react-query": "^5.87.1",
"@tanstack/react-query-devtools": "^5.87.1",
"@tanstack/react-query-next-experimental": "^5.87.1",
"@trpc/client": "^11.5.0",
"@trpc/next": "^11.5.0",
"@trpc/react-query": "^11.5.0",
"@trpc/server": "^11.5.0",
"@xterm/addon-canvas": "^0.7.0",
"@xterm/addon-fit": "0.10.0",
"@xterm/xterm": "^5.5.0",
"chroma-js": "^3.1.2",
"clsx": "^2.1.1",
"dayjs": "^1.11.13",
"dayjs": "^1.11.18",
"dotenv": "^17.2.1",
"flag-icons": "^7.5.0",
"glob": "^11.0.3",
"jotai": "^2.13.1",
"mantine-react-table": "2.0.0-beta.9",
"next": "15.5.0",
"next": "15.5.2",
"postcss-preset-mantine": "^1.18.0",
"prismjs": "^1.30.0",
"react": "19.1.1",
"react-dom": "19.1.1",
"react-error-boundary": "^6.0.0",
"react-simple-code-editor": "^0.14.1",
"sass": "^1.90.0",
"sass": "^1.91.0",
"superjson": "2.2.2",
"swagger-ui-react": "^5.27.1",
"swagger-ui-react": "^5.28.0",
"use-deep-compare-effect": "^1.8.1",
"zod": "^4.0.17"
"zod": "^4.1.5"
},
"devDependencies": {
"@homarr/eslint-config": "workspace:^0.2.0",
"@homarr/prettier-config": "workspace:^0.1.0",
"@homarr/tsconfig": "workspace:^0.1.0",
"@types/chroma-js": "3.1.1",
"@types/node": "^22.17.2",
"@types/node": "^22.18.0",
"@types/prismjs": "^1.26.5",
"@types/react": "19.1.10",
"@types/react-dom": "19.1.7",
"@types/react": "19.1.12",
"@types/react-dom": "19.1.9",
"@types/swagger-ui-react": "^5.18.0",
"concurrently": "^9.2.0",
"eslint": "^9.33.0",
"concurrently": "^9.2.1",
"eslint": "^9.34.0",
"node-loader": "^2.1.0",
"prettier": "^3.6.2",
"typescript": "^5.9.2"

View File

@@ -10,7 +10,7 @@ import type { IntegrationKind, WidgetKind } from "@homarr/definitions";
import { useModalAction } from "@homarr/modals";
import { showSuccessNotification } from "@homarr/notifications";
import { useSettings } from "@homarr/settings";
import { useScopedI18n } from "@homarr/translation/client";
import { useI18n } from "@homarr/translation/client";
import type { BoardItemAdvancedOptions } from "@homarr/validation/shared";
import { loadWidgetDynamic, reduceWidgetOptionsWithDefaultValues, widgetImports } from "@homarr/widgets";
import { WidgetError } from "@homarr/widgets/errors";
@@ -31,7 +31,7 @@ interface WidgetPreviewPageContentProps {
export const WidgetPreviewPageContent = ({ kind, integrationData }: WidgetPreviewPageContentProps) => {
const settings = useSettings();
const t = useScopedI18n("widgetPreview");
const t = useI18n();
const { openModal: openWidgetEditModal } = useModalAction(WidgetEditModal);
const { openModal: openPreviewDimensionsModal } = useModalAction(PreviewDimensionsModal);
const currentDefinition = useMemo(() => widgetImports[kind].definition, [kind]);
@@ -55,20 +55,27 @@ export const WidgetPreviewPageContent = ({ kind, integrationData }: WidgetPrevie
});
const handleOpenEditWidgetModal = useCallback(() => {
openWidgetEditModal({
kind,
value: state,
onSuccessfulEdit: (value) => {
setState(value);
openWidgetEditModal(
{
kind,
value: state,
onSuccessfulEdit: (value) => {
setState(value);
},
integrationData: integrationData.filter(
(integration) =>
"supportedIntegrations" in currentDefinition &&
(currentDefinition.supportedIntegrations as string[]).some((kind) => kind === integration.kind),
),
integrationSupport: "supportedIntegrations" in currentDefinition,
settings,
},
integrationData: integrationData.filter(
(integration) =>
"supportedIntegrations" in currentDefinition &&
(currentDefinition.supportedIntegrations as string[]).some((kind) => kind === integration.kind),
),
integrationSupport: "supportedIntegrations" in currentDefinition,
settings,
});
{
title(t) {
return `${t("item.edit.title")} - ${t(`widget.${kind}.name`)}`;
},
},
);
}, [currentDefinition, integrationData, kind, openWidgetEditModal, settings, state]);
const Comp = loadWidgetDynamic(kind);
@@ -76,7 +83,7 @@ export const WidgetPreviewPageContent = ({ kind, integrationData }: WidgetPrevie
const toggleEditMode = useCallback(() => {
setEditMode((editMode) => !editMode);
showSuccessNotification({
message: editMode ? t("toggle.disabled") : t("toggle.enabled"),
message: editMode ? t("widgetPreview.toggle.disabled") : t("widgetPreview.toggle.enabled"),
});
}, [editMode, t]);

View File

@@ -49,36 +49,43 @@ export const BoardItemMenu = ({
if (!isEditMode || isPending) return null;
const openEditModal = () => {
openModal({
kind: item.kind,
value: {
advancedOptions: item.advancedOptions,
options: item.options,
integrationIds: item.integrationIds,
openModal(
{
kind: item.kind,
value: {
advancedOptions: item.advancedOptions,
options: item.options,
integrationIds: item.integrationIds,
},
onSuccessfulEdit: ({ options, integrationIds, advancedOptions }) => {
updateItemOptions({
itemId: item.id,
newOptions: options,
});
updateItemAdvancedOptions({
itemId: item.id,
newAdvancedOptions: advancedOptions,
});
updateItemIntegrations({
itemId: item.id,
newIntegrations: integrationIds,
});
refResetErrorBoundaryOnNextRender.current = true;
},
integrationData: (integrationData ?? []).filter(
(integration) =>
"supportedIntegrations" in currentDefinition &&
(currentDefinition.supportedIntegrations as string[]).some((kind) => kind === integration.kind),
),
integrationSupport: "supportedIntegrations" in currentDefinition,
settings,
},
onSuccessfulEdit: ({ options, integrationIds, advancedOptions }) => {
updateItemOptions({
itemId: item.id,
newOptions: options,
});
updateItemAdvancedOptions({
itemId: item.id,
newAdvancedOptions: advancedOptions,
});
updateItemIntegrations({
itemId: item.id,
newIntegrations: integrationIds,
});
refResetErrorBoundaryOnNextRender.current = true;
{
title(t) {
return `${t("item.edit.title")} - ${t(`widget.${item.kind}.name`)}`;
},
},
integrationData: (integrationData ?? []).filter(
(integration) =>
"supportedIntegrations" in currentDefinition &&
(currentDefinition.supportedIntegrations as string[]).some((kind) => kind === integration.kind),
),
integrationSupport: "supportedIntegrations" in currentDefinition,
settings,
});
);
};
const openRemoveModal = () => {

View File

@@ -17,7 +17,7 @@ interface Props {
export const MainHeader = ({ logo, actions, hasNavigation = true }: Props) => {
return (
<AppShellHeader>
<AppShellHeader maw="100vw" style={{ overflowX: "hidden" }}>
<Group h="100%" gap="xl" px="md" justify="apart" wrap="nowrap">
<Group h="100%" align="center" style={{ flex: 1 }} wrap="nowrap">
{hasNavigation && <ClientBurger />}

View File

@@ -35,20 +35,20 @@
"@homarr/server-settings": "workspace:^0.1.0",
"@homarr/validation": "workspace:^0.1.0",
"@homarr/widgets": "workspace:^0.1.0",
"dayjs": "^1.11.13",
"dayjs": "^1.11.18",
"dotenv": "^17.2.1",
"fastify": "^5.5.0",
"superjson": "2.2.2",
"undici": "7.14.0"
"undici": "7.15.0"
},
"devDependencies": {
"@homarr/eslint-config": "workspace:^0.2.0",
"@homarr/prettier-config": "workspace:^0.1.0",
"@homarr/tsconfig": "workspace:^0.1.0",
"@types/node": "^22.17.2",
"@types/node": "^22.18.0",
"dotenv-cli": "^10.0.0",
"esbuild": "^0.25.9",
"eslint": "^9.33.0",
"eslint": "^9.34.0",
"prettier": "^3.6.2",
"tsx": "4.20.4",
"typescript": "^5.9.2"

View File

@@ -1,5 +1,5 @@
// This import has to be the first import in the file so that the agent is overridden before any other modules are imported.
import "./undici-log-agent-override";
import "./overrides";
import type { FastifyTRPCPluginOptions } from "@trpc/server/adapters/fastify";
import { fastifyTRPCPlugin } from "@trpc/server/adapters/fastify";

View File

@@ -35,7 +35,7 @@
"@homarr/tsconfig": "workspace:^0.1.0",
"@types/ws": "^8.18.1",
"esbuild": "^0.25.9",
"eslint": "^9.33.0",
"eslint": "^9.34.0",
"prettier": "^3.6.2",
"typescript": "^5.9.2"
}

View File

@@ -39,12 +39,12 @@
"@semantic-release/changelog": "^6.0.3",
"@semantic-release/commit-analyzer": "^13.0.1",
"@semantic-release/git": "^10.0.1",
"@semantic-release/github": "^11.0.4",
"@semantic-release/github": "^11.0.5",
"@semantic-release/npm": "^12.0.2",
"@semantic-release/release-notes-generator": "^14.0.3",
"@testcontainers/redis": "^11.5.1",
"@turbo/gen": "^2.5.6",
"@vitejs/plugin-react": "^5.0.1",
"@vitejs/plugin-react": "^5.0.2",
"@vitest/coverage-v8": "^3.2.4",
"@vitest/ui": "^3.2.4",
"conventional-changelog-conventionalcommits": "^9.1.0",
@@ -60,7 +60,7 @@
},
"packageManager": "pnpm@10.15.0",
"engines": {
"node": ">=22.18.0"
"node": ">=22.19.0"
},
"pnpm": {
"onlyBuiltDependencies": [
@@ -75,29 +75,32 @@
"tree-sitter-json"
],
"overrides": {
"@babel/helpers@<7.26.10": ">=7.26.10",
"@babel/runtime@<7.26.10": ">=7.26.10",
"axios@>=1.0.0 <1.8.2": ">=1.8.2",
"brace-expansion@>=2.0.0 <=2.0.1": ">=2.0.2",
"brace-expansion@>=1.0.0 <=1.1.11": ">=1.1.12",
"esbuild@<=0.24.2": ">=0.25.0",
"@babel/helpers@<7.26.10": ">=7.28.3",
"@babel/runtime@<7.26.10": ">=7.28.3",
"axios@>=1.0.0 <1.8.2": ">=1.11.0",
"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.25.9",
"form-data@>=4.0.0 <4.0.4": ">=4.0.4",
"hono@<4.6.5": ">=4.6.5",
"hono@<4.6.5": ">=4.9.6",
"linkifyjs@<4.3.2": ">=4.3.2",
"nanoid@>=4.0.0 <5.0.9": ">=5.0.9",
"nanoid@>=4.0.0 <5.0.9": ">=5.1.5",
"prismjs@<1.30.0": ">=1.30.0",
"proxmox-api>undici": "7.14.0",
"rollup@>=4.0.0 <4.22.4": ">=4.22.4",
"proxmox-api>undici": "7.15.0",
"rollup@>=4.0.0 <4.22.4": ">=4.50.0",
"sha.js@<=2.4.11": ">=2.4.12",
"tar-fs@>=3.0.0 <3.0.9": ">=3.0.9",
"tar-fs@>=2.0.0 <2.1.3": ">=2.1.3",
"tmp@<=0.2.3": ">=0.2.4",
"vite@>=5.0.0 <=5.4.18": ">=5.4.19"
"tar-fs@>=3.0.0 <3.0.9": ">=3.1.0",
"tar-fs@>=2.0.0 <2.1.3": ">=3.1.0",
"tmp@<=0.2.3": ">=0.2.5",
"vite@>=5.0.0 <=5.4.18": ">=7.1.3"
},
"patchedDependencies": {
"@types/node-unifi": "patches/@types__node-unifi.patch",
"trpc-to-openapi": "patches/trpc-to-openapi.patch"
},
"patchedDependencies": {
"@types/node-unifi": "patches/@types__node-unifi.patch"
},
"allowUnusedPatches": true,
"ignoredBuiltDependencies": [
"@scarf/scarf",

View File

@@ -32,7 +32,7 @@
"@homarr/eslint-config": "workspace:^0.2.0",
"@homarr/prettier-config": "workspace:^0.1.0",
"@homarr/tsconfig": "workspace:^0.1.0",
"eslint": "^9.33.0",
"eslint": "^9.34.0",
"typescript": "^5.9.2"
}
}

View File

@@ -42,24 +42,24 @@
"@homarr/server-settings": "workspace:^0.1.0",
"@homarr/validation": "workspace:^0.1.0",
"@kubernetes/client-node": "^1.3.0",
"@tanstack/react-query": "^5.85.5",
"@trpc/client": "^11.4.4",
"@trpc/react-query": "^11.4.4",
"@trpc/server": "^11.4.4",
"@trpc/tanstack-react-query": "^11.4.4",
"@tanstack/react-query": "^5.87.1",
"@trpc/client": "^11.5.0",
"@trpc/react-query": "^11.5.0",
"@trpc/server": "^11.5.0",
"@trpc/tanstack-react-query": "^11.5.0",
"lodash.clonedeep": "^4.5.0",
"next": "15.5.0",
"next": "15.5.2",
"react": "19.1.1",
"react-dom": "19.1.1",
"superjson": "2.2.2",
"trpc-to-openapi": "^3.0.1",
"zod": "^4.0.17"
"zod": "^4.1.5"
},
"devDependencies": {
"@homarr/eslint-config": "workspace:^0.2.0",
"@homarr/prettier-config": "workspace:^0.1.0",
"@homarr/tsconfig": "workspace:^0.1.0",
"eslint": "^9.33.0",
"eslint": "^9.34.0",
"prettier": "^3.6.2",
"typescript": "^5.9.2"
}

View File

@@ -184,12 +184,23 @@ function getProviders(versionInfo: VersionInfo, nodes: V1NodeList) {
if (versionInfo.gitVersion.includes("aks")) providers.add("AKS");
nodes.items.forEach((node) => {
const nodeProviderLabel =
node.metadata?.labels?.["node.kubernetes.io/instance-type"] ?? node.metadata?.labels?.provider ?? "";
const labels = node.metadata?.labels ?? {};
const nodeProviderLabel = labels["node.kubernetes.io/instance-type"] ?? labels.provider ?? "";
if (nodeProviderLabel.includes("aws")) providers.add("EKS");
if (nodeProviderLabel.includes("azure")) providers.add("AKS");
if (nodeProviderLabel.includes("gce")) providers.add("GKE");
if (nodeProviderLabel.includes("k3s")) providers.add("k3s");
const nodeInfo = node.status?.nodeInfo;
if (nodeInfo) {
const osImage = nodeInfo.osImage.toLowerCase();
const kernelVersion = nodeInfo.kernelVersion.toLowerCase();
if (osImage.includes("talos") || kernelVersion.includes("talos")) {
providers.add("Talos");
}
}
});
return Array.from(providers).join(", ");

View File

@@ -35,11 +35,11 @@
"bcrypt": "^6.0.0",
"cookies": "^0.9.1",
"ldapts": "8.0.9",
"next": "15.5.0",
"next": "15.5.2",
"next-auth": "5.0.0-beta.29",
"react": "19.1.1",
"react-dom": "19.1.1",
"zod": "^4.0.17"
"zod": "^4.1.5"
},
"devDependencies": {
"@homarr/eslint-config": "workspace:^0.2.0",
@@ -47,7 +47,7 @@
"@homarr/tsconfig": "workspace:^0.1.0",
"@types/bcrypt": "6.0.0",
"@types/cookies": "0.9.1",
"eslint": "^9.33.0",
"eslint": "^9.34.0",
"prettier": "^3.6.2",
"typescript": "^5.9.2"
}

View File

@@ -32,7 +32,7 @@
"@homarr/eslint-config": "workspace:^0.2.0",
"@homarr/prettier-config": "workspace:^0.1.0",
"@homarr/tsconfig": "workspace:^0.1.0",
"eslint": "^9.33.0",
"eslint": "^9.34.0",
"typescript": "^5.9.2"
}
}

View File

@@ -24,13 +24,13 @@
"dependencies": {
"@homarr/common": "workspace:^0.1.0",
"@homarr/db": "workspace:^0.1.0",
"undici": "7.14.0"
"undici": "7.15.0"
},
"devDependencies": {
"@homarr/eslint-config": "workspace:^0.2.0",
"@homarr/prettier-config": "workspace:^0.1.0",
"@homarr/tsconfig": "workspace:^0.1.0",
"eslint": "^9.33.0",
"eslint": "^9.34.0",
"typescript": "^5.9.2"
}
}

View File

@@ -35,7 +35,7 @@
"@homarr/prettier-config": "workspace:^0.1.0",
"@homarr/tsconfig": "workspace:^0.1.0",
"esbuild": "^0.25.9",
"eslint": "^9.33.0",
"eslint": "^9.34.0",
"typescript": "^5.9.2"
}
}

View File

@@ -8,6 +8,7 @@
".": "./index.ts",
"./types": "./src/types.ts",
"./server": "./src/server.ts",
"./init-dns": "./src/dns.ts",
"./client": "./src/client.ts",
"./env": "./env.ts"
},
@@ -29,19 +30,20 @@
"@homarr/core": "workspace:^0.1.0",
"@homarr/log": "workspace:^0.1.0",
"@paralleldrive/cuid2": "^2.2.2",
"dayjs": "^1.11.13",
"next": "15.5.0",
"dayjs": "^1.11.18",
"dns-caching": "^0.2.5",
"next": "15.5.2",
"react": "19.1.1",
"react-dom": "19.1.1",
"undici": "7.14.0",
"zod": "^4.0.17",
"undici": "7.15.0",
"zod": "^4.1.5",
"zod-validation-error": "^4.0.1"
},
"devDependencies": {
"@homarr/eslint-config": "workspace:^0.2.0",
"@homarr/prettier-config": "workspace:^0.1.0",
"@homarr/tsconfig": "workspace:^0.1.0",
"eslint": "^9.33.0",
"eslint": "^9.34.0",
"typescript": "^5.9.2"
}
}

View File

@@ -0,0 +1,22 @@
import { DnsCacheManager } from "dns-caching";
import { logger } from "@homarr/log";
// Add global type augmentation for homarr
declare global {
var homarr: {
dnsCacheManager?: DnsCacheManager;
// add other properties if needed
};
}
// Initialize global.homarr if not present
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
global.homarr ??= {};
global.homarr.dnsCacheManager ??= new DnsCacheManager({
cacheMaxEntries: 1000,
forceMinTtl: 5 * 60 * 1000, // 5 minutes
logger,
});
global.homarr.dnsCacheManager.initialize();

View File

@@ -3,6 +3,9 @@ import { Agent } from "undici";
import { logger } from "@homarr/log";
// The below import statement initializes dns-caching
import "./dns";
export class LoggingAgent extends Agent {
constructor(...props: ConstructorParameters<typeof Agent>) {
super(...props);

View File

@@ -26,13 +26,13 @@
"dependencies": {
"@t3-oss/env-nextjs": "^0.13.8",
"ioredis": "5.7.0",
"zod": "^4.0.17"
"zod": "^4.1.5"
},
"devDependencies": {
"@homarr/eslint-config": "workspace:^0.2.0",
"@homarr/prettier-config": "workspace:^0.1.0",
"@homarr/tsconfig": "workspace:^0.1.0",
"eslint": "^9.33.0",
"eslint": "^9.34.0",
"typescript": "^5.9.2"
}
}

View File

@@ -29,21 +29,21 @@
"@homarr/core": "workspace:^0.1.0",
"@homarr/cron-jobs": "workspace:^0.1.0",
"@homarr/log": "workspace:^0.1.0",
"@tanstack/react-query": "^5.85.5",
"@trpc/client": "^11.4.4",
"@trpc/server": "^11.4.4",
"@trpc/tanstack-react-query": "^11.4.4",
"@tanstack/react-query": "^5.87.1",
"@trpc/client": "^11.5.0",
"@trpc/server": "^11.5.0",
"@trpc/tanstack-react-query": "^11.5.0",
"node-cron": "^4.2.1",
"react": "19.1.1",
"zod": "^4.0.17"
"zod": "^4.1.5"
},
"devDependencies": {
"@homarr/eslint-config": "workspace:^0.2.0",
"@homarr/prettier-config": "workspace:^0.1.0",
"@homarr/tsconfig": "workspace:^0.1.0",
"@types/node-cron": "^3.0.11",
"@types/react": "19.1.10",
"eslint": "^9.33.0",
"@types/react": "19.1.12",
"eslint": "^9.34.0",
"typescript": "^5.9.2"
}
}

View File

@@ -29,7 +29,7 @@
"@homarr/eslint-config": "workspace:^0.2.0",
"@homarr/prettier-config": "workspace:^0.1.0",
"@homarr/tsconfig": "workspace:^0.1.0",
"eslint": "^9.33.0",
"eslint": "^9.34.0",
"typescript": "^5.9.2"
}
}

View File

@@ -33,7 +33,7 @@
"@homarr/prettier-config": "workspace:^0.1.0",
"@homarr/tsconfig": "workspace:^0.1.0",
"@types/node-cron": "^3.0.11",
"eslint": "^9.33.0",
"eslint": "^9.34.0",
"typescript": "^5.9.2"
}
}

View File

@@ -44,7 +44,7 @@
"@homarr/eslint-config": "workspace:^0.2.0",
"@homarr/prettier-config": "workspace:^0.1.0",
"@homarr/tsconfig": "workspace:^0.1.0",
"eslint": "^9.33.0",
"eslint": "^9.34.0",
"typescript": "^5.9.2"
}
}

View File

@@ -49,14 +49,14 @@
"@homarr/definitions": "workspace:^0.1.0",
"@homarr/log": "workspace:^0.1.0",
"@homarr/server-settings": "workspace:^0.1.0",
"@mantine/core": "^8.2.5",
"@mantine/core": "^8.2.8",
"@paralleldrive/cuid2": "^2.2.2",
"@testcontainers/mysql": "^11.5.1",
"@testcontainers/postgresql": "^11.4.0",
"@testcontainers/postgresql": "^11.5.1",
"better-sqlite3": "^12.2.0",
"dotenv": "^17.2.1",
"drizzle-kit": "^0.31.4",
"drizzle-orm": "^0.44.4",
"drizzle-orm": "^0.44.5",
"drizzle-zod": "^0.8.3",
"mysql2": "3.14.3",
"pg": "^8.16.3",
@@ -67,10 +67,10 @@
"@homarr/prettier-config": "workspace:^0.1.0",
"@homarr/tsconfig": "workspace:^0.1.0",
"@types/better-sqlite3": "7.6.13",
"@types/pg": "^8.15.4",
"@types/pg": "^8.15.5",
"dotenv-cli": "^10.0.0",
"esbuild": "^0.25.9",
"eslint": "^9.33.0",
"eslint": "^9.34.0",
"prettier": "^3.6.2",
"tsx": "4.20.4",
"typescript": "^5.9.2"

View File

@@ -25,13 +25,13 @@
"dependencies": {
"@homarr/common": "workspace:^0.1.0",
"fast-xml-parser": "^5.2.5",
"zod": "^4.0.17"
"zod": "^4.1.5"
},
"devDependencies": {
"@homarr/eslint-config": "workspace:^0.2.0",
"@homarr/prettier-config": "workspace:^0.1.0",
"@homarr/tsconfig": "workspace:^0.1.0",
"eslint": "^9.33.0",
"eslint": "^9.34.0",
"tsx": "4.20.4",
"typescript": "^5.9.2"
}

View File

@@ -32,8 +32,8 @@
"@homarr/eslint-config": "workspace:^0.2.0",
"@homarr/prettier-config": "workspace:^0.1.0",
"@homarr/tsconfig": "workspace:^0.1.0",
"@types/dockerode": "^3.3.42",
"eslint": "^9.33.0",
"@types/dockerode": "^3.3.43",
"eslint": "^9.34.0",
"typescript": "^5.9.2"
}
}

View File

@@ -26,15 +26,15 @@
"@homarr/common": "workspace:^0.1.0",
"@homarr/translation": "workspace:^0.1.0",
"@homarr/validation": "workspace:^0.1.0",
"@mantine/form": "^8.2.5",
"@mantine/form": "^8.2.8",
"mantine-form-zod-resolver": "^1.3.0",
"zod": "^4.0.17"
"zod": "^4.1.5"
},
"devDependencies": {
"@homarr/eslint-config": "workspace:^0.2.0",
"@homarr/prettier-config": "workspace:^0.1.0",
"@homarr/tsconfig": "workspace:^0.1.0",
"eslint": "^9.33.0",
"eslint": "^9.34.0",
"typescript": "^5.9.2"
}
}

View File

@@ -29,15 +29,15 @@
"@homarr/notifications": "workspace:^0.1.0",
"@homarr/translation": "workspace:^0.1.0",
"@homarr/validation": "workspace:^0.1.0",
"@mantine/core": "^8.2.5",
"@mantine/core": "^8.2.8",
"react": "19.1.1",
"zod": "^4.0.17"
"zod": "^4.1.5"
},
"devDependencies": {
"@homarr/eslint-config": "workspace:^0.2.0",
"@homarr/prettier-config": "workspace:^0.1.0",
"@homarr/tsconfig": "workspace:^0.1.0",
"eslint": "^9.33.0",
"eslint": "^9.34.0",
"typescript": "^5.9.2"
}
}

View File

@@ -31,7 +31,7 @@
"@homarr/eslint-config": "workspace:^0.2.0",
"@homarr/prettier-config": "workspace:^0.1.0",
"@homarr/tsconfig": "workspace:^0.1.0",
"eslint": "^9.33.0",
"eslint": "^9.34.0",
"typescript": "^5.9.2"
}
}

View File

@@ -33,7 +33,7 @@
"@homarr/prettier-config": "workspace:^0.1.0",
"@homarr/tsconfig": "workspace:^0.1.0",
"@types/bcrypt": "6.0.0",
"eslint": "^9.33.0",
"eslint": "^9.34.0",
"typescript": "^5.9.2"
}
}

View File

@@ -45,9 +45,9 @@
"octokit": "^5.0.3",
"proxmox-api": "1.1.1",
"tsdav": "^2.1.5",
"undici": "7.14.0",
"undici": "7.15.0",
"xml2js": "^0.6.2",
"zod": "^4.0.17"
"zod": "^4.1.5"
},
"devDependencies": {
"@homarr/eslint-config": "workspace:^0.2.0",
@@ -55,7 +55,7 @@
"@homarr/tsconfig": "workspace:^0.1.0",
"@types/node-unifi": "^2.5.1",
"@types/xml2js": "^0.4.14",
"eslint": "^9.33.0",
"eslint": "^9.34.0",
"typescript": "^5.9.2"
}
}

View File

@@ -27,13 +27,13 @@
"@homarr/core": "workspace:^0.1.0",
"superjson": "2.2.2",
"winston": "3.17.0",
"zod": "^4.0.17"
"zod": "^4.1.5"
},
"devDependencies": {
"@homarr/eslint-config": "workspace:^0.2.0",
"@homarr/prettier-config": "workspace:^0.1.0",
"@homarr/tsconfig": "workspace:^0.1.0",
"eslint": "^9.33.0",
"eslint": "^9.34.0",
"typescript": "^5.9.2"
}
}

View File

@@ -33,19 +33,19 @@
"@homarr/translation": "workspace:^0.1.0",
"@homarr/ui": "workspace:^0.1.0",
"@homarr/validation": "workspace:^0.1.0",
"@mantine/core": "^8.2.5",
"@mantine/core": "^8.2.8",
"@tabler/icons-react": "^3.34.1",
"dayjs": "^1.11.13",
"next": "15.5.0",
"dayjs": "^1.11.18",
"next": "15.5.2",
"react": "19.1.1",
"react-dom": "19.1.1",
"zod": "^4.0.17"
"zod": "^4.1.5"
},
"devDependencies": {
"@homarr/eslint-config": "workspace:^0.2.0",
"@homarr/prettier-config": "workspace:^0.1.0",
"@homarr/tsconfig": "workspace:^0.1.0",
"eslint": "^9.33.0",
"eslint": "^9.34.0",
"typescript": "^5.9.2"
}
}

View File

@@ -24,15 +24,15 @@
"dependencies": {
"@homarr/translation": "workspace:^0.1.0",
"@homarr/ui": "workspace:^0.1.0",
"@mantine/core": "^8.2.5",
"@mantine/hooks": "^8.2.5",
"@mantine/core": "^8.2.8",
"@mantine/hooks": "^8.2.8",
"react": "19.1.1"
},
"devDependencies": {
"@homarr/eslint-config": "workspace:^0.2.0",
"@homarr/prettier-config": "workspace:^0.1.0",
"@homarr/tsconfig": "workspace:^0.1.0",
"eslint": "^9.33.0",
"eslint": "^9.34.0",
"typescript": "^5.9.2"
}
}

View File

@@ -24,14 +24,14 @@
"prettier": "@homarr/prettier-config",
"dependencies": {
"@homarr/ui": "workspace:^0.1.0",
"@mantine/notifications": "^8.2.5",
"@mantine/notifications": "^8.2.8",
"@tabler/icons-react": "^3.34.1"
},
"devDependencies": {
"@homarr/eslint-config": "workspace:^0.2.0",
"@homarr/prettier-config": "workspace:^0.1.0",
"@homarr/tsconfig": "workspace:^0.1.0",
"eslint": "^9.33.0",
"eslint": "^9.34.0",
"typescript": "^5.9.2"
}
}

View File

@@ -37,22 +37,22 @@
"@homarr/translation": "workspace:^0.1.0",
"@homarr/ui": "workspace:^0.1.0",
"@homarr/validation": "workspace:^0.1.0",
"@mantine/core": "^8.2.5",
"@mantine/hooks": "^8.2.5",
"@mantine/core": "^8.2.8",
"@mantine/hooks": "^8.2.8",
"adm-zip": "0.5.16",
"next": "15.5.0",
"next": "15.5.2",
"react": "19.1.1",
"react-dom": "19.1.1",
"superjson": "2.2.2",
"zod": "^4.0.17",
"zod-form-data": "^3.0.0"
"zod": "^4.1.5",
"zod-form-data": "^3.0.1"
},
"devDependencies": {
"@homarr/eslint-config": "workspace:^0.2.0",
"@homarr/prettier-config": "workspace:^0.1.0",
"@homarr/tsconfig": "workspace:^0.1.0",
"@types/adm-zip": "0.5.7",
"eslint": "^9.33.0",
"eslint": "^9.34.0",
"typescript": "^5.9.2"
}
}

View File

@@ -118,6 +118,7 @@ const optionMapping: OptionMapping = {
enableRtl: (oldOptions) => oldOptions.enableRtl,
maximumAmountPosts: (oldOptions) => oldOptions.maximumAmountOfPosts,
textLinesClamp: (oldOptions) => oldOptions.textLinesClamp,
hideDescription: () => undefined,
},
notebook: {
allowReadOnlyCheck: (oldOptions) => oldOptions.allowReadOnlyCheck,

View File

@@ -23,13 +23,13 @@
"prettier": "@homarr/prettier-config",
"dependencies": {
"@homarr/common": "workspace:^0.1.0",
"zod": "^4.0.17"
"zod": "^4.1.5"
},
"devDependencies": {
"@homarr/eslint-config": "workspace:^0.2.0",
"@homarr/prettier-config": "workspace:^0.1.0",
"@homarr/tsconfig": "workspace:^0.1.0",
"eslint": "^9.33.0",
"eslint": "^9.34.0",
"typescript": "^5.9.2"
}
}

View File

@@ -30,7 +30,7 @@
"@homarr/eslint-config": "workspace:^0.2.0",
"@homarr/prettier-config": "workspace:^0.1.0",
"@homarr/tsconfig": "workspace:^0.1.0",
"eslint": "^9.33.0",
"eslint": "^9.34.0",
"typescript": "^5.9.2"
}
}

View File

@@ -34,7 +34,7 @@
"@homarr/eslint-config": "workspace:^0.2.0",
"@homarr/prettier-config": "workspace:^0.1.0",
"@homarr/tsconfig": "workspace:^0.1.0",
"eslint": "^9.33.0",
"eslint": "^9.34.0",
"typescript": "^5.9.2"
}
}

View File

@@ -29,16 +29,16 @@
"@homarr/integrations": "workspace:^0.1.0",
"@homarr/log": "workspace:^0.1.0",
"@homarr/redis": "workspace:^0.1.0",
"dayjs": "^1.11.13",
"dayjs": "^1.11.18",
"octokit": "^5.0.3",
"superjson": "2.2.2",
"undici": "7.14.0"
"undici": "7.15.0"
},
"devDependencies": {
"@homarr/eslint-config": "workspace:^0.2.0",
"@homarr/prettier-config": "workspace:^0.1.0",
"@homarr/tsconfig": "workspace:^0.1.0",
"eslint": "^9.33.0",
"eslint": "^9.34.0",
"typescript": "^5.9.2"
}
}

View File

@@ -29,7 +29,7 @@
"@homarr/eslint-config": "workspace:^0.2.0",
"@homarr/prettier-config": "workspace:^0.1.0",
"@homarr/tsconfig": "workspace:^0.1.0",
"eslint": "^9.33.0",
"eslint": "^9.34.0",
"typescript": "^5.9.2"
}
}

View File

@@ -26,8 +26,8 @@
"@homarr/api": "workspace:^0.1.0",
"@homarr/db": "workspace:^0.1.0",
"@homarr/server-settings": "workspace:^0.1.0",
"@mantine/dates": "^8.2.5",
"next": "15.5.0",
"@mantine/dates": "^8.2.8",
"next": "15.5.2",
"react": "19.1.1",
"react-dom": "19.1.1"
},
@@ -35,7 +35,7 @@
"@homarr/eslint-config": "workspace:^0.2.0",
"@homarr/prettier-config": "workspace:^0.1.0",
"@homarr/tsconfig": "workspace:^0.1.0",
"eslint": "^9.33.0",
"eslint": "^9.34.0",
"typescript": "^5.9.2"
}
}

View File

@@ -33,12 +33,12 @@
"@homarr/settings": "workspace:^0.1.0",
"@homarr/translation": "workspace:^0.1.0",
"@homarr/ui": "workspace:^0.1.0",
"@mantine/core": "^8.2.5",
"@mantine/hooks": "^8.2.5",
"@mantine/spotlight": "^8.2.5",
"@mantine/core": "^8.2.8",
"@mantine/hooks": "^8.2.8",
"@mantine/spotlight": "^8.2.8",
"@tabler/icons-react": "^3.34.1",
"jotai": "^2.13.1",
"next": "15.5.0",
"next": "15.5.2",
"react": "19.1.1",
"react-dom": "19.1.1",
"use-deep-compare-effect": "^1.8.1"
@@ -47,7 +47,7 @@
"@homarr/eslint-config": "workspace:^0.2.0",
"@homarr/prettier-config": "workspace:^0.1.0",
"@homarr/tsconfig": "workspace:^0.1.0",
"eslint": "^9.33.0",
"eslint": "^9.34.0",
"typescript": "^5.9.2"
}
}

View File

@@ -29,11 +29,11 @@
"dependencies": {
"@homarr/common": "workspace:^0.1.0",
"@homarr/definitions": "workspace:^0.1.0",
"dayjs": "^1.11.13",
"dayjs": "^1.11.18",
"deepmerge": "4.3.1",
"mantine-react-table": "2.0.0-beta.9",
"next": "15.5.0",
"next-intl": "4.3.4",
"next": "15.5.2",
"next-intl": "4.3.5",
"react": "19.1.1",
"react-dom": "19.1.1"
},
@@ -41,7 +41,7 @@
"@homarr/eslint-config": "workspace:^0.2.0",
"@homarr/prettier-config": "workspace:^0.1.0",
"@homarr/tsconfig": "workspace:^0.1.0",
"eslint": "^9.33.0",
"eslint": "^9.34.0",
"typescript": "^5.9.2"
}
}

View File

@@ -1266,9 +1266,6 @@
"showTitle": {
"label": ""
},
"showDescriptionTooltip": {
"label": ""
},
"pingEnabled": {
"label": ""
},
@@ -1280,6 +1277,15 @@
"column": "",
"column-reverse": ""
}
},
"descriptionDisplayMode": {
"label": "",
"description": "",
"option": {
"normal": "",
"tooltip": "",
"hidden": ""
}
}
},
"error": {
@@ -2253,6 +2259,9 @@
},
"maximumAmountPosts": {
"label": ""
},
"hideDescription": {
"label": ""
}
}
},

View File

@@ -1266,9 +1266,6 @@
"showTitle": {
"label": "显示应用名称"
},
"showDescriptionTooltip": {
"label": "显示描述提示"
},
"pingEnabled": {
"label": "启用状态检查"
},
@@ -1280,6 +1277,15 @@
"column": "",
"column-reverse": ""
}
},
"descriptionDisplayMode": {
"label": "",
"description": "",
"option": {
"normal": "",
"tooltip": "",
"hidden": ""
}
}
},
"error": {
@@ -2253,6 +2259,9 @@
},
"maximumAmountPosts": {
"label": "帖子数量限制"
},
"hideDescription": {
"label": ""
}
}
},
@@ -2471,7 +2480,7 @@
"description": "",
"option": {},
"card": {
"cpu": "",
"cpu": "CPU",
"memory": "",
"network": "",
"up": "",
@@ -3843,7 +3852,7 @@
"tools": {
"label": "工具",
"tasks": {
"label": ""
"label": "任务"
},
"docker": {
"label": "Docker"

View File

@@ -1266,9 +1266,6 @@
"showTitle": {
"label": ""
},
"showDescriptionTooltip": {
"label": ""
},
"pingEnabled": {
"label": ""
},
@@ -1280,6 +1277,15 @@
"column": "",
"column-reverse": ""
}
},
"descriptionDisplayMode": {
"label": "",
"description": "",
"option": {
"normal": "",
"tooltip": "",
"hidden": ""
}
}
},
"error": {
@@ -2253,6 +2259,9 @@
},
"maximumAmountPosts": {
"label": ""
},
"hideDescription": {
"label": ""
}
}
},

View File

@@ -1003,7 +1003,7 @@
}
},
"common": {
"success": "",
"success": "Lykkedes",
"beta": "Beta",
"error": "Fejl",
"action": {
@@ -1266,19 +1266,25 @@
"showTitle": {
"label": "Vis app-navn"
},
"showDescriptionTooltip": {
"label": "Vis beskrivelsesværktøjstip"
},
"pingEnabled": {
"label": "Aktiver statustjek"
},
"layout": {
"label": "",
"label": "Layout",
"option": {
"row": "",
"row-reverse": "",
"column": "",
"column-reverse": ""
"row": "Horisontal",
"row-reverse": "Horisontal (omvendt)",
"column": "Vertikal",
"column-reverse": "Vertikal (omvendt)"
}
},
"descriptionDisplayMode": {
"label": "Visningstilstand for beskrivelse",
"description": "Vælg hvordan beskrivelsen af app skal vises",
"option": {
"normal": "Indenfor widget",
"tooltip": "Som værktøjstip",
"hidden": "Skjult"
}
}
},
@@ -2253,6 +2259,9 @@
},
"maximumAmountPosts": {
"label": "Grænse for antal indlæg"
},
"hideDescription": {
"label": ""
}
}
},
@@ -3273,10 +3282,10 @@
"weeklyMonday": "Hver uge om mandagen",
"update": {
"success": {
"message": ""
"message": "Intervallet blev opdateret"
},
"error": {
"message": ""
"message": "Opdateringsinterval mislykkedes"
}
}
},
@@ -3285,55 +3294,55 @@
},
"field": {
"name": {
"label": ""
"label": "Navn"
},
"interval": {
"label": "Planlæg interval"
},
"lastExecution": {
"label": ""
"label": "Sidste kørsel"
},
"actions": {
"label": ""
"label": "Handlinger"
}
},
"table": {
"search": ""
"search": "Søg efter {count} opgaver..."
},
"action": {
"refresh": {
"label": ""
"label": "Opdater"
}
},
"refresh": {
"success": {
"message": ""
"message": "Opgaver opdateret"
},
"error": {
"message": ""
"message": "Kunne ikke genopfriske opgaver"
}
},
"trigger": {
"success": {
"message": ""
"message": "Opgave udløst med succes"
},
"error": {
"message": ""
"message": "Mislykkedes at udløse opgave"
}
},
"enable": {
"success": {
"message": ""
"message": "Opgave aktiveret"
}
},
"disable": {
"success": {
"message": ""
"message": "Opgave deaktiveret"
}
},
"toggle": {
"error": {
"message": ""
"message": "Kunne ikke skifte opgavestatus"
}
}
},
@@ -3843,7 +3852,7 @@
"tools": {
"label": "Værktøjer",
"tasks": {
"label": ""
"label": "Opgaver"
},
"docker": {
"label": "Docker"

View File

@@ -1266,9 +1266,6 @@
"showTitle": {
"label": "App Namen anzeigen"
},
"showDescriptionTooltip": {
"label": "Beschreibungs des Tooltips anzeigen"
},
"pingEnabled": {
"label": "Statusüberprüfung aktivieren"
},
@@ -1280,6 +1277,15 @@
"column": "",
"column-reverse": ""
}
},
"descriptionDisplayMode": {
"label": "",
"description": "",
"option": {
"normal": "",
"tooltip": "",
"hidden": ""
}
}
},
"error": {
@@ -2253,6 +2259,9 @@
},
"maximumAmountPosts": {
"label": "Limit für Beiträge"
},
"hideDescription": {
"label": ""
}
}
},

View File

@@ -1266,9 +1266,6 @@
"showTitle": {
"label": "App Namen anzeigen"
},
"showDescriptionTooltip": {
"label": "Beschreibungs des Tooltips anzeigen"
},
"pingEnabled": {
"label": "Statusüberprüfung aktivieren"
},
@@ -1280,6 +1277,15 @@
"column": "",
"column-reverse": ""
}
},
"descriptionDisplayMode": {
"label": "",
"description": "",
"option": {
"normal": "",
"tooltip": "",
"hidden": ""
}
}
},
"error": {
@@ -2253,6 +2259,9 @@
},
"maximumAmountPosts": {
"label": "Limit für Beiträge"
},
"hideDescription": {
"label": ""
}
}
},

View File

@@ -1266,9 +1266,6 @@
"showTitle": {
"label": ""
},
"showDescriptionTooltip": {
"label": ""
},
"pingEnabled": {
"label": ""
},
@@ -1280,6 +1277,15 @@
"column": "",
"column-reverse": ""
}
},
"descriptionDisplayMode": {
"label": "",
"description": "",
"option": {
"normal": "",
"tooltip": "",
"hidden": ""
}
}
},
"error": {
@@ -2253,6 +2259,9 @@
},
"maximumAmountPosts": {
"label": ""
},
"hideDescription": {
"label": ""
}
}
},

View File

@@ -12,7 +12,7 @@
},
"import": {
"title": "Import data",
"subtitle": "You can import your data from an existing Homarr instance.",
"subtitle": "You can import data from an existing Homarr instance.",
"dropzone": {
"title": "Drag your ZIP file here or click to browse your files",
"description": "The ZIP file you uploaded will be processed and you will be able to select what you would like to import"
@@ -65,7 +65,7 @@
},
"user": {
"title": "Administrative user",
"subtitle": "Please specify the credentials for your user.",
"subtitle": "Please specify the credentials for your administrator user.",
"notification": {
"success": {
"title": "User created",
@@ -186,7 +186,7 @@
"notification": {
"success": {
"title": "Account has been created",
"message": "Please log-in to continue"
"message": "Please log in to continue"
},
"error": {
"title": "Account creation has failed",
@@ -337,7 +337,7 @@
"description": "Allow members to add any applications to their boards"
},
"modify-all": {
"label": "Modify all applciations",
"label": "Modify all applications",
"description": "Allow members to modify applications"
},
"full-all": {
@@ -368,7 +368,7 @@
}
},
"integration": {
"title": "Integratioons",
"title": "Integrations",
"item": {
"create": {
"label": "Create integrations",
@@ -457,7 +457,7 @@
"confirm": "Are you want to transfer the ownership of the group, {name} to {username}",
"notification": {
"success": {
"message": "Successfully transfered group, {group} to {user}"
"message": "Successfully transferred group {group} to {user}"
},
"error": {
"message": "Unable to transfer the group's ownership"
@@ -1147,7 +1147,7 @@
},
"remove": {
"title": "Remove dynamic section",
"message": "Are you certain that you want to remove this dynamic section? All items inside will be moved to the same location inside of the parent section."
"message": "Are you certain that you want to remove this dynamic section? All items inside will be moved to the same location within the parent section."
}
},
"category": {
@@ -1266,9 +1266,6 @@
"showTitle": {
"label": ""
},
"showDescriptionTooltip": {
"label": ""
},
"pingEnabled": {
"label": ""
},
@@ -1280,6 +1277,15 @@
"column": "",
"column-reverse": ""
}
},
"descriptionDisplayMode": {
"label": "",
"description": "",
"option": {
"normal": "",
"tooltip": "",
"hidden": ""
}
}
},
"error": {
@@ -2253,6 +2259,9 @@
},
"maximumAmountPosts": {
"label": ""
},
"hideDescription": {
"label": ""
}
}
},

View File

@@ -2259,6 +2259,9 @@
},
"maximumAmountPosts": {
"label": "Amount posts limit"
},
"hideDescription": {
"label": "Hide description"
}
}
},

File diff suppressed because it is too large Load Diff

View File

@@ -1266,9 +1266,6 @@
"showTitle": {
"label": ""
},
"showDescriptionTooltip": {
"label": ""
},
"pingEnabled": {
"label": ""
},
@@ -1280,6 +1277,15 @@
"column": "",
"column-reverse": ""
}
},
"descriptionDisplayMode": {
"label": "",
"description": "",
"option": {
"normal": "",
"tooltip": "",
"hidden": ""
}
}
},
"error": {
@@ -2253,6 +2259,9 @@
},
"maximumAmountPosts": {
"label": ""
},
"hideDescription": {
"label": ""
}
}
},

View File

@@ -1266,9 +1266,6 @@
"showTitle": {
"label": "Afficher le nom de l'application"
},
"showDescriptionTooltip": {
"label": "Afficher l'info-bulle de description"
},
"pingEnabled": {
"label": "Activer la vérification du statut"
},
@@ -1280,6 +1277,15 @@
"column": "",
"column-reverse": ""
}
},
"descriptionDisplayMode": {
"label": "",
"description": "",
"option": {
"normal": "",
"tooltip": "",
"hidden": ""
}
}
},
"error": {
@@ -2253,6 +2259,9 @@
},
"maximumAmountPosts": {
"label": "Nombre maximum de publications"
},
"hideDescription": {
"label": ""
}
}
},

View File

@@ -1266,9 +1266,6 @@
"showTitle": {
"label": "הצג את שם האפליקציה"
},
"showDescriptionTooltip": {
"label": "הצג תיאור"
},
"pingEnabled": {
"label": "אפשר בדיקת מצב"
},
@@ -1280,6 +1277,15 @@
"column": "",
"column-reverse": ""
}
},
"descriptionDisplayMode": {
"label": "",
"description": "",
"option": {
"normal": "",
"tooltip": "",
"hidden": ""
}
}
},
"error": {
@@ -2253,6 +2259,9 @@
},
"maximumAmountPosts": {
"label": "הגבלת כמות הודעות"
},
"hideDescription": {
"label": ""
}
}
},

View File

@@ -1266,9 +1266,6 @@
"showTitle": {
"label": ""
},
"showDescriptionTooltip": {
"label": ""
},
"pingEnabled": {
"label": ""
},
@@ -1280,6 +1277,15 @@
"column": "",
"column-reverse": ""
}
},
"descriptionDisplayMode": {
"label": "",
"description": "",
"option": {
"normal": "",
"tooltip": "",
"hidden": ""
}
}
},
"error": {
@@ -2253,6 +2259,9 @@
},
"maximumAmountPosts": {
"label": ""
},
"hideDescription": {
"label": ""
}
}
},

View File

@@ -1266,9 +1266,6 @@
"showTitle": {
"label": "Alkalmazás nevének megjelenítése"
},
"showDescriptionTooltip": {
"label": "Leírás elemleírás megjelenítése"
},
"pingEnabled": {
"label": "Egyszerű ping engedélyezése"
},
@@ -1280,6 +1277,15 @@
"column": "",
"column-reverse": ""
}
},
"descriptionDisplayMode": {
"label": "",
"description": "",
"option": {
"normal": "",
"tooltip": "",
"hidden": ""
}
}
},
"error": {
@@ -2253,6 +2259,9 @@
},
"maximumAmountPosts": {
"label": ""
},
"hideDescription": {
"label": ""
}
}
},

View File

@@ -1266,9 +1266,6 @@
"showTitle": {
"label": ""
},
"showDescriptionTooltip": {
"label": ""
},
"pingEnabled": {
"label": ""
},
@@ -1280,6 +1277,15 @@
"column": "",
"column-reverse": ""
}
},
"descriptionDisplayMode": {
"label": "",
"description": "",
"option": {
"normal": "",
"tooltip": "",
"hidden": ""
}
}
},
"error": {
@@ -2253,6 +2259,9 @@
},
"maximumAmountPosts": {
"label": ""
},
"hideDescription": {
"label": ""
}
}
},

View File

@@ -1266,9 +1266,6 @@
"showTitle": {
"label": "アプリ名を表示"
},
"showDescriptionTooltip": {
"label": "説明ツールチップを表示"
},
"pingEnabled": {
"label": "ステータスチェックを有効にする"
},
@@ -1280,6 +1277,15 @@
"column": "垂直方向",
"column-reverse": "垂直方向(反転)"
}
},
"descriptionDisplayMode": {
"label": "説明の表示モード",
"description": "アプリの説明を表示する方法を選択します",
"option": {
"normal": "ウィジェット内",
"tooltip": "ツールチップ",
"hidden": "非表示"
}
}
},
"error": {
@@ -2253,6 +2259,9 @@
},
"maximumAmountPosts": {
"label": "投稿数の上限"
},
"hideDescription": {
"label": ""
}
}
},

View File

@@ -1266,9 +1266,6 @@
"showTitle": {
"label": ""
},
"showDescriptionTooltip": {
"label": ""
},
"pingEnabled": {
"label": ""
},
@@ -1280,6 +1277,15 @@
"column": "",
"column-reverse": ""
}
},
"descriptionDisplayMode": {
"label": "",
"description": "",
"option": {
"normal": "",
"tooltip": "",
"hidden": ""
}
}
},
"error": {
@@ -2253,6 +2259,9 @@
},
"maximumAmountPosts": {
"label": ""
},
"hideDescription": {
"label": ""
}
}
},

View File

@@ -1266,9 +1266,6 @@
"showTitle": {
"label": ""
},
"showDescriptionTooltip": {
"label": ""
},
"pingEnabled": {
"label": ""
},
@@ -1280,6 +1277,15 @@
"column": "",
"column-reverse": ""
}
},
"descriptionDisplayMode": {
"label": "",
"description": "",
"option": {
"normal": "",
"tooltip": "",
"hidden": ""
}
}
},
"error": {
@@ -2253,6 +2259,9 @@
},
"maximumAmountPosts": {
"label": ""
},
"hideDescription": {
"label": ""
}
}
},

View File

@@ -1266,9 +1266,6 @@
"showTitle": {
"label": ""
},
"showDescriptionTooltip": {
"label": ""
},
"pingEnabled": {
"label": ""
},
@@ -1280,6 +1277,15 @@
"column": "",
"column-reverse": ""
}
},
"descriptionDisplayMode": {
"label": "",
"description": "",
"option": {
"normal": "",
"tooltip": "",
"hidden": ""
}
}
},
"error": {
@@ -2253,6 +2259,9 @@
},
"maximumAmountPosts": {
"label": ""
},
"hideDescription": {
"label": ""
}
}
},

View File

@@ -1266,9 +1266,6 @@
"showTitle": {
"label": "App naam weergeven"
},
"showDescriptionTooltip": {
"label": "Beschrijving tooltip weergeven"
},
"pingEnabled": {
"label": "Statuscontrole inschakelen"
},
@@ -1280,6 +1277,15 @@
"column": "",
"column-reverse": ""
}
},
"descriptionDisplayMode": {
"label": "",
"description": "",
"option": {
"normal": "",
"tooltip": "",
"hidden": ""
}
}
},
"error": {
@@ -2253,6 +2259,9 @@
},
"maximumAmountPosts": {
"label": "Aantal berichtenlimiet"
},
"hideDescription": {
"label": ""
}
}
},

View File

@@ -1266,9 +1266,6 @@
"showTitle": {
"label": "Vis app navn"
},
"showDescriptionTooltip": {
"label": "Vis beskrivelse verktøytips"
},
"pingEnabled": {
"label": "Aktiver enkel ping"
},
@@ -1280,6 +1277,15 @@
"column": "",
"column-reverse": ""
}
},
"descriptionDisplayMode": {
"label": "",
"description": "",
"option": {
"normal": "",
"tooltip": "",
"hidden": ""
}
}
},
"error": {
@@ -2253,6 +2259,9 @@
},
"maximumAmountPosts": {
"label": "Antall poster grense"
},
"hideDescription": {
"label": ""
}
}
},

File diff suppressed because it is too large Load Diff

View File

@@ -1266,9 +1266,6 @@
"showTitle": {
"label": ""
},
"showDescriptionTooltip": {
"label": ""
},
"pingEnabled": {
"label": ""
},
@@ -1280,6 +1277,15 @@
"column": "",
"column-reverse": ""
}
},
"descriptionDisplayMode": {
"label": "",
"description": "",
"option": {
"normal": "",
"tooltip": "",
"hidden": ""
}
}
},
"error": {
@@ -2253,6 +2259,9 @@
},
"maximumAmountPosts": {
"label": ""
},
"hideDescription": {
"label": ""
}
}
},

View File

@@ -1266,9 +1266,6 @@
"showTitle": {
"label": ""
},
"showDescriptionTooltip": {
"label": ""
},
"pingEnabled": {
"label": ""
},
@@ -1280,6 +1277,15 @@
"column": "",
"column-reverse": ""
}
},
"descriptionDisplayMode": {
"label": "",
"description": "",
"option": {
"normal": "",
"tooltip": "",
"hidden": ""
}
}
},
"error": {
@@ -2253,6 +2259,9 @@
},
"maximumAmountPosts": {
"label": ""
},
"hideDescription": {
"label": ""
}
}
},

View File

@@ -1266,9 +1266,6 @@
"showTitle": {
"label": "Показывать название приложения"
},
"showDescriptionTooltip": {
"label": "Показывать всплывающую подсказку с описанием"
},
"pingEnabled": {
"label": "Включить простую проверку доступности"
},
@@ -1280,6 +1277,15 @@
"column": "",
"column-reverse": ""
}
},
"descriptionDisplayMode": {
"label": "",
"description": "",
"option": {
"normal": "",
"tooltip": "",
"hidden": ""
}
}
},
"error": {
@@ -2253,6 +2259,9 @@
},
"maximumAmountPosts": {
"label": "Максимальное количество записей"
},
"hideDescription": {
"label": ""
}
}
},

View File

@@ -1266,9 +1266,6 @@
"showTitle": {
"label": "Zobraziť názov aplikácie"
},
"showDescriptionTooltip": {
"label": "Zobrazenie nápovedy k popisu"
},
"pingEnabled": {
"label": "Povoliť jednoduchý ping"
},
@@ -1280,6 +1277,15 @@
"column": "",
"column-reverse": ""
}
},
"descriptionDisplayMode": {
"label": "",
"description": "",
"option": {
"normal": "",
"tooltip": "",
"hidden": ""
}
}
},
"error": {
@@ -2253,6 +2259,9 @@
},
"maximumAmountPosts": {
"label": "Limit počtu príspevkov"
},
"hideDescription": {
"label": ""
}
}
},

View File

@@ -1266,9 +1266,6 @@
"showTitle": {
"label": ""
},
"showDescriptionTooltip": {
"label": ""
},
"pingEnabled": {
"label": ""
},
@@ -1280,6 +1277,15 @@
"column": "",
"column-reverse": ""
}
},
"descriptionDisplayMode": {
"label": "",
"description": "",
"option": {
"normal": "",
"tooltip": "",
"hidden": ""
}
}
},
"error": {
@@ -2253,6 +2259,9 @@
},
"maximumAmountPosts": {
"label": ""
},
"hideDescription": {
"label": ""
}
}
},

View File

@@ -1266,9 +1266,6 @@
"showTitle": {
"label": ""
},
"showDescriptionTooltip": {
"label": ""
},
"pingEnabled": {
"label": ""
},
@@ -1280,6 +1277,15 @@
"column": "",
"column-reverse": ""
}
},
"descriptionDisplayMode": {
"label": "",
"description": "",
"option": {
"normal": "",
"tooltip": "",
"hidden": ""
}
}
},
"error": {
@@ -2253,6 +2259,9 @@
},
"maximumAmountPosts": {
"label": ""
},
"hideDescription": {
"label": ""
}
}
},

View File

@@ -1266,9 +1266,6 @@
"showTitle": {
"label": "Uygulama adını göster"
},
"showDescriptionTooltip": {
"label": "Açıklama ipucunu göster"
},
"pingEnabled": {
"label": "Durum denetimini etkinleştir"
},
@@ -1280,6 +1277,15 @@
"column": "Dikey",
"column-reverse": "Dikey (ters)"
}
},
"descriptionDisplayMode": {
"label": "Açıklama görüntüleme modu",
"description": "Uygulama açıklamasının nasıl görüntüleneceğini seçin",
"option": {
"normal": "Widget içinde",
"tooltip": "Araç ipucu olarak",
"hidden": "Gizli"
}
}
},
"error": {
@@ -2253,6 +2259,9 @@
},
"maximumAmountPosts": {
"label": "Gönderi sayısı sınırı"
},
"hideDescription": {
"label": ""
}
}
},

View File

@@ -1266,9 +1266,6 @@
"showTitle": {
"label": "Показувати назву додатка"
},
"showDescriptionTooltip": {
"label": ""
},
"pingEnabled": {
"label": ""
},
@@ -1280,6 +1277,15 @@
"column": "",
"column-reverse": ""
}
},
"descriptionDisplayMode": {
"label": "",
"description": "",
"option": {
"normal": "",
"tooltip": "",
"hidden": ""
}
}
},
"error": {
@@ -2253,6 +2259,9 @@
},
"maximumAmountPosts": {
"label": ""
},
"hideDescription": {
"label": ""
}
}
},

View File

@@ -1266,9 +1266,6 @@
"showTitle": {
"label": ""
},
"showDescriptionTooltip": {
"label": ""
},
"pingEnabled": {
"label": ""
},
@@ -1280,6 +1277,15 @@
"column": "",
"column-reverse": ""
}
},
"descriptionDisplayMode": {
"label": "",
"description": "",
"option": {
"normal": "",
"tooltip": "",
"hidden": ""
}
}
},
"error": {
@@ -2253,6 +2259,9 @@
},
"maximumAmountPosts": {
"label": ""
},
"hideDescription": {
"label": ""
}
}
},

View File

@@ -1266,9 +1266,6 @@
"showTitle": {
"label": "顯示應用程式名稱"
},
"showDescriptionTooltip": {
"label": "顯示描述提示"
},
"pingEnabled": {
"label": "啟用簡單的 Ping"
},
@@ -1280,6 +1277,15 @@
"column": "",
"column-reverse": ""
}
},
"descriptionDisplayMode": {
"label": "",
"description": "",
"option": {
"normal": "",
"tooltip": "",
"hidden": ""
}
}
},
"error": {
@@ -2253,6 +2259,9 @@
},
"maximumAmountPosts": {
"label": "帖子數量限制"
},
"hideDescription": {
"label": ""
}
}
},

View File

@@ -30,12 +30,12 @@
"@homarr/log": "workspace:^0.1.0",
"@homarr/translation": "workspace:^0.1.0",
"@homarr/validation": "workspace:^0.1.0",
"@mantine/core": "^8.2.5",
"@mantine/dates": "^8.2.5",
"@mantine/hooks": "^8.2.5",
"@mantine/core": "^8.2.8",
"@mantine/dates": "^8.2.8",
"@mantine/hooks": "^8.2.8",
"@tabler/icons-react": "^3.34.1",
"mantine-react-table": "2.0.0-beta.9",
"next": "15.5.0",
"next": "15.5.2",
"react": "19.1.1",
"react-dom": "19.1.1",
"svgson": "^5.3.1"
@@ -45,7 +45,7 @@
"@homarr/prettier-config": "workspace:^0.1.0",
"@homarr/tsconfig": "workspace:^0.1.0",
"@types/css-modules": "^1.0.5",
"eslint": "^9.33.0",
"eslint": "^9.34.0",
"typescript": "^5.9.2"
}
}

View File

@@ -24,14 +24,14 @@
"dependencies": {
"@homarr/definitions": "workspace:^0.1.0",
"@homarr/translation": "workspace:^0.1.0",
"zod": "^4.0.17",
"zod-form-data": "^3.0.0"
"zod": "^4.1.5",
"zod-form-data": "^3.0.1"
},
"devDependencies": {
"@homarr/eslint-config": "workspace:^0.2.0",
"@homarr/prettier-config": "workspace:^0.1.0",
"@homarr/tsconfig": "workspace:^0.1.0",
"eslint": "^9.33.0",
"eslint": "^9.34.0",
"typescript": "^5.9.2"
}
}

View File

@@ -48,9 +48,9 @@
"@homarr/translation": "workspace:^0.1.0",
"@homarr/ui": "workspace:^0.1.0",
"@homarr/validation": "workspace:^0.1.0",
"@mantine/charts": "^8.2.5",
"@mantine/core": "^8.2.5",
"@mantine/hooks": "^8.2.5",
"@mantine/charts": "^8.2.8",
"@mantine/core": "^8.2.8",
"@mantine/hooks": "^8.2.8",
"@tabler/icons-react": "^3.34.1",
"@tiptap/extension-color": "2.26.1",
"@tiptap/extension-highlight": "2.26.1",
@@ -69,23 +69,23 @@
"@tiptap/react": "^2.26.1",
"@tiptap/starter-kit": "^2.26.1",
"clsx": "^2.1.1",
"dayjs": "^1.11.13",
"dayjs": "^1.11.18",
"mantine-form-zod-resolver": "^1.3.0",
"mantine-react-table": "2.0.0-beta.9",
"next": "15.5.0",
"next": "15.5.2",
"react": "19.1.1",
"react-dom": "19.1.1",
"react-markdown": "^10.1.0",
"recharts": "^2.15.4",
"video.js": "^8.23.4",
"zod": "^4.0.17"
"zod": "^4.1.5"
},
"devDependencies": {
"@homarr/eslint-config": "workspace:^0.2.0",
"@homarr/prettier-config": "workspace:^0.1.0",
"@homarr/tsconfig": "workspace:^0.1.0",
"@types/video.js": "^7.3.58",
"eslint": "^9.33.0",
"eslint": "^9.34.0",
"typescript": "^5.9.2"
}
}

View File

@@ -49,7 +49,7 @@ export default function RssFeed({ options }: WidgetComponentProps<"rssFeed">) {
<Text dir={languageDir} fz="sm" lh="sm" lineClamp={2}>
{feedEntry.title}
</Text>
{feedEntry.description && (
{!options.hideDescription && feedEntry.description && (
<Text
className={feedEntry.description}
dir={languageDir}

View File

@@ -29,6 +29,9 @@ export const { definition, componentLoader } = createWidgetDefinition("rssFeed",
defaultValue: 100,
validate: z.number().min(1).max(9999),
}),
hideDescription: factory.switch({
defaultValue: false,
}),
}));
},
}).withDynamicImport(() => import("./component"));

View File

@@ -100,7 +100,7 @@ export const WidgetIntegrationSelect = ({
});
return (
<Combobox store={combobox} onOptionSubmit={handleValueSelect} withinPortal={false}>
<Combobox store={combobox} onOptionSubmit={handleValueSelect}>
<Combobox.DropdownTarget>
<PillsInput
inputWrapperOrder={["label", "input", "description", "error"]}

1800
pnpm-lock.yaml generated

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -17,19 +17,19 @@
},
"prettier": "@homarr/prettier-config",
"dependencies": {
"@next/eslint-plugin-next": "15.5.0",
"@next/eslint-plugin-next": "15.5.2",
"eslint-config-prettier": "^10.1.8",
"eslint-config-turbo": "^2.5.6",
"eslint-plugin-import": "^2.32.0",
"eslint-plugin-jsx-a11y": "^6.10.2",
"eslint-plugin-react": "^7.37.5",
"eslint-plugin-react-hooks": "^5.2.0",
"typescript-eslint": "^8.40.0"
"typescript-eslint": "^8.41.0"
},
"devDependencies": {
"@homarr/prettier-config": "workspace:^0.1.0",
"@homarr/tsconfig": "workspace:^0.1.0",
"eslint": "^9.33.0",
"eslint": "^9.34.0",
"typescript": "^5.9.2"
}
}

View File

@@ -7,7 +7,7 @@ runs:
- uses: pnpm/action-setup@v4
- uses: actions/setup-node@v4
with:
node-version: 22.18.0
node-version: 22.19.0
cache: "pnpm"
- shell: bash

View File

@@ -10,7 +10,7 @@
},
"prettier": "@homarr/prettier-config",
"dependencies": {
"@ianvs/prettier-plugin-sort-imports": "^4.6.2",
"@ianvs/prettier-plugin-sort-imports": "^4.7.0",
"prettier": "^3.6.2"
},
"devDependencies": {