Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
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

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?

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

@mattab
Owner

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

@mattab
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.

@mattab
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.

@JulienMoumne
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.

@mattab mattab removed P: low c: Core labels
@sabl0r sabl0r referenced this issue from a commit in sabl0r/piwik
@JulienMoumne JulienMoumne fixes #4250 108c105
@mattab mattab modified the milestone: Mid term, Short term
@mattab mattab added the c: Usability label
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.