-
Notifications
You must be signed in to change notification settings - Fork 24
Resolved issue #110 #141
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Resolved issue #110 #141
Changes from all commits
46fe7c2
7263e48
04f35a4
a6c4261
2007a8d
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
| Original file line number | Diff line number | Diff line change | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
@@ -10,20 +10,20 @@ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| }, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| "dependencies": { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| "@expo/metro-runtime": "~5.0.4", | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| "@react-native-async-storage/async-storage": "^2.2.0", | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| "@react-native-async-storage/async-storage": "^2.1.2", | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| "@react-navigation/bottom-tabs": "^7.4.4", | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| "@react-navigation/native": "^7.1.16", | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| "@react-navigation/native-stack": "^7.3.23", | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| "axios": "^1.11.0", | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| "expo": "~53.0.20", | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| "expo-image-picker": "~16.0.2", | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| "expo-image-picker": "^16.1.4", | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🛠️ Refactor suggestion Use tilde range for Expo-managed module to match SDK expectations Expo-managed packages are typically pinned with a tilde to the exact minor that the SDK expects. Using Apply: - "expo-image-picker": "^16.1.4",
+ "expo-image-picker": "~16.1.4",📝 Committable suggestion
Suggested change
🤖 Prompt for AI Agents |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| "expo-status-bar": "~2.2.3", | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| "react": "19.0.0", | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| "react-dom": "19.0.0", | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| "react-native": "0.79.5", | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| "react-native-paper": "^5.14.5", | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| "react-native-safe-area-context": "^5.5.2", | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| "react-native-screens": "^4.13.1", | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| "react-native-safe-area-context": "^5.4.0", | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🛠️ Refactor suggestion Pin react-native-safe-area-context to tilde range To keep consistency with the SDK’s expected set and reduce compatibility churn, prefer - "react-native-safe-area-context": "^5.4.0",
+ "react-native-safe-area-context": "~5.4.0",📝 Committable suggestion
Suggested change
🤖 Prompt for AI Agents |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| "react-native-screens": "^4.11.1", | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🛠️ Refactor suggestion Pin react-native-screens to tilde range to avoid SDK drift
- "react-native-screens": "^4.11.1",
+ "react-native-screens": "~4.11.1",📝 Committable suggestion
Suggested change
🤖 Prompt for AI Agents |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| "react-native-web": "^0.20.0" | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| }, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Comment on lines
12
to
28
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 💡 Verification agent 🧩 Analysis chainAutomated check for range operators against expected SDK-aligned versions Run this script to verify you’re using 🏁 Script executed: #!/bin/bash
set -euo pipefail
PKG_FILE="frontend/package.json"
check_pkg() {
local name="$1"
local want_op="$2" # "~" or "^"
local version
version=$(jq -r --arg name "$name" '.dependencies[$name] // empty' "$PKG_FILE")
if [[ -z "$version" ]]; then
echo "Missing dependency: $name"
return
fi
op="${version:0:1}"
if [[ "$op" != "$want_op" ]]; then
echo "Range operator mismatch for $name: found '$version' (op '$op'), want operator '$want_op'"
else
echo "OK: $name uses '$version'"
fi
}
# Expo-managed packages should usually use '~'
check_pkg "expo-image-picker" "~"
# Navigation ecosystem often pinned by SDK templates; prefer '~'
check_pkg "react-native-screens" "~"
check_pkg "react-native-safe-area-context" "~"
# If strict alignment desired, also use '~' for async-storage:
check_pkg "@react-native-async-storage/async-storage" "~" || true
echo "Tip: run 'npx expo install' or 'npx expo install --fix' to auto-align known compatible versions."Length of output: 2323 Align SDK-managed package versions to tilde (~) ranges Several Expo and related packages currently use caret (^) ranges, which can drift beyond the tested SDK versions. Please pin these to tilde (~) to match the Expo SDK 53 alignment. Affected dependencies in
Suggested diff: --- a/frontend/package.json
+++ b/frontend/package.json
@@ dependencies
- "expo-image-picker": "^16.1.4",
- "react-native-screens": "^4.11.1",
- "react-native-safe-area-context": "^5.4.0",
- "@react-native-async-storage/async-storage": "^2.1.2",
+ "expo-image-picker": "~16.1.4",
+ "react-native-screens": "~4.11.1",
+ "react-native-safe-area-context": "~5.4.0",
+ "@react-native-async-storage/async-storage": "~2.1.2",After updating, run: to ensure all versions align with your SDK. 📝 Committable suggestion
Suggested change
🤖 Prompt for AI Agents |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| "devDependencies": { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
💡 Verification agent
🧩 Analysis chain
Adding
platformsis fine; confirm web readiness across dependenciesDeclaring explicit platforms, including
"web", is OK. Please double-check that all runtime paths used by the app (navigation, image picker flows, and any native APIs) have working web fallbacks to avoid runtime errors whenexpo start --webis used.You can sanity-check with:
🏁 Script executed:
Length of output: 280
Ensure web readiness: guard
Platform.OSusage in AddExpenseScreenVerified
scripts.webresolves toexpo start --webinfrontend/package.json✅Found a native‐only API usage in
frontend/screens/AddExpenseScreen.js:345:On web,
Platform.OSis"web", so it falls back to"height", butKeyboardAvoidingView’sbehaviorprop may not be supported in react-native-web. Please wrap this in a web‐safe guard or usePlatform.select, for example:This ensures no unsupported props are passed on web.
🤖 Prompt for AI Agents