Commitb743fdadoesn't seem to work properly. Steps to reproduce: - Open a spreadsheet A in one tab - Open a spreadsheet B in another tab => the master tab should poll both spreadsheet channels but it does not. The condition here sheems wrong https://github.com/odoo/odoo/blob/bf2ce0aa0c7d45c90d7ff104d5af5f99b29d59ae/addons/bus/static/src/js/crosstab_bus.js#L299 `peerChannelsBefore` is not really "before the channel was added". It's "before outdated channels are cleared". It already contains the new channel added to local storage by the slave tab! Hence it wrongly returns `false` which means the poll request is not restarted. Additional fix required sincee2aeb5f------------------------------------- Commite2aeb5fbroke a little more the feature. It is assumed the ids in `channels` are matching the ids in `lastPresenceByTab` (previously named `peers`). It was no longer true since `lastPresenceByTab` is now managed by multi_tab service (with it's own id). With those non-matching ids, channels from other tabs were always considered outdated and therefore cleaned up. Small comment on the change in the mock server ---------------------------------------------- Cross tab bus tests were not working properly. The error message string "XmlHttpRequestError abort" was stringified (stringifying a string), leading to "\"XmlHttpRequestError abort\"". Since the implementation depends on the exact error message, tests didn't propely reflect reality. This is technically not needed anymore since bus tests are no longer using the legacy mock server but it can't hurt to fix it. (the new mock server doesn't have this issue) closes odoo/odoo#97036 X-original-commit: f25f36a Signed-off-by: David Monjoie (dmo) <dmo@odoo.com> Co-authored-by: Goaman <nby@odoo.com> Co-authored-by: tsm-odoo <tsm@odoo.com>