There should be always a single: fee, tax and delivery adjustment per order
Additional context
Found the following sequence of requests in the logs:
click `Order` button on the restaurant page:
web02 {"message"":"Order #42955 | OrderLogStartProcessor | processing started | triggered by: POST /fr/restaurant/69-cantine-numero-10; at: AppBundle\\Sylius\\OrderProcessing\\OrderLogStartProcessor::process() called at: file: /vendor/sylius/order/Processor/CompositeOrderProcessor.php line: 41 | Sylius\\Component\\Order\\Processor\\CompositeOrderProcessor::process() called at: file: /src/Form/Order/CartType.php line: 123 | AppBundle\\Form\\Order\\CartType::AppBundle\\Form\\Order\\{closure}() called at: file: /vendor/symfony/symfony/src/Symfony/Component/EventDispatcher/EventDispatcher.php line: 230","datetime":"2024-04-04T12:14:45.547423+02:00"}
click on add tips? (#1)
web02 {"message"":"Order #42955 | OrderLogStartProcessor | processing started | triggered by: POST /order/; at: AppBundle\\Sylius\\OrderProcessing\\OrderLogStartProcessor::process() called at: file: /vendor/sylius/order/Processor/CompositeOrderProcessor.php line: 41 | Sylius\\Component\\Order\\Processor\\CompositeOrderProcessor::process() called at: file: /src/Controller/OrderController.php line: 154 | AppBundle\\Controller\\OrderController::indexAction() called at: file: /vendor/symfony/symfony/src/Symfony/Component/HttpKernel/HttpKernel.php line: 163","datetime":"2024-04-04T12:14:54.974252+02:00"}
click on add tips? (#2)
web02 {"message"":"Order #42955 | OrderLogStartProcessor | processing started | triggered by: POST /order/; at: AppBundle\\Sylius\\OrderProcessing\\OrderLogStartProcessor::process() called at: file: /vendor/sylius/order/Processor/CompositeOrderProcessor.php line: 41 | Sylius\\Component\\Order\\Processor\\CompositeOrderProcessor::process() called at: file: /src/Controller/OrderController.php line: 154 | AppBundle\\Controller\\OrderController::indexAction() called at: file: /vendor/symfony/symfony/src/Symfony/Component/HttpKernel/HttpKernel.php line: 163","datetime":"2024-04-04T12:14:59.538604+02:00"}
click `Order` button on the address page:
web02 {"message"":"Order #42955 | OrderLogStartProcessor | processing started | triggered by: POST /order/; at: AppBundle\\Sylius\\OrderProcessing\\OrderLogStartProcessor::process() called at: file: /vendor/sylius/order/Processor/CompositeOrderProcessor.php line: 41 | Sylius\\Component\\Order\\Processor\\CompositeOrderProcessor::process() called at: file: /src/Controller/OrderController.php line: 260 | AppBundle\\Controller\\OrderController::indexAction() called at: file: /vendor/symfony/symfony/src/Symfony/Component/HttpKernel/HttpKernel.php line: 163","datetime":"2024-04-04T12:15:15.832331+02:00"}
click on add tips? (#3)
web02 {"message"":"Order #42955 | OrderLogStartProcessor | processing started | triggered by: POST /order/; at: AppBundle\\Sylius\\OrderProcessing\\OrderLogStartProcessor::process() called at: file: /vendor/sylius/order/Processor/CompositeOrderProcessor.php line: 41 | Sylius\\Component\\Order\\Processor\\CompositeOrderProcessor::process() called at: file: /src/Controller/OrderController.php line: 154 | AppBundle\\Controller\\OrderController::indexAction() called at: file: /vendor/symfony/symfony/src/Symfony/Component/HttpKernel/HttpKernel.php line: 163","datetime":"2024-04-04T12:15:15.996288+02:00"}
...
(due to) click `Order` button on the address page:
{"message":"Order #42955 | CheckoutSubscriber | postFlush | triggered by: POST /order/; at: Doctrine\\ORM\\EntityManager::flush() called at: file: /src/Controller/OrderController.php line: 271 | AppBundle\\Controller\\OrderController::indexAction() called at: file: /vendor/symfony/symfony/src/Symfony/Component/HttpKernel/HttpKernel.php line: 163 | Symfony\\Component\\HttpKernel\\HttpKernel::handleRaw() called at: file: /vendor/symfony/symfony/src/Symfony/Component/HttpKernel/HttpKernel.php line: 75 | Symfony\\Component\\HttpKernel\\HttpKernel::handle() called at: file: /vendor/symfony/symfony/src/Symfony/Component/HttpKernel/Kernel.php line: 202","datetime":"2024-04-04T12:15:17.714748+02:00"}
{"message":"Order #42955 | CheckoutSubscriber | postFlush | inserted: Sylius\\Component\\Order\\Model\\Adjustment id:691409","datetime":"2024-04-04T12:15:17.714871+02:00"}
{"message":"Order #42955 | CheckoutSubscriber | postFlush | inserted: Sylius\\Component\\Order\\Model\\Adjustment id:691410","datetime":"2024-04-04T12:15:17.714926+02:00"}
{"message":"Order #42955 | CheckoutSubscriber | postFlush | inserted: Sylius\\Component\\Order\\Model\\Adjustment id:691411","datetime":"2024-04-04T12:15:17.714969+02:00"}
...
(due to) click on add tips? (#3)
{"message":"Order #42955 | CheckoutSubscriber | postFlush | triggered by: POST /order/; at: Doctrine\\ORM\\EntityManager::flush() called at: file: /src/Controller/OrderController.php line: 155 | AppBundle\\Controller\\OrderController::indexAction() called at: file: /vendor/symfony/symfony/src/Symfony/Component/HttpKernel/HttpKernel.php line: 163 | Symfony\\Component\\HttpKernel\\HttpKernel::handleRaw() called at: file: /vendor/symfony/symfony/src/Symfony/Component/HttpKernel/HttpKernel.php line: 75 | Symfony\\Component\\HttpKernel\\HttpKernel::handle() called at: file: /vendor/symfony/symfony/src/Symfony/Component/HttpKernel/Kernel.php line: 202","datetime":"2024-04-04T12:15:18.098067+02:00"}
{"message":"Order #42955 | CheckoutSubscriber | postFlush | inserted: Sylius\\Component\\Order\\Model\\Adjustment id:691418","datetime":"2024-04-04T12:15:18.098182+02:00"}
{"message":"Order #42955 | CheckoutSubscriber | postFlush | inserted: Sylius\\Component\\Order\\Model\\Adjustment id:691420","datetime":"2024-04-04T12:15:18.098237+02:00"}
{"message":"Order #42955 | CheckoutSubscriber | postFlush | inserted: Sylius\\Component\\Order\\Model\\Adjustment id:691422","datetime":"2024-04-04T12:15:18.098282+02:00"}
{"message":"Order #42955 | CheckoutSubscriber | postFlush | inserted: Sylius\\Component\\Order\\Model\\Adjustment id:691424","datetime":"2024-04-04T12:15:18.098324+02:00"}
...
As I see click Order button on the address page and click on add tips? (#3) where handled in parallel leading to creation of duplicate adjustments in the database (https://github.com/coopcycle/coopcycle-web/issues/4128) and a wrong payment
Also, for some reason channel_id is set to 2, though the order comes from the web.
i tried to do this and i couldnt, but im not sure, maybe its possible on a different phone or something. for the moment i think id call it fixed, but we can keep an eye out for it to come up again
To Reproduce Steps to reproduce the behavior:
Order
Expected behavior
There should be always a single: fee, tax and delivery adjustment per order
Additional context
Found the following sequence of requests in the logs:
As I see
click Order button on the address page
andclick on add tips? (#3)
where handled in parallel leading to creation of duplicate adjustments in the database (https://github.com/coopcycle/coopcycle-web/issues/4128) and a wrong paymentAlso, for some reason
channel_id
is set to 2, though the order comes from the web.