3cfa7d37

By: Michael Lynch <git@mtlynch.io>

Persist emoji reactions from the media page (m7-2)

Replace the provisional 501 response with real reaction persistence. Any signed-in
user can react to a media item by clicking an emoji, and clicking a different
emoji replaces their prior reaction: the reactions table now enforces one
reaction per user per media item, and SetReaction upserts against that
constraint.

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 1m16s 1m23s 1m23s 2m39s 25s
Build 2m38s 7m55s 7m07s 9m45s 3m59s
Suite 47s 9m21s 8m58s 9m45s 5m12s

Timeline

0s1m20s1m40s2m2m20s6m40s7m7m20s7m40s8m8m20s8m40s9m9m20s9m40s