mirror of
https://github.com/unraid/api.git
synced 2026-01-04 07:29:48 -06:00
6ea94f061d5b2e6c6fbfa6949006960501e3f4e7
2153 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
6ea94f061d |
feat: add ups monitoring to graphql api (#1526)
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Introduced UPS management capabilities, including queries and mutations for UPS device status, configuration, and live updates via GraphQL. * Added support for configuring UPS parameters such as service state, cable type, communication protocol, shutdown thresholds, and power control options. * Provided detailed UPS device information including battery, power, and operational status. * **Tests** * Added comprehensive tests for UPS resolver and service logic, covering configuration, event publishing, killpower functionality, and error handling. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com> |
||
|
|
782d5ebadc |
fix: remove connect api plugin upon removal of Connect Unraid plugin (#1548)
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Bug Fixes** * Improved plugin removal process on Unraid 7.2 and above by ensuring the associated API plugin component is actively uninstalled during plugin removal. * **Enhancements** * API version is now consistently set during application startup and configuration migration. * Configuration file writing logs now include detailed file paths for better traceability. * File operations now use atomic writes for increased reliability. * **Chores** * Updated dependencies to include atomic file writing support. * Removed redundant configuration persistence calls after plugin changes. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
dfe363bc37 |
chore: add organizer data structure for docker folders (#1540)
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Introduced a comprehensive validation system for organizer data, including structural and referential integrity checks for views and organizers. * Added new data models for resources, folders, references, and views, with strong typing and validation. * Implemented a sequential validation processor with configurable fail-fast behavior and detailed error reporting. * Added a dedicated service for managing and validating Docker organizer configuration files. * **Bug Fixes** * Corrected spelling of error-related properties from "errorOccured" to "errorOccurred" in multiple services to ensure consistent error handling. * **Tests** * Added extensive unit tests for organizer validation logic, view structure validation, and the validation processor to ensure correctness across various edge cases and scenarios. * Added comprehensive tests verifying validation processor behavior under diverse conditions. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
6b3b951d82 |
fix: SSO not being detected (#1546)
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Bug Fixes** * Improved reliability of Single Sign-On (SSO) status detection, ensuring the SSO state is always correctly set regardless of plugin status. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
5449e30eed |
chore(main): release 4.11.0 (#1519)
🤖 I have created a release *beep* *boop* --- ## [4.11.0](https://github.com/unraid/api/compare/v4.10.0...v4.11.0) (2025-07-28) ### Features * tailwind v4 ([#1522](https://github.com/unraid/api/issues/1522)) ([v4.11.0 |
||
|
|
dc12656f81 |
chore: remove codeowners in favor of coderabbit suggested reviewers (#1545)
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Chores** * Removed the code ownership assignments from the repository. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
f14b74af91 |
fix: border color incorrect in tailwind (#1544)
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Introduced new UI theme variables for border color, border radius, and primary color states to enhance customization options. * **Refactor** * Removed redundant and unused CSS variables related to primary color and border radius for improved consistency and maintainability. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
e2fa648d1c |
fix(deps): update all non-major dependencies (#1520)
This PR contains the following updates: | Package | Change | Age | Confidence | Type | Update | |---|---|---|---|---|---| | [@eslint/js](https://eslint.org) ([source](https://redirect.github.com/eslint/eslint/tree/HEAD/packages/js)) | [`9.31.0` -> `9.32.0`](https://renovatebot.com/diffs/npm/@eslint%2fjs/9.31.0/9.32.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor | | [@graphql-tools/merge](https://redirect.github.com/ardatan/graphql-tools) ([source](https://redirect.github.com/ardatan/graphql-tools/tree/HEAD/packages/merge)) | [`9.0.24` -> `9.1.1`](https://renovatebot.com/diffs/npm/@graphql-tools%2fmerge/9.0.24/9.1.1) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor | | [@graphql-tools/schema](https://redirect.github.com/ardatan/graphql-tools) ([source](https://redirect.github.com/ardatan/graphql-tools/tree/HEAD/packages/schema)) | [`10.0.23` -> `10.0.25`](https://renovatebot.com/diffs/npm/@graphql-tools%2fschema/10.0.23/10.0.25) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch | | [@graphql-tools/utils](https://redirect.github.com/ardatan/graphql-tools) ([source](https://redirect.github.com/ardatan/graphql-tools/tree/HEAD/packages/utils)) | [`10.8.6` -> `10.9.1`](https://renovatebot.com/diffs/npm/@graphql-tools%2futils/10.8.6/10.9.1) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | peerDependencies | minor | | [@graphql-tools/utils](https://redirect.github.com/ardatan/graphql-tools) ([source](https://redirect.github.com/ardatan/graphql-tools/tree/HEAD/packages/utils)) | [`10.8.6` -> `10.9.1`](https://renovatebot.com/diffs/npm/@graphql-tools%2futils/10.8.6/10.9.1) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor | | [@graphql-tools/utils](https://redirect.github.com/ardatan/graphql-tools) ([source](https://redirect.github.com/ardatan/graphql-tools/tree/HEAD/packages/utils)) | [`10.8.6` -> `10.9.1`](https://renovatebot.com/diffs/npm/@graphql-tools%2futils/10.8.6/10.9.1) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | pnpm.overrides | minor | | [@graphql-tools/utils](https://redirect.github.com/ardatan/graphql-tools) ([source](https://redirect.github.com/ardatan/graphql-tools/tree/HEAD/packages/utils)) | [`10.8.6` -> `10.9.1`](https://renovatebot.com/diffs/npm/@graphql-tools%2futils/10.8.6/10.9.1) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor | | [@internationalized/number](https://redirect.github.com/adobe/react-spectrum) | [`3.6.3` -> `3.6.4`](https://renovatebot.com/diffs/npm/@internationalized%2fnumber/3.6.3/3.6.4) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch | | [@manypkg/cli](https://redirect.github.com/Thinkmill/manypkg) ([source](https://redirect.github.com/Thinkmill/manypkg/tree/HEAD/packages/cli)) | [`0.24.0` -> `0.25.0`](https://renovatebot.com/diffs/npm/@manypkg%2fcli/0.24.0/0.25.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor | | [@nestjs/common](https://nestjs.com) ([source](https://redirect.github.com/nestjs/nest/tree/HEAD/packages/common)) | [`11.1.3` -> `11.1.5`](https://renovatebot.com/diffs/npm/@nestjs%2fcommon/11.1.3/11.1.5) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | peerDependencies | patch | | [@nestjs/common](https://nestjs.com) ([source](https://redirect.github.com/nestjs/nest/tree/HEAD/packages/common)) | [`11.1.3` -> `11.1.5`](https://renovatebot.com/diffs/npm/@nestjs%2fcommon/11.1.3/11.1.5) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch | | [@nestjs/common](https://nestjs.com) ([source](https://redirect.github.com/nestjs/nest/tree/HEAD/packages/common)) | [`11.1.3` -> `11.1.5`](https://renovatebot.com/diffs/npm/@nestjs%2fcommon/11.1.3/11.1.5) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch | | [@nestjs/core](https://nestjs.com) ([source](https://redirect.github.com/nestjs/nest/tree/HEAD/packages/core)) | [`11.1.3` -> `11.1.5`](https://renovatebot.com/diffs/npm/@nestjs%2fcore/11.1.3/11.1.5) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | peerDependencies | patch | | [@nestjs/core](https://nestjs.com) ([source](https://redirect.github.com/nestjs/nest/tree/HEAD/packages/core)) | [`11.1.3` -> `11.1.5`](https://renovatebot.com/diffs/npm/@nestjs%2fcore/11.1.3/11.1.5) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch | | [@nestjs/core](https://nestjs.com) ([source](https://redirect.github.com/nestjs/nest/tree/HEAD/packages/core)) | [`11.1.3` -> `11.1.5`](https://renovatebot.com/diffs/npm/@nestjs%2fcore/11.1.3/11.1.5) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch | | [@nestjs/platform-fastify](https://nestjs.com) ([source](https://redirect.github.com/nestjs/nest/tree/HEAD/packages/platform-fastify)) | [`11.1.3` -> `11.1.5`](https://renovatebot.com/diffs/npm/@nestjs%2fplatform-fastify/11.1.3/11.1.5) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch | | [@nestjs/testing](https://nestjs.com) ([source](https://redirect.github.com/nestjs/nest/tree/HEAD/packages/testing)) | [`11.1.3` -> `11.1.5`](https://renovatebot.com/diffs/npm/@nestjs%2ftesting/11.1.3/11.1.5) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch | | [@nuxt/eslint](https://redirect.github.com/nuxt/eslint) ([source](https://redirect.github.com/nuxt/eslint/tree/HEAD/packages/module)) | [`1.5.2` -> `1.7.1`](https://renovatebot.com/diffs/npm/@nuxt%2feslint/1.5.2/1.7.1) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor | | [@nuxt/ui](https://ui.nuxt.com) ([source](https://redirect.github.com/nuxt/ui)) | [`3.2.0` -> `3.3.0`](https://renovatebot.com/diffs/npm/@nuxt%2fui/3.2.0/3.3.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor | | [@pinia/nuxt](https://pinia.vuejs.org/ssr/nuxt.html) ([source](https://redirect.github.com/vuejs/pinia)) | [`0.11.1` -> `0.11.2`](https://renovatebot.com/diffs/npm/@pinia%2fnuxt/0.11.1/0.11.2) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch | | [@rollup/rollup-linux-x64-gnu](https://rollupjs.org/) ([source](https://redirect.github.com/rollup/rollup)) | [`4.45.1` -> `4.46.1`](https://renovatebot.com/diffs/npm/@rollup%2frollup-linux-x64-gnu/4.45.1/4.46.1) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | optionalDependencies | minor | | [@storybook/addon-docs](https://redirect.github.com/storybookjs/storybook/tree/next/code/addons/docs) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/addons/docs)) | [`9.0.17` -> `9.0.18`](https://renovatebot.com/diffs/npm/@storybook%2faddon-docs/9.0.17/9.0.18) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch | | [@storybook/addon-links](https://redirect.github.com/storybookjs/storybook/tree/next/code/addons/links) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/addons/links)) | [`9.0.17` -> `9.0.18`](https://renovatebot.com/diffs/npm/@storybook%2faddon-links/9.0.17/9.0.18) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch | | [@storybook/builder-vite](https://redirect.github.com/storybookjs/storybook/tree/next/code/builders/builder-vite/#readme) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/builders/builder-vite)) | [`9.0.17` -> `9.0.18`](https://renovatebot.com/diffs/npm/@storybook%2fbuilder-vite/9.0.17/9.0.18) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch | | [@storybook/vue3-vite](https://redirect.github.com/storybookjs/storybook/tree/next/code/frameworks/vue3-vite) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/frameworks/vue3-vite)) | [`9.0.17` -> `9.0.18`](https://renovatebot.com/diffs/npm/@storybook%2fvue3-vite/9.0.17/9.0.18) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch | | [@swc/core](https://swc.rs) ([source](https://redirect.github.com/swc-project/swc)) | [`1.12.14` -> `1.13.2`](https://renovatebot.com/diffs/npm/@swc%2fcore/1.12.14/1.13.2) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor | | [@types/bun](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/bun) ([source](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/bun)) | [`1.2.18` -> `1.2.19`](https://renovatebot.com/diffs/npm/@types%2fbun/1.2.18/1.2.19) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch | | [@types/node](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node) ([source](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node)) | [`22.16.4` -> `22.16.5`](https://renovatebot.com/diffs/npm/@types%2fnode/22.16.4/22.16.5) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch | | [@typescript-eslint/eslint-plugin](https://typescript-eslint.io/packages/eslint-plugin) ([source](https://redirect.github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin)) | [`8.37.0` -> `8.38.0`](https://renovatebot.com/diffs/npm/@typescript-eslint%2feslint-plugin/8.37.0/8.38.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor | | [@vitejs/plugin-vue](https://redirect.github.com/vitejs/vite-plugin-vue/tree/main/packages/plugin-vue#readme) ([source](https://redirect.github.com/vitejs/vite-plugin-vue/tree/HEAD/packages/plugin-vue)) | [`6.0.0` -> `6.0.1`](https://renovatebot.com/diffs/npm/@vitejs%2fplugin-vue/6.0.0/6.0.1) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch | | [@vueuse/components](https://redirect.github.com/vueuse/vueuse/tree/main/packages/components#readme) ([source](https://redirect.github.com/vueuse/vueuse/tree/HEAD/packages/components)) | [`13.5.0` -> `13.6.0`](https://renovatebot.com/diffs/npm/@vueuse%2fcomponents/13.5.0/13.6.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor | | [@vueuse/core](https://redirect.github.com/vueuse/vueuse) ([source](https://redirect.github.com/vueuse/vueuse/tree/HEAD/packages/core)) | [`13.5.0` -> `13.6.0`](https://renovatebot.com/diffs/npm/@vueuse%2fcore/13.5.0/13.6.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor | | [@vueuse/core](https://redirect.github.com/vueuse/vueuse) ([source](https://redirect.github.com/vueuse/vueuse/tree/HEAD/packages/core)) | [`13.5.0` -> `13.6.0`](https://renovatebot.com/diffs/npm/@vueuse%2fcore/13.5.0/13.6.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor | | [@vueuse/integrations](https://redirect.github.com/vueuse/vueuse/tree/main/packages/integrations#readme) ([source](https://redirect.github.com/vueuse/vueuse/tree/HEAD/packages/integrations)) | [`13.5.0` -> `13.6.0`](https://renovatebot.com/diffs/npm/@vueuse%2fintegrations/13.5.0/13.6.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor | | [@vueuse/nuxt](https://redirect.github.com/vueuse/vueuse/tree/main/packages/nuxt#readme) ([source](https://redirect.github.com/vueuse/vueuse/tree/HEAD/packages/nuxt)) | [`13.5.0` -> `13.6.0`](https://renovatebot.com/diffs/npm/@vueuse%2fnuxt/13.5.0/13.6.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor | | [dotenv](https://redirect.github.com/motdotla/dotenv) | [`17.2.0` -> `17.2.1`](https://renovatebot.com/diffs/npm/dotenv/17.2.0/17.2.1) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch | | [eslint](https://eslint.org) ([source](https://redirect.github.com/eslint/eslint)) | [`9.31.0` -> `9.32.0`](https://renovatebot.com/diffs/npm/eslint/9.31.0/9.32.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor | | [eslint-config-prettier](https://redirect.github.com/prettier/eslint-config-prettier) | [`10.1.5` -> `10.1.8`](https://renovatebot.com/diffs/npm/eslint-config-prettier/10.1.5/10.1.8) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch | | [eslint-plugin-n](https://redirect.github.com/eslint-community/eslint-plugin-n) | [`17.21.0` -> `17.21.2`](https://renovatebot.com/diffs/npm/eslint-plugin-n/17.21.0/17.21.2) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch | | [eslint-plugin-prettier](https://redirect.github.com/prettier/eslint-plugin-prettier) | [`5.5.1` -> `5.5.3`](https://renovatebot.com/diffs/npm/eslint-plugin-prettier/5.5.1/5.5.3) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch | | [eslint-plugin-storybook](https://redirect.github.com/storybookjs/storybook/code/lib/eslint-plugin#readme) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/lib/eslint-plugin)) | [`9.0.17` -> `9.0.18`](https://renovatebot.com/diffs/npm/eslint-plugin-storybook/9.0.17/9.0.18) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch | | [inquirer](https://redirect.github.com/SBoudrias/Inquirer.js/blob/main/packages/inquirer/README.md) ([source](https://redirect.github.com/SBoudrias/Inquirer.js)) | [`12.7.0` -> `12.8.2`](https://renovatebot.com/diffs/npm/inquirer/12.7.0/12.8.2) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor | | [jiti](https://redirect.github.com/unjs/jiti) | [`2.4.2` -> `2.5.1`](https://renovatebot.com/diffs/npm/jiti/2.4.2/2.5.1) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor | | [jiti](https://redirect.github.com/unjs/jiti) | [`2.4.2` -> `2.5.1`](https://renovatebot.com/diffs/npm/jiti/2.4.2/2.5.1) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | overrides | minor | | [jose](https://redirect.github.com/panva/jose) | [`6.0.11` -> `6.0.12`](https://renovatebot.com/diffs/npm/jose/6.0.11/6.0.12) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | peerDependencies | patch | | [jose](https://redirect.github.com/panva/jose) | [`6.0.11` -> `6.0.12`](https://renovatebot.com/diffs/npm/jose/6.0.11/6.0.12) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch | | [jose](https://redirect.github.com/panva/jose) | [`6.0.11` -> `6.0.12`](https://renovatebot.com/diffs/npm/jose/6.0.11/6.0.12) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch | | [lucide-vue-next](https://lucide.dev) ([source](https://redirect.github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-vue-next)) | [`0.525.0` -> `0.528.0`](https://renovatebot.com/diffs/npm/lucide-vue-next/0.525.0/0.528.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor | | [marked](https://marked.js.org) ([source](https://redirect.github.com/markedjs/marked)) | [`16.0.0` -> `16.1.1`](https://renovatebot.com/diffs/npm/marked/16.0.0/16.1.1) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor | | [nest-commander](https://nest-commander.jaymcdoniel.dev) ([source](https://redirect.github.com/jmcdo29/nest-commander/tree/HEAD/pacakges/nest-commander)) | [`3.17.0` -> `3.18.0`](https://renovatebot.com/diffs/npm/nest-commander/3.17.0/3.18.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor | | [node](https://nodejs.org) ([source](https://redirect.github.com/nodejs/node)) | `22.17.0` -> `22.17.1` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | patch | | [node](https://redirect.github.com/actions/node-versions) | `22.17.0` -> `22.17.1` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | uses-with | patch | | [node](https://redirect.github.com/nodejs/node) | `22.17.0-bookworm-slim` -> `22.17.1-bookworm-slim` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | final | patch | | [reka-ui](https://redirect.github.com/unovue/reka-ui) | [`2.3.2` -> `2.4.0`](https://renovatebot.com/diffs/npm/reka-ui/2.3.2/2.4.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor | | [storybook](https://storybook.js.org) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/core)) | [`9.0.17` -> `9.0.18`](https://renovatebot.com/diffs/npm/storybook/9.0.17/9.0.18) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch | | [tw-animate-css](https://redirect.github.com/Wombosvideo/tw-animate-css) | [`1.3.5` -> `1.3.6`](https://renovatebot.com/diffs/npm/tw-animate-css/1.3.5/1.3.6) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch | | [typescript-eslint](https://typescript-eslint.io/packages/typescript-eslint) ([source](https://redirect.github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint)) | [`8.37.0` -> `8.38.0`](https://renovatebot.com/diffs/npm/typescript-eslint/8.37.0/8.38.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor | | [validate-npm-package-name](https://redirect.github.com/npm/validate-npm-package-name) | [`6.0.1` -> `6.0.2`](https://renovatebot.com/diffs/npm/validate-npm-package-name/6.0.1/6.0.2) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch | | [vite](https://vite.dev) ([source](https://redirect.github.com/vitejs/vite/tree/HEAD/packages/vite)) | [`7.0.4` -> `7.0.6`](https://renovatebot.com/diffs/npm/vite/7.0.4/7.0.6) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch | | [vue](https://redirect.github.com/vuejs/core/tree/main/packages/vue#readme) ([source](https://redirect.github.com/vuejs/core)) | [`3.5.17` -> `3.5.18`](https://renovatebot.com/diffs/npm/vue/3.5.17/3.5.18) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch | | [vue](https://redirect.github.com/vuejs/core/tree/main/packages/vue#readme) ([source](https://redirect.github.com/vuejs/core)) | [`3.5.17` -> `3.5.18`](https://renovatebot.com/diffs/npm/vue/3.5.17/3.5.18) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | peerDependencies | patch | | [vue-i18n](https://redirect.github.com/intlify/vue-i18n/tree/master/packages/vue-i18n#readme) ([source](https://redirect.github.com/intlify/vue-i18n/tree/HEAD/packages/vue-i18n)) | [`11.1.9` -> `11.1.11`](https://renovatebot.com/diffs/npm/vue-i18n/11.1.9/11.1.11) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch | | [vue-tsc](https://redirect.github.com/vuejs/language-tools) ([source](https://redirect.github.com/vuejs/language-tools/tree/HEAD/packages/tsc)) | [`3.0.1` -> `3.0.4`](https://renovatebot.com/diffs/npm/vue-tsc/3.0.1/3.0.4) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch | | [vuetify](https://vuetifyjs.com) ([source](https://redirect.github.com/vuetifyjs/vuetify/tree/HEAD/packages/vuetify)) | [`3.9.0` -> `3.9.2`](https://renovatebot.com/diffs/npm/vuetify/3.9.0/3.9.2) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch | | [wrangler](https://redirect.github.com/cloudflare/workers-sdk) ([source](https://redirect.github.com/cloudflare/workers-sdk/tree/HEAD/packages/wrangler)) | [`4.24.3` -> `4.26.0`](https://renovatebot.com/diffs/npm/wrangler/4.24.3/4.26.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor | --- ### Release Notes <details> <summary>eslint/eslint (@​eslint/js)</summary> ### [`v9.32.0`](https://redirect.github.com/eslint/eslint/compare/v9.31.0...50de1ced9df2b1ee48ee6843c8cfe0f5d8edbc27) [Compare Source](https://redirect.github.com/eslint/eslint/compare/v9.31.0...v9.32.0) </details> <details> <summary>ardatan/graphql-tools (@​graphql-tools/merge)</summary> ### [`v9.1.1`](https://redirect.github.com/ardatan/graphql-tools/blob/HEAD/packages/merge/CHANGELOG.md#911) [Compare Source](https://redirect.github.com/ardatan/graphql-tools/compare/@graphql-tools/merge@9.1.0...@graphql-tools/merge@9.1.1) ##### Patch Changes - [#​7298](https://redirect.github.com/ardatan/graphql-tools/pull/7298) [`984d542`]( |
||
|
|
3b00fec5fd |
chore: Remove legacy store modules and add new API key and reporting services (#1536)
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Added developer CLI tools for toggling GraphQL sandbox and modal testing utilities. * Introduced a "Show Activation Modal" developer component for UI testing. * Added system initial setup detection and related GraphQL queries. * Enhanced login and welcome pages with dynamic server info and initial setup state. * Improved SSO button with internationalization and error handling. * Added internal CLI admin API key management service and internal GraphQL client service. * Introduced comprehensive API report generation service for system and service status. * Added CLI commands and GraphQL mutations/queries for plugin and SSO user management. * Added new modal target components and improved teleport target detection. * **Enhancements** * Refined modal dialog targeting and teleportation for flexible UI placement. * Updated modal components and stores for improved activation/welcome modal control. * Improved plugin and SSO user management via CLI through GraphQL API. * Refactored partner logo components to use props instead of store dependencies. * Enhanced styling and accessibility for buttons and modals. * Streamlined Tailwind CSS integration with shared styles and updated theme variables. * Improved GraphQL module configuration to avoid directive conflicts in tests. * Adjusted Vite config for better dependency handling in test mode. * Improved error handling and logging in CLI commands and services. * Reordered imports and refined component class bindings for UI consistency. * **Bug Fixes** * Resolved issues with duplicate script tags and component registration in the web UI. * Fixed modal close button visibility and activation modal state handling. * Added error handling and logging improvements across CLI commands and services. * Fixed newline issues in last-download-time fixture files. * **Chores** * Added and updated numerous tests for CLI commands, services, and UI components. * Updated translation files and localization resources for new UI messages. * Adjusted environment, configuration, and dependency files for improved development and test workflows. * Cleaned up unused imports and mocks in tests. * Reorganized exports and barrel files in shared and UI modules. * Added integration and dependency resolution tests for core modules. * **Removals & Refactoring** * Removed legacy Redux state management, configuration, and UPnP logic from the backend. * Eliminated deprecated GraphQL subscriptions and client code related to registration and mothership. * Removed direct store manipulation and replaced with service-based approaches in CLI commands. * Deleted unused or redundant test files and configuration listeners. * Refactored SSO user service to consolidate add/remove operations into a single update method. * Simplified API key services with new methods for automatic key management. * Replaced direct plugin and SSO user service calls with GraphQL client interactions in CLI commands. * Removed complex theme fallback and dark mode CSS rules, replacing with streamlined static theme variables. * Cleaned up Tailwind CSS configuration and removed deprecated local styles. * Removed multiple internal utility files and replaced with simplified or centralized implementations. * Removed deprecated local configuration and synchronization files and listeners. * Removed UPnP helper functions and job management classes. * Refactored server resolver to dynamically construct local server data internally. * Removed CORS handler and replaced with simplified or externalized logic. * Removed store synchronization and registration event pubsub handling. * Removed GraphQL client creation utilities for internal API communication. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
4ff6a1aaa0 |
Add Claude Code GitHub Workflow (#1541)
## 🤖 Installing Claude Code GitHub App This PR adds a GitHub Actions workflow that enables Claude Code integration in our repository. ### What is Claude Code? [Claude Code](https://claude.ai/code) is an AI coding agent that can help with: - Bug fixes and improvements - Documentation updates - Implementing new features - Code reviews and suggestions - Writing tests - And more! ### How it works Once this PR is merged, we'll be able to interact with Claude by mentioning @claude in a pull request or issue comment. Once the workflow is triggered, Claude will analyze the comment and surrounding context, and execute on the request in a GitHub action. ### Important Notes - **This workflow won't take effect until this PR is merged** - **@claude mentions won't work until after the merge is complete** - The workflow runs automatically whenever Claude is mentioned in PR or issue comments - Claude gets access to the entire PR or issue context including files, diffs, and previous comments ### Security - Our Anthropic API key is securely stored as a GitHub Actions secret - Only users with write access to the repository can trigger the workflow - All Claude runs are stored in the GitHub Actions run history - Claude's default tools are limited to reading/writing files and interacting with our repo by creating comments, branches, and commits. - We can add more allowed tools by adding them to the workflow file like: ``` allowed_tools: Bash(npm install),Bash(npm run build),Bash(npm run lint),Bash(npm run test) ``` There's more information in the [Claude Code action repo](https://github.com/anthropics/claude-code-action). After merging this PR, let's try mentioning @claude in a comment on any PR to get started! <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Introduced automated code review using Claude AI for pull requests. * Added Claude AI code assistance, triggered by comments containing "@claude" in issues and pull requests. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
86b6c4f85b |
fix: inject Tailwind CSS into client entry point (#1537)
Added a Vite plugin to automatically inject the Tailwind CSS import into the `unraid-components.client.js` entry file, enhancing the integration of Tailwind CSS within the application. This change improves the setup for styling components consistently across the project. <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Added automated validation to ensure Tailwind CSS styles are correctly included in the custom elements build output. * **Chores** * Updated the build process to include a CSS validation step after manifest generation. * Enhanced development build configuration to enable CSS source maps and optimize Tailwind CSS injection into web components. * Extended CSS theme with new responsive breakpoint variables. * Improved CSS class specificity in user profile, server state, and update modal components for consistent styling. * Removed redundant style blocks and global CSS imports from multiple components to streamline styling and reduce duplication. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
45bd73698b |
fix(connect): omit extraneous fields during connect config validation (#1538)
Prevent extraneous fields from migrating to `connect.json` from `myservers.cfg` |
||
|
|
fee7d4613e |
refactor: add & use ConfigFilePersister primitive (#1534)
Add `ConfigFilePersister<T>` to provide automatic JSON file persistence
for configs. It bridges the gap between in-memory configuration (via
`ConfigService`) and persistent file storage, with minimal developer
effort.
## Key Features
- **Reactive Persistence**: Automatically saves config changes to disk
when `ConfigService` updates
- **NestJS Integration**: Implements lifecycle hooks for proper
initialization and cleanup
- **Standalone Operations**: Provides direct file access via
`getFileHandler()` for non-reactive use cases
- **Change Detection**: Only writes to disk when configuration actually
changes (performance optimization)
- **Error Handling**: Includes logging and graceful error handling
throughout
## How to Implement
Extend the class and implement these required methods:
```typescript
@Injectable()
class MyConfigPersister extends ConfigFilePersister<MyConfigType> {
constructor(configService: ConfigService) {
super(configService);
}
// Required: JSON filename in config directory
fileName(): string {
return "my-config.json";
}
// Required: ConfigService key for reactive updates
configKey(): string {
return "myConfig";
}
// Required: Default values for new installations
defaultConfig(): MyConfigType {
return { enabled: false, timeout: 5000 };
}
// optionally, override validate() and/or migrateConfig()
}
```
## Lifecycle Behavior
- **Initialization** (`onModuleInit`): Loads config from disk → sets in
ConfigService → starts reactive subscription
- **Runtime**: Automatically persists to disk when ConfigService changes
(buffered every 25ms)
- **Shutdown** (`onModuleDestroy`): Final persistence and cleanup
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
## Summary by CodeRabbit
* **New Features**
* Introduced a unified, robust configuration file management system with
automatic migration, validation, and efficient persistence for plugins
and services.
* **Refactor**
* Centralized configuration persistence logic into a shared base class,
simplifying and standardizing config handling.
* Refactored multiple config persisters to extend the new base class,
removing redundant manual file and lifecycle management.
* Removed legacy config state management, persistence helpers, and
related modules, streamlining the codebase.
* Simplified test suites to focus on core functionality and error
handling.
* **Chores**
* Updated dependencies to support the new configuration management
system.
* Integrated the new API config module into plugin modules for
consistent configuration handling.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
|
||
|
|
b6acf50c0d |
refactor: update modals and color picker (#1494)
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * The Welcome modal now automatically appears when visiting the `/welcome` page. * "Create a password" button in the Welcome modal is now disabled while loading. * **Refactor** * Activation and Welcome modals now use a new Dialog component for improved layout and styling. * Theme and server selection components now use a simplified Select dropdown with options passed as data for a cleaner interface. * **Tests** * Updated modal-related tests to use the new Dialog component and improved mocking for more accurate and maintainable test coverage. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: mdatelle <mike@datelle.net> |
||
|
|
8279531f2b |
fix(deps): pin dependency @nuxt/ui to 3.2.0 (#1532)
This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [@nuxt/ui](https://ui.nuxt.com) ([source](https://redirect.github.com/nuxt/ui)) | dependencies | pin | [`^3.2.0` -> `3.2.0`](https://renovatebot.com/diffs/npm/@nuxt%2fui/3.2.0/3.2.0) | Add the preset `:preserveSemverRanges` to your config if you don't want to pin your dependencies. --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/unraid/api). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS40MC4wIiwidXBkYXRlZEluVmVyIjoiNDEuNDAuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> |
||
|
|
0a18b38008 |
fix: truncate log files when they take up more than 5mb of space (#1530)
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Updated configuration to enable WAN access, set custom ports, and add new fields such as version and sandbox mode. * **Bug Fixes** * Improved log rotation reliability by directly managing log file size and truncation every 20 minutes, with enhanced error handling and logging. * **Chores** * Removed legacy log rotation configuration files and related test cases to streamline maintenance. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
23b2b88461 |
fix: use async for primary file read/writes (#1531)
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Refactor** * Improved application performance and responsiveness by converting all synchronous file system operations to asynchronous ones throughout the application. * Enhanced reliability of file checks and file writing, ensuring non-blocking behavior during configuration, notification handling, and service operations. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
f5352e3a26 |
fix: add missing breakpoints (#1535)
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Style** * Introduced new CSS custom properties for additional responsive breakpoints, enhancing layout adaptability across a wider range of screen sizes. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
9dfdb8dce7 |
fix: make settings grid responsive (#1463)
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Introduced a new SettingsGrid component for consistent and responsive grid layouts. * **Refactor** * Updated settings-related layouts to use the new SettingsGrid component, improving maintainability and visual consistency across the interface. * **Chores** * Removed an unused CSS breakpoint variable from global styles. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
407585cd40 |
feat(web): install and configure nuxt ui (#1524)
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Introduced a primary color palette and enhanced color theming for the UI. * Added and showcased new UI button variants with primary color styling on the main page. * Integrated the @nuxt/ui module to enable advanced UI components and theming options. * **Style** * Updated keyframe animations in global styles for improved CSS structure. * Refined color variables and UI color states for both light and dark modes. * **Chores** * Added @nuxt/ui as a project dependency. * Centralized UI configuration for easier theming management. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: mdatelle <mike@datelle.net> |
||
|
|
05056e7ca1 |
fix(notifications): gracefully handle & mask invalid notifications (#1529)
prevents log explosion due to large, invalid notifications. <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Bug Fixes** * Improved handling of invalid or corrupted notifications by displaying a warning message instead of causing errors or interruptions. * Enhanced robustness in displaying notification timestamps by gracefully handling invalid date formats. * **Refactor** * Improved internal date formatting for notifications, ensuring more consistent and user-friendly display. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --- - To see the specific tasks where the Asana app for GitHub is being used, see below: - https://app.asana.com/0/0/1210811542761865 |
||
|
|
a74d935b56 |
fix(deps): pin dependencies (#1528)
This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [@tailwindcss/cli](https://tailwindcss.com) ([source](https://redirect.github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-cli)) | dependencies | pin | [`^4.1.11` -> `4.1.11`](https://renovatebot.com/diffs/npm/@tailwindcss%2fcli/4.1.11/4.1.11) | | [@tailwindcss/vite](https://tailwindcss.com) ([source](https://redirect.github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-vite)) | devDependencies | pin | [`^4.1.11` -> `4.1.11`](https://renovatebot.com/diffs/npm/@tailwindcss%2fvite/4.1.11/4.1.11) | | [tw-animate-css](https://redirect.github.com/Wombosvideo/tw-animate-css) | dependencies | pin | [`^1.3.5` -> `1.3.5`](https://renovatebot.com/diffs/npm/tw-animate-css/1.3.5/1.3.5) | Add the preset `:preserveSemverRanges` to your config if you don't want to pin your dependencies. --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://redirect.github.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/unraid/api). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS40MC4wIiwidXBkYXRlZEluVmVyIjoiNDEuNDAuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> |
||
|
|
2c62e0ad09 |
feat: tailwind v4 (#1522)
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Streamlined Tailwind CSS integration using Vite plugin, eliminating the need for separate Tailwind config files. * Updated theme and color variables for improved consistency and maintainability. * **Style** * Standardized spacing, sizing, and font classes across all components using Tailwind’s default scale. * Reduced excessive gaps, padding, and font sizes for a more compact and cohesive UI. * Updated gradient, border, and shadow classes to match Tailwind v4 conventions. * Replaced custom pixel-based classes with Tailwind’s bracketed arbitrary value syntax where needed. * Replaced focus outline styles from `outline-none` to `outline-hidden` for consistent focus handling. * Updated flex shrink/grow utility classes to use newer shorthand forms. * Converted several component templates to use self-closing tags for cleaner markup. * Adjusted icon sizes and spacing for improved visual balance. * **Chores** * Removed legacy Tailwind/PostCSS configuration files and related scripts. * Updated and cleaned up package dependencies for Tailwind v4 and related plugins. * Removed unused or redundant build scripts and configuration exports. * Updated documentation to reflect new Tailwind v4 usage. * Removed Prettier Tailwind plugin from formatting configurations. * Removed Nuxt Tailwind module in favor of direct Vite plugin integration. * Cleaned up ESLint config by removing Prettier integration. * **Bug Fixes** * Corrected invalid or outdated Tailwind class names and syntax. * Fixed issues with max-width and other utility classes for improved layout consistency. * **Tests** * Updated test assertions to match new class names and styling conventions. * **Documentation** * Revised README and internal notes to clarify Tailwind v4 adoption and configuration changes. * Added new development notes emphasizing Tailwind v4 usage and documentation references. * **UI Components** * Enhanced BrandButton stories with detailed variant, size, and padding showcases for better visual testing. * Improved theme store to apply dark mode class on both `<html>` and `<body>` elements for compatibility. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
1a8da6d92b |
fix(deps): update all non-major dependencies (#1510)
This PR contains the following updates: | Package | Change | Age | Confidence | |---|---|---|---| | [@eslint/js](https://eslint.org) ([source](https://redirect.github.com/eslint/eslint/tree/HEAD/packages/js)) | [`9.30.1` -> `9.31.0`](https://renovatebot.com/diffs/npm/@eslint%2fjs/9.30.1/9.31.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [@rollup/rollup-linux-x64-gnu](https://rollupjs.org/) ([source](https://redirect.github.com/rollup/rollup)) | [`4.44.2` -> `4.45.1`](https://renovatebot.com/diffs/npm/@rollup%2frollup-linux-x64-gnu/4.44.2/4.45.1) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [@storybook/addon-docs](https://redirect.github.com/storybookjs/storybook/tree/next/code/addons/docs) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/addons/docs)) | [`9.0.16` -> `9.0.17`](https://renovatebot.com/diffs/npm/@storybook%2faddon-docs/9.0.16/9.0.17) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [@storybook/addon-links](https://redirect.github.com/storybookjs/storybook/tree/next/code/addons/links) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/addons/links)) | [`9.0.16` -> `9.0.17`](https://renovatebot.com/diffs/npm/@storybook%2faddon-links/9.0.16/9.0.17) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [@storybook/builder-vite](https://redirect.github.com/storybookjs/storybook/tree/next/code/builders/builder-vite/#readme) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/builders/builder-vite)) | [`9.0.16` -> `9.0.17`](https://renovatebot.com/diffs/npm/@storybook%2fbuilder-vite/9.0.16/9.0.17) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [@storybook/vue3-vite](https://redirect.github.com/storybookjs/storybook/tree/next/code/frameworks/vue3-vite) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/frameworks/vue3-vite)) | [`9.0.16` -> `9.0.17`](https://renovatebot.com/diffs/npm/@storybook%2fvue3-vite/9.0.16/9.0.17) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [@swc/core](https://swc.rs) ([source](https://redirect.github.com/swc-project/swc)) | [`1.12.11` -> `1.12.14`](https://renovatebot.com/diffs/npm/@swc%2fcore/1.12.11/1.12.14) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [@types/node](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node) ([source](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node)) | [`22.16.3` -> `22.16.4`](https://renovatebot.com/diffs/npm/@types%2fnode/22.16.3/22.16.4) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [@typescript-eslint/eslint-plugin](https://typescript-eslint.io/packages/eslint-plugin) ([source](https://redirect.github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin)) | [`8.36.0` -> `8.37.0`](https://renovatebot.com/diffs/npm/@typescript-eslint%2feslint-plugin/8.36.0/8.37.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [cron](https://redirect.github.com/kelektiv/node-cron) | [`4.3.1` -> `4.3.2`](https://renovatebot.com/diffs/npm/cron/4.3.1/4.3.2) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [eslint](https://eslint.org) ([source](https://redirect.github.com/eslint/eslint)) | [`9.30.1` -> `9.31.0`](https://renovatebot.com/diffs/npm/eslint/9.30.1/9.31.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [eslint-plugin-storybook](https://redirect.github.com/storybookjs/storybook/code/lib/eslint-plugin#readme) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/lib/eslint-plugin)) | [`9.0.16` -> `9.0.17`](https://renovatebot.com/diffs/npm/eslint-plugin-storybook/9.0.16/9.0.17) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [graphql-ws](https://the-guild.dev/graphql/ws) ([source](https://redirect.github.com/enisdenjo/graphql-ws)) | [`6.0.5` -> `6.0.6`](https://renovatebot.com/diffs/npm/graphql-ws/6.0.5/6.0.6) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [nuxt](https://nuxt.com) ([source](https://redirect.github.com/nuxt/nuxt/tree/HEAD/packages/nuxt)) | [`3.17.6` -> `3.17.7`](https://renovatebot.com/diffs/npm/nuxt/3.17.6/3.17.7) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [storybook](https://storybook.js.org) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/core)) | [`9.0.16` -> `9.0.17`](https://renovatebot.com/diffs/npm/storybook/9.0.16/9.0.17) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [typescript-eslint](https://typescript-eslint.io/packages/typescript-eslint) ([source](https://redirect.github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint)) | [`8.36.0` -> `8.37.0`](https://renovatebot.com/diffs/npm/typescript-eslint/8.36.0/8.37.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [zx](https://google.github.io/zx/) ([source](https://redirect.github.com/google/zx)) | [`8.6.2` -> `8.7.1`](https://renovatebot.com/diffs/npm/zx/8.3.2/8.7.1) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [zx](https://google.github.io/zx/) ([source](https://redirect.github.com/google/zx)) | [`8.6.2` -> `8.7.1`](https://renovatebot.com/diffs/npm/zx/8.6.2/8.7.1) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>eslint/eslint (@​eslint/js)</summary> ### [`v9.31.0`](https://redirect.github.com/eslint/eslint/compare/v9.30.1...d5054e5454a537e9ade238c768c262c6c592cbc1) [Compare Source](https://redirect.github.com/eslint/eslint/compare/v9.30.1...v9.31.0) </details> <details> <summary>rollup/rollup (@​rollup/rollup-linux-x64-gnu)</summary> ### [`v4.45.1`](https://redirect.github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#4451) [Compare Source](https://redirect.github.com/rollup/rollup/compare/v4.45.0...v4.45.1) *2025-07-15* ##### Bug Fixes - Resolve crash when using certain conditional expressions ([#​6009](https://redirect.github.com/rollup/rollup/issues/6009)) ##### Pull Requests - [#​6009](https://redirect.github.com/rollup/rollup/pull/6009): Add hasDeoptimizedCache flag for ConditionalExpression ([@​TrickyPi](https://redirect.github.com/TrickyPi)) ### [`v4.45.0`](https://redirect.github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#4450) [Compare Source](https://redirect.github.com/rollup/rollup/compare/v4.44.2...v4.45.0) *2025-07-12* ##### Features - Improve tree-shaking when both branches of a conditional expression return the same boolean value ([#​6000](https://redirect.github.com/rollup/rollup/issues/6000)) - In environments that support both CJS and ESM, prefer the ESM build of Rollup ([#​6005](https://redirect.github.com/rollup/rollup/issues/6005)) ##### Bug Fixes - Ensure static blocks do not prevent tree-shaking if they access `this` ([#​6001](https://redirect.github.com/rollup/rollup/issues/6001)) ##### Pull Requests - [#​6000](https://redirect.github.com/rollup/rollup/pull/6000): feat: improve get literal value for conditional expression ([@​ahabhgk](https://redirect.github.com/ahabhgk), [@​lukastaegert](https://redirect.github.com/lukastaegert)) - [#​6001](https://redirect.github.com/rollup/rollup/pull/6001): Correct the parent scope for static blocks ([@​TrickyPi](https://redirect.github.com/TrickyPi), [@​lukastaegert](https://redirect.github.com/lukastaegert)) - [#​6005](https://redirect.github.com/rollup/rollup/pull/6005): fix: export field order prefer esm ([@​DylanPiercey](https://redirect.github.com/DylanPiercey)) </details> <details> <summary>storybookjs/storybook (@​storybook/addon-docs)</summary> ### [`v9.0.17`](https://redirect.github.com/storybookjs/storybook/compare/v9.0.16...06a11ce246b2e7a52d41e43420e37162c55133aa) [Compare Source](https://redirect.github.com/storybookjs/storybook/compare/v9.0.16...v9.0.17) </details> <details> <summary>storybookjs/storybook (@​storybook/addon-links)</summary> ### [`v9.0.17`](https://redirect.github.com/storybookjs/storybook/compare/v9.0.16...06a11ce246b2e7a52d41e43420e37162c55133aa) [Compare Source](https://redirect.github.com/storybookjs/storybook/compare/v9.0.16...v9.0.17) </details> <details> <summary>storybookjs/storybook (@​storybook/builder-vite)</summary> ### [`v9.0.17`](https://redirect.github.com/storybookjs/storybook/blob/HEAD/CHANGELOG.md#9017) [Compare Source](https://redirect.github.com/storybookjs/storybook/compare/v9.0.16...v9.0.17) - Addon Vitest: Fix support for plain `stories.tsx` files - [#​32041](https://redirect.github.com/storybookjs/storybook/pull/32041), thanks [@​ghengeveld](https://redirect.github.com/ghengeveld)! - Onboarding: Intent survey - [#​31944](https://redirect.github.com/storybookjs/storybook/pull/31944), thanks [@​ghengeveld](https://redirect.github.com/ghengeveld)! - UI: Fix text color for failing stories in sidebar - [#​32042](https://redirect.github.com/storybookjs/storybook/pull/32042), thanks [@​ghengeveld](https://redirect.github.com/ghengeveld)! </details> <details> <summary>swc-project/swc (@​swc/core)</summary> ### [`v1.12.14`](https://redirect.github.com/swc-project/swc/blob/HEAD/CHANGELOG.md#11214---2025-07-14) [Compare Source](https://redirect.github.com/swc-project/swc/compare/v1.12.11...v1.12.14) ##### Bug Fixes - **(es/minifier)** Don't inline arrow when it contain `this` ([#​10825](https://redirect.github.com/swc-project/swc/issues/10825)) ([8b43bb3]( |
||
|
|
81808ada0f |
chore(main): release 4.10.0 (#1505)
🤖 I have created a release *beep* *boop* --- ## [4.10.0](https://github.com/unraid/api/compare/v4.9.5...v4.10.0) (2025-07-15) ### Features * trial extension allowed within 5 days of expiration ([#1490](https://github.com/unraid/api/issues/1490)) ([v4.10.0 |
||
|
|
eecd9b1017 |
fix(my.servers): improve DNS resolution robustness for backup server (#1518)
Add multiple fallback methods for DNS resolution when checking backup.unraid.net <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Bug Fixes** * Improved reliability of DNS resolution checks for backup services, reducing false error reports. * Enhanced error messages to provide clearer guidance if DNS resolution fails, including advice to check DNS settings in network configuration. <!-- end of auto-generated comment: release notes by coderabbit.ai -->4.9.5-build-number-60 |
||
|
|
441e1805c1 |
fix: replace myservers.cfg reads in UpdateFlashBackup.php (#1517)
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Added a new method for verifying user sign-in status using a dedicated configuration handler. * Introduced a class to manage connection configuration and status checks. * **Refactor** * Updated logic for checking connection and registration status to use new configuration handling methods for improved clarity and reliability. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
29dcb7d0f0 |
fix: rm short-circuit in rc.unraid-api if plugin config dir is absent (#1515)
This short-circuit causes any/all `rc.unraid-api` invocations to immediately fail on fresh 7.2 images (because `/boot/config/dynamix.my.servers` doesn't exist). <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Refactor** * Removed initial checks and setup for a plugin directory and default environment file in the startup script. * Simplified environment switching with streamlined commands and improved error handling. * Removed deprecated environment path references and updated related tests. * **Documentation** * Added descriptive comments clarifying build and environment settings. * **Tests** * Updated test cases by removing assertions related to deprecated environment paths. * **Maintenance** * Updated timestamp fixtures for consistency. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
1a7d35d3f6 |
fix: ensure no crash if emhttp state configs are missing (#1514)
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Added new utility functions to improve file writing reliability by ensuring parent directories exist before writing. * Introduced a new watch command for easier development workflow in the shared package. * **Bug Fixes** * Improved startup behavior by logging warnings for missing configuration keys instead of crashing, allowing initialization to proceed. * **Chores** * Updated configuration version number and reformatted plugin list for clarity. * Relocated certain GraphQL schema type and enum declarations without changing their content. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --- - To see the specific tasks where the Asana app for GitHub is being used, see below: - https://app.asana.com/0/0/1210788779106748 |
||
|
|
af33e999a0 |
fix: delay nginx:reload file mod effect by 10 seconds (#1512)
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Enhancements** * Added logging to indicate when Nginx is successfully reloaded. * Introduced a 10-second delay with a log message before triggering Nginx reloads in file modification effects. * **Style** * Removed a startup message from the Unraid API service plugin installation process. <!-- end of auto-generated comment: release notes by coderabbit.ai --> Co-authored-by: Eli Bosley <ekbosley@gmail.com> |
||
|
|
85a35804c1 |
chore(deps): pin dependencies (#1478)
This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [jiti](https://redirect.github.com/unjs/jiti) | devDependencies | pin | [`^2.4.2` -> `2.4.2`](https://renovatebot.com/diffs/npm/jiti/2.4.2/2.4.2) | | [node](https://redirect.github.com/actions/node-versions) | uses-with | pin | `22` -> `22.17.0` | | [wrangler](https://redirect.github.com/cloudflare/workers-sdk) ([source](https://redirect.github.com/cloudflare/workers-sdk/tree/HEAD/packages/wrangler)) | devDependencies | pin | [`^4.0.0` -> `4.24.3`](https://renovatebot.com/diffs/npm/wrangler/4.24.3/4.24.3) | | [ws](https://redirect.github.com/websockets/ws) | peerDependencies | pin | [`^8.18.0` -> `8.18.3`](https://renovatebot.com/diffs/npm/ws/8.18.3/8.18.3) | Add the preset `:preserveSemverRanges` to your config if you don't want to pin your dependencies. --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://redirect.github.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/unraid/api). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS4yMy4yIiwidXBkYXRlZEluVmVyIjoiNDEuMjMuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> |
||
|
|
a35c8ff2f1 |
refactor(install): add debugging to install process
- Remove redundant log file handling and display errors directly to users - Add debug information for troubleshooting installation issues <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Bug Fixes** * Improved installation and verification scripts to display output and error messages directly to the user, rather than writing to a log file. * Enhanced error messages to provide clearer instructions when issues occur during installation or verification. * **New Features** * Added detailed debug output during the API service startup to assist with troubleshooting. * **Chores** * Updated script environments and streamlined directory creation for improved reliability. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
153e7a1e3a |
chore(deps): update dependency @vitejs/plugin-vue to v6 (#1431)
This PR contains the following updates: | Package | Change | Age | Confidence | |---|---|---|---| | [@vitejs/plugin-vue](https://redirect.github.com/vitejs/vite-plugin-vue/tree/main/packages/plugin-vue#readme) ([source](https://redirect.github.com/vitejs/vite-plugin-vue/tree/HEAD/packages/plugin-vue)) | [`5.2.4` -> `6.0.0`](https://renovatebot.com/diffs/npm/@vitejs%2fplugin-vue/5.2.4/6.0.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>vitejs/vite-plugin-vue (@​vitejs/plugin-vue)</summary> ### [`v6.0.0`](https://redirect.github.com/vitejs/vite-plugin-vue/blob/HEAD/packages/plugin-vue/CHANGELOG.md#600-2025-06-24) ##### Bug Fixes - **deps:** update all non-major dependencies ([#​590](https://redirect.github.com/vitejs/vite-plugin-vue/issues/590)) ([43426c8]( |
||
|
|
e73fc356cb |
chore(deps): update dependency wrangler to v4 (#1508)
This PR contains the following updates: | Package | Change | Age | Confidence | |---|---|---|---| | [wrangler](https://redirect.github.com/cloudflare/workers-sdk) ([source](https://redirect.github.com/cloudflare/workers-sdk/tree/HEAD/packages/wrangler)) | [`^3.114.10` -> `^4.0.0`](https://renovatebot.com/diffs/npm/wrangler/3.114.10/4.24.3) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>cloudflare/workers-sdk (wrangler)</summary> ### [`v4.24.3`](https://redirect.github.com/cloudflare/workers-sdk/blob/HEAD/packages/wrangler/CHANGELOG.md#4243) [Compare Source](https://redirect.github.com/cloudflare/workers-sdk/compare/wrangler@4.24.2...wrangler@4.24.3) ##### Patch Changes - [#​9923](https://redirect.github.com/cloudflare/workers-sdk/pull/9923) [`c01c4ee`]( |
||
|
|
e1a7a3d22d |
chore(deps): update dependency node to v22 (#1507)
This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [node](https://redirect.github.com/actions/node-versions) | uses-with | major | `20` -> `22` | --- ### Release Notes <details> <summary>actions/node-versions (node)</summary> ### [`v22.17.0`](https://redirect.github.com/actions/node-versions/releases/tag/22.17.0-15866718879): 22.17.0 [Compare Source](https://redirect.github.com/actions/node-versions/compare/22.16.0-15177438473...22.17.0-15866718879) Node.js 22.17.0 ### [`v22.16.0`](https://redirect.github.com/actions/node-versions/releases/tag/22.16.0-15177438473): 22.16.0 [Compare Source](https://redirect.github.com/actions/node-versions/compare/22.15.1-15035854612...22.16.0-15177438473) Node.js 22.16.0 ### [`v22.15.1`](https://redirect.github.com/actions/node-versions/releases/tag/22.15.1-15035854612): 22.15.1 [Compare Source](https://redirect.github.com/actions/node-versions/compare/22.15.0-14621731016...22.15.1-15035854612) Node.js 22.15.1 ### [`v22.15.0`](https://redirect.github.com/actions/node-versions/releases/tag/22.15.0-14621731016): 22.15.0 [Compare Source](https://redirect.github.com/actions/node-versions/compare/22.14.0-13265982013...22.15.0-14621731016) Node.js 22.15.0 ### [`v22.14.0`](https://redirect.github.com/actions/node-versions/releases/tag/22.14.0-13265982013): 22.14.0 [Compare Source](https://redirect.github.com/actions/node-versions/compare/22.13.1-12900459766...22.14.0-13265982013) Node.js 22.14.0 ### [`v22.13.1`](https://redirect.github.com/actions/node-versions/releases/tag/22.13.1-12900459766): 22.13.1 [Compare Source](https://redirect.github.com/actions/node-versions/compare/22.13.0-12671059536...22.13.1-12900459766) Node.js 22.13.1 ### [`v22.13.0`](https://redirect.github.com/actions/node-versions/releases/tag/22.13.0-12671059536): 22.13.0 [Compare Source](https://redirect.github.com/actions/node-versions/compare/22.12.0-12152383658...22.13.0-12671059536) Node.js 22.13.0 ### [`v22.12.0`](https://redirect.github.com/actions/node-versions/releases/tag/22.12.0-12152383658): 22.12.0 [Compare Source](https://redirect.github.com/actions/node-versions/compare/22.11.0-11593095476...22.12.0-12152383658) Node.js 22.12.0 ### [`v22.11.0`](https://redirect.github.com/actions/node-versions/releases/tag/22.11.0-11593095476): 22.11.0 [Compare Source](https://redirect.github.com/actions/node-versions/compare/22.10.0-11377615849...22.11.0-11593095476) Node.js 22.11.0 ### [`v22.10.0`](https://redirect.github.com/actions/node-versions/releases/tag/22.10.0-11377615849): 22.10.0 [Compare Source](https://redirect.github.com/actions/node-versions/compare/22.9.0-10914884886...22.10.0-11377615849) Node.js 22.10.0 ### [`v22.9.0`](https://redirect.github.com/actions/node-versions/releases/tag/22.9.0-10914884886): 22.9.0 [Compare Source](https://redirect.github.com/actions/node-versions/compare/22.8.0-10685632420...22.9.0-10914884886) Node.js 22.9.0 ### [`v22.8.0`](https://redirect.github.com/actions/node-versions/releases/tag/22.8.0-10685632420): 22.8.0 [Compare Source](https://redirect.github.com/actions/node-versions/compare/22.7.0-10511334152...22.8.0-10685632420) Node.js 22.8.0 ### [`v22.7.0`](https://redirect.github.com/actions/node-versions/releases/tag/22.7.0-10511334152): 22.7.0 [Compare Source](https://redirect.github.com/actions/node-versions/compare/22.6.0-10277432289...22.7.0-10511334152) Node.js 22.7.0 ### [`v22.6.0`](https://redirect.github.com/actions/node-versions/releases/tag/22.6.0-10277432289): 22.6.0 [Compare Source](https://redirect.github.com/actions/node-versions/compare/22.5.1-10010673511...22.6.0-10277432289) Node.js 22.6.0 ### [`v22.5.1`](https://redirect.github.com/actions/node-versions/releases/tag/22.5.1-10010673511): 22.5.1 [Compare Source](https://redirect.github.com/actions/node-versions/compare/22.5.0-9985144103...22.5.1-10010673511) Node.js 22.5.1 ### [`v22.5.0`](https://redirect.github.com/actions/node-versions/releases/tag/22.5.0-9985144103): 22.5.0 [Compare Source](https://redirect.github.com/actions/node-versions/compare/22.4.1-9860948056...22.5.0-9985144103) Node.js 22.5.0 ### [`v22.4.1`](https://redirect.github.com/actions/node-versions/releases/tag/22.4.1-9860948056): 22.4.1 [Compare Source](https://redirect.github.com/actions/node-versions/compare/22.4.0-9766506602...22.4.1-9860948056) Node.js 22.4.1 ### [`v22.4.0`](https://redirect.github.com/actions/node-versions/releases/tag/22.4.0-9766506602): 22.4.0 [Compare Source](https://redirect.github.com/actions/node-versions/compare/22.3.0-9569309553...22.4.0-9766506602) Node.js 22.4.0 ### [`v22.3.0`](https://redirect.github.com/actions/node-versions/releases/tag/22.3.0-9569309553): 22.3.0 [Compare Source](https://redirect.github.com/actions/node-versions/compare/22.2.0-9105861751...22.3.0-9569309553) Node.js 22.3.0 ### [`v22.2.0`](https://redirect.github.com/actions/node-versions/releases/tag/22.2.0-9105861751): 22.2.0 [Compare Source](https://redirect.github.com/actions/node-versions/compare/22.1.0-8926142033...22.2.0-9105861751) Node.js 22.2.0 ### [`v22.1.0`](https://redirect.github.com/actions/node-versions/releases/tag/22.1.0-8926142033): 22.1.0 [Compare Source](https://redirect.github.com/actions/node-versions/compare/22.0.0-8879734543...22.1.0-8926142033) Node.js 22.1.0 ### [`v22.0.0`](https://redirect.github.com/actions/node-versions/releases/tag/22.0.0-8879734543): 22.0.0 [Compare Source](https://redirect.github.com/actions/node-versions/compare/20.19.3-15828158811...22.0.0-8879734543) Node.js 22.0.0 </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/unraid/api). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS4yMy4yIiwidXBkYXRlZEluVmVyIjoiNDEuMjMuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> |
||
|
|
53b05ebe5e |
fix(deps): update all non-major dependencies (#1489)
This PR contains the following updates: | Package | Change | Age | Confidence | Type | Update | |---|---|---|---|---|---| | [@eslint/js](https://eslint.org) ([source](https://redirect.github.com/eslint/eslint/tree/HEAD/packages/js)) | [`9.29.0` -> `9.30.1`](https://renovatebot.com/diffs/npm/@eslint%2fjs/9.29.0/9.30.1) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor | | [@faker-js/faker](https://fakerjs.dev) ([source](https://redirect.github.com/faker-js/faker)) | [`9.8.0` -> `9.9.0`](https://renovatebot.com/diffs/npm/@faker-js%2ffaker/9.8.0/9.9.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor | | [@floating-ui/dom](https://floating-ui.com) ([source](https://redirect.github.com/floating-ui/floating-ui/tree/HEAD/packages/dom)) | [`1.7.1` -> `1.7.2`](https://renovatebot.com/diffs/npm/@floating-ui%2fdom/1.7.1/1.7.2) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch | | [@floating-ui/utils](https://floating-ui.com) ([source](https://redirect.github.com/floating-ui/floating-ui/tree/HEAD/packages/utils)) | [`0.2.9` -> `0.2.10`](https://renovatebot.com/diffs/npm/@floating-ui%2futils/0.2.9/0.2.10) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch | | [@floating-ui/vue](https://floating-ui.com/docs/vue) ([source](https://redirect.github.com/floating-ui/floating-ui/tree/HEAD/packages/vue)) | [`1.1.6` -> `1.1.7`](https://renovatebot.com/diffs/npm/@floating-ui%2fvue/1.1.6/1.1.7) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch | | [@graphql-codegen/client-preset](https://redirect.github.com/dotansimha/graphql-code-generator) ([source](https://redirect.github.com/dotansimha/graphql-code-generator/tree/HEAD/packages/presets/client)) | [`4.8.2` -> `4.8.3`](https://renovatebot.com/diffs/npm/@graphql-codegen%2fclient-preset/4.8.2/4.8.3) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch | | [@graphql-codegen/client-preset](https://redirect.github.com/dotansimha/graphql-code-generator) ([source](https://redirect.github.com/dotansimha/graphql-code-generator/tree/HEAD/packages/presets/client)) | [`4.8.2` -> `4.8.3`](https://renovatebot.com/diffs/npm/@graphql-codegen%2fclient-preset/4.8.2/4.8.3) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch | | [@graphql-codegen/typed-document-node](https://redirect.github.com/dotansimha/graphql-code-generator) ([source](https://redirect.github.com/dotansimha/graphql-code-generator/tree/HEAD/packages/plugins/typescript/typed-document-node)) | [`5.1.1` -> `5.1.2`](https://renovatebot.com/diffs/npm/@graphql-codegen%2ftyped-document-node/5.1.1/5.1.2) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch | | [@ianvs/prettier-plugin-sort-imports](https://redirect.github.com/ianvs/prettier-plugin-sort-imports) | [`4.4.2` -> `4.5.1`](https://renovatebot.com/diffs/npm/@ianvs%2fprettier-plugin-sort-imports/4.4.2/4.5.1) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor | | [@nuxt/devtools](https://devtools.nuxt.com) ([source](https://redirect.github.com/nuxt/devtools/tree/HEAD/packages/devtools)) | [`2.5.0` -> `2.6.2`](https://renovatebot.com/diffs/npm/@nuxt%2fdevtools/2.5.0/2.6.2) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor | | [@nuxt/eslint](https://redirect.github.com/nuxt/eslint) ([source](https://redirect.github.com/nuxt/eslint/tree/HEAD/packages/module)) | [`1.4.1` -> `1.5.2`](https://renovatebot.com/diffs/npm/@nuxt%2feslint/1.4.1/1.5.2) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor | | [@nuxt/test-utils](https://redirect.github.com/nuxt/test-utils) | [`3.19.1` -> `3.19.2`](https://renovatebot.com/diffs/npm/@nuxt%2ftest-utils/3.19.1/3.19.2) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch | | [@rollup/rollup-linux-x64-gnu](https://rollupjs.org/) ([source](https://redirect.github.com/rollup/rollup)) | [`4.44.0` -> `4.44.2`](https://renovatebot.com/diffs/npm/@rollup%2frollup-linux-x64-gnu/4.44.0/4.44.2) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | optionalDependencies | patch | | [@swc/core](https://swc.rs) ([source](https://redirect.github.com/swc-project/swc)) | [`1.12.4` -> `1.12.11`](https://renovatebot.com/diffs/npm/@swc%2fcore/1.12.4/1.12.11) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch | | [@types/bun](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/bun) ([source](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/bun)) | [`1.2.16` -> `1.2.18`](https://renovatebot.com/diffs/npm/@types%2fbun/1.2.16/1.2.18) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch | | [@types/dockerode](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/dockerode) ([source](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/dockerode)) | [`3.3.41` -> `3.3.42`](https://renovatebot.com/diffs/npm/@types%2fdockerode/3.3.41/3.3.42) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch | | [@types/lodash](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/lodash) ([source](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/lodash)) | [`4.17.18` -> `4.17.20`](https://renovatebot.com/diffs/npm/@types%2flodash/4.17.18/4.17.20) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch | | [@types/node](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node) ([source](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node)) | [`22.15.32` -> `22.16.3`](https://renovatebot.com/diffs/npm/@types%2fnode/22.15.32/22.16.3) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor | | [@typescript-eslint/eslint-plugin](https://typescript-eslint.io/packages/eslint-plugin) ([source](https://redirect.github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin)) | [`8.34.1` -> `8.36.0`](https://renovatebot.com/diffs/npm/@typescript-eslint%2feslint-plugin/8.34.1/8.36.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor | | [@vueuse/components](https://redirect.github.com/vueuse/vueuse/tree/main/packages/components#readme) ([source](https://redirect.github.com/vueuse/vueuse/tree/HEAD/packages/components)) | [`13.4.0` -> `13.5.0`](https://renovatebot.com/diffs/npm/@vueuse%2fcomponents/13.4.0/13.5.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor | | [@vueuse/core](https://redirect.github.com/vueuse/vueuse) ([source](https://redirect.github.com/vueuse/vueuse/tree/HEAD/packages/core)) | [`13.4.0` -> `13.5.0`](https://renovatebot.com/diffs/npm/@vueuse%2fcore/13.4.0/13.5.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor | | [@vueuse/core](https://redirect.github.com/vueuse/vueuse) ([source](https://redirect.github.com/vueuse/vueuse/tree/HEAD/packages/core)) | [`13.4.0` -> `13.5.0`](https://renovatebot.com/diffs/npm/@vueuse%2fcore/13.4.0/13.5.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor | | [@vueuse/integrations](https://redirect.github.com/vueuse/vueuse/tree/main/packages/integrations#readme) ([source](https://redirect.github.com/vueuse/vueuse/tree/HEAD/packages/integrations)) | [`13.4.0` -> `13.5.0`](https://renovatebot.com/diffs/npm/@vueuse%2fintegrations/13.4.0/13.5.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor | | [@vueuse/nuxt](https://redirect.github.com/vueuse/vueuse/tree/main/packages/nuxt#readme) ([source](https://redirect.github.com/vueuse/vueuse/tree/HEAD/packages/nuxt)) | [`13.4.0` -> `13.5.0`](https://renovatebot.com/diffs/npm/@vueuse%2fnuxt/13.4.0/13.5.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor | | [awalsh128/cache-apt-pkgs-action](https://redirect.github.com/awalsh128/cache-apt-pkgs-action) | `v1.4.3` -> `v1.5.1` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | action | minor | | [cache-manager](https://redirect.github.com/jaredwray/cacheable) ([source](https://redirect.github.com/jaredwray/cacheable/tree/HEAD/packages/cache-manager)) | [`7.0.0` -> `7.0.1`](https://renovatebot.com/diffs/npm/cache-manager/7.0.0/7.0.1) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch | | [commit-and-tag-version](https://redirect.github.com/absolute-version/commit-and-tag-version) | [`9.5.0` -> `9.6.0`](https://renovatebot.com/diffs/npm/commit-and-tag-version/9.5.0/9.6.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor | | [concurrently](https://redirect.github.com/open-cli-tools/concurrently) | [`9.1.2` -> `9.2.0`](https://renovatebot.com/diffs/npm/concurrently/9.1.2/9.2.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor | | [dotenv](https://redirect.github.com/motdotla/dotenv) | [`17.1.0` -> `17.2.0`](https://renovatebot.com/diffs/npm/dotenv/17.1.0/17.2.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor | | [eslint](https://eslint.org) ([source](https://redirect.github.com/eslint/eslint)) | [`9.29.0` -> `9.30.1`](https://renovatebot.com/diffs/npm/eslint/9.29.0/9.30.1) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor | | [eslint-plugin-import](https://redirect.github.com/import-js/eslint-plugin-import) | [`2.31.0` -> `2.32.0`](https://renovatebot.com/diffs/npm/eslint-plugin-import/2.31.0/2.32.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor | | [eslint-plugin-n](https://redirect.github.com/eslint-community/eslint-plugin-n) | [`17.20.0` -> `17.21.0`](https://renovatebot.com/diffs/npm/eslint-plugin-n/17.20.0/17.21.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor | | [eslint-plugin-prettier](https://redirect.github.com/prettier/eslint-plugin-prettier) | [`5.5.0` -> `5.5.1`](https://renovatebot.com/diffs/npm/eslint-plugin-prettier/5.5.0/5.5.1) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch | | [eslint-plugin-vue](https://eslint.vuejs.org) ([source](https://redirect.github.com/vuejs/eslint-plugin-vue)) | [`10.2.0` -> `10.3.0`](https://renovatebot.com/diffs/npm/eslint-plugin-vue/10.2.0/10.3.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor | | [fast-check](https://fast-check.dev/) ([source](https://redirect.github.com/dubzzz/fast-check/tree/HEAD/packages/fast-check)) | [`4.1.1` -> `4.2.0`](https://renovatebot.com/diffs/npm/fast-check/4.1.1/4.2.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor | | [glob](https://redirect.github.com/isaacs/node-glob) | [`11.0.1` -> `11.0.3`](https://renovatebot.com/diffs/npm/glob/11.0.1/11.0.3) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch | | [happy-dom](https://redirect.github.com/capricorn86/happy-dom) | [`18.0.0` -> `18.0.1`](https://renovatebot.com/diffs/npm/happy-dom/18.0.0/18.0.1) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch | | [inquirer](https://redirect.github.com/SBoudrias/Inquirer.js/blob/main/packages/inquirer/README.md) ([source](https://redirect.github.com/SBoudrias/Inquirer.js)) | [`12.6.3` -> `12.7.0`](https://renovatebot.com/diffs/npm/inquirer/12.6.3/12.7.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor | | [isomorphic-dompurify](https://redirect.github.com/kkomelin/isomorphic-dompurify) | [`2.25.0` -> `2.26.0`](https://renovatebot.com/diffs/npm/isomorphic-dompurify/2.25.0/2.26.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor | | [lucide-vue-next](https://lucide.dev) ([source](https://redirect.github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-vue-next)) | [`0.519.0` -> `0.525.0`](https://renovatebot.com/diffs/npm/lucide-vue-next/0.519.0/0.525.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor | | [marked-base-url](https://redirect.github.com/markedjs/marked-base-url) | [`1.1.6` -> `1.1.7`](https://renovatebot.com/diffs/npm/marked-base-url/1.1.6/1.1.7) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch | | [node](https://nodejs.org) ([source](https://redirect.github.com/nodejs/node)) | `22.16.0` -> `22.17.0` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | minor | | [nuxt](https://nuxt.com) ([source](https://redirect.github.com/nuxt/nuxt/tree/HEAD/packages/nuxt)) | [`3.17.5` -> `3.17.6`](https://renovatebot.com/diffs/npm/nuxt/3.17.5/3.17.6) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch | | [pnpm](https://pnpm.io) ([source](https://redirect.github.com/pnpm/pnpm/tree/HEAD/pnpm)) | [`10.12.4` -> `10.13.1`](https://renovatebot.com/diffs/npm/pnpm/10.12.4/10.13.1) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | packageManager | minor | | [pnpm](https://pnpm.io) ([source](https://redirect.github.com/pnpm/pnpm/tree/HEAD/pnpm)) | [`10.12.4` -> `10.13.1`](https://renovatebot.com/diffs/npm/pnpm/10.12.4/10.13.1) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | engines | minor | | [prettier](https://prettier.io) ([source](https://redirect.github.com/prettier/prettier)) | [`3.5.3` -> `3.6.2`](https://renovatebot.com/diffs/npm/prettier/3.5.3/3.6.2) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor | | [prettier-plugin-tailwindcss](https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss) | [`0.6.13` -> `0.6.14`](https://renovatebot.com/diffs/npm/prettier-plugin-tailwindcss/0.6.13/0.6.14) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch | | [reka-ui](https://redirect.github.com/unovue/reka-ui) | [`2.3.1` -> `2.3.2`](https://renovatebot.com/diffs/npm/reka-ui/2.3.1/2.3.2) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch | | [semver](https://redirect.github.com/npm/node-semver) | [`7.7.1` -> `7.7.2`](https://renovatebot.com/diffs/npm/semver/7.7.1/7.7.2) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch | | [systeminformation](https://systeminformation.io) ([source](https://redirect.github.com/sebhildebrandt/systeminformation)) | [`5.27.6` -> `5.27.7`](https://renovatebot.com/diffs/npm/systeminformation/5.27.6/5.27.7) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch | | [tsx](https://tsx.is) ([source](https://redirect.github.com/privatenumber/tsx)) | [`4.19.3` -> `4.20.3`](https://renovatebot.com/diffs/npm/tsx/4.19.3/4.20.3) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor | | [typescript-eslint](https://typescript-eslint.io/packages/typescript-eslint) ([source](https://redirect.github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint)) | [`8.34.1` -> `8.36.0`](https://renovatebot.com/diffs/npm/typescript-eslint/8.34.1/8.36.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor | | [vite](https://vite.dev) ([source](https://redirect.github.com/vitejs/vite/tree/HEAD/packages/vite)) | [`7.0.3` -> `7.0.4`](https://renovatebot.com/diffs/npm/vite/7.0.3/7.0.4) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch | | [vitest](https://redirect.github.com/vitest-dev/vitest) ([source](https://redirect.github.com/vitest-dev/vitest/tree/HEAD/packages/vitest)) | [`3.0.7` -> `3.2.4`](https://renovatebot.com/diffs/npm/vitest/3.0.7/3.2.4) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor | | [vue-i18n](https://redirect.github.com/intlify/vue-i18n/tree/master/packages/vue-i18n#readme) ([source](https://redirect.github.com/intlify/vue-i18n/tree/HEAD/packages/vue-i18n)) | [`11.1.6` -> `11.1.9`](https://renovatebot.com/diffs/npm/vue-i18n/11.1.6/11.1.9) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch | | [vue-sonner](https://redirect.github.com/xiaoluoboding/vue-sonner) | [`1.3.0` -> `1.3.2`](https://renovatebot.com/diffs/npm/vue-sonner/1.3.0/1.3.2) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch | | [vuetify](https://vuetifyjs.com) ([source](https://redirect.github.com/vuetifyjs/vuetify/tree/HEAD/packages/vuetify)) | [`3.8.10` -> `3.9.0`](https://renovatebot.com/diffs/npm/vuetify/3.8.10/3.9.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor | | [wrangler](https://redirect.github.com/cloudflare/workers-sdk) ([source](https://redirect.github.com/cloudflare/workers-sdk/tree/HEAD/packages/wrangler)) | [`^3.87.0` -> `^3.114.10`](https://renovatebot.com/diffs/npm/wrangler/3.114.10/3.114.11) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch | | [ws](https://redirect.github.com/websockets/ws) | [`8.18.2` -> `8.18.3`](https://renovatebot.com/diffs/npm/ws/8.18.2/8.18.3) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch | | [ws](https://redirect.github.com/websockets/ws) | [`8.18.2` -> `8.18.3`](https://renovatebot.com/diffs/npm/ws/8.18.2/8.18.3) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch | | [zod](https://zod.dev) ([source](https://redirect.github.com/colinhacks/zod)) | [`3.24.2` -> `3.25.76`](https://renovatebot.com/diffs/npm/zod/3.24.2/3.25.76) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor | | [zod](https://zod.dev) ([source](https://redirect.github.com/colinhacks/zod)) | [`3.25.67` -> `3.25.76`](https://renovatebot.com/diffs/npm/zod/3.25.67/3.25.76) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch | | [zx](https://google.github.io/zx/) ([source](https://redirect.github.com/google/zx)) | [`8.3.2` -> `8.6.2`](https://renovatebot.com/diffs/npm/zx/8.3.2/8.6.2) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor | | [zx](https://google.github.io/zx/) ([source](https://redirect.github.com/google/zx)) | [`8.5.5` -> `8.6.2`](https://renovatebot.com/diffs/npm/zx/8.5.5/8.6.2) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor | --- ### Release Notes <details> <summary>eslint/eslint (@​eslint/js)</summary> ### [`v9.30.1`](https://redirect.github.com/eslint/eslint/compare/v9.30.0...b3dbc16563cb7036d75edff9814e17053a645321) [Compare Source](https://redirect.github.com/eslint/eslint/compare/v9.30.0...v9.30.1) ### [`v9.30.0`](https://redirect.github.com/eslint/eslint/compare/v9.29.0...5a5d5261037fdf84a91f2f22d3726d58572453f4) [Compare Source](https://redirect.github.com/eslint/eslint/compare/v9.29.0...v9.30.0) </details> <details> <summary>faker-js/faker (@​faker-js/faker)</summary> ### [`v9.9.0`](https://redirect.github.com/faker-js/faker/blob/HEAD/CHANGELOG.md#990-2025-07-01) [Compare Source](https://redirect.github.com/faker-js/faker/compare/v9.8.0...v9.9.0) ##### New Locales - **locale:** add word data to pt\_br and pt\_pt locales ([#​3531](https://redirect.github.com/faker-js/faker/issues/3531)) ([a405ac8]( |
||
|
|
2ed1308e40 |
chore(deps): update dependency vite-plugin-vue-tracer to v1 (#1472)
This PR contains the following updates: | Package | Change | Age | Confidence | |---|---|---|---| | [vite-plugin-vue-tracer](https://redirect.github.com/antfu/vite-plugin-vue-tracer) | [`0.1.4` -> `1.0.0`](https://renovatebot.com/diffs/npm/vite-plugin-vue-tracer/0.1.4/1.0.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>antfu/vite-plugin-vue-tracer (vite-plugin-vue-tracer)</summary> ### [`v1.0.0`](https://redirect.github.com/antfu/vite-plugin-vue-tracer/releases/tag/v1.0.0) [Compare Source](https://redirect.github.com/antfu/vite-plugin-vue-tracer/compare/v0.1.5...v1.0.0) *No significant changes* ##### [View changes on GitHub](https://redirect.github.com/antfu/vite-plugin-vue-tracer/compare/v0.1.5...v1.0.0) ### [`v0.1.5`](https://redirect.github.com/antfu/vite-plugin-vue-tracer/releases/tag/v0.1.5) [Compare Source](https://redirect.github.com/antfu/vite-plugin-vue-tracer/compare/v0.1.4...v0.1.5) ##### 🚀 Features - Support Vite 7 - by [@​antfu](https://redirect.github.com/antfu) [<samp>(6927e)</samp>](https://redirect.github.com/antfu/vite-plugin-vue-tracer/commit/6927e8a) ##### [View changes on GitHub](https://redirect.github.com/antfu/vite-plugin-vue-tracer/compare/v0.1.4...v0.1.5) </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/unraid/api). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS4xNy4yIiwidXBkYXRlZEluVmVyIjoiNDEuMjMuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> |
||
|
|
6c03df2b97 |
tests: server store trial extensions (#1504)
Requested in feature PR https://github.com/unraid/api/pull/1490#issuecomment-3059002854 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Enhanced trial expiration messaging to clearly communicate when the trial is expiring, options for extension, and the consequences of expiration. * Added dynamic display of trial extension options and actions based on eligibility and time remaining before expiration. * **Bug Fixes** * Improved accuracy of messages and actions related to trial extension eligibility and renewal windows. * **Tests** * Added comprehensive tests for trial extension eligibility, renewal windows, and related user messages and actions. * **Documentation** * Updated English locale strings to reflect new trial expiration and extension messages. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
074370c42c |
fix: over-eager cloud query from web components (#1506)
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Bug Fixes** * Improved initialization logic to ensure cloud state is only loaded when the connect plugin is installed, enhancing reliability during startup. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
f34a33bc9f | feat: trial extension allowed within 5 days of expiration (#1490) | ||
|
|
c7801a9236 |
chore(main): release 4.9.5 (#1503)
🤖 I have created a release *beep* *boop* --- ## [4.9.5](https://github.com/unraid/api/compare/v4.9.4...v4.9.5) (2025-07-10) ### Bug Fixes * **connect:** rm eager restart on `ERROR_RETYING` connection status ([#1502](https://github.com/unraid/api/issues/1502)) ([v4.9.5 |
||
|
|
dd759d9f0f |
fix(connect): rm eager restart on ERROR_RETYING connection status (#1502)
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Bug Fixes** * Improved connection handling to prevent unnecessary reconnection attempts during error retry states, ensuring reconnections only occur on specific failures. * **Tests** * Added comprehensive tests to verify connection recovery, identity-based connection, logout behavior, DDoS prevention, and edge case handling for connection state changes. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
74da8d81ef |
chore(main): release 4.9.4 (#1498)
🤖 I have created a release *beep* *boop* --- ## [4.9.4](https://github.com/unraid/api/compare/v4.9.3...v4.9.4) (2025-07-09) ### Bug Fixes * backport `<unraid-modals>` upon plg install when necessary ([#1499](https://github.com/unraid/api/issues/1499)) ([v4.9.4 |
||
|
|
33e0b1ab24 |
fix: backport <unraid-modals> upon plg install when necessary (#1499)
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Bug Fixes** * Prevented duplicate insertion of the modal component in the page layout. * **Chores** * Improved installation script to ensure the modal component is added only if missing. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
ca4e2db1f2 |
fix: event emitter setup for writing status (#1496)
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Chores** * Updated permissions to allow additional Bash command patterns in the configuration. * Improved connection status updates by triggering them via event listeners during application bootstrap. * Adjusted module provider registrations to reflect service relocation within the application structure. * **Tests** * Added comprehensive unit and integration tests for connection status writing and cleanup behaviors. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
ea20d1e211 |
fix: DefaultPageLayout patch rollback omits legacy header logo (#1497)
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Enhanced the header by displaying the OS version and additional server information. * Introduced a new notification system using a modern UI component for toasts. * Automatically creates a root session for local requests when no valid session exists. * **Bug Fixes** * Removed outdated pop-up notification logic and bell icon from the navigation area. * **Style** * Updated header layout and improved formatting for a cleaner appearance. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
79c57b8ed0 |
chore(main): release 4.9.3 (#1495)
🤖 I have created a release *beep* *boop* --- ## [4.9.3](https://github.com/unraid/api/compare/v4.9.2...v4.9.3) (2025-07-09) ### Bug Fixes * duplicated header logo after api stops ([#1493](https://github.com/unraid/api/issues/1493)) ([v4.9.3 |
||
|
|
4168f43e3e |
fix: duplicated header logo after api stops (#1493)
Move legacy header logo omission from API file modifier to plg install step to avoid breaking rollback (ie upon `unraid-api stop`) due to web component upgrade. Tested on 7.1.4 & 7.2.0-beta.0.16 Testing & Reproduction procedure: 1. Install connect plugin 2. Run `unraid-api stop` on server 3. Refresh page. Before Unraid 7.2, Plugin versions prior to this will display a duplicated logo that blocks the nav menu. Now, it will not. Plugin uninstall behavior remains unchanged. <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * The plugin installation process now updates the header logo by removing the old logo from the interface during installation. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
20de3ec8d6 |
chore(main): release 4.9.2 (#1488)
🤖 I have created a release *beep* *boop* --- ## [4.9.2](https://github.com/unraid/api/compare/v4.9.1...v4.9.2) (2025-07-09) ### Bug Fixes * invalid configs no longer crash API ([#1491](https://github.com/unraid/api/issues/1491)) ([v4.9.2 |
||
|
|
39b8f453da |
fix: invalid state for unraid plugin (#1492)
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Improved connection status handling by introducing a new service that writes connection status to a JSON file for enhanced integration. * Updated system components to read connection status and allowed origins from the new JSON file, ensuring more reliable and up-to-date information. * **Chores** * Expanded allowed Bash command permissions to include commands starting with "mv:". <!-- end of auto-generated comment: release notes by coderabbit.ai --> |