Joplin 1.0.100 for Windows blank window after start

Joplin 1.0.100 for Windows (running on 64-bit Windows 10 Pro 1709) starts normally, showing notes and everything else, then after about a second hides/deletes its window contents and stays blank. I can see and access menus, but they show nothing except About which shows the version normally. Web clipper service continues to work in the background and is fully functional.

Screenshot:

Could you enable the console as described here and let me know if there’s any error or warning?

Console output is here with plenty of errors/warnings: https://pastebin.com/i1p6ZShk

Log output is here: https://pastebin.com/61mcfQWh

Perhaps it is important to say that all of this worked normally prior to the latest version. I have also changed nothing with the system, only updated Joplin.

Hmm, I cannot replicate this unfortunately. The error means that somehow the selection or cursor is constantly changing inside the note. Any chance you could post the text of the note that’s open when you open Joplin? Does it happen with all the notes by the way?

It happened to me as well after the update when I accidentally hit the <hr> button on the new toolbar (the note was in markdown rendered view only).

I am just evaluating joplin and I don’t have anything beyond test notes.
I am saying that because the problem corrected by itself with a complete uninstall (.config folder deleted also) and reinstall.

update (replicated)

Try this to replicate

  1. copy this article https://opensource.com/article/17/12/joplin-open-source-evernote-alternative and paste it into a new note
  2. ctrl + L until “markdown rendered view” only
  3. press the new “toolbar” buttons

joplin went “blank” again

related: https://github.com/laurent22/joplin/issues/622



Clearing all caches (developer tools > Application > Clear Storage) did nothing.
Deleting AppData\Roaming folder did nothing.

Manually editing (database.sqlite) the problematic note body field solved it.


developer tools - console errors

C:\Users\User\AppData\Local\Programs\Joplin\resources\app.asar\node_modules\react-dom\cjs\react-dom.development.js:14113 The above error occurred in the <ReactAce> component:
    in ReactAce (created by NoteTextComponent)
    in div (created by NoteTextComponent)
    in NoteTextComponent (created by Connect(NoteTextComponent))
    in Connect(NoteTextComponent) (created by MainScreenComponent)
    in div (created by MainScreenComponent)
    in MainScreenComponent (created by Connect(MainScreenComponent))
    in Connect(MainScreenComponent) (created by NavigatorComponent)
    in div (created by NavigatorComponent)
    in NavigatorComponent (created by Connect(NavigatorComponent))
    in Connect(NavigatorComponent) (created by RootComponent)
    in RootComponent (created by Connect(RootComponent))
    in Connect(RootComponent)
    in Provider

Consider adding an error boundary to your tree to customize error handling behavior.
Visit https://fb.me/react-error-boundaries to learn more about error boundaries.
logCapturedError @ C:\Users\User\AppData\Local\Programs\Joplin\resources\app.asar\node_modules\react-dom\cjs\react-dom.development.js:14113
logError @ C:\Users\User\AppData\Local\Programs\Joplin\resources\app.asar\node_modules\react-dom\cjs\react-dom.development.js:14152
update.callback @ C:\Users\User\AppData\Local\Programs\Joplin\resources\app.asar\node_modules\react-dom\cjs\react-dom.development.js:14809
callCallback @ C:\Users\User\AppData\Local\Programs\Joplin\resources\app.asar\node_modules\react-dom\cjs\react-dom.development.js:10764
commitUpdateQueue @ C:\Users\User\AppData\Local\Programs\Joplin\resources\app.asar\node_modules\react-dom\cjs\react-dom.development.js:10808
commitLifeCycles @ C:\Users\User\AppData\Local\Programs\Joplin\resources\app.asar\node_modules\react-dom\cjs\react-dom.development.js:14283
commitAllLifeCycles @ C:\Users\User\AppData\Local\Programs\Joplin\resources\app.asar\node_modules\react-dom\cjs\react-dom.development.js:15342
callCallback @ C:\Users\User\AppData\Local\Programs\Joplin\resources\app.asar\node_modules\react-dom\cjs\react-dom.development.js:100
invokeGuardedCallbackDev @ C:\Users\User\AppData\Local\Programs\Joplin\resources\app.asar\node_modules\react-dom\cjs\react-dom.development.js:138
invokeGuardedCallback @ C:\Users\User\AppData\Local\Programs\Joplin\resources\app.asar\node_modules\react-dom\cjs\react-dom.development.js:187
commitRoot @ C:\Users\User\AppData\Local\Programs\Joplin\resources\app.asar\node_modules\react-dom\cjs\react-dom.development.js:15481
completeRoot @ C:\Users\User\AppData\Local\Programs\Joplin\resources\app.asar\node_modules\react-dom\cjs\react-dom.development.js:16496
performWorkOnRoot @ C:\Users\User\AppData\Local\Programs\Joplin\resources\app.asar\node_modules\react-dom\cjs\react-dom.development.js:16440
performWork @ C:\Users\User\AppData\Local\Programs\Joplin\resources\app.asar\node_modules\react-dom\cjs\react-dom.development.js:16358
performSyncWork @ C:\Users\User\AppData\Local\Programs\Joplin\resources\app.asar\node_modules\react-dom\cjs\react-dom.development.js:16330
requestWork @ C:\Users\User\AppData\Local\Programs\Joplin\resources\app.asar\node_modules\react-dom\cjs\react-dom.development.js:16230
scheduleWork$1 @ C:\Users\User\AppData\Local\Programs\Joplin\resources\app.asar\node_modules\react-dom\cjs\react-dom.development.js:16096
enqueueSetState @ C:\Users\User\AppData\Local\Programs\Joplin\resources\app.asar\node_modules\react-dom\cjs\react-dom.development.js:11185
Component.setState @ C:\Users\User\AppData\Local\Programs\Joplin\resources\app.asar\node_modules\react\cjs\react.devel…:273
updateHtml @ C:\Users\User\AppData\Local\Programs\Joplin\resources\app.asar\gui\NoteText.min.js:676
reloadNote @ C:\Users\User\AppData\Local\Programs\Joplin\resources\app.asar\gui\NoteText.min.js:367
_tickCallback @ internal/process/next_tick.js:188
C:\Users\User\AppData\Local\Programs\Joplin\resources\app.asar\node_modules\fbjs\lib\invariant.js:42 Uncaught (in promise) Error: Maximum update depth exceeded. This can happen when a component repeatedly calls setState inside componentWillUpdate or componentDidUpdate. React limits the number of nested updates to prevent infinite loops.
    at invariant (C:\Users\User\AppData\Local\Programs\Joplin\resources\app.asar\node_modules\fbjs\lib\invariant.js:42)
    at scheduleWork$1 (C:\Users\User\AppData\Local\Programs\Joplin\resources\app.asar\node_modules\react-dom\cjs\react-dom.development.js:16099)
    at Object.enqueueSetState (C:\Users\User\AppData\Local\Programs\Joplin\resources\app.asar\node_modules\react-dom\cjs\react-dom.development.js:11185)
    at NoteTextComponent.Component.setState (C:\Users\User\AppData\Local\Programs\Joplin\resources\app.asar\node_modules\react\cjs\react.devel…:273)
    at updateSelectionRange (C:\Users\User\AppData\Local\Programs\Joplin\resources\app.asar\gui\NoteText.min.js:140)
    at Object.NoteTextComponent.aceEditor_selectionChange.selection [as onSelectionChange] (C:\Users\User\AppData\Local\Programs\Joplin\resources\app.asar\gui\NoteText.min.js:145)
    at ReactAce.onSelectionChange (C:\Users\User\AppData\Local\Programs\Joplin\resources\app.asar\node_modules\react-ace\lib\ace.js:285)
    at Selection.EventEmitter._emit.EventEmitter._dispatchEvent (C:\Users\User\AppData\Local\Programs\Joplin\resources\app.asar\node_modules\brace\index.js:3849)
    at Selection.setSelectionAnchor (C:\Users\User\AppData\Local\Programs\Joplin\resources\app.asar\node_modules\brace\index.js:5458)
    at Selection.setRange.setSelectionRange (C:\Users\User\AppData\Local\Programs\Joplin\resources\app.asar\node_modules\brace\index.js:5526)
invariant @ C:\Users\User\AppData\Local\Programs\Joplin\resources\app.asar\node_modules\fbjs\lib\invariant.js:42
scheduleWork$1 @ C:\Users\User\AppData\Local\Programs\Joplin\resources\app.asar\node_modules\react-dom\cjs\react-dom.development.js:16099
enqueueSetState @ C:\Users\User\AppData\Local\Programs\Joplin\resources\app.asar\node_modules\react-dom\cjs\react-dom.development.js:11185
Component.setState @ C:\Users\User\AppData\Local\Programs\Joplin\resources\app.asar\node_modules\react\cjs\react.devel…:273
updateSelectionRange @ C:\Users\User\AppData\Local\Programs\Joplin\resources\app.asar\gui\NoteText.min.js:140
NoteTextComponent.aceEditor_selectionChange.selection @ C:\Users\User\AppData\Local\Programs\Joplin\resources\app.asar\gui\NoteText.min.js:145
onSelectionChange @ C:\Users\User\AppData\Local\Programs\Joplin\resources\app.asar\node_modules\react-ace\lib\ace.js:285
EventEmitter._emit.EventEmitter._dispatchEvent @ C:\Users\User\AppData\Local\Programs\Joplin\resources\app.asar\node_modules\brace\index.js:3849
setSelectionAnchor @ C:\Users\User\AppData\Local\Programs\Joplin\resources\app.asar\node_modules\brace\index.js:5458
setRange.setSelectionRange @ C:\Users\User\AppData\Local\Programs\Joplin\resources\app.asar\node_modules\brace\index.js:5526
fromOrientedRange @ C:\Users\User\AppData\Local\Programs\Joplin\resources\app.asar\node_modules\brace\index.js:5961
toSingleRange @ C:\Users\User\AppData\Local\Programs\Joplin\resources\app.asar\node_modules\brace\index.js:18688
fromJSON @ C:\Users\User\AppData\Local\Programs\Joplin\resources\app.asar\node_modules\brace\index.js:6022
componentWillReceiveProps @ C:\Users\User\AppData\Local\Programs\Joplin\resources\app.asar\node_modules\react-ace\lib\ace.js:244
callComponentWillReceiveProps @ C:\Users\User\AppData\Local\Programs\Joplin\resources\app.asar\node_modules\react-dom\cjs\react-dom.development.js:11413
updateClassInstance @ C:\Users\User\AppData\Local\Programs\Joplin\resources\app.asar\node_modules\react-dom\cjs\react-dom.development.js:11605
updateClassComponent @ C:\Users\User\AppData\Local\Programs\Joplin\resources\app.asar\node_modules\react-dom\cjs\react-dom.development.js:13045
beginWork @ C:\Users\User\AppData\Local\Programs\Joplin\resources\app.asar\node_modules\react-dom\cjs\react-dom.development.js:13715
performUnitOfWork @ C:\Users\User\AppData\Local\Programs\Joplin\resources\app.asar\node_modules\react-dom\cjs\react-dom.development.js:15741
workLoop @ C:\Users\User\AppData\Local\Programs\Joplin\resources\app.asar\node_modules\react-dom\cjs\react-dom.development.js:15780
renderRoot @ C:\Users\User\AppData\Local\Programs\Joplin\resources\app.asar\node_modules\react-dom\cjs\react-dom.development.js:15820
performWorkOnRoot @ C:\Users\User\AppData\Local\Programs\Joplin\resources\app.asar\node_modules\react-dom\cjs\react-dom.development.js:16437
performWork @ C:\Users\User\AppData\Local\Programs\Joplin\resources\app.asar\node_modules\react-dom\cjs\react-dom.development.js:16358
performSyncWork @ C:\Users\User\AppData\Local\Programs\Joplin\resources\app.asar\node_modules\react-dom\cjs\react-dom.development.js:16330
requestWork @ C:\Users\User\AppData\Local\Programs\Joplin\resources\app.asar\node_modules\react-dom\cjs\react-dom.development.js:16230
scheduleWork$1 @ C:\Users\User\AppData\Local\Programs\Joplin\resources\app.asar\node_modules\react-dom\cjs\react-dom.development.js:16096
enqueueSetState @ C:\Users\User\AppData\Local\Programs\Joplin\resources\app.asar\node_modules\react-dom\cjs\react-dom.development.js:11185
Component.setState @ C:\Users\User\AppData\Local\Programs\Joplin\resources\app.asar\node_modules\react\cjs\react.devel…:273
updateHtml @ C:\Users\User\AppData\Local\Programs\Joplin\resources\app.asar\gui\NoteText.min.js:676
reloadNote @ C:\Users\User\AppData\Local\Programs\Joplin\resources\app.asar\gui\NoteText.min.js:367
_tickCallback @ internal/process/next_tick.js:188
Sure. This is the note that opens Joplin:

1. Download the firmware to your PC and open it with WinRAR or 7zip

1. Download the firmware to your PC and open it with WinRAR or 7zip
2. Go to META-INF\com\mp\ miui_pro_root and replace the miuipro_root file with the one in this folder
3. Close the file and copy to the phone
4. Reboot and TWRP flash in the usual way
5. After the flash remove the remaining ®SuperSU app

[miuipro_root](:/0eede45ea0244291a6c47a7403c17c88)

I cannot go to other notes anymore, so it always opens to this note and goes blank without allowing me to change anything.

@zarn in case you didn’t already, you can use http://sqlitebrowser.org/ to edit the C:\Users\username\.config\joplin-desktop\database.sqlite

if you want further guidance, don’t hesitate

Thanks, useful app!
I can now view and edit notes, but I have no idea what I should be doing since I don’t know:

  1. where does the database hold the info on which note gets to be opened on start (in order to change it)
  2. which notes cause the bug (to know the ones to avoid)

@zarn

  1. The first note to be opened is the last you updated/added. It is a common behavior for this kind of software (note taking). It can be changed from the “view” menu of Joplin.
    Assuming you open the database with the “sqlite browser” (tab “Browse Data” > table “notes”) you can sort the notes accordingly (e.g. click on “user_updated_time” to sort by updated time). You edit the problematic first note’s “body” field (or title?) and click the button “Write Changes”.
    (the database holds the sorting info in table “settings” - Again tab “Browse Data” > table “settings” > 9 “notes.sortOrder.field”)
  2. I do not know which notes cause the bug… I just found out about Joplin, no experience here. I describe in my first comment how I managed to bring Joplin in this “blank page” state twice.

Thank you for your help. I experimented a bit, changed some notes, sorting order and such, but only by deleting the note in question could Joplin start normally again. Good thing it was an unimportant note.

Have the same issue. Reverting to 1.0.99 helped as a temporary solution while the bug is being fixed

Update : bug is fixed (?) see https://github.com/laurent22/joplin/issues/623

Yes it should be fixed in the next release.

v101 is released now and should have a fix for this bug. If it’s still happening, please post here.