diff --git a/packages/frontend/src/components/MkPullToRefresh.vue b/packages/frontend/src/components/MkPullToRefresh.vue index ad828c50b6..ff310233db 100644 --- a/packages/frontend/src/components/MkPullToRefresh.vue +++ b/packages/frontend/src/components/MkPullToRefresh.vue @@ -204,16 +204,14 @@ function refreshFinished() { onMounted(() => { if (rootEl.value == null) return; - scrollEl = getScrollContainer(rootEl.value); - rootEl.value.addEventListener('pointerdown', moveStart, { passive: true }); rootEl.value.addEventListener('touchend', toggleScrollLockOnTouchEnd, { passive: true }); }); onUnmounted(() => { - rootEl.value.removeEventListener('pointerdown', moveStart); - rootEl.value.removeEventListener('touchend', toggleScrollLockOnTouchEnd); + if (rootEl.value) rootEl.value.removeEventListener('pointerdown', moveStart); + if (rootEl.value) rootEl.value.removeEventListener('touchend', toggleScrollLockOnTouchEnd); }); diff --git a/packages/frontend/src/components/MkTimeline.vue b/packages/frontend/src/components/MkTimeline.vue index da31761e63..bc23497d54 100644 --- a/packages/frontend/src/components/MkTimeline.vue +++ b/packages/frontend/src/components/MkTimeline.vue @@ -96,8 +96,8 @@ provide('tl_withSensitive', computed(() => props.withSensitive)); provide('inChannel', computed(() => props.src === 'channel')); function isTop() { - if (scrollContainer == null) return false; - if (rootEl.value == null) return false; + if (scrollContainer == null) return true; + if (rootEl.value == null) return true; const scrollTop = scrollContainer.scrollTop; const tlTop = rootEl.value.offsetTop - scrollContainer.offsetTop; return scrollTop <= tlTop;