diff --git a/.eslintignore b/.eslintignore index 594efa4e3..cc6dd445f 100644 --- a/.eslintignore +++ b/.eslintignore @@ -1475,9 +1475,12 @@ packages/server/src/db.js.map packages/server/src/middleware/notificationHandler.d.ts packages/server/src/middleware/notificationHandler.js packages/server/src/middleware/notificationHandler.js.map -packages/server/src/middleware/requestProcessor.d.ts -packages/server/src/middleware/requestProcessor.js -packages/server/src/middleware/requestProcessor.js.map +packages/server/src/middleware/ownerHandler.d.ts +packages/server/src/middleware/ownerHandler.js +packages/server/src/middleware/ownerHandler.js.map +packages/server/src/middleware/routeHandler.d.ts +packages/server/src/middleware/routeHandler.js +packages/server/src/middleware/routeHandler.js.map packages/server/src/migrations/20190913171451_create.d.ts packages/server/src/migrations/20190913171451_create.js packages/server/src/migrations/20190913171451_create.js.map diff --git a/.gitignore b/.gitignore index 31d6b4d78..f4b39a28f 100644 --- a/.gitignore +++ b/.gitignore @@ -1464,9 +1464,12 @@ packages/server/src/db.js.map packages/server/src/middleware/notificationHandler.d.ts packages/server/src/middleware/notificationHandler.js packages/server/src/middleware/notificationHandler.js.map -packages/server/src/middleware/requestProcessor.d.ts -packages/server/src/middleware/requestProcessor.js -packages/server/src/middleware/requestProcessor.js.map +packages/server/src/middleware/ownerHandler.d.ts +packages/server/src/middleware/ownerHandler.js +packages/server/src/middleware/ownerHandler.js.map +packages/server/src/middleware/routeHandler.d.ts +packages/server/src/middleware/routeHandler.js +packages/server/src/middleware/routeHandler.js.map packages/server/src/migrations/20190913171451_create.d.ts packages/server/src/migrations/20190913171451_create.js packages/server/src/migrations/20190913171451_create.js.map diff --git a/packages/app-desktop/gui/NoteEditor/NoteBody/TinyMCE/TinyMCE.tsx b/packages/app-desktop/gui/NoteEditor/NoteBody/TinyMCE/TinyMCE.tsx index cd5e1bcd3..39cbd2eac 100644 --- a/packages/app-desktop/gui/NoteEditor/NoteBody/TinyMCE/TinyMCE.tsx +++ b/packages/app-desktop/gui/NoteEditor/NoteBody/TinyMCE/TinyMCE.tsx @@ -19,7 +19,7 @@ const taboverride = require('taboverride'); const { reg } = require('@joplin/lib/registry.js'); const BaseItem = require('@joplin/lib/models/BaseItem'); const { themeStyle } = require('@joplin/lib/theme'); -// const { clipboard } = require('electron'); +const { clipboard } = require('electron'); const supportedLocales = require('./supportedLocales'); function markupRenderOptions(override: any = null) { @@ -1015,19 +1015,22 @@ const TinyMCE = (props: NoteBodyEditorProps, ref: any) => { } } - function onKeyDown(_event: any) { - // It seems "paste as text" is now handled automatically by - // either Chrome, Electron and/or TinyMCE so the code below - // should not longer be necessary. Also fixes + function onKeyDown(event: any) { + // It seems "paste as text" is handled automatically by + // on Windows so the code below so we need to run the below + // code only on macOS (and maybe Linux). If we were to run + // this on Windows we would have this double-paste issue: // https://github.com/laurent22/joplin/issues/4243 // Handle "paste as text". Note that when pressing CtrlOrCmd+Shift+V it's going // to trigger the "keydown" event but not the "paste" event, so it's ok to process // it here and we don't need to do anything special in onPaste - // if ((event.metaKey || event.ctrlKey) && event.shiftKey && event.code === 'KeyV') { - // const pastedText = clipboard.readText(); - // if (pastedText) editor.insertContent(pastedText); - // } + if (!shim.isWindows()) { + if ((event.metaKey || event.ctrlKey) && event.shiftKey && event.code === 'KeyV') { + const pastedText = clipboard.readText(); + if (pastedText) editor.insertContent(pastedText); + } + } } editor.on('keyup', onKeyUp);