Two reproduced failures from the full correctness review. An empty result claimed the whole workspace had been read. Ripgrep never opens a file above the host's per-file ceiling, so a workspace whose only match lives in a large log answered "No matches" with nothing else said, and adding a small match still reported a complete result. The response now carries the ceiling the host actually applied, and the empty state names it. Only the empty state, because that is the only place the UI claims completeness; a populated list already claims nothing, and the occurrence-cap notice stays what it was. No permanent scope strip returns. A file literally named "a\b.txt" previewed itself and then opened "a/b.txt". The client rewrote every backslash to a separator on paths the host had already made canonical, so a valid Unix file name became a directory and a different file opened under a false "File changed" notice. Identity is now kept as the producer gave it: the daemon renders workspace-relative paths with its own separator turned into "/" for content search the way the file explorer already did, and the client only normalises separators for a path whose own shape is Windows, never from the client's operating system. Native source previews sized every row at a hard-coded 20px while the row is really one line at the reader's configurable code size, so scrolling to a match landed in the wrong part of the file. The height is derived from the size the view is already handed. Revealing a match thousands of lines into a long file remains broken on Android beyond this; that is recorded with device evidence rather than claimed fixed.
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.