Openbravo Issue Tracking System - POS2
View Issue Details
0054239POS2Corepublic2024-01-02 13:072024-03-21 18:25
jarmendariz 
cberner 
normalmajorhave not tried
closedfixed 
5
 
24Q2 
No
0054239: Error page is not shown if the error occurs during registry process
In case the application has a blocking error, an error page defined in ErrorFallback.jsx is shown, but this page shows the company logo using the CompanyLogo component. If this error occurs during the registration process, where the State is not available yet, the Error page won't be shown and the user will encounter a blank screen.
1- Force an error during the registration process. This can be achieved by adding the following in checkIsRegistered() function in Registry.js:

function checkIsRegistered(registry, name, type) {
  if (!_.has(registry, name) || name === 'OBC2_Logout') {
    throw Error(`${type} ${name} is not registered`);
  }
}

2- Open POS2 application in the browser. Instead of rendering the login page or the error page, a blank screen will appear and the following errors in the browser's console:

Uncaught Error: could not find react-redux context value; please ensure the component is wrapped in a <Provider>
    at useReduxContext (useReduxContext.js:24:1)
    at useSelector (useSelector.js:125:1)
    at CompanyLogo (CompanyLogo.jsx:31:1)
...
Adding a check in CompanyLogo to show no logo if the state information is not available, preventing the error situation. This way the error page will be shown at least even if it has no logo.
No tags attached.
depends on backport 005493124Q1.2 closed cberner POS2 Error page is not shown if the error occurs during registry process 
depends on backport 005493223Q4.3 closed cberner POS2 Error page is not shown if the error occurs during registry process 
has duplicate defect 0054211 closed Triage Platform Base Openbravo ERP Core2: low level error causes CompanyLogo rendering to fail hiding the lower level error 
has duplicate defect 005344824Q2 closed Triage Platform Base POS2 CompanyLogo fails on ErrorFallback if state is not loaded 
Issue History
2024-01-02 13:07jarmendarizNew Issue
2024-01-02 13:07jarmendarizAssigned To => Triage Platform Base
2024-01-02 13:07jarmendarizTriggers an Emergency Pack => No
2024-03-08 14:48hgbotNote Added: 0161907
2024-03-08 14:49cbernerAssigned ToTriage Platform Base => cberner
2024-03-13 10:16AugustoMauchRelationship addedhas duplicate 0054211
2024-03-13 10:16AugustoMauchStatusnew => scheduled
2024-03-13 10:16AugustoMauchStatusscheduled => resolved
2024-03-13 10:16AugustoMauchResolutionopen => fixed
2024-03-13 10:16AugustoMauchStatusresolved => new
2024-03-13 10:16AugustoMauchResolutionfixed => open
2024-03-13 10:17AugustoMauchStatusnew => scheduled
2024-03-21 18:25hgbotResolutionopen => fixed
2024-03-21 18:25hgbotStatusscheduled => closed
2024-03-21 18:25hgbotNote Added: 0162515
2024-03-21 18:25hgbotFixed in Version => 24Q2
2024-03-21 18:25hgbotNote Added: 0162516
2024-05-08 12:05AugustoMauchRelationship addedhas duplicate 0053448

Notes
(0161907)
hgbot   
2024-03-08 14:48   
Merge Request created: https://gitlab.com/openbravo/product/pmods/org.openbravo.core2/-/merge_requests/1410 [^]
(0162515)
hgbot   
2024-03-21 18:25   
Merge request merged: https://gitlab.com/openbravo/product/pmods/org.openbravo.core2/-/merge_requests/1410 [^]
(0162516)
hgbot   
2024-03-21 18:25   
Directly closing issue as related merge request is already approved.

Repository: https://gitlab.com/openbravo/product/pmods/org.openbravo.core2 [^]
Changeset: a6b9f588147a3644df1fd416eabe0d7a7df8bee5
Author: Cristian Berner <cristian.berner@openbravo.com>
Date: 21-03-2024 17:05:59
URL: https://gitlab.com/openbravo/product/pmods/org.openbravo.core2/-/commit/a6b9f588147a3644df1fd416eabe0d7a7df8bee5 [^]

Fixes ISSUE-54239: Error page is not shown if the error occurs during registry process

The main problem was that CompanyLogo component is used in the
ErrorFallback component, and it makes use of redux state. When errors
happen in the initialization processes(registration of components, and
other initializations), the ErrorFallback component was being rendered
without any provider.

As a fix, even when there are registration errors, CompanyLogo is added
conditionally, if there's no state, it will not be added.

---
M web-jspack/org.openbravo.core2/src/components/ErrorFallback/ErrorFallback.jsx
---