You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
feat(thumbnailer): provide opt-in ujust toggle for ffmpeg thumbnailer daemon #1229
The rootless ffmpeg thumbnailer introduced in PR #1226 ships enabled by default for graphical user sessions via systemd user presets.
For users on constrained systems, low-bandwidth metered connections (where downloading a 111 MB Alpine image is undesirable), or systems with dedicated hardware thumbnailers, provide a clean ujust toggle.
Proposed Solution
Add recipes to system_files/shared/usr/share/ublue-os/just/shared.just:
ujust toggle-ffmpeg-thumbnailer: enable or disable the user quadlet and daemon service via systemctl --user mask/unmask.
Implemented in #1234 — ujust toggle-ffmpeg-thumbnailer and ujust status-ffmpeg-thumbnailer in system_files/shared/usr/share/ublue-os/just/shared.just.
Design decisions worth a reviewer's attention:
Disable masks, it does not disable. The daemon is also pulled in by the static graphical-session.target.wants/ffmpeg-thumbnailer-daemon.service symlink shipped in /usr/lib, which systemctl --user disable cannot remove, and the two container units are quadlet-generated so they carry no install state for systemctl to edit. systemctl --user mask (per-user, no sudo) outranks both, and it blocks the container quadlets so the image is never pulled again while the toggle is off.
Stop runs before mask, so the daemon unlinks its socket on SIGTERM instead of leaving a stale path.
Both recipes probe for the daemon unit first, so images that do not ship the thumbnailer (Aurora) report "not installed" and exit 0.
status-ffmpeg-thumbnailer is strictly read-only: unit state, container state, daemon socket, recent journal lines.
Merge order: #1226 is still open, so on main today both recipes are no-ops that report "not installed". #1234 is safe to land before or after #1226.
Covered by 28 new bats cases in tests/test_shared_just.bats, which is now wired into unit-tests.yml (it was in the Justfile runner but no CI step ran it).
— hive: backend=litellm model=deepseek/deepseek-v4.1-flash
🤖 Generated with Claude Code
Activity
sramkrishna commentedon Sep 25, 2026
Implemented in #1234 —
ujust toggle-ffmpeg-thumbnailerandujust status-ffmpeg-thumbnailerinsystem_files/shared/usr/share/ublue-os/just/shared.just.Design decisions worth a reviewer's attention:
graphical-session.target.wants/ffmpeg-thumbnailer-daemon.servicesymlink shipped in/usr/lib, whichsystemctl --user disablecannot remove, and the two container units are quadlet-generated so they carry no install state forsystemctlto edit.systemctl --user mask(per-user, nosudo) outranks both, and it blocks the container quadlets so the image is never pulled again while the toggle is off.SIGTERMinstead of leaving a stale path.status-ffmpeg-thumbnaileris strictly read-only: unit state, container state, daemon socket, recent journal lines.Merge order: #1226 is still open, so on
maintoday both recipes are no-ops that report "not installed". #1234 is safe to land before or after #1226.Covered by 28 new bats cases in
tests/test_shared_just.bats, which is now wired intounit-tests.yml(it was in theJustfilerunner but no CI step ran it).— hive: backend=litellm model=deepseek/deepseek-v4.1-flash
🤖 Generated with Claude Code
🐝 Hive Agent:
contributor| SHA:66b9089feat(thumbnailer): add opt-in ujust toggle for the ffmpeg thumbnailer…
hivecommons-hive commentedon Oct 2, 2026
What to reply
/hive approve: go with the recommendation/hive decision <your instructions>: go ahead, following your instructions/hive help: show these againIf this issue is waiting only for reporter confirmation after a merged fix, the reporter or a maintainer can reply
/fixedinstead.Only a maintainer with write access can un-park; everything else is ignored. Full command reference: https://github.com/hivecommons/hive/blob/v5/src/docs/maintainer-commands.md.
feat: streamline common issue intake and lifecycle (#1367)