- iOS: microphone usage text for "Take Video", no-export-compliance flag, ExportOptions.plist for App Store Connect uploads, the unused push forwarders gone; CI builds with Xcode 26 and lints the property lists. - Android: version and signing from Gradle properties (unsigned without them), R8 with keep rules for TREK's and Capacitor's reflective classes, no Auto Backup of the session cookie, no external file provider path, template and Firebase leftovers removed, keystores and service accounts ignored, full-size adaptive icon layers with a monochrome layer; CI also builds the release APK. - native-release.yml: signed bundle to a Play testing track and archive to TestFlight, by hand or on a v* tag, behind the store environment. - Version handshake: the server reports nativeApi 1, the app refuses a server below its minimum and tolerates an app older than the offline copy. - Address screen: privacy policy link, "Try the demo" and "What is a TREK server?"; the privacy link also in the app's server settings. Three new native strings in all 27 locales. - Donation links and the notices asking for one are hidden in the app. - Store listings for "TREK Travel Planner" in client/fastlane: texts, review notes with placeholders, privacy and account deletion page drafts, the feature graphic and icon, a length and image check in CI, and a Playwright store project with the scripts that turn its captures into screenshots. - Docs: wiki/Native-Apps.md, README no longer says there is no store app.
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/:
npx playwright install chromium(once).npm run store:shotsstarts 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 intoe2e/.tmp/store/.npm run store:promotechecks each capture's size, flattens it onto the app background (no alpha) and copies it intoscreenshots/en-US/(iPhone 6.9" 1320x2868, iPad 13" 2064x2752) andmetadata/android/en-US/images/{phone,sevenInch,tenInch}Screenshots/(1080x1920, 1620x2880, 1920x1080).npm run store:graphicrebuilds the feature graphic, now with a crop of the first phone screenshot, and the 512 px icon.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.