joelekstrom / fastmate

A native Fastmail-wrapper for Mac.
MIT License
192 stars 12 forks source link

Attached PDF printing not working #67

Closed sddgit closed 2 years ago

sddgit commented 2 years ago

When I click on a PDF attachment, it is displayed fine. But when I go to print, the page is blank, apart from header and footer (in both the thumbnail in the Print dialog and when printed). This was an issue that was fixed previously (#40), but it seems to be back. Running Monterey and latest Fastmate if that makes any difference.

joelekstrom commented 2 years ago

Hi, thanks for the bug report. This seems to be because Fastmail has changed the way they display inline PDF's, so Fastmate can no longer tell by the URL that a PDF is being viewed, unfortunately. Will need to investigate further to see if there's any reasonable way to fix this

joelekstrom commented 2 years ago

I made an attempt to fix it, can you see if this build solves the issue for you? For me, all PDF printing is broken from Fastmail right now, even on the web UI both in Safari and Chrome, so I think they may have some issues too.

Fastmate-1.8.2-beta.zip

sddgit commented 2 years ago

Yeh, 1.8.2 now behaves the same as web UI in Safari - just shows and prints the top 1/3rd of the page. I didn't realise Safari version was broken too!

EDIT: Just raised a ticket with Fastmail.

joelekstrom commented 2 years ago

Great, thanks! It sounds like 1.8.2 should solve the inital issue at least. Let's wait a bit and see what Fastmail replies before I ship an updated version. I reported it too.

The change in 1.8.2 uses the Safari print functionality just like Fastmail web, so it would have the same issues that the website has.. Previously Fastmate would print PDF's manually by checking the current URL which is no longer possible.

sddgit commented 2 years ago

Support said that since they don't have any other reports, it must be a configuration issue on my system. They said to try Firefox, Chrome etc. but I don't see the point. If it doesn't work on Safari it needs fixing. I’ve tested on 4 Macs now and they're all the same. Do you see the same issue there? When you print a PDF attachment do you only see about the top 1/3rd of the page? Thanks for the help.

joelekstrom commented 2 years ago

Yep. Have the same issue in both Safari and Chrome (and Fastmate). I got the same answer to my report but sent them this thread and they said they have forwarded it to their developers now 👍

sddgit commented 2 years ago

Got this response:

“ Our developers have been able to reproduce this, but I'm afraid there is not a timeline as to when they will be able to fix this for all users. It is contained within a list of known issues to work on. ”

joelekstrom commented 2 years ago

Yeah, got something similar. That's good! Perhaps I should ship 1.8.2 so Fastmate is ready to print when the time comes

sddgit commented 2 years ago

Yes, I think that’d probably worthwhile. Maybe with the new icon discussed in issue #39? 😉

joelekstrom commented 2 years ago

Hi again @sddgit! Here's a release candidate for 1.8.2 (with new icon too!) I'd love if you could help me test your cases a bit more before I roll it out.

I changed the logic a bit so that it now uses two different ways of printing:

  1. If it thinks an attachment is open (it's just an educated guess since Fastmail moved to anonymised file names) it uses the "modern" WKWebView system to print, otherwise it uses:
  2. A legacy, deprecated way of printing with WebView (that it has used up until now). However, the "modern" way is not very good, and does not allow customising headers or footers, so I prefer this legacy way and it will try to use it whenever it can.

Since Fastmate can no longer determine what type of attachment is open because of anonymised file names, it attempts the modern way of printing since that can handle PDF attachments internally.

This covers most printing cases (I hope). However, Fastmail is still having problems printing PDF's so they're still gonna be broken in Fastmate until that's fixed on their side.

Fastmate.zip

sddgit commented 2 years ago

Thanks for that. I will test asap. Shouldn’t be too long…

Regards,

Steve

On Thu, 10 Feb 2022, at 6:54 PM, Joel Ekström wrote:

Hi again @sddgit https://github.com/sddgit! Here's a release candidate for 1.8.2 (with new icon too!) I'd love if you could help me test your cases a bit more before I roll it out.

I changed the logic a bit so that it now uses two different ways of printing:

  1. If it thinks an attachment is open (it's just an educated guess since Fastmail moved to anonymised file names) it uses the "modern" WKWebView system to print, otherwise it uses:
  2. A legacy, deprecated way of printing with WebView (that it has used up until now). However, the "modern" way is not very good, and does not allow customising headers or footers, so I prefer this legacy way and it will try to use it whenever it can. Since Fastmate can no longer determine what type of attachment is open because of anonymised file names, it attempts the modern way of printing since that can handle PDF attachments internally.

This covers most printing cases (I hope). However, Fastmail is still having problems printing PDF's so they're still gonna be broken in Fastmate too.

Fastmate.zip https://github.com/joelekstrom/fastmate/files/8039054/Fastmate.zip

— Reply to this email directly, view it on GitHub https://github.com/joelekstrom/fastmate/issues/67#issuecomment-1034597527, or unsubscribe https://github.com/notifications/unsubscribe-auth/ASF7JXB3IPQHMNFVNP53FJLU2NVKNANCNFSM5NQZR4XQ. Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub. You are receiving this because you were mentioned.Message ID: @.***>

sddgit commented 2 years ago

It seems to at least work as well as native Safari. Most PDF’s just print the top third of the page. Printing the body of emails seems fine, and includes header and footer. For some reason, some PDFs don’t load at all, but the native Safari view is the same. Hope this helps.

Regards,

Steve

On Thu, 10 Feb 2022, at 6:54 PM, Joel Ekström wrote:

Hi again @sddgit https://github.com/sddgit! Here's a release candidate for 1.8.2 (with new icon too!) I'd love if you could help me test your cases a bit more before I roll it out.

I changed the logic a bit so that it now uses two different ways of printing:

  1. If it thinks an attachment is open (it's just an educated guess since Fastmail moved to anonymised file names) it uses the "modern" WKWebView system to print, otherwise it uses:
  2. A legacy, deprecated way of printing with WebView (that it has used up until now). However, the "modern" way is not very good, and does not allow customising headers or footers, so I prefer this legacy way and it will try to use it whenever it can. Since Fastmate can no longer determine what type of attachment is open because of anonymised file names, it attempts the modern way of printing since that can handle PDF attachments internally.

This covers most printing cases (I hope). However, Fastmail is still having problems printing PDF's so they're still gonna be broken in Fastmate too.

Fastmate.zip https://github.com/joelekstrom/fastmate/files/8039054/Fastmate.zip

— Reply to this email directly, view it on GitHub https://github.com/joelekstrom/fastmate/issues/67#issuecomment-1034597527, or unsubscribe https://github.com/notifications/unsubscribe-auth/ASF7JXB3IPQHMNFVNP53FJLU2NVKNANCNFSM5NQZR4XQ. Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub. You are receiving this because you were mentioned.Message ID: @.***>

joelekstrom commented 2 years ago

That helps a lot! Thank you!

joelekstrom commented 2 years ago

Fixed in v1.8.2