Maybe one way is to monitor the size of the local storage using something like the suggestion here but embedding the size in the POS page so that you can start to see when it reaches the danger point of space consumption:
See space consumption for a dormant POS profile
One can then stress test by posting a large number of POS entries online/offline and seeing where things start to disappear or what happens when the upper limit of localstorage is hit before a synchronise occurs
I think using cypress to simulate a large volume of POS invoices in online/offline conditions would be the way to go. Each invoice pushed from cypress should have a unique identifier that can be used to correlate it with the submitted POS invoices in ERPNext. Comparing the two sets of invoices might help to pinpoint the error.
We have made some changes to the pos bahrain app which sync in batches also rewritten js code natively. Theoretically it should not miss any invoice. But most of are clients don’t have high frequency sales if anyone can test it and confirm if it helps.
Hi. Good to hear this. Fortunately we had rare instances of missing invoices since we built POS Bahrain. We had kept strict instructions of having pos open on only 1 tab of the FireFox browser. But thanks for the feedback. This will surely put our mind at ease.
Can you give brief of how you are tracking every invoice. Are you printing in duplicate (1 for customer and 1 for the shop) to conclude that there are no missing invoices? The duplicate would match with the daily sales invoice.
Not sure what has made the probable fix. Is it rewriting of the code in native language, sync settings or mix of both. The more it’s used in production the better would be confirmation that no invoice is missing. Looking forward to hearing from you about the other clients as well.
Hi @olamide_shodunke just wanted to know if there were any more missing/duplicated invoices since then? One additional fix we had done for a client was increasing Gunicorn workers to 8 from 4 on a 4 core 8 GB RAM VPS. This seems to have fixed the duplication of invoices.