summaryrefslogtreecommitdiff
path: root/addons/mail/static/src/models/messaging_notification_handler
AgeCommit message (Collapse)Author
2021-05-26[REV] mail: fix a traceback when sending a message in a "email channel"std-odoo
Bug === Since 4da64b3f3c8dff88d8e0e01c65374590cc0bf4f7 , if multiple users of different companies are in the same channel, and if the type of the channel is "email", a traceback is raised when sending a message. Technical ========= "with_user" drop the SU flag and is not enough to bypass the multi company ACLs. Moreover, we do not want to send a "channel_seen" bus notifications and we can mark the message as seen on the JS side directly. Changes ======= So now, the traceback is not raised anymore in that case, and the message is marked as seen if the receiver has the web client open. But, if the receiver has not the web client open, when he will login, the message will not be marked as seen. This can be improved but at the moment we just want to revert the fix that cause the traceback and fix the issue in most cases. Task 2427790 closes odoo/odoo#65185 Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2021-05-21[FIX] mail: chat window should remain folded on new messageDhruv Patel
If the chat window was initially folded and when a new message is received the chat window automatically unfolds. it is annoying having a window that pops up each time a new message is coming while having folded it once. So, It should remain folded when a new message is received if the chat window is already folded. Task : 2522141 closes odoo/odoo#70737 Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
2021-02-25[FIX] mail: this.env.services.bus_service is undefinedAlexandre Kühn
Before this commit, a page reload or a redirect could raise following error: ``` Uncaught (in promise) TypeError: this.env.services.bus_service is undefined ``` This happens due to `Messaging` model relying on `bus_service` in its teardown method `_willDelete`. This is sometimes unsafe because the bus service may not have been deployed yet. Task-2468469 closes odoo/odoo#66818 Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
2021-02-23[FIX] mail: Don't log unhandled notificationLucas Lefèvre
The `mail` module logs bus notifications it does not handle. However, some notifications are not meant to be handled by `mail` and it's perfectly fine. This commit removes the log to avoid useless noise in the console. closes odoo/odoo#66661 Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
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>
2021-01-28[FIX] mail: make Inbox counters more reliable in mark as read flowsSébastien Theys
- Send the new Inbox counter when marking as read, to guarantee the JS has the correct value (instead of having to guess it which was impossible when an arbitrary domain was given to the method). NOTE: Manual increment is kept on receiving a new Inbox message because that one was reliable and it would have been more tricky to compute the new counter for each target partner (mark as read is one user doing an action for himself, whereas new message is from another user to potentially many different users). Generic counter for threads is also not sent on every change for similar reasons. - Refresh Inbox automatically when some messages are marked as read and there are more message on the server than currently loaded. - Remove confusing (and impossible to maintain) counter on non-origin threads (in particular channel followers). This behavior in JS was not consistent with the server which always counted only origin thread (model/res_id). task-2446302 closes odoo/odoo#65161 Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2021-01-18[FIX] mail, im_livechat, snailmail: use findFromIdentifyingDataSébastien Theys
find is O(n) and findFromIdentifyingData is O(1) task-2440693 closes odoo/odoo#64712 Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2020-12-21[FIX] mail: adapt mail notificationThanh Dodeur
Before this commit, some notifications in mail were not following the changes made in odoo/odoo#52826 . task-2278579 closes odoo/odoo#63614 Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2020-12-05[FIX] mail: ignore partner notification with unsupported `type`Alexandre Kühn
Task-2411800 closes odoo/odoo#62930 Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2020-12-02[FIX] mail: remove html from new message notificationSébastien Theys
task-2388659 closes odoo/odoo#62442 Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2020-11-25[FIX] mail: avoid notification if the channel is not a chat.Didier (did)
task-2387822 closes odoo/odoo#62089 Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2020-11-02[FIX] mail: handle transient messages with (un)seen notionsXavier Dubuc
task-2343887 closes odoo/odoo#60906 Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2020-10-27[FIX] mail, im_livechat: allow to reopen closed chat in discussXavier Dubuc
task-2346862 closes odoo/odoo#60080 Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
2020-10-23[FIX] mail: do not return members of channels in channel_infoSébastien Theys
This PR has 3 parts: The members fix itself, which is necessary for performance reasons especially at init messaging, as per described in the task. Adding the partner name in the typing payload, because due to not knowing all members anymore, it is necessary to properly display who is typing. Restrict restoring scroll position only if the corresponding scroll height is available, to make the scroll feature and particularly the corresponding tests more robust. task-2360020 closes odoo/odoo#60091 Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2020-10-09[FIX] mail: fix discuss search filters and related issuesSébastien Theys
- don't reset `stringifiedDomain` when changing thread (this led to the control panel displaying obsolete filters) - refresh non-main cache that are currently displayed when there is a known change of messages in the same thread's main cache - refresh non-main-cache on displaying them, to fetch potentially new messages - fix discuss "select all" conditions task-2171873 task-2282374 closes odoo/odoo#59631 X-original-commit: b89dc5f949b3ad062fc4197a4152066c207e1bf9 Related: odoo/enterprise#13958 Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2020-09-29[FIX] mail: reintroduce auto scroll on receiving messageSébastien Theys
task-2336251 closes odoo/odoo#58867 X-original-commit: f732980b2e5e83bcf2fdc8d3ce756f256cacbd4f Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
2020-09-29[FIX] mail: do not show new messages separator for own messagesXavier Dubuc
Also fix compute of local counter in some specific situations. task-2341740 closes odoo/odoo#58855 X-original-commit: 7d1878ff8a4757d1626d694b624f79e597ddd717 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: use compute fields for identifying relationsXavier Dubuc
(in message seen indicators) task-2335647 closes odoo/odoo#58373 X-original-commit: 3d4ff42f4474a5761c9e0737297d973992a2fcc2 Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
2020-09-17[FIX] mail: fix "New messages" separator and channel_seen behaviourXavier Dubuc
- channel_seen is now called even for own message and only when needed - channel_seen is now called with a message_id which transfer the decision of what is seen to the client which makes more sense task-2282235 task-2282248 closes odoo/odoo#57950 X-original-commit: 04edfa50ccea305050d017c4a1996e561bc7bd57 Signed-off-by: Sébastien Theys (seb) <seb@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-24[FIX] mail, im_livechat: make livechat work properlySébastien Theys
- fix traceback on receiving first livechat message due to bad computation of correspondent - fix missing [0] in return of country name_get in channel_info - fix visitor/correspondent computation to work when chatting with oneself - reintroduce livechat ordered by last message in discuss sidebar - improve mock server to make these fixes possible to test - introduce corresponding tests PR: #56243 task-2323670 closes odoo/odoo#56414 X-original-commit: f623bfd2c8819604c709bc723153c071dca6e3cc Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2020-08-24[FIX] mail: ignore broadcast notifications targeting another userSébastien Theys
This is typically not the case in production code, but it doesn't hurt to be safe. The main reason for the change however is that it causes issues in tests due to the easiest way to simulate notifications being to send them directly on the bus which is "listened to" no matter the target user. PR: #56243 Part of task-2323670 X-original-commit: 62e1e7fe39a7bed6ce70466a0aec645c7a0f299d
2020-08-24[FIX] mail, im_livechat: ignore notifications for unknown channelsSébastien Theys
Inserting channels and handling notifications for channels that have not been properly initialized through the `channel_info` leads to issues due to incomplete data that is not properly handled, such as bad correspondent, missing uuid, inconsistent name, etc. Moreover it doesn't make sense functionally to handle notifications such as typing status if the channel isn't going to be displayed. PR: #56243 Part of task-2323670 X-original-commit: 75070665060d64fe7b532aac4fc8e8410381b083
2020-08-21[FIX] mail: avoid unnecessary update of inverse in JS modelsSébastien Theys
Part of task-2308312 X-original-commit: 0e08e43decf18108d25d051ad76c093bcdf434db
2020-07-17[FIX] mail: fix inbox mark as read on single messageXavier Dubuc
Clicking on mark as read on a given message would move all messages in inbox to history instead of only selected message(s). This commit fix that behaviour so that only the selected message(s) move(s) to history. task-2284543 closes odoo/odoo#54688 X-original-commit: 3304b89fc799b979b028aa4c7efe902b2f5276c1 Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2020-06-26[FIX] mail: discuss: unpin channel fixesLucas Perais (lpe)
FIX: use the correct API of mail.channel.py to unfollow a channel i.e.: `execute_command_leave` FIX: unpinning a channel has immediate effect on the interface chatWindows are closed, and the inbox is displayed FIX: unpinning a channel destroys corresponding chatWindows across tabs It also unpins the channel in other tabs FIX: python sends is_pinned as part of the channel_info both at init messaging and in the main bus notification That way, we can keep track of the synchronization of the pin status between JS and python task-2275000 task-2267941 closes odoo/odoo#53703 X-original-commit: d4fcc64acb2fc0c6fd9df505380f665abd8b39c4 Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2020-06-22[FIX] mail: consistent relations between threads, caches and messagesAlexandre Kühn
task-2171881 closes odoo/odoo#53440 X-original-commit: 80d13bb828ee75a50d8cea29046a8eb49c71948a 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>