Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Loading…

Visit summary graph is cached in mail client #4250

Open
anonymous-piwik-user opened this Issue · 9 comments

3 participants

Anonymous Piwik user Julien Moumné Matthieu Aubry
Anonymous Piwik user

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-Type: image/png
Content-Transfer-Encoding: base64
Content-ID: <VisitsSummary_get>
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.

Anonymous Piwik user

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?

Julien Moumné
Collaborator

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).

Matthieu Aubry
Owner

@Julien is the 'cid' the fix? where is it used in the email source?

Matthieu Aubry
Owner

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.

Matthieu Aubry
Owner

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                 =
                   src=3D"cid:VisitsSummary_get"=0A                    =
            height=3D"200"=0A                width=3D"700"/>=0A    =0A =

the image reads: cid:VisitsSummary_get and the cache buster is missing.

Julien Moumné
Collaborator

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.

Matthieu Aubry mattab removed P: low c: Core labels
Philip Taffner sabl0r referenced this issue from a commit in sabl0r/piwik
Julien Moumné JulienMoumne fixes #4250 108c105
Matthieu Aubry mattab modified the milestone: Mid term, Short term
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.