Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[FIX] web: list view: don't rerender a row before the previous render… #101419

Closed
wants to merge 1 commit into from

Conversation

hubvd
Copy link
Contributor

@hubvd hubvd commented Sep 28, 2022

… is done

Setup:

  • Add a checkbox to the sublist view of quotations with studio and save
  • In the chrome devtools, select a custom network throttling profile with 1s of latency

Steps to reproduce:

First example:

  • Go to a quotation with at least two lines
  • Enter edit mode
  • Change the quantity of the first line
  • Double click on the price field of the second line -> A traceback appears: Cannot set properties of null (setting 'props')

Second example:

  • Go to a quotation with at least two lines
  • Enter edit mode
  • Change the quantity of the first line
  • Click on the price field of the second line
  • Click on Save → The same traceback is there

Cause of the issue:

The checkbox field is implemented in owl and thus the
owl_compatibility layer is used.
Mounted is not called on the checkbox if a new rendering is being done
cf: #75950
Currently, it is possible to set a row mode before the previous call
and rendering is done.

Solution:

Use a mutex for each record to prevent simultaneous render

opw-2937444

@robodoo
Copy link
Contributor

robodoo commented Sep 28, 2022

@C3POdoo C3POdoo added the OE the report is linked to a support ticket (opw-...) label Sep 28, 2022
@hubvd hubvd marked this pull request as ready for review October 6, 2022 13:37
@C3POdoo C3POdoo requested a review from a team October 6, 2022 13:38
@hubvd
Copy link
Contributor Author

hubvd commented Oct 6, 2022

@kebeclibre I checked again and as far as I know, there is no unresolved promise being ignored

@hubvd hubvd requested a review from kebeclibre October 24, 2022 11:44
@hubvd
Copy link
Contributor Author

hubvd commented Oct 28, 2022

@kebeclibre

@hubvd
Copy link
Contributor Author

hubvd commented Nov 4, 2022

@kebeclibre Can this move forward ?

@mafo-odoo
Copy link
Contributor

@kebeclibre can we have a review for this to help the client move forward?

addons/web/static/tests/views/list_tests.js Outdated Show resolved Hide resolved
addons/web/static/tests/views/list_tests.js Outdated Show resolved Hide resolved
addons/web/static/tests/views/list_tests.js Outdated Show resolved Hide resolved
addons/web/static/tests/views/list_tests.js Outdated Show resolved Hide resolved
… is done

Setup:

  - Add a checkbox to the sublist view of quotations with studio and save
  - In the chrome devtools, select a custom network throttling profile
    with 1s of latency

Steps to reproduce:

  First example:

  - Go to a quotation with at least two lines
  - Enter edit mode
  - Change the quantity of the first line
  - Double click on the price field of the second line
  -> A traceback appears: `Cannot set properties of null (setting 'props')`

  Second example:
  - Go to a quotation with at least two lines
  - Enter edit mode
  - Change the quantity of the first line
  - Click on the price field of the second line
  - Click on Save
  -> The same traceback is there

Cause of the issue:

  The checkbox field is implemented in owl and thus the
  owl_compatibility layer is used.
  Mounted is not called on the checkbox if a new rendering is being done
  cf: odoo#75950
  Currently, it is possible to set a row mode before the previous call
  and rendering is done.

Solution:

  Use a mutex for each record to prevent simultaneous render

opw-2937444
Copy link
Contributor

@aab-odoo aab-odoo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

robodoo r+

robodoo pushed a commit that referenced this pull request Nov 15, 2022
… is done

Setup:

  - Add a checkbox to the sublist view of quotations with studio and save
  - In the chrome devtools, select a custom network throttling profile
    with 1s of latency

Steps to reproduce:

  First example:

  - Go to a quotation with at least two lines
  - Enter edit mode
  - Change the quantity of the first line
  - Double click on the price field of the second line
  -> A traceback appears: `Cannot set properties of null (setting 'props')`

  Second example:
  - Go to a quotation with at least two lines
  - Enter edit mode
  - Change the quantity of the first line
  - Click on the price field of the second line
  - Click on Save
  -> The same traceback is there

Cause of the issue:

  The checkbox field is implemented in owl and thus the
  owl_compatibility layer is used.
  Mounted is not called on the checkbox if a new rendering is being done
  cf: #75950
  Currently, it is possible to set a row mode before the previous call
  and rendering is done.

Solution:

  Use a mutex for each record to prevent simultaneous render

opw-2937444

closes #101419

Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
@robodoo robodoo temporarily deployed to merge November 15, 2022 17:48 Inactive
@robodoo robodoo closed this Nov 15, 2022
@fw-bot fw-bot deleted the 14.0-opw-2937444-huvw branch November 29, 2022 18:47
jdoutreloux pushed a commit to acsone/odoo that referenced this pull request Jul 5, 2023
… is done

Setup:

  - Add a checkbox to the sublist view of quotations with studio and save
  - In the chrome devtools, select a custom network throttling profile
    with 1s of latency

Steps to reproduce:

  First example:

  - Go to a quotation with at least two lines
  - Enter edit mode
  - Change the quantity of the first line
  - Double click on the price field of the second line
  -> A traceback appears: `Cannot set properties of null (setting 'props')`

  Second example:
  - Go to a quotation with at least two lines
  - Enter edit mode
  - Change the quantity of the first line
  - Click on the price field of the second line
  - Click on Save
  -> The same traceback is there

Cause of the issue:

  The checkbox field is implemented in owl and thus the
  owl_compatibility layer is used.
  Mounted is not called on the checkbox if a new rendering is being done
  cf: odoo#75950
  Currently, it is possible to set a row mode before the previous call
  and rendering is done.

Solution:

  Use a mutex for each record to prevent simultaneous render

opw-2937444

closes odoo#101419

Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
jdoutreloux pushed a commit to acsone/odoo that referenced this pull request Aug 10, 2023
… is done

Setup:

  - Add a checkbox to the sublist view of quotations with studio and save
  - In the chrome devtools, select a custom network throttling profile
    with 1s of latency

Steps to reproduce:

  First example:

  - Go to a quotation with at least two lines
  - Enter edit mode
  - Change the quantity of the first line
  - Double click on the price field of the second line
  -> A traceback appears: `Cannot set properties of null (setting 'props')`

  Second example:
  - Go to a quotation with at least two lines
  - Enter edit mode
  - Change the quantity of the first line
  - Click on the price field of the second line
  - Click on Save
  -> The same traceback is there

Cause of the issue:

  The checkbox field is implemented in owl and thus the
  owl_compatibility layer is used.
  Mounted is not called on the checkbox if a new rendering is being done
  cf: odoo#75950
  Currently, it is possible to set a row mode before the previous call
  and rendering is done.

Solution:

  Use a mutex for each record to prevent simultaneous render

opw-2937444

closes odoo#101419

Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
OE the report is linked to a support ticket (opw-...)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

6 participants