@daveharas has corroborated this, and all credit to @guiltydoggy for digging into the cause.
The workaround discussed in that thread (changing the timezone at install time, then changing it back to UTC) seems to hold for a time, and then the behaviour reasserts itself. I thought it was associated with subsequent runs of rpm-ostree commands, but that doesn’t seem to hold true all the time.
I have Silverblue 35, and yesterday I decided to rebase to Kinoite to give it a look. I saw exactly this issue. It looked like all the apps were missing and those already pinned had missing icons. (I’m in the UK, currently UTC.)
I reverted back to SB pretty quickly on the assumption that I’d messed up the rebasing, but in retrospect perhaps I was seeing what you report here.
Fedora Kinoite 36 has the same issue. Europe/London timezone. Trying to get my brother to switch from popOS after his install exploded after an update. Changing timezone fixes it temporarily but it’s really not a solution.
I spent a little time today to try to track this down some more and I may have found out what’s happening. I’ve only taken 1 class in computer programming 20 years ago, so I may be completely wrong, so take this with a large grain of salt.
I believe the issue to be with the KDE System Configuration Cache. I thought this because there are a number of errors during login that look like:
kf.service.services: KServiceTypeTrader: serviceType "KCModuleInit" not found
kf.service.services: KApplicationTrader: mimeType "inode/directory" not found
That will return 0, and thus cause the entries to not be created.
Not sure what should be done about that in the KDE codebase. But I think I have a work-around for Kinoite users - you can temporarily fix your session by running the following commands:
$ timedatectl set-timezone America/Chicago
$ kbuildsycoca5
$ timedatectl set-timezone UTC
Couple things to note:
This isn’t a permanent fix. These commands can be run in case you forget to change your timezone before running an rpm-ostree command for example.
timedatectl needs admin privileges to run, but kbuildsycoca5needs to run as your own user - it won’t work when run as root/with sudo. So if you want to set up your own systemd service or something for this, keep that in mind.
Unfortunately this is just a hack still, so your system logs will still be spammed with kf.plasma.core: findInCache with a lastModified timestamp of 0 is deprecated
Bad news, there still seems to be a bunch of “findInCache with a lastModified timestamp of 0 is deprecated” messages in the journal, so that bug is not addressed by this (I mistakenly thought these issues were related, but it seems they are not - sorry about that).
At least now the system is usable in UTC timezone; just has some extra journal spam.