diff --git a/komf-mediaserver/src/commonMain/kotlin/snd/komf/mediaserver/kavita/KavitaEventHandler.kt b/komf-mediaserver/src/commonMain/kotlin/snd/komf/mediaserver/kavita/KavitaEventHandler.kt index e8d097ff..aef0a597 100644 --- a/komf-mediaserver/src/commonMain/kotlin/snd/komf/mediaserver/kavita/KavitaEventHandler.kt +++ b/komf-mediaserver/src/commonMain/kotlin/snd/komf/mediaserver/kavita/KavitaEventHandler.kt @@ -100,14 +100,19 @@ class KavitaEventHandler( } private fun processProgressNotification(notification: NotificationProgressEvent) { - if (notification.name == "ScanProgress" && notification.eventType == "ended") { - val now = clock.now() - val lastScan = this.lastScan - lock.withLock { - val volumes = volumesChanged.toList() - eventHandlerScope.launch { processEvents(volumes, lastScan) } - volumesChanged.clear() - this.lastScan = now + if (notification.name == "ScanProgress") { + when (notification.eventType) { + "started" -> { + lock.withLock { this.lastScan = clock.now() } + } + "ended" -> { + lock.withLock { + val volumes = volumesChanged.toList() + val lastScan = this.lastScan + eventHandlerScope.launch { processEvents(volumes, lastScan) } + volumesChanged.clear() + } + } } } }