* fix(sessions): use active connection client directly, remove roots filter Root cause A: loadSessions was calling clientForDirectory(serverHome) which scoped the session list to /home/azureuser — a different project than the server's active CWD. Sessions in the current project (e.g. opencode-mobile) were never returned. Root cause B: roots:true filtered out sessions that have a parentID (sub-task / AUTO-REVIEW sessions), hiding valid sessions from the list. Fix: use connState.client directly (the connection's active directory) and drop the roots filter so all sessions for that project are visible. Also adds a verify_session_list CUA smoke scenario that navigates back to the sessions tab after creating a session and asserts the list is non-empty — covering the regression path that was previously untested. * fix(sessions): fetch serverHome in addConnection so loadSessions shows correct sessions Root cause: addConnection() built the HTTP client but never fetched serverHome (only loadConnections and setActiveConnection did). When the user adds a new connection (fresh install / first sign-in), serverHome = null, so loadSessions fell through to connState.client (the server's CWD). On this dev server the CWD is the deploy directory — 11 old May-19 sessions that are not the user's recent work sessions. Fix: addConnection now fetches currentProject + serverHome via the same Promise.all as setActiveConnection, before calling set(). This ensures loadSessions immediately uses clientForDirectory(serverHome) → the global project → the user's actual recent parent sessions. Also adds --opencode-url flag to the CUA smoke script, which appends a connect_and_verify_sessions scenario that reproduces the regression: python scripts/android-cua-smoke.py --opencode-url http://100.108.64.76:4096 * fix(sessions): recover home scope after fresh connect Resolve stale deploy-only session list by recovering server home during first load and keeping regression coverage in default Android CUA smoke and CI. * chore(release): bump version to 0.4.0
53 lines
1.4 KiB
JSON
53 lines
1.4 KiB
JSON
{
|
|
"name": "@opencode-ai/mobile",
|
|
"version": "0.4.0",
|
|
"private": true,
|
|
"main": "expo-router/entry",
|
|
"scripts": {
|
|
"start": "expo start",
|
|
"start:clear": "expo start --clear",
|
|
"ios": "expo run:ios",
|
|
"android": "expo run:android",
|
|
"typecheck": "tsc --noEmit"
|
|
},
|
|
"dependencies": {
|
|
"@expo/vector-icons": "^15.0.3",
|
|
"@gorhom/bottom-sheet": "5.2.8",
|
|
"@react-navigation/native": "^7.0.14",
|
|
"@sentry/react-native": "~6.14.0",
|
|
"@tanstack/react-query": "^5.62.0",
|
|
"expo": "^54.0.0",
|
|
"expo-clipboard": "8.0.8",
|
|
"expo-crypto": "~15.0.9",
|
|
"expo-device": "~8.0.10",
|
|
"expo-image-manipulator": "~14.0.8",
|
|
"expo-image-picker": "17.0.10",
|
|
"expo-linking": "~8.0.11",
|
|
"expo-local-authentication": "~17.0.8",
|
|
"expo-notifications": "~0.32.16",
|
|
"expo-router": "~6.0.22",
|
|
"expo-secure-store": "~15.0.8",
|
|
"expo-speech-recognition": "3.0.1",
|
|
"expo-status-bar": "~3.0.9",
|
|
"react": "19.1.0",
|
|
"react-native": "0.81.5",
|
|
"react-native-gesture-handler": "~2.28.0",
|
|
"react-native-marked": "8.0.0",
|
|
"react-native-reanimated": "~4.1.1",
|
|
"react-native-safe-area-context": "~5.6.0",
|
|
"react-native-screens": "~4.16.0",
|
|
"react-native-svg": "15.15.1",
|
|
"react-native-worklets": "0.5.1",
|
|
"zustand": "^5.0.2"
|
|
},
|
|
"devDependencies": {
|
|
"@types/react": "~19.1.10",
|
|
"typescript": "~5.9.2"
|
|
},
|
|
"expo": {
|
|
"install": {
|
|
"exclude": []
|
|
}
|
|
}
|
|
}
|