Overview
StrIve aims to offer an advanced streaming dashboard using React & Firebase. This issue proposes investigating support for Stream-style extensions (modeled after the popular Android app extension architecture), enabling third-party site integrations via modular plugins/extensions.
References
- Review extension formats (JSON manifest, Kotlin/Java logic, content scrapers) and possible adaptation to JavaScript/TypeScript for StrIve.
Possibilities for Implementation in StrIve
- Extension Loader: Create an extension/plugin loader in StrIve that loads external site modules/extensions (in JS/TS), inspired by Stream.
- Extension API: Define an extension API for StrIve that allows developers to add support for new streaming sites (scraping, API, playlist integration, etc.).
- Extension Repository UI: Add a UI for browsing, installing, and managing extensions (like Stream’s repo browser).
- Security Model: Sandbox extensions and review permissions to keep users safe.
- Example Extension Mapping: Prototype mapping a Stream-style extension (e.g., for a public streaming site) to StrIve’s extension format and player logic.
Tasks
- Research Stream extension architecture and repo formats
- Draft StrIve extension manifest and lifecycle spec
- Prototype loading and running a JS/TS site extension in StrIve
- Implement extension browser UI
- Evaluate security and sandboxing for third-party extensions
- Map at least one Stream-style extension to StrIve’s model and document findings
This issue will guide development of modular extension support in StrIve, enabling compatibility with more streaming sources.
Overview
StrIve aims to offer an advanced streaming dashboard using React & Firebase. This issue proposes investigating support for Stream-style extensions (modeled after the popular Android app extension architecture), enabling third-party site integrations via modular plugins/extensions.
References
Possibilities for Implementation in StrIve
Tasks
This issue will guide development of modular extension support in StrIve, enabling compatibility with more streaming sources.