An Update on Missing Images in PDF Reports

Hi everyone, we wanted to give you an update on the status of this recurring issue with images not appearing in your reports.

To begin with, there are two pieces of good news. The first, is that as of May 13th we believe weโ€™ve resolved the last of the major causes here. Secondly, we now have much better logging in place so that any future problems should be much quicker to identify and address.

Most of you know that weโ€™ve been trying to transition away from a service called HTML 2 PDF Rocket as part of our ongoing transition to running on google services. Initially we believed this was likely the cause of the problems, but we had some reports of images missing before we started to rollout this change, and also reports of missing images even after an account was switched back to HTML 2 PDF Rocket.

We identified two major root causes of why images would not appear.

The first affected both the old and new rendering engines, and was because of a 5 second timeout in our CDN that handles resizing of images for us. We worked with them to increase the timeout which we saw drastically reduce the number of 504 errors. We also dug further, and have found 6 different causes for why images were taking so long to load that our CDN was timing out. Fixing these will reduce the chance of timeouts when generating reports, and should result in quicker image loads in apps. Two of these specifically related to using the Google Drive storage provider have already been fixed, and weโ€™ve seen a positive impact from those changes.

The second issue was a result of our transition away from HTML 2 PDF Rocket. In essence the new rendering engine was being throttled by an internal service when trying to fetch images from AppSheet. This behavior was designed to prevent abuse, and would start dropping requests if there were too many for the same host already queued up. This is why weโ€™d see reports of this happening in batches, and why people with a large number of images were more likely to have images missing. Once we identified this and bumped the timeout of our CDN, we temporarily switched some accounts back to HTML 2 PDF Rocket until we could get a fix out for this.

This was resolved on May 13th when we rolled out a change to use a similar service for fetching resources specifically from our own host (appsheet.com). Since then we havenโ€™t seen any logs indicating that requests were being dropped because there were too many queued up.

Now that the issue has been resolved, weโ€™ve moved back most of the accounts that we temporarily switched to HTML 2 PDF Rocket over the past couple weeks after we were confident the last problem was specific to the new service. There are still a handful of accounts which were moved back early on that over the next few weeks weโ€™ll be switching back to the new rendering engine as we complete our transition away from HTML 2 PDF Rocket.

We believe these two problems were the cause of the majority of cases where images would not appear in PDF reports. If youโ€™re still experiencing this problem, please reach out to support so we can investigate further.

Thanks,
Greg

11 13 1,090
13 REPLIES 13

Great news! Thanks for the detailed description.

Hi @Greg_Denton Can you please confirm if we are still with the HTML 2 PDF Rocket?
ID: 1272826
The AppSheet Team switched us back to this old service. Not because of missing images, but because margins are different and we where not able to build the desired PDF with the new engine.
So we need to stay with the old engine, or AppSheet has to offer the possibility to set the margins.
Can you give me some insight?

Hi, yes account 1272826 is still on HTML 2 PDF Rocket. I really appreciate you providing the context of the issue with the margins. Iโ€™ll follow up and see what the plan is for this.

Hi @Greg_Denton as we read on feature release note, the custom margins will come. Very cool

Will you inform us that are still on the old PDF renderer before migration?

Yes, we should have some communication before switching over the remaining accounts.

Hi @Fabian I wanted to follow up. You should have received an email earlier this month letting you know, but all of the remaining accounts were switched to the new renderer on August 18th.

I hope you were able to use the custom margins to get the result you needed!

Hi @Greg_Denton thank you very much. Yes, by using the custom margins we where able to get the same result as with the old renderer. Thatโ€™s perfect!

@Greg_Denton weโ€™ve been seeing some issues with XY background layer images not rendering. Could this be part of this?

The specific issue that this post is referring to is with images that are served and referenced through AppSheet itself.
So if these background layer images are say part of the template itself, or youโ€™re explicitly referencing some other URL, then itโ€™s probably not related.
If youโ€™re referencing these images like you reference other columns in the template like below, then yes what youโ€™re seeing was probably caused by one of the things mentioned above.

<<[Photo_Column]>>

Grant, I donโ€™t think XY background image rendering is going thru the layer Greg mentioned.
However, it could have been affected by general delays in image serving thru CloudFlare.

Is this the issue Adam was trying to help with a while ago? Or something new?

This is a new issueโ€ฆ Over the last week or so weโ€™ve been having general issues getting the images l background images to renderโ€ฆ Lots of waiting, poking around, and then they pop inโ€ฆ (Even on desktop or strong wifi)

The other issue still needs to get worked on. Users reporting battery lasting less than 3hrs on a an iPadโ€ฆ 95% of the usage coming from Appsheetโ€ฆ

Hi Grant, could you file a ticket on the image issue please and request assignment to me. Thanks. As much of detail on the repro would help. You may need to add me (praveen@appsheet.com) to the app if I have to run the app to see the issue. Thanks

Sure, thing. As soon as I get back in front of my computer Iโ€™ll shoot something your way.