From 87f028996f0b782c7e488d747270f24d796848a2 Mon Sep 17 00:00:00 2001 From: Jukka Raimovaara Date: Thu, 22 May 2025 14:11:23 +0300 Subject: [PATCH] fix(BToast): race condition if using setInterval to update countdown --- packages/bootstrap-vue-next/src/components/BToast/BToast.vue | 2 +- packages/bootstrap-vue-next/src/composables/useCountdown.ts | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/packages/bootstrap-vue-next/src/components/BToast/BToast.vue b/packages/bootstrap-vue-next/src/components/BToast/BToast.vue index eedf4d91a..a35e55881 100644 --- a/packages/bootstrap-vue-next/src/components/BToast/BToast.vue +++ b/packages/bootstrap-vue-next/src/components/BToast/BToast.vue @@ -244,7 +244,7 @@ const computedClasses = computed(() => [ ]) watch(modelValue, (newValue) => { - if (typeof newValue === 'number') { + if (typeof newValue === 'number' && newValue > 0) { const event = buildTriggerableEvent('show', {cancelable: true, trigger: 'model'}) emit('show', event) if (event.defaultPrevented) { diff --git a/packages/bootstrap-vue-next/src/composables/useCountdown.ts b/packages/bootstrap-vue-next/src/composables/useCountdown.ts index 48966e53b..ee0a555c5 100644 --- a/packages/bootstrap-vue-next/src/composables/useCountdown.ts +++ b/packages/bootstrap-vue-next/src/composables/useCountdown.ts @@ -38,7 +38,9 @@ export const useCountdown = ( resume() } watch(resolvedLength, () => { - restart() + if (resolvedLength.value > 0) { + restart() + } }) const myPause = () => {