treymo / joplin-link-graph

UI for viewing connections between different Joplin notes
MIT License
257 stars 11 forks source link

is empty view, help! #49

Open YouLe2016 opened 2 years ago

YouLe2016 commented 2 years ago

image 不会显示,是怎么回事?

YouLe2016 commented 2 years ago

重装joplin、重装插件、重启电脑都试了。还是不行啊

shinglyu commented 2 years ago

Same here. The panel is empty. I tried looking into the developer console but there is no obvious error there. It works OK with a test profile with very few number of notes, but on my "production" profile with hundreds of notes it simply won't show.

Joplin 2.6.10 (prod, darwin)

Client ID: d739532054b542c483bd1123315fd21e Sync Version: 3 Profile Version: 41 Keychain Supported: Yes

Revision: 98fba37

treymo commented 2 years ago

hmmm, I'm really having trouble reproducing this. I run this with ~800 notes as well

matrixclark commented 2 years ago

same issue

IRigoutsos commented 2 years ago

I too have the same problem - following the last update the graph is not rendered anymore.

Oni-Shadow commented 2 years ago

Same here ! I was very hyped by the feature but it seems not to work on my 400 notes profile. even the redraw button does not seem clickable (no changing in pointer and no color change at hover)

treymo commented 2 years ago
Oni-Shadow commented 2 years ago

Sure, here are my details :

treymo commented 2 years ago
  • Should notes in the filtered notebooks be included or excluded? : Include

Could you change this to "exclude" and see if it works?

I'm afraid my wording is very confusing on that option. Basically "Include" means only include the notebooks listed in "notebook names to filter" and "Exclude" means show everything but "notebook names to filter"

Oni-Shadow commented 2 years ago

It now does display some nodes ! But... few of them, I count 10 (even after setting back max num of nodes to 1000) but no connection between them even if I link some notes (from nodes that are displayed) together

treymo commented 2 years ago

Do you have max degrees > 0? That would filter out all unconnected notes. I also just fixed a bug I introduced in v1.2.0 for users where max degree > 0. Check v1.2.1 to see if that is improved at all.

I appreciate your feedback and help debugging.

Oni-Shadow commented 2 years ago

Hi Sorry, I have been AFK for the past days, I had max degree = 0, tried 1 but it doesnt change, I only see one node now, even by going back to 0. will try to update and see if there is any changes. Thanks for your interest in solving this one out :-)

Edit, I am now up-to-date joplin 2.6.10 / Link UI 1.2.1 : no more nodes again !

treymo commented 2 years ago

A max degree of zero, should show the most nodes compared to max degree > 0 as it will show unfiltered nodes.

Just a reminder, this combo of settings will always result in an empty graph:

Should notes in the filtered notebooks be included or excluded? : Include Notebooks names to filter : empty

The include/exclude filter should be "Exclude" if Notebook names to filter is empty. Otherwise you're telling it to Include zero notebooks.

In joplin open Help > Toggle Development Tools > Then check the "Console" tab to see if there are any errors.

What language are your notes/notebook names in? I only tested this in english, so it's definitely possible my plugin could be mis-handling other character sets.

shinglyu commented 2 years ago

@treymo I have a personal profile with ~ 2000 notes in mixed Chinese and English. It can render the default 700 notes without a problem. However, I have another work profile with only ~400 notes only in English, and that one is empty. I try to check the development console and it doesn't have any meaningful error. If I lower the rendered notes to less than 100, it renders correctly.

I tried add more debug log to the plugin and load it as development plugin in dev mode. Surprisingly the dev mode works OK. I export my ~400 work notes and import them into the dev mode, and it renders correctly using the default 700 notes. So it's not really about the content of the notes. Maybe it has something to do with the note history? Because when I export then import the history is lost.

I also suspect it was some conflict between plugins, but even if I deleted all the other plugins it still don't work.

Sorry I couldn't identify any useful debug log. Just adding some data point to help you narrow down the possibilities.

treymo commented 2 years ago

Thanks for the details! That's really interesting the same notes work in dev mode.

Do you know if the Graph settings in the dev mode (I assume all would be set to the default) are the exact same as the non-dev version? I'm wondering if some combo of settings could be breaking things?

shinglyu commented 2 years ago

I only tweak the Max nodes in graph setting and kept all other as default.

If I use a small max nodes setting (50-100) it renders correctly. But I'm not sure if it's because fewer nodes makes the loop run faster, or it's because a corrupted note just happen to be the 101st most recent note.

I have the same problem with other plugins in the past: they break in my "production" Joplin profile, but I can't reproduce the bug in a clean dev mode profile, even if I imported exactly the same notes. I'm suspecting it's because there are some leftovers when Joplin updates (e.g. legacy schema in database? Node history?) but I can't confirm.

Oni-Shadow commented 2 years ago

Thanks for the insight. I have one warning (last line), (and did not know about the possibility to look at devTools)

{context: {…}, bodyOnly: false, splitted: true, externalAssetsOnly: true, postMessageSyntax: 'ipcProxySendToHost', …}ResourceModel: class ResourceaudioPlayerEnabled: falsebodyOnly: falsecodeTheme: "atom-one-dark-reasonable.css"contentMaxWidth: 600context: {css: {…}, pluginAssets: {…}, cache: Cache, userData: {…}, currentLinks: Array(0)}externalAssetsOnly: truehighlightedKeywords: []mapsToLine: truepdfViewerEnabled: trueplugins: {}postMessageSyntax: "ipcProxySendToHost"resourceBaseUrl: "file://C:/Users/Oni/.config/joplin-desktop/resources/"resourceInfos: {}resources: {}splitted: truetheme: {fontSize: 12, color: '#839496', lineHeight: '1.6em', backgroundColor: '#002b36', paddingBottom: 3, …}videoPlayerEnabled: false[[Prototype]]: Object
C:\Users\Oni\.config\joplin-desktop\cache\joplin.plugin.ambrt.backlinksToNote\notesReferences.js:1 foot tokens
C:\Users\Oni\.config\joplin-desktop\cache\joplin.plugin.ambrt.backlinksToNote\notesReferences.js:1 (25) [Token, Token, Token, Token, Token, Token, Token, Token, Token, Token, Token, Token, Token, Token, Token, Token, Token, Token, Token, Token, Token, Token, Token, Token, Token]
C:\Users\Oni\AppData\Local\Programs\Joplin\resources\app.asar\services\plugins\hooks\useHtmlLoader.js:17 useHtmlLoader: message {target: 'UserWebview', message: 'ready'}
C:\Users\Oni\.config\joplin-desktop\cache\joplin.plugin.ambrt.backlinksToNote\notesReferences.js:1 {context: {…}, bodyOnly: false, splitted: true, externalAssetsOnly: true, postMessageSyntax: 'ipcProxySendToHost', …}
C:\Users\Oni\.config\joplin-desktop\cache\joplin.plugin.ambrt.backlinksToNote\notesReferences.js:1 foot tokens
C:\Users\Oni\.config\joplin-desktop\cache\joplin.plugin.ambrt.backlinksToNote\notesReferences.js:1 (25) [Token, Token, Token, Token, Token, Token, Token, Token, Token, Token, Token, Token, Token, Token, Token, Token, Token, Token, Token, Token, Token, Token, Token, Token, Token]
C:\Users\Oni\AppData\Local\Programs\Joplin\resources\app.asar\services\plugins\hooks\useHtmlLoader.js:32 useHtmlLoader: isReady true
C:\Users\Oni\AppData\Local\Programs\Joplin\resources\app.asar\services\plugins\hooks\useHtmlLoader.js:35 useHtmlLoader: setHtml 959c9edfe52ce75362b1bb4681d34f32
C:\Users\Oni\AppData\Local\Programs\Joplin\resources\app.asar\services\plugins\hooks\useHtmlLoader.js:17 useHtmlLoader: message {target: 'UserWebview', message: 'htmlIsSet', hash: '959c9edfe52ce75362b1bb4681d34f32'}
VM2864 index.html:1 sending message
C:\Users\Oni\AppData\Local\Programs\Joplin\resources\app.asar\gui\NoteEditor\utils\useMessageHandler.js:30 Got ipc-message: noteRenderComplete undefined
C:\Users\Oni\AppData\Local\Programs\Joplin\resources\app.asar\gui\NoteEditor\utils\useMessageHandler.js:30 Got ipc-message: postMessageService.message {contentScriptId: 'backlinks', viewId: '', from: 'contentScript', to: 'plugin', id: 'noteViewer_16455277283040.5659333571826237', …}content: {type: 'getContent'}contentScriptId: "backlinks"from: "contentScript"id: "noteViewer_16455277283040.5659333571826237"to: "plugin"viewId: ""[[Prototype]]: Object
VM2864 index.html:1 Got response in Markdown-it content script: Backlinks<br>
<small><font color='grey'><i>No backlinks</i></font></small>
DevTools failed to load source map: Could not parse content for file:///C:/Users/Oni/AppData/Local/Programs/Joplin/resources/app.asar/gui/note-viewer/pluginAssets/mermaid/mermaid.min.js.map: Unexpected end of JSON input

I do have notes in many languages and checked, some names are using characters such as "é"

And nothing happens when I click on "redraw graph" edit : 100 nodes seems to work ! This is very strange. Should I try to increase the number up to it breaks ? how to understand why it breaks then ?