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
Static file serving already does conditional GET — weak ETag + If-None-Match and Last-Modified + If-Modified-Since (src/http/static/StaticFiles.ts:35-50, options in StaticFilesOptions.ts) — but no Range support: no Accept-Ranges advertisement, no 206/Content-Range, no If-Range, no 416. Video/audio seeking and resumable downloads do not work against actor-ts static routes.
Proposal
Advertise Accept-Ranges: bytes; serve single ranges (bytes=start-end, suffix ranges) with 206 + Content-Range
416 with Content-Range: bytes */size on unsatisfiable ranges
If-Range honored against the existing weak ETag / Last-Modified
Single-range only initially; multipart/byteranges explicitly out of scope (say so in docs)
Problem
Static file serving already does conditional GET — weak ETag +
If-None-MatchandLast-Modified+If-Modified-Since(src/http/static/StaticFiles.ts:35-50, options inStaticFilesOptions.ts) — but no Range support: noAccept-Rangesadvertisement, no 206/Content-Range, noIf-Range, no 416. Video/audio seeking and resumable downloads do not work against actor-ts static routes.Proposal
Accept-Ranges: bytes; serve single ranges (bytes=start-end, suffix ranges) with 206 +Content-RangeContent-Range: bytes */sizeon unsatisfiable rangesIf-Rangehonored against the existing weak ETag / Last-Modifiedmultipart/byterangesexplicitly out of scope (say so in docs)Acceptance sketch
If-Rangefallback covered by testsRelates to #465, #575.