I've noticed this behavior in the iOS mail client for a long time, and it looks like Mail.app in Mavericks may have started this "helpful" behavior as well. I get about 30-40 email reports from Piwik each week. When I scroll through them the Visits Summary graphic gets cached and is the same image in every email. Im attaching two example screenshots. It seems the mail client is caching the inline attachment.
Looking at the email itself, I see that the filename is static:
Content-Disposition: inline; filename="Visits Summary.png"
Im going to make a guess that if a random string were appended to that filename and modified in the HTML body that it would no longer have this caching issue.
In 108c105: fixes #4250
I was thinking this change would have gotten into the 2.0.x release but as of 2.0.2 it is not there. Image names still use the same file name and the mail client still caches them. Can this get added into the release code?
This change has been released, see https://github.com/piwik/piwik/blob/2.0.2/plugins/ScheduledReports/API.php#L912
If it's still not working, please provide the necessary data to investigate the issue (such as the relevant mail source code fragments).
@Julien is the 'cid' the fix? where is it used in the email source?
Removing owner from tickets. from now on, I suggest we assign tickets to ourselves for cases when we we plan to actively work on them in the coming days/weeks. let's discuss if needed during our team call.
I can confirm the bug I could reproduce, eg. the source code is:
=0A </table>=0A <br/>=0A <a style=3D"text-decoration:no=
ne; color: rgb(126,115,99); font-size: 9pt;" href=3D"#reportTop">=0A =
Retour haut de page=0A </a>=0A<h2 id=3D"VisitsSummary_get" style=
=3D"color: rgb(126,115,99); font-size: 11pt;">=0A R=C3=A9capitulatif=
des visites=0A</h2>=0A=0A <img alt=3D""=0A =
height=3D"200"=0A width=3D"700"/>=0A =0A =
the image reads: cid:VisitsSummary_get and the cache buster is missing.
The fix I committed changes the filename but not the cid indeed.
At line [https://github.com/piwik/piwik/blob/2.0.2/plugins/ScheduledReports/API.php#L924] I would suggest :
$additionalFile['cid'] = $additionalFile['filename'];
html_report_body.tpl would also need to be updated.
This would need to be tested on different mail clients as Iam not sure we can set arbitrary characters in the cid attribute.