Joplin: Note viewer glitches in AppImage build

Created on 18 Sep 2020  路  3Comments  路  Source: laurent22/joplin


There's a glitch with the note viewer in Joplin 1.0.241 on Linux (AppImage). When I scroll down to the bottom of a note, there's extra space below the last line of words in the note viewer, leaving me unable to view a good portion of that note without manually scrolling up.

Screenshot from 2020-09-17 11-08-27

But when I scroll up the note viewer to where it should be, the _note editor_ also scrolls up, leaving me unable to edit the last portion of that note without scrolling down again.

Screenshot from 2020-09-17 11-26-29

There's another glitch with the note viewer I experience occasionally. When I edit a note and the note viewer refreshes, the note viewer briefly flashes white before updating to show my changes. This gets especially annoying when I make many edits to a note in a short amount of time.

Environment

Joplin version: 1.0.241 (AppImage)
Platform: Linux
OS specifics: Ubuntu 20.04.1 LTS

Steps to reproduce

  1. Go to any note
  2. Scroll down to the bottom of that note (to see the extra space)
  3. Scroll up the note viewer to where it should end (to see the note editor also scrolling up)

Describe what you expected to happen

There shouldn't be any extra space at the bottom of the note, nor should there be any white flashes when the note viewer updates.

Logfile

Console output:
```main-html.js:59 Environment: prod
main-html.js:80 appId: net.cozic.joplin-desktop
main-html.js:81 appType: desktop
/tmp/.mount_JoplinaTmzco/resources/app.asar/node_modules/react-dom/cjs/react-dom.development.js:11494 Warning: componentWillReceiveProps has been renamed, and is not recommended for use. See https://fb.me/react-async-component-lifecycle-hooks for details.

  • Move data fetching code or side effects to componentDidUpdate.
  • If you're updating state whenever props change, refactor your code to use memoization techniques or move it to static getDerivedStateFromProps. Learn more at: https://fb.me/react-derived-state
  • Rename componentWillReceiveProps to UNSAFE_componentWillReceiveProps to suppress this warning in non-strict mode. In React 17.x, only the UNSAFE_ name will work. To rename all deprecated lifecycles to their new names, you can run npx react-codemod rename-unsafe-lifecycles in your project source folder.

Please update the following components: Connect(HeaderComponent), Connect(MainScreenComponent), Connect(NavigatorComponent), Connect(NoteEditor), Connect(NoteListComponent), Connect(RootComponent), Connect(SideBarComponent), Provider
printWarning @ /tmp/.mount_JoplinaTmzco/resources/app.asar/node_modules/react-dom/cjs/react-dom.development.js:11494
/tmp/.mount_JoplinaTmzco/resources/app.asar/node_modules/react-dom/cjs/react-dom.development.js:11494 Warning: componentWillUpdate has been renamed, and is not recommended for use. See https://fb.me/react-async-component-lifecycle-hooks for details.

  • Move data fetching code or side effects to componentDidUpdate.
  • Rename componentWillUpdate to UNSAFE_componentWillUpdate to suppress this warning in non-strict mode. In React 17.x, only the UNSAFE_ name will work. To rename all deprecated lifecycles to their new names, you can run npx react-codemod rename-unsafe-lifecycles in your project source folder.

Please update the following components: Connect(HeaderComponent), Connect(MainScreenComponent), Connect(NavigatorComponent), Connect(NoteEditor), Connect(NoteListComponent), Connect(RootComponent), Connect(SideBarComponent)
printWarning @ /tmp/.mount_JoplinaTmzco/resources/app.asar/node_modules/react-dom/cjs/react-dom.development.js:11494
/tmp/.mount_JoplinaTmzco/resources/app.asar/node_modules/react-dom/cjs/react-dom.development.js:11494 Warning: componentWillReceiveProps has been renamed, and is not recommended for use. See https://fb.me/react-async-component-lifecycle-hooks for details.

  • Move data fetching code or side effects to componentDidUpdate.
  • If you're updating state whenever props change, refactor your code to use memoization techniques or move it to static getDerivedStateFromProps. Learn more at: https://fb.me/react-derived-state
  • Rename componentWillReceiveProps to UNSAFE_componentWillReceiveProps to suppress this warning in non-strict mode. In React 17.x, only the UNSAFE_ name will work. To rename all deprecated lifecycles to their new names, you can run npx react-codemod rename-unsafe-lifecycles in your project source folder.

Please update the following components: Connect(NoteTextViewerComponent), Connect(NoteToolbar), Connect(ToolbarComponent), ReactAce
printWarning @ /tmp/.mount_JoplinaTmzco/resources/app.asar/node_modules/react-dom/cjs/react-dom.development.js:11494
/tmp/.mount_JoplinaTmzco/resources/app.asar/node_modules/react-dom/cjs/react-dom.development.js:11494 Warning: componentWillUpdate has been renamed, and is not recommended for use. See https://fb.me/react-async-component-lifecycle-hooks for details.

  • Move data fetching code or side effects to componentDidUpdate.
  • Rename componentWillUpdate to UNSAFE_componentWillUpdate to suppress this warning in non-strict mode. In React 17.x, only the UNSAFE_ name will work. To rename all deprecated lifecycles to their new names, you can run npx react-codemod rename-unsafe-lifecycles in your project source folder.

Please update the following components: Connect(NoteTextViewerComponent), Connect(NoteToolbar), Connect(ToolbarComponent)
printWarning @ /tmp/.mount_JoplinaTmzco/resources/app.asar/node_modules/react-dom/cjs/react-dom.development.js:11494
DevTools failed to parse SourceMap: file:///tmp/.mount_JoplinaTmzco/resources/app.asar/lib/joplin-renderer/MdToHtml/rules/fence.js.map
DevTools failed to parse SourceMap: file:///tmp/.mount_JoplinaTmzco/resources/app.asar/lib/joplin-renderer/MdToHtml/rules/sanitize_html.js.map
DevTools failed to parse SourceMap: file:///tmp/.mount_JoplinaTmzco/resources/app.asar/lib/joplin-renderer/MdToHtml/rules/checkbox.js.map
DevTools failed to parse SourceMap: file:///tmp/.mount_JoplinaTmzco/resources/app.asar/lib/joplin-renderer/MdToHtml/rules/mermaid.js.map
DevTools failed to parse SourceMap: file:///tmp/.mount_JoplinaTmzco/resources/app.asar/node_modules/markdown-it-anchor/dist/markdownItAnchor.js.map
DevTools failed to parse SourceMap: file:///tmp/.mount_JoplinaTmzco/resources/app.asar/node_modules/markdown-it-toc-done-right/dist/markdownItTocDoneRight.js.map
DevTools failed to parse SourceMap: file:///tmp/.mount_JoplinaTmzco/resources/app.asar/lib/services/searchengine/filterParser.js.map
DevTools failed to parse SourceMap: file:///tmp/.mount_JoplinaTmzco/resources/app.asar/lib/services/searchengine/queryBuilder.js.map
DevTools failed to parse SourceMap: file:///tmp/.mount_JoplinaTmzco/resources/app.asar/lib/services/synchronizer/utils/types.js.map
DevTools failed to parse SourceMap: file:///tmp/.mount_JoplinaTmzco/resources/app.asar/lib/services/synchronizer/LockHandler.js.map
DevTools failed to parse SourceMap: file:///tmp/.mount_JoplinaTmzco/resources/app.asar/lib/services/synchronizer/MigrationHandler.js.map
DevTools failed to parse SourceMap: file:///tmp/.mount_JoplinaTmzco/resources/app.asar/lib/services/synchronizer/migrations/1.js.map
DevTools failed to parse SourceMap: file:///tmp/.mount_JoplinaTmzco/resources/app.asar/lib/services/synchronizer/migrations/2.js.map
DevTools failed to parse SourceMap: file:///tmp/.mount_JoplinaTmzco/resources/app.asar/lib/JoplinServerApi.js.map
DevTools failed to parse SourceMap: file:///tmp/.mount_JoplinaTmzco/resources/app.asar/lib/services/SettingUtils.js.map
DevTools failed to parse SourceMap: file:///tmp/.mount_JoplinaTmzco/resources/app.asar/lib/services/keychain/KeychainService.js.map
DevTools failed to parse SourceMap: file:///tmp/.mount_JoplinaTmzco/resources/app.asar/lib/services/keychain/KeychainServiceDriver.node.js.map
DevTools failed to parse SourceMap: file:///tmp/.mount_JoplinaTmzco/resources/app.asar/lib/services/keychain/KeychainServiceDriverBase.js.map
DevTools failed to parse SourceMap: file:///tmp/.mount_JoplinaTmzco/resources/app.asar/lib/services/CommandService.js.map
DevTools failed to parse SourceMap: file:///tmp/.mount_JoplinaTmzco/resources/app.asar/lib/services/rest/errors.js.map
DevTools failed to parse SourceMap: file:///tmp/.mount_JoplinaTmzco/resources/app.asar/lib/services/rest/actionApi.desktop.js.map
DevTools failed to parse SourceMap: file:///tmp/.mount_JoplinaTmzco/resources/app.asar/lib/services/ResourceEditWatcher/index.js.map
DevTools failed to parse SourceMap: file:///tmp/.mount_JoplinaTmzco/resources/app.asar/lib/AsyncActionQueue.js.map
DevTools failed to parse SourceMap: file:///tmp/.mount_JoplinaTmzco/resources/app.asar/lib/services/KeymapService.js.map
DevTools failed to parse SourceMap: file:///tmp/.mount_JoplinaTmzco/resources/app.asar/lib/services/ResourceEditWatcher/reducer.js.map
DevTools failed to parse SourceMap: file:///tmp/.mount_JoplinaTmzco/resources/app.asar/node_modules/immer/dist/immer.cjs.development.js.map
DevTools failed to parse SourceMap: file:///tmp/.mount_JoplinaTmzco/resources/app.asar/lib/versionInfo.js.map
DevTools failed to parse SourceMap: file:///tmp/.mount_JoplinaTmzco/resources/app.asar/gui/Header/commands/focusSearch.js.map
DevTools failed to parse SourceMap: file:///tmp/.mount_JoplinaTmzco/resources/app.asar/gui/MainScreen/commands/editAlarm.js.map
DevTools failed to parse SourceMap: file:///tmp/.mount_JoplinaTmzco/resources/app.asar/gui/MainScreen/commands/exportPdf.js.map
DevTools failed to parse SourceMap: file:///tmp/.mount_JoplinaTmzco/resources/app.asar/gui/MainScreen/commands/hideModalMessage.js.map
DevTools failed to parse SourceMap: file:///tmp/.mount_JoplinaTmzco/resources/app.asar/gui/MainScreen/commands/moveToFolder.js.map
DevTools failed to parse SourceMap: file:///tmp/.mount_JoplinaTmzco/resources/app.asar/gui/MainScreen/commands/newNote.js.map
DevTools failed to parse SourceMap: file:///tmp/.mount_JoplinaTmzco/resources/app.asar/gui/MainScreen/commands/newNotebook.js.map
DevTools failed to parse SourceMap: file:///tmp/.mount_JoplinaTmzco/resources/app.asar/gui/MainScreen/commands/newTodo.js.map
DevTools failed to parse SourceMap: file:///tmp/.mount_JoplinaTmzco/resources/app.asar/gui/MainScreen/commands/print.js.map
DevTools failed to parse SourceMap: file:///tmp/.mount_JoplinaTmzco/resources/app.asar/gui/MainScreen/commands/renameFolder.js.map
DevTools failed to parse SourceMap: file:///tmp/.mount_JoplinaTmzco/resources/app.asar/gui/MainScreen/commands/renameTag.js.map
DevTools failed to parse SourceMap: file:///tmp/.mount_JoplinaTmzco/resources/app.asar/gui/MainScreen/commands/search.js.map
DevTools failed to parse SourceMap: file:///tmp/.mount_JoplinaTmzco/resources/app.asar/gui/MainScreen/commands/selectTemplate.js.map
DevTools failed to parse SourceMap: file:///tmp/.mount_JoplinaTmzco/resources/app.asar/gui/MainScreen/commands/setTags.js.map
DevTools failed to parse SourceMap: file:///tmp/.mount_JoplinaTmzco/resources/app.asar/gui/MainScreen/commands/showModalMessage.js.map
DevTools failed to parse SourceMap: file:///tmp/.mount_JoplinaTmzco/resources/app.asar/gui/MainScreen/commands/showNoteContentProperties.js.map
DevTools failed to parse SourceMap: file:///tmp/.mount_JoplinaTmzco/resources/app.asar/gui/MainScreen/commands/showNoteProperties.js.map
DevTools failed to parse SourceMap: file:///tmp/.mount_JoplinaTmzco/resources/app.asar/gui/MainScreen/commands/showShareNoteDialog.js.map
DevTools failed to parse SourceMap: file:///tmp/.mount_JoplinaTmzco/resources/app.asar/gui/MainScreen/commands/toggleNoteList.js.map
DevTools failed to parse SourceMap: file:///tmp/.mount_JoplinaTmzco/resources/app.asar/gui/MainScreen/commands/toggleSidebar.js.map
DevTools failed to parse SourceMap: file:///tmp/.mount_JoplinaTmzco/resources/app.asar/gui/MainScreen/commands/toggleVisiblePanes.js.map
DevTools failed to parse SourceMap: file:///tmp/.mount_JoplinaTmzco/resources/app.asar/gui/NoteEditor/commands/focusElementNoteBody.js.map
DevTools failed to parse SourceMap: file:///tmp/.mount_JoplinaTmzco/resources/app.asar/gui/NoteEditor/commands/focusElementNoteTitle.js.map
DevTools failed to parse SourceMap: file:///tmp/.mount_JoplinaTmzco/resources/app.asar/gui/NoteEditor/commands/showLocalSearch.js.map
DevTools failed to parse SourceMap: file:///tmp/.mount_JoplinaTmzco/resources/app.asar/gui/NoteEditor/commands/showRevisions.js.map
DevTools failed to parse SourceMap: file:///tmp/.mount_JoplinaTmzco/resources/app.asar/gui/NoteList/commands/focusElementNoteList.js.map
DevTools failed to parse SourceMap: file:///tmp/.mount_JoplinaTmzco/resources/app.asar/gui/SideBar/commands/focusElementSideBar.js.map
DevTools failed to parse SourceMap: file:///tmp/.mount_JoplinaTmzco/resources/app.asar/commands/focusElement.js.map
DevTools failed to parse SourceMap: file:///tmp/.mount_JoplinaTmzco/resources/app.asar/commands/startExternalEditing.js.map
DevTools failed to parse SourceMap: file:///tmp/.mount_JoplinaTmzco/resources/app.asar/commands/stopExternalEditing.js.map
DevTools failed to parse SourceMap: file:///tmp/.mount_JoplinaTmzco/resources/app.asar/lib/commands/synchronize.js.map
DevTools failed to parse SourceMap: file:///tmp/.mount_JoplinaTmzco/resources/app.asar/lib/commands/historyBackward.js.map
DevTools failed to parse SourceMap: file:///tmp/.mount_JoplinaTmzco/resources/app.asar/lib/commands/historyForward.js.map
DevTools failed to parse SourceMap: file:///tmp/.mount_JoplinaTmzco/resources/app.asar/gui/NoteEditor/commands/editorCommandDeclarations.js.map
DevTools failed to parse SourceMap: file:///tmp/.mount_JoplinaTmzco/resources/app.asar/gui/NoteListItem.js.map
DevTools failed to parse SourceMap: file:///tmp/.mount_JoplinaTmzco/resources/app.asar/gui/NoteEditor/NoteEditor.js.map
DevTools failed to parse SourceMap: file:///tmp/.mount_JoplinaTmzco/resources/app.asar/gui/NoteEditor/NoteBody/TinyMCE/TinyMCE.js.map
DevTools failed to parse SourceMap: file:///tmp/.mount_JoplinaTmzco/resources/app.asar/gui/NoteEditor/utils/types.js.map
DevTools failed to parse SourceMap: file:///tmp/.mount_JoplinaTmzco/resources/app.asar/gui/NoteEditor/utils/resourceHandling.js.map
DevTools failed to parse SourceMap: file:///tmp/.mount_JoplinaTmzco/resources/app.asar/gui/NoteEditor/NoteBody/TinyMCE/utils/useScroll.js.map
DevTools failed to parse SourceMap: file:///tmp/.mount_JoplinaTmzco/resources/app.asar/gui/NoteEditor/utils/contextMenu.js.map
DevTools failed to parse SourceMap: file:///tmp/.mount_JoplinaTmzco/resources/app.asar/node_modules/taboverride/build/output/taboverride.min.js.map
DevTools failed to parse SourceMap: file:///tmp/.mount_JoplinaTmzco/resources/app.asar/gui/NoteEditor/NoteBody/AceEditor/AceEditor.js.map
DevTools failed to parse SourceMap: file:///tmp/.mount_JoplinaTmzco/resources/app.asar/gui/NoteEditor/NoteBody/AceEditor/utils/index.js.map
DevTools failed to parse SourceMap: file:///tmp/.mount_JoplinaTmzco/resources/app.asar/gui/NoteEditor/NoteBody/AceEditor/utils/useListIdent.js.map
DevTools failed to parse SourceMap: file:///tmp/.mount_JoplinaTmzco/resources/app.asar/gui/NoteEditor/NoteBody/AceEditor/Toolbar.js.map
DevTools failed to parse SourceMap: file:///tmp/.mount_JoplinaTmzco/resources/app.asar/gui/NoteEditor/NoteBody/AceEditor/styles/index.js.map
DevTools failed to parse SourceMap: file:///tmp/.mount_JoplinaTmzco/resources/app.asar/gui/NoteEditor/NoteBody/AceEditor/utils/types.js.map
DevTools failed to parse SourceMap: file:///tmp/.mount_JoplinaTmzco/resources/app.asar/gui/NoteEditor/NoteBody/CodeMirror/CodeMirror.js.map
DevTools failed to parse SourceMap: file:///tmp/.mount_JoplinaTmzco/resources/app.asar/gui/NoteEditor/NoteBody/CodeMirror/utils/index.js.map
DevTools failed to parse SourceMap: file:///tmp/.mount_JoplinaTmzco/resources/app.asar/gui/NoteEditor/NoteBody/CodeMirror/Toolbar.js.map
DevTools failed to parse SourceMap: file:///tmp/.mount_JoplinaTmzco/resources/app.asar/gui/NoteEditor/NoteBody/CodeMirror/styles/index.js.map
DevTools failed to parse SourceMap: file:///tmp/.mount_JoplinaTmzco/resources/app.asar/gui/NoteEditor/NoteBody/CodeMirror/utils/types.js.map
DevTools failed to parse SourceMap: file:///tmp/.mount_JoplinaTmzco/resources/app.asar/gui/NoteEditor/NoteBody/CodeMirror/Editor.js.map
DevTools failed to parse SourceMap: file:///tmp/.mount_JoplinaTmzco/resources/app.asar/gui/NoteEditor/NoteBody/CodeMirror/utils/useListIdent.js.map
DevTools failed to parse SourceMap: file:///tmp/.mount_JoplinaTmzco/resources/app.asar/gui/NoteEditor/NoteBody/CodeMirror/utils/useScrollUtils.js.map
DevTools failed to parse SourceMap: file:///tmp/.mount_JoplinaTmzco/resources/app.asar/gui/NoteEditor/NoteBody/CodeMirror/utils/useCursorUtils.js.map
DevTools failed to parse SourceMap: file:///tmp/.mount_JoplinaTmzco/resources/app.asar/gui/NoteEditor/NoteBody/CodeMirror/utils/useLineSorting.js.map
DevTools failed to parse SourceMap: file:///tmp/.mount_JoplinaTmzco/resources/app.asar/gui/NoteEditor/NoteBody/CodeMirror/utils/useEditorSearch.js.map
DevTools failed to parse SourceMap: file:///tmp/.mount_JoplinaTmzco/resources/app.asar/gui/NoteEditor/NoteBody/CodeMirror/utils/useJoplinMode.js.map
DevTools failed to parse SourceMap: file:///tmp/.mount_JoplinaTmzco/resources/app.asar/gui/MultiNoteActions.js.map
DevTools failed to parse SourceMap: file:///tmp/.mount_JoplinaTmzco/resources/app.asar/gui/NoteToolbar/NoteToolbar.js.map
DevTools failed to parse SourceMap: file:///tmp/.mount_JoplinaTmzco/resources/app.asar/gui/NoteEditor/utils/index.js.map
DevTools failed to parse SourceMap: file:///tmp/.mount_JoplinaTmzco/resources/app.asar/gui/NoteEditor/utils/useSearchMarkers.js.map
DevTools failed to parse SourceMap: file:///tmp/.mount_JoplinaTmzco/resources/app.asar/gui/NoteEditor/utils/useNoteSearchBar.js.map
DevTools failed to parse SourceMap: file:///tmp/.mount_JoplinaTmzco/resources/app.asar/gui/NoteEditor/utils/useMessageHandler.js.map
DevTools failed to parse SourceMap: file:///tmp/.mount_JoplinaTmzco/resources/app.asar/gui/NoteEditor/utils/useWindowCommandHandler.js.map
DevTools failed to parse SourceMap: file:///tmp/.mount_JoplinaTmzco/resources/app.asar/gui/NoteEditor/utils/useDropHandler.js.map
DevTools failed to parse SourceMap: file:///tmp/.mount_JoplinaTmzco/resources/app.asar/gui/NoteEditor/utils/useMarkupToHtml.js.map
DevTools failed to parse SourceMap: file:///tmp/.mount_JoplinaTmzco/resources/app.asar/gui/NoteEditor/utils/useFormNote.js.map
DevTools failed to parse SourceMap: file:///tmp/.mount_JoplinaTmzco/resources/app.asar/lib/hooks/usePrevious.js.map
DevTools failed to parse SourceMap: file:///tmp/.mount_JoplinaTmzco/resources/app.asar/gui/NoteEditor/styles/index.js.map
DevTools failed to parse SourceMap: file:///tmp/.mount_JoplinaTmzco/resources/app.asar/node_modules/performance-now/lib/performance-now.js.map
DevTools failed to parse SourceMap: file:///tmp/.mount_JoplinaTmzco/resources/app.asar/gui/NoteContentPropertiesDialog.js.map
DevTools failed to parse SourceMap: file:///tmp/.mount_JoplinaTmzco/resources/app.asar/gui/ShareNoteDialog.js.map
DevTools failed to parse SourceMap: file:///tmp/.mount_JoplinaTmzco/resources/app.asar/gui/ErrorBoundary.js.map
DevTools failed to parse SourceMap: file:///tmp/.mount_JoplinaTmzco/resources/app.asar/gui/ResourceScreen.js.map```

bug stale

Most helpful comment

Hi @GingerPapa The extra space you're experiencing is a temporary bug that was introduced in v1.0.241 but has since been fixed and is available in the current pre-release. It will be available in the next stable release as well.

As for the white screen flashes, I can't reproduce the problem but I suspect it's from slow screen refreshes. Are you editing fairly large notes when it happens? I'm inclined to say that this specific issue won't be fixed as the Joplin rendering is fairly performant already and there isn't likely much that can be done to help you.

All 3 comments

Hi @GingerPapa The extra space you're experiencing is a temporary bug that was introduced in v1.0.241 but has since been fixed and is available in the current pre-release. It will be available in the next stable release as well.

As for the white screen flashes, I can't reproduce the problem but I suspect it's from slow screen refreshes. Are you editing fairly large notes when it happens? I'm inclined to say that this specific issue won't be fixed as the Joplin rendering is fairly performant already and there isn't likely much that can be done to help you.

Hey there, it looks like there has been no activity on this issue recently. Has the issue been fixed, or does it still require the community's attention? This issue may be closed if no further activity occurs. You may comment on the issue and I will leave it open. Thank you for your contributions.

Closing this issue after a prolonged period of inactivity. If this issue is still present in the latest release, please feel free to create a new issue with up-to-date information.

Was this page helpful?
0 / 5 - 0 ratings