Looks to have been broken by e86e8c32f56b2f3db78ea3e4e21254db7a623184. If I take out the first resizeView call in layoutSkeinWithAnimation: the bug goes away. It's happening because the first resizeView makes the view shorter, causing the scroll view to automatically scroll up to the top to keep everything in view, then the second one restores it to its former length, but doesn't restore the scroll position.
Looks to have been broken by e86e8c32f56b2f3db78ea3e4e21254db7a623184. If I take out the first resizeView call in layoutSkeinWithAnimation: the bug goes away. It's happening because the first resizeView makes the view shorter, causing the scroll view to automatically scroll up to the top to keep everything in view, then the second one restores it to its former length, but doesn't restore the scroll position.