サーバーから切断された後 stream indicator をすぐに表示しないようにする (MisskeyIO#172)

すぐに再接続されたら表示しないように
This commit is contained in:
riku6460 2023-10-06 21:57:37 +09:00 committed by NoriDev
parent fd478583e5
commit 8e9a0b1e3e

View file

@ -33,12 +33,17 @@ const zIndex = os.claimZIndex('high');
let hasRequireRefresh = $ref(false); let hasRequireRefresh = $ref(false);
let hasDisconnected = $ref(false); let hasDisconnected = $ref(false);
let timeoutId = $ref<number>();
function onDisconnected() { function onDisconnected() {
hasDisconnected = true; window.clearTimeout(timeoutId);
timeoutId = window.setTimeout(() => {
hasDisconnected = true;
}, 1000 * 10);
} }
function resetDisconnected() { function resetDisconnected() {
window.clearTimeout(timeoutId);
hasDisconnected = false; hasDisconnected = false;
} }
@ -50,6 +55,7 @@ function reload() {
location.reload(); location.reload();
} }
useStream().on('_connected_', resetDisconnected);
useStream().on('_disconnected_', onDisconnected); useStream().on('_disconnected_', onDisconnected);
onMounted(() => { onMounted(() => {
@ -59,6 +65,8 @@ onMounted(() => {
}); });
onUnmounted(() => { onUnmounted(() => {
window.clearTimeout(timeoutId);
useStream().off('_connected_', resetDisconnected);
useStream().off('_disconnected_', onDisconnected); useStream().off('_disconnected_', onDisconnected);
}); });
</script> </script>