Skip to content

Codex/release 2.6.1 staffmonitor#121

Open
TargetMisser wants to merge 18 commits intomainfrom
codex/release-2.6.1-staffmonitor
Open

Codex/release 2.6.1 staffmonitor#121
TargetMisser wants to merge 18 commits intomainfrom
codex/release-2.6.1-staffmonitor

Conversation

@TargetMisser
Copy link
Copy Markdown
Owner

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.

FlightWork Dev and others added 17 commits April 6, 2026 15:49
…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>
@vercel
Copy link
Copy Markdown

vercel Bot commented Apr 22, 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 22, 2026 5:49pm

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.

1 participant