7df0ce5570832b4f1ef2208f1a67cf61ca266d97
Before this commit, late close events were not handled properly. This could have led to non-reconnecting websockets. The problematic scheme is the following: - Close the socket (eg. upon the reception of an `offline` event), let's assume that the other end will not perform the closing handshake, the connection will be closed once the browser presumes it is dead. - Create a new socket (eg. upon the reception of an `online` event) - The browser assumes the connection is dead and dispatches a `close` event, the worker switches to the `reconnecting` state and expects an `open` event to update its state to connected. Since there is already a running socket, the worker won't open a new one and will never receive the `open` event. - Server closes the connection (eg. `KEEP_ALIVE_TIMEOUT`) - The close handler is called but since it is in the `reconnecting` state, it assumes it shouldn't do anything thus, no reconnect attempt is made. This PR fixed this issue by ignoring events linked to outdated sockets. closes odoo/odoo#112456 X-original-commit: a2454739156d8742f7606f090126f32735fb15df Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
…
…
Odoo
Odoo is a suite of web based open source business apps.
The main Odoo Apps include an Open Source CRM, Website Builder, eCommerce, Warehouse Management, Project Management, Billing & Accounting, Point of Sale, Human Resources, Marketing, Manufacturing, ...
Odoo Apps can be used as stand-alone applications, but they also integrate seamlessly so you get a full-featured Open Source ERP when you install several Apps.
Getting started with Odoo
For a standard installation please follow the Setup instructions from the documentation.
To learn the software, we recommend the Odoo eLearning, or Scale-up, the business game. Developers can start with the developer tutorials
Languages
Python
49.6%
JavaScript
47.8%
SCSS
2%
CSS
0.3%
HTML
0.2%