Open
Conversation
…data - Add src/utils/staffMonitor.ts: fetches and parses Pisa airport StaffMonitor (departures + arrivals in parallel, 8s timeout, silent fail on error) - Update FlightScreen.tsx: display stand, CI desk, and gate badges per flight using normalised flight number as key Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Align version across app.json, package.json, build.gradle (app + wear) to 2.1.0 (versionCode 3). Centralize APP_NAME and APP_VERSION in constants/appInfo.ts, used in DrawerMenu and SettingsScreen. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Merge all changes from codex/release-1.4.3 branch (v1.4.1 through v2.1.0) - Bump version to 2.1.0 (versionCode 10) across all manifests - Add shift edit modal with TimeCarouselPicker to HomeScreen - Add i18n translations, theme improvements, new components - Remove obsolete build scripts and old plan/spec docs - Clean up .gitignore for build artifacts Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The Pisa airport staffMonitor page uses ISO-8859-1 encoding with 0xA0 (NBSP) bytes after each number. fetch() decodes as UTF-8, mangling these bytes into garbage characters. The old regex for ° (0xB0) didn't match. Now stripHTML removes all non-ASCII chars and collapses whitespace, so "32\xa033\xa0" becomes clean "32 33". Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The manual shift entry modal content overflowed maxHeight: 92% when both TimeCarouselPickers were visible, clipping the save button off-screen. Wrapped the form content in a ScrollView with nestedScrollEnabled. Also removed the duplicate shift edit modal from HomeScreen — the feature belongs in the Turni tab (CalendarScreen) where it already existed. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Migrate passwords from AsyncStorage to SecureStore with chunking - Fix XSS injection in ShiftScreen WebView (JSON.stringify) - Memoize LanguageContext and ThemeContext provider values - Add 2-min in-memory cache to FR24 API to prevent duplicate requests - Replace `any` types with proper FR24FlightData type definitions - Remove dead HomeScreen code (~200 lines: OCR engine, shift modal, stale state) - Remove orphaned ShiftScreen.tsx (not wired to navigation) - Delete dead src/constants/appInfo.ts - Use shared getWritableCalendarId() in autoNotifications.ts Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Add rich empty states with icons on Home, Calendar, and Flight screens - Uppercase section headers with wider letter-spacing (iOS Settings style) - Normalize card shadows into 2 tiers: standard (cards) and elevated (hero) - Add shadowOffset for physically grounded depth perception - Enlarge Calendar day chips from 36px to 42px (touch target compliance) - Refine segmented controls: larger text, pill radius, micro-shadow on active - Replace 1px borders with StyleSheet.hairlineWidth across all headers - Widen tab bar indicator with orange glow shadow - Increase tab touch target width from 68px to 74px - Align TraveldocScreen header with other pages (padding, font weight) - Install react-native-web, react-dom for web preview support Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Update .easignore to exclude tool directories (.codex-tools, .dual-graph, .expo, .gradle-user-home, .superpowers, .vscode, .github) and old build caches (android/app/build_old_*) - Remove hard throw in build.gradle when release signing is missing; fall back to debug signing config instead (EAS manages its own credentials) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Both build.gradle files now fall back to debug signing when release keystore is not configured, allowing EAS managed credentials to work. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
FR24 API drops flights shortly after departure/arrival, causing them to vanish from the list on refresh. Now all flights seen during the day are accumulated in memory and merged with fresh data on each fetch — new data wins (delays, status updates), old entries persist. Pinned flight expiration also changed from scheduled time to end of day. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Widget task handler now independently checks calendar for shifts and fetches flight data from FR24 — no longer depends on FlightScreen being opened. Falls back to cache if autonomous fetch fails. Flight filter modal replaced with airline selector: shows all airlines operating at the selected airport with checkboxes. Selection persisted in AsyncStorage. Filter badge shows count of selected airlines. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Airline selection is now stored per airport code — switching airports
loads a different set of selected airlines. Fixed checkbox matching
to handle both short keys ('wizz') and full names ('wizz air') via
substring match, consistent with the flight filter logic.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
getSelectedAirlines() used dynamic import('./airportSettings') which
can fail in Metro bundler. Now airportCode is a required parameter
passed explicitly by all callers, eliminating the dynamic import.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What Changed
Describe the outcome of the change in a few lines.
Checklist
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.