No description
  • TypeScript 87.2%
  • Rust 5.6%
  • Kotlin 4.6%
  • PLpgSQL 1.1%
  • CSS 0.8%
  • Other 0.6%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Yumeo 6bf38054f9
All checks were successful
Build and Release / Build linux-x86_64 (push) Successful in 6m4s
Build and Release / Build Flatpak x86_64 (push) Successful in 7m53s
Build and Release / Build Android universal APK (push) Successful in 21m11s
Build and Release / Build windows-x86_64 (push) Successful in 26m14s
Build and Release / Publish updater manifest (push) Successful in 9s
chore: release v0.10.4
2026-11-10 14:16:31 +01:00
.forgejo/workflows fix(ci): fetch Android setup from GitHub 2026-11-02 17:49:54 +01:00
.vscode feat: listen together and a couple bugfixes 2026-10-31 21:48:23 +01:00
docs fix(android): keep background audio views active 2026-11-10 14:16:30 +01:00
flatpak feat: add Android presence and mobile controls 2026-11-02 17:47:50 +01:00
patches misc: flatpak builds and flathub stuff 2026-10-26 19:37:07 +01:00
public misc: new logo 2026-11-05 18:55:32 +01:00
scripts feat: add Android presence and mobile controls 2026-11-02 17:47:50 +01:00
src fix(discord): clear presence after 15m idle 2026-11-07 20:10:45 +01:00
src-tauri chore: release v0.10.4 2026-11-10 14:16:31 +01:00
supabase feat: add device handoff and guest audio modes 2026-11-01 15:30:03 +01:00
vendor chore(dev): add Tauri MCP bridge 2026-10-26 11:48:56 +01:00
.gitignore build: add Flatpak and fix AppImage releases 2026-10-31 14:45:22 +01:00
.gitmodules chore(dev): add Tauri MCP bridge 2026-10-26 11:48:56 +01:00
biome.json chore: update dependencies 2026-10-30 13:14:38 +01:00
bun.lock feat: add Google account sync 2026-11-01 14:00:56 +01:00
bunfig.toml chore(dev): add Tauri MCP bridge 2026-10-26 11:48:56 +01:00
CHANGELOG.md chore: release v0.10.4 2026-11-10 14:16:31 +01:00
components.json misc: init 2026-01-05 00:59:31 +01:00
dev.yumeo.yumusic.json misc: flatpak builds and flathub stuff 2026-10-26 19:37:07 +01:00
flathub.json misc: flatpak builds and flathub stuff 2026-10-26 19:37:07 +01:00
index.html feat: mobile friendly ui 2026-09-02 20:25:59 +02:00
LICENSE misc: add license 2026-10-26 10:43:03 +01:00
package.json chore: release v0.10.4 2026-11-10 14:16:31 +01:00
README.md feat: add Android presence and mobile controls 2026-11-02 17:47:50 +01:00
tsconfig.json fix: android cookie stuff 2026-09-03 21:48:35 +02:00
vite.config.ts misc: use bun instead of nodejs 2026-10-23 23:52:14 +02:00

YuMusic

A Tauri app for YouTube Music.

YuMusic is an independent project and is not affiliated with, endorsed by, or sponsored by Google or YouTube.

Getting started

Install the package for your platform from the project's releases, then sign in to YouTube to access your library. Account sync is optional and uses the same Google account. See account sync, device playback, and Listen together for feature setup and usage.

For building from source or running your own services, follow the setup guide.

Development

Install Bun 1.4.4 or newer, Rust, and the native build prerequisites for your platform. Bun handles dependencies, JavaScript tooling, tests, and release scripts.

On Arch Linux and derivatives, install the WebKitGTK media runtime as well:

sudo pacman -S --needed webkit2gtk-4.1 gst-plugins-base gst-plugins-good gst-libav

gst-plugins-good provides autoaudiosink, which WebKitGTK needs for audio playback. If it is missing, playing a song can fail in the WebKit process. After installing plugins, restart bun run tauri dev. Check that the audio plugin is available with gst-inspect-1.0 autoaudiosink.

bun install --frozen-lockfile
bun run tauri dev

For the frontend alone, run bun run dev.

For Android, install the Android SDK and NDK and set JAVA_HOME to a JDK supported by the Gradle wrapper; Java 21 matches the release workflow. The project uses Gradle 9.1.0, Android Gradle Plugin 8.13.2, and Kotlin 2.3.21. Download the Discord Social SDK archive as described in Android Discord presence. Run bun run tauri android dev to develop on a connected device. Android uses native Media3 audio playback with a foreground media service and equalizer session support. See Android audio for details.

bun run build                         # Type-check and build the frontend
bun run test                          # Run the test suite
bun run lint                          # Check formatting and lint rules
bun run tauri build                   # Build desktop bundles
bun run build:android                 # Build Android APKs
bun run release patch --no-push        # Create a local release commit and tag

Release notes

Keep user-facing patch notes in CHANGELOG.md under Unreleased, grouped into Features, Improvements, and Bug fixes. Describe what users gain or what now works correctly; leave dependency bumps, CI changes, and other internal maintenance out unless they affect users.

Preview the next release with bun run release:notes, or a documented version with bun run release:notes 0.5.1. bun run release patch|minor|major moves the Unreleased notes into the new version, adds the release date, and includes them in the release commit. Empty notes stop the release before version files change.

Forgejo releases and the in-app updater use these same notes from the tagged version. Manually created tags need a matching changelog entry; the publishing workflow also accepts an explicit RELEASE_NOTES override.

Releases also attach a signed universal Android .apk; see Android release setup for the one-time SDK and signing secrets. They also attach an x86_64 .flatpak bundle. See Flatpak packaging for installation and the Forgejo runner requirements. For a fork or another release host, update the destinations and signing configuration described in the setup guide.