b8713a516b
- scrollToTop() now respects user scroll position (100px threshold) - resetScrollLock() called on new messages - SESSION_TIMEOUT_SECONDS 90 -> 3600 (1 hour) to prevent mid-use expiry - wrap 10 unprotected authFetch calls in try/catch to kill unhandled rejections