Commit Graph

11362 Commits

Author SHA1 Message Date
Eli Bosley
9603eaa00a fix: Clarify XFS v4 deprecation timeline in warning message
- Updated the deprecation message for XFS v4 to specify the migration deadline as 2030, improving user awareness and understanding of the timeline for necessary filesystem upgrades.
2025-09-12 15:28:30 -04:00
Eli Bosley
f5a36c6ac1 fix: Update XFS v4 deprecation message for clarity
- Revised the warning message for XFS v4 to emphasize its deprecation and the timeline for migration to XFS v5, enhancing user understanding.
2025-09-12 15:12:30 -04:00
Eli Bosley
f0cfe5199f refactor: Simplify filesystem warning checks by removing test mode logic
- Removed test mode checks for deprecated filesystem warnings in the check_disk_for_deprecated_fs function.
- Streamlined the logic for detecting ReiserFS and XFS v4 filesystems, enhancing code clarity and maintainability.
2025-09-12 14:45:24 -04:00
Eli Bosley
5551dd5f98 refactor: Enhance filesystem warning handling and display
- Replaced deprecated filesystem warning logic with a shared helper function for better maintainability.
- Updated DeviceInfo.page to utilize the new helper for displaying filesystem warnings.
- Improved the display of critical and notice warnings for deprecated filesystems, including session-based dismissal for notices.
2025-09-12 14:44:45 -04:00
Eli Bosley
f2cad7693c feat: Implement deprecated filesystem detection and warnings for array and cache devices
- Added a shared function to check for deprecated filesystems (ReiserFS and XFS v4) across array and cache devices.
- Updated ArrayDevices.page and CacheDevices.page to display warnings for deprecated filesystems.
- Introduced helper functions for generating filesystem warning icons and messages.
2025-09-12 13:55:04 -04:00
tom mortensen
55d5731236 Merge pull request #2362 from unraid/fix/logout-page-text-color
fix: update text color in .login.php for better visibility
2025-09-11 11:47:35 -07:00
tom mortensen
d1f044366b Merge pull request #2361 from unraid/fix/routing-table-classes
fix: routing table fixed classes removed
2025-09-11 11:46:52 -07:00
Eli Bosley
8a30a4803c fix: routing table fixed classes removed 2025-09-10 10:13:59 -07:00
Eli Bosley
786bc00e33 fix: update text color in .login.php for better visibility 2025-09-10 10:13:41 -07:00
ljm42
31354e92e5 Merge pull request #2363 from unraid/feat/plugin-pr-builds
feat: add GitHub Actions workflow and script for generating PR plugins
2025-09-10 10:03:15 -07:00
Eli Bosley
2a3f3f55b6 fix: add missing newline at end of Plugins.page file 2025-09-10 12:56:55 -04:00
Eli Bosley
d82b8f82cc chore: enhance PR plugin build workflow with error handling and debugging
- Added error handling to the GitHub Actions workflow by setting `set -euo pipefail` for improved reliability.
- Updated the `git diff` command to use the correct syntax for comparing PR SHAs, ensuring accurate retrieval of changed files in the `emhttp` directory.
2025-09-10 12:55:28 -04:00
Eli Bosley
e2b79e7297 chore: revert plugins.page 2025-09-10 12:54:24 -04:00
Eli Bosley
98ce9b8723 test: change Plugins page to validate update flows 2025-09-10 12:52:06 -04:00
Eli Bosley
95228bf8d6 chore: refine PR plugin script and workflow for improved tarball handling
- Updated `generate-pr-plugin.sh` to clarify usage instructions and rename parameters for local and remote tarball handling.
- Enhanced the GitHub Actions workflow to define local and remote tarball filenames, ensuring consistent naming and preventing SHA conflicts.
- Adjusted the script to use the correct tarball names during SHA256 calculation and plugin file generation, improving accuracy and reliability.
2025-09-10 12:51:03 -04:00
Eli Bosley
2c9c70e7eb chore: update PR plugin script and workflow for versioned tarball generation
- Modified the `generate-pr-plugin.sh` script to create directories and file paths using a versioned naming convention for better organization and clarity.
- Updated the GitHub Actions workflow to generate a versioned tarball filename, ensuring unique identification for each pull request.
- Enhanced the script to maintain consistent backup and manifest paths aligned with the new versioning scheme.
2025-09-10 12:46:41 -04:00
Eli Bosley
83d009f891 chore: update PR plugin build workflow to prevent SHA conflicts
- Modified the GitHub Actions workflow to generate versioned TXZ URLs and keys, ensuring unique paths for each pull request.
- Updated comments for clarity regarding the purpose of versioning in the upload process.
2025-09-10 12:43:43 -04:00
Eli Bosley
3994f06a65 chore: improve backup and restoration process in PR plugin script
- Enhanced the `generate-pr-plugin.sh` script to check for existing backups before creating new ones, preserving original backups across updates.
- Added verbose output during file extraction to provide clearer status updates.
- Implemented a new update method that restores original files before applying new changes, ensuring a clean installation state.
2025-09-10 12:41:06 -04:00
Eli Bosley
976d560b89 chore: enhance output and verification in PR plugin generation script
- Improved the `generate-pr-plugin.sh` script to provide detailed output during tarball examination and file extraction.
- Added a summary of installed files, including counts of modified and new files, to enhance visibility and verification of the installation process.
- Updated echo statements for clarity and consistency in reporting file processing status.
2025-09-10 12:39:17 -04:00
Eli Bosley
6b1171a5fa chore: enhance debugging output in PR plugin generation scripts
- Added debug statements in `generate-pr-plugin.sh` to display the tarball path, backup directory, and list of files being processed, improving visibility during deployment.
- Updated `pr-plugin-build.yml` to include output of the file list and tarball contents, aiding in verification and troubleshooting during the build process.
2025-09-10 12:30:03 -04:00
Eli Bosley
8911531676 chore: enhance PR plugin generation with optional plugin URL
- Updated `generate-pr-plugin.sh` to accept an optional plugin URL parameter for improved flexibility.
- Modified the script to generate a default plugin URL if none is provided, ensuring consistent naming conventions.
- Enhanced the GitHub Actions workflow to generate and output stable URLs for both the tarball and plugin files, facilitating easier updates.
2025-09-10 12:23:08 -04:00
Eli Bosley
72682d1812 chore: optimize file extraction in generate-pr-plugin.sh
- Updated the file extraction method in `generate-pr-plugin.sh` to use a temporary file, improving compatibility and avoiding subshell issues.
- Added cleanup for the temporary file after processing the extracted file list.
2025-09-10 12:11:50 -04:00
Eli Bosley
805b50737c chore: enhance PR plugin build workflow with debug output
- Updated the GitHub Actions workflow to append changed files to the output for PR comments.
- Added debug output to display the list of changed files found during the workflow execution.
2025-09-10 12:09:25 -04:00
Eli Bosley
c10aae2dd7 chore: improve PR plugin script and update UI for testing
- Added error handling and improved variable handling in `generate-pr-plugin.sh`.
- Updated placeholder values in the generated plugin file for clarity.
- Enhanced the UI in `Plugins.page` to indicate that the page is modified for PR testing.
2025-09-10 12:07:20 -04:00
Eli Bosley
683f07c386 chore: enhance PR plugin generation and workflow for TXZ uploads
- Updated `generate-pr-plugin.sh` to include a new parameter for TXZ URL and modified usage instructions.
- Enhanced the GitHub Actions workflow to upload the TXZ file to R2 and generate the corresponding public URL.
- Improved installation instructions in the PR comment to provide direct download links for the PLG and TXZ files.
2025-09-10 12:00:07 -04:00
Eli Bosley
48c67746a9 chore: update GitHub Actions workflow to enhance artifact handling
- Added permissions for reading contents and pull requests, and reading actions.
- Introduced a step to retrieve the artifact download URL after uploading the plugin artifact.
- Updated installation instructions to provide direct links for downloading the plugin files from GitHub Artifacts.
2025-09-10 11:43:10 -04:00
Eli Bosley
4c704e6c32 chore: modify a file to validate 2025-09-10 11:37:47 -04:00
Eli Bosley
2ab444e463 fix: enhance compatibility in generate-pr-plugin.sh and update workflow instructions
- Modified the sed command in `generate-pr-plugin.sh` to support both Linux and macOS environments.
- Updated the `pr-plugin-build.yml` workflow documentation to include a step for creating the necessary plugin directory.
2025-09-10 11:36:35 -04:00
Eli Bosley
023ca6dfa5 fix: update plugin file paths in generate-pr-plugin.sh
- Changed the local path for the downloaded tarball to include the 'webgui-pr' directory.
- Updated the cleanup command to remove the correct plugin file based on the new path structure.
2025-09-10 11:30:15 -04:00
Eli Bosley
c932b91800 feat: add GitHub Actions workflow and script for generating PR plugins
- Introduced a new script `generate-pr-plugin.sh` to automate the creation of Unraid PR plugin files.
- Added a GitHub Actions workflow `pr-plugin-build.yml` to build and package the plugin when changes are made to the `emhttp` directory.
- The workflow includes steps for checking out code, generating versioning, creating a tarball, and uploading the plugin artifact for PR testing.
2025-09-10 11:29:36 -04:00
tom mortensen
d9239985d4 Merge pull request #2359 from Squidly271/PHPError
Fix: PHP Errors when editing share
2025-09-09 09:40:48 -07:00
tom mortensen
06e4bfd33d Merge pull request #2358 from unraid/fix/permissive-auth-request
fix: allow loading any files from unraid-components
2025-09-09 09:39:34 -07:00
Squidly271
eeae9a7f1b Fix: PHP Errors when editing share 2025-09-08 18:35:45 -04:00
Eli Bosley
0b8f98ddc7 fix: update request URI handling in auth-request.php 2025-09-08 13:55:26 -04:00
Eli Bosley
d8d635b1ab fix: allow loading any files from unraid-components 2025-09-08 13:36:25 -04:00
tom mortensen
48c9237bcf Merge pull request #2354 from unraid/fix/share-settings-prev-next-btns
fix: clone-settings overlapping share prev/next btns
2025-09-05 12:59:42 -07:00
Zack Spear
ac5ca07301 fix: correct typo in ShareEdit.page warning message
- Changed "Case-insensitve" to "Case-insensitive" in the warning message for clarity.
2025-09-05 12:30:40 -07:00
Zack Spear
0387b08d3b refactor: adjust form structure in ShareEdit.page
- Wrapped the existing form element in a div for improved layout consistency.
- Ensured proper markdown usage for the form and surrounding elements.
2025-09-05 12:24:55 -07:00
Zack Spear
401f775fc0 refactor: simplify clone-settings markup in SecurityNFS.page and SecuritySMB.page
- Removed unnecessary 'clone-settings-less-padding' class from the clone-settings div in both SecurityNFS.page and SecuritySMB.page to streamline the layout.
2025-09-05 12:10:24 -07:00
Zack Spear
6e3d66ed36 refactor: update ShareEdit.page and related styles
- Added a new form element in ShareEdit.page to enhance share editing functionality.
- Removed unnecessary CSS rules from ShareEdit.css to streamline styling.
- Adjusted padding in default-base.css for better layout consistency.
2025-09-05 12:10:01 -07:00
Tom Mortensen
2cc687c64f Fix: Reading Share Settings from Share containing ' crashes the share
Root cause is that arguments passed to mk_option() should be sanitized via htmlspecialchars().
7.2.0-beta.2.2
2025-09-05 10:30:14 -07:00
tom mortensen
34be5b3c23 Merge pull request #2353 from unraid/feat/cpu-stats-with-graphql
refactor: use GraphQL to pull CPU stats on dashboard page
2025-09-05 09:11:21 -07:00
Eli Bosley
b079fbb85d fix: enhance CPU metrics display and subscription error handling in DashStats.page
- Updated CPU load display logic to use dynamic critical and warning thresholds.
- Improved error handling for GraphQL subscription with retry logic and capped backoff.
- Ensured consistent color coding for CPU load indicators.
2025-09-05 11:29:39 -04:00
Eli Bosley
3af31b0594 fix: update Nchan variable in DashStats.page for consistent naming convention 2025-09-05 09:20:42 -04:00
Eli Bosley
79d3de4ed0 refactor: update DashStats.page to improve CPU metrics handling and subscription logic
- Changed Nchan variable to use a consistent naming convention.
- Removed outdated CPU load handling code and replaced it with a GraphQL subscription for real-time CPU metrics.
- Added retry logic for GraphQL subscription initialization.
- Implemented cleanup for the subscription on page unload.
2025-09-04 21:13:35 -04:00
tom mortensen
8b3b1ee175 Merge pull request #2351 from unraid/fix/remove-fixed-class
fix: update locale select element to remove fixed class
2025-09-04 11:40:17 -07:00
tom mortensen
5e612913fc Merge pull request #2350 from unraid/fix/null-arry-in-searchlink
fix: searchlink can error in the plugin check
2025-09-04 11:39:26 -07:00
tom mortensen
11e08fe691 Merge pull request #2348 from Squidly271/DockerViewMode
Fix: Under certain circumstances Advanced/Basic view mode setting wouldn't save
2025-09-04 11:38:41 -07:00
Eli Bosley
963d023362 fix: update locale select element to remove fixed class 2025-09-02 13:00:54 -04:00
Eli Bosley
c364912d08 fix: searchlink can error in the plugin check
The error occurred because of how searchLink() is called on line 49:

  if ($support = searchLink($info, $url) ?: searchLink($info, newurl($url))) {

  Here's the sequence of events that caused the issue:

  1. First call: searchLink($info, $url) - This works fine if $info contains the JSON data from
  /tmp/community.applications/tempFiles/templates.json
  2. If first call returns falsy: The ?: operator (shorthand ternary) triggers the second call:
  searchLink($info, newurl($url))
  3. The problem: When the first searchLink() returns null or false, PHP's ?: operator evaluates
  the second expression. However, if $info itself is null (which can happen if the JSON file
  doesn't exist or is empty - see line 19 where readJson() returns [] for missing files), then
  searchLink(null, newurl($url)) is called.
  4. The crash: Inside searchLink(), when $db is null, calling count($db) throws the TypeError
  because count() requires an array or Countable object, not null.

  Root causes:
  - The JSON file at /tmp/community.applications/tempFiles/templates.json might not exist or could
  be corrupted
  - The readJson() function returns an empty array [] for missing files, but if the JSON decode
  fails, it could return null
  - The code wasn't defensive against null values being passed to searchLink()

  The fix adds is_array($db) check to ensure we only attempt to count when we have a valid array.
2025-09-02 10:46:46 -04:00