Skip to content

Conversation

@iamgabrielma
Copy link
Contributor

@iamgabrielma iamgabrielma commented Nov 12, 2025

Description

This PR updates description.txt and metadata.txt that will be used in app store across all languages. Olivier also kindly added a new flag and logic in db64150 that we can use in the future if we need the en-US meta to differ from default meta used for all languages. This was an early requirement, but is no longer the case and we'll update all locales.

Test Steps

  • Run bundle exec fastlane run configure_apply so that the ASC API key file is present in your machine.
  • If they key cannot be found, you might need to copy it over cp fastlane/env/user.env.example ~/.wcios-env.default
  • Run bundle exec fastlane update_metadata_on_app_store_connect
  • Once the lane finishes, should automatically open a preview in your browser: file:///{your machine}/woocommerce-ios/fastlane/screenshots/screenshots.html
  • When the systems prompts you with the following confirmation, answer no so it does not actually upload it to ASC.
[10:26:00]: Does the Preview on path './fastlane/Preview.html' look okay for you? (y/n)
n
[!] Did not upload the metadata, because the HTML file was rejected by the user
  • Back in the HTML preview, scroll down to en-US and you should see the updated keywords and meta:
Screenshot 2025-11-20 at 10 27 55

@iamgabrielma iamgabrielma added the status: do not merge Dependent on another PR, ready for review but not ready for merge. label Nov 12, 2025
@AliSoftware
Copy link
Contributor

Tip: to test if the metadata will look as expected:

  • Checkout this branch
  • Ensure you ran bundle exec fastlane run configure_apply so that the ASC API key file is present
  • Run bundle exec fastlane update_metadata_on_app_store_connect
    • Reply no to the prompt asking you if you want to update release-toolkit
    • The lane will end up opening an HTML page showing a preview of all the metadata for each locale…
    • …while the terminal will be asking you if that preview looks OK before continuing (to which you can reply no, as the goal here was just to check the preview without doing the actual upload just yet)

For the record, this is what the preview HTML looked like for me when I ran this on head commit 614e1f0 of this PR:
📄 WCiOS - update_metadata_on_app_store_connect - WOOMOB-1640-post-app-listings-meta.pdf

@AliSoftware
Copy link
Contributor

AliSoftware commented Nov 12, 2025

Additional notes on this PR in particular:

✅ I disabled the consistency check on translations download

I've pushed commit db64150 to disable the check we had (during the download of metadata translations from GlotPress) that en-US didn't override default.

  • That's a protection we had in place to avoid the risk of the en-US/ metadata used for en-US in ASC and the default fallback used by other locales as a base for translation to risk drifting if we forgot to update en-US during a future update of the copies (e.g. a revisit of the ASO by marketting) and only updated the default copy (which would lead to discrepancies between the copies used for en-US in ASC and the copy used as base for the translations).
  • But in this particular case that's exactly what we want (because we want to differentiate en-US copies mentioning POS vs copies used as base and fallback for translations not mentioning POS); so the check isn't appropriate in this current situation.

🖼️ Updating Screenshots

I see you added app_store_screenshot_*.txt files in en-GB. That suggests you'll want to upload custom screenshots for en-US and en-GB that might be different to the ones for default (because they'd include POS screens that the English fallback for other locales shouldn't include).

  • Make sure that the UI test used to generate raw screenshots (cf. WooCommerceScreenshots Xcode scheme) will decide if the POS screens and features are shown on not… based on the locale used when running the UI Tests (as opposed to, e.g. the locale set in the settings of the test site used or whatnot). So that when fastlane will use that UI Test to generate the raw screenshots for each locale, it will include the POS screens when running it with the en-US and en-GB locale, but not when running with any other locale.
  • You should then be able to run the lanes for generating the screenshots (bundle exec fastlane screenshots to generate the raw screenshots of the app screens, then bundle exec fastlane create_promo_screenshots to transform those raw screenshots into promotional ones with an iPhone device frame, a background behind, and the marketing text from app_store_screenshot_*.txt files on top of the image) to make use of those .txt files and to ensure en-GB will have screenshots that include POS
  • Finally, you can then call bundle exec fastlane update_metadata_on_app_store_connect with_screenshots:true to include those screenshots in the HTML preview

✍️ Actually differentiate the copies at some point

I notice that for the time being, the .txt files in en-US and en-GB have no difference (e.g. same description.txt) with the one in default. Which means that in practice in the current state of this PR, there will not be a difference between the copies in en-US, en-GB and the default fallback… while I believe the whole point was to mention POS in en-US and en-GB but not in default? So for this PR to make any sense I'm guessing you'll want to adjust the {en-US,en-GB}/description.txt files content appropriately before the final submission?

If the copies won't differ (e.g. not even en-US nor en-GB are planned to mention POS in their description.txt, and in practice it's intended that {en-GB,en-US}/description.txt and default/description.txt files have the exact same content and you don't intend to differentiate the copies for those… then it might make more sense to only keep the one in default/description.txt rather than duplicating. It's only if the copies used for {en-US,en-GB}/description.txt are meant to be different from the ones used as the base (and fallback) for translations in other locales that it makes sense to have different description.txt files in each subdirectory, otherwise you might as well try to keep a single source of truth for *.txt files that don't differ.

ℹ️ release-toolkit update

While I was testing this PR by calling the update_metadata_on_app_store_connect lane, the lane detected that this repo was using an older version of release-toolkit and suggested me to update.

I've thus created a separate PR #16349 to update it while I was at it.

That other PR can be merged entirely separately and independently of this one. I just figured I'd mention it since if you run the update_metadata_on_app_store_connect lane yourself from your Mac you'll also notice the nudging prompt from fastlane to update it—unless you merge the other PR then rebase this one.

We initially added this flag so we could have different copy for US if needed while keeping the default different for other languages, since we’re using the same metadata for all locales we can switch it back to be false for the time being.
@iamgabrielma iamgabrielma changed the title [Woo POS][App Listings] Update listing meta. Include en-GB [Woo POS][App Listings] Update listing meta Nov 20, 2025
@iamgabrielma iamgabrielma added this to the 23.8 milestone Nov 20, 2025
@iamgabrielma iamgabrielma added type: task An internally driven task. feature: POS and removed status: do not merge Dependent on another PR, ready for review but not ready for merge. labels Nov 20, 2025
@iamgabrielma iamgabrielma marked this pull request as ready for review November 20, 2025 03:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

feature: POS type: task An internally driven task.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants