summaryrefslogtreecommitdiff
path: root/addons/mail/static/src/models/chat_window/chat_window.js
AgeCommit message (Collapse)Author
2021-02-12[FIX] mail: (mobile) Prevent server sync for open/close stateJulien Giannone
This commit prevents the opening/closure of a channel on mobile when the action is performed on desktop and reciprocally closes odoo/odoo#64599 Tasks-id: 2267593 Related: odoo/enterprise#16296 Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
2020-12-15[FIX] mail: prevent messaging menu from hiding home menu in mobileSébastien Theys
task-2330277 closes odoo/odoo#63235 Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2020-09-23[FIX] mail: prevent unnecessary fold state RPCSébastien Theys
When the pending value is the same as the current server value, the pending value should be ignored and no RPC should be done. In particular this prevents a non-main tab from calling the RPC when receiving a bus notification that would lead to closing a chat window, which in turn used to call the close RPC again before this commit. This led to inconsistencies especially on the main tab, if the chat window was requested to be open again after the initial close, but before the "secondary" close, it would end up closing instead of opening. The current commit reduces the issue and prevents as many unnecessary RPC as there are tabs open, which is a good improvement. But it does not negate it completely. Indeed, when quickly closing then opening the same chat window, it might still happen for network reasons that the RPC or the corresponding bus notifications are received in the wrong order. This is less frequent both functionally (to click so fast) and technically (to have the network that slow) at the same time, so it is considering acceptable / out of scope. The opportunity is taken to clean up the code by removing unnecessary fields and making use of compute and flux specific RPC instead of `_updateAfter`. task-2273658 task-2329521 closes odoo/odoo#58367 X-original-commit: cbb1d855c7af5f78819db3cd476dbe0f985bc214 Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com> Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
2020-09-23[FIX] mail: ignore `undefined` in JS fields create/writeSébastien Theys
Passing a field containing `undefined` should lead to the same result as not passing the field. Fields that relied on `undefined` as a value have been changed to use the newly introduced `clear` command, that resets a field to its default value (often that is equal to `undefined`). task-2336491 closes odoo/odoo#58308 X-original-commit: b18824485483564d2ab80f41914a3548aa528ae0 Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2020-09-04[FIX] mail, sms, snailmail: prevent message_fetch for hidden threadsXavier Dubuc
Automatically load messages from a thread cache only if the thread cache is used in at least one thread view. Ensure thread viewer don't keep thread view records alive when they are not displayed. This change is particularly important for performance, to avoid spamming RPC at init if many threads are opened in chat windows. task-2310623 closes odoo/odoo#57061 X-original-commit: dd6981c7812134e0588f80a157eaba45512cd68e Related: odoo/enterprise#12936 Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2020-08-28[FIX] mail, *: fix opens and redirects, adapt messaging menu closeSébastien Theys
task-2244279 task-2262862 task-2274993 task-2277537 task-2282238 closes odoo/odoo#56745 X-original-commit: 109f202 Related: odoo/enterprise#12761 Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com> Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
2020-08-28[FIX] mail, *: rename thread viewer to thread viewSébastien Theys
The "viewer" should be the "parent" not the view itself. This distinction will become important in a future commit to allow viewers to not display the view in some situations. Rename done as a standalone commit to ease diff readability. Part of task-2310623 closes odoo/odoo#56737 X-original-commit: 1b811e6a972d72de02965adda67c5b039bee023f Related: odoo/enterprise#12756 Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com> Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
2020-08-21[FIX] mail: avoid unnecessary update of inverse in JS modelsSébastien Theys
Part of task-2308312 X-original-commit: 0e08e43decf18108d25d051ad76c093bcdf434db
2020-08-05[FIX] mail: tab cycling between chat windowDidier (did)
Before this commit, cycling between chat window in LTR language clycled in the wrong direction. This commit also handle the RTL language cycling. task-2279706 closes odoo/odoo#55456 X-original-commit: 638720f9d72616f2e921a475a5fdfd2ad9a2ab8b Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com> Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
2020-07-07[FIX] mail: save scroll position of chat window when foldedXavier Dubuc
- Remove no more used ThreadViewer prop : messageListInitialScrollTop - Remove no more used ChatWindow prop : threadInitialScrollTop - Rename ThreadViewer field threadCacheInitialPosition to threadCacheInitialScrollPosition - Use the scroll position to set message list scroll on mounted - Fix old test which was not simulating correctly home menu show - Add tests to check that scroll position is correctly saved even if ChatWindow is folded - Fix traceback when showing/hiding home menu with a folded chat window task-2285691 closes odoo/odoo#54198 X-original-commit: 31123a94c156424b3962fe4aebc3cc60a7a89223 Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com> Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
2020-06-26[FIX] mail: fix (inbox reply) composer event handlers (and discard)Sébastien Theys
task-2092950 closes odoo/odoo#53731 X-original-commit: c29f5776594c4d2278ce163a78d8eb917fb672c0 Signed-off-by: Sébastien Theys (seb) <seb@odoo.com> Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2020-06-15[REF] mail, *: refactor messaging with OWLSébastien Theys
This commit is a significant rewriting of client-side discuss, chatter, chat window, and messaging menu using OWL. The behavior should be broadly the same, with some slight functional changes here and there. From a technical standpoint, the code of messaging is mainly organized in 2 main groups of modules: - models, which are logical entities that depict the client-side state of messaging as a whole. - components, which are in charge of displaying information from models. This refactoring also introduces new JS guidelines regarding folder structure (/static) and naming rules for JS modules. Community PR: https://github.com/odoo/odoo/pull/39023 Enterprise PR: https://github.com/odoo/enterprise/pull/6249 Task-1914207 This PR is a collaborative work by Alexandre, Julien, Sébastien and Xavier, with the precious help of Lucas to speed it up towards the end. closes odoo/odoo#39023 Related: odoo/enterprise#6249 Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com> Co-authored-by: Alexandre Kühn <aku@odoo.com> Co-authored-by: Julien Giannone <jgi@odoo.com> Co-authored-by: Lucas Perais <lpe@odoo.com> Co-authored-by: Sébastien Theys <seb@odoo.com> Co-authored-by: Xavier Dubuc <xdu@odoo.com>