ReviewOS

also looking at this

stacks/wildloop

feat: native trail maps and complete native mobile screens

#1017
Draft chris wants to merge codex/trail-experience into main
60 files +2505 -823

Review threads live on the whole diff, not on one commit, so none are shown here - a thread's line means something in the branch's final form, and painting it into an intermediate step would put it on code it is not about.

.github/workflows/mobile-e2e.ymlmodified+0-2
Changes to .github/workflows/mobile-e2e.yml
@@ -79,8 +79,6 @@ jobs:
7979 if-no-files-found: warn
8080
8181 android:
82 env:
83 ANDROID_MAPS_API_KEY: ${{ secrets.ANDROID_MAPS_API_KEY }}
8482 runs-on: ubuntu-latest
8583 timeout-minutes: 30
8684 steps:
.github/workflows/mobile.ymlmodified+0-1
Changes to .github/workflows/mobile.yml
@@ -32,7 +32,6 @@ jobs:
3232 source-projects:
3333 env:
3434 ANDROID_GOOGLE_SERVICES_JSON: ${{ secrets.ANDROID_GOOGLE_SERVICES_JSON }}
35 ANDROID_MAPS_API_KEY: ${{ secrets.ANDROID_MAPS_API_KEY }}
3635 strategy:
3736 fail-fast: false
3837 matrix:
config/mobile.tsmodified+1-1
Changes to config/mobile.ts
@@ -159,7 +159,7 @@ export default {
159159 urlSchemes: ['wildloop'],
160160 appIcon: 'public/images/app/wildloop-app-icon.png',
161161 googleServicesFile: envVars.ANDROID_GOOGLE_SERVICES_FILE,
162 mapsApiKey: envVars.ANDROID_MAPS_API_KEY,
162 mapProvider: 'maplibre',
163163 nativeScreens,
164164 capabilities: {
165165 backgroundLocation: true,
scripts/build-mobile.tsmodified+0-2
Changes to scripts/build-mobile.ts
@@ -1,8 +1,6 @@
11import process from 'node:process'
2import mobile from '../config/mobile'
32
43const platform=process.argv[2]
54if(platform!=='ios' && platform!=='android')throw new Error('Usage: bun scripts/build-mobile.ts ios|android')
6if(platform==='android' && !mobile.android.mapsApiKey?.trim())throw new Error('Set ANDROID_MAPS_API_KEY to a Google Maps SDK for Android key before building Wildloop. Native trail maps require this configured SDK credential.')
75const build=Bun.spawn(['./buddy',`build:${platform}`,...process.argv.slice(3)],{stdout:'inherit',stderr:'inherit',stdin:'inherit'})
86process.exitCode=await build.exited