Error loading app after update to 3.4.12

Operating system

macOS

Joplin version

3.4.12

What issue do you have?

I just updated to 3.4.12, and am getting the error below. I tried clicking on the link in the error message to restart in safe mode but this does not work. The Help menu is completely empty, so there's no "restart in safe mode" option, and I can't figure out where to try to add the flags.txt file.

Can anyone suggest how I can proceed from here?

Thanks,

Shaun

Error
Joplin encountered a fatal error and could not continue.

To report the error, please copy the entire content of this page and post it on Joplin forum or GitHub.

If the error persists you may try to restart in safe mode, which will temporarily disable all plugins.

Message
Cannot read properties of undefined (reading 'key')

Version info
Joplin for Desktop

Copyright © 2016-2025 Laurent Cozic
Joplin 3.4.12 (prod, darwin)

Device: darwin, Intel(R) Core(TM) i5-4258U CPU @ 2.40GHz
Client ID: 1cc5d5c456a1438eb7e87006b7fdac76
Sync Version: 3
Profile Version: 48
Keychain Supported: Yes
Alternative instance ID: -

Revision: e9a9f68

Backup: 1.4.3
Bidirectional Links: 0.1.1
Enhanced Editing: 0.1.0
Favorites: 1.3.0
Freehand Drawing: 3.1.0
Math Mode: 0.5.3
Note Tabs: 1.4.0
Plugin Bundle: 0.5.5
ReMoods Theme: 4.3.2
Space Indenter: 0.2.2
Tagging: 1.0.1
Plugins
[
{
"id": "joplin.plugin.note.tabs",
"name": "Note Tabs",
"enabled": true,
"version": "1.4.0"
},
{
"id": "joplin.plugin.space-indenter",
"name": "Space Indenter",
"enabled": true,
"version": "0.2.2"
},
{
"id": "com.septemberhx.pluginBundle",
"name": "Plugin Bundle",
"enabled": false,
"version": "0.5.5"
},
{
"id": "org.yangby.joplin.plugins.enhanced-editing",
"name": "Enhanced Editing",
"enabled": true,
"version": "0.1.0"
},
{
"id": "joplin-plugin-bidirectional-links",
"name": "Bidirectional Links",
"enabled": true,
"version": "0.1.1"
},
{
"id": "joplin.plugin.benji.favorites",
"name": "Favorites",
"enabled": true,
"version": "1.3.0"
},
{
"id": "plugin.calebjohn.MathMode",
"name": "Math Mode",
"enabled": true,
"version": "0.5.3"
},
{
"id": "joplin.plugin.remoods.theme",
"name": "ReMoods Theme",
"enabled": false,
"version": "4.3.2"
},
{
"id": "io.github.jackgruber.copytags",
"name": "Tagging",
"enabled": true,
"version": "1.0.1"
},
{
"id": "io.github.jackgruber.backup",
"name": "Backup",
"enabled": true,
"version": "1.4.3"
},
{
"id": "io.github.personalizedrefrigerator.js-draw",
"name": "Freehand Drawing",
"enabled": true,
"version": "3.1.0"
}
]
Stack trace
TypeError: Cannot read properties of undefined (reading 'key')
at calculateChildrenSizes (file:///private/var/folders/5s/d0bknnhx1_d_f7tcyrf_7nhm0000gp/T/AppTranslocation/FFF69403-F8B8-408D-8767-B571BB3D737F/d/Joplin.app/Contents/Resources/app.asar/main-html.bundle.js:4353:6275)
at calculateChildrenSizes (file:///private/var/folders/5s/d0bknnhx1_d_f7tcyrf_7nhm0000gp/T/AppTranslocation/FFF69403-F8B8-408D-8767-B571BB3D737F/d/Joplin.app/Contents/Resources/app.asar/main-html.bundle.js:4353:6690)
at file:///private/var/folders/5s/d0bknnhx1_d_f7tcyrf_7nhm0000gp/T/AppTranslocation/FFF69403-F8B8-408D-8767-B571BB3D737F/d/Joplin.app/Contents/Resources/app.asar/main-html.bundle.js:4353:7313
at mountMemo (file:///private/var/folders/5s/d0bknnhx1_d_f7tcyrf_7nhm0000gp/T/AppTranslocation/FFF69403-F8B8-408D-8767-B571BB3D737F/d/Joplin.app/Contents/Resources/app.asar/main-html.bundle.js:3901:9746)
at Object.useMemo (file:///private/var/folders/5s/d0bknnhx1_d_f7tcyrf_7nhm0000gp/T/AppTranslocation/FFF69403-F8B8-408D-8767-B571BB3D737F/d/Joplin.app/Contents/Resources/app.asar/main-html.bundle.js:3901:15081)
at useMemo (file:///private/var/folders/5s/d0bknnhx1_d_f7tcyrf_7nhm0000gp/T/AppTranslocation/FFF69403-F8B8-408D-8767-B571BB3D737F/d/Joplin.app/Contents/Resources/app.asar/main-html.bundle.js:3823:1160)
at useLayoutItemSizes (file:///private/var/folders/5s/d0bknnhx1_d_f7tcyrf_7nhm0000gp/T/AppTranslocation/FFF69403-F8B8-408D-8767-B571BB3D737F/d/Joplin.app/Contents/Resources/app.asar/main-html.bundle.js:4353:7149)
at ResizableLayout (file:///private/var/folders/5s/d0bknnhx1_d_f7tcyrf_7nhm0000gp/T/AppTranslocation/FFF69403-F8B8-408D-8767-B571BB3D737F/d/Joplin.app/Contents/Resources/app.asar/main-html.bundle.js:4607:20273)
at renderWithHooks (file:///private/var/folders/5s/d0bknnhx1_d_f7tcyrf_7nhm0000gp/T/AppTranslocation/FFF69403-F8B8-408D-8767-B571BB3D737F/d/Joplin.app/Contents/Resources/app.asar/main-html.bundle.js:3901:419)
at mountIndeterminateComponent (file:///private/var/folders/5s/d0bknnhx1_d_f7tcyrf_7nhm0000gp/T/AppTranslocation/FFF69403-F8B8-408D-8767-B571BB3D737F/d/Joplin.app/Contents/Resources/app.asar/main-html.bundle.js:3917:11328)
Component stack

at ResizableLayout (file:///private/var/folders/5s/d0bknnhx1_d_f7tcyrf_7nhm0000gp/T/AppTranslocation/FFF69403-F8B8-408D-8767-B571BB3D737F/d/Joplin.app/Contents/Resources/app.asar/main-html.bundle.js:4607:18337)
at div
at MainScreenComponent (file:///private/var/folders/5s/d0bknnhx1_d_f7tcyrf_7nhm0000gp/T/AppTranslocation/FFF69403-F8B8-408D-8767-B571BB3D737F/d/Joplin.app/Contents/Resources/app.asar/main-html.bundle.js:5614:491)
at ConnectFunction (file:///private/var/folders/5s/d0bknnhx1_d_f7tcyrf_7nhm0000gp/T/AppTranslocation/FFF69403-F8B8-408D-8767-B571BB3D737F/d/Joplin.app/Contents/Resources/app.asar/main-html.bundle.js:3964:23757)
at div
at NavigatorComponent (file:///private/var/folders/5s/d0bknnhx1_d_f7tcyrf_7nhm0000gp/T/AppTranslocation/FFF69403-F8B8-408D-8767-B571BB3D737F/d/Joplin.app/Contents/Resources/app.asar/main-html.bundle.js:5844:9916)
at ConnectFunction (file:///private/var/folders/5s/d0bknnhx1_d_f7tcyrf_7nhm0000gp/T/AppTranslocation/FFF69403-F8B8-408D-8767-B571BB3D737F/d/Joplin.app/Contents/Resources/app.asar/main-html.bundle.js:3964:23757)
at PopupNotificationProvider (file:///private/var/folders/5s/d0bknnhx1_d_f7tcyrf_7nhm0000gp/T/AppTranslocation/FFF69403-F8B8-408D-8767-B571BB3D737F/d/Joplin.app/Contents/Resources/app.asar/main-html.bundle.js:4787:1008)
at xy.ThemeProvider (file:///private/var/folders/5s/d0bknnhx1_d_f7tcyrf_7nhm0000gp/T/AppTranslocation/FFF69403-F8B8-408D-8767-B571BB3D737F/d/Joplin.app/Contents/Resources/app.asar/main-html.bundle.js:4412:264)
at ae (file:///private/var/folders/5s/d0bknnhx1_d_f7tcyrf_7nhm0000gp/T/AppTranslocation/FFF69403-F8B8-408D-8767-B571BB3D737F/d/Joplin.app/Contents/Resources/app.asar/main-html.bundle.js:4397:2902)
at RootComponent (file:///private/var/folders/5s/d0bknnhx1_d_f7tcyrf_7nhm0000gp/T/AppTranslocation/FFF69403-F8B8-408D-8767-B571BB3D737F/d/Joplin.app/Contents/Resources/app.asar/main-html.bundle.js:6402:62)
at ConnectFunction (file:///private/var/folders/5s/d0bknnhx1_d_f7tcyrf_7nhm0000gp/T/AppTranslocation/FFF69403-F8B8-408D-8767-B571BB3D737F/d/Joplin.app/Contents/Resources/app.asar/main-html.bundle.js:3964:23757)
at ErrorBoundary (file:///private/var/folders/5s/d0bknnhx1_d_f7tcyrf_7nhm0000gp/T/AppTranslocation/FFF69403-F8B8-408D-8767-B571BB3D737F/d/Joplin.app/Contents/Resources/app.asar/main-html.bundle.js:5358:1200)
at Provider (file:///private/var/folders/5s/d0bknnhx1_d_f7tcyrf_7nhm0000gp/T/AppTranslocation/FFF69403-F8B8-408D-8767-B571BB3D737F/d/Joplin.app/Contents/Resources/app.asar/main-html.bundle.js:3968:1460)

I just tried opening in safe mode via Terminal using “open -a Joplin --args --safe”. It seemed to work but am now getting this message

An issue has been created here:

For safe mode, please follow the instructions here:

Thanks for the reply. I am having trouble with this step:

Click on menu Help > Open Profile Directory and add a file named "flags.txt" in your directory with the following content: --open-dev-tools --debug --log-level debug

There are no options in the help directory. I think I can locate the profile directory but I don’t know how to add a file named "flags.txt". How do I create this type of file. Sorry for my ignorance.

Never mind. I figured out how to add the flags.txt file with the content--safe-mode --open-dev-tools --debug --log-level debug

Still no success with Joplin starting in safe mode though.

It looks like your application layout is corrupted and makes the application crash. Normally it should be able to handle invalid layouts but it looks like it's not.

What you could try is open your settings in ~/.config/joplin-desktop/settings.json then delete the key ui.layout.

For example if the content is this:

{
	"style.scrollbarSize": "12",
	"ui.layout": {
		"key": "root",
		"children": [
			{
				"key": "sideBar",
				"visible": true,
				"width": 357
			},
			{
				"key": "noteList",
				"visible": true,
				"width": 399
			},
			{
				"key": "editor",
				"visible": true
			}
		],
		"visible": true
	},
	"autoUpdateEnabled": true
]

it should become this after deleting the complete ui.layout key:

{
	"style.scrollbarSize": "12",
	"autoUpdateEnabled": true
]

Then close the app and restart it

Thanks for the suggestion. I followed the instructions and deleted the ui.layout key, but am still getting an error. The key above and below the ui.layout key did not appear as “style.scrollbarSize” or “autoUpdateEnabled”.

There was another entry called featureFlag.autoUpdaterServiceEnabled towards the bottom. It was set to false. I changed it to true, but this also made no difference to the error message.

My folder structure seems a bit strange. The settings file was not in a config folder but in a JoplinBackup folder within my home directory?

Is there an option to remove all traces of Joplin files (other than the notebook jex file) and start fresh?

Error

Joplin encountered a fatal error and could not continue.

To report the error, please copy the *entire content* of this page and post it on Joplin forum or GitHub.

If the error persists you may try to restart in safe mode, which will temporarily disable all plugins.

Message

Cannot read properties of undefined (reading 'key')

Version info

Joplin for Desktop

Copyright © 2016-2025 Laurent Cozic
Joplin 3.4.12 (prod, darwin)

Device: darwin, Intel(R) Core(TM) i5-4258U CPU @ 2.40GHz
Client ID: 1cc5d5c456a1438eb7e87006b7fdac76
Sync Version: 3
Profile Version: 48
Keychain Supported: Yes
Alternative instance ID: -

Revision: e9a9f68

Backup: 1.4.3
Bidirectional Links: 0.1.1
Enhanced Editing: 0.1.0
Favorites: 1.3.0
Freehand Drawing: 3.1.0
Math Mode: 0.5.3
Note Tabs: 1.4.0
Plugin Bundle: 0.5.5
ReMoods Theme: 4.3.2
Space Indenter: 0.2.2
Tagging: 1.0.1

Plugins

[
    {
        "id": "joplin.plugin.note.tabs",
        "name": "Note Tabs",
        "enabled": true,
        "version": "1.4.0"
    },
    {
        "id": "joplin.plugin.space-indenter",
        "name": "Space Indenter",
        "enabled": true,
        "version": "0.2.2"
    },
    {
        "id": "com.septemberhx.pluginBundle",
        "name": "Plugin Bundle",
        "enabled": false,
        "version": "0.5.5"
    },
    {
        "id": "org.yangby.joplin.plugins.enhanced-editing",
        "name": "Enhanced Editing",
        "enabled": true,
        "version": "0.1.0"
    },
    {
        "id": "joplin-plugin-bidirectional-links",
        "name": "Bidirectional Links",
        "enabled": true,
        "version": "0.1.1"
    },
    {
        "id": "joplin.plugin.benji.favorites",
        "name": "Favorites",
        "enabled": true,
        "version": "1.3.0"
    },
    {
        "id": "plugin.calebjohn.MathMode",
        "name": "Math Mode",
        "enabled": true,
        "version": "0.5.3"
    },
    {
        "id": "joplin.plugin.remoods.theme",
        "name": "ReMoods Theme",
        "enabled": false,
        "version": "4.3.2"
    },
    {
        "id": "io.github.jackgruber.copytags",
        "name": "Tagging",
        "enabled": true,
        "version": "1.0.1"
    },
    {
        "id": "io.github.jackgruber.backup",
        "name": "Backup",
        "enabled": true,
        "version": "1.4.3"
    },
    {
        "id": "io.github.personalizedrefrigerator.js-draw",
        "name": "Freehand Drawing",
        "enabled": true,
        "version": "3.1.0"
    }
]

Stack trace

TypeError: Cannot read properties of undefined (reading 'key')
    at calculateChildrenSizes (file:///Applications/Joplin.app/Contents/Resources/app.asar/main-html.bundle.js:4353:6275)
    at calculateChildrenSizes (file:///Applications/Joplin.app/Contents/Resources/app.asar/main-html.bundle.js:4353:6690)
    at file:///Applications/Joplin.app/Contents/Resources/app.asar/main-html.bundle.js:4353:7313
    at mountMemo (file:///Applications/Joplin.app/Contents/Resources/app.asar/main-html.bundle.js:3901:9746)
    at Object.useMemo (file:///Applications/Joplin.app/Contents/Resources/app.asar/main-html.bundle.js:3901:15081)
    at useMemo (file:///Applications/Joplin.app/Contents/Resources/app.asar/main-html.bundle.js:3823:1160)
    at useLayoutItemSizes (file:///Applications/Joplin.app/Contents/Resources/app.asar/main-html.bundle.js:4353:7149)
    at ResizableLayout (file:///Applications/Joplin.app/Contents/Resources/app.asar/main-html.bundle.js:4607:20273)
    at renderWithHooks (file:///Applications/Joplin.app/Contents/Resources/app.asar/main-html.bundle.js:3901:419)
    at mountIndeterminateComponent (file:///Applications/Joplin.app/Contents/Resources/app.asar/main-html.bundle.js:3917:11328)

Component stack

    at ResizableLayout (file:///Applications/Joplin.app/Contents/Resources/app.asar/main-html.bundle.js:4607:18337)
    at div
    at MainScreenComponent (file:///Applications/Joplin.app/Contents/Resources/app.asar/main-html.bundle.js:5614:491)
    at ConnectFunction (file:///Applications/Joplin.app/Contents/Resources/app.asar/main-html.bundle.js:3964:23757)
    at div
    at NavigatorComponent (file:///Applications/Joplin.app/Contents/Resources/app.asar/main-html.bundle.js:5844:9916)
    at ConnectFunction (file:///Applications/Joplin.app/Contents/Resources/app.asar/main-html.bundle.js:3964:23757)
    at PopupNotificationProvider (file:///Applications/Joplin.app/Contents/Resources/app.asar/main-html.bundle.js:4787:1008)
    at xy.ThemeProvider (file:///Applications/Joplin.app/Contents/Resources/app.asar/main-html.bundle.js:4412:264)
    at ae (file:///Applications/Joplin.app/Contents/Resources/app.asar/main-html.bundle.js:4397:2902)
    at RootComponent (file:///Applications/Joplin.app/Contents/Resources/app.asar/main-html.bundle.js:6402:62)
    at ConnectFunction (file:///Applications/Joplin.app/Contents/Resources/app.asar/main-html.bundle.js:3964:23757)
    at ErrorBoundary (file:///Applications/Joplin.app/Contents/Resources/app.asar/main-html.bundle.js:5358:1200)
    at Provider (file:///Applications/Joplin.app/Contents/Resources/app.asar/main-html.bundle.js:3968:1460)

You’re not looking at the right place. The .config folder is a hidden folder on Linux and probably on Mac as well, which is likely why you didn’t find it. You need to navigate into the ~/.config/joplin-desktop folder as stated

Thanks. I did not know about hidden folders. I’ve managed to start in safe mode, and then restarted the app after that. I think that the app is working normally again now.

But you might not want to always run in safe mode as some features will be disabled. You could try again to fix the settings.json file as you did earlier, but this time on the right folder

I deleted the ui layout key in the ~/.config file. Is that what you mean by “fix” the settings.json file?

Yes that's it. Does it work without safe mode now?

It does. It also seems to have improved the scrolling behaviour. Thanks for your help.

1 Like