-
Notifications
You must be signed in to change notification settings - Fork 9.4k
Closed
Labels
Component: UiFixed in 2.4.xThe issue has been fixed in 2.4-develop branchThe issue has been fixed in 2.4-develop branchIssue: ConfirmedGate 3 Passed. Manual verification of the issue completed. Issue is confirmedGate 3 Passed. Manual verification of the issue completed. Issue is confirmedIssue: Format is validGate 1 Passed. Automatic verification of issue format passedGate 1 Passed. Automatic verification of issue format passedIssue: Ready for WorkGate 4. Acknowledged. Issue is added to backlog and ready for developmentGate 4. Acknowledged. Issue is added to backlog and ready for developmentPriority: P2A defect with this priority could have functionality issues which are not to expectations.A defect with this priority could have functionality issues which are not to expectations.Progress: doneRelease Line: 2.4Reported on 2.3.5-p1Indicates original Magento version for the Issue report.Indicates original Magento version for the Issue report.Reproduced on 2.4.xThe issue has been reproduced on latest 2.4-develop branchThe issue has been reproduced on latest 2.4-develop branchSeverity: S2Major restrictions or short-term circumventions are required until a fix is available.Major restrictions or short-term circumventions are required until a fix is available.Triage: DoneHas been reviewed and prioritized during Triage with Product ManagersHas been reviewed and prioritized during Triage with Product Managers
Description
Preconditions (*)
- Magento
2.3.5-p1
. Most likely any recent release would be affected.
Steps to reproduce (*)
- Create a custom RequireJS config which defines a component complete with its url and fallback path. For example:
var config = {
paths: {
a: ['https://example.com/advertisement.js', 'Custom_Module/js/noop']
}
};
- Include this component on Checkout (may be reproducible elsewhere)
<!-- Something simple like this would work: -->
<script type="text/x-magento-init">
{
"*": {
"a": {}
}
}
</script>
- Use a browser with any aggressive Ad Blocker extension which would block the required url
- Open Checkout page
Expected result (*)
- ✅ Ad Blocker extension blocks the script download from the url stated in RequireJS config (
https://example.com/advertisement.js
) - ✅ Checkout page loads and renders just fine
Actual result (*)
- ✅ Ad Blocker Extension blocks script download from the original url
- ℹ️ RequireJS uses path fallback mechanism to load a resource from second url, therefore not triggering an error.
- ℹ️ Magento's RequireJS resolver cannot keep track of such events and continues to wait for original resource to load (as no error was produced), therefore not calling any of the callbacks.
- ❌ Checkout page is displaying 2 spinning loaders and a fully rendered page under it as resolver does not track components which were loaded via fallbacks.
mrtuvn
Metadata
Metadata
Assignees
Labels
Component: UiFixed in 2.4.xThe issue has been fixed in 2.4-develop branchThe issue has been fixed in 2.4-develop branchIssue: ConfirmedGate 3 Passed. Manual verification of the issue completed. Issue is confirmedGate 3 Passed. Manual verification of the issue completed. Issue is confirmedIssue: Format is validGate 1 Passed. Automatic verification of issue format passedGate 1 Passed. Automatic verification of issue format passedIssue: Ready for WorkGate 4. Acknowledged. Issue is added to backlog and ready for developmentGate 4. Acknowledged. Issue is added to backlog and ready for developmentPriority: P2A defect with this priority could have functionality issues which are not to expectations.A defect with this priority could have functionality issues which are not to expectations.Progress: doneRelease Line: 2.4Reported on 2.3.5-p1Indicates original Magento version for the Issue report.Indicates original Magento version for the Issue report.Reproduced on 2.4.xThe issue has been reproduced on latest 2.4-develop branchThe issue has been reproduced on latest 2.4-develop branchSeverity: S2Major restrictions or short-term circumventions are required until a fix is available.Major restrictions or short-term circumventions are required until a fix is available.Triage: DoneHas been reviewed and prioritized during Triage with Product ManagersHas been reviewed and prioritized during Triage with Product Managers
Type
Projects
Status
Done