fix desktop deep links handler

This commit is contained in:
Baltazar Gomez 2021-08-03 20:52:24 -05:00 committed by Thomas Zarebczan
parent f2e583f314
commit 1a1f145d14

View file

@ -45,9 +45,15 @@ let daemon;
let lbryFirst; let lbryFirst;
const appState = {}; const appState = {};
const PROTOCOL = 'lbry';
if (process.platform !== 'linux') { if (isDev && process.platform === 'win32') {
app.setAsDefaultProtocolClient('lbry'); // Setting this is required to get this working in dev mode.
app.setAsDefaultProtocolClient(PROTOCOL, process.execPath, [
path.resolve(process.argv[1]),
]);
} else {
app.setAsDefaultProtocolClient(PROTOCOL);
} }
app.name = 'LBRY'; app.name = 'LBRY';
@ -149,9 +155,15 @@ if (!gotSingleInstanceLock) {
app.on('second-instance', (event, argv) => { app.on('second-instance', (event, argv) => {
// Send the url to the app to navigate first, then focus // Send the url to the app to navigate first, then focus
if (rendererWindow) { if (rendererWindow) {
if ((process.platform === 'win32' || process.platform === 'linux') && String(argv[1]).startsWith('lbry')) { // External uri (last item on argv):
let URI = argv[1]; const EXTERNAL_URI = (argv.length) ? argv[argv.length - 1] : '';
// Handle protocol requests for windows and linux
const platforms = (process.platform === 'win32' || process.platform === 'linux');
// Is LBRY protocol
const isProtocolURI = String(EXTERNAL_URI).startsWith(PROTOCOL + '://');
// External protocol requested:
if (platforms && isProtocolURI) {
let URI = EXTERNAL_URI;
// Keep only command line / deep linked arguments // Keep only command line / deep linked arguments
// Windows normalizes URIs when they're passed in from other apps. On Windows, this tries to // Windows normalizes URIs when they're passed in from other apps. On Windows, this tries to
// restore the original URI that was typed. // restore the original URI that was typed.