Openbravo Issue Tracking System - POS2
View Issue Details
0050116POS2POSpublic2022-08-31 00:102022-09-05 23:57
AugustoMauch 
AugustoMauch 
normalmajorhave not tried
closedfixed 
5
 
22Q4 
No
0050116: The safeboxes object should be removed from the LocalStorage
Currently, when a POS terminal is configured to use safeboxes, all the safeboxes available for that terminal are loaded during login and stored in the LocalStorage.

This can be a problem because the size of the LocalStorage is very limited and the size of the safeboxes info can get very big (many safeboxes available, each having many payment methods). Because we also use the LocalStorage to persist the state, we should only store there whatever is really needed, and the info about the safeboxes available can be stored elsewhere (i.e. on as an IndexedDB model)
See the attached image to check how the safeboxes object is the biggest one on a real client, it is even bigger than the uncompressed persisted state.
Remove the safeboxes object from the LocalStorage, store it as a IndexedDB model
No tags attached.
depends on backport 005011722Q3.1 closed AugustoMauch The safeboxes object should be removed from the LocalStorage 
png LocalStorageObjectSize.png (35,213) 2022-08-31 00:10
https://issues.openbravo.com/file_download.php?file_id=17456&type=bug
png
Issue History
2022-08-31 00:10AugustoMauchNew Issue
2022-08-31 00:10AugustoMauchAssigned To => Retail
2022-08-31 00:10AugustoMauchFile Added: LocalStorageObjectSize.png
2022-08-31 00:10AugustoMauchTriggers an Emergency Pack => No
2022-08-31 00:10AugustoMauchAssigned ToRetail => AugustoMauch
2022-08-31 00:11AugustoMauchStatusnew => scheduled
2022-08-31 00:11AugustoMauchStatusscheduled => acknowledged
2022-08-31 00:11AugustoMauchStatusacknowledged => scheduled
2022-08-31 00:24hgbotNote Added: 0140505
2022-08-31 00:27hgbotNote Added: 0140506
2022-09-05 23:27hgbotResolutionopen => fixed
2022-09-05 23:27hgbotStatusscheduled => closed
2022-09-05 23:27hgbotFixed in Version => RR22Q4
2022-09-05 23:27hgbotNote Added: 0140722
2022-09-05 23:27hgbotNote Added: 0140723
2022-09-05 23:57hgbotNote Added: 0140724
2022-09-05 23:57hgbotFixed in VersionRR22Q4 => 22Q4
2022-09-05 23:57hgbotNote Added: 0140725

Notes
(0140505)
hgbot   
2022-08-31 00:24   
Merge Request created: https://gitlab.com/openbravo/product/pmods/org.openbravo.retail.posterminal/-/merge_requests/907 [^]
(0140506)
hgbot   
2022-08-31 00:27   
Merge Request created: https://gitlab.com/openbravo/product/pmods/org.openbravo.pos2/-/merge_requests/1171 [^]
(0140722)
hgbot   
2022-09-05 23:27   
Directly closing issue as related merge request is already approved.

Repository: https://gitlab.com/openbravo/product/pmods/org.openbravo.retail.posterminal [^]
Changeset: 134dc926ed76e706e60b1b78332b4c5038bb9f2e
Author: Augusto Mauch <augusto.mauch@openbravo.com>
Date: 05-09-2022 14:05:19
URL: https://gitlab.com/openbravo/product/pmods/org.openbravo.retail.posterminal/-/commit/134dc926ed76e706e60b1b78332b4c5038bb9f2e [^]

Fixes ISSUE-50116: Adds a SafeboxModelController

The new SafeboxModelController can be used to store safebox in an IndexedDB store. It will be used to replace the safebox storage,
removing them from the localstorage. The removal from the localstorage for the react POS application will be done in this MR, but
the removal from the Enyo POS will be done later on.

---
A web/org.openbravo.retail.posterminal/app/model/safebox/SafeboxModel.js
A web/org.openbravo.retail.posterminal/app/model/safebox/SafeboxModelController.js
M src/org/openbravo/retail/posterminal/OBPOSComponentProvider.java
---
(0140723)
hgbot   
2022-09-05 23:27   
Merge request merged: https://gitlab.com/openbravo/product/pmods/org.openbravo.retail.posterminal/-/merge_requests/907 [^]
(0140724)
hgbot   
2022-09-05 23:57   
Merge request merged: https://gitlab.com/openbravo/product/pmods/org.openbravo.pos2/-/merge_requests/1171 [^]
(0140725)
hgbot   
2022-09-05 23:57   
Directly closing issue as related merge request is already approved.

Repository: https://gitlab.com/openbravo/product/pmods/org.openbravo.pos2 [^]
Changeset: 7b6d9ff229e1d44d65a98105ee5662de3326531d
Author: Augusto Mauch <augusto.mauch@openbravo.com>
Date: 05-09-2022 23:27:27
URL: https://gitlab.com/openbravo/product/pmods/org.openbravo.pos2/-/commit/7b6d9ff229e1d44d65a98105ee5662de3326531d [^]

Fixes ISSUE-50116: Removes safeboxes from LocalStorage, use SafeboxModelController to persist them in IndexedDB

Now in LoadSafeboxes instead of storing the safeboxes in the LocalStorage, we use SafeboxModelController to persist them in IndexedDB. The rest of the changes just
update the code to persist and retrieve the list of available safeboxes

---
M web-jspack/org.openbravo.pos2/src/components/Cashup/CashupSteps/SelectDrawerStep/SelectDrawerStep.jsx
M web-jspack/org.openbravo.pos2/src/components/Cashup/CashupSteps/SelectDrawerStep/__test__/SelectDrawerStep.test.jsx
M web-jspack/org.openbravo.pos2/src/components/Cashup/CashupSteps/SelectDrawerStep/stories/SelectDrawerStep.stories.jsx
M web-jspack/org.openbravo.pos2/src/components/SafeboxHistory/__test__/SafeboxHistory.test.jsx
M web-jspack/org.openbravo.pos2/src/model/user-interface/actions/safeboxHistory/LoadSafeboxes.js
M web-jspack/org.openbravo.pos2/src/ob-init.js
---