No description
  • TypeScript 58.9%
  • CSS 25.1%
  • Rust 13.7%
  • JavaScript 1.5%
  • Shell 0.4%
  • Other 0.4%
Find a file
Serjik 05f8e0a478
All checks were successful
Build and Release / Create Release (push) Successful in 0s
Build and Release / Build (windows/amd64) (push) Successful in 6m24s
Build and Release / Build (linux/amd64) (push) Successful in 6m36s
Build and Release / Publish Updater JSON (push) Successful in 9s
fix: improve torrent recovery and peer diagnostics
2026-08-23 18:28:42 +03:00
.forgejo/workflows fix: harden backend and updater release flow 2026-07-20 23:56:16 +03:00
artifacts/macos Optimize build process by clearing stale incremental artifacts and disabling incremental compilation; add macOS application artifacts. 2026-07-08 19:34:36 +03:00
docs Stabilize Linux release bundling and AppImage runtime caching 2026-07-10 17:01:07 +03:00
k8s feat: initialize Tauri project structure with parser and TMDB modules 2026-04-14 10:22:38 +03:00
public feat: add application icons and configure local Claude development settings 2026-04-12 18:51:00 +03:00
scripts feat: enhance watchlist functionality and improve database schema 2026-07-04 10:16:05 +03:00
src fix: improve torrent recovery and peer diagnostics 2026-08-23 18:28:42 +03:00
src-tauri fix: improve torrent recovery and peer diagnostics 2026-08-23 18:28:42 +03:00
.dockerignore feat: enhance watchlist functionality and improve database schema 2026-07-04 10:16:05 +03:00
.editorconfig feat: enhance watchlist functionality and improve database schema 2026-07-04 10:16:05 +03:00
.gitignore feat: enhance watchlist functionality and improve database schema 2026-07-04 10:16:05 +03:00
AGENTS.md feat: enhance watchlist functionality and improve database schema 2026-07-04 10:16:05 +03:00
BUILD_MACOS.md feat: enhance watchlist functionality and improve database schema 2026-07-04 10:16:05 +03:00
DESIGN.md feat: enhance watchlist functionality and improve database schema 2026-07-04 10:16:05 +03:00
Dockerfile feat: enhance watchlist functionality and improve database schema 2026-07-04 10:16:05 +03:00
Dockerfile.aarch64 feat: enhance watchlist functionality and improve database schema 2026-07-04 10:16:05 +03:00
Dockerfile.base feat: Add Kubernetes deployment and automated provisioning for a Windows Forgejo CI runner. 2026-03-25 12:34:14 +03:00
Dockerfile.windows feat: enhance watchlist functionality and improve database schema 2026-07-04 10:16:05 +03:00
Dockerfile.windows-base feat: implement torrent engine with librqbit and add Watchlist UI with streaming support 2026-03-29 19:04:54 +03:00
eslint.config.js feat: enhance watchlist functionality and improve database schema 2026-07-04 10:16:05 +03:00
index.html feat: enhance watchlist functionality and improve database schema 2026-07-04 10:16:05 +03:00
package.json feat: enhance watchlist functionality and improve database schema 2026-07-04 10:16:05 +03:00
PLAYBACK_STABILIZATION_PLAN.md feat: enhance watchlist functionality and improve database schema 2026-07-04 10:16:05 +03:00
pnpm-lock.yaml Redesign MLV desktop experience 2026-06-23 23:48:58 +03:00
pnpm-workspace.yaml chore: update pnpm workspace configuration to include package definitions 2026-06-01 21:17:25 +03:00
README.md feat: enhance watchlist functionality and improve database schema 2026-07-04 10:16:05 +03:00
TODO feat: enhance WatchTogether and Watchlist pages with improved state management and UI updates 2026-07-07 17:36:42 +03:00
tsconfig.app.json feat: Generated various build artifacts and dependency caches for the Rust Tauri application. 2026-03-20 17:14:26 +03:00
tsconfig.json feat: Generated various build artifacts and dependency caches for the Rust Tauri application. 2026-03-20 17:14:26 +03:00
tsconfig.node.json feat: Generated various build artifacts and dependency caches for the Rust Tauri application. 2026-03-20 17:14:26 +03:00
vite.config.ts feat: enhance watchlist functionality and improve database schema 2026-07-04 10:16:05 +03:00

MLV Desktop

MLV Desktop is the production desktop app for MLV / Media Local Viewer. It is a Tauri 2 application with a React frontend and a Rust native backend for local-first media workflows.

The app supports discovery, watchlists, local/offline playback, torrent-backed streams, native/libVLC playback, HTML5 fallback playback, FFmpeg helpers, backend proxying, updater integration, and desktop packaging.

Stack

  • Tauri 2
  • React 19, TypeScript, Vite
  • Rust native commands and services
  • SQLite for local desktop data
  • pnpm with pnpm-lock.yaml
  • Forgejo Actions for Linux and Windows release automation

Setup

Install Node.js, pnpm, Rust, and the platform dependencies required by Tauri.

pnpm install --frozen-lockfile

For local playback testing, install VLC and FFmpeg or provide bundled sidecar binaries under src-tauri/binaries/. See src-tauri/binaries/README.md and src-tauri/binaries/VLC_SETUP.md.

Development

pnpm tauri:dev

Frontend-only development is also available:

pnpm dev

The Tauri dev URL is configured as http://127.0.0.1:1420.

Fast Checks

Default checks before handing off changes:

pnpm check:encoding
pnpm typecheck

For design-token and route smoke coverage:

pnpm check:theme
pnpm test:home-discovery
pnpm test:search-page
pnpm test:media-detail

For Rust/Tauri changes:

cd src-tauri
cargo check

pnpm lint is useful, but the project may still contain existing lint warnings. Do not treat lint cleanup as part of unrelated changes.

Builds

General Tauri build:

pnpm tauri:build

macOS local builds are documented in BUILD_MACOS.md.

Production Linux and Windows artifacts are built by Forgejo Actions. Release automation also signs updater bundles and publishes updater metadata, so changes to .forgejo, Dockerfiles, NSIS, versioning, signing, or updater config should be reviewed carefully.

Documentation

Start here for project context:

  • AGENTS.md
  • docs/knowledge/project-memory.md
  • docs/knowledge/desktop-architecture.md
  • docs/knowledge/native-backend.md
  • docs/knowledge/playback-and-streaming.md
  • docs/knowledge/build-and-release.md
  • docs/knowledge/known-errors.md
  • DESIGN.md
  • docs/design-system.md

Notes

  • Do not use npm install for release-oriented work.
  • Do not commit or push release/build changes without explicit approval.
  • Preserve both online/backend mode and offline/local mode unless a task explicitly changes one of them.