mirror of
https://github.com/kremalicious/metamask-extension.git
synced 2024-11-28 23:06:37 +01:00
bde74756d3
* feat: add desktop enable button component This component will be added to the experimental page. Users will then be able to initialize a desktop connection * feat: add desktop pairing page * feat: add desktop deep-linking shared lib * test: add initial entries to render helper Allow specifying initialEntries for MemoryRouter. This change will allow testing pages that use the useParam hook. * feat: add desktop error page Error page for any desktop pairing related issue * feat: add desktop routes to route component * feat: add enable desktop button to experimental tab * feat: add desktop icon when paired in dev mode * feat: disable ledger live control when desktop enabled * feat: register desktop error actions on ui init * fix: add missing code fencing * chore: remove enable desktop rpc middleware Now that we are adding the UI there's no need for this rpc middleware (as it was used to test desktop background code) * fix: display experimental tab for desktop
21 lines
712 B
JavaScript
21 lines
712 B
JavaScript
export function openCustomProtocol(protocolLink) {
|
|
return new Promise((resolve, reject) => {
|
|
// msLaunchUri is windows specific. It will open and app or service
|
|
// that handles a given protocol
|
|
if (window?.navigator?.msLaunchUri) {
|
|
window.navigator.msLaunchUri(protocolLink, resolve, () => {
|
|
reject(new Error('Failed to open custom protocol link'));
|
|
});
|
|
} else {
|
|
const timeoutId = window.setTimeout(function () {
|
|
reject(new Error('Timeout opening custom protocol link'));
|
|
}, 500);
|
|
window.addEventListener('blur', function () {
|
|
window.clearTimeout(timeoutId);
|
|
resolve();
|
|
});
|
|
window.location = protocolLink;
|
|
}
|
|
});
|
|
}
|