summaryrefslogtreecommitdiff
path: root/addons/mail/static/src
AgeCommit message (Collapse)Author
2019-09-04[MERGE] forward port branch 12.0 up to 638eac9baeaChristophe Simonis
2019-09-03[MERGE] forward port branch 12.0 up to 82c0e9b620bChristophe Simonis
2019-09-02[MERGE] forward port branch saas-11.3 up to 79ff916b596Christophe Simonis
2019-09-02[MERGE] forward port branch 11.0 up to 61a85ccf8f9Christophe Simonis
2019-08-30[FIX] mail: channel notification messages are never marked as unreadAlexandre Kühn
When a user either joins and leaves a channel, it posts a message of type 'notification' with either action as content. Before this commit, such messages above were incrementing the unread counter of the channel. As a result, the messaging menu was showing this channel as unread with this message. Messages of type 'notification' should never increment the unread counter of channel. This commit fixes the issue by preventing new messages of type 'notification' to increment the unread counter of a conversation. This should also prevent increasing the counter of the messaging menu, in addition to highlighting this channel as unread from the messaging menu. Task-Id 2059515 closes odoo/odoo#36293 Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2019-08-30[MERGE] forward port branch 12.0 up to 52f6e38cea8Christophe Simonis
2019-08-29[FIX] mail: keep ratio of img in message with inline dimensionsAlexandre Kühn
Before this commit, when a message body contains a big image with inline dimensions, the image was stretched. For instance: - `<img width="4096" height="2304">` - on 1080p screen in the discuss app: - max-width for image: 1542px - image ratio: ~ 1,78 - expected height: 867.38px - actual height: 2304px This issue had been fixed[1], but was reintroduced[2]. Note that this fix only works when inline dimensions are set as attr of the `<img>` tag. It won't work with dimensions attached as inline styles (e.g. `<img style="height: 4096px; width: 2304px;>`), due to high CSS specificity of inline styles. [1] https://github.com/odoo/odoo/commit/e7bc4e9703954fa952f24b4f96e75dc4299bbb28 [2] https://github.com/odoo/odoo/pull/15542/commits/46699c5214229ea8aebcc04e08d0786fd2b67f35 Closes #36227 closes odoo/odoo#36243 Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2019-08-29[MERGE] forward port branch saas-11.3 up to ede253f1b2eChristophe Simonis
2019-08-29[MERGE] forward port branch 11.0 up to d61873ac4a3Christophe Simonis
2019-08-29[FIX] mail: parse message with invalid html as contentFlorimond Husquinet (fhu)
Before this commit, when a message contains invalid HTML, it crashed with error such as: "TypeError: Cannot read property 'childNodes' of null". This commit fixes the issue by wrapping the content of messages with invalid HTML in a `<pre>` tag. OPW-2048140 closes odoo/odoo#36196 Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2019-08-27[FIX] mail: composer in mass_mailing channel (mobile)Alexandre Kühn
Before this commit, a channel in mobile with option "Send messages by email" had no composer when opening in mobile. This issue happened because channel views in mobile are in fact chat windows. Chat windows with such channels do no display any composer, which is intended in desktop. This commit fixes the issue by enabling the extended composer for chat windows with email channels, just for mobile. opw-2059468 closes odoo/odoo#36120 Signed-off-by: Adrien Dieudonné (adr) <adr@odoo.com>
2019-09-03[FIX] bus, mail: correctly synchronize document chat windowsAlexandre Kühn
Before this commit, there could be an infinite loop when changing the chat window state of a document chat window. This is caused when mutiple tabs overwrite the chat window state with a different value everytime, resulting to an infinite loop. Accross multiple tabs, `setItem` and `onStorage` are not synchronous. That's why tabs should communicate through local storage events instead of actual value in the local storage. To illustrate the issue, suppose there are 2 tabs (T1 and T2) with one document chat windows (C) and the following user interactions: - T1 and T2 both have C open - on T1, user folds C - on T2, user folds C Now let's add an example of local storage (LS) logics that could apply from above example: - T1 and T2 both have C open - on T1, user folds C [1] T1 writes 'C folded' in LS - on T2, user folds C [2] T2 writes 'C folded' in LS [3] T2 detects 'C folded' in LS (from [1]) => T2 writes 'C folded' in LS [4] T1 detects 'C folded' in LS (from [2]) => T1 writes 'C folded' in LS [5] T1 detects 'C folded' in LS (from [3]) => T1 writes 'C folded' in LS [6] T2 detects 'C folded' in LS (from [4]) => T2 writes 'C folded' in LS etc... This scenario could have been easily prevented by not writing on local storage when the chat window state has not changed. However, this wouldn't fix this scenario that also introduces an infinite loop: - T1 and T2 both have C open - on T1, user folds C [1] T1 writes 'C folded' in LS - on T2, user folds C [2] T2 writes 'C folded' in LS - on T2, user unfolds C [3] T2 writes 'C unfolded' in LS [4] T2 detects 'C folded' in LS (from [1]) => T2 writes 'C folded' in LS [5] T1 detects 'C unfolded' in LS (from [3]) => T1 writes 'C unfolded' in LS [6] T2 detects 'C unfolded' in LS (from [5]) => T2 writes 'C unfolded' in LS [7] T1 detects 'C folded' in LS (from [4]) => T1 writes 'C folded' in LS [8] T2 detects 'C folded' in LS (from [7]) => T2 writes 'C folded' in LS [9] T1 detects 'C unfolded' in LS (from [6]) => T1 writes 'C folded' in LS etc... This commit fixes the infinite loop issue: - by turning local storage read during cross-tab communication into local storage event read instead. This should prevent race conditions based on read/write operations in local, since their order is not guaranteed accros tabs. - by isolating document chat window state to their own local storage entry. This should prevent a tab from notifying a chat window state that it didn't change, which may also result in an infinite loop. Some tests were adapted from the changes above. Also, some tests did pass thanks to local storage being mocked by a ram storage: the handler `_onStorage` should have been called, but it didn't because it was registered on the actual local storage instead of the ram storage. In order to make tests pass again, the following additional changes were required: - Cross-tab bus service now exports the unique tab ID with `getTabId`. - document thread entries in local storage now track the tab ID, so that self-tab ignore their own local storage writes. Task-Id 2034997 Closes #36177
2019-08-23[FIX] mail: show attachment "uploading..." in chat windowVarun Raval
When uploading an attachment from a chat window, the label "Uploading..." was not visible. This comes from attachment preview being too small, thus cutting entirely the filename and the upload progress bar. This commit fixes the issue by increasing the size of attachment previews in chat window, so that it takes 50% width. It also provides more space for labels on attachment preview while uploading, by removing the right padding for the animated "unlink" feature that works only for uploaded attachments anyway. Note that this commit does not entirely solve the issue: half the width of a chat window being enough to display the icon, the file extension, and sometimes the label "Uploading..." completely. The width of the icon and text extension combined is always the same, but the label "Uploading..." changes with the locale. The extra space from the padding removal makes this label fully visible in English, but not necessarily in other languages. The proper fix requires re-designing the style of attachment preview, which will be done in master. Task-Id: 1978640 closes odoo/odoo#33638 Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com> Co-authored-by: Mohammed Shekha <msh@odoo.com>
2019-08-19[MERGE] forward port branch 12.0 up to 32039b2ab44Christophe Simonis
2019-08-14[FIX] mail: receive message then delayed needaction notificationsAlexandre Kühn
Before this commit, when a user received a needaction notification on a message already stored locally, it crashed with this error: `TypeError: Cannot read property 'getThreadIDs' of undefined` This is caused by `addMessage` returning a Promise not resolved with the message when the message is not new. The returned promise should always be resolved with the message, in order to be consistent. closes odoo/odoo#35724 Signed-off-by: Martin Geubelle (mge) <mge@openerp.com>
2019-08-14[FIX] mail: no crash on opening chat window twiceAlexandre Kühn
Revision on https://github.com/odoo/odoo/commit/e8f7770a13d6ddc1cb8ec1bcebcb22e21962ba52 Commit above fixes an issue with chat windows being open twice. It fixed the issue by aborting opening a chat window in case a chat window is already being open. Opening chat window may be a slow process, due to requiring fetching some messages beforehand. This operation is necessary in order to check whether the user has access to messages or not, and prompt an error message without opening the chat window in the latter case. The fix did not respect the specs of the method `openThread`: it pre-emptively returned nothing, instead of returning a resolved promise. Because of this, it crashed on `undefined.then()`. Task-ID 2053095 closes odoo/odoo#35722 Signed-off-by: Martin Geubelle (mge) <mge@openerp.com>
2019-08-14[FIX] mail: hide activity menu dropdown on activity icon clickKaushalya Mandaliya
Before this commit, The dropdown menu remained open after clicking on activity icon. After this commit, The dropdown menu is closed whenever the activity icon is clicked. Task-Id: 2047408 closes: #35568 Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2019-08-14[FIX] mail: send message button not working in channelasa-odoo
Before, If direct chat or channel has no any message in chat history, then send button is not clickable in discuss. Now, fix in scss file will allow to click send button for channel and chat. Task : 2037292 Closes #35570 Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2019-08-12[FIX] mail: register thread window after append in DOMAlexandre Kühn
Before this commit, we may have the following error: `TypeError: Cannot read property 'html' of undefined` This happened in the following scenario: Terminology: - in multi-tab environment, there is a master tab and slave tabs - master tab fetches notifications from the server and forwards them to slave tabs State: - 2 logged-in users: Michell & Marc - Mitchell has open 2 browser tabs - Mitchell has a pinned private conversation with Marc Steps: - Mitchell has focus on a slave tab - Marc posts several messages to Mitchell in very quick succession => Mitchell gets crash error above. This issue is caused by chat window being registered in mail manager while it has not been mounted to DOM. On receiving 2nd new message, it has to re-render chat window header in order to update displayed unread counter. However, this fails due to chat window having no DOM node yet. This commit solves the issue by mounting chat window to DOM before being registered in mail manager. That way, on receiving 2nd new message, it does not trigger a re-render on chat window that is about to be mounted to DOM, since it has not been registered yet. Note that the displayed unread counter will be correct, because it uses the up-to-date unread counter on mount. Task-ID 2050108 closes odoo/odoo#35601 Signed-off-by: Martin Geubelle (mge) <mge@openerp.com>
2019-08-06[FIX] mail: keep notification on receiving new messages from documentAlexandre Kühn
Revision on https://github.com/odoo/odoo/commit/17bb0ca443f54bc231b03794e776bbc6992ffdfa closes odoo/odoo#35497 Signed-off-by: Martin Geubelle (mge) <mge@openerp.com>
2019-08-06[MERGE] forward port branch saas-12.2 up to 9e74730a26bChristophe Simonis
2019-08-06[MERGE] forward port branch 12.0 up to ff9ddfdacc9Christophe Simonis
2019-08-01[FIX] mail: display 💔 in messagesMartin Trigaux
The emoji was displayed in the list of choice but was not correctly rendered when sent to the server. Similar to 0e3d5941dadf but for broken heart closes odoo/odoo#35367 Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
2019-08-09[FIX] mail: notify other tabs on document thread message postAlexandre Kühn
Before this commit, most new messages added to the mail manager were handled as if recently posted from a document thread. As a result, it was frequently setting a new item in the local storage to notify other tabs from these new messages. The intent of this behaviour is to notify other tabs of newly posted messages in a document thread, without using a longpolling notification. That means this logic should only apply on messages that have been recently posted on a document thread. Sometimes, this issue was breaking the local storage on Firefox. It showed the error message "Quota Exceeded Error" whenever `setItem` was used, even when items were removed beforehand. The capacity of the storage was only a few Kbs on this domain, far from reaching the maximum capacity. We think that this error comes from the concurrent `setItem` on multiple tabs, but this is very hard to reproduce. This commit fixes the issue by limiting the `setItem` to the tab that really posted the message. Tests have been adapted in order to pass only with this fix. note: backport of 12.2 4bde721f9 opw-2031960 closes #35588 Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2019-07-25[MERGE] forward port branch 12.0 up to b82df99d7a8Christophe Simonis
2019-07-22[FIX] mail: form activity widget: do not close activity popover on clickJulien Castiaux
Create an activity in a chatter, mark it as done, click inside the textarea, the popover is automatically closed. The `click` trigger both opens and closes the popover on click. opw-2028399 closes odoo/odoo#34982 Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2019-07-23[MERGE] Forward port of 12.0 to saas-12.2 up to 5e4c1b370123deeMartin Trigaux
2019-08-01[FIX] mail: use correct translation methodkarol1985
_() is in python _t() is for javascript closes odoo/odoo#35329 Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
2019-07-24[FIX] mail: scrollbar for emojiJulien Castiaux
Open discuss on mobile phone, click on the smiley icon, not all smileys are visible on screen. opw-2030315 closes odoo/odoo#35146 Signed-off-by: Julien Castiaux <Julien00859@users.noreply.github.com>
2019-07-26[MERGE] forward port branch saas-12.2 up to 1d6d790513eChristophe Simonis
2019-07-24[MERGE] Forward port of saas-12.2 to saas-12.3 up to 860ab5a1c28baMartin Trigaux
closes odoo/odoo#35119 Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
2019-07-18[FIX] mail: close thread window button isn't clickable easilyRomeo Fragomeli
Before this commit, the close button on the thread window was too small to click on it. The padding of the button wasn't over the all available area. After this commit, the padding of the close button is higher and so the user can target it more easily on a small screen. We had to reduce the padding of the parent. Step to reproduce: - Open the "Discuss" app - Go to the "Channels" tab - Open a channel - Try to tap on the close button on the top left window Task ID : 2033828 closes odoo/odoo#34977 Signed-off-by: Adrien Dieudonné (adr) <adr@odoo.com>
2019-07-16[FIX] mail: re-render discuss on message_fetch with typing membersAlexandre Kühn
When (un)registering a typing members of a channel, the discuss sidebar must be re-render. This is necessary in order to display the typing indicator next to discuss items, i.e. '...'. When receiving a message from a typing member, this person no longer becomes a typing member. Before this commit, for each new messages, the discuss sidebar was re-rendered. This happens due to unregistering the author from the typing members of the channel, even when the author was not a typing member in the first place. With this commit, when the list of typing members of a channel does not change, the discuss sidebar won't re-render and slow down the whole UI. opw-2035443 closes odoo/odoo#33616 Signed-off-by: Martin Geubelle (mge) <mge@openerp.com>
2019-07-16[FIX] mail: auto-update out-of-office info on im_status changeAlexandre Kühn
Before this commit, chat window's out-of-office info did not change when direct partner's `im_status` is/was on 'leave'. Users had to reload page to see updated out-of-office info. Task-ID 2007663
2019-07-16[FIX] mail: notify other tabs on document thread message postAlexandre Kühn
Before this commit, most new messages added to the mail manager were handled as if recently posted from a document thread. As a result, it was frequently setting a new item in the local storage to notify other tabs from these new messages. The intent of this behaviour is to notify other tabs of newly posted messages in a document thread, without using a longpolling notification. That means this logic should only apply on messages that have been recently posted on a document thread. Sometimes, this issue was breaking the local storage on Firefox. It showed the error message "Quota Exceeded Error" whenever `setItem` was used, even when items were removed beforehand. The capacity of the storage was only a few Kbs on this domain, far from reaching the maximum capacity. We think that this error comes from the concurrent `setItem` on multiple tabs, but this is very hard to reproduce. This commit fixes the issue by limiting the `setItem` to the tab that really posted the message. Tests have been adapted in order to pass only with this fix.
2019-07-12[FIX] mail: message_unsubscribe takes 3 parametersNicolas Seinlet
don't know why you try to use 4 parameters with a function that requires 3 of them: https://github.com/odoo/odoo/blame/saas-12.3/addons/mail/models/mail_thread.py#L2283 closes odoo/odoo#34639 Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
2019-07-12[MERGE] Forwardport of saas-12.2 to saas-12.3 up to 01365a3f625c9e7Martin Trigaux
closes odoo/odoo#34747 Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
2019-07-11[FIX] mail: removes unsupported usage of formData.deleteThanh Dodeur
This commit replaces the usage of `formData.delete()` as it is not supported by Internet Explorer and Safari Mobile. closes odoo/odoo#34787 Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2019-07-10[FIX] mail: show old messages /leave w/o reloadNicolas Lempereur
Before this commit, if we had a livechat channel with a user and: - in backend use command "/leave" to leave and unpin conversation - [do not reload the page (or there is no issue)] - then the user sends a new message The chat window opens just with the new message. Fetched previous messages are ignored due to being already in the mail manager, and links between these messages and the threads were never updated. With this commit, when fetching messages that are already in the mail manager, these messages are linked again to threads. This commit also fixes an issue in which messages moderated with status "accepted" were not correctly removed from the moderation mailbox. This problem occurred after the fix on re-linking messages to threads. opw-2031270 closes #34761 Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2019-07-09[FIX] mail: rename direct message chatAlexandre Kühn
Before this commit, when a direct message chat was renamed, it crashed with the following error: `TypeError: Cannot read property 'toLowerCase' of undefined` This occurs because the name of the dm chat changed from the RPC response. However, no new name was provided, thus it sets its name to `undefined`. Test has been adapted in order to reflect that the server does not response with new name after RPC `channel_set_custom_name`. closes odoo/odoo#34641 Signed-off-by: Martin Geubelle (mge) <mge@openerp.com>
2019-06-27[MERGE] forward port branch saas-12.2 up to 465909f0fdeChristophe Simonis
2019-06-27[MERGE] forward port branch 12.0 up to cd21c016b06Christophe Simonis
2019-06-21[MERGE] forward port branch saas-12.2 up to 8747d72f1efChristophe Simonis
2019-06-21[MERGE] forward port branch 12.0 up to 0e72b983c35Christophe Simonis
2019-06-24[FIX] mail: keep chat window hidden on receiving new messageAlexandre Kühn
Before this commit, when receiving a new message from a hidden chat window, it was making it visible. Because of this, if we had focus on any other window, the focus was lost. Even more annoying, if we had focus on the left-most visible chat window, it moved to hidden menu, so that new chat window takes its place. This commit fixes the issue by keeping new chat windows hidden on receiving new messages, in case there is not enough available space. Task-ID 2026101 closes odoo/odoo#34291 Signed-off-by: Martin Geubelle (mge) <mge@openerp.com>
2019-07-18[IMP] mail: Add simple partner notificationRémi Rahir
2019-07-17[FIX] mail: tabs should appear on mobileAdrien Dieudonne
Since Chrome 74 or 75, tabs in Discuss suddenly disappeared. Normally, these buttons are displayed at the bottom of the screen when you open the Discuss app. So we had to review this part and it seems more logical to override the "height: 100%" property with "min-height: 0". By doing this, the flex box element can grow from this size. We also set flex-shrink to 1 to reduce the content with a scroll-bar to let enough space to the other static elements (flex 0 0 auto). Note that these rules are only applied on mobile. opw-2030433 closes odoo/odoo#34947 Signed-off-by: Pierre Paridans <pparidans@users.noreply.github.com>
2019-06-14[MERGE] forward port branch saas-12.2 up to 498b4b4350dChristophe Simonis
2019-06-14[MERGE] forward port branch 12.0 up to 4870251f0b0Christophe Simonis
2019-06-13[MERGE] forward port branch 11.0 up to ec8c66991d0Christophe Simonis