6956102cf7
The diff overlay incremented diffScrollOffset on every down-key with no upper bound; the render clamped only the displayed offset, so the stored value grew unbounded and the up-key appeared dead for N presses. Clamp the increment against a new diffMaxScroll() (len(lines) - body height), shared with the render path via diffBodyHeight().