Two improvements after v0.2.1 deploy revealed the avif_status bug
wasn't fully fixed:
Fix:
Format_Generator::make_avif() now calls record_avif_outcome() at the
end of the synchronous path. Previously only the cron path recorded
outcomes, so wp h4b-img generate-missing-siblings (synchronous) left
4067 stale 'queued' rows even though it successfully generated 603
AVIFs on disk. process_avif_job() simplified to a thin wrapper
around make_avif(avif_async=false).
Added:
wp h4b-img reconcile-meta — walks _h4b_img_optim postmeta, checks
for .webp / .avif files on disk, and updates avif_status / webp size
fields to match reality. One-shot reconciliation for stale records
left by earlier plugin versions. --dry-run supported.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>