webclient: a deliberate pull upwards outranks the autoscroll
While the agent streamed, the pin to the bottom was re-applied between deltas, so
a small wheel-up was yanked back before the "user scrolled up" flag had a chance
to be set — the view only came loose after a large fling. The flag itself was
written by the scroll handler from distance-from-bottom alone, which needs a
100px move to trip, well past the point the user has already been overruled.

Direction is now read from the gesture. A wheel tick or a finger drag that goes
up sets the flag at once and drops any landing loop still re-clamping, and the
pin stands down for 250ms after real input, in flight outranking it. A wheel on a
list that fits entirely is not treated as a request to leave the bottom — the
view never moves there and the flag would stick with the stream no longer
following. The scroll handler keeps the dragged-scrollbar fallback: entering
"scrolled up" still takes a clear move, while leaving it takes almost nothing, so
the pin re-arms as soon as the user is back at the bottom.

dist rebuilt and committed with the source.
1 parent 84aae23 commit 2cf116f5b6cc0c7c1f99b092e114b92d9790fd3e
@Eugene Sukhodolskiy Eugene Sukhodolskiy authored 4 hours ago
Showing 8 changed files
View
webclient/dist/assets/index-CsHD0Wo4.css 100644 → 0
View
webclient/dist/assets/index-CwAzkKrT.css 0 → 100644
View
webclient/dist/assets/index-DjHRlrca.js 0 → 100644
Not supported
View
webclient/dist/assets/index-sGLNrZjw.js 100644 → 0
Not supported
View
webclient/dist/index.html
View
webclient/dist/sw.js
View
webclient/src/components/chat/MessageList.vue
View
webclient/tests/unit/components/chat/messageList.test.js