- Server window raised from 5s to 60s so slow double-fires (observed
on /videos/CRKAf: same body saved 3-7 times, seconds to minutes
apart) collapse into one comment.
- X-Idempotency-Key honored: the client sends a per-attempt UUID; the
server caches the resulting comment id for 5 minutes under that key.
A retry with the same key returns the first-written comment without
touching the DB a second time.
- Comment and reply submit JS both send the key via fetch().
The existing _busy flag + disabled submit button already covers the
fast double-click case on the client; this hardens the server side so
duplicates can't slip through even when the client guard is bypassed.
Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>