zardoy / minecraft-web-client

The most advanced Minecraft online/offline client + server in your browser! [IOS SUPPORTED]
https://mcraft.fun
MIT License
30 stars 30 forks source link

BrowserFS → ZenFS #113

Open james-pre opened 4 months ago

james-pre commented 4 months ago

Hey @zardoy, I've been going through the dependents of browserfs and found this repository.

As you already know, browserfs is deprecated and I am working on ZenFS.

Would you be interested in updating migrating to ZenFS?

zardoy commented 4 months ago

I was already experimenting with ZenFS in a separate project since I was running some issues: eg IOS crashing the page when trying to load big files (~400 MB zips). Also need to update internal patching so I can track all read / write operations, redirect or disable them as needed.

Would you be interested in updating and migrating to ZenFS?

Yes, of course!

james-pre commented 4 months ago

Also need to update internal patching so I can track all read / write operations

I plan on adding some event system to the ZenFS internals as part of the FS watch features, though it wouldn't allow for changing the operations.

If you want to change operations it may be better to write a class that extends ZipFS and then intercept the operations using that.

zardoy commented 4 months ago

If you want to change operations it may be better to write a class that extends ZipFS and then intercept the operations using that.

Thanks, will try it, though I also plan to use remote HTTP and WebAccess backends (already using the last one for writing files back to the user's selected folder). Currently, I'm just overwriting FS methods so it was easy to patch for me the internals...

zardoy commented 4 months ago

Sorry, the suggestion to migrate to newer versions is great, but I've just realized I'll not have any time to work on it :( (just because everything works fine with the old version), but I'm definitely looking into migration for smaller codebase

zardoy commented 3 weeks ago

Hey, sorry, just wanted to keep you updated. Unfortunately, the old BrowserFS works just too well to remove it / migrate from it (well, maybe until https://github.com/zen-fs/zip/issues/3 is fixed :). I still want to have a clear codebase that uses updated / modern libs (that's why I had to remember your issue). The app is currently using 6 various backends (HTTPRequest, IndexedDB, Zip, LocalStorage, FileSystemAccess, GoogleDrive - made by me) and everything works perfectly for me and I don't see what ZenFS improves, moreover, ZenFS introduces new constraints: https://github.com/zardoy/minecraft-web-client/issues/113#issuecomment-2094890978

However, I might prioritize this issue if you come up with a more powerful API for taking full control over all operations!

james-pre commented 3 weeks ago

@zardoy,

Thanks for the update.

Adding events and the FS watch features is currently my top priority, though I've been busy with classes IRL.

I'll see if I can make some time this week and get this done. Sorry for taking so long.