Thanks for preparing a draft! Comments inline. Quoting Jan Alexander Steffens (heftig) (2025-01-15 13:40:30)
Apps using the incoming `pango 1.56.0` may fail to render text or crash if the user has also run apps based on Electron 29 or older.
To immediately mitigate the issue, delete `~/.cache/fontconfig` or run `fc-cache`. However, further use of old Electron apps may cause the problem
This should be `fc-cache -f` (just `fc-cache` is insufficient).
to reappear.
We recommend
- switching newer versions of the Electron applications that use at least Electron 30, - using Flatpak releases of the applications, or - giving the applications their own XDG cache directory by running them with `XDG_CACHE_HOME=${HOME}/.cache/appname` in the environment.
Suggestion: Consider replacing "appname" with "<appname>" or "$appname" to clarify that those paths should be application-specific, not literally "appname". (Even though, on second thought, a shared second cache directory may actually work too, as long as only the right set of applications is added to it.)
### Technical details
Pango 1.56.0 depends on "font wrapper" information provided by Fontconfig 2.15.0 in order to determine whether it supports a font.
Electron 29 and older are shipping a Git snapshot of Fontconfig that has the same cache version (`9`) as Fontconfig 2.15.0. but lacks the font
Typo: Remove period after Fontconfig version.
wrapper information.
The Electron version of Fontconfig fails to parse the cache files generated by our version of Fontconfig. It then regenerates them without the font wrapper information.
Our Fontconfig still considers these cache files valid, but the missing font wrapper information leads to Pango failing to find any valid fonts.
This issue is being tracked at [pango#1]( https://gitlab.archlinux.org/archlinux/packaging/packages/pango/-/issues/1).
Thanks again!