Skip to content

feat(onboarding): route plugin installs through ca.unraid.net/dl proxy#2000

Open
Squidly271 wants to merge 1 commit intomainfrom
claude/clever-gould-724dc6
Open

feat(onboarding): route plugin installs through ca.unraid.net/dl proxy#2000
Squidly271 wants to merge 1 commit intomainfrom
claude/clever-gould-724dc6

Conversation

@Squidly271
Copy link
Copy Markdown
Contributor

@Squidly271 Squidly271 commented May 8, 2026

Summary

  • Prefix the three recommended plugin URLs in the onboarding flow with https://ca.unraid.net/dl/ so installs go through the Community Applications download proxy instead of hitting raw.githubusercontent.com directly.
  • Updates the URL list in OnboardingPluginsStep.vue and the parallel pluginMap in OnboardingSummaryStep.vue (the latter is what's actually passed to the installPlugin mutation).
  • Updates the matching test expectation in OnboardingSummaryStep.test.ts.

Why

Routing through ca.unraid.net/dl/ lets the install traffic go through the same download proxy CA uses, rather than each user pulling the .plg straight from GitHub.

Notes for reviewers

  • The trailing .plg filename is preserved at the end of every URL, so the existing installed-plugin detection logic (which compares basenames against the contents of /boot/config/plugins) is unaffected. Tailscale's tailscale-preview.plg alias still works.
  • The backend's validateInstallUrl (api/src/unraid-api/graph/resolvers/unraid-plugins/unraid-plugins.service.ts) only requires an http/https URL whose pathname ends in .plg, so the prefixed form passes validation.
  • I was unable to run the web vitest suite locally — pnpm install fails on macOS for an unrelated native module (@unraid/libvirt node-gyp build). The change itself is mechanical (string-only edits with a matching test update). Would appreciate a CI run to confirm.

Test plan

  • CI passes (pnpm test, pnpm lint, pnpm type-check)
  • Manually walk through onboarding and confirm each recommended plugin (Community Apps, Fix Common Problems, Tailscale) installs successfully via the proxied URL
  • Confirm "already installed" detection still works when one of the plugins is present in /boot/config/plugins

Summary by CodeRabbit

Release Notes

  • Bug Fixes
    • Improved plugin installation reliability in the onboarding process by updating download paths for select plugins.

Prefix the recommended plugin install URLs in the onboarding flow with
https://ca.unraid.net/dl/ so installs go through the Community
Applications download proxy instead of hitting raw.githubusercontent.com
directly.

Updates the URLs in both OnboardingPluginsStep.vue and the matching
pluginMap in OnboardingSummaryStep.vue, plus the corresponding test
expectation. The trailing .plg filename is preserved, so installed-plugin
detection (which compares basenames against /boot/config/plugins) is
unaffected.
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 8, 2026

Review Change Stack
No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: 3d4c1dfe-231b-4790-9600-76d9a851eec8

📥 Commits

Reviewing files that changed from the base of the PR and between 7af4c77 and 30bb7a0.

📒 Files selected for processing (3)
  • web/__test__/components/Onboarding/OnboardingSummaryStep.test.ts
  • web/src/components/Onboarding/steps/OnboardingPluginsStep.vue
  • web/src/components/Onboarding/steps/OnboardingSummaryStep.vue

Walkthrough

The PR updates plugin download URLs across the Unraid onboarding flow to route through a proxy service (ca.unraid.net/dl/). Three plugins—community-apps, fix-common-problems, and tailscale—have their download URLs modified in both the plugin step and summary step components, with a corresponding test expectation update.

Changes

Plugin URL Proxy Routing

Layer / File(s) Summary
Plugin URL Configuration
web/src/components/Onboarding/steps/OnboardingPluginsStep.vue, web/src/components/Onboarding/steps/OnboardingSummaryStep.vue
Plugin URLs for community-apps, fix-common-problems, and tailscale are wrapped with https://ca.unraid.net/dl/ proxy prefix instead of using direct GitHub or Unraid source URLs.
Test Expectations
web/__test__/components/Onboarding/OnboardingSummaryStep.test.ts
Test assertion for plugin installation URL is updated to expect the ca.unraid.net/dl/ wrapped URL format.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~8 minutes

Poem

🐰 Three plugins hop through proxy gates,
Where URLs dance and download waits,
Ca-unraid wraps the GitHub way,
Tests confirm the routing's play! 🎉

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately summarizes the primary change: routing plugin installs through the ca.unraid.net/dl proxy instead of direct URLs.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

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

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch claude/clever-gould-724dc6

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

@codecov
Copy link
Copy Markdown

codecov Bot commented May 8, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 52.57%. Comparing base (7af4c77) to head (30bb7a0).

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #2000   +/-   ##
=======================================
  Coverage   52.57%   52.57%           
=======================================
  Files        1033     1033           
  Lines       71659    71659           
  Branches     8176     8171    -5     
=======================================
+ Hits        37673    37675    +2     
+ Misses      33860    33858    -2     
  Partials      126      126           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 8, 2026

This plugin has been deployed to Cloudflare R2 and is available for testing.
Download it at this URL:

https://preview.dl.unraid.net/unraid-api/tag/PR2000/dynamix.unraid.net.plg

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