Aurora Service procedure issues and pull requests on GitHub

Report a problem, suggest a change, or work on Aurora

Issues and pull requests go through GitHub. Most outside reports so far were fixed within a day; a good report is the reason that's possible.

Report a bug

  • GitHub issue form
  • one problem per issue
  1. Search the existing issues.
  2. If it's new, open a bug report.
  3. Fill in the fields listed below.

Report to fix

Hours from an outside report on GitHub to a fix on main.

  1. #12 Last.fm fix 2 hours

  2. #10 DAC hardware volume 4 hours

  3. #14 Jellyfin 12.2 sign-in 8 hours

  4. #5 Pull-to-refresh 12 hours

  5. #2 Profiles, artist separators 13 hours

  6. #9 Animated covers 16 hours

  7. #7 USB regression 17 hours

  8. #6 YouTube downloads 19 hours

  9. #8 Equalizer redesign 2.4 days

Median 13 h across all nine.

What a reproducible report contains

GitHub issues are public. Remove passwords, tokens and private server addresses from screenshots and logs.

Release
The tag, such as V3.2.0, or the commit for a source build.
Platform
Android version and device; Windows 10 or 11; Linux (beta) distribution and desktop.
Steps
What you did, what you expected, what happened.
Playback details
Source, output device, active effects, file format.
Signal Path report
In Settings → Signal Path, copy the report. It lists formats, stages and the verdict, never titles, URLs, account or device IDs.
Logs
Desktop: aurora.log, in %LOCALAPPDATA%\Aurora\logs on Windows or $XDG_DATA_HOME/Aurora/logs on Linux (beta).

Signal Path reportas Aurora copies it

Aurora Signal Path · diagnostic v1
State: Active
Sample preservation: Unknown
- USB transport conversion and downstream DAC behavior are not independently verified
USB completed/pending frames: 1,843,200 / 3,840
USB packet errors/timeouts: 0 / 0

Source: Local playable copy · FLAC · 2764800 bit/s
Format: 96000 Hz · 24-bit · 2 channels · integer PCM

Output: 32-bit USB container · 96000 Hz clock readback · Downstream DAC processing unknown
Format: 96000 Hz · 24-bit · 2 channels · integer PCM

Hardware behavior beyond the reported output boundary is not verified.
Figure An Android phone playing to a USB DAC in Direct mode, trimmed to the verdict, source and output. The wording is the app's; the counter values are examples. Full report format: Signal Path.

Suggest a feature

Say what you want to do, what gets in the way, and how you'd like it to work. A concrete example beats a general wish.

Translate

  • Android XML string resources

Aurora ships in 17 languages, about 2,820 strings each. Fixes and new languages come in as pull requests; keep interface text short and clear.

Android strings live in app/src/main/res, one folder per language. The desktop app keeps its own few in desktop/src/main/res, in the same folders.

  • English English values
  • Русский Russian values-ru
  • Türkçe Turkish values-tr
  • Español Spanish values-es
  • Français French values-fr
  • 简体中文 Chinese, Simplified values-zh
  • Português Portuguese values-pt
  • हिन्दी Hindi values-hi
  • اردو Urdu values-ur
  • Deutsch German values-de
  • Italiano Italian values-it
  • Nederlands Dutch values-nl
  • Polski Polish values-pl
  • Bahasa Indonesia Indonesian values-in
  • 日本語 Japanese values-ja
  • 한국어 Korean values-ko
  • العربية Arabic values-ar

Contribute code

  • Kotlin, Compose, C++
  • Apache-2.0
  1. Fork the repository and create a branch.
  2. Build it. Build from source lists the tools for Android, Windows and Linux (beta).
  3. Keep the change focused and match the surrounding code.
  4. Check what you changed: screenshots for visual changes, device and output details for audio changes. For app code, build and run the unit tests and lint:
    ./gradlew :app:assembleDebug :app:testDebugUnitTest :app:lintDebug
  5. Open a pull request with your test results and what you couldn't test.

About 1,790 automated tests cover the shared core, the desktop app and Android devices. For a large feature, open an issue first.

  • Shared core 921
  • Desktop app 432
  • Android devices 320
  • App unit 30
  • USB driver 16

Extensions beta

  • API 1 · Android

The extension SDK (API 1, Apache-2.0) and an example app are in the repository. Extensions are separate Android apps that can add sound presets, read-only libraries or tag suggestions; each capability is granted per extension and pinned to its signing certificate.

Talk

Discord: discord.gg/zrxXejkywP. GitHub Discussions for longer threads. Bugs and requests belong in issues, where others can follow them.