How vega-org/vega-desktop works
Vega Desktop is a Tauri/React media-streaming app where users discover content through configurable third-party providers, then stream or download it, with playback controls, lists, and cross-device sync. The graph preserves those documented product areas and the sampled player, provider, proxy, and sync behavior. Some page-to-service wiring is unsampled, so uncertain connections are omitted; the README documents the product capabilities, not their internal call paths.
Main entry points: App.tsx App Router · ProviderManager.ts Provider Manager · lib.rs Tauri Runtime · HtmlVideoEngine.ts HTML Video Engine
Components 25
App and Discovery
- App Router
src/App.tsx - Search
src/pages/SearchPage.tsx - Catalog
src/pages/CatalogPage.tsx - Content Details
src/pages/MetaPage.tsx
Provider Sources
- Provider Manager
src/lib/services/ProviderManager.ts - Extension Manager
src/lib/services/ExtensionManager.ts - Provider Registry
src/lib/storage/extensionStorage.ts - Provider WebView
src/platform/waf.ts
Playback and Downloads
- Player Page
src/pages/PlayerPage.tsx - Player Controls
src/lib/hooks/usePlayerEngine.ts - HTML Video Engine
src/lib/player/HtmlVideoEngine.ts - Player Engine Contract
src/lib/player/PlayerEngine.ts - Torrent Streaming
src/lib/services/torrentStreamService.ts - Download Manager
src-tauri/src/download_manager.rs - Download Library
src/pages/DownloadsPage.tsx
Desktop Services
- Tauri Runtime
src-tauri/src/lib.rs - Proxy Manager
src-tauri/src/proxy_manager.rs
State and Sync
- Watchlist
src/pages/WatchlistPage.tsx - Watchlist State
src/lib/zustand/watchListStore.ts - Settings Storage
src/lib/storage/SettingsStorage.ts - Shared-Folder Sync
src/lib/sync/syncService.ts - Desktop Manifests
src/lib/sync/desktopManifestStorage.ts - Local Storage
src/platform/storage.ts
Other components
- User
- Provider Services
Connections 28
- User → App Router: opens
- App Router → Search: routes to
- App Router → Catalog: routes to
- App Router → Content Details: routes to
- Search → Provider Manager: requests provider data
- Catalog → Provider Manager: requests catalog
- Content Details → Provider Manager: requests metadata
- Provider Manager → Extension Manager: loads modules
- Extension Manager → Provider Registry: reads registry
- Provider Manager → Provider Services: fetches provider data
- Provider Manager → Provider WebView: opens provider page
- User → Player Page: starts playback
- Player Page → Player Controls: controls playback
- Player Controls → HTML Video Engine: delegates playback
- HTML Video Engine → Torrent Streaming: resolves torrent
- HTML Video Engine → Player Engine Contract: implements
- User → Download Library: manages downloads
- Download Library → Download Manager: downloads media
- App Router → Tauri Runtime: invokes commands
- Settings Storage → Tauri Runtime: syncs DoH setting
- Proxy Manager → Tauri Runtime: serves native proxy commands
- User → Watchlist: manages list
- Watchlist → Watchlist State: updates state
- Settings Storage → Local Storage: reads and writes
- Watchlist State → Local Storage: persists state
- App Router → Shared-Folder Sync: starts periodic sync
- Shared-Folder Sync → Desktop Manifests: reads and writes manifests
- Desktop Manifests → Tauri Runtime: resolves local media