toeverything / AFFiNE

There can be more than Notion and Miro. AFFiNE(pronounced [ə‘fain]) is a next-gen knowledge base that brings planning, sorting and creating all together. Privacy first, open-source, customizable and ready to use.

Home Page:https://affine.pro

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

[improvement]: Dependency on chrome(ium)?

natrius opened this issue · comments

1~3 main use cases of the proposed improvement

Why is there a (heavy?) dependency for chrom(ium?). I get that probably a lot of users are Chrome users anyway but there are still pretty much people out there using firefox.
What functions am i missing when using firefox?

Ideas for solution

No response

what types of users can benefit from using your proposed improvement

Firefox users

Additional context

It feels like we are back in the early 2000 with all the "Website optimized for Internet Explorer" or "Netscape" or whatever.

https://developer.mozilla.org/en-US/docs/Web/API/File_System_Access_API

This is down to how we have implemented our functions and the file API we are using. Unfortunately, different browser interpret and utilize file APIs in different ways which unfortunately means that features that work in one browser may not work in another.

We welcome ideas that anyone have to help overcome this difficulty - away to allow file system read/write permissions from the browser - we are ready to test and implement this into the product.

Do consider that other features should all be compatible and are all designed and created with compatability in mind across browsers.

Why not using https://nodejs.org/en/ for writing files? Or does that not work as well? Could not open the Mozilla Firefox Bugtracker right now - but is there a feature request for that already? (Will look up later)

nodejs focus on backend, AFFiNE now is a frontend software, you can learn the difference between these concepts from here: https://en.wikipedia.org/wiki/Frontend_and_backend
simply put, although the front-end and back-end can be written in the same language (js in this case), their API capabilities are not the same, and the code written to the back-end often cannot be executed on the front-end