mirror of
https://github.com/unraid/api.git
synced 2026-01-04 07:29:48 -06:00
effdbcf0f5438f4df01e32c4efaa4949ee05e269
15 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
d6fa102d06 |
refactor: use go links for docs (#1552)
Update hardcoded doc links to use go-links and move them to a constants file. Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com> |
||
|
|
3b00fec5fd |
chore: Remove legacy store modules and add new API key and reporting services (#1536)
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Added developer CLI tools for toggling GraphQL sandbox and modal testing utilities. * Introduced a "Show Activation Modal" developer component for UI testing. * Added system initial setup detection and related GraphQL queries. * Enhanced login and welcome pages with dynamic server info and initial setup state. * Improved SSO button with internationalization and error handling. * Added internal CLI admin API key management service and internal GraphQL client service. * Introduced comprehensive API report generation service for system and service status. * Added CLI commands and GraphQL mutations/queries for plugin and SSO user management. * Added new modal target components and improved teleport target detection. * **Enhancements** * Refined modal dialog targeting and teleportation for flexible UI placement. * Updated modal components and stores for improved activation/welcome modal control. * Improved plugin and SSO user management via CLI through GraphQL API. * Refactored partner logo components to use props instead of store dependencies. * Enhanced styling and accessibility for buttons and modals. * Streamlined Tailwind CSS integration with shared styles and updated theme variables. * Improved GraphQL module configuration to avoid directive conflicts in tests. * Adjusted Vite config for better dependency handling in test mode. * Improved error handling and logging in CLI commands and services. * Reordered imports and refined component class bindings for UI consistency. * **Bug Fixes** * Resolved issues with duplicate script tags and component registration in the web UI. * Fixed modal close button visibility and activation modal state handling. * Added error handling and logging improvements across CLI commands and services. * Fixed newline issues in last-download-time fixture files. * **Chores** * Added and updated numerous tests for CLI commands, services, and UI components. * Updated translation files and localization resources for new UI messages. * Adjusted environment, configuration, and dependency files for improved development and test workflows. * Cleaned up unused imports and mocks in tests. * Reorganized exports and barrel files in shared and UI modules. * Added integration and dependency resolution tests for core modules. * **Removals & Refactoring** * Removed legacy Redux state management, configuration, and UPnP logic from the backend. * Eliminated deprecated GraphQL subscriptions and client code related to registration and mothership. * Removed direct store manipulation and replaced with service-based approaches in CLI commands. * Deleted unused or redundant test files and configuration listeners. * Refactored SSO user service to consolidate add/remove operations into a single update method. * Simplified API key services with new methods for automatic key management. * Replaced direct plugin and SSO user service calls with GraphQL client interactions in CLI commands. * Removed complex theme fallback and dark mode CSS rules, replacing with streamlined static theme variables. * Cleaned up Tailwind CSS configuration and removed deprecated local styles. * Removed multiple internal utility files and replaced with simplified or centralized implementations. * Removed deprecated local configuration and synchronization files and listeners. * Removed UPnP helper functions and job management classes. * Refactored server resolver to dynamically construct local server data internally. * Removed CORS handler and replaced with simplified or externalized logic. * Removed store synchronization and registration event pubsub handling. * Removed GraphQL client creation utilities for internal API communication. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
86b6c4f85b |
fix: inject Tailwind CSS into client entry point (#1537)
Added a Vite plugin to automatically inject the Tailwind CSS import into the `unraid-components.client.js` entry file, enhancing the integration of Tailwind CSS within the application. This change improves the setup for styling components consistently across the project. <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Added automated validation to ensure Tailwind CSS styles are correctly included in the custom elements build output. * **Chores** * Updated the build process to include a CSS validation step after manifest generation. * Enhanced development build configuration to enable CSS source maps and optimize Tailwind CSS injection into web components. * Extended CSS theme with new responsive breakpoint variables. * Improved CSS class specificity in user profile, server state, and update modal components for consistent styling. * Removed redundant style blocks and global CSS imports from multiple components to streamline styling and reduce duplication. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
b6acf50c0d |
refactor: update modals and color picker (#1494)
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * The Welcome modal now automatically appears when visiting the `/welcome` page. * "Create a password" button in the Welcome modal is now disabled while loading. * **Refactor** * Activation and Welcome modals now use a new Dialog component for improved layout and styling. * Theme and server selection components now use a simplified Select dropdown with options passed as data for a cleaner interface. * **Tests** * Updated modal-related tests to use the new Dialog component and improved mocking for more accurate and maintainable test coverage. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: mdatelle <mike@datelle.net> |
||
|
|
2c62e0ad09 |
feat: tailwind v4 (#1522)
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Streamlined Tailwind CSS integration using Vite plugin, eliminating the need for separate Tailwind config files. * Updated theme and color variables for improved consistency and maintainability. * **Style** * Standardized spacing, sizing, and font classes across all components using Tailwind’s default scale. * Reduced excessive gaps, padding, and font sizes for a more compact and cohesive UI. * Updated gradient, border, and shadow classes to match Tailwind v4 conventions. * Replaced custom pixel-based classes with Tailwind’s bracketed arbitrary value syntax where needed. * Replaced focus outline styles from `outline-none` to `outline-hidden` for consistent focus handling. * Updated flex shrink/grow utility classes to use newer shorthand forms. * Converted several component templates to use self-closing tags for cleaner markup. * Adjusted icon sizes and spacing for improved visual balance. * **Chores** * Removed legacy Tailwind/PostCSS configuration files and related scripts. * Updated and cleaned up package dependencies for Tailwind v4 and related plugins. * Removed unused or redundant build scripts and configuration exports. * Updated documentation to reflect new Tailwind v4 usage. * Removed Prettier Tailwind plugin from formatting configurations. * Removed Nuxt Tailwind module in favor of direct Vite plugin integration. * Cleaned up ESLint config by removing Prettier integration. * **Bug Fixes** * Corrected invalid or outdated Tailwind class names and syntax. * Fixed issues with max-width and other utility classes for improved layout consistency. * **Tests** * Updated test assertions to match new class names and styling conventions. * **Documentation** * Revised README and internal notes to clarify Tailwind v4 adoption and configuration changes. * Added new development notes emphasizing Tailwind v4 usage and documentation references. * **UI Components** * Enhanced BrandButton stories with detailed variant, size, and padding showcases for better visual testing. * Improved theme store to apply dark mode class on both `<html>` and `<body>` elements for compatibility. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
5edfd823b8 | fix: activation indicator removed | ||
|
|
0379845618 |
refactor: update welcome modal and color picker (#1466)
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Added a new "full" size option to dialogs, allowing dialogs to fill the entire screen. * Introduced a prop to control the visibility of the close button on dialogs. * **Refactor** * Updated the Welcome Modal to use the new Dialog component with improved layout and slot usage. * Reworked dialog content structure for better flexibility and styling. * **Tests** * Updated tests to reflect the switch from the Modal component to the Dialog component, including new mocks and assertions. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: mdatelle <mike@datelle.net> Co-authored-by: Eli Bosley <ekbosley@gmail.com> |
||
|
|
345e83bfb0 |
feat: upgrade nuxt-custom-elements (#1461)
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Added new modal dialogs and UI components, including activation steps, OS update feedback, and expanded notification management. * Introduced a plugin to configure internationalization, state management, and Apollo client support in web components. * Added a new Log Viewer page with a streamlined interface for viewing logs. * **Improvements** * Centralized Pinia state management by consolidating all stores to use a shared global Pinia instance. * Simplified component templates by removing redundant internationalization host wrappers. * Enhanced ESLint configuration with stricter rules and global variable declarations. * Refined custom element build process to prevent jQuery conflicts and optimize minification. * Updated component imports and templates for consistent structure and maintainability. * Streamlined log viewer dropdowns using simplified select components with improved formatting. * Improved notification sidebar with filtering by importance and modular components. * Replaced legacy notification popups with new UI components and added automatic root session creation for localhost requests. * Updated OS version display and user profile UI with refined styling and component usage. * **Bug Fixes** * Fixed component tag capitalization and improved type annotations across components. * **Chores** * Updated development dependencies including ESLint plugins and build tools. * Removed deprecated log viewer patch class and cleaned up related test fixtures. * Removed unused imports and simplified Apollo client setup. * Cleaned up test mocks and removed obsolete i18n host component tests. <!-- 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/1210730229632804 --------- Co-authored-by: Pujit Mehrotra <pujit@lime-technology.com> Co-authored-by: Zack Spear <zackspear@users.noreply.github.com> |
||
|
|
a5f48da322 |
test: create tests for components batch 3 (#1374)
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added comprehensive unit tests for components including SsoButton, ThemeSwitcher, UpdateOs, UserProfile, WanIpCheck, WelcomeModal, ActivationModal, ActivationPartnerLogo, ActivationPartnerLogoImg, and ActivationSteps. - **Tests** - Enhanced existing test suites for ColorSwitcher, DummyServerSwitcher, and I18nHost to improve test isolation, DOM management, and reliability. - **Style** - Made minor typographic correction in ActivationModal description text. - **Refactor** - Reorganized import statements in several components for improved code clarity. - **Chores** - Added necessary imports in multiple components to support Vue Composition API features. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: mdatelle <mike@datelle.net> |
||
|
|
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> |
||
|
|
6c042cbe01 |
fix: stepper fixes (#1240)
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **Refactor** - Streamlined the activation steps display with improved conditional rendering and enhanced interactive button styling. - **New Features** - Introduced a new welcome page featuring a dummy server switcher and refreshed welcome modal. - Expanded the activation interface with a new activation code section for clearer navigation. - **Chores** - Removed the welcome modal from the home page to simplify the layout. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: Zack Spear <hi@zackspear.com> |
||
|
|
ad6b6589db |
feat: convert to pnpm monorepo (#1137)
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Introduced enhanced project management scripts for building, testing, and deploying the monorepo. - Added an automated testing pipeline for improved reliability of the Libvirt functionality. - Provided a new plugin installation script that ensures thorough cleanup during removal. - **Improvements** - Updated container mappings and dependency configurations for more stable and efficient operations. - Refined web application settings and build commands for smoother performance. - Streamlined continuous integration workflows with optimized caching and dependency management. - Updated allowed origins in configuration for enhanced security. - **Chores/Refactor** - Removed outdated configuration files to simplify maintenance and enhance consistency. - Enhanced event listener management in the web application for better error handling. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> |
||
|
|
741e8532ab |
refactor: unraid-ui-web-migration (#1106)
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Introduced enhanced stepper components for smoother multi-step interactions. - Added new loading indicators and improved the loading experience with customizable variants. - **UI Improvements** - Refreshed the global color palette and updated styling across buttons, badges, and loading indicators for a more modern, consistent experience. - Improved the organization and readability of templates and styles across various components. - **Code & Dependency Updates** - Updated key dependencies and revised the theme and configuration settings to improve performance and maintainability. - Introduced new environment variables for better configuration management. - **Legacy Cleanup** - Removed deprecated components and streamlined registrations to simplify the codebase without affecting end-user functionality. - Eliminated unused utility functions and legacy code to enhance overall code quality. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: mdatelle <mike@datelle.net> Co-authored-by: Eli Bosley <ekbosley@gmail.com> |
||
|
|
d8a5b1711a |
feat(web): activation modal steps, updated copy (#1079)
* feat(stepper): add shadcn stepper components * chore(serverState): remove partnerLogo property from server state configuration * refactor(web): modal add subfooter slot - adds ability to display content below the modal's content box * feat(modal): add ActivationSteps component to subFooter slot in WelcomeModal and ActivationModal * refactor: improve activation modal buttons responsiveness * refactor: update activation flow messaging and UI * feat: web/deploy-dev.sh add dynamic web component JS file whitelisting in auth-request.php * fix: remove test UTM parameters from Unraid docs links in activation modal * refactor: improve konami code handling and add type safety to activation steps * chore: remove extra semicolon in serverState.ts * Apply suggestions from code review Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> |
||
|
|
309d221542 |
feat / OEM whitelabel support (#973)
* feat: begin fixing dark mode in the webcomponents * feat: lots of progress on colors * feat: begin nuking alpha beta gamma * feat: set background color on webcomponents * fix: more color work * feat: eliminate all alpha beta gamma variable usage * feat: move variable declarations to theme.ts * feat: begin fixing dark mode in the webcomponents * feat: lots of progress on colors * feat: begin nuking alpha beta gamma * feat: set background color on webcomponents * fix: more color work * feat: eliminate all alpha beta gamma variable usage * feat: download nodejs and install on legacy OS versions * feat: do not move upgradepkg * feat: array iteration for restoring files * feat: separate install process * feat: extract node to usr/local/ * feat: move variable declarations to theme.ts * feat: remove nghttp3 and only bundle nodejs * feat: validate entries correctly * fix: upgradepkg * feat: copy only needed files for nodejs * fix: install syntax error * fix: strip components from tar line * feat: error when nodejs download fails * feat(php): add OEM data extraction functionality * feat(web): WIP add OEM activation modal and integrate OEM data handling * refactor: replace oem etamology with activation * feat(web): enhance activation modal with header and main title options * refactor(web): update activation modal title to handle partner name conditionally * feat: make partnerName optional in activation code data * refactor: remove activationCodeStore from UserProfile component * feat: integrate activation code data into server store * feat: enhance activation code store to include callback actions and improve modal visibility logic * refactor: remove unused theme reference from ColorSwitcher component * fix: update partnerName in activationCodeData for clarity * refactor: adjust gap spacing in Modal component for improved layout * feat: enhance Activation Modal component with dynamic title and description, and add documentation buttons * feat: implement localization for Activation Modal component titles and button texts * feat: add new translations for activation prompts and welcome messages in the WebComponentTranslations class * feat: implement key sequence to close Activation Modal and persist visibility state * feat: update activation logic to conditionally activate or redeem based on activation code presence * feat(plg): plg install / remove partner banner * feat(plg): on install update config to enable display settings banner and on remove banner setting if no custom banner used * fix(plg): plg remove, display banner no if no custom image * feat(plg): implement partner banner handling and system model identification from activation JSON * feat(web): add loading and error states to notification sidebar * refactor(web): add container for loading & error states * feat(web): add count labels to notification tabs * refactor(web): lift notifications overview query to Sidebar from Indicator * fix(web): refetch notifications for sidebar when new notifications arrive * feat(web): move notification indicator icons to top-right of bell icon previously, icons were placed next to bell icon because the status indicators were not accessible to color-blind users. this commit replaces circular status indicators with the icons. * feat(web): remove notification indicator pulse the pulse was initially added to provide visual feedback when: 1. a new notification arrived 2. an alert notification was unread because we began using the legacy notify script, we now get a toast on new notifications. re:2, feedback on the pulse was mixed, so i'm removing it. * refactor(plg): improve conditional for activation & partner setup * feat(plg): add case model icon handling based on activation JSON * feat(plg): enhance partner setup process with detailed logging and system identification updates and setup flag * feat(plg): add setup flag file creation and logging for activation changes * feat(plg): update activation setup flag checks for banner, case model icon, and system identity * fix(plg): add error handling for invalid activation JSON and improve conditional checks for setup flags * fix(plg): improve partner banner and case model icon setup logic with enhanced checks and comments * fix(plg): update case model icon configuration to prevent newline issues in parsing * fix(plg): remove unnecessary echo debug statements and improve setup flag handling for partner details * fix(plg): remove unnecessary registration page check from activation code modal logic * fix(plg): add overlay opacity prop to modal components for customizable background transparency * fix(plg): enhance modal component with vertical centering option and adjust max-width * fix(plg): enhance configuration handling by dynamically updating multiple header parameters in the config file * fix(plg): improve comments and enhance setup flag handling for custom icons in activation logic * fix(translations): correct capitalization and punctuation in user prompts for consistency * fix(store): enhance activation code data structure with additional properties and correct partner URL reference * fix(modal): enhance activation modal with dynamic partner logo and improved title handling * fix(store): update activation code data structure with additional properties and correct partner details * fix(index): refactor badge and button color handling with typed constants for improved maintainability * fix(dependencies): add vue-tsc for improved TypeScript support in Vue projects * refactor(plugin): remove unnecessary comments and clean up code structure * refactor(plugin): remove todo comment for custom header logo * fix(Modal): add partnerUrl handling for logo link and improve code structure * fix(serverState): update partnerLogoPath to use a placeholder image for development * feat(plugin): add rsync activation script for testing activation modal & installs * refactor(activationCode): remove debug log for modal visibility check * feat(plugin): enhance activation process by adding logo and case model handling * refactor(activationCode): rename partnerLogoPath to partnerLogo and update handling for logo file type * refactor(activationCode): remove debug log for partnerLogo watcher * chore(nuxt.config): add ignore rule for webGui images directory * refactor(plugin): rename params array to DISPLAY_PARAMS and update handling for configuration updates * fix(web): partner logo handling for themes * fix(plg): activation oem, custom case icon cfg handling * fix(plugin): replace sed with awk for config file updates in DISPLAY_PARAMS handling * fix(web): add target and rel attributes to partner logo link for security * feat(plugin): add theme parameter to DISPLAY_PARAMS and activation code interface * fix(plugin): replace sed with parameter expansion and awk for config file updates * fix(plugin): reboot logic for plg install to prevent settings overwrite * feat(plugin): streamline activation and partner setup by abstracting scripts for better maintainability * fix(plugin): update script source paths for activation and partner setup * fix(plugin): update script source paths for activation and partner setup to use relative paths * fix(plugin): update script source paths for activation and partner setup to use absolute paths * fix(plugin): add debug mode support to activation scripts and update setup flag handling * fix(plugin): enhance activation scripts with debug mode and conditional execution for safety * refactor(plugin): reposition execution of activation_code setup / remove scripts * fix(plugin): add checks for activation_code_setup script existence and improve deletion logging * fix(plugin): add option to remove setup flag after script execution * fix(plugin): streamline activation script execution by removing unnecessary checks * fix(plugin): remove duplicate activation_code_setup script sourcing * feat(modal): add overlay color prop and enhance class binding for modal background * feat(activation): update modal overlay color and opacity * feat(plg): add WebComponentsExtractor class for managing JS file retrieval * feat(plugin): myservers1.phpintegrate WebComponentsExtractor for dynamic script tag generation * feat(activation): enhance getData method to support JSON output and add getDataForHtmlAttr for HTML-safe JSON * refactor(activation): simplify getData method by removing parameters * feat(plugin): add welcome-modal.php for displaying server state and web components * refactor(web): activation code store rename modal visibility variables for clarity * feat(web): add WelcomeModal component for user onboarding and server setup * feat(plugin): activation_code setup and remove script support welcome modal * refactor(plugin): streamline activation code setup script by removing some comments * fix(plugin): update activation code setup script to prepend items to auth request allow list array * feat: enhance ActivationCodeExtractor with partner logo handling and metadata extraction - Added constants for document root and web GUI images directory. - Introduced properties for partner name, URL, logo path, and logo file type. - Implemented methods to retrieve partner logo path, render logo string, partner name, and URL. - Enhanced data extraction logic to include partner-related information from JSON data. - Added debug method for outputting internal state for troubleshooting. * refactor: update activation-data.php to include debug output for ActivationCodeExtractor - Removed JSON response and replaced it with a debug output wrapped in <pre> tags. - This change allows for easier troubleshooting by displaying internal state information directly on the page. * feat: inject partner logo into DefaultPageLayout and update JS file paths - Modified the activation code setup script to change the path of JavaScript files to be relative to the web GUI's webroot. - Added functionality to inject a partner logo into the DefaultPageLayout by replacing the existing logo string. - Implemented a conditional backup mechanism for the DefaultPageLayout file before making changes. - Included debug output to confirm successful injection or report errors during the process. * feat: add partner logo display functionality and style adjustments - Introduced a new file for displaying the partner logo, which retrieves the logo and URL based on the activation code. - Added CSS styles to adjust the display properties of the partner logo in the header, ensuring proper sizing and alignment. - Enhanced the integration of the partner logo into the existing plugin structure. * refactor: simplify partner logo injection debug output in activation code setup script - Removed syntax check for the DefaultPageLayout file after injecting the partner logo. - Streamlined debug output to confirm successful injection without additional checks, enhancing clarity and reducing complexity. * style: adjust partner logo height in myservers1.php * style: update partner logo width in PartnerLogoImg.vue - Changed the CSS class for the partner logo image from a max height constraint to a fixed width of 72 units, ensuring better responsiveness and alignment in the layout. * fix: update modal title attribute for conditional close behavior - Modified the title attribute of the modal overlay to conditionally display the close instruction based on the showCloseX property. This change improves accessibility by ensuring the title is only set when the close button is visible. * refactor: update partner logo handling in activation code scripts and extractor - Changed the partner logo file name to 'partner-logo.svg' in ActivationCodeExtractor. - Simplified logo path handling by removing unnecessary file type checks and directly using the SVG file. - Updated CSS in myservers1.php to target only the SVG logo. - Modified activation code setup and removal scripts to consistently reference the SVG logo, improving clarity and maintainability. * feat: enhance activation code setup script to include server name handling - Added logic to retrieve and set the server name from the activation JSON if the current system model or comment is not set, or if the current name is "Tower". - Improved debug output to include the partner server name, enhancing visibility during the activation process. - Sanitized the partner server name to remove quotes and backslashes for better handling. * feat: validate activation JSON before proceeding with setup - Added validation for the activation JSON file to ensure it is correctly formatted before executing the setup process. - Enhanced debug output to indicate whether the JSON is valid or not, improving troubleshooting capabilities. - The setup will now only proceed if the activation JSON is confirmed to be valid, preventing potential errors during execution. * fix(plg): improve warning message for invalid activation JSON in setup script * feat: enhance activation code handling with partner logo integration - Added a new optional property 'partnerLogo' to the ActivationCodeExtractor class and updated related interfaces to support boolean values for logo display. - Removed the PNG logo reference from the activation code setup script, streamlining the logo handling process. - Updated the server state to utilize the new 'partnerLogo' property, ensuring consistent logo display logic across the application. - Adjusted computed properties in the activation code store to reflect the changes in logo handling, improving clarity and maintainability. * fix: correct activation JSON validation in setup script - Updated the activation code setup script to use 'jq empty' for validating the activation JSON file, ensuring proper error handling and validation. - This change improves the robustness of the setup process by accurately checking the JSON format before proceeding. * fix: correct comment formatting in dynamix.unraid.net.plg - Fixed a formatting issue in the comment regarding the use of myservers.cfg values to prevent conflicts during installation. This change improves code readability and clarity. * chore: update rsync activation script comments for clarity - Revised comments in the rsync-activation-dir.sh script to better describe its purpose and usage. - Enhanced documentation with an example usage to improve user understanding of the script's functionality. * refactor: clean up activation data and extractor files - Removed outdated copyright comments from activation-data.php and activation-code-extractor.php for improved readability. - Simplified the debug output in activation-data.php by using short PHP tags. - Updated the comment in the ActivationCodeExtractor class to be more concise, enhancing clarity for future developers. * fix: remove unnecessary CSS properties in myservers1.php - Eliminated redundant display and margin properties from the CSS in myservers1.php to streamline the styling and improve code clarity. * refactor: streamline WebComponentsExtractor class and update method names - Removed outdated copyright comments from web-components-extractor.php for improved readability. - Renamed method getJsFileUrl() to getJSFileRelativePath() to enhance clarity and consistency in naming conventions. - Adjusted indentation for better code formatting and readability. * refactor: simplify partner logo handling in activation code script - Removed unnecessary variable initialization and included only essential requires for improved clarity. - Streamlined the code in partner-logo.php to focus on the core functionality of displaying the partner logo. - Enhanced maintainability by reducing complexity in the script. * refactor: clean up activation and server state files - Removed outdated copyright comments and unnecessary variable initializations from activation-data.php and server-state.php for improved readability. - Streamlined the code by eliminating redundant require statements, focusing on essential functionality. - Enhanced maintainability and clarity by simplifying the structure of both files. * feat: add password creation prompts to translations - Introduced new translation strings for password creation in both PHP and JSON files. - Enhanced user guidance by providing detailed messages about the importance of the password for system access and management. - Improved overall user experience by ensuring clarity in the password setup process. * refactor: update activation code setup script comments * refactor: enhance activation code removal script functionality - Updated the activation code removal script to delete additional related files, including PHP and setup scripts, for a more thorough cleanup. - Improved comments for clarity on script usage and options, particularly regarding the self-delete functionality. - Streamlined the deletion process by using an array to manage files to be removed, enhancing maintainability and readability. * fix: update WelcomeModal to disable close button * refactor: reorganize activation code setup and improve script clarity - Moved the activation and partner setup section to follow the web component timestamp check to ensure correct targeting during setup. - Updated comments for better clarity regarding the activation code setup process. - Retained the warning message about not closing the window yet for user guidance. * refactor: enhance activation code setup script with improved comments and logic - Updated comments to clarify the purpose of server name, model, and description checks. - Modified conditional logic to include additional checks for server identification. - Added a TODO note regarding the necessity of updating the ident.cfg file, ensuring future review for potential optimizations. * refactor: update activation code scripts to use .done flag * refactor: introduce constant for activation modal storage key - Added a new constant for the activation code modal hidden storage key to improve code maintainability and clarity. - Updated the activation code store to utilize the new constant, replacing hardcoded string references. * feat: enhance user onboarding and modal components - Added new translation strings for activating Unraid licenses and creating Unraid.net accounts to improve user onboarding experience. - Updated the WelcomeModal and Activation Modal components to reflect new messaging and improved styling options, including the ability to disable shadows. - Implemented a workaround in the WelcomeModal to address font-size inconsistencies between login and authenticated pages. - Refactored the index page to correctly pass server data to the WelcomeModal component. * chore: comment out WelcomeModalCe component for testing * feat: add disableOverlayClose prop to Modal and WelcomeModal components - Introduced a new prop `disableOverlayClose` to the Modal component, allowing users to prevent closing the modal by clicking on the overlay. - Updated the WelcomeModal component to utilize the new `disableOverlayClose` prop, enhancing modal behavior customization. * refactor: update activation code removal script to delete by default - Changed the activation code removal script to use a dry-run flag instead of a self-delete flag, enhancing safety during execution. - Updated the plugin file to reflect the removal of the --delete option, ensuring consistency with the new script behavior. --------- Co-authored-by: Eli Bosley <ekbosley@gmail.com> Co-authored-by: Pujit Mehrotra <pujit@lime-technology.com> |