Openbravo Issue Tracking System - Retail Modules
View Issue Details
0043909Retail ModulesWeb POSpublic2020-04-30 10:322020-05-07 09:23
caristu 
Retail 
highminorhave not tried
closedfixed 
5
 
RR20Q2RR20Q2 
marvintm
No
0043909: Error when login into WebPOS having messages pending to synchronize in the state
If we login into WebPOS an there exists messages in the state pending to be synchronized, then the following error is raised when login:

0522af920179e8c1b4896634bd7b7672.js:42453 Uncaught (in promise) TypeError: Cannot read property 'transaction' of null
    at IndexedDBController.getReadWriteTransaction (0522af920179e8c1b4896634bd7b7672.js:42453)
    at IndexedDBController.write (0522af920179e8c1b4896634bd7b7672.js:42317)
    at IndexedDBController.put (0522af920179e8c1b4896634bd7b7672.js:42309)
    at MessageModelController.put (0522af920179e8c1b4896634bd7b7672.js:44054)
    at SynchronizationBuffer.onMessagesChanged (0522af920179e8c1b4896634bd7b7672.js:44180)
    at 0522af920179e8c1b4896634bd7b7672.js:41298

This is because we are trying to save the messages into the synchronization buffer IndexedDB database before it is initialized.
0) Leave a message pending to be synchronized in the state. For example force an error in the "onMessagesChanged" before executing "OB.App.State.Messages.removeMessages"

1) Login in WebPOS, note that the error mentioned in the Description is raised in the console
Ensure that we save the pending messages once the IndexedDB database is ready
No tags attached.
has duplicate backport 0043931RR20Q2 closed migueldejuana Error when login into WebPOS having messages pending to synchronize in the state 
blocks defect 0043907 closed migueldejuana Error when login into WebPOS having messages pending to synchronize in the state 
Issue History
2020-04-30 10:59caristuTypedefect => backport
2020-04-30 10:59caristuTarget Version => RR20Q2
2020-04-30 16:44caristuProposed Solution updated
2020-05-05 10:26migueldejuanaRelationship addedhas duplicate 0043931
2020-05-05 10:33hgbotCheckin
2020-05-05 10:33hgbotNote Added: 0119550
2020-05-05 10:33hgbotStatusscheduled => resolved
2020-05-05 10:33hgbotResolutionopen => fixed
2020-05-05 10:33hgbotFixed in SCM revision => http://code.openbravo.com/retail/backports/3.0RR20Q2/org.openbravo.mobile.core/rev/e3fd020e3292e7bb54b76730a98252a176c466e6 [^]
2020-05-07 09:23marvintmReview Assigned To => marvintm
2020-05-07 09:23marvintmStatusresolved => closed
2020-05-07 09:23marvintmFixed in Version => RR20Q2

Notes
(0119550)
hgbot   
2020-05-05 10:33   
Repository: retail/backports/3.0RR20Q2/org.openbravo.mobile.core
Changeset: e3fd020e3292e7bb54b76730a98252a176c466e6
Author: Miguel de Juana <miguel.dejuana <at> openbravo.com>
Date: Tue May 05 10:33:04 2020 +0200
URL: http://code.openbravo.com/retail/backports/3.0RR20Q2/org.openbravo.mobile.core/rev/e3fd020e3292e7bb54b76730a98252a176c466e6 [^]

Fixed issue 0043909: Error when login into WebPOS having messages pending to synchronize in the state

- Wait to create Messages listener until the database is created (listener do a write, so it needs to have the database created)
- In case doing a put of a message fails, do not block next executions of onMessageChanged

---
M web/org.openbravo.mobile.core/app/model/synchronization-buffer/MessageModelController.js
M web/org.openbravo.mobile.core/app/model/synchronization-buffer/SynchronizationBuffer.js
M web/org.openbravo.mobile.core/source/model/ob-terminal-model.js
---