Daily updates from Odoo
Wednesday, November 26, 2025
3 changes · master
Enhancements to existing features
This update enhances the user experience for appointment bookings by streamlining the information displayed and improving organization. Specifically, the system now uses a dedicated 'notes' field for client details, simplifying data entry and providing a clearer view of booking information across different views.
Original PR description
Replaced the usage of the 'description' field from the calendar event with the 'notes' field, because the description adds the organizer and participants information automatically, and we only need the client extra notes for the booking. Also added the answers field under the notes on the kanban view, gantt view and as a column in the list view. Additionally: - Remove the cog actions menu from the list and kanban views. - Reordered the information inside the kanban cards for bookings and added a section for comments. - Changed the format of the column heads for the gantt view. - Changed the columns of the list view Task-5131166
This update enables Early Media in Odoo Phone, allowing for the playback of ringback tones, error messages, and IVR prompts during call setup. This improves the user experience by providing immediate feedback and reducing call setup time. However, the system is designed to handle only one SDP at a time, limiting support for complex call scenarios.
Original PR description
This commit enables support for Early Media in Odoo Phone. ## What is Early Media? Early Media is audio or video exchanged **before** a call is officially answered. It is typically used to play…
This commit enables support for Early Media in Odoo Phone. ## What is Early Media? Early Media is audio or video exchanged **before** a call is officially answered. It is typically used to play custom ringback tones, error announcements (e.g., "The number you have dialed is busy"), or IVR prompts during the call setup phase. ## How does it work? When you make a call, Odoo Phone sends an `INVITE` request to the server with an SDP offer. Rather than simply replying with a `180 Ringing` response, the server sends back a `183 Session Progress` response containing an **SDP answer**. SIP.js detects this SDP and immediately uses it to establish the WebRTC connection. This allows a media stream to open and play audio **before the call is officially answered**. By default, SIP.js ignores SDP payloads in `183 Session Progress` responses and applies only the SDP from the first final 200 OK to ensure a single consistent WebRTC connection and prevent issues with call forking. To override this and establish media immediately upon receiving a provisional response, the `earlyMedia: true` option must be provided to the `Inviter` constructor. ## Limitations SIP.js is designed to manage a single `RTCPeerConnection` per session. It does not support managing multiple concurrent WebRTC connections to handle scenarios like call forking, where distinct endpoints might generate different early media streams. While technically possible in a browser, creating separate connections for every different SDP received is computationally expensive. It would require distinct ICE/DTLS handshakes, TURN allocations, and media pipelines for each potential stream, which would significantly degrade performance and UX (extra latency, higher CPU/bandwidth usage, and confusing or inconsistent media playback). Consequently, the system binds to the first SDP it receives. Early media is therefore supported only when the provisional SDP matches the final 200 OK SDP. **If the final answer comes from a different source (providing a different SDP), the single existing connection cannot be reused, and the session is aborted.** :warning: [Task-5232220](https://www.odoo.com/odoo/project/5778/tasks/5232220)
This update introduces a 'Reprocess' button to automatically update AI source indexes when content changes (like URLs, documents, or knowledge articles). It prevents redundant updates by tracking processed attachments, optimizing performance and resource usage. This ensures AI agents always have the most current information.
Original PR description
## Summary - Add 'Reprocess' button to enable recomputation of source indexes when URL content, document's documents, or knowledge articles are updated. - When triggered, the system checks for content changes and updates the index for all sources sharing the same attachment across agents. Prevents redundant reprocessing by tracking already processed attachment checksums within each batch operation. task-id-5153627 Forward-Port-Of: odoo/enterprise#97261