Files
TREK/client/fastlane
Maurice e59af6dcb3 feat(native): TREK on Apple Watch, with complications
A watchOS app embedded in the iPhone app: today's next stop with its
countdown, the next booking with reference, seat and platform, the trip
with its days and places (Directions into Apple Maps), and the packing
list and to-dos to tick off. The phone sends the snapshot through
WatchConnectivity; ticks go back as queued user info. Three
complications (next stop, countdown, trip day) in every accessory family,
scored for the Smart Stack. 28 languages.

The native workflow captures every screen from watchOS simulators in a
screenshot mode, on the largest and the smallest watch.
2026-11-07 17:14:09 +01:00
..

Store listings

The texts, review notes, policy drafts and images for the App Store and Google Play listings of TREK Travel Planner (com.liketrek.trek). The folder layout is the one fastlane's deliver (App Store) and supply (Google Play) read, so the listings can be uploaded from here; the builds themselves come from .github/workflows/native-release.yml.

Path What
metadata/en-US/ App Store texts: name, subtitle, keywords, description, URLs, release notes
metadata/review_information/ App Review notes and contact. Placeholders only: the review server, accounts and passwords are entered in App Store Connect, never committed
metadata/android/en-US/ Google Play texts, the changelog, and images/ (feature graphic, icon, screenshots)
metadata/privacy-policy.md, metadata/delete-account.md Drafts of the pages published at https://liketrek.com/privacy and https://liketrek.com/delete-account
screenshots/en-US/ App Store screenshots, iPhone 6.9" and iPad 13"

npm run store:check (in client/) checks every text against its store limit and every image for its size and for an alpha channel, which both stores refuse. CI runs it in the metadata job of native.yml.

Screenshots

The screenshots are not committed yet: they are captured from a running TREK with the seeded demo trip, which is a Playwright run and does not run in CI. To make them, from client/:

  1. npx playwright install chromium (once).
  2. npm run store:shots starts its own backend on a throwaway database and the Vite dev server, seeds the demo trip (the same one the wiki pictures show) and captures six screens at five device sizes into e2e/.tmp/store/.
  3. npm run store:promote checks each capture's size, flattens it onto the app background (no alpha) and copies it into screenshots/en-US/ (iPhone 6.9" 1320x2868, iPad 13" 2064x2752) and metadata/android/en-US/images/{phone,sevenInch,tenInch}Screenshots/ (1080x1920, 1620x2880, 1920x1080).
  4. npm run store:graphic rebuilds the feature graphic, now with a crop of the first phone screenshot, and the 512 px icon.
  5. npm run store:check, look through the pictures, commit.

The capture lives in e2e/store/capture.store.ts; the device sizes and screens are listed at its top.

Uploading the listing

With fastlane installed and the App Store Connect API key and Play service account at hand (the same ones the release workflow uses, see wiki/Native-Apps.md), from client/:

fastlane deliver --skip_binary_upload --metadata_path fastlane/metadata --screenshots_path fastlane/screenshots
fastlane supply --skip_upload_apk --skip_upload_aab --metadata_path fastlane/metadata/android --package_name com.liketrek.trek

Both also work from the consoles by hand; the files here are the source of truth for what the listings say.