Step 1
Restore .editorconfig
.
Step 2
Restore .gitignore
.
Step 3
git status
It shows the list of Magento 2.4.4 core file modifications which were overwritten by the Magento 2.4.7-p2 upgrade :
lib/web/requirejs/require.js
pub/get.php
setup/src/Magento/Setup/Module/Di/Code/Reader/ClassesScanner.php
vendor/magento/framework/Filter/Template.php
vendor/magento/framework/Filter/Template/SignatureProvider.php
vendor/magento/framework/Image/Adapter/Gd2.php
vendor/magento/framework/Interception/PluginListGenerator.php
vendor/magento/framework/View/Element/Template/File/Validator.php
vendor/magento/module-catalog/Model/View/Asset/Image.php
vendor/magento/module-cms/Model/Page/DataProvider.php
vendor/magento/module-sales/Model/Order/Email/Sender/CreditmemoSender.php
vendor/magento/module-sales/Model/Order/Email/Sender/InvoiceSender.php
vendor/magento/module-sales/Model/Order/Email/Sender/ShipmentSender.php
vendor/magento/module-security/Model/AdminSessionInfo.php
Step 4
Copy the Magento 2.4.4 core file modifications from the backup to a separate folder:
rm -rf ../patch
mkdir -p ../patch
chmod -R -v 777 ../patch
cp --parents lib/web/requirejs/require.js ../patch
cp --parents pub/get.php ../patch
cp --parents setup/src/Magento/Setup/Module/Di/Code/Reader/ClassesScanner.php ../patch
cp --parents vendor/magento/framework/Filter/Template.php ../patch
cp --parents vendor/magento/framework/Filter/Template/SignatureProvider.php ../patch
cp --parents vendor/magento/framework/Image/Adapter/Gd2.php ../patch
cp --parents vendor/magento/framework/Interception/PluginListGenerator.php ../patch
cp --parents vendor/magento/framework/View/Element/Template/File/Validator.php ../patch
cp --parents vendor/magento/module-catalog/Model/View/Asset/Image.php ../patch
cp --parents vendor/magento/module-cms/Model/Page/DataProvider.php ../patch
cp --parents vendor/magento/module-sales/Model/Order/Email/Sender/CreditmemoSender.php ../patch
cp --parents vendor/magento/module-sales/Model/Order/Email/Sender/InvoiceSender.php ../patch
cp --parents vendor/magento/module-sales/Model/Order/Email/Sender/ShipmentSender.php ../patch
cp --parents vendor/magento/module-security/Model/AdminSessionInfo.php ../patch
Step 5
Compare the result of the Step 4 with the current code (after composer update
):
Step 6. lib/web/requirejs/require.js
6.1.
opened 07:09PM - 25 Aug 24 UTC
closed 07:40PM - 25 Aug 24 UTC
upgrade
reimplement
A part of https://github.com/cabinetsbay/site/issues/162
Related to https://g… ithub.com/cabinetsbay/site/issues/128
6.2. It is related to:
opened 12:56PM - 05 Apr 24 UTC
closed 08:16PM - 05 Apr 24 UTC
bug
payment
Affirm
JavaScript
![2024-04-05--15-55-16](https://github.com/cabinetsbay/site/assets/83204/834c065… c-75a0-485f-8a85-f2d27dd410f8)
6.3.
The file is the same in Magento 2.4.4 and 2.4.7-p2 , so I just copied my modified file from 2.4.4 to 2.4.7-p2.
Step 7. pub/get.php
7.1.
opened 07:09PM - 25 Aug 24 UTC
closed 09:32PM - 25 Aug 24 UTC
upgrade
reimplement
A part of https://github.com/cabinetsbay/site/issues/162
7.2. It is related to:
7.2.1.
How to adapt pub/get.php
to Windows in Magento ≥ 2.4.2?
7.2.2.
opened 11:53PM - 23 Mar 24 UTC
closed 05:39PM - 24 Mar 24 UTC
bug
Similar to https://github.com/cabinetsbay/site/issues/58
7.3.
committed 09:26PM - 25 Aug 24 UTC
Step 8. setup/src/Magento/Setup/Module/Di/Code/Reader/ClassesScanner.php
8.1.
opened 07:10PM - 25 Aug 24 UTC
closed 09:32PM - 25 Aug 24 UTC
upgrade
reimplement
A part of https://github.com/cabinetsbay/site/issues/162
8.2. It is related to:
How to fix interceptors generation on bin/magento setup:di:compile
in Magento ≥ 2.2 in Windows?
8.3.
The file is the same in Magento 2.4.4 and 2.4.7-p2 , so I just copied my modified file from 2.4.4 to 2.4.7-p2.
Step 9. vendor/magento/framework/Filter/Template.php
9.1.
opened 07:10PM - 25 Aug 24 UTC
closed 01:59PM - 29 Aug 24 UTC
upgrade
reimplement
A part of https://github.com/cabinetsbay/site/issues/162
9.2. It is related to:
opened 06:18PM - 08 Aug 24 UTC
closed 07:46AM - 09 Aug 24 UTC
security
A part of https://github.com/cabinetsbay/site/issues/151
It is marked as requ… ired for Magento 2.4.4 in [«**Release & Hotfix matrix for Magento 2 / Adobe Commerce**» by Sansec](https://mage2.pro/t/6451)
### Adobe Commerce 2.4.3-p2 - 2.4.5 security hotfix for CVE-2022-35698
- [experienceleague.adobe.com/en/docs/commerce-knowledge-base/kb/troubleshooting/known-issues-patches-attached/adobe-commerce-2-4-3-p2-2-4-5-security-hotfix-for-cve-2022-35698#patch](https://experienceleague.adobe.com/en/docs/commerce-knowledge-base/kb/troubleshooting/known-issues-patches-attached/adobe-commerce-2-4-3-p2-2-4-5-security-hotfix-for-cve-2022-35698#patch)
- [archive.is/GvfJf#patch](https://archive.is/GvfJf#patch)
9.3.
I modified the vendor/magento/framework/Filter/Template.php
to implement the «ACSD-47578 » security patch.
Magento 2.4.7-p2 does not need the patch.
So, I just replaced my modified file with the file from 2.4.7-p2 , and removed the file from my Git repository:
committed 01:50PM - 29 Aug 24 UTC
Step 10. vendor/magento/framework/Filter/Template/SignatureProvider.php
10.1.
opened 09:36PM - 25 Aug 24 UTC
closed 04:16PM - 29 Aug 24 UTC
upgrade
reimplement
A part of https://github.com/cabinetsbay/site/issues/162
10.2. It is related to:
opened 06:18PM - 08 Aug 24 UTC
closed 07:46AM - 09 Aug 24 UTC
security
A part of https://github.com/cabinetsbay/site/issues/151
It is marked as requ… ired for Magento 2.4.4 in [«**Release & Hotfix matrix for Magento 2 / Adobe Commerce**» by Sansec](https://mage2.pro/t/6451)
### Adobe Commerce 2.4.3-p2 - 2.4.5 security hotfix for CVE-2022-35698
- [experienceleague.adobe.com/en/docs/commerce-knowledge-base/kb/troubleshooting/known-issues-patches-attached/adobe-commerce-2-4-3-p2-2-4-5-security-hotfix-for-cve-2022-35698#patch](https://experienceleague.adobe.com/en/docs/commerce-knowledge-base/kb/troubleshooting/known-issues-patches-attached/adobe-commerce-2-4-3-p2-2-4-5-security-hotfix-for-cve-2022-35698#patch)
- [archive.is/GvfJf#patch](https://archive.is/GvfJf#patch)
10.3.
committed 04:11PM - 29 Aug 24 UTC
Step 11. vendor/magento/framework/Image/Adapter/Gd2.php
11.1.
opened 07:10PM - 25 Aug 24 UTC
closed 04:27PM - 29 Aug 24 UTC
upgrade
reimplement
A part of https://github.com/cabinetsbay/site/issues/162
11.2. It is related to:
How to fix catalog images in Magento ≥ 2.3.5 in Windows ?
11.3.
committed 04:20PM - 29 Aug 24 UTC
Step 12. vendor/magento/framework/Interception/PluginListGenerator.php
12.1.
opened 07:10PM - 25 Aug 24 UTC
closed 12:53AM - 30 Aug 24 UTC
upgrade
reimplement
A part of https://github.com/cabinetsbay/site/issues/162
12.2. It is related to:
How to fix «file_put_contents(generated/metadata/primary|global|plugin-list.php): failed to open stream: No such file or directory in lib\internal\Magento\Framework\Interception\PluginListGenerator.php on line 414 » in Magento 2.4-develop in Windows ?
12.3.
committed 12:51AM - 30 Aug 24 UTC
Step 13. vendor/magento/framework/View/Element/Template/File/Validator.php
13.1.
opened 07:12PM - 25 Aug 24 UTC
upgrade
reimplement
A part of https://github.com/cabinetsbay/site/issues/162
13.2. It is related to:
How to fix the «Invalid template file » / «require_js.phtml » failure for 2.3 ≤ Magento < 2.4.5 in Windows ?
13.3.
committed 03:22PM - 08 Sep 24 UTC
Step 14. vendor/magento/module-catalog/Model/View/Asset/Image.php
14.1.
opened 07:12PM - 25 Aug 24 UTC
upgrade
reimplement
A part of https://github.com/cabinetsbay/site/issues/162
14.2. It is related to:
How to adapt Magento\Catalog\Model\View\Asset\Image::getUrl()
to Windows in Magento ≥ 2.4.2?
opened 11:53PM - 23 Mar 24 UTC
closed 05:39PM - 24 Mar 24 UTC
bug
Similar to https://github.com/cabinetsbay/site/issues/58
14.3.
committed 03:45PM - 08 Sep 24 UTC
Step 15. vendor/magento/module-cms/Model/Page/DataProvider.php
15.1.
opened 07:12PM - 25 Aug 24 UTC
upgrade
reimplement
A part of https://github.com/cabinetsbay/site/issues/162
15.2. It is related to:
opened 08:38AM - 31 Dec 23 UTC
closed 08:54AM - 31 Dec 23 UTC
```
[
Mage2.PRO: {
"mage2pro/core": "10.4.8",
"Magento": "2.4.4",…
"PHP": "7.4.33",
"URL": "https://cabinetsbay.com/qyBnTg3ONvZMrIx/cms/page/new/",
"Time": "2023-12-29 23:24:26",
"Referer": "https://cabinetsbay.com/qyBnTg3ONvZMrIx/cms/page/",
"IP Address": "108.36.167.249",
"Request Method": "GET",
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"
}
channel: main
context: []
datetime: Monolog\DateTimeImmutable "2023-12-29T23:24:26.403145+00:00"
extra: []
level: 400
level_name: ERROR
message: The CMS page with the "0" ID doesn't exist.
]
1 Df\Framework\Log\Dispatcher::handle
https://github.com/mage2pro/core/tree/10.4.8/Framework/Log/Dispatcher.php#L88
2 Monolog\Logger::addRecord
vendor/monolog/monolog/src/Monolog/Logger.php:399
3 Monolog\Logger::error
vendor/monolog/monolog/src/Monolog/Logger.php:650
4 Magento\Framework\Logger\LoggerProxy::error
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/Logger/LoggerProxy.php#L126
5 Magento\Cms\Model\Page\DataProvider::getMeta
https://github.com/magento/magento2/tree/2.4.4/app/code/Magento/Cms/Model/Page/DataProvider.php#L226
6 Magento\Framework\View\Element\UiComponentFactory::mergeMetadata
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/View/Element/UiComponentFactory.php#L330
7 Magento\Framework\View\Element\UiComponentFactory::create
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/View/Element/UiComponentFactory.php#L231
8 Magento\Framework\View\Layout\Generator\UiComponent::generateComponent
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/View/Layout/Generator/UiComponent.php#L140
9 Magento\Framework\View\Layout\Generator\UiComponent::process
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/View/Layout/Generator/UiComponent.php#L103
10 Magento\Framework\View\Layout\GeneratorPool::process
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/View/Layout/GeneratorPool.php#L93
11 Magento\Framework\View\Layout::generateElements
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/View/Layout.php#L365
12 Magento\Framework\View\Layout::generateElements
generated/code/Magento/Framework/View/Layout/Interceptor.php:68
13 Magento\Framework\View\Layout\Builder::generateLayoutBlocks
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/View/Layout/Builder.php#L129
14 Magento\Framework\View\Page\Builder::generateLayoutBlocks
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/View/Page/Builder.php#L65
15 Magento\Framework\View\Layout\Builder::build
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/View/Layout/Builder.php#L65
16 Magento\Framework\View\Layout::build
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/View/Layout.php#L271
17 Magento\Framework\View\Layout::getBlock
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/View/Layout.php#L896
18 Magento\Framework\View\Layout::getBlock
generated/code/Magento/Framework/View/Layout/Interceptor.php:293
19 Magento\Backend\Model\View\Result\Page::setActiveMenu
https://github.com/magento/magento2/tree/2.4.4/app/code/Magento/Backend/Model/View/Result/Page.php#L26
20 Magento\Cms\Controller\Adminhtml\Page\Edit::_initAction
https://github.com/magento/magento2/tree/2.4.4/app/code/Magento/Cms/Controller/Adminhtml/Page/Edit.php#L60
21 Magento\Cms\Controller\Adminhtml\Page\Edit::execute
https://github.com/magento/magento2/tree/2.4.4/app/code/Magento/Cms/Controller/Adminhtml/Page/Edit.php#L93
22 Magento\Cms\Controller\Adminhtml\Page\Edit::___callParent
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/Interception/Interceptor.php#L58
23 Magento\Cms\Controller\Adminhtml\Page\Edit::Magento\Framework\Interception\{closure}
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/Interception/Interceptor.php#L138
24 Magento\Cms\Controller\Adminhtml\Page\Edit::___callPlugins
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/Interception/Interceptor.php#L153
25 Magento\Cms\Controller\Adminhtml\Page\Edit::execute
generated/code/Magento/Cms/Controller/Adminhtml/Page/Edit/Interceptor.php:23
26 Magento\Framework\App\Action\Action::dispatch
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/App/Action/Action.php#L111
27 Magento\Backend\App\AbstractAction::dispatch
https://github.com/magento/magento2/tree/2.4.4/app/code/Magento/Backend/App/AbstractAction.php#L151
28 Magento\Cms\Controller\Adminhtml\Page\Edit::___callParent
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/Interception/Interceptor.php#L58
29 Magento\Cms\Controller\Adminhtml\Page\Edit::Magento\Framework\Interception\{closure}
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/Interception/Interceptor.php#L138
30 WeltPixel\Backend\Plugin\Utility::aroundDispatch
app/code/WeltPixel/Backend/Plugin/Utility.php:76
31 Magento\Cms\Controller\Adminhtml\Page\Edit::Magento\Framework\Interception\{closure}
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/Interception/Interceptor.php#L135
32 WeltPixel\Backend\Plugin\Utility::aroundDispatch
app/code/WeltPixel/Backend/Plugin/Utility.php:76
33 Magento\Cms\Controller\Adminhtml\Page\Edit::Magento\Framework\Interception\{closure}
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/Interception/Interceptor.php#L135
34 WeltPixel\Backend\Plugin\Utility::aroundDispatch
app/code/WeltPixel/Backend/Plugin/Utility.php:76
35 Magento\Cms\Controller\Adminhtml\Page\Edit::Magento\Framework\Interception\{closure}
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/Interception/Interceptor.php#L135
36 WeltPixel\Backend\Plugin\Utility::aroundDispatch
app/code/WeltPixel/Backend/Plugin/Utility.php:76
37 Magento\Cms\Controller\Adminhtml\Page\Edit::Magento\Framework\Interception\{closure}
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/Interception/Interceptor.php#L135
38 WeltPixel\Backend\Plugin\Utility::aroundDispatch
app/code/WeltPixel/Backend/Plugin/Utility.php:76
39 Magento\Cms\Controller\Adminhtml\Page\Edit::Magento\Framework\Interception\{closure}
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/Interception/Interceptor.php#L135
40 WeltPixel\Backend\Plugin\Utility::aroundDispatch
app/code/WeltPixel/Backend/Plugin/Utility.php:76
41 Magento\Cms\Controller\Adminhtml\Page\Edit::Magento\Framework\Interception\{closure}
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/Interception/Interceptor.php#L135
42 WeltPixel\Backend\Plugin\Utility::aroundDispatch
app/code/WeltPixel/Backend/Plugin/Utility.php:76
43 Magento\Cms\Controller\Adminhtml\Page\Edit::Magento\Framework\Interception\{closure}
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/Interception/Interceptor.php#L135
44 WeltPixel\Backend\Plugin\Utility::aroundDispatch
app/code/WeltPixel/Backend/Plugin/Utility.php:76
45 Magento\Cms\Controller\Adminhtml\Page\Edit::Magento\Framework\Interception\{closure}
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/Interception/Interceptor.php#L135
46 WeltPixel\Backend\Plugin\Utility::aroundDispatch
app/code/WeltPixel/Backend/Plugin/Utility.php:76
47 Magento\Cms\Controller\Adminhtml\Page\Edit::Magento\Framework\Interception\{closure}
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/Interception/Interceptor.php#L135
48 WeltPixel\Backend\Plugin\Utility::aroundDispatch
app/code/WeltPixel/Backend/Plugin/Utility.php:76
49 Magento\Cms\Controller\Adminhtml\Page\Edit::Magento\Framework\Interception\{closure}
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/Interception/Interceptor.php#L135
50 WeltPixel\Backend\Plugin\Utility::aroundDispatch
app/code/WeltPixel/Backend/Plugin/Utility.php:76
51 Magento\Cms\Controller\Adminhtml\Page\Edit::Magento\Framework\Interception\{closure}
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/Interception/Interceptor.php#L135
52 WeltPixel\Backend\Plugin\Utility::aroundDispatch
app/code/WeltPixel/Backend/Plugin/Utility.php:76
53 Magento\Cms\Controller\Adminhtml\Page\Edit::Magento\Framework\Interception\{closure}
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/Interception/Interceptor.php#L135
54 WeltPixel\Backend\Plugin\Utility::aroundDispatch
app/code/WeltPixel/Backend/Plugin/Utility.php:76
55 Magento\Cms\Controller\Adminhtml\Page\Edit::Magento\Framework\Interception\{closure}
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/Interception/Interceptor.php#L135
56 WeltPixel\Backend\Plugin\Utility::aroundDispatch
app/code/WeltPixel/Backend/Plugin/Utility.php:76
57 Magento\Cms\Controller\Adminhtml\Page\Edit::Magento\Framework\Interception\{closure}
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/Interception/Interceptor.php#L135
58 WeltPixel\Backend\Plugin\Utility::aroundDispatch
app/code/WeltPixel/Backend/Plugin/Utility.php:76
59 Magento\Cms\Controller\Adminhtml\Page\Edit::Magento\Framework\Interception\{closure}
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/Interception/Interceptor.php#L135
60 WeltPixel\Backend\Plugin\Utility::aroundDispatch
app/code/WeltPixel/Backend/Plugin/Utility.php:76
61 Magento\Cms\Controller\Adminhtml\Page\Edit::Magento\Framework\Interception\{closure}
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/Interception/Interceptor.php#L135
62 WeltPixel\Backend\Plugin\Utility::aroundDispatch
app/code/WeltPixel/Backend/Plugin/Utility.php:76
63 Magento\Cms\Controller\Adminhtml\Page\Edit::Magento\Framework\Interception\{closure}
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/Interception/Interceptor.php#L135
64 WeltPixel\Backend\Plugin\Utility::aroundDispatch
app/code/WeltPixel/Backend/Plugin/Utility.php:76
65 Magento\Cms\Controller\Adminhtml\Page\Edit::Magento\Framework\Interception\{closure}
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/Interception/Interceptor.php#L135
66 Magento\Backend\App\Action\Plugin\Authentication::aroundDispatch
https://github.com/magento/magento2/tree/2.4.4/app/code/Magento/Backend/App/Action/Plugin/Authentication.php#L145
67 Magento\Cms\Controller\Adminhtml\Page\Edit::Magento\Framework\Interception\{closure}
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/Interception/Interceptor.php#L135
68 Magento\Cms\Controller\Adminhtml\Page\Edit::___callPlugins
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/Interception/Interceptor.php#L153
69 Magento\Cms\Controller\Adminhtml\Page\Edit::dispatch
generated/code/Magento/Cms/Controller/Adminhtml/Page/Edit/Interceptor.php:32
70 Magento\Framework\App\FrontController::getActionResponse
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/App/FrontController.php#L245
71 Magento\Framework\App\FrontController::processRequest
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/App/FrontController.php#L212
72 Magento\Framework\App\FrontController::dispatch
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/App/FrontController.php#L147
73 Magento\Framework\App\FrontController::___callParent
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/Interception/Interceptor.php#L58
74 Magento\Framework\App\FrontController::Magento\Framework\Interception\{closure}
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/Interception/Interceptor.php#L138
75 Magento\Framework\App\FrontController::___callPlugins
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/Interception/Interceptor.php#L153
76 Magento\Framework\App\FrontController::dispatch
generated/code/Magento/Framework/App/FrontController/Interceptor.php:23
77 Magento\Framework\App\Http::launch
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/App/Http.php#L116
78 Magento\Framework\App\Http::___callParent
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/Interception/Interceptor.php#L58
79 Magento\Framework\App\Http::Magento\Framework\Interception\{closure}
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/Interception/Interceptor.php#L138
80 Df\Framework\Plugin\App\Http::aroundLaunch
https://github.com/mage2pro/core/tree/10.4.8/Framework/Plugin/App/Http.php#L10
81 Magento\Framework\App\Http::Magento\Framework\Interception\{closure}
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/Interception/Interceptor.php#L135
82 Magento\Framework\App\Http::___callPlugins
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/Interception/Interceptor.php#L153
83 Magento\Framework\App\Http::launch
generated/code/Magento/Framework/App/Http/Interceptor.php:23
84 Magento\Framework\App\Bootstrap::run
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/App/Bootstrap.php#L264
```
15.3.
committed 03:51PM - 08 Sep 24 UTC
Step 16. vendor/magento/module-sales/Model/Order/Email/Sender/CreditmemoSender.php
16.1.
opened 09:37PM - 25 Aug 24 UTC
upgrade
reimplement
A part of https://github.com/cabinetsbay/site/issues/162
16.2. It is related to:
How did I fix «Environment emulation nesting is not allowed » on sending invoice / shipment / creditmemo emails in 2.4.4 ≤ Magento < 2.4.7-beta2 ?
opened 07:47AM - 08 Dec 23 UTC
closed 12:29PM - 01 Jan 24 UTC
bug
payment
Affirm
```
[
Mage2.PRO: {
"mage2pro/core": "10.4.3",
"Magento": "2.4.4",…
"PHP": "7.4.33",
"URL": "https://cabinetsbay.com/affirm/payment/confirm/",
"Time": "2023-11-28 11:04:54",
"Referer": "https://cabinetsbay.com/checkout/",
"IP Address": "2601:195:c000:5aa0:8b64:fc95:2194:3e45",
"Request Method": "POST",
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36 Edg/119.0.0.0",
"php://input": "checkout_token=P1J41I93GLJQWEPE",
"Post": {
"checkout_token": "P1J41I93GLJQWEPE"
}
}
channel: main
context: []
datetime: Monolog\DateTimeImmutable "2023-11-28T11:04:54.312834+00:00"
extra: []
level: 400
level_name: ERROR
message: Environment emulation nesting is not allowed.
]
1 Df\Framework\Log\Dispatcher::handle
https://github.com/mage2pro/core/tree/10.4.3/Framework/Log/Dispatcher.php#L86
2 Monolog\Logger::addRecord
vendor/monolog/monolog/src/Monolog/Logger.php:399
3 Monolog\Logger::error
vendor/monolog/monolog/src/Monolog/Logger.php:650
4 Magento\Framework\Logger\LoggerProxy::error
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/Logger/LoggerProxy.php#L126
5 Magento\Store\Model\App\Emulation::startEnvironmentEmulation
https://github.com/magento/magento2/tree/2.4.4/app/code/Magento/Store/Model/App/Emulation.php#L128
6 Magento\Payment\Helper\Data::getInfoBlockHtml
https://github.com/magento/magento2/tree/2.4.4/app/code/Magento/Payment/Helper/Data.php#L223
7 Magento\Sales\Model\Order\Email\Sender\InvoiceSender::getPaymentHtml
https://github.com/magento/magento2/tree/2.4.4/app/code/Magento/Sales/Model/Order/Email/Sender/InvoiceSender.php#L186
8 Magento\Sales\Model\Order\Email\Sender\InvoiceSender::send
https://github.com/magento/magento2/tree/2.4.4/app/code/Magento/Sales/Model/Order/Email/Sender/InvoiceSender.php#L136
9 Magento\Quote\Observer\SendInvoiceEmailObserver::execute
https://github.com/magento/magento2/tree/2.4.4/app/code/Magento/Quote/Observer/SendInvoiceEmailObserver.php#L79
10 Magento\Framework\Event\Invoker\InvokerDefault::_callObserverMethod
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/Event/Invoker/InvokerDefault.php#L88
11 Magento\Framework\Event\Invoker\InvokerDefault::dispatch
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/Event/Invoker/InvokerDefault.php#L74
12 Magento\Framework\Event\Manager::dispatch
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/Event/Manager.php#L66
13 Magento\Framework\Event\Manager\Proxy::dispatch
generated/code/Magento/Framework/Event/Manager/Proxy.php:95
14 Magento\Quote\Model\QuoteManagement::submitQuote
https://github.com/magento/magento2/tree/2.4.4/app/code/Magento/Quote/Model/QuoteManagement.php#L609
15 Magento\Quote\Model\QuoteManagement::submit
https://github.com/magento/magento2/tree/2.4.4/app/code/Magento/Quote/Model/QuoteManagement.php#L483
16 Magento\Quote\Model\QuoteManagement::___callParent
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/Interception/Interceptor.php#L58
17 Magento\Quote\Model\QuoteManagement::Magento\Framework\Interception\{closure}
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/Interception/Interceptor.php#L138
18 Magento\SalesRule\Plugin\CouponUsagesIncrement::aroundSubmit
https://github.com/magento/magento2/tree/2.4.4/app/code/Magento/SalesRule/Plugin/CouponUsagesIncrement.php#L54
19 Magento\Quote\Model\QuoteManagement::Magento\Framework\Interception\{closure}
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/Interception/Interceptor.php#L135
20 Magento\Quote\Model\QuoteManagement::___callPlugins
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/Interception/Interceptor.php#L153
21 Magento\Quote\Model\QuoteManagement::submit
generated/code/Magento/Quote/Model/QuoteManagement/Interceptor.php:32
22 Astound\Affirm\Model\Checkout::place
app/code/Astound/Affirm/Model/Checkout.php:164
23 Astound\Affirm\Controller\Payment\Confirm::execute
app/code/Astound/Affirm/Controller/Payment/Confirm.php:135
24 Astound\Affirm\Controller\Payment\Confirm::___callParent
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/Interception/Interceptor.php#L58
25 Astound\Affirm\Controller\Payment\Confirm::Magento\Framework\Interception\{closure}
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/Interception/Interceptor.php#L138
26 Astound\Affirm\Controller\Payment\Confirm::___callPlugins
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/Interception/Interceptor.php#L153
27 Astound\Affirm\Controller\Payment\Confirm::execute
generated/code/Astound/Affirm/Controller/Payment/Confirm/Interceptor.php:23
28 Magento\Framework\App\Action\Action::dispatch
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/App/Action/Action.php#L111
29 Astound\Affirm\Controller\Payment\Confirm::___callParent
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/Interception/Interceptor.php#L58
30 Astound\Affirm\Controller\Payment\Confirm::Magento\Framework\Interception\{closure}
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/Interception/Interceptor.php#L138
31 Astound\Affirm\Controller\Payment\Confirm::___callPlugins
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/Interception/Interceptor.php#L153
32 Astound\Affirm\Controller\Payment\Confirm::dispatch
generated/code/Astound/Affirm/Controller/Payment/Confirm/Interceptor.php:32
33 Magento\Framework\App\FrontController::getActionResponse
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/App/FrontController.php#L245
34 Magento\Framework\App\FrontController::processRequest
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/App/FrontController.php#L212
35 Magento\Framework\App\FrontController::dispatch
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/App/FrontController.php#L147
36 Magento\Framework\App\FrontController::___callParent
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/Interception/Interceptor.php#L58
37 Magento\Framework\App\FrontController::Magento\Framework\Interception\{closure}
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/Interception/Interceptor.php#L138
38 Magento\Store\App\FrontController\Plugin\RequestPreprocessor::aroundDispatch
https://github.com/magento/magento2/tree/2.4.4/app/code/Magento/Store/App/FrontController/Plugin/RequestPreprocessor.php#L99
39 Magento\Framework\App\FrontController::Magento\Framework\Interception\{closure}
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/Interception/Interceptor.php#L135
40 Amasty\InvisibleCaptcha\Plugin\Framework\App\FrontControllerInterface\ValidateCaptcha::aroundDispatch
app/code/Amasty/InvisibleCaptcha/Plugin/Framework/App/FrontControllerInterface/ValidateCaptcha.php:118
41 Magento\Framework\App\FrontController::Magento\Framework\Interception\{closure}
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/Interception/Interceptor.php#L135
42 Magento\PageCache\Model\App\FrontController\BuiltinPlugin::aroundDispatch
https://github.com/magento/magento2/tree/2.4.4/app/code/Magento/PageCache/Model/App/FrontController/BuiltinPlugin.php#L71
43 Magento\Framework\App\FrontController::Magento\Framework\Interception\{closure}
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/Interception/Interceptor.php#L135
44 Magento\Framework\App\FrontController::___callPlugins
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/Interception/Interceptor.php#L153
45 Magento\Framework\App\FrontController::dispatch
generated/code/Magento/Framework/App/FrontController/Interceptor.php:23
46 Magento\Framework\App\Http::launch
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/App/Http.php#L116
47 Magento\Framework\App\Http::___callParent
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/Interception/Interceptor.php#L58
48 Magento\Framework\App\Http::Magento\Framework\Interception\{closure}
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/Interception/Interceptor.php#L138
49 Df\Framework\Plugin\App\Http::aroundLaunch
https://github.com/mage2pro/core/tree/10.4.3/Framework/Plugin/App/Http.php#L10
50 Magento\Framework\App\Http::Magento\Framework\Interception\{closure}
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/Interception/Interceptor.php#L135
51 Magento\Framework\App\Http::___callPlugins
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/Interception/Interceptor.php#L153
52 Magento\Framework\App\Http::launch
generated/code/Magento/Framework/App/Http/Interceptor.php:23
53 Magento\Framework\App\Bootstrap::run
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/App/Bootstrap.php#L264
```
16.3.
Magento 2.4.7-p2 already implements my patch.
So, I just replaced my modified file with the file from 2.4.7-p2, and removed the file from my Git repository:
committed 04:08PM - 08 Sep 24 UTC
Step 17. vendor/magento/module-sales/Model/Order/Email/Sender/InvoiceSender.php
17.1.
opened 09:37PM - 25 Aug 24 UTC
upgrade
reimplement
A part of https://github.com/cabinetsbay/site/issues/162
17.2. It is related to:
How did I fix «Environment emulation nesting is not allowed » on sending invoice / shipment / creditmemo emails in 2.4.4 ≤ Magento < 2.4.7-beta2 ?
opened 07:47AM - 08 Dec 23 UTC
closed 12:29PM - 01 Jan 24 UTC
bug
payment
Affirm
```
[
Mage2.PRO: {
"mage2pro/core": "10.4.3",
"Magento": "2.4.4",…
"PHP": "7.4.33",
"URL": "https://cabinetsbay.com/affirm/payment/confirm/",
"Time": "2023-11-28 11:04:54",
"Referer": "https://cabinetsbay.com/checkout/",
"IP Address": "2601:195:c000:5aa0:8b64:fc95:2194:3e45",
"Request Method": "POST",
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36 Edg/119.0.0.0",
"php://input": "checkout_token=P1J41I93GLJQWEPE",
"Post": {
"checkout_token": "P1J41I93GLJQWEPE"
}
}
channel: main
context: []
datetime: Monolog\DateTimeImmutable "2023-11-28T11:04:54.312834+00:00"
extra: []
level: 400
level_name: ERROR
message: Environment emulation nesting is not allowed.
]
1 Df\Framework\Log\Dispatcher::handle
https://github.com/mage2pro/core/tree/10.4.3/Framework/Log/Dispatcher.php#L86
2 Monolog\Logger::addRecord
vendor/monolog/monolog/src/Monolog/Logger.php:399
3 Monolog\Logger::error
vendor/monolog/monolog/src/Monolog/Logger.php:650
4 Magento\Framework\Logger\LoggerProxy::error
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/Logger/LoggerProxy.php#L126
5 Magento\Store\Model\App\Emulation::startEnvironmentEmulation
https://github.com/magento/magento2/tree/2.4.4/app/code/Magento/Store/Model/App/Emulation.php#L128
6 Magento\Payment\Helper\Data::getInfoBlockHtml
https://github.com/magento/magento2/tree/2.4.4/app/code/Magento/Payment/Helper/Data.php#L223
7 Magento\Sales\Model\Order\Email\Sender\InvoiceSender::getPaymentHtml
https://github.com/magento/magento2/tree/2.4.4/app/code/Magento/Sales/Model/Order/Email/Sender/InvoiceSender.php#L186
8 Magento\Sales\Model\Order\Email\Sender\InvoiceSender::send
https://github.com/magento/magento2/tree/2.4.4/app/code/Magento/Sales/Model/Order/Email/Sender/InvoiceSender.php#L136
9 Magento\Quote\Observer\SendInvoiceEmailObserver::execute
https://github.com/magento/magento2/tree/2.4.4/app/code/Magento/Quote/Observer/SendInvoiceEmailObserver.php#L79
10 Magento\Framework\Event\Invoker\InvokerDefault::_callObserverMethod
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/Event/Invoker/InvokerDefault.php#L88
11 Magento\Framework\Event\Invoker\InvokerDefault::dispatch
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/Event/Invoker/InvokerDefault.php#L74
12 Magento\Framework\Event\Manager::dispatch
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/Event/Manager.php#L66
13 Magento\Framework\Event\Manager\Proxy::dispatch
generated/code/Magento/Framework/Event/Manager/Proxy.php:95
14 Magento\Quote\Model\QuoteManagement::submitQuote
https://github.com/magento/magento2/tree/2.4.4/app/code/Magento/Quote/Model/QuoteManagement.php#L609
15 Magento\Quote\Model\QuoteManagement::submit
https://github.com/magento/magento2/tree/2.4.4/app/code/Magento/Quote/Model/QuoteManagement.php#L483
16 Magento\Quote\Model\QuoteManagement::___callParent
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/Interception/Interceptor.php#L58
17 Magento\Quote\Model\QuoteManagement::Magento\Framework\Interception\{closure}
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/Interception/Interceptor.php#L138
18 Magento\SalesRule\Plugin\CouponUsagesIncrement::aroundSubmit
https://github.com/magento/magento2/tree/2.4.4/app/code/Magento/SalesRule/Plugin/CouponUsagesIncrement.php#L54
19 Magento\Quote\Model\QuoteManagement::Magento\Framework\Interception\{closure}
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/Interception/Interceptor.php#L135
20 Magento\Quote\Model\QuoteManagement::___callPlugins
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/Interception/Interceptor.php#L153
21 Magento\Quote\Model\QuoteManagement::submit
generated/code/Magento/Quote/Model/QuoteManagement/Interceptor.php:32
22 Astound\Affirm\Model\Checkout::place
app/code/Astound/Affirm/Model/Checkout.php:164
23 Astound\Affirm\Controller\Payment\Confirm::execute
app/code/Astound/Affirm/Controller/Payment/Confirm.php:135
24 Astound\Affirm\Controller\Payment\Confirm::___callParent
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/Interception/Interceptor.php#L58
25 Astound\Affirm\Controller\Payment\Confirm::Magento\Framework\Interception\{closure}
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/Interception/Interceptor.php#L138
26 Astound\Affirm\Controller\Payment\Confirm::___callPlugins
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/Interception/Interceptor.php#L153
27 Astound\Affirm\Controller\Payment\Confirm::execute
generated/code/Astound/Affirm/Controller/Payment/Confirm/Interceptor.php:23
28 Magento\Framework\App\Action\Action::dispatch
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/App/Action/Action.php#L111
29 Astound\Affirm\Controller\Payment\Confirm::___callParent
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/Interception/Interceptor.php#L58
30 Astound\Affirm\Controller\Payment\Confirm::Magento\Framework\Interception\{closure}
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/Interception/Interceptor.php#L138
31 Astound\Affirm\Controller\Payment\Confirm::___callPlugins
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/Interception/Interceptor.php#L153
32 Astound\Affirm\Controller\Payment\Confirm::dispatch
generated/code/Astound/Affirm/Controller/Payment/Confirm/Interceptor.php:32
33 Magento\Framework\App\FrontController::getActionResponse
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/App/FrontController.php#L245
34 Magento\Framework\App\FrontController::processRequest
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/App/FrontController.php#L212
35 Magento\Framework\App\FrontController::dispatch
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/App/FrontController.php#L147
36 Magento\Framework\App\FrontController::___callParent
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/Interception/Interceptor.php#L58
37 Magento\Framework\App\FrontController::Magento\Framework\Interception\{closure}
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/Interception/Interceptor.php#L138
38 Magento\Store\App\FrontController\Plugin\RequestPreprocessor::aroundDispatch
https://github.com/magento/magento2/tree/2.4.4/app/code/Magento/Store/App/FrontController/Plugin/RequestPreprocessor.php#L99
39 Magento\Framework\App\FrontController::Magento\Framework\Interception\{closure}
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/Interception/Interceptor.php#L135
40 Amasty\InvisibleCaptcha\Plugin\Framework\App\FrontControllerInterface\ValidateCaptcha::aroundDispatch
app/code/Amasty/InvisibleCaptcha/Plugin/Framework/App/FrontControllerInterface/ValidateCaptcha.php:118
41 Magento\Framework\App\FrontController::Magento\Framework\Interception\{closure}
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/Interception/Interceptor.php#L135
42 Magento\PageCache\Model\App\FrontController\BuiltinPlugin::aroundDispatch
https://github.com/magento/magento2/tree/2.4.4/app/code/Magento/PageCache/Model/App/FrontController/BuiltinPlugin.php#L71
43 Magento\Framework\App\FrontController::Magento\Framework\Interception\{closure}
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/Interception/Interceptor.php#L135
44 Magento\Framework\App\FrontController::___callPlugins
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/Interception/Interceptor.php#L153
45 Magento\Framework\App\FrontController::dispatch
generated/code/Magento/Framework/App/FrontController/Interceptor.php:23
46 Magento\Framework\App\Http::launch
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/App/Http.php#L116
47 Magento\Framework\App\Http::___callParent
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/Interception/Interceptor.php#L58
48 Magento\Framework\App\Http::Magento\Framework\Interception\{closure}
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/Interception/Interceptor.php#L138
49 Df\Framework\Plugin\App\Http::aroundLaunch
https://github.com/mage2pro/core/tree/10.4.3/Framework/Plugin/App/Http.php#L10
50 Magento\Framework\App\Http::Magento\Framework\Interception\{closure}
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/Interception/Interceptor.php#L135
51 Magento\Framework\App\Http::___callPlugins
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/Interception/Interceptor.php#L153
52 Magento\Framework\App\Http::launch
generated/code/Magento/Framework/App/Http/Interceptor.php:23
53 Magento\Framework\App\Bootstrap::run
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/App/Bootstrap.php#L264
```
17.3.
Magento 2.4.7-p2 already implements my patch.
So, I just replaced my modified file with the file from 2.4.7-p2, and removed the file from my Git repository:
committed 06:07PM - 08 Sep 24 UTC
Step 18. vendor/magento/module-sales/Model/Order/Email/Sender/ShipmentSender.php
18.1.
opened 09:37PM - 25 Aug 24 UTC
upgrade
reimplement
A part of https://github.com/cabinetsbay/site/issues/162
18.2. It is related to:
How did I fix «Environment emulation nesting is not allowed » on sending invoice / shipment / creditmemo emails in 2.4.4 ≤ Magento < 2.4.7-beta2 ?
opened 07:47AM - 08 Dec 23 UTC
closed 12:29PM - 01 Jan 24 UTC
bug
payment
Affirm
```
[
Mage2.PRO: {
"mage2pro/core": "10.4.3",
"Magento": "2.4.4",…
"PHP": "7.4.33",
"URL": "https://cabinetsbay.com/affirm/payment/confirm/",
"Time": "2023-11-28 11:04:54",
"Referer": "https://cabinetsbay.com/checkout/",
"IP Address": "2601:195:c000:5aa0:8b64:fc95:2194:3e45",
"Request Method": "POST",
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36 Edg/119.0.0.0",
"php://input": "checkout_token=P1J41I93GLJQWEPE",
"Post": {
"checkout_token": "P1J41I93GLJQWEPE"
}
}
channel: main
context: []
datetime: Monolog\DateTimeImmutable "2023-11-28T11:04:54.312834+00:00"
extra: []
level: 400
level_name: ERROR
message: Environment emulation nesting is not allowed.
]
1 Df\Framework\Log\Dispatcher::handle
https://github.com/mage2pro/core/tree/10.4.3/Framework/Log/Dispatcher.php#L86
2 Monolog\Logger::addRecord
vendor/monolog/monolog/src/Monolog/Logger.php:399
3 Monolog\Logger::error
vendor/monolog/monolog/src/Monolog/Logger.php:650
4 Magento\Framework\Logger\LoggerProxy::error
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/Logger/LoggerProxy.php#L126
5 Magento\Store\Model\App\Emulation::startEnvironmentEmulation
https://github.com/magento/magento2/tree/2.4.4/app/code/Magento/Store/Model/App/Emulation.php#L128
6 Magento\Payment\Helper\Data::getInfoBlockHtml
https://github.com/magento/magento2/tree/2.4.4/app/code/Magento/Payment/Helper/Data.php#L223
7 Magento\Sales\Model\Order\Email\Sender\InvoiceSender::getPaymentHtml
https://github.com/magento/magento2/tree/2.4.4/app/code/Magento/Sales/Model/Order/Email/Sender/InvoiceSender.php#L186
8 Magento\Sales\Model\Order\Email\Sender\InvoiceSender::send
https://github.com/magento/magento2/tree/2.4.4/app/code/Magento/Sales/Model/Order/Email/Sender/InvoiceSender.php#L136
9 Magento\Quote\Observer\SendInvoiceEmailObserver::execute
https://github.com/magento/magento2/tree/2.4.4/app/code/Magento/Quote/Observer/SendInvoiceEmailObserver.php#L79
10 Magento\Framework\Event\Invoker\InvokerDefault::_callObserverMethod
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/Event/Invoker/InvokerDefault.php#L88
11 Magento\Framework\Event\Invoker\InvokerDefault::dispatch
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/Event/Invoker/InvokerDefault.php#L74
12 Magento\Framework\Event\Manager::dispatch
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/Event/Manager.php#L66
13 Magento\Framework\Event\Manager\Proxy::dispatch
generated/code/Magento/Framework/Event/Manager/Proxy.php:95
14 Magento\Quote\Model\QuoteManagement::submitQuote
https://github.com/magento/magento2/tree/2.4.4/app/code/Magento/Quote/Model/QuoteManagement.php#L609
15 Magento\Quote\Model\QuoteManagement::submit
https://github.com/magento/magento2/tree/2.4.4/app/code/Magento/Quote/Model/QuoteManagement.php#L483
16 Magento\Quote\Model\QuoteManagement::___callParent
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/Interception/Interceptor.php#L58
17 Magento\Quote\Model\QuoteManagement::Magento\Framework\Interception\{closure}
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/Interception/Interceptor.php#L138
18 Magento\SalesRule\Plugin\CouponUsagesIncrement::aroundSubmit
https://github.com/magento/magento2/tree/2.4.4/app/code/Magento/SalesRule/Plugin/CouponUsagesIncrement.php#L54
19 Magento\Quote\Model\QuoteManagement::Magento\Framework\Interception\{closure}
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/Interception/Interceptor.php#L135
20 Magento\Quote\Model\QuoteManagement::___callPlugins
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/Interception/Interceptor.php#L153
21 Magento\Quote\Model\QuoteManagement::submit
generated/code/Magento/Quote/Model/QuoteManagement/Interceptor.php:32
22 Astound\Affirm\Model\Checkout::place
app/code/Astound/Affirm/Model/Checkout.php:164
23 Astound\Affirm\Controller\Payment\Confirm::execute
app/code/Astound/Affirm/Controller/Payment/Confirm.php:135
24 Astound\Affirm\Controller\Payment\Confirm::___callParent
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/Interception/Interceptor.php#L58
25 Astound\Affirm\Controller\Payment\Confirm::Magento\Framework\Interception\{closure}
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/Interception/Interceptor.php#L138
26 Astound\Affirm\Controller\Payment\Confirm::___callPlugins
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/Interception/Interceptor.php#L153
27 Astound\Affirm\Controller\Payment\Confirm::execute
generated/code/Astound/Affirm/Controller/Payment/Confirm/Interceptor.php:23
28 Magento\Framework\App\Action\Action::dispatch
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/App/Action/Action.php#L111
29 Astound\Affirm\Controller\Payment\Confirm::___callParent
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/Interception/Interceptor.php#L58
30 Astound\Affirm\Controller\Payment\Confirm::Magento\Framework\Interception\{closure}
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/Interception/Interceptor.php#L138
31 Astound\Affirm\Controller\Payment\Confirm::___callPlugins
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/Interception/Interceptor.php#L153
32 Astound\Affirm\Controller\Payment\Confirm::dispatch
generated/code/Astound/Affirm/Controller/Payment/Confirm/Interceptor.php:32
33 Magento\Framework\App\FrontController::getActionResponse
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/App/FrontController.php#L245
34 Magento\Framework\App\FrontController::processRequest
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/App/FrontController.php#L212
35 Magento\Framework\App\FrontController::dispatch
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/App/FrontController.php#L147
36 Magento\Framework\App\FrontController::___callParent
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/Interception/Interceptor.php#L58
37 Magento\Framework\App\FrontController::Magento\Framework\Interception\{closure}
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/Interception/Interceptor.php#L138
38 Magento\Store\App\FrontController\Plugin\RequestPreprocessor::aroundDispatch
https://github.com/magento/magento2/tree/2.4.4/app/code/Magento/Store/App/FrontController/Plugin/RequestPreprocessor.php#L99
39 Magento\Framework\App\FrontController::Magento\Framework\Interception\{closure}
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/Interception/Interceptor.php#L135
40 Amasty\InvisibleCaptcha\Plugin\Framework\App\FrontControllerInterface\ValidateCaptcha::aroundDispatch
app/code/Amasty/InvisibleCaptcha/Plugin/Framework/App/FrontControllerInterface/ValidateCaptcha.php:118
41 Magento\Framework\App\FrontController::Magento\Framework\Interception\{closure}
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/Interception/Interceptor.php#L135
42 Magento\PageCache\Model\App\FrontController\BuiltinPlugin::aroundDispatch
https://github.com/magento/magento2/tree/2.4.4/app/code/Magento/PageCache/Model/App/FrontController/BuiltinPlugin.php#L71
43 Magento\Framework\App\FrontController::Magento\Framework\Interception\{closure}
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/Interception/Interceptor.php#L135
44 Magento\Framework\App\FrontController::___callPlugins
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/Interception/Interceptor.php#L153
45 Magento\Framework\App\FrontController::dispatch
generated/code/Magento/Framework/App/FrontController/Interceptor.php:23
46 Magento\Framework\App\Http::launch
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/App/Http.php#L116
47 Magento\Framework\App\Http::___callParent
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/Interception/Interceptor.php#L58
48 Magento\Framework\App\Http::Magento\Framework\Interception\{closure}
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/Interception/Interceptor.php#L138
49 Df\Framework\Plugin\App\Http::aroundLaunch
https://github.com/mage2pro/core/tree/10.4.3/Framework/Plugin/App/Http.php#L10
50 Magento\Framework\App\Http::Magento\Framework\Interception\{closure}
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/Interception/Interceptor.php#L135
51 Magento\Framework\App\Http::___callPlugins
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/Interception/Interceptor.php#L153
52 Magento\Framework\App\Http::launch
generated/code/Magento/Framework/App/Http/Interceptor.php:23
53 Magento\Framework\App\Bootstrap::run
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/App/Bootstrap.php#L264
```
18.3.
Magento 2.4.7-p2 already implements my patch.
So, I just replaced my modified file with the file from 2.4.7-p2, and removed the file from my Git repository:
committed 06:11PM - 08 Sep 24 UTC
Step 19. vendor/magento/module-security/Model/AdminSessionInfo.php
19.1.
opened 07:12PM - 25 Aug 24 UTC
upgrade
reimplement
A part of https://github.com/cabinetsbay/site/issues/162
19.2. It is related to:
How did I fix «strtotime() expects parameter 1 to be string, null given in vendor/magento/module-security/Model/AdminSessionInfo.php:136 »?
opened 06:32AM - 10 Dec 23 UTC
closed 06:55AM - 10 Dec 23 UTC
bug
It causes https://github.com/cabinetsbay/site/issues/6
```
[
Mage2.PRO: {
…
"mage2pro/core": "10.4.8",
"Magento": "2.4.4",
"PHP": "7.4.33",
"URL": "https://cabinetsbay.com/qyBnTg3ONvZMrIx",
"Time": "2023-12-10 06:24:07",
"Referer": "",
"IP Address": "178.246.185.229",
"Request Method": "GET",
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36"
}
channel: main
context: []
datetime: Monolog\DateTimeImmutable "2023-12-10T06:24:07.408008+00:00"
extra: []
level: 500
level_name: CRITICAL
message: TypeError: strtotime() expects parameter 1 to be string, null given in vendor/magento/module-security/Model/AdminSessionInfo.php:136
Stack trace:
#0 vendor/magento/module-security/Model/AdminSessionInfo.php(136): strtotime()
#1 vendor/magento/module-security/Model/AdminSessionInfo.php(119): Magento\Security\Model\AdminSessionInfo->isSessionExpired()
#2 vendor/magento/module-security/Model/AdminSessionInfo.php(108): Magento\Security\Model\AdminSessionInfo->checkActivity()
#3 vendor/magento/module-security/Model/Plugin/AuthSession.php(74): Magento\Security\Model\AdminSessionInfo->isLoggedInStatus()
#4 vendor/magento/framework/Interception/Interceptor.php(135): Magento\Security\Model\Plugin\AuthSession->aroundProlong()
#5 vendor/magento/module-admin-adobe-ims/Plugin/BackendAuthSessionPlugin.php(76): Magento\Backend\Model\Auth\Session\Interceptor->Magento\Framework\Interception\{closure}()
#6 vendor/magento/framework/Interception/Interceptor.php(135): Magento\AdminAdobeIms\Plugin\BackendAuthSessionPlugin->aroundProlong()
#7 vendor/magento/framework/Interception/Interceptor.php(153): Magento\Backend\Model\Auth\Session\Interceptor->Magento\Framework\Interception\{closure}()
#8 generated/code/Magento/Backend/Model/Auth/Session/Interceptor.php(50): Magento\Backend\Model\Auth\Session\Interceptor->___callPlugins()
#9 vendor/magento/module-backend/App/Action/Plugin/Authentication.php(129): Magento\Backend\Model\Auth\Session\Interceptor->prolong()
#10 vendor/magento/framework/Interception/Interceptor.php(135): Magento\Backend\App\Action\Plugin\Authentication->aroundDispatch()
#11 vendor/magento/framework/Interception/Interceptor.php(153): Magento\Backend\Controller\Adminhtml\Index\Index\Interceptor->Magento\Framework\Interception\{closure}()
#12 generated/code/Magento/Backend/Controller/Adminhtml/Index/Index/Interceptor.php(32): Magento\Backend\Controller\Adminhtml\Index\Index\Interceptor->___callPlugins()
#13 vendor/magento/framework/App/FrontController.php(245): Magento\Backend\Controller\Adminhtml\Index\Index\Interceptor->dispatch()
#14 vendor/magento/framework/App/FrontController.php(212): Magento\Framework\App\FrontController->getActionResponse()
#15 vendor/magento/framework/App/FrontController.php(147): Magento\Framework\App\FrontController->processRequest()
#16 vendor/magento/framework/Interception/Interceptor.php(58): Magento\Framework\App\FrontController->dispatch()
#17 vendor/magento/framework/Interception/Interceptor.php(138): Magento\Framework\App\FrontController\Interceptor->___callParent()
#18 vendor/magento/framework/Interception/Interceptor.php(153): Magento\Framework\App\FrontController\Interceptor->Magento\Framework\Interception\{closure}()
#19 generated/code/Magento/Framework/App/FrontController/Interceptor.php(23): Magento\Framework\App\FrontController\Interceptor->___callPlugins()
#20 vendor/magento/framework/App/Http.php(116): Magento\Framework\App\FrontController\Interceptor->dispatch()
#21 vendor/magento/framework/Interception/Interceptor.php(58): Magento\Framework\App\Http->launch()
#22 vendor/magento/framework/Interception/Interceptor.php(138): Magento\Framework\App\Http\Interceptor->___callParent()
#23 vendor/mage2pro/core/Framework/Plugin/App/Http.php(10): Magento\Framework\App\Http\Interceptor->Magento\Framework\Interception\{closure}()
#24 vendor/magento/framework/Interception/Interceptor.php(135): Df\Framework\Plugin\App\Http->aroundLaunch()
#25 vendor/magento/framework/Interception/Interceptor.php(153): Magento\Framework\App\Http\Interceptor->Magento\Framework\Interception\{closure}()
#26 generated/code/Magento/Framework/App/Http/Interceptor.php(23): Magento\Framework\App\Http\Interceptor->___callPlugins()
#27 vendor/magento/framework/App/Bootstrap.php(264): Magento\Framework\App\Http\Interceptor->launch()
#28 pub/index.php(30): Magento\Framework\App\Bootstrap->run()
#29 {main}
]
1 Df\Framework\Log\Dispatcher::handle
https://github.com/mage2pro/core/tree/10.4.8/Framework/Log/Dispatcher.php#L88
2 Monolog\Logger::addRecord
vendor/monolog/monolog/src/Monolog/Logger.php:399
3 Monolog\Logger::critical
vendor/monolog/monolog/src/Monolog/Logger.php:663
4 Magento\Framework\Logger\LoggerProxy::critical
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/Logger/LoggerProxy.php#L118
5 Magento\Framework\App\Bootstrap::terminate
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/App/Bootstrap.php#L445
6 Magento\Framework\App\Bootstrap::run
https://github.com/magento/magento2/tree/2.4.4/lib/internal/Magento/Framework/App/Bootstrap.php#L275
```
19.3.
Magento 2.4.7-p2 already implements my patch.
So, I just replaced my modified file with the file from 2.4.7-p2, and removed the file from my Git repository:
committed 06:19PM - 08 Sep 24 UTC