OpenCode 1.14.42+ closes the /event SSE stream cleanly right after server.connected, breaking the entire turn lifecycle: prompts get queued and run, but Paseo never sees session.idle / message deltas / tool calls / questions. Every turn either fails with a generic stream EOF or hangs waiting for events that never arrive. Switch the post-EOF recovery to the canonical messages REST endpoint (via the upgraded SDK) and poll incrementally so tool calls and clarifying questions surface live during the SSE gap. Bound the wait with a completion cap and a separate liveness cap so silent rejections fail fast instead of hanging until the cap. Cap session.abort similarly so explicit cancels land within seconds. The recovery path is gated on the for-await loop exiting without a terminal event, so healthy turns never enter it - if upstream restores SSE delivery, this code becomes dead and is mechanically removable via the COMPAT(opencodeEofRecovery) and COMPAT(opencodeSlowAbort) tags. Also tighten the type of projectSettingsRoute on WorktreeSetupCalloutPolicy so router.navigate accepts it (was widened to string, broke app typecheck on main). Refs: getpaseo/paseo#861, anomalyco/opencode#26697, anomalyco/opencode#26635
Welcome to your Expo app 👋
This is an Expo project created with create-expo-app.
Get started
-
Install dependencies
npm install -
Start the app
npx expo start
In the output, you'll find options to open the app in a
- development build
- Android emulator
- iOS simulator
- Expo Go, a limited sandbox for trying out app development with Expo
You can start developing by editing the files inside the app directory. This project uses file-based routing.
Get a fresh project
When you're ready, run:
npm run reset-project
This command will move the starter code to the app-example directory and create a blank app directory where you can start developing.
Learn more
To learn more about developing your project with Expo, look at the following resources:
- Expo documentation: Learn fundamentals, or go into advanced topics with our guides.
- Learn Expo tutorial: Follow a step-by-step tutorial where you'll create a project that runs on Android, iOS, and the web.
Join the community
Join our community of developers creating universal apps.
- Expo on GitHub: View our open source platform and contribute.
- Discord community: Chat with Expo users and ask questions.
Dictation debugging
Set EXPO_PUBLIC_ENABLE_AUDIO_DEBUG=1 before running npx expo start to render the in-app audio debug card. Pair it with the server-side STT_DEBUG_AUDIO_DIR flag so every dictation includes a copyable path to the saved raw audio file.