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

10 Likes

Great news! Thanks for the detailed description.

1 Like

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.

2 Likes

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

1 Like

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]>>

1 Like

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?

2 Likes

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…

2 Likes

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

2 Likes

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

1 Like