Skip to content

Update package-lock.json with resolved dependency tree#2

Open
TargetMisser wants to merge 14 commits intomainfrom
claude/build-aerostaffpro-apk-R00yT
Open

Update package-lock.json with resolved dependency tree#2
TargetMisser wants to merge 14 commits intomainfrom
claude/build-aerostaffpro-apk-R00yT

Conversation

@TargetMisser
Copy link
Copy Markdown
Owner

https://claude.ai/code/session_01MQS5o6eJUphagSBZKMQD1w

What Changed

Describe the outcome of the change in a few lines.

Checklist

  • I tested the main behavior
  • I verified that typecheck passes
  • I updated any relevant documentation
  • I checked possible Android / Wear OS impact

Screenshot or Video

If the change affects UI or UX, attach something here.

Review Notes

Call out sensitive areas, open questions, or review focus points here.

@vercel
Copy link
Copy Markdown

vercel Bot commented Apr 5, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
flight-work-app Ready Ready Preview, Comment, Open in v0 Apr 10, 2026 2:51pm

Adds build-apk.yml workflow that:
- Triggers on push to build branch or manual dispatch
- Sets up Java 21, Android SDK, NDK 27.1.12297006, build-tools 36
- Applies patch for expo-modules-core shouldIncludeCompose Gradle bug
- Builds debug APK with ./gradlew :app:assembleDebug
- Uploads APK as downloadable artifact

https://claude.ai/code/session_01MQS5o6eJUphagSBZKMQD1w
- Add cmake;3.22.1 to sdkmanager installs
- Use more robust regex for compose setter patch
- Add --info flag to Gradle for better error visibility
- Show last 200 lines of build output
- Always run Find APK step

https://claude.ai/code/session_01MQS5o6eJUphagSBZKMQD1w
The build succeeded but upload failed due to path mismatch.
Now finds the APK dynamically, copies to artifacts/ dir, then uploads.

https://claude.ai/code/session_01MQS5o6eJUphagSBZKMQD1w
- KeyboardAvoidingView behavior='height' su Android (prima undefined = nessun effetto)
- Form fields wrappati in ScrollView con keyboardShouldPersistTaps='handled'
- Pulsante 'Salva Turno' spostato fuori dallo scroll per restare sempre visibile

https://claude.ai/code/session_01MQS5o6eJUphagSBZKMQD1w
…time entry

The KeyboardAvoidingView inside Modal doesn't work reliably on Android,
causing the numpad keyboard to cover the "Salva Turno" button. Replace
hour/minute TextInputs with FlatList-based carousel wheel pickers
(no keyboard involved) so the save button is always accessible.

https://claude.ai/code/session_01MQS5o6eJUphagSBZKMQD1w
Three improvements:
- Add 2-min in-memory cache for FR24 flight data; subsequent refreshes
  within the window skip the network call entirely
- Run calendar fetch and pinned-flight check in parallel (Promise.all)
  instead of sequentially after the network call
- Move widget cache update and notification scheduling to fire-and-forget
  so the refresh spinner stops as soon as UI data is ready

https://claude.ai/code/session_01MQS5o6eJUphagSBZKMQD1w
Two root causes of "pacchetto non valido":
1. debug.keystore was missing from repo → each CI build generated a
   fresh key, incompatible with any previously installed APK.
   Fixed by generating and committing a stable debug.keystore.
2. versionCode was 1 (< installed 1.3.9) → Android rejects downgrades.
   Fixed by bumping to versionCode=200 / versionName="2.0.0".

Note: existing 1.3.9 installs must be uninstalled once (different key);
all future CI APKs will use this same keystore and upgrade cleanly.

https://claude.ai/code/session_01MQS5o6eJUphagSBZKMQD1w
When notifications are enabled and a shift is in progress, a sticky
non-dismissible notification appears at the top showing:
- Title: "✈️ Turno in corso: HH:MM – HH:MM"
- Body: next incoming flight number and time (or "no arrivals")

Implementation:
- Dedicated low-importance Android channel "turno_attivo" (no sound/vibration)
- sticky=true + ongoing=true so the user cannot swipe it away
- Shown/updated on each fetchAll refresh while shift is active
- Cleared when notifications are disabled or shift is outside hours
- Channel setup on app mount via setupShiftNotifChannel()

https://claude.ai/code/session_01MQS5o6eJUphagSBZKMQD1w
- Read versionName/versionCode from build.gradle
- Rename APK to AeroStaffPro-v<version>.apk
- Create/update release tag v<version> via softprops/action-gh-release@v2
- Added permissions: contents: write to allow release creation

https://claude.ai/code/session_01MQS5o6eJUphagSBZKMQD1w
- New src/utils/staffMonitor.ts: fetches HTML from
  https://servizi.pisa-airport.com/staffMonitor/staffMonitor.html,
  auto-discovers column layout from table headers, handles ISO-8859-1,
  normalizes flight numbers (codeshares, leading-zero variants)
- FlightScreen: polls staffMonitor every 60s, renders live pills under
  each flight card — CI/Gate/Stand for departures, Stand/Nastro for arrivals
- Silent fallback when page unreachable (non-airport network)

https://claude.ai/code/session_01MQS5o6eJUphagSBZKMQD1w
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants