You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Rename requestFileHandles() (plural) to requestFileHandle() (singular) #61
All known real-world implementations of the COS API call requestFileHandles() with exactly one hash and read back exactly one handle. The plural form is never used as intended. This issue proposes renaming the method to requestFileHandle() (singular) to better match actual usage.
Evidence
A broad code search across GitHub (31 total results) was conducted across all known independent implementations. Every single call site passes a single-element array and reads back a single handle:
Zero implementations pass more than one hash in a single call.
Problems with the current plural form
Misleading ergonomics. Every consumer is forced to write const [handle] = await ...requestFileHandles([singleHash]) — wrapping a single item in an array only to destructure it back out is pure boilerplate noise.
False promise of batching. The plural signature implies atomicity or efficiency gains from batching multiple hashes, but no implementer found this useful. AI model files are large and handled one at a time.
Explicit workarounds. The TVM family explicitly does const handles = ...; const handle = handles[0] — actively fighting the plural shape.
Precedent. Web APIs conventionally reflect actual usage. If batching is ever needed in the future, a separate method or overload can be introduced.
Activity
feat: add singular requestFileHandle() alongside plural form
refactor: use singular requestFileHandle() instead of requestFileHand…
refactor: use singular requestFileHandle() instead of requestFileHand…
refactor: use singular requestFileHandle() instead of requestFileHand…
refactor: use singular requestFileHandle() instead of requestFileHand…
refactor: use singular requestFileHandle() in minified index-dynamic.…
refactor: use singular requestFileHandle() instead of requestFileHand…
beaufortfrancois commentedon Jun 15, 2026
+1
refactor: use singular requestFileHandle() instead of requestFileHand…
test: add singular requestFileHandle() tests; mark plural as deprecated
test: add singular requestFileHandle() test; mark plural as deprecated
test: add singular requestFileHandle() test; mark plural as deprecated
test: add singular requestFileHandle() test; mark plural as deprecated
16 remaining items
refactor(cos-resource-fetcher): use singular requestFileHandle() (#383)
refactor: use singular requestFileHandle() instead of requestFileHand…
refactor: use singular requestFileHandle() instead of requestFileHand…
refactor: use singular requestFileHandle() instead of requestFileHand…
refactor(web): use singular crossOriginStorage.requestFileHandle()
refactor(cos): use singular requestFileHandle() instead of requestFil…
[Web] use singular requestFileHandle() instead of requestFileHandles() (
refactor(cos): use singular requestFileHandle() instead of requestFil…
[Web] use singular requestFileHandle() instead of requestFileHandles() (
refactor: use singular requestFileHandle() instead of requestFileHand…
refactor: use singular requestFileHandle() instead of requestFileHand…
refactor: use singular requestFileHandle() instead of requestFileHand…
refactor: use singular requestFileHandle() instead of requestFileHand…
Fix stale requestFileHandles() call in Cross-Origin Storage docs (#27585
refactor(web): use singular requestFileHandle() and stream Wasm throu…