Skip to content

test: add avatar-audit to catch #353-class dinosaur-avatar regressions - #1308

Open
Danathar wants to merge 2 commits into
projectbluefin:testingfrom
Danathar:fix/353-dinosaur-avatars-audit
Open

test: add avatar-audit to catch #353-class dinosaur-avatar regressions#1308
Danathar wants to merge 2 commits into
projectbluefin:testingfrom
Danathar:fix/353-dinosaur-avatars-audit

Conversation

@Danathar

@Danathar Danathar commented Aug 7, 2026

Copy link
Copy Markdown

Summary

Closes #353 — Bluefin's dinosaur-themed avatars never appear in the GNOME
Users account-picture picker on Dakota.

Why #353 is still open

The fix was already written and merged in #1241, but it landed on main
(the release bookmark, fast-forwarded from testing and never a valid PR
base per docs/workflow.md) instead of testing, so it never shipped in a
built image. elements/bluefin/user-avatars.bst exists on upstream/main
but not on upstream/testing.

This PR cherry-picks that exact, already-reviewed 3-file change
(c5828e0, byte-identical to #1241) onto testing, and adds a CI check so
this class of "shipped but unreachable" bug gets caught before merge instead
of silently regressing again.

Note: #1302 independently re-applies the same cherry-pick onto testing.
This PR is equivalent for that part; the addition here is the avatar-audit
Justfile recipe below. Maintainers should pick whichever PR they prefer for
the base fix — happy to close this in favor of #1302 if the audit recipe is
cherry-picked over there instead, or vice versa.

What's new: just avatar-audit

Added a swap-audit-style Justfile recipe, wired into publish.yml right
after swap-audit, that inspects the built image rather than just the
source tree:

  • Bluefin avatar art actually exists under
    /usr/share/pixmaps/faces/bluefin/*.jpg.
  • /etc/dconf/profile/user reads system-db:distro at all.
  • The 07-dakota-avatar-directories keyfile is present.
  • Every directory listed in avatar-directories exists in the image, has
    .jpg faces, and is actually present in the compiled
    /etc/dconf/db/distro (catches dconf update ordering regressions, not
    just keyfile-not-installed).

This matters because org.gnome.desktop.interface avatar-directories
replaces GNOME's default faces dirs rather than falling back to them
(cc-avatar-chooser.c in gnome-control-center, um-photo-dialog.c in
gnome-initial-setup both try configured dirs first and only fall back to
<datadir>/pixmaps/faces if that yields zero faces) — so a stale, typo'd,
or dropped override doesn't degrade to stock icons, it silently empties the
picker entirely. That failure mode is invisible from just bst artifact list-contents alone, which is exactly what let #353 go unnoticed even
though the art was correctly ingested the whole time.

Also documented this pattern in docs/skills/oci-layers.md under Lessons
Learned per the repo's self-improvement mandate — "files present in the
built image" and "files GNOME will actually discover" are different claims,
and this is the second time that gap has bitten this repo (see the FDSDK
GL-merge-symlink lesson just above it).

Testing

# Settings → Users → click your account picture → dinosaur avatars should
# appear in the picker (or on a fresh install, gnome-initial-setup's
# account page should offer them).
gsettings get org.gnome.desktop.interface avatar-directories
# expect: ['/usr/share/pixmaps/faces/bluefin']
ls /usr/share/pixmaps/faces/bluefin/*.jpg
  • I am using an agent and I take responsibility for this PR

castrojo and others added 2 commits August 7, 2026 21:24
…rojectbluefin#1241)

gnome-control-center's avatar chooser (cc-avatar-chooser.c) and
gnome-initial-setup's account page only enumerate files directly inside
<datadir>/pixmaps/faces/ - they never recurse into subdirectories.
bluefin-common ships its dinosaur-themed avatars in a bluefin/ category
subdirectory (/usr/share/pixmaps/faces/bluefin/*.jpg), so both UIs
silently fall back to Fedora/GNOME's near-empty stock faces dir and
Bluefin's avatars never appear on Dakota.

Set org.gnome.desktop.interface avatar-directories via a distro dconf
override to point both UIs at the bluefin/ subdirectory, matching the
existing dconf-override pattern used elsewhere in this repo.

Closes projectbluefin#353

Assisted-by: Claude Sonnet 5 via GitHub Copilot

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…tar regressions

Cherry-picks the already-reviewed avatar fix from projectbluefin#1241 (which merged into
main, the release bookmark, instead of testing, so it never shipped) onto
testing where content PRs actually belong.

Adds `just avatar-audit`, wired into publish.yml next to swap-audit, to
verify the fix actually holds in the built image: the Bluefin avatar art is
present, the avatar-directories dconf override reaches the compiled distro
db, and every directory it lists exists and has faces. avatar-directories
replaces GNOME's default faces dirs rather than falling back to them, so a
stale or dropped override silently empties the picker instead of degrading
to stock icons — this catches that class of regression before it ships.

Closes projectbluefin#353
@Danathar
Danathar requested a review from a team as a code owner August 7, 2026 21:29
@github-actions github-actions Bot added the pr/needs-review PR needs a maintainer review before it can move forward. label Aug 7, 2026
@github-actions

github-actions Bot commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

Thanks for the PR! A maintainer will review it.

While you wait, make sure these pass locally:

just validate        # element graph check
just build default   # build the image
just boot-test       # confirm the desktop boots (exits 0 = pass)
just lint            # bootc container lint

If this PR fixes a bug, add verify steps to the linked issue so users can confirm the fix on their hardware after the next nightly ships:

```verify
ujust <something>   # what users should run to confirm the fix
```

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

pr/needs-review PR needs a maintainer review before it can move forward.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Parity: user account dinosaur icons are missing

2 participants