Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Does anyone have hands-on experience with how well different browsers support this? This blog post and caniuse both say Chrome support is currently somewhat limited (though being improved); caniuse also mentions that Safari (both desktop and iOS) only support the Origin Private File System part of the File System API, and that Firefox doesn't support it all. I'm curious how all that actually shakes out in practice.


The Origin Private File System is coming to all browsers, Chrome, Safari, and Firefox. It's a universally agreed-on Web standard: https://fs.spec.whatwg.org/.


Just because the standard exists doesn't mean every browser has already implemented 100% of it, hence why I was asking if anyone's had any experience actually trying to use it.

EDIT: I saw from your other comments on this post that Firefox has implemented at least the origin private file system part in nightly builds; that's useful info that I was looking for.


Feb 2022 Safari said it's available in Safari in macOS 12.2 and iOS 15.2 https://webkit.org/blog/12257/the-file-system-access-api-wit...

However the sqlite demo page says OPFS is unavailable for me in Safari https://sqlite-wasm-opfs.glitch.me/ ...unsure whether it only supports a subset of the APIs that the official sqlite build uses?


Yeah, sorry. There’s a lot of side threads to read and potentially respond to.


What happens is that one browser (usually Chrome) implements a useful new feature. Then applications are released that use that feature. Then the other browser vendors start hearing from their users that they suck because they don't support the nice new feature and hence can't run the nice new applications. And eventually they add support.


> What happens is that one browser (usually Chrome) implements a useful new feature.

What happens is Chrome releases a Chrome-only non-standard (at a rate of 400 APIs per year). It cobbles together a barely legible spec [1], and then uses its multiple propaganda channels like web.dev to present them as actual completed standards that other browsers are just slow to implement.

Even if other browsers only learn about this a few days before Chrome ships, or have multiple objections.

[1] Example, File System API https://wicg.github.io/file-system-access/ "not a W3C Standard nor is it on the W3C Standards Track."


Please see https://developer.chrome.com/blog/capabilities/#how-will-we-... for the actual process. Nothing happens behind closed doors; other vendors can chime in at any time, and are actually very much encouraged to do so.


That's a nice sentiment at the link. The reality is that Chrome ships hundreds of APIs with little to no input and only barely notifies other browser vendors that "yeah, we're shipping it".

We're literally in the discussion about File System API that is:

- not on any standards track

- considered harmful by other browser vendors

- shipped by default in Chrome

Edit: I can give several examples from Web Transport to HID to Constructible Stylesheets that were either shipped with no input from other vendors, or shipped against the multiple objections from other browser vendors. And that's just the ones I know about.


Simply not true but believe what you need to.


I literally provided just some of the examples. Those are easily verifiable.

Web Transport is shipped by default. What was the input from other browsers?

Here's the timeline for HID: https://github.com/mozilla/standards-positions/issues/459#is...

Constructible Stylesheets: the spec contained a trivially reproducible race condition, the API was badly specified. Google shipped against any objections and refused to bring it back under the flag. Full discussion here: https://github.com/WICG/construct-stylesheets/issues/45. Shipped in Chrome https://github.com/WICG/construct-stylesheets/issues/45#issu... (may be hidden on mobile) despite multiple unresolved issues. Two years later Chrome did add a better API that people originally requested, other issues potentially remain.

You may believe in benevolent Google working hand in hand with others for the betterment of the web. The reality is radically different.

Edit: more about hardware APIs: https://news.ycombinator.com/item?id=34356651

Edit2: As to the number of APIs, Chrome actually tracks how much they ship: https://web-confluence.appspot.com/#!/confluence


Can you just slow down for a moment and focus on what you said?

> We're literally in the discussion about File System API that is:

> - not on any standards track

As others have pointed out the standard is here:

https://fs.spec.whatwg.org/

> - considered harmful by other browser vendors

It is literally being drafted in conjunction by all the major browsers.

> - shipped by default in Chrome

So what? I for one am thankful that Chromium enables features earlier than other browsers. If you don't want the Chromium implementation then don't use it.


> As others have pointed out the standard is here:

As others also pointed out, it's a different standard.

File System: Mozilla isn't opposed

File System Access API: considered harmful

There are parts (of whichever spec) that neither Mozilla nor Safari are opposed to like Private Origin File System. That one ships across all browsers.

> So what?

Ah yes. So what if a dominant browser ships features without any consensus, against objections, with badly written specs, or with glaring issues.

As to "don't use it", https://news.ycombinator.com/item?id=31905404


wait, there's 2 different...? I don't even know what I can call them if not "standards" and only one has "API" in the name.


Where file handling is concerned, there are at least

- File System Access API, https://wicg.github.io/file-system-access/

- File Handling, https://github.com/WICG/file-handling/blob/master/explainer....

- Origin Private File System, https://github.com/WICG/file-system-access/blob/main/AccessH...

There was also Storage Foundation API to which the reaction was "I don't think it's an acceptable outcome for the web platform to have that many ways to work with files" :) https://github.com/mozilla/standards-positions/issues/481 This one never saw the light of day.


I don't think that's acceptable either. How hard can this be? Just make the user consent to give access and maybe up to some max disk space. Done.


"Just" carries a lot of weight there. There are several dozen APIs that Google pushes that require user consent.

At wich point will the user just blindly click "yes" on all of those?


That's a fair point. Sometimes I go the opposite extreme. If every site is asking to send me notifications, I'll turn it off globally.

Sites shouldn't be asking for permissions that don't really need, and users should default to "no" instead of yes, but these are orthogonal problems.

Browsers could batch them up. One dialog that lists what permissions the site wants with checkboxes next to each of them to agree.

There really is no way around that for file system access. Users must consent and consent to a small subset of files, or the whole thing is effed.


What do you think of the Chrome origin trial process?


It's a good idea, or at least originally it was a good idea. In reality it devolved to, well, see the links I provided.

Edit:

Note: those three are the ones I remember because I was reading about them at the time, or participating in some form in the discussion. How many are there that just slip through? Well, you can kinda see for yourself (second hand guessing, by proxy etc.):

1. MDN lists various web APIs, including experimental ones: https://developer.mozilla.org/en-US/docs/Web/API Almost every single one that's marked "experimental" is shipped by default in Chrome

2. Mozilla lists its position on various standards. Almost all of those marked as "considered harmful/negative" are shipped by default in Chrome https://mozilla.github.io/standards-positions/ (exceptions are a few deprecated and removed ones like HTML Imports)

3. Chrome currently ships 1100 more APIs more than Firefox: https://web-confluence.appspot.com/#!/confluence (note: a single standard like "File System Access API" may expose dozens of these APIs) Is it because Firefox is lagging, or is it because Chrome just powers through, all consensus be damned?


Has been true since the days of Web Audio and is still true.

Context: I was a member of both the Firefox and Chrome development teams at different points.


The underlying API seems to be available for multiple browsers but not Firefox yet:

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


Yeah, so tired of excitement without thinking the full production process.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: