Repository navigation
[stable-0.1] fix(freemind): load FreeMind files again and import them more completely - #408
Merged
AndyScherzinger merged 10 commits intoOct 20, 2026
Merged
Conversation
The FreeMind plugin still read xml2json from a global FilesMindMap.Util that no longer exists since the frontend was split into modules, so every .mm file failed with "FilesMindMap is not defined". Import util as the XMind plugin does. The test defined that global itself, which hid the problem; it now runs against the real module. Assisted-by: Claude Code:claude-opus-5-5 Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de> (cherry picked from commit bc6586e)
FreeMind keeps formatted node text as HTML in a richcontent element instead of the TEXT attribute, so such nodes, often the central one, were shown empty. Take their text from the rich content, one line per paragraph. Assisted-by: Claude Code:claude-opus-5-5 Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de> (cherry picked from commit 801274e)
FreeMind separates lines of formatted text with <br> within one paragraph, which came out as one run-on line. Take <br> as a line break, and still collapse the whitespace the HTML is wrapped with. Assisted-by: Claude Code:claude-opus-5-5 Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de> (cherry picked from commit b47d23d)
FreeMind 0.8 kept formatted node text as HTML in the TEXT attribute, so the editor showed the raw markup. Take the plain text from that HTML as for rich content, and show form fields by their chosen value instead of all their options. Assisted-by: Claude Code:claude-opus-5-5 Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de> (cherry picked from commit 3bf4ef1)
Take node notes from their rich content into the editor's notes, and open branches folded in FreeMind collapsed. Assisted-by: Claude Code:claude-opus-5-5 Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de> (cherry picked from commit 093d116)
A .mm file that is no FreeMind map, such as a saved web page, failed with a TypeError about reading TEXT of undefined. Check for a map with a root node and fail with a clear message, and pass the message of a decoding error to the load failure instead of the error object. Assisted-by: Claude Code:claude-opus-5-5 Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de> (cherry picked from commit 084addd)
1 task done
The editor only has markers for priorities, so FreeMind's other icons were dropped and icon-only nodes came out empty. Show them as emoji before the node text, and map full-9 to priority 9 as well. Write the line break marker as an escape rather than an invisible character. Assisted-by: Claude Code:claude-opus-5-5 Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de> (cherry picked from commit 81ebdd7)
Nodes whose formatted text is just an image came out empty. Use the image's alternative text or file name as their text, and link images on the web from the node unless it has a link already. Assisted-by: Claude Code:claude-opus-5-5 Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de> (cherry picked from commit 3aab843)
Assisted-by: Claude Code:claude-opus-5-5 Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de> (cherry picked from commit 9951458)
Map a node's bold, italic, size and font name, its text colour and its background to the editor's node styles. FreeMind's default font is left to the editor, and a node with a background but no text colour gets FreeMind's black text, as the editor's own may not suit the background. Branch line colours and styles have no counterpart and stay unmapped. Assisted-by: Claude Code:claude-opus-5-5 Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de> (cherry picked from commit ca2a271)
This was referenced Oct 20, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Backport of #407 to
stable-0.1..mm) files failed with "FilesMindMap is not defined". The plugin readxml2jsonfrom a global that no longer exists since the frontend was split into modules; it now importsutil.<richcontent TYPE="NODE">(FreeMind 0.9+) or directly inTEXT(FreeMind 0.8), is shown as plain text with its line breaks..mmfile without a FreeMind map fails with "This file is not a valid FreeMind mind map." instead of aTypeError.All commits cherry-picked without changes. Tested on Nextcloud 32 and 35 in Chromium and Firefox with the same files and results as #407: a FreeMind template, FreeMind's own documentation map, a Freeplane map, a FreeMind 0.8 map, and a saved web page. Vitest (104 tests) and lint pass.
🤖 AI (if applicable)