I like using obsidian and managing my Media in it. But, the problem is Storage can run out. As Mega Cloud Storage has Zero Knowledge Encryption (No Worries in Privacy) and Free 20 GB Storage. I think it would be great if there is a way to store and edit obsidian files, directly for mega cloud storage. And don’t need to run out of my local storage. And no worries for Privacy and Security.
Mega is developer friendly and also have a cli version as Mega CMD. So, I think this is possible through a plugin.
And also note, the plugin also must be secure and privacy friendly with required encryption on transfers.
I use OneDrive for a few of my notes, and one huge plus that I see from it is that OneDrive only mounts the files when they’re in use. Which means I could effectively use OneDrive’s entire storage medium, and never run out of space locally.
I think that most Cloud Storage solutions offer the same thing, so that they don’t take more space on your machine than they need to.
Now, I didn’t need to do anything special for my vault other than host it directly inside of the OneDrive directory on my laptop.
Not sure if Mega does the same, but I believe Google Drive does.
The solution maybe to just drop your vault into wherever Mega’s default directory is (assuming it offers the same feature set as OneDrive and Google Drive)
For a variety of reasons, including speed, Obsidian requires files to be available locally. Many users have had problems when cloud drives are providing files from the cloud. And Obsidian needs to see all the files in the vault not just one at a time. Luckily most cloud providers make it possible to select folders that will be kept on the local drive and only be synced into the cloud.
Im assuming this is for parsing the file tree, and implementing live updates as you go.
In theory, as long as your parser is cached, keeping files local doesn’t really have a point.
You only need to implement an event emitter for checking file tree modifications to know when to pull the parser out of cache. As well, you only need to pull the affected branch of the parsed file tree out.
From my understanding of Obsidian’s internals caching wouldn’t be difficult as the Obsidian object already does a pretty detailed job of
Modeling the file tree.
So, you’d really only need to implement a good file-change emitter. For speed and efficiency, I’d recommend an asynchronous diff’er and mod time checker.