The following changes were implemented:
1 - Added Failed Message component and related components to reuse the
Message component when rendering failed messages. This allows us to
dispose of the messagefailed JS model altogether, since failed messages
are now just regular messages that were marked as failed.
2 - Added Owl reactivity to failed message actions so that browser does
not have to be reloaded each time a message is marked as reviewed or
resent.
3 - Fixed 'Retry' and 'Set as reviewed' flows for failed messages.
4 - Fixed `Failed sent messages` filter on models by overriding `get_view`
instead of `_fields_view_get`
5 - Refactored folder structure to more closely resemble the `mail`
module's folder structure.
6 - Refactored module to utilize `Command` as a means to create, write,
etc. instead of `[0, ...]`, `[4, ...]`.
7 - Fixed and added unit tests.
8 - Removed dead/unused code from `v15`.
Refine which mail tracking record is allowed to see. We can rely on the
ACLs of the related records so we minimize inconvenient message subject
leaks.
A regular user can read these mail.tracking.email records:
- Those with a linked mail.message that the user can read
- Those with a linked mail.mail that the user can read
- Those with no message/mail link but a linked partner that the user can
read.
- Those with no linked records.
TT31399
Previous this commit, failed messages widget data wasn't updated properly when you
set as reviewed/retry the last message displayed.
This commit resolve the problem and improves the "set as reviewed" action to avoid
multi-user inconsistencies (don't toggle the value).
- Any model inheriting from mail.thread will have a filter available to
obtain records with errors in their messages trackings.
- The messages can be marked as done to avoid false positives when the
issues are solved.