diff options
| author | Thibault Delavallée <tde@openerp.com> | 2013-12-05 11:05:34 +0100 |
|---|---|---|
| committer | Thibault Delavallée <tde@openerp.com> | 2013-12-05 11:05:34 +0100 |
| commit | 896fab1b44ba3b9332ccae5d3a167d24cfdbb854 (patch) | |
| tree | e86ec393369ac2230036aa2c137702eaed6ef3e9 /addons/web_graph/static/src | |
| parent | 4ab77759cc74c7b9f833c291fc23908dde4f6fd1 (diff) | |
| parent | 4f5d36a464fa7f1a4536677f0b5e12fd20841acb (diff) | |
[IMP] [FIX] mail: mail_thread: routing: check for exact message_id.
When processing an incoming email, we try to find a parent for the email based on references. Before this merge, it was done using openerp-<model-<res_id> pattern. However it is buggy. Indeed having two OpenERP sending emails to each other leads to messages being inserted in a wrong thread (model and res_id of the first OpenERP for both instances).
Now we search for an exact match between the references and the stored message_ids. As each message_id can be considered as unique the number of collisions is lessened. This won't cause any issues with OpenERP >= 7.0.
A compatibility mode is implemented for <= 6.1: as in those versions the message_id is not stored, we fall back on the previous behavior for records having messages without message_id. This indicates that the record was created before 7.0.
Tests have been updated accordingly, and a test added for the compatibility mode.
bzr revid: tde@openerp.com-20131205100534-2rlyun8wqng3qa6f
Diffstat (limited to 'addons/web_graph/static/src')
0 files changed, 0 insertions, 0 deletions
