web-platform-tests / interop

web-platform-tests Interop project
https://wpt.fyi/interop
281 stars 28 forks source link

Indexed DB v3 #516

Closed evanstade closed 7 months ago

evanstade commented 11 months ago

Description

Storage APIs allow web sites to store data locally in the browser, providing caching of resources, access to data while offline, and local state for applications. Indexed DB is the primary storage API for structured data, providing durability and transactions. It is commonly used by developers through libraries which provide higher level query APIs.

As of 2023, all engines have very good coverage for "V2" features, but some are missing some "V3" features that had been requested by developers, and there are inconsistencies in BFCache behavior.

Specification

https://www.w3.org/TR/IndexedDB/

Open Issues

No response

Tests

https://wpt.fyi/results/IndexedDB

Current Implementations

Standards Positions

base API already shipping in all major browsers

Browser bug reports

https://bugzilla.mozilla.org/show_bug.cgi?id=934640

https://bugzilla.mozilla.org/show_bug.cgi?id=1112702 (FF implements only non-standard and experimental API for specifying durability)

Developer discussions

https://stackoverflow.com/questions/69118042/if-there-is-any-function-in-firefox-to-get-all-indexeddb-names

Polls & Surveys

No response

Existing Usage

Dexie

Workarounds

No response

Accessibility Impact

No response

Privacy Impact

No response

Other

No response

foolip commented 11 months ago

https://chromestatus.com/metrics/feature/timeline/popularity/9 and https://chromestatus.com/metrics/feature/timeline/popularity/3023 show that Indexed DB is very widely used. Some of that usage likely due to "fake" usage like fingerprinting, but at any rate it's true to say that Indexed DB is widely used, which makes interoperability more important.

gsnedders commented 10 months ago

Is the intention here to include tests for all of IndexedDB, or only the new-in-V3 features?

evanstade commented 10 months ago

The failing tests are pretty much all related to v3 features. I'm not sure if there's an easy way to link to those specifically.

foolip commented 10 months ago

This is a view of only failing tests: https://wpt.fyi/results/IndexedDB?label=master&label=experimental&aligned&q=status%3A%21ok%20status%3A%21pass

That's 46 of a total of 457 tests. In the past we have not scoped focus areas to just the failing tests, but if there are large swaths of tests that are passing and that predate v3, it could make sense to exclude those.

zcorpan commented 9 months ago

In last week's Interop meeting I brought up that the storage-buckets.* tests should not be included since it's not part of IndexedDB.

evanstade commented 9 months ago

@zcorpan is correct -- those storage-buckets tests should be marked tentative and not included in this proposal.

inexorabletash commented 9 months ago

Maybe we can slip https://github.com/w3c/IndexedDB/issues/375 in there? Really minor but it'd be nice to align. Gecko needs no changes (IIRC), Chromium changes are ready to go, just waiting for an implementation commitment from WebKit.

inexorabletash commented 9 months ago

Possibly https://github.com/w3c/IndexedDB/issues/412 as well though that is more intrusive and perhaps not in the spirit of Interop.

dandclark commented 7 months ago

This proposal has been accepted as part of Interop 2024! On behalf of the entire Interop team, thank you for proposing it. You’ll be able to track progress on this topic throughout the year via the Interop 2024 dashboard.