Delay/lag while typing

Hi there - on the dev Joplin 1.3.5 version.

I'm experiencing some lagging while typing out in notes. I'll type the words, and a split second later the text types out. This isn't happening for every letter, just some of them.

This was happening in the previous 1.2 version and I don't think it was an issue before. I don't experience this on my system in any other apps.

Any ideas to avoid me having to hard reset things?

Is there any large log file in your profile directory?

So there was (about 245MB), I deleted it, restarted it, it's still happening.

Happy to take any further suggestions to debug this, if there's no idea, I'll try deleting the profile directory and restoring the backup.

Could you share the debug file? Or at least a section of you see the same reported error. Probably just a relatively small slice will be enough.

@CalebJohn you're talking about the log.txt file?

Found the debugging page.

Here's the info from the console:

DevTools failed to parse SourceMap: file:///Applications/Joplin.app/Contents/Resources/app.asar/gui/ResourceScreen.js.map

---

/Applications/Joplin.app/Contents/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(Toolbar), Connect(ToolbarBaseComponent)

In the log file, I don't know if this is normal behaviour but this stuff appears in the debugging mode every 4 seconds or so while I'm editing. (Could it be that it's saving/synching too often?):

2020-10-19 09:22:47: "Scheduling sync operation...", "30000"
2020-10-19 09:22:50: "Saving note...", "{"id":"0e6e82daa78241c7bfe71016aa5911ea", <contents of note here>

My sync settings are set to 24hrs btw - file system (Dropbox folder), so something's going on here that it's syncing so often...

It looks like you're Joplin instance is spitting out debug information on every sync. This should only be happening if you have debug enabled by add a flags.txt file to the config folder (next to log.txt). My guess is that you had created this file at some point and haven't deleted it yet. Please delete that file and fully close Joplin (File -> Quit) then re-open Joplin. Should be better from there.

You asked for the debug log, so I enabled the debug mode (by creating the flags.txt file) and copied the results. Sorry, not much experience outputting this stuff with Joplin.

OK just deleted the Joplin profile folder, opened it up. No notes or tags, no lag. Imported a recent export - no changes to the settings, lag.

The only thing I can think of is that there's quite a few tags there (several thousand I think), maybe that's an issue?

A chap responded to my Github issue has the same problem. He posted a screengrab gif of this issue. I'd continue it there but there was no response in the Github page.

Further testing. Tried a fresh install of an older version (1.1.4 version), then imported my jex file and the markup editor, while slightly slow, was MUCH better.

Updated it to 1.2.2 and slowdown was back.

So it's not settings, not my DB or any persistent stuff that isn't my markdown.

Forgot to mention, this is all running on Mac Catalina.

It's a few thousand tags on a single note?

Could you take a larger snippet out of the log.txt? Without flags.txt present, that was my mistake.

No a few thousand tags in general. No more than a dozen or so (I'm guessing) per note. Old Delicious import from Evernote. I'm trying to sort out a bulk delete on most of those but it's a Python script contributed here and I need a bit of time to work it out.

Here's the entire log (user dir redacted) from the recent install with the same problem:

2020-10-19 19:26:25: "Profile directory: /Users/<userdir>/.config/joplin-desktop"
2020-10-19 19:26:25: "KeychainService: checking if keychain supported"
2020-10-19 19:26:26: "KeychainService: tried to set and get password. Result was:", "mytest"
2020-10-19 19:26:26: "Client ID: dccdb78d607142ddbd17931794d9be09"
2020-10-19 19:26:26: "First start: detected locale as en_GB"
2020-10-19 19:26:26: "Trying to load 0 master keys..."
2020-10-19 19:26:26: "Loaded master keys: 0"
2020-10-19 19:26:26: "ResourceFetcher: Auto-add resources: Mode: always"
2020-10-19 19:26:26: "ResourceFetcher: Auto-added resources: 0"
2020-10-19 19:26:26: "Running migration: 20"
2020-10-19 19:26:26: "Running migration: 27"
2020-10-19 19:26:26: "Running migration: 33"
2020-10-19 19:26:26: "SearchEngine: Updating FTS table..."
2020-10-19 19:26:26: "Trying to load 0 master keys..."
2020-10-19 19:26:26: "Loaded master keys: 0"
2020-10-19 19:26:26: "Trying to load 0 master keys..."
2020-10-19 19:26:26: "Loaded master keys: 0"
2020-10-19 19:26:26: "Trying to load 0 master keys..."
2020-10-19 19:26:26: "Loaded master keys: 0"
2020-10-19 19:26:26: "app.start: doing regular boot"
2020-10-19 19:26:26: "Trying to load 0 master keys..."
2020-10-19 19:26:26: "Loaded master keys: 0"
2020-10-19 19:26:26: "Trying to load 0 master keys..."
2020-10-19 19:26:26: "Loaded master keys: 0"
2020-10-19 19:26:26: "Trying to load 0 master keys..."
2020-10-19 19:26:26: "Loaded master keys: 0"
2020-10-19 19:26:26: "RevisionService::runInBackground: Starting background service with revision collection interval 600000"
2020-10-19 19:26:27: "DecryptionWorker: cannot start because no master key is currently loaded."
2020-10-19 19:26:30: "RevisionService::maintenance: Starting..."
2020-10-19 19:26:30: "RevisionService::maintenance: Service is enabled"
2020-10-19 19:26:30: "RevisionService::collectRevisions: Created revisions for 0 notes"
2020-10-19 19:26:30: "RevisionService::maintenance: Done in 146ms"
2020-10-19 19:26:36: "SearchEngine: Updating FTS table..."
2020-10-19 19:26:36: "SearchEngine: Updated FTS table in 18ms. Inserted: 5. Deleted: 0"
2020-10-19 19:26:56: "ResourceService::indexNoteResources: Start"
2020-10-19 19:26:56: "ResourceService::indexNoteResources: Completed"
2020-10-19 19:26:56: "ResourceService::deleteOrphanResources:", "[]"
2020-10-19 19:27:01: "Preparing scheduled sync"
2020-10-19 19:27:01: "Saving updated Dropbox auth."
2020-10-19 19:27:01: "Synchroniser is missing credentials - manual sync required to authenticate."
2020-10-19 19:27:19: "SearchEngine: Updating FTS table..."
2020-10-19 19:31:26: "Running background sync on timer..."
2020-10-19 19:31:26: "Preparing scheduled sync"
2020-10-19 19:31:26: "Synchroniser is missing credentials - manual sync required to authenticate."
2020-10-19 19:34:00: "SearchEngine: Updated FTS table in 400835ms. Inserted: 6793. Deleted: 0"
2020-10-19 19:34:18: "Preparing scheduled sync"
2020-10-19 19:34:18: "Synchroniser is missing credentials - manual sync required to authenticate."
2020-10-19 19:34:54: "SearchEngine: Updating FTS table..."
2020-10-19 19:34:54: "SearchEngine: Updated FTS table in 16ms. Inserted: 1. Deleted: 0"
2020-10-19 19:35:05: "SearchEngine: Updating FTS table..."
2020-10-19 19:35:05: "SearchEngine: Updated FTS table in 13ms. Inserted: 1. Deleted: 0"
2020-10-19 19:35:23: "SearchEngine: Updating FTS table..."
2020-10-19 19:35:23: "SearchEngine: Updated FTS table in 14ms. Inserted: 1. Deleted: 0"
2020-10-19 19:35:35: "SearchEngine: Updating FTS table..."
2020-10-19 19:35:35: "SearchEngine: Updated FTS table in 17ms. Inserted: 1. Deleted: 0"
2020-10-19 19:36:32: "Profile directory: /Users/<userdir>/.config/joplin-desktop"
2020-10-19 19:36:32: "KeychainService: checking if keychain supported"
2020-10-19 19:36:32: "KeychainService: check was already done - skipping. Supported:", "1"
2020-10-19 19:36:32: "Client ID: dccdb78d607142ddbd17931794d9be09"
2020-10-19 19:36:32: "Trying to load 0 master keys..."
2020-10-19 19:36:32: "Loaded master keys: 0"
2020-10-19 19:36:32: "ResourceFetcher: Auto-add resources: Mode: always"
2020-10-19 19:36:32: "ResourceFetcher: Auto-added resources: 0"
2020-10-19 19:36:32: "Trying to load 0 master keys..."
2020-10-19 19:36:32: "Loaded master keys: 0"
2020-10-19 19:36:32: "Trying to load 0 master keys..."
2020-10-19 19:36:32: "Loaded master keys: 0"
2020-10-19 19:36:32: "Trying to load 0 master keys..."
2020-10-19 19:36:32: "Loaded master keys: 0"
2020-10-19 19:36:32: "app.start: doing regular boot"
2020-10-19 19:36:32: "Trying to load 0 master keys..."
2020-10-19 19:36:32: "Loaded master keys: 0"
2020-10-19 19:36:32: "Trying to load 0 master keys..."
2020-10-19 19:36:32: "Loaded master keys: 0"
2020-10-19 19:36:32: "Trying to load 0 master keys..."
2020-10-19 19:36:32: "Loaded master keys: 0"
2020-10-19 19:36:32: "RevisionService::runInBackground: Starting background service with revision collection interval 600000"
2020-10-19 19:36:35: "DecryptionWorker: cannot start because no master key is currently loaded."
2020-10-19 19:36:35: "Preparing scheduled sync"
2020-10-19 19:36:35: "Saving updated Dropbox auth."
2020-10-19 19:36:35: "Synchroniser is missing credentials - manual sync required to authenticate."
2020-10-19 19:36:35: "Updating all notifications..."
2020-10-19 19:36:35: "Garbage collecting alarms..."
2020-10-19 19:36:38: "DecryptionWorker: cannot start because no master key is currently loaded."
2020-10-19 19:36:38: "RevisionService::maintenance: Starting..."
2020-10-19 19:36:38: "RevisionService::maintenance: Service is enabled"
2020-10-19 19:36:42: "SearchEngine: Updating FTS table..."
2020-10-19 19:36:42: "SearchEngine: Updated FTS table in 50ms. Inserted: 1. Deleted: 0"
2020-10-19 19:36:50: "RevisionService::collectRevisions: Created revisions for 1 notes"
2020-10-19 19:36:50: "RevisionService::maintenance: Done in 12274ms"
2020-10-19 19:37:02: "ResourceService::indexNoteResources: Start"
2020-10-19 19:37:12: "SearchEngine: Updating FTS table..."
2020-10-19 19:37:13: "SearchEngine: Updated FTS table in 21ms. Inserted: 1. Deleted: 0"
2020-10-19 19:37:25: "SearchEngine: Updating FTS table..."
2020-10-19 19:37:25: "SearchEngine: Updated FTS table in 31ms. Inserted: 1. Deleted: 0"
2020-10-19 19:37:37: "SearchEngine: Updating FTS table..."
2020-10-19 19:37:38: "SearchEngine: Updated FTS table in 83ms. Inserted: 1. Deleted: 0"
2020-10-19 19:37:49: "SearchEngine: Updating FTS table..."
2020-10-19 19:37:50: "SearchEngine: Updated FTS table in 28ms. Inserted: 1. Deleted: 0"
2020-10-19 19:37:53: "ResourceService::indexNoteResources: Completed"
2020-10-19 19:37:53: "ResourceService::deleteOrphanResources:", "[]"
2020-10-19 19:38:10: "Preparing scheduled sync"
2020-10-19 19:38:10: "Synchroniser is missing credentials - manual sync required to authenticate."
2020-10-19 19:41:33: "Running background sync on timer..."
2020-10-19 19:41:33: "Preparing scheduled sync"
2020-10-19 19:41:33: "Synchroniser is missing credentials - manual sync required to authenticate."
2020-10-19 19:46:33: "Running background sync on timer..."
2020-10-19 19:46:33: "Preparing scheduled sync"
2020-10-19 19:46:33: "Synchroniser is missing credentials - manual sync required to authenticate."
2020-10-19 19:46:33: "RevisionService::maintenance: Starting..."
2020-10-19 19:46:33: "RevisionService::maintenance: Service is enabled"
2020-10-19 19:46:33: "RevisionService::collectRevisions: Created revisions for 1 notes"
2020-10-19 19:46:33: "RevisionService::maintenance: Done in 512ms"
2020-10-19 19:51:33: "Running background sync on timer..."
2020-10-19 19:51:33: "Preparing scheduled sync"
2020-10-19 19:51:33: "Synchroniser is missing credentials - manual sync required to authenticate."
2020-10-19 19:56:33: "Running background sync on timer..."
2020-10-19 19:56:33: "Preparing scheduled sync"
2020-10-19 19:56:33: "Synchroniser is missing credentials - manual sync required to authenticate."
2020-10-19 19:56:33: "RevisionService::maintenance: Starting..."
2020-10-19 19:56:33: "RevisionService::maintenance: Service is enabled"
2020-10-19 19:56:33: "RevisionService::collectRevisions: Created revisions for 0 notes"
2020-10-19 19:56:33: "RevisionService::maintenance: Done in 611ms"
2020-10-19 20:02:48: "Running background sync on timer..."
2020-10-19 20:02:48: "Preparing scheduled sync"
2020-10-19 20:02:48: "Synchroniser is missing credentials - manual sync required to authenticate."

I run in the same problem.
But the Problem is only pressent on one of my windows clients.

grafik

At about 2020-10-19 18:30 i created the note with the lag that i show in the git issue

log_nourl.txt (876.6 KB)

Cheers for chiming in Jack - here's my sync status info:

image

If you're having this problem could you give a try to the latest pre-release please? https://github.com/laurent22/joplin/releases/tag/v1.3.7

Rendering of the sidebar is more efficient in this release and in particular it won't update every time the note changes.

1 Like

@laurent looks like that's done it, my text rendering is much faster. Had a little delay at the beginning of typing some test text out, but I think that may have coincided with a sync. The rest of the paragraph worked fine. Great stuff. I think you can mark that as solved!

Yes, with v.1.3.7 the problem seems to be gon!
Also the switching frome notebook to notebook is faster :slight_smile:

1 Like

Brilliant, glad it's working now.

Good job dude!

1 Like