Skip to content

Conversation

@vvolkgang
Copy link
Member

@vvolkgang vvolkgang commented Nov 6, 2025

🎟️ Tracking

PM-27901

📔 Objective

Add required fastlane metadata for the f-droid build to support the distribution of Password Manager in the main f-droid repo, as requested in https://gitlab.com/fdroid/fdroiddata/-/merge_requests/19550#note_2770875171. Focusing on the required text files for the time being, we can later expand it with by adding the optional content.

File Location

File location documentation: https://gitlab.com/-/snippets/1895688#locations

In this PR we're going with the third option given our monorepo, providing metadata specific to the Password Manager f-droid app build without affecting Authenticator.

For F-Droid, there are 3 possible entry-points the process looks for Fastlane, always located in the root of the app's repository:

/fastlane/metadata/android/<locale>/
/metadata/<locale>/
/src/<buildFlavor>/fastlane/metadata/android/<locale>/

Folder Structure Reference

From https://gitlab.com/-/snippets/1895688#structure:

Items marked with ¹ are the minimum requirements (i.e. must be there), ² means "strongly recommended". Consider all others optional, and ³ nice to have:

/                                           (repo-root)
└── fastlane
    └── metadata
        └── android
            ├── en-US                       (en-US seems to be required by F-Droid)
            │   ├── short_description.txt   (short description, max 80 chars, plain text) ¹
            │   ├── full_description.txt    (full app description, max 4000 chars, basic HTML allowed) ¹
            │   ├── title.txt               (app name)
            │   ├── video.txt               (URL to a video introducing the app)
            │   ├── images
            │   │   ├── icon.png            (app icon; useful e.g. for "service apps" containing none)
            │   │   ├── featureGraphic.png  (promo banner, shown on top of the app desc in F-Droid client; landscape) ³
            │   │   ├── promoGraphic.png    (same, smallscreen size?)
            │   │   ├── tvBanner.png        (same, TV-screen size?)
            │   │   ├── phoneScreenshots    ²
            │   │   │   ├── 1.png
            │   │   │   ├── 2.png
            │   │   │   ...
            │   │   ├── sevenInchScreenshots/
            │   │   ├── tenInchScreenshots/
            │   │   ├── tvScreenshots/
            │   │   └── wearScreenshots/
            │   └── changelogs              ³
            │       ├── 100000.txt          (must correspond to versionCode, literally, no padding)
            │       ├── 100100.txt          (so this means: versionCode=100100)
            │       └── 100101.txt          (max size: 500 bytes, plain ASCII (no HTML))
            └── ru
                ...
                └── changelogs
                    └── 100100.txt

⏰ Reminders before review

  • Contributor guidelines followed
  • All formatters and local linters executed and passed
  • Written new unit and / or integration tests where applicable
  • Protected functional changes with optionality (feature flags)
  • Used internationalization (i18n) for all UI strings
  • CI builds passed
  • Communicated to DevOps any deployment requirements
  • Updated any necessary documentation (Confluence, contributing docs) or informed the documentation team

🦮 Reviewer guidelines

  • 👍 (:+1:) or similar for great changes
  • 📝 (:memo:) or ℹ️ (:information_source:) for notes or general info
  • ❓ (:question:) for questions
  • 🤔 (:thinking:) or 💭 (:thought_balloon:) for more open inquiry that's not quite a confirmed issue and could potentially benefit from discussion
  • 🎨 (:art:) for suggestions / improvements
  • ❌ (:x:) or ⚠️ (:warning:) for more significant problems or concerns needing attention
  • 🌱 (:seedling:) or ♻️ (:recycle:) for future improvements or indications of technical debt
  • ⛏ (:pick:) for minor or nitpick changes

@claude
Copy link
Contributor

claude bot commented Nov 6, 2025

Claude finished @vvolkgang's task —— View job


Review Complete

  • Read metadata files and check for previous issues
  • Verify F-Droid requirements
  • Post findings

Overall Assessment: APPROVE

Previous findings have been resolved. Files meet F-Droid metadata requirements.

@codecov
Copy link

codecov bot commented Nov 6, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 84.95%. Comparing base (9baec6e) to head (98e179f).
⚠️ Report is 10 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #6134      +/-   ##
==========================================
- Coverage   84.97%   84.95%   -0.02%     
==========================================
  Files         723      735      +12     
  Lines       52746    52980     +234     
  Branches     7649     7651       +2     
==========================================
+ Hits        44822    45011     +189     
- Misses       5250     5295      +45     
  Partials     2674     2674              

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@github-actions
Copy link
Contributor

github-actions bot commented Nov 6, 2025

Logo
Checkmarx One – Scan Summary & Detailse7369f4a-9c5b-4f8f-8c0c-34404e46e674

Great job! No new security vulnerabilities introduced in this pull request

@@ -0,0 +1 @@
Bitwarden is a login and password manager that helps keep you safe while online.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Critical Issue: Filename has trailing space

The filename short_description.txt has a trailing space character. This will cause issues with F-Droid's metadata parser and build process.

Required action: Rename the file to remove the trailing space:

git mv "app/src/fdroid/fastlane/metadata/android/en-US/short_description.txt " \
       "app/src/fdroid/fastlane/metadata/android/en-US/short_description.txt"

Character count: The description content is 79 characters (excluding newline), which properly meets F-Droid's 80-character maximum requirement.

@vvolkgang vvolkgang force-pushed the vvolkgang/fastlane-metadata branch from 8b19f3a to f43a032 Compare November 6, 2025 23:02
SaintPatrck and others added 2 commits November 7, 2025 12:18
@vvolkgang vvolkgang added this pull request to the merge queue Nov 10, 2025
Merged via the queue into main with commit 4032d2b Nov 10, 2025
13 of 14 checks passed
@vvolkgang vvolkgang deleted the vvolkgang/fastlane-metadata branch November 10, 2025 20:56
dev-sharma3624 pushed a commit to dev-sharma3624/android that referenced this pull request Nov 12, 2025
Co-authored-by: Patrick Honkonen <1883101+SaintPatrck@users.noreply.github.com>
Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants