From d4060d0d59f2462dd90f3438de29d8d269da732e Mon Sep 17 00:00:00 2001 From: lip-d Date: Sat, 17 Feb 2018 18:15:14 +0900 Subject: [PATCH] Fixed issue: clicking on a file:// protocol path does not open windows explorer since version 3.5.0 #579 --- src/browser/components/MattermostView.jsx | 28 ++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/src/browser/components/MattermostView.jsx b/src/browser/components/MattermostView.jsx index 8393d3c7..d95aa091 100644 --- a/src/browser/components/MattermostView.jsx +++ b/src/browser/components/MattermostView.jsx @@ -157,7 +157,33 @@ const MattermostView = createReactClass({ console.warn(message); break; case 2: - console.error(message); + let match = e.message.match(/Not allowed to load local resource:\s*(.+)/); + let resURL = ""; + let isNetworkDrive = false; + + if (match != null) { + if (match.length == 2) { + resURL = match[1]; + + let u = url.parse(resURL); + + // Is it on a network drive? + if (u.protocol === 'file:' && u.host) { + isNetworkDrive = true; + } + } + } + + // Network drive: Should be allowed. + if (isNetworkDrive) { + if (!shell.openExternal(decodeURI(resURL))) { + console.log(`[${this.props.name}] shell.openExternal failed: ${resURL}`); + } + } + // Local drive such as 'C:\Windows': Should not be allowed. + else { + console.error(message); + } break; default: console.log(message);