Bug #82851
closedRace condition in Icon JS API
100%
Description
When you require the same icon multiple times through Icon API in the same moment, API will make multiple calls to PHP backend, because it's stores the cache only after the first request is back.
It should be changed in the way, that instead of caching the value, we cache the promise object.
How to test it:
Just run following js code in the browser console e.g. in the page module.
require(['TYPO3/CMS/Backend/Icons'], function(Icons) { ['mimetypes-x-sys_category', 'mimetypes-x-sys_category', 'mimetypes-x-sys_category', 'mimetypes-x-sys_category','mimetypes-x-sys_category'].forEach(function(item,index){ Icons.getIcon(item, Icons.sizes.small, null, null, 'inline').done(function(icon) { console.log(icon); }); }); });
You will see multiple requests being made for getting the same icon.
Updated by Gerrit Code Review about 7 years ago
- Status changed from Accepted to Under Review
Patch set 2 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/54470
Updated by Gerrit Code Review about 7 years ago
Patch set 1 for branch TYPO3_8-7 of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/54486
Updated by Tymoteusz Motylewski about 7 years ago
- Status changed from Under Review to Resolved
- % Done changed from 0 to 100
Applied in changeset c81efca20dc438463bf3f435502962f2bbfa0fe4.