Loading
New app: BirdEcho
BirdEcho is a companion app for BirdNET-Pi, BirdNET-Go and BirdWeather bird-detection stations (MIT, Expo / React Native). I am the upstream author.
Source: https://github.com/arunrajiah/birdecho
Notes for reviewers
- No proprietary dependencies. Upstream v0.9.2 removed Firebase Cloud Messaging (from expo-notifications) and the Play Install Referrer client (from expo-application) with pnpm patches kept in the repo under
patches/. For this build,scripts/fdroid-prepare.mjsadditionally excludes react-native-maps (Google Play Services) and @sentry/react-native from autolinking, and forces every expo-* module to be compiled from source instead of the prebuilt AARs Expo ships. - Self-updater disabled.
EXPO_PUBLIC_FDROID=1removes the in-app updater and the REQUEST_INSTALL_PACKAGES permission. - scanignore for hermesc.
react-native/sdks/hermesc/linux64-bin/hermescis the Hermes bytecode compiler from the react-native npm package. It runs on the build host only and nothing from it ships in the APK. I can switch to building it from source if you prefer. - Other scanignore entries are library build.gradle files that reference maven paths through Gradle variables the scanner cannot resolve; the directories do not exist in RN 0.81.
- Reproducible builds: not enabled. Expo prebuild + Hermes output is not deterministic today, so I accept F-Droid signing.
- ABI split: not set up yet; happy to add it if requested.
- Checked upstream: the same steps as this recipe run in upstream CI (
.github/workflows/fdroid-check.yml) and build successfully; the fdroidserver scanner reports 0 problems locally after the rm: step. A fullfdroid buildhas not been run outside this MR's pipeline.
Checklist
Policy
- The app complies with the inclusion criteria.
- The original app author has been notified (and does not oppose the inclusion). If you are not the author, please paste the link of the reply from the author.
- The upstream app source code repo contains the app metadata in a Fastlane or Triple-T folder structure. The summary and description must be included and images, icon, and changelog should also be provided for better user experience. The
en-USlocale must be included.
Docs
- Please read the guide first if this is your first contribution.
- Please make sure your metadata follows the best practice in our templates.
- Please read the Build Metadata Reference and make sure your metadata is valid.
- Please read the Quick Start Guide.
Merge Request Setup
- The title of this merge request should follow "New app: app name" format.
- Please make sure your fdroiddata fork is public and your branch is not protected. See https://docs.gitlab.com/user/project/repository/branches/protected/.
- Please read our Git guide if you don't know how to rebase your branch. Don't rebase your branch if there is no conflict.
- All related fdroiddata and RFP issues have been referenced in this merge request
- Please only submit one app in one MR.
Metadata
- Metadata must be put in
metadata/<applicationId>.yml. - Metadata must be a valid YAML file.
- Metadata must use LF as line ending.
- Don't add summary/description/changelog/images or anything that should be provided in upstream repo. Please check the Changes tab to make sure there is no other unrelated files added in the MR.
- Releases are tagged and auto update is enabled unless there is a special reason.
- There is an issue tracker and contact info of the author so that we can report bugs and contact the author.
- An AuthorName must be added. It doesn't need to be the real name.
- External repos are added as git submodules instead of srclibs. You can update git submodules without opening an MR in this repo and the submodule is covered by our scanner.
- Enable Reproducible Builds. We'll use your signature for improved security/reliability, also allowing users to switch between different channels. Do note that if you don't enable reproducible build then the apk will be signed with our key so you can't enable it later. If you can't enable this, please add the reasons here.
- Setup abi split if the APK is large and the splitted ones can be much smaller.
- Only the latest versions should be kept in the metadata before it's merged. If you update the metadata, please replace the old versions with the new ones.
- Don't add any disabled versions in the metadata.
- The
commitfield should be the full hash. Please don't use tag or branch in commit.
Pipeline
- All pipelines should pass.
- All warnings and errors in the Reports tab should be fixed or explained.
- F-Droid CI runners are under GitLab's FOSS program, so there's no need for you to pay for any CI time. If Gitlab starts asking for phone numbers or credit cards don't submit anything, just leave a note in the MR so we know we need to trigger the CI.