Compare commits

..
Author SHA1 Message Date
Releases Homarr 57e18f6ce6 chore(release): 1.69.2 [skip ci] 2026-07-06 08:05:24 +00:00
Thomas 29369e23c1 Merge pull request #6208 from homarr-labs/proxmox-status-zindex
fix(layout): raise AppShellHeader z-index above Proxmox status dots
2026-07-06 10:04:04 +02:00
ajnart 687edb9226 fix(layout): raise AppShellHeader z-index above Indicator dots
The Mantine Indicator component (used by the Proxmox cluster health
widget for VM/LXC status dots) sits at z-index 200, which is higher
than the AppShellHeader's default 100. This caused the status dots
to bleed above the header when scrolling.

Set the header z-index to 201 so it stacks above Indicator content
without conflicting with modal/popover layers (300+).

Closes #6194
2026-07-06 01:50:13 +02:00
25 changed files with 289 additions and 15379 deletions

No files matched your search

+62
View File
@@ -163,3 +163,65 @@ jobs:
run: cp .env.example .env run: cp .env.example .env
- name: Build - name: Build
run: pnpm turbo build --affected run: pnpm turbo build --affected
memory-regression:
runs-on: ubuntu-latest
timeout-minutes: 15
steps:
- uses: actions/checkout@v6
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v4
- name: Build Docker image
uses: docker/build-push-action@v7
with:
platforms: linux/amd64
context: .
push: false
load: true
tags: homarr-memory-test
network: host
cache-from: type=gha
cache-to: type=gha,mode=max
env:
SKIP_ENV_VALIDATION: true
- name: Start container and measure memory
run: |
docker run -d --name homarr-mem-test -p 17575:7575 homarr-memory-test
# Wait for container to be healthy (up to 60s)
healthy=false
for i in $(seq 1 30); do
if curl -sf http://localhost:17575/api/health 2>/dev/null; then
echo "Container healthy after $((i * 2))s"
healthy=true
break
fi
sleep 2
done
if [ "$healthy" != "true" ]; then
echo "ERROR: Container never became healthy"
docker logs homarr-mem-test --tail 50
exit 1
fi
# Warm up: hit the dashboard page a few times
for i in $(seq 1 5); do
curl -sf http://localhost:17575/ > /dev/null 2>&1 || true
sleep 2
done
# Measure RSS after warmup
MEM_KB=$(docker stats --no-stream --format '{{.MemUsage}}' homarr-mem-test | sed 's| /.*||')
echo "Raw memory: $MEM_KB"
# Convert to numeric MB (handles GiB and MiB suffixes)
MEM_NUM=$(echo "$MEM_KB" | awk '{
if ($0 ~ /GiB/) { gsub(/GiB/,""); print $1 * 1024 }
else if ($0 ~ /MiB/) { gsub(/MiB/,""); print $1 }
else if ($0 ~ /KiB/) { gsub(/KiB/,""); print $1 / 1024 }
else { print $1 / 1048576 }
}')
echo "Memory usage: ${MEM_NUM} MB"
MAX_MB=700
if awk "BEGIN {exit !($MEM_NUM > $MAX_MB)}"; then
echo "ERROR: Memory usage ${MEM_NUM} MB exceeds ${MAX_MB} MB threshold"
docker logs homarr-mem-test --tail 50
exit 1
fi
echo "Memory check passed: ${MEM_NUM} MB <= ${MAX_MB} MB"
+6
View File
@@ -1,3 +1,9 @@
## [1.69.2](https://github.com/homarr-labs/homarr/compare/v1.69.1...v1.69.2) (2026-07-06)
### Bug Fixes
* **layout:** raise AppShellHeader z-index above Indicator dots ([687edb9](https://github.com/homarr-labs/homarr/commit/687edb9226307cb83986097abb24fe7f672e1778)), closes [#6194](https://github.com/homarr-labs/homarr/issues/6194)
## [1.69.1](https://github.com/homarr-labs/homarr/compare/v1.69.0...v1.69.1) (2026-07-04) ## [1.69.1](https://github.com/homarr-labs/homarr/compare/v1.69.0...v1.69.1) (2026-07-04)
### Bug Fixes ### Bug Fixes
+7 -20
View File
@@ -39,26 +39,13 @@ import { immichServerStatsWidget } from '../../widgets/immich-server-stats';
'Scroll down to "API Keys"', 'Scroll down to "API Keys"',
'Click "New API Key"', 'Click "New API Key"',
'Enter a name, e.g. "Homarr"', 'Enter a name, e.g. "Homarr"',
( (<span>
Select the following permissions:{" "}
<span> <code>album.read</code>,{" "}
<code>user.read</code>,{" "}
Select the following permissions:{" "} <code>server.statistics</code>,{" "}
<code>album.statistics</code>,{" "} <code>asset.download</code>
<code>album.read</code>,{" "} </span>),
<code>album.create</code>,{" "}
<code>user.read</code>,{" "}
<code>user.update</code>,{" "}
<code>asset.read</code>,{" "}
<code>asset.download</code>,{" "}
<code>asset.statistics</code>,{" "}
<code>server.statistics</code>,{" "}
<code>server.about</code>.
<br />
Additional permissions may be required depending on your Immich version. If you encounter authorization errors, grant any missing permissions requested by the server.
</span>
),Ï
'Create the integration in Homarr and copy the API key to there' 'Create the integration in Homarr and copy the API key to there'
] ]
}]} /> }]} />
+2 -2
View File
@@ -32,7 +32,7 @@
"@scalar/api-reference-react": "catalog:", "@scalar/api-reference-react": "catalog:",
"@signalwire/docusaurus-plugin-llms-txt": "^1.2.2", "@signalwire/docusaurus-plugin-llms-txt": "^1.2.2",
"@tabler/icons-react": "catalog:", "@tabler/icons-react": "catalog:",
"@tailwindcss/postcss": "^4.3.2", "@tailwindcss/postcss": "^4.3.1",
"clsx": "catalog:", "clsx": "catalog:",
"dayjs": "catalog:", "dayjs": "catalog:",
"docusaurus-plugin-image-zoom": "^3.0.1", "docusaurus-plugin-image-zoom": "^3.0.1",
@@ -44,7 +44,7 @@
"react": "catalog:", "react": "catalog:",
"react-dom": "catalog:", "react-dom": "catalog:",
"swiper": "^12.2.0", "swiper": "^12.2.0",
"tailwindcss": "^4.3.2" "tailwindcss": "^4.3.1"
}, },
"devDependencies": { "devDependencies": {
"@docusaurus/module-type-aliases": "^3.10.1", "@docusaurus/module-type-aliases": "^3.10.1",
+1 -1
View File
@@ -18,7 +18,7 @@ interface Props {
export const MainHeader = ({ logo, actions, hasNavigation = true }: Props) => { export const MainHeader = ({ logo, actions, hasNavigation = true }: Props) => {
return ( return (
<AppShellHeader maw="100vw" style={{ overflowX: "hidden" }}> <AppShellHeader maw="100vw" zIndex={201} style={{ overflowX: "hidden" }}>
<Group h="100%" gap="xl" px="md" justify="apart" wrap="nowrap"> <Group h="100%" gap="xl" px="md" justify="apart" wrap="nowrap">
<Group h="100%" align="center" style={{ flex: 1 }} wrap="nowrap"> <Group h="100%" align="center" style={{ flex: 1 }} wrap="nowrap">
{hasNavigation && <ClientBurger />} {hasNavigation && <ClientBurger />}
+1 -1
View File
@@ -1,6 +1,6 @@
{ {
"name": "homarr", "name": "homarr",
"version": "1.69.1", "version": "1.69.2",
"private": true, "private": true,
"scripts": { "scripts": {
"build": "cross-env CI=true turbo build", "build": "cross-env CI=true turbo build",
@@ -1,9 +0,0 @@
CREATE TABLE `widget_secret` (
`item_id` varchar(64) NOT NULL,
`kind` varchar(64) NOT NULL,
`value` text NOT NULL,
`updated_at` timestamp NOT NULL,
CONSTRAINT `widget_secret_item_id_kind_pk` PRIMARY KEY(`item_id`,`kind`)
);
--> statement-breakpoint
ALTER TABLE `widget_secret` ADD CONSTRAINT `widget_secret_item_id_item_id_fk` FOREIGN KEY (`item_id`) REFERENCES `item`(`id`) ON DELETE cascade ON UPDATE no action;
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
@@ -295,13 +295,6 @@
"when": 1780764500000, "when": 1780764500000,
"tag": "0041_merge_custom_widget_url", "tag": "0041_merge_custom_widget_url",
"breakpoints": true "breakpoints": true
},
{
"idx": 42,
"version": "5",
"when": 1783176100870,
"tag": "0042_add_widget_secret",
"breakpoints": true
} }
] ]
} }
@@ -1,9 +0,0 @@
CREATE TABLE "widget_secret" (
"item_id" varchar(64) NOT NULL,
"kind" varchar(64) NOT NULL,
"value" text NOT NULL,
"updated_at" timestamp NOT NULL,
CONSTRAINT "widget_secret_item_id_kind_pk" PRIMARY KEY("item_id","kind")
);
--> statement-breakpoint
ALTER TABLE "widget_secret" ADD CONSTRAINT "widget_secret_item_id_item_id_fk" FOREIGN KEY ("item_id") REFERENCES "public"."item"("id") ON DELETE cascade ON UPDATE no action;
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
@@ -57,13 +57,6 @@
"when": 1780764500000, "when": 1780764500000,
"tag": "0007_merge_custom_widget_url", "tag": "0007_merge_custom_widget_url",
"breakpoints": true "breakpoints": true
},
{
"idx": 8,
"version": "7",
"when": 1783176100870,
"tag": "0008_add_widget_secret",
"breakpoints": true
} }
] ]
} }
@@ -1,8 +0,0 @@
CREATE TABLE `widget_secret` (
`item_id` text NOT NULL,
`kind` text NOT NULL,
`value` text NOT NULL,
`updated_at` integer NOT NULL,
PRIMARY KEY(`item_id`, `kind`),
FOREIGN KEY (`item_id`) REFERENCES `item`(`id`) ON UPDATE no action ON DELETE cascade
);
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
@@ -281,13 +281,6 @@
"when": 1780764500000, "when": 1780764500000,
"tag": "0039_merge_custom_widget_url", "tag": "0039_merge_custom_widget_url",
"breakpoints": true "breakpoints": true
},
{
"idx": 40,
"version": "6",
"when": 1783176100870,
"tag": "0040_add_widget_secret",
"breakpoints": true
} }
] ]
} }
@@ -72,14 +72,7 @@ export const AppForm = ({
} }
form.initialize(toFormValues(initialValues)); form.initialize(toFormValues(initialValues));
// `form` is a new object every render (Mantine useForm returns a fresh literal), }, [initialValuesKey, form, initialValues]);
// so it must not be a dep here — it would re-run every render and, since
// form.initialize() always calls clearErrors() (new {} object) internally,
// trigger an infinite update loop. initialValuesKey (a primitive string)
// already captures the only case this effect exists for: re-initializing
// when initialValues actually changes (e.g. navigating between edit pages).
// eslint-disable-next-line react-hooks/exhaustive-deps
}, [initialValuesKey]);
// Debounce the name value with 200ms delay // Debounce the name value with 200ms delay
const [debouncedName] = useDebouncedValue(form.values.name, 200); const [debouncedName] = useDebouncedValue(form.values.name, 200);
+12 -12
View File
@@ -732,8 +732,8 @@
"displayType": "", "displayType": "",
"jsonPath": "", "jsonPath": "",
"jsonPathHint": "", "jsonPathHint": "",
"label": "Étiquette", "label": "",
"unit": "Unité", "unit": "",
"mappings": "", "mappings": "",
"tablePath": "", "tablePath": "",
"tablePathHint": "", "tablePathHint": "",
@@ -755,14 +755,14 @@
"striped": "", "striped": "",
"compact": "", "compact": "",
"maxHeight": "", "maxHeight": "",
"color": "Couleur", "color": "",
"buttonLabel": "", "buttonLabel": "",
"buttonColor": "", "buttonColor": "",
"confirmText": "Texte de confirmation", "confirmText": "",
"confirmTextHint": "", "confirmTextHint": "",
"successMessage": "Message de réussite", "successMessage": "",
"successMessageHint": "", "successMessageHint": "",
"enabled": "Activé", "enabled": "",
"template": { "template": {
"label": "", "label": "",
"description": "" "description": ""
@@ -1017,13 +1017,13 @@
"timetable": "", "timetable": "",
"photoService": "", "photoService": "",
"documents": "", "documents": "",
"notes": "Notes", "notes": "",
"mediaMonitoring": "Supervision", "mediaMonitoring": "",
"speedtest": "Test de débit", "speedtest": "",
"analytics": "", "analytics": "",
"vpn": "", "vpn": "",
"mediaLibrary": "Bibliothèque de médias", "mediaLibrary": "",
"uptimeMonitoring": "Surveillance des disponibilités" "uptimeMonitoring": ""
}, },
"testConnection": { "testConnection": {
"action": { "action": {
@@ -1298,7 +1298,7 @@
"newLabel": "Nouvelle clé privée" "newLabel": "Nouvelle clé privée"
}, },
"slug": { "slug": {
"label": "Slug de la page de statut", "label": "",
"newLabel": "" "newLabel": ""
} }
} }
+11 -11
View File
@@ -1599,7 +1599,7 @@
"menu": { "menu": {
"label": { "label": {
"settings": "Impostazioni", "settings": "Impostazioni",
"refresh": "Aggiorna", "refresh": "",
"options": "Opzioni", "options": "Opzioni",
"actions": "Azioni" "actions": "Azioni"
} }
@@ -1904,7 +1904,7 @@
"noStation": "Nessuna stazione selezionata", "noStation": "Nessuna stazione selezionata",
"option": { "option": {
"baseUrl": { "baseUrl": {
"label": "Url Search.ch" "label": ""
}, },
"station": { "station": {
"label": "Stazione" "label": "Stazione"
@@ -2791,8 +2791,8 @@
"description": "Visualizza la data dell'immagine e l'indice corrente nella parte inferiore della presentazione" "description": "Visualizza la data dell'immagine e l'indice corrente nella parte inferiore della presentazione"
}, },
"randomizePhotos": { "randomizePhotos": {
"label": "Immagini casuali", "label": "",
"description": "Mostra le foto in ordine casuale invece di iniziare sempre con lo stesso ordine degli album." "description": ""
} }
}, },
"description": "Presentazione delle immagini nel tuo album Immich", "description": "Presentazione delle immagini nel tuo album Immich",
@@ -3158,7 +3158,7 @@
"label": "Provider" "label": "Provider"
}, },
"providerUrl": { "providerUrl": {
"label": "URL Provider" "label": ""
}, },
"identifier": { "identifier": {
"label": "Identificatore", "label": "Identificatore",
@@ -3209,10 +3209,10 @@
"tooltip": "Impossibile analizzare il provider, impostarlo manualmente dopo aver importato le immagini" "tooltip": "Impossibile analizzare il provider, impostarlo manualmente dopo aver importato le immagini"
}, },
"tokens": { "tokens": {
"label": "Token Provider", "label": "",
"token": "Token", "token": "",
"configured": "Token configurato", "configured": "",
"notConfigured": "Nessun token impostato", "notConfigured": "",
"save": "Salva" "save": "Salva"
} }
} }
@@ -3236,9 +3236,9 @@
"invalidIdentifier": "Identificatore non valido", "invalidIdentifier": "Identificatore non valido",
"noMatchingVersion": "Nessuna versione corrispondente trovata", "noMatchingVersion": "Nessuna versione corrispondente trovata",
"noReleasesFound": "Nessun rilascio trovato", "noReleasesFound": "Nessun rilascio trovato",
"noProviderSelected": "Nessun provider selezionato", "noProviderSelected": "",
"noProviderResponse": "Nessuna risposta dal provider", "noProviderResponse": "Nessuna risposta dal provider",
"unexpected": "Errore provider inaspettato" "unexpected": ""
} }
} }
}, },
+3 -3
View File
@@ -3132,7 +3132,7 @@
"label": "" "label": ""
}, },
"showOnlyIcon": { "showOnlyIcon": {
"label": "Показати тільки іконку" "label": ""
}, },
"topReleases": { "topReleases": {
"label": "", "label": "",
@@ -3229,7 +3229,7 @@
"openReleasePage": "", "openReleasePage": "",
"releaseDescription": "", "releaseDescription": "",
"projectDescription": "", "projectDescription": "",
"created": "Створено", "created": "",
"error": { "error": {
"label": "", "label": "",
"messages": { "messages": {
@@ -3350,7 +3350,7 @@
"label": "" "label": ""
} }
}, },
"latestResult": "Останній результат", "latestResult": "",
"averages": "", "averages": "",
"tests": "", "tests": "",
"recentResults": "", "recentResults": "",
@@ -50,7 +50,6 @@ import {
} from "@homarr/definitions"; } from "@homarr/definitions";
import { findBestIconMatch, IconPicker } from "@homarr/forms-collection"; import { findBestIconMatch, IconPicker } from "@homarr/forms-collection";
import { createModal, useModalAction } from "@homarr/modals"; import { createModal, useModalAction } from "@homarr/modals";
import { showErrorNotification } from "@homarr/notifications";
import { useScopedI18n } from "@homarr/translation/client"; import { useScopedI18n } from "@homarr/translation/client";
import { MaskedImage } from "@homarr/ui"; import { MaskedImage } from "@homarr/ui";
@@ -270,24 +269,8 @@ const providersWithAuth: ReleaseProviderKind[] = [
const ProviderTokensSection = ({ itemId, repositories }: { itemId: string; repositories: ReleasesRepository[] }) => { const ProviderTokensSection = ({ itemId, repositories }: { itemId: string; repositories: ReleasesRepository[] }) => {
const tRepository = useScopedI18n("widget.releases.option.repositories"); const tRepository = useScopedI18n("widget.releases.option.repositories");
const { data: configuredKinds = [], refetch } = clientApi.widget.secrets.getConfiguredKinds.useQuery({ itemId }); const { data: configuredKinds = [], refetch } = clientApi.widget.secrets.getConfiguredKinds.useQuery({ itemId });
const setSecret = clientApi.widget.secrets.setSecret.useMutation({ const setSecret = clientApi.widget.secrets.setSecret.useMutation({ onSuccess: () => refetch() });
onSuccess: () => refetch(), const deleteSecret = clientApi.widget.secrets.deleteSecret.useMutation({ onSuccess: () => refetch() });
onError: (error) => {
showErrorNotification({
title: "Failed to save token",
message: error.message,
});
},
});
const deleteSecret = clientApi.widget.secrets.deleteSecret.useMutation({
onSuccess: () => refetch(),
onError: (error) => {
showErrorNotification({
title: "Failed to delete token",
message: error.message,
});
},
});
const authProviders = useMemo(() => { const authProviders = useMemo(() => {
const usedProviders = repositories.map((r) => r.provider).filter((p): p is ReleaseProviderKind => p !== undefined); const usedProviders = repositories.map((r) => r.provider).filter((p): p is ReleaseProviderKind => p !== undefined);
+175 -167
View File
@@ -142,14 +142,14 @@ catalogs:
specifier: ^5.101.0 specifier: ^5.101.0
version: 5.101.0 version: 5.101.0
'@testcontainers/mysql': '@testcontainers/mysql':
specifier: ^12.0.4 specifier: ^12.0.3
version: 12.0.4 version: 12.0.3
'@testcontainers/postgresql': '@testcontainers/postgresql':
specifier: ^12.0.4 specifier: ^12.0.3
version: 12.0.4 version: 12.0.3
'@testcontainers/redis': '@testcontainers/redis':
specifier: ^12.0.4 specifier: ^12.0.3
version: 12.0.4 version: 12.0.3
'@tiptap/extension-color': '@tiptap/extension-color':
specifier: 3.27.1 specifier: 3.27.1
version: 3.27.1 version: 3.27.1
@@ -442,8 +442,8 @@ catalogs:
specifier: ^1.18.0 specifier: ^1.18.0
version: 1.18.0 version: 1.18.0
posthog-js: posthog-js:
specifier: ^1.396.2 specifier: ^1.395.0
version: 1.396.3 version: 1.395.0
posthog-node: posthog-node:
specifier: ^4.18.0 specifier: ^4.18.0
version: 4.18.0 version: 4.18.0
@@ -496,8 +496,8 @@ catalogs:
specifier: ^5.3.1 specifier: ^5.3.1
version: 5.3.1 version: 5.3.1
testcontainers: testcontainers:
specifier: ^12.0.4 specifier: ^12.0.3
version: 12.0.4 version: 12.0.3
timezones-ical-library: timezones-ical-library:
specifier: ^2.2.1 specifier: ^2.2.1
version: 2.2.1 version: 2.2.1
@@ -520,8 +520,8 @@ catalogs:
specifier: ^6.0.3 specifier: ^6.0.3
version: 6.0.3 version: 6.0.3
undici: undici:
specifier: 7.28.0 specifier: 7.27.2
version: 7.28.0 version: 7.27.2
use-deep-compare-effect: use-deep-compare-effect:
specifier: ^1.8.1 specifier: ^1.8.1
version: 1.8.1 version: 1.8.1
@@ -615,7 +615,7 @@ importers:
version: 14.1.1(semantic-release@25.0.5(typescript@6.0.3)) version: 14.1.1(semantic-release@25.0.5(typescript@6.0.3))
'@testcontainers/redis': '@testcontainers/redis':
specifier: 'catalog:' specifier: 'catalog:'
version: 12.0.4 version: 12.0.3
'@turbo/gen': '@turbo/gen':
specifier: 'catalog:' specifier: 'catalog:'
version: 2.10.0(@types/node@24.13.2) version: 2.10.0(@types/node@24.13.2)
@@ -651,7 +651,7 @@ importers:
version: 25.0.5(typescript@6.0.3) version: 25.0.5(typescript@6.0.3)
testcontainers: testcontainers:
specifier: 'catalog:' specifier: 'catalog:'
version: 12.0.4 version: 12.0.3
turbo: turbo:
specifier: 'catalog:' specifier: 'catalog:'
version: 2.10.0 version: 2.10.0
@@ -702,7 +702,7 @@ importers:
version: 0.99.0(react-dom@19.2.7(react@19.2.7))(react@19.2.7) version: 0.99.0(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
'@scalar/api-reference-react': '@scalar/api-reference-react':
specifier: 'catalog:' specifier: 'catalog:'
version: 0.9.49(nprogress@0.2.0)(react@19.2.7)(tailwindcss@4.3.2)(typescript@6.0.3)(zod@4.4.3) version: 0.9.49(nprogress@0.2.0)(react@19.2.7)(tailwindcss@4.3.1)(typescript@6.0.3)(zod@4.4.3)
'@signalwire/docusaurus-plugin-llms-txt': '@signalwire/docusaurus-plugin-llms-txt':
specifier: ^1.2.2 specifier: ^1.2.2
version: 1.2.2(@docusaurus/core@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.3(@swc/helpers@0.5.15))(esbuild@0.28.1)(postcss@8.5.16)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(@swc/helpers@0.5.15)(esbuild@0.28.1)(postcss@8.5.16))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.7))(@rspack/core@1.7.11(@swc/helpers@0.5.15))(@swc/core@1.15.3(@swc/helpers@0.5.15))(esbuild@0.28.1)(postcss@8.5.16)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@6.0.3)) version: 1.2.2(@docusaurus/core@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.3(@swc/helpers@0.5.15))(esbuild@0.28.1)(postcss@8.5.16)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(@swc/helpers@0.5.15)(esbuild@0.28.1)(postcss@8.5.16))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.7))(@rspack/core@1.7.11(@swc/helpers@0.5.15))(@swc/core@1.15.3(@swc/helpers@0.5.15))(esbuild@0.28.1)(postcss@8.5.16)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@6.0.3))
@@ -710,8 +710,8 @@ importers:
specifier: 'catalog:' specifier: 'catalog:'
version: 3.44.0(react@19.2.7) version: 3.44.0(react@19.2.7)
'@tailwindcss/postcss': '@tailwindcss/postcss':
specifier: ^4.3.2 specifier: ^4.3.1
version: 4.3.2 version: 4.3.1
clsx: clsx:
specifier: 'catalog:' specifier: 'catalog:'
version: 2.1.1 version: 2.1.1
@@ -746,8 +746,8 @@ importers:
specifier: ^12.2.0 specifier: ^12.2.0
version: 12.2.0 version: 12.2.0
tailwindcss: tailwindcss:
specifier: ^4.3.2 specifier: ^4.3.1
version: 4.3.2 version: 4.3.1
devDependencies: devDependencies:
'@docusaurus/module-type-aliases': '@docusaurus/module-type-aliases':
specifier: ^3.10.1 specifier: ^3.10.1
@@ -913,7 +913,7 @@ importers:
version: 1.29.0(zod@4.4.3) version: 1.29.0(zod@4.4.3)
'@scalar/api-reference-react': '@scalar/api-reference-react':
specifier: 'catalog:' specifier: 'catalog:'
version: 0.9.49(nprogress@0.2.0)(react@19.2.7)(tailwindcss@4.3.2)(typescript@6.0.3)(zod@4.4.3) version: 0.9.49(nprogress@0.2.0)(react@19.2.7)(tailwindcss@4.3.1)(typescript@6.0.3)(zod@4.4.3)
'@tabler/icons-react': '@tabler/icons-react':
specifier: 'catalog:' specifier: 'catalog:'
version: 3.44.0(react@19.2.7) version: 3.44.0(react@19.2.7)
@@ -1012,7 +1012,7 @@ importers:
version: 1.18.0(postcss@8.5.15) version: 1.18.0(postcss@8.5.15)
posthog-js: posthog-js:
specifier: 'catalog:' specifier: 'catalog:'
version: 1.396.3 version: 1.395.0
prismjs: prismjs:
specifier: 'catalog:' specifier: 'catalog:'
version: 1.30.0 version: 1.30.0
@@ -1151,7 +1151,7 @@ importers:
version: 2.2.6 version: 2.2.6
undici: undici:
specifier: 'catalog:' specifier: 'catalog:'
version: 7.28.0 version: 7.27.2
devDependencies: devDependencies:
'@homarr/tsconfig': '@homarr/tsconfig':
specifier: workspace:^0.1.0 specifier: workspace:^0.1.0
@@ -1500,7 +1500,7 @@ importers:
version: 19.2.7(react@19.2.7) version: 19.2.7(react@19.2.7)
undici: undici:
specifier: 'catalog:' specifier: 'catalog:'
version: 7.28.0 version: 7.27.2
zod: zod:
specifier: 'catalog:' specifier: 'catalog:'
version: 4.4.3 version: 4.4.3
@@ -1688,10 +1688,10 @@ importers:
version: 3.3.0 version: 3.3.0
'@testcontainers/mysql': '@testcontainers/mysql':
specifier: 'catalog:' specifier: 'catalog:'
version: 12.0.4 version: 12.0.3
'@testcontainers/postgresql': '@testcontainers/postgresql':
specifier: 'catalog:' specifier: 'catalog:'
version: 12.0.4 version: 12.0.3
better-sqlite3: better-sqlite3:
specifier: 'catalog:' specifier: 'catalog:'
version: 12.10.0 version: 12.10.0
@@ -1923,7 +1923,7 @@ importers:
version: link:../image-proxy version: link:../image-proxy
'@homarr/node-unifi': '@homarr/node-unifi':
specifier: 'catalog:' specifier: 'catalog:'
version: 2.6.0(undici@7.28.0) version: 2.6.0(undici@7.27.2)
'@homarr/redis': '@homarr/redis':
specifier: workspace:^0.1.0 specifier: workspace:^0.1.0
version: link:../redis version: link:../redis
@@ -1959,7 +1959,7 @@ importers:
version: 2.2.2 version: 2.2.2
undici: undici:
specifier: 'catalog:' specifier: 'catalog:'
version: 7.28.0 version: 7.27.2
ws: ws:
specifier: 'catalog:' specifier: 'catalog:'
version: 8.21.0 version: 8.21.0
@@ -2264,7 +2264,7 @@ importers:
version: 2.2.6 version: 2.2.6
undici: undici:
specifier: 'catalog:' specifier: 'catalog:'
version: 7.28.0 version: 7.27.2
zod: zod:
specifier: 'catalog:' specifier: 'catalog:'
version: 4.4.3 version: 4.4.3
@@ -6400,11 +6400,11 @@ packages:
'@polka/url@1.0.0-next.25': '@polka/url@1.0.0-next.25':
resolution: {integrity: sha512-j7P6Rgr3mmtdkeDGTe0E/aYyWEWVtc5yFXtHCRHs28/jptDEWfaVOc5T7cblqy1XKPPfCxJc/8DwQ5YgLOZOVQ==} resolution: {integrity: sha512-j7P6Rgr3mmtdkeDGTe0E/aYyWEWVtc5yFXtHCRHs28/jptDEWfaVOc5T7cblqy1XKPPfCxJc/8DwQ5YgLOZOVQ==}
'@posthog/core@1.39.2': '@posthog/core@1.38.0':
resolution: {integrity: sha512-G/TL5Xykl+9xCDtBwHHPRSToS/43UjzyxKOfhlTwu/hJHt3v39Q2OFu8hdum71Iu7+tuxxISGVcFMlIST7ksjA==} resolution: {integrity: sha512-QLrJh0hMVpEJXHNyiJR9YhvIO5tzLDedw4UHdvB+ub4fXHMtHCA8H44qgl11HWR3ajpjxtJ8hs3HyOGVF3Zc1w==}
'@posthog/types@1.392.0': '@posthog/types@1.391.1':
resolution: {integrity: sha512-nctNujXL3FC1v99FktaTMSugSD9ZOZekEpahUSafkU2TSvW+XGKNkQZbokuJtiWvPBK208dwMJva8UfBkChqpw==} resolution: {integrity: sha512-ASwd7Nf4pViqdYRYaNRyPYRVKWa1CcHUAUWR0XeQJLGdNnsWACBwe0sSieb/cHnKsRXjRwO/23KIY83lm/Ccpw==}
'@protobufjs/aspromise@1.1.2': '@protobufjs/aspromise@1.1.2':
resolution: {integrity: sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==} resolution: {integrity: sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==}
@@ -7172,69 +7172,69 @@ packages:
'@tabler/icons@3.44.0': '@tabler/icons@3.44.0':
resolution: {integrity: sha512-Wn0AOZG9sg0L+bjfMqq4eNhC6pQjIrk94LvvWYNYkY8KH8wC3YILRzQlrnVJc4FUeMxH/AK97QsYCX35H3LndA==} resolution: {integrity: sha512-Wn0AOZG9sg0L+bjfMqq4eNhC6pQjIrk94LvvWYNYkY8KH8wC3YILRzQlrnVJc4FUeMxH/AK97QsYCX35H3LndA==}
'@tailwindcss/node@4.3.2': '@tailwindcss/node@4.3.1':
resolution: {integrity: sha512-yWP/sqEcBLaD8JuA6zNwxoYKr75qxTioYwlRwekj5Jr/I5GXnoJfjetH/psLUIv74cYTH2lBUEzBkinthoYcBg==} resolution: {integrity: sha512-6NDaqRoAMSXD1mr/RXu0HBvNE9a2n5tHPsxu9XHLws8o4Twes5rBM2205SUUiJ9goAtadrN6xTGX0UDEwp/N4A==}
'@tailwindcss/oxide-android-arm64@4.3.2': '@tailwindcss/oxide-android-arm64@4.3.1':
resolution: {integrity: sha512-WHxqIuHpvZ5VtdX6GTl1Ik/Vp2YuN42Et+0CdeaVd/frQ9jAvGmvR8vLT+jk3e8/Q3x8kECB9+R17pgpp2BulA==} resolution: {integrity: sha512-SVlyf61g374l5cHyg8x9kf5xmLcOaxvOTsbsqDnSsDJaKOEFZ7GCvi84VAVGpxojYOs1+3K6M0UjXfqPU8vmOQ==}
engines: {node: '>= 20'} engines: {node: '>= 20'}
cpu: [arm64] cpu: [arm64]
os: [android] os: [android]
'@tailwindcss/oxide-darwin-arm64@4.3.2': '@tailwindcss/oxide-darwin-arm64@4.3.1':
resolution: {integrity: sha512-GZypeUY/IDJW3877KeM+O67vbXr3MBnbtEL4aYhNErv/JWZhye2vGSWWG9tB6iiqR2MqRNkY8IOUy4NdSZV26w==} resolution: {integrity: sha512-hVnWLwv+e/l7c4WKyVtHVrIPvYdqWHjRB3MDIqARynzFtnQg85kmQEFCbV9Ja0VVx4xXTIiDWY60Y7iz/iNoDA==}
engines: {node: '>= 20'} engines: {node: '>= 20'}
cpu: [arm64] cpu: [arm64]
os: [darwin] os: [darwin]
'@tailwindcss/oxide-darwin-x64@4.3.2': '@tailwindcss/oxide-darwin-x64@4.3.1':
resolution: {integrity: sha512-UIIzmefR6KO1sDU7MzRqAxC8iBpft/VhkGjTjnhoS6k7Z3rQ9wEgA1ODSiyH/tcSYssulNm4Ci3hOeK1jH7ccQ==} resolution: {integrity: sha512-Cf7abu0WVgbhU7ANgPUnSAvm7nCvMweusHb8FnaHlLfv/Caq4GYaEZg7ZImzzmjx4lIAfuS8q+eLIS7A7IzxIg==}
engines: {node: '>= 20'} engines: {node: '>= 20'}
cpu: [x64] cpu: [x64]
os: [darwin] os: [darwin]
'@tailwindcss/oxide-freebsd-x64@4.3.2': '@tailwindcss/oxide-freebsd-x64@4.3.1':
resolution: {integrity: sha512-GN+uAmcI6DNspnCDwtOAZrTz6oukJnp337qZvxqCGLd3BHBzJpO0ZbTLRvJNdztOeAmTzewewGIMPb0tk2R4WA==} resolution: {integrity: sha512-ZZqzX2Y+GXtXXfqSfpJhDm60OoZfvLHLCgm+J7NVqgHHJjG/m9ugZI77RwTsVd4fnBJuCFP6Ae6kTJb71UdS8g==}
engines: {node: '>= 20'} engines: {node: '>= 20'}
cpu: [x64] cpu: [x64]
os: [freebsd] os: [freebsd]
'@tailwindcss/oxide-linux-arm-gnueabihf@4.3.2': '@tailwindcss/oxide-linux-arm-gnueabihf@4.3.1':
resolution: {integrity: sha512-4ABn7qSbdHRwTiDiuWNegCyb5+2FJ4vKIKc3DmKrvAFw7MU1Lm11dIkTPwUaFdTzc7IsOpDbqBrlh0x6y36U/w==} resolution: {integrity: sha512-/Ah/xik0LaMYfv9DZ0S/t4pBlBNYOcqtRwusjgovHkvT8ixueWCLyJjsaF5kQIckjb4IT8Q6K6p/iPmZMixYgg==}
engines: {node: '>= 20'} engines: {node: '>= 20'}
cpu: [arm] cpu: [arm]
os: [linux] os: [linux]
'@tailwindcss/oxide-linux-arm64-gnu@4.3.2': '@tailwindcss/oxide-linux-arm64-gnu@4.3.1':
resolution: {integrity: sha512-wDgEIGwoM8w8pufh9LVt1PahDgNdKXrLC2qfAnV3vAmococ9RWbxeAw4pxPttd/TsJfwjyLf90Dg1y9y8I6Emw==} resolution: {integrity: sha512-gqdFoVJlw444GvpnheZLHmvTzSxI/cOUUh2KSNejQjTcYkW062SVD+En0rUgD+QV91bz1XGIGtt1HJd48xUGbQ==}
engines: {node: '>= 20'} engines: {node: '>= 20'}
cpu: [arm64] cpu: [arm64]
os: [linux] os: [linux]
libc: [glibc] libc: [glibc]
'@tailwindcss/oxide-linux-arm64-musl@4.3.2': '@tailwindcss/oxide-linux-arm64-musl@4.3.1':
resolution: {integrity: sha512-J5Nuk0uZQIiMTJj3LEx4sAA9tMFUoXQZFv1J6An+QGYe53HKRJuFDi0rpq/tuouCZeAbOBY3kQ6g8qeD4TUjtA==} resolution: {integrity: sha512-Bwv9KwOvE0VKa86xPFif9b9c3Y1NxOV1P0gLti/IYaWEsQYZXDlxfGEtA8mdDZ7SG3wyNXAWYT5SIn3giL57oA==}
engines: {node: '>= 20'} engines: {node: '>= 20'}
cpu: [arm64] cpu: [arm64]
os: [linux] os: [linux]
libc: [musl] libc: [musl]
'@tailwindcss/oxide-linux-x64-gnu@4.3.2': '@tailwindcss/oxide-linux-x64-gnu@4.3.1':
resolution: {integrity: sha512-kqCZpSKOBEJO4mz7OqWoofBZeXTAwaVGPj0ErAj7CojmhKpWVWVOnrt9dE8odoIraZq4oj3ausM37kXi+Tow8w==} resolution: {integrity: sha512-Ymi8O8T15HYQdOUWUtTI6ldN0neHP85FC+Qz32xTcZ7iJXtem/x8ITev0o1e9e5rkqj4lONZfTRLvkmin1+tKg==}
engines: {node: '>= 20'} engines: {node: '>= 20'}
cpu: [x64] cpu: [x64]
os: [linux] os: [linux]
libc: [glibc] libc: [glibc]
'@tailwindcss/oxide-linux-x64-musl@4.3.2': '@tailwindcss/oxide-linux-x64-musl@4.3.1':
resolution: {integrity: sha512-cixpqbh2toJDmkuCRI68nXA8ZxNmdK9Y+9v5h3MC3ZQKy/0BO8AWzlkWyRM7JAFSGBlfig4YVTPsK6MVgqz1uw==} resolution: {integrity: sha512-M+P/91qJ6uILLw4k2G93GMDRAXj61SMvFQYt39AqvUqYgExXpLL5aepfns7sj4HiAQeolirQF9E0lzRvdf4zPQ==}
engines: {node: '>= 20'} engines: {node: '>= 20'}
cpu: [x64] cpu: [x64]
os: [linux] os: [linux]
libc: [musl] libc: [musl]
'@tailwindcss/oxide-wasm32-wasi@4.3.2': '@tailwindcss/oxide-wasm32-wasi@4.3.1':
resolution: {integrity: sha512-4ec2Z/LOmRsAgU23CS4xeJfcJlmRg94A/XrbGRCF1gyU/zdDfRLYDVsS+ynSZCmGNxQ1jQriQOKMQeQxBA3Isw==} resolution: {integrity: sha512-zsM8uOeqvVGHsAXsJxsT28ttosFahLJKCLOTUBqRAtKnVgGSRitds9T432QiT8b77Yga7JIBkulIRRlJPtYhRA==}
engines: {node: '>=14.0.0'} engines: {node: '>=14.0.0'}
cpu: [wasm32] cpu: [wasm32]
bundledDependencies: bundledDependencies:
@@ -7245,24 +7245,24 @@ packages:
- '@emnapi/wasi-threads' - '@emnapi/wasi-threads'
- tslib - tslib
'@tailwindcss/oxide-win32-arm64-msvc@4.3.2': '@tailwindcss/oxide-win32-arm64-msvc@4.3.1':
resolution: {integrity: sha512-Zyr/M0+XcYZu3bZrUytc7TXvrk0ftWfl8gN2MwekNDzhqhKRUucMPSeOzM0o0wH5AWOU49BsKRrfKxI2atCPMQ==} resolution: {integrity: sha512-aiNvSq9BsVk8V513lDKlrCFAgf8qBMPZTpgEhInL+NwQqs97mYmupVMrPrgBBSL8Pv/0zXu9MrMF9rMun1ZeNg==}
engines: {node: '>= 20'} engines: {node: '>= 20'}
cpu: [arm64] cpu: [arm64]
os: [win32] os: [win32]
'@tailwindcss/oxide-win32-x64-msvc@4.3.2': '@tailwindcss/oxide-win32-x64-msvc@4.3.1':
resolution: {integrity: sha512-QI9BO7KlNZsp2GuO0jwAAj5jCDABOKXRkCk2XuKTSaNEFSdfzqswYVTtCHBNKHLsqyjFyFkqlDiwkNbTYSssMQ==} resolution: {integrity: sha512-xDEyu1rg290472FEGaKHnzyDyh5QH+AlWvsU5hMoMtPpzmKlRI0jaYKCgSHDYtaQWZOYbMaduSyCwFwY4n1HmA==}
engines: {node: '>= 20'} engines: {node: '>= 20'}
cpu: [x64] cpu: [x64]
os: [win32] os: [win32]
'@tailwindcss/oxide@4.3.2': '@tailwindcss/oxide@4.3.1':
resolution: {integrity: sha512-z8ZgnzX8gdNoWLBLqBPoh/sjnxkwvf9ZuWjnO0l0yIzbLa5/9S+eC5QxGZKRobVHIC3/1BoMWjHblqWjcgFgag==} resolution: {integrity: sha512-yVPyo8RNkabVr3O2EhHEE0Rewu7YKzc1DhIqfL46LKveFrmu9XbDazNOJY7/GRuvw1h6u3utWnR29H/p5JPlgA==}
engines: {node: '>= 20'} engines: {node: '>= 20'}
'@tailwindcss/postcss@4.3.2': '@tailwindcss/postcss@4.3.1':
resolution: {integrity: sha512-rjVWYCa7Ngbi5AarT6k8TkxUG3Wl1QKzHdIZVsjZSzf36Jmo2IKZt/NHRAwly8oDkbBOH0YTu+CHuf9jPxMc+g==} resolution: {integrity: sha512-dNJuNbdEJT/SWRuXTYP1WSamelsz3ztkUsdtWQPjrexysrTpaEPM40P/71knXiXLYEojqPOEGitVLLpPMS5T6A==}
'@tanstack/match-sorter-utils@8.19.4': '@tanstack/match-sorter-utils@8.19.4':
resolution: {integrity: sha512-Wo1iKt2b9OT7d+YGhvEPD3DXvPv2etTusIMhMUoG7fbhmxcXCtIjJDEygy91Y2JFlwGyjqiBPRozme7UD8hoqg==} resolution: {integrity: sha512-Wo1iKt2b9OT7d+YGhvEPD3DXvPv2etTusIMhMUoG7fbhmxcXCtIjJDEygy91Y2JFlwGyjqiBPRozme7UD8hoqg==}
@@ -7332,14 +7332,14 @@ packages:
peerDependencies: peerDependencies:
vue: ^2.7.0 || ^3.0.0 vue: ^2.7.0 || ^3.0.0
'@testcontainers/mysql@12.0.4': '@testcontainers/mysql@12.0.3':
resolution: {integrity: sha512-XZWh/L6EN8XQa5lsBdESDolDmyUA56bDgYh5SicLzzC2b4jho4lc0yA0GOOVX/bd0zK6VQK6hmDDJE+T3rFrdA==} resolution: {integrity: sha512-xaub3gaAQKR4Q2/9d8B+81XM8LLTQHPOncCL3Ved04JUUIeTobMt3J36JXv/rvEpnrMpphlKYlmQU0aq48HeZA==}
'@testcontainers/postgresql@12.0.4': '@testcontainers/postgresql@12.0.3':
resolution: {integrity: sha512-a/pLU6j5lpKKAlUTPwqweqMGhOSjgTSb6HBX69TOrXn32ifU37nnQDmNFTj8ddOAw+BQL9oTRkeOxVbZkqhgZA==} resolution: {integrity: sha512-y0l/ItWxNfdMU783EOZ66lMq90uuuXPqE+fo1jNSRfMbtfUq/9Ez/wluDxxaS+D/i3I0juep+jmz/WVuip8i9Q==}
'@testcontainers/redis@12.0.4': '@testcontainers/redis@12.0.3':
resolution: {integrity: sha512-44Ov3Lcptb3KqljcCy6xIJ2VxNsN+3Kw/YpBiotZpOcI4iLgLNmcOgvCFPVo+vDoh4rCfgtNUEbIpL5Mu7oRuw==} resolution: {integrity: sha512-hN3YedOSb6quFzG1IM4j/r/M635GcaYOxzbTuiSN7676BZHrx1VPl+xll3ojk8ds6TvenrfO37lrEVJYN2URlA==}
'@tiptap/core@3.27.1': '@tiptap/core@3.27.1':
resolution: {integrity: sha512-rV6Qn4wmC6BxfF+4mu6bqGWj9vA4oXXhsrpXaJL2uhjxeHAGofjwcHof2X84VYzeyXgdlsGmqKie4TAppVXZUQ==} resolution: {integrity: sha512-rV6Qn4wmC6BxfF+4mu6bqGWj9vA4oXXhsrpXaJL2uhjxeHAGofjwcHof2X84VYzeyXgdlsGmqKie4TAppVXZUQ==}
@@ -9673,6 +9673,10 @@ packages:
resolution: {integrity: sha512-XJgGhoR/CLpqshm4d3L7rzH6t8NgDFUIIpztYlLHIApeJjMZKYJMz2zxPsYxnejq5h3ELYSw/RBsi3t5h7gNTA==} resolution: {integrity: sha512-XJgGhoR/CLpqshm4d3L7rzH6t8NgDFUIIpztYlLHIApeJjMZKYJMz2zxPsYxnejq5h3ELYSw/RBsi3t5h7gNTA==}
engines: {node: '>= 8.0'} engines: {node: '>= 8.0'}
dockerode@5.0.0:
resolution: {integrity: sha512-C52mvJ+7lcyhWNfrzVfFsbTrBfy/ezE9FGEYLpu17FUeBcCkxERk9nN7uDl/478ynDiQ4U+5DbQC2vENHkVEtQ==}
engines: {node: '>= 14.17'}
dockerode@5.0.1: dockerode@5.0.1:
resolution: {integrity: sha512-avsq/xk4YPIrn0CgleX5bjT9Y8IT1p9PxrNQ++RBQ2WEyFfHCTDsT9kmyxz+H/axnjAwg8wJWEIuPGOUuNupiA==} resolution: {integrity: sha512-avsq/xk4YPIrn0CgleX5bjT9Y8IT1p9PxrNQ++RBQ2WEyFfHCTDsT9kmyxz+H/axnjAwg8wJWEIuPGOUuNupiA==}
engines: {node: '>= 14.17'} engines: {node: '>= 14.17'}
@@ -10420,9 +10424,9 @@ packages:
get-own-enumerable-property-symbols@3.0.2: get-own-enumerable-property-symbols@3.0.2:
resolution: {integrity: sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==} resolution: {integrity: sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==}
get-port@5.1.1: get-port@7.2.0:
resolution: {integrity: sha512-g/Q1aTSDOxFpchXC4i8ZWvxA1lnPqx/JHqcpIw0/LX9T8x/GBbi6YnlN5nhaKIFkT8oFsscUKgDJYxfwfS6QsQ==} resolution: {integrity: sha512-afP4W205ONCuMoPBqcR6PSXnzX35KTcJygfJfcp+QY+uwm3p20p1YczWXhlICIzGMCxYBQcySEcOgsJcrkyobg==}
engines: {node: '>=8'} engines: {node: '>=16'}
get-proto@1.0.1: get-proto@1.0.1:
resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==} resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==}
@@ -11177,7 +11181,6 @@ packages:
jiti@2.7.0: jiti@2.7.0:
resolution: {integrity: sha512-AC/7JofJvZGrrneWNaEnJeOLUx+JlGt7tNa0wZiRPT4MY1wmfKjt2+6O2p2uz2+skll8OZZmJMNqeke7kKbNgQ==} resolution: {integrity: sha512-AC/7JofJvZGrrneWNaEnJeOLUx+JlGt7tNa0wZiRPT4MY1wmfKjt2+6O2p2uz2+skll8OZZmJMNqeke7kKbNgQ==}
hasBin: true
joi@17.13.3: joi@17.13.3:
resolution: {integrity: sha512-otDA4ldcIx+ZXsKHWmp0YizCweVRZG96J10b0FevjfuncLO1oX59THoAmHkNubYJ+9gWsYsp5k8v4ib6oDv1fA==} resolution: {integrity: sha512-otDA4ldcIx+ZXsKHWmp0YizCweVRZG96J10b0FevjfuncLO1oX59THoAmHkNubYJ+9gWsYsp5k8v4ib6oDv1fA==}
@@ -13112,8 +13115,8 @@ packages:
resolution: {integrity: sha512-Ray65LYEJrMMqDtsBUBXunEVP/g4wtATvq/xz9rchUoLy/9mSkkFgUko/8DVtGxgiP3vivpFMgfb9HpCuDrBHg==} resolution: {integrity: sha512-Ray65LYEJrMMqDtsBUBXunEVP/g4wtATvq/xz9rchUoLy/9mSkkFgUko/8DVtGxgiP3vivpFMgfb9HpCuDrBHg==}
engines: {node: '>=10.15.1'} engines: {node: '>=10.15.1'}
posthog-js@1.396.3: posthog-js@1.395.0:
resolution: {integrity: sha512-CL4mH3F2azsONko/zC2931RLdt6RxTsEr7x7Lyk0SDmj5hZuvBCTbg9MKViXwSRhBr3/SaGcaHS1n95WxTrsCw==} resolution: {integrity: sha512-5iTb00CGt2eQUUiBQysQiX89RAbCN6wK2sDNzvs9zv0alaY8mJ0ZySrUD3LQ+XyLhgM5pCpacBuUwChqiYDLDw==}
posthog-node@4.18.0: posthog-node@4.18.0:
resolution: {integrity: sha512-XROs1h+DNatgKh/AlIlCtDxWzwrKdYDb2mOs58n4yN8BkGN9ewqeQwG5ApS4/IzwCb7HPttUkOVulkYatd2PIw==} resolution: {integrity: sha512-XROs1h+DNatgKh/AlIlCtDxWzwrKdYDb2mOs58n4yN8BkGN9ewqeQwG5ApS4/IzwCb7HPttUkOVulkYatd2PIw==}
@@ -14291,8 +14294,8 @@ packages:
tailwind-merge@3.5.0: tailwind-merge@3.5.0:
resolution: {integrity: sha512-I8K9wewnVDkL1NTGoqWmVEIlUcB9gFriAEkXkfCjX5ib8ezGxtR3xD7iZIxrfArjEsH7F1CHD4RFUtxefdqV/A==} resolution: {integrity: sha512-I8K9wewnVDkL1NTGoqWmVEIlUcB9gFriAEkXkfCjX5ib8ezGxtR3xD7iZIxrfArjEsH7F1CHD4RFUtxefdqV/A==}
tailwindcss@4.3.2: tailwindcss@4.3.1:
resolution: {integrity: sha512-WtctNNSH8A9jlMIqxzuYumOHU5uGZyRv0Q5svQl+oEPy5w84YpBxdb7MdqyiSPQge5jTJ6zFQLq0PFygdccSBA==} resolution: {integrity: sha512-hk+TB1m+K8CYNrP6rjQaq/Y+4Zylwpa87mLYBKCunwnnQ9p+fHb7kmSfGqyEJoxF/O6CDyABWVFEafNSYKll+Q==}
tapable@2.3.3: tapable@2.3.3:
resolution: {integrity: sha512-uxc/zpqFg6x7C8vOE7lh6Lbda8eEL9zmVm/PLeTPBRhh1xCgdWaQ+J1CUieGpIfm2HdtsUpRv+HshiasBMcc6A==} resolution: {integrity: sha512-uxc/zpqFg6x7C8vOE7lh6Lbda8eEL9zmVm/PLeTPBRhh1xCgdWaQ+J1CUieGpIfm2HdtsUpRv+HshiasBMcc6A==}
@@ -14369,8 +14372,8 @@ packages:
resolution: {integrity: sha512-vzCjQO/rgUuK9sf8VJZvjqiqiHFaZLnOiimmUuOKODxWL8mm/xua7viT7aqX7dgPY60otQjUotzFMmCB4VdmqQ==} resolution: {integrity: sha512-vzCjQO/rgUuK9sf8VJZvjqiqiHFaZLnOiimmUuOKODxWL8mm/xua7viT7aqX7dgPY60otQjUotzFMmCB4VdmqQ==}
engines: {node: '>=10'} engines: {node: '>=10'}
testcontainers@12.0.4: testcontainers@12.0.3:
resolution: {integrity: sha512-QIR/8xF1+F/26cIM+9B4yyxNTbKJxAv3hygZyhPRgZ8Q2AhlPZjDdpXRuk16V37X4bgJRI3hXFhoEICMBA7Adg==} resolution: {integrity: sha512-6vfiL9CWIX0rWhTJitzrzHcv4Q/sUfUdBV12jMz6HZ58Lz6ZtXVecO6jljd1O3ookEWQHNICiYoYNEPpDLzuRw==}
text-decoder@1.2.0: text-decoder@1.2.0:
resolution: {integrity: sha512-n1yg1mOj9DNpk3NeZOx7T6jchTbyJS3i3cucbNN6FcdPriMZx7NsgrGpWWdWZZGxD7ES1XB+3uoqHMgOKaN+fg==} resolution: {integrity: sha512-n1yg1mOj9DNpk3NeZOx7T6jchTbyJS3i3cucbNN6FcdPriMZx7NsgrGpWWdWZZGxD7ES1XB+3uoqHMgOKaN+fg==}
@@ -14662,12 +14665,8 @@ packages:
resolution: {integrity: sha512-uZsKNuzQxDMUY6M3pIMvy5tvlGmtq8XJ2oLAkfRKGNu+1VQAIvLy2xIVG5ATZl5wDXl/tddByAWCizRbOme+TA==} resolution: {integrity: sha512-uZsKNuzQxDMUY6M3pIMvy5tvlGmtq8XJ2oLAkfRKGNu+1VQAIvLy2xIVG5ATZl5wDXl/tddByAWCizRbOme+TA==}
engines: {node: '>=20.18.1'} engines: {node: '>=20.18.1'}
undici@7.28.0: undici@8.4.1:
resolution: {integrity: sha512-cRZYrTDwWznlnRiPjggAGxZXanty6M8RV1ff8Wm4LWXBp7/IG8v5DnOm74DtUBp9OONpK75YlPnIjQqX0dBDtA==} resolution: {integrity: sha512-RNHlB4fxZK0IrkhBsxhlbx7s8kFWwr7rzzOqj5nvZugw3ig3RsB7KW3zVlV0eu8POl+rx5d1hmL7rRg0z1owow==}
engines: {node: '>=20.18.1'}
undici@8.5.0:
resolution: {integrity: sha512-xamtWoB1EshgjpmlXd7GGm2VfdDtw1+rD8uhry8pSNW3If6S8E0m2T2+orSKeZXEn/aPJMviCpDBA65WJt8zhg==}
engines: {node: '>=22.19.0'} engines: {node: '>=22.19.0'}
unhead@2.1.15: unhead@2.1.15:
@@ -18413,9 +18412,9 @@ snapshots:
dependencies: dependencies:
'@hapi/hoek': 9.3.0 '@hapi/hoek': 9.3.0
'@headlessui/tailwindcss@0.2.2(tailwindcss@4.3.2)': '@headlessui/tailwindcss@0.2.2(tailwindcss@4.3.1)':
dependencies: dependencies:
tailwindcss: 4.3.2 tailwindcss: 4.3.1
'@headlessui/vue@1.7.23(vue@3.5.35(typescript@6.0.3))': '@headlessui/vue@1.7.23(vue@3.5.35(typescript@6.0.3))':
dependencies: dependencies:
@@ -18424,11 +18423,11 @@ snapshots:
'@homarr/gridstack@1.12.0': {} '@homarr/gridstack@1.12.0': {}
'@homarr/node-unifi@2.6.0(undici@7.28.0)': '@homarr/node-unifi@2.6.0(undici@7.27.2)':
dependencies: dependencies:
axios: 1.9.0 axios: 1.9.0
eventemitter2: 6.4.9 eventemitter2: 6.4.9
http-cookie-agent: 6.0.8(tough-cookie@5.1.2)(undici@7.28.0) http-cookie-agent: 6.0.8(tough-cookie@5.1.2)(undici@7.27.2)
tough-cookie: 5.1.2 tough-cookie: 5.1.2
ws: 8.21.0 ws: 8.21.0
transitivePeerDependencies: transitivePeerDependencies:
@@ -19876,11 +19875,11 @@ snapshots:
'@polka/url@1.0.0-next.25': {} '@polka/url@1.0.0-next.25': {}
'@posthog/core@1.39.2': '@posthog/core@1.38.0':
dependencies: dependencies:
'@posthog/types': 1.392.0 '@posthog/types': 1.391.1
'@posthog/types@1.392.0': {} '@posthog/types@1.391.1': {}
'@protobufjs/aspromise@1.1.2': {} '@protobufjs/aspromise@1.1.2': {}
@@ -20095,11 +20094,11 @@ snapshots:
'@rvf/set-get@7.0.1': {} '@rvf/set-get@7.0.1': {}
'@scalar/agent-chat@0.12.13(nprogress@0.2.0)(tailwindcss@4.3.2)(typescript@6.0.3)(zod@4.4.3)': '@scalar/agent-chat@0.12.13(nprogress@0.2.0)(tailwindcss@4.3.1)(typescript@6.0.3)(zod@4.4.3)':
dependencies: dependencies:
'@ai-sdk/vue': 3.0.33(vue@3.5.35(typescript@6.0.3))(zod@4.4.3) '@ai-sdk/vue': 3.0.33(vue@3.5.35(typescript@6.0.3))(zod@4.4.3)
'@scalar/api-client': 3.12.0(nprogress@0.2.0)(tailwindcss@4.3.2)(typescript@6.0.3) '@scalar/api-client': 3.12.0(nprogress@0.2.0)(tailwindcss@4.3.1)(typescript@6.0.3)
'@scalar/components': 0.27.4(tailwindcss@4.3.2)(typescript@6.0.3) '@scalar/components': 0.27.4(tailwindcss@4.3.1)(typescript@6.0.3)
'@scalar/helpers': 0.9.0 '@scalar/helpers': 0.9.0
'@scalar/icons': 0.7.3(typescript@6.0.3) '@scalar/icons': 0.7.3(typescript@6.0.3)
'@scalar/json-magic': 0.12.17 '@scalar/json-magic': 0.12.17
@@ -20133,17 +20132,17 @@ snapshots:
- universal-cookie - universal-cookie
- zod - zod
'@scalar/api-client@3.12.0(nprogress@0.2.0)(tailwindcss@4.3.2)(typescript@6.0.3)': '@scalar/api-client@3.12.0(nprogress@0.2.0)(tailwindcss@4.3.1)(typescript@6.0.3)':
dependencies: dependencies:
'@headlessui/tailwindcss': 0.2.2(tailwindcss@4.3.2) '@headlessui/tailwindcss': 0.2.2(tailwindcss@4.3.1)
'@headlessui/vue': 1.7.23(vue@3.5.35(typescript@6.0.3)) '@headlessui/vue': 1.7.23(vue@3.5.35(typescript@6.0.3))
'@scalar/blocks': 0.1.0(tailwindcss@4.3.2)(typescript@6.0.3) '@scalar/blocks': 0.1.0(tailwindcss@4.3.1)(typescript@6.0.3)
'@scalar/components': 0.27.4(tailwindcss@4.3.2)(typescript@6.0.3) '@scalar/components': 0.27.4(tailwindcss@4.3.1)(typescript@6.0.3)
'@scalar/helpers': 0.9.0 '@scalar/helpers': 0.9.0
'@scalar/icons': 0.7.3(typescript@6.0.3) '@scalar/icons': 0.7.3(typescript@6.0.3)
'@scalar/oas-utils': 0.19.1(typescript@6.0.3) '@scalar/oas-utils': 0.19.1(typescript@6.0.3)
'@scalar/openapi-types': 0.9.1 '@scalar/openapi-types': 0.9.1
'@scalar/sidebar': 0.9.25(tailwindcss@4.3.2)(typescript@6.0.3) '@scalar/sidebar': 0.9.25(tailwindcss@4.3.1)(typescript@6.0.3)
'@scalar/snippetz': 0.9.19 '@scalar/snippetz': 0.9.19
'@scalar/themes': 0.16.2 '@scalar/themes': 0.16.2
'@scalar/typebox': 0.1.3 '@scalar/typebox': 0.1.3
@@ -20181,9 +20180,9 @@ snapshots:
- typescript - typescript
- universal-cookie - universal-cookie
'@scalar/api-reference-react@0.9.49(nprogress@0.2.0)(react@19.2.7)(tailwindcss@4.3.2)(typescript@6.0.3)(zod@4.4.3)': '@scalar/api-reference-react@0.9.49(nprogress@0.2.0)(react@19.2.7)(tailwindcss@4.3.1)(typescript@6.0.3)(zod@4.4.3)':
dependencies: dependencies:
'@scalar/api-reference': 1.62.0(nprogress@0.2.0)(tailwindcss@4.3.2)(typescript@6.0.3)(zod@4.4.3) '@scalar/api-reference': 1.62.0(nprogress@0.2.0)(tailwindcss@4.3.1)(typescript@6.0.3)(zod@4.4.3)
'@scalar/types': 0.16.0 '@scalar/types': 0.16.0
react: 19.2.7 react: 19.2.7
transitivePeerDependencies: transitivePeerDependencies:
@@ -20203,19 +20202,19 @@ snapshots:
- universal-cookie - universal-cookie
- zod - zod
'@scalar/api-reference@1.62.0(nprogress@0.2.0)(tailwindcss@4.3.2)(typescript@6.0.3)(zod@4.4.3)': '@scalar/api-reference@1.62.0(nprogress@0.2.0)(tailwindcss@4.3.1)(typescript@6.0.3)(zod@4.4.3)':
dependencies: dependencies:
'@headlessui/vue': 1.7.23(vue@3.5.35(typescript@6.0.3)) '@headlessui/vue': 1.7.23(vue@3.5.35(typescript@6.0.3))
'@scalar/agent-chat': 0.12.13(nprogress@0.2.0)(tailwindcss@4.3.2)(typescript@6.0.3)(zod@4.4.3) '@scalar/agent-chat': 0.12.13(nprogress@0.2.0)(tailwindcss@4.3.1)(typescript@6.0.3)(zod@4.4.3)
'@scalar/api-client': 3.12.0(nprogress@0.2.0)(tailwindcss@4.3.2)(typescript@6.0.3) '@scalar/api-client': 3.12.0(nprogress@0.2.0)(tailwindcss@4.3.1)(typescript@6.0.3)
'@scalar/blocks': 0.1.0(tailwindcss@4.3.2)(typescript@6.0.3) '@scalar/blocks': 0.1.0(tailwindcss@4.3.1)(typescript@6.0.3)
'@scalar/code-highlight': 0.4.0 '@scalar/code-highlight': 0.4.0
'@scalar/components': 0.27.4(tailwindcss@4.3.2)(typescript@6.0.3) '@scalar/components': 0.27.4(tailwindcss@4.3.1)(typescript@6.0.3)
'@scalar/helpers': 0.9.0 '@scalar/helpers': 0.9.0
'@scalar/icons': 0.7.3(typescript@6.0.3) '@scalar/icons': 0.7.3(typescript@6.0.3)
'@scalar/oas-utils': 0.19.1(typescript@6.0.3) '@scalar/oas-utils': 0.19.1(typescript@6.0.3)
'@scalar/schemas': 0.7.0 '@scalar/schemas': 0.7.0
'@scalar/sidebar': 0.9.25(tailwindcss@4.3.2)(typescript@6.0.3) '@scalar/sidebar': 0.9.25(tailwindcss@4.3.1)(typescript@6.0.3)
'@scalar/snippetz': 0.9.19 '@scalar/snippetz': 0.9.19
'@scalar/themes': 0.16.2 '@scalar/themes': 0.16.2
'@scalar/types': 0.16.0 '@scalar/types': 0.16.0
@@ -20247,9 +20246,9 @@ snapshots:
- universal-cookie - universal-cookie
- zod - zod
'@scalar/blocks@0.1.0(tailwindcss@4.3.2)(typescript@6.0.3)': '@scalar/blocks@0.1.0(tailwindcss@4.3.1)(typescript@6.0.3)':
dependencies: dependencies:
'@scalar/components': 0.27.4(tailwindcss@4.3.2)(typescript@6.0.3) '@scalar/components': 0.27.4(tailwindcss@4.3.1)(typescript@6.0.3)
'@scalar/helpers': 0.9.0 '@scalar/helpers': 0.9.0
'@scalar/icons': 0.7.3(typescript@6.0.3) '@scalar/icons': 0.7.3(typescript@6.0.3)
'@scalar/snippetz': 0.9.19 '@scalar/snippetz': 0.9.19
@@ -20285,11 +20284,11 @@ snapshots:
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
'@scalar/components@0.27.4(tailwindcss@4.3.2)(typescript@6.0.3)': '@scalar/components@0.27.4(tailwindcss@4.3.1)(typescript@6.0.3)':
dependencies: dependencies:
'@floating-ui/utils': 0.2.10 '@floating-ui/utils': 0.2.10
'@floating-ui/vue': 1.1.9(vue@3.5.35(typescript@6.0.3)) '@floating-ui/vue': 1.1.9(vue@3.5.35(typescript@6.0.3))
'@headlessui/tailwindcss': 0.2.2(tailwindcss@4.3.2) '@headlessui/tailwindcss': 0.2.2(tailwindcss@4.3.1)
'@headlessui/vue': 1.7.23(vue@3.5.35(typescript@6.0.3)) '@headlessui/vue': 1.7.23(vue@3.5.35(typescript@6.0.3))
'@scalar/code-highlight': 0.4.0 '@scalar/code-highlight': 0.4.0
'@scalar/helpers': 0.9.0 '@scalar/helpers': 0.9.0
@@ -20347,9 +20346,9 @@ snapshots:
'@scalar/helpers': 0.9.0 '@scalar/helpers': 0.9.0
'@scalar/validation': 0.6.0 '@scalar/validation': 0.6.0
'@scalar/sidebar@0.9.25(tailwindcss@4.3.2)(typescript@6.0.3)': '@scalar/sidebar@0.9.25(tailwindcss@4.3.1)(typescript@6.0.3)':
dependencies: dependencies:
'@scalar/components': 0.27.4(tailwindcss@4.3.2)(typescript@6.0.3) '@scalar/components': 0.27.4(tailwindcss@4.3.1)(typescript@6.0.3)
'@scalar/helpers': 0.9.0 '@scalar/helpers': 0.9.0
'@scalar/icons': 0.7.3(typescript@6.0.3) '@scalar/icons': 0.7.3(typescript@6.0.3)
'@scalar/themes': 0.16.2 '@scalar/themes': 0.16.2
@@ -20826,7 +20825,7 @@ snapshots:
'@tabler/icons@3.44.0': {} '@tabler/icons@3.44.0': {}
'@tailwindcss/node@4.3.2': '@tailwindcss/node@4.3.1':
dependencies: dependencies:
'@jridgewell/remapping': 2.3.5 '@jridgewell/remapping': 2.3.5
enhanced-resolve: 5.21.6 enhanced-resolve: 5.21.6
@@ -20834,66 +20833,66 @@ snapshots:
lightningcss: 1.32.0 lightningcss: 1.32.0
magic-string: 0.30.21 magic-string: 0.30.21
source-map-js: 1.2.1 source-map-js: 1.2.1
tailwindcss: 4.3.2 tailwindcss: 4.3.1
'@tailwindcss/oxide-android-arm64@4.3.2': '@tailwindcss/oxide-android-arm64@4.3.1':
optional: true optional: true
'@tailwindcss/oxide-darwin-arm64@4.3.2': '@tailwindcss/oxide-darwin-arm64@4.3.1':
optional: true optional: true
'@tailwindcss/oxide-darwin-x64@4.3.2': '@tailwindcss/oxide-darwin-x64@4.3.1':
optional: true optional: true
'@tailwindcss/oxide-freebsd-x64@4.3.2': '@tailwindcss/oxide-freebsd-x64@4.3.1':
optional: true optional: true
'@tailwindcss/oxide-linux-arm-gnueabihf@4.3.2': '@tailwindcss/oxide-linux-arm-gnueabihf@4.3.1':
optional: true optional: true
'@tailwindcss/oxide-linux-arm64-gnu@4.3.2': '@tailwindcss/oxide-linux-arm64-gnu@4.3.1':
optional: true optional: true
'@tailwindcss/oxide-linux-arm64-musl@4.3.2': '@tailwindcss/oxide-linux-arm64-musl@4.3.1':
optional: true optional: true
'@tailwindcss/oxide-linux-x64-gnu@4.3.2': '@tailwindcss/oxide-linux-x64-gnu@4.3.1':
optional: true optional: true
'@tailwindcss/oxide-linux-x64-musl@4.3.2': '@tailwindcss/oxide-linux-x64-musl@4.3.1':
optional: true optional: true
'@tailwindcss/oxide-wasm32-wasi@4.3.2': '@tailwindcss/oxide-wasm32-wasi@4.3.1':
optional: true optional: true
'@tailwindcss/oxide-win32-arm64-msvc@4.3.2': '@tailwindcss/oxide-win32-arm64-msvc@4.3.1':
optional: true optional: true
'@tailwindcss/oxide-win32-x64-msvc@4.3.2': '@tailwindcss/oxide-win32-x64-msvc@4.3.1':
optional: true optional: true
'@tailwindcss/oxide@4.3.2': '@tailwindcss/oxide@4.3.1':
optionalDependencies: optionalDependencies:
'@tailwindcss/oxide-android-arm64': 4.3.2 '@tailwindcss/oxide-android-arm64': 4.3.1
'@tailwindcss/oxide-darwin-arm64': 4.3.2 '@tailwindcss/oxide-darwin-arm64': 4.3.1
'@tailwindcss/oxide-darwin-x64': 4.3.2 '@tailwindcss/oxide-darwin-x64': 4.3.1
'@tailwindcss/oxide-freebsd-x64': 4.3.2 '@tailwindcss/oxide-freebsd-x64': 4.3.1
'@tailwindcss/oxide-linux-arm-gnueabihf': 4.3.2 '@tailwindcss/oxide-linux-arm-gnueabihf': 4.3.1
'@tailwindcss/oxide-linux-arm64-gnu': 4.3.2 '@tailwindcss/oxide-linux-arm64-gnu': 4.3.1
'@tailwindcss/oxide-linux-arm64-musl': 4.3.2 '@tailwindcss/oxide-linux-arm64-musl': 4.3.1
'@tailwindcss/oxide-linux-x64-gnu': 4.3.2 '@tailwindcss/oxide-linux-x64-gnu': 4.3.1
'@tailwindcss/oxide-linux-x64-musl': 4.3.2 '@tailwindcss/oxide-linux-x64-musl': 4.3.1
'@tailwindcss/oxide-wasm32-wasi': 4.3.2 '@tailwindcss/oxide-wasm32-wasi': 4.3.1
'@tailwindcss/oxide-win32-arm64-msvc': 4.3.2 '@tailwindcss/oxide-win32-arm64-msvc': 4.3.1
'@tailwindcss/oxide-win32-x64-msvc': 4.3.2 '@tailwindcss/oxide-win32-x64-msvc': 4.3.1
'@tailwindcss/postcss@4.3.2': '@tailwindcss/postcss@4.3.1':
dependencies: dependencies:
'@alloc/quick-lru': 5.2.0 '@alloc/quick-lru': 5.2.0
'@tailwindcss/node': 4.3.2 '@tailwindcss/node': 4.3.1
'@tailwindcss/oxide': 4.3.2 '@tailwindcss/oxide': 4.3.1
postcss: 8.5.16 postcss: 8.5.15
tailwindcss: 4.3.2 tailwindcss: 4.3.1
'@tanstack/match-sorter-utils@8.19.4': '@tanstack/match-sorter-utils@8.19.4':
dependencies: dependencies:
@@ -20958,23 +20957,23 @@ snapshots:
'@tanstack/virtual-core': 3.17.0 '@tanstack/virtual-core': 3.17.0
vue: 3.5.35(typescript@6.0.3) vue: 3.5.35(typescript@6.0.3)
'@testcontainers/mysql@12.0.4': '@testcontainers/mysql@12.0.3':
dependencies: dependencies:
testcontainers: 12.0.4 testcontainers: 12.0.3
transitivePeerDependencies: transitivePeerDependencies:
- bare-buffer - bare-buffer
- supports-color - supports-color
'@testcontainers/postgresql@12.0.4': '@testcontainers/postgresql@12.0.3':
dependencies: dependencies:
testcontainers: 12.0.4 testcontainers: 12.0.3
transitivePeerDependencies: transitivePeerDependencies:
- bare-buffer - bare-buffer
- supports-color - supports-color
'@testcontainers/redis@12.0.4': '@testcontainers/redis@12.0.3':
dependencies: dependencies:
testcontainers: 12.0.4 testcontainers: 12.0.3
transitivePeerDependencies: transitivePeerDependencies:
- bare-buffer - bare-buffer
- supports-color - supports-color
@@ -23470,6 +23469,17 @@ snapshots:
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
dockerode@5.0.0:
dependencies:
'@balena/dockerignore': 1.0.2
'@grpc/grpc-js': 1.12.5
'@grpc/proto-loader': 0.7.13
docker-modem: 5.0.7
protobufjs: 7.4.0
tar-fs: 2.1.4
transitivePeerDependencies:
- supports-color
dockerode@5.0.1: dockerode@5.0.1:
dependencies: dependencies:
'@balena/dockerignore': 1.0.2 '@balena/dockerignore': 1.0.2
@@ -24327,7 +24337,7 @@ snapshots:
get-own-enumerable-property-symbols@3.0.2: {} get-own-enumerable-property-symbols@3.0.2: {}
get-port@5.1.1: {} get-port@7.2.0: {}
get-proto@1.0.1: get-proto@1.0.1:
dependencies: dependencies:
@@ -24830,12 +24840,12 @@ snapshots:
http-cache-semantics@4.2.0: {} http-cache-semantics@4.2.0: {}
http-cookie-agent@6.0.8(tough-cookie@5.1.2)(undici@7.28.0): http-cookie-agent@6.0.8(tough-cookie@5.1.2)(undici@7.27.2):
dependencies: dependencies:
agent-base: 7.1.3 agent-base: 7.1.3
tough-cookie: 5.1.2 tough-cookie: 5.1.2
optionalDependencies: optionalDependencies:
undici: 7.28.0 undici: 7.27.2
http-deceiver@1.2.7: {} http-deceiver@1.2.7: {}
@@ -27409,12 +27419,12 @@ snapshots:
posthog-docusaurus@2.0.5: {} posthog-docusaurus@2.0.5: {}
posthog-js@1.396.3: posthog-js@1.395.0:
dependencies: dependencies:
'@posthog/core': 1.39.2 '@posthog/core': 1.38.0
'@posthog/types': 1.392.0 '@posthog/types': 1.391.1
core-js: 3.49.0 core-js: 3.49.0
dompurify: 3.4.11 dompurify: 3.4.10
fflate: 0.4.8 fflate: 0.4.8
preact: 10.29.2 preact: 10.29.2
query-selector-shadow-dom: 1.0.1 query-selector-shadow-dom: 1.0.1
@@ -28923,7 +28933,7 @@ snapshots:
tailwind-merge@3.5.0: {} tailwind-merge@3.5.0: {}
tailwindcss@4.3.2: {} tailwindcss@4.3.1: {}
tapable@2.3.3: {} tapable@2.3.3: {}
@@ -29039,7 +29049,7 @@ snapshots:
commander: 2.20.3 commander: 2.20.3
source-map-support: 0.5.21 source-map-support: 0.5.21
testcontainers@12.0.4: testcontainers@12.0.3:
dependencies: dependencies:
'@balena/dockerignore': 1.0.2 '@balena/dockerignore': 1.0.2
'@types/dockerode': 4.0.1 '@types/dockerode': 4.0.1
@@ -29048,14 +29058,14 @@ snapshots:
byline: 5.0.0 byline: 5.0.0
debug: 4.4.3 debug: 4.4.3
docker-compose: 1.4.2 docker-compose: 1.4.2
dockerode: 5.0.1 dockerode: 5.0.0
get-port: 5.1.1 get-port: 7.2.0
proper-lockfile: 4.1.2 proper-lockfile: 4.1.2
properties-reader: 3.0.1 properties-reader: 3.0.1
ssh-remote-port-forward: 1.0.4 ssh-remote-port-forward: 1.0.4
tar-fs: 3.1.3 tar-fs: 3.1.2
tmp: 0.2.7 tmp: 0.2.7
undici: 8.5.0 undici: 8.4.1
transitivePeerDependencies: transitivePeerDependencies:
- bare-buffer - bare-buffer
- supports-color - supports-color
@@ -29314,9 +29324,7 @@ snapshots:
undici@7.27.2: {} undici@7.27.2: {}
undici@7.28.0: {} undici@8.4.1: {}
undici@8.5.0: {}
unhead@2.1.15: unhead@2.1.15:
dependencies: dependencies:
+6 -8
View File
@@ -50,9 +50,9 @@ catalog:
"@tanstack/react-query-devtools": ^5.101.0 "@tanstack/react-query-devtools": ^5.101.0
"@tanstack/react-query-next-experimental": ^5.101.0 "@tanstack/react-query-next-experimental": ^5.101.0
"@tanstack/react-query-persist-client": ^5.101.0 "@tanstack/react-query-persist-client": ^5.101.0
"@testcontainers/mysql": ^12.0.4 "@testcontainers/mysql": ^12.0.3
"@testcontainers/postgresql": ^12.0.4 "@testcontainers/postgresql": ^12.0.3
"@testcontainers/redis": ^12.0.4 "@testcontainers/redis": ^12.0.3
"@tiptap/extension-color": 3.27.1 "@tiptap/extension-color": 3.27.1
"@tiptap/extension-highlight": 3.27.1 "@tiptap/extension-highlight": 3.27.1
"@tiptap/extension-image": 3.27.1 "@tiptap/extension-image": 3.27.1
@@ -93,7 +93,7 @@ catalog:
"@types/video.js": ^7.3.58 "@types/video.js": ^7.3.58
"@types/ws": ^8.18.1 "@types/ws": ^8.18.1
"@types/xml2js": ^0.4.14 "@types/xml2js": ^0.4.14
posthog-js: ^1.396.2 posthog-js: ^1.395.0
posthog-node: ^4.18.0 posthog-node: ^4.18.0
"@vitejs/plugin-react": ^6.0.3 "@vitejs/plugin-react": ^6.0.3
"@vitest/coverage-v8": ^4.1.9 "@vitest/coverage-v8": ^4.1.9
@@ -170,7 +170,7 @@ catalog:
semver-parser: ^4.2.1 semver-parser: ^4.2.1
superjson: 2.2.6 superjson: 2.2.6
svgson: ^5.3.1 svgson: ^5.3.1
testcontainers: ^12.0.4 testcontainers: ^12.0.3
timezones-ical-library: ^2.2.1 timezones-ical-library: ^2.2.1
trpc-to-mcp: ^1.3.2 trpc-to-mcp: ^1.3.2
trpc-to-openapi: ^3.3.0 trpc-to-openapi: ^3.3.0
@@ -179,7 +179,7 @@ catalog:
turbo: ^2.10.0 turbo: ^2.10.0
typescript: ^6.0.3 typescript: ^6.0.3
vite: ^8.1.0 vite: ^8.1.0
undici: 7.28.0 undici: 7.27.2
use-deep-compare-effect: ^1.8.1 use-deep-compare-effect: ^1.8.1
video.js: ^8.23.9 video.js: ^8.23.9
vite-tsconfig-paths: ^6.1.1 vite-tsconfig-paths: ^6.1.1
@@ -205,8 +205,6 @@ minimumReleaseAgeExclude:
- turbo@2.9.14 - turbo@2.9.14
# Renovate security update: form-data@4.0.6 # Renovate security update: form-data@4.0.6
- form-data@4.0.6 - form-data@4.0.6
# Renovate security update: undici@7.28.0
- undici@7.28.0
overrides: overrides:
"@babel/helpers@<7.26.10": ">=7.29.7" "@babel/helpers@<7.26.10": ">=7.29.7"
"@babel/runtime@<7.26.10": ">=7.29.7" "@babel/runtime@<7.26.10": ">=7.29.7"