user should be able to read through the history

it works the same way as the terminal:
the bottom is sticky. If the user can see the bottom of the last message,
scroll to see it, but, if they have scrolled up to read through the history,
do not scroll, because it makes reading difficult.