3c69f290

By: Michael Lynch <git@mtlynch.io>

Support animated GIF uploads

Owners can now upload a GIF, which is re-encoded to an animated AVIF (plus
thumbnails) and served like a photo. This is the first upload path that shells
out to ffmpeg, so the app derivations are wrapped with ffmpeg on PATH and the
runtime image installs it.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
configuredevShellbackendbackend-devcheck-bashcheck-frontendcheck-go-formattingcheck-go-test-packagescheck-trailing-newlinecheck-trailing-whitespacediagramdocker-imagee2e-testsgo-testsimport-from-tinybeanslint-sqllittle-momentslittle-moments-devx86_64-linux