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.

scripts/run-native-trail-android-e2e.tsmodified+4-2
Changes to scripts/run-native-trail-android-e2e.ts
@@ -143,8 +143,10 @@ export async function runNativeTrailAndroidE2e(): Promise<void> {
143143 if (phase === 'directions' || phase === 'directions-map') {
144144 const activities = await adb(['shell', 'dumpsys', 'activity', 'activities'], `${phase}-activities`)
145145 const resumed = activities.split('\n').filter(line => /(?:mResumedActivity|topResumedActivity):/.test(line))
146 if (!resumed.length || resumed.some(line => line.includes(`${mobile.android.packageName}/`)))
147 throw new Error('Directions did not hand off to an external Android activity.')
146 const systemActivity = /\b(?:android|com\.android\.(?:intentresolver|launcher3|permissioncontroller)|com\.google\.android\.apps\.nexuslauncher)\//
147 const unfinishedActivity = /(?:ResolverActivity|ChooserActivity|FirstRunActivity)\b/
148 if (!resumed.length || resumed.some(line => line.includes(`${mobile.android.packageName}/`) || systemActivity.test(line) || unfinishedActivity.test(line)))
149 throw new Error('Directions did not reach a ready external Android application.')
148150 }
149151 await platformEvents(phase)
150152 }