Closed ndharari closed 1 year ago
Hmm I looked into this all morning but not making much progress. I think it has to do with the custom view I made for TLDraw and/or the file cache but I'm really sure yet. Apparently switching to the TLDraw View breaks the Calendar plugin, as well as Excalidraw which I didn't notice before. What plugins are you using? It looks like Omnisearch and Calendar, but I can't pick out what that last plugin that's throwing the error is.
After doing some more debugging, I think I've narrowed it down to the actual Tldraw react component. Commenting out the <Tldraw ... />
component stops my plugin from breaking the other plugins and even adding it back in with no props will cause the issues again. This leaves me to believe that its not any of the code that manages the view mode switching but rather the component itself that's the issue. If anyone more experienced with the Obsidian API can weigh in on this, that'll be helpful. If I am right then the only solution for this would be to switch to another version of TLDraw or fork TLDraw and try to fix it myself.
For me it also breaks dataview behavior as it substitutes global app
object with some of your stuff (I see it as Editor
now), so app.plugins
is no more available. I rely on the following lines in my dataviewjs code:
const {getPropertiesInFile} = app.plugins.plugins["metaedit"].api;
const {createButton} = app.plugins.plugins["buttons"];
So after installing your plugin it stopped working.
I think you're on to something! Thank you! I'll look into this as soon as I can.
Hey I think I fixed the issue, lemme know if you guys are still having problems. The most updated release is 1.0.3.
EDIT: nvm the issue still persist if you open Obsidian and your workspace has more than one tab open, and one of those tabs has a TLDraw file opened and that tab is not the active tab/file.
So after diving a bit into the Tldraw source code, I found the line that causes Tldraw to replace the global app object here. So I'll be working on finding ways to fix this and may also open an issue on Tldraw's repository. Any suggestions on an approach are welcomed.
For me it works now, thanks. I tried to reproduce your case, but everything seems to be fine.
I found a way to patch that one line of code in the Tldraw repo using patch-package that will completely eliminate this problem. I'll also create an issue on the Tldraw repo but we'll use patch-package until they fix the issue. And finally, I'll update the release and close this issue once I push out the changes in a day or two because I have some related changes I still need to finish :)
Im having conflicts with other plugins that shows an error EVERY TIME I change something in a drawing. I am not knowledgeable enought to give you a hint on how to solve this.
Write me if i can help in some way tho.