Skip to content

feat(mobile): 6 UX improvements for navigation and auth - #41

Merged
cafca merged 12 commits into
mainfrom
feature/mobile-ux-improvements
Apr 20, 2026
Merged

feat(mobile): 6 UX improvements for navigation and auth#41
cafca merged 12 commits into
mainfrom
feature/mobile-ux-improvements

Conversation

@cafca

@cafca cafca commented Apr 20, 2026

Copy link
Copy Markdown
Owner

Summary

Six mobile (iOS) UX fixes:

  1. Auth persists across restarts — switch CookieJar() to PersistCookieJar with FileStorage under app support dir (mobile/lib/api/client.dart, mobile/lib/main.dart).
  2. Live ETA + remaining distance — navigation sheet now shows distanceRemainingM and durationRemainingMs updating as user progresses (mobile/lib/widgets/eta_sheet.dart).
  3. Larger arrival radius — Ferrostar waypointWithinRange bumped 20m → 35m to tolerate urban GPS drift (packages/ferrostar_flutter/ios/ferrostar_flutter/Sources/ferrostar_flutter/Serialization.swift).
  4. (Merged into 2) Time/distance remaining update live during navigation.
  5. Auto-center on first GPS fix in browse mode — previously only fired inside nav session (mobile/lib/screens/map_screen.dart).
  6. Reroute on loginRouteController listens to authControllerProvider; on anonymous → registered transition, re-requests preview so painted areas apply (mobile/lib/providers/route_provider.dart).

Implementation notes

Test Plan

  • just test-mobile — 64/64 passing
  • just test-ferrostar-flutter-plugin
  • Manual: login, kill app, reopen → still logged in
  • Manual: start navigation, watch ETA + distance tick down
  • Manual: approach destination, arrival fires within ~35m
  • Manual: open app cold, map centers on GPS on first fix
  • Manual: plan route anonymously → log in → route recomputes using painted areas

cafca added 12 commits April 20, 2026 17:51
Every deploy pulls a new ghcr.io/cafca/beebeebike:latest and orphans
the previous one, since compose.prod.yml only references :latest.
Helena was sitting on 38 dangling images (~400MB reclaimable) and
hit 93% disk use.

Add 'docker image prune -f' after 'up -d' so each deploy leaves the
disk in a steady state. Dangling-only (not -a) to keep other stacks
on the host (dokku-postgres, mongo-express) safe.
EtaSheet now displays total remaining distance (formatDistance) above the
arrival time line, and maneuver_icons.dart gains a formatTotalRemaining
helper combining both values in a single compact string.
@cafca
cafca merged commit dc53171 into main Apr 20, 2026
8 of 9 checks passed
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