Skip to content

Commit

Permalink
Desktop: Fixed: Ctrl+Clicking links in Rich Text editor was broken (r…
Browse files Browse the repository at this point in the history
…egression)
  • Loading branch information
laurent22 committed Jun 4, 2021
1 parent 147b6b1 commit e8a02c2
Showing 1 changed file with 9 additions and 2 deletions.
11 changes: 9 additions & 2 deletions packages/app-desktop/gui/NoteEditor/utils/useMessageHandler.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ const { urlDecode } = require('@joplin/lib/string-utils');
const urlUtils = require('@joplin/lib/urlUtils');
import ResourceFetcher from '@joplin/lib/services/ResourceFetcher';
import { reg } from '@joplin/lib/registry';
const uri2path = require('file-uri-to-path');

export default function useMessageHandler(scrollWhenReady: any, setScrollWhenReady: Function, editorRef: any, setLocalSearchResultCount: Function, dispatch: Function, formNote: FormNote) {
return useCallback(async (event: any) => {
Expand Down Expand Up @@ -51,8 +52,14 @@ export default function useMessageHandler(scrollWhenReady: any, setScrollWhenRea

} else if (urlUtils.urlProtocol(msg)) {
if (msg.indexOf('file://') === 0) {
// When using the file:// protocol, openPath doesn't work (does nothing) with URL-encoded paths
require('electron').shell.openPath(urlDecode(msg));
// When using the file:// protocol, openPath doesn't work (does
// nothing) with URL-encoded paths.
//
// shell.openPath seems to work with file:// urls on Windows,
// but doesn't on macOS, so we need to convert it to a path
// before passing it to openPath.
const decodedPath = uri2path(urlDecode(msg));
require('electron').shell.openPath(decodedPath);
} else {
require('electron').shell.openExternal(msg);
}
Expand Down

0 comments on commit e8a02c2

Please sign in to comment.