Skip to content

Contributing

ChannelWatch is MIT licensed. Bug reports, documentation corrections, and focused pull requests are welcome.

Change Repository or workflow
App bug or feature ChannelWatch issues
Question or larger proposal ChannelWatch discussions
App code or deployment files ChannelWatch
Website or handbook correction ChannelWatch-site
Security vulnerability Private security advisory

The app and website are separate repositories. Identify the page or app version you checked so the correction reaches the right source.

Use Report a Problem for a guided public-safe preview, or open an issue with:

  • the application version from About or Settings > Updates, plus the container image version if they differ
  • Docker host OS and architecture
  • Channels DVR version and whether one or several DVRs are affected
  • reproduction steps, expected result, and actual result
  • a short redacted log window or a reviewed debug bundle

Do not infer the running app version from the image tag alone. In-app updates can run a newer application on a compatible older image. Do not paste provider credentials, raw settings files, or an unreviewed full backup into a public issue.

Check existing issues and discussions first. Describe the problem, an example of when it happens, and what a successful result would look like. For a larger change, discuss the approach before writing it so the proposal can account for the single-container runtime and existing compatibility paths.

  1. Fork the appropriate repository and branch from its default branch: main for the app, master for the website.
  2. Read the README and neighboring code before changing a module.
  3. Keep the change focused. Use existing patterns instead of adding a dependency or a new abstraction for a small fix.
  4. Run the checks used by that repository for the affected area. Include a regression test for changed behavior when it is practical.
  5. Describe the problem, resulting behavior, and checks you ran. Include screenshots for visible UI changes.

App alert handlers live under app/core/alerts/. Notification provider interfaces and examples live under app/core/notifications/providers/. Read Notification Provider Plugins before extending delivery; runtime plugins cannot add alert sources or UI panels.

Test with disposable configuration and a separate instance. Notification tests can send real messages. Keep tests isolated from personal DVR activity and production provider destinations.

The app’s LICENSE contains the authoritative copyright and terms. Contributions are distributed under the repository’s license.

You can also support maintenance through GitHub Sponsors, Buy Me a Coffee, or PayPal.