mirror of
https://github.com/unraid/api.git
synced 2026-01-02 06:30:02 -06:00
53ca41404f13c057c340dcf9010af72c3365e499
348 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
0788756b91 |
feat: add management page for API keys (#1408)
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added ability to update existing API keys, including name, description, roles, and permissions, through the UI and GraphQL API. - Introduced a modal-based interface for creating and editing API keys with improved role and permission selection. - Added a new API Key Manager page and custom element for centralized API key management. - Enhanced API key listing with detailed views, role badges, permission counters, and copy-to-clipboard functionality. - Introduced reusable dialog components for consistent modal experiences. - Added plugin management capabilities with mutations to add or remove plugins. - Added comprehensive support for managing remote access, network URLs, and API key updates within the GraphQL schema. - **Bug Fixes** - Improved error handling and display for API key creation and update operations. - **Refactor** - Centralized API key modal and editing state management using a dedicated store. - Updated GraphQL queries and mutations to use reusable fragments for API key data. - Removed deprecated or redundant remote access and allowed origins configuration components and queries. - Simplified and updated input types for connect settings and remote access. - **Tests** - Added comprehensive tests for API key update logic and improved coverage for API key loading. - **Chores** - Updated configuration files and cleaned up unused schema and component files. - Added new dialog components and centralized exports for dialogs. - Improved ESLint configuration and import statements for better type handling. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
d9ab58eb83 |
chore: require connect plugin to enable flash backup (#1419)
## Summary by CodeRabbit - **New Features** - Added a check to ensure the "unraid-api-plugin-connect" plugin is enabled before allowing flash backup functionality. - Introduced a utility to directly verify if specific API plugins are enabled. - **Refactor** - Updated internal logic to use a centralized class and script-based checks for plugin status and version instead of manual config parsing. - Improved script command-line interface for easier plugin status and version checks. - **Bug Fixes** - Flash Backup feature and service now only activate when the required API plugin is enabled, preventing unintended usage. - Flash Backup UI is conditionally displayed based on the presence of the API plugin. <!-- 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/1209357561531351 - https://app.asana.com/0/0/1210541992642236 |
||
|
|
8c8a5276b4 |
fix: omit Connect actions in UPC when plugin is not installed (#1417)
Removes Connect branding in dropdown when connect plugin is not installed. Preview of dropdown: <img width="453" alt="image" src="https://github.com/user-attachments/assets/b3ba3954-f2d3-4760-a1e2-91556eb43903" /> ## Summary by CodeRabbit - **New Features** - The Notifications Sidebar is now always visible in the user profile, regardless of plugin installation status. - **Refactor** - Improved detection logic for the connect plugin to enhance accuracy. - Centralized and standardized the "Settings" link in the user profile dropdown for consistent user experience. - The account status section in Connect Settings now only appears when the connect plugin is installed. - Updated the Connect page title from "Unraid Connect" to "Unraid API" for clarity. - **Chores** - Extended linting to include Vue files for better code quality enforcement. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
3dcbfbe489 |
feat: api plugin management via CLI (#1416)
implements unraid-api `plugins list`, `plugins install`, `plugins remove` commands via a new `DependencyService` that invokes npm. ## Summary by CodeRabbit - **New Features** - Enhanced plugin management with install, remove, and list commands supporting bundled plugins and restart control. - Added plugin persistence and configuration synchronization across API settings and interfaces. - Introduced dependency management service for streamlined npm operations and vendor archive rebuilding. - **Bug Fixes** - Improved plugin listing accuracy with warnings for configured but missing plugins. - **Chores** - Refactored CLI modules and services for unified plugin management and dependency handling. - Updated API configuration loading and persistence for better separation of concerns. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
184b76de1c |
chore: include node_modules in api slackware package (#1415)
instead of vendoring & uploading separately. ## Summary by CodeRabbit - **Chores** - Updated build process to retain the `node_modules` directory, removing compression and archiving steps. - Improved plugin installation by cleaning up outdated dependency archives before reinstalling, enhancing system stability. - Removed vendor store file references and related bundling steps from the plugin build and installation process. - Enhanced dependency restoration during service start to log warnings without aborting on failure. - Simplified dependency management scripts by removing vendor store URL handling and download functionality. - Streamlined build workflows by removing artifact upload/download and validation steps related to node modules archives. - Updated Docker Compose configuration to remove unused volume mounts for node modules archives. - Added repository cleanup commands to remove top-level `node_modules` directories and common build artifact folders for easier maintenance. |
||
|
|
c132f28281 |
chore: extract connect to an API plugin (#1367)
separates Unraid Connect from the API ## Summary by CodeRabbit - **New Features** - Introduced a unified, JSON-schema-based settings system for API configuration and plugin settings, accessible via new GraphQL queries and mutations. - Added modular NestJS plugin architecture for Unraid Connect, including new modules for cloud, remote access, and system/network management. - Added granular connection and remote access state tracking, with new GraphQL types and resolvers for cloud and connection status. - Implemented event-driven and service-based management for SSO users, API keys, and dynamic remote access. - Enhanced UI components and queries to support unified settings and restart detection. - **Improvements** - Refactored configuration and state management to use service-based patterns, replacing direct store access and Redux logic. - Migrated legacy config files to new JSON formats with validation and persistence helpers. - Centralized global dependencies and shared services for plugins and CLI modules. - Improved logging, error handling, and lifecycle management for connections and background jobs. - Updated and expanded documentation for plugin development and settings management. - **Bug Fixes** - Improved handling of missing config files and ensured safe persistence. - Enhanced error reporting and validation in remote access and connection services. - **Removals** - Removed deprecated Redux slices, listeners, and legacy cloud/remote access logic. - Deleted obsolete test files, scripts, and unused code related to the old state/store approach. - **Tests** - Added new unit tests for settings merging, URL resolution, and cloud connectivity checks. - **Style** - Applied consistent formatting, import reorganization, and code style improvements across modules. - **Chores** - Updated build scripts, Dockerfiles, and development environment setup to support new dependencies and workflows. - Expanded .gitignore and configuration files for improved build artifact management. |
||
|
|
5517e7506b |
feat: add rclone (#1362)
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Introduced full RClone remote management with creation, deletion, listing, and detailed remote info via a multi-step, schema-driven UI. - Added guided configuration forms supporting advanced and provider-specific options for RClone remotes. - Enabled flash backup initiation through API mutations. - Added new Vue components for RClone configuration, overview, remote item cards, and flash backup page. - Integrated new combobox, stepped layout, control wrapper, label renderer, and improved form renderers with enhanced validation and error display. - Added JSON Forms visibility composable and Unraid settings layout for consistent UI rendering. - **Bug Fixes** - Standardized JSON scalar usage in Docker-related types, replacing `JSONObject` with `JSON`. - **Chores** - Added utility scripts and helpers to manage rclone binary installation and versioning. - Updated build scripts and Storybook configuration for CSS handling and improved developer workflow. - Refactored ESLint config for modularity and enhanced code quality enforcement. - Improved component registration with runtime type checks and error handling. - **Documentation** - Added extensive test coverage for RClone API service, JSON Forms schema merging, and provider config slice generation. - **Style** - Improved UI consistency with new layouts, tooltips on select options, password visibility toggles, and error handling components. - Removed deprecated components and consolidated renderer registrations for JSON Forms. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> |
||
|
|
83076bb940 |
fix: rc.unraid-api now cleans up older dependencies (#1404)
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added an option to clean up old dependency files, keeping only those needed for the current API version. - Introduced a direct cleanup command to remove outdated dependencies before installing new ones. - **Bug Fixes** - Improved handling and messaging for missing or invalid dependency information during cleanup operations. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
7b005cbbf6 |
fix: node_modules dir removed on plugin update (#1406)
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **Chores** - Improved installation process by automatically cleaning up old package directories before installing or upgrading the package. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
881f1e0960 |
feat: slightly better watch mode (#1398)
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added a script to automatically prepare UI components before running the build watch process in the web app. - **Bug Fixes** - Improved build and release processes to ensure directories are properly cleaned and created, preventing potential errors during Docker operations. - **Chores** - Updated build watch scripts for faster development feedback and more efficient parallel execution. - Refined Docker Compose configuration to use the correct release directory for plugin builds. - Introduced a new script to streamline and centralize file watching and build triggering in the plugin system. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
7d88b3393c | fix: do not start API with doinst.sh | ||
|
|
fcd6fbcdd4 |
feat: move to iframe for changelog (#1388)
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Changelog modal now displays changelog documentation within an embedded iframe if a URL is available, allowing navigation within the iframe and providing a "Back to Changelog" button to return to the original view. - "View on Docs" button dynamically updates to reflect the current page within the iframe. - Added support for displaying a formatted changelog string and testing modal behavior with or without this content. - Introduced a new component to fetch, parse, and render changelogs from URLs with enhanced markdown handling. - Update OS store extended to manage changelog display and release stability, consolidating changelog state and actions. - **Bug Fixes** - Close button in modal dialogs is now visible on all screen sizes. - **Chores** - Updated the default server state, which may affect registration device counts and types. - Added new localization string for changelog titles with version placeholders. - Removed deprecated changelog store and related tests, simplifying state management. - Refined backup and restoration scripts for unraid-components directory to use move operations with improved logging. - Improved modal visibility state handling by consolidating changelog modal controls into the main update OS store. - Added URL origin and pattern checks for changelog iframe navigation security. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> |
||
|
|
106ea09399 |
fix(deps): update dependency commander to v14 (#1394)
This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [commander](https://redirect.github.com/tj/commander.js) | [`^13.1.0` -> `^14.0.0`](https://renovatebot.com/diffs/npm/commander/13.1.0/14.0.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>tj/commander.js (commander)</summary> ### [`v14.0.0`](https://redirect.github.com/tj/commander.js/blob/HEAD/CHANGELOG.md#1400-2025-05-18) [Compare Source](https://redirect.github.com/tj/commander.js/compare/v13.1.0...v14.0.0) ##### Added - support for groups of options and commands in the help using low-level `.helpGroup()` on `Option` and `Command`, and higher-level `.optionsGroup()` and `.commandsGroup()` which can be used in chaining way to specify group title for following options/commands (\[[#​2328](https://redirect.github.com/tj/commander.js/issues/2328)]) - support for unescaped negative numbers as option-arguments and command-arguments (\[[#​2339](https://redirect.github.com/tj/commander.js/issues/2339)]) - TypeScript: add `parseArg` property to `Argument` class (\[[#​2359](https://redirect.github.com/tj/commander.js/issues/2359)]) ##### Fixed - remove bogus leading space in help when option has default value but not a description (\[[#​2348](https://redirect.github.com/tj/commander.js/issues/2348)]) - `.configureOutput()` now makes copy of settings instead of modifying in-place, fixing side-effects (\[[#​2350](https://redirect.github.com/tj/commander.js/issues/2350)]) ##### Changed - *Breaking:* Commander 14 requires Node.js v20 or higher - internal refactor of `Help` class adding `.formatItemList()` and `.groupItems()` methods (\[[#​2328](https://redirect.github.com/tj/commander.js/issues/2328)]) </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:eyJjcmVhdGVkSW5WZXIiOiI0MC4xMS4xOCIsInVwZGF0ZWRJblZlciI6IjQwLjExLjE4IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> |
||
|
|
74a70b5557 |
fix(deps): update all non-major dependencies (#1387)
This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [lucide-vue-next](https://lucide.dev) ([source](https://redirect.github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-vue-next)) | [`^0.509.0` -> `^0.510.0`](https://renovatebot.com/diffs/npm/lucide-vue-next/0.509.0/0.510.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [pnpm](https://pnpm.io) ([source](https://redirect.github.com/pnpm/pnpm/tree/HEAD/pnpm)) | [`10.10.0` -> `10.11.0`](https://renovatebot.com/diffs/npm/pnpm/10.10.0/10.11.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>lucide-icons/lucide (lucide-vue-next)</summary> ### [`v0.510.0`](https://redirect.github.com/lucide-icons/lucide/releases/tag/0.510.0): Version 0.510.0 [Compare Source](https://redirect.github.com/lucide-icons/lucide/compare/0.509.0...0.510.0) #### What's Changed - fix(icons): changed `brackets` icon by [@​jguddas](https://redirect.github.com/jguddas) in [https://github.com/lucide-icons/lucide/pull/3172](https://redirect.github.com/lucide-icons/lucide/pull/3172) - feat(icons): added `check-line` icon by [@​oosawy](https://redirect.github.com/oosawy) in [https://github.com/lucide-icons/lucide/pull/2890](https://redirect.github.com/lucide-icons/lucide/pull/2890) #### New Contributors - [@​oosawy](https://redirect.github.com/oosawy) made their first contribution in [https://github.com/lucide-icons/lucide/pull/2890](https://redirect.github.com/lucide-icons/lucide/pull/2890) **Full Changelog**: https://github.com/lucide-icons/lucide/compare/0.509.0...0.510.0 </details> <details> <summary>pnpm/pnpm (pnpm)</summary> ### [`v10.11.0`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#10110) [Compare Source](https://redirect.github.com/pnpm/pnpm/compare/v10.10.0...v10.11.0) ##### Minor Changes - A new setting added for `pnpm init` to create a `package.json` with `type=module`, when `init-type` is `module`. Works as a flag for the init command too [#​9463](https://redirect.github.com/pnpm/pnpm/pull/9463). - Added support for Nushell to `pnpm setup` [#​6476](https://redirect.github.com/pnpm/pnpm/issues/6476). - Added two new flags to the `pnpm audit` command, `--ignore` and `--ignore-unfixable` [#​8474](https://redirect.github.com/pnpm/pnpm/pull/8474). Ignore all vulnerabilities that have no solution: ```shell > pnpm audit --ignore-unfixable ``` Provide a list of CVE's to ignore those specifically, even if they have a resolution. ```shell > pnpm audit --ignore=CVE-2021-1234 --ignore=CVE-2021-5678 ``` - Added support for recursively running pack in every project of a workspace [#​4351](https://redirect.github.com/pnpm/pnpm/issues/4351). Now you can run `pnpm -r pack` to pack all packages in the workspace. ##### Patch Changes - pnpm version management should work, when `dangerouslyAllowAllBuilds` is set to `true` [#​9472](https://redirect.github.com/pnpm/pnpm/issues/9472). - `pnpm link` should work from inside a workspace [#​9506](https://redirect.github.com/pnpm/pnpm/issues/9506). - Set the default `workspaceConcurrency` to `Math.min(os.availableParallelism(), 4)` [#​9493](https://redirect.github.com/pnpm/pnpm/pull/9493). - Installation should not exit with an error if `strictPeerDependencies` is `true` but all issues are ignored by `peerDependencyRules` [#​9505](https://redirect.github.com/pnpm/pnpm/pull/9505). - Read `updateConfig` from `pnpm-workspace.yaml` [#​9500](https://redirect.github.com/pnpm/pnpm/issues/9500). - Add support for `recursive pack` - Remove `url.parse` usage to fix warning on Node.js 24 [#​9492](https://redirect.github.com/pnpm/pnpm/issues/9492). - `pnpm run` should be able to run commands from the workspace root, if `ignoreScripts` is set tot `true` [#​4858](https://redirect.github.com/pnpm/pnpm/issues/4858). </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. 👻 **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:eyJjcmVhdGVkSW5WZXIiOiI0MC43LjEiLCJ1cGRhdGVkSW5WZXIiOiI0MC4xMS45IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> |
||
|
|
4f63b4cf3b |
feat: native slackware package (#1381)
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added detailed versioning for plugin packages incorporating architecture and build identifiers. - Simplified and improved install/uninstall scripts with backup and dynamic package detection. - Introduced comprehensive setup, verification, patching, and cleanup scripts for the Unraid API environment. - Enhanced service control with explicit start, stop, restart, and status commands. - Added robust dependency management scripts for restoring and archiving Node.js modules. - Implemented vendor archive metadata storage and dynamic handling during build and runtime. - Added new CLI options and environment schemas for consistent build configuration. - Introduced new shutdown scripts to gracefully stop flash-backup and unraid-api services. - Added utility scripts for API version detection and vendor archive configuration. - Added a new package description file detailing Unraid API features and homepage link. - **Bug Fixes** - Improved validation and error reporting for missing manifests, dependencies, and configuration files. - Enhanced fallback logic for locating and creating vendor archives. - Fixed iframe compatibility in UI by updating HTML and Firefox preference files. - **Chores** - Updated .gitignore with generated file patterns for Node.js binaries and archives. - Removed obsolete internal documentation and legacy cleanup scripts. - Refined Docker Compose and CI workflows to pass precise API versioning and manage build artifacts. - Centralized common environment validation and CLI option definitions across build tools. - Cleaned up plugin manifest by removing Node.js and PNPM-related entities and legacy logic. - Improved logging and error handling in build and installation scripts. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
291ee475fb |
fix(deps): update all non-major dependencies (#1366)
This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [@manypkg/cli](https://redirect.github.com/Thinkmill/manypkg) ([source](https://redirect.github.com/Thinkmill/manypkg/tree/HEAD/packages/cli)) | [`^0.23.0` -> `^0.24.0`](https://renovatebot.com/diffs/npm/@manypkg%2fcli/0.23.0/0.24.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [lucide-vue-next](https://lucide.dev) ([source](https://redirect.github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-vue-next)) | [`^0.488.0` -> `^0.506.0`](https://renovatebot.com/diffs/npm/lucide-vue-next/0.488.0/0.506.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [pnpm](https://pnpm.io) ([source](https://redirect.github.com/pnpm/pnpm/tree/HEAD/pnpm)) | [`10.8.1` -> `10.10.0`](https://renovatebot.com/diffs/npm/pnpm/10.8.1/10.10.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>Thinkmill/manypkg (@​manypkg/cli)</summary> ### [`v0.24.0`](https://redirect.github.com/Thinkmill/manypkg/blob/HEAD/packages/cli/CHANGELOG.md#0240) [Compare Source](https://redirect.github.com/Thinkmill/manypkg/compare/@manypkg/cli@0.23.0...@manypkg/cli@0.24.0) ##### Minor Changes - [#​248](https://redirect.github.com/Thinkmill/manypkg/pull/248) [`456ca21`]( |
||
|
|
948580917d |
chore(main): release 4.8.0 (#1377)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> |
||
|
|
39e83b2aa1 |
feat: move activation code logic into the API (#1369)
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added comprehensive activation code customization service with dynamic theming, partner branding, and UI updates. - Introduced new GraphQL types and public queries for activation code, partner info, and theme data. - Implemented new web UI stores and components for activation modal, partner logos, and theme management. - **Improvements** - Removed legacy activation code scripts, PHP components, and plugin references, streamlining activation logic. - Enhanced configuration and environment support for activation and theming features. - Improved error handling, validation, and type safety in activation and customization modules. - **Bug Fixes** - Fixed color code validation and path handling in customization service. - **Chores** - Added pre-commit linting hooks and related configuration. - Cleaned up test and development environment files. - **Tests** - Added extensive tests covering activation customization service initialization, data handling, and file modifications. - Removed obsolete tests related to legacy activation code store. - **Refactor** - Migrated activation and partner branding logic from legacy scripts and PHP to TypeScript services and GraphQL resolvers. - Reorganized store and component architecture for activation-related features. - **Style** - Updated UI components for improved branding, theming, accessibility, and layout consistency. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: Zack Spear <hi@zackspear.com> |
||
|
|
c5a394eddf |
chore(main): release 4.7.0 (#1332)
🤖 I have created a release *beep* *boop* --- ## [4.7.0](https://github.com/unraid/api/compare/v4.6.6...v4.7.0) (2025-04-24) ### Features * add basic docker network listing ([#1317](https://github.com/unraid/api/issues/1317)) ([ |
||
|
|
234573264c |
fix(deps): update all non-major dependencies (#1337)
This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [@pinia/nuxt](https://redirect.github.com/vuejs/pinia/tree/v3/packages/nuxt#readme) ([source](https://redirect.github.com/vuejs/pinia)) | [`^0.10.0` -> `^0.11.0`](https://renovatebot.com/diffs/npm/@pinia%2fnuxt/0.10.1/0.11.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [lucide-vue-next](https://lucide.dev) ([source](https://redirect.github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-vue-next)) | [`^0.487.0` -> `^0.488.0`](https://renovatebot.com/diffs/npm/lucide-vue-next/0.487.0/0.488.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [pnpm](https://pnpm.io) ([source](https://redirect.github.com/pnpm/pnpm/tree/HEAD/pnpm)) | [`10.7.1` -> `10.8.1`](https://renovatebot.com/diffs/npm/pnpm/10.7.1/10.8.1) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [vuetify-nuxt-module](https://redirect.github.com/vuetifyjs/nuxt-module) | [`0.18.5` -> `0.18.6`](https://renovatebot.com/diffs/npm/vuetify-nuxt-module/0.18.5/0.18.6) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>lucide-icons/lucide (lucide-vue-next)</summary> ### [`v0.488.0`](https://redirect.github.com/lucide-icons/lucide/releases/tag/0.488.0): Version 0.488.0 [Compare Source](https://redirect.github.com/lucide-icons/lucide/compare/0.487.0...0.488.0) #### What's Changed - docs(readme): fix packages table by [@​realguse](https://redirect.github.com/realguse) in [https://github.com/lucide-icons/lucide/pull/2976](https://redirect.github.com/lucide-icons/lucide/pull/2976) - fix(dev): point urls on packages page to correct page by [@​briz123](https://redirect.github.com/briz123) in [https://github.com/lucide-icons/lucide/pull/2983](https://redirect.github.com/lucide-icons/lucide/pull/2983) - build(deps-dev): bump vite from 5.4.14 to 5.4.15 by [@​dependabot](https://redirect.github.com/dependabot) in [https://github.com/lucide-icons/lucide/pull/2946](https://redirect.github.com/lucide-icons/lucide/pull/2946) - Typo fix for [@​lucide/astro](https://redirect.github.com/lucide/astro) badge by [@​dotspencer](https://redirect.github.com/dotspencer) in [https://github.com/lucide-icons/lucide/pull/3004](https://redirect.github.com/lucide-icons/lucide/pull/3004) - removed flutter package link by [@​shamaamahh](https://redirect.github.com/shamaamahh) in [https://github.com/lucide-icons/lucide/pull/2999](https://redirect.github.com/lucide-icons/lucide/pull/2999) - feat(ci): added npm package provenance attestation by [@​jguddas](https://redirect.github.com/jguddas) in [https://github.com/lucide-icons/lucide/pull/3016](https://redirect.github.com/lucide-icons/lucide/pull/3016) - fix(icons): changed `text` icon by [@​jguddas](https://redirect.github.com/jguddas) in [https://github.com/lucide-icons/lucide/pull/3029](https://redirect.github.com/lucide-icons/lucide/pull/3029) - fix(icons): changed `letter-text` icon by [@​jguddas](https://redirect.github.com/jguddas) in [https://github.com/lucide-icons/lucide/pull/3030](https://redirect.github.com/lucide-icons/lucide/pull/3030) - fix(icons): changed `text-select` icon by [@​jguddas](https://redirect.github.com/jguddas) in [https://github.com/lucide-icons/lucide/pull/3028](https://redirect.github.com/lucide-icons/lucide/pull/3028) #### New Contributors - [@​dotspencer](https://redirect.github.com/dotspencer) made their first contribution in [https://github.com/lucide-icons/lucide/pull/3004](https://redirect.github.com/lucide-icons/lucide/pull/3004) - [@​shamaamahh](https://redirect.github.com/shamaamahh) made their first contribution in [https://github.com/lucide-icons/lucide/pull/2999](https://redirect.github.com/lucide-icons/lucide/pull/2999) **Full Changelog**: https://github.com/lucide-icons/lucide/compare/0.487.0...0.488.0 </details> <details> <summary>pnpm/pnpm (pnpm)</summary> ### [`v10.8.1`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#1081) [Compare Source](https://redirect.github.com/pnpm/pnpm/compare/v10.8.0...v10.8.1) ##### Patch Changes - Removed bright white highlighting, which didn't look good on some light themes [#​9389](https://redirect.github.com/pnpm/pnpm/pull/9389). - If there is no pnpm related configuration in `package.json`, `onlyBuiltDependencies` will be written to `pnpm-workspace.yaml` file [#​9404](https://redirect.github.com/pnpm/pnpm/pull/9404). ### [`v10.8.0`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#1080) [Compare Source](https://redirect.github.com/pnpm/pnpm/compare/v10.7.1...v10.8.0) ##### Minor Changes - **Experimental.** A new hook is supported for updating configuration settings. The hook can be provided via `.pnpmfile.cjs`. For example: ```js module.exports = { hooks: { updateConfig: (config) => ({ ...config, nodeLinker: "hoisted", }), }, }; ``` - Now you can use the `pnpm add` command with the `--config` flag to install new configurational dependencies [#​9377](https://redirect.github.com/pnpm/pnpm/pull/9377). ##### Patch Changes - Do not hang indefinitely, when there is a glob that starts with `!/` in `pnpm-workspace.yaml`. This fixes a regression introduced by [#​9169](https://redirect.github.com/pnpm/pnpm/pull/9169). - `pnpm audit --fix` should update the overrides in `pnpm-workspace.yaml`. - `pnpm link` should update overrides in `pnpm-workspace.yaml`, not in `package.json` [#​9365](https://redirect.github.com/pnpm/pnpm/pull/9365). </details> <details> <summary>vuetifyjs/nuxt-module (vuetify-nuxt-module)</summary> ### [`v0.18.6`](https://redirect.github.com/vuetifyjs/nuxt-module/releases/tag/v0.18.6) [Compare Source](https://redirect.github.com/vuetifyjs/nuxt-module/compare/v0.18.5...v0.18.6) ##### 🚀 Features - **labs**: Enable labs components auto-import by default - by [@​userquin](https://redirect.github.com/userquin) in [https://github.com/vuetifyjs/nuxt-module/issues/309](https://redirect.github.com/vuetifyjs/nuxt-module/issues/309) [<samp>(92366)</samp>](https://redirect.github.com/vuetifyjs/nuxt-module/commit/9236675) ##### 🏎 Performance - **styles**: Use `fsp.access` and rethrow legitimate errors - by [@​userquin](https://redirect.github.com/userquin) in [https://github.com/vuetifyjs/nuxt-module/issues/308](https://redirect.github.com/vuetifyjs/nuxt-module/issues/308) [<samp>(b136e)</samp>](https://redirect.github.com/vuetifyjs/nuxt-module/commit/b136e56) ##### [View changes on GitHub](https://redirect.github.com/vuetifyjs/nuxt-module/compare/v0.18.5...v0.18.6) </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. 👻 **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:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMjcuMyIsInVwZGF0ZWRJblZlciI6IjM5LjIzOC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> |
||
|
|
97ab6fbe32 |
refactor(api): vendor node_modules instead of pnpm store (#1346)
due to issues and redundancies in vendoring postinstall side-effects, such as compiled bindings for libvirt, we reverted to vendoring `node_modules`, installed via `npm` instead of a global pnpm store generated by `pnpm`. This should resolve runtime issues with e.g. the libvirt bindings because `node_modules` will contain the correct "side-effects." ## Summary by CodeRabbit - **New Features** - Introduced a command to remove stale archive files during the cleanup process. - Added functionality to archive the `node_modules` directory. - Enhanced dependency resolution with new overrides for specific packages. - **Chores** - Updated dependency settings by replacing one key dependency with an alternative and removing two unused ones, ensuring optimal deployment. - Enhanced the installation process to operate strictly in offline mode. - Updated artifact naming conventions for clarity and consistency in workflows. - Modified volume mappings in the Docker Compose configuration to reflect new artifact names. - Improved error handling in the GitHub Actions workflow by adding checks for required files. - Updated references in the build process to use a vendor store instead of the PNPM store. - Removed the management of PNPM store archives from the build process. |
||
|
|
36a7a28ed5 |
chore: move node to /usr/libexec (#1345)
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **Chores** - Updated the Node.js runtime configuration for consistent execution. - **Refactor** - Centralized the Node.js binary path into a configurable parameter for improved maintainability. - **New Features** - Introduced a new entity declaration for `NODE_DIR` to streamline Node.js binary management in the plugin. - Updated the Node.js interpreter path in the application configuration. <!-- 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/1209701840918649 |
||
|
|
006fe1e762 |
chore(main): release 4.6.6 (#1328)
🤖 I have created a release *beep* *boop* --- ## [4.6.6](https://github.com/unraid/api/compare/v4.6.5...v4.6.6) (2025-04-03) ### Bug Fixes * issue with invalid builds for prod and tagging ([ |
||
|
|
38a9e36fcd |
chore(main): release 4.6.5 (#1327)
🤖 I have created a release *beep* *boop* --- ## [4.6.5](https://github.com/unraid/api/compare/v4.6.4...v4.6.5) (2025-04-03) ### Bug Fixes * unique artifact ID ([ |
||
|
|
3fff76d155 |
chore(main): release 4.6.4 (#1325)
🤖 I have created a release *beep* *boop* --- ## [4.6.4](https://github.com/unraid/api/compare/v4.6.3...v4.6.4) (2025-04-03) ### Bug Fixes * cleanup build pipeline ([#1326](https://github.com/unraid/api/issues/1326)) ([ |
||
|
|
cacb1c1d3d |
chore(main): release 4.6.3 (#1324)
🤖 I have created a release *beep* *boop* --- ## [4.6.3](https://github.com/unraid/api/compare/v4.6.2...v4.6.3) (2025-04-03) ### Bug Fixes * copy dynamix.unraid.net ([ |
||
|
|
79397eecff |
chore(main): release 4.6.2 (#1323)
🤖 I have created a release *beep* *boop* --- ## [4.6.2](https://github.com/unraid/api/compare/v4.6.1...v4.6.2) (2025-04-03) ### Bug Fixes * build issue ([ |
||
|
|
d0827df60e |
chore(main): release 4.6.1 (#1322)
🤖 I have created a release *beep* *boop* --- ## [4.6.1](https://github.com/unraid/api/compare/v4.6.0...v4.6.1) (2025-04-03) ### Bug Fixes * don't mv deploy on prod release ([ |
||
|
|
5a61aec841 |
chore(main): release 4.6.0 (#1311)
🤖 I have created a release *beep* *boop* --- ## [4.6.0](https://github.com/unraid/api/compare/v4.5.0...v4.6.0) (2025-04-03) ### Features * add gui settings field for sso users ([#1310](https://github.com/unraid/api/issues/1310)) ([ |
||
|
|
1f10b63c8b |
fix(plugin): flaky masking of benign warning during pnpm install (#1313)
The masking logic has a different effect in TTY and non-TTY environments bc pnpm will change the `install` reporter. Now, we: - set `--reporter=append-only` for consistency - replace the grep loop with `sed` to mask and redirect the benign "Ignored build scripts" warning <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **Refactor** - Streamlined the background logging during dependency installations to improve overall efficiency and reduce complexity. This update enhances maintainability without any visible changes to the user experience. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
df168224ea |
refactor: webgui sync script to copy uui build (#1318)
- enhances `pnpm sync-webgui-repo` to include Unraid UI build + sync options - changed the dev intended ThemeSwitcher to use local / session storage <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - The theme switcher now respects your saved preferences, ensuring a more personalized interface. - The component build and synchronization process has been enhanced with new options for UI components and clearer feedback during operations. - New computed properties added for better state management in account and purchase functionalities. - **Bug Fixes** - Improved error handling and logging during the component build process. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
15153855f7 |
chore(main): release 4.5.0 (#1279)
🤖 I have created a release *beep* *boop* --- ## [4.5.0](https://github.com/unraid/api/compare/v4.4.1...v4.5.0) (2025-04-02) ### Features * add webgui theme switcher component ([#1304](https://github.com/unraid/api/issues/1304)) ([ |
||
|
|
f7f40d7906 |
fix(deps): update all non-major dependencies (#1278)
This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [@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.4.4` -> `4.5.0`](https://renovatebot.com/diffs/npm/@graphql-codegen%2ftypescript-resolvers/4.4.4/4.5.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [lucide-vue-next](https://lucide.dev) ([source](https://redirect.github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-vue-next)) | [`^0.483.0` -> `^0.487.0`](https://renovatebot.com/diffs/npm/lucide-vue-next/0.483.0/0.487.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [pnpm](https://pnpm.io) ([source](https://redirect.github.com/pnpm/pnpm/tree/HEAD/pnpm)) | [`10.6.5` -> `10.7.1`](https://renovatebot.com/diffs/npm/pnpm/10.6.5/10.7.1) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [vuetify-nuxt-module](https://redirect.github.com/vuetifyjs/nuxt-module) | [`0.18.4` -> `0.18.5`](https://renovatebot.com/diffs/npm/vuetify-nuxt-module/0.18.4/0.18.5) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>dotansimha/graphql-code-generator (@​graphql-codegen/typescript-resolvers)</summary> ### [`v4.5.0`](https://redirect.github.com/dotansimha/graphql-code-generator/blob/HEAD/packages/plugins/typescript/resolvers/CHANGELOG.md#450) [Compare Source](https://redirect.github.com/dotansimha/graphql-code-generator/compare/@graphql-codegen/typescript-resolvers@4.4.4...@graphql-codegen/typescript-resolvers@4.5.0) ##### Minor Changes - [#​10315](https://redirect.github.com/dotansimha/graphql-code-generator/pull/10315) [`f6909d1`]( |
||
|
|
4964cf557b |
chore: update license fields in package.json (#1298)
Sets license for all node.js packages to `GPL-2.0-or-later` <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **Chores** - Simplified license compliance verification by removing legacy script logic. - Updated licensing terms across components to GPL-2.0-or-later for broader compatibility. - **Documentation** - Revised setup instructions to indicate that the use of the Just build tool is now optional. - **New Features** - Added fallback support in the build automation tool to ensure smoother operations when targets are missing. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
e54f189630 |
feat: copy to webgui repo script docs + wc build options (#1285)
Previously the historical script only use to copy built web components into the webgui repo. The new script provides additional commands to find files in the API repo's plugin dir and attempts to find "new" files. Then a command to act upon each of these new file to sync in either direction, skip it, or ignore it. <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Introduced an interactive synchronization tool that streamlines file transfers between projects. - Added a new command to easily trigger the synchronization process, leveraging enhanced file management and notification capabilities. - **Chores** - Updated version control settings to ignore temporary synchronization files. - Removed an outdated file copying script for improved maintenance. - Added new dependencies to support enhanced functionality. - Modified a script to exclude specific files from deletion during the activation code setup process. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
d5a3d0dfac |
fix: OEM plugin issues (#1288)
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - The file synchronization tool now requires an explicitly defined destination and offers a new option to remove remote password files before syncing. Additionally, synchronization now omits ownership, group, and permission metadata for smoother transfers. - The activation flow has been refined, with legacy authentication modifications removed to deliver a cleaner welcome modal experience. - A new variable has been introduced to enhance server state management. - **Refactor** - Internal configuration adjustments have been made to enhance component delivery and streamline system actions. - **Bug Fixes** - Updated handling of remote user and host parameters in the synchronization script for improved functionality. - Simplified the activation code removal process by focusing solely on the `.set-password.php` file restoration. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: Zack Spear <hi@zackspear.com> |
||
|
|
7fb78494cb |
fix(api): redirect benign pnpm postinstall warning to log file (#1290)
which lives at `/var/log/unraid-api/build-scripts.log` |
||
|
|
d0d2ff65ed | fix: replace files lost during pruning | ||
|
|
9f492bf217 |
feat: api plugin system & offline versioned dependency vendoring (#1252)
- **New Features** - Created a dynamic plugin system for the API to enable community augmentation of GraphQL, CLI, and Cron functionalities capabilities. - Included an example plugin under `packages/unraid-api-plugin-health` that adds a new graphql query for API health checks. - Added `rc.unraid-api` commands for backing up, restoring, and installing production dependencies, streamlining maintenance and deployment. - Improved dependency vendoring by bundling a versioned pnpm store (instead of `node_modules`). Versioning will allow users to add plugins to a specific api release without requiring an internet connection on subsequent reboots. - **Chores** - Upgraded build workflows and versioning processes to ensure more reliable artifact handling and production packaging. |
||
|
|
c4b4d26af0 |
chore(main): release 4.4.1 (#1270)
🤖 I have created a release *beep* *boop* --- ## [4.4.1](https://github.com/unraid/api/compare/v4.4.0...v4.4.1) (2025-03-26) ### Bug Fixes * .env.production from allowing console logs on build ([#1273](https://github.com/unraid/api/issues/1273)) ([ |
||
|
|
0bcfb47bbc |
fix: patch version override logic incorrect (#1275)
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **Bug Fixes** - Improved the system’s version update mechanism so that updates are applied only when the current system version matches the expected version. This enhancement ensures more consistent and reliable version checks during the update process. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
419c794e03 |
chore(main): release 4.4.0 (#1241)
🤖 I have created a release *beep* *boop* --- ## [4.4.0](https://github.com/unraid/api/compare/v4.3.1...v4.4.0) (2025-03-25) ### Features * add ReplaceKey functionality to plugin ([#1264](https://github.com/unraid/api/issues/1264)) ([ |
||
|
|
cc85fba207 |
fix: update configValid state to ineligible in var.ini and adjust rel… (#1268)
…ated tests - Changed `configValid` value from "yes" to "ineligible" in `var.ini`. - Updated tests in `emhttp.test.ts` and `var.test.ts` to reflect the new state. - Refactored `var.ts` to handle the new `configErrorState` logic based on `configValid`. - Adjusted `config.resolver.ts` to return the correct error state. <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Enhanced configuration status reporting to indicate when settings are ineligible, improving clarity on configuration validity. - **Chores** - Updated recorded download times to maintain accurate logging. - Refined the installation process with streamlined dependency linkage and improved script readability. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: Zack Spear <hi@zackspear.com> |
||
|
|
5958d33fce |
chore: cleanup the cleanup scripts (#1266)
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Updated the plugin installation endpoint to use a new port for improved connectivity. - Streamlined installation and removal processes for a more reliable setup and clearer cleanup feedback. - Introduced a new script to manage cleanup operations, enhancing system maintenance during removals. - **Chores** - Expanded file monitoring to support additional file types, ensuring timely updates. - Optimized background operations that configure essential components for enhanced overall performance. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> |
||
|
|
3a20930ead |
feat: UnraidCheckExec for Check OS Updates via UPC dropdown (#1265)
- Added `UnraidCheckExec.php` to separate concerns between UnraidCheck and ReplaceKey, allowing for JSON responses. - Updated `unraidcheck` script to parse query strings for compatibility with the new class. - Modified `webgui.ts` to call `UnraidCheckExec.php` instead of `UnraidCheck.php` for update checks. <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Updated the plugin installation process to ensure critical files remain protected during updates. - Introduced a dedicated update check component that now returns results in a JSON format. - Enhanced the web interface’s update check functionality with streamlined request parameters. - **Refactor** - Separated update checking responsibilities for improved logic clarity and overall reliability. - Updated the interface for the update check payload to enhance parameter handling. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
7e6be67f61 |
feat: add ReplaceKey functionality to plugin (#1264)
This change enhances the plugin's capability to manage license keys effectively. - Introduced `ReplaceKey.php` from the webgui repo for handling auto-extended key check & installation - Updated dynamix.unraid.net.plg to include the new ReplaceKey.php in restore and preserve files. - Changed the `check()` method call in `Registration.page` to use the `force` parameter per https://app.asana.com/0/1204220153625175/1209573221367693/f - Moved the `require_once` for `reboot-details.php` in Downgrade.page and Update.page to ensure it's included after the `ReplaceKey` check. <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Enhanced license key management now validates and updates credentials more reliably. - Essential configuration files are preserved throughout updates and uninstalls to maintain system integrity. - **Chores** - Optimized the update and registration workflows for a smoother, more stable user experience. - Adjusted internal processing steps to prepare for upcoming improvements in update checks. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
6a92f61f1a |
feat: downgrade page replace key check (#1263)
Joins Update.page and Registration.page in having Replace Key check due to relation between OS Version & License OS Eligibility <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Introduced an enhanced system validation step during initialization that verifies key functionality before processing reboot details, improving system reliability. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
f3e6a0011e |
feat: ReplaceKey functionality in Registration and Update pages (#1246)
- Handles auto-extensions key check and install of extend license key with new OS Updates Expiration date Related to https://github.com/unraid/webgui/pull/2071 but not 100% dependent on them. @elibosley, do we want to use the `force` param on the `check()` method for either of these pages? Additionally, what do you think about any potential integration with `UnraidCheck.php` – which is used for the UPC's "Check for Updates" button and the user configured automatically scheduled update check? <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Enhanced plugin registration and update processes with an integrated key validation step that verifies system parameters automatically. <!-- 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/1209573221367688 |
||
|
|
3bfcc8e8c0 |
fix: node installation not persisting across reboots (#1256)
thank you to SteveHawk on the unraid.net forums for surfacing this: https://forums.unraid.net/topic/188319-persist-node-package-download/ <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **Bug Fixes** - Improved the plugin’s file-cleanup process by correcting the reference used to identify outdated Node.js archive files. This update ensures that file management functions as intended, contributing to more reliable plugin behavior. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
7bc9949110 |
fix: make scripts executable when building the plugin (#1255)
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Enhanced script functionality to automatically set correct executable permissions for files within "scripts" directories, ensuring that all relevant scripts run as expected. - Added symbolic link management for various Node.js binaries, improving accessibility and organization within the application. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |