-
Notifications
You must be signed in to change notification settings - Fork 9
Is this spec deprecated? #8
Comments
At the moment there are several more or less complete implementations - ironically webkit is the major browser engine that really does not support it. There was a discussion about this at the recent face to face meeting, because there is another proposal that the same browsers are interested in. My own understanding is that this specification roughly works now in most browsers, but in predicting the future it is not clear whether people prefer to work on an unprefixed version of this or on something more closely based on the entries API proposal. Either way, browsers seem to have pretty clearly decided that the functionality is valuable. |
Sorry for being uninformed -- how does this effort differ from the File API? File API: https://www.w3.org/TR/file-system-api/ The url paths are so similar that it's quite confusing. I didn't realize these were two different specs! Can you explain? |
The top document (at w3.org) is not being worked on, it dates back to 2014 and it says "Work on this document has been discontinued and it should not be referenced or used as a basis for implementation". The second document is the editors draft of a work in progress. |
Right. But I think there's confusion in the developer community about this current spec effort. It seems the second document is meant to replace the 2014 effort?
Is this in reference to this current effort? I've never heard of it before. Are you sure you don't mean this other, third, File API (https://www.w3.org/TR/FileAPI/)? |
It seems there are 3 specs here: File API: widely implemented, 92% support And only the last 2 in that list actually let us have a full filesystem with permanent storage. Is my understanding correct? Context: The web really needs a proper filesystem to properly compete with native apps. I'd love to make WebTorrent use the disk instead of in-memory storage, but there's no clear cross-browser solution. |
AIUI, that currently lives at https://wicg.github.io/entries-api/, (or at least a subset) and it's supported by Edge and Firefox 49+: Some Gecko implementation bugs: https://bugzilla.mozilla.org/show_bug.cgi?id=1258489 |
Mike wrote:
No, the spec is these two, mentioned by @feross: File API (Directories and System): currently marked deprecated, supported by Firefox/Edge/Blink-based browsers The discussion I pointed to in the recent meeting minutes was about whether to continue to work from this, or move to the entries-api spec. There was also a discussion about file-writing specs. |
@feross asked
The File API is a subset - it does This filesystem API is one of several efforts over most of a decade to provide a more powerful way to interact with a file system. It was proposed some years ago, implemented in Chrome, and then left to lie around. Quite recently, it was implemented in Firefox and Edge, which is why it is back under discussion. |
@chaals Yep, aware of the basic File API. Was asking about this File API (https://www.w3.org/TR/file-system-api/). Which folks seem to refer to as the Filesystem API, even though the doc is titled "File API". I understand how all this fits together now, but the naming was quite confusing at first. |
Hmm, pretty sure only Blink supports "File API: Directories and System". Firefox doesn't, at least. |
@annevk I believe you're correct. So, supposedly Firefox and Edge are implementing the Entries API, which is a subset of "File API: Directories and System", but I haven't seen a browser support matrix for this on any site, like CanIUse.com or MDN, so I think there needs to be better evangelism around these efforts. Is there any definite information on which browsers support this? The most info I could find is here (https://developer.mozilla.org/en-US/docs/Web/API/File_and_Directory_Entries_API/Firefox_support) and it only discusses Firefox support. cc @addyosmani |
Entries is everyone but Safari at the moment. Primarily for webkitdirectory, which never shipped in Safari, but did elsewhere… Not sure everyone is shipping that yet though, but soon. |
AFAICT (someone correct me if I'm wrong) but it looks like Also Entries doesn't have much to do with "filesystem" per se; it's fairly limited to scenarios of e.g. dragging-and-dropping files into an input element. There's also the directory upload proposal by @aliams which is not implemented by any browser yet. I think there's a desire from web developers to have some kind of file system access, but it'd be good to nail down what the requirements are, to see if any of the existing proposals even cover the target use cases. E.g. from talking with @mikeal I've heard that one much-desired feature is a streaming interface to and from the filesystem, which could arguably be added to IDB rather than this spec or any similar filesystem spec. @feross are you looking for something similar for WebTorrent? |
Then you will here it from me too: wish to have ReadableStream and WritableStream Stream API but non of the api supports it (filled an issue here: WICG/entries-api#11) |
Streaming reads are already possible today via drag-drop or a File Input. On the other hand, the following are not currently possible, and are extremely important for the web platform:
The best attempt to address these both issues is actually WICG/writable-files, which I quoted from above. There is a more detailed explainer about the idea here: https://github.com/WICG/writable-files/blob/master/EXPLAINER.md |
@annevk @nolanlawson @feross Any updates on the spec? Last commit is 2 years ago and the it doesn't seem to be implemented by major browsers as well. Is there any specific cause for delay? |
The change since #8 (comment) is that now all browsers implement the Entries API as far as I know. The document this repository is for is still Chrome-only and nobody else is interested. |
It would be nice to have some communication from the @GoogleChrome team to see if they're still planning on keeping this API, or rather their specific extension, implemented in Google Chrome. There is no mention of a deprecation in the specific feature-page for Blink. Even though the spec is deprecated, many services (in production) make use of it, https://mega.nz/ for example. |
cc @RByers |
Maybe you can first clean up this one? |
Not sure what there is to clean up in this spec? As far as I know there are no browsers implementing this, no browsers have ever implemented this, and no browsers are planning to implement this spec. I'm not entirely sure what the history is behind this spec, but other than updating the status to make it clear that this isn't something anybody is working on this spec there doesn't seem to be much to be done? (Confusingly enough this thread started by linking to an API that is unrelated to this spec, so maybe the "this one" you're referring to is that other API?) |
Yeah, my bad. That is what I meant. For this specific repository though, that should be archived and marked obsolete somehow as this is indeed not happening. |
Ping @plehegar Looks like File System didn't transfer from WebPlat to WebApps. If @mkruisselbrink is correct and no-one is implementing or intending to, then it would be good to do as @annevk suggests. |
From https://developer.mozilla.org/en-US/docs/Web/API/FileSystem
The text was updated successfully, but these errors were encountered: