Tuesday, September 30, 2025
2 changes · saas-18.2
Enhancements to existing features
The Peppol configuration screen now remains available even if the service-status check fails. This helps users continue important actions such as unregistering, instead of being blocked by a temporary external service problem.
Original PR description
Handle `api/peppol/2/get_services` errors gracefully, without blocking critical section of peppol functionnal flow (deletion). If the API endpoint for services returns an error (which should not be affecting any users), the whole peppol config wizard is no longer accessible. The users will therefore not be able to unregister. Note that with this change, if we get an API error, all services will be marked as disabled (which is fair, and better than displaying an API request error) no-task
The Belgian POS blackbox integration now reads from connected devices more efficiently and retries detection in a supported way. This helps avoid timeout issues and improves the chances that the correct fiscal device is recognized when plugged in.
Original PR description
This commit is a backport of some parts of odoo/enterprise#93614. The goal is to ensure that we don't read too many different times from the serial port, as each read has a timeout of 3 seconds: if 2 read fail, we exceed the longpolling's timeout. We then backport the `read_until(char)` instead of `read(n)` allowing us to read not more than once (except for the lrc, which is read only if first read is successful). We also backport the supported retry, which ensures we detect a blackbox when we plug one (prevent detecting it as an Adam Scale), and correctly flush buffers after writing/reading. Task: 5116854 Forward-Port-Of: odoo/enterprise#95755 Forward-Port-Of: odoo/enterprise#95635