-
Notifications
You must be signed in to change notification settings - Fork 72
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Weird error re fonts #89
Comments
Oouf, not good! Can you share the test code with the assert and a backtrace? I'm thinking it could either be a cache issue on ci or some font related package Debian upstream that changed in a breaking fashion. |
not really, because this exception happens when pixel wise comparing pdfs (new and ref). when inspecting the diff manually I found fonts display differently and utf8 chars don't display at all. precisely: ⚠ is not showing anymore in an email template rendered to pdf. I already tested puppeteer versions (all failing) as well as checked if chrome(driver) versions changed (didn't). pdfs rendered via phantomJS or xhtml2pdf don't fail. Do you have an idea how we/I could narrow down the source of the failure? |
Can you pin the old image sha to verify that the new version of the image causes the regression? That utf8 characters in fonts are suddenly missing with puppeteer rendering could indicate that something font related changed in the Debian slim base image |
will do. this is the new sha: https://hub.docker.com/layers/nikolaik/python-nodejs/python3.10-nodejs16-slim/images/sha256-a1de40afcac941a68d09fb32182e5687e126e0235ab3ad25ffe66f5b3fd5453a?context=explore ; but how to retrieve the old one? |
like that? |
I can confirm that with |
You can pin that image sha as a workaround, but not sure how to solve your concrete issue without more details. I did a bit of digging and found that the python base image was was updated to debian bookworm ref docker-library/official-images#14854 # old
$ docker run -it nikolaik/python-nodejs:python3.10-nodejs16-slim@sha256:83b53ec0f40e5a7815a8d59ad0f06826a0c0d4063ac652293a8fc64ac7bca957 grep VERSION /etc/os-release
VERSION_ID="11"
VERSION="11 (bullseye)"
VERSION_CODENAME=bullseye
# new
$ docker run -it nikolaik/python-nodejs:python3.10-nodejs16-slim@sha256:e44c450085a2a115d38ffa7f3a1cebde287501fadce2bc4843e84d4231f2df62 grep VERSION /etc/os-release
VERSION_ID="12"
VERSION="12 (bookworm)"
VERSION_CODENAME=bookworm This means quite a few packages recieve updates that are potentially breaking. Using
I'll look into pinning the distro in the python base image, defaulting to bookworm going forward. |
good morning, I strongly appreciate your precise information. generally speaking, in terms of future upgrades, if either Python or Debian go that way, staying with the old code/env on our side, is not a good idea I'd say. so probably we will have to accept that change and adapt our pdf rendering logic, so tests will pass again. what do you think? |
Sorry for not updating you! I'm glad we agreed on a path forward. Did you manage dot solve the issue with the differing fonts and failed rendering of utf-8 characters in your PDFs? |
good morning, as of now we're running with the sha-pinned version:
|
bookworm has been the default for a while. Hope you have been able to migrate <3 |
dear, my pdf assertion tests started failing today. stack is chrome, chromedriver, puppeteer. I checked the stack and the only thing changed since yesterday is your update to tag
python3.10-nodejs16-slim
in docker. I checked your commits and see no reason why this is failing. the assertion error in the tests is related to fonts. any idea?The text was updated successfully, but these errors were encountered: