Skip to content

Conversation

@SimonFair
Copy link
Contributor

@SimonFair SimonFair commented Jan 8, 2026

Summary by CodeRabbit

  • New Features

    • Boot Settings page added to system configuration menu for managing boot options.
    • New boot redirect mechanism enables streamlined navigation to boot configuration.
  • UI Improvements

    • Flash settings page enhanced with tabbed navigation interface for better organization of settings.

✏️ Tip: You can customize this high-level summary in your review settings.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Jan 8, 2026

Walkthrough

Three new boot settings configuration pages are added to the dynamix plugin: Boot.page establishes a settings menu entry, Bootredirect.page implements browser redirection logic, and Flash.page is modified to support tabbed navigation. These changes facilitate boot settings management within the plugin infrastructure.

Changes

Cohort / File(s) Summary
Boot Settings Configuration
emhttp/plugins/dynamix/Boot.page, emhttp/plugins/dynamix/Bootredirect.page, emhttp/plugins/dynamix/Flash.page
New Boot.page defines xmenu entry under OtherSettings menu with title "Boot Settings". New Bootredirect.page adds client-side redirect navigation to Flash page with query parameter. Flash.page enhanced with Tabs="true" attribute for tabbed interface support.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Poem

🐰 A bootiful tale of settings so bright,
New pages hop in with Menu and Type,
Redirect whispers to Flash, left and right,
Tabs bloom like clover, the config's just right!

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately describes the main changes: updating Flash to be tabbed (adding Tabs="true") and adding a settings option (Boot.page and Bootredirect.page).
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@SimonFair
Copy link
Contributor Author

Need to look at icon option.

@github-actions
Copy link

github-actions bot commented Jan 8, 2026

🔧 PR Test Plugin Available

A test plugin has been generated for this PR that includes the modified files.

Version: 2026.01.08.1921
Build: View Workflow Run

📥 Installation Instructions:

Install via Unraid Web UI:

  1. Go to Plugins → Install Plugin
  2. Copy and paste this URL:
https://preview.dl.unraid.net/pr-plugins/pr-2509/webgui-pr-2509.plg
  1. Click Install

Alternative: Direct Download

⚠️ Important Notes:

  • Testing only: This plugin is for testing PR changes
  • Backup included: Original files are automatically backed up
  • Easy removal: Files are restored when plugin is removed
  • Conflicts: Remove this plugin before installing production updates

📝 Modified Files:

Click to expand file list
emhttp/plugins/dynamix/Boot.page
emhttp/plugins/dynamix/Bootredirect.page
emhttp/plugins/dynamix/Flash.page

🔄 To Remove:

Navigate to Plugins → Installed Plugins and remove webgui-pr-2509, or run:

plugin remove webgui-pr-2509

🤖 This comment is automatically generated and will be updated with each new push to this PR.

@SimonFair SimonFair marked this pull request as ready for review January 8, 2026 19:23
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🧹 Nitpick comments (1)
emhttp/plugins/dynamix/Boot.page (1)

1-4: Define the content or child pages for this xmenu.

This file creates a "Boot Settings" entry in the OtherSettings menu with Type="xmenu", but contains no actual content or child page definitions.

For an xmenu to be functional, it typically needs:

  1. Child pages with Menu="Boot" (to appear as sub-items), or
  2. Tabs (if using Tabs="true"), or
  3. Some content to display

Questions for clarification:

  • Is this meant to be a container for Bootredirect.page (which has Menu="Boot")?
  • Should this have Tabs="true" like Flash.page?
  • What settings/pages are intended to appear under "Boot Settings"?

Since this PR is in draft status, please clarify the intended structure so I can provide more specific guidance on the implementation.

📜 Review details

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 957fa3a and f3c42bf.

📒 Files selected for processing (3)
  • emhttp/plugins/dynamix/Boot.page
  • emhttp/plugins/dynamix/Bootredirect.page
  • emhttp/plugins/dynamix/Flash.page
🧰 Additional context used
🧠 Learnings (1)
📚 Learning: 2025-03-27T22:04:34.550Z
Learnt from: zackspear
Repo: unraid/webgui PR: 2099
File: emhttp/plugins/dynamix.my.servers/include/web-components-extractor.php:13-19
Timestamp: 2025-03-27T22:04:34.550Z
Learning: The file emhttp/plugins/dynamix.my.servers/include/web-components-extractor.php is synced from another repository and should not be modified directly in the webgui repository.

Applied to files:

  • emhttp/plugins/dynamix/Bootredirect.page
🔇 Additional comments (1)
emhttp/plugins/dynamix/Flash.page (1)

2-2: No action needed. The Tabs="true" attribute is properly configured. Three tab pages with Menu="Flash" are already defined in the codebase: Syslinux.page, Grub.page, and FlashInfo.page. In this framework, tab pages are defined as separate .page files with the Menu attribute, not within the parent xmenu file itself.

Likely an incorrect or invalid review comment.

Comment on lines +1 to +3
Menu="Boot"
---
<script>window.location.href = '/Flash?name=flash';</script>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

Reconsider the redirect approach for better UX.

This file creates a "Boot" menu entry that immediately redirects users to /Flash?name=flash. This approach has several concerns:

  1. User confusion: Clicking a "Boot" menu item and being instantly redirected to "Flash" may be disorienting
  2. Unnecessary indirection: If the goal is to show the Flash page, why not configure the menu to link directly to it?
  3. Architecture: If Boot.page is meant to be a container for Boot Settings (as seen in the other file), having a separate redirect page seems redundant

Consider instead:

  • Configuring the Boot menu entry to link directly to /Flash?name=flash without a redirect page
  • Or making Boot.page the primary page and having Flash as a tab under it
  • Or clarifying the intended navigation structure between Boot.page and this redirect

Could you clarify the intended menu structure? I can help suggest a cleaner implementation once the goal is clear.

@Squidly271
Copy link
Contributor

One day we're going to have to revisit tab vs non tabbed altogether. We're inconsistent since some pages force it and others don't. For myself, I'm in the camp of remove non-tabbed altogether in the UI pages. But this came up a couple months ago in a different context.

@SimonFair SimonFair added the 7.3 label Jan 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants