Skip to content

Contributing

adswill edited this page Oct 16, 2026 · 1 revision

Bug reports, test results from your radio and pull requests are all welcome.

Reporting a problem

Open an issue and say what you did, what you expected, what happened, your operating system, your radio and the standard of the channel. The log (onair.log, see Settings and files) helps, and so does a screenshot of the status bar and the constellations. Save bug report writes one zip with everything. An IQ recording of the problem (Record IQ, or onair-cli --record auto --secs 10) is the most useful attachment.

Pull requests

  • Keep a change focused and explain why in the description.
  • The build must pass on every system in the CI (Linux x86-64 and arm64, macOS Apple silicon and Intel, Windows). Keep system-specific code behind #ifdef __APPLE__ / _WIN32 and in the platform files.
  • Add or extend a test when you change the receiver, the error correction or the player logic. The generators in the library make most tests possible without a radio.
  • Do not change the decoded output of the receiver unless that is the point of the change: the tests compare it.
  • Match the style around you: short comments that say why, no large reformatting.
  • Say how you tested it, and on which system and radio.

By sending a contribution you agree it is released under the GPL-3.0-or-later. See Build from source.

Where to look

The Code map explains how the repository is organised (core/, app/, tests/, rust/, tools/, web/), the path of a signal through the program, how to add a mode, and the folder layout that comes with 0.2.7.

See also Build from source, Troubleshooting and Legal.

Clone this wiki locally