Thursday, November 17, 2022
3 changes · master
Resolved issues and error corrections
This fix ensures Odoo's automated tours and tests fail when real application code has missing dependencies, instead of silently passing. It also cleans up related issues in Live Chat, Website Live Chat, Web reports, and Website Slides so production problems are detected earlier and release quality improves.
Original PR description
*: im_livechat, website_livechat, website_slides In https://github.com/odoo/odoo/commit/c989ff339d1bb8afde3371d12dab8cc227941691, the odoo module system has been changed so that it now errors out…
*: im_livechat, website_livechat, website_slides In https://github.com/odoo/odoo/commit/c989ff339d1bb8afde3371d12dab8cc227941691, the odoo module system has been changed so that it now errors out when modules are defined but have missing dependencies and cannot run. Unfortunately, tours are defined in a single bundle, `assets_tests`, and this bundle is used everywhere tours need to run, but some of these tours depend on modules that only exist in the backend and others on modules that only exist in the frontend. We don't want to break up the `assets_tests` bundle as this creates a poor developer experience, and so the solution that was chosen at the time is that when the `assets_tests` bundle is defined, we ignore all module dependency errors. This causes a problem however, which is that if a module dependency is missing in production code, the page will be broken by the module error (which is expected) but if the `assets_tests` are present, which is the case when running tours and tests, then it won't, meaning the tours will happily pass despite the application being broken, which is unacceptable. This commit fixes this issue by replacing the assets_test bundle by a new bundle (`__assets_tests_call__`) within which all module dependency errors are ignored, which lets dependency errors that are hapenning in other bundles (ie in production code) happen even during the tests. Because of this, this commit also fixes the dependency errors that already existed but were previously silent: - for im_livechat and website_livechat, the code was refactored to use the standard mechanism that we use elsewhere to add data directly in the page: we store the data in __session_info__, and the module that exposes that data is always present, instead of having a module that's defined conditionally, which causes issues when non-conditional modules depend on it. - in web, the `report_assets_common` bundle was used alongside `assets_common` but without `assets_frontend` or `assets_backend`. Reports do not need any js and it appears that it already had what it needed as far as css is concerned except for one fontawesome override. Code was changed so that the js from the bundle is not included and it reports no longer use `assets_common`, the js part of the bundle is no longer used. - in website_slides, the `slide_embed_assets` bundle is used alongside `assets_common` without using `assets_frontend` or `assets_backend` which is required for `assets_common` to function, the approach here was to simply take the files from `assets_common` and remove the files that were causing issues. This bundle should be trimmed at some point, as it contains way too many things that it does not need. The file colors.js was also moved to core, as it isn't graph specific and was causing dependency issues with a field that was importing it.
This update fixes small wording and typo issues in the profiler's speed visualization support. It improves clarity for people reading or using profiler output without changing business workflows or functionality.
Original PR description
Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update fixes missing dependency issues that could prevent certain Odoo app asset bundles from loading correctly. It adjusts manufacturing subcontracting with Studio, website helpdesk form editing, and payroll dashboard imports to keep related screens working after stricter dependency checks.
Original PR description
*: hr_payroll Since odoo modules having missing dependencies in now an error, this commit fixes some missing dependencies issues in mrp_subcontracting and in website_helpdesk. In mrp_subcontracting,…
*: hr_payroll Since odoo modules having missing dependencies in now an error, this commit fixes some missing dependencies issues in mrp_subcontracting and in website_helpdesk. In mrp_subcontracting, the mrp_subcontracting module defines a bundle that includes the assets_backend bundle but removes the files related to menu loading. These files are required by some other files added to assets_backend by web_studio. Because there already exists a bridge module, this commit removes the offending studio files from the bundle in that bridge module. In website_helpdesk, the form-editor fields are in the assets_frontend even though they depend on files defined in assets editor. While this works in practice because the form editor is only ever loaded in the frontend, and the module will be loaded when the assets_editor are loaded, there is no reason for it to not be in the assets_editor directly. The change in hr_payroll just updates an import because a file was moved in web in the community PR community: https://github.com/odoo/odoo/pull/104794