fbc81f88

By: Michael Lynch <git@mtlynch.io>

Delete captions by clearing them; custom delete dialog

Remove the separate "Delete caption" button. Saving a blank caption now
deletes it, so the dedicated DELETE /m/{id}/caption route and handler are
gone.

Replace the stock confirm() prompt on "Delete photo" with a custom native
<dialog>, intercepting htmx's htmx:confirm event the same way the
refactoring-english-feedback reference project does.

Add e2e coverage for owners editing/deleting a caption and deleting a
photo (through the custom dialog), and for a non-owner seeing no editing
controls. Update the unit tests for the removed route.

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