5b211a29a216a5de6e274739e7d4a2e07aac7074
After preventing "async" code on link tools update in [1], the `'link_tools'` test is still failing because of another race condition issue: The click on "save" after setting the link style to secondary triggers an event handler that destroys the link tools widget (see `Wysiwyg` > `destroyLinkTools()`), leading to calling the `_removeHintClasses()` method first (both `_addHintClasses()` and `_removeHintClasses()` will disable the editor observer while adding / removing the link hint class to prevent their mutations to be recorded...). Since the observer is inactive, the changes made to the link using the link tools will not be processed, and the block will not be set as `.o_dirty`. As mentioned previously, (and starting from [2]) the editor observer is inactive (while handling the `.oe_edited_link` class) in order to prevent recording the mutations... But since [3], the editor had the ability to prevent some classes (including `.oe_edited_link`) from being taken into consideration in the `filterMutationRecords()` method... The goal of this commit is to fix this race condition issue by simply keeping the observer activated while handling the link hint class... Remarks: - These changes are supposed to fix the `link_tools` test that fails on 16.0+, but 15.0 was targeted here since the `.oe_edited_link` class is ignored by the editor starting from 15.0 and also to prevent any future issue linked to disabling the observer... - Adding and removing the `active` class should not affect the history, since it targets the `linktTools` toolbar button... [1]: https://github.com/odoo/odoo/pull/109250/commits/f42715fdc89a6a88446c5f88ecec29e6a9c96fe1 [2]: https://github.com/odoo/odoo/pull/90064/commits/26377710a6e3ad61a8c266e9f7c0b8ade98f657d [3]: https://github.com/odoo/odoo/commit/1c25ddb42393b136cac2a0ee0b9b7280fd803e7d runbot-18747 closes odoo/odoo#125793 X-original-commit: 6a15cbe7b320989866ce143610dbea9ac00caa5e Signed-off-by: David Monjoie (dmo) <dmo@odoo.com>
…
…
…
Odoo
Odoo is a suite of web based open source business apps.
The main Odoo Apps include an Open Source CRM, Website Builder, eCommerce, Warehouse Management, Project Management, Billing & Accounting, Point of Sale, Human Resources, Marketing, Manufacturing, ...
Odoo Apps can be used as stand-alone applications, but they also integrate seamlessly so you get a full-featured Open Source ERP when you install several Apps.
Getting started with Odoo
For a standard installation please follow the Setup instructions from the documentation.
To learn the software, we recommend the Odoo eLearning, or Scale-up, the business game. Developers can start with the developer tutorials
Languages
Python
49.6%
JavaScript
47.8%
SCSS
2%
CSS
0.3%
HTML
0.2%