* feat(analytics): migrate from Umami to PostHog server-side analytics Replace @umami/node with posthog-node for all server-side telemetry. Add singleton PostHog client, feature tracking POC, DAU heartbeat, and tRPC analytics router. Cron job is now locked (no manual trigger, no custom interval). Update consent copy to explain what we collect and why. * style: auto-fix lint and format * refactor(analytics): simplify + add client-side posthog-js init - Inline constants.ts and track.ts into client.ts (single source) - Remove dead exports (shutdownPostHogAsync, getPostHogClient) - Flatten all DB queries into one Promise.all (no waterfall) - Derive integration/widget totals from group-by (drop redundant counts) - Add posthog-js with dynamic import, gated on enableGeneral - Move Analytics component to body, pass consent from server settings * style: auto-fix lint and format * feat(cron): add hidden flag to cron jobs, hide analytics from task panel The analytics job runs silently in the background — users don't need to see or interact with it. Hidden jobs are filtered out of getAllAsync so they never appear in the management UI. * refactor(analytics): simplify to single toggle, always collect all data Remove granular enableWidgetData/enableIntegrationData/enableUserData toggles. Analytics is now a single on/off switch. When enabled, all anonymous usage data is collected in one flat Promise.all call. Side effect: existing users with enableGeneral=true who had granular flags off will now send all data. This is by design — the granular controls added complexity without meaningful privacy benefit since the data is already anonymous counts. * style: auto-fix lint and format
247 lines
6.6 KiB
YAML
247 lines
6.6 KiB
YAML
packages:
|
|
- apps/*
|
|
- packages/*
|
|
- tooling/*
|
|
catalog:
|
|
"@auth/core": ^0.41.2
|
|
"@auth/drizzle-adapter": ^1.11.2
|
|
"@ctrl/deluge": ^8.0.0
|
|
"@ctrl/qbittorrent": ^9.12.2
|
|
"@ctrl/transmission": ^7.4.0
|
|
"@dnd-kit/core": ^6.3.1
|
|
"@dnd-kit/modifiers": ^9.0.0
|
|
"@dnd-kit/sortable": ^10.0.0
|
|
"@dnd-kit/utilities": ^3.2.2
|
|
"@drizzle-team/brocli": ^0.12.0
|
|
"@extractus/feed-extractor": 7.2.1
|
|
'@gfazioli/mantine-onboarding-tour': ^4.0.4
|
|
"@gitbeaker/rest": ^43.8.0
|
|
"@homarr/gridstack": ^1.12.0
|
|
"@homarr/node-unifi": ^2.6.0
|
|
"@immich/sdk": ^2.7.5
|
|
"@jellyfin/sdk": ^0.13.0
|
|
"@kubernetes/client-node": ^1.4.0
|
|
"@modelcontextprotocol/sdk": 1.29.0
|
|
"@mantine/charts": ^9.3.1
|
|
"@mantine/colors-generator": ^9.3.1
|
|
"@mantine/core": ^9.3.1
|
|
"@mantine/dates": ^9.3.1
|
|
"@mantine/dropzone": ^9.3.1
|
|
"@mantine/form": ^9.3.1
|
|
"@mantine/hooks": ^9.3.1
|
|
"@mantine/modals": ^9.3.1
|
|
"@mantine/notifications": ^9.3.1
|
|
"@mantine/spotlight": ^9.3.1
|
|
"@mantine/tiptap": ^9.3.1
|
|
"@next/eslint-plugin-next": 16.2.9
|
|
"@octokit/auth-app": ^8.2.0
|
|
"@paralleldrive/cuid2": ^3.3.0
|
|
"@playwright/test": ^1.60.0
|
|
"@semantic-release/changelog": ^6.0.3
|
|
"@semantic-release/commit-analyzer": ^13.0.1
|
|
"@semantic-release/git": ^10.0.1
|
|
"@semantic-release/github": ^12.0.8
|
|
"@semantic-release/npm": ^13.1.5
|
|
"@semantic-release/release-notes-generator": ^14.1.1
|
|
"@t3-oss/env-nextjs": ^0.13.11
|
|
"@tabler/icons-react": ^3.44.0
|
|
"@tanstack/query-persist-client-core": ^5.101.0
|
|
"@tanstack/react-query": ^5.101.0
|
|
"@tanstack/react-query-devtools": ^5.101.0
|
|
"@tanstack/react-query-next-experimental": ^5.101.0
|
|
"@testcontainers/mysql": ^12.0.2
|
|
"@testcontainers/postgresql": ^12.0.2
|
|
"@testcontainers/redis": ^12.0.2
|
|
"@tiptap/extension-color": 3.26.1
|
|
"@tiptap/extension-highlight": 3.26.1
|
|
"@tiptap/extension-image": 3.26.1
|
|
"@tiptap/extension-link": ^3.26.1
|
|
"@tiptap/extension-placeholder": ^3.26.1
|
|
"@tiptap/extension-table": 3.26.1
|
|
"@tiptap/extension-table-cell": 3.26.1
|
|
"@tiptap/extension-table-header": 3.26.1
|
|
"@tiptap/extension-table-row": 3.26.1
|
|
"@tiptap/extension-task-item": 3.26.1
|
|
"@tiptap/extension-task-list": 3.26.1
|
|
"@tiptap/extension-text-align": 3.26.1
|
|
"@tiptap/extension-text-style": 3.26.1
|
|
"@tiptap/extension-underline": 3.26.1
|
|
"@tiptap/react": ^3.26.1
|
|
"@tiptap/starter-kit": ^3.26.1
|
|
"@trpc/client": ^11.17.0
|
|
"@trpc/next": ^11.17.0
|
|
"@trpc/react-query": ^11.17.0
|
|
"@trpc/server": ^11.17.0
|
|
"@trpc/tanstack-react-query": ^11.17.0
|
|
"@turbo/gen": ^2.9.18
|
|
"@types/adm-zip": 0.5.8
|
|
"@types/bcrypt": 6.0.0
|
|
"@types/better-sqlite3": 7.6.13
|
|
"@types/chroma-js": 3.1.2
|
|
"@types/cookies": 0.9.2
|
|
"@types/crypto-js": ^4.2.2
|
|
"@types/css-modules": ^1.0.5
|
|
"@types/dockerode": ^4.0.1
|
|
"@types/node": ^24.13.2
|
|
"@types/node-unifi": ^2.5.1
|
|
"@types/pg": ^8.20.0
|
|
"@types/prismjs": ^1.26.6
|
|
"@types/react": 19.2.17
|
|
"@types/react-dom": 19.2.3
|
|
"@scalar/api-reference-react": ^0.9.46
|
|
"@types/video.js": ^7.3.58
|
|
"@types/ws": ^8.18.1
|
|
"@types/xml2js": ^0.4.14
|
|
posthog-js: ^1.255.0
|
|
posthog-node: ^4.17.0
|
|
"@vitejs/plugin-react": ^6.0.2
|
|
"@vitest/coverage-v8": ^4.1.8
|
|
"@vitest/ui": ^4.1.8
|
|
"@xterm/addon-canvas": ^0.7.0
|
|
"@xterm/addon-fit": 0.11.0
|
|
"@xterm/xterm": ^6.0.0
|
|
adm-zip: 0.5.17
|
|
jszip: ^3.10.1
|
|
sql.js: ^1.14.1
|
|
babel-plugin-react-compiler: ^1.0.0
|
|
bcrypt: ^6.0.0
|
|
better-sqlite3: ^12.10.0
|
|
chroma-js: ^3.2.0
|
|
clsx: ^2.1.1
|
|
concurrently: ^10.0.3
|
|
conventional-changelog-conventionalcommits: ^9.3.1
|
|
cookie: 1.1.1
|
|
cookies: ^0.9.1
|
|
croner: 10.0.1
|
|
cross-env: ^10.1.0
|
|
crypto-js: ^4.2.0
|
|
dayjs: ^1.11.21
|
|
deepmerge: 4.3.1
|
|
dns-caching: ^0.2.9
|
|
dockerode: ^5.0.0
|
|
dotenv: ^17.4.2
|
|
dotenv-cli: ^11.0.0
|
|
drizzle-kit: ^0.31.10
|
|
drizzle-orm: ^0.45.2
|
|
drizzle-zod: ^0.8.3
|
|
esbuild: ^0.28.0
|
|
fast-xml-parser: ^5.8.0
|
|
fastify: ^5.8.5
|
|
flag-icons: ^7.5.0
|
|
glob: ^13.0.6
|
|
ical.js: ^2.2.1
|
|
ioredis: 5.11.1
|
|
isomorphic-dompurify: ^3.17.0
|
|
jotai: ^2.20.1
|
|
jsdom: ^29.1.1
|
|
json5: ^2.2.3
|
|
jsonpath-plus: ^10.4.0
|
|
ldapts: 8.1.8
|
|
lodash.clonedeep: ^4.5.0
|
|
lucide-react: ^1.18.0
|
|
"mantine-contextmenu": ^9.3.0
|
|
mantine-datatable: ^9.3.0
|
|
mantine-react-table: npm:mantine-react-table-open@9.0.3
|
|
mcp-handler: ^1.1.0
|
|
maria2: ^0.4.1
|
|
mysql2: 3.22.5
|
|
next: 16.2.9
|
|
next-auth: 5.0.0-beta.31
|
|
next-intl: 4.13.0
|
|
node-loader: ^2.1.0
|
|
octokit: ^5.0.5
|
|
oxfmt: ^0.54.0
|
|
oxlint: ^1.69.0
|
|
pg: ^8.21.0
|
|
postcss-preset-mantine: ^1.18.0
|
|
prismjs: ^1.30.0
|
|
proxmox-api: 1.1.1
|
|
react: 19.2.7
|
|
react-dom: 19.2.7
|
|
react-error-boundary: ^6.1.2
|
|
react-jsx-parser: ^2.4.1
|
|
react-markdown: ^10.1.0
|
|
react-quill-new: ^3.8.3
|
|
react-simple-code-editor: ^0.14.1
|
|
recharts: ^3.8.1
|
|
sass: ^1.101.0
|
|
semantic-release: ^25.0.5
|
|
semver-parser: ^4.2.1
|
|
superjson: 2.2.6
|
|
svgson: ^5.3.1
|
|
testcontainers: ^12.0.2
|
|
timezones-ical-library: ^2.2.0
|
|
trpc-to-mcp: ^1.3.2
|
|
trpc-to-openapi: ^3.3.0
|
|
tsdav: ^2.2.2
|
|
tsx: 4.20.4
|
|
turbo: ^2.9.18
|
|
typescript: ^6.0.3
|
|
vite: ^8.0.16
|
|
undici: 7.27.2
|
|
use-deep-compare-effect: ^1.8.1
|
|
video.js: ^8.23.7
|
|
vite-tsconfig-paths: ^6.1.1
|
|
vitest: ^4.1.8
|
|
winston: 3.19.0
|
|
ws: ^8.21.0
|
|
xml2js: ^0.6.2
|
|
yaml: 2.9.0
|
|
zod: ^4.4.3
|
|
zod-form-data: ^3.0.2
|
|
zod-validation-error: ^5.0.0
|
|
catalogMode: strict
|
|
nodeLinker: hoisted
|
|
strictPeerDependencies: false
|
|
engineStrict: true
|
|
verifyDepsBeforeRun: warn
|
|
minimumReleaseAge: 4320
|
|
minimumReleaseAgeExclude:
|
|
- next
|
|
- "@next/*"
|
|
# Renovate security update: turbo@2.9.14
|
|
- turbo@2.9.14
|
|
# Renovate security update: form-data@4.0.6
|
|
- form-data@4.0.6
|
|
overrides:
|
|
"@babel/helpers@<7.26.10": ">=7.29.7"
|
|
"@babel/runtime@<7.26.10": ">=7.29.7"
|
|
"axios@>=1.0.0 <1.8.2": ">=1.17.0"
|
|
"brace-expansion@>=2.0.0 <=2.0.1": ">=5.0.6"
|
|
"brace-expansion@>=1.0.0 <=1.1.11": ">=5.0.6"
|
|
"esbuild@<=0.24.2": ">=0.28.0"
|
|
"form-data@>=4.0.0 <4.0.4": ">=4.0.6"
|
|
"hono@<4.6.5": ">=4.12.25"
|
|
"linkifyjs@<4.3.2": ">=4.3.3"
|
|
"nanoid@>=4.0.0 <5.0.9": ">=5.1.11"
|
|
"prismjs@<1.30.0": ">=1.30.0"
|
|
"proxmox-api>undici": "7.27.1"
|
|
"react-is": "^19.2.7"
|
|
"rollup@>=4.0.0 <4.22.4": ">=4.62.0"
|
|
"sha.js@<=2.4.11": ">=2.4.12"
|
|
"tar-fs@>=3.0.0 <3.0.9": ">=3.1.2"
|
|
"tar-fs@>=2.0.0 <2.1.3": ">=3.1.2"
|
|
"tmp@<=0.2.3": ">=0.2.7"
|
|
"vite@>=5.0.0 <=5.4.18": ">=8.0.16"
|
|
patchedDependencies:
|
|
"@types/node-unifi": "patches/@types__node-unifi.patch"
|
|
"trpc-to-openapi": "patches/trpc-to-openapi.patch"
|
|
allowUnusedPatches: true
|
|
allowBuilds:
|
|
"@tree-sitter-grammars/tree-sitter-yaml": true
|
|
bcrypt: true
|
|
better-sqlite3: true
|
|
cpu-features: true
|
|
esbuild: true
|
|
sharp: true
|
|
ssh2: true
|
|
tree-sitter: true
|
|
tree-sitter-json: true
|
|
"@scarf/scarf": false
|
|
"@swc/core": false
|
|
core-js: false
|
|
core-js-pure: false
|
|
msw: false
|
|
protobufjs: false
|
|
vue-demi: false
|