Rename 2FA content blocks off the globally-unique 'content' name (#343)#345
Rename 2FA content blocks off the globally-unique 'content' name (#343)#345thai2301 wants to merge 4 commits into
Conversation
…ent' name Each of these adminhtml layout files declared its provider-specific content block as name="content". Magento block names are globally unique across the merged layout regardless of container nesting, and the admin layout already registers a block/container named "content" elsewhere. Whichever declaration is merged last wins the registry slot, so on any instance where the ordinary "content" block/container also participates in these handles, the 2FA provider's own block gets silently dropped and the configuration screen renders blank. Renamed each block to a handle-specific name (e.g. tfa-google-configure-content) that can't collide. No template or layout file referenced these blocks by their old name, so this is a pure rename with no other behavior change.
|
@magento run all tests |
|
Note on the Semantic Version Checker result: it correctly flags this as a MAJOR change for That's expected and unavoidable here — the root cause is that Happy to bump the module's version accordingly if that's the convention here, just let me know. |
Six of the touched layout files carried 'Copyright 2025 Adobe.' with a trailing period, which the public-copyright sanity check rejects on any modified file. Dropped the period to match the required template.
|
@magento run all tests |
The copyright sanity check rejected the lowercase 'All rights reserved.' variant on the previous run despite the template describing the match as case-insensitive; align the six headers byte-for-byte with the canonical form used by every other file in the module.
|
@magento run Static Tests |
|
@magento run all tests |
|
@magento run Functional Tests B2B, Functional Tests CE, Functional Tests EE |
…ock-name-collision
|
Updated with latest develop. @magento run all tests |
|
@magento run all tests |
|
@magento run Functional Tests CE |
|
@magento run Functional Tests B2B, Functional Tests EE, Static Tests, Unit Tests, Integration Tests, WebAPI Tests, Semantic Version Checker |
Description (*)
Each of the affected adminhtml layout files declares its 2FA provider's own configuration/verification block with
name="content". Magento block names are globally unique across the merged layout regardless of container nesting, and the admin layout already registers a block/container namedcontentelsewhere in the merged tree. Whichever declaration is processed last during layout merge wins the registry slot for that name; on any instance where the ordinarycontentblock/container also participates in these handles, the 2FA provider's own block gets silently dropped from the registry (overwritten), and the section where the configuration form should render is blank — with the provider's block class never even being instantiated.Renamed each block to a handle-specific name (e.g.
tfa-google-configure-content, derived from the layout handle it lives in) that cannot collide with anything else in the merged layout. Verified none of these blocks are referenced by name from any other layout file or template (getChildBlock('content'),referenceBlock name="content", etc.) — this is a pure rename with no other behavior change.Affected files/handles:
tfa_google_auth,tfa_google_configure,tfa_google_verifyidentitytfa_authy_auth,tfa_authy_configure,tfa_authy_verifyidentitytfa_u2f_auth,tfa_u2f_configure,tfa_u2f_verifyidentitytfa_duo_auth,tfa_duo_verifyidentitytfa_tfa_configure,tfa_tfa_verifyidentity,tfa_tfa_requestconfig,tfa_tfa_providerselectionFixed Issues (if relevant)
Manual testing scenarios (*)
contentto the default adminhtml layout in any module (as described in the issue), or otherwise arrange for a block/container namedcontentto participate in one of thetfa_*handles above.tfa/google/configure.content.contentblock), all 2FA provider screens (Google, Authy, U2F, Duo, generic TFA) still render identically to before this change.Questions or comments
None.
Contribution checklist (*)