mirror of
https://github.com/stablyai/orca.git
synced 2026-09-22 16:02:32 +00:00
* fix(mobile): make every native-chat text node selectable Long-press selection worked on some chat text and not others. Markdown paragraphs — the default block for agent prose — were the one block type left out when headings, quotes, code, lists and table cells gained `selectable`, and tool result output, diff rows, the unloadable-image placeholder, permission/question bodies and the send-error banner never had it at all. Selection is now set on every content Text in the chat surface, on the outermost block Text so nested inline spans inherit it. Labels inside a Pressable (option rows, tool-line headers, buttons) are deliberately left alone: selection there would swallow the tap they exist for. Extracting MobileNativeChatEmptyState keeps the view under its max-lines cap and matches desktop, where NativeChatEmptyState is already its own component. Tests render each surface and assert selection on the block that carries the prose; both files were ablated against the unfixed source (4/10 and 3/5 red) so they pin the defect rather than the current behavior. * fix(mobile): support native text range selection on iOS * fix(mobile): remove persistent assistant message controls * fix(mobile): scope patch-free text selection to chat Use the stock react-native-uitextview dependency behind an iOS adapter and opt assistant Markdown into range selection only in native chat. Preserve the existing React Native Text behavior elsewhere and remove the persistent assistant controls. --------- Co-authored-by: Merge Sim <sim@local>
87 lines
2.8 KiB
JSON
87 lines
2.8 KiB
JSON
{
|
|
"name": "orca-mobile",
|
|
"version": "0.0.1",
|
|
"private": true,
|
|
"main": "expo-router/entry",
|
|
"scripts": {
|
|
"start": "node scripts/start-expo.mjs",
|
|
"android": "expo run:android",
|
|
"ios": "expo run:ios",
|
|
"postinstall": "node scripts/build-terminal-webview-engine.mjs && node scripts/build-mermaid-webview-engine.mjs",
|
|
"test": "vitest run",
|
|
"typecheck": "tsc --noEmit",
|
|
"lint": "oxlint",
|
|
"format": "oxfmt --write .",
|
|
"format:check": "oxfmt --check .",
|
|
"mock-server": "npx tsx scripts/mock-server.ts",
|
|
"repro:workspace-picker-lag": "npx tsx scripts/repro-workspace-picker-lag.ts",
|
|
"start:emulator": "node scripts/start-emulator.mjs"
|
|
},
|
|
"dependencies": {
|
|
"@noble/hashes": "1.8.0",
|
|
"@orca/expo-two-way-audio": "file:./packages/expo-two-way-audio",
|
|
"@react-native-async-storage/async-storage": "^2.2.0",
|
|
"@xterm/addon-unicode11": "0.10.0-beta.300",
|
|
"@xterm/addon-webgl": "0.20.0-beta.299",
|
|
"@xterm/xterm": "6.1.0-beta.303",
|
|
"buffer": "^6.0.3",
|
|
"expo": "^55.0.30",
|
|
"expo-build-properties": "^55.0.18",
|
|
"expo-camera": "^55.0.23",
|
|
"expo-clipboard": "^55.0.17",
|
|
"expo-constants": "^55.0.17",
|
|
"expo-crypto": "^55.0.19",
|
|
"expo-dev-client": "~55.0.39",
|
|
"expo-document-picker": "^55.0.17",
|
|
"expo-file-system": "55.0.26",
|
|
"expo-haptics": "^55.0.18",
|
|
"expo-image-manipulator": "^55.0.21",
|
|
"expo-image-picker": "^55.0.24",
|
|
"expo-keep-awake": "~55.0.8",
|
|
"expo-linking": "^55.0.17",
|
|
"expo-modules-core": "~55.0.25",
|
|
"expo-network": "~55.0.18",
|
|
"expo-notifications": "^55.0.27",
|
|
"expo-router": "^55.0.18",
|
|
"expo-secure-store": "^55.0.18",
|
|
"expo-splash-screen": "^55.0.25",
|
|
"expo-status-bar": "^55.0.6",
|
|
"lowlight": "^3.3.0",
|
|
"lucide-react-native": "^1.14.0",
|
|
"mermaid": "11.17.2",
|
|
"react": "^19.2.8",
|
|
"react-dom": "19.2.8",
|
|
"react-native": "^0.83.10",
|
|
"react-native-gesture-handler": "^2.31.2",
|
|
"react-native-reanimated": "4.3.4",
|
|
"react-native-safe-area-context": "^5.7.0",
|
|
"react-native-screens": "^4.24.0",
|
|
"react-native-svg": "^15.15.4",
|
|
"react-native-uitextview": "2.2.0",
|
|
"react-native-web": "^0.21.2",
|
|
"react-native-webview": "13.16.2",
|
|
"react-native-worklets": "^0.8.3",
|
|
"tweetnacl": "^1.0.3",
|
|
"ws": "^8.21.3",
|
|
"zod": "~4.4.3",
|
|
"zustand": "^5.0.13"
|
|
},
|
|
"devDependencies": {
|
|
"@types/react": "^19.2.14",
|
|
"@types/react-native": "^0.73.0",
|
|
"@types/react-test-renderer": "19.1.0",
|
|
"@types/ws": "^8.18.1",
|
|
"acorn": "8.15.0",
|
|
"esbuild": "0.25.4",
|
|
"expo-module-scripts": "^55.0.2",
|
|
"happy-dom": "^20.11.8",
|
|
"oxfmt": "^0.65.0",
|
|
"oxlint": "^1.80.0",
|
|
"react-test-renderer": "19.2.8",
|
|
"tsx": "^4.22.4",
|
|
"typescript": "6.0.3",
|
|
"vite": "^8.0.16",
|
|
"vitest": "^4.1.11"
|
|
}
|
|
}
|