mirror of
https://github.com/unraid/api.git
synced 2026-01-09 01:59:57 -06:00
v4.24.0
951 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
ed9a5c5ff9 |
chore(main): release 4.24.0 (#1717)
🤖 I have created a release *beep* *boop* --- ## [4.24.0](https://github.com/unraid/api/compare/v4.23.1...v4.24.0) (2025-09-18) ### Features * improve dom content loading by being more efficient about component mounting ([#1716](https://github.com/unraid/api/issues/1716)) ([ |
||
|
|
d8b166e4b6 |
feat: improve dom content loading by being more efficient about component mounting (#1716)
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - New Features - Faster, more scalable component auto-mounting via batch processing. - More robust prop parsing (handles JSON vs. strings and HTML entities). - Improved locale data initialization during setup. - Bug Fixes - Prevents duplicate mounts and improves handling of empty/irrelevant attributes. - Refactor - Consolidated mounting flow and removed legacy runtime debug globals. - Tests - Removed outdated tests tied to previous global exposures. - Chores - Updated type declarations; global client is now optional for improved flexibility. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
8b862ecef5 |
chore(main): release 4.23.1 (#1715)
🤖 I have created a release *beep* *boop* --- ## [4.23.1](https://github.com/unraid/api/compare/v4.23.0...v4.23.1) (2025-09-17) ### Bug Fixes * cleanup ini parser logic with better fallbacks ([#1713](https://github.com/unraid/api/issues/1713)) ([ |
||
|
|
810be7a679 |
chore(main): release 4.23.0 (#1707)
🤖 I have created a release *beep* *boop* --- ## [4.23.0](https://github.com/unraid/api/compare/v4.22.2...v4.23.0) (2025-09-16) ### Features * add unraid api status manager ([#1708](https://github.com/unraid/api/issues/1708)) ([ |
||
|
|
1d9ce0aa3d |
feat: add unraid api status manager (#1708)
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - New Features - Added “Unraid API Status” page under Management Access to view current API status, refresh it, and restart the API with confirmation. - Status view shows running state, detailed output, and in-app success/error messages after actions. - Style - Minor theme adjustments to border colors; no layout changes expected. - Chores - Updated UI text: “Unraid API” → “Unraid API Settings” in settings. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
9714b21c5c |
fix: no sizeRootFs unless queried (#1710)
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - sizeRootFs now reported in bytes as BigInt. - Container listings include size only when requested; caching distinguishes size vs no-size. - New Docker-related fields: per-container update statuses, rebuild/update indicators, spinning state, and a mutation to refresh docker digests. - **Tests** - Added unit tests for GraphQL field inspection and container size/cache behavior. - **Chores** - Version bumped to 4.22.2. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
45d9d65c13 |
chore(main): release 4.22.2 (#1699)
🤖 I have created a release *beep* *boop* --- ## [4.22.2](https://github.com/unraid/api/compare/v4.22.1...v4.22.2) (2025-09-15) ### Bug Fixes * **deps:** pin dependency conventional-changelog-conventionalcommits to 9.1.0 ([#1697](https://github.com/unraid/api/issues/1697)) ([ |
||
|
|
167857a323 | chore: fix dev environment | ||
|
|
c855caa9b2 |
fix: improve vue mount speed by 10x
- Refactored teleport container management to be lazily created, improving performance by avoiding unnecessary DOM manipulations. - Updated `useTeleport` to dynamically determine the correct teleport target based on mounted components. - Removed the `ensureTeleportContainer` import from various components, streamlining the mounting process. - Adjusted the dropdown menu component to utilize a computed property for teleport target management. - Enhanced the component registry to support a unified app architecture, replacing legacy mounting functions with a more efficient approach. <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Support bundles may include the GraphQL API log when present. * OS version data loads lazily when the header dropdown first opens. * Many UI components now load on demand via a unified mounting approach. * **Bug Fixes** * Dropdowns and modals consistently stack above other UI elements. * Server status layout fixes improve small-screen alignment. * **Breaking Changes** * Teleport/mounting APIs and public teleport helper were consolidated/removed; integrations may need update. * **Tests** * Extensive new unit tests added for mounting, teleport, modals, and REST log handling. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com> |
||
|
|
ba4a43aec8 | fix(deps): update graphqlcodegenerator monorepo (major) (#1689) | ||
|
|
c4ca761dfc |
chore(main): release 4.22.1 (#1698)
🤖 I have created a release *beep* *boop* --- ## [4.22.1](https://github.com/unraid/api/compare/v4.22.0...v4.22.1) (2025-09-12) ### Bug Fixes * set input color in SSO field rather than inside of the main.css ([ |
||
|
|
4a07953457 | refactor: move global input text color for SSO button to SsoButton component | ||
|
|
0b20e3ea9f |
chore(main): release 4.22.0 (#1692)
🤖 I have created a release *beep* *boop* --- ## [4.22.0](https://github.com/unraid/api/compare/v4.21.0...v4.22.0) (2025-09-12) ### Features * improved update ui ([#1691](https://github.com/unraid/api/issues/1691)) ([ |
||
|
|
222ced7518 |
fix: hide reset help option when sso is being checked (#1695)
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - Enhancements - Improved SSO sign-in experience on the login screen. The “Forgot your password?” link is now automatically hidden while SSO status is being checked or a provider is loading, and restored once ready. This reduces confusion and visual flicker during authentication, ensuring a cleaner, more stable layout throughout the process. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
0990b898bd | fix: progressFrame white on black | ||
|
|
f95ca9c9cb |
fix(deps): update dependency vue-sonner to v2 (#1475)
This PR contains the following updates: | Package | Change | Age | Confidence | |---|---|---|---| | [vue-sonner](https://redirect.github.com/xiaoluoboding/vue-sonner) | [`1.3.2` -> `2.0.8`](https://renovatebot.com/diffs/npm/vue-sonner/1.3.2/2.0.8) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>xiaoluoboding/vue-sonner (vue-sonner)</summary> ### [`v2.0.8`](https://redirect.github.com/xiaoluoboding/vue-sonner/blob/HEAD/CHANGELOG.md#208-2025-08-18) [Compare Source](https://redirect.github.com/xiaoluoboding/vue-sonner/compare/v2.0.7...v2.0.8) ##### Bug Fixes - fixed the type for nuxt 4 ([e60b0bd]( |
||
|
|
a59b363ebc |
feat: improved update ui (#1691)
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Global awaitable confirmation modal for notification actions. * “Ignore this release” toggle that persists to the server when used. * New test pages and standalone test controls for the update modal and theme switching. * **Refactor** * Update modal rebuilt with a responsive layout, unified “Update Available” title, revised action logic, and centralized modal plumbing. * **Style** * OS Update highlight block, improved spacing, refreshed iconography, and tooltips clarifying actions. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
1c73a4af42 |
chore: rename .ce.vue files to .standalone.vue (#1690)
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - Documentation - Updated contributor guide to use “standalone” naming for web components. - Refactor - Migrated app and component references from legacy variants to standalone components. - Unified component registry and updated global component typings to standalone names. - Tests - Updated test suites to target standalone components; no behavior changes. No user-facing changes. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
88a924c84f |
chore(main): release 4.21.0 (#1684)
🤖 I have created a release *beep* *boop* --- ## [4.21.0](https://github.com/unraid/api/compare/v4.20.4...v4.21.0) (2025-09-10) ### Features * add zsh shell detection to install script ([#1539](https://github.com/unraid/api/issues/1539)) ([ |
||
|
|
ae4d3ecbc4 | fix: white on white login text | ||
|
|
abc22bdb87 |
chore(main): release 4.20.4 (#1681)
🤖 I have created a release *beep* *boop* --- ## [4.20.4](https://github.com/unraid/api/compare/v4.20.3...v4.20.4) (2025-09-09) ### Bug Fixes * staging PR plugin fixes + UI issues on 7.2 beta ([ |
||
|
|
ca22285a26 |
chore: fix invalid user profile test (#1678)
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * New Features * No user-facing changes in this release. * Chores * Streamlined release automation to run after successful build and test stages on main, improving reliability of release tagging and downstream usage. * Simplified job dependencies for related build pipelines. * Tests * Updated User Profile tests to align with revised DOM structure for the description area; assertions unchanged and no functional impact for users. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
838be2c52e |
chore(main): release 4.20.3 (#1677)
🤖 I have created a release *beep* *boop* --- ## [4.20.3](https://github.com/unraid/api/compare/v4.20.2...v4.20.3) (2025-09-09) ### Bug Fixes * header background color issues fixed on 7.2 - thanks Nick! ([ |
||
|
|
73c1100d0b | fix: header background color issues fixed on 7.2 - thanks Nick! | ||
|
|
434e331384 |
chore(main): release 4.20.2 (#1676)
🤖 I have created a release *beep* *boop* --- ## [4.20.2](https://github.com/unraid/api/compare/v4.20.1...v4.20.2) (2025-09-09) ### Bug Fixes * trigger deployment ([ |
||
|
|
6c2c51ae1d |
chore(main): release 4.20.1 (#1674)
🤖 I have created a release *beep* *boop* --- ## [4.20.1](https://github.com/unraid/api/compare/v4.20.0...v4.20.1) (2025-09-09) ### Bug Fixes * adjust header styles to fix flashing and width issues - thanks ZarZ ([ |
||
|
|
d10c12035e |
chore: Revert "fix(deps): update all non-major dependencies" (#1675)
Reverts unraid/api#1633 |
||
|
|
5dd6f42550 |
fix(deps): update all non-major dependencies (#1633)
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.34.0` -> `9.35.0`](https://renovatebot.com/diffs/npm/@eslint%2fjs/9.34.0/9.35.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor | | [@graphql-codegen/typescript-resolvers](https://redirect.github.com/dotansimha/graphql-code-generator) ([source](https://redirect.github.com/dotansimha/graphql-code-generator/tree/HEAD/packages/plugins/typescript/resolvers)) | [`4.5.1` -> `4.5.2`](https://renovatebot.com/diffs/npm/@graphql-codegen%2ftypescript-resolvers/4.5.1/4.5.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.6.3` -> `4.7.0`](https://renovatebot.com/diffs/npm/@ianvs%2fprettier-plugin-sort-imports/4.6.3/4.7.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor | | [@manypkg/cli](https://redirect.github.com/Thinkmill/manypkg) ([source](https://redirect.github.com/Thinkmill/manypkg/tree/HEAD/packages/cli)) | [`0.25.0` -> `0.25.1`](https://renovatebot.com/diffs/npm/@manypkg%2fcli/0.25.0/0.25.1) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch | | [@nuxt/ui](https://ui.nuxt.com) ([source](https://redirect.github.com/nuxt/ui)) | [`4.0.0-alpha.0` -> `4.0.0-alpha.1`](https://renovatebot.com/diffs/npm/@nuxt%2fui/4.0.0-alpha.0/4.0.0-alpha.1) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch | | [@reduxjs/toolkit](https://redux-toolkit.js.org) ([source](https://redirect.github.com/reduxjs/redux-toolkit)) | [`2.8.2` -> `2.9.0`](https://renovatebot.com/diffs/npm/@reduxjs%2ftoolkit/2.8.2/2.9.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor | | [@rollup/rollup-linux-x64-gnu](https://rollupjs.org/) ([source](https://redirect.github.com/rollup/rollup)) | [`4.49.0` -> `4.50.1`](https://renovatebot.com/diffs/npm/@rollup%2frollup-linux-x64-gnu/4.49.0/4.50.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.1.3` -> `9.1.5`](https://renovatebot.com/diffs/npm/@storybook%2faddon-docs/9.1.3/9.1.5) | [](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.1.3` -> `9.1.5`](https://renovatebot.com/diffs/npm/@storybook%2faddon-links/9.1.3/9.1.5) | [](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.1.3` -> `9.1.5`](https://renovatebot.com/diffs/npm/@storybook%2fbuilder-vite/9.1.3/9.1.5) | [](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.1.3` -> `9.1.5`](https://renovatebot.com/diffs/npm/@storybook%2fvue3-vite/9.1.3/9.1.5) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch | | [@tailwindcss/cli](https://tailwindcss.com) ([source](https://redirect.github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-cli)) | [`4.1.12` -> `4.1.13`](https://renovatebot.com/diffs/npm/@tailwindcss%2fcli/4.1.12/4.1.13) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch | | [@tailwindcss/vite](https://tailwindcss.com) ([source](https://redirect.github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-vite)) | [`4.1.12` -> `4.1.13`](https://renovatebot.com/diffs/npm/@tailwindcss%2fvite/4.1.12/4.1.13) | [](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.18.0` -> `22.18.1`](https://renovatebot.com/diffs/npm/@types%2fnode/22.18.0/22.18.1) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch | | [@types/semver](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/semver) ([source](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/semver)) | [`7.7.0` -> `7.7.1`](https://renovatebot.com/diffs/npm/@types%2fsemver/7.7.0/7.7.1) | [](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.41.0` -> `8.43.0`](https://renovatebot.com/diffs/npm/@typescript-eslint%2feslint-plugin/8.41.0/8.43.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.8.0` -> `13.9.0`](https://renovatebot.com/diffs/npm/@vueuse%2fcomponents/13.8.0/13.9.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.8.0` -> `13.9.0`](https://renovatebot.com/diffs/npm/@vueuse%2fcore/13.8.0/13.9.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.8.0` -> `13.9.0`](https://renovatebot.com/diffs/npm/@vueuse%2fcore/13.8.0/13.9.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.8.0` -> `13.9.0`](https://renovatebot.com/diffs/npm/@vueuse%2fintegrations/13.8.0/13.9.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor | | [chalk](https://redirect.github.com/chalk/chalk) | [`5.6.0` -> `5.6.2`](https://renovatebot.com/diffs/npm/chalk/5.6.0/5.6.2) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch | | [dayjs](https://day.js.org) ([source](https://redirect.github.com/iamkun/dayjs)) | [`1.11.14` -> `1.11.18`](https://renovatebot.com/diffs/npm/dayjs/1.11.14/1.11.18) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch | | [dockerode](https://redirect.github.com/apocas/dockerode) | [`4.0.7` -> `4.0.8`](https://renovatebot.com/diffs/npm/dockerode/4.0.7/4.0.8) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch | | [dotenv](https://redirect.github.com/motdotla/dotenv) | [`17.2.1` -> `17.2.2`](https://renovatebot.com/diffs/npm/dotenv/17.2.1/17.2.2) | [](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.34.0` -> `9.35.0`](https://renovatebot.com/diffs/npm/eslint/9.34.0/9.35.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor | | [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.1.3` -> `9.1.5`](https://renovatebot.com/diffs/npm/eslint-plugin-storybook/9.1.3/9.1.5) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch | | [fast-check](https://fast-check.dev/) ([source](https://redirect.github.com/dubzzz/fast-check/tree/HEAD/packages/fast-check)) | [`4.2.0` -> `4.3.0`](https://renovatebot.com/diffs/npm/fast-check/4.2.0/4.3.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor | | [fastify](https://fastify.dev/) ([source](https://redirect.github.com/fastify/fastify)) | [`5.5.0` -> `5.6.0`](https://renovatebot.com/diffs/npm/fastify/5.5.0/5.6.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor | | [got](https://redirect.github.com/sindresorhus/got) | [`14.4.7` -> `14.4.8`](https://renovatebot.com/diffs/npm/got/14.4.7/14.4.8) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | peerDependencies | patch | | [got](https://redirect.github.com/sindresorhus/got) | [`14.4.7` -> `14.4.8`](https://renovatebot.com/diffs/npm/got/14.4.7/14.4.8) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch | | [got](https://redirect.github.com/sindresorhus/got) | [`14.4.7` -> `14.4.8`](https://renovatebot.com/diffs/npm/got/14.4.7/14.4.8) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch | | [jose](https://redirect.github.com/panva/jose) | [`6.0.13` -> `6.1.0`](https://renovatebot.com/diffs/npm/jose/6.0.13/6.1.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | peerDependencies | minor | | [jose](https://redirect.github.com/panva/jose) | [`6.0.13` -> `6.1.0`](https://renovatebot.com/diffs/npm/jose/6.0.13/6.1.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor | | [jose](https://redirect.github.com/panva/jose) | [`6.0.13` -> `6.1.0`](https://renovatebot.com/diffs/npm/jose/6.0.13/6.1.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor | | [lint-staged](https://redirect.github.com/lint-staged/lint-staged) | [`16.1.5` -> `16.1.6`](https://renovatebot.com/diffs/npm/lint-staged/16.1.5/16.1.6) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch | | [lucide-vue-next](https://lucide.dev) ([source](https://redirect.github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-vue-next)) | [`0.542.0` -> `0.543.0`](https://renovatebot.com/diffs/npm/lucide-vue-next/0.542.0/0.543.0) | [](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.19.0` -> `3.19.1`](https://renovatebot.com/diffs/npm/nest-commander/3.19.0/3.19.1) | [](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.18.0` -> `22.19.0` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | minor | | [node](https://redirect.github.com/actions/node-versions) | `22.18.0` -> `22.19.0` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | uses-with | minor | | [node](https://redirect.github.com/nodejs/node) | `22.18.0-bookworm-slim` -> `22.19.0-bookworm-slim` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | final | minor | | [openid-client](https://redirect.github.com/panva/openid-client) | [`6.6.4` -> `6.7.1`](https://renovatebot.com/diffs/npm/openid-client/6.6.4/6.7.1) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor | | [pino](https://getpino.io) ([source](https://redirect.github.com/pinojs/pino)) | [`9.9.0` -> `9.9.4`](https://renovatebot.com/diffs/npm/pino/9.9.0/9.9.4) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch | | [pm2](http://pm2.keymetrics.io/) ([source](https://redirect.github.com/Unitech/pm2)) | [`6.0.8` -> `6.0.10`](https://renovatebot.com/diffs/npm/pm2/6.0.8/6.0.10) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch | | [pnpm](https://pnpm.io) ([source](https://redirect.github.com/pnpm/pnpm/tree/HEAD/pnpm)) | [`10.15.0` -> `10.15.1`](https://renovatebot.com/diffs/npm/pnpm/10.15.0/10.15.1) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | packageManager | patch | | [pnpm](https://pnpm.io) ([source](https://redirect.github.com/pnpm/pnpm/tree/HEAD/pnpm)) | [`10.15.0` -> `10.15.1`](https://renovatebot.com/diffs/npm/pnpm/10.15.0/10.15.1) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | engines | patch | | [pnpm](https://pnpm.io) ([source](https://redirect.github.com/pnpm/pnpm/tree/HEAD/pnpm)) | `10.15.0` -> `10.15.1` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | uses-with | patch | | [rollup-plugin-node-externals](https://redirect.github.com/Septh/rollup-plugin-node-externals) | [`8.1.0` -> `8.1.1`](https://renovatebot.com/diffs/npm/rollup-plugin-node-externals/8.1.0/8.1.1) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch | | [storybook](https://storybook.js.org) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/core)) | [`9.1.3` -> `9.1.5`](https://renovatebot.com/diffs/npm/storybook/9.1.3/9.1.5) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch | | [tailwindcss](https://tailwindcss.com) ([source](https://redirect.github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss)) | [`4.1.12` -> `4.1.13`](https://renovatebot.com/diffs/npm/tailwindcss/4.1.12/4.1.13) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch | | [tailwindcss](https://tailwindcss.com) ([source](https://redirect.github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss)) | [`4.1.12` -> `4.1.13`](https://renovatebot.com/diffs/npm/tailwindcss/4.1.12/4.1.13) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | peerDependencies | patch | | [terser](https://terser.org) ([source](https://redirect.github.com/terser/terser)) | [`5.43.1` -> `5.44.0`](https://renovatebot.com/diffs/npm/terser/5.43.1/5.44.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor | | [tw-animate-css](https://redirect.github.com/Wombosvideo/tw-animate-css) | [`1.3.7` -> `1.3.8`](https://renovatebot.com/diffs/npm/tw-animate-css/1.3.7/1.3.8) | [](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.7` -> `1.3.8`](https://renovatebot.com/diffs/npm/tw-animate-css/1.3.7/1.3.8) | [](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.41.0` -> `8.43.0`](https://renovatebot.com/diffs/npm/typescript-eslint/8.41.0/8.43.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.1.3` -> `7.1.5`](https://renovatebot.com/diffs/npm/vite/7.1.3/7.1.5) | [](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.20` -> `3.5.21`](https://renovatebot.com/diffs/npm/vue/3.5.20/3.5.21) | [](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.20` -> `3.5.21`](https://renovatebot.com/diffs/npm/vue/3.5.20/3.5.21) | [](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.11` -> `11.1.12`](https://renovatebot.com/diffs/npm/vue-i18n/11.1.11/11.1.12) | [](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.9.6` -> `3.9.7`](https://renovatebot.com/diffs/npm/vuetify/3.9.6/3.9.7) | [](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.33.0` -> `4.34.0`](https://renovatebot.com/diffs/npm/wrangler/4.33.0/4.34.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.35.0`](https://redirect.github.com/eslint/eslint/compare/v9.34.0...af2a0870fdc646091d027516601888923e5bc202) [Compare Source](https://redirect.github.com/eslint/eslint/compare/v9.34.0...v9.35.0) </details> <details> <summary>dotansimha/graphql-code-generator (@​graphql-codegen/typescript-resolvers)</summary> ### [`v4.5.2`](https://redirect.github.com/dotansimha/graphql-code-generator/blob/HEAD/packages/plugins/typescript/resolvers/CHANGELOG.md#452) [Compare Source](https://redirect.github.com/dotansimha/graphql-code-generator/compare/@graphql-codegen/typescript-resolvers@4.5.1...@graphql-codegen/typescript-resolvers@4.5.2) ##### Patch Changes - [#​10419](https://redirect.github.com/dotansimha/graphql-code-generator/pull/10419) [`2fc3869`]( |
||
|
|
4759b3d0b3 | fix: adjust header styles to fix flashing and width issues - thanks ZarZ | ||
|
|
196bd52628 |
chore(main): release 4.20.0 (#1666)
🤖 I have created a release *beep* *boop* --- ## [4.20.0](https://github.com/unraid/api/compare/v4.19.1...v4.20.0) (2025-09-08) ### Features * **disks:** add isSpinning field to Disk type ([#1527](https://github.com/unraid/api/issues/1527)) ([ |
||
|
|
aecf70ffad | fix: properly override header values (#1673) | ||
|
|
785f1f5eb1 |
fix: progress frame background color fix (#1672)
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Style** * Introduces scoped CSS resets to confine UI framework effects to elements using a .unapi prefix, normalizing typography, buttons, toggles, links, dialogs, and logos for consistent visuals. * Updates Unraid UI integrations and dark mode visuals for more reliable appearance. * Keeps progress iframe background aligned to app theme for visual consistency. * **Chores** * Moves shared styling imports to the root and extends resource scanning to support the new scoped approach. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
413db4bd30 |
fix(deps): pin dependencies (#1669)
This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [ajv-errors](https://redirect.github.com/epoberezkin/ajv-errors) | dependencies | pin | [`^3.0.0` -> `3.0.0`](https://renovatebot.com/diffs/npm/ajv-errors/3.0.0/3.0.0) | | [ansi_up](https://redirect.github.com/drudru/ansi_up) | dependencies | pin | [`^6.0.6` -> `6.0.6`](https://renovatebot.com/diffs/npm/ansi_up/6.0.6/6.0.6) | | [globals](https://redirect.github.com/sindresorhus/globals) | devDependencies | pin | [`^16.3.0` -> `16.3.0`](https://renovatebot.com/diffs/npm/globals/16.3.0/16.3.0) | | [pify](https://redirect.github.com/sindresorhus/pify) | devDependencies | pin | [`^6.1.0` -> `6.1.0`](https://renovatebot.com/diffs/npm/pify/6.1.0/6.1.0) | | [vue-router](https://redirect.github.com/vuejs/router) | dependencies | pin | [`^4.5.1` -> `4.5.1`](https://renovatebot.com/diffs/npm/vue-router/4.5.1/4.5.1) | 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:eyJjcmVhdGVkSW5WZXIiOiI0MS45Ny4xMCIsInVwZGF0ZWRJblZlciI6IjQxLjk3LjEwIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> |
||
|
|
af5ca11860 |
Feat/vue (#1655)
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - New Features - Introduced Docker management UI components: Overview, Logs, Console, Preview, and Edit. - Added responsive Card/Detail layouts with grouping, bulk actions, and tabs. - New UnraidToaster component and global toaster configuration. - Component auto-mounting improved with async loading and multi-selector support. - UI/UX - Overhauled theme system (light/dark tokens, primary/orange accents) and added theme variants. - Header OS version now includes integrated changelog modal. - Registration displays warning states; multiple visual polish updates. - API - CPU load now includes percentGuest and percentSteal metrics. - Chores - Migrated web app to Vite; updated artifacts and manifests. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: mdatelle <mike@datelle.net> Co-authored-by: Michael Datelle <mdatelle@icloud.com> |
||
|
|
16905dd3a6 |
chore(main): release 4.19.1 (#1665)
🤖 I have created a release *beep* *boop* --- ## [4.19.1](https://github.com/unraid/api/compare/v4.19.0...v4.19.1) (2025-09-05) ### Bug Fixes * custom path detection to fix setup issues ([#1664](https://github.com/unraid/api/issues/1664)) ([ |
||
|
|
d3459ecbc6 |
chore(main): release 4.19.0 (#1650)
🤖 I have created a release *beep* *boop* --- ## [4.19.0](https://github.com/unraid/api/compare/v4.18.2...v4.19.0) (2025-09-04) ### Features * mount vue apps, not web components ([#1639](https://github.com/unraid/api/issues/1639)) ([ |
||
|
|
239cdd6133 | fix: info alert docker icon (#1661) | ||
|
|
77cfc07dda |
refactor: enhance CSS structure with @layer for component styles (#1660)
- Introduced @layer directive to ensure base styles have lower priority than Tailwind utilities. - Organized CSS resets for box-sizing, figures, headings, paragraphs, and unordered lists under a single @layer base block for improved maintainability. These changes streamline the CSS structure and enhance compatibility with Tailwind CSS utilities. <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - Style - Wrapped core resets in a base style layer, adjusting cascade with utility classes. - Applied global box-sizing within the base layer. - Consolidated heading and paragraph resets into the layer. - Added a reset for unordered lists to remove default bullets and padding. - Retained the logo figure reset within the layer. - Updated formatting and header comments to reflect the layering approach. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
44774d0acd |
fix: UnraidToaster component and update dialog close button (#1657)
- Introduced a new UnraidToaster component for displaying notifications with customizable positions. - Updated the DialogClose component to use a span element for better semantic structure. - Enhanced CSS for the sonner component to ensure proper layout and styling. These changes improve user feedback through notifications and refine the dialog close button's implementation. <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Added a toaster notifications component with configurable screen position, rich colors, and a close button; programmatic and legacy mounting helpers exposed. * **Style** * Updated toast close-button spacing and min-width behavior. * Simplified dialog close-button rendering and removed redundant style resets. * Reduced SSO provider icon size and added SSO button font-size tokens. * **Tests** * Added unit tests covering component mounting and global exports. * **Chores** * Deployment now performs broader remote cleanup before syncing. * **Chores** * Type declarations and tsconfig updated for global mount/utility typings. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
0c727c37f4 |
refactor: update UserProfile positioning and clean up unraid components
- Adjusted the positioning of the UserProfile component to be absolute, ensuring it aligns correctly within its parent container. - Modified the clean-unraid.sh script to remove the entire components directory instead of just the standalone apps directory, enhancing cleanup efficiency. - Added a cleanup step in deploy-dev.sh to clear the remote standalone directory before deployment, ensuring a fresh setup. These changes improve the layout of the UserProfile component and streamline the deployment process by ensuring no residual files remain. |
||
|
|
53f501e1a7 |
refactor: update test for hidden element mounting in vue-mount-app
- Renamed test case to clarify that the component should mount even when the element is hidden. - Adjusted assertions to ensure that hidden elements can still mount successfully without triggering warnings. This change enhances the clarity and reliability of the test suite for the vue-mount-app component. |
||
|
|
6cf7c88242 |
fix: enhance DOM validation and cleanup in vue-mount-app
- Improved validation logic for mounted elements to ensure stable DOM connections and prevent manipulation issues. - Added cleanup step to clear existing unraid-components directory before installation, ensuring a clean setup. This update aims to enhance the reliability of component mounting and reduce potential UI issues. |
||
|
|
33774aa596 |
fix: vue mounting logic with tests (#1651)
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * Bug Fixes * Prevents duplicate modal instances and remounts, improving stability across pages. * Improves auto-mount reliability with better DOM validation and recovery from mount errors. * Enhances cleanup during unmounts to avoid residual artifacts and intermittent UI issues. * More robust handling of shadow DOM and problematic DOM structures, reducing crashes. * Style * Adds extra top margin to the OS version controls for improved spacing. * Tests * Introduces a comprehensive test suite covering mounting, unmounting, error recovery, i18n, and global state behaviors. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
88087d5201 |
feat: mount vue apps, not web components (#1639)
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Standalone web bundle with auto-mount utilities and a self-contained test page. * New responsive modal components for consistent mobile/desktop dialogs. * Header actions to copy OS/API versions. * **Improvements** * Refreshed UI styles (muted borders), accessibility and animation refinements. * Theming updates and Tailwind v4–aligned, component-scoped styles. * Runtime GraphQL endpoint override and CSRF header support. * **Bug Fixes** * Safer network fetching and improved manifest/asset loading with duplicate protection. * **Tests/Chores** * Parallel plugin tests, new extractor test suite, and updated build/test scripts. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
5d89682a3f |
chore(main): release 4.18.2 (#1643)
🤖 I have created a release *beep* *boop* --- ## [4.18.2](https://github.com/unraid/api/compare/v4.18.1...v4.18.2) (2025-09-03) ### Bug Fixes * add missing CPU guest metrics to CPU responses ([#1644](https://github.com/unraid/api/issues/1644)) ([ |
||
|
|
c42f79d406 | chore: add code coverage monitoring (#1645) | ||
|
|
0d1d27064e |
chore(main): release 4.18.1 (#1641)
🤖 I have created a release *beep* *boop* --- ## [4.18.1](https://github.com/unraid/api/compare/v4.18.0...v4.18.1) (2025-09-03) ### Bug Fixes * OIDC and API Key management issues ([#1642](https://github.com/unraid/api/issues/1642)) ([ |
||
|
|
0fe2c2c1c8 | fix: OIDC and API Key management issues (#1642) | ||
|
|
372a4ebb42 |
chore(main): release 4.18.0 (#1636)
🤖 I have created a release *beep* *boop* --- ## [4.18.0](https://github.com/unraid/api/compare/v4.17.0...v4.18.0) (2025-09-02) ### Features * **api:** enhance OIDC redirect URI handling in service and tests ([#1618](https://github.com/unraid/api/issues/1618)) ([ |
||
|
|
4e945f5f56 |
feat(api): enhance OIDC redirect URI handling in service and tests (#1618)
- Updated `getRedirectUri` method in `OidcAuthService` to handle various edge cases for redirect URIs, including full URIs, malformed URLs, and default ports. - Added comprehensive tests for `OidcAuthService` to validate redirect URI construction and error handling. - Modified `RestController` to utilize `redirect_uri` query parameter for authorization requests. - Updated frontend components to include `redirect_uri` in authorization URLs, ensuring correct handling of different protocols and ports. <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Stronger OIDC redirect_uri validation and an admin GraphQL endpoint to view full OIDC configuration. * OIDC Debug Logs UI (panel, button, modal), enhanced log viewer with presets/filters, ANSI-colored rendering, and a File Viewer component. * New GraphQL queries to list and fetch config files; API Config Download page. * **Refactor** * Centralized, modular OIDC flows and safer redirect handling; topic-based log subscriptions with a watcher manager for scalable live logs. * **Documentation** * Cache TTL guidance clarified to use milliseconds. * **Chores** * Added ansi_up and escape-html deps; improved log formatting; added root codegen script. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com> |