diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml
index 67b81ccac..fb53bd257 100644
--- a/.github/ISSUE_TEMPLATE/bug_report.yml
+++ b/.github/ISSUE_TEMPLATE/bug_report.yml
@@ -33,6 +33,7 @@ body:
options:
# The below comment is used to insert a new version with on-release.yml
#NEXT_VERSION#
+ - 1.37.0
- 1.36.1
- 1.36.0
- 1.35.1
diff --git a/.github/workflows/automatic-approval.yml b/.github/workflows/automatic-approval.yml
index 72e6aaea2..7a38b6e02 100644
--- a/.github/workflows/automatic-approval.yml
+++ b/.github/workflows/automatic-approval.yml
@@ -3,6 +3,8 @@ on:
pull_request:
types: [opened, synchronize]
+permissions: {}
+
jobs:
approve-automatic-prs:
runs-on: ubuntu-latest
@@ -12,10 +14,12 @@ jobs:
uses: actions/checkout@v5
- name: Obtain token
id: obtainToken
- uses: tibdex/github-app-token@v2
+ uses: actions/create-github-app-token@v2
with:
- private_key: ${{ secrets.RENOVATE_APPROVE_PRIVATE_KEY }}
- app_id: ${{ secrets.RENOVATE_APPROVE_APP_ID }}
+ private-key: ${{ secrets.RENOVATE_APPROVE_PRIVATE_KEY }}
+ app-id: ${{ secrets.RENOVATE_APPROVE_APP_ID }}
+ permission-pull-requests: write # required to approve pull request
+
- name: Install GitHub CLI
run: sudo apt-get install -y gh
- name: Approve automatic PRs
diff --git a/.github/workflows/crowdin-schedule-download.yml b/.github/workflows/crowdin-schedule-download.yml
index f5814f120..c2f12042a 100644
--- a/.github/workflows/crowdin-schedule-download.yml
+++ b/.github/workflows/crowdin-schedule-download.yml
@@ -5,6 +5,9 @@ on:
schedule:
- cron: "0 0 * * *" # every day at midnight
+permissions:
+ contents: read # required for code checkout
+
jobs:
download-crowdin-translations:
runs-on: ubuntu-latest
@@ -15,10 +18,12 @@ jobs:
- name: Obtain token
id: obtainToken
- uses: tibdex/github-app-token@v2
+ uses: actions/create-github-app-token@v2
with:
- private_key: ${{ secrets.CROWDIN_APP_PRIVATE_KEY }}
- app_id: ${{ secrets.CROWDIN_APP_ID }}
+ private-key: ${{ secrets.CROWDIN_APP_PRIVATE_KEY }}
+ app-id: ${{ secrets.CROWDIN_APP_ID }}
+ permission-contents: write # required to commit to crowdin branch
+ permission-pull-requests: write # required to create pull request
- name: Download Crowdin translations
id: crowdin-download
diff --git a/.github/workflows/deployment-docker-image.yml b/.github/workflows/deployment-docker-image.yml
index 307930137..1223b4db1 100644
--- a/.github/workflows/deployment-docker-image.yml
+++ b/.github/workflows/deployment-docker-image.yml
@@ -49,18 +49,23 @@ jobs:
- name: Obtain token
if: env.SKIP_RELEASE == 'false'
id: obtainToken
- uses: tibdex/github-app-token@v2
+ uses: actions/create-github-app-token@v2
with:
- private_key: ${{ secrets.RENOVATE_MERGE_PRIVATE_KEY }}
- app_id: ${{ secrets.RENOVATE_MERGE_APP_ID }}
+ private-key: ${{ secrets.RENOVATE_MERGE_PRIVATE_KEY }}
+ app-id: ${{ secrets.RENOVATE_MERGE_APP_ID }}
+ permission-contents: write # required to commit package.json & changelog changes, merge them to dev and publish the release
+
- uses: actions/checkout@v5
if: env.SKIP_RELEASE == 'false'
with:
persist-credentials: false
- - uses: actions/setup-node@v4
+ - uses: pnpm/action-setup@v4
+ if: env.SKIP_RELEASE == 'false'
+ - uses: actions/setup-node@v5
if: env.SKIP_RELEASE == 'false'
with:
node-version: 22.19.0
+ cache: "pnpm"
- run: npm i -g pnpm
if: env.SKIP_RELEASE == 'false'
- name: Install dependencies
diff --git a/.github/workflows/deployment-weekly-release.yml b/.github/workflows/deployment-weekly-release.yml
index a0fdcc723..e96cf4eec 100644
--- a/.github/workflows/deployment-weekly-release.yml
+++ b/.github/workflows/deployment-weekly-release.yml
@@ -49,10 +49,11 @@ jobs:
args: "Created a release PR ${{ steps.create-pull-request.outputs.url }} for version ${{ steps.semver.outputs.next }} (new behaviour: ${{ steps.semver.outputs.bump }})"
- name: Obtain token
id: obtainApprovalToken
- uses: tibdex/github-app-token@v2
+ uses: actions/create-github-app-token@v2
with:
- private_key: ${{ secrets.RENOVATE_APPROVE_PRIVATE_KEY }}
- app_id: ${{ secrets.RENOVATE_APPROVE_APP_ID }}
+ private-key: ${{ secrets.RENOVATE_APPROVE_PRIVATE_KEY }}
+ app-id: ${{ secrets.RENOVATE_APPROVE_APP_ID }}
+ permission-pull-requests: write
- name: Approve PR
env:
GITHUB_TOKEN: ${{ steps.obtainApprovalToken.outputs.token }}
@@ -60,10 +61,12 @@ jobs:
gh pr review --approve --body "Automatically approved by GitHub Action"
- name: Obtain token
id: obtainMergeToken
- uses: tibdex/github-app-token@v2
+ uses: actions/create-github-app-token@v2
with:
- private_key: ${{ secrets.RENOVATE_MERGE_PRIVATE_KEY }}
- app_id: ${{ secrets.RENOVATE_MERGE_APP_ID }}
+ private-key: ${{ secrets.RENOVATE_MERGE_PRIVATE_KEY }}
+ app-id: ${{ secrets.RENOVATE_MERGE_APP_ID }}
+ permission-contents: write # write to main branch (due to merge)
+ permission-pull-requests: write # merge pull request
- id: automerge
if: ${{ steps.semver.outputs.bump != 'major' }}
name: automerge
diff --git a/.github/workflows/on-release.yml b/.github/workflows/on-release.yml
index 83357cafe..9aac94c45 100644
--- a/.github/workflows/on-release.yml
+++ b/.github/workflows/on-release.yml
@@ -11,12 +11,14 @@ jobs:
steps:
- name: Obtain token
id: obtainToken
- uses: tibdex/github-app-token@v2
+ uses: actions/create-github-app-token@v2
with:
- private_key: ${{ secrets.HOMARR_DOCS_RELEASE_APP_PRIVATE_KEY }}
- app_id: ${{ vars.HOMARR_DOCS_RELEASE_APP_ID }}
- installation_retrieval_mode: repository
- installation_retrieval_payload: homarr-labs/documentation
+ private-key: ${{ secrets.HOMARR_DOCS_RELEASE_APP_PRIVATE_KEY }}
+ app-id: ${{ vars.HOMARR_DOCS_RELEASE_APP_ID }}
+ owner: homarr-labs
+ repositories: |
+ documentation
+ permission-contents: write # required to dispatch repository workflow
- name: Trigger documentation release
env:
GITHUB_TOKEN: ${{ steps.obtainToken.outputs.token }}
@@ -40,10 +42,12 @@ jobs:
steps:
- name: Obtain token
id: obtainToken
- uses: tibdex/github-app-token@v2
+ uses: actions/create-github-app-token@v2
with:
- private_key: ${{ secrets.RENOVATE_MERGE_PRIVATE_KEY }}
- app_id: ${{ secrets.RENOVATE_MERGE_APP_ID }}
+ private-key: ${{ secrets.RENOVATE_MERGE_PRIVATE_KEY }}
+ app-id: ${{ secrets.RENOVATE_MERGE_APP_ID }}
+ permission-contents: write # required to commit to branch
+ permission-pull-requests: write # required to create pr & enable automerge
- name: Checkout code
uses: actions/checkout@v5
with:
@@ -57,6 +61,7 @@ jobs:
run: |
git config --global user.email "175486441+homarr-releases[bot]@users.noreply.github.com"
git config --global user.name "Releases Homarr"
+ git checkout -b update-bug-report-template
git add .
git commit -m "chore: update bug report template"
diff --git a/.github/workflows/skip-renovate-stability-days.yml b/.github/workflows/skip-renovate-stability-days.yml
index 2fc403525..5492103b7 100644
--- a/.github/workflows/skip-renovate-stability-days.yml
+++ b/.github/workflows/skip-renovate-stability-days.yml
@@ -3,11 +3,11 @@ permissions:
on:
pull_request:
- branches-ignore: "renovate/*"
types: [opened, synchronize]
jobs:
skip-stability-days:
+ if: ${{ !startsWith(github.head_ref, 'renovate/') }}
name: Skip Stability Days
runs-on: ubuntu-latest
steps:
diff --git a/.github/workflows/update-contributors.yml b/.github/workflows/update-contributors.yml
index 86f7c95d5..c8cb1efde 100644
--- a/.github/workflows/update-contributors.yml
+++ b/.github/workflows/update-contributors.yml
@@ -9,9 +9,6 @@ env:
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
CROWDIN_TOKEN: "${{ secrets.CROWDIN_UPDATE_CONTRIBUTORS_TOKEN }}"
-permissions:
- contents: write
-
jobs:
update-contributors:
runs-on: ubuntu-latest
@@ -21,20 +18,24 @@ jobs:
steps:
- name: Obtain token
id: obtainToken
- uses: tibdex/github-app-token@v2
+ uses: actions/create-github-app-token@v2
with:
- private_key: ${{ secrets.HOMARR_UPDATE_CONTRIBUTORS_PRIVATE_KEY }}
- app_id: ${{ vars.HOMARR_UPDATE_CONTRIBUTORS_APP_ID }}
+ private-key: ${{ secrets.HOMARR_UPDATE_CONTRIBUTORS_PRIVATE_KEY }}
+ app-id: ${{ vars.HOMARR_UPDATE_CONTRIBUTORS_APP_ID }}
+ permission-contents: write # required to commit to branch
+ permission-pull-requests: write # required to create pr & enable automerge
- name: Checkout repository
uses: actions/checkout@v5
env:
GITHUB_TOKEN: ${{ steps.obtainToken.outputs.token }}
+ - uses: pnpm/action-setup@v4
- name: Use Node.js ${{ matrix.node-version }}
- uses: actions/setup-node@v4
+ uses: actions/setup-node@v5
with:
node-version: ${{ matrix.node-version }}
+ cache: "pnpm"
- name: Run update script
run: node ./scripts/update-contributors.mjs
diff --git a/.github/workflows/update-integration-list.yml b/.github/workflows/update-integration-list.yml
index dc90ce5c3..ff7ad9ae8 100644
--- a/.github/workflows/update-integration-list.yml
+++ b/.github/workflows/update-integration-list.yml
@@ -1,7 +1,7 @@
name: Update integration list
on:
- workflow_dispatch: { }
+ workflow_dispatch: {}
push:
paths:
- packages/definitions/src/integration.ts
@@ -20,10 +20,12 @@ jobs:
steps:
- name: Obtain token
id: obtainToken
- uses: tibdex/github-app-token@v2
+ uses: actions/create-github-app-token@v2
with:
- private_key: ${{ secrets.HOMARR_UPDATE_CONTRIBUTORS_PRIVATE_KEY }}
- app_id: ${{ vars.HOMARR_UPDATE_CONTRIBUTORS_APP_ID }}
+ private-key: ${{ secrets.HOMARR_UPDATE_CONTRIBUTORS_PRIVATE_KEY }}
+ app-id: ${{ vars.HOMARR_UPDATE_CONTRIBUTORS_APP_ID }}
+ permission-contents: write # required to commit to branch
+ permission-pull-requests: write # required to create pr & enable automerge
- name: Checkout code
uses: actions/checkout@v5
env:
@@ -59,4 +61,4 @@ jobs:
env:
GITHUB_TOKEN: ${{ steps.obtainToken.outputs.token }}
run: |
- gh pr merge ${{steps.create-pull-request.outputs.pull-request-number}} --auto --squash
\ No newline at end of file
+ gh pr merge ${{steps.create-pull-request.outputs.pull-request-number}} --auto --squash
diff --git a/apps/nextjs/package.json b/apps/nextjs/package.json
index 6f22469eb..8210ac850 100644
--- a/apps/nextjs/package.json
+++ b/apps/nextjs/package.json
@@ -50,17 +50,17 @@
"@homarr/ui": "workspace:^0.1.0",
"@homarr/validation": "workspace:^0.1.0",
"@homarr/widgets": "workspace:^0.1.0",
- "@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",
+ "@mantine/colors-generator": "^8.3.1",
+ "@mantine/core": "^8.3.1",
+ "@mantine/dropzone": "^8.3.1",
+ "@mantine/hooks": "^8.3.1",
+ "@mantine/modals": "^8.3.1",
+ "@mantine/tiptap": "^8.3.1",
"@million/lint": "1.0.14",
"@tabler/icons-react": "^3.34.1",
- "@tanstack/react-query": "^5.87.1",
- "@tanstack/react-query-devtools": "^5.87.1",
- "@tanstack/react-query-next-experimental": "^5.87.1",
+ "@tanstack/react-query": "^5.87.4",
+ "@tanstack/react-query-devtools": "^5.87.4",
+ "@tanstack/react-query-next-experimental": "^5.87.4",
"@trpc/client": "^11.5.1",
"@trpc/next": "^11.5.1",
"@trpc/react-query": "^11.5.1",
@@ -74,9 +74,9 @@
"dotenv": "^17.2.2",
"flag-icons": "^7.5.0",
"glob": "^11.0.3",
- "jotai": "^2.13.1",
+ "jotai": "^2.14.0",
"mantine-react-table": "2.0.0-beta.9",
- "next": "15.5.2",
+ "next": "15.5.3",
"postcss-preset-mantine": "^1.18.0",
"prismjs": "^1.30.0",
"react": "19.1.1",
@@ -85,18 +85,18 @@
"react-simple-code-editor": "^0.14.1",
"sass": "^1.92.1",
"superjson": "2.2.2",
- "swagger-ui-react": "^5.28.1",
+ "swagger-ui-react": "^5.29.0",
"use-deep-compare-effect": "^1.8.1",
- "zod": "^4.1.5"
+ "zod": "^4.1.8"
},
"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.18.1",
+ "@types/node": "^22.18.3",
"@types/prismjs": "^1.26.5",
- "@types/react": "19.1.12",
+ "@types/react": "19.1.13",
"@types/react-dom": "19.1.9",
"@types/swagger-ui-react": "^5.18.0",
"concurrently": "^9.2.1",
diff --git a/apps/nextjs/src/app/[locale]/manage/integrations/_components/secrets/integration-secret-icons.ts b/apps/nextjs/src/app/[locale]/manage/integrations/_components/secrets/integration-secret-icons.ts
index 0faccc11c..652cad7aa 100644
--- a/apps/nextjs/src/app/[locale]/manage/integrations/_components/secrets/integration-secret-icons.ts
+++ b/apps/nextjs/src/app/[locale]/manage/integrations/_components/secrets/integration-secret-icons.ts
@@ -2,6 +2,7 @@ import {
IconCode,
IconGrid3x3,
IconKey,
+ IconLink,
IconMessage,
IconPassword,
IconPasswordUser,
@@ -21,6 +22,7 @@ export const integrationSecretIcons = {
tokenId: IconGrid3x3,
personalAccessToken: IconPasswordUser,
topic: IconMessage,
+ url: IconLink,
opnsenseApiKey: IconKey,
opnsenseApiSecret: IconPassword,
githubAppId: IconCode,
diff --git a/apps/nextjs/src/app/[locale]/manage/integrations/edit/[id]/_integration-edit-form.tsx b/apps/nextjs/src/app/[locale]/manage/integrations/edit/[id]/_integration-edit-form.tsx
index 3b97e65f1..3aa5f3707 100644
--- a/apps/nextjs/src/app/[locale]/manage/integrations/edit/[id]/_integration-edit-form.tsx
+++ b/apps/nextjs/src/app/[locale]/manage/integrations/edit/[id]/_integration-edit-form.tsx
@@ -33,6 +33,8 @@ export const EditIntegrationForm = ({ integration }: EditIntegrationForm) => {
integration.secrets.every((secret) => secretKinds.includes(secret.kind)),
) ?? getDefaultSecretKinds(integration.kind);
+ const hasUrlSecret = secretsKinds.includes("url");
+
const router = useRouter();
const form = useZodForm(integrationUpdateSchema.omit({ id: true }), {
initialValues: {
@@ -50,10 +52,14 @@ export const EditIntegrationForm = ({ integration }: EditIntegrationForm) => {
const secretsMap = new Map(integration.secrets.map((secret) => [secret.kind, secret]));
const handleSubmitAsync = async (values: FormType) => {
+ const url = hasUrlSecret
+ ? new URL(values.secrets.find((secret) => secret.kind === "url")?.value ?? values.url).origin
+ : values.url;
await mutateAsync(
{
id: integration.id,
...values,
+ url,
secrets: values.secrets.map((secret) => ({
kind: secret.kind,
value: secret.value === "" ? null : secret.value,
@@ -92,7 +98,9 @@ export const EditIntegrationForm = ({ integration }: EditIntegrationForm) => {
-
+ {hasUrlSecret ? null : (
+
+ )}
+
+

- 🖌️ Highly customizable with an extensive drag and drop grid system
@@ -132,6 +134,13 @@
+
+
+
+ iCal
+
+ |
+
@@ -144,15 +153,15 @@
Jellyseerr
- |
-
+ |
+
Lidarr
- |
-|
+ |
+
@@ -193,15 +202,15 @@
OpenMediaVault
- |
-
+ |
+
OPNsense
- |
-|
+ |
+
@@ -242,15 +251,15 @@
qBittorrent
- |
-
+ |
+
Quay
- |
-|
+ |
+
@@ -291,15 +300,15 @@
Transmission
- |
-
+ |
+
TrueNAS
- |
-|
+ |
+
diff --git a/docs/img/screenshot.png b/docs/img/screenshot.png
new file mode 100644
index 000000000..963f6d8fb
Binary files /dev/null and b/docs/img/screenshot.png differ
diff --git a/package.json b/package.json
index ec1753c33..3131a23a0 100644
--- a/package.json
+++ b/package.json
@@ -39,7 +39,7 @@
"@semantic-release/changelog": "^6.0.3",
"@semantic-release/commit-analyzer": "^13.0.1",
"@semantic-release/git": "^10.0.1",
- "@semantic-release/github": "^11.0.5",
+ "@semantic-release/github": "^11.0.6",
"@semantic-release/npm": "^12.0.2",
"@semantic-release/release-notes-generator": "^14.1.0",
"@testcontainers/redis": "^11.5.1",
@@ -49,7 +49,7 @@
"@vitest/ui": "^3.2.4",
"conventional-changelog-conventionalcommits": "^9.1.0",
"cross-env": "^10.0.0",
- "jsdom": "^26.1.0",
+ "jsdom": "^27.0.0",
"prettier": "^3.6.2",
"semantic-release": "^24.2.8",
"testcontainers": "^11.5.1",
@@ -58,7 +58,7 @@
"vite-tsconfig-paths": "^5.1.4",
"vitest": "^3.2.4"
},
- "packageManager": "pnpm@10.15.1",
+ "packageManager": "pnpm@10.16.1",
"engines": {
"node": ">=22.19.0"
},
@@ -77,16 +77,17 @@
"overrides": {
"@babel/helpers@<7.26.10": ">=7.28.4",
"@babel/runtime@<7.26.10": ">=7.28.4",
- "axios@>=1.0.0 <1.8.2": ">=1.12.1",
+ "axios@>=1.0.0 <1.8.2": ">=1.12.2",
"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.9.6",
+ "hono@<4.6.5": ">=4.9.7",
"linkifyjs@<4.3.2": ">=4.3.2",
"nanoid@>=4.0.0 <5.0.9": ">=5.1.5",
"prismjs@<1.30.0": ">=1.30.0",
- "proxmox-api>undici": "7.15.0",
+ "proxmox-api>undici": "7.16.0",
+ "react-is": "^19.1.1",
"rollup@>=4.0.0 <4.22.4": ">=4.50.1",
"sha.js@<=2.4.11": ">=2.4.12",
"tar-fs@>=3.0.0 <3.0.9": ">=3.1.0",
diff --git a/packages/api/package.json b/packages/api/package.json
index 803e6ee97..22103603e 100644
--- a/packages/api/package.json
+++ b/packages/api/package.json
@@ -42,18 +42,18 @@
"@homarr/server-settings": "workspace:^0.1.0",
"@homarr/validation": "workspace:^0.1.0",
"@kubernetes/client-node": "^1.3.0",
- "@tanstack/react-query": "^5.87.1",
+ "@tanstack/react-query": "^5.87.4",
"@trpc/client": "^11.5.1",
"@trpc/react-query": "^11.5.1",
"@trpc/server": "^11.5.1",
"@trpc/tanstack-react-query": "^11.5.1",
"lodash.clonedeep": "^4.5.0",
- "next": "15.5.2",
+ "next": "15.5.3",
"react": "19.1.1",
"react-dom": "19.1.1",
"superjson": "2.2.2",
"trpc-to-openapi": "^3.0.1",
- "zod": "^4.1.5"
+ "zod": "^4.1.8"
},
"devDependencies": {
"@homarr/eslint-config": "workspace:^0.2.0",
diff --git a/packages/auth/package.json b/packages/auth/package.json
index b77b10524..ba44cefad 100644
--- a/packages/auth/package.json
+++ b/packages/auth/package.json
@@ -35,11 +35,11 @@
"bcrypt": "^6.0.0",
"cookies": "^0.9.1",
"ldapts": "8.0.9",
- "next": "15.5.2",
+ "next": "15.5.3",
"next-auth": "5.0.0-beta.29",
"react": "19.1.1",
"react-dom": "19.1.1",
- "zod": "^4.1.5"
+ "zod": "^4.1.8"
},
"devDependencies": {
"@homarr/eslint-config": "workspace:^0.2.0",
diff --git a/packages/certificates/package.json b/packages/certificates/package.json
index ca3fc4add..b7e7b7885 100644
--- a/packages/certificates/package.json
+++ b/packages/certificates/package.json
@@ -24,7 +24,7 @@
"dependencies": {
"@homarr/common": "workspace:^0.1.0",
"@homarr/db": "workspace:^0.1.0",
- "undici": "7.15.0"
+ "undici": "7.16.0"
},
"devDependencies": {
"@homarr/eslint-config": "workspace:^0.2.0",
diff --git a/packages/common/package.json b/packages/common/package.json
index fca2e9586..c82ed933f 100644
--- a/packages/common/package.json
+++ b/packages/common/package.json
@@ -32,12 +32,12 @@
"@paralleldrive/cuid2": "^2.2.2",
"dayjs": "^1.11.18",
"dns-caching": "^0.2.5",
- "next": "15.5.2",
+ "next": "15.5.3",
"octokit": "^5.0.3",
"react": "19.1.1",
"react-dom": "19.1.1",
- "undici": "7.15.0",
- "zod": "^4.1.5",
+ "undici": "7.16.0",
+ "zod": "^4.1.8",
"zod-validation-error": "^4.0.1"
},
"devDependencies": {
diff --git a/packages/common/src/fetch-agent.ts b/packages/common/src/fetch-agent.ts
index b541f5301..ca670cd36 100644
--- a/packages/common/src/fetch-agent.ts
+++ b/packages/common/src/fetch-agent.ts
@@ -12,7 +12,11 @@ export class LoggingAgent extends Agent {
}
dispatch(options: Dispatcher.DispatchOptions, handler: Dispatcher.DispatchHandler): boolean {
- const url = new URL(`${options.origin as string}${options.path}`);
+ const path = options.path
+ .split("/")
+ .map((segment) => (segment.length >= 32 && !segment.startsWith("?") ? "REDACTED" : segment))
+ .join("/");
+ const url = new URL(`${options.origin as string}${path}`);
// The below code should prevent sensitive data from being logged as
// some integrations use query parameters for auth
diff --git a/packages/common/src/test/fetch-agent.spec.ts b/packages/common/src/test/fetch-agent.spec.ts
index 12cb8040d..9617a9587 100644
--- a/packages/common/src/test/fetch-agent.spec.ts
+++ b/packages/common/src/test/fetch-agent.spec.ts
@@ -66,6 +66,7 @@ describe("LoggingAgent should log all requests", () => {
["/?one=a1&two=b2&three=c3", `/?one=${REDACTED}&two=${REDACTED}&three=${REDACTED}`],
["/?numberWith13Chars=1234567890123", `/?numberWith13Chars=${REDACTED}`],
[`/?stringWith13Chars=${"a".repeat(13)}`, `/?stringWith13Chars=${REDACTED}`],
+ [`/${"a".repeat(32)}/?param=123`, `/${REDACTED}/?param=123`],
])("should redact sensitive data in url https://homarr.dev%s", (path, expected) => {
// Arrange
const infoLogSpy = vi.spyOn(logger, "debug");
diff --git a/packages/core/package.json b/packages/core/package.json
index 83677b1af..15ef33538 100644
--- a/packages/core/package.json
+++ b/packages/core/package.json
@@ -26,7 +26,7 @@
"dependencies": {
"@t3-oss/env-nextjs": "^0.13.8",
"ioredis": "5.7.0",
- "zod": "^4.1.5"
+ "zod": "^4.1.8"
},
"devDependencies": {
"@homarr/eslint-config": "workspace:^0.2.0",
diff --git a/packages/core/src/infrastructure/redis/client.ts b/packages/core/src/infrastructure/redis/client.ts
index e35ee9220..ef68c0474 100644
--- a/packages/core/src/infrastructure/redis/client.ts
+++ b/packages/core/src/infrastructure/redis/client.ts
@@ -15,6 +15,7 @@ export const createRedisClient = () =>
...defaultRedisOptions,
host: redisEnv.HOST,
port: redisEnv.PORT,
+ db: redisEnv.DATABASE_INDEX,
tls: redisEnv.TLS_CA
? {
ca: redisEnv.TLS_CA,
diff --git a/packages/core/src/infrastructure/redis/env.ts b/packages/core/src/infrastructure/redis/env.ts
index f54ec128c..0c7b1503a 100644
--- a/packages/core/src/infrastructure/redis/env.ts
+++ b/packages/core/src/infrastructure/redis/env.ts
@@ -12,6 +12,7 @@ export const redisEnv = createEnv({
TLS_CA: z.string().optional(),
USERNAME: z.string().optional(),
PASSWORD: z.string().optional(),
+ DATABASE_INDEX: z.coerce.number().optional(),
},
runtimeEnv: runtimeEnvWithPrefix("REDIS_"),
});
diff --git a/packages/cron-job-api/package.json b/packages/cron-job-api/package.json
index 41f2e0c08..52c61d737 100644
--- a/packages/cron-job-api/package.json
+++ b/packages/cron-job-api/package.json
@@ -29,20 +29,20 @@
"@homarr/core": "workspace:^0.1.0",
"@homarr/cron-jobs": "workspace:^0.1.0",
"@homarr/log": "workspace:^0.1.0",
- "@tanstack/react-query": "^5.87.1",
+ "@tanstack/react-query": "^5.87.4",
"@trpc/client": "^11.5.1",
"@trpc/server": "^11.5.1",
"@trpc/tanstack-react-query": "^11.5.1",
"node-cron": "^4.2.1",
"react": "19.1.1",
- "zod": "^4.1.5"
+ "zod": "^4.1.8"
},
"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.12",
+ "@types/react": "19.1.13",
"eslint": "^9.35.0",
"typescript": "^5.9.2"
}
diff --git a/packages/db/package.json b/packages/db/package.json
index 0968462ae..acadcec53 100644
--- a/packages/db/package.json
+++ b/packages/db/package.json
@@ -49,7 +49,7 @@
"@homarr/definitions": "workspace:^0.1.0",
"@homarr/log": "workspace:^0.1.0",
"@homarr/server-settings": "workspace:^0.1.0",
- "@mantine/core": "^8.2.8",
+ "@mantine/core": "^8.3.1",
"@paralleldrive/cuid2": "^2.2.2",
"@testcontainers/mysql": "^11.5.1",
"@testcontainers/postgresql": "^11.5.1",
@@ -58,7 +58,7 @@
"drizzle-kit": "^0.31.4",
"drizzle-orm": "^0.44.5",
"drizzle-zod": "^0.8.3",
- "mysql2": "3.14.4",
+ "mysql2": "3.14.5",
"pg": "^8.16.3",
"superjson": "2.2.2"
},
diff --git a/packages/definitions/package.json b/packages/definitions/package.json
index 10bc70ea5..338227d40 100644
--- a/packages/definitions/package.json
+++ b/packages/definitions/package.json
@@ -25,7 +25,7 @@
"dependencies": {
"@homarr/common": "workspace:^0.1.0",
"fast-xml-parser": "^5.2.5",
- "zod": "^4.1.5"
+ "zod": "^4.1.8"
},
"devDependencies": {
"@homarr/eslint-config": "workspace:^0.2.0",
diff --git a/packages/definitions/src/docs/homarr-docs-sitemap.ts b/packages/definitions/src/docs/homarr-docs-sitemap.ts
index 59ea973b4..6815530cc 100644
--- a/packages/definitions/src/docs/homarr-docs-sitemap.ts
+++ b/packages/definitions/src/docs/homarr-docs-sitemap.ts
@@ -183,6 +183,7 @@ export type HomarrDocumentationPath =
| "/docs/integrations/sonarr"
| "/docs/integrations/tdarr"
| "/docs/integrations/transmission"
+ | "/docs/integrations/truenas"
| "/docs/integrations/unifi-controller"
| "/docs/management/api"
| "/docs/management/apps"
diff --git a/packages/definitions/src/integration.ts b/packages/definitions/src/integration.ts
index 54dba1d49..1e8269bbc 100644
--- a/packages/definitions/src/integration.ts
+++ b/packages/definitions/src/integration.ts
@@ -13,6 +13,7 @@ export const integrationSecretKindObject = {
topic: { isPublic: true, multiline: false },
opnsenseApiKey: { isPublic: false, multiline: false },
opnsenseApiSecret: { isPublic: false, multiline: false },
+ url: { isPublic: false, multiline: false },
privateKey: { isPublic: false, multiline: true },
githubAppId: { isPublic: true, multiline: false },
githubInstallationId: { isPublic: true, multiline: false },
@@ -283,6 +284,13 @@ export const integrationDefs = {
category: ["notifications"],
documentationUrl: createDocumentationLink("/docs/integrations/ntfy"),
},
+ ical: {
+ name: "iCal",
+ secretKinds: [["url"]],
+ iconUrl: "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons@master/svg/ical.svg",
+ category: ["calendar"],
+ documentationUrl: createDocumentationLink("/docs/integrations/ical"),
+ },
truenas: {
name: "TrueNAS",
secretKinds: [["username", "password"]],
diff --git a/packages/docker/package.json b/packages/docker/package.json
index 954936af5..7349ad9ee 100644
--- a/packages/docker/package.json
+++ b/packages/docker/package.json
@@ -26,7 +26,7 @@
"dependencies": {
"@homarr/common": "workspace:^0.1.0",
"@homarr/core": "workspace:^0.1.0",
- "dockerode": "^4.0.7"
+ "dockerode": "^4.0.8"
},
"devDependencies": {
"@homarr/eslint-config": "workspace:^0.2.0",
diff --git a/packages/form/package.json b/packages/form/package.json
index 36fad1dc0..42aaa3f7b 100644
--- a/packages/form/package.json
+++ b/packages/form/package.json
@@ -26,9 +26,9 @@
"@homarr/common": "workspace:^0.1.0",
"@homarr/translation": "workspace:^0.1.0",
"@homarr/validation": "workspace:^0.1.0",
- "@mantine/form": "^8.2.8",
+ "@mantine/form": "^8.3.1",
"mantine-form-zod-resolver": "^1.3.0",
- "zod": "^4.1.5"
+ "zod": "^4.1.8"
},
"devDependencies": {
"@homarr/eslint-config": "workspace:^0.2.0",
diff --git a/packages/forms-collection/package.json b/packages/forms-collection/package.json
index e0431a4ea..c796e6b06 100644
--- a/packages/forms-collection/package.json
+++ b/packages/forms-collection/package.json
@@ -29,9 +29,9 @@
"@homarr/notifications": "workspace:^0.1.0",
"@homarr/translation": "workspace:^0.1.0",
"@homarr/validation": "workspace:^0.1.0",
- "@mantine/core": "^8.2.8",
+ "@mantine/core": "^8.3.1",
"react": "19.1.1",
- "zod": "^4.1.5"
+ "zod": "^4.1.8"
},
"devDependencies": {
"@homarr/eslint-config": "workspace:^0.2.0",
diff --git a/packages/integrations/package.json b/packages/integrations/package.json
index 125fe2b48..f68168096 100644
--- a/packages/integrations/package.json
+++ b/packages/integrations/package.json
@@ -41,14 +41,15 @@
"@homarr/validation": "workspace:^0.1.0",
"@jellyfin/sdk": "^0.11.0",
"@octokit/auth-app": "^8.1.0",
+ "ical.js": "^2.2.1",
"maria2": "^0.4.1",
"node-ical": "^0.20.1",
"octokit": "^5.0.3",
"proxmox-api": "1.1.1",
"tsdav": "^2.1.5",
- "undici": "7.15.0",
+ "undici": "7.16.0",
"xml2js": "^0.6.2",
- "zod": "^4.1.5"
+ "zod": "^4.1.8"
},
"devDependencies": {
"@homarr/eslint-config": "workspace:^0.2.0",
diff --git a/packages/integrations/src/base/creator.ts b/packages/integrations/src/base/creator.ts
index 1d34528b0..e0bdd2ab4 100644
--- a/packages/integrations/src/base/creator.ts
+++ b/packages/integrations/src/base/creator.ts
@@ -18,6 +18,7 @@ import { GitHubContainerRegistryIntegration } from "../github-container-registry
import { GithubIntegration } from "../github/github-integration";
import { GitlabIntegration } from "../gitlab/gitlab-integration";
import { HomeAssistantIntegration } from "../homeassistant/homeassistant-integration";
+import { ICalIntegration } from "../ical/ical-integration";
import { JellyfinIntegration } from "../jellyfin/jellyfin-integration";
import { JellyseerrIntegration } from "../jellyseerr/jellyseerr-integration";
import { LinuxServerIOIntegration } from "../linuxserverio/linuxserverio-integration";
@@ -112,6 +113,7 @@ export const integrationCreators = {
codeberg: CodebergIntegration,
linuxServerIO: LinuxServerIOIntegration,
gitHubContainerRegistry: GitHubContainerRegistryIntegration,
+ ical: ICalIntegration,
quay: QuayIntegration,
ntfy: NTFYIntegration,
mock: MockIntegration,
diff --git a/packages/integrations/src/ical/ical-integration.ts b/packages/integrations/src/ical/ical-integration.ts
new file mode 100644
index 000000000..8280d4303
--- /dev/null
+++ b/packages/integrations/src/ical/ical-integration.ts
@@ -0,0 +1,67 @@
+import ICAL from "ical.js";
+
+import { fetchWithTrustedCertificatesAsync } from "@homarr/certificates/server";
+
+import type { IntegrationTestingInput } from "../base/integration";
+import { Integration } from "../base/integration";
+import { TestConnectionError } from "../base/test-connection/test-connection-error";
+import type { TestingResult } from "../base/test-connection/test-connection-service";
+import type { ICalendarIntegration } from "../interfaces/calendar/calendar-integration";
+import type { CalendarEvent } from "../interfaces/calendar/calendar-types";
+
+export class ICalIntegration extends Integration implements ICalendarIntegration {
+ async getCalendarEventsAsync(start: Date, end: Date): Promise {
+ const response = await fetchWithTrustedCertificatesAsync(super.getSecretValue("url"));
+ const result = await response.text();
+ const jcal = ICAL.parse(result) as unknown[];
+ const comp = new ICAL.Component(jcal);
+
+ return comp.getAllSubcomponents("vevent").reduce((prev, vevent) => {
+ const event = new ICAL.Event(vevent);
+ const startDate = event.startDate.toJSDate();
+ const endDate = event.endDate.toJSDate();
+
+ if (startDate > end) return prev;
+ if (endDate < start) return prev;
+
+ return prev.concat({
+ title: event.summary,
+ subTitle: null,
+ description: event.description,
+ startDate,
+ endDate,
+ image: null,
+ location: event.location,
+ indicatorColor: "red",
+ links: [],
+ });
+ }, [] as CalendarEvent[]);
+ }
+
+ protected async testingAsync(input: IntegrationTestingInput): Promise {
+ const response = await input.fetchAsync(super.getSecretValue("url"));
+ if (!response.ok) return TestConnectionError.StatusResult(response);
+
+ const result = await response.text();
+
+ try {
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
+ const jcal = ICAL.parse(result);
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
+ const comp = new ICAL.Component(jcal);
+ return comp.getAllSubcomponents("vevent").length > 0
+ ? { success: true }
+ : TestConnectionError.ParseResult({
+ name: "Calendar parse error",
+ message: "No events found",
+ cause: new Error("No events found"),
+ });
+ } catch (error) {
+ return TestConnectionError.ParseResult({
+ name: "Calendar parse error",
+ message: "Failed to parse calendar",
+ cause: error as Error,
+ });
+ }
+ }
+}
diff --git a/packages/integrations/src/index.ts b/packages/integrations/src/index.ts
index ac21e3080..393264350 100644
--- a/packages/integrations/src/index.ts
+++ b/packages/integrations/src/index.ts
@@ -23,6 +23,7 @@ export { PlexIntegration } from "./plex/plex-integration";
export { ProwlarrIntegration } from "./prowlarr/prowlarr-integration";
export { TrueNasIntegration } from "./truenas/truenas-integration";
export { OPNsenseIntegration } from "./opnsense/opnsense-integration";
+export { ICalIntegration } from "./ical/ical-integration";
// Types
export type { IntegrationInput } from "./base/integration";
diff --git a/packages/integrations/src/interfaces/calendar/calendar-types.ts b/packages/integrations/src/interfaces/calendar/calendar-types.ts
index 0aad96b03..2466aa1b1 100644
--- a/packages/integrations/src/interfaces/calendar/calendar-types.ts
+++ b/packages/integrations/src/interfaces/calendar/calendar-types.ts
@@ -1,24 +1,41 @@
export const radarrReleaseTypes = ["inCinemas", "digitalRelease", "physicalRelease"] as const;
export type RadarrReleaseType = (typeof radarrReleaseTypes)[number];
-export interface CalendarEvent {
- name: string;
- subName: string;
- date: Date;
- dates?: { type: RadarrReleaseType; date: Date }[];
- description?: string;
- thumbnail?: string;
- mediaInformation?: {
- type: "audio" | "video" | "tv" | "movie";
- seasonNumber?: number;
- episodeNumber?: number;
- };
- links: {
- href: string;
- name: string;
- color: string | undefined;
- notificationColor?: string | undefined;
- isDark: boolean | undefined;
- logo: string;
- }[];
+export interface RadarrMetadata {
+ type: "radarr";
+ releaseType: RadarrReleaseType;
+}
+
+export type CalendarMetadata = RadarrMetadata;
+
+export interface CalendarLink {
+ name: string;
+ isDark: boolean;
+ href: string;
+ color?: string;
+ logo?: string;
+}
+
+export interface CalendarImageBadge {
+ content: string;
+ color: string;
+}
+
+export interface CalendarImage {
+ src: string;
+ badge?: CalendarImageBadge;
+ aspectRatio?: { width: number; height: number };
+}
+
+export interface CalendarEvent {
+ title: string;
+ subTitle: string | null;
+ description: string | null;
+ startDate: Date;
+ endDate: Date | null;
+ image: CalendarImage | null;
+ location: string | null;
+ metadata?: CalendarMetadata;
+ indicatorColor: string;
+ links: CalendarLink[];
}
diff --git a/packages/integrations/src/media-organizer/lidarr/lidarr-integration.ts b/packages/integrations/src/media-organizer/lidarr/lidarr-integration.ts
index 6348f9ec1..f047048b1 100644
--- a/packages/integrations/src/media-organizer/lidarr/lidarr-integration.ts
+++ b/packages/integrations/src/media-organizer/lidarr/lidarr-integration.ts
@@ -8,7 +8,7 @@ import type { IntegrationTestingInput } from "../../base/integration";
import { TestConnectionError } from "../../base/test-connection/test-connection-error";
import type { TestingResult } from "../../base/test-connection/test-connection-service";
import type { ICalendarIntegration } from "../../interfaces/calendar/calendar-integration";
-import type { CalendarEvent } from "../../interfaces/calendar/calendar-types";
+import type { CalendarEvent, CalendarLink } from "../../interfaces/calendar/calendar-types";
import { mediaOrganizerPriorities } from "../media-organizer";
export class LidarrIntegration extends Integration implements ICalendarIntegration {
@@ -44,22 +44,28 @@ export class LidarrIntegration extends Integration implements ICalendarIntegrati
const lidarrCalendarEvents = await z.array(lidarrCalendarEventSchema).parseAsync(await response.json());
return lidarrCalendarEvents.map((lidarrCalendarEvent): CalendarEvent => {
+ const imageSrc = this.chooseBestImage(lidarrCalendarEvent);
return {
- name: lidarrCalendarEvent.title,
- subName: lidarrCalendarEvent.artist.artistName,
- description: lidarrCalendarEvent.overview,
- thumbnail: this.chooseBestImageAsURL(lidarrCalendarEvent),
- date: lidarrCalendarEvent.releaseDate,
- mediaInformation: {
- type: "audio",
- },
+ title: lidarrCalendarEvent.title,
+ subTitle: lidarrCalendarEvent.artist.artistName,
+ description: lidarrCalendarEvent.overview ?? null,
+ startDate: lidarrCalendarEvent.releaseDate,
+ endDate: null,
+ image: imageSrc
+ ? {
+ src: imageSrc.remoteUrl,
+ aspectRatio: { width: 7, height: 12 },
+ }
+ : null,
+ location: null,
+ indicatorColor: "cyan",
links: this.getLinksForLidarrCalendarEvent(lidarrCalendarEvent),
};
});
}
private getLinksForLidarrCalendarEvent = (event: z.infer) => {
- const links: CalendarEvent["links"] = [];
+ const links: CalendarLink[] = [];
for (const link of event.artist.links) {
switch (link.name) {
@@ -70,7 +76,6 @@ export class LidarrIntegration extends Integration implements ICalendarIntegrati
color: "#f5c518",
isDark: false,
logo: "/images/apps/vgmdb.svg",
- notificationColor: "cyan",
});
break;
case "imdb":
@@ -80,7 +85,6 @@ export class LidarrIntegration extends Integration implements ICalendarIntegrati
color: "#f5c518",
isDark: false,
logo: "/images/apps/imdb.png",
- notificationColor: "cyan",
});
break;
case "last":
@@ -90,7 +94,6 @@ export class LidarrIntegration extends Integration implements ICalendarIntegrati
color: "#cf222a",
isDark: false,
logo: "/images/apps/lastfm.svg",
- notificationColor: "cyan",
});
break;
}
diff --git a/packages/integrations/src/media-organizer/radarr/radarr-integration.ts b/packages/integrations/src/media-organizer/radarr/radarr-integration.ts
index 8dc6aff87..a5a176a0d 100644
--- a/packages/integrations/src/media-organizer/radarr/radarr-integration.ts
+++ b/packages/integrations/src/media-organizer/radarr/radarr-integration.ts
@@ -1,15 +1,14 @@
import { z } from "zod/v4";
import { fetchWithTrustedCertificatesAsync } from "@homarr/certificates/server";
-import type { AtLeastOneOf } from "@homarr/common/types";
import { logger } from "@homarr/log";
-import { Integration } from "../../base/integration";
import type { IntegrationTestingInput } from "../../base/integration";
+import { Integration } from "../../base/integration";
import { TestConnectionError } from "../../base/test-connection/test-connection-error";
import type { TestingResult } from "../../base/test-connection/test-connection-service";
import type { ICalendarIntegration } from "../../interfaces/calendar/calendar-integration";
-import type { CalendarEvent } from "../../interfaces/calendar/calendar-types";
+import type { CalendarEvent, CalendarLink } from "../../interfaces/calendar/calendar-types";
import { radarrReleaseTypes } from "../../interfaces/calendar/calendar-types";
import { mediaOrganizerPriorities } from "../media-organizer";
@@ -34,33 +33,44 @@ export class RadarrIntegration extends Integration implements ICalendarIntegrati
});
const radarrCalendarEvents = await z.array(radarrCalendarEventSchema).parseAsync(await response.json());
- return radarrCalendarEvents.map((radarrCalendarEvent): CalendarEvent => {
- const dates = radarrReleaseTypes
- .map((type) => (radarrCalendarEvent[type] ? { type, date: radarrCalendarEvent[type] } : undefined))
- .filter((date) => date) as AtLeastOneOf[number]>;
- return {
- name: radarrCalendarEvent.title,
- subName: radarrCalendarEvent.originalTitle,
- description: radarrCalendarEvent.overview,
- thumbnail: this.chooseBestImageAsURL(radarrCalendarEvent),
- date: dates[0].date,
- dates,
- mediaInformation: {
- type: "movie",
- },
- links: this.getLinksForRadarrCalendarEvent(radarrCalendarEvent),
- };
+ return radarrCalendarEvents.flatMap((radarrCalendarEvent): CalendarEvent[] => {
+ const imageSrc = this.chooseBestImageAsURL(radarrCalendarEvent);
+
+ return radarrReleaseTypes
+ .map((releaseType) => ({ type: releaseType, date: radarrCalendarEvent[releaseType] }))
+ .filter((item) => item.date !== undefined)
+ .map((item) => ({
+ title: radarrCalendarEvent.title,
+ subTitle: radarrCalendarEvent.originalTitle,
+ description: radarrCalendarEvent.overview ?? null,
+ // Check is done above in the filter
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
+ startDate: item.date!,
+ endDate: null,
+ image: imageSrc
+ ? {
+ src: imageSrc,
+ aspectRatio: { width: 7, height: 12 },
+ }
+ : null,
+ location: null,
+ metadata: {
+ type: "radarr",
+ releaseType: item.type,
+ },
+ indicatorColor: "yellow",
+ links: this.getLinksForRadarrCalendarEvent(radarrCalendarEvent),
+ }));
});
}
private getLinksForRadarrCalendarEvent = (event: z.infer) => {
- const links: CalendarEvent["links"] = [
+ const links: CalendarLink[] = [
{
href: this.url(`/movie/${event.titleSlug}`).toString(),
name: "Radarr",
logo: "/images/apps/radarr.svg",
color: undefined,
- notificationColor: "yellow",
isDark: true,
},
];
diff --git a/packages/integrations/src/media-organizer/readarr/readarr-integration.ts b/packages/integrations/src/media-organizer/readarr/readarr-integration.ts
index a9d8154cd..da5db4fb3 100644
--- a/packages/integrations/src/media-organizer/readarr/readarr-integration.ts
+++ b/packages/integrations/src/media-organizer/readarr/readarr-integration.ts
@@ -8,7 +8,7 @@ import type { IntegrationTestingInput } from "../../base/integration";
import { TestConnectionError } from "../../base/test-connection/test-connection-error";
import type { TestingResult } from "../../base/test-connection/test-connection-service";
import type { ICalendarIntegration } from "../../interfaces/calendar/calendar-integration";
-import type { CalendarEvent } from "../../interfaces/calendar/calendar-types";
+import type { CalendarEvent, CalendarLink } from "../../interfaces/calendar/calendar-types";
import { mediaOrganizerPriorities } from "../media-organizer";
export class ReadarrIntegration extends Integration implements ICalendarIntegration {
@@ -50,15 +50,22 @@ export class ReadarrIntegration extends Integration implements ICalendarIntegrat
const readarrCalendarEvents = await z.array(readarrCalendarEventSchema).parseAsync(await response.json());
return readarrCalendarEvents.map((readarrCalendarEvent): CalendarEvent => {
+ const imageSrc = this.chooseBestImageAsURL(readarrCalendarEvent);
+
return {
- name: readarrCalendarEvent.title,
- subName: readarrCalendarEvent.author.authorName,
- description: readarrCalendarEvent.overview,
- thumbnail: this.chooseBestImageAsURL(readarrCalendarEvent),
- date: readarrCalendarEvent.releaseDate,
- mediaInformation: {
- type: "audio",
- },
+ title: readarrCalendarEvent.title,
+ subTitle: readarrCalendarEvent.author.authorName,
+ description: readarrCalendarEvent.overview ?? null,
+ startDate: readarrCalendarEvent.releaseDate,
+ endDate: null,
+ image: imageSrc
+ ? {
+ src: imageSrc,
+ aspectRatio: { width: 7, height: 12 },
+ }
+ : null,
+ location: null,
+ indicatorColor: "#f5c518",
links: this.getLinksForReadarrCalendarEvent(readarrCalendarEvent),
};
});
@@ -72,9 +79,8 @@ export class ReadarrIntegration extends Integration implements ICalendarIntegrat
isDark: false,
logo: "/images/apps/readarr.svg",
name: "Readarr",
- notificationColor: "#f5c518",
},
- ] satisfies CalendarEvent["links"];
+ ] satisfies CalendarLink[];
};
private chooseBestImage = (
diff --git a/packages/integrations/src/media-organizer/sonarr/sonarr-integration.ts b/packages/integrations/src/media-organizer/sonarr/sonarr-integration.ts
index a3f623881..d44c53c58 100644
--- a/packages/integrations/src/media-organizer/sonarr/sonarr-integration.ts
+++ b/packages/integrations/src/media-organizer/sonarr/sonarr-integration.ts
@@ -8,7 +8,7 @@ import type { IntegrationTestingInput } from "../../base/integration";
import { TestConnectionError } from "../../base/test-connection/test-connection-error";
import type { TestingResult } from "../../base/test-connection/test-connection-service";
import type { ICalendarIntegration } from "../../interfaces/calendar/calendar-integration";
-import type { CalendarEvent } from "../../interfaces/calendar/calendar-types";
+import type { CalendarEvent, CalendarLink } from "../../interfaces/calendar/calendar-types";
import { mediaOrganizerPriorities } from "../media-organizer";
export class SonarrIntegration extends Integration implements ICalendarIntegration {
@@ -33,33 +33,36 @@ export class SonarrIntegration extends Integration implements ICalendarIntegrati
"X-Api-Key": super.getSecretValue("apiKey"),
},
});
- const sonarCalendarEvents = await z.array(sonarrCalendarEventSchema).parseAsync(await response.json());
+ const sonarrCalendarEvents = await z.array(sonarrCalendarEventSchema).parseAsync(await response.json());
- return sonarCalendarEvents.map(
- (sonarCalendarEvent): CalendarEvent => ({
- name: sonarCalendarEvent.title,
- subName: sonarCalendarEvent.series.title,
- description: sonarCalendarEvent.series.overview,
- thumbnail: this.chooseBestImageAsURL(sonarCalendarEvent),
- date: sonarCalendarEvent.airDateUtc,
- mediaInformation: {
- type: "tv",
- episodeNumber: sonarCalendarEvent.episodeNumber,
- seasonNumber: sonarCalendarEvent.seasonNumber,
- },
- links: this.getLinksForSonarCalendarEvent(sonarCalendarEvent),
- }),
- );
+ return sonarrCalendarEvents.map((event): CalendarEvent => {
+ const imageSrc = this.chooseBestImageAsURL(event);
+ return {
+ title: event.title,
+ subTitle: event.series.title,
+ description: event.series.overview ?? null,
+ startDate: event.airDateUtc,
+ endDate: null,
+ image: imageSrc
+ ? {
+ src: imageSrc,
+ aspectRatio: { width: 7, height: 12 },
+ }
+ : null,
+ location: null,
+ indicatorColor: "blue",
+ links: this.getLinksForSonarrCalendarEvent(event),
+ };
+ });
}
- private getLinksForSonarCalendarEvent = (event: z.infer) => {
- const links: CalendarEvent["links"] = [
+ private getLinksForSonarrCalendarEvent = (event: z.infer) => {
+ const links: CalendarLink[] = [
{
href: this.url(`/series/${event.series.titleSlug}`).toString(),
name: "Sonarr",
logo: "/images/apps/sonarr.svg",
color: undefined,
- notificationColor: "blue",
isDark: true,
},
];
diff --git a/packages/integrations/src/mock/data/calendar.ts b/packages/integrations/src/mock/data/calendar.ts
index efc8576d7..9c298fc91 100644
--- a/packages/integrations/src/mock/data/calendar.ts
+++ b/packages/integrations/src/mock/data/calendar.ts
@@ -8,32 +8,46 @@ export class CalendarMockService implements ICalendarIntegration {
}
}
-const homarrMeetup = (start: Date, end: Date): CalendarEvent => ({
- name: "Homarr Meetup",
- subName: "",
- description: "Yearly meetup of the Homarr community",
- date: randomDateBetween(start, end),
- links: [
- {
- href: "https://homarr.dev",
- name: "Homarr",
- logo: "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/homarr.svg",
- color: "#000000",
- notificationColor: "#fa5252",
- isDark: true,
- },
- ],
-});
+const homarrMeetup = (start: Date, end: Date): CalendarEvent => {
+ const startDate = randomDateBetween(start, end);
+ const endDate = new Date(startDate.getTime() + 2 * 60 * 60 * 1000); // 2 hours later
+ return {
+ title: "Homarr Meetup",
+ subTitle: "",
+ description: "Yearly meetup of the Homarr community",
+ startDate,
+ endDate,
+ image: null,
+ location: "Mountains",
+ indicatorColor: "#fa5252",
+ links: [
+ {
+ href: "https://homarr.dev",
+ name: "Homarr",
+ logo: "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/homarr.svg",
+ color: "#000000",
+ isDark: true,
+ },
+ ],
+ };
+};
const titanicRelease = (start: Date, end: Date): CalendarEvent => ({
- name: "Titanic",
- subName: "A classic movie",
+ title: "Titanic",
+ subTitle: "A classic movie",
description: "A tragic love story set on the ill-fated RMS Titanic.",
- date: randomDateBetween(start, end),
- thumbnail: "https://image.tmdb.org/t/p/original/5bTWA20cL9LCIGNpde4Epc2Ijzn.jpg",
- mediaInformation: {
- type: "movie",
+ startDate: randomDateBetween(start, end),
+ endDate: null,
+ image: {
+ src: "https://image.tmdb.org/t/p/original/5bTWA20cL9LCIGNpde4Epc2Ijzn.jpg",
+ aspectRatio: { width: 7, height: 12 },
},
+ location: null,
+ metadata: {
+ type: "radarr",
+ releaseType: "inCinemas",
+ },
+ indicatorColor: "cyan",
links: [
{
href: "https://www.imdb.com/title/tt0120338/",
@@ -41,22 +55,26 @@ const titanicRelease = (start: Date, end: Date): CalendarEvent => ({
color: "#f5c518",
isDark: false,
logo: "/images/apps/imdb.svg",
- notificationColor: "cyan",
},
],
});
const seriesRelease = (start: Date, end: Date): CalendarEvent => ({
- name: "The Mandalorian",
- subName: "A Star Wars Series",
+ title: "The Mandalorian",
+ subTitle: "A Star Wars Series",
description: "A lone bounty hunter in the outer reaches of the galaxy.",
- date: randomDateBetween(start, end),
- thumbnail: "https://image.tmdb.org/t/p/original/ztvm7C7hiUpS3CZRXFmJxljICzK.jpg",
- mediaInformation: {
- type: "tv",
- seasonNumber: 1,
- episodeNumber: 1,
+ startDate: randomDateBetween(start, end),
+ endDate: null,
+ image: {
+ src: "https://image.tmdb.org/t/p/original/sWgBv7LV2PRoQgkxwlibdGXKz1S.jpg",
+ aspectRatio: { width: 7, height: 12 },
+ badge: {
+ content: "S1:E1",
+ color: "red",
+ },
},
+ location: null,
+ indicatorColor: "blue",
links: [
{
href: "https://www.imdb.com/title/tt8111088/",
@@ -64,7 +82,6 @@ const seriesRelease = (start: Date, end: Date): CalendarEvent => ({
color: "#f5c518",
isDark: false,
logo: "/images/apps/imdb.svg",
- notificationColor: "blue",
},
],
});
diff --git a/packages/integrations/src/nextcloud/nextcloud.integration.ts b/packages/integrations/src/nextcloud/nextcloud.integration.ts
index a855ce297..4e3dbb82e 100644
--- a/packages/integrations/src/nextcloud/nextcloud.integration.ts
+++ b/packages/integrations/src/nextcloud/nextcloud.integration.ts
@@ -63,17 +63,20 @@ export class NextcloudIntegration extends Integration implements ICalendarIntegr
);
return {
- name: veventObject.summary,
- date,
- subName: "",
+ title: veventObject.summary,
+ subTitle: null,
description: veventObject.description,
+ startDate: date,
+ endDate: veventObject.end,
+ image: null,
+ location: veventObject.location || null,
+ indicatorColor: "#ff8600",
links: [
{
href: url.toString(),
name: "Nextcloud",
logo: "/images/apps/nextcloud.svg",
color: undefined,
- notificationColor: "#ff8600",
isDark: true,
},
],
diff --git a/packages/log/package.json b/packages/log/package.json
index 92e397e67..3b6965039 100644
--- a/packages/log/package.json
+++ b/packages/log/package.json
@@ -27,7 +27,7 @@
"@homarr/core": "workspace:^0.1.0",
"superjson": "2.2.2",
"winston": "3.17.0",
- "zod": "^4.1.5"
+ "zod": "^4.1.8"
},
"devDependencies": {
"@homarr/eslint-config": "workspace:^0.2.0",
diff --git a/packages/modals-collection/package.json b/packages/modals-collection/package.json
index 337d15aad..888938e34 100644
--- a/packages/modals-collection/package.json
+++ b/packages/modals-collection/package.json
@@ -33,13 +33,13 @@
"@homarr/translation": "workspace:^0.1.0",
"@homarr/ui": "workspace:^0.1.0",
"@homarr/validation": "workspace:^0.1.0",
- "@mantine/core": "^8.2.8",
+ "@mantine/core": "^8.3.1",
"@tabler/icons-react": "^3.34.1",
"dayjs": "^1.11.18",
- "next": "15.5.2",
+ "next": "15.5.3",
"react": "19.1.1",
"react-dom": "19.1.1",
- "zod": "^4.1.5"
+ "zod": "^4.1.8"
},
"devDependencies": {
"@homarr/eslint-config": "workspace:^0.2.0",
diff --git a/packages/modals/package.json b/packages/modals/package.json
index e5a9a09ea..a889423ec 100644
--- a/packages/modals/package.json
+++ b/packages/modals/package.json
@@ -24,8 +24,8 @@
"dependencies": {
"@homarr/translation": "workspace:^0.1.0",
"@homarr/ui": "workspace:^0.1.0",
- "@mantine/core": "^8.2.8",
- "@mantine/hooks": "^8.2.8",
+ "@mantine/core": "^8.3.1",
+ "@mantine/hooks": "^8.3.1",
"react": "19.1.1"
},
"devDependencies": {
diff --git a/packages/notifications/package.json b/packages/notifications/package.json
index 3d7f4ba34..abdfb39e9 100644
--- a/packages/notifications/package.json
+++ b/packages/notifications/package.json
@@ -24,7 +24,7 @@
"prettier": "@homarr/prettier-config",
"dependencies": {
"@homarr/ui": "workspace:^0.1.0",
- "@mantine/notifications": "^8.2.8",
+ "@mantine/notifications": "^8.3.1",
"@tabler/icons-react": "^3.34.1"
},
"devDependencies": {
diff --git a/packages/old-import/package.json b/packages/old-import/package.json
index 764a91c64..ff0c024ae 100644
--- a/packages/old-import/package.json
+++ b/packages/old-import/package.json
@@ -37,14 +37,14 @@
"@homarr/translation": "workspace:^0.1.0",
"@homarr/ui": "workspace:^0.1.0",
"@homarr/validation": "workspace:^0.1.0",
- "@mantine/core": "^8.2.8",
- "@mantine/hooks": "^8.2.8",
+ "@mantine/core": "^8.3.1",
+ "@mantine/hooks": "^8.3.1",
"adm-zip": "0.5.16",
- "next": "15.5.2",
+ "next": "15.5.3",
"react": "19.1.1",
"react-dom": "19.1.1",
"superjson": "2.2.2",
- "zod": "^4.1.5",
+ "zod": "^4.1.8",
"zod-form-data": "^3.0.1"
},
"devDependencies": {
diff --git a/packages/old-schema/package.json b/packages/old-schema/package.json
index ec0727bbe..16ad821c4 100644
--- a/packages/old-schema/package.json
+++ b/packages/old-schema/package.json
@@ -23,7 +23,7 @@
"prettier": "@homarr/prettier-config",
"dependencies": {
"@homarr/common": "workspace:^0.1.0",
- "zod": "^4.1.5"
+ "zod": "^4.1.8"
},
"devDependencies": {
"@homarr/eslint-config": "workspace:^0.2.0",
diff --git a/packages/request-handler/package.json b/packages/request-handler/package.json
index 222132001..b3b4f2171 100644
--- a/packages/request-handler/package.json
+++ b/packages/request-handler/package.json
@@ -32,7 +32,7 @@
"dayjs": "^1.11.18",
"octokit": "^5.0.3",
"superjson": "2.2.2",
- "undici": "7.15.0"
+ "undici": "7.16.0"
},
"devDependencies": {
"@homarr/eslint-config": "workspace:^0.2.0",
diff --git a/packages/settings/package.json b/packages/settings/package.json
index 9ad13793f..485e36b40 100644
--- a/packages/settings/package.json
+++ b/packages/settings/package.json
@@ -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.8",
- "next": "15.5.2",
+ "@mantine/dates": "^8.3.1",
+ "next": "15.5.3",
"react": "19.1.1",
"react-dom": "19.1.1"
},
diff --git a/packages/spotlight/package.json b/packages/spotlight/package.json
index 0e9451efc..613d71c06 100644
--- a/packages/spotlight/package.json
+++ b/packages/spotlight/package.json
@@ -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.8",
- "@mantine/hooks": "^8.2.8",
- "@mantine/spotlight": "^8.2.8",
+ "@mantine/core": "^8.3.1",
+ "@mantine/hooks": "^8.3.1",
+ "@mantine/spotlight": "^8.3.1",
"@tabler/icons-react": "^3.34.1",
- "jotai": "^2.13.1",
- "next": "15.5.2",
+ "jotai": "^2.14.0",
+ "next": "15.5.3",
"react": "19.1.1",
"react-dom": "19.1.1",
"use-deep-compare-effect": "^1.8.1"
diff --git a/packages/translation/package.json b/packages/translation/package.json
index 67cc7e713..94b611906 100644
--- a/packages/translation/package.json
+++ b/packages/translation/package.json
@@ -32,8 +32,8 @@
"dayjs": "^1.11.18",
"deepmerge": "4.3.1",
"mantine-react-table": "2.0.0-beta.9",
- "next": "15.5.2",
- "next-intl": "4.3.7",
+ "next": "15.5.3",
+ "next-intl": "4.3.8",
"react": "19.1.1",
"react-dom": "19.1.1"
},
diff --git a/packages/translation/src/lang/ca.json b/packages/translation/src/lang/ca.json
index ebeed7066..1b5e2cde4 100644
--- a/packages/translation/src/lang/ca.json
+++ b/packages/translation/src/lang/ca.json
@@ -3255,9 +3255,6 @@
"dnsHole": {
"label": ""
},
- "sessionCleanup": {
- "label": ""
- },
"updateChecker": {
"label": ""
},
diff --git a/packages/translation/src/lang/cn.json b/packages/translation/src/lang/cn.json
index ae2c9ea77..8254d6c5b 100644
--- a/packages/translation/src/lang/cn.json
+++ b/packages/translation/src/lang/cn.json
@@ -3255,9 +3255,6 @@
"dnsHole": {
"label": "DNS Hole 数据"
},
- "sessionCleanup": {
- "label": "会话清理"
- },
"updateChecker": {
"label": "更新检查"
},
diff --git a/packages/translation/src/lang/cs.json b/packages/translation/src/lang/cs.json
index ff33c26af..ee130d966 100644
--- a/packages/translation/src/lang/cs.json
+++ b/packages/translation/src/lang/cs.json
@@ -3255,9 +3255,6 @@
"dnsHole": {
"label": ""
},
- "sessionCleanup": {
- "label": ""
- },
"updateChecker": {
"label": ""
},
diff --git a/packages/translation/src/lang/da.json b/packages/translation/src/lang/da.json
index 70cfda277..295d1a7d7 100644
--- a/packages/translation/src/lang/da.json
+++ b/packages/translation/src/lang/da.json
@@ -3255,9 +3255,6 @@
"dnsHole": {
"label": "DNS Hole Data"
},
- "sessionCleanup": {
- "label": "Sessions Oprydning"
- },
"updateChecker": {
"label": "Opdaterings checker"
},
diff --git a/packages/translation/src/lang/de-CH.json b/packages/translation/src/lang/de-CH.json
index f2071a2f7..09d389274 100644
--- a/packages/translation/src/lang/de-CH.json
+++ b/packages/translation/src/lang/de-CH.json
@@ -3255,9 +3255,6 @@
"dnsHole": {
"label": "DNS Hole Daten"
},
- "sessionCleanup": {
- "label": "Sitzung bereinigen"
- },
"updateChecker": {
"label": "Updateprüfer"
},
diff --git a/packages/translation/src/lang/de.json b/packages/translation/src/lang/de.json
index 2a3b4c273..3ade9ce45 100644
--- a/packages/translation/src/lang/de.json
+++ b/packages/translation/src/lang/de.json
@@ -3255,9 +3255,6 @@
"dnsHole": {
"label": "DNS Hole Daten"
},
- "sessionCleanup": {
- "label": "Sitzung bereinigen"
- },
"updateChecker": {
"label": "Updateprüfer"
},
diff --git a/packages/translation/src/lang/el.json b/packages/translation/src/lang/el.json
index e0a85d523..c3d3d88a8 100644
--- a/packages/translation/src/lang/el.json
+++ b/packages/translation/src/lang/el.json
@@ -3255,9 +3255,6 @@
"dnsHole": {
"label": ""
},
- "sessionCleanup": {
- "label": ""
- },
"updateChecker": {
"label": ""
},
diff --git a/packages/translation/src/lang/en-gb.json b/packages/translation/src/lang/en-gb.json
index e9d66e757..61461d20c 100644
--- a/packages/translation/src/lang/en-gb.json
+++ b/packages/translation/src/lang/en-gb.json
@@ -3255,9 +3255,6 @@
"dnsHole": {
"label": ""
},
- "sessionCleanup": {
- "label": ""
- },
"updateChecker": {
"label": ""
},
diff --git a/packages/translation/src/lang/en.json b/packages/translation/src/lang/en.json
index 8b5e89369..a8175679c 100644
--- a/packages/translation/src/lang/en.json
+++ b/packages/translation/src/lang/en.json
@@ -945,6 +945,10 @@
"label": "Topic",
"newLabel": "New topic"
},
+ "url": {
+ "label": "Url",
+ "newLabel": "New url"
+ },
"opnsenseApiKey": {
"label": "API Key (Key)",
"newLabel": "New API Key (Key)"
@@ -1543,7 +1547,15 @@
"width": "Width",
"height": "Height"
},
- "placeholder": "Start writing your notes"
+ "placeholder": "Start writing your notes",
+ "dismiss": {
+ "title": "Dismiss changes?",
+ "message": "You have unsaved changes in your notebook. Are you sure you want to discard them?",
+ "action": {
+ "discard": "Discard changes",
+ "keepEditing": "Keep editing"
+ }
+ }
},
"iframe": {
"name": "iFrame",
@@ -2490,7 +2502,29 @@
"systemResources": {
"name": "System resources",
"description": "CPU, Memory, Disk and other hardware usage of your system",
- "option": {},
+ "option": {
+ "hasShadow": {
+ "label": "Enable chart shading"
+ },
+ "visibleCharts": {
+ "label": "Visible charts",
+ "description": "Select the charts you want to be visible.",
+ "option": {
+ "cpu": "CPU",
+ "memory": "Memory",
+ "network": "Network"
+ }
+ },
+ "labelDisplayMode": {
+ "label": "Label display mode",
+ "option": {
+ "textWithIcon": "Show text with icon",
+ "text": "Show only text",
+ "icon": "Show only icon",
+ "hidden": "Hide label"
+ }
+ }
+ },
"card": {
"cpu": "CPU",
"memory": "MEM",
diff --git a/packages/translation/src/lang/es.json b/packages/translation/src/lang/es.json
index 510b962e2..38f87ff2a 100644
--- a/packages/translation/src/lang/es.json
+++ b/packages/translation/src/lang/es.json
@@ -954,16 +954,16 @@
"newLabel": "Nueva clave API (Credencial)"
},
"githubAppId": {
- "label": "",
- "newLabel": ""
+ "label": "ID de aplicación",
+ "newLabel": "Nuevo ID de aplicación"
},
"githubInstallationId": {
- "label": "",
- "newLabel": ""
+ "label": "ID de instalación",
+ "newLabel": "Nuevo ID de instalación"
},
"privateKey": {
- "label": "",
- "newLabel": ""
+ "label": "Clave privada",
+ "newLabel": "Nueva clave privada"
}
}
},
@@ -975,7 +975,7 @@
},
"media": {
"plural": "Imágenes",
- "search": "Encuentra una imagen",
+ "search": "Buscar una imagen",
"field": {
"name": "Nombre",
"size": "Tamaño",
@@ -3255,9 +3255,6 @@
"dnsHole": {
"label": "Datos de agujero DNS"
},
- "sessionCleanup": {
- "label": "Limpieza de sesión"
- },
"updateChecker": {
"label": "Comprobador de actualización"
},
@@ -3893,16 +3890,16 @@
"label": "Credenciales"
},
"volumes": {
- "label": ""
+ "label": "Volúmenes"
}
},
"logs": {
- "label": ""
+ "label": "Registros"
},
"certificates": {
- "label": "",
+ "label": "Certificados",
"hostnames": {
- "label": ""
+ "label": "Nombres de host"
}
}
},
@@ -3915,28 +3912,28 @@
}
},
"search": {
- "placeholder": "",
- "nothingFound": "",
+ "placeholder": "Busca lo que quieras",
+ "nothingFound": "Ningún resultado encontrado",
"error": {
- "fetch": ""
+ "fetch": "Se produjo un error al recuperar los datos"
},
"mode": {
"appIntegrationBoard": {
- "help": "",
+ "help": "Buscar aplicaciones, integraciones o tableros",
"group": {
"app": {
"title": "Aplicaciones",
"children": {
"action": {
"open": {
- "label": ""
+ "label": "Abrir URL de aplicación"
},
"edit": {
- "label": ""
+ "label": "Editar aplicación"
}
},
"detail": {
- "title": ""
+ "title": "Seleccionar una acción para la aplicación"
}
}
},
@@ -3945,122 +3942,122 @@
"children": {
"action": {
"open": {
- "label": ""
+ "label": "Abrir tablero"
},
"homeBoard": {
- "label": ""
+ "label": "Establecer como tablero de inicio"
},
"mobileBoard": {
- "label": ""
+ "label": "Establecer como tablero móvil"
},
"settings": {
- "label": ""
+ "label": "Abrir ajustes"
}
},
"detail": {
- "title": ""
+ "title": "Seleccionar una acción para el tablero"
}
}
},
"integration": {
- "title": ""
+ "title": "Integraciones"
}
}
},
"command": {
- "help": "",
+ "help": "Activar modo comando",
"group": {
"localCommand": {
- "title": ""
+ "title": "Comandos locales"
},
"globalCommand": {
- "title": "",
+ "title": "Comandos globales",
"option": {
"colorScheme": {
- "light": "",
- "dark": ""
+ "light": "Cambiar a modo claro",
+ "dark": "Cambiar a modo oscuro"
},
"language": {
- "label": "",
+ "label": "Cambiar idioma",
"children": {
"detail": {
- "title": ""
+ "title": "Selecciona tu idioma preferido"
}
}
},
"newBoard": {
- "label": ""
+ "label": "Crear un nuevo tablero"
},
"importBoard": {
- "label": ""
+ "label": "Importar un tablero"
},
"newApp": {
- "label": ""
+ "label": "Crear una nueva aplicación"
},
"newIntegration": {
- "label": "",
+ "label": "Crear una nueva integración",
"children": {
"detail": {
- "title": ""
+ "title": "Selecciona el tipo de integración que deseas crear"
}
}
},
"newUser": {
- "label": ""
+ "label": "Crear un nuevo usuario"
},
"newInvite": {
- "label": ""
+ "label": "Crear una nueva invitación"
},
"newGroup": {
- "label": ""
+ "label": "Crear un nuevo grupo"
}
}
}
}
},
"media": {
- "requestMovie": "",
- "requestSeries": "",
- "openIn": ""
+ "requestMovie": "Solicitar película",
+ "requestSeries": "Solicitar serie",
+ "openIn": "Abrir en {kind}"
},
"external": {
- "help": "",
+ "help": "Usar un motor de búsqueda externo",
"group": {
"searchEngine": {
- "title": "",
+ "title": "Motores de búsqueda",
"children": {
"action": {
"search": {
- "label": ""
+ "label": "Buscar con {name}"
}
},
"detail": {
- "title": ""
+ "title": "Selecciona una acción para el motor de búsqueda"
},
"searchResults": {
- "title": ""
+ "title": "Selecciona un resultado de búsqueda para acciones"
}
},
"option": {
"google": {
- "name": "",
- "description": ""
+ "name": "Google",
+ "description": "Buscar en la web con Google"
},
"bing": {
- "name": "",
- "description": ""
+ "name": "Bing",
+ "description": "Buscar en la web con Bing"
},
"duckduckgo": {
- "name": "",
- "description": ""
+ "name": "DuckDuckGo",
+ "description": "Buscar en la web con DuckDuckGo"
},
"torrent": {
- "name": "",
- "description": ""
+ "name": "Torrents",
+ "description": "Buscar torrents en torrentdownloads.pro"
},
"youTube": {
- "name": "",
- "description": ""
+ "name": "YouTube",
+ "description": "Buscar vídeos en YouTube"
}
}
}
@@ -4069,7 +4066,7 @@
"help": {
"group": {
"mode": {
- "title": ""
+ "title": "Modos"
},
"help": {
"title": "Ayuda",
@@ -4078,7 +4075,7 @@
"label": "Documentación"
},
"submitIssue": {
- "label": ""
+ "label": "Enviar una incidencia"
},
"discord": {
"label": "Comunidad de Discord"
@@ -4090,81 +4087,81 @@
"home": {
"group": {
"search": {
- "title": "",
+ "title": "Buscar",
"option": {
"other": {
- "label": ""
+ "label": "Buscar con otro motor de búsqueda"
},
"no-default": {
- "label": "",
- "description": ""
+ "label": "Ningún motor de búsqueda por defecto",
+ "description": "Establece un motor de búsqueda predeterminado en las preferencias"
},
"search": {
- "label": ""
+ "label": "Buscar \"{query}\" con {name}"
},
"from-integration": {
- "description": ""
+ "description": "Empieza a escribir para buscar"
}
}
},
"local": {
- "title": ""
+ "title": "Resultados locales"
}
}
},
"page": {
- "help": "",
+ "help": "Buscar páginas",
"group": {
"page": {
- "title": "",
+ "title": "Páginas",
"option": {
"manageHome": {
- "label": ""
+ "label": "Administrar página de inicio"
},
"manageBoard": {
- "label": ""
+ "label": "Administrar tableros"
},
"manageApp": {
- "label": ""
+ "label": "Administrar aplicaciones"
},
"manageIntegration": {
- "label": ""
+ "label": "Administrar integraciones"
},
"manageSearchEngine": {
- "label": ""
+ "label": "Administrar motores de búsqueda"
},
"manageMedia": {
- "label": ""
+ "label": "Administrar imágenes"
},
"manageUser": {
"label": "Administrar usuarios"
},
"manageInvite": {
- "label": ""
+ "label": "Administrar invitaciones"
},
"manageGroup": {
- "label": ""
+ "label": "Administrar grupos"
},
"manageDocker": {
- "label": ""
+ "label": "Administrar docker"
},
"manageApi": {
- "label": ""
+ "label": "Swagger API"
},
"manageLog": {
- "label": ""
+ "label": "Ver registros"
},
"manageTask": {
- "label": ""
+ "label": "Administrar tareas"
},
"manageSettings": {
- "label": ""
+ "label": "Ajustes globales"
},
"about": {
"label": "Acerca de"
},
"homeBoard": {
- "label": ""
+ "label": "Tablero de inicio"
},
"preferences": {
"label": "Tus preferencias"
@@ -4174,37 +4171,37 @@
}
},
"userGroup": {
- "help": "",
+ "help": "Buscar usuarios o grupos",
"group": {
"user": {
"title": "Usuarios",
"children": {
"action": {
"detail": {
- "label": ""
+ "label": "Mostrar detalles de usuario"
}
},
"detail": {
- "title": ""
+ "title": "Selecciona una acción para el usuario"
}
}
},
"group": {
- "title": "",
+ "title": "Grupos",
"children": {
"action": {
"detail": {
- "label": ""
+ "label": "Mostrar detalles del grupo"
},
"manageMember": {
- "label": ""
+ "label": "Administrar usuarios"
},
"managePermission": {
- "label": ""
+ "label": "Administrar permisos"
}
},
"detail": {
- "title": ""
+ "title": "Selecciona una acción para el grupo"
}
}
}
@@ -4212,72 +4209,72 @@
}
},
"engine": {
- "search": "",
+ "search": "Buscar un motor de búsqueda",
"field": {
"name": {
"label": "Nombre"
},
"short": {
- "label": ""
+ "label": "Abreviatura"
},
"urlTemplate": {
- "label": ""
+ "label": "Plantilla de búsqueda de URL"
},
"description": {
- "label": ""
+ "label": "Descripción"
}
},
"page": {
"list": {
- "title": "",
+ "title": "Motores de búsqueda",
"noResults": {
- "title": "",
- "action": ""
+ "title": "Todavía no hay motores de búsqueda",
+ "action": "Crea tu primer motor de búsqueda"
},
- "interactive": ""
+ "interactive": "Interactivo, utiliza una integración"
},
"create": {
- "title": "",
+ "title": "Nuevo motor de búsqueda",
"notification": {
"success": {
- "title": "",
- "message": ""
+ "title": "Motor de búsqueda creado",
+ "message": "El motor de búsqueda fue creado con éxito"
},
"error": {
- "title": "",
- "message": ""
+ "title": "No se creó el motor de búsqueda",
+ "message": "El motor de búsqueda no pudo ser creado"
}
}
},
"edit": {
- "title": "",
+ "title": "Editar motor de búsqueda",
"notification": {
"success": {
- "title": "",
- "message": ""
+ "title": "Cambios aplicados con éxito",
+ "message": "El motor de búsqueda se guardó con éxito"
},
"error": {
- "title": "",
- "message": ""
+ "title": "No se pudieron aplicar los cambios",
+ "message": "No se pudo guardar el motor de búsqueda"
}
},
- "configControl": "",
+ "configControl": "Configuración",
"searchEngineType": {
- "generic": "",
- "fromIntegration": ""
+ "generic": "Genérico",
+ "fromIntegration": "Desde integración"
}
},
"delete": {
- "title": "",
- "message": "",
+ "title": "Eliminar motor de búsqueda",
+ "message": "¿Estás seguro de que quieres eliminar el motor de búsqueda {name}?",
"notification": {
"success": {
- "title": "",
- "message": ""
+ "title": "Motor de búsqueda eliminado",
+ "message": "El motor de búsqueda fue eliminado con éxito"
},
"error": {
- "title": "",
- "message": ""
+ "title": "Motor de búsqueda no eliminado",
+ "message": "No se ha podido eliminar el motor de búsqueda"
}
}
}
@@ -4285,15 +4282,15 @@
"media": {
"request": {
"modal": {
- "title": "",
+ "title": "Solicitar \"{name}\"",
"table": {
"header": {
- "season": "",
- "episodes": ""
+ "season": "Temporada",
+ "episodes": "Episodios"
}
},
"button": {
- "send": ""
+ "send": "Enviar solicitud"
}
}
}
@@ -4303,89 +4300,89 @@
"certificate": {
"field": {
"hostname": {
- "label": ""
+ "label": "Nombre de host"
},
"subject": {
- "label": ""
+ "label": "Sujeto"
},
"issuer": {
- "label": ""
+ "label": "Emisor"
},
"validFrom": {
- "label": ""
+ "label": "Válido desde"
},
"validTo": {
- "label": ""
+ "label": "Válido hasta"
},
"serialNumber": {
- "label": ""
+ "label": "Número de serie"
},
"fingerprint": {
- "label": ""
+ "label": "Huella digital"
}
},
"page": {
"list": {
- "title": "",
- "description": "",
+ "title": "Certificados de confianza",
+ "description": "Utilizado por Homarr para solicitar datos de las integraciones.",
"noResults": {
- "title": ""
+ "title": "Aún no hay certificados"
},
"invalid": {
"title": "Certificado no válido",
"description": "Error al analizar el certificado"
},
- "expires": "",
- "toHostnames": ""
+ "expires": "Expira {when}",
+ "toHostnames": "Nombres de host de confianza"
},
"hostnames": {
- "title": "",
- "description": "",
+ "title": "Nombres de host de certificado de confianza",
+ "description": "Algunos certificados no permiten que el dominio específico que utiliza Homarr los solicite, debido a esto todos los nombres de host de confianza con sus huellas digitales de certificado se utilizan para eludir estas restricciones.",
"noResults": {
- "title": ""
+ "title": "Aún no hay nombres de host"
},
- "toCertificates": ""
+ "toCertificates": "Certificados"
}
},
"action": {
"create": {
- "label": "",
+ "label": "Añadir certificado",
"notification": {
"success": {
- "title": "",
- "message": ""
+ "title": "Certificado añadido",
+ "message": "El certificado fue añadido con éxito"
},
"error": {
- "title": "",
- "message": ""
+ "title": "Error al añadir el certificado",
+ "message": "No se ha podido añadir el certificado"
}
}
},
"remove": {
- "label": "",
- "confirm": "",
+ "label": "Eliminar certificado",
+ "confirm": "¿Estás seguro de que deseas eliminar el certificado?",
"notification": {
"success": {
- "title": "",
- "message": ""
+ "title": "Certificado eliminado",
+ "message": "El certificado fue eliminado con éxito"
},
"error": {
- "title": "",
- "message": ""
+ "title": "Certificado no eliminado",
+ "message": "No se ha podido eliminar el certificado"
}
}
},
"removeHostname": {
- "label": "",
- "confirm": "",
+ "label": "Eliminar nombre de host de confianza",
+ "confirm": "¿Estás seguro de que quieres eliminar este nombre de host de confianza? Esto puede causar que algunas integraciones dejen de funcionar.",
"notification": {
"success": {
- "title": "",
- "message": ""
+ "title": "Nombre de host eliminado",
+ "message": "El nombre de host fue eliminado con éxito"
},
"error": {
- "title": "",
- "message": ""
+ "title": "Nombre de host no eliminado",
+ "message": "El nombre de host no pudo ser eliminado"
}
}
}
@@ -4394,10 +4391,10 @@
"log": {
"level": {
"option": {
- "debug": "",
- "info": "",
- "warn": "",
- "error": ""
+ "debug": "Depuración",
+ "info": "Información",
+ "warn": "Advertencia",
+ "error": "Error"
}
}
}
diff --git a/packages/translation/src/lang/et.json b/packages/translation/src/lang/et.json
index 115d0b2d3..84b767c28 100644
--- a/packages/translation/src/lang/et.json
+++ b/packages/translation/src/lang/et.json
@@ -3255,9 +3255,6 @@
"dnsHole": {
"label": ""
},
- "sessionCleanup": {
- "label": ""
- },
"updateChecker": {
"label": ""
},
diff --git a/packages/translation/src/lang/fr.json b/packages/translation/src/lang/fr.json
index 681f1b031..d38cc1d31 100644
--- a/packages/translation/src/lang/fr.json
+++ b/packages/translation/src/lang/fr.json
@@ -3255,9 +3255,6 @@
"dnsHole": {
"label": "Données du puit DNS"
},
- "sessionCleanup": {
- "label": "Nettoyage de session"
- },
"updateChecker": {
"label": "Vérificateur de mise à jour"
},
diff --git a/packages/translation/src/lang/he.json b/packages/translation/src/lang/he.json
index b9c39268f..bbbc44c3f 100644
--- a/packages/translation/src/lang/he.json
+++ b/packages/translation/src/lang/he.json
@@ -3255,9 +3255,6 @@
"dnsHole": {
"label": "נתוני חור DNS"
},
- "sessionCleanup": {
- "label": "ניקוי סשן"
- },
"updateChecker": {
"label": "בודק עדכונים"
},
diff --git a/packages/translation/src/lang/hr.json b/packages/translation/src/lang/hr.json
index b7b0887ed..e9a4049df 100644
--- a/packages/translation/src/lang/hr.json
+++ b/packages/translation/src/lang/hr.json
@@ -3255,9 +3255,6 @@
"dnsHole": {
"label": ""
},
- "sessionCleanup": {
- "label": ""
- },
"updateChecker": {
"label": ""
},
diff --git a/packages/translation/src/lang/hu.json b/packages/translation/src/lang/hu.json
index 0865b068b..c20a19906 100644
--- a/packages/translation/src/lang/hu.json
+++ b/packages/translation/src/lang/hu.json
@@ -3255,9 +3255,6 @@
"dnsHole": {
"label": ""
},
- "sessionCleanup": {
- "label": ""
- },
"updateChecker": {
"label": ""
},
diff --git a/packages/translation/src/lang/it.json b/packages/translation/src/lang/it.json
index bfc6c99ae..d9405bcd8 100644
--- a/packages/translation/src/lang/it.json
+++ b/packages/translation/src/lang/it.json
@@ -3255,9 +3255,6 @@
"dnsHole": {
"label": ""
},
- "sessionCleanup": {
- "label": ""
- },
"updateChecker": {
"label": ""
},
diff --git a/packages/translation/src/lang/ja.json b/packages/translation/src/lang/ja.json
index e5570fdc0..6ab6f650c 100644
--- a/packages/translation/src/lang/ja.json
+++ b/packages/translation/src/lang/ja.json
@@ -3255,9 +3255,6 @@
"dnsHole": {
"label": "DNS Holeデータ"
},
- "sessionCleanup": {
- "label": "セッションのクリーンアップ"
- },
"updateChecker": {
"label": "アップデートチェッカー"
},
diff --git a/packages/translation/src/lang/ko.json b/packages/translation/src/lang/ko.json
index 7a6d01d9c..55011bace 100644
--- a/packages/translation/src/lang/ko.json
+++ b/packages/translation/src/lang/ko.json
@@ -3255,9 +3255,6 @@
"dnsHole": {
"label": ""
},
- "sessionCleanup": {
- "label": ""
- },
"updateChecker": {
"label": ""
},
diff --git a/packages/translation/src/lang/lt.json b/packages/translation/src/lang/lt.json
index a443804f1..a28c9cca4 100644
--- a/packages/translation/src/lang/lt.json
+++ b/packages/translation/src/lang/lt.json
@@ -3255,9 +3255,6 @@
"dnsHole": {
"label": ""
},
- "sessionCleanup": {
- "label": ""
- },
"updateChecker": {
"label": ""
},
diff --git a/packages/translation/src/lang/lv.json b/packages/translation/src/lang/lv.json
index 6fd393007..e8f722beb 100644
--- a/packages/translation/src/lang/lv.json
+++ b/packages/translation/src/lang/lv.json
@@ -3255,9 +3255,6 @@
"dnsHole": {
"label": ""
},
- "sessionCleanup": {
- "label": ""
- },
"updateChecker": {
"label": ""
},
diff --git a/packages/translation/src/lang/nl.json b/packages/translation/src/lang/nl.json
index 935d50667..648cca6dc 100644
--- a/packages/translation/src/lang/nl.json
+++ b/packages/translation/src/lang/nl.json
@@ -3255,9 +3255,6 @@
"dnsHole": {
"label": "DNS-hole gegevens"
},
- "sessionCleanup": {
- "label": "Sessie opruimen"
- },
"updateChecker": {
"label": "Update checker"
},
diff --git a/packages/translation/src/lang/no.json b/packages/translation/src/lang/no.json
index 08ce1c9b5..92ab8b8a0 100644
--- a/packages/translation/src/lang/no.json
+++ b/packages/translation/src/lang/no.json
@@ -3255,9 +3255,6 @@
"dnsHole": {
"label": "DNS Hole Data"
},
- "sessionCleanup": {
- "label": "Økt opprydding"
- },
"updateChecker": {
"label": "Oppdateringssjekk"
},
diff --git a/packages/translation/src/lang/pl.json b/packages/translation/src/lang/pl.json
index d80068cd8..c2e4860c7 100644
--- a/packages/translation/src/lang/pl.json
+++ b/packages/translation/src/lang/pl.json
@@ -3255,9 +3255,6 @@
"dnsHole": {
"label": "Dane DNS Hole"
},
- "sessionCleanup": {
- "label": "Czyszczenie sesji"
- },
"updateChecker": {
"label": "Sprawdzanie aktualizacji"
},
diff --git a/packages/translation/src/lang/pt.json b/packages/translation/src/lang/pt.json
index abac3cf08..c6750dfc1 100644
--- a/packages/translation/src/lang/pt.json
+++ b/packages/translation/src/lang/pt.json
@@ -3255,9 +3255,6 @@
"dnsHole": {
"label": ""
},
- "sessionCleanup": {
- "label": ""
- },
"updateChecker": {
"label": ""
},
diff --git a/packages/translation/src/lang/ro.json b/packages/translation/src/lang/ro.json
index 6440f5ae4..3d2ee7d4d 100644
--- a/packages/translation/src/lang/ro.json
+++ b/packages/translation/src/lang/ro.json
@@ -3255,9 +3255,6 @@
"dnsHole": {
"label": ""
},
- "sessionCleanup": {
- "label": ""
- },
"updateChecker": {
"label": ""
},
diff --git a/packages/translation/src/lang/ru.json b/packages/translation/src/lang/ru.json
index 47bcabf4a..0e6f2c4c0 100644
--- a/packages/translation/src/lang/ru.json
+++ b/packages/translation/src/lang/ru.json
@@ -3255,9 +3255,6 @@
"dnsHole": {
"label": "Данные DNS-фильтра"
},
- "sessionCleanup": {
- "label": "Очистка сессий"
- },
"updateChecker": {
"label": "Проверка обновлений"
},
diff --git a/packages/translation/src/lang/sk.json b/packages/translation/src/lang/sk.json
index 898bd6334..34b9ca904 100644
--- a/packages/translation/src/lang/sk.json
+++ b/packages/translation/src/lang/sk.json
@@ -3255,9 +3255,6 @@
"dnsHole": {
"label": "Údaje o dierach DNS"
},
- "sessionCleanup": {
- "label": "Čistenie relácie"
- },
"updateChecker": {
"label": "Kontrola aktualizácií"
},
diff --git a/packages/translation/src/lang/sl.json b/packages/translation/src/lang/sl.json
index c55eb91f5..1261a03d5 100644
--- a/packages/translation/src/lang/sl.json
+++ b/packages/translation/src/lang/sl.json
@@ -3255,9 +3255,6 @@
"dnsHole": {
"label": ""
},
- "sessionCleanup": {
- "label": ""
- },
"updateChecker": {
"label": ""
},
diff --git a/packages/translation/src/lang/sv.json b/packages/translation/src/lang/sv.json
index 8732c6833..db202e2a0 100644
--- a/packages/translation/src/lang/sv.json
+++ b/packages/translation/src/lang/sv.json
@@ -3255,9 +3255,6 @@
"dnsHole": {
"label": ""
},
- "sessionCleanup": {
- "label": ""
- },
"updateChecker": {
"label": ""
},
diff --git a/packages/translation/src/lang/tr.json b/packages/translation/src/lang/tr.json
index 51ec6773b..f223f06f4 100644
--- a/packages/translation/src/lang/tr.json
+++ b/packages/translation/src/lang/tr.json
@@ -954,16 +954,16 @@
"newLabel": "Yeni API Anahtarı (Gizli Anahtar)"
},
"githubAppId": {
- "label": "",
- "newLabel": ""
+ "label": "Uygulama Kimliği",
+ "newLabel": "Yeni Uygulama Kimliği"
},
"githubInstallationId": {
- "label": "",
- "newLabel": ""
+ "label": "Kurulum Kimliği",
+ "newLabel": "Yeni Kurulum Kimliği"
},
"privateKey": {
- "label": "",
- "newLabel": ""
+ "label": "Özel Anahtar",
+ "newLabel": "Yeni özel anahtar"
}
}
},
@@ -2273,7 +2273,7 @@
"label": "Gönderi sayısı sınırı"
},
"hideDescription": {
- "label": ""
+ "label": "Açıklamayı gizle"
}
}
},
@@ -3255,9 +3255,6 @@
"dnsHole": {
"label": "DNS Çözümleyici Verileri"
},
- "sessionCleanup": {
- "label": "Oturum Temizleme"
- },
"updateChecker": {
"label": "Güncelleme denetleyicisi"
},
diff --git a/packages/translation/src/lang/uk.json b/packages/translation/src/lang/uk.json
index edcee81cc..7f131069a 100644
--- a/packages/translation/src/lang/uk.json
+++ b/packages/translation/src/lang/uk.json
@@ -3255,9 +3255,6 @@
"dnsHole": {
"label": ""
},
- "sessionCleanup": {
- "label": ""
- },
"updateChecker": {
"label": ""
},
diff --git a/packages/translation/src/lang/vi.json b/packages/translation/src/lang/vi.json
index a4fc8f483..6883a4990 100644
--- a/packages/translation/src/lang/vi.json
+++ b/packages/translation/src/lang/vi.json
@@ -3255,9 +3255,6 @@
"dnsHole": {
"label": ""
},
- "sessionCleanup": {
- "label": ""
- },
"updateChecker": {
"label": ""
},
diff --git a/packages/translation/src/lang/zh.json b/packages/translation/src/lang/zh.json
index 4880f7965..b2b0e1aa1 100644
--- a/packages/translation/src/lang/zh.json
+++ b/packages/translation/src/lang/zh.json
@@ -3255,9 +3255,6 @@
"dnsHole": {
"label": "DNS Hole 數據"
},
- "sessionCleanup": {
- "label": "會話清理"
- },
"updateChecker": {
"label": "更新檢查"
},
diff --git a/packages/ui/package.json b/packages/ui/package.json
index 34d5be407..1d59ce96b 100644
--- a/packages/ui/package.json
+++ b/packages/ui/package.json
@@ -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.8",
- "@mantine/dates": "^8.2.8",
- "@mantine/hooks": "^8.2.8",
+ "@mantine/core": "^8.3.1",
+ "@mantine/dates": "^8.3.1",
+ "@mantine/hooks": "^8.3.1",
"@tabler/icons-react": "^3.34.1",
"mantine-react-table": "2.0.0-beta.9",
- "next": "15.5.2",
+ "next": "15.5.3",
"react": "19.1.1",
"react-dom": "19.1.1",
"svgson": "^5.3.1"
diff --git a/packages/validation/package.json b/packages/validation/package.json
index 0d0bfa8bd..79fa318aa 100644
--- a/packages/validation/package.json
+++ b/packages/validation/package.json
@@ -24,7 +24,7 @@
"dependencies": {
"@homarr/definitions": "workspace:^0.1.0",
"@homarr/translation": "workspace:^0.1.0",
- "zod": "^4.1.5",
+ "zod": "^4.1.8",
"zod-form-data": "^3.0.1"
},
"devDependencies": {
diff --git a/packages/widgets/package.json b/packages/widgets/package.json
index 2b69d10ec..1167ed0ec 100644
--- a/packages/widgets/package.json
+++ b/packages/widgets/package.json
@@ -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.8",
- "@mantine/core": "^8.2.8",
- "@mantine/hooks": "^8.2.8",
+ "@mantine/charts": "^8.3.1",
+ "@mantine/core": "^8.3.1",
+ "@mantine/hooks": "^8.3.1",
"@tabler/icons-react": "^3.34.1",
"@tiptap/extension-color": "2.26.1",
"@tiptap/extension-highlight": "2.26.1",
@@ -72,13 +72,13 @@
"dayjs": "^1.11.18",
"mantine-form-zod-resolver": "^1.3.0",
"mantine-react-table": "2.0.0-beta.9",
- "next": "15.5.2",
+ "next": "15.5.3",
"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.1.5"
+ "zod": "^4.1.8"
},
"devDependencies": {
"@homarr/eslint-config": "workspace:^0.2.0",
diff --git a/packages/widgets/src/calendar/calendar-event-list.tsx b/packages/widgets/src/calendar/calendar-event-list.tsx
index f601ecc05..0ad0a805f 100644
--- a/packages/widgets/src/calendar/calendar-event-list.tsx
+++ b/packages/widgets/src/calendar/calendar-event-list.tsx
@@ -11,9 +11,10 @@ import {
Text,
useMantineColorScheme,
} from "@mantine/core";
-import { IconClock } from "@tabler/icons-react";
+import { IconClock, IconPin } from "@tabler/icons-react";
import dayjs from "dayjs";
+import { isNullOrWhitespace } from "@homarr/common";
import type { CalendarEvent } from "@homarr/integrations/types";
import { useI18n } from "@homarr/translation/client";
@@ -40,85 +41,108 @@ export const CalendarEventList = ({ events }: CalendarEventListProps) => {
{events.map((event, eventIndex) => (
-
-
- {event.mediaInformation?.type === "tv" && (
- {`S${event.mediaInformation.seasonNumber} / E${event.mediaInformation.episodeNumber}`}
- )}
-
+ {event.image !== null && (
+
+
+ {event.image.badge !== undefined && (
+
+ {event.image.badge.content}
+
+ )}
+
+ )}
-
+
- {event.subName && (
+ {event.subTitle !== null && (
- {event.subName}
+ {event.subTitle}
)}
- {event.name}
+ {event.title}
- {event.dates ? (
+ {event.metadata?.type === "radarr" && (
- {t(
- `widget.calendar.option.releaseType.options.${event.dates.find(({ date }) => event.date === date)?.type ?? "inCinemas"}`,
- )}
-
-
- ) : (
-
-
-
- {dayjs(event.date).format("HH:mm")}
+ {t(`widget.calendar.option.releaseType.options.${event.metadata.releaseType}`)}
)}
+
+
+
+
+ {dayjs(event.startDate).format("HH:mm")}
+
+
+ {event.endDate !== null && (
+ <>
+ -{" "}
+
+ {dayjs(event.endDate).format("HH:mm")}
+
+ >
+ )}
+
- {event.description && (
+
+ {event.location !== null && (
+
+
+
+ {event.location}
+
+
+ )}
+
+ {!isNullOrWhitespace(event.description) && (
{event.description}
)}
+
{event.links.length > 0 && (
- {event.links.map((link) => (
- : undefined}
- >
- {link.name}
-
- ))}
+ {event.links
+ .filter((link) => link.href)
+ .map((link) => (
+ : undefined}
+ >
+ {link.name}
+
+ ))}
)}
diff --git a/packages/widgets/src/calendar/calender-day.tsx b/packages/widgets/src/calendar/calender-day.tsx
index a0d2644ee..3629a937f 100644
--- a/packages/widgets/src/calendar/calender-day.tsx
+++ b/packages/widgets/src/calendar/calender-day.tsx
@@ -79,7 +79,7 @@ interface NotificationIndicatorProps {
}
const NotificationIndicator = ({ events, isSmall }: NotificationIndicatorProps) => {
- const notificationEvents = [...new Set(events.map((event) => event.links[0]?.notificationColor))].filter(String);
+ const notificationEvents = [...new Set(events.map((event) => event.indicatorColor))].filter(String);
/* position bottom is lower when small to not be on top of number*/
return (
diff --git a/packages/widgets/src/calendar/component.tsx b/packages/widgets/src/calendar/component.tsx
index bb9a067c1..d3534176d 100644
--- a/packages/widgets/src/calendar/component.tsx
+++ b/packages/widgets/src/calendar/component.tsx
@@ -10,7 +10,6 @@ import dayjs from "dayjs";
import type { RouterOutputs } from "@homarr/api";
import { clientApi } from "@homarr/api/client";
import { useRequiredBoard } from "@homarr/boards/context";
-import type { CalendarEvent } from "@homarr/integrations/types";
import { useSettings } from "@homarr/settings";
import type { WidgetComponentProps } from "../definition";
@@ -124,13 +123,11 @@ const CalendarBase = ({ isEditMode, events, month, setMonth, options }: Calendar
}}
renderDay={(tileDate) => {
const eventsForDate = events
- .map((event) => ({
- ...event,
- date: (event.dates?.filter(({ type }) => options.releaseType.includes(type)) ?? [event]).find(({ date }) =>
- dayjs(date).isSame(tileDate, "day"),
- )?.date,
- }))
- .filter((event): event is CalendarEvent => Boolean(event.date));
+ .filter((event) => dayjs(event.startDate).isSame(tileDate, "day"))
+ .filter(
+ (event) => event.metadata?.type !== "radarr" || options.releaseType.includes(event.metadata.releaseType),
+ )
+ .sort((eventA, eventB) => eventA.startDate.getTime() - eventB.startDate.getTime());
return (
{
- setIsEditing(handleEditCancelCallback);
- }, [setIsEditing, handleEditCancelCallback]);
+ openConfirmModal({
+ title: t("widget.notebook.dismiss.title"),
+ children: t("widget.notebook.dismiss.message"),
+ labels: {
+ confirm: t("widget.notebook.dismiss.action.discard"),
+ cancel: t("widget.notebook.dismiss.action.keepEditing"),
+ },
+ onConfirm: () => {
+ setIsEditing(handleEditCancelCallback);
+ },
+ });
+ }, [setIsEditing, handleEditCancelCallback, openConfirmModal, t]);
const handleEditToggle = useCallback(() => {
setIsEditing(handleEditToggleCallback);
diff --git a/packages/widgets/src/system-resources/chart/combined-network-traffic.tsx b/packages/widgets/src/system-resources/chart/combined-network-traffic.tsx
index d2db770da..38c72c72c 100644
--- a/packages/widgets/src/system-resources/chart/combined-network-traffic.tsx
+++ b/packages/widgets/src/system-resources/chart/combined-network-traffic.tsx
@@ -1,17 +1,23 @@
import { Box, Group, Paper, Stack, Text } from "@mantine/core";
+import { IconNetwork } from "@tabler/icons-react";
import { humanFileSize } from "@homarr/common";
import { useScopedI18n } from "@homarr/translation/client";
+import type { LabelDisplayModeOption } from "..";
import { CommonChart } from "./common-chart";
export const CombinedNetworkTrafficChart = ({
usageOverTime,
+ hasShadow,
+ labelDisplayMode,
}: {
usageOverTime: {
up: number;
down: number;
}[];
+ hasShadow: boolean;
+ labelDisplayMode: LabelDisplayModeOption;
}) => {
const chartData = usageOverTime.map((usage, index) => ({ index, up: usage.up, down: usage.down }));
const t = useScopedI18n("widget.systemResources.card");
@@ -25,7 +31,10 @@ export const CombinedNetworkTrafficChart = ({
{ name: "down", color: "yellow.5" },
]}
title={t("network")}
+ icon={IconNetwork}
yAxisProps={{ domain: [0, "dataMax"] }}
+ chartType={hasShadow ? "area" : "line"}
+ labelDisplayMode={labelDisplayMode}
tooltipProps={{
content: ({ payload }) => {
if (!payload) {
diff --git a/packages/widgets/src/system-resources/chart/common-chart.tsx b/packages/widgets/src/system-resources/chart/common-chart.tsx
index 40760abdd..f7cc57c27 100644
--- a/packages/widgets/src/system-resources/chart/common-chart.tsx
+++ b/packages/widgets/src/system-resources/chart/common-chart.tsx
@@ -1,28 +1,38 @@
/* eslint-disable @typescript-eslint/no-explicit-any */
-import type { LineChartSeries } from "@mantine/charts";
-import { LineChart } from "@mantine/charts";
+import type { ReactNode } from "react";
+import type { AreaChartSeries } from "@mantine/charts";
+import { AreaChart, LineChart } from "@mantine/charts";
import { Card, Center, Group, Loader, Stack, Text, useMantineColorScheme, useMantineTheme } from "@mantine/core";
import { useElementSize, useHover, useMergedRef } from "@mantine/hooks";
import type { TooltipProps, YAxisProps } from "recharts";
import { useRequiredBoard } from "@homarr/boards/context";
+import type { TablerIcon } from "@homarr/ui";
+
+import type { LabelDisplayModeOption } from "..";
export const CommonChart = ({
data,
dataKey,
series,
title,
+ icon: Icon,
+ labelDisplayMode,
tooltipProps,
yAxisProps,
lastValue,
+ chartType = "line",
}: {
data: Record[];
dataKey: string;
- series: LineChartSeries[];
- title: string;
+ series: AreaChartSeries[];
+ title: ReactNode;
+ icon: TablerIcon;
+ labelDisplayMode: LabelDisplayModeOption;
tooltipProps?: TooltipProps;
yAxisProps?: Omit;
lastValue?: string;
+ chartType?: "line" | "area";
}) => {
const { ref: elementSizeRef, height } = useElementSize();
const theme = useMantineTheme();
@@ -35,6 +45,10 @@ export const CommonChart = ({
const backgroundColor =
scheme.colorScheme === "dark" ? `rgba(57, 57, 57, ${opacity})` : `rgba(246, 247, 248, ${opacity})`;
+ const ChartComponent = chartType === "line" ? LineChart : AreaChart;
+ const showIcon = labelDisplayMode === "icon" || labelDisplayMode === "textWithIcon";
+ const showText = labelDisplayMode === "text" || labelDisplayMode === "textWithIcon";
+
return (
- 100 ? "md" : "xs"} fw={"bold"}>
- {title}
-
+ {showIcon && 100 ? 20 : 14} stroke={1.5} />}
+ {showText && (
+ 100 ? "md" : "xs"} fw={"bold"}>
+ {title}
+
+ )}
{lastValue && (
100 ? "md" : "xs"} lineClamp={1}>
{lastValue}
@@ -73,7 +91,7 @@ export const CommonChart = ({
) : (
- = 64}
yAxisProps={yAxisProps}
+ fillOpacity={chartType === "area" ? 0.3 : undefined}
/>
)}
diff --git a/packages/widgets/src/system-resources/chart/cpu-chart.tsx b/packages/widgets/src/system-resources/chart/cpu-chart.tsx
index 0e5f81e81..ceb6ba547 100644
--- a/packages/widgets/src/system-resources/chart/cpu-chart.tsx
+++ b/packages/widgets/src/system-resources/chart/cpu-chart.tsx
@@ -1,10 +1,20 @@
import { Paper, Text } from "@mantine/core";
+import { IconCpu } from "@tabler/icons-react";
import { useScopedI18n } from "@homarr/translation/client";
+import type { LabelDisplayModeOption } from "..";
import { CommonChart } from "./common-chart";
-export const SystemResourceCPUChart = ({ cpuUsageOverTime }: { cpuUsageOverTime: number[] }) => {
+export const SystemResourceCPUChart = ({
+ cpuUsageOverTime,
+ hasShadow,
+ labelDisplayMode,
+}: {
+ cpuUsageOverTime: number[];
+ hasShadow: boolean;
+ labelDisplayMode: LabelDisplayModeOption;
+}) => {
const chartData = cpuUsageOverTime.map((usage, index) => ({ index, usage }));
const t = useScopedI18n("widget.systemResources.card");
@@ -14,11 +24,14 @@ export const SystemResourceCPUChart = ({ cpuUsageOverTime }: { cpuUsageOverTime:
dataKey={"index"}
series={[{ name: "usage", color: "blue.5" }]}
title={t("cpu")}
+ icon={IconCpu}
lastValue={
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
cpuUsageOverTime.length > 0 ? `${Math.round(cpuUsageOverTime[cpuUsageOverTime.length - 1]!)}%` : undefined
}
+ chartType={hasShadow ? "area" : "line"}
yAxisProps={{ domain: [0, 100] }}
+ labelDisplayMode={labelDisplayMode}
tooltipProps={{
content: ({ payload }) => {
if (!payload) {
diff --git a/packages/widgets/src/system-resources/chart/memory-chart.tsx b/packages/widgets/src/system-resources/chart/memory-chart.tsx
index 026128268..b0c6d14c1 100644
--- a/packages/widgets/src/system-resources/chart/memory-chart.tsx
+++ b/packages/widgets/src/system-resources/chart/memory-chart.tsx
@@ -1,16 +1,22 @@
import { Paper, Text } from "@mantine/core";
+import { IconBrain } from "@tabler/icons-react";
import { humanFileSize } from "@homarr/common";
import { useScopedI18n } from "@homarr/translation/client";
+import type { LabelDisplayModeOption } from "..";
import { CommonChart } from "./common-chart";
export const SystemResourceMemoryChart = ({
memoryUsageOverTime,
totalCapacityInBytes,
+ hasShadow,
+ labelDisplayMode,
}: {
memoryUsageOverTime: number[];
totalCapacityInBytes: number;
+ hasShadow: boolean;
+ labelDisplayMode: LabelDisplayModeOption;
}) => {
const chartData = memoryUsageOverTime.map((usage, index) => ({ index, usage }));
const t = useScopedI18n("widget.systemResources.card");
@@ -27,8 +33,11 @@ export const SystemResourceMemoryChart = ({
dataKey={"index"}
series={[{ name: "usage", color: "red.6" }]}
title={t("memory")}
+ icon={IconBrain}
+ labelDisplayMode={labelDisplayMode}
yAxisProps={{ domain: [0, totalCapacityInBytes] }}
lastValue={percentageUsed !== undefined ? `${Math.round(percentageUsed * 100)}%` : undefined}
+ chartType={hasShadow ? "area" : "line"}
tooltipProps={{
content: ({ payload }) => {
if (!payload) {
diff --git a/packages/widgets/src/system-resources/chart/network-traffic.tsx b/packages/widgets/src/system-resources/chart/network-traffic.tsx
index 91e9a201d..5edbabd61 100644
--- a/packages/widgets/src/system-resources/chart/network-traffic.tsx
+++ b/packages/widgets/src/system-resources/chart/network-traffic.tsx
@@ -1,11 +1,23 @@
import { Paper, Text } from "@mantine/core";
+import { IconArrowDown, IconArrowUp } from "@tabler/icons-react";
import { humanFileSize } from "@homarr/common";
import { useScopedI18n } from "@homarr/translation/client";
+import type { LabelDisplayModeOption } from "..";
import { CommonChart } from "./common-chart";
-export const NetworkTrafficChart = ({ usageOverTime, isUp }: { usageOverTime: number[]; isUp: boolean }) => {
+export const NetworkTrafficChart = ({
+ usageOverTime,
+ isUp,
+ hasShadow,
+ labelDisplayMode,
+}: {
+ usageOverTime: number[];
+ isUp: boolean;
+ hasShadow: boolean;
+ labelDisplayMode: LabelDisplayModeOption;
+}) => {
const chartData = usageOverTime.map((usage, index) => ({ index, usage }));
const t = useScopedI18n("widget.systemResources.card");
@@ -18,8 +30,11 @@ export const NetworkTrafficChart = ({ usageOverTime, isUp }: { usageOverTime: nu
dataKey={"index"}
series={[{ name: "usage", color: "yellow.5" }]}
title={isUp ? t("up") : t("down")}
+ icon={isUp ? IconArrowUp : IconArrowDown}
yAxisProps={{ domain: [0, upperBound] }}
lastValue={`${humanFileSize(Math.round(max))}/s`}
+ chartType={hasShadow ? "area" : "line"}
+ labelDisplayMode={labelDisplayMode}
tooltipProps={{
content: ({ payload }) => {
if (!payload) {
diff --git a/packages/widgets/src/system-resources/component.module.css b/packages/widgets/src/system-resources/component.module.css
deleted file mode 100644
index da1a998ed..000000000
--- a/packages/widgets/src/system-resources/component.module.css
+++ /dev/null
@@ -1,14 +0,0 @@
-.grid {
- display: grid;
- grid-template-rows: repeat(3, 1fr);
- grid-template-columns: repeat(2, 1fr);
- gap: 8px;
- padding: 8px;
-
- height: 100%;
-}
-
-.colSpanWide {
- grid-column-start: 1;
- grid-column-end: 3;
-}
diff --git a/packages/widgets/src/system-resources/component.tsx b/packages/widgets/src/system-resources/component.tsx
index 501eddc65..623ed8aa2 100644
--- a/packages/widgets/src/system-resources/component.tsx
+++ b/packages/widgets/src/system-resources/component.tsx
@@ -1,6 +1,7 @@
"use client";
import { useState } from "react";
+import { Box, Group, Stack } from "@mantine/core";
import { useElementSize } from "@mantine/hooks";
import { clientApi } from "@homarr/api/client";
@@ -10,11 +11,10 @@ import { CombinedNetworkTrafficChart } from "./chart/combined-network-traffic";
import { SystemResourceCPUChart } from "./chart/cpu-chart";
import { SystemResourceMemoryChart } from "./chart/memory-chart";
import { NetworkTrafficChart } from "./chart/network-traffic";
-import classes from "./component.module.css";
const MAX_QUEUE_SIZE = 15;
-export default function SystemResources({ integrationIds }: WidgetComponentProps<"systemResources">) {
+export default function SystemResources({ integrationIds, options }: WidgetComponentProps<"systemResources">) {
const { ref, width } = useElementSize();
const [data] = clientApi.widget.healthMonitoring.getSystemHealthStatus.useSuspenseQuery({
@@ -49,34 +49,60 @@ export default function SystemResources({ integrationIds }: WidgetComponentProps
},
);
- const showNetwork = items.length === 0 || items.every((item) => item.network !== null);
+ const showNetwork =
+ items.length === 0 || (items.every((item) => item.network !== null) && options.visibleCharts.includes("network"));
+ const rowHeight = `calc((100% - ${(options.visibleCharts.length - 1) * 8}px) / ${options.visibleCharts.length})`;
return (
-
-
- item.cpu)} />
-
-
- item.memory)}
- totalCapacityInBytes={memoryCapacityInBytes}
- />
-
+
+ {options.visibleCharts.includes("cpu") && (
+
+ item.cpu)}
+ hasShadow={options.hasShadow}
+ labelDisplayMode={options.labelDisplayMode}
+ />
+
+ )}
+ {options.visibleCharts.includes("memory") && (
+
+ item.memory)}
+ totalCapacityInBytes={memoryCapacityInBytes}
+ hasShadow={options.hasShadow}
+ labelDisplayMode={options.labelDisplayMode}
+ />
+
+ )}
{showNetwork &&
- (width > 200 ? (
- <>
- {/* eslint-disable-next-line @typescript-eslint/no-non-null-assertion */}
- item.network!.down)} isUp={false} />
+ (width > 256 ? (
+
+ item.network!.down)}
+ isUp={false}
+ hasShadow={options.hasShadow}
+ labelDisplayMode={options.labelDisplayMode}
+ />
- {/* eslint-disable-next-line @typescript-eslint/no-non-null-assertion */}
- item.network!.up)} isUp />
- >
+ item.network!.up)}
+ isUp
+ hasShadow={options.hasShadow}
+ labelDisplayMode={options.labelDisplayMode}
+ />
+
) : (
-
- {/* eslint-disable-next-line @typescript-eslint/no-non-null-assertion */}
- item.network!)} />
-
+
+ item.network!)}
+ hasShadow={options.hasShadow}
+ labelDisplayMode={options.labelDisplayMode}
+ />
+
))}
-
+
);
}
diff --git a/packages/widgets/src/system-resources/index.ts b/packages/widgets/src/system-resources/index.ts
index e808fd0c1..4e0fe27fa 100644
--- a/packages/widgets/src/system-resources/index.ts
+++ b/packages/widgets/src/system-resources/index.ts
@@ -1,12 +1,43 @@
-import { IconGraphFilled } from "@tabler/icons-react";
+import { IconAlignLeft, IconEyeOff, IconGraphFilled, IconListDetails, IconPhoto } from "@tabler/icons-react";
+
+import { objectEntries } from "@homarr/common";
import { createWidgetDefinition } from "../definition";
import { optionsBuilder } from "../options";
+const labelDisplayModeOptions = {
+ textWithIcon: IconListDetails,
+ text: IconAlignLeft,
+ icon: IconPhoto,
+ hidden: IconEyeOff,
+} as const;
+
export const { definition, componentLoader } = createWidgetDefinition("systemResources", {
icon: IconGraphFilled,
supportedIntegrations: ["dashDot", "openmediavault", "truenas"],
createOptions() {
- return optionsBuilder.from(() => ({}));
+ return optionsBuilder.from((factory) => ({
+ hasShadow: factory.switch({ defaultValue: true }),
+ visibleCharts: factory.multiSelect({
+ options: (["cpu", "memory", "network"] as const).map((key) => ({
+ value: key,
+ label: (t) => t(`widget.systemResources.option.visibleCharts.option.${key}`),
+ })),
+ defaultValue: ["cpu", "memory", "network"],
+ withDescription: true,
+ }),
+ labelDisplayMode: factory.select({
+ options: objectEntries(labelDisplayModeOptions).map(([key, icon]) => ({
+ value: key,
+ label: (t) => t(`widget.systemResources.option.labelDisplayMode.option.${key}`),
+ icon,
+ })),
+ defaultValue: "textWithIcon",
+ }),
+ }));
},
}).withDynamicImport(() => import("./component"));
+
+export type LabelDisplayModeOption = ReturnType<
+ (typeof definition)["createOptions"]
+>["labelDisplayMode"]["options"][number]["value"];
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index f4d246ef5..dffaaba89 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -7,16 +7,17 @@ settings:
overrides:
'@babel/helpers@<7.26.10': '>=7.28.4'
'@babel/runtime@<7.26.10': '>=7.28.4'
- axios@>=1.0.0 <1.8.2: '>=1.12.1'
+ axios@>=1.0.0 <1.8.2: '>=1.12.2'
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.9.6'
+ hono@<4.6.5: '>=4.9.7'
linkifyjs@<4.3.2: '>=4.3.2'
nanoid@>=4.0.0 <5.0.9: '>=5.1.5'
prismjs@<1.30.0: '>=1.30.0'
- proxmox-api>undici: 7.15.0
+ proxmox-api>undici: 7.16.0
+ react-is: ^19.1.1
rollup@>=4.0.0 <4.22.4: '>=4.50.1'
sha.js@<=2.4.11: '>=2.4.12'
tar-fs@>=3.0.0 <3.0.9: '>=3.1.0'
@@ -49,8 +50,8 @@ importers:
specifier: ^10.0.1
version: 10.0.1(semantic-release@24.2.8(typescript@5.9.2))
'@semantic-release/github':
- specifier: ^11.0.5
- version: 11.0.5(semantic-release@24.2.8(typescript@5.9.2))
+ specifier: ^11.0.6
+ version: 11.0.6(semantic-release@24.2.8(typescript@5.9.2))
'@semantic-release/npm':
specifier: ^12.0.2
version: 12.0.2(semantic-release@24.2.8(typescript@5.9.2))
@@ -62,10 +63,10 @@ importers:
version: 11.5.1
'@turbo/gen':
specifier: ^2.5.6
- version: 2.5.6(@types/node@22.18.1)(typescript@5.9.2)
+ version: 2.5.6(@types/node@22.18.6)(typescript@5.9.2)
'@vitejs/plugin-react':
specifier: ^5.0.2
- version: 5.0.2(vite@7.1.5(@types/node@22.18.1)(sass@1.92.1)(sugarss@5.0.0(postcss@8.5.6))(terser@5.39.0)(tsx@4.20.5)(yaml@2.5.1))
+ version: 5.0.2(vite@7.1.5(@types/node@22.18.6)(sass@1.92.1)(sugarss@5.0.0(postcss@8.5.6))(terser@5.39.0)(tsx@4.20.5)(yaml@2.5.1))
'@vitest/coverage-v8':
specifier: ^3.2.4
version: 3.2.4(vitest@3.2.4)
@@ -79,8 +80,8 @@ importers:
specifier: ^10.0.0
version: 10.0.0
jsdom:
- specifier: ^26.1.0
- version: 26.1.0
+ specifier: ^27.0.0
+ version: 27.0.0(postcss@8.5.6)
prettier:
specifier: ^3.6.2
version: 3.6.2
@@ -98,10 +99,10 @@ importers:
version: 5.9.2
vite-tsconfig-paths:
specifier: ^5.1.4
- version: 5.1.4(typescript@5.9.2)(vite@7.1.5(@types/node@22.18.1)(sass@1.92.1)(sugarss@5.0.0(postcss@8.5.6))(terser@5.39.0)(tsx@4.20.5)(yaml@2.5.1))
+ version: 5.1.4(typescript@5.9.2)(vite@7.1.5(@types/node@22.18.6)(sass@1.92.1)(sugarss@5.0.0(postcss@8.5.6))(terser@5.39.0)(tsx@4.20.5)(yaml@2.5.1))
vitest:
specifier: ^3.2.4
- version: 3.2.4(@types/debug@4.1.12)(@types/node@22.18.1)(@vitest/ui@3.2.4)(jsdom@26.1.0)(sass@1.92.1)(sugarss@5.0.0(postcss@8.5.6))(terser@5.39.0)(tsx@4.20.5)(yaml@2.5.1)
+ version: 3.2.4(@types/debug@4.1.12)(@types/node@22.18.6)(@vitest/ui@3.2.4)(jsdom@27.0.0(postcss@8.5.6))(sass@1.92.1)(sugarss@5.0.0(postcss@8.5.6))(terser@5.39.0)(tsx@4.20.5)(yaml@2.5.1)
apps/nextjs:
dependencies:
@@ -211,23 +212,23 @@ importers:
specifier: workspace:^0.1.0
version: link:../../packages/widgets
'@mantine/colors-generator':
- specifier: ^8.2.8
- version: 8.2.8(chroma-js@3.1.2)
+ specifier: ^8.3.1
+ version: 8.3.1(chroma-js@3.1.2)
'@mantine/core':
- specifier: ^8.2.8
- version: 8.2.8(@mantine/hooks@8.2.8(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
+ specifier: ^8.3.1
+ version: 8.3.1(@mantine/hooks@8.3.1(react@19.1.1))(@types/react@19.1.13)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
'@mantine/dropzone':
- specifier: ^8.2.8
- version: 8.2.8(@mantine/core@8.2.8(@mantine/hooks@8.2.8(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/hooks@8.2.8(react@19.1.1))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
+ specifier: ^8.3.1
+ version: 8.3.1(@mantine/core@8.3.1(@mantine/hooks@8.3.1(react@19.1.1))(@types/react@19.1.13)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/hooks@8.3.1(react@19.1.1))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
'@mantine/hooks':
- specifier: ^8.2.8
- version: 8.2.8(react@19.1.1)
+ specifier: ^8.3.1
+ version: 8.3.1(react@19.1.1)
'@mantine/modals':
- specifier: ^8.2.8
- version: 8.2.8(@mantine/core@8.2.8(@mantine/hooks@8.2.8(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/hooks@8.2.8(react@19.1.1))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
+ specifier: ^8.3.1
+ version: 8.3.1(@mantine/core@8.3.1(@mantine/hooks@8.3.1(react@19.1.1))(@types/react@19.1.13)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/hooks@8.3.1(react@19.1.1))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
'@mantine/tiptap':
- specifier: ^8.2.8
- version: 8.2.8(@mantine/core@8.2.8(@mantine/hooks@8.2.8(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/hooks@8.2.8(react@19.1.1))(@tiptap/extension-link@2.26.1(@tiptap/core@2.26.1(@tiptap/pm@2.26.1))(@tiptap/pm@2.26.1))(@tiptap/react@2.26.1(@tiptap/core@2.26.1(@tiptap/pm@2.26.1))(@tiptap/pm@2.26.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
+ specifier: ^8.3.1
+ version: 8.3.1(@mantine/core@8.3.1(@mantine/hooks@8.3.1(react@19.1.1))(@types/react@19.1.13)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/hooks@8.3.1(react@19.1.1))(@tiptap/extension-link@2.26.1(@tiptap/core@2.26.1(@tiptap/pm@2.26.1))(@tiptap/pm@2.26.1))(@tiptap/react@2.26.1(@tiptap/core@2.26.1(@tiptap/pm@2.26.1))(@tiptap/pm@2.26.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
'@million/lint':
specifier: 1.0.14
version: 1.0.14(webpack-sources@3.2.3)
@@ -235,23 +236,23 @@ importers:
specifier: ^3.34.1
version: 3.34.1(react@19.1.1)
'@tanstack/react-query':
- specifier: ^5.87.1
- version: 5.87.1(react@19.1.1)
+ specifier: ^5.87.4
+ version: 5.87.4(react@19.1.1)
'@tanstack/react-query-devtools':
- specifier: ^5.87.1
- version: 5.87.1(@tanstack/react-query@5.87.1(react@19.1.1))(react@19.1.1)
+ specifier: ^5.87.4
+ version: 5.87.4(@tanstack/react-query@5.87.4(react@19.1.1))(react@19.1.1)
'@tanstack/react-query-next-experimental':
- specifier: ^5.87.1
- version: 5.87.1(@tanstack/react-query@5.87.1(react@19.1.1))(next@15.5.2(@babel/core@7.26.0)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(sass@1.92.1))(react@19.1.1)
+ specifier: ^5.87.4
+ version: 5.87.4(@tanstack/react-query@5.87.4(react@19.1.1))(next@15.5.3(@babel/core@7.26.0)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(sass@1.92.1))(react@19.1.1)
'@trpc/client':
specifier: ^11.5.1
version: 11.5.1(@trpc/server@11.5.1(typescript@5.9.2))(typescript@5.9.2)
'@trpc/next':
specifier: ^11.5.1
- version: 11.5.1(@tanstack/react-query@5.87.1(react@19.1.1))(@trpc/client@11.5.1(@trpc/server@11.5.1(typescript@5.9.2))(typescript@5.9.2))(@trpc/react-query@11.5.1(@tanstack/react-query@5.87.1(react@19.1.1))(@trpc/client@11.5.1(@trpc/server@11.5.1(typescript@5.9.2))(typescript@5.9.2))(@trpc/server@11.5.1(typescript@5.9.2))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(typescript@5.9.2))(@trpc/server@11.5.1(typescript@5.9.2))(next@15.5.2(@babel/core@7.26.0)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(sass@1.92.1))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(typescript@5.9.2)
+ version: 11.5.1(@tanstack/react-query@5.87.4(react@19.1.1))(@trpc/client@11.5.1(@trpc/server@11.5.1(typescript@5.9.2))(typescript@5.9.2))(@trpc/react-query@11.5.1(@tanstack/react-query@5.87.4(react@19.1.1))(@trpc/client@11.5.1(@trpc/server@11.5.1(typescript@5.9.2))(typescript@5.9.2))(@trpc/server@11.5.1(typescript@5.9.2))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(typescript@5.9.2))(@trpc/server@11.5.1(typescript@5.9.2))(next@15.5.3(@babel/core@7.26.0)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(sass@1.92.1))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(typescript@5.9.2)
'@trpc/react-query':
specifier: ^11.5.1
- version: 11.5.1(@tanstack/react-query@5.87.1(react@19.1.1))(@trpc/client@11.5.1(@trpc/server@11.5.1(typescript@5.9.2))(typescript@5.9.2))(@trpc/server@11.5.1(typescript@5.9.2))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(typescript@5.9.2)
+ version: 11.5.1(@tanstack/react-query@5.87.4(react@19.1.1))(@trpc/client@11.5.1(@trpc/server@11.5.1(typescript@5.9.2))(typescript@5.9.2))(@trpc/server@11.5.1(typescript@5.9.2))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(typescript@5.9.2)
'@trpc/server':
specifier: ^11.5.1
version: 11.5.1(typescript@5.9.2)
@@ -283,14 +284,14 @@ importers:
specifier: ^11.0.3
version: 11.0.3
jotai:
- specifier: ^2.13.1
- version: 2.13.1(@babel/core@7.26.0)(@babel/template@7.27.2)(@types/react@19.1.12)(react@19.1.1)
+ specifier: ^2.14.0
+ version: 2.14.0(@babel/core@7.26.0)(@babel/template@7.27.2)(@types/react@19.1.13)(react@19.1.1)
mantine-react-table:
specifier: 2.0.0-beta.9
- version: 2.0.0-beta.9(@mantine/core@8.2.8(@mantine/hooks@8.2.8(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/dates@8.2.8(@mantine/core@8.2.8(@mantine/hooks@8.2.8(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/hooks@8.2.8(react@19.1.1))(dayjs@1.11.18)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/hooks@8.2.8(react@19.1.1))(@tabler/icons-react@3.34.1(react@19.1.1))(clsx@2.1.1)(dayjs@1.11.18)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
+ version: 2.0.0-beta.9(@mantine/core@8.3.1(@mantine/hooks@8.3.1(react@19.1.1))(@types/react@19.1.13)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/dates@8.3.1(@mantine/core@8.3.1(@mantine/hooks@8.3.1(react@19.1.1))(@types/react@19.1.13)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/hooks@8.3.1(react@19.1.1))(dayjs@1.11.18)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/hooks@8.3.1(react@19.1.1))(@tabler/icons-react@3.34.1(react@19.1.1))(clsx@2.1.1)(dayjs@1.11.18)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
next:
- specifier: 15.5.2
- version: 15.5.2(@babel/core@7.26.0)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(sass@1.92.1)
+ specifier: 15.5.3
+ version: 15.5.3(@babel/core@7.26.0)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(sass@1.92.1)
postcss-preset-mantine:
specifier: ^1.18.0
version: 1.18.0(postcss@8.5.6)
@@ -316,14 +317,14 @@ importers:
specifier: 2.2.2
version: 2.2.2
swagger-ui-react:
- specifier: ^5.28.1
- version: 5.28.1(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
+ specifier: ^5.29.0
+ version: 5.29.0(@types/react@19.1.13)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
use-deep-compare-effect:
specifier: ^1.8.1
version: 1.8.1(react@19.1.1)
zod:
- specifier: ^4.1.5
- version: 4.1.5
+ specifier: ^4.1.8
+ version: 4.1.8
devDependencies:
'@homarr/eslint-config':
specifier: workspace:^0.2.0
@@ -338,17 +339,17 @@ importers:
specifier: 3.1.1
version: 3.1.1
'@types/node':
- specifier: ^22.18.1
- version: 22.18.1
+ specifier: ^22.18.3
+ version: 22.18.6
'@types/prismjs':
specifier: ^1.26.5
version: 1.26.5
'@types/react':
- specifier: 19.1.12
- version: 19.1.12
+ specifier: 19.1.13
+ version: 19.1.13
'@types/react-dom':
specifier: 19.1.9
- version: 19.1.9(@types/react@19.1.12)
+ version: 19.1.9(@types/react@19.1.13)
'@types/swagger-ui-react':
specifier: ^5.18.0
version: 5.18.0
@@ -434,8 +435,8 @@ importers:
specifier: 2.2.2
version: 2.2.2
undici:
- specifier: 7.15.0
- version: 7.15.0
+ specifier: 7.16.0
+ version: 7.16.0
devDependencies:
'@homarr/eslint-config':
specifier: workspace:^0.2.0
@@ -447,8 +448,8 @@ importers:
specifier: workspace:^0.1.0
version: link:../../tooling/typescript
'@types/node':
- specifier: ^22.18.1
- version: 22.18.1
+ specifier: ^22.18.3
+ version: 22.18.6
dotenv-cli:
specifier: ^10.0.0
version: 10.0.0
@@ -629,26 +630,26 @@ importers:
specifier: ^1.3.0
version: 1.3.0
'@tanstack/react-query':
- specifier: ^5.87.1
- version: 5.87.1(react@19.1.1)
+ specifier: ^5.87.4
+ version: 5.87.4(react@19.1.1)
'@trpc/client':
specifier: ^11.5.1
version: 11.5.1(@trpc/server@11.5.1(typescript@5.9.2))(typescript@5.9.2)
'@trpc/react-query':
specifier: ^11.5.1
- version: 11.5.1(@tanstack/react-query@5.87.1(react@19.1.1))(@trpc/client@11.5.1(@trpc/server@11.5.1(typescript@5.9.2))(typescript@5.9.2))(@trpc/server@11.5.1(typescript@5.9.2))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(typescript@5.9.2)
+ version: 11.5.1(@tanstack/react-query@5.87.4(react@19.1.1))(@trpc/client@11.5.1(@trpc/server@11.5.1(typescript@5.9.2))(typescript@5.9.2))(@trpc/server@11.5.1(typescript@5.9.2))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(typescript@5.9.2)
'@trpc/server':
specifier: ^11.5.1
version: 11.5.1(typescript@5.9.2)
'@trpc/tanstack-react-query':
specifier: ^11.5.1
- version: 11.5.1(@tanstack/react-query@5.87.1(react@19.1.1))(@trpc/client@11.5.1(@trpc/server@11.5.1(typescript@5.9.2))(typescript@5.9.2))(@trpc/server@11.5.1(typescript@5.9.2))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(typescript@5.9.2)
+ version: 11.5.1(@tanstack/react-query@5.87.4(react@19.1.1))(@trpc/client@11.5.1(@trpc/server@11.5.1(typescript@5.9.2))(typescript@5.9.2))(@trpc/server@11.5.1(typescript@5.9.2))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(typescript@5.9.2)
lodash.clonedeep:
specifier: ^4.5.0
version: 4.5.0
next:
- specifier: 15.5.2
- version: 15.5.2(@babel/core@7.28.3)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(sass@1.92.1)
+ specifier: 15.5.3
+ version: 15.5.3(@babel/core@7.28.3)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(sass@1.92.1)
react:
specifier: 19.1.1
version: 19.1.1
@@ -660,10 +661,10 @@ importers:
version: 2.2.2
trpc-to-openapi:
specifier: ^3.0.1
- version: 3.0.1(patch_hash=2ca3c16af0fcca0c736697ad4fe553a14f794524fa9ce0d5c3e8ee4aea76090c)(@trpc/server@11.5.1(typescript@5.9.2))(zod-openapi@5.3.0(zod@4.1.5))(zod@4.1.5)
+ version: 3.0.1(patch_hash=2ca3c16af0fcca0c736697ad4fe553a14f794524fa9ce0d5c3e8ee4aea76090c)(@trpc/server@11.5.1(typescript@5.9.2))(zod-openapi@5.3.0(zod@4.1.8))(zod@4.1.8)
zod:
- specifier: ^4.1.5
- version: 4.1.5
+ specifier: ^4.1.8
+ version: 4.1.8
devDependencies:
'@homarr/eslint-config':
specifier: workspace:^0.2.0
@@ -723,11 +724,11 @@ importers:
specifier: 8.0.9
version: 8.0.9
next:
- specifier: 15.5.2
- version: 15.5.2(@babel/core@7.28.3)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(sass@1.92.1)
+ specifier: 15.5.3
+ version: 15.5.3(@babel/core@7.28.3)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(sass@1.92.1)
next-auth:
specifier: 5.0.0-beta.29
- version: 5.0.0-beta.29(next@15.5.2(@babel/core@7.28.3)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(sass@1.92.1))(react@19.1.1)
+ version: 5.0.0-beta.29(next@15.5.3(@babel/core@7.28.3)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(sass@1.92.1))(react@19.1.1)
react:
specifier: 19.1.1
version: 19.1.1
@@ -735,8 +736,8 @@ importers:
specifier: 19.1.1
version: 19.1.1(react@19.1.1)
zod:
- specifier: ^4.1.5
- version: 4.1.5
+ specifier: ^4.1.8
+ version: 4.1.8
devDependencies:
'@homarr/eslint-config':
specifier: workspace:^0.2.0
@@ -800,8 +801,8 @@ importers:
specifier: workspace:^0.1.0
version: link:../db
undici:
- specifier: 7.15.0
- version: 7.15.0
+ specifier: 7.16.0
+ version: 7.16.0
devDependencies:
'@homarr/eslint-config':
specifier: workspace:^0.2.0
@@ -877,8 +878,8 @@ importers:
specifier: ^0.2.5
version: 0.2.5
next:
- specifier: 15.5.2
- version: 15.5.2(@babel/core@7.28.3)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(sass@1.92.1)
+ specifier: 15.5.3
+ version: 15.5.3(@babel/core@7.28.3)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(sass@1.92.1)
octokit:
specifier: ^5.0.3
version: 5.0.3
@@ -889,14 +890,14 @@ importers:
specifier: 19.1.1
version: 19.1.1(react@19.1.1)
undici:
- specifier: 7.15.0
- version: 7.15.0
+ specifier: 7.16.0
+ version: 7.16.0
zod:
- specifier: ^4.1.5
- version: 4.1.5
+ specifier: ^4.1.8
+ version: 4.1.8
zod-validation-error:
specifier: ^4.0.1
- version: 4.0.1(zod@4.1.5)
+ version: 4.0.1(zod@4.1.8)
devDependencies:
'@homarr/eslint-config':
specifier: workspace:^0.2.0
@@ -918,13 +919,13 @@ importers:
dependencies:
'@t3-oss/env-nextjs':
specifier: ^0.13.8
- version: 0.13.8(arktype@2.1.20)(typescript@5.9.2)(zod@4.1.5)
+ version: 0.13.8(arktype@2.1.20)(typescript@5.9.2)(zod@4.1.8)
ioredis:
specifier: 5.7.0
version: 5.7.0
zod:
- specifier: ^4.1.5
- version: 4.1.5
+ specifier: ^4.1.8
+ version: 4.1.8
devDependencies:
'@homarr/eslint-config':
specifier: workspace:^0.2.0
@@ -957,8 +958,8 @@ importers:
specifier: workspace:^0.1.0
version: link:../log
'@tanstack/react-query':
- specifier: ^5.87.1
- version: 5.87.1(react@19.1.1)
+ specifier: ^5.87.4
+ version: 5.87.4(react@19.1.1)
'@trpc/client':
specifier: ^11.5.1
version: 11.5.1(@trpc/server@11.5.1(typescript@5.9.2))(typescript@5.9.2)
@@ -967,7 +968,7 @@ importers:
version: 11.5.1(typescript@5.9.2)
'@trpc/tanstack-react-query':
specifier: ^11.5.1
- version: 11.5.1(@tanstack/react-query@5.87.1(react@19.1.1))(@trpc/client@11.5.1(@trpc/server@11.5.1(typescript@5.9.2))(typescript@5.9.2))(@trpc/server@11.5.1(typescript@5.9.2))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(typescript@5.9.2)
+ version: 11.5.1(@tanstack/react-query@5.87.4(react@19.1.1))(@trpc/client@11.5.1(@trpc/server@11.5.1(typescript@5.9.2))(typescript@5.9.2))(@trpc/server@11.5.1(typescript@5.9.2))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(typescript@5.9.2)
node-cron:
specifier: ^4.2.1
version: 4.2.1
@@ -975,8 +976,8 @@ importers:
specifier: 19.1.1
version: 19.1.1
zod:
- specifier: ^4.1.5
- version: 4.1.5
+ specifier: ^4.1.8
+ version: 4.1.8
devDependencies:
'@homarr/eslint-config':
specifier: workspace:^0.2.0
@@ -991,8 +992,8 @@ importers:
specifier: ^3.0.11
version: 3.0.11
'@types/react':
- specifier: 19.1.12
- version: 19.1.12
+ specifier: 19.1.13
+ version: 19.1.13
eslint:
specifier: ^9.35.0
version: 9.35.0
@@ -1144,8 +1145,8 @@ importers:
specifier: workspace:^0.1.0
version: link:../server-settings
'@mantine/core':
- specifier: ^8.2.8
- version: 8.2.8(@mantine/hooks@8.2.8(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
+ specifier: ^8.3.1
+ version: 8.3.1(@mantine/hooks@8.3.1(react@19.1.1))(@types/react@19.1.13)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
'@paralleldrive/cuid2':
specifier: ^2.2.2
version: 2.2.2
@@ -1166,13 +1167,13 @@ importers:
version: 0.31.4
drizzle-orm:
specifier: ^0.44.5
- version: 0.44.5(@libsql/client-wasm@0.14.0)(@types/better-sqlite3@7.6.13)(@types/pg@8.15.5)(better-sqlite3@12.2.0)(gel@2.0.0)(mysql2@3.14.4)(pg@8.16.3)
+ version: 0.44.5(@libsql/client-wasm@0.14.0)(@types/better-sqlite3@7.6.13)(@types/pg@8.15.5)(better-sqlite3@12.2.0)(gel@2.0.0)(mysql2@3.14.5)(pg@8.16.3)
drizzle-zod:
specifier: ^0.8.3
- version: 0.8.3(drizzle-orm@0.44.5(@libsql/client-wasm@0.14.0)(@types/better-sqlite3@7.6.13)(@types/pg@8.15.5)(better-sqlite3@12.2.0)(gel@2.0.0)(mysql2@3.14.4)(pg@8.16.3))(zod@4.1.5)
+ version: 0.8.3(drizzle-orm@0.44.5(@libsql/client-wasm@0.14.0)(@types/better-sqlite3@7.6.13)(@types/pg@8.15.5)(better-sqlite3@12.2.0)(gel@2.0.0)(mysql2@3.14.5)(pg@8.16.3))(zod@4.1.8)
mysql2:
- specifier: 3.14.4
- version: 3.14.4
+ specifier: 3.14.5
+ version: 3.14.5
pg:
specifier: ^8.16.3
version: 8.16.3
@@ -1223,8 +1224,8 @@ importers:
specifier: ^5.2.5
version: 5.2.5
zod:
- specifier: ^4.1.5
- version: 4.1.5
+ specifier: ^4.1.8
+ version: 4.1.8
devDependencies:
'@homarr/eslint-config':
specifier: workspace:^0.2.0
@@ -1254,8 +1255,8 @@ importers:
specifier: workspace:^0.1.0
version: link:../core
dockerode:
- specifier: ^4.0.7
- version: 4.0.7
+ specifier: ^4.0.8
+ version: 4.0.8
devDependencies:
'@homarr/eslint-config':
specifier: workspace:^0.2.0
@@ -1288,14 +1289,14 @@ importers:
specifier: workspace:^0.1.0
version: link:../validation
'@mantine/form':
- specifier: ^8.2.8
- version: 8.2.8(react@19.1.1)
+ specifier: ^8.3.1
+ version: 8.3.1(react@19.1.1)
mantine-form-zod-resolver:
specifier: ^1.3.0
- version: 1.3.0(@mantine/form@8.2.8(react@19.1.1))(zod@4.1.5)
+ version: 1.3.0(@mantine/form@8.3.1(react@19.1.1))(zod@4.1.8)
zod:
- specifier: ^4.1.5
- version: 4.1.5
+ specifier: ^4.1.8
+ version: 4.1.8
devDependencies:
'@homarr/eslint-config':
specifier: workspace:^0.2.0
@@ -1337,14 +1338,14 @@ importers:
specifier: workspace:^0.1.0
version: link:../validation
'@mantine/core':
- specifier: ^8.2.8
- version: 8.2.8(@mantine/hooks@8.2.8(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
+ specifier: ^8.3.1
+ version: 8.3.1(@mantine/hooks@8.3.1(react@19.1.1))(@types/react@19.1.13)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
react:
specifier: 19.1.1
version: 19.1.1
zod:
- specifier: ^4.1.5
- version: 4.1.5
+ specifier: ^4.1.8
+ version: 4.1.8
devDependencies:
'@homarr/eslint-config':
specifier: workspace:^0.2.0
@@ -1461,7 +1462,7 @@ importers:
version: link:../log
'@homarr/node-unifi':
specifier: ^2.6.0
- version: 2.6.0(undici@7.15.0)
+ version: 2.6.0(undici@7.16.0)
'@homarr/redis':
specifier: workspace:^0.1.0
version: link:../redis
@@ -1473,10 +1474,13 @@ importers:
version: link:../validation
'@jellyfin/sdk':
specifier: ^0.11.0
- version: 0.11.0(axios@1.12.1)
+ version: 0.11.0(axios@1.12.2)
'@octokit/auth-app':
specifier: ^8.1.0
version: 8.1.0
+ ical.js:
+ specifier: ^2.2.1
+ version: 2.2.1
maria2:
specifier: ^0.4.1
version: 0.4.1
@@ -1493,14 +1497,14 @@ importers:
specifier: ^2.1.5
version: 2.1.5
undici:
- specifier: 7.15.0
- version: 7.15.0
+ specifier: 7.16.0
+ version: 7.16.0
xml2js:
specifier: ^0.6.2
version: 0.6.2
zod:
- specifier: ^4.1.5
- version: 4.1.5
+ specifier: ^4.1.8
+ version: 4.1.8
devDependencies:
'@homarr/eslint-config':
specifier: workspace:^0.2.0
@@ -1536,8 +1540,8 @@ importers:
specifier: 3.17.0
version: 3.17.0
zod:
- specifier: ^4.1.5
- version: 4.1.5
+ specifier: ^4.1.8
+ version: 4.1.8
devDependencies:
'@homarr/eslint-config':
specifier: workspace:^0.2.0
@@ -1564,11 +1568,11 @@ importers:
specifier: workspace:^0.1.0
version: link:../ui
'@mantine/core':
- specifier: ^8.2.8
- version: 8.2.8(@mantine/hooks@8.2.8(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
+ specifier: ^8.3.1
+ version: 8.3.1(@mantine/hooks@8.3.1(react@19.1.1))(@types/react@19.1.13)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
'@mantine/hooks':
- specifier: ^8.2.8
- version: 8.2.8(react@19.1.1)
+ specifier: ^8.3.1
+ version: 8.3.1(react@19.1.1)
react:
specifier: 19.1.1
version: 19.1.1
@@ -1625,8 +1629,8 @@ importers:
specifier: workspace:^0.1.0
version: link:../validation
'@mantine/core':
- specifier: ^8.2.8
- version: 8.2.8(@mantine/hooks@8.2.8(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
+ specifier: ^8.3.1
+ version: 8.3.1(@mantine/hooks@8.3.1(react@19.1.1))(@types/react@19.1.13)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
'@tabler/icons-react':
specifier: ^3.34.1
version: 3.34.1(react@19.1.1)
@@ -1634,8 +1638,8 @@ importers:
specifier: ^1.11.18
version: 1.11.18
next:
- specifier: 15.5.2
- version: 15.5.2(@babel/core@7.28.3)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(sass@1.92.1)
+ specifier: 15.5.3
+ version: 15.5.3(@babel/core@7.28.3)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(sass@1.92.1)
react:
specifier: 19.1.1
version: 19.1.1
@@ -1643,8 +1647,8 @@ importers:
specifier: 19.1.1
version: 19.1.1(react@19.1.1)
zod:
- specifier: ^4.1.5
- version: 4.1.5
+ specifier: ^4.1.8
+ version: 4.1.8
devDependencies:
'@homarr/eslint-config':
specifier: workspace:^0.2.0
@@ -1668,8 +1672,8 @@ importers:
specifier: workspace:^0.1.0
version: link:../ui
'@mantine/notifications':
- specifier: ^8.2.8
- version: 8.2.8(@mantine/core@8.2.8(@mantine/hooks@8.2.8(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/hooks@8.2.8(react@19.1.1))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
+ specifier: ^8.3.1
+ version: 8.3.1(@mantine/core@8.3.1(@mantine/hooks@8.3.1(react@19.1.1))(@types/react@19.1.13)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/hooks@8.3.1(react@19.1.1))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
'@tabler/icons-react':
specifier: ^3.34.1
version: 3.34.1(react@19.1.1)
@@ -1726,17 +1730,17 @@ importers:
specifier: workspace:^0.1.0
version: link:../validation
'@mantine/core':
- specifier: ^8.2.8
- version: 8.2.8(@mantine/hooks@8.2.8(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
+ specifier: ^8.3.1
+ version: 8.3.1(@mantine/hooks@8.3.1(react@19.1.1))(@types/react@19.1.13)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
'@mantine/hooks':
- specifier: ^8.2.8
- version: 8.2.8(react@19.1.1)
+ specifier: ^8.3.1
+ version: 8.3.1(react@19.1.1)
adm-zip:
specifier: 0.5.16
version: 0.5.16
next:
- specifier: 15.5.2
- version: 15.5.2(@babel/core@7.28.3)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(sass@1.92.1)
+ specifier: 15.5.3
+ version: 15.5.3(@babel/core@7.28.3)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(sass@1.92.1)
react:
specifier: 19.1.1
version: 19.1.1
@@ -1747,11 +1751,11 @@ importers:
specifier: 2.2.2
version: 2.2.2
zod:
- specifier: ^4.1.5
- version: 4.1.5
+ specifier: ^4.1.8
+ version: 4.1.8
zod-form-data:
specifier: ^3.0.1
- version: 3.0.1(zod@4.1.5)
+ version: 3.0.1(zod@4.1.8)
devDependencies:
'@homarr/eslint-config':
specifier: workspace:^0.2.0
@@ -1778,8 +1782,8 @@ importers:
specifier: workspace:^0.1.0
version: link:../common
zod:
- specifier: ^4.1.5
- version: 4.1.5
+ specifier: ^4.1.8
+ version: 4.1.8
devDependencies:
'@homarr/eslint-config':
specifier: workspace:^0.2.0
@@ -1898,8 +1902,8 @@ importers:
specifier: 2.2.2
version: 2.2.2
undici:
- specifier: 7.15.0
- version: 7.15.0
+ specifier: 7.16.0
+ version: 7.16.0
devDependencies:
'@homarr/eslint-config':
specifier: workspace:^0.2.0
@@ -1954,11 +1958,11 @@ importers:
specifier: workspace:^0.1.0
version: link:../server-settings
'@mantine/dates':
- specifier: ^8.2.8
- version: 8.2.8(@mantine/core@8.2.8(@mantine/hooks@8.2.8(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/hooks@8.2.8(react@19.1.1))(dayjs@1.11.18)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
+ specifier: ^8.3.1
+ version: 8.3.1(@mantine/core@8.3.1(@mantine/hooks@8.3.1(react@19.1.1))(@types/react@19.1.13)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/hooks@8.3.1(react@19.1.1))(dayjs@1.11.18)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
next:
- specifier: 15.5.2
- version: 15.5.2(@babel/core@7.28.3)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(sass@1.92.1)
+ specifier: 15.5.3
+ version: 15.5.3(@babel/core@7.28.3)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(sass@1.92.1)
react:
specifier: 19.1.1
version: 19.1.1
@@ -2015,23 +2019,23 @@ importers:
specifier: workspace:^0.1.0
version: link:../ui
'@mantine/core':
- specifier: ^8.2.8
- version: 8.2.8(@mantine/hooks@8.2.8(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
+ specifier: ^8.3.1
+ version: 8.3.1(@mantine/hooks@8.3.1(react@19.1.1))(@types/react@19.1.13)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
'@mantine/hooks':
- specifier: ^8.2.8
- version: 8.2.8(react@19.1.1)
+ specifier: ^8.3.1
+ version: 8.3.1(react@19.1.1)
'@mantine/spotlight':
- specifier: ^8.2.8
- version: 8.2.8(@mantine/core@8.2.8(@mantine/hooks@8.2.8(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/hooks@8.2.8(react@19.1.1))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
+ specifier: ^8.3.1
+ version: 8.3.1(@mantine/core@8.3.1(@mantine/hooks@8.3.1(react@19.1.1))(@types/react@19.1.13)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/hooks@8.3.1(react@19.1.1))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
'@tabler/icons-react':
specifier: ^3.34.1
version: 3.34.1(react@19.1.1)
jotai:
- specifier: ^2.13.1
- version: 2.13.1(@babel/core@7.28.3)(@babel/template@7.27.2)(@types/react@19.1.12)(react@19.1.1)
+ specifier: ^2.14.0
+ version: 2.14.0(@babel/core@7.28.3)(@babel/template@7.27.2)(@types/react@19.1.13)(react@19.1.1)
next:
- specifier: 15.5.2
- version: 15.5.2(@babel/core@7.28.3)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(sass@1.92.1)
+ specifier: 15.5.3
+ version: 15.5.3(@babel/core@7.28.3)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(sass@1.92.1)
react:
specifier: 19.1.1
version: 19.1.1
@@ -2074,13 +2078,13 @@ importers:
version: 4.3.1
mantine-react-table:
specifier: 2.0.0-beta.9
- version: 2.0.0-beta.9(@mantine/core@8.2.8(@mantine/hooks@8.2.8(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/dates@8.2.8(@mantine/core@8.2.8(@mantine/hooks@8.2.8(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/hooks@8.2.8(react@19.1.1))(dayjs@1.11.18)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/hooks@8.2.8(react@19.1.1))(@tabler/icons-react@3.34.1(react@19.1.1))(clsx@2.1.1)(dayjs@1.11.18)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
+ version: 2.0.0-beta.9(@mantine/core@8.3.1(@mantine/hooks@8.3.1(react@19.1.1))(@types/react@19.1.13)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/dates@8.3.1(@mantine/core@8.3.1(@mantine/hooks@8.3.1(react@19.1.1))(@types/react@19.1.13)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/hooks@8.3.1(react@19.1.1))(dayjs@1.11.18)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/hooks@8.3.1(react@19.1.1))(@tabler/icons-react@3.34.1(react@19.1.1))(clsx@2.1.1)(dayjs@1.11.18)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
next:
- specifier: 15.5.2
- version: 15.5.2(@babel/core@7.28.3)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(sass@1.92.1)
+ specifier: 15.5.3
+ version: 15.5.3(@babel/core@7.28.3)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(sass@1.92.1)
next-intl:
- specifier: 4.3.7
- version: 4.3.7(next@15.5.2(@babel/core@7.28.3)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(sass@1.92.1))(react@19.1.1)(typescript@5.9.2)
+ specifier: 4.3.8
+ version: 4.3.8(next@15.5.3(@babel/core@7.28.3)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(sass@1.92.1))(react@19.1.1)(typescript@5.9.2)
react:
specifier: 19.1.1
version: 19.1.1
@@ -2122,23 +2126,23 @@ importers:
specifier: workspace:^0.1.0
version: link:../validation
'@mantine/core':
- specifier: ^8.2.8
- version: 8.2.8(@mantine/hooks@8.2.8(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
+ specifier: ^8.3.1
+ version: 8.3.1(@mantine/hooks@8.3.1(react@19.1.1))(@types/react@19.1.13)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
'@mantine/dates':
- specifier: ^8.2.8
- version: 8.2.8(@mantine/core@8.2.8(@mantine/hooks@8.2.8(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/hooks@8.2.8(react@19.1.1))(dayjs@1.11.18)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
+ specifier: ^8.3.1
+ version: 8.3.1(@mantine/core@8.3.1(@mantine/hooks@8.3.1(react@19.1.1))(@types/react@19.1.13)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/hooks@8.3.1(react@19.1.1))(dayjs@1.11.18)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
'@mantine/hooks':
- specifier: ^8.2.8
- version: 8.2.8(react@19.1.1)
+ specifier: ^8.3.1
+ version: 8.3.1(react@19.1.1)
'@tabler/icons-react':
specifier: ^3.34.1
version: 3.34.1(react@19.1.1)
mantine-react-table:
specifier: 2.0.0-beta.9
- version: 2.0.0-beta.9(@mantine/core@8.2.8(@mantine/hooks@8.2.8(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/dates@8.2.8(@mantine/core@8.2.8(@mantine/hooks@8.2.8(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/hooks@8.2.8(react@19.1.1))(dayjs@1.11.18)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/hooks@8.2.8(react@19.1.1))(@tabler/icons-react@3.34.1(react@19.1.1))(clsx@2.1.1)(dayjs@1.11.18)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
+ version: 2.0.0-beta.9(@mantine/core@8.3.1(@mantine/hooks@8.3.1(react@19.1.1))(@types/react@19.1.13)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/dates@8.3.1(@mantine/core@8.3.1(@mantine/hooks@8.3.1(react@19.1.1))(@types/react@19.1.13)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/hooks@8.3.1(react@19.1.1))(dayjs@1.11.18)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/hooks@8.3.1(react@19.1.1))(@tabler/icons-react@3.34.1(react@19.1.1))(clsx@2.1.1)(dayjs@1.11.18)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
next:
- specifier: 15.5.2
- version: 15.5.2(@babel/core@7.28.3)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(sass@1.92.1)
+ specifier: 15.5.3
+ version: 15.5.3(@babel/core@7.28.3)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(sass@1.92.1)
react:
specifier: 19.1.1
version: 19.1.1
@@ -2177,11 +2181,11 @@ importers:
specifier: workspace:^0.1.0
version: link:../translation
zod:
- specifier: ^4.1.5
- version: 4.1.5
+ specifier: ^4.1.8
+ version: 4.1.8
zod-form-data:
specifier: ^3.0.1
- version: 3.0.1(zod@4.1.5)
+ version: 3.0.1(zod@4.1.8)
devDependencies:
'@homarr/eslint-config':
specifier: workspace:^0.2.0
@@ -2271,14 +2275,14 @@ importers:
specifier: workspace:^0.1.0
version: link:../validation
'@mantine/charts':
- specifier: ^8.2.8
- version: 8.2.8(@mantine/core@8.2.8(@mantine/hooks@8.2.8(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/hooks@8.2.8(react@19.1.1))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(recharts@2.15.4(react-dom@19.1.1(react@19.1.1))(react@19.1.1))
+ specifier: ^8.3.1
+ version: 8.3.1(@mantine/core@8.3.1(@mantine/hooks@8.3.1(react@19.1.1))(@types/react@19.1.13)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/hooks@8.3.1(react@19.1.1))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(recharts@2.15.4(react-dom@19.1.1(react@19.1.1))(react@19.1.1))
'@mantine/core':
- specifier: ^8.2.8
- version: 8.2.8(@mantine/hooks@8.2.8(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
+ specifier: ^8.3.1
+ version: 8.3.1(@mantine/hooks@8.3.1(react@19.1.1))(@types/react@19.1.13)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
'@mantine/hooks':
- specifier: ^8.2.8
- version: 8.2.8(react@19.1.1)
+ specifier: ^8.3.1
+ version: 8.3.1(react@19.1.1)
'@tabler/icons-react':
specifier: ^3.34.1
version: 3.34.1(react@19.1.1)
@@ -2338,13 +2342,13 @@ importers:
version: 1.11.18
mantine-form-zod-resolver:
specifier: ^1.3.0
- version: 1.3.0(@mantine/form@8.2.8(react@19.1.1))(zod@4.1.5)
+ version: 1.3.0(@mantine/form@8.3.1(react@19.1.1))(zod@4.1.8)
mantine-react-table:
specifier: 2.0.0-beta.9
- version: 2.0.0-beta.9(@mantine/core@8.2.8(@mantine/hooks@8.2.8(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/dates@8.2.8(@mantine/core@8.2.8(@mantine/hooks@8.2.8(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/hooks@8.2.8(react@19.1.1))(dayjs@1.11.18)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/hooks@8.2.8(react@19.1.1))(@tabler/icons-react@3.34.1(react@19.1.1))(clsx@2.1.1)(dayjs@1.11.18)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
+ version: 2.0.0-beta.9(@mantine/core@8.3.1(@mantine/hooks@8.3.1(react@19.1.1))(@types/react@19.1.13)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/dates@8.3.1(@mantine/core@8.3.1(@mantine/hooks@8.3.1(react@19.1.1))(@types/react@19.1.13)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/hooks@8.3.1(react@19.1.1))(dayjs@1.11.18)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/hooks@8.3.1(react@19.1.1))(@tabler/icons-react@3.34.1(react@19.1.1))(clsx@2.1.1)(dayjs@1.11.18)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
next:
- specifier: 15.5.2
- version: 15.5.2(@babel/core@7.28.3)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(sass@1.92.1)
+ specifier: 15.5.3
+ version: 15.5.3(@babel/core@7.28.3)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(sass@1.92.1)
react:
specifier: 19.1.1
version: 19.1.1
@@ -2353,7 +2357,7 @@ importers:
version: 19.1.1(react@19.1.1)
react-markdown:
specifier: ^10.1.0
- version: 10.1.0(@types/react@19.1.12)(react@19.1.1)
+ version: 10.1.0(@types/react@19.1.13)(react@19.1.1)
recharts:
specifier: ^2.15.4
version: 2.15.4(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
@@ -2361,8 +2365,8 @@ importers:
specifier: ^8.23.4
version: 8.23.4
zod:
- specifier: ^4.1.5
- version: 4.1.5
+ specifier: ^4.1.8
+ version: 4.1.8
devDependencies:
'@homarr/eslint-config':
specifier: workspace:^0.2.0
@@ -2386,8 +2390,8 @@ importers:
tooling/eslint:
dependencies:
'@next/eslint-plugin-next':
- specifier: 15.5.2
- version: 15.5.2
+ specifier: 15.5.3
+ version: 15.5.3
eslint-config-prettier:
specifier: ^10.1.8
version: 10.1.8(eslint@9.35.0)
@@ -2396,7 +2400,7 @@ importers:
version: 2.5.6(eslint@9.35.0)(turbo@2.5.6)
eslint-plugin-import:
specifier: ^2.32.0
- version: 2.32.0(@typescript-eslint/parser@8.42.0(eslint@9.35.0)(typescript@5.9.2))(eslint@9.35.0)
+ version: 2.32.0(@typescript-eslint/parser@8.43.0(eslint@9.35.0)(typescript@5.9.2))(eslint@9.35.0)
eslint-plugin-jsx-a11y:
specifier: ^6.10.2
version: 6.10.2(eslint@9.35.0)
@@ -2407,8 +2411,8 @@ importers:
specifier: ^5.2.0
version: 5.2.0(eslint@9.35.0)
typescript-eslint:
- specifier: ^8.42.0
- version: 8.42.0(eslint@9.35.0)(typescript@5.9.2)
+ specifier: ^8.43.0
+ version: 8.43.0(eslint@9.35.0)(typescript@5.9.2)
devDependencies:
'@homarr/prettier-config':
specifier: workspace:^0.1.0
@@ -2462,8 +2466,14 @@ packages:
'@ark/util@0.46.0':
resolution: {integrity: sha512-JPy/NGWn/lvf1WmGCPw2VGpBg5utZraE84I7wli18EDF3p3zc/e9WolT35tINeZO3l7C77SjqRJeAUoT0CvMRg==}
- '@asamuzakjp/css-color@2.8.2':
- resolution: {integrity: sha512-RtWv9jFN2/bLExuZgFFZ0I3pWWeezAHGgrmjqGGWclATl1aDe3yhCUaI0Ilkp6OCk9zX7+FjvDasEX8Q9Rxc5w==}
+ '@asamuzakjp/css-color@4.0.4':
+ resolution: {integrity: sha512-cKjSKvWGmAziQWbCouOsFwb14mp1betm8Y7Fn+yglDMUUu3r9DCbJ9iJbeFDenLMqFbIMC0pQP8K+B8LAxX3OQ==}
+
+ '@asamuzakjp/dom-selector@6.5.5':
+ resolution: {integrity: sha512-kI2MX9pmImjxWT8nxDZY+MuN6r1jJGe7WxizEbsAEPB/zxfW5wYLIiPG1v3UKgEOOP8EsDkp0ZL99oRFAdPM8g==}
+
+ '@asamuzakjp/nwsapi@2.3.9':
+ resolution: {integrity: sha512-n8GuYSrI9bF7FFZ/SjhwevlHc8xaVlb/7HmHelnc/PZXBD2ZR49NnN9sMMuDdEGPeeRQ5d0hqlSlEpgCX3Wl0Q==}
'@auth/core@0.40.0':
resolution: {integrity: sha512-n53uJE0RH5SqZ7N1xZoMKekbHfQgjd0sAEyUbE+IYJnmuQkbvuZnXItCU7d+i7Fj8VGOgqvNO7Mw4YfBTlZeQw==}
@@ -2674,32 +2684,38 @@ packages:
resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==}
engines: {node: '>=12'}
- '@csstools/color-helpers@5.0.1':
- resolution: {integrity: sha512-MKtmkA0BX87PKaO1NFRTFH+UnkgnmySQOvNxJubsadusqPEC2aJ9MOQiMceZJJ6oitUl/i0L6u0M1IrmAOmgBA==}
+ '@csstools/color-helpers@5.1.0':
+ resolution: {integrity: sha512-S11EXWJyy0Mz5SYvRmY8nJYTFFd1LCNV+7cXyAgQtOOuzb4EsgfqDufL+9esx72/eLhsRdGZwaldu/h+E4t4BA==}
engines: {node: '>=18'}
- '@csstools/css-calc@2.1.1':
- resolution: {integrity: sha512-rL7kaUnTkL9K+Cvo2pnCieqNpTKgQzy5f+N+5Iuko9HAoasP+xgprVh7KN/MaJVvVL1l0EzQq2MoqBHKSrDrag==}
+ '@csstools/css-calc@2.1.4':
+ resolution: {integrity: sha512-3N8oaj+0juUw/1H3YwmDDJXCgTB1gKU6Hc/bB502u9zR0q2vd786XJH9QfrKIEgFlZmhZiq6epXl4rHqhzsIgQ==}
engines: {node: '>=18'}
peerDependencies:
- '@csstools/css-parser-algorithms': ^3.0.4
- '@csstools/css-tokenizer': ^3.0.3
+ '@csstools/css-parser-algorithms': ^3.0.5
+ '@csstools/css-tokenizer': ^3.0.4
- '@csstools/css-color-parser@3.0.7':
- resolution: {integrity: sha512-nkMp2mTICw32uE5NN+EsJ4f5N+IGFeCFu4bGpiKgb2Pq/7J/MpyLBeQ5ry4KKtRFZaYs6sTmcMYrSRIyj5DFKA==}
+ '@csstools/css-color-parser@3.1.0':
+ resolution: {integrity: sha512-nbtKwh3a6xNVIp/VRuXV64yTKnb1IjTAEEh3irzS+HkKjAOYLTGNb9pmVNntZ8iVBHcWDA2Dof0QtPgFI1BaTA==}
engines: {node: '>=18'}
peerDependencies:
- '@csstools/css-parser-algorithms': ^3.0.4
- '@csstools/css-tokenizer': ^3.0.3
+ '@csstools/css-parser-algorithms': ^3.0.5
+ '@csstools/css-tokenizer': ^3.0.4
- '@csstools/css-parser-algorithms@3.0.4':
- resolution: {integrity: sha512-Up7rBoV77rv29d3uKHUIVubz1BTcgyUK72IvCQAbfbMv584xHcGKCKbWh7i8hPrRJ7qU4Y8IO3IY9m+iTB7P3A==}
+ '@csstools/css-parser-algorithms@3.0.5':
+ resolution: {integrity: sha512-DaDeUkXZKjdGhgYaHNJTV9pV7Y9B3b644jCLs9Upc3VeNGg6LWARAT6O+Q+/COo+2gg/bM5rhpMAtf70WqfBdQ==}
engines: {node: '>=18'}
peerDependencies:
- '@csstools/css-tokenizer': ^3.0.3
+ '@csstools/css-tokenizer': ^3.0.4
- '@csstools/css-tokenizer@3.0.3':
- resolution: {integrity: sha512-UJnjoFsmxfKUdNYdWgOB0mWUypuLvAfQPH1+pyvRJs6euowbFkFC6P13w1l8mJyi3vxYMxc9kld5jZEGRQs6bw==}
+ '@csstools/css-syntax-patches-for-csstree@1.0.14':
+ resolution: {integrity: sha512-zSlIxa20WvMojjpCSy8WrNpcZ61RqfTfX3XTaOeVlGJrt/8HF3YbzgFZa01yTbT4GWQLwfTcC3EB8i3XnB647Q==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ postcss: ^8.4
+
+ '@csstools/css-tokenizer@3.0.4':
+ resolution: {integrity: sha512-Vd/9EVDiu6PPJt9yAh6roZP6El1xHrdvIVGjyBsHR0RYwNHgL7FJPyIIW4fANJNG6FtyZfvlRPpFI4ZM/lubvw==}
engines: {node: '>=18'}
'@ctrl/deluge@7.2.0':
@@ -2935,12 +2951,6 @@ packages:
cpu: [x64]
os: [win32]
- '@eslint-community/eslint-utils@4.7.0':
- resolution: {integrity: sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
- peerDependencies:
- eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
-
'@eslint-community/eslint-utils@4.9.0':
resolution: {integrity: sha512-ayVFHdtZ+hsq1t2Dy24wCmGXGe4q9Gu3smhLYALJrr473ZH27MsnSL+LKUlimp4BWJqMDMLmPpx/Q9R3OAlL4g==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
@@ -3001,26 +3011,26 @@ packages:
'@fastify/proxy-addr@5.0.0':
resolution: {integrity: sha512-37qVVA1qZ5sgH7KpHkkC4z9SK6StIsIcOmpjvMPXNb3vx2GQxhZocogVYbr2PbbeLCQxYIPDok307xEvRZOzGA==}
- '@floating-ui/core@1.6.8':
- resolution: {integrity: sha512-7XJ9cPU+yI2QeLS+FCSlqNFZJq8arvswefkZrYI1yQBbftw6FyrZOxYSh+9S7z7TpeWlRt9zJ5IhM1WIL334jA==}
+ '@floating-ui/core@1.7.3':
+ resolution: {integrity: sha512-sGnvb5dmrJaKEZ+LDIpguvdX3bDlEllmv4/ClQ9awcmCZrlx5jQyyMWFM5kBI+EyNOCDDiKk8il0zeuX3Zlg/w==}
- '@floating-ui/dom@1.6.11':
- resolution: {integrity: sha512-qkMCxSR24v2vGkhYDo/UzxfJN3D4syqSjyuTFz6C7XcpU1pASPRieNI0Kj5VP3/503mOfYiGY891ugBX1GlABQ==}
+ '@floating-ui/dom@1.7.4':
+ resolution: {integrity: sha512-OOchDgh4F2CchOX94cRVqhvy7b3AFb+/rQXyswmzmGakRfkMgoWVjfnLWkRirfLEfuD4ysVW16eXzwt3jHIzKA==}
- '@floating-ui/react-dom@2.1.2':
- resolution: {integrity: sha512-06okr5cgPzMNBy+Ycse2A6udMi4bqwW/zgBF/rwjcNqWkyr82Mcg8b0vjX8OJpZFy/FKjJmw6wV7t44kK6kW7A==}
+ '@floating-ui/react-dom@2.1.6':
+ resolution: {integrity: sha512-4JX6rEatQEvlmgU80wZyq9RT96HZJa88q8hp0pBd+LrczeDI4o6uA2M+uvxngVHo4Ihr8uibXxH6+70zhAFrVw==}
peerDependencies:
react: '>=16.8.0'
react-dom: '>=16.8.0'
- '@floating-ui/react@0.26.28':
- resolution: {integrity: sha512-yORQuuAtVpiRjpMhdc0wJj06b9JFjrYF4qp96j++v2NBpbi6SEGF7donUJ3TMieerQ6qVkAv1tgr7L4r5roTqw==}
+ '@floating-ui/react@0.27.16':
+ resolution: {integrity: sha512-9O8N4SeG2z++TSM8QA/KTeKFBVCNEz/AGS7gWPJf6KFRzmRWixFRnCnkPHRDwSVZW6QPDO6uT0P2SpWNKCc9/g==}
peerDependencies:
- react: '>=16.8.0'
- react-dom: '>=16.8.0'
+ react: '>=17.0.0'
+ react-dom: '>=17.0.0'
- '@floating-ui/utils@0.2.8':
- resolution: {integrity: sha512-kym7SodPp8/wloecOpcmSnWJsK7M0E5Wg8UcFA+uO4B9s5d0ywXOEro/8HM9x0rW+TljRzul/14UYz3TleT3ig==}
+ '@floating-ui/utils@0.2.10':
+ resolution: {integrity: sha512-aGTxbpbg8/b5JfU1HXSrbH3wXZuLPJcNEcZQFMxLs3oSzgtVu6nFPkbbGGUvBcUjKV2YyB9Wxxabo+HEH9tcRQ==}
'@formatjs/ecma402-abstract@2.2.0':
resolution: {integrity: sha512-IpM+ev1E4QLtstniOE29W1rqH9eTdx5hQdNL8pzrflMj/gogfaoONZqL83LUeQScHAvyMbpqP5C9MzNf+fFwhQ==}
@@ -3072,7 +3082,7 @@ packages:
resolution: {integrity: sha512-kz323qIQkNQElEGroo/E9MKPDuIR5pkuk/XEWd50K+cSEKdmdiYx0PKWUdaNY2ecJYngtF+njDMsMKplL6zfEg==}
engines: {node: '>=18.14.1'}
peerDependencies:
- hono: '>=4.9.6'
+ hono: '>=4.9.7'
'@humanfs/core@0.19.1':
resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==}
@@ -3256,7 +3266,7 @@ packages:
'@jellyfin/sdk@0.11.0':
resolution: {integrity: sha512-WmM4as9ptqH+CvC2YsUefNWQDmu2aWIamwAoj7h2BFR6l019pcRFG5FT22egwbdizR6DfdpmsoAWB4x9QCzcEQ==}
peerDependencies:
- axios: '>=1.12.1'
+ axios: '>=1.12.2'
'@jridgewell/gen-mapping@0.3.12':
resolution: {integrity: sha512-OuLGC46TjB5BbN1dH8JULVVZY4WTdkF7tV9Ys6wLL1rubZnCMstOhNHueU5bLCrnRuDhKPDM4g6sw4Bel5Gzqg==}
@@ -3318,88 +3328,88 @@ packages:
'@libsql/core@0.14.0':
resolution: {integrity: sha512-nhbuXf7GP3PSZgdCY2Ecj8vz187ptHlZQ0VRc751oB2C1W8jQUXKKklvt7t1LJiUTQBVJuadF628eUk+3cRi4Q==}
- '@mantine/charts@8.2.8':
- resolution: {integrity: sha512-946gThrgoFOPl5sNOjQ7ILriGIsP/B24PQGt9GY0fL9Fg0B7Nmuhzn7lxZscBW5//NHgZTE7ul5zdU+Z00ST2Q==}
+ '@mantine/charts@8.3.1':
+ resolution: {integrity: sha512-Mb6rSbDbcL2lQmSVZA3dZfJf3734qsdN+UeZ8vAoh00e1hJEzu6hT0SUimP7G16q1yMaB+6bgN76lOQsG8vRug==}
peerDependencies:
- '@mantine/core': 8.2.8
- '@mantine/hooks': 8.2.8
+ '@mantine/core': 8.3.1
+ '@mantine/hooks': 8.3.1
react: ^18.x || ^19.x
react-dom: ^18.x || ^19.x
recharts: '>=2.13.3'
- '@mantine/colors-generator@8.2.8':
- resolution: {integrity: sha512-bkxaZuLr5GuCAZMwJfrMDa78pXJsq1bB7AVMF8C/trIaHBBxzXe8nfTDhu2NYpojpd5pBhvHHyidXPwHdNkO5Q==}
+ '@mantine/colors-generator@8.3.1':
+ resolution: {integrity: sha512-1JJ/wIN+JaLhObWi3Ap4dvTk4ksN7dvOHa+ynEaxMg5Ienb2sv2V/zadiFISXkMw1zgBkcFe1UJbgm3QL4gsmg==}
peerDependencies:
chroma-js: '>=2.4.2'
- '@mantine/core@8.2.8':
- resolution: {integrity: sha512-dybAXrlQ+QiIhpnVCkdH6P4Sjm9I9RymYXfDp97oj9KfGRMEJGLDdPAwp/2GhXe7UdDkzqD48JCkbfRWF2Q+qA==}
+ '@mantine/core@8.3.1':
+ resolution: {integrity: sha512-OYfxn9cTv+K6RZ8+Ozn/HDQXkB8Fmn+KJJt5lxyFDP9F09EHnC59Ldadv1LyUZVBGtNqz4sn6b3vBShbxwAmYw==}
peerDependencies:
- '@mantine/hooks': 8.2.8
+ '@mantine/hooks': 8.3.1
react: ^18.x || ^19.x
react-dom: ^18.x || ^19.x
- '@mantine/dates@8.2.8':
- resolution: {integrity: sha512-E6YsTj+2avwZL4gOc15aIIbb9D+ux7gdXQI67aobrwqqeEoW8O72h0bIE97DwAaUSbUsFdFPDhMh8xCFFR6yxw==}
+ '@mantine/dates@8.3.1':
+ resolution: {integrity: sha512-qCGlLnrwu9eQsl+yQC/tEYgTEO8rE6hopagNpTV2/wzLBUywlL/AbtB1yHuOikQgZxXAOLfvIBWNTWUHRtTnfw==}
peerDependencies:
- '@mantine/core': 8.2.8
- '@mantine/hooks': 8.2.8
+ '@mantine/core': 8.3.1
+ '@mantine/hooks': 8.3.1
dayjs: '>=1.0.0'
react: ^18.x || ^19.x
react-dom: ^18.x || ^19.x
- '@mantine/dropzone@8.2.8':
- resolution: {integrity: sha512-aMohj+VkkBAtMLPkrfJ/zxyQo3B48Asp6undW6bIX0gV8h3APO0qNhiccXbSioMc+Mv3hpmj1lIH5LPOIqnzeg==}
+ '@mantine/dropzone@8.3.1':
+ resolution: {integrity: sha512-jsaZhX02Uu8FDWBYNk59wWEBNO0hrayuBfRGqSjY/FQwRHZXIBgfuBsE3AIBJte6ptX+gWSR0Bhwids0LicEtg==}
peerDependencies:
- '@mantine/core': 8.2.8
- '@mantine/hooks': 8.2.8
+ '@mantine/core': 8.3.1
+ '@mantine/hooks': 8.3.1
react: ^18.x || ^19.x
react-dom: ^18.x || ^19.x
- '@mantine/form@8.2.8':
- resolution: {integrity: sha512-edigaUCmyxoPcqhMgkgJHXRgbzR1tym88xQNNgfGA1KYc9gr0BTk/3dOa5B93HIVdO9/DEXZwYKN4cjrKPDY+g==}
+ '@mantine/form@8.3.1':
+ resolution: {integrity: sha512-kmnF5o0Tl/Wi+ZGdqNknoN7QDswxuRo7OlPDRwXuxv/TcazuOIwf7j0p6kFzJ0c/wuqrZfjx3vnOg4Txtmwa1g==}
peerDependencies:
react: ^18.x || ^19.x
- '@mantine/hooks@8.2.8':
- resolution: {integrity: sha512-KK1krCcXizWT6JF8gWexv58imQBbviylAJqSqdZ4zUPgrpe81ehMyfxo5Z9EZsnSwMxkB4RLMhCCJhC5g8GvLA==}
+ '@mantine/hooks@8.3.1':
+ resolution: {integrity: sha512-lQutBS+Q0iz/cNFvdrsYassPWo3RtWcmDGJeOtKfHigLzFOhxUuLOkQgepDbMf3WcVMB/tist6Px1PQOv57JTw==}
peerDependencies:
react: ^18.x || ^19.x
- '@mantine/modals@8.2.8':
- resolution: {integrity: sha512-+RzHK4uy/Gsk6RspunD8An9WYF921If8S2pDeveMwxVhUeNMZXeh9FpQWESlqVV+SHSPDDP4QeTkwhJm9DWf2g==}
+ '@mantine/modals@8.3.1':
+ resolution: {integrity: sha512-3+OL1VcrKI91eqfLR4j6gIKHxwCVINNBrBdIVKc4ozAPAF/XI5VXwhXYxV/Nd7B2lxQgsOlIK5rjEKFvTfHZBg==}
peerDependencies:
- '@mantine/core': 8.2.8
- '@mantine/hooks': 8.2.8
+ '@mantine/core': 8.3.1
+ '@mantine/hooks': 8.3.1
react: ^18.x || ^19.x
react-dom: ^18.x || ^19.x
- '@mantine/notifications@8.2.8':
- resolution: {integrity: sha512-luNksAUkROoMzKCB/30nQ8o38wt54ktylbpBcTrAcjE1q00nH/IEYLS58iUYGf8l/xGBV1KH8jgSik58iqk++A==}
+ '@mantine/notifications@8.3.1':
+ resolution: {integrity: sha512-C1Iqa4g1HNNTLv2/CxOCR1mNlYNFCNtnS0u/JsR+HvtFVrun1namxDG6e6/U0hIva2klogYdivx4cyxmjPFerg==}
peerDependencies:
- '@mantine/core': 8.2.8
- '@mantine/hooks': 8.2.8
+ '@mantine/core': 8.3.1
+ '@mantine/hooks': 8.3.1
react: ^18.x || ^19.x
react-dom: ^18.x || ^19.x
- '@mantine/spotlight@8.2.8':
- resolution: {integrity: sha512-wZ4TMKC6LldI31DFOB89iat+4eyM29URN1uwklWUeigqR9/vywqXcKdzaSjpmbDxYelHFEp4AjgHzeG/8C915A==}
+ '@mantine/spotlight@8.3.1':
+ resolution: {integrity: sha512-Efmvk/uiG4MhmlkUGBu7afz5BgBDMwKUJMhMThDKZkaZfp7/VxOhHNEfC5ZPYMYd5Nk5i8Wo0urfybIMRwyO2A==}
peerDependencies:
- '@mantine/core': 8.2.8
- '@mantine/hooks': 8.2.8
+ '@mantine/core': 8.3.1
+ '@mantine/hooks': 8.3.1
react: ^18.x || ^19.x
react-dom: ^18.x || ^19.x
- '@mantine/store@8.2.8':
- resolution: {integrity: sha512-xma5vcJlcR2UN6NZj0Rhskfppmz6wUTY/52EBU9sKZw60e1iiuTX2Bk/sfUa34VKZF4cRS46VLz2qstyCJne4Q==}
+ '@mantine/store@8.3.1':
+ resolution: {integrity: sha512-OZwg0YKbCEKnkFmS9oRLKA8TMriBzO1T6nUib1yfLCx0VFuznllYZiDtaSWNkEYSdnFWCv5hKh5aOD4RHUnQfQ==}
peerDependencies:
react: ^18.x || ^19.x
- '@mantine/tiptap@8.2.8':
- resolution: {integrity: sha512-nO4sjNkfTjBiEucXNRYDwD7/5KVwGzGuLJV5B8GHeaQd7fQ/eLbAUdEiqPLV03aiozpQOQ5AhENWnwIw9yOJlQ==}
+ '@mantine/tiptap@8.3.1':
+ resolution: {integrity: sha512-JJ3shYUinUK582I0pGNOQWJdQTjvzaU8LCJ+0E7zfEV2WUZKZdu7lNKg3ywbmqGGwXvCFtJgBXsiHbCh/ms8xQ==}
peerDependencies:
- '@mantine/core': 8.2.8
- '@mantine/hooks': 8.2.8
+ '@mantine/core': 8.3.1
+ '@mantine/hooks': 8.3.1
'@tiptap/extension-link': '>=2.1.12'
'@tiptap/react': '>=2.1.12'
react: ^18.x || ^19.x
@@ -3416,56 +3426,56 @@ packages:
'@ndaidong/bellajs@12.0.1':
resolution: {integrity: sha512-1iY42uiHz0cxNMbde7O3zVN+ZX1viOOUOBRt6ht6lkRZbSjwOnFV34Zv4URp3hGzEe6L9Byk7BOq/41H0PzAOQ==}
- '@next/env@15.5.2':
- resolution: {integrity: sha512-Qe06ew4zt12LeO6N7j8/nULSOe3fMXE4dM6xgpBQNvdzyK1sv5y4oAP3bq4LamrvGCZtmRYnW8URFCeX5nFgGg==}
+ '@next/env@15.5.3':
+ resolution: {integrity: sha512-RSEDTRqyihYXygx/OJXwvVupfr9m04+0vH8vyy0HfZ7keRto6VX9BbEk0J2PUk0VGy6YhklJUSrgForov5F9pw==}
- '@next/eslint-plugin-next@15.5.2':
- resolution: {integrity: sha512-lkLrRVxcftuOsJNhWatf1P2hNVfh98k/omQHrCEPPriUypR6RcS13IvLdIrEvkm9AH2Nu2YpR5vLqBuy6twH3Q==}
+ '@next/eslint-plugin-next@15.5.3':
+ resolution: {integrity: sha512-SdhaKdko6dpsSr0DldkESItVrnPYB1NS2NpShCSX5lc7SSQmLZt5Mug6t2xbiuVWEVDLZSuIAoQyYVBYp0dR5g==}
- '@next/swc-darwin-arm64@15.5.2':
- resolution: {integrity: sha512-8bGt577BXGSd4iqFygmzIfTYizHb0LGWqH+qgIF/2EDxS5JsSdERJKA8WgwDyNBZgTIIA4D8qUtoQHmxIIquoQ==}
+ '@next/swc-darwin-arm64@15.5.3':
+ resolution: {integrity: sha512-nzbHQo69+au9wJkGKTU9lP7PXv0d1J5ljFpvb+LnEomLtSbJkbZyEs6sbF3plQmiOB2l9OBtN2tNSvCH1nQ9Jg==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [darwin]
- '@next/swc-darwin-x64@15.5.2':
- resolution: {integrity: sha512-2DjnmR6JHK4X+dgTXt5/sOCu/7yPtqpYt8s8hLkHFK3MGkka2snTv3yRMdHvuRtJVkPwCGsvBSwmoQCHatauFQ==}
+ '@next/swc-darwin-x64@15.5.3':
+ resolution: {integrity: sha512-w83w4SkOOhekJOcA5HBvHyGzgV1W/XvOfpkrxIse4uPWhYTTRwtGEM4v/jiXwNSJvfRvah0H8/uTLBKRXlef8g==}
engines: {node: '>= 10'}
cpu: [x64]
os: [darwin]
- '@next/swc-linux-arm64-gnu@15.5.2':
- resolution: {integrity: sha512-3j7SWDBS2Wov/L9q0mFJtEvQ5miIqfO4l7d2m9Mo06ddsgUK8gWfHGgbjdFlCp2Ek7MmMQZSxpGFqcC8zGh2AA==}
+ '@next/swc-linux-arm64-gnu@15.5.3':
+ resolution: {integrity: sha512-+m7pfIs0/yvgVu26ieaKrifV8C8yiLe7jVp9SpcIzg7XmyyNE7toC1fy5IOQozmr6kWl/JONC51osih2RyoXRw==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [linux]
- '@next/swc-linux-arm64-musl@15.5.2':
- resolution: {integrity: sha512-s6N8k8dF9YGc5T01UPQ08yxsK6fUow5gG1/axWc1HVVBYQBgOjca4oUZF7s4p+kwhkB1bDSGR8QznWrFZ/Rt5g==}
+ '@next/swc-linux-arm64-musl@15.5.3':
+ resolution: {integrity: sha512-u3PEIzuguSenoZviZJahNLgCexGFhso5mxWCrrIMdvpZn6lkME5vc/ADZG8UUk5K1uWRy4hqSFECrON6UKQBbQ==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [linux]
- '@next/swc-linux-x64-gnu@15.5.2':
- resolution: {integrity: sha512-o1RV/KOODQh6dM6ZRJGZbc+MOAHww33Vbs5JC9Mp1gDk8cpEO+cYC/l7rweiEalkSm5/1WGa4zY7xrNwObN4+Q==}
+ '@next/swc-linux-x64-gnu@15.5.3':
+ resolution: {integrity: sha512-lDtOOScYDZxI2BENN9m0pfVPJDSuUkAD1YXSvlJF0DKwZt0WlA7T7o3wrcEr4Q+iHYGzEaVuZcsIbCps4K27sA==}
engines: {node: '>= 10'}
cpu: [x64]
os: [linux]
- '@next/swc-linux-x64-musl@15.5.2':
- resolution: {integrity: sha512-/VUnh7w8RElYZ0IV83nUcP/J4KJ6LLYliiBIri3p3aW2giF+PAVgZb6mk8jbQSB3WlTai8gEmCAr7kptFa1H6g==}
+ '@next/swc-linux-x64-musl@15.5.3':
+ resolution: {integrity: sha512-9vWVUnsx9PrY2NwdVRJ4dUURAQ8Su0sLRPqcCCxtX5zIQUBES12eRVHq6b70bbfaVaxIDGJN2afHui0eDm+cLg==}
engines: {node: '>= 10'}
cpu: [x64]
os: [linux]
- '@next/swc-win32-arm64-msvc@15.5.2':
- resolution: {integrity: sha512-sMPyTvRcNKXseNQ/7qRfVRLa0VhR0esmQ29DD6pqvG71+JdVnESJaHPA8t7bc67KD5spP3+DOCNLhqlEI2ZgQg==}
+ '@next/swc-win32-arm64-msvc@15.5.3':
+ resolution: {integrity: sha512-1CU20FZzY9LFQigRi6jM45oJMU3KziA5/sSG+dXeVaTm661snQP6xu3ykGxxwU5sLG3sh14teO/IOEPVsQMRfA==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [win32]
- '@next/swc-win32-x64-msvc@15.5.2':
- resolution: {integrity: sha512-W5VvyZHnxG/2ukhZF/9Ikdra5fdNftxI6ybeVKYvBPDtyx7x4jPPSNduUkfH5fo3zG0JQ0bPxgy41af2JX5D4Q==}
+ '@next/swc-win32-x64-msvc@15.5.3':
+ resolution: {integrity: sha512-JMoLAq3n3y5tKXPQwCK5c+6tmwkuFDa2XAxz8Wm4+IVthdBZdZGh+lmiLUHg9f9IDwIQpUjp+ysd6OkYTyZRZw==}
engines: {node: '>= 10'}
cpu: [x64]
os: [win32]
@@ -3904,8 +3914,8 @@ packages:
peerDependencies:
semantic-release: '>=18.0.0'
- '@semantic-release/github@11.0.5':
- resolution: {integrity: sha512-wJamzHteXwBdopvkTD6BJjPz1UHLm20twlVCSMA9zpd3B5KrOQX137jfTbNJT6ZVz3pXtg0S1DroQl4wifJ4WQ==}
+ '@semantic-release/github@11.0.6':
+ resolution: {integrity: sha512-ctDzdSMrT3H+pwKBPdyCPty6Y47X8dSrjd3aPZ5KKIKKWTwZBE9De8GtsH3TyAlw3Uyo2stegMx6rJMXKpJwJA==}
engines: {node: '>=20.8.1'}
peerDependencies:
semantic-release: '>=24.1.0'
@@ -3926,10 +3936,6 @@ packages:
resolution: {integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==}
engines: {node: '>=10'}
- '@sindresorhus/merge-streams@2.3.0':
- resolution: {integrity: sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==}
- engines: {node: '>=18'}
-
'@sindresorhus/merge-streams@4.0.0':
resolution: {integrity: sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==}
engines: {node: '>=18'}
@@ -4087,27 +4093,27 @@ packages:
resolution: {integrity: sha512-Wo1iKt2b9OT7d+YGhvEPD3DXvPv2etTusIMhMUoG7fbhmxcXCtIjJDEygy91Y2JFlwGyjqiBPRozme7UD8hoqg==}
engines: {node: '>=12'}
- '@tanstack/query-core@5.87.1':
- resolution: {integrity: sha512-HOFHVvhOCprrWvtccSzc7+RNqpnLlZ5R6lTmngb8aq7b4rc2/jDT0w+vLdQ4lD9bNtQ+/A4GsFXy030Gk4ollA==}
+ '@tanstack/query-core@5.87.4':
+ resolution: {integrity: sha512-uNsg6zMxraEPDVO2Bn+F3/ctHi+Zsk+MMpcN8h6P7ozqD088F6mFY5TfGM7zuyIrL7HKpDyu6QHfLWiDxh3cuw==}
- '@tanstack/query-devtools@5.86.0':
- resolution: {integrity: sha512-/JDw9BP80eambEK/EsDMGAcsL2VFT+8F5KCOwierjPU7QP8Wt1GT32yJpn3qOinBM8/zS3Jy36+F0GiyJp411A==}
+ '@tanstack/query-devtools@5.87.3':
+ resolution: {integrity: sha512-LkzxzSr2HS1ALHTgDmJH5eGAVsSQiuwz//VhFW5OqNk0OQ+Fsqba0Tsf+NzWRtXYvpgUqwQr4b2zdFZwxHcGvg==}
- '@tanstack/react-query-devtools@5.87.1':
- resolution: {integrity: sha512-YPuEub8RQrrsXOxoiMJn33VcGPIeuVINWBgLu9RLSQB8ueXaKlGLZ3NJkahGpbt2AbWf749FQ6R+1jBFk3kdCA==}
+ '@tanstack/react-query-devtools@5.87.4':
+ resolution: {integrity: sha512-JYcnVJBBW1DCPyNGM0S2CyrLpe6KFiL2gpYd/k9tAp62Du7+Y27zkzd+dKFyxpFadYaTxsx4kUA7YvnkMLVUoQ==}
peerDependencies:
- '@tanstack/react-query': ^5.87.1
+ '@tanstack/react-query': ^5.87.4
react: ^18 || ^19
- '@tanstack/react-query-next-experimental@5.87.1':
- resolution: {integrity: sha512-AeZRThgx9cLkcRfE8W+qasgoyPvO4aJafdxqz+uHvCskjDkNt5Y3FAxuqIb9By1Z6VhA9ktyAEUgI/nqJGABiw==}
+ '@tanstack/react-query-next-experimental@5.87.4':
+ resolution: {integrity: sha512-58nv1vqNzGpwsUG6C8hSOri7kT2TvzxQd5oz195FtQaNAeID0HIGNduvQBylxHeBxHaujuMksh/A+MxfbzZ5YQ==}
peerDependencies:
- '@tanstack/react-query': ^5.87.1
+ '@tanstack/react-query': ^5.87.4
next: ^13 || ^14 || ^15
react: ^18 || ^19
- '@tanstack/react-query@5.87.1':
- resolution: {integrity: sha512-YKauf8jfMowgAqcxj96AHs+Ux3m3bWT1oSVKamaRPXSnW2HqSznnTCEkAVqctF1e/W9R/mPcyzzINIgpOH94qg==}
+ '@tanstack/react-query@5.87.4':
+ resolution: {integrity: sha512-T5GT/1ZaNsUXf5I3RhcYuT17I4CPlbZgyLxc/ZGv7ciS6esytlbjb3DgUFO6c8JWYMDpdjSWInyGZUErgzqhcA==}
peerDependencies:
react: ^18 || ^19
@@ -4588,8 +4594,8 @@ packages:
'@types/node@18.19.50':
resolution: {integrity: sha512-xonK+NRrMBRtkL1hVCc3G+uXtjh1Al4opBLjqVmipe5ZAaBYWW6cNAiBVZ1BvmkBhep698rP3UM3aRAdSALuhg==}
- '@types/node@22.18.1':
- resolution: {integrity: sha512-rzSDyhn4cYznVG+PCzGe1lwuMYJrcBS1fc3JqSa2PvtABwWo+dZ1ij5OVok3tqfpEBCBoaR4d7upFJk73HRJDw==}
+ '@types/node@22.18.6':
+ resolution: {integrity: sha512-r8uszLPpeIWbNKtvWRt/DbVi5zbqZyj1PTmhRMqBMvDnaz1QpmSKujUtJLrqGZeoM8v72MfYggDceY4K1itzWQ==}
'@types/normalize-package-data@2.4.4':
resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==}
@@ -4614,8 +4620,8 @@ packages:
peerDependencies:
'@types/react': ^19.0.0
- '@types/react@19.1.12':
- resolution: {integrity: sha512-cMoR+FoAf/Jyq6+Df2/Z41jISvGZZ2eTlnsaJRptmZ76Caldwy1odD4xTr/gNV9VLj0AWgg/nmkevIyUfIIq5w==}
+ '@types/react@19.1.13':
+ resolution: {integrity: sha512-hHkbU/eoO3EG5/MZkuFSKmYqPbSVk5byPFa3e7y/8TybHiLMACgI8seVYlicwk7H5K/rI2px9xrQp/C+AUDTiQ==}
'@types/semver@7.5.8':
resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==}
@@ -4671,63 +4677,63 @@ packages:
'@types/xml2js@0.4.14':
resolution: {integrity: sha512-4YnrRemBShWRO2QjvUin8ESA41rH+9nQGLUGZV/1IDhi3SL9OhdpNC/MrulTWuptXKwhx/aDxE7toV0f/ypIXQ==}
- '@typescript-eslint/eslint-plugin@8.42.0':
- resolution: {integrity: sha512-Aq2dPqsQkxHOLfb2OPv43RnIvfj05nw8v/6n3B2NABIPpHnjQnaLo9QGMTvml+tv4korl/Cjfrb/BYhoL8UUTQ==}
+ '@typescript-eslint/eslint-plugin@8.43.0':
+ resolution: {integrity: sha512-8tg+gt7ENL7KewsKMKDHXR1vm8tt9eMxjJBYINf6swonlWgkYn5NwyIgXpbbDxTNU5DgpDFfj95prcTq2clIQQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
- '@typescript-eslint/parser': ^8.42.0
+ '@typescript-eslint/parser': ^8.43.0
eslint: ^8.57.0 || ^9.0.0
typescript: '>=4.8.4 <6.0.0'
- '@typescript-eslint/parser@8.42.0':
- resolution: {integrity: sha512-r1XG74QgShUgXph1BYseJ+KZd17bKQib/yF3SR+demvytiRXrwd12Blnz5eYGm8tXaeRdd4x88MlfwldHoudGg==}
+ '@typescript-eslint/parser@8.43.0':
+ resolution: {integrity: sha512-B7RIQiTsCBBmY+yW4+ILd6mF5h1FUwJsVvpqkrgpszYifetQ2Ke+Z4u6aZh0CblkUGIdR59iYVyXqqZGkZ3aBw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
eslint: ^8.57.0 || ^9.0.0
typescript: '>=4.8.4 <6.0.0'
- '@typescript-eslint/project-service@8.42.0':
- resolution: {integrity: sha512-vfVpLHAhbPjilrabtOSNcUDmBboQNrJUiNAGoImkZKnMjs2TIcWG33s4Ds0wY3/50aZmTMqJa6PiwkwezaAklg==}
+ '@typescript-eslint/project-service@8.43.0':
+ resolution: {integrity: sha512-htB/+D/BIGoNTQYffZw4uM4NzzuolCoaA/BusuSIcC8YjmBYQioew5VUZAYdAETPjeed0hqCaW7EHg+Robq8uw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
typescript: '>=4.8.4 <6.0.0'
- '@typescript-eslint/scope-manager@8.42.0':
- resolution: {integrity: sha512-51+x9o78NBAVgQzOPd17DkNTnIzJ8T/O2dmMBLoK9qbY0Gm52XJcdJcCl18ExBMiHo6jPMErUQWUv5RLE51zJw==}
+ '@typescript-eslint/scope-manager@8.43.0':
+ resolution: {integrity: sha512-daSWlQ87ZhsjrbMLvpuuMAt3y4ba57AuvadcR7f3nl8eS3BjRc8L9VLxFLk92RL5xdXOg6IQ+qKjjqNEimGuAg==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@typescript-eslint/tsconfig-utils@8.42.0':
- resolution: {integrity: sha512-kHeFUOdwAJfUmYKjR3CLgZSglGHjbNTi1H8sTYRYV2xX6eNz4RyJ2LIgsDLKf8Yi0/GL1WZAC/DgZBeBft8QAQ==}
+ '@typescript-eslint/tsconfig-utils@8.43.0':
+ resolution: {integrity: sha512-ALC2prjZcj2YqqL5X/bwWQmHA2em6/94GcbB/KKu5SX3EBDOsqztmmX1kMkvAJHzxk7TazKzJfFiEIagNV3qEA==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
typescript: '>=4.8.4 <6.0.0'
- '@typescript-eslint/type-utils@8.42.0':
- resolution: {integrity: sha512-9KChw92sbPTYVFw3JLRH1ockhyR3zqqn9lQXol3/YbI6jVxzWoGcT3AsAW0mu1MY0gYtsXnUGV/AKpkAj5tVlQ==}
+ '@typescript-eslint/type-utils@8.43.0':
+ resolution: {integrity: sha512-qaH1uLBpBuBBuRf8c1mLJ6swOfzCXryhKND04Igr4pckzSEW9JX5Aw9AgW00kwfjWJF0kk0ps9ExKTfvXfw4Qg==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
eslint: ^8.57.0 || ^9.0.0
typescript: '>=4.8.4 <6.0.0'
- '@typescript-eslint/types@8.42.0':
- resolution: {integrity: sha512-LdtAWMiFmbRLNP7JNeY0SqEtJvGMYSzfiWBSmx+VSZ1CH+1zyl8Mmw1TT39OrtsRvIYShjJWzTDMPWZJCpwBlw==}
+ '@typescript-eslint/types@8.43.0':
+ resolution: {integrity: sha512-vQ2FZaxJpydjSZJKiSW/LJsabFFvV7KgLC5DiLhkBcykhQj8iK9BOaDmQt74nnKdLvceM5xmhaTF+pLekrxEkw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@typescript-eslint/typescript-estree@8.42.0':
- resolution: {integrity: sha512-ku/uYtT4QXY8sl9EDJETD27o3Ewdi72hcXg1ah/kkUgBvAYHLwj2ofswFFNXS+FL5G+AGkxBtvGt8pFBHKlHsQ==}
+ '@typescript-eslint/typescript-estree@8.43.0':
+ resolution: {integrity: sha512-7Vv6zlAhPb+cvEpP06WXXy/ZByph9iL6BQRBDj4kmBsW98AqEeQHlj/13X+sZOrKSo9/rNKH4Ul4f6EICREFdw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
typescript: '>=4.8.4 <6.0.0'
- '@typescript-eslint/utils@8.42.0':
- resolution: {integrity: sha512-JnIzu7H3RH5BrKC4NoZqRfmjqCIS1u3hGZltDYJgkVdqAezl4L9d1ZLw+36huCujtSBSAirGINF/S4UxOcR+/g==}
+ '@typescript-eslint/utils@8.43.0':
+ resolution: {integrity: sha512-S1/tEmkUeeswxd0GGcnwuVQPFWo8NzZTOMxCvw8BX7OMxnNae+i8Tm7REQen/SwUIPoPqfKn7EaZ+YLpiB3k9g==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
eslint: ^8.57.0 || ^9.0.0
typescript: '>=4.8.4 <6.0.0'
- '@typescript-eslint/visitor-keys@8.42.0':
- resolution: {integrity: sha512-3WbiuzoEowaEn8RSnhJBrxSwX8ULYE9CXaPepS2C2W3NSA5NNIvBaslpBSBElPq0UGr0xVJlXFWOAKIkyylydQ==}
+ '@typescript-eslint/visitor-keys@8.43.0':
+ resolution: {integrity: sha512-T+S1KqRD4sg/bHfLwrpF/K3gQLBM1n7Rp7OjjikjTEssI2YJzQpi5WXoynOaQ93ERIuq3O8RBTOUYDKszUCEHw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@umami/node@0.4.0':
@@ -5142,12 +5148,12 @@ packages:
resolution: {integrity: sha512-Mr2ZakwQ7XUAjp7pAwQWRhhK8mQQ6JAaNWSjmjxil0R8BPioMtQsTLOolGYkji1rcL++3dCqZA3zWqpT+9Ew6g==}
engines: {node: '>=4'}
- axios@1.11.0:
- resolution: {integrity: sha512-1Lx3WLFQWm3ooKDYZD1eXmoGO9fxYQjrycfHFC8P0sCfQVXyROp0p9PFWBehewBOdCwHc+f/b8I0fMto5eSfwA==}
-
axios@1.12.1:
resolution: {integrity: sha512-Kn4kbSXpkFHCGE6rBFNwIv0GQs4AvDT80jlveJDKFxjbTYMUeB4QtsdPCv6H8Cm19Je7IU6VFtRl2zWZI0rudQ==}
+ axios@1.12.2:
+ resolution: {integrity: sha512-vMJzPewAlRyOgxV2dU0Cuz2O8zzzx9VYtbJOaBgXFeLc4IV/Eg50n4LowmehOOR61S8ZMpc2K5Sa7g6A4jfkUw==}
+
axios@1.9.0:
resolution: {integrity: sha512-re4CqKTJaURpzbLHtIi6XpDv20/CnpXOtjRY5/CU32L8gU8ek9UIivcfvSWvmKEngmVbrUtPpdDwWDWL7DNHvg==}
@@ -5230,6 +5236,9 @@ packages:
resolution: {integrity: sha512-eGbYq2CT+tos1fBwLQ/tkBt9J5M3JEHjku4hbvQUePCckkvVf14xWj+1m7dGoK81M/fOjFT7yM9UMeKT/+vFLQ==}
engines: {node: 20.x || 22.x || 23.x || 24.x}
+ bidi-js@1.0.3:
+ resolution: {integrity: sha512-RKshQI1R3YQ+n9YJz2QQ147P66ELpa1FQEg20Dk8oW9t2KgLbpDLLp9aGZ7y8WHSshDknG0bknqGw5/tyCs5tw==}
+
big.js@5.2.2:
resolution: {integrity: sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==}
@@ -5397,6 +5406,9 @@ packages:
resolution: {integrity: sha512-mxIojEAQcuEvT/lyXq+jf/3cO/KoA6z4CeNDGGevTybECPOMFCnQy3OPahluUkbqgPNGw5Bi78UC7Po6Lhy+NA==}
engines: {node: '>= 14.16.0'}
+ chownr@1.1.4:
+ resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==}
+
chroma-js@3.1.2:
resolution: {integrity: sha512-IJnETTalXbsLx1eKEgx19d5L6SRM7cH4vINw/99p/M11HCuXGRWL+6YmCm7FWFGIo6dtWuQoQi1dc5yQ7ESIHg==}
@@ -5654,6 +5666,10 @@ packages:
resolution: {integrity: sha512-x8dy3RnvYdlUcPOjkEHqozhiwzKNSq7GcPuXFbnyMOCHxX8V3OgIg/pYuabl2sbUPfIJaeAQB7PMOK8DFIdoRA==}
engines: {node: '>=12'}
+ css-tree@3.1.0:
+ resolution: {integrity: sha512-0eW44TGN5SQXU1mWSkKwFstI/22X2bG1nYzZTYMAWjylYURhse752YgbE4Cx46AC+bAvI+/dYTPRk1LqSUnu6w==}
+ engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0}
+
css.escape@1.5.1:
resolution: {integrity: sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==}
@@ -5662,9 +5678,9 @@ packages:
engines: {node: '>=4'}
hasBin: true
- cssstyle@4.2.1:
- resolution: {integrity: sha512-9+vem03dMXG7gDmZ62uqmRiMRNtinIZ9ZyuF6BdxzfOD+FdN5hretzynkn0ReS2DO2GSw76RWHs0UmJPI2zUjw==}
- engines: {node: '>=18'}
+ cssstyle@5.3.0:
+ resolution: {integrity: sha512-RveJPnk3m7aarYQ2bJ6iw+Urh55S6FzUiqtBq+TihnTDP4cI8y/TYDqGOyqgnG1J1a6BxJXZsV9JFSTulm9Z7g==}
+ engines: {node: '>=20'}
csstype@3.1.3:
resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==}
@@ -5720,9 +5736,9 @@ packages:
resolution: {integrity: sha512-7hvf7/GW8e86rW0ptuwS3OcBGDjIi6SZva7hCyWC0yYry2cOPmLIjXAUHI6DK2HsnwJd9ifmt57i8eV2n4YNpw==}
engines: {node: '>= 14'}
- data-urls@5.0.0:
- resolution: {integrity: sha512-ZYP5VBHshaDAiVZxjbRVcFJpc+4xGgT0bK3vzy1HLN8jTO975HEbuYzZJcHoQEY5K1a0z8YayJkyVETa08eNTg==}
- engines: {node: '>=18'}
+ data-urls@6.0.0:
+ resolution: {integrity: sha512-BnBS08aLUM+DKamupXs3w2tJJoqU+AkaE/+6vQxi/G/DPmIZFJJp9Dkb1kM03AZx8ADehDUZgsNxju3mPXZYIA==}
+ engines: {node: '>=20'}
data-view-buffer@1.0.1:
resolution: {integrity: sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==}
@@ -5909,8 +5925,8 @@ packages:
resolution: {integrity: sha512-ens7BiayssQz/uAxGzH8zGXCtiV24rRWXdjNha5V4zSOcxmAZsfGVm/PPFbwQdqEkDnhG+SyR9E3zSHUbOKXBQ==}
engines: {node: '>= 8.0'}
- dockerode@4.0.7:
- resolution: {integrity: sha512-R+rgrSRTRdU5mH14PZTCPZtW/zw3HDWNTS/1ZAQpL/5Upe/ye5K9WQkIysu4wBoiMwKynsz0a8qWuGsHgEvSAA==}
+ dockerode@4.0.8:
+ resolution: {integrity: sha512-HdPBprWmwfHMHi12AVIFDhXIqIS+EpiOVkZaAZxgML4xf5McqEZjJZtahTPkLDxWOt84ApfWPAH9EoQwOiaAIQ==}
engines: {node: '>= 8.0'}
doctrine@2.1.0:
@@ -6116,6 +6132,10 @@ packages:
resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==}
engines: {node: '>=0.12'}
+ entities@6.0.1:
+ resolution: {integrity: sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==}
+ engines: {node: '>=0.12'}
+
env-ci@11.1.0:
resolution: {integrity: sha512-Z8dnwSDbV1XYM9SBF2J0GcNVvmfmfh3a49qddGIROhBoVro6MZVTji15z/sJbQ2ko2ei8n988EU1wzoLU/tF+g==}
engines: {node: ^18.17 || >=20.6.1}
@@ -6599,6 +6619,9 @@ packages:
from2@2.3.0:
resolution: {integrity: sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g==}
+ fs-constants@1.0.0:
+ resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==}
+
fs-extra@10.1.0:
resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==}
engines: {node: '>=12'}
@@ -6765,10 +6788,6 @@ packages:
resolution: {integrity: sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg==}
engines: {node: '>=8'}
- globby@14.0.2:
- resolution: {integrity: sha512-s3Fq41ZVh7vbbe2PN3nrW7yC7U7MFVc5c98/iTl9c2GawNMKx/J648KQRW6WKkuU8GIbbh2IXfIRQjOZnXcTnw==}
- engines: {node: '>=18'}
-
globrex@0.1.2:
resolution: {integrity: sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==}
@@ -6869,8 +6888,8 @@ packages:
highlightjs-vue@1.0.0:
resolution: {integrity: sha512-PDEfEF102G23vHmPhLyPboFCD+BkMGu+GuJe2d9/eH4FsCwvgBpnc9n0pGE+ffKdph38s6foEZiEjdgHdzp+IA==}
- hono@4.9.6:
- resolution: {integrity: sha512-doVjXhSFvYZ7y0dNokjwwSahcrAfdz+/BCLvAMa/vHLzjj8+CFyV5xteThGUsKdkaasgN+gF2mUxao+SGLpUeA==}
+ hono@4.9.7:
+ resolution: {integrity: sha512-t4Te6ERzIaC48W3x4hJmBwgNlLhmiEdEE5ViYb02ffw4ignHNHa5IBtPjmbKstmtKa8X6C35iWwK4HaqvrzG9w==}
engines: {node: '>=16.9.0'}
hook-std@4.0.0:
@@ -6936,6 +6955,9 @@ packages:
resolution: {integrity: sha512-/1/GPCpDUCCYwlERiYjxoczfP0zfvZMU/OWgQPMya9AbAE24vseigFdhAMObpc8Q4lc/kjutPfUddDYyAmejnA==}
engines: {node: '>=18.18.0'}
+ ical.js@2.2.1:
+ resolution: {integrity: sha512-yK/UlPbEs316igb/tjRgbFA8ZV75rCsBJp/hWOatpyaPNlgw0dGDmU+FoicOcwX4xXkeXOkYiOmCqNPFpNPkQg==}
+
iconv-lite@0.4.24:
resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==}
engines: {node: '>=0.10.0'}
@@ -7398,8 +7420,8 @@ packages:
jose@6.0.8:
resolution: {integrity: sha512-EyUPtOKyTYq+iMOszO42eobQllaIjJnwkZ2U93aJzNyPibCy7CEvT9UQnaCVB51IAd49gbNdCew1c0LcLTCB2g==}
- jotai@2.13.1:
- resolution: {integrity: sha512-cRsw6kFeGC9Z/D3egVKrTXRweycZ4z/k7i2MrfCzPYsL9SIWcPXTyqv258/+Ay8VUEcihNiE/coBLE6Kic6b8A==}
+ jotai@2.14.0:
+ resolution: {integrity: sha512-JQkNkTnqjk1BlSUjHfXi+pGG/573bVN104gp6CymhrWDseZGDReTNniWrLhJ+zXbM6pH+82+UNJ2vwYQUkQMWQ==}
engines: {node: '>=12.20.0'}
peerDependencies:
'@babel/core': '>=7.0.0'
@@ -7435,9 +7457,9 @@ packages:
jsbn@1.1.0:
resolution: {integrity: sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==}
- jsdom@26.1.0:
- resolution: {integrity: sha512-Cvc9WUhxSMEo4McES3P7oK3QaXldCfNWp7pl2NNeiIFlCoLr3kfq9kb1fxftiwk1FLV7CvpvDfonxtzUDeSOPg==}
- engines: {node: '>=18'}
+ jsdom@27.0.0:
+ resolution: {integrity: sha512-lIHeR1qlIRrIN5VMccd8tI2Sgw6ieYXSVktcSHaNe3Z5nE/tcPQYQWOq00wxMvYOsz+73eAkNenVvmPC6bba9A==}
+ engines: {node: '>=20'}
peerDependencies:
canvas: ^3.0.0
peerDependenciesMeta:
@@ -7757,6 +7779,9 @@ packages:
mdast-util-to-string@4.0.0:
resolution: {integrity: sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==}
+ mdn-data@2.12.2:
+ resolution: {integrity: sha512-IEn+pegP1aManZuckezWCO+XZQDplx1366JoVhTpMpBB1sPey/SbveZQUosKiKiGYjg1wH4pMlNgXbCiYgihQA==}
+
mdurl@2.0.0:
resolution: {integrity: sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==}
@@ -7944,8 +7969,8 @@ packages:
engines: {node: '>=8', npm: '>=5'}
hasBin: true
- mysql2@3.14.4:
- resolution: {integrity: sha512-Cs/jx3WZPNrYHVz+Iunp9ziahaG5uFMvD2R8Zlmc194AqXNxt9HBNu7ZsPYrUtmJsF0egETCWIdMIYAwOGjL1w==}
+ mysql2@3.14.5:
+ resolution: {integrity: sha512-40hDf8LPUsuuJ2hFq+UgOuPwt2IFLIRDvMv6ez9hKbXeYuZPxDDwiJW7KdknvOsQqKznaKczOT1kELgFkhDvFg==}
engines: {node: '>= 8.0'}
mz@2.7.0:
@@ -8012,8 +8037,8 @@ packages:
nodemailer:
optional: true
- next-intl@4.3.7:
- resolution: {integrity: sha512-2bVsHSnSj5boJMaUR5SY6bu3khFtNf0he+s1nj23PFGWPCYWHPqa+FOe4YCzkKw1BpB+3UkUn1PNqJCdZNpWwg==}
+ next-intl@4.3.8:
+ resolution: {integrity: sha512-epUuRSL1KRQtDdFVRb5j7ZaaF7Sx/aivVA7VY0fc5g1pmpT90ylK6AaBdNsOnc5n+AERVn+zO5HoBsXO0lhTZA==}
peerDependencies:
next: ^12.0.0 || ^13.0.0 || ^14.0.0 || ^15.0.0
react: ^16.8.0 || ^17.0.0 || ^18.0.0 || >=19.0.0-rc <19.0.0 || ^19.0.0
@@ -8022,8 +8047,8 @@ packages:
typescript:
optional: true
- next@15.5.2:
- resolution: {integrity: sha512-H8Otr7abj1glFhbGnvUt3gz++0AF1+QoCXEBmd/6aKbfdFwrn0LpA836Ed5+00va/7HQSDD+mOoVhn3tNy3e/Q==}
+ next@15.5.3:
+ resolution: {integrity: sha512-r/liNAx16SQj4D+XH/oI1dlpv9tdKJ6cONYPwwcCC46f2NjpaRWY+EKCzULfgQYV6YKXjHBchff2IZBSlZmJNw==}
engines: {node: ^18.18.0 || ^19.8.0 || >= 20.0.0}
hasBin: true
peerDependencies:
@@ -8224,9 +8249,6 @@ packages:
- which
- write-file-atomic
- nwsapi@2.2.16:
- resolution: {integrity: sha512-F1I/bimDpj3ncaNDhfyMWuFqmQDBwDB0Fogc2qpL3BWvkQteFD/8BzWuIRl83rq0DXfm8SGt/HFhLXZyljTXcQ==}
-
oauth4webapi@3.3.0:
resolution: {integrity: sha512-ZlozhPlFfobzh3hB72gnBFLjXpugl/dljz1fJSRdqaV2r3D5dmi5lg2QWI0LmUYuazmE+b5exsloEv6toUtw9g==}
@@ -8443,8 +8465,8 @@ packages:
parse5@6.0.1:
resolution: {integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==}
- parse5@7.2.1:
- resolution: {integrity: sha512-BuBYQYlv1ckiPdQi/ohiivi9Sagc9JG+Ozs0r7b/0iK3sKmrb0b9FdWdBbOdx6hBCM/F9Ir82ofnBhtZOjCRPQ==}
+ parse5@7.3.0:
+ resolution: {integrity: sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==}
pascal-case@2.0.1:
resolution: {integrity: sha512-qjS4s8rBOJa2Xm0jmxXiyh1+OFf6ekCWOvUaRgAQSktzlTbMotS0nmG9gyYAybCWBcuP4fsBeRCKNwGBnMe2OQ==}
@@ -8487,10 +8509,6 @@ packages:
resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==}
engines: {node: '>=8'}
- path-type@5.0.0:
- resolution: {integrity: sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg==}
- engines: {node: '>=12'}
-
pathe@1.1.2:
resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==}
@@ -8903,11 +8921,8 @@ packages:
peerDependencies:
react: ^16.8.4 || ^17.0.0 || ^18.0.0
- react-is@16.13.1:
- resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==}
-
- react-is@18.3.1:
- resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==}
+ react-is@19.1.1:
+ resolution: {integrity: sha512-tr41fA15Vn8p4X9ntI+yCyeGSf1TlYaY5vlTZfQmeLBrFo3psOPX6HhTDnFNL9uj3EhP0KAQ80cugCl4b4BERA==}
react-markdown@10.1.0:
resolution: {integrity: sha512-qKxVopLT/TyA6BX3Ue5NwabOsAzm0Q7kAPwq6L+wWDwisYs7R8vZ0nRXqq6rkueboxpkjvLGU9fWifiX/ZZFxQ==}
@@ -8915,8 +8930,8 @@ packages:
'@types/react': '>=18'
react: '>=18'
- react-number-format@5.4.3:
- resolution: {integrity: sha512-VCY5hFg/soBighAoGcdE+GagkJq0230qN6jcS5sp8wQX1qy1fYN/RX7/BXkrs0oyzzwqR8/+eSUrqXbGeywdUQ==}
+ react-number-format@5.4.4:
+ resolution: {integrity: sha512-wOmoNZoOpvMminhifQYiYSTCLUDOiUbBunrMrMjA+dV52sY+vck1S4UhR6PkgnoCquvvMSeJjErXZ4qSaWCliA==}
peerDependencies:
react: ^0.14 || ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
react-dom: ^0.14 || ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
@@ -8947,8 +8962,8 @@ packages:
'@types/react':
optional: true
- react-remove-scroll@2.6.2:
- resolution: {integrity: sha512-KmONPx5fnlXYJQqC62Q+lwIeAk64ws/cUw6omIumRzMRPqgnYqhSSti99nbj0Ry13bv7dF+BKn7NB+OqkdZGTw==}
+ react-remove-scroll@2.7.1:
+ resolution: {integrity: sha512-HpMh8+oahmIdOuS5aFKKY6Pyog+FNaZV/XyJOq7b4YFwsFHe5yYfdbIalI4k3vU2nSDql7YskmUseHsRrJqIPA==}
engines: {node: '>=10'}
peerDependencies:
'@types/react': '*'
@@ -9446,10 +9461,6 @@ packages:
resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==}
engines: {node: '>=8'}
- slash@5.1.0:
- resolution: {integrity: sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==}
- engines: {node: '>=14.16'}
-
smart-buffer@4.2.0:
resolution: {integrity: sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==}
engines: {node: '>= 6.0.0', npm: '>= 3.0.0'}
@@ -9727,8 +9738,8 @@ packages:
swagger-client@3.35.5:
resolution: {integrity: sha512-ayCrpDAgm5jIdq1kmcVWJRfp27cqU9tSRiAfKg3BKeplOmvu3+lKTPPtz4x1uI8v5l5/92Aopvq0EzRkXEr7Rw==}
- swagger-ui-react@5.28.1:
- resolution: {integrity: sha512-JfLZvbCpsjwUnYKx+Q1YfkrgM7gD6Zb7HnO8/DwFNo5xppwC3MbL27/5MhPkmDyMZ669r6CNiJ0SALiivs7iQg==}
+ swagger-ui-react@5.29.0:
+ resolution: {integrity: sha512-dEDqs3et9cnflzwog0oBMjkrq7Uf6PNPVva4VFB4GICDWMRb6T2C+CzIfqJp9XX9eDvbmiZa/dTcnwvGcDpi5A==}
peerDependencies:
react: '>=16.8.0 <20'
react-dom: '>=16.8.0 <20'
@@ -9750,9 +9761,16 @@ packages:
resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==}
engines: {node: '>=6'}
+ tar-fs@2.1.3:
+ resolution: {integrity: sha512-090nwYJDmlhwFwEW3QQl+vaNnxsO2yVsd45eTKRBzSzu+hlb1w2K9inVq5b0ngXuLVqQ4ApvsUHHnu/zQNkWAg==}
+
tar-fs@3.1.0:
resolution: {integrity: sha512-5Mty5y/sOF1YWj1J6GiBodjlDc05CUR8PKXrsnFAiSG0xA+GHeWLovaZPYUDXkH/1iKRf2+M5+OrRgzC7O9b7w==}
+ tar-stream@2.2.0:
+ resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==}
+ engines: {node: '>=6'}
+
tar-stream@3.1.7:
resolution: {integrity: sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==}
@@ -9919,6 +9937,10 @@ packages:
resolution: {integrity: sha512-IUWnUK7ADYR5Sl1fZlO1INDUhVhatWl7BtJWsIhwJ0UAK7ilzzIa8uIqOO/aYVWHZPJkKbEL+362wrzoeRF7bw==}
engines: {node: '>=18'}
+ tr46@6.0.0:
+ resolution: {integrity: sha512-bLVMLPtstlZ4iMQHpFHTR7GAGj2jxi8Dg0s2h2MafAE4uSWF98FC/3MomU51iQAMf8/qDUbKWf5GxuvvVcXEhw==}
+ engines: {node: '>=20'}
+
traverse@0.6.8:
resolution: {integrity: sha512-aXJDbk6SnumuaZSANd21XAo15ucCDE38H4fkqiGsc3MhCK+wOlZvLP9cB/TvpHT0mOyWgC4Z8EwRlzqYSUzdsA==}
engines: {node: '>= 0.4'}
@@ -10127,8 +10149,8 @@ packages:
types-ramda@0.30.1:
resolution: {integrity: sha512-1HTsf5/QVRmLzcGfldPFvkVsAdi1db1BBKzi7iW3KBUlOICg/nKnFS+jGqDJS3YD8VsWbAh7JiHeBvbsw8RPxA==}
- typescript-eslint@8.42.0:
- resolution: {integrity: sha512-ozR/rQn+aQXQxh1YgbCzQWDFrsi9mcg+1PM3l/z5o1+20P7suOIaNg515bpr/OYt6FObz/NHcBstydDLHWeEKg==}
+ typescript-eslint@8.43.0:
+ resolution: {integrity: sha512-FyRGJKUGvcFekRRcBKFBlAhnp4Ng8rhe8tuvvkR9OiU0gfd4vyvTRQHEckO6VDlH57jbeUQem2IpqPq9kLJH+w==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
eslint: ^8.57.0 || ^9.0.0
@@ -10170,8 +10192,8 @@ packages:
undici-types@6.21.0:
resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==}
- undici@7.15.0:
- resolution: {integrity: sha512-7oZJCPvvMvTd0OlqWsIxTuItTpJBpU1tcbVl24FMn3xt3+VSunwUasmfPJRE57oNO1KsZ4PgA1xTdAX4hq8NyQ==}
+ undici@7.16.0:
+ resolution: {integrity: sha512-QEg3HPMll0o3t2ourKwOeUAZ159Kn9mx5pnzHRQO8+Wixmh88YdZRiIwat0iNzNNXn0yoEtXJqFpyW7eM8BV7g==}
engines: {node: '>=20.18.1'}
unicode-emoji-modifier-base@1.0.0:
@@ -10297,8 +10319,8 @@ packages:
peerDependencies:
react: '>=16.13'
- use-intl@4.3.7:
- resolution: {integrity: sha512-IkRFatZEIAm+JfFBAU2Bleb3f2DVt8WldIn5EZVSVu4D5U0QYq2hwB28LHAt15TDhfQw5sdEPsDpvJ2Uj8HjqA==}
+ use-intl@4.3.9:
+ resolution: {integrity: sha512-bZu+h13HIgOvsoGleQtUe4E6gM49CRm+AH36KnJVB/qb1+Beo7jr7HNrR8YWH8oaOkQfGNm6vh0HTepxng8UTg==}
peerDependencies:
react: ^17.0.0 || ^18.0.0 || >=19.0.0-rc <19.0.0 || ^19.0.0
@@ -10320,12 +10342,12 @@ packages:
'@types/react':
optional: true
- use-sidecar@1.1.2:
- resolution: {integrity: sha512-epTbsLuzZ7lPClpz2TyryBfztm7m+28DlEv2ZCQ3MDr5ssiwyOwGH/e5F9CkfWjJ1t4clvI58yF822/GUkjjhw==}
+ use-sidecar@1.1.3:
+ resolution: {integrity: sha512-Fedw0aZvkhynoPYlA5WXrMCAMm+nSWdZt6lzJQ7Ok8S6Q+VsHmHpRWndVRJ8Be0ZbkfPc5LRYH+5XrzXcEeLRQ==}
engines: {node: '>=10'}
peerDependencies:
- '@types/react': ^16.9.0 || ^17.0.0 || ^18.0.0
- react: ^16.8.0 || ^17.0.0 || ^18.0.0
+ '@types/react': '*'
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc
peerDependenciesMeta:
'@types/react':
optional: true
@@ -10497,6 +10519,10 @@ packages:
resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==}
engines: {node: '>=12'}
+ webidl-conversions@8.0.0:
+ resolution: {integrity: sha512-n4W4YFyz5JzOfQeA8oN7dUYpR+MBP3PIUsn2jLjWXwK5ASUzt0Jc/A5sAUZoCYFJRGF0FBKJ+1JjN43rNdsQzA==}
+ engines: {node: '>=20'}
+
webpack-sources@3.2.3:
resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==}
engines: {node: '>=10.13.0'}
@@ -10529,6 +10555,10 @@ packages:
resolution: {integrity: sha512-De72GdQZzNTUBBChsXueQUnPKDkg/5A5zp7pFDuQAj5UFoENpiACU0wlCvzpAGnTkj++ihpKwKyYewn/XNUbKw==}
engines: {node: '>=18'}
+ whatwg-url@15.1.0:
+ resolution: {integrity: sha512-2ytDk0kiEj/yu90JOAp44PVPUkO9+jVhyf+SybKlRHSDlvOOZhdPIrr7xTH64l4WixO2cP+wQIcgujkGBPPz6g==}
+ engines: {node: '>=20'}
+
whatwg-url@5.0.0:
resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==}
@@ -10748,8 +10778,8 @@ packages:
peerDependencies:
zod: ^3.25.0 || ^4.0.0
- zod@4.1.5:
- resolution: {integrity: sha512-rcUUZqlLJgBC33IT3PNMgsCq6TzLQEG/Ei/KTCU0PedSWRMAXoOUN+4t/0H+Q8bdnLPdqUYnvboJT0bn/229qg==}
+ zod@4.1.8:
+ resolution: {integrity: sha512-5R1P+WwQqmmMIEACyzSvo4JXHY5WiAFHRMg+zBZKgKS+Q1viRa0C1hmUKtHltoIFKtIdki3pRxkmpP74jnNYHQ==}
zwitch@2.0.4:
resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==}
@@ -10771,14 +10801,23 @@ snapshots:
'@ark/util@0.46.0':
optional: true
- '@asamuzakjp/css-color@2.8.2':
+ '@asamuzakjp/css-color@4.0.4':
dependencies:
- '@csstools/css-calc': 2.1.1(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)
- '@csstools/css-color-parser': 3.0.7(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)
- '@csstools/css-parser-algorithms': 3.0.4(@csstools/css-tokenizer@3.0.3)
- '@csstools/css-tokenizer': 3.0.3
+ '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)
+ '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)
+ '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4)
+ '@csstools/css-tokenizer': 3.0.4
lru-cache: 11.1.0
+ '@asamuzakjp/dom-selector@6.5.5':
+ dependencies:
+ '@asamuzakjp/nwsapi': 2.3.9
+ bidi-js: 1.0.3
+ css-tree: 3.1.0
+ is-potential-custom-element-name: 1.0.1
+
+ '@asamuzakjp/nwsapi@2.3.9': {}
+
'@auth/core@0.40.0':
dependencies:
'@panva/hkdf': 1.2.1
@@ -11051,25 +11090,29 @@ snapshots:
dependencies:
'@jridgewell/trace-mapping': 0.3.9
- '@csstools/color-helpers@5.0.1': {}
+ '@csstools/color-helpers@5.1.0': {}
- '@csstools/css-calc@2.1.1(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)':
+ '@csstools/css-calc@2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)':
dependencies:
- '@csstools/css-parser-algorithms': 3.0.4(@csstools/css-tokenizer@3.0.3)
- '@csstools/css-tokenizer': 3.0.3
+ '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4)
+ '@csstools/css-tokenizer': 3.0.4
- '@csstools/css-color-parser@3.0.7(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)':
+ '@csstools/css-color-parser@3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)':
dependencies:
- '@csstools/color-helpers': 5.0.1
- '@csstools/css-calc': 2.1.1(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)
- '@csstools/css-parser-algorithms': 3.0.4(@csstools/css-tokenizer@3.0.3)
- '@csstools/css-tokenizer': 3.0.3
+ '@csstools/color-helpers': 5.1.0
+ '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)
+ '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4)
+ '@csstools/css-tokenizer': 3.0.4
- '@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3)':
+ '@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4)':
dependencies:
- '@csstools/css-tokenizer': 3.0.3
+ '@csstools/css-tokenizer': 3.0.4
- '@csstools/css-tokenizer@3.0.3': {}
+ '@csstools/css-syntax-patches-for-csstree@1.0.14(postcss@8.5.6)':
+ dependencies:
+ postcss: 8.5.6
+
+ '@csstools/css-tokenizer@3.0.4': {}
'@ctrl/deluge@7.2.0':
dependencies:
@@ -11253,11 +11296,6 @@ snapshots:
'@esbuild/win32-x64@0.25.9':
optional: true
- '@eslint-community/eslint-utils@4.7.0(eslint@9.35.0)':
- dependencies:
- eslint: 9.35.0
- eslint-visitor-keys: 3.4.3
-
'@eslint-community/eslint-utils@4.9.0(eslint@9.35.0)':
dependencies:
eslint: 9.35.0
@@ -11334,30 +11372,30 @@ snapshots:
'@fastify/forwarded': 3.0.0
ipaddr.js: 2.2.0
- '@floating-ui/core@1.6.8':
+ '@floating-ui/core@1.7.3':
dependencies:
- '@floating-ui/utils': 0.2.8
+ '@floating-ui/utils': 0.2.10
- '@floating-ui/dom@1.6.11':
+ '@floating-ui/dom@1.7.4':
dependencies:
- '@floating-ui/core': 1.6.8
- '@floating-ui/utils': 0.2.8
+ '@floating-ui/core': 1.7.3
+ '@floating-ui/utils': 0.2.10
- '@floating-ui/react-dom@2.1.2(react-dom@19.1.1(react@19.1.1))(react@19.1.1)':
+ '@floating-ui/react-dom@2.1.6(react-dom@19.1.1(react@19.1.1))(react@19.1.1)':
dependencies:
- '@floating-ui/dom': 1.6.11
+ '@floating-ui/dom': 1.7.4
react: 19.1.1
react-dom: 19.1.1(react@19.1.1)
- '@floating-ui/react@0.26.28(react-dom@19.1.1(react@19.1.1))(react@19.1.1)':
+ '@floating-ui/react@0.27.16(react-dom@19.1.1(react@19.1.1))(react@19.1.1)':
dependencies:
- '@floating-ui/react-dom': 2.1.2(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
- '@floating-ui/utils': 0.2.8
+ '@floating-ui/react-dom': 2.1.6(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
+ '@floating-ui/utils': 0.2.10
react: 19.1.1
react-dom: 19.1.1(react@19.1.1)
tabbable: 6.2.0
- '@floating-ui/utils@0.2.8': {}
+ '@floating-ui/utils@0.2.10': {}
'@formatjs/ecma402-abstract@2.2.0':
dependencies:
@@ -11418,11 +11456,11 @@ snapshots:
'@homarr/gridstack@1.12.0': {}
- '@homarr/node-unifi@2.6.0(undici@7.15.0)':
+ '@homarr/node-unifi@2.6.0(undici@7.16.0)':
dependencies:
axios: 1.9.0
eventemitter2: 6.4.9
- http-cookie-agent: 6.0.8(tough-cookie@5.1.2)(undici@7.15.0)
+ http-cookie-agent: 6.0.8(tough-cookie@5.1.2)(undici@7.16.0)
tough-cookie: 5.1.2
ws: 8.18.3
transitivePeerDependencies:
@@ -11431,9 +11469,9 @@ snapshots:
- undici
- utf-8-validate
- '@hono/node-server@1.13.0(hono@4.9.6)':
+ '@hono/node-server@1.13.0(hono@4.9.7)':
dependencies:
- hono: 4.9.6
+ hono: 4.9.7
'@humanfs/core@0.19.1': {}
@@ -11564,9 +11602,9 @@ snapshots:
'@istanbuljs/schema@0.1.3': {}
- '@jellyfin/sdk@0.11.0(axios@1.12.1)':
+ '@jellyfin/sdk@0.11.0(axios@1.12.2)':
dependencies:
- axios: 1.12.1
+ axios: 1.12.2
'@jridgewell/gen-mapping@0.3.12':
dependencies:
@@ -11624,7 +11662,7 @@ snapshots:
'@kubernetes/client-node@1.3.0':
dependencies:
'@types/js-yaml': 4.0.9
- '@types/node': 22.18.1
+ '@types/node': 22.18.6
'@types/node-fetch': 2.6.12
'@types/stream-buffers': 3.0.7
form-data: 4.0.4
@@ -11657,91 +11695,91 @@ snapshots:
js-base64: 3.7.7
optional: true
- '@mantine/charts@8.2.8(@mantine/core@8.2.8(@mantine/hooks@8.2.8(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/hooks@8.2.8(react@19.1.1))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(recharts@2.15.4(react-dom@19.1.1(react@19.1.1))(react@19.1.1))':
+ '@mantine/charts@8.3.1(@mantine/core@8.3.1(@mantine/hooks@8.3.1(react@19.1.1))(@types/react@19.1.13)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/hooks@8.3.1(react@19.1.1))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(recharts@2.15.4(react-dom@19.1.1(react@19.1.1))(react@19.1.1))':
dependencies:
- '@mantine/core': 8.2.8(@mantine/hooks@8.2.8(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
- '@mantine/hooks': 8.2.8(react@19.1.1)
+ '@mantine/core': 8.3.1(@mantine/hooks@8.3.1(react@19.1.1))(@types/react@19.1.13)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
+ '@mantine/hooks': 8.3.1(react@19.1.1)
react: 19.1.1
react-dom: 19.1.1(react@19.1.1)
recharts: 2.15.4(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
- '@mantine/colors-generator@8.2.8(chroma-js@3.1.2)':
+ '@mantine/colors-generator@8.3.1(chroma-js@3.1.2)':
dependencies:
chroma-js: 3.1.2
- '@mantine/core@8.2.8(@mantine/hooks@8.2.8(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)':
+ '@mantine/core@8.3.1(@mantine/hooks@8.3.1(react@19.1.1))(@types/react@19.1.13)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)':
dependencies:
- '@floating-ui/react': 0.26.28(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
- '@mantine/hooks': 8.2.8(react@19.1.1)
+ '@floating-ui/react': 0.27.16(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
+ '@mantine/hooks': 8.3.1(react@19.1.1)
clsx: 2.1.1
react: 19.1.1
react-dom: 19.1.1(react@19.1.1)
- react-number-format: 5.4.3(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
- react-remove-scroll: 2.6.2(@types/react@19.1.12)(react@19.1.1)
- react-textarea-autosize: 8.5.9(@types/react@19.1.12)(react@19.1.1)
+ react-number-format: 5.4.4(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
+ react-remove-scroll: 2.7.1(@types/react@19.1.13)(react@19.1.1)
+ react-textarea-autosize: 8.5.9(@types/react@19.1.13)(react@19.1.1)
type-fest: 4.41.0
transitivePeerDependencies:
- '@types/react'
- '@mantine/dates@8.2.8(@mantine/core@8.2.8(@mantine/hooks@8.2.8(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/hooks@8.2.8(react@19.1.1))(dayjs@1.11.18)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)':
+ '@mantine/dates@8.3.1(@mantine/core@8.3.1(@mantine/hooks@8.3.1(react@19.1.1))(@types/react@19.1.13)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/hooks@8.3.1(react@19.1.1))(dayjs@1.11.18)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)':
dependencies:
- '@mantine/core': 8.2.8(@mantine/hooks@8.2.8(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
- '@mantine/hooks': 8.2.8(react@19.1.1)
+ '@mantine/core': 8.3.1(@mantine/hooks@8.3.1(react@19.1.1))(@types/react@19.1.13)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
+ '@mantine/hooks': 8.3.1(react@19.1.1)
clsx: 2.1.1
dayjs: 1.11.18
react: 19.1.1
react-dom: 19.1.1(react@19.1.1)
- '@mantine/dropzone@8.2.8(@mantine/core@8.2.8(@mantine/hooks@8.2.8(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/hooks@8.2.8(react@19.1.1))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)':
+ '@mantine/dropzone@8.3.1(@mantine/core@8.3.1(@mantine/hooks@8.3.1(react@19.1.1))(@types/react@19.1.13)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/hooks@8.3.1(react@19.1.1))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)':
dependencies:
- '@mantine/core': 8.2.8(@mantine/hooks@8.2.8(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
- '@mantine/hooks': 8.2.8(react@19.1.1)
+ '@mantine/core': 8.3.1(@mantine/hooks@8.3.1(react@19.1.1))(@types/react@19.1.13)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
+ '@mantine/hooks': 8.3.1(react@19.1.1)
react: 19.1.1
react-dom: 19.1.1(react@19.1.1)
react-dropzone: 14.3.8(react@19.1.1)
- '@mantine/form@8.2.8(react@19.1.1)':
+ '@mantine/form@8.3.1(react@19.1.1)':
dependencies:
fast-deep-equal: 3.1.3
klona: 2.0.6
react: 19.1.1
- '@mantine/hooks@8.2.8(react@19.1.1)':
+ '@mantine/hooks@8.3.1(react@19.1.1)':
dependencies:
react: 19.1.1
- '@mantine/modals@8.2.8(@mantine/core@8.2.8(@mantine/hooks@8.2.8(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/hooks@8.2.8(react@19.1.1))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)':
+ '@mantine/modals@8.3.1(@mantine/core@8.3.1(@mantine/hooks@8.3.1(react@19.1.1))(@types/react@19.1.13)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/hooks@8.3.1(react@19.1.1))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)':
dependencies:
- '@mantine/core': 8.2.8(@mantine/hooks@8.2.8(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
- '@mantine/hooks': 8.2.8(react@19.1.1)
+ '@mantine/core': 8.3.1(@mantine/hooks@8.3.1(react@19.1.1))(@types/react@19.1.13)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
+ '@mantine/hooks': 8.3.1(react@19.1.1)
react: 19.1.1
react-dom: 19.1.1(react@19.1.1)
- '@mantine/notifications@8.2.8(@mantine/core@8.2.8(@mantine/hooks@8.2.8(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/hooks@8.2.8(react@19.1.1))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)':
+ '@mantine/notifications@8.3.1(@mantine/core@8.3.1(@mantine/hooks@8.3.1(react@19.1.1))(@types/react@19.1.13)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/hooks@8.3.1(react@19.1.1))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)':
dependencies:
- '@mantine/core': 8.2.8(@mantine/hooks@8.2.8(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
- '@mantine/hooks': 8.2.8(react@19.1.1)
- '@mantine/store': 8.2.8(react@19.1.1)
+ '@mantine/core': 8.3.1(@mantine/hooks@8.3.1(react@19.1.1))(@types/react@19.1.13)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
+ '@mantine/hooks': 8.3.1(react@19.1.1)
+ '@mantine/store': 8.3.1(react@19.1.1)
react: 19.1.1
react-dom: 19.1.1(react@19.1.1)
react-transition-group: 4.4.5(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
- '@mantine/spotlight@8.2.8(@mantine/core@8.2.8(@mantine/hooks@8.2.8(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/hooks@8.2.8(react@19.1.1))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)':
+ '@mantine/spotlight@8.3.1(@mantine/core@8.3.1(@mantine/hooks@8.3.1(react@19.1.1))(@types/react@19.1.13)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/hooks@8.3.1(react@19.1.1))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)':
dependencies:
- '@mantine/core': 8.2.8(@mantine/hooks@8.2.8(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
- '@mantine/hooks': 8.2.8(react@19.1.1)
- '@mantine/store': 8.2.8(react@19.1.1)
+ '@mantine/core': 8.3.1(@mantine/hooks@8.3.1(react@19.1.1))(@types/react@19.1.13)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
+ '@mantine/hooks': 8.3.1(react@19.1.1)
+ '@mantine/store': 8.3.1(react@19.1.1)
react: 19.1.1
react-dom: 19.1.1(react@19.1.1)
- '@mantine/store@8.2.8(react@19.1.1)':
+ '@mantine/store@8.3.1(react@19.1.1)':
dependencies:
react: 19.1.1
- '@mantine/tiptap@8.2.8(@mantine/core@8.2.8(@mantine/hooks@8.2.8(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/hooks@8.2.8(react@19.1.1))(@tiptap/extension-link@2.26.1(@tiptap/core@2.26.1(@tiptap/pm@2.26.1))(@tiptap/pm@2.26.1))(@tiptap/react@2.26.1(@tiptap/core@2.26.1(@tiptap/pm@2.26.1))(@tiptap/pm@2.26.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)':
+ '@mantine/tiptap@8.3.1(@mantine/core@8.3.1(@mantine/hooks@8.3.1(react@19.1.1))(@types/react@19.1.13)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/hooks@8.3.1(react@19.1.1))(@tiptap/extension-link@2.26.1(@tiptap/core@2.26.1(@tiptap/pm@2.26.1))(@tiptap/pm@2.26.1))(@tiptap/react@2.26.1(@tiptap/core@2.26.1(@tiptap/pm@2.26.1))(@tiptap/pm@2.26.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)':
dependencies:
- '@mantine/core': 8.2.8(@mantine/hooks@8.2.8(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
- '@mantine/hooks': 8.2.8(react@19.1.1)
+ '@mantine/core': 8.3.1(@mantine/hooks@8.3.1(react@19.1.1))(@types/react@19.1.13)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
+ '@mantine/hooks': 8.3.1(react@19.1.1)
'@tiptap/extension-link': 2.26.1(@tiptap/core@2.26.1(@tiptap/pm@2.26.1))(@tiptap/pm@2.26.1)
'@tiptap/react': 2.26.1(@tiptap/core@2.26.1(@tiptap/pm@2.26.1))(@tiptap/pm@2.26.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
react: 19.1.1
@@ -11767,7 +11805,7 @@ snapshots:
'@axiomhq/js': 1.0.0-rc.3
'@babel/core': 7.26.0
'@babel/types': 7.26.0
- '@hono/node-server': 1.13.0(hono@4.9.6)
+ '@hono/node-server': 1.13.0(hono@4.9.7)
'@million/install': 1.0.14
'@rollup/pluginutils': 5.1.0
'@rrweb/types': 2.0.0-alpha.16
@@ -11775,7 +11813,7 @@ snapshots:
ci-info: 4.0.0
esbuild: 0.25.9
faster-babel-types: 0.1.0(@babel/types@7.26.0)
- hono: 4.9.6
+ hono: 4.9.7
isomorphic-fetch: 3.0.0
nanoid: 5.1.5
ohash: 1.1.4
@@ -11802,34 +11840,34 @@ snapshots:
'@ndaidong/bellajs@12.0.1': {}
- '@next/env@15.5.2': {}
+ '@next/env@15.5.3': {}
- '@next/eslint-plugin-next@15.5.2':
+ '@next/eslint-plugin-next@15.5.3':
dependencies:
fast-glob: 3.3.1
- '@next/swc-darwin-arm64@15.5.2':
+ '@next/swc-darwin-arm64@15.5.3':
optional: true
- '@next/swc-darwin-x64@15.5.2':
+ '@next/swc-darwin-x64@15.5.3':
optional: true
- '@next/swc-linux-arm64-gnu@15.5.2':
+ '@next/swc-linux-arm64-gnu@15.5.3':
optional: true
- '@next/swc-linux-arm64-musl@15.5.2':
+ '@next/swc-linux-arm64-musl@15.5.3':
optional: true
- '@next/swc-linux-x64-gnu@15.5.2':
+ '@next/swc-linux-x64-gnu@15.5.3':
optional: true
- '@next/swc-linux-x64-musl@15.5.2':
+ '@next/swc-linux-x64-musl@15.5.3':
optional: true
- '@next/swc-win32-arm64-msvc@15.5.2':
+ '@next/swc-win32-arm64-msvc@15.5.3':
optional: true
- '@next/swc-win32-x64-msvc@15.5.2':
+ '@next/swc-win32-x64-msvc@15.5.3':
optional: true
'@noble/hashes@1.5.0': {}
@@ -12236,7 +12274,7 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@semantic-release/github@11.0.5(semantic-release@24.2.8(typescript@5.9.2))':
+ '@semantic-release/github@11.0.6(semantic-release@24.2.8(typescript@5.9.2))':
dependencies:
'@octokit/core': 7.0.2
'@octokit/plugin-paginate-rest': 13.0.0(@octokit/core@7.0.2)
@@ -12246,7 +12284,6 @@ snapshots:
aggregate-error: 5.0.0
debug: 4.4.1
dir-glob: 3.0.1
- globby: 14.0.2
http-proxy-agent: 7.0.2
https-proxy-agent: 7.0.6
issue-parser: 7.0.1
@@ -12254,6 +12291,7 @@ snapshots:
mime: 4.0.4
p-filter: 4.1.0
semantic-release: 24.2.8(typescript@5.9.2)
+ tinyglobby: 0.2.15
url-join: 5.0.0
transitivePeerDependencies:
- supports-color
@@ -12293,8 +12331,6 @@ snapshots:
'@sindresorhus/is@4.6.0': {}
- '@sindresorhus/merge-streams@2.3.0': {}
-
'@sindresorhus/merge-streams@4.0.0': {}
'@socket.io/component-emitter@3.1.2': {}
@@ -12623,7 +12659,7 @@ snapshots:
'@swagger-api/apidom-core': 1.0.0-beta.41
'@swagger-api/apidom-error': 1.0.0-beta.41
'@types/ramda': 0.30.2
- axios: 1.11.0
+ axios: 1.12.1
minimatch: 7.4.6
process: 0.11.10
ramda: 0.30.1
@@ -12664,19 +12700,19 @@ snapshots:
dependencies:
tslib: 2.8.1
- '@t3-oss/env-core@0.13.8(arktype@2.1.20)(typescript@5.9.2)(zod@4.1.5)':
+ '@t3-oss/env-core@0.13.8(arktype@2.1.20)(typescript@5.9.2)(zod@4.1.8)':
optionalDependencies:
arktype: 2.1.20
typescript: 5.9.2
- zod: 4.1.5
+ zod: 4.1.8
- '@t3-oss/env-nextjs@0.13.8(arktype@2.1.20)(typescript@5.9.2)(zod@4.1.5)':
+ '@t3-oss/env-nextjs@0.13.8(arktype@2.1.20)(typescript@5.9.2)(zod@4.1.8)':
dependencies:
- '@t3-oss/env-core': 0.13.8(arktype@2.1.20)(typescript@5.9.2)(zod@4.1.5)
+ '@t3-oss/env-core': 0.13.8(arktype@2.1.20)(typescript@5.9.2)(zod@4.1.8)
optionalDependencies:
arktype: 2.1.20
typescript: 5.9.2
- zod: 4.1.5
+ zod: 4.1.8
'@tabler/icons-react@3.34.1(react@19.1.1)':
dependencies:
@@ -12689,25 +12725,25 @@ snapshots:
dependencies:
remove-accents: 0.5.0
- '@tanstack/query-core@5.87.1': {}
+ '@tanstack/query-core@5.87.4': {}
- '@tanstack/query-devtools@5.86.0': {}
+ '@tanstack/query-devtools@5.87.3': {}
- '@tanstack/react-query-devtools@5.87.1(@tanstack/react-query@5.87.1(react@19.1.1))(react@19.1.1)':
+ '@tanstack/react-query-devtools@5.87.4(@tanstack/react-query@5.87.4(react@19.1.1))(react@19.1.1)':
dependencies:
- '@tanstack/query-devtools': 5.86.0
- '@tanstack/react-query': 5.87.1(react@19.1.1)
+ '@tanstack/query-devtools': 5.87.3
+ '@tanstack/react-query': 5.87.4(react@19.1.1)
react: 19.1.1
- '@tanstack/react-query-next-experimental@5.87.1(@tanstack/react-query@5.87.1(react@19.1.1))(next@15.5.2(@babel/core@7.26.0)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(sass@1.92.1))(react@19.1.1)':
+ '@tanstack/react-query-next-experimental@5.87.4(@tanstack/react-query@5.87.4(react@19.1.1))(next@15.5.3(@babel/core@7.26.0)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(sass@1.92.1))(react@19.1.1)':
dependencies:
- '@tanstack/react-query': 5.87.1(react@19.1.1)
- next: 15.5.2(@babel/core@7.26.0)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(sass@1.92.1)
+ '@tanstack/react-query': 5.87.4(react@19.1.1)
+ next: 15.5.3(@babel/core@7.26.0)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(sass@1.92.1)
react: 19.1.1
- '@tanstack/react-query@5.87.1(react@19.1.1)':
+ '@tanstack/react-query@5.87.4(react@19.1.1)':
dependencies:
- '@tanstack/query-core': 5.87.1
+ '@tanstack/query-core': 5.87.4
react: 19.1.1
'@tanstack/react-table@8.20.5(react-dom@19.1.1(react@19.1.1))(react@19.1.1)':
@@ -12974,21 +13010,21 @@ snapshots:
'@trpc/server': 11.5.1(typescript@5.9.2)
typescript: 5.9.2
- '@trpc/next@11.5.1(@tanstack/react-query@5.87.1(react@19.1.1))(@trpc/client@11.5.1(@trpc/server@11.5.1(typescript@5.9.2))(typescript@5.9.2))(@trpc/react-query@11.5.1(@tanstack/react-query@5.87.1(react@19.1.1))(@trpc/client@11.5.1(@trpc/server@11.5.1(typescript@5.9.2))(typescript@5.9.2))(@trpc/server@11.5.1(typescript@5.9.2))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(typescript@5.9.2))(@trpc/server@11.5.1(typescript@5.9.2))(next@15.5.2(@babel/core@7.26.0)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(sass@1.92.1))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(typescript@5.9.2)':
+ '@trpc/next@11.5.1(@tanstack/react-query@5.87.4(react@19.1.1))(@trpc/client@11.5.1(@trpc/server@11.5.1(typescript@5.9.2))(typescript@5.9.2))(@trpc/react-query@11.5.1(@tanstack/react-query@5.87.4(react@19.1.1))(@trpc/client@11.5.1(@trpc/server@11.5.1(typescript@5.9.2))(typescript@5.9.2))(@trpc/server@11.5.1(typescript@5.9.2))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(typescript@5.9.2))(@trpc/server@11.5.1(typescript@5.9.2))(next@15.5.3(@babel/core@7.26.0)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(sass@1.92.1))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(typescript@5.9.2)':
dependencies:
'@trpc/client': 11.5.1(@trpc/server@11.5.1(typescript@5.9.2))(typescript@5.9.2)
'@trpc/server': 11.5.1(typescript@5.9.2)
- next: 15.5.2(@babel/core@7.26.0)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(sass@1.92.1)
+ next: 15.5.3(@babel/core@7.26.0)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(sass@1.92.1)
react: 19.1.1
react-dom: 19.1.1(react@19.1.1)
typescript: 5.9.2
optionalDependencies:
- '@tanstack/react-query': 5.87.1(react@19.1.1)
- '@trpc/react-query': 11.5.1(@tanstack/react-query@5.87.1(react@19.1.1))(@trpc/client@11.5.1(@trpc/server@11.5.1(typescript@5.9.2))(typescript@5.9.2))(@trpc/server@11.5.1(typescript@5.9.2))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(typescript@5.9.2)
+ '@tanstack/react-query': 5.87.4(react@19.1.1)
+ '@trpc/react-query': 11.5.1(@tanstack/react-query@5.87.4(react@19.1.1))(@trpc/client@11.5.1(@trpc/server@11.5.1(typescript@5.9.2))(typescript@5.9.2))(@trpc/server@11.5.1(typescript@5.9.2))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(typescript@5.9.2)
- '@trpc/react-query@11.5.1(@tanstack/react-query@5.87.1(react@19.1.1))(@trpc/client@11.5.1(@trpc/server@11.5.1(typescript@5.9.2))(typescript@5.9.2))(@trpc/server@11.5.1(typescript@5.9.2))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(typescript@5.9.2)':
+ '@trpc/react-query@11.5.1(@tanstack/react-query@5.87.4(react@19.1.1))(@trpc/client@11.5.1(@trpc/server@11.5.1(typescript@5.9.2))(typescript@5.9.2))(@trpc/server@11.5.1(typescript@5.9.2))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(typescript@5.9.2)':
dependencies:
- '@tanstack/react-query': 5.87.1(react@19.1.1)
+ '@tanstack/react-query': 5.87.4(react@19.1.1)
'@trpc/client': 11.5.1(@trpc/server@11.5.1(typescript@5.9.2))(typescript@5.9.2)
'@trpc/server': 11.5.1(typescript@5.9.2)
react: 19.1.1
@@ -12999,9 +13035,9 @@ snapshots:
dependencies:
typescript: 5.9.2
- '@trpc/tanstack-react-query@11.5.1(@tanstack/react-query@5.87.1(react@19.1.1))(@trpc/client@11.5.1(@trpc/server@11.5.1(typescript@5.9.2))(typescript@5.9.2))(@trpc/server@11.5.1(typescript@5.9.2))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(typescript@5.9.2)':
+ '@trpc/tanstack-react-query@11.5.1(@tanstack/react-query@5.87.4(react@19.1.1))(@trpc/client@11.5.1(@trpc/server@11.5.1(typescript@5.9.2))(typescript@5.9.2))(@trpc/server@11.5.1(typescript@5.9.2))(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(typescript@5.9.2)':
dependencies:
- '@tanstack/react-query': 5.87.1(react@19.1.1)
+ '@tanstack/react-query': 5.87.4(react@19.1.1)
'@trpc/client': 11.5.1(@trpc/server@11.5.1(typescript@5.9.2))(typescript@5.9.2)
'@trpc/server': 11.5.1(typescript@5.9.2)
react: 19.1.1
@@ -13018,7 +13054,7 @@ snapshots:
'@tsconfig/svelte@1.0.13': {}
- '@turbo/gen@2.5.6(@types/node@22.18.1)(typescript@5.9.2)':
+ '@turbo/gen@2.5.6(@types/node@22.18.6)(typescript@5.9.2)':
dependencies:
'@turbo/workspaces': 2.5.6
commander: 10.0.1
@@ -13028,7 +13064,7 @@ snapshots:
node-plop: 0.26.3
picocolors: 1.0.1
proxy-agent: 6.5.0
- ts-node: 10.9.2(@types/node@22.18.1)(typescript@5.9.2)
+ ts-node: 10.9.2(@types/node@22.18.6)(typescript@5.9.2)
update-check: 1.5.4
validate-npm-package-name: 5.0.1
transitivePeerDependencies:
@@ -13054,11 +13090,11 @@ snapshots:
'@types/adm-zip@0.5.7':
dependencies:
- '@types/node': 22.18.1
+ '@types/node': 22.18.6
'@types/asn1@0.2.4':
dependencies:
- '@types/node': 22.18.1
+ '@types/node': 22.18.6
'@types/aws-lambda@8.10.146': {}
@@ -13085,16 +13121,16 @@ snapshots:
'@types/bcrypt@6.0.0':
dependencies:
- '@types/node': 22.18.1
+ '@types/node': 22.18.6
'@types/better-sqlite3@7.6.13':
dependencies:
- '@types/node': 22.18.1
+ '@types/node': 22.18.6
'@types/body-parser@1.19.5':
dependencies:
'@types/connect': 3.4.38
- '@types/node': 22.18.1
+ '@types/node': 22.18.6
'@types/chai@5.2.2':
dependencies:
@@ -13104,7 +13140,7 @@ snapshots:
'@types/connect@3.4.38':
dependencies:
- '@types/node': 22.18.1
+ '@types/node': 22.18.6
'@types/cookie@0.4.1': {}
@@ -13113,11 +13149,11 @@ snapshots:
'@types/connect': 3.4.38
'@types/express': 4.17.21
'@types/keygrip': 1.0.6
- '@types/node': 22.18.1
+ '@types/node': 22.18.6
'@types/cors@2.8.17':
dependencies:
- '@types/node': 22.18.1
+ '@types/node': 22.18.6
'@types/css-font-loading-module@0.0.7': {}
@@ -13155,13 +13191,13 @@ snapshots:
'@types/docker-modem@3.0.6':
dependencies:
- '@types/node': 22.18.1
+ '@types/node': 22.18.6
'@types/ssh2': 1.15.1
'@types/dockerode@3.3.43':
dependencies:
'@types/docker-modem': 3.0.6
- '@types/node': 22.18.1
+ '@types/node': 22.18.6
'@types/ssh2': 1.15.1
'@types/estree-jsx@1.0.5':
@@ -13172,7 +13208,7 @@ snapshots:
'@types/express-serve-static-core@4.19.5':
dependencies:
- '@types/node': 22.18.1
+ '@types/node': 22.18.6
'@types/qs': 6.9.16
'@types/range-parser': 1.2.7
'@types/send': 0.17.4
@@ -13187,7 +13223,7 @@ snapshots:
'@types/glob@7.2.0':
dependencies:
'@types/minimatch': 5.1.2
- '@types/node': 22.18.1
+ '@types/node': 22.18.6
'@types/hast@2.3.10':
dependencies:
@@ -13235,7 +13271,7 @@ snapshots:
'@types/node-fetch@2.6.12':
dependencies:
- '@types/node': 22.18.1
+ '@types/node': 22.18.6
form-data: 4.0.4
'@types/node-unifi@2.5.1(patch_hash=5e6ae51e2a17a7f9729bfa30b0eb3d0842a5810ac6db47603ab4a6efa1ed84c5)':
@@ -13246,7 +13282,7 @@ snapshots:
dependencies:
undici-types: 5.26.5
- '@types/node@22.18.1':
+ '@types/node@22.18.6':
dependencies:
undici-types: 6.21.0
@@ -13254,7 +13290,7 @@ snapshots:
'@types/pg@8.15.5':
dependencies:
- '@types/node': 22.18.1
+ '@types/node': 22.18.6
pg-protocol: 1.10.3
pg-types: 2.2.0
@@ -13268,11 +13304,11 @@ snapshots:
'@types/range-parser@1.2.7': {}
- '@types/react-dom@19.1.9(@types/react@19.1.12)':
+ '@types/react-dom@19.1.9(@types/react@19.1.13)':
dependencies:
- '@types/react': 19.1.12
+ '@types/react': 19.1.13
- '@types/react@19.1.12':
+ '@types/react@19.1.13':
dependencies:
csstype: 3.1.3
@@ -13281,21 +13317,21 @@ snapshots:
'@types/send@0.17.4':
dependencies:
'@types/mime': 1.3.5
- '@types/node': 22.18.1
+ '@types/node': 22.18.6
'@types/serve-static@1.15.7':
dependencies:
'@types/http-errors': 2.0.4
- '@types/node': 22.18.1
+ '@types/node': 22.18.6
'@types/send': 0.17.4
'@types/ssh2-streams@0.1.12':
dependencies:
- '@types/node': 22.18.1
+ '@types/node': 22.18.6
'@types/ssh2@0.5.52':
dependencies:
- '@types/node': 22.18.1
+ '@types/node': 22.18.6
'@types/ssh2-streams': 0.1.12
'@types/ssh2@1.15.1':
@@ -13304,15 +13340,15 @@ snapshots:
'@types/stream-buffers@3.0.7':
dependencies:
- '@types/node': 22.18.1
+ '@types/node': 22.18.6
'@types/swagger-ui-react@5.18.0':
dependencies:
- '@types/react': 19.1.12
+ '@types/react': 19.1.13
'@types/through@0.0.33':
dependencies:
- '@types/node': 22.18.1
+ '@types/node': 22.18.6
'@types/tinycolor2@1.4.6': {}
@@ -13331,20 +13367,20 @@ snapshots:
'@types/ws@8.18.1':
dependencies:
- '@types/node': 22.18.1
+ '@types/node': 22.18.6
'@types/xml2js@0.4.14':
dependencies:
- '@types/node': 22.18.1
+ '@types/node': 22.18.6
- '@typescript-eslint/eslint-plugin@8.42.0(@typescript-eslint/parser@8.42.0(eslint@9.35.0)(typescript@5.9.2))(eslint@9.35.0)(typescript@5.9.2)':
+ '@typescript-eslint/eslint-plugin@8.43.0(@typescript-eslint/parser@8.43.0(eslint@9.35.0)(typescript@5.9.2))(eslint@9.35.0)(typescript@5.9.2)':
dependencies:
'@eslint-community/regexpp': 4.12.1
- '@typescript-eslint/parser': 8.42.0(eslint@9.35.0)(typescript@5.9.2)
- '@typescript-eslint/scope-manager': 8.42.0
- '@typescript-eslint/type-utils': 8.42.0(eslint@9.35.0)(typescript@5.9.2)
- '@typescript-eslint/utils': 8.42.0(eslint@9.35.0)(typescript@5.9.2)
- '@typescript-eslint/visitor-keys': 8.42.0
+ '@typescript-eslint/parser': 8.43.0(eslint@9.35.0)(typescript@5.9.2)
+ '@typescript-eslint/scope-manager': 8.43.0
+ '@typescript-eslint/type-utils': 8.43.0(eslint@9.35.0)(typescript@5.9.2)
+ '@typescript-eslint/utils': 8.43.0(eslint@9.35.0)(typescript@5.9.2)
+ '@typescript-eslint/visitor-keys': 8.43.0
eslint: 9.35.0
graphemer: 1.4.0
ignore: 7.0.4
@@ -13354,41 +13390,41 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/parser@8.42.0(eslint@9.35.0)(typescript@5.9.2)':
+ '@typescript-eslint/parser@8.43.0(eslint@9.35.0)(typescript@5.9.2)':
dependencies:
- '@typescript-eslint/scope-manager': 8.42.0
- '@typescript-eslint/types': 8.42.0
- '@typescript-eslint/typescript-estree': 8.42.0(typescript@5.9.2)
- '@typescript-eslint/visitor-keys': 8.42.0
+ '@typescript-eslint/scope-manager': 8.43.0
+ '@typescript-eslint/types': 8.43.0
+ '@typescript-eslint/typescript-estree': 8.43.0(typescript@5.9.2)
+ '@typescript-eslint/visitor-keys': 8.43.0
debug: 4.4.1
eslint: 9.35.0
typescript: 5.9.2
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/project-service@8.42.0(typescript@5.9.2)':
+ '@typescript-eslint/project-service@8.43.0(typescript@5.9.2)':
dependencies:
- '@typescript-eslint/tsconfig-utils': 8.42.0(typescript@5.9.2)
- '@typescript-eslint/types': 8.42.0
+ '@typescript-eslint/tsconfig-utils': 8.43.0(typescript@5.9.2)
+ '@typescript-eslint/types': 8.43.0
debug: 4.4.1
typescript: 5.9.2
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/scope-manager@8.42.0':
+ '@typescript-eslint/scope-manager@8.43.0':
dependencies:
- '@typescript-eslint/types': 8.42.0
- '@typescript-eslint/visitor-keys': 8.42.0
+ '@typescript-eslint/types': 8.43.0
+ '@typescript-eslint/visitor-keys': 8.43.0
- '@typescript-eslint/tsconfig-utils@8.42.0(typescript@5.9.2)':
+ '@typescript-eslint/tsconfig-utils@8.43.0(typescript@5.9.2)':
dependencies:
typescript: 5.9.2
- '@typescript-eslint/type-utils@8.42.0(eslint@9.35.0)(typescript@5.9.2)':
+ '@typescript-eslint/type-utils@8.43.0(eslint@9.35.0)(typescript@5.9.2)':
dependencies:
- '@typescript-eslint/types': 8.42.0
- '@typescript-eslint/typescript-estree': 8.42.0(typescript@5.9.2)
- '@typescript-eslint/utils': 8.42.0(eslint@9.35.0)(typescript@5.9.2)
+ '@typescript-eslint/types': 8.43.0
+ '@typescript-eslint/typescript-estree': 8.43.0(typescript@5.9.2)
+ '@typescript-eslint/utils': 8.43.0(eslint@9.35.0)(typescript@5.9.2)
debug: 4.4.1
eslint: 9.35.0
ts-api-utils: 2.1.0(typescript@5.9.2)
@@ -13396,14 +13432,14 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/types@8.42.0': {}
+ '@typescript-eslint/types@8.43.0': {}
- '@typescript-eslint/typescript-estree@8.42.0(typescript@5.9.2)':
+ '@typescript-eslint/typescript-estree@8.43.0(typescript@5.9.2)':
dependencies:
- '@typescript-eslint/project-service': 8.42.0(typescript@5.9.2)
- '@typescript-eslint/tsconfig-utils': 8.42.0(typescript@5.9.2)
- '@typescript-eslint/types': 8.42.0
- '@typescript-eslint/visitor-keys': 8.42.0
+ '@typescript-eslint/project-service': 8.43.0(typescript@5.9.2)
+ '@typescript-eslint/tsconfig-utils': 8.43.0(typescript@5.9.2)
+ '@typescript-eslint/types': 8.43.0
+ '@typescript-eslint/visitor-keys': 8.43.0
debug: 4.4.1
fast-glob: 3.3.2
is-glob: 4.0.3
@@ -13414,20 +13450,20 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/utils@8.42.0(eslint@9.35.0)(typescript@5.9.2)':
+ '@typescript-eslint/utils@8.43.0(eslint@9.35.0)(typescript@5.9.2)':
dependencies:
- '@eslint-community/eslint-utils': 4.7.0(eslint@9.35.0)
- '@typescript-eslint/scope-manager': 8.42.0
- '@typescript-eslint/types': 8.42.0
- '@typescript-eslint/typescript-estree': 8.42.0(typescript@5.9.2)
+ '@eslint-community/eslint-utils': 4.9.0(eslint@9.35.0)
+ '@typescript-eslint/scope-manager': 8.43.0
+ '@typescript-eslint/types': 8.43.0
+ '@typescript-eslint/typescript-estree': 8.43.0(typescript@5.9.2)
eslint: 9.35.0
typescript: 5.9.2
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/visitor-keys@8.42.0':
+ '@typescript-eslint/visitor-keys@8.43.0':
dependencies:
- '@typescript-eslint/types': 8.42.0
+ '@typescript-eslint/types': 8.43.0
eslint-visitor-keys: 4.2.1
'@umami/node@0.4.0': {}
@@ -13462,7 +13498,7 @@ snapshots:
global: 4.4.0
is-function: 1.0.2
- '@vitejs/plugin-react@5.0.2(vite@7.1.5(@types/node@22.18.1)(sass@1.92.1)(sugarss@5.0.0(postcss@8.5.6))(terser@5.39.0)(tsx@4.20.5)(yaml@2.5.1))':
+ '@vitejs/plugin-react@5.0.2(vite@7.1.5(@types/node@22.18.6)(sass@1.92.1)(sugarss@5.0.0(postcss@8.5.6))(terser@5.39.0)(tsx@4.20.5)(yaml@2.5.1))':
dependencies:
'@babel/core': 7.28.3
'@babel/plugin-transform-react-jsx-self': 7.27.1(@babel/core@7.28.3)
@@ -13470,7 +13506,7 @@ snapshots:
'@rolldown/pluginutils': 1.0.0-beta.34
'@types/babel__core': 7.20.5
react-refresh: 0.17.0
- vite: 7.1.5(@types/node@22.18.1)(sass@1.92.1)(sugarss@5.0.0(postcss@8.5.6))(terser@5.39.0)(tsx@4.20.5)(yaml@2.5.1)
+ vite: 7.1.5(@types/node@22.18.6)(sass@1.92.1)(sugarss@5.0.0(postcss@8.5.6))(terser@5.39.0)(tsx@4.20.5)(yaml@2.5.1)
transitivePeerDependencies:
- supports-color
@@ -13489,7 +13525,7 @@ snapshots:
std-env: 3.9.0
test-exclude: 7.0.1
tinyrainbow: 2.0.0
- vitest: 3.2.4(@types/debug@4.1.12)(@types/node@22.18.1)(@vitest/ui@3.2.4)(jsdom@26.1.0)(sass@1.92.1)(sugarss@5.0.0(postcss@8.5.6))(terser@5.39.0)(tsx@4.20.5)(yaml@2.5.1)
+ vitest: 3.2.4(@types/debug@4.1.12)(@types/node@22.18.6)(@vitest/ui@3.2.4)(jsdom@27.0.0(postcss@8.5.6))(sass@1.92.1)(sugarss@5.0.0(postcss@8.5.6))(terser@5.39.0)(tsx@4.20.5)(yaml@2.5.1)
transitivePeerDependencies:
- supports-color
@@ -13501,13 +13537,13 @@ snapshots:
chai: 5.2.0
tinyrainbow: 2.0.0
- '@vitest/mocker@3.2.4(vite@7.1.5(@types/node@22.18.1)(sass@1.92.1)(sugarss@5.0.0(postcss@8.5.6))(terser@5.39.0)(tsx@4.20.5)(yaml@2.5.1))':
+ '@vitest/mocker@3.2.4(vite@7.1.5(@types/node@22.18.6)(sass@1.92.1)(sugarss@5.0.0(postcss@8.5.6))(terser@5.39.0)(tsx@4.20.5)(yaml@2.5.1))':
dependencies:
'@vitest/spy': 3.2.4
estree-walker: 3.0.3
magic-string: 0.30.17
optionalDependencies:
- vite: 7.1.5(@types/node@22.18.1)(sass@1.92.1)(sugarss@5.0.0(postcss@8.5.6))(terser@5.39.0)(tsx@4.20.5)(yaml@2.5.1)
+ vite: 7.1.5(@types/node@22.18.6)(sass@1.92.1)(sugarss@5.0.0(postcss@8.5.6))(terser@5.39.0)(tsx@4.20.5)(yaml@2.5.1)
'@vitest/pretty-format@3.2.4':
dependencies:
@@ -13538,7 +13574,7 @@ snapshots:
sirv: 3.0.1
tinyglobby: 0.2.14
tinyrainbow: 2.0.0
- vitest: 3.2.4(@types/debug@4.1.12)(@types/node@22.18.1)(@vitest/ui@3.2.4)(jsdom@26.1.0)(sass@1.92.1)(sugarss@5.0.0(postcss@8.5.6))(terser@5.39.0)(tsx@4.20.5)(yaml@2.5.1)
+ vitest: 3.2.4(@types/debug@4.1.12)(@types/node@22.18.6)(@vitest/ui@3.2.4)(jsdom@27.0.0(postcss@8.5.6))(sass@1.92.1)(sugarss@5.0.0(postcss@8.5.6))(terser@5.39.0)(tsx@4.20.5)(yaml@2.5.1)
'@vitest/utils@3.2.4':
dependencies:
@@ -13950,7 +13986,7 @@ snapshots:
axe-core@4.10.0: {}
- axios@1.11.0:
+ axios@1.12.1:
dependencies:
follow-redirects: 1.15.9
form-data: 4.0.4
@@ -13958,7 +13994,7 @@ snapshots:
transitivePeerDependencies:
- debug
- axios@1.12.1:
+ axios@1.12.2:
dependencies:
follow-redirects: 1.15.9
form-data: 4.0.4
@@ -14039,6 +14075,10 @@ snapshots:
transitivePeerDependencies:
- bare-buffer
+ bidi-js@1.0.3:
+ dependencies:
+ require-from-string: 2.0.2
+
big.js@5.2.2: {}
bindings@1.5.0:
@@ -14230,6 +14270,8 @@ snapshots:
dependencies:
readdirp: 4.0.1
+ chownr@1.1.4: {}
+
chroma-js@3.1.2: {}
chrome-trace-event@1.0.4: {}
@@ -14499,14 +14541,22 @@ snapshots:
dependencies:
type-fest: 1.4.0
+ css-tree@3.1.0:
+ dependencies:
+ mdn-data: 2.12.2
+ source-map-js: 1.2.1
+
css.escape@1.5.1: {}
cssesc@3.0.0: {}
- cssstyle@4.2.1:
+ cssstyle@5.3.0(postcss@8.5.6):
dependencies:
- '@asamuzakjp/css-color': 2.8.2
- rrweb-cssom: 0.8.0
+ '@asamuzakjp/css-color': 4.0.4
+ '@csstools/css-syntax-patches-for-csstree': 1.0.14(postcss@8.5.6)
+ css-tree: 3.1.0
+ transitivePeerDependencies:
+ - postcss
csstype@3.1.3: {}
@@ -14552,10 +14602,10 @@ snapshots:
data-uri-to-buffer@6.0.2: {}
- data-urls@5.0.0:
+ data-urls@6.0.0:
dependencies:
whatwg-mimetype: 4.0.0
- whatwg-url: 14.2.0
+ whatwg-url: 15.1.0
data-view-buffer@1.0.1:
dependencies:
@@ -14724,17 +14774,16 @@ snapshots:
transitivePeerDependencies:
- supports-color
- dockerode@4.0.7:
+ dockerode@4.0.8:
dependencies:
'@balena/dockerignore': 1.0.2
'@grpc/grpc-js': 1.12.5
'@grpc/proto-loader': 0.7.13
docker-modem: 5.0.6
protobufjs: 7.4.0
- tar-fs: 3.1.0
+ tar-fs: 2.1.3
uuid: 10.0.0
transitivePeerDependencies:
- - bare-buffer
- supports-color
doctrine@2.1.0:
@@ -14788,20 +14837,20 @@ snapshots:
transitivePeerDependencies:
- supports-color
- drizzle-orm@0.44.5(@libsql/client-wasm@0.14.0)(@types/better-sqlite3@7.6.13)(@types/pg@8.15.5)(better-sqlite3@12.2.0)(gel@2.0.0)(mysql2@3.14.4)(pg@8.16.3):
+ drizzle-orm@0.44.5(@libsql/client-wasm@0.14.0)(@types/better-sqlite3@7.6.13)(@types/pg@8.15.5)(better-sqlite3@12.2.0)(gel@2.0.0)(mysql2@3.14.5)(pg@8.16.3):
optionalDependencies:
'@libsql/client-wasm': 0.14.0
'@types/better-sqlite3': 7.6.13
'@types/pg': 8.15.5
better-sqlite3: 12.2.0
gel: 2.0.0
- mysql2: 3.14.4
+ mysql2: 3.14.5
pg: 8.16.3
- drizzle-zod@0.8.3(drizzle-orm@0.44.5(@libsql/client-wasm@0.14.0)(@types/better-sqlite3@7.6.13)(@types/pg@8.15.5)(better-sqlite3@12.2.0)(gel@2.0.0)(mysql2@3.14.4)(pg@8.16.3))(zod@4.1.5):
+ drizzle-zod@0.8.3(drizzle-orm@0.44.5(@libsql/client-wasm@0.14.0)(@types/better-sqlite3@7.6.13)(@types/pg@8.15.5)(better-sqlite3@12.2.0)(gel@2.0.0)(mysql2@3.14.5)(pg@8.16.3))(zod@4.1.8):
dependencies:
- drizzle-orm: 0.44.5(@libsql/client-wasm@0.14.0)(@types/better-sqlite3@7.6.13)(@types/pg@8.15.5)(better-sqlite3@12.2.0)(gel@2.0.0)(mysql2@3.14.4)(pg@8.16.3)
- zod: 4.1.5
+ drizzle-orm: 0.44.5(@libsql/client-wasm@0.14.0)(@types/better-sqlite3@7.6.13)(@types/pg@8.15.5)(better-sqlite3@12.2.0)(gel@2.0.0)(mysql2@3.14.5)(pg@8.16.3)
+ zod: 4.1.8
dunder-proto@1.0.1:
dependencies:
@@ -14856,7 +14905,7 @@ snapshots:
dependencies:
'@types/cookie': 0.4.1
'@types/cors': 2.8.17
- '@types/node': 22.18.1
+ '@types/node': 22.18.6
accepts: 1.3.8
base64id: 2.0.0
cookie: 0.7.2
@@ -14876,6 +14925,8 @@ snapshots:
entities@4.5.0: {}
+ entities@6.0.1: {}
+
env-ci@11.1.0:
dependencies:
execa: 8.0.1
@@ -15190,17 +15241,17 @@ snapshots:
transitivePeerDependencies:
- supports-color
- eslint-module-utils@2.12.1(@typescript-eslint/parser@8.42.0(eslint@9.35.0)(typescript@5.9.2))(eslint-import-resolver-node@0.3.9)(eslint@9.35.0):
+ eslint-module-utils@2.12.1(@typescript-eslint/parser@8.43.0(eslint@9.35.0)(typescript@5.9.2))(eslint-import-resolver-node@0.3.9)(eslint@9.35.0):
dependencies:
debug: 3.2.7
optionalDependencies:
- '@typescript-eslint/parser': 8.42.0(eslint@9.35.0)(typescript@5.9.2)
+ '@typescript-eslint/parser': 8.43.0(eslint@9.35.0)(typescript@5.9.2)
eslint: 9.35.0
eslint-import-resolver-node: 0.3.9
transitivePeerDependencies:
- supports-color
- eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.42.0(eslint@9.35.0)(typescript@5.9.2))(eslint@9.35.0):
+ eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.43.0(eslint@9.35.0)(typescript@5.9.2))(eslint@9.35.0):
dependencies:
'@rtsao/scc': 1.1.0
array-includes: 3.1.9
@@ -15211,7 +15262,7 @@ snapshots:
doctrine: 2.1.0
eslint: 9.35.0
eslint-import-resolver-node: 0.3.9
- eslint-module-utils: 2.12.1(@typescript-eslint/parser@8.42.0(eslint@9.35.0)(typescript@5.9.2))(eslint-import-resolver-node@0.3.9)(eslint@9.35.0)
+ eslint-module-utils: 2.12.1(@typescript-eslint/parser@8.43.0(eslint@9.35.0)(typescript@5.9.2))(eslint-import-resolver-node@0.3.9)(eslint@9.35.0)
hasown: 2.0.2
is-core-module: 2.16.1
is-glob: 4.0.3
@@ -15223,7 +15274,7 @@ snapshots:
string.prototype.trimend: 1.0.9
tsconfig-paths: 3.15.0
optionalDependencies:
- '@typescript-eslint/parser': 8.42.0(eslint@9.35.0)(typescript@5.9.2)
+ '@typescript-eslint/parser': 8.43.0(eslint@9.35.0)(typescript@5.9.2)
transitivePeerDependencies:
- eslint-import-resolver-typescript
- eslint-import-resolver-webpack
@@ -15617,6 +15668,8 @@ snapshots:
inherits: 2.0.4
readable-stream: 2.3.8
+ fs-constants@1.0.0: {}
+
fs-extra@10.1.0:
dependencies:
graceful-fs: 4.2.11
@@ -15837,15 +15890,6 @@ snapshots:
merge2: 1.4.1
slash: 3.0.0
- globby@14.0.2:
- dependencies:
- '@sindresorhus/merge-streams': 2.3.0
- fast-glob: 3.3.2
- ignore: 5.3.2
- path-type: 5.0.0
- slash: 5.1.0
- unicorn-magic: 0.1.0
-
globrex@0.1.2: {}
gopd@1.0.1:
@@ -15965,7 +16009,7 @@ snapshots:
highlightjs-vue@1.0.0: {}
- hono@4.9.6: {}
+ hono@4.9.7: {}
hook-std@4.0.0: {}
@@ -15989,12 +16033,12 @@ snapshots:
html-url-attributes@3.0.1: {}
- http-cookie-agent@6.0.8(tough-cookie@5.1.2)(undici@7.15.0):
+ http-cookie-agent@6.0.8(tough-cookie@5.1.2)(undici@7.16.0):
dependencies:
agent-base: 7.1.3
tough-cookie: 5.1.2
optionalDependencies:
- undici: 7.15.0
+ undici: 7.16.0
http-errors@2.0.0:
dependencies:
@@ -16024,6 +16068,8 @@ snapshots:
human-signals@8.0.0: {}
+ ical.js@2.2.1: {}
+
iconv-lite@0.4.24:
dependencies:
safer-buffer: 2.1.2
@@ -16486,24 +16532,24 @@ snapshots:
jest-worker@27.5.1:
dependencies:
- '@types/node': 22.18.1
+ '@types/node': 22.18.6
merge-stream: 2.0.0
supports-color: 8.1.1
jose@6.0.8: {}
- jotai@2.13.1(@babel/core@7.26.0)(@babel/template@7.27.2)(@types/react@19.1.12)(react@19.1.1):
+ jotai@2.14.0(@babel/core@7.26.0)(@babel/template@7.27.2)(@types/react@19.1.13)(react@19.1.1):
optionalDependencies:
'@babel/core': 7.26.0
'@babel/template': 7.27.2
- '@types/react': 19.1.12
+ '@types/react': 19.1.13
react: 19.1.1
- jotai@2.13.1(@babel/core@7.28.3)(@babel/template@7.27.2)(@types/react@19.1.12)(react@19.1.1):
+ jotai@2.14.0(@babel/core@7.28.3)(@babel/template@7.27.2)(@types/react@19.1.13)(react@19.1.1):
optionalDependencies:
'@babel/core': 7.28.3
'@babel/template': 7.27.2
- '@types/react': 19.1.12
+ '@types/react': 19.1.13
react: 19.1.1
js-base64@3.7.7:
@@ -16521,30 +16567,31 @@ snapshots:
jsbn@1.1.0: {}
- jsdom@26.1.0:
+ jsdom@27.0.0(postcss@8.5.6):
dependencies:
- cssstyle: 4.2.1
- data-urls: 5.0.0
+ '@asamuzakjp/dom-selector': 6.5.5
+ cssstyle: 5.3.0(postcss@8.5.6)
+ data-urls: 6.0.0
decimal.js: 10.5.0
html-encoding-sniffer: 4.0.0
http-proxy-agent: 7.0.2
https-proxy-agent: 7.0.6
is-potential-custom-element-name: 1.0.1
- nwsapi: 2.2.16
- parse5: 7.2.1
+ parse5: 7.3.0
rrweb-cssom: 0.8.0
saxes: 6.0.0
symbol-tree: 3.2.4
- tough-cookie: 5.1.2
+ tough-cookie: 6.0.0
w3c-xmlserializer: 5.0.0
- webidl-conversions: 7.0.0
+ webidl-conversions: 8.0.0
whatwg-encoding: 3.1.1
whatwg-mimetype: 4.0.0
- whatwg-url: 14.2.0
+ whatwg-url: 15.1.0
ws: 8.18.3
xml-name-validator: 5.0.0
transitivePeerDependencies:
- bufferutil
+ - postcss
- supports-color
- utf-8-validate
@@ -16784,16 +16831,16 @@ snapshots:
make-error@1.3.6: {}
- mantine-form-zod-resolver@1.3.0(@mantine/form@8.2.8(react@19.1.1))(zod@4.1.5):
+ mantine-form-zod-resolver@1.3.0(@mantine/form@8.3.1(react@19.1.1))(zod@4.1.8):
dependencies:
- '@mantine/form': 8.2.8(react@19.1.1)
- zod: 4.1.5
+ '@mantine/form': 8.3.1(react@19.1.1)
+ zod: 4.1.8
- mantine-react-table@2.0.0-beta.9(@mantine/core@8.2.8(@mantine/hooks@8.2.8(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/dates@8.2.8(@mantine/core@8.2.8(@mantine/hooks@8.2.8(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/hooks@8.2.8(react@19.1.1))(dayjs@1.11.18)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/hooks@8.2.8(react@19.1.1))(@tabler/icons-react@3.34.1(react@19.1.1))(clsx@2.1.1)(dayjs@1.11.18)(react-dom@19.1.1(react@19.1.1))(react@19.1.1):
+ mantine-react-table@2.0.0-beta.9(@mantine/core@8.3.1(@mantine/hooks@8.3.1(react@19.1.1))(@types/react@19.1.13)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/dates@8.3.1(@mantine/core@8.3.1(@mantine/hooks@8.3.1(react@19.1.1))(@types/react@19.1.13)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/hooks@8.3.1(react@19.1.1))(dayjs@1.11.18)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/hooks@8.3.1(react@19.1.1))(@tabler/icons-react@3.34.1(react@19.1.1))(clsx@2.1.1)(dayjs@1.11.18)(react-dom@19.1.1(react@19.1.1))(react@19.1.1):
dependencies:
- '@mantine/core': 8.2.8(@mantine/hooks@8.2.8(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
- '@mantine/dates': 8.2.8(@mantine/core@8.2.8(@mantine/hooks@8.2.8(react@19.1.1))(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/hooks@8.2.8(react@19.1.1))(dayjs@1.11.18)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
- '@mantine/hooks': 8.2.8(react@19.1.1)
+ '@mantine/core': 8.3.1(@mantine/hooks@8.3.1(react@19.1.1))(@types/react@19.1.13)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
+ '@mantine/dates': 8.3.1(@mantine/core@8.3.1(@mantine/hooks@8.3.1(react@19.1.1))(@types/react@19.1.13)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@mantine/hooks@8.3.1(react@19.1.1))(dayjs@1.11.18)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
+ '@mantine/hooks': 8.3.1(react@19.1.1)
'@tabler/icons-react': 3.34.1(react@19.1.1)
'@tanstack/match-sorter-utils': 8.19.4
'@tanstack/react-table': 8.20.5(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
@@ -16918,6 +16965,8 @@ snapshots:
dependencies:
'@types/mdast': 4.0.4
+ mdn-data@2.12.2: {}
+
mdurl@2.0.0: {}
media-typer@0.3.0: {}
@@ -17148,7 +17197,7 @@ snapshots:
'@babel/runtime': 7.28.4
global: 4.4.0
- mysql2@3.14.4:
+ mysql2@3.14.5:
dependencies:
aws-ssl-profiles: 1.1.2
denque: 2.1.0
@@ -17193,25 +17242,25 @@ snapshots:
netmask@2.0.2: {}
- next-auth@5.0.0-beta.29(next@15.5.2(@babel/core@7.28.3)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(sass@1.92.1))(react@19.1.1):
+ next-auth@5.0.0-beta.29(next@15.5.3(@babel/core@7.28.3)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(sass@1.92.1))(react@19.1.1):
dependencies:
'@auth/core': 0.40.0
- next: 15.5.2(@babel/core@7.28.3)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(sass@1.92.1)
+ next: 15.5.3(@babel/core@7.28.3)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(sass@1.92.1)
react: 19.1.1
- next-intl@4.3.7(next@15.5.2(@babel/core@7.28.3)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(sass@1.92.1))(react@19.1.1)(typescript@5.9.2):
+ next-intl@4.3.8(next@15.5.3(@babel/core@7.28.3)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(sass@1.92.1))(react@19.1.1)(typescript@5.9.2):
dependencies:
'@formatjs/intl-localematcher': 0.5.5
negotiator: 1.0.0
- next: 15.5.2(@babel/core@7.28.3)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(sass@1.92.1)
+ next: 15.5.3(@babel/core@7.28.3)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(sass@1.92.1)
react: 19.1.1
- use-intl: 4.3.7(react@19.1.1)
+ use-intl: 4.3.9(react@19.1.1)
optionalDependencies:
typescript: 5.9.2
- next@15.5.2(@babel/core@7.26.0)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(sass@1.92.1):
+ next@15.5.3(@babel/core@7.26.0)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(sass@1.92.1):
dependencies:
- '@next/env': 15.5.2
+ '@next/env': 15.5.3
'@swc/helpers': 0.5.15
caniuse-lite: 1.0.30001703
postcss: 8.4.31
@@ -17219,23 +17268,23 @@ snapshots:
react-dom: 19.1.1(react@19.1.1)
styled-jsx: 5.1.6(@babel/core@7.26.0)(react@19.1.1)
optionalDependencies:
- '@next/swc-darwin-arm64': 15.5.2
- '@next/swc-darwin-x64': 15.5.2
- '@next/swc-linux-arm64-gnu': 15.5.2
- '@next/swc-linux-arm64-musl': 15.5.2
- '@next/swc-linux-x64-gnu': 15.5.2
- '@next/swc-linux-x64-musl': 15.5.2
- '@next/swc-win32-arm64-msvc': 15.5.2
- '@next/swc-win32-x64-msvc': 15.5.2
+ '@next/swc-darwin-arm64': 15.5.3
+ '@next/swc-darwin-x64': 15.5.3
+ '@next/swc-linux-arm64-gnu': 15.5.3
+ '@next/swc-linux-arm64-musl': 15.5.3
+ '@next/swc-linux-x64-gnu': 15.5.3
+ '@next/swc-linux-x64-musl': 15.5.3
+ '@next/swc-win32-arm64-msvc': 15.5.3
+ '@next/swc-win32-x64-msvc': 15.5.3
sass: 1.92.1
sharp: 0.34.3
transitivePeerDependencies:
- '@babel/core'
- babel-plugin-macros
- next@15.5.2(@babel/core@7.28.3)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(sass@1.92.1):
+ next@15.5.3(@babel/core@7.28.3)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(sass@1.92.1):
dependencies:
- '@next/env': 15.5.2
+ '@next/env': 15.5.3
'@swc/helpers': 0.5.15
caniuse-lite: 1.0.30001703
postcss: 8.4.31
@@ -17243,14 +17292,14 @@ snapshots:
react-dom: 19.1.1(react@19.1.1)
styled-jsx: 5.1.6(@babel/core@7.28.3)(react@19.1.1)
optionalDependencies:
- '@next/swc-darwin-arm64': 15.5.2
- '@next/swc-darwin-x64': 15.5.2
- '@next/swc-linux-arm64-gnu': 15.5.2
- '@next/swc-linux-arm64-musl': 15.5.2
- '@next/swc-linux-x64-gnu': 15.5.2
- '@next/swc-linux-x64-musl': 15.5.2
- '@next/swc-win32-arm64-msvc': 15.5.2
- '@next/swc-win32-x64-msvc': 15.5.2
+ '@next/swc-darwin-arm64': 15.5.3
+ '@next/swc-darwin-x64': 15.5.3
+ '@next/swc-linux-arm64-gnu': 15.5.3
+ '@next/swc-linux-arm64-musl': 15.5.3
+ '@next/swc-linux-x64-gnu': 15.5.3
+ '@next/swc-linux-x64-musl': 15.5.3
+ '@next/swc-win32-arm64-msvc': 15.5.3
+ '@next/swc-win32-x64-msvc': 15.5.3
sass: 1.92.1
sharp: 0.34.3
transitivePeerDependencies:
@@ -17310,7 +17359,7 @@ snapshots:
node-ical@0.20.1:
dependencies:
- axios: 1.12.1
+ axios: 1.12.2
moment-timezone: 0.5.47
rrule: 2.8.1
uuid: 10.0.0
@@ -17367,8 +17416,6 @@ snapshots:
npm@10.9.3: {}
- nwsapi@2.2.16: {}
-
oauth4webapi@3.3.0: {}
object-assign@4.1.1: {}
@@ -17642,9 +17689,9 @@ snapshots:
parse5@6.0.1: {}
- parse5@7.2.1:
+ parse5@7.3.0:
dependencies:
- entities: 4.5.0
+ entities: 6.0.1
pascal-case@2.0.1:
dependencies:
@@ -17679,8 +17726,6 @@ snapshots:
path-type@4.0.0: {}
- path-type@5.0.0: {}
-
pathe@1.1.2: {}
pathe@2.0.3: {}
@@ -17890,7 +17935,7 @@ snapshots:
dependencies:
loose-envify: 1.4.0
object-assign: 4.1.1
- react-is: 16.13.1
+ react-is: 19.1.1
proper-lockfile@4.1.2:
dependencies:
@@ -18025,12 +18070,12 @@ snapshots:
'@protobufjs/path': 1.1.2
'@protobufjs/pool': 1.1.0
'@protobufjs/utf8': 1.1.0
- '@types/node': 22.18.1
+ '@types/node': 22.18.6
long: 5.2.3
proxmox-api@1.1.1:
dependencies:
- undici: 7.15.0
+ undici: 7.16.0
proxy-agent@6.5.0:
dependencies:
@@ -18149,15 +18194,13 @@ snapshots:
dependencies:
react: 19.1.1
- react-is@16.13.1: {}
+ react-is@19.1.1: {}
- react-is@18.3.1: {}
-
- react-markdown@10.1.0(@types/react@19.1.12)(react@19.1.1):
+ react-markdown@10.1.0(@types/react@19.1.13)(react@19.1.1):
dependencies:
'@types/hast': 3.0.4
'@types/mdast': 4.0.4
- '@types/react': 19.1.12
+ '@types/react': 19.1.13
devlop: 1.1.0
hast-util-to-jsx-runtime: 2.3.6
html-url-attributes: 3.0.1
@@ -18171,40 +18214,40 @@ snapshots:
transitivePeerDependencies:
- supports-color
- react-number-format@5.4.3(react-dom@19.1.1(react@19.1.1))(react@19.1.1):
+ react-number-format@5.4.4(react-dom@19.1.1(react@19.1.1))(react@19.1.1):
dependencies:
react: 19.1.1
react-dom: 19.1.1(react@19.1.1)
- react-redux@9.2.0(@types/react@19.1.12)(react@19.1.1)(redux@5.0.1):
+ react-redux@9.2.0(@types/react@19.1.13)(react@19.1.1)(redux@5.0.1):
dependencies:
'@types/use-sync-external-store': 0.0.6
react: 19.1.1
use-sync-external-store: 1.4.0(react@19.1.1)
optionalDependencies:
- '@types/react': 19.1.12
+ '@types/react': 19.1.13
redux: 5.0.1
react-refresh@0.17.0: {}
- react-remove-scroll-bar@2.3.8(@types/react@19.1.12)(react@19.1.1):
+ react-remove-scroll-bar@2.3.8(@types/react@19.1.13)(react@19.1.1):
dependencies:
react: 19.1.1
- react-style-singleton: 2.2.3(@types/react@19.1.12)(react@19.1.1)
+ react-style-singleton: 2.2.3(@types/react@19.1.13)(react@19.1.1)
tslib: 2.8.1
optionalDependencies:
- '@types/react': 19.1.12
+ '@types/react': 19.1.13
- react-remove-scroll@2.6.2(@types/react@19.1.12)(react@19.1.1):
+ react-remove-scroll@2.7.1(@types/react@19.1.13)(react@19.1.1):
dependencies:
react: 19.1.1
- react-remove-scroll-bar: 2.3.8(@types/react@19.1.12)(react@19.1.1)
- react-style-singleton: 2.2.3(@types/react@19.1.12)(react@19.1.1)
+ react-remove-scroll-bar: 2.3.8(@types/react@19.1.13)(react@19.1.1)
+ react-style-singleton: 2.2.3(@types/react@19.1.13)(react@19.1.1)
tslib: 2.8.1
- use-callback-ref: 1.3.3(@types/react@19.1.12)(react@19.1.1)
- use-sidecar: 1.1.2(@types/react@19.1.12)(react@19.1.1)
+ use-callback-ref: 1.3.3(@types/react@19.1.13)(react@19.1.1)
+ use-sidecar: 1.1.3(@types/react@19.1.13)(react@19.1.1)
optionalDependencies:
- '@types/react': 19.1.12
+ '@types/react': 19.1.13
react-scan@0.0.31:
dependencies:
@@ -18227,13 +18270,13 @@ snapshots:
react-dom: 19.1.1(react@19.1.1)
react-transition-group: 4.4.5(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
- react-style-singleton@2.2.3(@types/react@19.1.12)(react@19.1.1):
+ react-style-singleton@2.2.3(@types/react@19.1.13)(react@19.1.1):
dependencies:
get-nonce: 1.0.1
react: 19.1.1
tslib: 2.8.1
optionalDependencies:
- '@types/react': 19.1.12
+ '@types/react': 19.1.13
react-syntax-highlighter@15.6.1(react@19.1.1):
dependencies:
@@ -18245,12 +18288,12 @@ snapshots:
react: 19.1.1
refractor: 3.6.0
- react-textarea-autosize@8.5.9(@types/react@19.1.12)(react@19.1.1):
+ react-textarea-autosize@8.5.9(@types/react@19.1.13)(react@19.1.1):
dependencies:
'@babel/runtime': 7.28.4
react: 19.1.1
use-composed-ref: 1.3.0(react@19.1.1)
- use-latest: 1.2.1(@types/react@19.1.12)(react@19.1.1)
+ use-latest: 1.2.1(@types/react@19.1.13)(react@19.1.1)
transitivePeerDependencies:
- '@types/react'
@@ -18330,7 +18373,7 @@ snapshots:
lodash: 4.17.21
react: 19.1.1
react-dom: 19.1.1(react@19.1.1)
- react-is: 18.3.1
+ react-is: 19.1.1
react-smooth: 4.0.4(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
recharts-scale: 0.4.5
tiny-invariant: 1.3.3
@@ -18637,7 +18680,7 @@ snapshots:
dependencies:
'@semantic-release/commit-analyzer': 13.0.1(semantic-release@24.2.8(typescript@5.9.2))
'@semantic-release/error': 4.0.0
- '@semantic-release/github': 11.0.5(semantic-release@24.2.8(typescript@5.9.2))
+ '@semantic-release/github': 11.0.6(semantic-release@24.2.8(typescript@5.9.2))
'@semantic-release/npm': 12.0.2(semantic-release@24.2.8(typescript@5.9.2))
'@semantic-release/release-notes-generator': 14.1.0(semantic-release@24.2.8(typescript@5.9.2))
aggregate-error: 5.0.0
@@ -18843,8 +18886,6 @@ snapshots:
slash@3.0.0: {}
- slash@5.1.0: {}
-
smart-buffer@4.2.0: {}
snake-case@2.1.0:
@@ -19200,7 +19241,7 @@ snapshots:
transitivePeerDependencies:
- debug
- swagger-ui-react@5.28.1(@types/react@19.1.12)(react-dom@19.1.1(react@19.1.1))(react@19.1.1):
+ swagger-ui-react@5.29.0(@types/react@19.1.13)(react-dom@19.1.1(react@19.1.1))(react@19.1.1):
dependencies:
'@babel/runtime-corejs3': 7.27.1
'@scarf/scarf': 1.4.0
@@ -19225,7 +19266,7 @@ snapshots:
react-immutable-proptypes: 2.2.0(immutable@3.8.2)
react-immutable-pure-component: 2.2.2(immutable@3.8.2)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
react-inspector: 6.0.2(react@19.1.1)
- react-redux: 9.2.0(@types/react@19.1.12)(react@19.1.1)(redux@5.0.1)
+ react-redux: 9.2.0(@types/react@19.1.13)(react@19.1.1)(redux@5.0.1)
react-syntax-highlighter: 15.6.1(react@19.1.1)
redux: 5.0.1
redux-immutable: 4.0.0(immutable@3.8.2)
@@ -19257,6 +19298,13 @@ snapshots:
tapable@2.2.1: {}
+ tar-fs@2.1.3:
+ dependencies:
+ chownr: 1.1.4
+ mkdirp-classic: 0.5.3
+ pump: 3.0.2
+ tar-stream: 2.2.0
+
tar-fs@3.1.0:
dependencies:
pump: 3.0.2
@@ -19267,6 +19315,14 @@ snapshots:
transitivePeerDependencies:
- bare-buffer
+ tar-stream@2.2.0:
+ dependencies:
+ bl: 4.1.0
+ end-of-stream: 1.4.4
+ fs-constants: 1.0.0
+ inherits: 2.0.4
+ readable-stream: 3.6.2
+
tar-stream@3.1.7:
dependencies:
b4a: 1.6.6
@@ -19313,14 +19369,14 @@ snapshots:
byline: 5.0.0
debug: 4.4.1
docker-compose: 1.2.0
- dockerode: 4.0.7
+ dockerode: 4.0.8
get-port: 7.1.0
proper-lockfile: 4.1.2
properties-reader: 2.3.0
ssh-remote-port-forward: 1.0.4
tar-fs: 3.1.0
tmp: 0.2.4
- undici: 7.15.0
+ undici: 7.16.0
transitivePeerDependencies:
- bare-buffer
- supports-color
@@ -19440,6 +19496,10 @@ snapshots:
dependencies:
punycode: 2.3.1
+ tr46@6.0.0:
+ dependencies:
+ punycode: 2.3.1
+
traverse@0.6.8: {}
tree-kill@1.2.2: {}
@@ -19470,14 +19530,14 @@ snapshots:
trough@2.2.0: {}
- trpc-to-openapi@3.0.1(patch_hash=2ca3c16af0fcca0c736697ad4fe553a14f794524fa9ce0d5c3e8ee4aea76090c)(@trpc/server@11.5.1(typescript@5.9.2))(zod-openapi@5.3.0(zod@4.1.5))(zod@4.1.5):
+ trpc-to-openapi@3.0.1(patch_hash=2ca3c16af0fcca0c736697ad4fe553a14f794524fa9ce0d5c3e8ee4aea76090c)(@trpc/server@11.5.1(typescript@5.9.2))(zod-openapi@5.3.0(zod@4.1.8))(zod@4.1.8):
dependencies:
'@trpc/server': 11.5.1(typescript@5.9.2)
co-body: 6.2.0
h3: 1.15.1
openapi3-ts: 4.4.0
- zod: 4.1.5
- zod-openapi: 5.3.0(zod@4.1.5)
+ zod: 4.1.8
+ zod-openapi: 5.3.0(zod@4.1.8)
optionalDependencies:
'@rollup/rollup-linux-x64-gnu': 4.6.1
@@ -19487,14 +19547,14 @@ snapshots:
ts-mixer@6.0.4: {}
- ts-node@10.9.2(@types/node@22.18.1)(typescript@5.9.2):
+ ts-node@10.9.2(@types/node@22.18.6)(typescript@5.9.2):
dependencies:
'@cspotcode/source-map-support': 0.8.1
'@tsconfig/node10': 1.0.11
'@tsconfig/node12': 1.0.11
'@tsconfig/node14': 1.0.3
'@tsconfig/node16': 1.0.4
- '@types/node': 22.18.1
+ '@types/node': 22.18.6
acorn: 8.15.0
acorn-walk: 8.3.4
arg: 4.1.3
@@ -19674,12 +19734,12 @@ snapshots:
dependencies:
ts-toolbelt: 9.6.0
- typescript-eslint@8.42.0(eslint@9.35.0)(typescript@5.9.2):
+ typescript-eslint@8.43.0(eslint@9.35.0)(typescript@5.9.2):
dependencies:
- '@typescript-eslint/eslint-plugin': 8.42.0(@typescript-eslint/parser@8.42.0(eslint@9.35.0)(typescript@5.9.2))(eslint@9.35.0)(typescript@5.9.2)
- '@typescript-eslint/parser': 8.42.0(eslint@9.35.0)(typescript@5.9.2)
- '@typescript-eslint/typescript-estree': 8.42.0(typescript@5.9.2)
- '@typescript-eslint/utils': 8.42.0(eslint@9.35.0)(typescript@5.9.2)
+ '@typescript-eslint/eslint-plugin': 8.43.0(@typescript-eslint/parser@8.43.0(eslint@9.35.0)(typescript@5.9.2))(eslint@9.35.0)(typescript@5.9.2)
+ '@typescript-eslint/parser': 8.43.0(eslint@9.35.0)(typescript@5.9.2)
+ '@typescript-eslint/typescript-estree': 8.43.0(typescript@5.9.2)
+ '@typescript-eslint/utils': 8.43.0(eslint@9.35.0)(typescript@5.9.2)
eslint: 9.35.0
typescript: 5.9.2
transitivePeerDependencies:
@@ -19716,7 +19776,7 @@ snapshots:
undici-types@6.21.0: {}
- undici@7.15.0: {}
+ undici@7.16.0: {}
unicode-emoji-modifier-base@1.0.0: {}
@@ -19839,12 +19899,12 @@ snapshots:
url-toolkit@2.2.5: {}
- use-callback-ref@1.3.3(@types/react@19.1.12)(react@19.1.1):
+ use-callback-ref@1.3.3(@types/react@19.1.13)(react@19.1.1):
dependencies:
react: 19.1.1
tslib: 2.8.1
optionalDependencies:
- '@types/react': 19.1.12
+ '@types/react': 19.1.13
use-composed-ref@1.3.0(react@19.1.1):
dependencies:
@@ -19856,33 +19916,33 @@ snapshots:
dequal: 2.0.3
react: 19.1.1
- use-intl@4.3.7(react@19.1.1):
+ use-intl@4.3.9(react@19.1.1):
dependencies:
'@formatjs/fast-memoize': 2.2.1
'@schummar/icu-type-parser': 1.21.5
intl-messageformat: 10.7.1
react: 19.1.1
- use-isomorphic-layout-effect@1.1.2(@types/react@19.1.12)(react@19.1.1):
+ use-isomorphic-layout-effect@1.1.2(@types/react@19.1.13)(react@19.1.1):
dependencies:
react: 19.1.1
optionalDependencies:
- '@types/react': 19.1.12
+ '@types/react': 19.1.13
- use-latest@1.2.1(@types/react@19.1.12)(react@19.1.1):
+ use-latest@1.2.1(@types/react@19.1.13)(react@19.1.1):
dependencies:
react: 19.1.1
- use-isomorphic-layout-effect: 1.1.2(@types/react@19.1.12)(react@19.1.1)
+ use-isomorphic-layout-effect: 1.1.2(@types/react@19.1.13)(react@19.1.1)
optionalDependencies:
- '@types/react': 19.1.12
+ '@types/react': 19.1.13
- use-sidecar@1.1.2(@types/react@19.1.12)(react@19.1.1):
+ use-sidecar@1.1.3(@types/react@19.1.13)(react@19.1.1):
dependencies:
detect-node-es: 1.1.0
react: 19.1.1
tslib: 2.8.1
optionalDependencies:
- '@types/react': 19.1.12
+ '@types/react': 19.1.13
use-sync-external-store@1.4.0(react@19.1.1):
dependencies:
@@ -19960,13 +20020,13 @@ snapshots:
dependencies:
global: 4.4.0
- vite-node@3.2.4(@types/node@22.18.1)(sass@1.92.1)(sugarss@5.0.0(postcss@8.5.6))(terser@5.39.0)(tsx@4.20.5)(yaml@2.5.1):
+ vite-node@3.2.4(@types/node@22.18.6)(sass@1.92.1)(sugarss@5.0.0(postcss@8.5.6))(terser@5.39.0)(tsx@4.20.5)(yaml@2.5.1):
dependencies:
cac: 6.7.14
debug: 4.4.1
es-module-lexer: 1.7.0
pathe: 2.0.3
- vite: 7.1.5(@types/node@22.18.1)(sass@1.92.1)(sugarss@5.0.0(postcss@8.5.6))(terser@5.39.0)(tsx@4.20.5)(yaml@2.5.1)
+ vite: 7.1.5(@types/node@22.18.6)(sass@1.92.1)(sugarss@5.0.0(postcss@8.5.6))(terser@5.39.0)(tsx@4.20.5)(yaml@2.5.1)
transitivePeerDependencies:
- '@types/node'
- jiti
@@ -19981,18 +20041,18 @@ snapshots:
- tsx
- yaml
- vite-tsconfig-paths@5.1.4(typescript@5.9.2)(vite@7.1.5(@types/node@22.18.1)(sass@1.92.1)(sugarss@5.0.0(postcss@8.5.6))(terser@5.39.0)(tsx@4.20.5)(yaml@2.5.1)):
+ vite-tsconfig-paths@5.1.4(typescript@5.9.2)(vite@7.1.5(@types/node@22.18.6)(sass@1.92.1)(sugarss@5.0.0(postcss@8.5.6))(terser@5.39.0)(tsx@4.20.5)(yaml@2.5.1)):
dependencies:
debug: 4.3.7
globrex: 0.1.2
tsconfck: 3.1.3(typescript@5.9.2)
optionalDependencies:
- vite: 7.1.5(@types/node@22.18.1)(sass@1.92.1)(sugarss@5.0.0(postcss@8.5.6))(terser@5.39.0)(tsx@4.20.5)(yaml@2.5.1)
+ vite: 7.1.5(@types/node@22.18.6)(sass@1.92.1)(sugarss@5.0.0(postcss@8.5.6))(terser@5.39.0)(tsx@4.20.5)(yaml@2.5.1)
transitivePeerDependencies:
- supports-color
- typescript
- vite@7.1.5(@types/node@22.18.1)(sass@1.92.1)(sugarss@5.0.0(postcss@8.5.6))(terser@5.39.0)(tsx@4.20.5)(yaml@2.5.1):
+ vite@7.1.5(@types/node@22.18.6)(sass@1.92.1)(sugarss@5.0.0(postcss@8.5.6))(terser@5.39.0)(tsx@4.20.5)(yaml@2.5.1):
dependencies:
esbuild: 0.25.9
fdir: 6.5.0(picomatch@4.0.3)
@@ -20001,7 +20061,7 @@ snapshots:
rollup: 4.48.1
tinyglobby: 0.2.15
optionalDependencies:
- '@types/node': 22.18.1
+ '@types/node': 22.18.6
fsevents: 2.3.3
sass: 1.92.1
sugarss: 5.0.0(postcss@8.5.6)
@@ -20009,11 +20069,11 @@ snapshots:
tsx: 4.20.5
yaml: 2.5.1
- vitest@3.2.4(@types/debug@4.1.12)(@types/node@22.18.1)(@vitest/ui@3.2.4)(jsdom@26.1.0)(sass@1.92.1)(sugarss@5.0.0(postcss@8.5.6))(terser@5.39.0)(tsx@4.20.5)(yaml@2.5.1):
+ vitest@3.2.4(@types/debug@4.1.12)(@types/node@22.18.6)(@vitest/ui@3.2.4)(jsdom@27.0.0(postcss@8.5.6))(sass@1.92.1)(sugarss@5.0.0(postcss@8.5.6))(terser@5.39.0)(tsx@4.20.5)(yaml@2.5.1):
dependencies:
'@types/chai': 5.2.2
'@vitest/expect': 3.2.4
- '@vitest/mocker': 3.2.4(vite@7.1.5(@types/node@22.18.1)(sass@1.92.1)(sugarss@5.0.0(postcss@8.5.6))(terser@5.39.0)(tsx@4.20.5)(yaml@2.5.1))
+ '@vitest/mocker': 3.2.4(vite@7.1.5(@types/node@22.18.6)(sass@1.92.1)(sugarss@5.0.0(postcss@8.5.6))(terser@5.39.0)(tsx@4.20.5)(yaml@2.5.1))
'@vitest/pretty-format': 3.2.4
'@vitest/runner': 3.2.4
'@vitest/snapshot': 3.2.4
@@ -20031,14 +20091,14 @@ snapshots:
tinyglobby: 0.2.14
tinypool: 1.1.1
tinyrainbow: 2.0.0
- vite: 7.1.5(@types/node@22.18.1)(sass@1.92.1)(sugarss@5.0.0(postcss@8.5.6))(terser@5.39.0)(tsx@4.20.5)(yaml@2.5.1)
- vite-node: 3.2.4(@types/node@22.18.1)(sass@1.92.1)(sugarss@5.0.0(postcss@8.5.6))(terser@5.39.0)(tsx@4.20.5)(yaml@2.5.1)
+ vite: 7.1.5(@types/node@22.18.6)(sass@1.92.1)(sugarss@5.0.0(postcss@8.5.6))(terser@5.39.0)(tsx@4.20.5)(yaml@2.5.1)
+ vite-node: 3.2.4(@types/node@22.18.6)(sass@1.92.1)(sugarss@5.0.0(postcss@8.5.6))(terser@5.39.0)(tsx@4.20.5)(yaml@2.5.1)
why-is-node-running: 2.3.0
optionalDependencies:
'@types/debug': 4.1.12
- '@types/node': 22.18.1
+ '@types/node': 22.18.6
'@vitest/ui': 3.2.4(vitest@3.2.4)
- jsdom: 26.1.0
+ jsdom: 27.0.0(postcss@8.5.6)
transitivePeerDependencies:
- jiti
- less
@@ -20077,6 +20137,8 @@ snapshots:
webidl-conversions@7.0.0: {}
+ webidl-conversions@8.0.0: {}
+
webpack-sources@3.2.3: {}
webpack-virtual-modules@0.6.2: {}
@@ -20124,6 +20186,11 @@ snapshots:
tr46: 5.1.0
webidl-conversions: 7.0.0
+ whatwg-url@15.1.0:
+ dependencies:
+ tr46: 6.0.0
+ webidl-conversions: 8.0.0
+
whatwg-url@5.0.0:
dependencies:
tr46: 0.0.3
@@ -20352,19 +20419,19 @@ snapshots:
compress-commons: 6.0.2
readable-stream: 4.5.2
- zod-form-data@3.0.1(zod@4.1.5):
+ zod-form-data@3.0.1(zod@4.1.8):
dependencies:
'@rvf/set-get': 7.0.1
- zod: 4.1.5
+ zod: 4.1.8
- zod-openapi@5.3.0(zod@4.1.5):
+ zod-openapi@5.3.0(zod@4.1.8):
dependencies:
- zod: 4.1.5
+ zod: 4.1.8
- zod-validation-error@4.0.1(zod@4.1.5):
+ zod-validation-error@4.0.1(zod@4.1.8):
dependencies:
- zod: 4.1.5
+ zod: 4.1.8
- zod@4.1.5: {}
+ zod@4.1.8: {}
zwitch@2.0.4: {}
diff --git a/static-data/contributors.json b/static-data/contributors.json
index 06a95d084..1c038ef73 100644
--- a/static-data/contributors.json
+++ b/static-data/contributors.json
@@ -1 +1 @@
-[{"login":"ajnart","avatar_url":"https://avatars.githubusercontent.com/u/49837342?v=4"},{"login":"manuel-rw","avatar_url":"https://avatars.githubusercontent.com/u/30572287?v=4"},{"login":"Meierschlumpf","avatar_url":"https://avatars.githubusercontent.com/u/63781622?v=4"},{"login":"SeDemal","avatar_url":"https://avatars.githubusercontent.com/u/26098587?v=4"},{"login":"lammersbjorn","avatar_url":"https://avatars.githubusercontent.com/u/71191962?v=4"},{"login":"LarveyOfficial","avatar_url":"https://avatars.githubusercontent.com/u/39219859?v=4"},{"login":"c00ldude1oo","avatar_url":"https://avatars.githubusercontent.com/u/15677803?v=4"},{"login":"InterN0te","avatar_url":"https://avatars.githubusercontent.com/u/10882916?v=4"},{"login":"Aimsucks","avatar_url":"https://avatars.githubusercontent.com/u/1828486?v=4"},{"login":"JannesV","avatar_url":"https://avatars.githubusercontent.com/u/5984244?v=4"},{"login":"MauriceNino","avatar_url":"https://avatars.githubusercontent.com/u/18658092?v=4"},{"login":"hillaliy","avatar_url":"https://avatars.githubusercontent.com/u/950010?v=4"},{"login":"Skeeww","avatar_url":"https://avatars.githubusercontent.com/u/9639992?v=4"},{"login":"RichyHBM","avatar_url":"https://avatars.githubusercontent.com/u/5472275?v=4"},{"login":"Bonfire","avatar_url":"https://avatars.githubusercontent.com/u/5704760?v=4"},{"login":"wieli99","avatar_url":"https://avatars.githubusercontent.com/u/46794825?v=4"},{"login":"ishaanparlikar","avatar_url":"https://avatars.githubusercontent.com/u/43013132?v=4"},{"login":"Zareix","avatar_url":"https://avatars.githubusercontent.com/u/29818713?v=4"},{"login":"tuggan","avatar_url":"https://avatars.githubusercontent.com/u/4325608?v=4"},{"login":"Spillebulle","avatar_url":"https://avatars.githubusercontent.com/u/46653946?v=4"},{"login":"tancak","avatar_url":"https://avatars.githubusercontent.com/u/11760749?v=4"},{"login":"spkesDE","avatar_url":"https://avatars.githubusercontent.com/u/1682314?v=4"},{"login":"j3lte","avatar_url":"https://avatars.githubusercontent.com/u/2557568?v=4"},{"login":"dslatt","avatar_url":"https://avatars.githubusercontent.com/u/5211001?v=4"},{"login":"Malong11-007","avatar_url":"https://avatars.githubusercontent.com/u/40298510?v=4"},{"login":"StefanB7","avatar_url":"https://avatars.githubusercontent.com/u/22056509?v=4"},{"login":"souravghosh01","avatar_url":"https://avatars.githubusercontent.com/u/37548139?v=4"},{"login":"SR3u","avatar_url":"https://avatars.githubusercontent.com/u/2380522?v=4"},{"login":"Rikpat","avatar_url":"https://avatars.githubusercontent.com/u/33869814?v=4"},{"login":"NormanJS","avatar_url":"https://avatars.githubusercontent.com/u/83409549?v=4"},{"login":"No-Maines-Land","avatar_url":"https://avatars.githubusercontent.com/u/20687725?v=4"},{"login":"stark1tty","avatar_url":"https://avatars.githubusercontent.com/u/69326376?v=4"},{"login":"Momcilo42","avatar_url":"https://avatars.githubusercontent.com/u/10118137?v=4"},{"login":"marius-arch","avatar_url":"https://avatars.githubusercontent.com/u/72494359?v=4"},{"login":"Lumilias","avatar_url":"https://avatars.githubusercontent.com/u/10852161?v=4"},{"login":"Havock94","avatar_url":"https://avatars.githubusercontent.com/u/7635248?v=4"},{"login":"Lollyde","avatar_url":"https://avatars.githubusercontent.com/u/11347524?v=4"},{"login":"krishnamuppaneni","avatar_url":"https://avatars.githubusercontent.com/u/4703366?v=4"},{"login":"devtobi","avatar_url":"https://avatars.githubusercontent.com/u/28538704?v=4"},{"login":"TyxTang","avatar_url":"https://avatars.githubusercontent.com/u/90897955?v=4"},{"login":"VinnyVynce","avatar_url":"https://avatars.githubusercontent.com/u/19630511?v=4"},{"login":"WillyJL","avatar_url":"https://avatars.githubusercontent.com/u/49810075?v=4"},{"login":"anonysoul","avatar_url":"https://avatars.githubusercontent.com/u/105715150?v=4"},{"login":"cospeedster","avatar_url":"https://avatars.githubusercontent.com/u/52749645?v=4"},{"login":"diederbert","avatar_url":"https://avatars.githubusercontent.com/u/162878798?v=4"},{"login":"digdilem","avatar_url":"https://avatars.githubusercontent.com/u/4052275?v=4"},{"login":"dinghino","avatar_url":"https://avatars.githubusercontent.com/u/14729459?v=4"},{"login":"gfomichev","avatar_url":"https://avatars.githubusercontent.com/u/1596146?v=4"},{"login":"gnattu","avatar_url":"https://avatars.githubusercontent.com/u/12995396?v=4"},{"login":"tuxpizza","avatar_url":"https://avatars.githubusercontent.com/u/84710786?v=4"},{"login":"xmarkurion","avatar_url":"https://avatars.githubusercontent.com/u/46654687?v=4"},{"login":"huanga","avatar_url":"https://avatars.githubusercontent.com/u/732970?v=4"},{"login":"taos15","avatar_url":"https://avatars.githubusercontent.com/u/122130728?v=4"},{"login":"arghyadipchak","avatar_url":"https://avatars.githubusercontent.com/u/32430374?v=4"},{"login":"AuthorShin","avatar_url":"https://avatars.githubusercontent.com/u/4959043?v=4"},{"login":"benniblot","avatar_url":"https://avatars.githubusercontent.com/u/47495914?v=4"},{"login":"bebsworthy","avatar_url":"https://avatars.githubusercontent.com/u/5266759?v=4"},{"login":"catrielmuller","avatar_url":"https://avatars.githubusercontent.com/u/2272323?v=4"},{"login":"Vysp3r","avatar_url":"https://avatars.githubusercontent.com/u/62019735?v=4"},{"login":"DR-Blogs","avatar_url":"https://avatars.githubusercontent.com/u/96393186?v=4"},{"login":"singular0","avatar_url":"https://avatars.githubusercontent.com/u/1925883?v=4"},{"login":"diogovalentte","avatar_url":"https://avatars.githubusercontent.com/u/49578155?v=4"},{"login":"codezninja","avatar_url":"https://avatars.githubusercontent.com/u/4400773?v=4"},{"login":"fabricionaweb","avatar_url":"https://avatars.githubusercontent.com/u/15933?v=4"},{"login":"nyok1912","avatar_url":"https://avatars.githubusercontent.com/u/32163949?v=4"},{"login":"bo3bdo","avatar_url":"https://avatars.githubusercontent.com/u/5271380?v=4"},{"login":"hskrtich","avatar_url":"https://avatars.githubusercontent.com/u/1214484?v=4"},{"login":"ishults","avatar_url":"https://avatars.githubusercontent.com/u/7275442?v=4"},{"login":"jelliuk","avatar_url":"https://avatars.githubusercontent.com/u/4790959?v=4"},{"login":"Moohan","avatar_url":"https://avatars.githubusercontent.com/u/5982260?v=4"},{"login":"tesar-tech","avatar_url":"https://avatars.githubusercontent.com/u/33880579?v=4"},{"login":"jbruell","avatar_url":"https://avatars.githubusercontent.com/u/31685172?v=4"},{"login":"JasonLeeB06","avatar_url":"https://avatars.githubusercontent.com/u/82266978?v=4"},{"login":"jeffersonraimon","avatar_url":"https://avatars.githubusercontent.com/u/80064475?v=4"},{"login":"jo-chemla","avatar_url":"https://avatars.githubusercontent.com/u/16822841?v=4"},{"login":"joser93","avatar_url":"https://avatars.githubusercontent.com/u/6912089?v=4"},{"login":"justijndepover","avatar_url":"https://avatars.githubusercontent.com/u/9008623?v=4"},{"login":"Aandree5","avatar_url":"https://avatars.githubusercontent.com/u/32734153?v=4"},{"login":"jackwellerreal","avatar_url":"https://avatars.githubusercontent.com/u/97435840?v=4"},{"login":"toineenzo","avatar_url":"https://avatars.githubusercontent.com/u/4921397?v=4"},{"login":"oben01","avatar_url":"https://avatars.githubusercontent.com/u/22369027?v=4"},{"login":"rezstje","avatar_url":"https://avatars.githubusercontent.com/u/45420315?v=4"},{"login":"MaienM","avatar_url":"https://avatars.githubusercontent.com/u/583129?v=4"},{"login":"xoxyuxu","avatar_url":"https://avatars.githubusercontent.com/u/3543416?v=4"},{"login":"m0s4ik","avatar_url":"https://avatars.githubusercontent.com/u/26578395?v=4"},{"login":"Oupsman","avatar_url":"https://avatars.githubusercontent.com/u/11260343?v=4"},{"login":"Copilot","avatar_url":"https://avatars.githubusercontent.com/in/1143301?v=4"},{"login":"ieugen","avatar_url":"https://avatars.githubusercontent.com/u/1050920?v=4"},{"login":"faugusto-oliveira","avatar_url":"https://avatars.githubusercontent.com/u/37384074?v=4"},{"login":"frankvHoof93","avatar_url":"https://avatars.githubusercontent.com/u/7346516?v=4"},{"login":"HeapReaper","avatar_url":"https://avatars.githubusercontent.com/u/31496522?v=4"},{"login":"Kaotic3","avatar_url":"https://avatars.githubusercontent.com/u/80522225?v=4"},{"login":"hotrungnhan","avatar_url":"https://avatars.githubusercontent.com/u/40029631?v=4"},{"login":"leandroscardua","avatar_url":"https://avatars.githubusercontent.com/u/24698541?v=4"},{"login":"itzTheMeow","avatar_url":"https://avatars.githubusercontent.com/u/50887230?v=4"},{"login":"NikeLaosClericus","avatar_url":"https://avatars.githubusercontent.com/u/39810627?v=4"},{"login":"lthomsen","avatar_url":"https://avatars.githubusercontent.com/u/28560325?v=4"},{"login":"pitschi","avatar_url":"https://avatars.githubusercontent.com/u/6841565?v=4"},{"login":"tech62","avatar_url":"https://avatars.githubusercontent.com/u/16237642?v=4"}]
\ No newline at end of file
+[{"login":"ajnart","avatar_url":"https://avatars.githubusercontent.com/u/49837342?v=4"},{"login":"manuel-rw","avatar_url":"https://avatars.githubusercontent.com/u/30572287?v=4"},{"login":"Meierschlumpf","avatar_url":"https://avatars.githubusercontent.com/u/63781622?v=4"},{"login":"SeDemal","avatar_url":"https://avatars.githubusercontent.com/u/26098587?v=4"},{"login":"lammersbjorn","avatar_url":"https://avatars.githubusercontent.com/u/71191962?v=4"},{"login":"LarveyOfficial","avatar_url":"https://avatars.githubusercontent.com/u/39219859?v=4"},{"login":"c00ldude1oo","avatar_url":"https://avatars.githubusercontent.com/u/15677803?v=4"},{"login":"InterN0te","avatar_url":"https://avatars.githubusercontent.com/u/10882916?v=4"},{"login":"Aimsucks","avatar_url":"https://avatars.githubusercontent.com/u/1828486?v=4"},{"login":"JannesV","avatar_url":"https://avatars.githubusercontent.com/u/5984244?v=4"},{"login":"MauriceNino","avatar_url":"https://avatars.githubusercontent.com/u/18658092?v=4"},{"login":"hillaliy","avatar_url":"https://avatars.githubusercontent.com/u/950010?v=4"},{"login":"Skeeww","avatar_url":"https://avatars.githubusercontent.com/u/9639992?v=4"},{"login":"RichyHBM","avatar_url":"https://avatars.githubusercontent.com/u/5472275?v=4"},{"login":"Bonfire","avatar_url":"https://avatars.githubusercontent.com/u/5704760?v=4"},{"login":"wieli99","avatar_url":"https://avatars.githubusercontent.com/u/46794825?v=4"},{"login":"ishaanparlikar","avatar_url":"https://avatars.githubusercontent.com/u/43013132?v=4"},{"login":"Zareix","avatar_url":"https://avatars.githubusercontent.com/u/29818713?v=4"},{"login":"tuggan","avatar_url":"https://avatars.githubusercontent.com/u/4325608?v=4"},{"login":"Spillebulle","avatar_url":"https://avatars.githubusercontent.com/u/46653946?v=4"},{"login":"tancak","avatar_url":"https://avatars.githubusercontent.com/u/11760749?v=4"},{"login":"spkesDE","avatar_url":"https://avatars.githubusercontent.com/u/1682314?v=4"},{"login":"j3lte","avatar_url":"https://avatars.githubusercontent.com/u/2557568?v=4"},{"login":"dslatt","avatar_url":"https://avatars.githubusercontent.com/u/5211001?v=4"},{"login":"Malong11-007","avatar_url":"https://avatars.githubusercontent.com/u/40298510?v=4"},{"login":"StefanB7","avatar_url":"https://avatars.githubusercontent.com/u/22056509?v=4"},{"login":"souravghosh01","avatar_url":"https://avatars.githubusercontent.com/u/37548139?v=4"},{"login":"SR3u","avatar_url":"https://avatars.githubusercontent.com/u/2380522?v=4"},{"login":"Rikpat","avatar_url":"https://avatars.githubusercontent.com/u/33869814?v=4"},{"login":"NormanJS","avatar_url":"https://avatars.githubusercontent.com/u/83409549?v=4"},{"login":"No-Maines-Land","avatar_url":"https://avatars.githubusercontent.com/u/20687725?v=4"},{"login":"stark1tty","avatar_url":"https://avatars.githubusercontent.com/u/69326376?v=4"},{"login":"Momcilo42","avatar_url":"https://avatars.githubusercontent.com/u/10118137?v=4"},{"login":"marius-arch","avatar_url":"https://avatars.githubusercontent.com/u/72494359?v=4"},{"login":"Lumilias","avatar_url":"https://avatars.githubusercontent.com/u/10852161?v=4"},{"login":"Havock94","avatar_url":"https://avatars.githubusercontent.com/u/7635248?v=4"},{"login":"Lollyde","avatar_url":"https://avatars.githubusercontent.com/u/11347524?v=4"},{"login":"krishnamuppaneni","avatar_url":"https://avatars.githubusercontent.com/u/4703366?v=4"},{"login":"devtobi","avatar_url":"https://avatars.githubusercontent.com/u/28538704?v=4"},{"login":"TyxTang","avatar_url":"https://avatars.githubusercontent.com/u/90897955?v=4"},{"login":"VinnyVynce","avatar_url":"https://avatars.githubusercontent.com/u/19630511?v=4"},{"login":"WillyJL","avatar_url":"https://avatars.githubusercontent.com/u/49810075?v=4"},{"login":"anonysoul","avatar_url":"https://avatars.githubusercontent.com/u/105715150?v=4"},{"login":"cospeedster","avatar_url":"https://avatars.githubusercontent.com/u/52749645?v=4"},{"login":"diederbert","avatar_url":"https://avatars.githubusercontent.com/u/162878798?v=4"},{"login":"digdilem","avatar_url":"https://avatars.githubusercontent.com/u/4052275?v=4"},{"login":"dinghino","avatar_url":"https://avatars.githubusercontent.com/u/14729459?v=4"},{"login":"gfomichev","avatar_url":"https://avatars.githubusercontent.com/u/1596146?v=4"},{"login":"gnattu","avatar_url":"https://avatars.githubusercontent.com/u/12995396?v=4"},{"login":"tuxpizza","avatar_url":"https://avatars.githubusercontent.com/u/84710786?v=4"},{"login":"xmarkurion","avatar_url":"https://avatars.githubusercontent.com/u/46654687?v=4"},{"login":"huanga","avatar_url":"https://avatars.githubusercontent.com/u/732970?v=4"},{"login":"taos15","avatar_url":"https://avatars.githubusercontent.com/u/122130728?v=4"},{"login":"arghyadipchak","avatar_url":"https://avatars.githubusercontent.com/u/32430374?v=4"},{"login":"AuthorShin","avatar_url":"https://avatars.githubusercontent.com/u/4959043?v=4"},{"login":"benniblot","avatar_url":"https://avatars.githubusercontent.com/u/47495914?v=4"},{"login":"bebsworthy","avatar_url":"https://avatars.githubusercontent.com/u/5266759?v=4"},{"login":"catrielmuller","avatar_url":"https://avatars.githubusercontent.com/u/2272323?v=4"},{"login":"Vysp3r","avatar_url":"https://avatars.githubusercontent.com/u/62019735?v=4"},{"login":"DR-Blogs","avatar_url":"https://avatars.githubusercontent.com/u/96393186?v=4"},{"login":"singular0","avatar_url":"https://avatars.githubusercontent.com/u/1925883?v=4"},{"login":"diogovalentte","avatar_url":"https://avatars.githubusercontent.com/u/49578155?v=4"},{"login":"codezninja","avatar_url":"https://avatars.githubusercontent.com/u/4400773?v=4"},{"login":"fabricionaweb","avatar_url":"https://avatars.githubusercontent.com/u/15933?v=4"},{"login":"nyok1912","avatar_url":"https://avatars.githubusercontent.com/u/32163949?v=4"},{"login":"bo3bdo","avatar_url":"https://avatars.githubusercontent.com/u/5271380?v=4"},{"login":"hskrtich","avatar_url":"https://avatars.githubusercontent.com/u/1214484?v=4"},{"login":"ishults","avatar_url":"https://avatars.githubusercontent.com/u/7275442?v=4"},{"login":"jelliuk","avatar_url":"https://avatars.githubusercontent.com/u/4790959?v=4"},{"login":"Moohan","avatar_url":"https://avatars.githubusercontent.com/u/5982260?v=4"},{"login":"tesar-tech","avatar_url":"https://avatars.githubusercontent.com/u/33880579?v=4"},{"login":"jbruell","avatar_url":"https://avatars.githubusercontent.com/u/31685172?v=4"},{"login":"JasonLeeB06","avatar_url":"https://avatars.githubusercontent.com/u/82266978?v=4"},{"login":"jeffersonraimon","avatar_url":"https://avatars.githubusercontent.com/u/80064475?v=4"},{"login":"jo-chemla","avatar_url":"https://avatars.githubusercontent.com/u/16822841?v=4"},{"login":"joser93","avatar_url":"https://avatars.githubusercontent.com/u/6912089?v=4"},{"login":"justijndepover","avatar_url":"https://avatars.githubusercontent.com/u/9008623?v=4"},{"login":"Aandree5","avatar_url":"https://avatars.githubusercontent.com/u/32734153?v=4"},{"login":"jackwellerreal","avatar_url":"https://avatars.githubusercontent.com/u/97435840?v=4"},{"login":"toineenzo","avatar_url":"https://avatars.githubusercontent.com/u/4921397?v=4"},{"login":"oben01","avatar_url":"https://avatars.githubusercontent.com/u/22369027?v=4"},{"login":"rezstje","avatar_url":"https://avatars.githubusercontent.com/u/45420315?v=4"},{"login":"xoxyuxu","avatar_url":"https://avatars.githubusercontent.com/u/3543416?v=4"},{"login":"MaienM","avatar_url":"https://avatars.githubusercontent.com/u/583129?v=4"},{"login":"tech62","avatar_url":"https://avatars.githubusercontent.com/u/16237642?v=4"},{"login":"pitschi","avatar_url":"https://avatars.githubusercontent.com/u/6841565?v=4"},{"login":"lthomsen","avatar_url":"https://avatars.githubusercontent.com/u/28560325?v=4"},{"login":"NikeLaosClericus","avatar_url":"https://avatars.githubusercontent.com/u/39810627?v=4"},{"login":"NicolasNewman","avatar_url":"https://avatars.githubusercontent.com/u/16135852?v=4"},{"login":"itzTheMeow","avatar_url":"https://avatars.githubusercontent.com/u/50887230?v=4"},{"login":"leandroscardua","avatar_url":"https://avatars.githubusercontent.com/u/24698541?v=4"},{"login":"hotrungnhan","avatar_url":"https://avatars.githubusercontent.com/u/40029631?v=4"},{"login":"Kaotic3","avatar_url":"https://avatars.githubusercontent.com/u/80522225?v=4"},{"login":"HeapReaper","avatar_url":"https://avatars.githubusercontent.com/u/31496522?v=4"},{"login":"frankvHoof93","avatar_url":"https://avatars.githubusercontent.com/u/7346516?v=4"},{"login":"faugusto-oliveira","avatar_url":"https://avatars.githubusercontent.com/u/37384074?v=4"},{"login":"ieugen","avatar_url":"https://avatars.githubusercontent.com/u/1050920?v=4"},{"login":"Copilot","avatar_url":"https://avatars.githubusercontent.com/in/1143301?v=4"},{"login":"Oupsman","avatar_url":"https://avatars.githubusercontent.com/u/11260343?v=4"},{"login":"m0s4ik","avatar_url":"https://avatars.githubusercontent.com/u/26578395?v=4"}]
\ No newline at end of file
diff --git a/static-data/translators.json b/static-data/translators.json
index cc84953df..64bf3d0cb 100644
--- a/static-data/translators.json
+++ b/static-data/translators.json
@@ -1 +1 @@
-[{"username":"carlchina","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/6697/medium/d22bbe7797bbeb30dbdc73a5648d329a_default.png"},{"username":"zielmann","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/7795/medium/ad22b8b8d5eb33e4154d53a454c862fd_default.png"},{"username":"Thalyn","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/12494028/medium/5faf5acc945a874ed116c4567edaa09f_default.png"},{"username":"magnushj","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/12503488/medium/68f32e33ea7b891960055c9f831f7344_default.png"},{"username":"almontegil","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/12580457/medium/f4136cacbdfdb4c28ae7f85dc5f840db_default.png"},{"username":"Skick","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/12619811/medium/0331f1de413a645b4516bc4e037f31bb.jpg"},{"username":"andibing","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/12664938/medium/b8be63e4dcb2e791ced1ffc9e3a049a5.jpg"},{"username":"gronare","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/12680911/medium/c6eb14d1504156f34a158e507f73aa3d_default.png"},{"username":"SmartPhoneLover","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/12701640/medium/ec95486662ec875cda080e778c3ff702.jpg"},{"username":"marcelotk_15","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/12773227/medium/ecf6bea16ab0c873c131df2154ee9718_default.png"},{"username":"S3OD177","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13051544/medium/11dd990837f61f7e8f7d36b041a7fddb_default.png"},{"username":"marcg","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13153301/medium/ebcf60fbf27deb148ec40a659566c6ff_default.png"},{"username":"BeersTeddy","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13185230/medium/2f1f4e1effe74a23422b195cbefb2a95_default.png"},{"username":"jamesmcmahon0","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13245578/medium/586aa873b4abddbd9abc6f3de99ab70e.jpeg"},{"username":"b1nar10","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13286752/medium/249b02e3368752cb175446082015737c_default.png"},{"username":"vannCN","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13330448/medium/9b8a9ee3611e51e951e22d5fd4eb7d8d.jpg"},{"username":"binswm","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13343482/medium/45dde0e6097b9b72705d2eba9dbbc276_default.png"},{"username":"SkewRam","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13496556/medium/188f5c2deb7938eda51eb786cc4539ca.jpeg"},{"username":"raphcatarino","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13547726/medium/b003511e67df13a4b4b5689488fa8099.jpg"},{"username":"shillos5","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13600557/medium/b17650b2b84f829d54fa548c44c1ab27.jpeg"},{"username":"wolong98","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13641407/medium/f4634edc58c7857a357e5293543c15cf.jpg"},{"username":"spair0039","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14012333/medium/72430e96027c09c19141cac38eae4617.png"},{"username":"MajorMarcin","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14072183/medium/0a197e64bb92b6ea94cecbb607512c45.jpg"},{"username":"KosmoMoustache","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14103535/medium/51c438cdd9f86e8811c75f4869de479c.png"},{"username":"Soochaehwa","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14118689/medium/496a1ce63111547bf455a1e0a7ac75f1_default.png"},{"username":"garryfield","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14187035/medium/520c964706676045f6eeec1b08edc880.jpg"},{"username":"droidenko","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14444264/medium/4aa3a8e824f72bc9e5ec0d8de307095e.jpeg"},{"username":"maathis","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14489950/medium/6eeddf13a757ee35f78f1763f94d95e1.jpeg"},{"username":"bukvam","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14546502/medium/a819dc40a13c57395a17dc46e847d3ce.jpg"},{"username":"gm.cinalli","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14670666/medium/2d466a0fdbda40764526be86c97c0ab4.jpeg"},{"username":"antoine2tt","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14722148/medium/f88d926900862dd59007ea4b3419cb9d.png"},{"username":"cretzen","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14799754/medium/3ba5c1805ec20c000d5810c07985afe9.jpg"},{"username":"ktKongTong","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14817246/medium/97cfc3c028dbdaf85ebd1102da71e58c.jpeg"},{"username":"marinkaberg","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14861042/medium/2d5c4e62613f03082f3e645fa92efd59.jpeg"},{"username":"djismgaming","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14934947/medium/f5a8570713c34ab0f7d5405d105e2a9a.jpeg"},{"username":"f1refa11","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14949159/medium/fd2ae63b8eb4462200ba96abf943c1b9.png"},{"username":"jeffersonraimon","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15057621/medium/6dff469563860e2618bc9d45646d0ab4.png"},{"username":"giop98","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15057987/medium/b8a4825d3fc39fc662f35ee258db4b2d.jpeg"},{"username":"tomislav.kraljevic","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15118857/medium/e133f1061cc92850b854d05d8faaeafd.png"},{"username":"Walkx","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15202182/medium/5c37361ae45aeed487b34582c1f7ca37.png"},{"username":"andrea.rosso","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15246318/medium/11f3f5ef44ec7f55b6f143090e208704_default.png"},{"username":"ajnart","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15270132/medium/a0f107a463c8910ee96bc2fa843a17e3.jpeg"},{"username":"Witchling","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15282238/medium/9e196b6783415b10ca571b7673c2ef33.jpg"},{"username":"guineuu","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15292058/medium/22fbb758bda3b7805d50bf21d38f2c20.jpeg"},{"username":"Bulgus","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15304568/medium/0e8787e5ceb02ed5c96a514d0068ae87.jpg"},{"username":"Narno","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15314996/medium/a6ba093f24884250a1bf6c6f2ca50f1b_default.png"},{"username":"BySempron","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15315986/medium/e3d22d7b1423c6823a9f36d595ed4bdb.png"},{"username":"jonathan.berglin.work","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15359236/medium/95930b2093db13b76179782f7322c5d5.png"},{"username":"icdmkg","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15405504/medium/f334d16cde1ac4ffb935b440d03465af.gif"},{"username":"irithys","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15405614/medium/3086461c47cce0a0c031925e5f943412.png"},{"username":"JannesV","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15419912/medium/a7809eb4b817d7c49b62cf10ae86b950.png"},{"username":"benniblot","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15419914/medium/8086b1573d31f152ba41949b3a172445.jpeg"},{"username":"pacjo","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15419916/medium/3cbeddbd7bc01faafb5a3bf47bba915b_default.png"},{"username":"Payou6994","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15419934/medium/37c9b9b17dfb578404c1c1ddb73ba7a8.png"},{"username":"fzibi21","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15419976/medium/0da688450358e0290a7b7359cc1f7328.png"},{"username":"WowMurdock","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15420118/medium/de19576fccb495b6dfe4c4c04a56b834.png"},{"username":"hbooo","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15420120/medium/6c7c7f8db785061356ebb03d044d3329.jpeg"},{"username":"Manicraft1001","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15420178/medium/50ec94563a06a9f74f33bd09f01eed4d.jpg"},{"username":"Void123","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15420354/medium/86929d44df92a00f9fe900a985c196df_default.png"},{"username":"R4cc","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15422606/medium/a390979662b84694f59de30bdb732141.jpeg"},{"username":"fabricionaweb","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15425808/medium/a9354142e7ae5152c144409d55fda551_default.png"},{"username":"JokeOfDead","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15426890/medium/a383eac9365e9de64fd4ab1d6fd0cb95.jpeg"},{"username":"hkz","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15427174/medium/c88acefb0d7306e1f7470e872029fb39_default.png"},{"username":"Steken","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15428516/medium/d5aea5653c769c3a523182bdb60d1664.png"},{"username":"flar.anton","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15428592/medium/b01fdb365d892e9f811f77fcb50a80a2.jpeg"},{"username":"Bon","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15433542/medium/5397da4dfc821f20b6ac14fe0c514e9a.jpeg"},{"username":"bfkadan","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15434162/medium/4f9a0b43cfe3acaea60124c14ba7f44a.png"},{"username":"BunnySweety","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15434662/medium/f0ef200a6a0dcf0e1d0e9ecd4148f560_default.png"},{"username":"HRKings","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15436168/medium/69a31e461d38549f01864e7ef10d642e.png"},{"username":"wiston81","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15439078/medium/10f292c8d12a7c21a44b54495fa4a3d8.jpeg"},{"username":"qaz0911","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15440860/medium/3d3e50ee388c72dc4bf7a771761f2d89_default.png"},{"username":"qqyule","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15441462/medium/7a3cdf82710ffb5d8f388bc0bd010665.png"},{"username":"Bims0n","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15445560/medium/603220b603eeb3367e0f0d3fa675247c.jpg"},{"username":"TariqDaCoder","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15446228/medium/50b0f4040112bbd67690b769477398e5_default.png"},{"username":"Anarchon","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15449644/medium/e925e1f3e3ffbf0f982391ce263a1a28.jpeg"},{"username":"Ashun","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15453020/medium/ccdcf51c73d6aae40751bb30beee1915_default.png"},{"username":"sebekmartin","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15454038/medium/bcfb44598cdfd1d7cd4eb35812538962.jpeg"},{"username":"RagnarGraves","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15459882/medium/143d5af850c1154070a218bea124e9cb_default.png"},{"username":"PrtmPhlp","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15462414/medium/b80db55e9de301432dcd1f8c8b24fd49_default.png"},{"username":"DooYoo","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15470768/medium/2a18cf4be67094724b508c9e1e698a21_default.png"},{"username":"espentruls","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15486092/medium/8e38afc3a4ff669226a0cfd3e420ff3a.jpeg"},{"username":"frisco82","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15486922/medium/4e1c5d4189b42508e660daa3c1c25b2a.jpeg"},{"username":"lupineDK","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15491798/medium/461bd501e8371c062bf29ea171aedd36_default.png"},{"username":"hillaliy","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15492732/medium/0bae17b421604892d888e3fc70cf0587.jpeg"},{"username":"MarcOrfilaCarreras","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15501072/medium/ea52b26c3c6f21e4931e38e3ce3f3d6e.png"},{"username":"robertbridda","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15507822/medium/a368c2e30411bb2da9b49290084191f3.png"},{"username":"MKoniuszko","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15518090/medium/87605434fcc839f6763ab07c50f6d232.jpeg"},{"username":"HeroSizy","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15518710/medium/4e79c0e98cbeb536dd961e656331b509.png"},{"username":"dwt136","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15520022/medium/554422503f2baea43ace85facb4546fb_default.png"},{"username":"asifthewebguy","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15526719/medium/b18931dd0c800d725048bd440646198b_default.png"},{"username":"eiloogs","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15545537/medium/f290a2f1190983530a9b76b2e858a609.gif"},{"username":"_vytdv","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15547289/medium/60d8644cc8ad6f11a92ccea4a14cd098_default.png"},{"username":"crendasien","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15554645/medium/598ab1d4aaf6b8dccd5ba16be92da7b9.jpeg"},{"username":"edxo","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15573823/medium/8a565b732a75a77f840dd123cdb30bf4.png"},{"username":"somerlev","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15617065/medium/f4b13513e311ec902d90b2f718412c55.jpg"},{"username":"kid1412621","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15643771/medium/dd455e32de652fa88e6fd97598bdffa7.png"},{"username":"suming","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15644717/medium/244159dfe10fa03436205506f80c9e25.png"},{"username":"nick.gher","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15647517/medium/5374a2c6fef60a3fbf0edf86b997c351_default.png"},{"username":"DataCat","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15650315/medium/ce7c1365adf35c5d490d77500a4607fb_default.png"},{"username":"dizo89","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15658375/medium/0ca745e5017d491fe1b22b0239904de8.jpeg"},{"username":"tee_noodle","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15674577/medium/804d9cf06f5196026acb6436b809d0da_default.png"},{"username":"Marty88","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15674593/medium/492b1509d52bd2809dea768121217125.jpeg"},{"username":"Spillebulle","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15677023/medium/20b98bb85062e07afe0e63618f8a5feb.PNG"},{"username":"petitmewen","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15685239/medium/15de9b62d2e0bc25013435f1784bbcc1.jpeg"},{"username":"NoProsNoNoobs","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15687709/medium/ae8f65fafeb8bcf74dcb8871bbe46461.png"},{"username":"y.gybson","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15690777/medium/b5cb5d2d5768904ff6586c727e3a6c77.jpeg"},{"username":"inside90","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15704947/medium/c1355fcb30dd76f8e39d98d1d49f1c52.png"},{"username":"RJSkudra","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15709853/medium/c3abf2774913dc4e81fb261d36d7668c.png"},{"username":"binge203","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15713937/medium/77c1cfa4314673db80e6881fd9f64668.gif"},{"username":"Mailootje","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15714337/medium/743c3bc4ab1989966a375eeeec83d8b8.jpeg"},{"username":"tim-wiegers","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15719805/medium/08a96f064813350661cd6b20bf3d7d99.png"},{"username":"GkhnG","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15722911/medium/71a027caec489ef6ce82bcf1888329d0_default.png"},{"username":"Zoen-Millo","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15760967/medium/9e956f11adc5b34f5636268b5c485dbf.jpg"},{"username":"HooinKyoma","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15792897/medium/9489f0a9b368e0e827ae758b740a2eed.jpeg"},{"username":"wathergeen","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15794495/medium/a83b7fc80d180669ebfd6deb3544cfd0.png"},{"username":"MoeToo","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15818233/medium/d35cd6953717706eaf20f6c143c62947.png"},{"username":"itodouble","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15836233/medium/e984caea18fb0673bf319fcf28cef649.png"},{"username":"loslocitos","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15847901/medium/fe30d12fd2cf38212f929e13b169f9ec.jpeg"},{"username":"Oversleep","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15849065/medium/06141f13a6d541d753f3c2f2947b8068_default.png"},{"username":"Beardy","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15865139/medium/fca6b9d2b3f52e286d1568f52b83b6a0_default.png"},{"username":"raelyan","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15875457/medium/2f4fda1d1aaa5dcc79b328baf3f03151.jpeg"},{"username":"dolphin738","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15913763/medium/ee6fede7b8528ca642329ada80d1cc18.png"},{"username":"brunotco","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15916719/medium/09db45880fc05abc18adb8d932a5ecf9_default.png"},{"username":"LukeIsHereToDevelop","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15924739/medium/3e6cd3940297bb4ba7bb039c93e6f918.png"},{"username":"kennit","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15925879/medium/6b0733ad3c5949b91c55e4d8b03db8a5_default.png"},{"username":"kuunpire","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15950309/medium/8192a4f08f07086828ac9f74ed29a169.jpeg"},{"username":"Sandor-dev","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15951759/medium/0216c2da4eb028164ebbecf1c72f6271_default.png"},{"username":"Meierschlumpf","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15953187/medium/23c744faef1ab84fbdc9351a7850aab6.jpeg"},{"username":"harmlesscat","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15970733/medium/dd8d0214a0250c932bb518b1b55e45a2_default.png"},{"username":"OrzWTF","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15976121/medium/4c4557cbff7ff7b0503455bc59c020e0.jpeg"},{"username":"tagaishi","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15977271/medium/eade504c83a5a1ff831c80a538fbdb44_default.png"},{"username":"azurite928","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15981895/medium/547ccc459ee123e78b5401c499f1022d.png"},{"username":"Ronner231","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16021342/medium/7734d550df2de5a2fec2ffff33e7024c.jpeg"},{"username":"ugyes","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16034148/medium/ed001e3f470a2dea9a8ce955b18e7bd5.png"},{"username":"rpieja","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16045554/medium/bd55baca2ef8b92502a760cc9ee7c505_default.png"},{"username":"flambyisyou","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16051620/medium/3a3bc0c90f6b95ab4ef74396a0a17beb.png"},{"username":"Topbcy","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16077170/medium/d3aed33ea56330338756cfcd89477cfe.jpeg"},{"username":"ai5d02sb","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16084674/medium/7c8119fe2a5ca71bb15f636916a42b95_default.png"},{"username":"explosiveparrot","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16097722/medium/7762f80fc1da63f5b2eb87de9d640324_default.png"},{"username":"DestroyCom","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16111544/medium/83e3d3ac5c8bfed634cd1a074854db67.png"},{"username":"neotraxo","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16116966/medium/b30df957873329019a8a90a69f6efe3a.png"},{"username":"gzxpa","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16123314/medium/487b05577310a946b0b98bc72c11213b_default.png"},{"username":"TORIK","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16124732/medium/de770890e6411860ac06e8cc2dc0abd0_default.png"},{"username":"sergio.pibot","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16138114/medium/80db802b2fcd6bbf19ea4c7413367dca.jpeg"},{"username":"karam-ajaj","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16139838/medium/7539ab958d3c85d5f67e7849483ea8f7.jpeg"},{"username":"SimonHenz97","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16151520/medium/9b94a85b536688e2d94538c384fd0a76.png"},{"username":"olsson82","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16198988/medium/eeaab4cba210c537424d4204754b604e.png"},{"username":"bo3bdo","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16222806/medium/8652f3beacb6098dde5a4cd0a29fe80d.jpeg"},{"username":"AngryPlayer04","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16245192/medium/342715274f4dc31fd4132cdae9126188.jpeg"},{"username":"ehatamm","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16245884/medium/979d5e5526fe545be9bf46db481f7182.jpeg"},{"username":"Balionelis","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16246058/medium/986d62ba363594c517d966fe9178dcbb.png"},{"username":"kwargs","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16248816/medium/19ce11f04bf1ae2637e0483399c675f9_default.png"},{"username":"lucicu","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16273892/medium/3b09e8f3bead221ef98d6a45a16851dc_default.png"},{"username":"Michael5564445","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16357688/medium/9d9026a8bf3eaccb0417da240932ebf7.png"},{"username":"Netscream","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16359198/medium/694e0c8572dc8a47e6d63da31ec5b992.png"},{"username":"belicstefan04","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16368142/medium/4742dcfd7bf7ad7e33e37ac44fba7e0f.png"},{"username":"Hamad2066","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16371478/medium/f37bbc7685b6757defdbd1494236af61.jpeg"},{"username":"3ct0pl4sm","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16399616/medium/ce796d1c40163975624c0a483e56374f.png"},{"username":"sanchez.marcell626","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16433865/medium/3ddde1314764cc2205ffdcd1ae719a91.png"},{"username":"Minoctis","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16490079/medium/91fd0849303a4eca033d660d0a7b6854.jpeg"},{"username":"vittoriosoccorso","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16498805/medium/17086b2f1981f734edd1572f79c3158a.jpeg"},{"username":"Worgen325","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16533177/medium/4a62cc6b06095751aeb4b1b3e96db93f.png"},{"username":"homarr","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16657003/medium/3afabfd3de949a54ff5d40ad04552aba.png"},{"username":"mwgg","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16658379/medium/763dd09f5c238cc5324d4d5357985292.png"},{"username":"kiwinho","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16671855/medium/bfe3a2d497dc4748a04d02e4ae2139cb.jpeg"},{"username":"tjvg4m34r13","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16679135/medium/7a483b9b0abe0d925e54808e1cb38fa0.jpeg"},{"username":"Diegoem","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16705921/medium/29ce68ebc191fc3f65499511b12de98f_default.png"},{"username":"bouks69","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16746091/medium/b58b1fc08520de416198be9df5d093eb.jpeg"},{"username":"futhgar","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16748067/medium/b8c526b097f9aa9d687250cac3df16dc.jpeg"},{"username":"GrimSQL","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16764343/medium/fff729a76d1f8fbcdaee9bb0c0f5f3fd.png"},{"username":"chnikel","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16767047/medium/3dda2a37e03049dafefe6697bb00f75c.png"},{"username":"yuki19870616","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16767951/medium/f59c848e38382cda6c8464b0a7b9e642_default.png"},{"username":"noamdal","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16782245/medium/b4a72a61f9caf138f0322c0cb987e6d0.png"},{"username":"MalithRukshan","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16809057/medium/084d6a5b35fbbeacc70e7021197d222f.png"},{"username":"minirope19","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16930929/medium/e8cbbc26747e31c5a8959215e1dd067b.jpeg"},{"username":"toineenzo","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/12371852/medium/9f1b2bedb4794c59479cd289bdba9fab.png"},{"username":"ArcaneWater","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/12421105/medium/1ac82517a6c658f6b62c48aebcb17e86_default.png"},{"username":"Ebedami","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/12974801/medium/b596dea5c09454c4c828eac558389755.jpg"},{"username":"SergiSvK","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13320543/medium/3df3c79cc5f0c53716c559cd3fd2fc20.png"},{"username":"jeongeon","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13362856/medium/eb572f72cde5e5526c517ca3a6489850_default.png"},{"username":"MrTranCFCVN","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13439475/medium/a1789d69c85d90c667194b5d6a518c08_default.png"},{"username":"Cruellest","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13610615/medium/2a74faa0947ee08d18f7946fb8602c1e.jpg"},{"username":"Thario","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14491372/medium/dd5e142070802a672900121aa3f332a6_default.png"},{"username":"Kachelkaiser","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14763406/medium/203a781797da4a18fe0f4e7db8fd547c.png"},{"username":"regi4","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14842936/medium/f7e1d672f562a7db61ba6b4b8f4de41d.png"},{"username":"baton5129","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14891064/medium/8d438f557b82977dd02f0ead3187265f.PNG"},{"username":"TheRedCyclops","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16486399/medium/7f39226180120d5a9efcb8e13d8aec8e_default.png"},{"username":"dymek37","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16659221/medium/d1dc6d11d7e7fc370efc5070e837ae03.png"},{"username":"B3CKDOOR","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16744975/medium/e6c7b2d45e76465d54e6efb67c83da7d.png"},{"username":"Larsluph","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16779933/medium/ed7d36f8b44013bad3a16ac0491bd0f7.png"},{"username":"FOEDI","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16781001/medium/6b4552fb72e359aa016f7a054078fac8.png"},{"username":"xmarkurion","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16805443/medium/34a20428427de5aaef99c7d140646803.png"},{"username":"gregid","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16806705/medium/f3c8f4a20436e8538929130142bbc104.png"},{"username":"Flameberg","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16820453/medium/d47be866148474c9d05fec6fbe406d88.png"},{"username":"Playfust","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16872865/medium/5f4609cc711e5fb9fa8a0b178635769c.jpeg"},{"username":"Cotignac","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16879297/medium/81ff353edf030699a159bb79cda26e84.jpg"},{"username":"LeaHun","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16916375/medium/618520f0543b1e212ebc83d66b683d4b_default.png"},{"username":"jackwellerreal","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16919717/medium/37bbfdc03893f141133ccc619593266d.png"},{"username":"andrius.cim","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16967845/medium/46028fc1a0ddfaaeebcb37b39739625d_default.png"},{"username":"xjxexrxrxyx","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17041412/medium/d34d664166db6fb25579bca9ff3b50b4.jpeg"},{"username":"bilhal.fellah","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17044572/medium/d1ec6f17e4aa013e9eededc83778d2c6.png"},{"username":"the_octo","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17058060/medium/7423ab3a4cabb67f5decb2e2dfa2b675_default.png"},{"username":"BamesJond","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17075846/medium/128d7ffd40254c8e376f45678e2fc620_default.png"},{"username":"Kornikus","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17134240/medium/d7a42b2c30db46ff152699ca01f9e11a_default.png"},{"username":"xoxyuxu","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17176526/medium/108055aa24343043de852e412bec74be.png"},{"username":"cryptodntsleep","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17249408/medium/b9e15aa2b24a0dbc1e4f194aa8ed5109.png"},{"username":"yaniorg","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17261842/medium/7dbfc77f21c826845961243c44540d26.jpg"},{"username":"Vidariondr","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17262438/medium/45fbc71be02ef27296b6f423e97b6a03_default.png"},{"username":"Fastery","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17263066/medium/701b0edc59676174863ad651528bbb37.jpeg"},{"username":"stratself","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17290388/medium/57d9d8161b3fd0abf4dc5558b4a1fa05_default.png"},{"username":"wuzeqin","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17292606/medium/b9e0308410b31337e2d7aa6ed346d718_default.png"},{"username":"ChristopherBull","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17304338/medium/21a175ce596bfae81430767467908b90.jpeg"}]
\ No newline at end of file
+[{"username":"carlchina","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/6697/medium/d22bbe7797bbeb30dbdc73a5648d329a_default.png"},{"username":"zielmann","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/7795/medium/ad22b8b8d5eb33e4154d53a454c862fd_default.png"},{"username":"Thalyn","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/12494028/medium/5faf5acc945a874ed116c4567edaa09f_default.png"},{"username":"magnushj","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/12503488/medium/68f32e33ea7b891960055c9f831f7344_default.png"},{"username":"almontegil","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/12580457/medium/f4136cacbdfdb4c28ae7f85dc5f840db_default.png"},{"username":"Skick","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/12619811/medium/0331f1de413a645b4516bc4e037f31bb.jpg"},{"username":"andibing","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/12664938/medium/b8be63e4dcb2e791ced1ffc9e3a049a5.jpg"},{"username":"gronare","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/12680911/medium/c6eb14d1504156f34a158e507f73aa3d_default.png"},{"username":"SmartPhoneLover","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/12701640/medium/ec95486662ec875cda080e778c3ff702.jpg"},{"username":"marcelotk_15","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/12773227/medium/ecf6bea16ab0c873c131df2154ee9718_default.png"},{"username":"S3OD177","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13051544/medium/11dd990837f61f7e8f7d36b041a7fddb_default.png"},{"username":"marcg","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13153301/medium/ebcf60fbf27deb148ec40a659566c6ff_default.png"},{"username":"BeersTeddy","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13185230/medium/2f1f4e1effe74a23422b195cbefb2a95_default.png"},{"username":"jamesmcmahon0","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13245578/medium/586aa873b4abddbd9abc6f3de99ab70e.jpeg"},{"username":"b1nar10","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13286752/medium/249b02e3368752cb175446082015737c_default.png"},{"username":"vannCN","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13330448/medium/9b8a9ee3611e51e951e22d5fd4eb7d8d.jpg"},{"username":"binswm","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13343482/medium/45dde0e6097b9b72705d2eba9dbbc276_default.png"},{"username":"SkewRam","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13496556/medium/188f5c2deb7938eda51eb786cc4539ca.jpeg"},{"username":"raphcatarino","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13547726/medium/b003511e67df13a4b4b5689488fa8099.jpg"},{"username":"shillos5","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13600557/medium/b17650b2b84f829d54fa548c44c1ab27.jpeg"},{"username":"wolong98","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13641407/medium/f4634edc58c7857a357e5293543c15cf.jpg"},{"username":"spair0039","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14012333/medium/72430e96027c09c19141cac38eae4617.png"},{"username":"MajorMarcin","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14072183/medium/0a197e64bb92b6ea94cecbb607512c45.jpg"},{"username":"KosmoMoustache","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14103535/medium/51c438cdd9f86e8811c75f4869de479c.png"},{"username":"Soochaehwa","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14118689/medium/496a1ce63111547bf455a1e0a7ac75f1_default.png"},{"username":"garryfield","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14187035/medium/520c964706676045f6eeec1b08edc880.jpg"},{"username":"droidenko","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14444264/medium/4aa3a8e824f72bc9e5ec0d8de307095e.jpeg"},{"username":"maathis","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14489950/medium/6eeddf13a757ee35f78f1763f94d95e1.jpeg"},{"username":"bukvam","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14546502/medium/a819dc40a13c57395a17dc46e847d3ce.jpg"},{"username":"gm.cinalli","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14670666/medium/2d466a0fdbda40764526be86c97c0ab4.jpeg"},{"username":"antoine2tt","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14722148/medium/f88d926900862dd59007ea4b3419cb9d.png"},{"username":"cretzen","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14799754/medium/3ba5c1805ec20c000d5810c07985afe9.jpg"},{"username":"ktKongTong","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14817246/medium/97cfc3c028dbdaf85ebd1102da71e58c.jpeg"},{"username":"marinkaberg","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14861042/medium/2d5c4e62613f03082f3e645fa92efd59.jpeg"},{"username":"djismgaming","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14934947/medium/f5a8570713c34ab0f7d5405d105e2a9a.jpeg"},{"username":"f1refa11","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14949159/medium/fd2ae63b8eb4462200ba96abf943c1b9.png"},{"username":"jeffersonraimon","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15057621/medium/6dff469563860e2618bc9d45646d0ab4.png"},{"username":"giop98","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15057987/medium/b8a4825d3fc39fc662f35ee258db4b2d.jpeg"},{"username":"tomislav.kraljevic","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15118857/medium/e133f1061cc92850b854d05d8faaeafd.png"},{"username":"Walkx","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15202182/medium/5c37361ae45aeed487b34582c1f7ca37.png"},{"username":"andrea.rosso","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15246318/medium/11f3f5ef44ec7f55b6f143090e208704_default.png"},{"username":"ajnart","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15270132/medium/a0f107a463c8910ee96bc2fa843a17e3.jpeg"},{"username":"Witchling","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15282238/medium/9e196b6783415b10ca571b7673c2ef33.jpg"},{"username":"guineuu","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15292058/medium/22fbb758bda3b7805d50bf21d38f2c20.jpeg"},{"username":"Bulgus","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15304568/medium/0e8787e5ceb02ed5c96a514d0068ae87.jpg"},{"username":"Narno","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15314996/medium/a6ba093f24884250a1bf6c6f2ca50f1b_default.png"},{"username":"BySempron","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15315986/medium/e3d22d7b1423c6823a9f36d595ed4bdb.png"},{"username":"jonathan.berglin.work","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15359236/medium/95930b2093db13b76179782f7322c5d5.png"},{"username":"icdmkg","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15405504/medium/f334d16cde1ac4ffb935b440d03465af.gif"},{"username":"irithys","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15405614/medium/3086461c47cce0a0c031925e5f943412.png"},{"username":"JannesV","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15419912/medium/a7809eb4b817d7c49b62cf10ae86b950.png"},{"username":"benniblot","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15419914/medium/8086b1573d31f152ba41949b3a172445.jpeg"},{"username":"pacjo","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15419916/medium/3cbeddbd7bc01faafb5a3bf47bba915b_default.png"},{"username":"Payou6994","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15419934/medium/37c9b9b17dfb578404c1c1ddb73ba7a8.png"},{"username":"fzibi21","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15419976/medium/0da688450358e0290a7b7359cc1f7328.png"},{"username":"WowMurdock","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15420118/medium/de19576fccb495b6dfe4c4c04a56b834.png"},{"username":"hbooo","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15420120/medium/6c7c7f8db785061356ebb03d044d3329.jpeg"},{"username":"Manicraft1001","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15420178/medium/50ec94563a06a9f74f33bd09f01eed4d.jpg"},{"username":"Void123","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15420354/medium/86929d44df92a00f9fe900a985c196df_default.png"},{"username":"R4cc","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15422606/medium/a390979662b84694f59de30bdb732141.jpeg"},{"username":"fabricionaweb","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15425808/medium/a9354142e7ae5152c144409d55fda551_default.png"},{"username":"JokeOfDead","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15426890/medium/a383eac9365e9de64fd4ab1d6fd0cb95.jpeg"},{"username":"hkz","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15427174/medium/c88acefb0d7306e1f7470e872029fb39_default.png"},{"username":"Steken","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15428516/medium/d5aea5653c769c3a523182bdb60d1664.png"},{"username":"flar.anton","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15428592/medium/b01fdb365d892e9f811f77fcb50a80a2.jpeg"},{"username":"Bon","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15433542/medium/5397da4dfc821f20b6ac14fe0c514e9a.jpeg"},{"username":"bfkadan","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15434162/medium/4f9a0b43cfe3acaea60124c14ba7f44a.png"},{"username":"BunnySweety","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15434662/medium/f0ef200a6a0dcf0e1d0e9ecd4148f560_default.png"},{"username":"HRKings","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15436168/medium/69a31e461d38549f01864e7ef10d642e.png"},{"username":"wiston81","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15439078/medium/10f292c8d12a7c21a44b54495fa4a3d8.jpeg"},{"username":"qaz0911","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15440860/medium/3d3e50ee388c72dc4bf7a771761f2d89_default.png"},{"username":"qqyule","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15441462/medium/7a3cdf82710ffb5d8f388bc0bd010665.png"},{"username":"Bims0n","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15445560/medium/603220b603eeb3367e0f0d3fa675247c.jpg"},{"username":"TariqDaCoder","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15446228/medium/50b0f4040112bbd67690b769477398e5_default.png"},{"username":"Anarchon","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15449644/medium/e925e1f3e3ffbf0f982391ce263a1a28.jpeg"},{"username":"Ashun","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15453020/medium/ccdcf51c73d6aae40751bb30beee1915_default.png"},{"username":"sebekmartin","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15454038/medium/bcfb44598cdfd1d7cd4eb35812538962.jpeg"},{"username":"RagnarGraves","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15459882/medium/143d5af850c1154070a218bea124e9cb_default.png"},{"username":"PrtmPhlp","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15462414/medium/b80db55e9de301432dcd1f8c8b24fd49_default.png"},{"username":"DooYoo","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15470768/medium/2a18cf4be67094724b508c9e1e698a21_default.png"},{"username":"espentruls","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15486092/medium/8e38afc3a4ff669226a0cfd3e420ff3a.jpeg"},{"username":"frisco82","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15486922/medium/4e1c5d4189b42508e660daa3c1c25b2a.jpeg"},{"username":"lupineDK","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15491798/medium/461bd501e8371c062bf29ea171aedd36_default.png"},{"username":"hillaliy","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15492732/medium/0bae17b421604892d888e3fc70cf0587.jpeg"},{"username":"MarcOrfilaCarreras","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15501072/medium/ea52b26c3c6f21e4931e38e3ce3f3d6e.png"},{"username":"robertbridda","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15507822/medium/a368c2e30411bb2da9b49290084191f3.png"},{"username":"MKoniuszko","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15518090/medium/87605434fcc839f6763ab07c50f6d232.jpeg"},{"username":"HeroSizy","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15518710/medium/4e79c0e98cbeb536dd961e656331b509.png"},{"username":"dwt136","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15520022/medium/554422503f2baea43ace85facb4546fb_default.png"},{"username":"asifthewebguy","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15526719/medium/b18931dd0c800d725048bd440646198b_default.png"},{"username":"eiloogs","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15545537/medium/f290a2f1190983530a9b76b2e858a609.gif"},{"username":"_vytdv","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15547289/medium/60d8644cc8ad6f11a92ccea4a14cd098_default.png"},{"username":"crendasien","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15554645/medium/598ab1d4aaf6b8dccd5ba16be92da7b9.jpeg"},{"username":"edxo","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15573823/medium/8a565b732a75a77f840dd123cdb30bf4.png"},{"username":"somerlev","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15617065/medium/f4b13513e311ec902d90b2f718412c55.jpg"},{"username":"kid1412621","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15643771/medium/dd455e32de652fa88e6fd97598bdffa7.png"},{"username":"suming","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15644717/medium/244159dfe10fa03436205506f80c9e25.png"},{"username":"nick.gher","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15647517/medium/5374a2c6fef60a3fbf0edf86b997c351_default.png"},{"username":"DataCat","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15650315/medium/ce7c1365adf35c5d490d77500a4607fb_default.png"},{"username":"dizo89","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15658375/medium/0ca745e5017d491fe1b22b0239904de8.jpeg"},{"username":"tee_noodle","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15674577/medium/804d9cf06f5196026acb6436b809d0da_default.png"},{"username":"Marty88","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15674593/medium/492b1509d52bd2809dea768121217125.jpeg"},{"username":"Spillebulle","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15677023/medium/20b98bb85062e07afe0e63618f8a5feb.PNG"},{"username":"petitmewen","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15685239/medium/15de9b62d2e0bc25013435f1784bbcc1.jpeg"},{"username":"NoProsNoNoobs","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15687709/medium/ae8f65fafeb8bcf74dcb8871bbe46461.png"},{"username":"y.gybson","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15690777/medium/b5cb5d2d5768904ff6586c727e3a6c77.jpeg"},{"username":"inside90","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15704947/medium/c1355fcb30dd76f8e39d98d1d49f1c52.png"},{"username":"RJSkudra","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15709853/medium/c3abf2774913dc4e81fb261d36d7668c.png"},{"username":"binge203","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15713937/medium/77c1cfa4314673db80e6881fd9f64668.gif"},{"username":"Mailootje","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15714337/medium/743c3bc4ab1989966a375eeeec83d8b8.jpeg"},{"username":"tim-wiegers","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15719805/medium/08a96f064813350661cd6b20bf3d7d99.png"},{"username":"GkhnG","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15722911/medium/71a027caec489ef6ce82bcf1888329d0_default.png"},{"username":"Zoen-Millo","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15760967/medium/9e956f11adc5b34f5636268b5c485dbf.jpg"},{"username":"HooinKyoma","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15792897/medium/9489f0a9b368e0e827ae758b740a2eed.jpeg"},{"username":"wathergeen","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15794495/medium/a83b7fc80d180669ebfd6deb3544cfd0.png"},{"username":"MoeToo","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15818233/medium/d35cd6953717706eaf20f6c143c62947.png"},{"username":"itodouble","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15836233/medium/e984caea18fb0673bf319fcf28cef649.png"},{"username":"loslocitos","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15847901/medium/fe30d12fd2cf38212f929e13b169f9ec.jpeg"},{"username":"Oversleep","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15849065/medium/06141f13a6d541d753f3c2f2947b8068_default.png"},{"username":"Beardy","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15865139/medium/fca6b9d2b3f52e286d1568f52b83b6a0_default.png"},{"username":"raelyan","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15875457/medium/2f4fda1d1aaa5dcc79b328baf3f03151.jpeg"},{"username":"dolphin738","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15913763/medium/ee6fede7b8528ca642329ada80d1cc18.png"},{"username":"brunotco","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15916719/medium/09db45880fc05abc18adb8d932a5ecf9_default.png"},{"username":"LukeIsHereToDevelop","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15924739/medium/3e6cd3940297bb4ba7bb039c93e6f918.png"},{"username":"kennit","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15925879/medium/6b0733ad3c5949b91c55e4d8b03db8a5_default.png"},{"username":"kuunpire","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15950309/medium/8192a4f08f07086828ac9f74ed29a169.jpeg"},{"username":"Sandor-dev","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15951759/medium/0216c2da4eb028164ebbecf1c72f6271_default.png"},{"username":"Meierschlumpf","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15953187/medium/23c744faef1ab84fbdc9351a7850aab6.jpeg"},{"username":"harmlesscat","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15970733/medium/dd8d0214a0250c932bb518b1b55e45a2_default.png"},{"username":"OrzWTF","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15976121/medium/4c4557cbff7ff7b0503455bc59c020e0.jpeg"},{"username":"tagaishi","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15977271/medium/eade504c83a5a1ff831c80a538fbdb44_default.png"},{"username":"azurite928","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/15981895/medium/547ccc459ee123e78b5401c499f1022d.png"},{"username":"Ronner231","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16021342/medium/7734d550df2de5a2fec2ffff33e7024c.jpeg"},{"username":"ugyes","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16034148/medium/ed001e3f470a2dea9a8ce955b18e7bd5.png"},{"username":"rpieja","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16045554/medium/bd55baca2ef8b92502a760cc9ee7c505_default.png"},{"username":"flambyisyou","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16051620/medium/3a3bc0c90f6b95ab4ef74396a0a17beb.png"},{"username":"Topbcy","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16077170/medium/d3aed33ea56330338756cfcd89477cfe.jpeg"},{"username":"ai5d02sb","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16084674/medium/7c8119fe2a5ca71bb15f636916a42b95_default.png"},{"username":"explosiveparrot","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16097722/medium/7762f80fc1da63f5b2eb87de9d640324_default.png"},{"username":"DestroyCom","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16111544/medium/83e3d3ac5c8bfed634cd1a074854db67.png"},{"username":"neotraxo","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16116966/medium/b30df957873329019a8a90a69f6efe3a.png"},{"username":"gzxpa","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16123314/medium/487b05577310a946b0b98bc72c11213b_default.png"},{"username":"TORIK","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16124732/medium/de770890e6411860ac06e8cc2dc0abd0_default.png"},{"username":"sergio.pibot","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16138114/medium/80db802b2fcd6bbf19ea4c7413367dca.jpeg"},{"username":"karam-ajaj","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16139838/medium/7539ab958d3c85d5f67e7849483ea8f7.jpeg"},{"username":"SimonHenz97","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16151520/medium/9b94a85b536688e2d94538c384fd0a76.png"},{"username":"olsson82","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16198988/medium/eeaab4cba210c537424d4204754b604e.png"},{"username":"bo3bdo","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16222806/medium/8652f3beacb6098dde5a4cd0a29fe80d.jpeg"},{"username":"AngryPlayer04","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16245192/medium/342715274f4dc31fd4132cdae9126188.jpeg"},{"username":"ehatamm","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16245884/medium/979d5e5526fe545be9bf46db481f7182.jpeg"},{"username":"Balionelis","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16246058/medium/986d62ba363594c517d966fe9178dcbb.png"},{"username":"kwargs","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16248816/medium/19ce11f04bf1ae2637e0483399c675f9_default.png"},{"username":"lucicu","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16273892/medium/3b09e8f3bead221ef98d6a45a16851dc_default.png"},{"username":"Michael5564445","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16357688/medium/9d9026a8bf3eaccb0417da240932ebf7.png"},{"username":"Netscream","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16359198/medium/694e0c8572dc8a47e6d63da31ec5b992.png"},{"username":"belicstefan04","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16368142/medium/4742dcfd7bf7ad7e33e37ac44fba7e0f.png"},{"username":"Hamad2066","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16371478/medium/f37bbc7685b6757defdbd1494236af61.jpeg"},{"username":"3ct0pl4sm","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16399616/medium/ce796d1c40163975624c0a483e56374f.png"},{"username":"sanchez.marcell626","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16433865/medium/3ddde1314764cc2205ffdcd1ae719a91.png"},{"username":"Minoctis","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16490079/medium/91fd0849303a4eca033d660d0a7b6854.jpeg"},{"username":"vittoriosoccorso","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16498805/medium/17086b2f1981f734edd1572f79c3158a.jpeg"},{"username":"Worgen325","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16533177/medium/4a62cc6b06095751aeb4b1b3e96db93f.png"},{"username":"homarr","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16657003/medium/3afabfd3de949a54ff5d40ad04552aba.png"},{"username":"mwgg","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16658379/medium/763dd09f5c238cc5324d4d5357985292.png"},{"username":"kiwinho","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16671855/medium/bfe3a2d497dc4748a04d02e4ae2139cb.jpeg"},{"username":"tjvg4m34r13","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16679135/medium/7a483b9b0abe0d925e54808e1cb38fa0.jpeg"},{"username":"Diegoem","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16705921/medium/29ce68ebc191fc3f65499511b12de98f_default.png"},{"username":"bouks69","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16746091/medium/b58b1fc08520de416198be9df5d093eb.jpeg"},{"username":"futhgar","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16748067/medium/b8c526b097f9aa9d687250cac3df16dc.jpeg"},{"username":"GrimSQL","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16764343/medium/fff729a76d1f8fbcdaee9bb0c0f5f3fd.png"},{"username":"chnikel","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16767047/medium/3dda2a37e03049dafefe6697bb00f75c.png"},{"username":"yuki19870616","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16767951/medium/f59c848e38382cda6c8464b0a7b9e642_default.png"},{"username":"noamdal","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16782245/medium/b4a72a61f9caf138f0322c0cb987e6d0.png"},{"username":"MalithRukshan","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16809057/medium/084d6a5b35fbbeacc70e7021197d222f.png"},{"username":"minirope19","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16930929/medium/e8cbbc26747e31c5a8959215e1dd067b.jpeg"},{"username":"toineenzo","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/12371852/medium/9f1b2bedb4794c59479cd289bdba9fab.png"},{"username":"ArcaneWater","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/12421105/medium/1ac82517a6c658f6b62c48aebcb17e86_default.png"},{"username":"Ebedami","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/12974801/medium/b596dea5c09454c4c828eac558389755.jpg"},{"username":"SergiSvK","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13320543/medium/3df3c79cc5f0c53716c559cd3fd2fc20.png"},{"username":"jeongeon","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13362856/medium/eb572f72cde5e5526c517ca3a6489850_default.png"},{"username":"MrTranCFCVN","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13439475/medium/a1789d69c85d90c667194b5d6a518c08_default.png"},{"username":"Cruellest","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13610615/medium/2a74faa0947ee08d18f7946fb8602c1e.jpg"},{"username":"Thario","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14491372/medium/dd5e142070802a672900121aa3f332a6_default.png"},{"username":"Kachelkaiser","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14763406/medium/203a781797da4a18fe0f4e7db8fd547c.png"},{"username":"regi4","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14842936/medium/f7e1d672f562a7db61ba6b4b8f4de41d.png"},{"username":"baton5129","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14891064/medium/8d438f557b82977dd02f0ead3187265f.PNG"},{"username":"TheRedCyclops","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16486399/medium/7f39226180120d5a9efcb8e13d8aec8e_default.png"},{"username":"dymek37","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16659221/medium/d1dc6d11d7e7fc370efc5070e837ae03.png"},{"username":"B3CKDOOR","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16744975/medium/e6c7b2d45e76465d54e6efb67c83da7d.png"},{"username":"Larsluph","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16779933/medium/ed7d36f8b44013bad3a16ac0491bd0f7.png"},{"username":"FOEDI","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16781001/medium/6b4552fb72e359aa016f7a054078fac8.png"},{"username":"xmarkurion","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16805443/medium/34a20428427de5aaef99c7d140646803.png"},{"username":"gregid","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16806705/medium/f3c8f4a20436e8538929130142bbc104.png"},{"username":"Flameberg","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16820453/medium/d47be866148474c9d05fec6fbe406d88.png"},{"username":"Playfust","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16872865/medium/5f4609cc711e5fb9fa8a0b178635769c.jpeg"},{"username":"Cotignac","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16879297/medium/81ff353edf030699a159bb79cda26e84.jpg"},{"username":"LeaHun","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16916375/medium/618520f0543b1e212ebc83d66b683d4b_default.png"},{"username":"jackwellerreal","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16919717/medium/37bbfdc03893f141133ccc619593266d.png"},{"username":"andrius.cim","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/16967845/medium/46028fc1a0ddfaaeebcb37b39739625d_default.png"},{"username":"xjxexrxrxyx","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17041412/medium/d34d664166db6fb25579bca9ff3b50b4.jpeg"},{"username":"bilhal.fellah","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17044572/medium/d1ec6f17e4aa013e9eededc83778d2c6.png"},{"username":"the_octo","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17058060/medium/7423ab3a4cabb67f5decb2e2dfa2b675_default.png"},{"username":"BamesJond","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17075846/medium/128d7ffd40254c8e376f45678e2fc620_default.png"},{"username":"Kornikus","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17134240/medium/d7a42b2c30db46ff152699ca01f9e11a_default.png"},{"username":"xoxyuxu","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17176526/medium/108055aa24343043de852e412bec74be.png"},{"username":"cryptodntsleep","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17249408/medium/b9e15aa2b24a0dbc1e4f194aa8ed5109.png"},{"username":"yaniorg","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17261842/medium/7dbfc77f21c826845961243c44540d26.jpg"},{"username":"Vidariondr","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17262438/medium/45fbc71be02ef27296b6f423e97b6a03_default.png"},{"username":"Fastery","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17263066/medium/701b0edc59676174863ad651528bbb37.jpeg"},{"username":"stratself","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17290388/medium/57d9d8161b3fd0abf4dc5558b4a1fa05_default.png"},{"username":"wuzeqin","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17292606/medium/b9e0308410b31337e2d7aa6ed346d718_default.png"},{"username":"ChristopherBull","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17304338/medium/21a175ce596bfae81430767467908b90.jpeg"},{"username":"darkbcnlord","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/17311436/medium/b271bc0b419ec3a26ddb7b63ff8ffc4b.png"}]
\ No newline at end of file
diff --git a/tooling/eslint/package.json b/tooling/eslint/package.json
index a12edb475..83076aa73 100644
--- a/tooling/eslint/package.json
+++ b/tooling/eslint/package.json
@@ -17,14 +17,14 @@
},
"prettier": "@homarr/prettier-config",
"dependencies": {
- "@next/eslint-plugin-next": "15.5.2",
+ "@next/eslint-plugin-next": "15.5.3",
"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.42.0"
+ "typescript-eslint": "^8.43.0"
},
"devDependencies": {
"@homarr/prettier-config": "workspace:^0.1.0",
diff --git a/tooling/github/setup/action.yml b/tooling/github/setup/action.yml
index a84e3fb96..db9d781f5 100644
--- a/tooling/github/setup/action.yml
+++ b/tooling/github/setup/action.yml
@@ -5,7 +5,7 @@ runs:
using: composite
steps:
- uses: pnpm/action-setup@v4
- - uses: actions/setup-node@v4
+ - uses: actions/setup-node@v5
with:
node-version: 22.19.0
cache: "pnpm"
|