mirror of
https://github.com/trezor/trezor-suite.git
synced 2026-02-20 00:33:07 +01:00
feat(suite-web): make permissions query in init optional only when navigator is present in runtime
This commit is contained in:
@@ -67,17 +67,21 @@ export class CoreInSuiteDesktop implements ConnectImpl {
|
||||
}
|
||||
|
||||
public async init({ manifest, version }: ConnectImplSettings): Promise<void> {
|
||||
const permission = await navigator.permissions
|
||||
.query({
|
||||
// @ts-expect-error outdated type definitions
|
||||
name: 'local-network-access',
|
||||
})
|
||||
.catch(() => undefined);
|
||||
if (permission) {
|
||||
this.localNetworkPermissionState = permission.state;
|
||||
permission.onchange = () => {
|
||||
// navigator should be always present in the runtime
|
||||
// but since in tests we run this code in node.js for convenience, we can make this check optional
|
||||
if (typeof navigator !== 'undefined' && navigator?.permissions?.query) {
|
||||
const permission = await navigator.permissions
|
||||
.query({
|
||||
// @ts-expect-error outdated type definitions
|
||||
name: 'local-network-access',
|
||||
})
|
||||
.catch(() => undefined);
|
||||
if (permission) {
|
||||
this.localNetworkPermissionState = permission.state;
|
||||
};
|
||||
permission.onchange = () => {
|
||||
this.localNetworkPermissionState = permission.state;
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
// manifest is required in all implementations. for core-in-suite-desktop, also manifest.appName is required
|
||||
|
||||
Reference in New Issue
Block a user