e1e5325c

By: Michael Lynch <git@mtlynch.io>

Show emoji reaction picker on media pages (m7-1)

Add the reaction-picker UI to each media page: the five allowed emoji render
as buttons below the image, highlighting the viewer's current reaction, and
imported reactions continue to display with their author and time.

The POST /m/{id}/reactions endpoint intentionally returns HTTP 501 until the
next stacked commit persists reactions.

To support the picker, ReadReactions now returns each reaction's author ID and
parent media ID, and a new AllowedReactionEmoji accessor exposes the emoji list
to the handler.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

Suite timing

Time to Start Worker time Duration Time to finish Idle
Config 47s 3s 3s 50s 47s
Eval 1m14s 1m26s 1m26s 2m40s 23s
Build 2m39s 7m09s 5m37s 8m17s 1m21s
Suite 47s 8m40s 7m29s 8m17s 2m31s

Timeline

0s2m5m6m7m8m