Skip to content

Conversation

@dkaser
Copy link
Contributor

@dkaser dkaser commented Dec 28, 2025

Summary by CodeRabbit

  • New Features
    • Introduced a dedicated Tailscale installation page in the Unraid web interface, enabling users to easily download and install the Tailscale plugin.

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

Signed-off-by: Derek Kaser <11674153+dkaser@users.noreply.github.com>
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Dec 28, 2025

Walkthrough

A new Unraid Dynamix web UI page for Tailscale plugin installation is introduced. The page provides menu metadata, includes JavaScript for plugin installation via the openPlugin function, and renders a form with a hidden URL to tailscale.plg and an installation button.

Changes

Cohort / File(s) Summary
New Tailscale Plugin Installer UI
emhttp/plugins/dynamix/Tailscale.page
Adds a new web page with plugin metadata (Menu, Icon, Title), a JavaScript installPlugin() function that triggers plugin installation with page refresh, and an HTML form prompting the user to install Tailscale via button submission.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~8 minutes

Poem

🐰 A new page hops in, clean and bright,
Tailscale install now just one click away,
With form and button, a pleasant sight,
We weave new paths where networks play! ✨

Pre-merge checks and finishing touches

✅ 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 change: adding a new stub page for the Tailscale plugin to the Unraid Dynamix web UI.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

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.

@github-actions
Copy link

🔧 PR Test Plugin Available

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

Version: 2025.12.28.1527
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-2497/webgui-pr-2497.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/Tailscale.page
emhttp/plugins/dynamix/images/tailscale.png

🔄 To Remove:

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

plugin remove webgui-pr-2497

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

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: 0

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

6-7: Consider updating copyright years.

The copyright notice mentions 2023, but the current year is 2025. Consider updating to reflect the current year.

📜 Review details

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 987fa42 and b583535.

⛔ Files ignored due to path filters (1)
  • emhttp/plugins/dynamix/images/tailscale.png is excluded by !**/*.png
📒 Files selected for processing (1)
  • emhttp/plugins/dynamix/Tailscale.page
🧰 Additional context used
🧠 Learnings (2)
📓 Common learnings
Learnt from: Squidly271
Repo: unraid/webgui PR: 0
File: :0-0
Timestamp: 2025-09-20T22:25:36.654Z
Learning: In the unraid/webgui project, the `.tabs-container` element is always present in the DOM for the plugins page, making it a reliable target for DOM manipulation.
Learnt from: elibosley
Repo: unraid/webgui PR: 2189
File: emhttp/plugins/dynamix/LogViewer.page:6-8
Timestamp: 2025-05-09T15:13:07.361Z
Learning: The <unraid-log-viewer> custom element will be provided by the Unraid API repository (https://github.com/unraid/api) and is not yet included in Unraid OS. The emhttp/plugins/dynamix/LogViewer.page file is preparing the UI for this upcoming integration.
📚 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/Tailscale.page
🔇 Additional comments (3)
emhttp/plugins/dynamix/Tailscale.page (3)

17-21: Verify openPlugin function availability and parameter usage.

The openPlugin function is called but not defined in this file. Ensure it's globally available in the Unraid framework and that the parameters are correctly specified.


2-2: Verify that the icon file exists.

The page references Icon="tailscale.png" but this file is not included in the PR. Ensure the icon file exists in the appropriate location (typically in the icons directory) or is provided separately.


25-32: All form patterns are consistent with framework conventions. The markdown="1" attribute is a standard Unraid feature used throughout the plugin pages; target="progressFrame" is the standard pattern for form submissions across dynamix; and the ca.unraid.net/dl/ proxy pattern is replicated identically in the Apps.page plugin installation form.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant