Skip to content

Commit 814f99b

Browse files
authored
fix(AEX-2): Fix isExtensionContext check (#1011)
* chore(release): Bump version to 7.3.0. Regenerate docs * chore(release): Adjust force-progress Channel API docs Regenerate lock files * chore(AEX-2): Add `forceValidation` option for AeppRpc stamp * chore(release): Bump version to 7.3.1 * chore(release): Adjust CHANGELOG * chore(release): Bump version. Generate CHANGELOG * chore(release): Adjust expression * fix(AEX-2): IsExtension check fix. Add proper handling of isConnected function for FireFox
1 parent d3963a8 commit 814f99b

File tree

2 files changed

+6
-5
lines changed

2 files changed

+6
-5
lines changed

es/utils/aepp-wallet-communication/connection/browser-runtime.js

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -54,11 +54,12 @@ function disconnect () {
5454
* @return {void}
5555
*/
5656
function connect (onMessage, onDisconnect) {
57-
if (typeof this.port.onMessage.hasListeners === 'function' && this.port.onMessage.hasListeners()) throw new Error('You already connected')
58-
this.port.onMessage.addListener((msg, source) => {
57+
if (this.isConnected()) throw new Error('You already connected')
58+
this.handler = ((msg, source) => {
5959
if (this.debug) console.log('Receive message: ', msg)
6060
onMessage(msg, source)
61-
})
61+
}).bind(this)
62+
this.port.onMessage.addListener(this.handler)
6263
this.port.onDisconnect.addListener(() => {
6364
typeof onDisconnect === 'function' && onDisconnect({}, this)
6465
this.port.disconnect()
@@ -87,7 +88,7 @@ function sendMessage (msg) {
8788
* @return {Boolean} Is connected
8889
*/
8990
function isConnected () {
90-
return this.port.onMessage.hasListeners()
91+
return typeof this.port.onMessage.hasListeners === 'function' ? this.port.onMessage.hasListeners() : this.port.onMessage.hasListener(this.handler)
9192
}
9293

9394
/**

es/utils/aepp-wallet-communication/helpers.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ export const getBrowserAPI = (force = false) => {
1616
}
1717

1818
const isExtensionContext = () => {
19-
const browser = getBrowserAPI()
19+
const browser = getBrowserAPI(true)
2020
return typeof browser === 'object' && browser && typeof browser.extension === 'object'
2121
}
2222

0 commit comments

Comments
 (0)