Conversation
- Purpose: clarify the ENOFLASH registration state when no valid licensing device is available.\n- Before: the UI described ENOFLASH as a boot-device access problem, which made internal-boot users think their boot pool was broken.\n- Problem: FeatureOS 451885 reports users without TPM or USB flash licensing devices misread the error as a boot failure instead of a licensing-device issue.\n- New behavior: registration and onboarding now say that no valid license device was detected.\n- Implementation: maps ENOFLASH states to explicit onboarding status text and updates the shared ENOFLASH locale copy to mention TPM and USB flash licensing devices.\n- Validation: added regression coverage for onboarding and registration ENOFLASH rendering; ran web tests, typecheck, lint, prettier, codegen, and build.
WalkthroughThe PR adds support for detecting and displaying a "no valid license device" state in the onboarding license step. The component now uses ReadonlySet membership checks instead of array includes, introduces a NO_LICENSE_DEVICE_STATES constant, adds a corresponding localization key, and includes tests validating the new behavior when the registration state is ENOFLASH. ChangesLicense Device Detection
Estimated code review effort🎯 2 (Simple) | ⏱️ ~12 minutes Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #1999 +/- ##
==========================================
+ Coverage 52.57% 52.59% +0.02%
==========================================
Files 1033 1033
Lines 71659 71682 +23
Branches 8176 8180 +4
==========================================
+ Hits 37673 37701 +28
+ Misses 33860 33855 -5
Partials 126 126 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
|
This plugin has been deployed to Cloudflare R2 and is available for testing. |
Summary
Clarifies the registration error shown when Unraid cannot find a valid licensing device during internal boot.
Root Cause
The
ENOFLASH*state was presented as a boot-device access failure. In internal boot scenarios without TPM or a USB flash device available for licensing, that copy made users think their boot device was broken rather than missing a license-capable device.Changes
ENOFLASHEnglish copy to say no valid TPM or USB flash device was detected for licensing.ENOFLASH*states to a clear "No valid license device detected" status instead ofUnregistered.Validation
pnpm codegenNODE_OPTIONS=--no-experimental-webstorage pnpm exec vitest run __test__/components/Onboarding/OnboardingLicenseStep.test.ts __test__/components/Registration.test.tspnpm exec vue-tsc --noEmit --pretty falsepnpm exec eslint src/components/Onboarding/steps/OnboardingLicenseStep.vue __test__/components/Onboarding/OnboardingLicenseStep.test.ts __test__/components/Registration.test.tspnpm exec prettier --check src/components/Onboarding/steps/OnboardingLicenseStep.vue src/locales/en.json __test__/components/Onboarding/OnboardingLicenseStep.test.ts __test__/components/Registration.test.tspnpm buildFeatureOS: https://product.unraid.net/p/unclear-status-when-there-s-no-licensing-device-available
Summary by CodeRabbit
Release Notes
New Features
Tests