I’ll try to take a look in the next few days; there seems to be an issue with this function:
//used when storing text values from tiddler in context menu HTML
var sanitize = function (string) {
const map = {
'&': '&',
'<': '<',
'>': '>',
'"': '"',
"'": ''',
"/": '/',
};
const reg = /[&<>"'/]/ig;
return string.replace(reg, (match) => (map[match]));
};
I am guessing from the call at the end of this sequence:
//Streams node compatibility
//nearest DOM element that contains this attribute [data-node-title]
const node = event.target.closest("[data-node-title]");
const nodeTitle = node && node.dataset["nodeTitle"];
//regular logic if the event was not on a Streams node
targ = nodeTitle || event.currentTarget.getAttribute("data-tiddler-title"); //based on the div attribute in view template that contains currentTiddler
const tiddlerText=$tw.wiki.getTiddlerText(targ);
const sTarg = sanitize(targ);
It may be struggling to find a target for the context menu… which could very well be the case in this MCL layout.
Can you try and install Streams on your demo wiki (and populating a few Stream nodes instead of/in addition to the tiddler’s main body)? It would be interesting to see if the logic to find a target works in MCL when Stream nodes are present.
Cheers,