From 07a23b1bfb75029546129e27e93529461a740a54 Mon Sep 17 00:00:00 2001 From: GermanBluefox Date: Sat, 25 Jan 2025 17:02:23 +0000 Subject: [PATCH] Fixing click on qrCode button: https://github.com/ioBroker/ioBroker.matter/issues/353 --- src-admin/src/Tabs/Bridges.tsx | 6 ++++-- src-admin/src/Tabs/BridgesAndDevices.tsx | 8 ++++++-- src/matter/behaviors/IdentifyServer.ts | 12 ++++++++---- 3 files changed, 18 insertions(+), 8 deletions(-) diff --git a/src-admin/src/Tabs/Bridges.tsx b/src-admin/src/Tabs/Bridges.tsx index 9b578a1..5c91ea8 100644 --- a/src-admin/src/Tabs/Bridges.tsx +++ b/src-admin/src/Tabs/Bridges.tsx @@ -1379,7 +1379,8 @@ export class Bridges extends BridgesAndDevices { { + onClick={e => { + e.stopPropagation(); const bridgesOpened = clone(this.state.bridgesOpened); bridgesOpened[bridgeIndex] = !bridgesOpened[bridgeIndex]; window.localStorage.setItem( @@ -1395,7 +1396,8 @@ export class Bridges extends BridgesAndDevices { { + onClick={e => { + e.stopPropagation(); const bridgesOpened = clone(this.state.bridgesOpened); bridgesOpened[bridgeIndex] = !bridgesOpened[bridgeIndex]; window.localStorage.setItem( diff --git a/src-admin/src/Tabs/BridgesAndDevices.tsx b/src-admin/src/Tabs/BridgesAndDevices.tsx index 895aa46..3251e9a 100644 --- a/src-admin/src/Tabs/BridgesAndDevices.tsx +++ b/src-admin/src/Tabs/BridgesAndDevices.tsx @@ -338,7 +338,8 @@ class BridgesAndDevices { + onClick={e => { + e.stopPropagation(); this.reAnnounceDevice(deviceOrBridge.uuid).catch(e => window.alert(`Cannot re-announce: ${e}`)); this.setState({ showQrCode: deviceOrBridge }); }} @@ -372,7 +373,10 @@ class BridgesAndDevices this.requestAdditionalInformation(e, deviceOrBridge.uuid)} + onClick={e => { + e.stopPropagation(); + this.requestAdditionalInformation(e, deviceOrBridge.uuid); + }} > {hasError ? : } diff --git a/src/matter/behaviors/IdentifyServer.ts b/src/matter/behaviors/IdentifyServer.ts index d71ff81..cff506a 100644 --- a/src/matter/behaviors/IdentifyServer.ts +++ b/src/matter/behaviors/IdentifyServer.ts @@ -58,10 +58,14 @@ export class IoIdentifyServer extends IdentifyServer { if (startToIdentify) { // push info to UI and show popup, ideally get the name from the device // or when using uuid be aware it could also be a bridged uuid - void this.internal.adapter.sendToGui({ - command: 'identifyPopup', - identifyUuid: this.internal.device.uuid, - }); + this.internal.adapter + .sendToGui({ + command: 'identifyPopup', + identifyUuid: this.internal.device.uuid, + }) + .catch(e => { + this.internal.adapter.log.info(`Error sending identifyPopup: ${e.message}`); + }); this.internal.adapter.log.info(`Identify started for ${this.internal.device.uuid}`); } else { this.internal.adapter.log.info(`Identify continues for ${this.internal.device.uuid}`);