From 6a83a0b649fcee760607238fb975c4ebf5f623b2 Mon Sep 17 00:00:00 2001
From: Christoph Reiter <reiter.christoph@gmail.com>
Date: Wed, 21 Oct 2020 11:52:58 +0200
Subject: [PATCH] Only emit an event if we get a new code

There is no need to emit the same thing 5 times a second.
---
 packages/qr-code-scanner/src/qr-code-scanner.js | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/packages/qr-code-scanner/src/qr-code-scanner.js b/packages/qr-code-scanner/src/qr-code-scanner.js
index d318bc97..698f772d 100644
--- a/packages/qr-code-scanner/src/qr-code-scanner.js
+++ b/packages/qr-code-scanner/src/qr-code-scanner.js
@@ -212,6 +212,7 @@ export class QrCodeScanner extends ScopedElementsMixin(DBPLitElement) {
         const that = this;
         let lastVideoTime = -1;
         let lastCode = null;
+        let lastSentData = null;
 
         function tick() {
            that._requestID = null;
@@ -347,7 +348,9 @@ export class QrCodeScanner extends ScopedElementsMixin(DBPLitElement) {
                     outputMessage.hidden = true;
                     outputData.parentElement.hidden = false;
                     outputData.innerText = code.data;
-                    that.sendUrl(code.data);
+                    if (lastSentData !== code.data)
+                        that.sendUrl(code.data);
+                    lastSentData = code.data;
                 } else {
                     outputMessage.hidden = false;
                     outputData.parentElement.hidden = true;
-- 
GitLab