Skip to content

feat(web): add helper text to UPC manage-license action#1930

Merged
elibosley merged 4 commits intocodex/manage-license-start-trialfrom
codex/manage-license-helper-text
Mar 18, 2026
Merged

feat(web): add helper text to UPC manage-license action#1930
elibosley merged 4 commits intocodex/manage-license-start-trialfrom
codex/manage-license-helper-text

Conversation

@elibosley
Copy link
Member

Summary

  • Keep UPC actions collapsed to a single Manage License entry.
  • Add helper copy directly below the action to improve discoverability.
  • Use trial-specific helper text when trialStart is present in keyActions.

Testing

  • pnpm type-check

Notes

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Mar 18, 2026

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: 3f678c52-05ed-418e-8e35-ffe6fa156098

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch codex/manage-license-helper-text
📝 Coding Plan
  • Generate coding plan for human review comments

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

Copy link

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 610096925e

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +80 to +84
const filteredKeyActions = computed(() => {
const actions = keyActions.value?.filter((action) => !['renew'].includes(action.name));

if (!actions?.length) {
return actions;
}

const hasLegacyLicenseAction = actions.some((action) => licenseActionsToManage.has(action.name));

if (!hasLegacyLicenseAction) {
return actions;
if (!keyActions.value?.length) {
return keyActions.value;
}

const hasTrialStart = actions.some((action) => action.name === 'trialStart');
const manageActionText = hasTrialStart
? 'Manage License / Start Trial'
: 'onboarding.licenseStep.actions.manageLicense';
const nonLicenseActions = actions.filter((action) => !licenseActionsToManage.has(action.name));
return [createManageLicenseAction(manageActionText), ...nonLicenseActions];
return [manageLicenseAction];

Choose a reason for hiding this comment

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

P1 Badge Do not replace every key action with Manage License

This computed now collapses any non-auth keyActions array to [manageLicenseAction]. That also catches states whose only dropdown actions are not myKeys at all—for example trialExtendAction in expired-trial flows and replaceAction in GUID-mismatch flows (web/src/store/server.ts, the trialExtendAction/replaceAction definitions and their uses in stateData). In those cases the dropdown used to call accountStore.trialExtend() or accountStore.replace(), but after this change it only calls accountStore.myKeys(), so users lose the only in-menu route to extend a trial or replace a key.

Useful? React with 👍 / 👎.

Comment on lines +259 to +262
<li v-for="action in filteredKeyActions" :key="action.name">
<DropdownItem :item="action" />
</li>
<li class="-mt-1 px-2 text-xs leading-relaxed opacity-75">

Choose a reason for hiding this comment

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

P2 Badge Guard the helper text on an actual action being shown

filteredKeyActions returns [] when there are no non-auth actions, and in Vue an empty array is still truthy, so this template renders the helper copy even when no Manage License item is present. A concrete case is registered PRO/LIFETIME systems with no renewal due: keyActions becomes empty in web/src/store/server.ts, so the dropdown would show “Replace, recover...” by itself with no related action above it.

Useful? React with 👍 / 👎.

Comment on lines +89 to +92
const manageLicenseHelperText = computed(() =>
hasTrialStartAction.value
? 'Start your trial from Manage License in your Unraid Account.'
: t('onboarding.licenseStep.actions.manageLicenseHelperText')

Choose a reason for hiding this comment

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

P2 Badge Localize the new trial helper copy

The new trialStart branch bypasses vue-i18n and returns a hard-coded English sentence, while the rest of this dropdown and the existing helper text use translation keys. That means any non-English user who has a trialStart action will now see untranslated helper copy in the profile menu, even though web/src/locales/*.json already carries the surrounding strings.

Useful? React with 👍 / 👎.

@codecov
Copy link

codecov bot commented Mar 18, 2026

Codecov Report

❌ Patch coverage is 95.55556% with 4 lines in your changes missing coverage. Please review.
✅ Project coverage is 51.54%. Comparing base (a5e4712) to head (5ab1370).

Files with missing lines Patch % Lines
web/src/components/UserProfile/DropdownContent.vue 90.24% 4 Missing ⚠️
Additional details and impacted files
@@                         Coverage Diff                          @@
##           codex/manage-license-start-trial    #1930      +/-   ##
====================================================================
- Coverage                             51.64%   51.54%   -0.11%     
====================================================================
  Files                                  1021     1021              
  Lines                                 70533    70464      -69     
  Branches                               7762     7803      +41     
====================================================================
- Hits                                  36430    36323     -107     
- Misses                                33981    34019      +38     
  Partials                                122      122              

☔ 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
Contributor

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/PR1930/dynamix.unraid.net.plg

@elibosley elibosley merged commit 4789574 into codex/manage-license-start-trial Mar 18, 2026
10 checks passed
@elibosley elibosley deleted the codex/manage-license-helper-text branch March 18, 2026 19:08
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