LGTM, since this is just extending support on M101 and the API shipped in M102.
On Wed, Jun 22, 2022 at 2:11 PM Austin Sullivan <asu...@chromium.org> wrote: > FYI: In order to provide a gapless support on M101 and earlier, we'd like > to extend the OT until October 4th, one week after the M106 stable release. > The API shape will not change on these earlier releases during this time. > > On Friday, February 11, 2022 at 2:21:42 AM UTC-8 Mike West wrote: > >> Hey Emanuel, >> >> With my comments on the storage foundation I2E >> <https://groups.google.com/a/chromium.org/g/blink-dev/c/wDiMaUps4lg/m/kbGs31B5AQAJ> >> in mind, it looks like good, cross-vendor progress is being made on >> refining Access Handles' implementation and specification. There's clear >> engagement from partners who have begun using the feature in ways that give >> us confidence around it's broad shape and performance characteristics, and >> it seems reasonable to me to extend the trial out a bit to give folks time >> to hammer out the remaining details together. >> >> LGTM to extend the experiment to 101. Ideally, that will allow y'all to >> bring the spec into shape, resolve any remaining disagreements about the >> API's behavior, and ensure our implementation matches those decisions. >> >> -mike >> >> >> On Wed, Jan 26, 2022 at 3:47 PM Yoav Weiss <yoavwe...@chromium.org> >> wrote: >> >>> Would you be able to answer the questions Chris asked on the Storage >>> Foundation I2E? They seem relevant here as well. Thanks! :) >>> >>> On Thursday, January 20, 2022 at 4:06:34 PM UTC+1 Emanuel Krivoy wrote: >>> >>>> We’d like to ask for an extension to our Origin Trial, from M99 to >>>> M101. As mentioned in the Storage Foundation I2E >>>> <https://groups.google.com/a/chromium.org/g/blink-dev/c/enA3o1UvzcE/m/qsaC_2whAQAJ>, >>>> our partner intended to run a final series of tests with the new surface, >>>> giving us a chance for to measure the impact of some of the design >>>> decisions (the effect of a mixed sync/async surface and of all filesystem >>>> operations being async). The tests were postponed and should happen in the >>>> near future, and so we’d like to extend the trial to be able to gather >>>> feedback from them. >>>> >>>> Please find the Chrome Status template below: >>>> >>>> Contact emails >>>> >>>> fived...@chromium.org, r...@chromium.org >>>> >>>> Explainer >>>> >>>> https://github.com/WICG/file-system-access/blob/main/AccessHandle.md >>>> >>>> Specification >>>> >>>> WIP Draft: https://github.com/WICG/file-system-access/pull/344 >>>> >>>> Summary >>>> >>>> The Origin Private File System (OPFS, part of the File System Access >>>> API) is augmented with a new surface that brings very performant access to >>>> data. This new surface differs from existing ones by offering in-place and >>>> exclusive write access to a file’s content. This change, along with the >>>> ability to consistently read unflushed modifications and the availability >>>> of a synchronous variant on dedicated workers, significantly improves >>>> performance and unblocks new use cases (especially for porting existing >>>> IO-heavy applications to WebAssembly). >>>> >>>> This Intent-to-Experiment is only in reference to the sync variant of >>>> the API i.e., the createSyncAccessHandle() method and the >>>> SyncAccessHandle object (only exposed in worker contexts): >>>> >>>> const handle = await file.createSyncAccessHandle(); >>>> >>>> var writtenBytes = handle.write(buffer); >>>> >>>> var readBytes = handle.read(buffer {at: 1}); >>>> >>>> The sync variant is meant to be consumed by low-level entities like >>>> toolchains. We expect application developers to prefer the async API with >>>> its streaming interface which will be shipped later. >>>> >>>> AccessHandles is the new API shape for what was previously called >>>> Storage Foundation API (Intent-to-Experiment: >>>> http://groups.google.com/a/chromium.org/g/blink-dev/c/Jhirhnq3WbY. >>>> >>>> >>>> Blink component >>>> >>>> Blink>Storage>FileSystem >>>> <https://bugs.chromium.org/p/chromium/issues/list?q=component:Blink%3EStorage%3EFileSystem> >>>> >>>> TAG review >>>> >>>> https://github.com/w3ctag/design-reviews/issues/664 >>>> >>>> TAG review status >>>> >>>> Closed, positive feedback. >>>> >>>> Risks >>>> Interoperability and Compatibility >>>> >>>> The feature has to be compatible with existing ways to access data on >>>> OPFS i.e., createWritable() and getFile(). The use of write locks and >>>> care for backwards compatibility should mean that the risk here is low. In >>>> order to ease compatibility concerns in the future, we've added an optional >>>> 'mode' parameter to createAccessHandle()/createSyncAccessHandle(). >>>> This allows us to eventually extend AccessHandle functionality to >>>> non-OPFS file systems without necessarily taking the OPFS behaviour as >>>> default (more details here: >>>> https://github.com/WICG/file-system-access/blob/main/AccessHandle.md#exposing-accesshandles-on-all-filesystems >>>> ). >>>> >>>> There is a risk of interoperability between vendors, pending the >>>> position on implementing this surface. This design is the result of >>>> feedback from Gecko and WebKit, who reviewed previous iterations of this >>>> functionality and gave feedback that it should integrate more strongly with >>>> OPFS. We directly shared documents outlining alternatives considered >>>> <https://docs.google.com/document/d/121OZpRk7bKSF7qU3kQLqAEUVSNxqREnE98malHYwWec>, >>>> and later our recommendation >>>> <https://docs.google.com/document/d/1g7ZCqZ5NdiU7oqyCpsc2iZ7rRAY1ZXO-9VoG4LfP7fM> >>>> towards this particular API shape. >>>> >>>> >>>> >>>> We believe that the new design, when paired with a separate >>>> streams-based extension to OPFS, meets the goal of more strongly >>>> integrating with the existing surface. However, we have not yet received >>>> replies to the position requests below. >>>> >>>> Gecko: No formal signal, but generally positive reception with >>>> questions about supporting existing surfaces ( >>>> https://github.com/mozilla/standards-positions/issues/562) >>>> >>>> WebKit: In development ( >>>> https://lists.webkit.org/pipermail/webkit-dev/2021-August/031934.html) >>>> Request for position was not answered, but the feature is being implemented >>>> and is available in TP. See reference bug: >>>> https://bugs.webkit.org/show_bug.cgi?id=231185 >>>> >>>> Web developers: Positive >>>> >>>> From our Storage Foundation OT, we received very positive feedback on >>>> the need for high performance storage, as well as on the general shape of >>>> the API: >>>> >>>> >>>> - >>>> >>>> Adobe’s support statement (about the need for the capability) >>>> <https://github.com/WICG/proposals/issues/10#issuecomment-804145429> >>>> - >>>> >>>> absurd-sql’s mention >>>> >>>> <https://github.com/mozilla/standards-positions/issues/481#issuecomment-898061119> >>>> - >>>> >>>> Reception on Twitter after DevRel announcement >>>> <https://twitter.com/ChromiumDev/status/1405101909757902851> >>>> >>>> >>>> SyncAccessHandles have a very similar shape to the surface that was >>>> exposed in Storage Foundation’s Origin Trial. The current implementation in >>>> Chrome is currently being tested by partners to confirm it is a good >>>> replacement of Storage Foundation for their needs. >>>> >>>> Ergonomics >>>> >>>> As mentioned above, SyncAccessHandles offer a very similar surface to >>>> the one positively received during Storage Foundation’s OT. The main >>>> differences are the migration of file system operations into OPFS and the >>>> asynchronicity of auxiliary methods (i.e. methods other than read and >>>> write). >>>> >>>> Since many of our use cases require good interoperability between this >>>> API and Wasm, we’ve developed an Emscripten file system >>>> <https://github.com/rstz/emscripten-pthreadfs/tree/main/pthreadfs> >>>> that allows ported applications to use SyncAccessHandles. This >>>> simplifies both activation and use, since the API can be accessed through >>>> standard C/C++ file system libraries. >>>> >>>> Security and Privacy >>>> >>>> SyncAccessHandles have received approval for Security and Privacy in >>>> our launch bug >>>> <https://bugs.chromium.org/p/chromium/issues/detail?id=1232436>. >>>> >>>> Goals for experimentation >>>> >>>> In general, we want to validate the new surface against "real world" >>>> use cases from our partners and developers at large. In particular, we are >>>> interested in the relative usage between the sync and async methods, since >>>> this could have an impact on performance when using Asyncify. We also would >>>> like to receive qualitative feedback on the ease of use of the API from >>>> within Wasm. >>>> >>>> Debuggability >>>> >>>> Basic tooling: Autocomplete works as described in "New WebIDL/DOM >>>> interfaces and attributes". >>>> >>>> Extended tooling: we'll eventually want to be able to explore files >>>> stored in OPFS. There are two tracking bugs related to this: >>>> crbug.com/256067 and crbug.com/735618. This API doesn't really add new >>>> storage backends, just new ways to interact with files, so we'd be covered >>>> by those as well. >>>> >>>> File System Access API usage is also reflected in user settings pages >>>> such as chrome://settings/siteData. >>>> >>>> Is this feature fully tested by web-platform-tests >>>> <https://chromium.googlesource.com/chromium/src/+/master/docs/testing/web_platform_tests.md> >>>> ? >>>> >>>> Yes, we’ve added tests for all new functionality, as well as for the >>>> intersection between this surface and existing parts of OPFS (in particular >>>> for locking semantics). Our test suite is also run against our Incognito >>>> mode implementation, since it is significantly different from the regular >>>> mode one. >>>> >>>> >>>> >>>> wpt.fyi results: wpt.fyi/results/file-system-access >>>> >>>> Is this feature supported on all six Blink platforms? >>>> >>>> No. File System Access API is not currently available on Android or >>>> Android WebView. >>>> >>>> DevTrial instructions >>>> >>>> >>>> https://github.com/WICG/file-system-access/blob/main/AccessHandle.md#trying-it-out >>>> >>>> Flag name >>>> >>>> FileSystemAccessAccessHandle >>>> >>>> Requires code in //chrome? >>>> >>>> False >>>> >>>> Tracking bug >>>> >>>> https://bugs.chromium.org/p/chromium/issues/detail?id=1218431 >>>> >>>> Launch bug >>>> >>>> https://bugs.chromium.org/p/chromium/issues/detail?id=1232436 >>>> >>>> Estimated milestones >>>> >>>> OriginTrial desktop last >>>> >>>> 98 >>>> >>>> OriginTrial desktop first >>>> >>>> 95 >>>> >>>> DevTrial on desktop >>>> >>>> 94 >>>> >>>> Link to entry on the Chrome Platform Status >>>> >>>> https://chromestatus.com/feature/5702777582911488 >>>> >>>> Links to previous Intent discussions >>>> >>>> Intent to prototype: >>>> https://groups.google.com/a/chromium.org/g/blink-dev/c/33T36N6VBKI >>>> >>>> Ready for Trial: >>>> https://groups.google.com/a/chromium.org/g/blink-dev/c/_nB5VfgXW_I >>>> >>>> Intent to Experiment: >>>> https://groups.google.com/a/chromium.org/g/blink-dev/c/-FVIvFovd3g/m/vUNm4X8UBAAJ >>>> >>>> >>>> This intent message was generated by Chrome Platform Status >>>> <https://chromestatus.com/>. >>>> >>>> -- >>> You received this message because you are subscribed to the Google >>> Groups "blink-dev" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to blink-dev+unsubscr...@chromium.org. >>> To view this discussion on the web visit >>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/64702163-232b-44f8-8d51-6ab763c7ea0fn%40chromium.org >>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/64702163-232b-44f8-8d51-6ab763c7ea0fn%40chromium.org?utm_medium=email&utm_source=footer> >>> . >>> >> -- > You received this message because you are subscribed to the Google Groups > "blink-dev" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to blink-dev+unsubscr...@chromium.org. > To view this discussion on the web visit > https://groups.google.com/a/chromium.org/d/msgid/blink-dev/a998604b-8436-4caa-8682-6b6f57dc8564n%40chromium.org > <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/a998604b-8436-4caa-8682-6b6f57dc8564n%40chromium.org?utm_medium=email&utm_source=footer> > . > -- You received this message because you are subscribed to the Google Groups "blink-dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscr...@chromium.org. To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAOMQ%2Bw_v1MJzwrBwPcgHgLgRpYhwWFTiu1ptwkR7pBj36fZCNA%40mail.gmail.com.