mirror of
https://github.com/zoriya/v10.git
synced 2026-08-16 02:45:09 +00:00
Memoize the run-machinery promise itself (`#promise ??= this.#execute()`) rather than reassigning `#promise` to fresh `Promise.resolve(value)` / `Promise.reject(error)` on settle. The reassigned promises were never awaited, so an errored or aborted task that's not re-run (the norm — the RecurringRunner moves on to a clone) left an unhandled rejection. The memoized promise is the one callers await, so it's always handled. Also closes a sync-throw gap: a `#runFn` that throws synchronously is now captured as a rejected memoized promise instead of leaving `#promise` unset (which would re-execute on the next run()). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@videojs/spf
⚠️ Beta Experimental adoption in real projects.
Overview
@videojs/spf is a lightweight, bundle-size-optimized streaming engine for Video.js 10. It provides
HLS playback with adaptive bitrate switching, WebVTT captions, and MSE support.
Community
If you need help with anything related to Video.js 10, or if you'd like to casually chat with other members: