New App: org.codeberg.nykula.sapfir

Hi, I wrote a free JavaScript app using Preact and would like to publish it on F-Droid, because it's meant to be used (and easily found) along with native free software available through F-Droid. For it to work on Android without an Internet connection, and for it to outlast any domain or server to which I currently have access, I made an offline WebView wrapper and imported only local dependencies.

My hardware is low-end (4 GB RAM, almost no free space, limited data plan) so I can't use Android Studio or fdroidserver to check if it builds in a traditional way; I coded using Emacs, called gradle directly and (sorry) ran five fdroiddata CI pipelines until I got the linting right.

The app probably runs on some slightly older devices with Fennec F-Droid 140, or even the Android browser if the firmware isn't very old, but I only have Android 15 and can't test other versions so I limited the app to minSdk 35. In the build metadata, I added a link to the online version in case someone with a slightly older device wants to try it, but I'm not sure how long it will be available.

Required

  • The app complies with the inclusion criteria
  • The original app author has been notified (and does not oppose the inclusion)
    • I am the author.
  • All related fdroiddata and RFP issues have been referenced in this merge request
    • Adding my own application, there were no issues or RFP.s
  • Builds with fdroid build and all pipelines pass

Strongly Recommended

  • The upstream app source code repo contains the app metadata (summary/description/images/changelog/etc) in a Fastlane or Triple-T folder structure
  • Releases are tagged

Suggested

  • External repos are added as git submodules instead of srclibs
    • I don't know what srclibs means. I used free software dependencies from npm and core android/androidx libraries.
  • Enable Reproducible Builds
    • No, I don't want this. More specifically, I find reproducibility a good idea but I know very little about developer signatures, I only signed the release build with a throwaway keystore to test it and haven't published my own builds.
    • For some reproducibility, I added package-lock.json to my repository.
  • Multiple apks for native code
    • No native code, only JavaScript with a Java wrapper.

Merge request reports

Loading