Skip to content

fix: don't pre-select owned NAME dropdown entry for an unclaimed matching display name - #9609

Open
alejandro-jimenez-dcl wants to merge 1 commit into
devfrom
bugsweep/minted-name-equip-blocked
Open

fix: don't pre-select owned NAME dropdown entry for an unclaimed matching display name#9609
alejandro-jimenez-dcl wants to merge 1 commit into
devfrom
bugsweep/minted-name-equip-blocked

Conversation

@alejandro-jimenez-dcl

Copy link
Copy Markdown
Contributor

The claimed-name dropdown pre-selected an entry whenever its text matched profile.Name, even when profile.HasClaimedName was false. TMP_Dropdown never fires onValueChanged when re-clicking the already-selected entry, so Save could never be enabled for a user whose non-unique display name matched a newly minted NAME — a silent, 100% reproducible equip block.

Only pre-select when the profile actually has a claimed name; otherwise start on the placeholder (-1) so the matching entry stays selectable.

Fixes #9550

Includes a regression test that fails without this fix.

Pull Request Description

What does this PR change?

Test Instructions

Steps (standard run):

metaforge explorer run XXXX  # ← replace with this PR number

Expected result:

Steps (fresh account):

metaforge account create --clear
metaforge explorer run XXXX  # ← replace with this PR number

Expected result:

Automation (if applicable):

metaforge explorer test XXXX

Prerequisites

  • List any required setup steps
  • Include environment/configuration requirements

Test Steps

  1. First step
  2. Second step
  3. Expected result after step 2
  4. ...

Additional Testing Notes

  • Note any edge cases to verify
  • Mention specific areas that need careful testing
  • List known limitations or potential issues

Quality Checklist

  • Changes have been tested locally
  • Documentation has been updated (if required)
  • Performance impact has been considered
  • For SDK features: Test scene is included

Code Review Reference

Please review our Branch & PR Standards before submitting. It explains the automated review flow, QA/DEV approval requirements, and what each label does — especially useful for first-time contributors.

…hing display name

The claimed-name dropdown pre-selected an entry whenever its text matched
profile.Name, even when profile.HasClaimedName was false. TMP_Dropdown never
fires onValueChanged when re-clicking the already-selected entry, so Save
could never be enabled for a user whose non-unique display name matched a
newly minted NAME — a silent, 100% reproducible equip block.

Only pre-select when the profile actually has a claimed name; otherwise start
on the placeholder (-1) so the matching entry stays selectable.

Fixes #9550

Includes a regression test that fails without this fix.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@alejandro-jimenez-dcl alejandro-jimenez-dcl added the ext-contribution Identifies a contribution which was not initiated by a Unity Developer label Aug 5, 2026
@github-actions

github-actions Bot commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

badge

New build in progress, come back later!

@github-actions

github-actions Bot commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

badge

Warnings not reduced: 13940 => 13946 — remove at least 7 warnings to merge.

Warnings/errors in files changed by this PR (6)
Assets/DCL/UI/Profiles/Names/Tests/ProfileNameEditorControllerShould.cs:27  CSharpWarnings::CS8618  Non-nullable field 'controller' is uninitialized. Consider adding the 'required' modifier or declaring the field as nullable.
Assets/DCL/UI/Profiles/Names/Tests/ProfileNameEditorControllerShould.cs:28  CSharpWarnings::CS8618  Non-nullable field 'profile' is uninitialized. Consider adding the 'required' modifier or declaring the field as nullable.
Assets/DCL/UI/Profiles/Names/Tests/ProfileNameEditorControllerShould.cs:26  CSharpWarnings::CS8618  Non-nullable field 'view' is uninitialized. Consider adding the 'required' modifier or declaring the field as nullable.
Assets/DCL/UI/Profiles/Names/Tests/ProfileNameEditorControllerShould.cs:25  CSharpWarnings::CS8618  Non-nullable field 'viewGameObject' is uninitialized. Consider adding the 'required' modifier or declaring the field as nullable.
Assets/DCL/UI/Profiles/Names/Tests/ProfileNameEditorControllerShould.cs:54  ConditionalAccessQualifierIsNonNullableAccordingToAPIContract  Conditional access qualifier expression is never null according to nullable reference types' annotations
Assets/DCL/UI/Profiles/Names/Tests/ProfileNameEditorControllerShould.cs:86  ParameterHidesMember  Parameter 'profile' hides field 'DCL.UI.ProfileNames.Tests.ProfileNameEditorControllerShould.profile'

@mikhail-dcl
mikhail-dcl marked this pull request as ready for review August 5, 2026 10:04
@mikhail-dcl
mikhail-dcl requested review from a team as code owners August 5, 2026 10:04
@github-actions
github-actions Bot requested a review from anicalbano August 5, 2026 10:04
@github-actions

github-actions Bot commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

badge

All Unity tests passed ✅

TESTS SUITE Result Passed Failed Skipped
EditMode ✅ Passed 24456 0 13
PlayMode ✅ Passed 236 0 5

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

Labels

ext-contribution Identifies a contribution which was not initiated by a Unity Developer

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Equipping minted Name is silently blocked when it matches the current non-unique display name

3 participants