Repository navigation
Remove fonts-droid-fallback from the headful image - #492
Merged
Merged
Conversation
ulziibay-kernel
approved these changes
Oct 27, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Removes
fonts-droid-fallbackfrom the headful image's font install list.The package installs
DroidSansFallbackFull.ttfand a fontconfig rule (65-droid-sans-fallback.conf) that puts Droid Sans Fallback ahead of Noto CJK forsans-serif. With the rule active, Chromium draws Chinese and Japanese text with Droid instead of Noto, which changes how that text measures and renders. Latin, emoji, Thai, Arabic and Devanagari text are unaffected.That rendering difference is enough for at least one bot-detection vendor to block headful sessions. A site's login POST was rejected with a 403 at the edge from headful browsers, while headless browsers with the same IP, proxy and stealth settings were accepted.
How the cause was isolated
All tests ran in live browser VMs with the same session and IP. Each row is a fake login attempt on the affected site.
65-droid-sans-fallback.confdisabledRuled out: screen size, hover/pointer media features, keyboard layout, Chromium launch flags, and how the form was filled.
fonts-noto-cjkis still installed, so CJK text keeps rendering, now with Noto, which matches the headless image. The rest of the font set added in #165 is unchanged.Notes
--no-install-recommendsis used, and anapt-get install -ssimulation of the final stage's packages onubuntu:22.04shows nothing else pulls infonts-droid-fallback, so this removes both the font file and the rule.Note
Low Risk
Single-package removal from a font install list with documented bot-detection motivation; CJK coverage remains via Noto, pending staging validation on the built image.
Overview
Stops installing
fonts-droid-fallbackin the chromium-headful image so Droid Sans Fallback and its fontconfig rule (65-droid-sans-fallback.conf) are no longer present. That rule had been prioritizing Droid over Noto CJK forsans-serif, which changed how Chinese/Japanese text measures in Chromium and was enough for at least one bot-detection vendor to block headful logins while headless stayed accepted.fonts-noto-cjkand the rest of the desktop font set are unchanged; CJK should render via Noto, closer to headless. GPU headful images that extend this Dockerfile inherit the change.Reviewed by Cursor Bugbot for commit 14fa042. Bugbot is set up for automated code reviews on this repo. Configure here.