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
- Search the existing issues.
- If it's new, open a bug report.
- Fill in the fields listed below.
Report to fix
Hours from an outside report on GitHub to a fix on main.
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\logson Windows or$XDG_DATA_HOME/Aurora/logson Linux (beta).
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
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
- Fork the repository and create a branch.
- Build it. Build from source lists the tools for Android, Windows and Linux (beta).
- Keep the change focused and match the surrounding code.
-
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 - 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.
- Extension guide: the JSON contract, limits and grants.
- Example extension: a working app to start from.
Talk
Discord: discord.gg/zrxXejkywP. GitHub Discussions for longer threads. Bugs and requests belong in issues, where others can follow them.