From d9ab5d71aa9d0cdf0db0a76727647d02e5fd25d0 Mon Sep 17 00:00:00 2001 From: SiriusXT <1160925501@qq.com> Date: Thu, 14 Nov 2024 11:15:38 +0800 Subject: [PATCH 1/3] Add more link protocol support --- src/public/app/services/link.js | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/public/app/services/link.js b/src/public/app/services/link.js index cee987305..3d0426e93 100644 --- a/src/public/app/services/link.js +++ b/src/public/app/services/link.js @@ -254,8 +254,15 @@ function goToLinkExt(evt, hrefLink, $link) { window.open(hrefLink, '_blank'); } else if (hrefLink.toLowerCase().startsWith('file:') && utils.isElectron()) { const electron = utils.dynamicRequire('electron'); - electron.shell.openPath(hrefLink); + } else { + // Enable protocols supported by CKEditor 5 to be clickable. + // Refer to `allowedProtocols` in https://github.com/TriliumNext/trilium-ckeditor5/blob/main/packages/ckeditor5-build-balloon-block/src/ckeditor.ts. + // Adding `:` to these links might be safer. + const otherAllowedProtocols = ['tel:', 'sms:', 'sftp:', 'smb:', 'slack:', 'file:', 'zotero:']; + if (otherAllowedProtocols.some(protocol => hrefLink.startsWith(protocol))){ + window.open(hrefLink, '_blank'); + } } } } From c907b288bd6f034958f215753f28107b8a67cb79 Mon Sep 17 00:00:00 2001 From: SiriusXT <1160925501@qq.com> Date: Thu, 14 Nov 2024 11:18:03 +0800 Subject: [PATCH 2/3] Add more link protocol support --- src/public/app/services/link.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/public/app/services/link.js b/src/public/app/services/link.js index 3d0426e93..6a65aeb43 100644 --- a/src/public/app/services/link.js +++ b/src/public/app/services/link.js @@ -259,7 +259,7 @@ function goToLinkExt(evt, hrefLink, $link) { // Enable protocols supported by CKEditor 5 to be clickable. // Refer to `allowedProtocols` in https://github.com/TriliumNext/trilium-ckeditor5/blob/main/packages/ckeditor5-build-balloon-block/src/ckeditor.ts. // Adding `:` to these links might be safer. - const otherAllowedProtocols = ['tel:', 'sms:', 'sftp:', 'smb:', 'slack:', 'file:', 'zotero:']; + const otherAllowedProtocols = ['mailto:', 'tel:', 'sms:', 'sftp:', 'smb:', 'slack:', 'file:', 'zotero:']; if (otherAllowedProtocols.some(protocol => hrefLink.startsWith(protocol))){ window.open(hrefLink, '_blank'); } From 7f0d675ab8f633f55484646c38175716195c209f Mon Sep 17 00:00:00 2001 From: SiriusXT <1160925501@qq.com> Date: Thu, 14 Nov 2024 14:04:10 +0800 Subject: [PATCH 3/3] Add more link protocol support --- src/public/app/services/link.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/public/app/services/link.js b/src/public/app/services/link.js index 6a65aeb43..ed39563bc 100644 --- a/src/public/app/services/link.js +++ b/src/public/app/services/link.js @@ -259,8 +259,8 @@ function goToLinkExt(evt, hrefLink, $link) { // Enable protocols supported by CKEditor 5 to be clickable. // Refer to `allowedProtocols` in https://github.com/TriliumNext/trilium-ckeditor5/blob/main/packages/ckeditor5-build-balloon-block/src/ckeditor.ts. // Adding `:` to these links might be safer. - const otherAllowedProtocols = ['mailto:', 'tel:', 'sms:', 'sftp:', 'smb:', 'slack:', 'file:', 'zotero:']; - if (otherAllowedProtocols.some(protocol => hrefLink.startsWith(protocol))){ + const otherAllowedProtocols = ['mailto:', 'tel:', 'sms:', 'sftp:', 'smb:', 'slack:', 'zotero:']; + if (otherAllowedProtocols.some(protocol => hrefLink.toLowerCase().startsWith(protocol))){ window.open(hrefLink, '_blank'); } }