This doesn’t really have anything to do with the ChatGPT web page itself, but rather with a react component they use to handle the scrolling.
It was discussed a bit last year here:
I’m not too interested in diving back into it now myself, but the documentation for the component is here:
I think part of the issue is it wasn’t designed with the amount of text being added in a stream like ChatGPT does.
You might be able to fiddle with the defaults with a userscript to smooth out the scrolling more.
Off the top of my head I think you’d want to look into adjusting the,
checkInterval
debounce
scroller
arguments.
Maybe decreasing the checkInterval
, increasing the debounce
, and drafting a scroller
function that limits the scroll to a fraction of the way to the actual bottom.
If I have some time tonight I might try to hack on it a bit.