View Issue Details
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0007511||OXID eShop B2B Edition||B2B edition - sub||public||2023-08-09 18:30||2023-09-25 11:11|
|Target Version||5.1.0||Fixed in Version||5.1.0|
|Summary||0007511: Basket on different devices can become asynchronous|
|Description||The basket is stored at two places: The session file and the database. |
Primarily the basket is read from the session file. In case the session has to (re-)start, then the basket is read from the database and written to the session.
In case a customer uses different devices to update the basket, then the basket can have different states per device (since the basket is read from the session primarily).
A shop without the B2B modules synchronizes the basket in the session file, when the user logs out and in again.
With the B2B modules this mechanic works differently. The state of the basket on the devices doesn't get updated, even when the customer logs out and back in. The only way to get a synchronized basket is to stay logged out on all other devices, while being logged in on only one device at the same time. After updating the basket the customer can log in again on other devices, to have the latest basket.
With the potential asynchronous state, the consequence of this would be that the basket stays put on one device, while the checkout process was done on the other device. Furthermore this can lead to seemingly disappearing baskets.
The B2B modules shouldn't affect the behaviour of the Enterprise Edition. The basket should get synchronized every time a user logs out and in again.
|Steps To Reproduce||- Install latest v6.5 Enterprise Edition.|
- Install latest v5.0 B2B modules.
- Create a customer account.
- Device 1: Log in with the customer account and add a product to the basket.
- Device 2: Log in with the customer account and check the basket: It has the same item.
- Device 2: Do the checkout.
- Device 1: It still has the item in the basket and it could be ordered.
|Additional Information||Workaround to avoid asynchronous baskets|
- Device 1: Log in with the customer account and add a product to the basket and log out.
- Device 2: Log in with the customer account and check the basket: It contains the item.
- Device 2: Do the checkout and log out.
- Device 1: Log in. The basket is empty (as it should be).
= Conclusion: Only one device is allowed to be logged in at the same time.
|Tags||No tags attached.|