Friday, February 11, 2022
5 changes · master
Enhancements to existing features
Website pages now avoid extra background requests when an administrator or publisher is signed in. This reduces page overhead and should make browsing and editing the website feel faster and more efficient.
Original PR description
This improvement remove 12 requests on all page when the user is connected with published access.
The eSignature app now identifies templates without searching through the large attachment storage area. This should make template lookups more efficient and avoid unnecessary permission checks behind the scenes.
Original PR description
Solution by IEL, explanation from ODO: `sign.template` uses `attachment_id` as its `_rec_name`, which means that searching for a template requires searching through the whole `ir.attachment` table. That's bad for several reasons: - `ir.attachment` is an internal low-level table (as indicated by the `ir.` prefix) and shouldn't be accessed like a first-party business model - `ir.attachment` is a huge table that represents the entire filestore, so searching through it is naturally slow, it's meant to be referenced by `res_model`, `res_id` keys, not searched cross-model - `ir.attachment` has a complicated permission system, so not only is searching expensive, it also requires some costly post-processing for filtering results task-2677771
Resolved issues and error corrections
Images now use default lazy loading only on website pages, not in email marketing content. This prevents email snippets such as cover images from appearing with zero height during editing, making campaign creation more reliable.
Original PR description
The `loading="lazy"` attribute was set by default on all images but this affected the `mass_mailing` module as well while that attribute doesn't work in emails and can cause some issues in edition. One known such issue this addresses is to be reproduced as follows: 1. Create a new mail 2. Drop the "cover" snippet It has height 0 so it won't load until another snippet (with a non-zero height) is dropped. task-2761074 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fixes a visual issue where the chatter area could briefly disappear and reappear when users changed form modes or navigated records. The chatter now stays stable during form updates, making the interface feel smoother and less distracting.
Original PR description
Before this commit, when a form view was re-rendered (e.g. when switching to "edit" or "readonly" modes, when using the pager...), the chatter briefly disappeared and then reappeared, which produced…
Before this commit, when a form view was re-rendered (e.g. when switching to "edit" or "readonly" modes, when using the pager...), the chatter briefly disappeared and then reappeared, which produced a flickering. This has been introduced by the adaptation of the JS codebase to owl 2 [1]: when the form view had to be re-rendered, we reused the DOM element containing the chatter in the new rendering (done in memory), which was thus detached from the DOM. That element was re-inserted into the DOM later on, alongside the rest of the newly rendered elements. This commit fixes the issue by using a specific "hook" element when rendering the form view, and replacing that hook by the actual (unchanged) chatter container element when the rendering is done and the DOM is patched. [1] edd79ff560cf321ebd0488e4917abb7424fea1bb 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
The spreadsheet component was updated to a newer version with fixes for editing edge cases, including merged cells and deleted sheets. This improves reliability for users working with spreadsheets in Documents, while most other changes are internal cleanup and test improvements.
Original PR description
…rsion This commit includes the following changes: [IMP] package: Add demo/*.js files to prettier flow [FIX] edition: check merge cell in the correct sheet [FIX] edition: cancel edition if sheet is deleted [FIX] evaluation: get rid of makeObjectIterator [FIX] demo: fix function makeLargeDataset [REF] env: model is now accessible through the env [REM] components: remove static style declaration [REF] tests: simplify dispatch spyOn [REF] grid: remove model as props [IMP] tests: activate owl dev mode [REF] tests: remove call to __owl__.destroy [REF] spreadsheet: give model as props [REF] model: remove unecessary argument to joinSession [REF] tests: remove Parent component