Saturday, June 7, 2025
10 changes · saas-18.3
Enhancements to existing features
The messaging composer in Discuss and chat windows now has a more rounded, floating appearance for a cleaner and more polished experience. The design is adjusted in areas like chatter and message editing where stronger rounding would not fit visually.
Original PR description
Floating UI elements look prettier with significant roundness. Composer in discuss app and chat window have this "floating" look, so making it rounder feels better. This roundness doesn't work in chatter (form view + chatter buttons are slightly rounded) and when editing a message (composer inside a rounded message), so in these exceptional cases the roundness is reduced. Before / After  
Resolved issues and error corrections
This fix removes redundant hover titles from message dropdown actions, so users only see the icon and label already shown in the menu. It reduces visual clutter and prevents tooltips from blocking the action list while using messaging and live chat features.
Original PR description
Message dropdown actions show both icon and label in text content. There's no need to have a redundant title as the text content that's annoying because it obstructs the list.
Miscellaneous changes
Steps to reproduce ================== - Open the JS unit test page - Enable the "Mid-tier mobile" option in the devtools in order to have a 4X CPU slowdown - Run the test "url should not use the record last updated date when the field is related" => It fails Cause of the issue ================== We check that a timestamp generated after a patchDate is at most 100ms after. When we have a high CPU usage or a slow CPU, it can happen that the value is more than 100ms after. Soluti
Original PR description
Steps to reproduce ================== - Open the JS unit test page - Enable the "Mid-tier mobile" option in the devtools in order to have a 4X CPU slowdown - Run the test "url should not use the record last updated date when the field is related" => It fails Cause of the issue ================== We check that a timestamp generated after a patchDate is at most 100ms after. When we have a high CPU usage or a slow CPU, it can happen that the value is more than 100ms after. Solution ======== The test simply needs to check that the date is either the `2017-02-06` or the `2017-02-09`. We can use the luxon function `a.hasSame(b, "days")` runbot-115469 Forward-Port-Of: odoo/odoo#213237 Forward-Port-Of: odoo/odoo#212515
This fix removes redundant tooltip titles from message dropdown actions where the icon and label already explain the action. It reduces visual obstruction and makes message menus easier to use.
Original PR description
Message dropdown actions show both icon and label in text content. There's no need to have a redundant title as the text content that's annoying because it obstructs the list.
Before this commit, when opening a discuss conversation in mobile, the conversation was not focused. This was intended behaviour not long ago because focusing conversation meant focusing the composer, which is ok in desktop but in mobile this opens the soft-keyboard which is not good. Since https://github.com/odoo/odoo/pull/211720 a thread can be focused without focus on composer. This has been introduced to improve the behaviour of mark as read. This commit re-introduces the focus on o
Original PR description
Before this commit, when opening a discuss conversation in mobile, the conversation was not focused. This was intended behaviour not long ago because focusing conversation meant focusing the composer, which is ok in desktop but in mobile this opens the soft-keyboard which is not good. Since https://github.com/odoo/odoo/pull/211720 a thread can be focused without focus on composer. This has been introduced to improve the behaviour of mark as read. This commit re-introduces the focus on opening conversation in mobile. In desktop it focuses the composer, but in mobile this focuses the thread. Thanks to this, the conversation is marked as read when opening conversation in mobile, as expected, without opening the soft-keyboard. Before / After   Forward-Port-Of: odoo/odoo#213391
Before this commit, chat window size on Safari sometimes look off. The intended sizing is 380px in width and 9/15 ratio, with height being limited by 95vh. Safari `aspect-ratio` has strange behavior: instead of shrinking just the height from max-height, it gives too much priority on enforcing the aspect-ratio, thus the chat window becomes thinner and thinner the less vertical space there are. This commit fixes the issue by replacing the `aspect-ratio` style by a max-height that is compu
Original PR description
Before this commit, chat window size on Safari sometimes look off. The intended sizing is 380px in width and 9/15 ratio, with height being limited by 95vh. Safari `aspect-ratio` has strange behavior: instead of shrinking just the height from max-height, it gives too much priority on enforcing the aspect-ratio, thus the chat window becomes thinner and thinner the less vertical space there are. This commit fixes the issue by replacing the `aspect-ratio` style by a max-height that is computed with ratio and 95vh. Forward-Port-Of: odoo/odoo#213419
When the user tries to send & print the invoice, A traceback will appear. Steps to reproduce the error: - Create a new Customer: A > Country: Netherlands > In Invoicing, Format: NLCIUS Peppol e-address (EAS): 0106 > Save - Create a new invoice > Customer: A > Confirm > Send & Print > Select NLCIUS > Send & Print Traceback: ``` TypeError: object of type 'bool' has no len() ``` https://github.com/odoo/odoo/blob/d123df0a0aacd88d89cefb51a795e7865374a46d/addons/account_edi_ubl_ci
Original PR description
When the user tries to send & print the invoice, A traceback will appear. Steps to reproduce the error: - Create a new Customer: A > Country: Netherlands > In Invoicing, Format: NLCIUS Peppol e-address (EAS): 0106 > Save - Create a new invoice > Customer: A > Confirm > Send & Print > Select NLCIUS > Send & Print Traceback: ``` TypeError: object of type 'bool' has no len() ``` https://github.com/odoo/odoo/blob/d123df0a0aacd88d89cefb51a795e7865374a46d/addons/account_edi_ubl_cii/models/account_edi_xml_ubl_bis3.py#L84-L87 Here, If ``nl_id`` is False, It results in the traceback mentioned above. opw-4840552 sentry-6653896965 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#212904
Versions -------- - 18.0 Fixed in 18.1+ via 752fdb2d2718 Steps ----- 1. Create a quotation; 2. click "Send by Email"; 3. schedule the message to get sent at a later time; 4. wait for the message to send, or click "Send Now" in the chatter; 5. refresh the page. Issue ----- Quotation state did not get set to `sent`. Cause ----- Before this commit, marking the quotation as `sent` happened via a context value. This worked for earlier versions, but with the introduction of sch
Original PR description
Versions -------- - 18.0 Fixed in 18.1+ via 752fdb2d2718 Steps ----- 1. Create a quotation; 2. click "Send by Email"; 3. schedule the message to get sent at a later time; 4. wait for the message to send, or click "Send Now" in the chatter; 5. refresh the page. Issue ----- Quotation state did not get set to `sent`. Cause ----- Before this commit, marking the quotation as `sent` happened via a context value. This worked for earlier versions, but with the introduction of scheduled messaging, the context is no longer available when the scheduled message gets sent. Solution -------- Add the `mark_so_as_sent` context value to the `notification_parameters` field of `mail.scheduled.message`, and check for this value in the `_post_message` method that gets called when sending the message. If present, re-introduce the context value in the call to `super`. opw-4794010 Forward-Port-Of: odoo/odoo#213266 Forward-Port-Of: odoo/odoo#211659
2 fix in this PR: ## [FIX] l10n_be_reports: 281.50 pdf use debtor where required The aim of this commit is to display the debtor info on the 281.50 pdf report instead of the sender info. Context: If there is a representative for the company, he will be set as the sender of the 281.50 and 325 instead of the company. Before this commit: The sender information was used in the pdf instead of the debtor information. After this commit: The debtor information are used as required.
Original PR description
2 fix in this PR: ## [FIX] l10n_be_reports: 281.50 pdf use debtor where required The aim of this commit is to display the debtor info on the 281.50 pdf report instead of the sender info. Context: If…
2 fix in this PR: ## [FIX] l10n_be_reports: 281.50 pdf use debtor where required The aim of this commit is to display the debtor info on the 281.50 pdf report instead of the sender info. Context: If there is a representative for the company, he will be set as the sender of the 281.50 and 325 instead of the company. Before this commit: The sender information was used in the pdf instead of the debtor information. After this commit: The debtor information are used as required. opw-4852895 ## [FIX] l10n_be_reports: 281.50 pdf add national number if available The aim of this commit is to add the national number on the 281.50 pdf if it is available. Context: The customer expects it to be filled if they filled it and it helps the authorities to identify the receiver. Before this commit: The national number wasn't added even if we had it. After this commit: The national number is added to the pdf if it is available for that partner. opw-4852895 Forward-Port-Of: odoo/enterprise#87253 Forward-Port-Of: odoo/enterprise#87109
Before this commit:- - In GST Return Return Period 'Push to GSTN' button triggers a cron to send GSTR-1 data, but on UI there is no information about whether the cron is running in backend or not? After this commit:- - Raise ValidationError if that required cron is disabled. - Show acknowledgement notification(ir.actions.client) after the cron is triggered. task-4653538 Forward-Port-Of: odoo/enterprise#87202 Forward-Port-Of: odoo/enterprise#84125
Original PR description
Before this commit:- - In GST Return Return Period 'Push to GSTN' button triggers a cron to send GSTR-1 data, but on UI there is no information about whether the cron is running in backend or not? After this commit:- - Raise ValidationError if that required cron is disabled. - Show acknowledgement notification(ir.actions.client) after the cron is triggered. task-4653538 Forward-Port-Of: odoo/enterprise#87202 Forward-Port-Of: odoo/enterprise#84125